Compare commits
530
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ac973e33e3 | ||
|
|
b8df90d728 | ||
|
|
0068783e64 | ||
|
|
d93475c418 | ||
|
|
e6be41912c | ||
|
|
231c7911e7 | ||
|
|
798b247bd7 | ||
|
|
96057162da | ||
|
|
81414bf266 | ||
|
|
ffc5de1ec7 | ||
|
|
6cd2f7afee | ||
|
|
372e4b43d0 | ||
|
|
6c99513344 | ||
|
|
68cd9afc6c | ||
|
|
9eb67807ec | ||
|
|
fdc60b34ba | ||
|
|
f0c8b7b98c | ||
|
|
e16f7a5a77 | ||
|
|
d3765627a1 | ||
|
|
89c6812817 | ||
|
|
73f0df3c90 | ||
|
|
6989c57e63 | ||
|
|
7ff2d1ed14 | ||
|
|
351c24b3dc | ||
|
|
f5d7de125b | ||
|
|
f708a519b1 | ||
|
|
16818b1d05 | ||
|
|
69c048fcbc | ||
|
|
aa3c3ad076 | ||
|
|
7bb7d7a856 | ||
|
|
3276e0f1ec | ||
|
|
b49ba700a7 | ||
|
|
a4aad222af | ||
|
|
4d82c0beec | ||
|
|
563e6f9a2d | ||
|
|
f8cc243015 | ||
|
|
41e6364c29 | ||
|
|
7c751aedb2 | ||
|
|
5951e48f47 | ||
|
|
8923ff2278 | ||
|
|
a8503d9689 | ||
|
|
f0c183a124 | ||
|
|
2d54179bf9 | ||
|
|
b937cb60ec | ||
|
|
948232d7fc | ||
|
|
9ceadc8787 | ||
|
|
98b696850a | ||
|
|
6c0676eeb8 | ||
|
|
cd81f3a4c7 | ||
|
|
443396cd8f | ||
|
|
477e0b596a | ||
|
|
685ae28e96 | ||
|
|
97e13fb5c0 | ||
|
|
bbea4e614b | ||
|
|
66b68c0008 | ||
|
|
67d7c47488 | ||
|
|
91f6cb6fbd | ||
|
|
a598f0d3ff | ||
|
|
37371ede06 | ||
|
|
d24b215d27 | ||
|
|
7d160b893f | ||
|
|
fe0c1cba97 | ||
|
|
ab02385ba8 | ||
|
|
8e19cfd2e0 | ||
|
|
322478cc9c | ||
|
|
a252cb7bc9 | ||
|
|
8df670e568 | ||
|
|
6511f3ec2e | ||
|
|
e071e7efbc | ||
|
|
9405d5e482 | ||
|
|
a1d941a0b6 | ||
|
|
534ab1be85 | ||
|
|
b228ed72c2 | ||
|
|
8c6ecb46a7 | ||
|
|
6348da2dc7 | ||
|
|
dbacbb5d25 | ||
|
|
d62bb78c21 | ||
|
|
1cc6c158f9 | ||
|
|
f0682a0a9d | ||
|
|
bc584f8fcb | ||
|
|
1cce2f1434 | ||
|
|
30bcef4e01 | ||
|
|
9acda3aed3 | ||
|
|
e84f1330b4 | ||
|
|
6144adc652 | ||
|
|
2fcd346d93 | ||
|
|
aeb7dce1db | ||
|
|
5bc8c21500 | ||
|
|
fac696b3a4 | ||
|
|
8fc87b2af8 | ||
|
|
a99aff1188 | ||
|
|
f978f09587 | ||
|
|
4abd03221f | ||
|
|
0520926856 | ||
|
|
7c79ae4952 | ||
|
|
8998e3de4c | ||
|
|
19099fbee4 | ||
|
|
6b446dcd3d | ||
|
|
a35804c2ca | ||
|
|
7b790f2856 | ||
|
|
15c609d676 | ||
|
|
136f8e6b75 | ||
|
|
b80b51ccd3 | ||
|
|
4da02214e2 | ||
|
|
4ca804577e | ||
|
|
66210f9ff6 | ||
|
|
a269481b57 | ||
|
|
b3258066f2 | ||
|
|
a42b1e7fc6 | ||
|
|
dd4a5ee253 | ||
|
|
d8e9716de3 | ||
|
|
55b2ed5d13 | ||
|
|
6ee953a844 | ||
|
|
69ef85908e | ||
|
|
8c58bf81a3 | ||
|
|
ad20a84ec4 | ||
|
|
dc9e3cfb2c | ||
|
|
89afe5e5ad | ||
|
|
95a360e396 | ||
|
|
5a93f72bda | ||
|
|
f9a6b8febc | ||
|
|
26d88dcdf5 | ||
|
|
a3a3710fb9 | ||
|
|
176624189c | ||
|
|
37d1c12747 | ||
|
|
2a4e8bc8d0 | ||
|
|
ac235cb95c | ||
|
|
a93df08853 | ||
|
|
a608bc0a78 | ||
|
|
4959bf64ec | ||
|
|
2b1f1faa7c | ||
|
|
c3f33c02a7 | ||
|
|
0543a8a30b | ||
|
|
30e471d6d5 | ||
|
|
706aa53fff | ||
|
|
0b445ac869 | ||
|
|
b65b503086 | ||
|
|
74cf1d1c0e | ||
|
|
3d9aa9e924 | ||
|
|
151a5479cd | ||
|
|
c39e3f2300 | ||
|
|
e0bd1dcad3 | ||
|
|
f617340fcf | ||
|
|
6fc978d285 | ||
|
|
3c1546189b | ||
|
|
4d606bb7f3 | ||
|
|
0913a726df | ||
|
|
ecf04a94ca | ||
|
|
f661e4f1b6 | ||
|
|
284a9227c7 | ||
|
|
7fbd09f3fd | ||
|
|
274d6792a7 | ||
|
|
172d20dc88 | ||
|
|
27de00b037 | ||
|
|
6d7f0454eb | ||
|
|
889b9973db | ||
|
|
a072e3f213 | ||
|
|
a2939070ae | ||
|
|
d7764cf6bb | ||
|
|
09813e1323 | ||
|
|
bbd3e1ae70 | ||
|
|
bba935392b | ||
|
|
a566fa9d36 | ||
|
|
0fceae6fcb | ||
|
|
de49992843 | ||
|
|
638d7a12bd | ||
|
|
3fcd3ed94a | ||
|
|
807f3a771d | ||
|
|
79e176dd6e | ||
|
|
94d2bececa | ||
|
|
07ed430d73 | ||
|
|
a68bb3a3ab | ||
|
|
81d5846fdc | ||
|
|
0b99765ab5 | ||
|
|
b6c1b3e713 | ||
|
|
1bfb127003 | ||
|
|
48954716dc | ||
|
|
068d09a1ed | ||
|
|
a84f8339c2 | ||
|
|
14ba22ab7c | ||
|
|
88872af8a8 | ||
|
|
c56a11a15b | ||
|
|
a344693de6 | ||
|
|
034268f745 | ||
|
|
ea0879f386 | ||
|
|
3f3f0cbe04 | ||
|
|
cd7ca5e627 | ||
|
|
453cbc569b | ||
|
|
c572483879 | ||
|
|
c129363303 | ||
|
|
702d473cc6 | ||
|
|
a866bb1c3a | ||
|
|
e37c70d2a9 | ||
|
|
8e283f5f25 | ||
|
|
430b5c499a | ||
|
|
99ebc8a13a | ||
|
|
f7cd3d5ced | ||
|
|
6e91b56ee1 | ||
|
|
1a8486dc70 | ||
|
|
18664c67b7 | ||
|
|
3b9a50ebea | ||
|
|
9316ace7fb | ||
|
|
ccaa497e60 | ||
|
|
603e5f70d6 | ||
|
|
cd8469a358 | ||
|
|
c0eb69974c | ||
|
|
162e094cb7 | ||
|
|
f92c8042b1 | ||
|
|
caba4b52db | ||
|
|
0d9f3b352a | ||
|
|
f22be2f83d | ||
|
|
b714adebb0 | ||
|
|
5271fea1f5 | ||
|
|
dd31024e8c | ||
|
|
e74225ae3d | ||
|
|
8eb04d972b | ||
|
|
4cfadbbdea | ||
|
|
f4641a3185 | ||
|
|
86d37d53e5 | ||
|
|
672a5061d3 | ||
|
|
331a371df0 | ||
|
|
7a613315e8 | ||
|
|
188811844f | ||
|
|
6fba336bc8 | ||
|
|
21afb15a9a | ||
|
|
860536f6f4 | ||
|
|
dfc2b09225 | ||
|
|
4108e68a41 | ||
|
|
9e5c6ee175 | ||
|
|
8f298134e8 | ||
|
|
8e71c67e88 | ||
|
|
828c891360 | ||
|
|
66746d261b | ||
|
|
0cdc64b9f9 | ||
|
|
ffefca018d | ||
|
|
eec8f12351 | ||
|
|
a36bcf5a86 | ||
|
|
f24a533981 | ||
|
|
d5c4756573 | ||
|
|
30ecbf1f25 | ||
|
|
642700f488 | ||
|
|
0200193d36 | ||
|
|
d4d44820ee | ||
|
|
41e8662902 | ||
|
|
21eab5816f | ||
|
|
932cfc6f1e | ||
|
|
23d52c4e84 | ||
|
|
c7027c1604 | ||
|
|
e26c01edb7 | ||
|
|
0e0a9de637 | ||
|
|
f72a886b9a | ||
|
|
9fa795c649 | ||
|
|
34dc628c34 | ||
|
|
2c45b9fbbb | ||
|
|
f95e6ee479 | ||
|
|
a02c9037d4 | ||
|
|
33ed9c7bba | ||
|
|
957d6e4629 | ||
|
|
0182aafe6f | ||
|
|
bf5dbbcd30 | ||
|
|
2e6d34d46e | ||
|
|
303a2b772b | ||
|
|
962233864b | ||
|
|
1a8ef384c2 | ||
|
|
11b3a63f96 | ||
|
|
827cc8c9a7 | ||
|
|
8b7121e4b2 | ||
|
|
e7e932916a | ||
|
|
65f68bea94 | ||
|
|
deaac6181d | ||
|
|
beaf889d59 | ||
|
|
9185ce8caf | ||
|
|
8930409029 | ||
|
|
573fb49274 | ||
|
|
0cc2f33cf4 | ||
|
|
03f23b3fd0 | ||
|
|
f81260b38f | ||
|
|
51e31406dc | ||
|
|
76b7e1415a | ||
|
|
7998846c20 | ||
|
|
74f8fa716f | ||
|
|
dad28f9e41 | ||
|
|
f3f0781b71 | ||
|
|
dee3870e45 | ||
|
|
853bcab940 | ||
|
|
c4ce10cd51 | ||
|
|
8aa4f9e3b7 | ||
|
|
ffffa2aba3 | ||
|
|
b7c8cb3be5 | ||
|
|
0521167495 | ||
|
|
a3edc9ee74 | ||
|
|
4ea39cb6fa | ||
|
|
5c9c0d59db | ||
|
|
c5ecfb9ff1 | ||
|
|
86bb2672a7 | ||
|
|
b441c2af1b | ||
|
|
9be5fc052b | ||
|
|
89edb18bc3 | ||
|
|
91419aa0e8 | ||
|
|
aaed6fe837 | ||
|
|
580bc2e205 | ||
|
|
49a7e0f16e | ||
|
|
21b97895e4 | ||
|
|
5dd685f29b | ||
|
|
3c17e9dadc | ||
|
|
a43932dd4e | ||
|
|
4e490e90de | ||
|
|
b4fc6f76c8 | ||
|
|
26e700753f | ||
|
|
6c36a087f6 | ||
|
|
97d1e57845 | ||
|
|
6acf8d8983 | ||
|
|
c64a775129 | ||
|
|
3046dcc14b | ||
|
|
8fd6ab9a90 | ||
|
|
1dbbff49ab | ||
|
|
588bbbab91 | ||
|
|
dcbb3d0a3b | ||
|
|
a2b0b9aaba | ||
|
|
d4b843e7af | ||
|
|
b8e3cd6eb9 | ||
|
|
cec56a39c8 | ||
|
|
d0c4c51118 | ||
|
|
15fe961a62 | ||
|
|
9d0b97fc3c | ||
|
|
a13b07e044 | ||
|
|
5ae28c6366 | ||
|
|
ed22491b64 | ||
|
|
6e8eab21d5 | ||
|
|
19a8a5b480 | ||
|
|
5a9c529bf8 | ||
|
|
f24e43633f | ||
|
|
0f42da23e6 | ||
|
|
8f293b2c99 | ||
|
|
bc88ce296a | ||
|
|
6eb62d841a | ||
|
|
278e74c902 | ||
|
|
f2fd418f82 | ||
|
|
8b0c44f2b2 | ||
|
|
0db4890cec | ||
|
|
b0a88632db | ||
|
|
dab5cd3ded | ||
|
|
9344cc41d5 | ||
|
|
e2468d0ffc | ||
|
|
cbcf50b907 | ||
|
|
39af4f6d66 | ||
|
|
ca971023d5 | ||
|
|
4d58c02604 | ||
|
|
ab0766a035 | ||
|
|
78e9cfeea2 | ||
|
|
2224e7f3ad | ||
|
|
e4f141e8c1 | ||
|
|
a4025183d4 | ||
|
|
18b7219a2d | ||
|
|
c0e98433d5 | ||
|
|
22c8b00d7d | ||
|
|
828db82adb | ||
|
|
90694a4a4b | ||
|
|
cf7376fbc0 | ||
|
|
2af2272211 | ||
|
|
1eb5e65b79 | ||
|
|
433b244558 | ||
|
|
30157ceea3 | ||
|
|
636f85125b | ||
|
|
d30d8a8de0 | ||
|
|
6f33d192a1 | ||
|
|
c5b954b78e | ||
|
|
6828b4659e | ||
|
|
5a80836ca4 | ||
|
|
d6aff9d77d | ||
|
|
b90df7de3d | ||
|
|
e614ce689b | ||
|
|
86fc1fe3b1 | ||
|
|
99e6617f72 | ||
|
|
2fbd732a46 | ||
|
|
47a5cc56e6 | ||
|
|
1bf3120c5f | ||
|
|
4f6e5fb151 | ||
|
|
c27f2e5f1d | ||
|
|
00230c781a | ||
|
|
75a57b2a2b | ||
|
|
02ffafca81 | ||
|
|
f77ecce088 | ||
|
|
9c3ea7f318 | ||
|
|
e6a69ef7f0 | ||
|
|
d427bfc657 | ||
|
|
90d76c1a8a | ||
|
|
77d223e553 | ||
|
|
8761ac5cc8 | ||
|
|
84b69ec999 | ||
|
|
317cbb29ea | ||
|
|
48a677af56 | ||
|
|
021c8cf7df | ||
|
|
023e0d2b15 | ||
|
|
b3870515ea | ||
|
|
20875bfef3 | ||
|
|
d0f3c845f8 | ||
|
|
c4d476a24b | ||
|
|
c9392d4b62 | ||
|
|
abc86fbddd | ||
|
|
92689a7bf7 | ||
|
|
29739effb8 | ||
|
|
4f43df43fb | ||
|
|
4547ca345d | ||
|
|
d73a55d8c2 | ||
|
|
a4e1ec6636 | ||
|
|
483b893b0a | ||
|
|
b25c9dd76e | ||
|
|
68de8daee6 | ||
|
|
66251e1c0d | ||
|
|
10e2f80205 | ||
|
|
d8c90a7752 | ||
|
|
d17ff3e614 | ||
|
|
0c75e1ac3c | ||
|
|
042af3f698 | ||
|
|
c7fd8636f7 | ||
|
|
952707a7d8 | ||
|
|
027470dccc | ||
|
|
21318d7f9b | ||
|
|
791e1b1a27 | ||
|
|
1e66a74a84 | ||
|
|
1a91c1d7c2 | ||
|
|
c5d76b1ee1 | ||
|
|
bcb5be5cef | ||
|
|
0a1d422610 | ||
|
|
86ee111fd7 | ||
|
|
379b10ec21 | ||
|
|
e7fbfb574b | ||
|
|
002dc9166f | ||
|
|
fd59efe186 | ||
|
|
18368c1802 | ||
|
|
97177ad5d3 | ||
|
|
fde6776d3c | ||
|
|
b8c5d9758e | ||
|
|
779a26d6e3 | ||
|
|
22a897813f | ||
|
|
3d7a50f482 | ||
|
|
1385f9dc11 | ||
|
|
36d818d646 | ||
|
|
7d44fd7843 | ||
|
|
642aea61ae | ||
|
|
6e1f921142 | ||
|
|
50fe823fde | ||
|
|
40cd52a0d5 | ||
|
|
3610ced91b | ||
|
|
8ff7c96754 | ||
|
|
b733ce78e3 | ||
|
|
fd9fa35ac5 | ||
|
|
b086743247 | ||
|
|
643e338aad | ||
|
|
bb0807e785 | ||
|
|
51ed1abd6b | ||
|
|
aa6b41f5b1 | ||
|
|
9ab1087503 | ||
|
|
51b6e8a7df | ||
|
|
658da3bb02 | ||
|
|
0b44dce1f6 | ||
|
|
0fa437c23c | ||
|
|
95077c58c0 | ||
|
|
929c1ea117 | ||
|
|
80576fa62d | ||
|
|
6b7b3fc40c | ||
|
|
ebc9975235 | ||
|
|
0cfb05b9d5 | ||
|
|
02a91daffc | ||
|
|
bdd68757c3 | ||
|
|
82f169f558 | ||
|
|
ff39a686aa | ||
|
|
4a3146e133 | ||
|
|
c051bd02cb | ||
|
|
4c8ad7d37e | ||
|
|
3d26bc1338 | ||
|
|
727a4ade45 | ||
|
|
fc55de7e7c | ||
|
|
8d2359bbaf | ||
|
|
afea6f394b | ||
|
|
a1e683ff15 | ||
|
|
6e563ef689 | ||
|
|
ad472e23bb | ||
|
|
d9d526fd03 | ||
|
|
33e27c3728 | ||
|
|
388b2ba3d5 | ||
|
|
b094061324 | ||
|
|
9fdf65383f | ||
|
|
5cc9d3a247 | ||
|
|
bdca071fa1 | ||
|
|
a82eb5e799 | ||
|
|
579060fe51 | ||
|
|
38b0ecebd9 | ||
|
|
ba8d5ba317 | ||
|
|
114102c197 | ||
|
|
13d5903179 | ||
|
|
0ee65d064b | ||
|
|
2a1b01ed2b | ||
|
|
761c0675bd | ||
|
|
339db134a0 | ||
|
|
bdf0c6a195 | ||
|
|
42771130fe | ||
|
|
5b80336a7d | ||
|
|
9e26c7ccb9 | ||
|
|
39981ed610 | ||
|
|
af9a0d6217 | ||
|
|
a45ab18f8f | ||
|
|
5c83f0e201 | ||
|
|
f8c78137e9 | ||
|
|
4b7078789c | ||
|
|
00f399d8aa | ||
|
|
009240be1e | ||
|
|
89487c4058 | ||
|
|
98f1112f65 | ||
|
|
16315ef3fa | ||
|
|
d5133f33d3 | ||
|
|
ee26fd10e5 | ||
|
|
0ec6f7f63c | ||
|
|
c84b866ada | ||
|
|
250b213a99 | ||
|
|
a5b8c1f1ba | ||
|
|
52b7e1c1f7 | ||
|
|
aed93b83d7 | ||
|
|
30f51337c5 | ||
|
|
2e48e14ad8 | ||
|
|
1be757d064 | ||
|
|
a82c4d7f97 | ||
|
|
3fede7c3fd | ||
|
|
eda9051a57 | ||
|
|
7dcba72749 | ||
|
|
b19c505bf8 | ||
|
|
bf086af7df | ||
|
|
7c985a4aeb | ||
|
|
22fa08f7c5 |
@@ -0,0 +1,5 @@
|
|||||||
|
[*.{yaml,sh,gn_args}]
|
||||||
|
tab_width = 2
|
||||||
|
indent_size = 2
|
||||||
|
end_of_line = crlf
|
||||||
|
indent_style = space
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
*.zip binary
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
# These are supported funding model platforms
|
|
||||||
|
|
||||||
liberapay: csagan5
|
|
||||||
custom: https://www.bromite.org/#donate
|
|
||||||
@@ -46,6 +46,21 @@ body:
|
|||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
|
|
||||||
|
- type: dropdown
|
||||||
|
id: is_chromium2
|
||||||
|
attributes:
|
||||||
|
label: Are you sure?
|
||||||
|
description: |
|
||||||
|
Please check your answer above again, it is important information
|
||||||
|
|
||||||
|
If the bug is related to functionality that does not exist in Chromium then answer "No".
|
||||||
|
multiple: false
|
||||||
|
options:
|
||||||
|
- "Yes"
|
||||||
|
- "No"
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
- type: input
|
- type: input
|
||||||
id: cromite_version
|
id: cromite_version
|
||||||
attributes:
|
attributes:
|
||||||
@@ -66,47 +81,59 @@ body:
|
|||||||
- armeabi-v7a
|
- armeabi-v7a
|
||||||
- x86
|
- x86
|
||||||
- x64
|
- x64
|
||||||
|
- windows
|
||||||
|
- all
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
|
|
||||||
- type: dropdown
|
- type: dropdown
|
||||||
id: android_version
|
id: platform_version
|
||||||
attributes:
|
attributes:
|
||||||
label: Android version
|
label: Platform version
|
||||||
multiple: false
|
multiple: false
|
||||||
description: What version of Android are you running?
|
description: What version of Android are you running?
|
||||||
options:
|
options:
|
||||||
- 14
|
- Android 14
|
||||||
- 13
|
- Android 13
|
||||||
- 12.1
|
- Android 12.1
|
||||||
- 12.0
|
- Android 12.0
|
||||||
- 11
|
- Android 11
|
||||||
- 10
|
- Android 10
|
||||||
- 9
|
- Android 9
|
||||||
- 8.1
|
- Android 8.1
|
||||||
- 8.0
|
- Android 8.0
|
||||||
- 7.1
|
- Android 7.1
|
||||||
- 7.0
|
- Android 7.0
|
||||||
- 6
|
- Android Emulator
|
||||||
- 5.1
|
- Windows 10
|
||||||
- 5.0
|
- Windows 11
|
||||||
- 4.4
|
- I prefer not to write it/No matter
|
||||||
- 4.3
|
|
||||||
- 4.2
|
|
||||||
- 4.1
|
|
||||||
- 4.0
|
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
|
|
||||||
- type: input
|
- type: input
|
||||||
id: device_model
|
id: device_model
|
||||||
attributes:
|
attributes:
|
||||||
label: Device model
|
label: Android Device model
|
||||||
description: What is your device model? This can usually be found in your device's settings in the "About" section.
|
description: What is your device model? This can usually be found in your device's settings in the "About" section.
|
||||||
placeholder: (e.g. `OnePlus 8 (IN2010)`, or `SM-G960UZKABST`, etc.)
|
placeholder: (e.g. `OnePlus 8 (IN2010)`, or `SM-G960UZKABST`, etc.)
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
|
|
||||||
|
- type: dropdown
|
||||||
|
id: is_android_rooted
|
||||||
|
attributes:
|
||||||
|
label: Is the device rooted?
|
||||||
|
description: |
|
||||||
|
The information is important but not essential; it allows additional checks to be made.
|
||||||
|
multiple: false
|
||||||
|
options:
|
||||||
|
- "Yes"
|
||||||
|
- "No"
|
||||||
|
- "I prefer not to write it"
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
- type: textarea
|
- type: textarea
|
||||||
id: changed_flags
|
id: changed_flags
|
||||||
attributes:
|
attributes:
|
||||||
@@ -128,6 +155,7 @@ body:
|
|||||||
options:
|
options:
|
||||||
- "Yes"
|
- "Yes"
|
||||||
- "No"
|
- "No"
|
||||||
|
- "Always Incognito Mode"
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,8 @@ body:
|
|||||||
required: true
|
required: true
|
||||||
- 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."
|
- 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
|
required: true
|
||||||
|
- label: "I have searched [wont fix issues](https://github.com/uazo/cromite/issues?q=label%3Awontfix) and this request is not among them"
|
||||||
|
required: true
|
||||||
- label: "This is a feature request for the Cromite 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
|
required: true
|
||||||
|
|
||||||
@@ -38,6 +40,7 @@ body:
|
|||||||
description: Features that are not related to privacy are not considered.
|
description: Features that are not related to privacy are not considered.
|
||||||
multiple: false
|
multiple: false
|
||||||
options:
|
options:
|
||||||
|
- "<please select>"
|
||||||
- "Yes"
|
- "Yes"
|
||||||
- "No"
|
- "No"
|
||||||
validations:
|
validations:
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ permissions:
|
|||||||
repository-projects: none
|
repository-projects: none
|
||||||
security-events: none
|
security-events: none
|
||||||
statuses: none
|
statuses: none
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
@@ -17,29 +17,46 @@ on:
|
|||||||
description: 'chromium version'
|
description: 'chromium version'
|
||||||
required: false
|
required: false
|
||||||
default: ''
|
default: ''
|
||||||
schedule:
|
type:
|
||||||
|
description: 'runner?'
|
||||||
|
required: false
|
||||||
|
default: 'ubuntu-latest'
|
||||||
|
schedule:
|
||||||
- cron: '0 1 * * *'
|
- cron: '0 1 * * *'
|
||||||
|
|
||||||
env:
|
env:
|
||||||
VERSION: ${{ github.event.inputs.version }}
|
CHR_VERSION: ${{ github.event.inputs.version }}
|
||||||
NEW_VERSION: ${{ null }}
|
NEW_VERSION: ${{ null }}
|
||||||
|
|
||||||
name: Builds and pushes tagged image to DockerHub
|
name: Builds and pushes tagged image to DockerHub
|
||||||
jobs:
|
jobs:
|
||||||
generate_build_deps:
|
generate_build_deps:
|
||||||
name: Generate Build Deps
|
name: Generate Build Deps
|
||||||
runs-on: ubuntu-latest
|
runs-on: ${{ fromJSON( format('["ubuntu-latest", "{0}"]', github.event.inputs.type) )[github.event.inputs.type != ''] }}
|
||||||
steps:
|
steps:
|
||||||
- name: Reclaiming disk space on / by removing dotnet/android/ghc
|
- name: Reclaiming disk space on / by removing dotnet/android/ghc
|
||||||
|
#if: ${{ github.event.inputs.type == '' }}
|
||||||
run: |
|
run: |
|
||||||
sudo rm -rf /usr/share/dotnet
|
test -d /usr/share/dotnet && sudo rm -rf /usr/share/dotnet
|
||||||
sudo rm -rf /usr/local/lib/android
|
test -d /usr/local/lib/android && sudo rm -rf /usr/local/lib/android
|
||||||
sudo rm -rf /opt/ghc
|
test -d /opt/ghc && sudo rm -rf /opt/ghc
|
||||||
sudo apt-get remove google-cloud-sdk azure-cli google-chrome-stable \
|
test -d /opt/hostedtoolcache/CodeQL && sudo rm -rf /opt/hostedtoolcache/CodeQL
|
||||||
|
sudo apt-get remove google-cloud-cli azure-cli google-chrome-stable \
|
||||||
firefox mysql-server-core-8.0 mono-devel podman \
|
firefox mysql-server-core-8.0 mono-devel podman \
|
||||||
powershell
|
powershell || true
|
||||||
sudo apt-get autoremove
|
sudo apt-get autoremove
|
||||||
|
|
||||||
|
- name: Enable proxy on container
|
||||||
|
shell: bash
|
||||||
|
if: ${{ github.event.inputs.type != 'ubuntu-latest' }}
|
||||||
|
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: Checkout repo
|
- name: Checkout repo
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
@@ -51,52 +68,107 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
|
||||||
- name: Check versions
|
- name: Check versions
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
if [ -z $VERSION ]; then
|
if [ -z $CHR_VERSION ]; then
|
||||||
VERSION=$(curl -s https://omahaproxy.appspot.com/all.json | jq '.[] | select(.os | contains("win64")) | .versions[] | select(.channel | contains("stable")) | .current_version' | xargs)
|
LATEST_WIN=$(curl -s 'https://versionhistory.googleapis.com/v1/chrome/platforms/win64/channels/stable/versions/all/releases' | jq -rc '.releases[].version' | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tail -n 1)
|
||||||
echo "VERSION=$VERSION" >> $GITHUB_ENV
|
LATEST_ANDROID=$(curl -s 'https://versionhistory.googleapis.com/v1/chrome/platforms/android/channels/stable/versions/all/releases' | jq -rc '.releases[].version' | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tail -n 1)
|
||||||
|
CHR_VERSION=$(echo -e "$LATEST_ANDROID\n$LATEST_WIN" | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tail -n 1)
|
||||||
|
|
||||||
|
echo "LATEST_WIN=$LATEST_WIN" >> $GITHUB_ENV
|
||||||
|
echo "LATEST_ANDROID=$LATEST_ANDROID" >> $GITHUB_ENV
|
||||||
|
echo "CHR_VERSION=$CHR_VERSION" >> $GITHUB_ENV
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Building build-deps container ${{ env.VERSION }}
|
- name: Building build-deps container ${{ env.VERSION }}
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
IS_PRESENT=$(docker inspect --type=image uazo/build-deps:$VERSION > /dev/null ; echo $?)
|
IS_PRESENT=$(docker inspect --type=image uazo/build-deps:$CHR_VERSION > /dev/null ; echo $?)
|
||||||
if [ $IS_PRESENT -ne "0" ]; then
|
if [ $IS_PRESENT -ne "0" ]; then
|
||||||
IS_PRESENT=$(docker manifest inspect uazo/build-deps:$VERSION > /dev/null ; echo $?)
|
IS_PRESENT=$(docker manifest inspect uazo/build-deps:$CHR_VERSION > /dev/null ; echo $?)
|
||||||
if [ $IS_PRESENT -ne "0" ]; then
|
if [ $IS_PRESENT -ne "0" ]; then
|
||||||
DOCKER_BUILDKIT=1 docker build -t uazo/build-deps:$VERSION \
|
DOCKER_BUILDKIT=1 docker build -t uazo/build-deps:$CHR_VERSION \
|
||||||
--progress plain \
|
--progress plain \
|
||||||
--build-arg VERSION=$VERSION \
|
--build-arg VERSION=$CHR_VERSION \
|
||||||
--build-arg HTTP_PROXY="$PROXY_ADDR" \
|
--build-arg HTTP_PROXY="$PROXY_ADDR" \
|
||||||
--no-cache \
|
--no-cache \
|
||||||
cromite/tools/images/build-deps/.
|
cromite/tools/images/build-deps/.
|
||||||
|
|
||||||
docker push uazo/build-deps:$VERSION
|
docker push uazo/build-deps:$CHR_VERSION
|
||||||
echo "NEW_VERSION=$VERSION" >> $GITHUB_ENV
|
echo "NEW_VERSION=$CHR_VERSION" >> $GITHUB_ENV
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Building chromium container ${{ env.VERSION }}
|
- name: Building chromium container ${{ env.VERSION }}
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
IS_PRESENT=$(docker inspect --type=image uazo/chromium:$VERSION > /dev/null ; echo $?)
|
IS_PRESENT=$(docker inspect --type=image uazo/chromium:$CHR_VERSION > /dev/null ; echo $?)
|
||||||
if [ $IS_PRESENT -ne "0" ]; then
|
if [ $IS_PRESENT -ne "0" ]; then
|
||||||
IS_PRESENT=$(docker manifest inspect uazo/chromium:$VERSION > /dev/null ; echo $?)
|
IS_PRESENT=$(docker manifest inspect uazo/chromium:$CHR_VERSION > /dev/null ; echo $?)
|
||||||
if [ $IS_PRESENT -ne "0" ]; then
|
if [ $IS_PRESENT -ne "0" ]; then
|
||||||
DOCKER_BUILDKIT=1 docker build -t uazo/chromium:$VERSION \
|
DOCKER_BUILDKIT=1 docker build -t uazo/chromium:$CHR_VERSION \
|
||||||
--progress plain \
|
--progress plain \
|
||||||
--build-arg VERSION=$VERSION \
|
--build-arg VERSION=$CHR_VERSION \
|
||||||
--build-arg HTTP_PROXY="$PROXY_ADDR" \
|
--build-arg HTTP_PROXY="$PROXY_ADDR" \
|
||||||
cromite/tools/images/chr-source/.
|
cromite/tools/images/chr-source/.
|
||||||
|
|
||||||
docker push uazo/chromium:$VERSION
|
docker push uazo/chromium:$CHR_VERSION
|
||||||
echo "NEW_VERSION=$VERSION" >> $GITHUB_ENV
|
echo "NEW_VERSION=$CHR_VERSION" >> $GITHUB_ENV
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
- name: Update files under control
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
cd cromite
|
||||||
|
RELEASE=$(cat build/RELEASE | xargs)
|
||||||
|
|
||||||
|
cd tools/under-control
|
||||||
|
|
||||||
|
DO_UPDATE=0
|
||||||
|
if [ -n "$NEW_VERSION" ]; then
|
||||||
|
if [ "$RELEASE" != "$NEW_VERSION" ]; then
|
||||||
|
DO_UPDATE=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
elif [ "$RELEASE" != "$(cat src/RELEASE | xargs)" ]; then
|
||||||
|
DO_UPDATE=1
|
||||||
|
NEW_VERSION=$RELEASE
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ DO_UPDATE -eq 1 ]]; then
|
||||||
|
echo "Found new version $NEW_VERSION"
|
||||||
|
echo "Under control: $(cat src/RELEASE | xargs)"
|
||||||
|
echo "Current: $RELEASE"
|
||||||
|
|
||||||
|
test -d src && rm -rf src
|
||||||
|
docker build --progress=plain --build-arg "TAG=$NEW_VERSION" -o . .
|
||||||
|
echo $NEW_VERSION >src/RELEASE
|
||||||
|
fi
|
||||||
|
|
||||||
|
CHANGES=0 && git diff --quiet || CHANGES=1
|
||||||
|
echo "CHANGES=$CHANGES" >> $GITHUB_ENV
|
||||||
|
if [[ CHANGES -eq 1 ]]; then
|
||||||
|
git add src
|
||||||
|
git diff --name-only --staged
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Create Pull Request
|
||||||
|
uses: peter-evans/create-pull-request@dcd5fd746d53dd8de555c0f10bca6c35628be47a #v3.12.0
|
||||||
|
if: env.CHANGES == '1'
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.CROMITE_PULLS }}
|
||||||
|
path: cromite
|
||||||
|
add-paths: |
|
||||||
|
tools/under-control/*
|
||||||
|
commit-message: 'AUTOMATED - new files under control ${{ env.NEW_VERSION }}'
|
||||||
|
title: New files under control ${{ env.NEW_VERSION }}
|
||||||
|
body: ${{ env.MESSAGE }}
|
||||||
|
delete-branch: true
|
||||||
|
branch-suffix: short-commit-hash
|
||||||
|
|
||||||
- name: Create issue ${{ env.VERSION }}
|
- name: Create issue ${{ env.VERSION }}
|
||||||
if: "${{ env.NEW_VERSION != '' }}"
|
if: "${{ env.NEW_VERSION != '' }}"
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -104,10 +176,23 @@ jobs:
|
|||||||
GH=../../gh_2.18.1_linux_amd64/bin/gh
|
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
|
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
|
tar xfz gh_2.18.1_linux_amd64.tar.gz
|
||||||
|
|
||||||
cd cromite/tools
|
cd cromite/tools
|
||||||
echo ${{ secrets.GITHUB_TOKEN }} | $GH auth login --with-token
|
echo ${{ secrets.GITHUB_TOKEN }} | $GH auth login --with-token
|
||||||
$GH issue create -t "$VERSION: new chromium version" -b ""
|
|
||||||
|
if [[ "$LATEST_WIN" == "$CHR_VERSION" ]]; then
|
||||||
|
echo Using Windows Release >>body.txt
|
||||||
|
echo "\`\`\`" >>body.txt
|
||||||
|
curl -s 'https://chromiumdash.appspot.com/fetch_releases?channel=Stable&platform=Windows&num=10&offset=0' | \
|
||||||
|
jq --arg LATEST "$LATEST_WIN" '.[] | select( .version == $LATEST )' >>body.txt
|
||||||
|
echo "\`\`\`" >>body.txt
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$LATEST_ANDROID" == "$CHR_VERSION" ]]; then
|
||||||
|
echo Using Android Release >>body.txt
|
||||||
|
echo "\`\`\`" >>body.txt
|
||||||
|
curl -s 'https://chromiumdash.appspot.com/fetch_releases?channel=Stable&platform=Android&num=10&offset=0' | \
|
||||||
|
jq --arg LATEST "$LATEST_ANDROID" '.[] | select( .version == $LATEST )' >>body.txt
|
||||||
|
echo "\`\`\`" >>body.txt
|
||||||
|
fi
|
||||||
|
$GH issue create -t "$CHR_VERSION: new chromium version" -F body.txt
|
||||||
|
|||||||
@@ -0,0 +1,46 @@
|
|||||||
|
name: Build Sysbox
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
sha:
|
||||||
|
description: 'Sysbox SHA'
|
||||||
|
required: true
|
||||||
|
default: ''
|
||||||
|
|
||||||
|
env:
|
||||||
|
SYSBOX_SHA: ${{ github.event.inputs.sha }}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
path: cromite
|
||||||
|
fetch-depth: 1
|
||||||
|
|
||||||
|
- name: Build patched sysbox
|
||||||
|
run: |
|
||||||
|
git clone --recursive https://github.com/nestybox/sysbox.git
|
||||||
|
cd sysbox
|
||||||
|
git checkout $SYSBOX_SHA
|
||||||
|
git submodule update --recursive
|
||||||
|
|
||||||
|
cd sysbox-runc/
|
||||||
|
git apply --ignore-whitespace ../../cromite/tools/images/sysbox/add-x86-x32-arch.patch
|
||||||
|
git status
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
make sysbox-static TARGET_ARCH=x64
|
||||||
|
|
||||||
|
zip -r build.zip build
|
||||||
|
|
||||||
|
- name: Publish
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: build.zip
|
||||||
|
path: sysbox/build.zip
|
||||||
@@ -10,7 +10,7 @@ permissions:
|
|||||||
repository-projects: none
|
repository-projects: none
|
||||||
security-events: none
|
security-events: none
|
||||||
statuses: none
|
statuses: none
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
@@ -19,11 +19,11 @@ on:
|
|||||||
required: true
|
required: true
|
||||||
default: ''
|
default: ''
|
||||||
target_os:
|
target_os:
|
||||||
description: 'targetos [android/win/all]'
|
description: 'targetos [android/win/linux/all]'
|
||||||
required: true
|
required: true
|
||||||
default: 'all'
|
default: 'all'
|
||||||
build:
|
build:
|
||||||
description: 'android arch [arm64/x64/all]'
|
description: 'android arch [arm/arm64/x64/all]'
|
||||||
required: true
|
required: true
|
||||||
default: 'all'
|
default: 'all'
|
||||||
type:
|
type:
|
||||||
@@ -38,9 +38,9 @@ on:
|
|||||||
description: 'clangd? [true/false]'
|
description: 'clangd? [true/false]'
|
||||||
required: true
|
required: true
|
||||||
default: 'false'
|
default: 'false'
|
||||||
|
|
||||||
env:
|
env:
|
||||||
BROMITE_SHA: ${{ github.event.inputs.sha }}
|
CROMITE_SHA: ${{ github.event.inputs.sha }}
|
||||||
REMOVEDOCKERSUPPORT: true
|
REMOVEDOCKERSUPPORT: true
|
||||||
USELOCALIMAGE: true
|
USELOCALIMAGE: true
|
||||||
|
|
||||||
@@ -67,15 +67,14 @@ jobs:
|
|||||||
|
|
||||||
- name: Get current chromium version
|
- name: Get current chromium version
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
export VERSION=$( cat ./cromite/build/RELEASE )
|
export VERSION=$( cat ./cromite/build/RELEASE )
|
||||||
rm -rf bromite
|
|
||||||
|
|
||||||
echo Current version is $VERSION
|
echo Current version is $VERSION
|
||||||
echo "VERSION=$VERSION" >> $GITHUB_ENV
|
echo "VERSION=$VERSION" >> $GITHUB_ENV
|
||||||
|
|
||||||
cd cromite/tools
|
cd cromite/tools
|
||||||
|
|
||||||
- name: Building build-deps container ${{ env.VERSION }}
|
- name: Building build-deps container ${{ env.VERSION }}
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
@@ -91,7 +90,7 @@ jobs:
|
|||||||
cromite/tools/images/build-deps/.
|
cromite/tools/images/build-deps/.
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Building chromium container ${{ env.VERSION }}
|
- name: Building chromium container ${{ env.VERSION }}
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
@@ -107,37 +106,45 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Building cromite container ${{ env.VERSION }}-${{ env.BROMITE_SHA }}
|
- name: Building cromite container ${{ env.VERSION }}-${{ env.CROMITE_SHA }}
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
IS_PRESENT=$(docker inspect --type=image uazo/cromite:$VERSION-$BROMITE_SHA > /dev/null ; echo $?)
|
IS_PRESENT=$(docker inspect --type=image uazo/cromite:$VERSION-$CROMITE_SHA > /dev/null ; echo $?)
|
||||||
if [ $IS_PRESENT -ne "0" ]; then
|
if [ $IS_PRESENT -ne "0" ]; then
|
||||||
IS_PRESENT=$(docker manifest inspect uazo/cromite:$VERSION-$BROMITE_SHA > /dev/null ; echo $?)
|
IS_PRESENT=$(docker manifest inspect uazo/cromite:$VERSION-$CROMITE_SHA > /dev/null ; echo $?)
|
||||||
if [ $IS_PRESENT -ne "0" ]; then
|
if [ $IS_PRESENT -ne "0" ]; then
|
||||||
DOCKER_BUILDKIT=1 docker build -t uazo/cromite:$VERSION-$BROMITE_SHA --progress plain \
|
DOCKER_BUILDKIT=1 docker build -t uazo/cromite:$VERSION-$CROMITE_SHA --progress plain \
|
||||||
--build-arg BROMITE_SHA=$BROMITE_SHA \
|
--build-arg CROMITE_SHA=$CROMITE_SHA \
|
||||||
--build-arg VERSION=$VERSION \
|
--build-arg VERSION=$VERSION \
|
||||||
--build-arg HTTP_PROXY="$PROXY_ADDR" \
|
--build-arg HTTP_PROXY="$PROXY_ADDR" \
|
||||||
cromite/tools/images/bromite-source/.
|
cromite/tools/images/cromite-source/.
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Building cromite-build container ${{ env.VERSION }}-${{ env.BROMITE_SHA }}
|
- name: Building cromite-build container ${{ env.VERSION }}-${{ env.CROMITE_SHA }}
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
IS_PRESENT=$(docker inspect --type=image uazo/cromite-build:$VERSION-$BROMITE_SHA > /dev/null ; echo $?)
|
IS_PRESENT=$(docker inspect --type=image uazo/cromite-build:$VERSION-$CROMITE_SHA > /dev/null ; echo $?)
|
||||||
if [ $IS_PRESENT -ne "0" ]; then
|
if [ $IS_PRESENT -ne "0" ]; then
|
||||||
IS_PRESENT=$(docker manifest inspect uazo/cromite-build:$VERSION-$BROMITE_SHA > /dev/null ; echo $?)
|
IS_PRESENT=$(docker manifest inspect uazo/cromite-build:$VERSION-$CROMITE_SHA > /dev/null ; echo $?)
|
||||||
if [ $IS_PRESENT -ne "0" ]; then
|
if [ $IS_PRESENT -ne "0" ]; then
|
||||||
DOCKER_BUILDKIT=1 docker build -t uazo/cromite-build:$VERSION-$BROMITE_SHA --progress plain \
|
DOCKER_BUILDKIT=1 docker build -t uazo/cromite-build:$VERSION-$CROMITE_SHA --progress plain \
|
||||||
--build-arg BROMITE_SHA=$BROMITE_SHA \
|
--build-arg CROMITE_SHA=$CROMITE_SHA \
|
||||||
--build-arg VERSION=$VERSION \
|
--build-arg VERSION=$VERSION \
|
||||||
--build-arg HTTP_PROXY="$PROXY_ADDR" \
|
--build-arg HTTP_PROXY="$PROXY_ADDR" \
|
||||||
--no-cache \
|
--no-cache \
|
||||||
cromite/tools/images/bromite-build/.
|
cromite/tools/images/cromite-build/.
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
- name: Get uazo/cromite-build from docker hub if present
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
IS_PRESENT=$(docker manifest inspect uazo/cromite-build:$VERSION-$CROMITE_SHA > /dev/null ; echo $?)
|
||||||
|
if [ $IS_PRESENT -eq "0" ]; then
|
||||||
|
docker pull uazo/cromite-build:$VERSION-$CROMITE_SHA
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Mark image to build
|
- name: Mark image to build
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
@@ -145,14 +152,14 @@ jobs:
|
|||||||
if [ $IS_PRESENT -eq "0" ]; then
|
if [ $IS_PRESENT -eq "0" ]; then
|
||||||
docker rmi uazo/cromite-build:build
|
docker rmi uazo/cromite-build:build
|
||||||
fi
|
fi
|
||||||
docker tag uazo/cromite-build:$VERSION-$BROMITE_SHA uazo/cromite-build:build
|
docker tag uazo/cromite-build:$VERSION-$CROMITE_SHA uazo/cromite-build:build
|
||||||
|
|
||||||
build:
|
build:
|
||||||
runs-on: ${{ github.event.inputs.type }}
|
runs-on: ${{ github.event.inputs.type }}
|
||||||
needs: check_images
|
needs: check_images
|
||||||
if: success()
|
if: success()
|
||||||
timeout-minutes: 1200
|
timeout-minutes: 1440
|
||||||
|
|
||||||
container:
|
container:
|
||||||
image: uazo/cromite-build:build
|
image: uazo/cromite-build:build
|
||||||
env:
|
env:
|
||||||
@@ -163,25 +170,27 @@ jobs:
|
|||||||
# kythe
|
# kythe
|
||||||
KYTHE_CORPUS: chromium.googlesource.com/chromium/src
|
KYTHE_CORPUS: chromium.googlesource.com/chromium/src
|
||||||
KYTHE_ROOT_DIRECTORY: /home/lg/working_dir/chromium/src
|
KYTHE_ROOT_DIRECTORY: /home/lg/working_dir/chromium/src
|
||||||
KYTHE_OUTPUT_DIRECTORY: /home/lg/working_dir/chromium/src/out/bromite/kythe
|
KYTHE_OUTPUT_DIRECTORY: /home/lg/working_dir/chromium/src/out/arm64/kythe
|
||||||
# cross build
|
# cross build
|
||||||
DEPOT_TOOLS_WIN_TOOLCHAIN_BASE_URL: /win_sdk/10.0.22621.0/
|
DEPOT_TOOLS_WIN_TOOLCHAIN_BASE_URL: /win_sdk/10.0.22621.0/
|
||||||
WINDOWSSDKDIR: "/win_sdk/10.0.22621.0/Windows Kits/10/"
|
WINDOWSSDKDIR: "/win_sdk/10.0.22621.0/Windows Kits/10/"
|
||||||
GYP_MSVS_OVERRIDE_PATH: /win_sdk/10.0.22621.0/
|
GYP_MSVS_OVERRIDE_PATH: /win_sdk/10.0.22621.0/
|
||||||
# compile in debug mode
|
# compile in debug mode
|
||||||
TARGET_ISDEBUG: ${{ github.event.inputs.debug }}
|
TARGET_ISDEBUG: ${{ github.event.inputs.debug }}
|
||||||
TARGET_OS: ${{ github.event.inputs.target_os }}
|
TARGET_OS: ${{ github.event.inputs.target_os }}
|
||||||
USE_KEYSTORE: true
|
USE_KEYSTORE: true
|
||||||
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
|
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
|
||||||
CROMITE_PREF_HASH_SEED_BIN: ${{ secrets.CROMITE_PREF_HASH_SEED_BIN }}
|
CROMITE_PREF_HASH_SEED_BIN: ${{ secrets.CROMITE_PREF_HASH_SEED_BIN }}
|
||||||
volumes:
|
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 }}/arm:/home/lg/working_dir/chromium/src/out/arm
|
||||||
- /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 }}/android/${{ github.event.inputs.debug }}/arm64:/home/lg/working_dir/chromium/src/out/arm64
|
||||||
- /storage/images/${{ github.event.inputs.sha }}/win/x64:/home/lg/working_dir/chromium/src/out/bromite_win
|
- /storage/images/${{ github.event.inputs.sha }}/android/${{ github.event.inputs.debug }}/x64:/home/lg/working_dir/chromium/src/out/x64
|
||||||
|
- /storage/images/${{ github.event.inputs.sha }}/linux/${{ github.event.inputs.debug }}/lin64:/home/lg/working_dir/chromium/src/out/lin64
|
||||||
|
- /storage/images/${{ github.event.inputs.sha }}/win/x64:/home/lg/working_dir/chromium/src/out/win64
|
||||||
- /tmp/proxy:/tmp/proxy
|
- /tmp/proxy:/tmp/proxy
|
||||||
- /win_sdk:/win_sdk
|
- /win_sdk:/win_sdk
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Prepare Build Container
|
- name: Prepare Build Container
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
@@ -194,19 +203,27 @@ jobs:
|
|||||||
HTTPS_PROXY=
|
HTTPS_PROXY=
|
||||||
http_proxy=
|
http_proxy=
|
||||||
https_proxy=
|
https_proxy=
|
||||||
|
|
||||||
# set out folder permissions
|
# set out folder permissions
|
||||||
test -d chromium/src/out/bromite || sudo mkdir -p chromium/src/out/bromite && \
|
test -d chromium/src/out/arm || sudo mkdir -p chromium/src/out/arm && \
|
||||||
sudo chown lg chromium/src/out &&
|
sudo chown lg chromium/src/out &&
|
||||||
sudo chown lg chromium/src/out/bromite
|
sudo chown lg chromium/src/out/arm
|
||||||
|
|
||||||
test -d chromium/src/out/bromite_win || sudo mkdir -p chromium/src/out/bromite_win && \
|
test -d chromium/src/out/arm64 || sudo mkdir -p chromium/src/out/arm64 && \
|
||||||
sudo chown lg chromium/src/out &&
|
sudo chown lg chromium/src/out &&
|
||||||
sudo chown lg chromium/src/out/bromite_win
|
sudo chown lg chromium/src/out/arm64
|
||||||
|
|
||||||
test -d chromium/src/out/bromite_x64 || sudo mkdir -p chromium/src/out/bromite_x64 && \
|
test -d chromium/src/out/win64 || sudo mkdir -p chromium/src/out/win64 && \
|
||||||
sudo chown lg chromium/src/out &&
|
sudo chown lg chromium/src/out &&
|
||||||
sudo chown lg chromium/src/out/bromite_x64
|
sudo chown lg chromium/src/out/win64
|
||||||
|
|
||||||
|
test -d chromium/src/out/x64 || sudo mkdir -p chromium/src/out/x64 && \
|
||||||
|
sudo chown lg chromium/src/out &&
|
||||||
|
sudo chown lg chromium/src/out/x64
|
||||||
|
|
||||||
|
test -d chromium/src/out/lin64 || sudo mkdir -p chromium/src/out/lin64 && \
|
||||||
|
sudo chown lg chromium/src/out &&
|
||||||
|
sudo chown lg chromium/src/out/lin64
|
||||||
|
|
||||||
# make kythe output directory
|
# make kythe output directory
|
||||||
test -d $KYTHE_OUTPUT_DIRECTORY || mkdir -p $KYTHE_OUTPUT_DIRECTORY
|
test -d $KYTHE_OUTPUT_DIRECTORY || mkdir -p $KYTHE_OUTPUT_DIRECTORY
|
||||||
@@ -222,64 +239,8 @@ jobs:
|
|||||||
echo "${{ secrets.KEYSTORE }}" > cromite.keystore.asc
|
echo "${{ secrets.KEYSTORE }}" > cromite.keystore.asc
|
||||||
gpg --homedir ./ -d --passphrase "${{ secrets.KEYSTORE_PASSPHRASE }}" --batch cromite.keystore.asc > cromite.keystore
|
gpg --homedir ./ -d --passphrase "${{ secrets.KEYSTORE_PASSPHRASE }}" --batch cromite.keystore.asc > cromite.keystore
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
- 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"
|
- name: Build Cromite Android x64
|
||||||
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') }}
|
if: ${{ (github.event.inputs.target_os == 'android' || github.event.inputs.target_os == 'all') && (github.event.inputs.build == 'x64' || github.event.inputs.build == 'all') }}
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
@@ -287,64 +248,178 @@ jobs:
|
|||||||
cd $WORKSPACE/chromium/src
|
cd $WORKSPACE/chromium/src
|
||||||
|
|
||||||
echo "::group::-------- gn gen"
|
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
|
gn gen --args="target_os = \"android\" $(cat /home/lg/working_dir/cromite/build/cromite.gn_args) target_cpu = \"x64\" " out/x64
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
echo "::group::-------- gn args"
|
echo "::group::-------- gn args"
|
||||||
gn args out/bromite_x64/ --list --short
|
gn args out/x64/ --list --short
|
||||||
gn args out/bromite_x64/ --list >out/bromite_x64/gn_list
|
gn args out/x64/ --list >out/x64/gn_list
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
autoninja -C out/bromite_x64 chrome_public_apk
|
ninja -C out/x64 chrome_public_bundle
|
||||||
|
ninja -C out/x64 chrome_public_apk
|
||||||
|
|
||||||
cp ../../bromite/build/RELEASE out/bromite_x64
|
cp ../../cromite/build/RELEASE out/x64
|
||||||
|
|
||||||
- name: Get ninja logs Android 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') }}
|
if: ${{ (github.event.inputs.target_os == 'android' || github.event.inputs.target_os == 'all') && (github.event.inputs.build == 'x64' || github.event.inputs.build == 'all') }}
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
cd $WORKSPACE
|
cd $WORKSPACE
|
||||||
$WORKSPACE/ninjatracing/ninjatracing $WORKSPACE/chromium/src/out/bromite_x64/.ninja_log >$WORKSPACE/chromium/src/out/bromite_x64/ninja_log_trace.json
|
$WORKSPACE/ninjatracing/ninjatracing -a $WORKSPACE/chromium/src/out/x64/.ninja_log >$WORKSPACE/chromium/src/out/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
|
python3 $WORKSPACE/chromium/src/third_party/catapult/tracing/bin/trace2html $WORKSPACE/chromium/src/out/x64/ninja_log_trace.json
|
||||||
|
|
||||||
|
- name: Build Cromite Windows x64
|
||||||
- name: Generate breakpad symbols arm64
|
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="target_os = \"win\" $(cat /home/lg/working_dir/cromite/build/cromite.gn_args) target_cpu = \"x64\" " out/win64
|
||||||
|
echo "::endgroup::"
|
||||||
|
|
||||||
|
echo "::group::-------- gn args"
|
||||||
|
gn args out/win64/ --list --short
|
||||||
|
gn args out/win64/ --list >out/win64/gn_list
|
||||||
|
echo "::endgroup::"
|
||||||
|
|
||||||
|
ninja -C out/win64 chrome
|
||||||
|
|
||||||
|
cp ../../cromite/build/RELEASE out/win64
|
||||||
|
|
||||||
|
- name: Get ninja logs Windows x64
|
||||||
|
if: ${{ github.event.inputs.target_os == 'win' || github.event.inputs.target_os == 'all' }}
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
cd $WORKSPACE
|
||||||
|
$WORKSPACE/ninjatracing/ninjatracing -a $WORKSPACE/chromium/src/out/win64/.ninja_log >$WORKSPACE/chromium/src/out/win64/ninja_log_trace.json
|
||||||
|
python3 $WORKSPACE/chromium/src/third_party/catapult/tracing/bin/trace2html $WORKSPACE/chromium/src/out/win64/ninja_log_trace.json
|
||||||
|
|
||||||
|
- name: Build Cromite 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') }}
|
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
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
|
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
|
||||||
cd $WORKSPACE/chromium/src
|
cd $WORKSPACE/chromium/src
|
||||||
|
|
||||||
echo "::group::-------- generating breakpad symbols"
|
echo "::group::-------- gn gen"
|
||||||
autoninja -C out/bromite minidump_stackwalk dump_syms
|
gn gen --args="target_os = \"android\" $(cat /home/lg/working_dir/cromite/build/cromite.gn_args) target_cpu = \"arm64\" " out/arm64
|
||||||
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::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
- name: Generate Supersize data
|
echo "::group::-------- gn args"
|
||||||
|
gn args out/arm64/ --list --short
|
||||||
|
gn args out/arm64/ --list >out/arm64/gn_list
|
||||||
|
echo "::endgroup::"
|
||||||
|
|
||||||
|
ninja -C out/arm64 chrome_public_bundle
|
||||||
|
ninja -C out/arm64 chrome_public_apk
|
||||||
|
|
||||||
|
cp ../../cromite/build/RELEASE out/arm64
|
||||||
|
|
||||||
|
- 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 -a $WORKSPACE/chromium/src/out/arm64/.ninja_log >$WORKSPACE/chromium/src/out/arm64/ninja_log_trace.json
|
||||||
|
python3 $WORKSPACE/chromium/src/third_party/catapult/tracing/bin/trace2html $WORKSPACE/chromium/src/out/arm64/ninja_log_trace.json
|
||||||
|
|
||||||
|
- name: Generate breakpad symbols for 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::-------- generating breakpad symbols"
|
||||||
|
ninja -C out/arm64 minidump_stackwalk dump_syms
|
||||||
|
components/crash/content/tools/generate_breakpad_symbols.py --build-dir=out/arm64 \
|
||||||
|
--symbols-dir=out/arm64/symbols/ --binary=out/arm64/lib.unstripped/libchrome.so \
|
||||||
|
--platform=android --clear --verbose
|
||||||
|
cp out/arm64/lib.unstripped/libchrome.so out/arm64/symbols/libchrome.lib.so
|
||||||
|
cp out/arm64/minidump_stackwalk out/arm64/symbols
|
||||||
|
cp out/arm64/dump_syms out/arm64/symbols
|
||||||
|
echo "::endgroup::"
|
||||||
|
|
||||||
|
- name: Generate Supersize data for Android arm64
|
||||||
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') }}
|
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
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
|
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
|
||||||
cd $WORKSPACE/chromium/src
|
cd $WORKSPACE/chromium/src
|
||||||
|
|
||||||
tools/binary_size/supersize archive out/bromite/chrome.size --apk-file out/bromite/apks/ChromePublic.apk -v
|
tools/binary_size/supersize archive out/arm64/chrome.size --apk-file out/arm64/apks/ChromePublic.apk -v
|
||||||
|
|
||||||
- name: Generate clangd index
|
- name: Build Cromite Android arm
|
||||||
|
if: ${{ (github.event.inputs.target_os == 'android' || github.event.inputs.target_os == 'all') && (github.event.inputs.build == 'arm' || github.event.inputs.build == 'all') }}
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
|
||||||
|
cd $WORKSPACE/chromium/src
|
||||||
|
|
||||||
|
echo "::group::-------- gn gen"
|
||||||
|
gn gen --args="target_os = \"android\" $(cat /home/lg/working_dir/cromite/build/cromite.gn_args) target_cpu = \"arm\" " out/arm
|
||||||
|
echo "::endgroup::"
|
||||||
|
|
||||||
|
echo "::group::-------- gn args"
|
||||||
|
gn args out/arm/ --list --short
|
||||||
|
gn args out/arm/ --list >out/arm/gn_list
|
||||||
|
echo "::endgroup::"
|
||||||
|
|
||||||
|
ninja -C out/arm chrome_public_bundle
|
||||||
|
ninja -C out/arm chrome_public_apk
|
||||||
|
|
||||||
|
cp ../../cromite/build/RELEASE out/arm
|
||||||
|
|
||||||
|
- name: Get ninja logs Android arm
|
||||||
|
if: ${{ (github.event.inputs.target_os == 'android' || github.event.inputs.target_os == 'all') && (github.event.inputs.build == 'arm' || github.event.inputs.build == 'all') }}
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
cd $WORKSPACE
|
||||||
|
$WORKSPACE/ninjatracing/ninjatracing -a $WORKSPACE/chromium/src/out/arm/.ninja_log >$WORKSPACE/chromium/src/out/arm/ninja_log_trace.json
|
||||||
|
python3 $WORKSPACE/chromium/src/third_party/catapult/tracing/bin/trace2html $WORKSPACE/chromium/src/out/arm/ninja_log_trace.json
|
||||||
|
|
||||||
|
- name: Build Cromite Linux 64
|
||||||
|
if: ${{ (github.event.inputs.target_os == 'linux' || 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="target_os = \"linux\" $(cat /home/lg/working_dir/cromite/build/cromite.gn_args) target_cpu = \"x64\" " out/lin64
|
||||||
|
echo "::endgroup::"
|
||||||
|
|
||||||
|
echo "::group::-------- gn args"
|
||||||
|
gn args out/lin64/ --list --short
|
||||||
|
gn args out/lin64/ --list >out/lin64/gn_list
|
||||||
|
echo "::endgroup::"
|
||||||
|
|
||||||
|
ninja -C out/lin64 chrome
|
||||||
|
|
||||||
|
cp ../../cromite/build/RELEASE out/lin64
|
||||||
|
|
||||||
|
- name: Get ninja logs Linux 64
|
||||||
|
if: ${{ (github.event.inputs.target_os == 'linux' || github.event.inputs.target_os == 'all') }}
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
cd $WORKSPACE
|
||||||
|
$WORKSPACE/ninjatracing/ninjatracing -a $WORKSPACE/chromium/src/out/lin64/.ninja_log >$WORKSPACE/chromium/src/out/lin64/ninja_log_trace.json
|
||||||
|
python3 $WORKSPACE/chromium/src/third_party/catapult/tracing/bin/trace2html $WORKSPACE/chromium/src/out/lin64/ninja_log_trace.json
|
||||||
|
|
||||||
|
- name: Generate clangd index for Android arm64
|
||||||
if: ${{ github.event.inputs.clangd == 'true' }}
|
if: ${{ github.event.inputs.clangd == 'true' }}
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
|
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
|
||||||
cd $WORKSPACE/chromium/src
|
cd $WORKSPACE/chromium/src
|
||||||
|
|
||||||
test -f out/bromite/bromite.idx || \
|
test -f out/arm64/cromite.idx || \
|
||||||
cp -r out/bromite out/clangd && \
|
cp -r out/arm64 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 && \
|
gn gen --args="import(\"/home/lg/working_dir/cromite/build/cromite.gn_args\") $(cat ../../build_args.gni) skip_clangd_unsupported_options = true" out/clangd && \
|
||||||
$WORKSPACE/ninja/ninja -C $WORKSPACE/chromium/src/out/clangd -a chrome_public_apk \
|
$WORKSPACE/ninja/ninja -C $WORKSPACE/chromium/src/out/clangd -a chrome_public_apk \
|
||||||
-t compdb cc cxx objc objcxx >$WORKSPACE/chromium/src/out/clangd/compile_commands.json && \
|
-t compdb cc cxx objc objcxx >$WORKSPACE/chromium/src/out/clangd/compile_commands.json && \
|
||||||
/home/lg/working_dir/clangd_snapshot_20211205/bin/clangd-indexer --executor=all-TUs out/clangd/compile_commands.json >out/bromite/bromite.idx && \
|
/home/lg/working_dir/clangd_snapshot_20211205/bin/clangd-indexer --executor=all-TUs out/clangd/compile_commands.json >out/arm64/cromite.idx && \
|
||||||
rm -rf out/clangd
|
rm -rf out/clangd
|
||||||
|
|||||||
@@ -10,14 +10,14 @@ permissions:
|
|||||||
# repository-projects: none
|
# repository-projects: none
|
||||||
# security-events: none
|
# security-events: none
|
||||||
# statuses: none
|
# statuses: none
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches-ignore:
|
branches-ignore:
|
||||||
- 'ci'
|
- 'ci'
|
||||||
paths:
|
paths:
|
||||||
- 'build/**'
|
- 'build/**'
|
||||||
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
rtag:
|
rtag:
|
||||||
@@ -26,29 +26,29 @@ on:
|
|||||||
default: ''
|
default: ''
|
||||||
|
|
||||||
env:
|
env:
|
||||||
RTAG: ${{ github.event.inputs.rtag }}
|
RTAG: ${{ github.event.inputs.rtag }}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
- name: "Get value from dispatch"
|
- name: "Get value from dispatch"
|
||||||
run: |
|
run: |
|
||||||
if [ -z "${RTAG}" ]; then
|
if [ -z "${RTAG}" ]; then
|
||||||
echo "RTAG=$GITHUB_SHA" >> $GITHUB_ENV
|
echo "RTAG=$GITHUB_SHA" >> $GITHUB_ENV
|
||||||
echo "RTAG=$RTAG"
|
echo "RTAG=$RTAG"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Prepare container
|
- name: Prepare container
|
||||||
run: |
|
run: |
|
||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt install -y wget unzip tar sed dos2unix patchutils wiggle curl
|
sudo apt install -y wget unzip tar sed dos2unix patchutils wiggle curl
|
||||||
|
|
||||||
wget https://github.com/uazo/superpatch/releases/latest/download/SuperPatchUtils.tar.gz
|
wget https://github.com/uazo/superpatch/releases/latest/download/SuperPatchUtils.tar.gz
|
||||||
tar xfz SuperPatchUtils.tar.gz
|
tar xfz SuperPatchUtils.tar.gz
|
||||||
rm 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
|
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
|
unzip pup_v0.4.0_linux_amd64.zip
|
||||||
rm pup_v0.4.0_linux_amd64.zip
|
rm pup_v0.4.0_linux_amd64.zip
|
||||||
@@ -96,48 +96,47 @@ jobs:
|
|||||||
git commit -m $VERSION
|
git commit -m $VERSION
|
||||||
git tag -a $VERSION -m $VERSION
|
git tag -a $VERSION -m $VERSION
|
||||||
|
|
||||||
git add -f v8
|
git add -f v8 && git commit -m ":NOEXPORT: v8" || true
|
||||||
git commit -m ":NOEXPORT: v8"
|
|
||||||
|
|
||||||
- name: Apply patches ${{ github.event.inputs.rtag }}
|
- name: Apply patches ${{ github.event.inputs.rtag }}
|
||||||
run: |
|
run: |
|
||||||
export HOME=$GITHUB_WORKSPACE
|
export HOME=$GITHUB_WORKSPACE
|
||||||
cd ~/chromium/src
|
cd ~/chromium/src
|
||||||
|
|
||||||
export SILENT=true
|
export SILENT=true
|
||||||
export SKIPAUTOGENERATED=true
|
export SKIPAUTOGENERATED=true
|
||||||
bash ~/cromite/tools/apply-all-patch.sh || exit 1
|
bash ~/cromite/tools/apply-all-patch.sh || exit 1
|
||||||
|
|
||||||
rm -rf ~/cromite/build/patches-new/
|
rm -rf ~/cromite/build/patches-new/
|
||||||
rm ~/cromite/build/bromite_patches_list_new.txt
|
rm ~/cromite/build/cromite_patches_list_new.txt
|
||||||
|
|
||||||
- name: Export patches
|
- name: Export patches
|
||||||
run: |
|
run: |
|
||||||
export HOME=$GITHUB_WORKSPACE
|
export HOME=$GITHUB_WORKSPACE
|
||||||
cd ~/chromium/src
|
cd ~/chromium/src
|
||||||
|
|
||||||
bash ~/cromite/tools/export-all-patch.sh
|
bash ~/cromite/tools/export-all-patch.sh
|
||||||
|
|
||||||
cd ~/cromite
|
cd ~/cromite
|
||||||
rm -rf build/patches/*
|
rm -rf build/patches/*
|
||||||
mv build/patches-new/* build/patches
|
mv build/patches-new/* build/patches
|
||||||
rm -rf build/patches-new/
|
rm -rf build/patches-new/
|
||||||
|
|
||||||
- name: Check differences CHANGES=${{ env.CHANGES }}
|
- name: Check differences CHANGES=${{ env.CHANGES }}
|
||||||
run: |
|
run: |
|
||||||
export HOME=$GITHUB_WORKSPACE
|
export HOME=$GITHUB_WORKSPACE
|
||||||
|
|
||||||
cd ~/cromite
|
cd ~/cromite
|
||||||
CHANGES=0 && git diff --quiet || CHANGES=1
|
CHANGES=0 && git diff --quiet || CHANGES=1
|
||||||
echo "CHANGES=$CHANGES" >> $GITHUB_ENV
|
echo "CHANGES=$CHANGES" >> $GITHUB_ENV
|
||||||
|
|
||||||
if [[ CHANGES -eq 1 ]]; then
|
if [[ CHANGES -eq 1 ]]; then
|
||||||
git add build/patches/*.patch
|
git add build/patches/*.patch
|
||||||
git diff --name-only --staged
|
git diff --name-only --staged
|
||||||
# MESSAGE=$(git diff --name-only --staged)
|
# MESSAGE=$(git diff --name-only --staged)
|
||||||
# echo "MESSAGE='$MESSAGE'" >> $GITHUB_ENV
|
# echo "MESSAGE='$MESSAGE'" >> $GITHUB_ENV
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Create Pull Request
|
- name: Create Pull Request
|
||||||
uses: peter-evans/create-pull-request@dcd5fd746d53dd8de555c0f10bca6c35628be47a #v3.12.0
|
uses: peter-evans/create-pull-request@dcd5fd746d53dd8de555c0f10bca6c35628be47a #v3.12.0
|
||||||
if: env.CHANGES == '1'
|
if: env.CHANGES == '1'
|
||||||
|
|||||||
@@ -0,0 +1,71 @@
|
|||||||
|
name: 'Check NIST database'
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '30 1 * * *'
|
||||||
|
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
issues: write
|
||||||
|
pull-requests: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
check:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- 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: Get data
|
||||||
|
run: |
|
||||||
|
sudo apt update
|
||||||
|
DEBIAN_FRONTEND=noninteractive sudo apt install -y sed
|
||||||
|
|
||||||
|
export HOME=$GITHUB_WORKSPACE
|
||||||
|
cd ~/cromite/tools
|
||||||
|
test -d cves || mkdir -p cves
|
||||||
|
cd cves
|
||||||
|
|
||||||
|
CY=$(date +%Y)
|
||||||
|
for i in $(seq 2020 $CY)
|
||||||
|
do
|
||||||
|
echo Asking for $i year
|
||||||
|
docker run --rm --name tapir stratosphereips/tapir:latest \
|
||||||
|
bash -c "python3 tapir.py -y $i libjxl -s" >>libjxl.ansi
|
||||||
|
done
|
||||||
|
|
||||||
|
sed -e 's/\x1b\[[0-9;]*m//g' <libjxl.ansi >libjxl.txt
|
||||||
|
rm libjxl.ansi
|
||||||
|
|
||||||
|
- name: Check differences
|
||||||
|
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 tools/cves/*.txt
|
||||||
|
git diff --name-only --staged
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Create Pull Request
|
||||||
|
uses: peter-evans/create-pull-request@dcd5fd746d53dd8de555c0f10bca6c35628be47a #v3.12.0
|
||||||
|
if: env.CHANGES == '1'
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.CROMITE_PULLS }}
|
||||||
|
path: cromite
|
||||||
|
base: ${{ env.BRANCH }}
|
||||||
|
#push-to-fork: uazo/cromite
|
||||||
|
add-paths: |
|
||||||
|
tools/cves/*.txt
|
||||||
|
commit-message: 'AUTOMATED - CVE results'
|
||||||
|
title: New CVE results
|
||||||
|
delete-branch: true
|
||||||
|
branch-suffix: short-commit-hash
|
||||||
@@ -10,7 +10,7 @@ permissions:
|
|||||||
repository-projects: none
|
repository-projects: none
|
||||||
security-events: none
|
security-events: none
|
||||||
statuses: none
|
statuses: none
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
@@ -18,7 +18,7 @@ on:
|
|||||||
description: 'uazo/bromite SHA'
|
description: 'uazo/bromite SHA'
|
||||||
required: true
|
required: true
|
||||||
default: 'ce2f07034a3d3b257e9bada65d8293a6786bb95f'
|
default: 'ce2f07034a3d3b257e9bada65d8293a6786bb95f'
|
||||||
|
|
||||||
env:
|
env:
|
||||||
BROMITE_SHA: ${{ github.event.inputs.sha }}
|
BROMITE_SHA: ${{ github.event.inputs.sha }}
|
||||||
REMOVEDOCKERSUPPORT: true
|
REMOVEDOCKERSUPPORT: true
|
||||||
@@ -32,12 +32,12 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
docker tag uazo/bromite-build:$BROMITE_SHA uazo/bromite-build:test
|
docker tag uazo/bromite-build:$BROMITE_SHA uazo/bromite-build:test
|
||||||
|
|
||||||
exec-test:
|
exec-test:
|
||||||
runs-on: self-hosted
|
runs-on: self-hosted
|
||||||
needs: get_image
|
needs: get_image
|
||||||
if: success()
|
if: success()
|
||||||
|
|
||||||
container:
|
container:
|
||||||
image: uazo/bromite-build:test
|
image: uazo/bromite-build:test
|
||||||
env:
|
env:
|
||||||
@@ -50,23 +50,23 @@ jobs:
|
|||||||
- /storage/images/${{ github.event.inputs.sha }}/out:/home/lg/working_dir/chromium/src/out/bromite:r
|
- /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
|
- /storage/images/${{ github.event.inputs.sha }}/out/tests:/home/lg/working_dir/chromium/src/out/tests
|
||||||
options: --device=/dev/kvm
|
options: --device=/dev/kvm
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Prepare Test Container
|
- name: Prepare Test Container
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
# set workspace paths
|
# 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
|
PATH=$WORKSPACE/chromium/src/third_party/llvm-build/Release+Asserts/bin:$WORKSPACE/depot_tools/:/usr/local/go/bin:$WORKSPACE/mtool/bin:$PATH
|
||||||
cd $WORKSPACE
|
cd $WORKSPACE
|
||||||
|
|
||||||
# copy artifacts
|
# copy artifacts
|
||||||
#cd chromium/src
|
#cd chromium/src
|
||||||
#mkdir -p out/bromite
|
#mkdir -p out/bromite
|
||||||
#cp -arp $ARTIFACS_DIR/out/* out/bromite
|
#cp -arp $ARTIFACS_DIR/out/* out/bromite
|
||||||
|
|
||||||
rm -rf out/tests/*
|
rm -rf out/tests/*
|
||||||
#mkdir -p out/tests
|
#mkdir -p out/tests
|
||||||
|
|
||||||
# reset proxy env
|
# reset proxy env
|
||||||
#HTTP_PROXY=
|
#HTTP_PROXY=
|
||||||
#HTTPS_PROXY=
|
#HTTPS_PROXY=
|
||||||
@@ -77,7 +77,7 @@ jobs:
|
|||||||
# shell: bash
|
# shell: bash
|
||||||
# run: |
|
# run: |
|
||||||
# sleep infinity
|
# sleep infinity
|
||||||
|
|
||||||
- name: Execute chrome junit test
|
- name: Execute chrome junit test
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
@@ -95,7 +95,7 @@ jobs:
|
|||||||
sudo chmod 666 /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 install --avd-config ../../generic_android31.textpb -v
|
||||||
tools/android/avd/avd.py start --avd-config ../../generic_android31.textpb -v
|
tools/android/avd/avd.py start --avd-config ../../generic_android31.textpb -v
|
||||||
|
|
||||||
- name: Execute unit tests
|
- name: Execute unit tests
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
@@ -110,7 +110,7 @@ jobs:
|
|||||||
cd $WORKSPACE/chromium/src
|
cd $WORKSPACE/chromium/src
|
||||||
pkill -f qemu-system-x86
|
pkill -f qemu-system-x86
|
||||||
tools/android/avd/avd.py start --avd-config ../../generic_android31.textpb -v
|
tools/android/avd/avd.py start --avd-config ../../generic_android31.textpb -v
|
||||||
|
|
||||||
- name: Execute instrumentation tests
|
- name: Execute instrumentation tests
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
+116
-52
@@ -1,7 +1,7 @@
|
|||||||
name: Release Cromite CI
|
name: Release Cromite CI
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
@@ -13,25 +13,39 @@ on:
|
|||||||
description: 'runner? [dev/ci]'
|
description: 'runner? [dev/ci]'
|
||||||
required: true
|
required: true
|
||||||
default: 'ci'
|
default: 'ci'
|
||||||
|
draft:
|
||||||
|
description: 'draft? [true/false]'
|
||||||
|
required: true
|
||||||
|
default: 'false'
|
||||||
|
|
||||||
env:
|
env:
|
||||||
BROMITE_SHA: ${{ github.event.inputs.sha }}
|
CROMITE_SHA: ${{ github.event.inputs.sha }}
|
||||||
REMOVEDOCKERSUPPORT: true
|
REMOVEDOCKERSUPPORT: true
|
||||||
USELOCALIMAGE: true
|
USELOCALIMAGE: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release:
|
release:
|
||||||
runs-on: ${{ github.event.inputs.type }}
|
runs-on: ${{ github.event.inputs.type }}
|
||||||
env:
|
env:
|
||||||
|
IS_DRAFT: ${{ github.event.inputs.draft }}
|
||||||
|
OUTPUTFILE_ARM: /storage/images/${{ github.event.inputs.sha }}/android/false/arm/
|
||||||
OUTPUTFILE_ARM64: /storage/images/${{ github.event.inputs.sha }}/android/false/arm64/
|
OUTPUTFILE_ARM64: /storage/images/${{ github.event.inputs.sha }}/android/false/arm64/
|
||||||
OUTPUTFILE_X64: /storage/images/${{ github.event.inputs.sha }}/android/false/x64/
|
OUTPUTFILE_X64: /storage/images/${{ github.event.inputs.sha }}/android/false/x64/
|
||||||
|
OUTPUTFILE_WIN: /storage/images/${{ github.event.inputs.sha }}/win/x64/
|
||||||
|
OUTPUTFILE_LIN: /storage/images/${{ github.event.inputs.sha }}/linux/false/lin64/
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
- name: Login to Docker Hub
|
||||||
|
uses: docker/login-action@v2
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
|
||||||
- name: Prepare container
|
- name: Prepare container
|
||||||
run: |
|
run: |
|
||||||
wget https://github.com/ericchiang/pup/releases/download/v0.4.0/pup_v0.4.0_linux_amd64.zip
|
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
|
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)
|
BRANCH=$(curl https://github.com/uazo/cromite/branch_commits/$CROMITE_SHA | ./pup -p li.branch:last-child a text{} | xargs)
|
||||||
echo "BRANCH=$BRANCH" >> $GITHUB_ENV
|
echo "BRANCH=$BRANCH" >> $GITHUB_ENV
|
||||||
|
|
||||||
wget https://github.com/cli/cli/releases/download/v2.18.1/gh_2.18.1_linux_amd64.tar.gz
|
wget https://github.com/cli/cli/releases/download/v2.18.1/gh_2.18.1_linux_amd64.tar.gz
|
||||||
@@ -43,11 +57,10 @@ jobs:
|
|||||||
repository: 'uazo/cromite'
|
repository: 'uazo/cromite'
|
||||||
path: 'cromite'
|
path: 'cromite'
|
||||||
fetch-depth: 1
|
fetch-depth: 1
|
||||||
|
|
||||||
- name: Create release
|
- name: Create release
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
WINOUT=/storage/images/$BROMITE_SHA/win/x64/
|
|
||||||
VERSION=v$(cat ${{ env.OUTPUTFILE_ARM64 }}/RELEASE)
|
VERSION=v$(cat ${{ env.OUTPUTFILE_ARM64 }}/RELEASE)
|
||||||
|
|
||||||
cd cromite/tools
|
cd cromite/tools
|
||||||
@@ -55,7 +68,7 @@ jobs:
|
|||||||
GH=gh_2.21.1_linux_amd64/bin/gh
|
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
|
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
|
tar xfz gh_2.21.1_linux_amd64.tar.gz
|
||||||
|
|
||||||
echo ${{ secrets.GITHUB_TOKEN }} | $GH auth login --with-token
|
echo ${{ secrets.GITHUB_TOKEN }} | $GH auth login --with-token
|
||||||
|
|
||||||
echo "\`\`\`" >note
|
echo "\`\`\`" >note
|
||||||
@@ -63,14 +76,22 @@ jobs:
|
|||||||
# echo "you can try it at your own risk." >>note
|
# echo "you can try it at your own risk." >>note
|
||||||
echo "\`\`\`" >>note
|
echo "\`\`\`" >>note
|
||||||
|
|
||||||
$GH release create $VERSION-$BROMITE_SHA --notes-file note -d
|
$GH release create $VERSION-$CROMITE_SHA --notes-file note -d
|
||||||
|
|
||||||
|
# android arm
|
||||||
|
echo "::group::-------- android arm"
|
||||||
|
sudo cp ${{ env.OUTPUTFILE_ARM }}/apks/ChromePublic.apk arm_ChromePublic.apk
|
||||||
|
sudo chown runner arm_ChromePublic.apk
|
||||||
|
echo Uploading arm_ChromePublic
|
||||||
|
$GH release upload $VERSION-$CROMITE_SHA arm_ChromePublic.apk
|
||||||
|
echo "::endgroup::"
|
||||||
|
|
||||||
# android arm64
|
# android arm64
|
||||||
echo "::group::-------- android arm64"
|
echo "::group::-------- android arm64"
|
||||||
sudo cp ${{ env.OUTPUTFILE_ARM64 }}/apks/ChromePublic.apk arm64_ChromePublic.apk
|
sudo cp ${{ env.OUTPUTFILE_ARM64 }}/apks/ChromePublic.apk arm64_ChromePublic.apk
|
||||||
sudo chown runner arm64_ChromePublic.apk
|
sudo chown runner arm64_ChromePublic.apk
|
||||||
echo Uploading arm64_ChromePublic
|
echo Uploading arm64_ChromePublic
|
||||||
$GH release upload $VERSION-$BROMITE_SHA arm64_ChromePublic.apk
|
$GH release upload $VERSION-$CROMITE_SHA arm64_ChromePublic.apk
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
# android x64
|
# android x64
|
||||||
@@ -78,71 +99,114 @@ jobs:
|
|||||||
sudo cp ${{ env.OUTPUTFILE_X64 }}/apks/ChromePublic.apk x64_ChromePublic.apk
|
sudo cp ${{ env.OUTPUTFILE_X64 }}/apks/ChromePublic.apk x64_ChromePublic.apk
|
||||||
sudo chown runner x64_ChromePublic.apk
|
sudo chown runner x64_ChromePublic.apk
|
||||||
echo Uploading x64_ChromePublic
|
echo Uploading x64_ChromePublic
|
||||||
$GH release upload $VERSION-$BROMITE_SHA x64_ChromePublic.apk
|
$GH release upload $VERSION-$CROMITE_SHA x64_ChromePublic.apk
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
echo "::group::-------- chrome.size"
|
echo "::group::-------- chrome.size"
|
||||||
test $VERSION-$BROMITE_SHA $OUTPUTFILE_ARM64/chrome.size && \
|
test $VERSION-$CROMITE_SHA $OUTPUTFILE_ARM64/chrome.size && \
|
||||||
$GH release upload $VERSION-$BROMITE_SHA $OUTPUTFILE_ARM64/chrome.size
|
$GH release upload $VERSION-$CROMITE_SHA $OUTPUTFILE_ARM64/chrome.size
|
||||||
|
echo "::endgroup::"
|
||||||
|
|
||||||
|
echo "::group::-------- ChromePublic.apk.mapping"
|
||||||
|
sudo cp ${{ env.OUTPUTFILE_ARM64 }}/apks/ChromePublic.apk.mapping arm64_ChromePublic.apk.mapping
|
||||||
|
$GH release upload $VERSION-$CROMITE_SHA arm64_ChromePublic.apk.mapping
|
||||||
|
sudo cp ${{ env.OUTPUTFILE_X64 }}/apks/ChromePublic.apk.mapping x64_ChromePublic.apk.mapping
|
||||||
|
$GH release upload $VERSION-$CROMITE_SHA x64_ChromePublic.apk.mapping
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
echo "::group::-------- Uploading arm64_ninja_log_trace.html"
|
echo "::group::-------- Uploading arm64_ninja_log_trace.html"
|
||||||
test $OUTPUTFILE_ARM64/ninja_log_trace.html && \
|
test $OUTPUTFILE_ARM64/ninja_log_trace.html && \
|
||||||
cp $OUTPUTFILE_ARM64/ninja_log_trace.html 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
|
$GH release upload $VERSION-$CROMITE_SHA arm64_ninja_log_trace.html
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
echo "::group::-------- windows"
|
# windows x64
|
||||||
|
echo "::group::-------- windows x64"
|
||||||
mkdir chrome-win/
|
mkdir chrome-win/
|
||||||
cp $WINOUT/*.manifest chrome-win/
|
cp $OUTPUTFILE_WIN/*.manifest chrome-win/
|
||||||
cp $WINOUT/chrome.dll chrome-win/
|
cp $OUTPUTFILE_WIN/chrome.dll chrome-win/
|
||||||
cp $WINOUT/chrome.exe chrome-win/
|
cp $OUTPUTFILE_WIN/chrome.exe chrome-win/
|
||||||
cp $WINOUT/chrome_100_percent.pak chrome-win/
|
cp $OUTPUTFILE_WIN/chrome_100_percent.pak chrome-win/
|
||||||
cp $WINOUT/chrome_200_percent.pak chrome-win/
|
cp $OUTPUTFILE_WIN/chrome_200_percent.pak chrome-win/
|
||||||
cp $WINOUT/chrome_elf.dll chrome-win/
|
cp $OUTPUTFILE_WIN/chrome_elf.dll chrome-win/
|
||||||
cp $WINOUT/chrome_proxy.exe chrome-win/
|
cp $OUTPUTFILE_WIN/chrome_proxy.exe chrome-win/
|
||||||
cp $WINOUT/chrome_pwa_launcher.exe chrome-win/
|
cp $OUTPUTFILE_WIN/chrome_pwa_launcher.exe chrome-win/
|
||||||
cp $WINOUT/chrome_wer.dll chrome-win/
|
cp $OUTPUTFILE_WIN/chrome_wer.dll chrome-win/
|
||||||
cp "/win_sdk/10.0.22621.0/Windows Kits/10/Redist/D3D/x64/d3dcompiler_47.dll" chrome-win/
|
cp "/win_sdk/10.0.22621.0/Windows Kits/10/Redist/D3D/x64/d3dcompiler_47.dll" chrome-win/
|
||||||
cp $WINOUT/elevation_service.exe chrome-win/
|
cp $OUTPUTFILE_WIN/elevation_service.exe chrome-win/
|
||||||
cp "$WINOUT/First Run" chrome-win/
|
cp "$OUTPUTFILE_WIN/First Run" chrome-win/
|
||||||
cp $WINOUT/headless_lib_data.pak chrome-win/
|
cp $OUTPUTFILE_WIN/headless_lib_data.pak chrome-win/
|
||||||
cp $WINOUT/icudtl.dat chrome-win/
|
cp $OUTPUTFILE_WIN/icudtl.dat chrome-win/
|
||||||
cp $WINOUT/libEGL.dll chrome-win/
|
cp $OUTPUTFILE_WIN/libEGL.dll chrome-win/
|
||||||
cp $WINOUT/libGLESv2.dll chrome-win/
|
cp $OUTPUTFILE_WIN/libGLESv2.dll chrome-win/
|
||||||
cp $WINOUT/Logo.png chrome-win/
|
cp $OUTPUTFILE_WIN/Logo.png chrome-win/
|
||||||
cp $WINOUT/mojo_core.dll chrome-win/
|
cp $OUTPUTFILE_WIN/mojo_core.dll chrome-win/
|
||||||
cp $WINOUT/notification_helper.exe chrome-win/
|
cp $OUTPUTFILE_WIN/notification_helper.exe chrome-win/
|
||||||
cp $WINOUT/resources.pak chrome-win/
|
cp $OUTPUTFILE_WIN/resources.pak chrome-win/
|
||||||
cp $WINOUT/SmallLogo.png chrome-win/
|
cp $OUTPUTFILE_WIN/SmallLogo.png chrome-win/
|
||||||
cp $WINOUT/snapshot_blob.bin chrome-win/
|
cp $OUTPUTFILE_WIN/snapshot_blob.bin chrome-win/
|
||||||
cp $WINOUT/VkICD_mock_icd.dll chrome-win/
|
cp $OUTPUTFILE_WIN/VkICD_mock_icd.dll chrome-win/
|
||||||
cp $WINOUT/VkLayer_khronos_validation.dll chrome-win/
|
cp $OUTPUTFILE_WIN/VkLayer_khronos_validation.dll chrome-win/
|
||||||
cp $WINOUT/vk_swiftshader.dll chrome-win/
|
cp $OUTPUTFILE_WIN/vk_swiftshader.dll chrome-win/
|
||||||
cp $WINOUT/vulkan-1.dll chrome-win/
|
cp $OUTPUTFILE_WIN/vulkan-1.dll chrome-win/
|
||||||
cp -r $WINOUT/locales chrome-win/locales
|
cp -r $OUTPUTFILE_WIN/locales chrome-win/locales
|
||||||
|
|
||||||
#test chrome-win.zip && rm chrome-win.zip
|
#test chrome-win.zip && rm chrome-win.zip
|
||||||
zip -r chrome-win.zip chrome-win/
|
zip -r chrome-win.zip chrome-win/
|
||||||
|
|
||||||
echo Uploading chrome-win.zip
|
echo Uploading chrome-win.zip
|
||||||
$GH release upload $VERSION-$BROMITE_SHA chrome-win.zip
|
$GH release upload $VERSION-$CROMITE_SHA chrome-win.zip
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
|
## linux
|
||||||
|
echo "::group::-------- linux x64"
|
||||||
|
mkdir chrome-lin/
|
||||||
|
cp $OUTPUTFILE_LIN/chrome chrome-lin/
|
||||||
|
cp $OUTPUTFILE_LIN/chrome_100_percent.pak chrome-lin/
|
||||||
|
cp $OUTPUTFILE_LIN/chrome_200_percent.pak chrome-lin/
|
||||||
|
cp $OUTPUTFILE_LIN/chrome_crashpad_handler chrome-lin/
|
||||||
|
cp $OUTPUTFILE_LIN/chrome-wrapper chrome-lin/
|
||||||
|
cp $OUTPUTFILE_LIN/icudtl.dat chrome-lin/
|
||||||
|
cp $OUTPUTFILE_LIN/libEGL.so chrome-lin/
|
||||||
|
cp $OUTPUTFILE_LIN/libGLESv2.so chrome-lin/
|
||||||
|
cp $OUTPUTFILE_LIN/libvulkan.so.1 chrome-lin/
|
||||||
|
cp $OUTPUTFILE_LIN/libqt5_shim.so chrome-lin/
|
||||||
|
cp $OUTPUTFILE_LIN/libqt6_shim.so chrome-lin/
|
||||||
|
cp $OUTPUTFILE_LIN/libvk_swiftshader.so chrome-lin/
|
||||||
|
cp -r $OUTPUTFILE_LIN/locales/ chrome-lin/locales
|
||||||
|
cp $OUTPUTFILE_LIN/product_logo_48.png chrome-lin/
|
||||||
|
cp $OUTPUTFILE_LIN/resources.pak chrome-lin/
|
||||||
|
cp $OUTPUTFILE_LIN/snapshot_blob.bin chrome-lin/
|
||||||
|
cp $OUTPUTFILE_LIN/xdg-mime chrome-lin/
|
||||||
|
cp $OUTPUTFILE_LIN/xdg-settings chrome-lin/
|
||||||
|
|
||||||
|
tar -czvf chrome-lin64.tar.gz chrome-lin/
|
||||||
|
|
||||||
|
echo Uploading chrome-lin64.tar.gz
|
||||||
|
$GH release upload $VERSION-$CROMITE_SHA chrome-lin64.tar.gz
|
||||||
|
echo "::endgroup::"
|
||||||
|
|
||||||
echo "::group::-------- arm64 symbols"
|
echo "::group::-------- arm64 symbols"
|
||||||
zip arm64_symbols.zip ${{ env.OUTPUTFILE_ARM64 }}/dump_syms \
|
zip arm64_symbols.zip ${{ env.OUTPUTFILE_ARM64 }}/dump_syms \
|
||||||
${{ env.OUTPUTFILE_ARM64 }}/minidump_stackwalk \
|
${{ env.OUTPUTFILE_ARM64 }}/minidump_stackwalk \
|
||||||
${{ env.OUTPUTFILE_ARM64 }}/libchrome.so
|
${{ env.OUTPUTFILE_ARM64 }}/libchrome.so
|
||||||
$GH release upload $VERSION-$BROMITE_SHA arm64_symbols.zip
|
$GH release upload $VERSION-$CROMITE_SHA arm64_symbols.zip
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
# workaround for https://github.com/cli/cli/issues/6599
|
# workaround for https://github.com/cli/cli/issues/6599
|
||||||
sleep 30s
|
sleep 30s
|
||||||
|
|
||||||
TIMESTAMP=$(date +%s -r chrome-win.zip)
|
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"
|
echo >updateurl.txt "browser=chromium;os=windows;architecture=64-bit;timestamp=$TIMESTAMP;editor=uazo;channel=stable;repository=https://github.com/uazo/cromite/releases;download=https://github.com/uazo/cromite/releases/latest/download/chrome-win.zip;version=$(cat $OUTPUTFILE_WIN/RELEASE);revision=1;commit=$CROMITE_SHA"
|
||||||
$GH release upload $VERSION-$BROMITE_SHA updateurl.txt
|
$GH release upload $VERSION-$CROMITE_SHA updateurl.txt
|
||||||
|
|
||||||
|
$GH release edit $VERSION-$CROMITE_SHA -t $VERSION-$CROMITE_SHA
|
||||||
|
|
||||||
|
if [ $IS_DRAFT == "false" ]; then
|
||||||
|
$GH release edit $VERSION-$CROMITE_SHA --draft=false
|
||||||
|
fi
|
||||||
|
|
||||||
|
VERSION=$(cat ${{ env.OUTPUTFILE_ARM64 }}/RELEASE)
|
||||||
|
docker push uazo/cromite:$VERSION-$CROMITE_SHA
|
||||||
|
docker push uazo/cromite-build:$VERSION-$CROMITE_SHA
|
||||||
|
|
||||||
$GH release edit $VERSION-$BROMITE_SHA -t $VERSION-$BROMITE_SHA
|
|
||||||
$GH release edit $VERSION-$BROMITE_SHA --draft=false
|
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ on:
|
|||||||
- cron: '30 1 * * *'
|
- cron: '30 1 * * *'
|
||||||
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
issues: write
|
issues: write
|
||||||
pull-requests: write
|
pull-requests: write
|
||||||
@@ -17,7 +17,7 @@ jobs:
|
|||||||
- uses: actions/stale@v6
|
- uses: actions/stale@v6
|
||||||
with:
|
with:
|
||||||
exempt-all-milestones: true
|
exempt-all-milestones: true
|
||||||
any-of-labels: 'awaiting info'
|
any-of-labels: 'awaiting info,wontfix'
|
||||||
days-before-stale: 5
|
days-before-stale: 5
|
||||||
days-before-close: 7
|
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."
|
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."
|
||||||
|
|||||||
@@ -0,0 +1,82 @@
|
|||||||
|
name: Update patches doc
|
||||||
|
permissions:
|
||||||
|
# actions: none
|
||||||
|
# checks: none
|
||||||
|
# contents: write
|
||||||
|
# deployments: none
|
||||||
|
# issues: none
|
||||||
|
# packages: none
|
||||||
|
pull-requests: write
|
||||||
|
# repository-projects: none
|
||||||
|
# security-events: none
|
||||||
|
# statuses: none
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches-ignore:
|
||||||
|
- 'ci'
|
||||||
|
paths:
|
||||||
|
- 'build/**'
|
||||||
|
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
rtag:
|
||||||
|
description: 'uazo/cromite TAG or COMMIT'
|
||||||
|
required: true
|
||||||
|
default: ''
|
||||||
|
|
||||||
|
env:
|
||||||
|
RTAG: ${{ github.event.inputs.rtag }}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- name: "Get value from dispatch"
|
||||||
|
run: |
|
||||||
|
if [ -z "${RTAG}" ]; then
|
||||||
|
echo "RTAG=$GITHUB_SHA" >> $GITHUB_ENV
|
||||||
|
echo "RTAG=$RTAG"
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Checkout 'uazo/cromite' ${{ env.BRANCH }}
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
repository: 'uazo/cromite'
|
||||||
|
ref: ${{ github.event.inputs.rtag }}
|
||||||
|
path: 'cromite'
|
||||||
|
fetch-depth: 1
|
||||||
|
|
||||||
|
- name: Generate patches doc
|
||||||
|
run: |
|
||||||
|
export HOME=$GITHUB_WORKSPACE
|
||||||
|
|
||||||
|
bash ~/cromite/tools/extract-all-patch-data.sh ~/cromite/build/patches
|
||||||
|
|
||||||
|
- name: Check differences CHANGES=${{ env.CHANGES }}
|
||||||
|
run: |
|
||||||
|
export HOME=$GITHUB_WORKSPACE
|
||||||
|
|
||||||
|
cd ~/cromite
|
||||||
|
CHANGES=0 && git diff --quiet || CHANGES=1
|
||||||
|
echo "CHANGES=$CHANGES" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
if [[ CHANGES -eq 1 ]]; then
|
||||||
|
git add docs/*.md
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Create Pull Request
|
||||||
|
uses: peter-evans/create-pull-request@dcd5fd746d53dd8de555c0f10bca6c35628be47a #v3.12.0
|
||||||
|
if: env.CHANGES == '1'
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.CROMITE_PULLS }}
|
||||||
|
path: cromite
|
||||||
|
base: ${{ env.BRANCH }}
|
||||||
|
add-paths: |
|
||||||
|
build/patches/*.patch
|
||||||
|
commit-message: 'AUTOMATED - update patch docs'
|
||||||
|
title: Generate patches doc for ${{ env.BRANCH }} branch
|
||||||
|
body: ${{ env.MESSAGE }}
|
||||||
|
delete-branch: true
|
||||||
|
branch-suffix: short-commit-hash
|
||||||
@@ -0,0 +1,66 @@
|
|||||||
|
name: Update fdroid repo
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
env:
|
||||||
|
REMOVEDOCKERSUPPORT: true
|
||||||
|
USELOCALIMAGE: true
|
||||||
|
USEINTERNALNETWORK: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
update-fdroid:
|
||||||
|
runs-on: ci2
|
||||||
|
|
||||||
|
container:
|
||||||
|
image: uazo/fdroidserver:latest
|
||||||
|
volumes:
|
||||||
|
- /tmp/forward-proxy:/tmp/forward-proxy
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Update fdroid repo
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
export https_proxy=http://127.0.0.1:8118
|
||||||
|
socat TCP-LISTEN:8118,reuseaddr,fork UNIX-CLIENT:/tmp/forward-proxy/proxy.sock &
|
||||||
|
socat TCP-LISTEN:1080,reuseaddr,fork UNIX-CLIENT:/tmp/forward-proxy/ftp.sock &
|
||||||
|
touch /etc/apt/apt.conf.d/proxy.conf
|
||||||
|
echo "Acquire::http::Proxy \"$https_proxy\";" >/etc/apt/apt.conf.d/proxy.conf
|
||||||
|
|
||||||
|
apt update
|
||||||
|
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt update && apt install -y wget
|
||||||
|
wget https://github.com/rclone/rclone/releases/download/v1.64.0/rclone-v1.64.0-linux-amd64.zip
|
||||||
|
unzip rclone-v1.64.0-linux-amd64.zip
|
||||||
|
export rclone=rclone-v1.64.0-linux-amd64/rclone
|
||||||
|
|
||||||
|
mkdir -p ~/.config/rclone
|
||||||
|
echo "${{ secrets.RCLONE_CONF }}" > ~/.config/rclone/rclone.conf
|
||||||
|
|
||||||
|
$rclone sync ftp:www.cromite.org/fdroid fdroid --log-level INFO --ftp-socks-proxy 127.0.0.1:1080
|
||||||
|
|
||||||
|
test -d /usr/share/man/man1 || mkdir -p /usr/share/man/man1
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt install -y fdroidserver
|
||||||
|
|
||||||
|
cd fdroid/repo/
|
||||||
|
wget https://github.com/uazo/cromite/releases/latest/download/arm_ChromePublic.apk
|
||||||
|
wget https://github.com/uazo/cromite/releases/latest/download/arm64_ChromePublic.apk
|
||||||
|
wget https://github.com/uazo/cromite/releases/latest/download/x64_ChromePublic.apk
|
||||||
|
|
||||||
|
test arm_ChromePublic.apk.1 && rm arm_ChromePublic.apk && mv arm_ChromePublic.apk.1 arm_ChromePublic.apk
|
||||||
|
test arm64_ChromePublic.apk.1 && rm arm64_ChromePublic.apk && mv arm64_ChromePublic.apk.1 arm64_ChromePublic.apk
|
||||||
|
test x64_ChromePublic.apk.1 && rm x64_ChromePublic.apk && mv x64_ChromePublic.apk.1 x64_ChromePublic.apk
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
gpg -d --passphrase "${{ secrets.FDROID_PASSPHRASE }}" --batch config.yml.asc >config.yml
|
||||||
|
gpg -d --passphrase "${{ secrets.FDROID_PASSPHRASE }}" --batch keystore.p12.asc >keystore.p12
|
||||||
|
|
||||||
|
fdroid update -c; fdroid update
|
||||||
|
rm config.yml keystore.p12
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
test -f fdroid/config.yml && exit 1
|
||||||
|
test -f fdroid/keystore.p12 && exit 1
|
||||||
|
|
||||||
|
$rclone sync fdroid ftp:www.cromite.org/fdroid --log-level INFO --ftp-socks-proxy 127.0.0.1:1080
|
||||||
|
$rclone sync fdroid ftp:www.cromite.org/fdroid --log-level INFO --ftp-socks-proxy 127.0.0.1:1080
|
||||||
-1151
File diff suppressed because it is too large
Load Diff
@@ -1,91 +0,0 @@
|
|||||||
# Frequently Asked Questions
|
|
||||||
|
|
||||||
## Does Google Sync/Translate/Data saver work?
|
|
||||||
No.
|
|
||||||
This is not a limitation of Bromite but of all Chromium-based projects in general, as general public is not allowed to use Google's APIs for free unless when using Chrome.
|
|
||||||
|
|
||||||
Additionally, these features would not be privacy-friendly.
|
|
||||||
|
|
||||||
## Does Bromite require root?
|
|
||||||
No.
|
|
||||||
|
|
||||||
## Is Bromite de-googled?
|
|
||||||
|
|
||||||
Yes, although this has not been verified (and hardly can be) under all situations; if you were to find connections to cloud-based services please report them via the issue tracker.
|
|
||||||
Bromite uses [ungoogled-chromium's python script](https://github.com/Eloston/ungoogled-chromium/blob/master/utils/domain_substitution.py) to disable URLs in the codebase since version `78.0.3904.93`.
|
|
||||||
|
|
||||||
Projects which follow a strict approach on this are [Iridium](https://iridiumbrowser.de/) and [Inox patchset](https://github.com/gcarq/inox-patchset).
|
|
||||||
|
|
||||||
## Does Bromite support DRM media?
|
|
||||||
|
|
||||||
Yes, in order to play protected/encrypted media content the browser will use Android's DRM media framework to automatically negotiate access (same as Chromium).
|
|
||||||
This means for example that requests to Android license servers will be performed (`www.googleapis.com`), see https://w3c.github.io/encrypted-media/#direct-individualization
|
|
||||||
To disable this functionality you should disable protected content playback from Site settings -> Protected Content.
|
|
||||||
|
|
||||||
## What is the SystemWebView?
|
|
||||||
It is the core component of Android for all web page visualizations. For example when you access a new wifi network and need to activate it, that is using the SystemWebView. If you do not know what it is then you do not need to install it.
|
|
||||||
|
|
||||||
See also [the wiki page](https://github.com/bromite/bromite/wiki/Installing-SystemWebView) for community-contributed installation instructions.
|
|
||||||
|
|
||||||
Ad-blocking was present and always enabled in the SystemWebView from version `72.0.3626.120` till version `77.0.3865.104`, when it stopped working due to [upstream NetworkService changes](https://docs.google.com/document/d/1TZEuPvr2KAbP4_TZpuuwtEEArQsyAkc2HDu68l66YwU/edit?ts=598244df#heading=h.ougoi5i6508y).
|
|
||||||
|
|
||||||
## How to enable DNS-over-HTTPS?
|
|
||||||
|
|
||||||
See [this page](https://www.bromite.org/doh).
|
|
||||||
|
|
||||||
## Can you add HTTPS everywhere?
|
|
||||||
No.
|
|
||||||
We cannot add add-ons to Bromite (merely some features).
|
|
||||||
|
|
||||||
## Is Bromite on Play Store?
|
|
||||||
No, and this is not going to change. Many limitations apply for submissions there, including which ads are allowed to be blocked.
|
|
||||||
|
|
||||||
Bromite favors user freedom in software choice: the device is yours so you get to choose which software to run on it, end of the story.
|
|
||||||
|
|
||||||
## Is Bromite on F-Droid?
|
|
||||||
It is not on the official F-Droid repository and there are no (more) plans to submit it.
|
|
||||||
|
|
||||||
You can use F-Droid client to install and receive updates via [the official Bromite F-Droid repository](https://www.bromite.org/fdroid).
|
|
||||||
|
|
||||||
## Does Bromite support WebRTC?
|
|
||||||
Partially, see https://github.com/bromite/bromite/wiki/WebRTC
|
|
||||||
|
|
||||||
## Using Bromite will favour the monopoly of the Chromium/Blink engine, why do you develop and maintain Bromite?
|
|
||||||
In short, to show what a Chromium-based engine could do **for the user** if the user experience and needs were the main focus of modern browser design.
|
|
||||||
|
|
||||||
For an Android browser using an alternative engine see [Fennec F-Droid](https://f-droid.org/en/packages/org.mozilla.fennec_fdroid/).
|
|
||||||
|
|
||||||
## Does Bromite support extensions?
|
|
||||||
No; Bromite will support extensions only if upstream (Chromium) does, or similarly another project maintains the patch and functionality.
|
|
||||||
|
|
||||||
## Why do push notifications not work on this website?
|
|
||||||
|
|
||||||
The [Chromium Blink engine](https://www.chromium.org/blink) uses [GCM](https://en.wikipedia.org/wiki/Google_Cloud_Messaging) to deliver messages
|
|
||||||
when websites use the [Push API](https://w3c.github.io/push-api/); this will not work in Bromite because cloud integrations are disabled (GCM in this case).
|
|
||||||
|
|
||||||
[ServiceWorker notifications](https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration/showNotification) do work instead since they use
|
|
||||||
[android.app.Notification](https://developer.android.com/guide/topics/ui/notifiers/notifications).
|
|
||||||
|
|
||||||
## Can PWAs be installed?
|
|
||||||
|
|
||||||
PWAs are only supported as home shortcuts; WebAPKs will not work because they are generated server-side on googleapis.com (which is not allowed in Bromite).
|
|
||||||
|
|
||||||
## Does Bromite support the Android autofill framework?
|
|
||||||
|
|
||||||
Yes, since version 94.0.4606.109 the native Android autofill can be used; this does not require accessibility services as a workaround.
|
|
||||||
|
|
||||||
## Does Bromite support casting media content?
|
|
||||||
|
|
||||||
No, this would require Play Store binary blobs.
|
|
||||||
|
|
||||||
## Can you add this search engine as default?
|
|
||||||
No.
|
|
||||||
Bromite does not make any choice related to default search engines, the Chromium default is used.
|
|
||||||
Various Android browsers get some fee to ship their apps with a specific default search engine, Bromite does not get any fee from anyone.
|
|
||||||
Changing the default search engine would lead to an endless series of requests to change it based on personal preferences, thus no change is made to the default.
|
|
||||||
See also: https://github.com/bromite/bromite/wiki/SearchEngines
|
|
||||||
|
|
||||||
## Some sites show ads, how can I fix this?
|
|
||||||
You can compare the blocked URLs with a desktop browser and Bromite (using [remote debugging](https://developer.chrome.com/docs/devtools/remote-debugging/)) and figure out some new filter rules to be added.
|
|
||||||
If the ads are blocked via cosmetic filtering then blocking them is not possible with Bromite's engine and you might need something like an [user script](https://github.com/bromite/bromite/wiki/UserScripts) instead.
|
|
||||||
See also: https://github.com/bromite/bromite/wiki/AdBlocking
|
|
||||||
@@ -12,15 +12,9 @@
|
|||||||
</a>
|
</a>
|
||||||
<br>
|
<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 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.
|
Cromite is available for Android arm64-v8a, arm32-v7a and x86_64, Nougat and above (Minimum v7.0, API level 24), Windows and Linux 64bit.
|
||||||
|
|
||||||
For the Frequently Asked Questions see [F.A.Q.](./FAQ.md).
|
|
||||||
|
|
||||||
For documentation see the [wiki](https://github.com/bromite/bromite/wiki).
|
|
||||||
|
|
||||||
# Goals
|
# Goals
|
||||||
|
|
||||||
@@ -31,222 +25,29 @@ Cromite's goal is to
|
|||||||
|
|
||||||
In addition, Cromite would like to promote greater integration with other non-profit, open source browsers, encouraging closer collaboration with others, and attempt to integrate them directly into Chromium once they have reached an appropriate level of maturity.
|
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
|
|
||||||
|
|
||||||
#### 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
|
|
||||||
* always-incognito mode
|
|
||||||
* disable all field trials permanently
|
|
||||||
* 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 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
|
|
||||||
* [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
|
|
||||||
* 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
|
|
||||||
* make all favicon requests on-demand ([supercookie](https://supercookie.me/) mitigation)
|
|
||||||
* enable all network isolation features (`PartitionConnectionsByNetworkIsolationKey`, `PartitionHttpServerPropertiesByNetworkIsolationKey`, `SplitHostCacheByNetworkIsolationKey`, `AppendFrameOriginToNetworkIsolationKey`, `SplitCacheByNetworkIsolationKey`, `UseRegistrableDomainInNetworkIsolationKey`, `PartitionSSLSessionsByNetworkIsolationKey`, `PartitionExpectCTStateByNetworkIsolationKey`, `PartitionDomainReliabilityByNetworkIsolationKey`)
|
|
||||||
* ignore enterprise policies that disallow secure DNS
|
|
||||||
* ask permission to play protected media
|
|
||||||
* disable the DIAL repeating discovery
|
|
||||||
* disable RTCGetCurrentBrowsingContextMedia by default
|
|
||||||
* disable FLoC and privacy sandbox by default
|
|
||||||
* disable feeds
|
|
||||||
* disable reporting of certificate errors
|
|
||||||
* use pre-defined phone model for client hints and Javascript
|
|
||||||
* allow forcing external links to open in incognito
|
|
||||||
* disable AGSA by default
|
|
||||||
* flag to enable Certificate Transparency
|
|
||||||
* allow adding search engines from incognito mode
|
|
||||||
* disable predictors
|
|
||||||
* disable supervised users
|
|
||||||
* disable safety check
|
|
||||||
* disable capability to block `view-source:` URLs
|
|
||||||
* disable `SegmentationPlatformFeature`, `OptimizationHints`, client hint headers
|
|
||||||
* disable `AsyncDNS` by default
|
|
||||||
* customize history expiration threshold
|
|
||||||
* disable idle detection
|
|
||||||
* HTTPS-only mode enabled by default
|
|
||||||
* disable TLS resumption by default
|
|
||||||
* 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
|
|
||||||
* bookmark all tabs from tabs regroup menu
|
|
||||||
* allow playing videos in background tabs and disable pause on switching tabs
|
|
||||||
* all codecs included (proprietary, open H.264 etc.)
|
|
||||||
* [AV1 codec support](https://github.com/bromite/bromite/wiki/AV1-support)
|
|
||||||
* [dav1d](https://code.videolan.org/videolan/dav1d) decoder enabled by default
|
|
||||||
* built with official speed optimizations
|
|
||||||
* increase number of autocomplete matches from 5 to 10
|
|
||||||
* allow changing default download storage location
|
|
||||||
* do not ignore save prompt for users without SD cards
|
|
||||||
* disable articles and increase number of icons on new tab page
|
|
||||||
* adding an URL as bookmark will clear its blocked status for the NTP tiles
|
|
||||||
* history support in incognito mode
|
|
||||||
* view source of pages
|
|
||||||
* sticky desktop mode setting
|
|
||||||
* mobile/desktop user agent customization
|
|
||||||
* accessibility preference to force tablet UI
|
|
||||||
* use Alt+D to focus address bar
|
|
||||||
* allow sharing to Bromite
|
|
||||||
* UI for crash information collection
|
|
||||||
* allow OpenSearch search engine detection in incognito
|
|
||||||
* allow OpenSearch search engine detection with paths
|
|
||||||
* keyboard dictionary hints in address bar
|
|
||||||
* always allow `view-source:` URLs
|
|
||||||
* allow moving navigation bar to bottom
|
|
||||||
* add option to use home page as NTP
|
|
||||||
|
|
||||||
#### 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
|
|
||||||
|
|
||||||
Flags which have been retired from upstream Chromium but are still available in Bromite.
|
|
||||||
|
|
||||||
* `#pull-to-refresh`
|
|
||||||
* `#enable-search-ready-omnibox`
|
|
||||||
* `#darken-websites-checkbox-in-themes-setting`
|
|
||||||
* `#simplified-ntp`, enabled by default
|
|
||||||
* `#enable-text-fragment-anchor`, disabled by default
|
|
||||||
* `#num-raster-threads`
|
|
||||||
* `#enable-image-reader`, enabled by default
|
|
||||||
* `#enable-tab-groups` and `#enable-tab-groups-ui-improvements`
|
|
||||||
* `#offline-indicator-v2`
|
|
||||||
|
|
||||||
New flags:
|
|
||||||
|
|
||||||
* `#fingerprinting-canvas-image-data-noise`, `#fingerprinting-client-rects-noise` and `#fingerprinting-canvas-measuretext-noise`, enabled by default
|
|
||||||
* `#incognito-screenshot`, disabled by default
|
|
||||||
* `#max-connections-per-host`
|
|
||||||
* `#resume-background-video`
|
|
||||||
* `#ipv6-probing`
|
|
||||||
* `#enable-device-motion` and `#enable-device-orientation`
|
|
||||||
* `#show-legacy-tls-warnings`
|
|
||||||
* `#save-data-header`, disabled by default
|
|
||||||
* `#export-bookmarks-use-saf`, disabled by default
|
|
||||||
* `#allow-user-certificates`, disabled by default
|
|
||||||
* `#cleartext-permitted`, enabled by default, can be used to disable all cleartext-HTTP traffic
|
|
||||||
* `#omnibox-autocomplete-filtering`, can be used to restrict omnibox autocomplete results
|
|
||||||
* `#disable-external-intent-requests`, can be used to disable opening any external app for any URL
|
|
||||||
* `#enable-userscripts-log`, see https://github.com/bromite/bromite/wiki/UserScripts#flags
|
|
||||||
* `#certificate-transparency-enabled`, enabled by default; see https://chromium.googlesource.com/chromium/src/+/master/net/docs/certificate-transparency.md
|
|
||||||
* `#move-top-toolbar-to-bottom`, disabled by default
|
|
||||||
* `#site-engagement`, enabled by default, can be used to disable the automatically-generated icons for most visited sites on the NTP
|
|
||||||
|
|
||||||
### Site settings
|
|
||||||
|
|
||||||
* webGL, disabled by default
|
|
||||||
* images, enabled by default
|
|
||||||
* Javascript JIT, disabled by default
|
|
||||||
* timezone customization override
|
|
||||||
* autoplay, disabled by default
|
|
||||||
* webRTC, disabled by default
|
|
||||||
* viewport protection, enabled by default
|
|
||||||
|
|
||||||
# Privacy limitations
|
# Privacy limitations
|
||||||
|
|
||||||
Cromite's privacy features, including anti-fingerprinting mitigations (which are not comprehensive), **are not to be considered useful for journalists and people living in countries with freedom limitations**, please look at [Tor Browser](https://www.torproject.org/download/) in such cases.
|
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.
|
Please note that this project is not free of bugs and that changing the behaviour of a browser can be risky and not without problems.
|
||||||
|
|
||||||
|
# Docs
|
||||||
|
- [Privacy Policy](https://github.com/uazo/cromite/blob/master/docs/PRIVACY_POLICY.md)
|
||||||
|
- [Features](https://github.com/uazo/cromite/blob/master/docs/FEATURES.md)
|
||||||
|
- [How to build](https://github.com/uazo/cromite/blob/master/docs/HOW_TO_BUILD.md)
|
||||||
|
- [Patch list](https://github.com/uazo/cromite/blob/master/docs/PATCHES.md)
|
||||||
|
|
||||||
# Releases
|
# Releases
|
||||||
|
|
||||||
All built versions are available as [releases](https://github.com/uazo/cromite/releases).
|
All built versions are available as [releases](https://github.com/uazo/cromite/releases).
|
||||||
|
|
||||||
Cromite is currently built for ARM64, ~x86~ (Android SDK version 23+) and Windows x64.
|
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).
|
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).
|
||||||
|
|
||||||
For F-droid: work in progress https://github.com/uazo/cromite/issues/64
|
### F-droid
|
||||||
|
|
||||||
|
Official F-droid repo url:
|
||||||
|
https://www.cromite.org/fdroid/repo/?fingerprint=49F37E74DEE483DCA2B991334FB5A0200787430D0B5F9A783DD5F13695E9517B
|
||||||
|
|
||||||
### Auto-update setup for windows
|
### Auto-update setup for windows
|
||||||
|
|
||||||
@@ -262,7 +63,7 @@ ChromiumUpdateUrl=https://github.com/uazo/cromite/releases/latest/download/updat
|
|||||||
# Command line for Chromium (string):
|
# Command line for Chromium (string):
|
||||||
# note --user-data-dir= works better if path is absolute
|
# note --user-data-dir= works better if path is absolute
|
||||||
# See here: http://peter.sh/experiments/chromium-command-line-switches/
|
# See here: http://peter.sh/experiments/chromium-command-line-switches/
|
||||||
ChromiumCommandLine=--user-data-dir=".\User Data" --no-default-browser-check
|
ChromiumCommandLine=--user-data-dir="C:\Users\<my user>\AppData\Local\Chromium\User Data" --no-default-browser-check
|
||||||
|
|
||||||
# to enable full logging in c:\temp\log.txt (daily rotate, no automatic deletion)
|
# to enable full logging in c:\temp\log.txt (daily rotate, no automatic deletion)
|
||||||
# ChromiumCommandLine=--enable-logging --v=0 --log-file=C:\temp\log.txt --user-data-dir=".\User Data" --no-default-browser-check
|
# ChromiumCommandLine=--enable-logging --v=0 --log-file=C:\temp\log.txt --user-data-dir=".\User Data" --no-default-browser-check
|
||||||
@@ -274,6 +75,7 @@ ChromiumBinary=chrome.exe
|
|||||||
# Relative (to chrlauncher directory) or full path (env. variables supported).
|
# Relative (to chrlauncher directory) or full path (env. variables supported).
|
||||||
ChromiumDirectory=.\bin
|
ChromiumDirectory=.\bin
|
||||||
```
|
```
|
||||||
|
To prevent deletion by Microsoft Defender each time the browser is updated, check the `user-data-dir` folder by modifying it accordingly.
|
||||||
|
|
||||||
### Enable network process sandbox in windows
|
### 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:
|
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:
|
||||||
@@ -283,43 +85,21 @@ icacls . /grant "*S-1-15-2-2:(OI)(CI)(RX)"
|
|||||||
```
|
```
|
||||||
see https://github.com/uazo/bromite-buildtools/issues/51
|
see https://github.com/uazo/bromite-buildtools/issues/51
|
||||||
|
|
||||||
## (TODO) Integrity and authenticity
|
### Enable AppContainer for renderer process in windows
|
||||||
|
you can activate the 'RendererAppContainer' flag from the command line with
|
||||||
You can verify the integrity of a downloaded APK file from this project with any `sha256sum`-compatible tool by downloading the corresponding `brm_X.Y.Z.sha256.txt` or `chr_X.Y.Z.sha256.txt` file, where X.Y.Z is the release version number. Example:
|
|
||||||
```
|
```
|
||||||
$ sha256sum --check brm_68.0.3440.54.sha256.txt
|
--enable-features=RendererAppContainer
|
||||||
arm64_SystemWebView.apk: OK
|
|
||||||
arm64_ChromePublic.apk: OK
|
|
||||||
arm64_ChromeModernPublic.apk: OK
|
|
||||||
```
|
```
|
||||||
|
|
||||||
You can verify authenticity, e.g. that the author ([csagan5](https://github.com/csagan5)) released the file, by using gpg2:
|
# Contributing
|
||||||
```
|
|
||||||
$ gpg2 --quiet --verify brm_68.0.3440.54.sha256.txt.asc
|
|
||||||
gpg: assuming signed data in 'brm_68.0.3440.54.sha256.txt'
|
|
||||||
gpg: Signature made Sun 08 Jul 2018 04:22:52 PM CEST using RSA key ID D85DC0C5
|
|
||||||
gpg: Good signature from "csagan5 <32685696+csagan5@users.noreply.github.com>"
|
|
||||||
```
|
|
||||||
|
|
||||||
You can download csagan5's public GnuPG key from here: [csagan5.asc](./csagan5.asc).
|
|
||||||
|
|
||||||
# (TODO) How to build
|
|
||||||
|
|
||||||
The [Bromite main repository](https://github.com/bromite/bromite) contains tags for each corresponding Chromium release (see https://chromium.googlesource.com/chromium/src.git).
|
|
||||||
|
|
||||||
Please refer to [official Chromium build documentation](https://www.chromium.org/developers/how-tos/get-the-code) to get started on how to build Chromium; if you can build Chromium for Android, you can build Bromite.
|
|
||||||
|
|
||||||
The Chromium version tag used as base for the patches is available here: [RELEASE](./build/RELEASE); this is always corresponding to the git tag for every release.
|
|
||||||
The GN args used to build Bromite are available here: [bromite.gn_args](./build/bromite.gn_args).
|
|
||||||
The patches are to be applied second the order specified in the `bromite_patches_list.txt` file (you can use `git am`).
|
|
||||||
|
|
||||||
# (TODO) Contributing
|
|
||||||
|
|
||||||
Please submit issues following the issue template; beware that GitHub does not display the templates from mobile.
|
Please submit issues following the issue template; beware that GitHub does not display the templates from mobile.
|
||||||
|
|
||||||
Patches are welcome and accepted if they match the project goals.
|
Patches are welcome and accepted if they match the project goals.
|
||||||
|
|
||||||
For any usage or development discussion please use GitHub Discussions: https://github.com/bromite/bromite/discussions
|
If you want to help me, [here](https://github.com/uazo/cromite/blob/master/docs/HELP_ME_PLEASE.md) is the list of things I would need.
|
||||||
|
|
||||||
|
For any usage or development discussion please use GitHub Discussions: https://github.com/uazo/cromite/discussions
|
||||||
|
|
||||||
# Credits
|
# Credits
|
||||||
|
|
||||||
@@ -332,11 +112,9 @@ For any usage or development discussion please use GitHub Discussions: https://g
|
|||||||
* [Inox patchset](https://github.com/gcarq/inox-patchset) for some patches (via ungoogled-chromium)
|
* [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
|
* [Brave Browser](https://github.com/brave/brave-core) for some patches
|
||||||
|
|
||||||
# (TODO) License
|
# License
|
||||||
|
|
||||||
The patches published as part of the Bromite project are released under [GNU GPL v3](./LICENSE).
|
Cromite is published under [GNU GPL v3](./LICENSE).
|
||||||
|
The patches published as part of the Bromite project are released under GNU GPL v3 only.
|
||||||
[version-image]: https://img.shields.io/github/release/bromite/bromite.svg?style=flat-square
|
Cromite specific patches are under the GNU GPL-2+ licence.
|
||||||
[version-url]: https://github.com/bromite/bromite/releases/latest
|
Each individual patch contains specific information on the licence used.
|
||||||
[license-image]: https://img.shields.io/github/license/bromite/bromite.svg
|
|
||||||
[license-url]: https://github.com/bromite/bromite/blob/master/LICENSE
|
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
e3a3a1fe718bf559be801d14660fb6f9dc9bf603-
|
|
||||||
+1
-1
@@ -1 +1 @@
|
|||||||
116.0.5845.111
|
123.0.6312.105
|
||||||
@@ -1 +0,0 @@
|
|||||||
5923fa90d4e3587c130983442b9cf90f4c76e851
|
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
android_channel="stable"
|
|
||||||
blink_symbol_level=1
|
|
||||||
build_contextual_search=false
|
|
||||||
build_with_tflite_lib=false
|
|
||||||
chrome_pgo_phase=0
|
|
||||||
dcheck_always_on=false
|
|
||||||
debuggable_apks=false
|
|
||||||
dfmify_dev_ui=false
|
|
||||||
disable_android_lint=true
|
|
||||||
disable_autofill_assistant_dfm=true
|
|
||||||
disable_fieldtrial_testing_config=true
|
|
||||||
disable_tab_ui_dfm=true
|
|
||||||
enable_av1_decoder=true
|
|
||||||
enable_dav1d_decoder=true
|
|
||||||
enable_gvr_services=false
|
|
||||||
enable_hangout_services_extension=false
|
|
||||||
enable_iterator_debugging=false
|
|
||||||
enable_mdns=false
|
|
||||||
enable_mse_mpeg2ts_stream_parser=true
|
|
||||||
enable_nacl=false
|
|
||||||
enable_platform_dolby_vision=true
|
|
||||||
enable_platform_hevc=true
|
|
||||||
enable_remoting=false
|
|
||||||
enable_reporting=false
|
|
||||||
enable_vr=false
|
|
||||||
exclude_unwind_tables=false
|
|
||||||
ffmpeg_branding="Chrome"
|
|
||||||
icu_use_data_file=true
|
|
||||||
is_cfi=true
|
|
||||||
is_component_build=false
|
|
||||||
is_debug=false
|
|
||||||
is_official_build=true
|
|
||||||
proprietary_codecs=true
|
|
||||||
rtc_build_examples=false
|
|
||||||
symbol_level=1
|
|
||||||
system_webview_package_name="org.bromite.webview"
|
|
||||||
target_os="android"
|
|
||||||
treat_warnings_as_errors=true
|
|
||||||
use_cfi_cast=true
|
|
||||||
use_debug_fission=true
|
|
||||||
use_errorprone_java_compiler=false
|
|
||||||
use_gnome_keyring=false
|
|
||||||
use_official_google_api_keys=false
|
|
||||||
use_rtti=false
|
|
||||||
use_sysroot=false
|
|
||||||
webview_includes_weblayer=false
|
|
||||||
enable_arcore=false
|
|
||||||
enable_openxr=false
|
|
||||||
enable_gvr_services=false
|
|
||||||
enable_feed_v2=false
|
|
||||||
is_high_end_android=true
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
android_channel="stable"
|
|
||||||
blink_symbol_level=1
|
|
||||||
build_contextual_search=false
|
|
||||||
build_with_tflite_lib=false
|
|
||||||
chrome_pgo_phase=0
|
|
||||||
dcheck_always_on=false
|
|
||||||
debuggable_apks=false
|
|
||||||
dfmify_dev_ui=false
|
|
||||||
disable_android_lint=true
|
|
||||||
disable_autofill_assistant_dfm=true
|
|
||||||
disable_fieldtrial_testing_config=true
|
|
||||||
disable_tab_ui_dfm=true
|
|
||||||
enable_av1_decoder=true
|
|
||||||
enable_dav1d_decoder=true
|
|
||||||
enable_gvr_services=false
|
|
||||||
enable_hangout_services_extension=false
|
|
||||||
enable_iterator_debugging=false
|
|
||||||
enable_mdns=false
|
|
||||||
enable_mse_mpeg2ts_stream_parser=true
|
|
||||||
enable_nacl=false
|
|
||||||
enable_platform_dolby_vision=true
|
|
||||||
enable_platform_hevc=true
|
|
||||||
enable_remoting=false
|
|
||||||
enable_reporting=true
|
|
||||||
enable_supervised_users=false
|
|
||||||
enable_vr=false
|
|
||||||
exclude_unwind_tables=false
|
|
||||||
ffmpeg_branding="Chrome"
|
|
||||||
icu_use_data_file=true
|
|
||||||
is_cfi=true
|
|
||||||
is_component_build=false
|
|
||||||
is_debug=false
|
|
||||||
is_official_build=true
|
|
||||||
proprietary_codecs=true
|
|
||||||
rtc_build_examples=false
|
|
||||||
safe_browsing_mode=2
|
|
||||||
symbol_level=1
|
|
||||||
system_webview_package_name="com.android.webview"
|
|
||||||
target_os="android"
|
|
||||||
treat_warnings_as_errors=true
|
|
||||||
use_cfi_cast=true
|
|
||||||
use_debug_fission=true
|
|
||||||
use_errorprone_java_compiler=false
|
|
||||||
use_gnome_keyring=false
|
|
||||||
use_official_google_api_keys=false
|
|
||||||
use_rtti=false
|
|
||||||
use_sysroot=false
|
|
||||||
webview_includes_weblayer=false
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
AV1-codec-support.patch
|
|
||||||
exit-on-failure-of-inclusion.patch
|
|
||||||
Reintroduce-override_build_timestamp.patch
|
|
||||||
do-not-hide-.orig-files.patch
|
|
||||||
Do-not-link-with-libatomic.patch
|
|
||||||
do-not-add-suffix-to-package-name.patch
|
|
||||||
Switch-to-fstack-protector-strong.patch
|
|
||||||
Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch
|
|
||||||
enable-ftrivial-auto-var-init-zero.patch
|
|
||||||
Disable-feeds-support-by-default.patch
|
|
||||||
Chromium-package-name.patch
|
|
||||||
@@ -0,0 +1,170 @@
|
|||||||
|
android_channel="stable"
|
||||||
|
blink_symbol_level=1
|
||||||
|
build_contextual_search=false
|
||||||
|
build_with_tflite_lib=false
|
||||||
|
chrome_pgo_phase=0
|
||||||
|
dcheck_always_on=false
|
||||||
|
debuggable_apks=false
|
||||||
|
dfmify_dev_ui=false
|
||||||
|
disable_android_lint=true
|
||||||
|
disable_fieldtrial_testing_config=true
|
||||||
|
enable_gvr_services=false
|
||||||
|
enable_hangout_services_extension=false
|
||||||
|
enable_iterator_debugging=false
|
||||||
|
enable_mdns=false
|
||||||
|
enable_nacl=false
|
||||||
|
enable_remoting=false
|
||||||
|
enable_reporting=false
|
||||||
|
enable_vr=false
|
||||||
|
exclude_unwind_tables=false
|
||||||
|
icu_use_data_file=true
|
||||||
|
is_component_build=false
|
||||||
|
is_debug=false
|
||||||
|
is_official_build=true
|
||||||
|
rtc_build_examples=false
|
||||||
|
symbol_level=1
|
||||||
|
treat_warnings_as_errors=true
|
||||||
|
use_debug_fission=true
|
||||||
|
use_errorprone_java_compiler=false
|
||||||
|
use_official_google_api_keys=false
|
||||||
|
use_rtti=false
|
||||||
|
use_sysroot=false
|
||||||
|
webview_includes_weblayer=false
|
||||||
|
enable_arcore=false
|
||||||
|
enable_openxr=false
|
||||||
|
enable_gvr_services=false
|
||||||
|
enable_feed_v2=false
|
||||||
|
enable_cardboard=false
|
||||||
|
is_high_end_android=true
|
||||||
|
|
||||||
|
# media section
|
||||||
|
proprietary_codecs=true
|
||||||
|
ffmpeg_branding="Chrome"
|
||||||
|
enable_av1_decoder=true
|
||||||
|
enable_dav1d_decoder=true
|
||||||
|
|
||||||
|
# disable cisco OpenH264
|
||||||
|
media_use_openh264 = false
|
||||||
|
|
||||||
|
# decoder flags
|
||||||
|
if (target_os == "android" || target_os == "win") {
|
||||||
|
# codec supported by default
|
||||||
|
# android: https://developer.android.com/media/platform/supported-formats
|
||||||
|
# windows: https://learn.microsoft.com/en-us/windows/win32/medfound/codecobjects
|
||||||
|
|
||||||
|
# enable aac and h264 hw decoder only
|
||||||
|
enable_platform_aac_audio = true
|
||||||
|
enable_platform_h264_video = true
|
||||||
|
|
||||||
|
# enable hw decoder for h265 (hevc)
|
||||||
|
enable_platform_hevc = true
|
||||||
|
|
||||||
|
# disable dolby vision
|
||||||
|
enable_platform_dolby_vision = false
|
||||||
|
enable_platform_encrypted_dolby_vision = false
|
||||||
|
|
||||||
|
if (target_os == "win") {
|
||||||
|
# enable ac3/eac codec
|
||||||
|
enable_platform_ac3_eac3_audio = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# disable passthrough audio codecs
|
||||||
|
enable_platform_dts_audio = false
|
||||||
|
enable_passthrough_audio_codecs = false
|
||||||
|
|
||||||
|
# Do not compile libmonochrome.so with RELR relocations
|
||||||
|
# since supported only on API 28+
|
||||||
|
use_relr_relocations=false
|
||||||
|
|
||||||
|
# disabled the use of the context snapshot
|
||||||
|
# see https://github.com/uazo/cromite/pull/317 for context
|
||||||
|
use_v8_context_snapshot = false
|
||||||
|
|
||||||
|
# enable libjxl support by default
|
||||||
|
enable_jxl_decoder = true
|
||||||
|
|
||||||
|
# disable minikin engine
|
||||||
|
# see https://github.com/uazo/cromite/issues/697
|
||||||
|
use_minikin_hyphenation = false
|
||||||
|
|
||||||
|
# disable automatic update of sync-related cookies
|
||||||
|
# initial commit: https://source.chromium.org/chromium/chromium/src/+/fd9a841f7a63b9f5510f6b713d9c833d259c63ad
|
||||||
|
enable_bound_session_credentials = false
|
||||||
|
|
||||||
|
declare_args() {
|
||||||
|
_is_debug_build = ""
|
||||||
|
build_webview = false
|
||||||
|
}
|
||||||
|
|
||||||
|
not_needed(["_target_build", "_is_debug_build"])
|
||||||
|
|
||||||
|
if (getenv("TARGET_CPU") != "") {
|
||||||
|
target_cpu = getenv("TARGET_CPU")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (target_os == "android") {
|
||||||
|
target_os = "android" # fix traffic annotation auditor
|
||||||
|
#enable_kythe_annotations = true
|
||||||
|
|
||||||
|
chrome_public_manifest_package = "org.cromite.cromite"
|
||||||
|
system_webview_package_name="org.cromite.webview" #"com.android.webview"
|
||||||
|
system_webview_shell_package_name="org.cromite.webview_shell"
|
||||||
|
|
||||||
|
if (getenv("USE_KEYSTORE") != "") {
|
||||||
|
android_keystore_path = "/home/lg/working_dir/cromite.keystore"
|
||||||
|
android_keystore_name = "cromite"
|
||||||
|
android_keystore_password = getenv("KEYSTORE_PASSWORD")
|
||||||
|
}
|
||||||
|
|
||||||
|
cromite_pref_hash_seed_bin = getenv("CROMITE_PREF_HASH_SEED_BIN")
|
||||||
|
|
||||||
|
_is_debug_build = getenv("TARGET_ISDEBUG")
|
||||||
|
if(_is_debug_build == "true") {
|
||||||
|
# print("Debug build on")
|
||||||
|
is_debug = true
|
||||||
|
is_official_build = false
|
||||||
|
dcheck_always_on = true
|
||||||
|
symbol_level = 1
|
||||||
|
strip_debug_info = false
|
||||||
|
generate_linker_map = false
|
||||||
|
} else {
|
||||||
|
generate_linker_map = true
|
||||||
|
}
|
||||||
|
|
||||||
|
if (build_webview) {
|
||||||
|
# only 64bit
|
||||||
|
skip_secondary_abi_for_cq = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (target_os == "win") {
|
||||||
|
target_os = "win" # fix traffic annotation auditor
|
||||||
|
target_cpu = "x64"
|
||||||
|
symbol_level = 0
|
||||||
|
use_large_pdbs = true
|
||||||
|
|
||||||
|
enable_pdf = true
|
||||||
|
pdf_is_complete_lib = true
|
||||||
|
enable_plugins = true
|
||||||
|
enable_ppapi = false
|
||||||
|
|
||||||
|
chrome_pgo_phase = 2 # enable pgo
|
||||||
|
|
||||||
|
is_cfi = false # disable it
|
||||||
|
use_cfi_cast = false # disable it
|
||||||
|
}
|
||||||
|
|
||||||
|
if (target_os == "linux") {
|
||||||
|
target_os = "linux" # fix traffic annotation auditor
|
||||||
|
target_cpu = "x64"
|
||||||
|
symbol_level = 0
|
||||||
|
|
||||||
|
enable_pdf = true
|
||||||
|
pdf_is_complete_lib = true
|
||||||
|
enable_plugins = true
|
||||||
|
enable_ppapi = false
|
||||||
|
|
||||||
|
use_sysroot = true
|
||||||
|
chrome_pgo_phase = 2 # enable pgo
|
||||||
|
}
|
||||||
@@ -1,3 +1,4 @@
|
|||||||
|
bromite-build-utils.patch
|
||||||
Remove-EV-certificates.patch
|
Remove-EV-certificates.patch
|
||||||
do-not-hide-.orig-files.patch
|
do-not-hide-.orig-files.patch
|
||||||
Do-not-link-with-libatomic.patch
|
Do-not-link-with-libatomic.patch
|
||||||
@@ -22,7 +23,6 @@ Battery-API-return-nothing.patch
|
|||||||
updater-disable-updater-pings.patch
|
updater-disable-updater-pings.patch
|
||||||
Disable-omission-of-URL-elements-in-Omnibox.patch
|
Disable-omission-of-URL-elements-in-Omnibox.patch
|
||||||
Modify-default-preferences.patch
|
Modify-default-preferences.patch
|
||||||
Do-not-hide-component-extensions.patch
|
|
||||||
Do-not-store-passwords-by-default.patch
|
Do-not-store-passwords-by-default.patch
|
||||||
Disable-NTP-remote-suggestions-by-default.patch
|
Disable-NTP-remote-suggestions-by-default.patch
|
||||||
Disable-references-to-fonts.googleapis.com.patch
|
Disable-references-to-fonts.googleapis.com.patch
|
||||||
@@ -38,8 +38,7 @@ ungoogled-chromium-Disable-Gaia.patch
|
|||||||
ungoogled-chromium-Disable-Network-Time-Tracker.patch
|
ungoogled-chromium-Disable-Network-Time-Tracker.patch
|
||||||
Disable-all-promo-dialogs.patch
|
Disable-all-promo-dialogs.patch
|
||||||
Disable-update-scheduler.patch
|
Disable-update-scheduler.patch
|
||||||
Add-English-only-search-engine.patch
|
Add-search-engine.patch
|
||||||
Add-DuckDuckGo-Lite-search-engine.patch
|
|
||||||
openH264-enable-ARM-ARM64-optimizations.patch
|
openH264-enable-ARM-ARM64-optimizations.patch
|
||||||
build-remove-calling-untrusted-hooks.patch
|
build-remove-calling-untrusted-hooks.patch
|
||||||
Inject-scripts-for-AMP-tracking-ads-and-video.patch
|
Inject-scripts-for-AMP-tracking-ads-and-video.patch
|
||||||
@@ -69,12 +68,10 @@ profile-resetter-disable-send-settings.patch
|
|||||||
Do-not-build-API-keys-infobar.patch
|
Do-not-build-API-keys-infobar.patch
|
||||||
autofill-miscellaneous.patch
|
autofill-miscellaneous.patch
|
||||||
Enable-native-Android-autofill.patch
|
Enable-native-Android-autofill.patch
|
||||||
first_run-deactivate-autoupdate-globally.patch
|
|
||||||
translate-disable-fetching-of-languages-from-server.patch
|
translate-disable-fetching-of-languages-from-server.patch
|
||||||
Offer-builtin-autocomplete-for-chrome-flags.patch
|
Offer-builtin-autocomplete-for-chrome-flags.patch
|
||||||
Use-4-tile-rows-never-show-logo.patch
|
Use-4-tile-rows-never-show-logo.patch
|
||||||
Disable-various-metrics.patch
|
Disable-various-metrics.patch
|
||||||
|
|
||||||
Enable-StrictOriginIsolation-and-SitePerProcess.patch
|
Enable-StrictOriginIsolation-and-SitePerProcess.patch
|
||||||
Use-64-bit-WebView-processes.patch
|
Use-64-bit-WebView-processes.patch
|
||||||
prefs-always-prompt-for-download-directory.patch
|
prefs-always-prompt-for-download-directory.patch
|
||||||
@@ -153,7 +150,7 @@ Add-flag-for-save-data-header.patch
|
|||||||
Disable-UA-full-version.patch
|
Disable-UA-full-version.patch
|
||||||
Dictionary-suggestions-for-the-Omnibox.patch
|
Dictionary-suggestions-for-the-Omnibox.patch
|
||||||
Disable-AsyncDNS-by-default.patch
|
Disable-AsyncDNS-by-default.patch
|
||||||
00Restore-LastTabStandingTracker.patch
|
Restore-LastTabStandingTracker.patch
|
||||||
Add-lifetime-options-for-permissions.patch
|
Add-lifetime-options-for-permissions.patch
|
||||||
Disable-crash-reporting.patch
|
Disable-crash-reporting.patch
|
||||||
Samsung-Note-9-SDK27-crazylinker-workaround.patch
|
Samsung-Note-9-SDK27-crazylinker-workaround.patch
|
||||||
@@ -177,90 +174,60 @@ Partition-blobs-by-top-frame-URL.patch
|
|||||||
Override-Navigator-Language.patch
|
Override-Navigator-Language.patch
|
||||||
Disable-add-to-home-screen-prompt.patch
|
Disable-add-to-home-screen-prompt.patch
|
||||||
Remove-HTTP-referrals-in-cross-origin-navigation.patch
|
Remove-HTTP-referrals-in-cross-origin-navigation.patch
|
||||||
Enable-ECH-by-default.patch
|
|
||||||
Disable-StartSurface-feature.patch
|
Disable-StartSurface-feature.patch
|
||||||
Enable-PermuteTLSExtensions-by-default.patch
|
Enable-PermuteTLSExtensions-by-default.patch
|
||||||
Enable-third-party-storage-partitioning.patch
|
Enable-third-party-storage-partitioning.patch
|
||||||
Restore-adaptive-button-in-top-toolbar-customization.patch
|
Restore-adaptive-button-in-top-toolbar-customization.patch
|
||||||
Add-kill-switch-for-unsupported-clangd-flags.patch
|
Add-kill-switch-for-unsupported-clangd-flags.patch
|
||||||
|
|
||||||
eyeo-beta-114.0.5735.53-v1-base.patch
|
WIN-enable-pdf-plugin.patch
|
||||||
eyeo-beta-114.0.5735.53-v1-android_settings.patch
|
WIN-disable-annotate-downloads.patch
|
||||||
eyeo-beta-114.0.5735.53-v1-extension_api.patch
|
WIN-enable-HighEfficiencyMode-by-default.patch
|
||||||
00Eyeo-Adblock-Remove-Privacy-Issues.patch
|
WIN-enable-file-system-access-blocklist.patch
|
||||||
|
WIN-Disable-TabHoverCard-images.patch
|
||||||
|
WIN-Fix-log-to-file.patch
|
||||||
|
WIN-Disable-updater.patch
|
||||||
|
WIN-Disable-first-run.patch
|
||||||
|
WIN-Add-some-prefs-to-secure-preferences.patch
|
||||||
|
WIN-Disable-search-for-image.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-Disable-various-metrics.patch
|
|
||||||
00WIN-ADDTO-Do-not-build-API-keys-infobar.patch
|
|
||||||
00WIN-ADDTO-Revert-flags--remove-num-raster-thre.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
|
|
||||||
00WIN-ADDTO-Add-AllowUserCertificates-flag.patch
|
|
||||||
00WIN-enable-pdf-plugin.patch
|
|
||||||
00WIN-disable-annotate-downloads.patch
|
|
||||||
00WIN-enable-HighEfficiencyMode-by-default.patch
|
|
||||||
00WIN-enable-file-system-access-blocklist.patch
|
|
||||||
00WIN-Disable-TabHoverCard-images.patch
|
|
||||||
00WIN-Fix-log-to-file.patch
|
|
||||||
00WIN-minimum-data-to-enable-install-extensions.patch
|
|
||||||
00WIN-Disable-updater.patch
|
|
||||||
00WIN-Disable-first-run.patch
|
|
||||||
00WIN-Add-some-prefs-to-secure-preferences.patch
|
|
||||||
00WIN-Disable-search-for-image.patch
|
|
||||||
|
|
||||||
00Temp-Disable-kAutomaticLazyFrameLoadingToEmbeds.patch
|
|
||||||
00Remove-experimental-relative-c---abi-vtables.patch
|
|
||||||
AudioBuffer-AnalyserNode-fp-mitigations.patch
|
AudioBuffer-AnalyserNode-fp-mitigations.patch
|
||||||
00Disable-Component-Updates.patch
|
Disable-Component-Updates.patch
|
||||||
00add-browser-policy.patch
|
add-browser-policy.patch
|
||||||
00Always-open-browser-controls-in-new-tab.patch
|
Always-open-browser-controls-in-new-tab.patch
|
||||||
00Partitioning-all-cookies-by-top-frame-domain.patch
|
Partitioning-all-cookies-by-top-frame-domain.patch
|
||||||
00Disable-FedCm.patch
|
Disable-FedCm.patch
|
||||||
00Disable-BackForwardCache.patch
|
Disable-BackForwardCache.patch
|
||||||
00Evict-the-entire-FrameTree-like-desktop.patch
|
Evict-the-entire-FrameTree-like-desktop.patch
|
||||||
00Disable-visited-pseudo-class.patch
|
Disable-visited-pseudo-class.patch
|
||||||
00Add-setting-to-clear-data-on-exit.patch
|
Add-setting-to-clear-data-on-exit.patch
|
||||||
00WIN-Disable-sharing-hub.patch
|
WIN-Disable-sharing-hub.patch
|
||||||
00WIN-Enable-Network-Service-Sandbox-and-CIG.patch
|
Improve-the-browser-sandbox.patch
|
||||||
00Disable-csp-reports.patch
|
Disable-csp-reports.patch
|
||||||
00Fonts-fingerprinting-mitigation.patch
|
Fonts-fingerprinting-mitigation.patch
|
||||||
00Keyboard-protection-flag.patch
|
Keyboard-protection-flag.patch
|
||||||
00Disable-privacy-issues-in-password-manager.patch
|
Disable-privacy-issues-in-password-manager.patch
|
||||||
00Partition-HSTS-cache-by-NAK.patch
|
Partition-HSTS-cache-by-NAK.patch
|
||||||
00Warning-message-for-unsupported-hardware-aes.patch
|
Warning-message-for-unsupported-hardware-aes.patch
|
||||||
00Enable-Document-Open-Inheritance-Removal.patch
|
Enable-Document-Open-Inheritance-Removal.patch
|
||||||
00Add-setting-to-invert-tap-and-long-tap.patch
|
Add-setting-to-invert-tap-and-long-tap.patch
|
||||||
00Remove-ChromiumNetworkAdapter.patch
|
Remove-ChromiumNetworkAdapter.patch
|
||||||
00Internal-firewall.patch
|
Internal-firewall.patch
|
||||||
00Disable-devtools-remote-and-custom-protocols.patch
|
Disable-devtools-remote-and-custom-protocols.patch
|
||||||
00Remove-detection-of-captive-portals.patch
|
Remove-detection-of-captive-portals.patch
|
||||||
00Disable-SHA1-Server-Signature.patch
|
Remove-auth-header-upon-cross-origin-redirect.patch
|
||||||
00Remove-auth-header-upon-cross-origin-redirect.patch
|
Clear-CORS-Preflight-Cache-on-clearing-data.patch
|
||||||
00Clear-CORS-Preflight-Cache-on-clearing-data.patch
|
Multi-Screen-Window-Placement-API-fix.patch
|
||||||
00Multi-Screen-Window-Placement-API-fix.patch
|
Add-a-flag-to-disable-GamePad-API.patch
|
||||||
00Remove-https-connection-from-chrome-discards.patch
|
Disable-WebGPU.patch
|
||||||
00Add-a-flag-to-disable-GamePad-API.patch
|
Disable-FirstPartySets-and-StorageAccessAPI.patch
|
||||||
00Disable-WebGPU.patch
|
Disable-GetInstalledRelatedApps-API.patch
|
||||||
00Disable-FirstPartySets-and-StorageAccessAPI.patch
|
Disable-GSA-by-default.patch
|
||||||
00Disable-GetInstalledRelatedApps-API.patch
|
Disable-PrivateStateTokens-API.patch
|
||||||
00Disable-GSA-by-default.patch
|
Disallowing-MIDI-permission-by-default.patch
|
||||||
00Disable-PrivateStateTokens-API.patch
|
Disable-Compression-Dictionary-Transport.patch
|
||||||
00Disallowing-MIDI-permission-by-default.patch
|
Disallow-Android-App-Scheme-as-referrer.patch
|
||||||
00Disable-Compression-Dictionary-Transport.patch
|
Deprecate-Data-URL-in-SVGUseElement.patch
|
||||||
00Disallow-Android-App-Scheme-as-referrer.patch
|
|
||||||
00Deprecate-Data-URL-in-SVGUseElement.patch
|
|
||||||
|
|
||||||
00TEMP-Add-a-log-to-track-strange-behavior.patch
|
|
||||||
00v113-temp-fix-build.patch
|
|
||||||
00114-temp-disable-find-bad-constructs-external-repo.patch
|
|
||||||
|
|
||||||
bromite-build-utils.patch
|
|
||||||
Content-settings-infrastructure.patch
|
Content-settings-infrastructure.patch
|
||||||
Add-autoplay-site-setting.patch
|
Add-autoplay-site-setting.patch
|
||||||
Site-setting-for-images.patch
|
Site-setting-for-images.patch
|
||||||
@@ -269,22 +236,66 @@ Add-webGL-site-setting.patch
|
|||||||
Add-webRTC-site-settings.patch
|
Add-webRTC-site-settings.patch
|
||||||
Show-site-settings-for-cookies-javascript-and-ads.patch
|
Show-site-settings-for-cookies-javascript-and-ads.patch
|
||||||
Viewport-Protection-flag.patch
|
Viewport-Protection-flag.patch
|
||||||
Viewport-Protection-Site-Setting.patch
|
|
||||||
Timezone-customization.patch
|
Timezone-customization.patch
|
||||||
00Disable-speechSynthesis-getVoices-API.patch
|
Change-popup-site-setting.patch
|
||||||
00Remove-support-for-device-memory-and-cpu-recovery.patch
|
Disable-speechSynthesis-getVoices-API.patch
|
||||||
00Log-dangling-attributes-in-some-html-elements.patch
|
Remove-support-for-device-memory-and-cpu-recovery.patch
|
||||||
00Keep-Side-Panel-Companion-disabled.patch
|
Log-dangling-attributes-in-some-html-elements.patch
|
||||||
00Lock-Profile-Cookie-Database.patch
|
Keep-Side-Panel-Companion-disabled.patch
|
||||||
00Show-warnings-on-downloads-over-HTTP.patch
|
Lock-Profile-Cookie-Database.patch
|
||||||
00Compress-libchrome-to-free-up-some-space.patch
|
Show-warnings-on-downloads-over-HTTP.patch
|
||||||
00Cromite-Branding.patch
|
Compress-libchrome-to-free-up-some-space.patch
|
||||||
00Disable-Feeback-Collector.patch
|
Cromite-Branding.patch
|
||||||
00Disable-remote-altsvc-for-h3-connections.patch
|
Disable-Feeback-Collector.patch
|
||||||
00do-not-block-build-incompatible-profiles.patch
|
Disable-remote-altsvc-for-h3-connections.patch
|
||||||
00Allow-DocumentPiP-if-PopupsAndRedirects-are-active.patch
|
do-not-block-build-incompatible-profiles.patch
|
||||||
00allow-the-download-of-clang-for-windows-crossbuild.patch
|
Allow-DocumentPiP-if-PopupsAndRedirects-are-active.patch
|
||||||
00Temp-disable-predictive-back-gesture.patch
|
allow-the-download-of-clang-for-windows-crossbuild.patch
|
||||||
00Add-option-to-disable-snapshots.patch
|
Add-option-to-disable-snapshots.patch
|
||||||
00Disable-PartnerCustomizations.patch
|
Enable-Android-Dynamic-Performance-Framework.patch
|
||||||
00Enable-Android-Dynamic-Performance-Framework.patch
|
Remove-GoogleAccountsPrivateApiHost.patch
|
||||||
|
Fix-crash-on-customize-profile-ui.patch
|
||||||
|
Enable-ImprovedBookmarks-by-default.patch
|
||||||
|
Partition-MediaDeviceId-by-default.patch
|
||||||
|
Keep-disabled-FetchLaterAPI.patch
|
||||||
|
Disable-ranker-url-fetcher.patch
|
||||||
|
Show-full-urls-for-bookmark.patch
|
||||||
|
Disable-prefers-reduced-transparency-media-query.patch
|
||||||
|
libjxl-0-8-2.patch
|
||||||
|
Add-support-to-jxl.patch
|
||||||
|
Block-Intents-While-Locked.patch
|
||||||
|
Keep-Manta-Service-Disabled.patch
|
||||||
|
Disable-Service-and-Shared-workers-on-3P-iframe.patch
|
||||||
|
Disable-Real-Box.patch
|
||||||
|
Always-allow-inspect-fallback.patch
|
||||||
|
Add-cromite-flags-support.patch
|
||||||
|
Add-PartialLowEndModeOnMidRangeDevices-flag.patch
|
||||||
|
Use-list-mode-for-tab-switcher.patch
|
||||||
|
Chrome-web-store-protection.patch
|
||||||
|
Enable-search-engine-settings-desktop-ui.patch
|
||||||
|
Disable-Android-AppRestrictions.patch
|
||||||
|
Customize-selection-popup.patch
|
||||||
|
Enables-deactivation-of-the-js-debugger-statement.patch
|
||||||
|
Enable-gwp-asan-on-Android.patch
|
||||||
|
Disable-Read-Aloud-by-default.patch
|
||||||
|
Disable-Compose-feature.patch
|
||||||
|
Disable-offline-autofetch-flag.patch
|
||||||
|
Enable-percent-based-scrolling-on-Windows.patch
|
||||||
|
Show-NTP-at-startup.patch
|
||||||
|
Enable-platform-aac-audio-and-h264-video.patch
|
||||||
|
Disable-Paint-Preview-by-default.patch
|
||||||
|
Emoji-Fonts-fingerprinting-mitigation-02-02.patch
|
||||||
|
Emoji-Fonts-fingerprinting-mitigation-01-02.patch
|
||||||
|
|
||||||
|
Temp-PerformanceNavigationTiming-privacy-fix.patch
|
||||||
|
Temp-disable-predictive-back-gesture.patch
|
||||||
|
TEMP-Add-a-log-to-track-strange-behavior.patch
|
||||||
|
Temp-guard-FileSystemAccessPersistentPermissions.patch
|
||||||
|
Fix-chromium-build-bugs.patch
|
||||||
|
|
||||||
|
eyeo-beta-118.0.5993.48-base.patch
|
||||||
|
eyeo-beta-118.0.5993.48-chrome_integration.patch
|
||||||
|
eyeo-beta-118.0.5993.48-android_api.patch
|
||||||
|
eyeo-beta-118.0.5993.48-android_settings.patch
|
||||||
|
eyeo-beta-118.0.5993.48-extension_api.patch
|
||||||
|
Eyeo-Adblock-Remove-Privacy-Issues.patch
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
zz-patch-list.txt
|
||||||
@@ -1,58 +0,0 @@
|
|||||||
From: uazo <uazo@users.noreply.github.com>
|
|
||||||
Date: Tue, 30 May 2023 15:45:59 +0000
|
|
||||||
Subject: 114 temp disable find_bad_constructs external repo
|
|
||||||
|
|
||||||
---
|
|
||||||
build/config/android/rules.gni | 1 +
|
|
||||||
crypto/BUILD.gn | 1 +
|
|
||||||
net/BUILD.gn | 1 +
|
|
||||||
third_party/libevent/BUILD.gn | 2 ++
|
|
||||||
4 files changed, 5 insertions(+)
|
|
||||||
|
|
||||||
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
|
|
||||||
@@ -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")
|
|
||||||
+ not_needed(["_module_target_name"])
|
|
||||||
|
|
||||||
if (!_proguard_enabled) {
|
|
||||||
_dex_target = "${_module_target_name}__final_dex"
|
|
||||||
diff --git a/crypto/BUILD.gn b/crypto/BUILD.gn
|
|
||||||
--- a/crypto/BUILD.gn
|
|
||||||
+++ b/crypto/BUILD.gn
|
|
||||||
@@ -14,6 +14,7 @@ buildflag_header("buildflags") {
|
|
||||||
}
|
|
||||||
|
|
||||||
component("crypto") {
|
|
||||||
+ configs -= [ "//build/config/clang:find_bad_constructs" ]
|
|
||||||
output_name = "crcrypto" # Avoid colliding with OpenSSL's libcrypto.
|
|
||||||
sources = [
|
|
||||||
"aead.cc",
|
|
||||||
diff --git a/net/BUILD.gn b/net/BUILD.gn
|
|
||||||
--- a/net/BUILD.gn
|
|
||||||
+++ b/net/BUILD.gn
|
|
||||||
@@ -1653,6 +1653,7 @@ component("net") {
|
|
||||||
configs -= [ "//build/config/compiler:default_optimization" ]
|
|
||||||
configs += [ "//build/config/compiler:optimize_max" ]
|
|
||||||
}
|
|
||||||
+ configs -= [ "//build/config/clang:find_bad_constructs" ]
|
|
||||||
}
|
|
||||||
|
|
||||||
# net_export.h has its own build target so that code (eg
|
|
||||||
diff --git a/third_party/libevent/BUILD.gn b/third_party/libevent/BUILD.gn
|
|
||||||
--- a/third_party/libevent/BUILD.gn
|
|
||||||
+++ b/third_party/libevent/BUILD.gn
|
|
||||||
@@ -69,6 +69,8 @@ static_library("libevent") {
|
|
||||||
configs += [ "//build/config/compiler:optimize_max" ]
|
|
||||||
}
|
|
||||||
|
|
||||||
+ configs -= [ "//build/config/clang:find_bad_constructs" ]
|
|
||||||
+
|
|
||||||
configs -= [ "//build/config/compiler:chromium_code" ]
|
|
||||||
configs += [ "//build/config/compiler:no_chromium_code" ]
|
|
||||||
}
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
From: Your Name <you@example.com>
|
|
||||||
Date: Tue, 14 Feb 2023 16:29:12 +0000
|
|
||||||
Subject: Disable BackForwardCache
|
|
||||||
|
|
||||||
---
|
|
||||||
content/public/common/content_features.cc | 6 +++---
|
|
||||||
1 file changed, 3 insertions(+), 3 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
|
|
||||||
@@ -97,9 +97,9 @@ BASE_FEATURE(kBackgroundFetch,
|
|
||||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
|
|
||||||
// Enable using the BackForwardCache.
|
|
||||||
-BASE_FEATURE(kBackForwardCache,
|
|
||||||
- "BackForwardCache",
|
|
||||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
+BASE_FEATURE(kBackForwardCache, // ****
|
|
||||||
+ "BackForwardCache", // always disabled
|
|
||||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in bromite
|
|
||||||
|
|
||||||
// Enable showing a page preview during back/forward navigations.
|
|
||||||
BASE_FEATURE(kBackForwardTransitions,
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
From: Your Name <you@example.com>
|
|
||||||
Date: Tue, 14 Feb 2023 16:26:17 +0000
|
|
||||||
Subject: Disable FedCm
|
|
||||||
|
|
||||||
---
|
|
||||||
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
|
|
||||||
@@ -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.
|
|
||||||
-BASE_FEATURE(kFedCm, "FedCm", base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
+BASE_FEATURE(kFedCm, "FedCm", base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
|
|
||||||
// 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
|
|
||||||
@@ -1590,7 +1590,7 @@
|
|
||||||
{
|
|
||||||
name: "FedCm",
|
|
||||||
public: true,
|
|
||||||
- status: "stable",
|
|
||||||
+ status: "test",
|
|
||||||
base_feature: "none",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
From: uazo <uazo@users.noreply.github.com>
|
|
||||||
Date: Tue, 2 May 2023 15:26:46 +0000
|
|
||||||
Subject: Disable FirstPartySets and StorageAccessAPI
|
|
||||||
|
|
||||||
---
|
|
||||||
components/privacy_sandbox/privacy_sandbox_prefs.cc | 2 +-
|
|
||||||
content/public/common/content_features.cc | 6 +++---
|
|
||||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/components/privacy_sandbox/privacy_sandbox_prefs.cc b/components/privacy_sandbox/privacy_sandbox_prefs.cc
|
|
||||||
--- a/components/privacy_sandbox/privacy_sandbox_prefs.cc
|
|
||||||
+++ b/components/privacy_sandbox/privacy_sandbox_prefs.cc
|
|
||||||
@@ -155,7 +155,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
|
|
||||||
registry->RegisterBooleanPref(
|
|
||||||
prefs::kPrivacySandboxFirstPartySetsDataAccessAllowedInitialized, false);
|
|
||||||
registry->RegisterBooleanPref(
|
|
||||||
- prefs::kPrivacySandboxFirstPartySetsEnabled, true,
|
|
||||||
+ prefs::kPrivacySandboxFirstPartySetsEnabled, false,
|
|
||||||
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
|
|
||||||
|
|
||||||
registry->RegisterBooleanPref(prefs::kPrivacySandboxTopicsConsentGiven,
|
|
||||||
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
|
|
||||||
@@ -469,9 +469,9 @@ BASE_FEATURE(kWebIdentityMDocs,
|
|
||||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
|
|
||||||
// Enables usage of First Party Sets to determine cookie availability.
|
|
||||||
-BASE_FEATURE(kFirstPartySets,
|
|
||||||
- "FirstPartySets",
|
|
||||||
- base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
+BASE_FEATURE(kFirstPartySets, // always
|
|
||||||
+ "FirstPartySets", // disabled
|
|
||||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in bromite
|
|
||||||
|
|
||||||
// Controls whether to clear sites data on FPS transitions.
|
|
||||||
const base::FeatureParam<bool> kFirstPartySetsClearSiteDataOnChangedSets{
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
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
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
From: uazo <uazo@users.noreply.github.com>
|
|
||||||
Date: Mon, 15 May 2023 12:33:18 +0000
|
|
||||||
Subject: Disable PrivateStateTokens API
|
|
||||||
|
|
||||||
---
|
|
||||||
services/network/public/cpp/features.cc | 6 +++---
|
|
||||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
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
|
|
||||||
@@ -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,
|
|
||||||
- "PrivateStateTokens",
|
|
||||||
- base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
+ "PrivateStateTokens", // must be disabled
|
|
||||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in bromite
|
|
||||||
|
|
||||||
// Secondary flag used by the FLEDGE ads experiment in the interim before
|
|
||||||
// PSTs are fully rolled out to stable.
|
|
||||||
-BASE_FEATURE(kFledgePst, "TrustTokens", base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
+BASE_FEATURE(kFledgePst, "TrustTokens", base::FEATURE_DISABLED_BY_DEFAULT); // must be disabled
|
|
||||||
|
|
||||||
// Determines which Trust Tokens operations require the TrustTokens origin trial
|
|
||||||
// active in order to be used. This is runtime-configurable so that the Trust
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
From: uazo <uazo@users.noreply.github.com>
|
|
||||||
Date: Tue, 18 Apr 2023 14:17:19 +0000
|
|
||||||
Subject: Disable SHA1 Server Signature
|
|
||||||
|
|
||||||
---
|
|
||||||
net/base/features.cc | 4 ++--
|
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/net/base/features.cc b/net/base/features.cc
|
|
||||||
--- a/net/base/features.cc
|
|
||||||
+++ b/net/base/features.cc
|
|
||||||
@@ -79,8 +79,8 @@ BASE_FEATURE(kUseDnsHttpsSvcbAlpn,
|
|
||||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
|
|
||||||
BASE_FEATURE(kSHA1ServerSignature,
|
|
||||||
- "SHA1ServerSignature",
|
|
||||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
+ "SHA1ServerSignature", // disabled
|
|
||||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in bromite
|
|
||||||
|
|
||||||
BASE_FEATURE(kEnableTLS13EarlyData,
|
|
||||||
"EnableTLS13EarlyData",
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
From: uazo <uazo@users.noreply.github.com>
|
|
||||||
Date: Mon, 1 May 2023 12:07:49 +0000
|
|
||||||
Subject: Disable WebGPU
|
|
||||||
|
|
||||||
---
|
|
||||||
gpu/config/gpu_finch_features.cc | 2 +-
|
|
||||||
.../blink/renderer/platform/runtime_enabled_features.json5 | 2 +-
|
|
||||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
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
|
|
||||||
@@ -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)
|
|
||||||
-#define WEBGPU_ENABLED base::FEATURE_ENABLED_BY_DEFAULT
|
|
||||||
+#define WEBGPU_ENABLED base::FEATURE_DISABLED_BY_DEFAULT
|
|
||||||
#else
|
|
||||||
#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
|
|
||||||
@@ -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.
|
|
||||||
- status: "stable",
|
|
||||||
+ status: "test",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
// WebGPU developer features are deliberately not enabled by experimental
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,157 +0,0 @@
|
|||||||
From: uazo <uazo@users.noreply.github.com>
|
|
||||||
Date: Tue, 14 Mar 2023 15:59:38 +0000
|
|
||||||
Subject: Disable privacy issues in password manager
|
|
||||||
|
|
||||||
---
|
|
||||||
chrome/android/java/AndroidManifest.xml | 9 --------
|
|
||||||
.../generated_password_leak_detection_pref.cc | 3 +--
|
|
||||||
.../affiliation/affiliation_backend.cc | 1 +
|
|
||||||
.../affiliation/affiliation_service_impl.cc | 4 ++++
|
|
||||||
.../core/browser/affiliation/facet_manager.cc | 23 +++----------------
|
|
||||||
.../leak_detection_check_factory_impl.cc | 5 ++++
|
|
||||||
.../leak_detection_check_impl.cc | 4 +---
|
|
||||||
.../core/common/password_manager_features.cc | 4 ++--
|
|
||||||
8 files changed, 17 insertions(+), 36 deletions(-)
|
|
||||||
|
|
||||||
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
|
|
||||||
@@ -458,15 +458,6 @@ by a child template that "extends" this file.
|
|
||||||
</intent-filter>
|
|
||||||
</receiver>
|
|
||||||
|
|
||||||
- <!-- Phishing Protection related -->
|
|
||||||
- <receiver android:name="org.chromium.chrome.browser.safe_browsing.PasswordProtectionBroadcastReceiver"
|
|
||||||
- android:exported="true"
|
|
||||||
- android:permission="com.google.android.gms.permission.INTERNAL_BROADCAST">
|
|
||||||
- <intent-filter>
|
|
||||||
- <action android:name="com.android.chrome.safe_browsing.LOGIN" />
|
|
||||||
- </intent-filter>
|
|
||||||
- </receiver>
|
|
||||||
-
|
|
||||||
<!-- Upgrade related -->
|
|
||||||
<receiver android:name="org.chromium.chrome.browser.upgrade.PackageReplacedBroadcastReceiver"
|
|
||||||
android:exported="false">
|
|
||||||
diff --git a/chrome/browser/password_manager/generated_password_leak_detection_pref.cc b/chrome/browser/password_manager/generated_password_leak_detection_pref.cc
|
|
||||||
--- a/chrome/browser/password_manager/generated_password_leak_detection_pref.cc
|
|
||||||
+++ b/chrome/browser/password_manager/generated_password_leak_detection_pref.cc
|
|
||||||
@@ -20,8 +20,7 @@ namespace {
|
|
||||||
|
|
||||||
// Returns whether the user can use the leak detection feature.
|
|
||||||
bool IsUserAllowedToUseLeakDetection(Profile* profile) {
|
|
||||||
- return !profile->IsGuestSession() &&
|
|
||||||
- IdentityManagerFactory::GetForProfileIfExists(profile);
|
|
||||||
+ return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Returns whether the effective value of the Safe Browsing preferences for
|
|
||||||
diff --git a/components/password_manager/core/browser/affiliation/affiliation_backend.cc b/components/password_manager/core/browser/affiliation/affiliation_backend.cc
|
|
||||||
--- a/components/password_manager/core/browser/affiliation/affiliation_backend.cc
|
|
||||||
+++ b/components/password_manager/core/browser/affiliation/affiliation_backend.cc
|
|
||||||
@@ -403,6 +403,7 @@ void AffiliationBackend::OnMalformedResponse(
|
|
||||||
}
|
|
||||||
|
|
||||||
bool AffiliationBackend::OnCanSendNetworkRequest() {
|
|
||||||
+ if ((true)) return false;
|
|
||||||
DCHECK(!fetcher_);
|
|
||||||
std::vector<FacetURI> requested_facet_uris;
|
|
||||||
for (const auto& facet_manager_pair : facet_managers_) {
|
|
||||||
diff --git a/components/password_manager/core/browser/affiliation/affiliation_service_impl.cc b/components/password_manager/core/browser/affiliation/affiliation_service_impl.cc
|
|
||||||
--- a/components/password_manager/core/browser/affiliation/affiliation_service_impl.cc
|
|
||||||
+++ b/components/password_manager/core/browser/affiliation/affiliation_service_impl.cc
|
|
||||||
@@ -138,6 +138,10 @@ void AffiliationServiceImpl::Shutdown() {
|
|
||||||
void AffiliationServiceImpl::PrefetchChangePasswordURLs(
|
|
||||||
const std::vector<GURL>& urls,
|
|
||||||
base::OnceClosure callback) {
|
|
||||||
+ if ((true)) {
|
|
||||||
+ std::move(callback).Run();
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
std::vector<FacetURI> facets;
|
|
||||||
std::vector<url::SchemeHostPort> tuple_origins;
|
|
||||||
for (const auto& url : urls) {
|
|
||||||
diff --git a/components/password_manager/core/browser/affiliation/facet_manager.cc b/components/password_manager/core/browser/affiliation/facet_manager.cc
|
|
||||||
--- a/components/password_manager/core/browser/affiliation/facet_manager.cc
|
|
||||||
+++ b/components/password_manager/core/browser/affiliation/facet_manager.cc
|
|
||||||
@@ -117,25 +117,7 @@ void FacetManager::GetAffiliationsAndBranding(
|
|
||||||
RequestInfo request_info;
|
|
||||||
request_info.callback = std::move(callback);
|
|
||||||
request_info.callback_task_runner = callback_task_runner;
|
|
||||||
- if (IsCachedDataFresh()) {
|
|
||||||
- AffiliatedFacetsWithUpdateTime affiliation;
|
|
||||||
- if (!backend_->ReadAffiliationsAndBrandingFromDatabase(facet_uri_,
|
|
||||||
- &affiliation)) {
|
|
||||||
- ServeRequestWithFailure(std::move(request_info));
|
|
||||||
- return;
|
|
||||||
- }
|
|
||||||
- DCHECK_EQ(affiliation.last_update_time, last_update_time_) << facet_uri_;
|
|
||||||
- ServeRequestWithSuccess(std::move(request_info), affiliation.facets);
|
|
||||||
- } else if (cache_miss_strategy == StrategyOnCacheMiss::FETCH_OVER_NETWORK) {
|
|
||||||
- pending_requests_.push_back(std::move(request_info));
|
|
||||||
- backend_->SignalNeedNetworkRequest();
|
|
||||||
- } else if (cache_miss_strategy ==
|
|
||||||
- StrategyOnCacheMiss::TRY_ONCE_OVER_NETWORK) {
|
|
||||||
- pending_one_time_requests_.push_back(std::move(request_info));
|
|
||||||
- backend_->SignalNeedNetworkRequest();
|
|
||||||
- } else {
|
|
||||||
- ServeRequestWithFailure(std::move(request_info));
|
|
||||||
- }
|
|
||||||
+ ServeRequestWithFailure(std::move(request_info));
|
|
||||||
}
|
|
||||||
|
|
||||||
void FacetManager::Prefetch(const base::Time& keep_fresh_until) {
|
|
||||||
@@ -254,7 +236,8 @@ void FacetManager::ServeRequestWithSuccess(
|
|
||||||
const AffiliatedFacets& affiliation) {
|
|
||||||
request_info.callback_task_runner->PostTask(
|
|
||||||
FROM_HERE,
|
|
||||||
- base::BindOnce(std::move(request_info.callback), affiliation, true));
|
|
||||||
+ base::BindOnce(std::move(request_info.callback),
|
|
||||||
+ AffiliatedFacets(), false));
|
|
||||||
}
|
|
||||||
|
|
||||||
// static
|
|
||||||
diff --git a/components/password_manager/core/browser/leak_detection/leak_detection_check_factory_impl.cc b/components/password_manager/core/browser/leak_detection/leak_detection_check_factory_impl.cc
|
|
||||||
--- a/components/password_manager/core/browser/leak_detection/leak_detection_check_factory_impl.cc
|
|
||||||
+++ b/components/password_manager/core/browser/leak_detection/leak_detection_check_factory_impl.cc
|
|
||||||
@@ -46,6 +46,11 @@ LeakDetectionCheckFactoryImpl::TryCreateLeakCheck(
|
|
||||||
version_info::Channel channel) const {
|
|
||||||
CHECK(identity_manager);
|
|
||||||
|
|
||||||
+ if ((true)) {
|
|
||||||
+ delegate->OnError(LeakDetectionError::kNotSignIn);
|
|
||||||
+ return nullptr;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
return std::make_unique<LeakDetectionCheckImpl>(
|
|
||||||
delegate, identity_manager, std::move(url_loader_factory),
|
|
||||||
GetAPIKey(LeakDetectionCheckImpl::HasAccountForRequest(identity_manager),
|
|
||||||
diff --git a/components/password_manager/core/browser/leak_detection/leak_detection_check_impl.cc b/components/password_manager/core/browser/leak_detection/leak_detection_check_impl.cc
|
|
||||||
--- a/components/password_manager/core/browser/leak_detection/leak_detection_check_impl.cc
|
|
||||||
+++ b/components/password_manager/core/browser/leak_detection/leak_detection_check_impl.cc
|
|
||||||
@@ -190,9 +190,7 @@ bool LeakDetectionCheckImpl::HasAccountForRequest(
|
|
||||||
// always return something if the user is signed in.
|
|
||||||
// On Android it will be empty if the user isn't syncing. Thus,
|
|
||||||
// GetAccountsWithRefreshTokens() check is necessary.
|
|
||||||
- return identity_manager &&
|
|
||||||
- (identity_manager->HasPrimaryAccount(signin::ConsentLevel::kSignin) ||
|
|
||||||
- !identity_manager->GetAccountsWithRefreshTokens().empty());
|
|
||||||
+ return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void LeakDetectionCheckImpl::Start(LeakDetectionInitiator initiator,
|
|
||||||
diff --git a/components/password_manager/core/common/password_manager_features.cc b/components/password_manager/core/common/password_manager_features.cc
|
|
||||||
--- a/components/password_manager/core/common/password_manager_features.cc
|
|
||||||
+++ b/components/password_manager/core/common/password_manager_features.cc
|
|
||||||
@@ -87,8 +87,8 @@ BASE_FEATURE(kFillingAcrossGroupedSites,
|
|
||||||
// Enables the experiment for the password manager to only fill on account
|
|
||||||
// selection, rather than autofilling on page load, with highlighting of fields.
|
|
||||||
BASE_FEATURE(kFillOnAccountSelect,
|
|
||||||
- "fill-on-account-select",
|
|
||||||
- base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
+ "fill-on-account-select", // always enabled
|
|
||||||
+ base::FEATURE_ENABLED_BY_DEFAULT); // in bromite
|
|
||||||
|
|
||||||
// Enables logging the content of chrome://password-manager-internals to the
|
|
||||||
// terminal.
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
From: uazo <uazo@users.noreply.github.com>
|
|
||||||
Date: Sat, 3 Jun 2023 13:11:22 +0000
|
|
||||||
Subject: Disallowing MIDI permission by default
|
|
||||||
|
|
||||||
---
|
|
||||||
components/permissions/features.cc | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/components/permissions/features.cc b/components/permissions/features.cc
|
|
||||||
--- a/components/permissions/features.cc
|
|
||||||
+++ b/components/permissions/features.cc
|
|
||||||
@@ -145,7 +145,7 @@ BASE_FEATURE(kWindowManagementPermissionAlias,
|
|
||||||
// Enables disallowing MIDI permission by default.
|
|
||||||
BASE_FEATURE(kBlockMidiByDefault,
|
|
||||||
"BlockMidiByDefault",
|
|
||||||
- base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
+ base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
|
|
||||||
} // namespace features
|
|
||||||
namespace feature_params {
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
From: Your Name <you@example.com>
|
|
||||||
Date: Tue, 14 Feb 2023 16:23:08 +0000
|
|
||||||
Subject: Evict the entire FrameTree like desktop
|
|
||||||
|
|
||||||
---
|
|
||||||
components/viz/common/features.cc | 2 +-
|
|
||||||
content/public/common/content_features.cc | 4 ++--
|
|
||||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
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
|
|
||||||
@@ -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.
|
|
||||||
-BASE_FEATURE(kEvictSubtree, "EvictSubtree", base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
+BASE_FEATURE(kEvictSubtree, "EvictSubtree", base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
|
|
||||||
// If enabled, CompositorFrameSinkClient::OnBeginFrame is also treated as the
|
|
||||||
// DidReceiveCompositorFrameAck. Both in providing the Ack for the previous
|
|
||||||
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
|
|
||||||
@@ -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,
|
|
||||||
- "InnerFrameCompositorSurfaceEviction",
|
|
||||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
+ "InnerFrameCompositorSurfaceEviction", // guard this
|
|
||||||
+ base::FEATURE_ENABLED_BY_DEFAULT); // guard this
|
|
||||||
|
|
||||||
// Kill switch for the GetInstalledRelatedApps API.
|
|
||||||
BASE_FEATURE(kInstalledApp, "InstalledApp", base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,87 +0,0 @@
|
|||||||
From: uazo <uazo@users.noreply.github.com>
|
|
||||||
Date: Mon, 17 Jul 2023 15:24:16 +0000
|
|
||||||
Subject: Keep Side Panel Companion disabled
|
|
||||||
|
|
||||||
---
|
|
||||||
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
|
|
||||||
@@ -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.
|
|
||||||
-BASE_FEATURE(kCompanionEnabledByObservingExpsNavigations,
|
|
||||||
- "CompanionEnabledByObservingExpsNavigations",
|
|
||||||
- base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
+BASE_FEATURE(kCompanionEnabledByObservingExpsNavigations, // keep
|
|
||||||
+ "CompanionEnabledByObservingExpsNavigations", // disabled
|
|
||||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in bromite
|
|
||||||
} // namespace internal
|
|
||||||
|
|
||||||
// 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() {
|
|
||||||
+ if ((true)) return false;
|
|
||||||
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
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
From: uazo <uazo@users.noreply.github.com>
|
|
||||||
Date: Mon, 17 Jul 2023 15:24:54 +0000
|
|
||||||
Subject: Lock Profile Cookie Database
|
|
||||||
|
|
||||||
---
|
|
||||||
chrome/browser/browser_features.cc | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/chrome/browser/browser_features.cc b/chrome/browser/browser_features.cc
|
|
||||||
--- a/chrome/browser/browser_features.cc
|
|
||||||
+++ b/chrome/browser/browser_features.cc
|
|
||||||
@@ -201,7 +201,7 @@ BASE_FEATURE(kAppBoundEncryptionMetrics,
|
|
||||||
// TODO(crbug.com/1430226): Remove after fully launched.
|
|
||||||
BASE_FEATURE(kLockProfileCookieDatabase,
|
|
||||||
"LockProfileCookieDatabase",
|
|
||||||
- base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
+ base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Enables showing the email of the flex org admin that setup CBCM in the
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,235 +0,0 @@
|
|||||||
From: uazo <uazo@users.noreply.github.com>
|
|
||||||
Date: Mon, 9 Jan 2023 12:02:05 +0000
|
|
||||||
Subject: Partitioning all cookies by top frame domain
|
|
||||||
|
|
||||||
Enables cookie partitioning by top frame etld, respecting the
|
|
||||||
user's possible wish to disable all third-party cookies.
|
|
||||||
Disabling the flag via the ui restores the normal mode, where
|
|
||||||
samesite=none first-party cookies are sent in third-party contexts.
|
|
||||||
---
|
|
||||||
net/base/features.cc | 8 ++++----
|
|
||||||
net/cookies/canonical_cookie.cc | 12 +-----------
|
|
||||||
net/cookies/cookie_deletion_info.cc | 3 ++-
|
|
||||||
net/cookies/parsed_cookie.h | 7 ++++++-
|
|
||||||
net/extras/sqlite/sqlite_persistent_cookie_store.cc | 10 ++++++++++
|
|
||||||
services/network/cookie_settings.cc | 12 ++++++++++--
|
|
||||||
services/network/restricted_cookie_manager.cc | 3 +++
|
|
||||||
.../renderer/modules/cookie_store/cookie_init.idl | 2 +-
|
|
||||||
.../renderer/modules/cookie_store/cookie_store.cc | 12 ++++++++++++
|
|
||||||
.../cookie_store/cookie_store_delete_options.idl | 2 +-
|
|
||||||
10 files changed, 50 insertions(+), 21 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/net/base/features.cc b/net/base/features.cc
|
|
||||||
--- a/net/base/features.cc
|
|
||||||
+++ b/net/base/features.cc
|
|
||||||
@@ -252,8 +252,8 @@ BASE_FEATURE(kWaitForFirstPartySetsInit,
|
|
||||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
|
|
||||||
BASE_FEATURE(kPartitionedCookies,
|
|
||||||
- "PartitionedCookies",
|
|
||||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
+ "PartitionedCookies", // guard this
|
|
||||||
+ base::FEATURE_ENABLED_BY_DEFAULT); // guard this
|
|
||||||
|
|
||||||
BASE_FEATURE(kNoncedPartitionedCookies,
|
|
||||||
"NoncedPartitionedCookies",
|
|
||||||
@@ -268,8 +268,8 @@ BASE_FEATURE(kStaticKeyPinningEnforcement,
|
|
||||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
|
|
||||||
BASE_FEATURE(kCookieDomainRejectNonASCII,
|
|
||||||
- "CookieDomainRejectNonASCII",
|
|
||||||
- base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
+ "CookieDomainRejectNonASCII", // guard this
|
|
||||||
+ base::FEATURE_ENABLED_BY_DEFAULT); // guard this
|
|
||||||
|
|
||||||
BASE_FEATURE(kBlockSetCookieHeader,
|
|
||||||
"BlockSetCookieHeader",
|
|
||||||
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
|
|
||||||
@@ -1576,8 +1576,6 @@ bool CanonicalCookie::IsCanonicalForFromStorage() const {
|
|
||||||
if (IsPartitioned()) {
|
|
||||||
if (CookiePartitionKey::HasNonce(partition_key_))
|
|
||||||
return true;
|
|
||||||
- if (!secure_)
|
|
||||||
- return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
@@ -1851,15 +1849,7 @@ bool CanonicalCookie::IsCookiePartitionedValid(const GURL& url,
|
|
||||||
bool secure,
|
|
||||||
bool is_partitioned,
|
|
||||||
bool partition_has_nonce) {
|
|
||||||
- if (!is_partitioned)
|
|
||||||
- return true;
|
|
||||||
- if (partition_has_nonce)
|
|
||||||
- return true;
|
|
||||||
- CookieAccessScheme scheme = cookie_util::ProvisionalAccessScheme(url);
|
|
||||||
- bool result = (scheme != CookieAccessScheme::kNonCryptographic) && secure;
|
|
||||||
- DLOG_IF(WARNING, !result)
|
|
||||||
- << "CanonicalCookie has invalid Partitioned attribute";
|
|
||||||
- return result;
|
|
||||||
+ return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
CookieAndLineWithAccessResult::CookieAndLineWithAccessResult() = default;
|
|
||||||
diff --git a/net/cookies/cookie_deletion_info.cc b/net/cookies/cookie_deletion_info.cc
|
|
||||||
--- a/net/cookies/cookie_deletion_info.cc
|
|
||||||
+++ b/net/cookies/cookie_deletion_info.cc
|
|
||||||
@@ -131,7 +131,8 @@ bool CookieDeletionInfo::Matches(const CanonicalCookie& cookie,
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (cookie.IsPartitioned() &&
|
|
||||||
+ // opened bug https://bugs.chromium.org/p/chromium/issues/detail?id=1405772
|
|
||||||
+ if (cookie.IsPartitioned() && !cookie_partition_key_collection.IsEmpty() &&
|
|
||||||
!cookie_partition_key_collection.Contains(*cookie.PartitionKey())) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
diff --git a/net/cookies/parsed_cookie.h b/net/cookies/parsed_cookie.h
|
|
||||||
--- a/net/cookies/parsed_cookie.h
|
|
||||||
+++ b/net/cookies/parsed_cookie.h
|
|
||||||
@@ -11,6 +11,7 @@
|
|
||||||
#include <utility>
|
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
+#include "net/base/features.h"
|
|
||||||
#include "net/base/net_export.h"
|
|
||||||
#include "net/cookies/cookie_constants.h"
|
|
||||||
|
|
||||||
@@ -83,7 +84,11 @@ class NET_EXPORT ParsedCookie {
|
|
||||||
CookieSameSiteString* samesite_string = nullptr) const;
|
|
||||||
CookiePriority Priority() const;
|
|
||||||
bool IsSameParty() const { return same_party_index_ != 0; }
|
|
||||||
- bool IsPartitioned() const { return partitioned_index_ != 0; }
|
|
||||||
+ bool IsPartitioned() const {
|
|
||||||
+ if (base::FeatureList::IsEnabled(net::features::kPartitionedCookies))
|
|
||||||
+ return true;
|
|
||||||
+ return partitioned_index_ != 0;
|
|
||||||
+ }
|
|
||||||
bool HasInternalHtab() const { return internal_htab_; }
|
|
||||||
TruncatingCharacterInCookieStringType
|
|
||||||
GetTruncatingCharacterInCookieStringType() const {
|
|
||||||
diff --git a/net/extras/sqlite/sqlite_persistent_cookie_store.cc b/net/extras/sqlite/sqlite_persistent_cookie_store.cc
|
|
||||||
--- a/net/extras/sqlite/sqlite_persistent_cookie_store.cc
|
|
||||||
+++ b/net/extras/sqlite/sqlite_persistent_cookie_store.cc
|
|
||||||
@@ -864,6 +864,16 @@ bool SQLitePersistentCookieStore::Backend::DoInitializeDatabase() {
|
|
||||||
if (!restore_old_session_cookies_)
|
|
||||||
DeleteSessionCookiesOnStartup();
|
|
||||||
|
|
||||||
+ // Since there is no automatic transition to partitioned cookies
|
|
||||||
+ // (the information would be missing), we clean the current ones
|
|
||||||
+ // present because they would otherwise be sent in third-party contexts
|
|
||||||
+ // even if the flag is active.
|
|
||||||
+ if (base::FeatureList::IsEnabled(features::kPartitionedCookies)) {
|
|
||||||
+ if (!db()->Execute("DELETE FROM cookies WHERE top_frame_site_key = ''")) {
|
|
||||||
+ LOG(WARNING) << "Unable to delete unpartitioned cookies.";
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/services/network/cookie_settings.cc b/services/network/cookie_settings.cc
|
|
||||||
--- a/services/network/cookie_settings.cc
|
|
||||||
+++ b/services/network/cookie_settings.cc
|
|
||||||
@@ -35,6 +35,11 @@ bool IsExplicitSetting(const ContentSettingPatternSource& setting) {
|
|
||||||
!setting.secondary_pattern.MatchesAllHosts();
|
|
||||||
}
|
|
||||||
|
|
||||||
+bool IsThirdPartyAllowed(const ContentSettingPatternSource& setting) {
|
|
||||||
+ return setting.primary_pattern.MatchesAllHosts() &&
|
|
||||||
+ !setting.secondary_pattern.MatchesAllHosts();
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
const ContentSettingPatternSource* FindMatchingSetting(
|
|
||||||
const GURL& primary_url,
|
|
||||||
const GURL& secondary_url,
|
|
||||||
@@ -193,11 +198,14 @@ net::NetworkDelegate::PrivacySetting CookieSettings::IsPrivacyModeEnabled(
|
|
||||||
|
|
||||||
CookieSettings::ThirdPartyBlockingScope
|
|
||||||
CookieSettings::GetThirdPartyBlockingScope(const GURL& first_party_url) const {
|
|
||||||
- // If cookies are allowed for the first-party URL then we allow
|
|
||||||
+ // If cookies are allowed for the thirdy-party URL then we allow
|
|
||||||
// partitioned cross-site cookies.
|
|
||||||
+ // partitioned are the default for all cookies, so we allow all cookies
|
|
||||||
+ // if the user want so.
|
|
||||||
if (const ContentSettingPatternSource* match = FindMatchingSetting(
|
|
||||||
first_party_url, first_party_url, content_settings_);
|
|
||||||
- !match || match->GetContentSetting() == CONTENT_SETTING_ALLOW) {
|
|
||||||
+ match && IsThirdPartyAllowed(*match) &&
|
|
||||||
+ match->GetContentSetting() == CONTENT_SETTING_ALLOW) {
|
|
||||||
return ThirdPartyBlockingScope::kUnpartitionedOnly;
|
|
||||||
}
|
|
||||||
return ThirdPartyBlockingScope::kUnpartitionedAndPartitioned;
|
|
||||||
diff --git a/services/network/restricted_cookie_manager.cc b/services/network/restricted_cookie_manager.cc
|
|
||||||
--- a/services/network/restricted_cookie_manager.cc
|
|
||||||
+++ b/services/network/restricted_cookie_manager.cc
|
|
||||||
@@ -773,6 +773,9 @@ void RestrictedCookieManager::SetCookieFromString(
|
|
||||||
std::move(callback).Run(site_for_cookies_ok, top_frame_origin_ok);
|
|
||||||
callback = base::DoNothing();
|
|
||||||
|
|
||||||
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=911299
|
|
||||||
+ if (!site_for_cookies_ok || !top_frame_origin_ok) return;
|
|
||||||
+
|
|
||||||
net::CookieInclusionStatus status;
|
|
||||||
std::unique_ptr<net::CanonicalCookie> parsed_cookie =
|
|
||||||
net::CanonicalCookie::Create(url, cookie, base::Time::Now(),
|
|
||||||
diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_init.idl b/third_party/blink/renderer/modules/cookie_store/cookie_init.idl
|
|
||||||
--- a/third_party/blink/renderer/modules/cookie_store/cookie_init.idl
|
|
||||||
+++ b/third_party/blink/renderer/modules/cookie_store/cookie_init.idl
|
|
||||||
@@ -17,5 +17,5 @@ dictionary CookieInit {
|
|
||||||
USVString path = "/";
|
|
||||||
DOMHighResTimeStamp? expires = null;
|
|
||||||
CookieSameSite sameSite = "strict";
|
|
||||||
- [RuntimeEnabled=PartitionedCookies] boolean partitioned = false;
|
|
||||||
+ [RuntimeEnabled=PartitionedCookies] boolean partitioned = true;
|
|
||||||
};
|
|
||||||
diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_store.cc b/third_party/blink/renderer/modules/cookie_store/cookie_store.cc
|
|
||||||
--- a/third_party/blink/renderer/modules/cookie_store/cookie_store.cc
|
|
||||||
+++ b/third_party/blink/renderer/modules/cookie_store/cookie_store.cc
|
|
||||||
@@ -321,6 +321,10 @@ ScriptPromise CookieStore::set(ScriptState* script_state,
|
|
||||||
CookieInit* set_options = CookieInit::Create();
|
|
||||||
set_options->setName(name);
|
|
||||||
set_options->setValue(value);
|
|
||||||
+ if (RuntimeEnabledFeatures::PartitionedCookiesEnabled(
|
|
||||||
+ CurrentExecutionContext(script_state->GetIsolate()))) {
|
|
||||||
+ set_options->setPartitioned(true);
|
|
||||||
+ }
|
|
||||||
return set(script_state, set_options, exception_state);
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -343,6 +347,10 @@ ScriptPromise CookieStore::Delete(ScriptState* script_state,
|
|
||||||
set_options->setName(name);
|
|
||||||
set_options->setValue("deleted");
|
|
||||||
set_options->setExpires(0);
|
|
||||||
+ if (RuntimeEnabledFeatures::PartitionedCookiesEnabled(
|
|
||||||
+ CurrentExecutionContext(script_state->GetIsolate()))) {
|
|
||||||
+ set_options->setPartitioned(true);
|
|
||||||
+ }
|
|
||||||
return DoWrite(script_state, set_options, exception_state);
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -357,6 +365,10 @@ ScriptPromise CookieStore::Delete(ScriptState* script_state,
|
|
||||||
set_options->setPath(options->path());
|
|
||||||
set_options->setSameSite("strict");
|
|
||||||
set_options->setPartitioned(options->partitioned());
|
|
||||||
+ if (RuntimeEnabledFeatures::PartitionedCookiesEnabled(
|
|
||||||
+ CurrentExecutionContext(script_state->GetIsolate()))) {
|
|
||||||
+ set_options->setPartitioned(true);
|
|
||||||
+ }
|
|
||||||
return DoWrite(script_state, set_options, exception_state);
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_store_delete_options.idl b/third_party/blink/renderer/modules/cookie_store/cookie_store_delete_options.idl
|
|
||||||
--- a/third_party/blink/renderer/modules/cookie_store/cookie_store_delete_options.idl
|
|
||||||
+++ b/third_party/blink/renderer/modules/cookie_store/cookie_store_delete_options.idl
|
|
||||||
@@ -8,5 +8,5 @@ dictionary CookieStoreDeleteOptions {
|
|
||||||
required USVString name;
|
|
||||||
USVString? domain = null;
|
|
||||||
USVString path = "/";
|
|
||||||
- [RuntimeEnabled=PartitionedCookies] boolean partitioned = false;
|
|
||||||
+ [RuntimeEnabled=PartitionedCookies] boolean partitioned = true;
|
|
||||||
};
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
From: uazo <uazo@users.noreply.github.com>
|
|
||||||
Date: Wed, 19 Apr 2023 06:53:19 +0000
|
|
||||||
Subject: Remove auth header upon cross origin redirect
|
|
||||||
|
|
||||||
---
|
|
||||||
.../blink/renderer/platform/loader/fetch/resource_loader.cc | 3 +++
|
|
||||||
.../platform/loader/fetch/url_loader/sync_load_context.cc | 3 +++
|
|
||||||
2 files changed, 6 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc b/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc
|
|
||||||
--- a/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc
|
|
||||||
+++ b/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc
|
|
||||||
@@ -837,6 +837,9 @@ bool ResourceLoader::WillFollowRedirect(
|
|
||||||
new_url)) {
|
|
||||||
fetcher_->GetUseCounter().CountUse(
|
|
||||||
mojom::WebFeature::kAuthorizationCrossOrigin);
|
|
||||||
+ if (removed_headers) {
|
|
||||||
+ removed_headers->push_back(net::HttpRequestHeaders::kAuthorization);
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
if (removed_headers) {
|
|
||||||
diff --git a/third_party/blink/renderer/platform/loader/fetch/url_loader/sync_load_context.cc b/third_party/blink/renderer/platform/loader/fetch/url_loader/sync_load_context.cc
|
|
||||||
--- a/third_party/blink/renderer/platform/loader/fetch/url_loader/sync_load_context.cc
|
|
||||||
+++ b/third_party/blink/renderer/platform/loader/fetch/url_loader/sync_load_context.cc
|
|
||||||
@@ -172,6 +172,9 @@ bool SyncLoadContext::OnReceivedRedirect(
|
|
||||||
if (has_authorization_header_ &&
|
|
||||||
!url::IsSameOriginWith(response_->url, redirect_info.new_url)) {
|
|
||||||
response_->has_authorization_header_between_cross_origin_redirect_ = true;
|
|
||||||
+ if (removed_headers) {
|
|
||||||
+ removed_headers->push_back(net::HttpRequestHeaders::kAuthorization);
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
if (removed_headers) {
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
From: uazo <uazo@users.noreply.github.com>
|
|
||||||
Date: Mon, 17 Apr 2023 12:43:19 +0000
|
|
||||||
Subject: Remove detection of captive portals
|
|
||||||
|
|
||||||
---
|
|
||||||
chrome/browser/net/profile_network_context_service.cc | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/chrome/browser/net/profile_network_context_service.cc b/chrome/browser/net/profile_network_context_service.cc
|
|
||||||
--- a/chrome/browser/net/profile_network_context_service.cc
|
|
||||||
+++ b/chrome/browser/net/profile_network_context_service.cc
|
|
||||||
@@ -389,7 +389,7 @@ void ProfileNetworkContextService::UpdateAdditionalCertificates() {
|
|
||||||
void ProfileNetworkContextService::RegisterProfilePrefs(
|
|
||||||
user_prefs::PrefRegistrySyncable* registry) {
|
|
||||||
registry->RegisterBooleanPref(
|
|
||||||
- embedder_support::kAlternateErrorPagesEnabled, true,
|
|
||||||
+ embedder_support::kAlternateErrorPagesEnabled, false,
|
|
||||||
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
|
|
||||||
registry->RegisterBooleanPref(prefs::kQuicAllowed, true);
|
|
||||||
registry->RegisterBooleanPref(prefs::kGloballyScopeHTTPAuthCacheEnabled,
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
From: Your Name <you@example.com>
|
|
||||||
Date: Mon, 30 Jan 2023 15:20:53 +0000
|
|
||||||
Subject: Remove experimental-relative-c++-abi-vtables
|
|
||||||
|
|
||||||
---
|
|
||||||
build/config/compiler/BUILD.gn | 5 -----
|
|
||||||
1 file changed, 5 deletions(-)
|
|
||||||
|
|
||||||
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
|
|
||||||
@@ -682,11 +682,6 @@ config("compiler") {
|
|
||||||
cflags_cc += [ "-Wno-trigraphs" ]
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (use_relative_vtables_abi) {
|
|
||||||
- cflags_cc += [ "-fexperimental-relative-c++-abi-vtables" ]
|
|
||||||
- ldflags += [ "-fexperimental-relative-c++-abi-vtables" ]
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
# Add flags for link-time optimization. These flags enable
|
|
||||||
# optimizations/transformations that require whole-program visibility at link
|
|
||||||
# time, so they need to be applied to all translation units, and we may end up
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
From: uazo <uazo@users.noreply.github.com>
|
|
||||||
Date: Thu, 20 Apr 2023 15:03:56 +0000
|
|
||||||
Subject: Remove https connection from chrome://discards
|
|
||||||
|
|
||||||
---
|
|
||||||
chrome/browser/resources/discards/graph_doc_template.html | 4 ----
|
|
||||||
1 file changed, 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/chrome/browser/resources/discards/graph_doc_template.html b/chrome/browser/resources/discards/graph_doc_template.html
|
|
||||||
--- a/chrome/browser/resources/discards/graph_doc_template.html
|
|
||||||
+++ b/chrome/browser/resources/discards/graph_doc_template.html
|
|
||||||
@@ -82,10 +82,6 @@ URL. As result, this document needs to be self-contained, hence inline scripts.
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
- <script src="https://ajax.googleapis.com/ajax/libs/d3js/5.7.0/d3.min.js"
|
|
||||||
- integrity="sha384-HL96dun1KbYEq6UT/ZlsspAODCyQ+Zp4z318ajUPBPSMzy5dvxl6ziwmnil8/Cpd"
|
|
||||||
- crossorigin="anonymous">
|
|
||||||
- </script>
|
|
||||||
<script type="application/javascript">
|
|
||||||
${javascript_file}
|
|
||||||
</script>
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
From: uazo <uazo@users.noreply.github.com>
|
|
||||||
Date: Mon, 17 Jul 2023 15:26:11 +0000
|
|
||||||
Subject: Show warnings on downloads over HTTP
|
|
||||||
|
|
||||||
---
|
|
||||||
chrome/common/chrome_features.cc | 6 +++---
|
|
||||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
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
|
|
||||||
@@ -1129,9 +1129,9 @@ BASE_FEATURE(kTreatUnsafeDownloadsAsActive,
|
|
||||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
|
|
||||||
// Show warnings on downloads not delivered over HTTPS.
|
|
||||||
-BASE_FEATURE(kInsecureDownloadWarnings,
|
|
||||||
- "InsecureDownloadWarnings",
|
|
||||||
- base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
+BASE_FEATURE(kInsecureDownloadWarnings, // enabled by
|
|
||||||
+ "InsecureDownloadWarnings", // default
|
|
||||||
+ base::FEATURE_ENABLED_BY_DEFAULT); // in bromite
|
|
||||||
|
|
||||||
// TrustSafetySentimentSurvey
|
|
||||||
#if !BUILDFLAG(IS_ANDROID)
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
From: Your Name <you@example.com>
|
|
||||||
Date: Tue, 20 Dec 2022 15:09:46 +0000
|
|
||||||
Subject: Temp Disable kAutomaticLazyFrameLoadingToEmbeds
|
|
||||||
|
|
||||||
---
|
|
||||||
third_party/blink/common/features.cc | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
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
|
|
||||||
@@ -160,7 +160,7 @@ const base::FeatureParam<int> kSkipFrameCountForLazyAds(
|
|
||||||
// Vitals.
|
|
||||||
BASE_FEATURE(kAutomaticLazyFrameLoadingToEmbeds,
|
|
||||||
"AutomaticLazyFrameLoadingToEmbeds", // must be enabled
|
|
||||||
- base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
|
|
||||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
|
||||||
|
|
||||||
// The timeout value that forces loading iframes that are lazy loaded by
|
|
||||||
// LazyEmbeds. After this timeout, the frame loading is triggered even when the
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
From: Your Name <you@example.com>
|
|
||||||
Date: Wed, 12 Oct 2022 11:36:56 +0000
|
|
||||||
Subject: WIN ADDTO AImageReader CFI crash mitigations
|
|
||||||
|
|
||||||
---
|
|
||||||
gpu/ipc/service/gpu_init.cc | 2 ++
|
|
||||||
1 file changed, 2 insertions(+)
|
|
||||||
|
|
||||||
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
|
|
||||||
@@ -616,10 +616,12 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
|
|
||||||
}
|
|
||||||
#endif // BUILDFLAG(IS_WIN)
|
|
||||||
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
// Disable AImageReader if the workaround is enabled.
|
|
||||||
if (gpu_feature_info_.IsWorkaroundEnabled(DISABLE_AIMAGEREADER)) {
|
|
||||||
base::android::AndroidImageReader::DisableSupport();
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
if (gpu_feature_info_.status_values[GPU_FEATURE_TYPE_VULKAN] !=
|
|
||||||
kGpuFeatureStatusEnabled ||
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
From: Your Name <you@example.com>
|
|
||||||
Date: Mon, 19 Dec 2022 11:23:10 +0000
|
|
||||||
Subject: WIN ADDTO Add AllowUserCertificates flag
|
|
||||||
|
|
||||||
---
|
|
||||||
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
|
|
||||||
@@ -9235,10 +9235,12 @@ const FeatureEntry kFeatureEntries[] = {
|
|
||||||
flag_descriptions::kHttpsUpgradesDescription, kOsDesktop | kOsAndroid,
|
|
||||||
FEATURE_VALUE_TYPE(features::kHttpsUpgrades)},
|
|
||||||
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
{"allow-user-certificates",
|
|
||||||
flag_descriptions::kAllowUserCertificatesName,
|
|
||||||
flag_descriptions::kAllowUserCertificatesDescription, kOsAndroid,
|
|
||||||
FEATURE_VALUE_TYPE(chrome::android::kAllowUserCertificates)},
|
|
||||||
+#endif
|
|
||||||
{"omnibox-updated-connection-security-indicators",
|
|
||||||
flag_descriptions::kOmniboxUpdatedConnectionSecurityIndicatorsName,
|
|
||||||
flag_descriptions::kOmniboxUpdatedConnectionSecurityIndicatorsDescription,
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
From: Your Name <you@example.com>
|
|
||||||
Date: Wed, 12 Oct 2022 10:59:27 +0000
|
|
||||||
Subject: WIN ADDTO Add a proxy configuration page
|
|
||||||
|
|
||||||
---
|
|
||||||
chrome/browser/browser_resources.grd | 6 ++----
|
|
||||||
chrome/browser/extensions/api/proxy/proxy_api_helpers.cc | 2 +-
|
|
||||||
2 files changed, 3 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
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
|
|
||||||
@@ -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 -->
|
|
||||||
- <if expr="is_android">
|
|
||||||
- <include name="IDR_PROXY_CONFIG_HTML" file="resources\proxy_config.html" flattenhtml="true" type="BINDATA" compress="gzip" />
|
|
||||||
- <include name="IDR_PROXY_CONFIG_JS" file="resources\proxy_config.js" type="BINDATA" compress="gzip" />
|
|
||||||
- </if>
|
|
||||||
+ <include name="IDR_PROXY_CONFIG_HTML" file="resources\proxy_config.html" flattenhtml="true" type="BINDATA" compress="gzip" />
|
|
||||||
+ <include name="IDR_PROXY_CONFIG_JS" file="resources\proxy_config.js" type="BINDATA" compress="gzip" />
|
|
||||||
<if expr="not is_android">
|
|
||||||
<include name="IDR_ABOUT_SYS_HTML" file="resources\about_sys\about_sys.html" type="BINDATA" />
|
|
||||||
<include name="IDR_ABOUT_SYS_CSS" file="resources\about_sys\about_sys.css" type="BINDATA" />
|
|
||||||
diff --git a/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc b/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc
|
|
||||||
--- a/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc
|
|
||||||
+++ b/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc
|
|
||||||
@@ -388,7 +388,7 @@ absl::optional<base::Value::Dict> CreateProxyConfigDict(
|
|
||||||
return absl::nullopt;
|
|
||||||
}
|
|
||||||
return ProxyConfigDictionary::CreateFixedServers(proxy_rules_string,
|
|
||||||
- bypass_list);
|
|
||||||
+ bypass_list, /*reverse_bypass*/false);
|
|
||||||
}
|
|
||||||
case ProxyPrefs::MODE_SYSTEM:
|
|
||||||
return ProxyConfigDictionary::CreateSystem();
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,96 +0,0 @@
|
|||||||
From: Your Name <you@example.com>
|
|
||||||
Date: Wed, 12 Oct 2022 11:30:34 +0000
|
|
||||||
Subject: WIN ADDTO Add bookmark import/export actions
|
|
||||||
|
|
||||||
---
|
|
||||||
chrome/browser/about_flags.cc | 2 ++
|
|
||||||
chrome/browser/bookmarks/bookmark_html_writer.cc | 7 ++++++-
|
|
||||||
.../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
|
|
||||||
@@ -9462,11 +9462,13 @@ const FeatureEntry kFeatureEntries[] = {
|
|
||||||
FEATURE_VALUE_TYPE(net::features::kIsCleartextPermitted)},
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
{"export-bookmarks-use-saf",
|
|
||||||
flag_descriptions::kBookmarksExportUseSafName,
|
|
||||||
flag_descriptions::kBookmarksExportUseSafDescription, kOsAndroid,
|
|
||||||
FEATURE_VALUE_TYPE(
|
|
||||||
chrome::android::kBookmarksExportUseSaf)},
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
|
||||||
{"video-conference", flag_descriptions::kVideoConferenceName,
|
|
||||||
diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/bookmarks/bookmark_html_writer.cc
|
|
||||||
--- a/chrome/browser/bookmarks/bookmark_html_writer.cc
|
|
||||||
+++ b/chrome/browser/bookmarks/bookmark_html_writer.cc
|
|
||||||
@@ -27,7 +27,9 @@
|
|
||||||
#include "base/task/thread_pool.h"
|
|
||||||
#include "base/time/time.h"
|
|
||||||
#include "base/values.h"
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
#include "base/android/content_uri_utils.h"
|
|
||||||
+#endif
|
|
||||||
#include "chrome/browser/bookmarks/bookmark_model_factory.h"
|
|
||||||
#include "chrome/browser/favicon/favicon_service_factory.h"
|
|
||||||
#include "chrome/browser/profiles/profile.h"
|
|
||||||
@@ -234,12 +236,15 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
|
|
||||||
// Opens the file, returning true on success.
|
|
||||||
bool OpenFile() {
|
|
||||||
int flags = base::File::FLAG_CREATE_ALWAYS | base::File::FLAG_WRITE;
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
if (path_.IsContentUri()) {
|
|
||||||
file_ = std::make_unique<base::File>(base::OpenContentUriForWrite(path_));
|
|
||||||
} else {
|
|
||||||
file_ = std::make_unique<base::File>(path_, flags);
|
|
||||||
}
|
|
||||||
-
|
|
||||||
+#else
|
|
||||||
+ file_ = std::make_unique<base::File>(path_, flags);
|
|
||||||
+#endif
|
|
||||||
if (!file_->IsValid()) {
|
|
||||||
PLOG(ERROR) << "Could not create " << path_;
|
|
||||||
return false;
|
|
||||||
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; }
|
|
||||||
|
|
||||||
+ void ShowToast(const std::string& message) override {
|
|
||||||
+ // nothing to do, used only on android
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
SelectFileDialogCallback callback_;
|
|
||||||
};
|
|
||||||
|
|
||||||
diff --git a/ui/shell_dialogs/select_file_dialog_win.cc b/ui/shell_dialogs/select_file_dialog_win.cc
|
|
||||||
--- a/ui/shell_dialogs/select_file_dialog_win.cc
|
|
||||||
+++ b/ui/shell_dialogs/select_file_dialog_win.cc
|
|
||||||
@@ -193,6 +193,7 @@ class SelectFileDialogImpl : public ui::SelectFileDialog,
|
|
||||||
int index);
|
|
||||||
|
|
||||||
bool HasMultipleFileTypeChoicesImpl() override;
|
|
||||||
+ void ShowToast(const std::string& message) override;
|
|
||||||
|
|
||||||
// Returns the filter to be used while displaying the open/save file dialog.
|
|
||||||
// This is computed from the extensions for the file types being opened.
|
|
||||||
@@ -271,6 +272,10 @@ bool SelectFileDialogImpl::HasMultipleFileTypeChoicesImpl() {
|
|
||||||
return has_multiple_file_type_choices_;
|
|
||||||
}
|
|
||||||
|
|
||||||
+void SelectFileDialogImpl::ShowToast(const std::string& message) {
|
|
||||||
+ // nothing to do, used only on android
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
bool SelectFileDialogImpl::IsRunning(gfx::NativeWindow owning_window) const {
|
|
||||||
if (!owning_window->GetRootWindow())
|
|
||||||
return false;
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
From: Your Name <you@example.com>
|
|
||||||
Date: Wed, 12 Oct 2022 12:02:16 +0000
|
|
||||||
Subject: WIN ADDTO Disable requests for single-word Omni
|
|
||||||
|
|
||||||
---
|
|
||||||
chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.cc | 2 ++
|
|
||||||
1 file changed, 2 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.cc b/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.cc
|
|
||||||
--- a/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.cc
|
|
||||||
+++ b/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.cc
|
|
||||||
@@ -76,6 +76,7 @@ bool OnlyChangeIsFromHTTPToHTTPS(const GURL& origin, const GURL& destination) {
|
|
||||||
return origin_with_https == destination;
|
|
||||||
}
|
|
||||||
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
// Choose the appropriate URLLoaderFactory: either an explicitly specified or a
|
|
||||||
// default for the given profile.
|
|
||||||
network::mojom::URLLoaderFactory* GetURLLoaderFactory(
|
|
||||||
@@ -87,6 +88,7 @@ network::mojom::URLLoaderFactory* GetURLLoaderFactory(
|
|
||||||
->GetURLLoaderFactoryForBrowserProcess()
|
|
||||||
.get();
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
// Helper to keep ChromeOmniboxNavigationObserver alive while the initiated
|
|
||||||
// navigation is pending.
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
From: Your Name <you@example.com>
|
|
||||||
Date: Wed, 12 Oct 2022 11:53:36 +0000
|
|
||||||
Subject: WIN ADDTO Disable various metrics
|
|
||||||
|
|
||||||
---
|
|
||||||
chrome/browser/ui/search/ntp_user_data_logger.cc | 4 ----
|
|
||||||
components/ntp_tiles/custom_links_manager_impl.cc | 1 -
|
|
||||||
2 files changed, 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/chrome/browser/ui/search/ntp_user_data_logger.cc b/chrome/browser/ui/search/ntp_user_data_logger.cc
|
|
||||||
--- a/chrome/browser/ui/search/ntp_user_data_logger.cc
|
|
||||||
+++ b/chrome/browser/ui/search/ntp_user_data_logger.cc
|
|
||||||
@@ -394,8 +394,6 @@ void NTPUserDataLogger::LogMostVisitedImpression(
|
|
||||||
|
|
||||||
void NTPUserDataLogger::LogMostVisitedNavigation(
|
|
||||||
const ntp_tiles::NTPTileImpression& impression) {
|
|
||||||
- ntp_tiles::metrics::RecordTileClick(impression);
|
|
||||||
-
|
|
||||||
// Records the action. This will be available as a time-stamped stream
|
|
||||||
// server-side and can be used to compute time-to-long-dwell.
|
|
||||||
base::RecordAction(base::UserMetricsAction("MostVisited_Clicked"));
|
|
||||||
@@ -424,10 +422,8 @@ void NTPUserDataLogger::EmitNtpStatistics(base::TimeDelta load_time,
|
|
||||||
if (!impression.has_value()) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
- ntp_tiles::metrics::RecordTileImpression(*impression);
|
|
||||||
++tiles_count;
|
|
||||||
}
|
|
||||||
- ntp_tiles::metrics::RecordPageImpression(tiles_count);
|
|
||||||
|
|
||||||
DVLOG(1) << "Emitting NTP load time: " << load_time << ", "
|
|
||||||
<< "number of tiles: " << tiles_count;
|
|
||||||
diff --git a/components/ntp_tiles/custom_links_manager_impl.cc b/components/ntp_tiles/custom_links_manager_impl.cc
|
|
||||||
--- a/components/ntp_tiles/custom_links_manager_impl.cc
|
|
||||||
+++ b/components/ntp_tiles/custom_links_manager_impl.cc
|
|
||||||
@@ -203,7 +203,6 @@ void CustomLinksManagerImpl::RemoveCustomLinksForPreinstalledApps() {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (default_app_links_deleted) {
|
|
||||||
- metrics::RecordsMigratedDefaultAppDeleted(DeletedTileType::kCustomLink);
|
|
||||||
prefs_->SetBoolean(prefs::kCustomLinksForPreinstalledAppsRemoved, true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
From: Your Name <you@example.com>
|
|
||||||
Date: Wed, 12 Oct 2022 11:58:29 +0000
|
|
||||||
Subject: WIN ADDTO Do not build API keys infobar
|
|
||||||
|
|
||||||
---
|
|
||||||
chrome/browser/ui/startup/infobar_utils.cc | 3 ---
|
|
||||||
1 file changed, 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/chrome/browser/ui/startup/infobar_utils.cc b/chrome/browser/ui/startup/infobar_utils.cc
|
|
||||||
--- a/chrome/browser/ui/startup/infobar_utils.cc
|
|
||||||
+++ b/chrome/browser/ui/startup/infobar_utils.cc
|
|
||||||
@@ -133,9 +133,6 @@ void AddInfoBarsIfNecessary(Browser* browser,
|
|
||||||
infobars::ContentInfoBarManager* infobar_manager =
|
|
||||||
infobars::ContentInfoBarManager::FromWebContents(web_contents);
|
|
||||||
|
|
||||||
- if (!google_apis::HasAPIKeyConfigured())
|
|
||||||
- GoogleApiKeysInfoBarDelegate::Create(infobar_manager);
|
|
||||||
-
|
|
||||||
if (ObsoleteSystem::IsObsoleteNowOrSoon()) {
|
|
||||||
PrefService* local_state = g_browser_process->local_state();
|
|
||||||
if (!local_state ||
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,337 +0,0 @@
|
|||||||
From: Your Name <you@example.com>
|
|
||||||
Date: Wed, 12 Oct 2022 09:19:46 +0000
|
|
||||||
Subject: WIN ADDTO Experimental user scripts support
|
|
||||||
|
|
||||||
---
|
|
||||||
chrome/browser/BUILD.gn | 12 +++++++-----
|
|
||||||
chrome/browser/about_flags.cc | 2 ++
|
|
||||||
chrome/browser/prefs/browser_prefs.cc | 2 ++
|
|
||||||
chrome/browser/profiles/BUILD.gn | 4 +++-
|
|
||||||
...chrome_browser_main_extra_parts_profiles.cc | 4 ++++
|
|
||||||
chrome/browser/profiles/profile_manager.cc | 4 ++++
|
|
||||||
chrome/browser/profiles/renderer_updater.cc | 11 ++++++++++-
|
|
||||||
chrome/browser/profiles/renderer_updater.h | 2 ++
|
|
||||||
.../webui/chrome_web_ui_controller_factory.cc | 2 ++
|
|
||||||
chrome/renderer/BUILD.gn | 7 ++++++-
|
|
||||||
.../renderer/chrome_content_renderer_client.cc | 18 ++++++++++++++++++
|
|
||||||
.../renderer/chrome_render_thread_observer.cc | 2 ++
|
|
||||||
12 files changed, 62 insertions(+), 8 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
|
||||||
--- a/chrome/browser/BUILD.gn
|
|
||||||
+++ b/chrome/browser/BUILD.gn
|
|
||||||
@@ -3517,11 +3517,13 @@ static_library("browser") {
|
|
||||||
]
|
|
||||||
deps += [ "//chrome/android/modules/dev_ui/provider:native" ]
|
|
||||||
}
|
|
||||||
- deps += [
|
|
||||||
- "//components/user_scripts/common",
|
|
||||||
- "//components/user_scripts/browser",
|
|
||||||
- "//components/user_scripts/android",
|
|
||||||
- ]
|
|
||||||
+ if (is_android) {
|
|
||||||
+ deps += [
|
|
||||||
+ "//components/user_scripts/common",
|
|
||||||
+ "//components/user_scripts/browser",
|
|
||||||
+ "//components/user_scripts/android",
|
|
||||||
+ ]
|
|
||||||
+ }
|
|
||||||
} else {
|
|
||||||
#!is_android
|
|
||||||
sources += [
|
|
||||||
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
|
|
||||||
@@ -8158,9 +8158,11 @@ const FeatureEntry kFeatureEntries[] = {
|
|
||||||
FEATURE_VALUE_TYPE(ash::features::kClipboardHistoryLongpress)},
|
|
||||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
|
||||||
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
{"enable-userscripts-log", flag_descriptions::kEnableLoggingUserScriptsName,
|
|
||||||
flag_descriptions::kEnableLoggingUserScriptsDescription, kOsDesktop | kOsAndroid,
|
|
||||||
FEATURE_VALUE_TYPE(user_scripts::features::kEnableLoggingUserScripts)},
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
#if BUILDFLAG(IS_WIN)
|
|
||||||
{"enable-media-foundation-video-capture",
|
|
||||||
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
|
|
||||||
@@ -1634,7 +1634,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
|
||||||
translate::TranslatePrefs::RegisterProfilePrefs(registry);
|
|
||||||
omnibox::RegisterProfilePrefs(registry);
|
|
||||||
ZeroSuggestProvider::RegisterProfilePrefs(registry);
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
user_scripts::UserScriptsPrefs::RegisterProfilePrefs(registry);
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
#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
|
|
||||||
@@ -57,10 +57,12 @@ source_set("profile") {
|
|
||||||
"//components/profile_metrics",
|
|
||||||
"//components/sync/service",
|
|
||||||
"//components/variations",
|
|
||||||
- "//components/user_scripts/browser",
|
|
||||||
"//content/public/browser",
|
|
||||||
"//extensions/buildflags",
|
|
||||||
]
|
|
||||||
+ if (is_android) {
|
|
||||||
+ deps += [ "//components/user_scripts/browser" ]
|
|
||||||
+ }
|
|
||||||
if (enable_extensions) {
|
|
||||||
deps += [ "//extensions/browser" ]
|
|
||||||
}
|
|
||||||
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
|
|
||||||
@@ -469,7 +469,9 @@
|
|
||||||
#include "chrome/browser/offline_pages/request_coordinator_factory.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
#include "components/user_scripts/browser/userscripts_browser_client.h"
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
namespace chrome {
|
|
||||||
|
|
||||||
@@ -1097,7 +1099,9 @@ void ChromeBrowserMainExtraPartsProfiles::
|
|
||||||
#endif
|
|
||||||
WebDataServiceFactory::GetInstance();
|
|
||||||
webrtc_event_logging::WebRtcEventLogManagerKeyedServiceFactory::GetInstance();
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
user_scripts::UserScriptsBrowserClient::GetInstance();
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void ChromeBrowserMainExtraPartsProfiles::PreProfileInit() {
|
|
||||||
diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc
|
|
||||||
--- a/chrome/browser/profiles/profile_manager.cc
|
|
||||||
+++ b/chrome/browser/profiles/profile_manager.cc
|
|
||||||
@@ -106,7 +106,9 @@
|
|
||||||
#include "extensions/common/manifest.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
#include "components/user_scripts/browser/userscripts_browser_client.h"
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
#if BUILDFLAG(ENABLE_SESSION_SERVICE)
|
|
||||||
#include "chrome/browser/sessions/app_session_service_factory.h"
|
|
||||||
@@ -1491,11 +1493,13 @@ void ProfileManager::DoFinalInitForServices(Profile* profile,
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
user_scripts::UserScriptsBrowserClient* userscript_client =
|
|
||||||
user_scripts::UserScriptsBrowserClient::GetInstance();
|
|
||||||
if (userscript_client) {
|
|
||||||
userscript_client->SetProfile(profile);
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
|
|
||||||
// Initialization needs to happen after extension system initialization (for
|
|
||||||
diff --git a/chrome/browser/profiles/renderer_updater.cc b/chrome/browser/profiles/renderer_updater.cc
|
|
||||||
--- a/chrome/browser/profiles/renderer_updater.cc
|
|
||||||
+++ b/chrome/browser/profiles/renderer_updater.cc
|
|
||||||
@@ -78,7 +78,9 @@ RendererUpdater::RendererUpdater(Profile* profile)
|
|
||||||
force_youtube_restrict_.Init(policy::policy_prefs::kForceYouTubeRestrict,
|
|
||||||
pref_service);
|
|
||||||
allowed_domains_for_apps_.Init(prefs::kAllowedDomainsForApps, pref_service);
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
activate_userscripts_.Init(user_scripts::prefs::kUserScriptsEnabled, pref_service);
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
pref_change_registrar_.Init(pref_service);
|
|
||||||
pref_change_registrar_.Add(
|
|
||||||
@@ -93,10 +95,12 @@ RendererUpdater::RendererUpdater(Profile* profile)
|
|
||||||
prefs::kAllowedDomainsForApps,
|
|
||||||
base::BindRepeating(&RendererUpdater::UpdateAllRenderers,
|
|
||||||
base::Unretained(this)));
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
pref_change_registrar_.Add(
|
|
||||||
user_scripts::prefs::kUserScriptsEnabled,
|
|
||||||
base::BindRepeating(&RendererUpdater::UpdateAllRenderers,
|
|
||||||
base::Unretained(this)));
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
RendererUpdater::~RendererUpdater() {
|
|
||||||
@@ -250,5 +254,10 @@ chrome::mojom::DynamicParamsPtr RendererUpdater::CreateRendererDynamicParams()
|
|
||||||
#endif
|
|
||||||
force_google_safesearch_.GetValue(), force_youtube_restrict_.GetValue(),
|
|
||||||
allowed_domains_for_apps_.GetValue(),
|
|
||||||
- activate_userscripts_.GetValue());
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
+ activate_userscripts_.GetValue()
|
|
||||||
+#else
|
|
||||||
+ false
|
|
||||||
+#endif
|
|
||||||
+ );
|
|
||||||
}
|
|
||||||
diff --git a/chrome/browser/profiles/renderer_updater.h b/chrome/browser/profiles/renderer_updater.h
|
|
||||||
--- a/chrome/browser/profiles/renderer_updater.h
|
|
||||||
+++ b/chrome/browser/profiles/renderer_updater.h
|
|
||||||
@@ -108,7 +108,9 @@ class RendererUpdater : public KeyedService,
|
|
||||||
|
|
||||||
// Prefs that we sync to the renderers.
|
|
||||||
BooleanPrefMember force_google_safesearch_;
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
BooleanPrefMember activate_userscripts_;
|
|
||||||
+#endif
|
|
||||||
IntegerPrefMember force_youtube_restrict_;
|
|
||||||
StringPrefMember allowed_domains_for_apps_;
|
|
||||||
};
|
|
||||||
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
|
|
||||||
@@ -529,8 +529,10 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
|
|
||||||
return &NewWebUI<UserActionsUI>;
|
|
||||||
if (url.host_piece() == chrome::kChromeUIVersionHost)
|
|
||||||
return &NewWebUI<VersionUI>;
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
if (url.host_piece() == user_scripts::kChromeUIUserScriptsHost)
|
|
||||||
return &NewWebUI<user_scripts::UserScriptsUI>;
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
#if !BUILDFLAG(IS_ANDROID)
|
|
||||||
#if !BUILDFLAG(IS_CHROMEOS)
|
|
||||||
diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn
|
|
||||||
--- a/chrome/renderer/BUILD.gn
|
|
||||||
+++ b/chrome/renderer/BUILD.gn
|
|
||||||
@@ -154,7 +154,6 @@ static_library("renderer") {
|
|
||||||
"//components/content_capture/common",
|
|
||||||
"//components/content_capture/renderer",
|
|
||||||
"//components/content_settings/common:mojom",
|
|
||||||
- "//components/user_scripts/renderer",
|
|
||||||
"//components/content_settings/renderer",
|
|
||||||
"//components/continuous_search/renderer",
|
|
||||||
"//components/dom_distiller/content/renderer",
|
|
||||||
@@ -234,6 +233,12 @@ static_library("renderer") {
|
|
||||||
"//v8",
|
|
||||||
]
|
|
||||||
|
|
||||||
+ if (is_android) {
|
|
||||||
+ deps += [
|
|
||||||
+ "//components/user_scripts/renderer",
|
|
||||||
+ ]
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
data_deps = [ "//tools/v8_context_snapshot" ]
|
|
||||||
|
|
||||||
configs += [ "//build/config/compiler:wexit_time_destructors" ]
|
|
||||||
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
|
|
||||||
@@ -252,8 +252,10 @@
|
|
||||||
#include "chrome/renderer/media/chrome_key_systems.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
#include "components/user_scripts/common/user_scripts_features.h"
|
|
||||||
#include "components/user_scripts/renderer/user_scripts_renderer_client.h"
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
using autofill::AutofillAgent;
|
|
||||||
using autofill::PasswordAutofillAgent;
|
|
||||||
@@ -431,11 +433,13 @@ void ChromeContentRendererClient::RenderThreadStarted() {
|
|
||||||
WebString::FromASCII(extensions::kExtensionScheme));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
user_scripts::UserScriptsRendererClient* userscript_client =
|
|
||||||
user_scripts::UserScriptsRendererClient::GetInstance();
|
|
||||||
if (userscript_client) {
|
|
||||||
userscript_client->RenderThreadStarted(GetChromeObserver());
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
#if BUILDFLAG(ENABLE_SPELLCHECK)
|
|
||||||
if (!spellcheck_)
|
|
||||||
@@ -605,12 +609,14 @@ void ChromeContentRendererClient::RenderFrameCreated(
|
|
||||||
render_frame, registry);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
user_scripts::UserScriptsRendererClient* userscript_client =
|
|
||||||
user_scripts::UserScriptsRendererClient::GetInstance();
|
|
||||||
if (userscript_client) {
|
|
||||||
userscript_client->RenderFrameCreated(
|
|
||||||
render_frame, registry);
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
#if BUILDFLAG(ENABLE_PPAPI)
|
|
||||||
new PepperHelper(render_frame);
|
|
||||||
@@ -1619,6 +1625,9 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart(
|
|
||||||
ChromeExtensionsRendererClient::GetInstance()->RunScriptsAtDocumentStart(
|
|
||||||
render_frame);
|
|
||||||
// |render_frame| might be dead by now.
|
|
||||||
+#endif
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
+#if BUILDFLAG(ENABLE_EXTENSIONS)
|
|
||||||
static_assert(false, "Compiler error: extensions cannot be enabled with user scripts");
|
|
||||||
#endif
|
|
||||||
user_scripts::UserScriptsRendererClient* userscript_client =
|
|
||||||
@@ -1627,6 +1636,7 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart(
|
|
||||||
userscript_client->RunScriptsAtDocumentStart(
|
|
||||||
render_frame);
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
|
|
||||||
@@ -1635,6 +1645,9 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
|
|
||||||
ChromeExtensionsRendererClient::GetInstance()->RunScriptsAtDocumentEnd(
|
|
||||||
render_frame);
|
|
||||||
// |render_frame| might be dead by now.
|
|
||||||
+#endif
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
+#if BUILDFLAG(ENABLE_EXTENSIONS)
|
|
||||||
static_assert(false, "Compiler error: extensions cannot be enabled with user scripts");
|
|
||||||
#endif
|
|
||||||
user_scripts::UserScriptsRendererClient* userscript_client =
|
|
||||||
@@ -1643,6 +1656,7 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
|
|
||||||
userscript_client->RunScriptsAtDocumentEnd(
|
|
||||||
render_frame);
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
|
|
||||||
@@ -1651,6 +1665,9 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
|
|
||||||
ChromeExtensionsRendererClient::GetInstance()->RunScriptsAtDocumentIdle(
|
|
||||||
render_frame);
|
|
||||||
// |render_frame| might be dead by now.
|
|
||||||
+#endif
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
+#if BUILDFLAG(ENABLE_EXTENSIONS)
|
|
||||||
static_assert(false, "Compiler error: extensions cannot be enabled with user scripts");
|
|
||||||
#endif
|
|
||||||
user_scripts::UserScriptsRendererClient* userscript_client =
|
|
||||||
@@ -1659,6 +1676,7 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
|
|
||||||
userscript_client->RunScriptsAtDocumentIdle(
|
|
||||||
render_frame);
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void ChromeContentRendererClient::
|
|
||||||
diff --git a/chrome/renderer/chrome_render_thread_observer.cc b/chrome/renderer/chrome_render_thread_observer.cc
|
|
||||||
--- a/chrome/renderer/chrome_render_thread_observer.cc
|
|
||||||
+++ b/chrome/renderer/chrome_render_thread_observer.cc
|
|
||||||
@@ -219,7 +219,9 @@ void ChromeRenderThreadObserver::SetConfiguration(
|
|
||||||
chrome::mojom::DynamicParamsPtr params) {
|
|
||||||
base::AutoLock lock(dynamic_params_lock_);
|
|
||||||
dynamic_params_ = std::move(params);
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
user_scripts::UserScriptsRendererClient::GetInstance()->ConfigurationUpdated();
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void ChromeRenderThreadObserver::OnRendererConfigurationAssociatedRequest(
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,81 +0,0 @@
|
|||||||
From: Your Name <you@example.com>
|
|
||||||
Date: Thu, 13 Oct 2022 11:27:08 +0000
|
|
||||||
Subject: WIN ADDTO Logcat crash reports UI
|
|
||||||
|
|
||||||
---
|
|
||||||
chrome/browser/ui/webui/crashes_ui.cc | 12 +++++++++++-
|
|
||||||
1 file changed, 11 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/crashes_ui.cc
|
|
||||||
--- a/chrome/browser/ui/webui/crashes_ui.cc
|
|
||||||
+++ b/chrome/browser/ui/webui/crashes_ui.cc
|
|
||||||
@@ -44,7 +44,9 @@
|
|
||||||
#include "base/files/scoped_temp_dir.h"
|
|
||||||
#include "base/task/task_traits.h"
|
|
||||||
#include "base/task/thread_pool.h"
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
#include "base/android/path_utils.h"
|
|
||||||
+#endif
|
|
||||||
#include "net/base/filename_util.h"
|
|
||||||
#include "third_party/zlib/google/zip.h"
|
|
||||||
|
|
||||||
@@ -146,6 +148,9 @@ CrashesDOMHandler::CrashesDOMHandler(content::WebContents* web_contents)
|
|
||||||
: list_available_(false), first_load_(true),
|
|
||||||
web_contents_(web_contents) {
|
|
||||||
upload_list_ = CreateCrashUploadList();
|
|
||||||
+#if !BUILDFLAG(IS_ANDROID)
|
|
||||||
+ web_contents_ = nullptr;
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
CrashesDOMHandler::~CrashesDOMHandler() {
|
|
||||||
@@ -276,6 +281,7 @@ void CrashesDOMHandler::HandleRequestSingleCrashUpload(
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string CrashesDOMHandler::RequestSingleUpload(const std::string& local_id) const {
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
// get crash file path
|
|
||||||
std::string info_file_path = upload_list_->GetFilePathByLocalId(local_id);
|
|
||||||
if (info_file_path.empty()) {
|
|
||||||
@@ -323,13 +329,14 @@ std::string CrashesDOMHandler::RequestSingleUpload(const std::string& local_id)
|
|
||||||
if (result) {
|
|
||||||
return zip_file_name.value();
|
|
||||||
}
|
|
||||||
-
|
|
||||||
+#endif
|
|
||||||
LOG(ERROR) << "Crash report: cannot create zip content";
|
|
||||||
return std::string();
|
|
||||||
}
|
|
||||||
|
|
||||||
void CrashesDOMHandler::RequestSingleUploadCallback(const std::string& local_id,
|
|
||||||
const std::string& file_name) {
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
if (!file_name.empty()) {
|
|
||||||
upload_list_->RequestSingleUploadAsync(local_id);
|
|
||||||
|
|
||||||
@@ -337,6 +344,7 @@ void CrashesDOMHandler::RequestSingleUploadCallback(const std::string& local_id,
|
|
||||||
web_contents_->GetController().LoadURL(
|
|
||||||
net::FilePathToFileURL(file_path), {}, {}, {});
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void CrashesDOMHandler::HandleRequestNewExtraction(
|
|
||||||
@@ -361,6 +369,7 @@ void CrashesDOMHandler::HandleRequestClearAll(
|
|
||||||
}
|
|
||||||
|
|
||||||
void CrashesDOMHandler::ClearAll() {
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
// get android crash report dir
|
|
||||||
base::FilePath cache_dir;
|
|
||||||
base::android::GetCacheDirectory(&cache_dir);
|
|
||||||
@@ -374,6 +383,7 @@ void CrashesDOMHandler::ClearAll() {
|
|
||||||
// remove all files, don't care for result
|
|
||||||
base::DeleteFile(full_name);
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
From: Your Name <you@example.com>
|
|
||||||
Date: Wed, 12 Oct 2022 12:01:37 +0000
|
|
||||||
Subject: WIN ADDTO Restore Search Ready Omnibox flag
|
|
||||||
|
|
||||||
---
|
|
||||||
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
|
|
||||||
@@ -9432,9 +9432,11 @@ const FeatureEntry kFeatureEntries[] = {
|
|
||||||
flag_descriptions::kDesksTemplatesDescription, kOsCrOS,
|
|
||||||
FEATURE_VALUE_TYPE(ash::features::kDesksTemplates)},
|
|
||||||
#endif
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
{"enable-search-ready-omnibox", flag_descriptions::kSearchReadyOmniboxName,
|
|
||||||
flag_descriptions::kSearchReadyOmniboxDescription, kOsAndroid,
|
|
||||||
FEATURE_VALUE_TYPE(chrome::android::kSearchReadyOmniboxFeature)},
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
{"large-favicon-from-google",
|
|
||||||
flag_descriptions::kLargeFaviconFromGoogleName,
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
From: Your Name <you@example.com>
|
|
||||||
Date: Wed, 12 Oct 2022 11:59:30 +0000
|
|
||||||
Subject: WIN ADDTO Revert flags: remove num-raster-thre
|
|
||||||
|
|
||||||
---
|
|
||||||
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
|
|
||||||
@@ -390,6 +390,7 @@ const FeatureEntry::Choice kOverlayStrategiesChoices[] = {
|
|
||||||
"single-fullscreen,single-on-top,underlay"},
|
|
||||||
};
|
|
||||||
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
|
||||||
const FeatureEntry::Choice kNumRasterThreadsChoices[] = {
|
|
||||||
{flags_ui::kGenericExperimentChoiceDefault, "", ""},
|
|
||||||
{flag_descriptions::kNumRasterThreadsOne, cc::switches::kNumRasterThreads, "1"},
|
|
||||||
@@ -398,6 +399,7 @@ const FeatureEntry::Choice kNumRasterThreadsChoices[] = {
|
|
||||||
"3"},
|
|
||||||
{flag_descriptions::kNumRasterThreadsFour, cc::switches::kNumRasterThreads,
|
|
||||||
"4"}};
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
const FeatureEntry::Choice kTouchTextSelectionStrategyChoices[] = {
|
|
||||||
{flags_ui::kGenericExperimentChoiceDefault, "", ""},
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
From: Your Name <you@example.com>
|
|
||||||
Date: Wed, 12 Oct 2022 11:31:11 +0000
|
|
||||||
Subject: WIN ADDTO openH264: enable ARM/ARM64 optimizati
|
|
||||||
|
|
||||||
---
|
|
||||||
.../blink/renderer/modules/mediarecorder/h264_encoder.cc | 6 +++---
|
|
||||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
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
|
|
||||||
@@ -212,9 +212,9 @@ bool H264Encoder::ConfigureEncoder(const gfx::Size& size) {
|
|
||||||
init_params.iRCMode = RC_OFF_MODE;
|
|
||||||
}
|
|
||||||
|
|
||||||
-#if BUILDFLAG(OS_MACOSX)
|
|
||||||
- // Threading model: Set to 1 due to https://crbug.com/583348.
|
|
||||||
- init_params.iMultipleThreadIdc = 1;
|
|
||||||
+#if BUILDFLAG(IS_MAC)
|
|
||||||
+ // Threading model: Set to 1 due to https://crbug.com/583348.
|
|
||||||
+ init_params.iMultipleThreadIdc = 1;
|
|
||||||
#else
|
|
||||||
init_params.iMultipleThreadIdc = 0;
|
|
||||||
#endif
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
From: Your Name <you@example.com>
|
|
||||||
Date: Wed, 12 Oct 2022 10:04:39 +0000
|
|
||||||
Subject: WIN ADDTO ungoogled-chr: Disable profile avatar
|
|
||||||
|
|
||||||
---
|
|
||||||
chrome/browser/profiles/profile_attributes_storage.cc | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/chrome/browser/profiles/profile_attributes_storage.cc b/chrome/browser/profiles/profile_attributes_storage.cc
|
|
||||||
--- a/chrome/browser/profiles/profile_attributes_storage.cc
|
|
||||||
+++ b/chrome/browser/profiles/profile_attributes_storage.cc
|
|
||||||
@@ -845,7 +845,7 @@ void ProfileAttributesStorage::DownloadHighResAvatarIfNeeded(
|
|
||||||
void ProfileAttributesStorage::DownloadHighResAvatar(
|
|
||||||
size_t icon_index,
|
|
||||||
const base::FilePath& profile_path) {
|
|
||||||
-#if !BUILDFLAG(IS_ANDROID)
|
|
||||||
+#if false
|
|
||||||
const char* file_name =
|
|
||||||
profiles::GetDefaultAvatarIconFileNameAtIndex(icon_index);
|
|
||||||
DCHECK(file_name);
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
From: uazo <uazo@users.noreply.github.com>
|
|
||||||
Date: Tue, 14 Mar 2023 15:58:00 +0000
|
|
||||||
Subject: WIN Disable TabHoverCard images
|
|
||||||
|
|
||||||
---
|
|
||||||
chrome/browser/ui/ui_features.cc | 4 ----
|
|
||||||
1 file changed, 4 deletions(-)
|
|
||||||
|
|
||||||
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
|
|
||||||
@@ -186,11 +186,7 @@ BASE_FEATURE(kTabHoverCardImageSettings,
|
|
||||||
// https://crbug.com/928954
|
|
||||||
BASE_FEATURE(kTabHoverCardImages,
|
|
||||||
"TabHoverCardImages",
|
|
||||||
-#if BUILDFLAG(IS_MAC)
|
|
||||||
base::FEATURE_DISABLED_BY_DEFAULT
|
|
||||||
-#else
|
|
||||||
- base::FEATURE_ENABLED_BY_DEFAULT
|
|
||||||
-#endif
|
|
||||||
);
|
|
||||||
|
|
||||||
const char kTabHoverCardImagesNotReadyDelayParameterName[] =
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
From: Your Name <you@example.com>
|
|
||||||
Date: Fri, 17 Feb 2023 16:23:20 +0000
|
|
||||||
Subject: WIN Enable Network Service Sandbox and CIG
|
|
||||||
|
|
||||||
---
|
|
||||||
chrome/browser/chrome_content_browser_client.cc | 2 +-
|
|
||||||
sandbox/policy/features.cc | 6 +++++-
|
|
||||||
2 files changed, 6 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
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
|
|
||||||
@@ -766,7 +766,7 @@ BASE_FEATURE(kRendererCodeIntegrity,
|
|
||||||
// https://blogs.windows.com/blog/tag/code-integrity-guard/.
|
|
||||||
BASE_FEATURE(kNetworkServiceCodeIntegrity,
|
|
||||||
"NetworkServiceCodeIntegrity",
|
|
||||||
- base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
+ base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
|
|
||||||
#endif // BUILDFLAG(IS_WIN) && !defined(COMPONENT_BUILD) &&
|
|
||||||
// !defined(ADDRESS_SANITIZER)
|
|
||||||
diff --git a/sandbox/policy/features.cc b/sandbox/policy/features.cc
|
|
||||||
--- a/sandbox/policy/features.cc
|
|
||||||
+++ b/sandbox/policy/features.cc
|
|
||||||
@@ -14,8 +14,12 @@ namespace sandbox::policy::features {
|
|
||||||
// Enables network service sandbox.
|
|
||||||
// (Only causes an effect when feature kNetworkServiceInProcess is disabled.)
|
|
||||||
BASE_FEATURE(kNetworkServiceSandbox,
|
|
||||||
- "NetworkServiceSandbox",
|
|
||||||
+ "NetworkServiceSandbox", // enabled only in windows
|
|
||||||
+#if BUILDFLAG(IS_WIN)
|
|
||||||
+ base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
+#else
|
|
||||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
|
|
||||||
// Enables a fine-grained seccomp-BPF syscall filter for the network service.
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
From: Your Name <you@example.com>
|
|
||||||
Date: Tue, 14 Feb 2023 16:32:30 +0000
|
|
||||||
Subject: WIN enable file system access blocklist
|
|
||||||
|
|
||||||
---
|
|
||||||
content/browser/file_system_access/features.cc | 6 +++---
|
|
||||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/content/browser/file_system_access/features.cc b/content/browser/file_system_access/features.cc
|
|
||||||
--- a/content/browser/file_system_access/features.cc
|
|
||||||
+++ b/content/browser/file_system_access/features.cc
|
|
||||||
@@ -15,7 +15,7 @@ namespace content::features {
|
|
||||||
// some applications.
|
|
||||||
BASE_FEATURE(kFileSystemAccessDragAndDropCheckBlocklist,
|
|
||||||
"FileSystemAccessDragAndDropCheckBlocklist",
|
|
||||||
- base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
+ base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
|
|
||||||
// TODO(crbug.com/1381621): Remove this flag eventually.
|
|
||||||
// When enabled, move() will result in a promise rejection when the specified
|
|
||||||
@@ -51,8 +51,8 @@ BASE_FEATURE(kFileSystemAccessRemoveEntryExclusiveLock,
|
|
||||||
// When enabled, a user gesture is required to rename a file if the site does
|
|
||||||
// not have write access to the parent. See http://b/254157070 for more context.
|
|
||||||
BASE_FEATURE(kFileSystemAccessRenameWithoutParentAccessRequiresUserActivation,
|
|
||||||
- "FileSystemAccessRenameWithoutParentAccessRequiresUserActivation",
|
|
||||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
+ "FileSystemAccessRenameWithoutParentAccessRequiresUserActivation", // enabled by default
|
|
||||||
+ base::FEATURE_ENABLED_BY_DEFAULT); // in bromite
|
|
||||||
|
|
||||||
// TODO(crbug.com/1247850): Remove this flag eventually.
|
|
||||||
// When enabled, move operations within the same file system that do not change
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,72 +0,0 @@
|
|||||||
From: uazo <uazo@users.noreply.github.com>
|
|
||||||
Date: Sat, 15 Apr 2023 10:25:33 +0000
|
|
||||||
Subject: WIN minimum data to enable install extensions
|
|
||||||
|
|
||||||
The amount of information sent is minimized without disabling
|
|
||||||
the ability to install extensions (which is under user control)
|
|
||||||
---
|
|
||||||
chrome/browser/extensions/webstore_install_helper.cc | 2 +-
|
|
||||||
chrome/browser/extensions/webstore_installer.cc | 2 +-
|
|
||||||
.../update_client/chrome_update_query_params_delegate.cc | 8 ++++----
|
|
||||||
components/update_client/update_query_params.cc | 5 ++---
|
|
||||||
4 files changed, 8 insertions(+), 9 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/chrome/browser/extensions/webstore_install_helper.cc b/chrome/browser/extensions/webstore_install_helper.cc
|
|
||||||
--- a/chrome/browser/extensions/webstore_install_helper.cc
|
|
||||||
+++ b/chrome/browser/extensions/webstore_install_helper.cc
|
|
||||||
@@ -46,7 +46,7 @@ void WebstoreInstallHelper::Start(
|
|
||||||
data_decoder::DataDecoder::ParseJsonIsolated(
|
|
||||||
manifest_, base::BindOnce(&WebstoreInstallHelper::OnJSONParsed, this));
|
|
||||||
|
|
||||||
- if (icon_url_.is_empty()) {
|
|
||||||
+ if ((true) || icon_url_.is_empty()) {
|
|
||||||
icon_decode_complete_ = true;
|
|
||||||
} else {
|
|
||||||
// No existing |icon_fetcher_| to avoid unbalanced AddRef().
|
|
||||||
diff --git a/chrome/browser/extensions/webstore_installer.cc b/chrome/browser/extensions/webstore_installer.cc
|
|
||||||
--- a/chrome/browser/extensions/webstore_installer.cc
|
|
||||||
+++ b/chrome/browser/extensions/webstore_installer.cc
|
|
||||||
@@ -624,7 +624,7 @@ void WebstoreInstaller::StartDownload(const std::string& extension_id,
|
|
||||||
download_url_, render_process_host_id, render_frame_host->GetRoutingID(),
|
|
||||||
traffic_annotation));
|
|
||||||
params->set_file_path(file);
|
|
||||||
- if (controller.GetVisibleEntry()) {
|
|
||||||
+ if ((false) && controller.GetVisibleEntry()) {
|
|
||||||
content::Referrer referrer = content::Referrer::SanitizeForRequest(
|
|
||||||
download_url_,
|
|
||||||
content::Referrer(controller.GetVisibleEntry()->GetURL(),
|
|
||||||
diff --git a/chrome/browser/update_client/chrome_update_query_params_delegate.cc b/chrome/browser/update_client/chrome_update_query_params_delegate.cc
|
|
||||||
--- a/chrome/browser/update_client/chrome_update_query_params_delegate.cc
|
|
||||||
+++ b/chrome/browser/update_client/chrome_update_query_params_delegate.cc
|
|
||||||
@@ -30,10 +30,10 @@ ChromeUpdateQueryParamsDelegate::GetInstance() {
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string ChromeUpdateQueryParamsDelegate::GetExtraParams() {
|
|
||||||
- return base::StrCat({"&prodchannel=",
|
|
||||||
- chrome::GetChannelName(chrome::WithExtendedStable(true)),
|
|
||||||
- "&prodversion=", version_info::GetVersionNumber(),
|
|
||||||
- "&lang=", GetLang()});
|
|
||||||
+ return base::StrCat({
|
|
||||||
+ "&prodversion=",
|
|
||||||
+ version_info::GetMajorVersionNumber().c_str(),
|
|
||||||
+ ".0.0.0"});
|
|
||||||
}
|
|
||||||
|
|
||||||
// static
|
|
||||||
diff --git a/components/update_client/update_query_params.cc b/components/update_client/update_query_params.cc
|
|
||||||
--- a/components/update_client/update_query_params.cc
|
|
||||||
+++ b/components/update_client/update_query_params.cc
|
|
||||||
@@ -88,9 +88,8 @@ UpdateQueryParamsDelegate* g_delegate = nullptr;
|
|
||||||
// static
|
|
||||||
std::string UpdateQueryParams::Get(ProdId prod) {
|
|
||||||
return base::StringPrintf(
|
|
||||||
- "os=%s&arch=%s&os_arch=%s&nacl_arch=%s&prod=%s%s&acceptformat=crx3,puff",
|
|
||||||
- kOs, kArch, base::SysInfo().OperatingSystemArchitecture().c_str(),
|
|
||||||
- GetNaclArch(), GetProdIdString(prod),
|
|
||||||
+ "prod=%s%s&acceptformat=crx3",
|
|
||||||
+ GetProdIdString(prod),
|
|
||||||
g_delegate ? g_delegate->GetExtraParams().c_str() : "");
|
|
||||||
}
|
|
||||||
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
From: uazo <uazo@users.noreply.github.com>
|
|
||||||
Date: Mon, 1 May 2023 12:08:46 +0000
|
|
||||||
Subject: v113 temp fix build
|
|
||||||
|
|
||||||
---
|
|
||||||
android_webview/system_webview_bundle.gni | 4 ++++
|
|
||||||
chrome/browser/safe_browsing/BUILD.gn | 1 +
|
|
||||||
2 files changed, 5 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/android_webview/system_webview_bundle.gni b/android_webview/system_webview_bundle.gni
|
|
||||||
--- a/android_webview/system_webview_bundle.gni
|
|
||||||
+++ b/android_webview/system_webview_bundle.gni
|
|
||||||
@@ -84,6 +84,10 @@ template("system_webview_bundle") {
|
|
||||||
custom_assertion_handler = crash_reporting_assertion_handler
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+ } else {
|
|
||||||
+ not_needed(["_base_target_name", "_base_target_gen_dir",
|
|
||||||
+ "_base_module_build_config", "_rebased_base_module_build_config",
|
|
||||||
+ "_base_module_version_code"])
|
|
||||||
}
|
|
||||||
|
|
||||||
android_app_bundle(target_name) {
|
|
||||||
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
|
|
||||||
@@ -214,6 +214,7 @@ static_library("safe_browsing") {
|
|
||||||
"//components/version_info",
|
|
||||||
"//content/public/browser",
|
|
||||||
"//services/preferences/public/mojom:mojom",
|
|
||||||
+ "//third_party/flatbuffers:flatbuffers",
|
|
||||||
]
|
|
||||||
if (safe_browsing_mode == 1) {
|
|
||||||
# "Safe Browsing Full" files in addition to the "basic" ones to use for
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
@@ -20,87 +20,108 @@ See discussions at:
|
|||||||
|
|
||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
---
|
---
|
||||||
base/android/android_image_reader_compat.cc | 8 +++++++-
|
base/android/android_image_reader_compat.cc | 16 ++++++++++++++++
|
||||||
base/android/android_image_reader_compat.h | 4 ++++
|
base/android/android_image_reader_compat.h | 14 ++++++++++++++
|
||||||
chrome/browser/flag-metadata.json | 6 +++---
|
chrome/browser/flag-metadata.json | 6 +++---
|
||||||
gpu/config/gpu_driver_bug_list.json | 16 ++++++++++++++++
|
.../AImageReader-CFI-crash-mitigations.inc | 4 ++++
|
||||||
gpu/config/gpu_finch_features.cc | 5 +++++
|
.../AImageReader-CFI-crash-mitigations.inc | 1 +
|
||||||
gpu/config/gpu_finch_features.h | 1 +
|
gpu/config/gpu_driver_bug_list.json | 16 ++++++++++++++++
|
||||||
gpu/config/gpu_util.cc | 8 ++++++++
|
gpu/config/gpu_finch_features.cc | 5 +++++
|
||||||
gpu/config/gpu_workaround_list.txt | 1 +
|
gpu/config/gpu_finch_features.h | 1 +
|
||||||
gpu/ipc/service/gpu_init.cc | 5 +++++
|
gpu/config/gpu_util.cc | 8 ++++++++
|
||||||
gpu/ipc/service/stream_texture_android.cc | 11 ++++++++++-
|
gpu/config/gpu_workaround_list.txt | 1 +
|
||||||
media/base/media_switches.cc | 5 +++++
|
gpu/ipc/service/gpu_init.cc | 8 ++++++++
|
||||||
media/base/media_switches.h | 1 +
|
gpu/ipc/service/stream_texture_android.cc | 11 ++++++++++-
|
||||||
12 files changed, 66 insertions(+), 5 deletions(-)
|
12 files changed, 87 insertions(+), 4 deletions(-)
|
||||||
|
create mode 100644 cromite_flags/media/base/media_switches_cc/AImageReader-CFI-crash-mitigations.inc
|
||||||
|
create mode 100644 cromite_flags/media/base/media_switches_h/AImageReader-CFI-crash-mitigations.inc
|
||||||
|
|
||||||
diff --git a/base/android/android_image_reader_compat.cc b/base/android/android_image_reader_compat.cc
|
diff --git a/base/android/android_image_reader_compat.cc b/base/android/android_image_reader_compat.cc
|
||||||
--- a/base/android/android_image_reader_compat.cc
|
--- a/base/android/android_image_reader_compat.cc
|
||||||
+++ b/base/android/android_image_reader_compat.cc
|
+++ b/base/android/android_image_reader_compat.cc
|
||||||
@@ -23,6 +23,8 @@
|
@@ -7,7 +7,23 @@
|
||||||
namespace base {
|
namespace base {
|
||||||
namespace android {
|
namespace android {
|
||||||
|
|
||||||
+bool AndroidImageReader::disable_support_ = false;
|
+AndroidImageReader& AndroidImageReader::GetInstance() {
|
||||||
|
+ // C++11 static local variable initialization is
|
||||||
|
+ // thread-safe.
|
||||||
|
+ static AndroidImageReader instance;
|
||||||
|
+ return instance;
|
||||||
|
+}
|
||||||
+
|
+
|
||||||
AndroidImageReader& AndroidImageReader::GetInstance() {
|
|
||||||
// C++11 static local variable initialization is
|
|
||||||
// thread-safe.
|
|
||||||
@@ -30,8 +32,12 @@ AndroidImageReader& AndroidImageReader::GetInstance() {
|
|
||||||
return instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
+void AndroidImageReader::DisableSupport() {
|
+void AndroidImageReader::DisableSupport() {
|
||||||
+ disable_support_ = true;
|
+ disable_support_ = true;
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
bool AndroidImageReader::IsSupported() {
|
+bool AndroidImageReader::IsSupported() {
|
||||||
- return is_supported_;
|
+ return !disable_support_;
|
||||||
+ return !disable_support_ && is_supported_;
|
+}
|
||||||
}
|
+
|
||||||
|
bool EnableAndroidImageReader() {
|
||||||
AndroidImageReader::AndroidImageReader() : is_supported_(LoadFunctions()) {}
|
+ if (!AndroidImageReader::GetInstance().IsSupported()) return false;
|
||||||
|
// Currently we want to enable AImageReader only for android P+ devices.
|
||||||
|
if (__builtin_available(android 28, *)) {
|
||||||
|
return true;
|
||||||
diff --git a/base/android/android_image_reader_compat.h b/base/android/android_image_reader_compat.h
|
diff --git a/base/android/android_image_reader_compat.h b/base/android/android_image_reader_compat.h
|
||||||
--- a/base/android/android_image_reader_compat.h
|
--- a/base/android/android_image_reader_compat.h
|
||||||
+++ b/base/android/android_image_reader_compat.h
|
+++ b/base/android/android_image_reader_compat.h
|
||||||
@@ -24,6 +24,9 @@ class BASE_EXPORT AndroidImageReader {
|
@@ -10,6 +10,20 @@
|
||||||
AndroidImageReader(const AndroidImageReader&) = delete;
|
namespace base {
|
||||||
AndroidImageReader& operator=(const AndroidImageReader&) = delete;
|
namespace android {
|
||||||
|
|
||||||
+ // Disable image reader support.
|
+class BASE_EXPORT AndroidImageReader {
|
||||||
+ static void DisableSupport();
|
+ public:
|
||||||
|
+ // Thread safe GetInstance.
|
||||||
|
+ static AndroidImageReader& GetInstance();
|
||||||
+
|
+
|
||||||
// Check if the image reader usage is supported. This function returns TRUE
|
+ bool IsSupported();
|
||||||
// if android version is >=OREO, image reader support is not disabled and all
|
+
|
||||||
// the required functions are loaded.
|
+ // Disable image reader support.
|
||||||
@@ -61,6 +64,7 @@ class BASE_EXPORT AndroidImageReader {
|
+ void DisableSupport();
|
||||||
jobject ANativeWindow_toSurface(JNIEnv* env, ANativeWindow* window);
|
+
|
||||||
|
+ private:
|
||||||
|
+ bool disable_support_ = false;
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
// Check if the image reader usage is supported.
|
||||||
|
BASE_EXPORT bool EnableAndroidImageReader();
|
||||||
|
|
||||||
private:
|
|
||||||
+ static bool disable_support_;
|
|
||||||
friend class base::NoDestructor<AndroidImageReader>;
|
|
||||||
|
|
||||||
AndroidImageReader();
|
|
||||||
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
|
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
|
||||||
--- a/chrome/browser/flag-metadata.json
|
--- a/chrome/browser/flag-metadata.json
|
||||||
+++ b/chrome/browser/flag-metadata.json
|
+++ b/chrome/browser/flag-metadata.json
|
||||||
@@ -2798,9 +2798,9 @@
|
@@ -3046,9 +3046,9 @@
|
||||||
"expiry_milestone": 125
|
"expiry_milestone": 125
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
- "name": "enable-image-reader",
|
- "name": "enable-image-reader",
|
||||||
- "owners": [ "vikassoni", "liberato" ],
|
- "owners": [ "vikassoni@chromium.org", "liberato@chromium.org" ],
|
||||||
- "expiry_milestone": 125
|
- "expiry_milestone": 125
|
||||||
+ "name": "enable-image-reader", // Bromite: do not expire
|
+ "name": "enable-image-reader", // Bromite: do not expire
|
||||||
+ "owners": [ "vikassoni", "liberato" ], // flag
|
+ "owners": [ "vikassoni@chromium.org", "liberato@chromium.org" ], // flag
|
||||||
+ "expiry_milestone": -1
|
+ "expiry_milestone": -1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "enable-immersive-fullscreen-toolbar",
|
"name": "enable-immersive-fullscreen-toolbar",
|
||||||
|
diff --git a/cromite_flags/media/base/media_switches_cc/AImageReader-CFI-crash-mitigations.inc b/cromite_flags/media/base/media_switches_cc/AImageReader-CFI-crash-mitigations.inc
|
||||||
|
new file mode 100644
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/cromite_flags/media/base/media_switches_cc/AImageReader-CFI-crash-mitigations.inc
|
||||||
|
@@ -0,0 +1,4 @@
|
||||||
|
+// Enables the Android Image Reader path for Video decoding(for AVDA and MCVD)
|
||||||
|
+CROMITE_FEATURE(kAImageReaderVideoOutput,
|
||||||
|
+ "AImageReaderVideoOutput",
|
||||||
|
+ base::FEATURE_ENABLED_BY_DEFAULT);
|
||||||
|
diff --git a/cromite_flags/media/base/media_switches_h/AImageReader-CFI-crash-mitigations.inc b/cromite_flags/media/base/media_switches_h/AImageReader-CFI-crash-mitigations.inc
|
||||||
|
new file mode 100644
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/cromite_flags/media/base/media_switches_h/AImageReader-CFI-crash-mitigations.inc
|
||||||
|
@@ -0,0 +1 @@
|
||||||
|
+MEDIA_EXPORT BASE_DECLARE_FEATURE(kAImageReaderVideoOutput);
|
||||||
diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_list.json
|
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
|
--- a/gpu/config/gpu_driver_bug_list.json
|
||||||
+++ b/gpu/config/gpu_driver_bug_list.json
|
+++ b/gpu/config/gpu_driver_bug_list.json
|
||||||
@@ -3698,6 +3698,22 @@
|
@@ -2689,6 +2689,22 @@
|
||||||
"no_downscaled_overlay_promotion"
|
"no_downscaled_overlay_promotion"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -127,28 +148,28 @@ diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
|
|||||||
--- a/gpu/config/gpu_finch_features.cc
|
--- a/gpu/config/gpu_finch_features.cc
|
||||||
+++ b/gpu/config/gpu_finch_features.cc
|
+++ b/gpu/config/gpu_finch_features.cc
|
||||||
@@ -65,6 +65,11 @@ BASE_FEATURE(kUseGles2ForOopR,
|
@@ -65,6 +65,11 @@ BASE_FEATURE(kUseGles2ForOopR,
|
||||||
#endif
|
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||||
);
|
|
||||||
|
|
||||||
+
|
|
||||||
+// Use android AImageReader when playing videos with MediaPlayer.
|
|
||||||
+const base::Feature kAImageReaderMediaPlayer{"AImageReaderMediaPlayer",
|
|
||||||
+ base::FEATURE_ENABLED_BY_DEFAULT};
|
|
||||||
+
|
|
||||||
#if BUILDFLAG(IS_ANDROID)
|
#if BUILDFLAG(IS_ANDROID)
|
||||||
|
+// Use android AImageReader when playing videos with MediaPlayer.
|
||||||
|
+CROMITE_FEATURE(kAImageReaderMediaPlayer,
|
||||||
|
+ "AImageReaderMediaPlayer",
|
||||||
|
+ base::FEATURE_ENABLED_BY_DEFAULT);
|
||||||
|
+
|
||||||
// Use android SurfaceControl API for managing display compositor's buffer queue
|
// Use android SurfaceControl API for managing display compositor's buffer queue
|
||||||
// and using overlays on Android. Also used by webview to disable surface
|
// and using overlays on Android. Also used by webview to disable surface
|
||||||
|
// SurfaceControl.
|
||||||
diff --git a/gpu/config/gpu_finch_features.h b/gpu/config/gpu_finch_features.h
|
diff --git a/gpu/config/gpu_finch_features.h b/gpu/config/gpu_finch_features.h
|
||||||
--- a/gpu/config/gpu_finch_features.h
|
--- a/gpu/config/gpu_finch_features.h
|
||||||
+++ b/gpu/config/gpu_finch_features.h
|
+++ b/gpu/config/gpu_finch_features.h
|
||||||
@@ -17,6 +17,7 @@ namespace features {
|
@@ -24,6 +24,7 @@ GPU_EXPORT BASE_DECLARE_FEATURE(kUseGles2ForOopR);
|
||||||
GPU_EXPORT BASE_DECLARE_FEATURE(kUseGles2ForOopR);
|
|
||||||
|
|
||||||
// All features in alphabetical order. The features should be documented
|
// All features in alphabetical order. The features should be documented
|
||||||
+GPU_EXPORT extern const base::Feature kAImageReaderMediaPlayer;
|
|
||||||
// alongside the definition of their values in the .cc file.
|
// alongside the definition of their values in the .cc file.
|
||||||
#if BUILDFLAG(IS_ANDROID)
|
#if BUILDFLAG(IS_ANDROID)
|
||||||
|
+GPU_EXPORT BASE_DECLARE_FEATURE(kAImageReaderMediaPlayer);
|
||||||
GPU_EXPORT BASE_DECLARE_FEATURE(kAndroidSurfaceControl);
|
GPU_EXPORT BASE_DECLARE_FEATURE(kAndroidSurfaceControl);
|
||||||
|
GPU_EXPORT BASE_DECLARE_FEATURE(kWebViewSurfaceControl);
|
||||||
|
GPU_EXPORT BASE_DECLARE_FEATURE(kAImageReader);
|
||||||
diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc
|
diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc
|
||||||
--- a/gpu/config/gpu_util.cc
|
--- a/gpu/config/gpu_util.cc
|
||||||
+++ b/gpu/config/gpu_util.cc
|
+++ b/gpu/config/gpu_util.cc
|
||||||
@@ -162,7 +183,7 @@ diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc
|
|||||||
if (!gpu_preferences.enable_android_surface_control)
|
if (!gpu_preferences.enable_android_surface_control)
|
||||||
return kGpuFeatureStatusDisabled;
|
return kGpuFeatureStatusDisabled;
|
||||||
|
|
||||||
@@ -351,6 +354,11 @@ void AdjustGpuFeatureStatusToWorkarounds(GpuFeatureInfo* gpu_feature_info) {
|
@@ -368,6 +371,11 @@ void AdjustGpuFeatureStatusToWorkarounds(GpuFeatureInfo* gpu_feature_info) {
|
||||||
gpu_feature_info->status_values[GPU_FEATURE_TYPE_CANVAS_OOP_RASTERIZATION] =
|
gpu_feature_info->status_values[GPU_FEATURE_TYPE_CANVAS_OOP_RASTERIZATION] =
|
||||||
kGpuFeatureStatusBlocklisted;
|
kGpuFeatureStatusBlocklisted;
|
||||||
}
|
}
|
||||||
@@ -177,8 +198,8 @@ diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc
|
|||||||
diff --git a/gpu/config/gpu_workaround_list.txt b/gpu/config/gpu_workaround_list.txt
|
diff --git a/gpu/config/gpu_workaround_list.txt b/gpu/config/gpu_workaround_list.txt
|
||||||
--- a/gpu/config/gpu_workaround_list.txt
|
--- a/gpu/config/gpu_workaround_list.txt
|
||||||
+++ b/gpu/config/gpu_workaround_list.txt
|
+++ b/gpu/config/gpu_workaround_list.txt
|
||||||
@@ -15,6 +15,7 @@ decode_encode_srgb_for_generatemipmap
|
@@ -11,6 +11,7 @@ clamp_texture_base_level_and_max_level
|
||||||
depth_stencil_renderbuffer_resize_emulation
|
clear_pixel_unpack_buffer_before_copyteximage
|
||||||
disable_2d_canvas_auto_flush
|
disable_2d_canvas_auto_flush
|
||||||
disable_accelerated_av1_decode
|
disable_accelerated_av1_decode
|
||||||
+disable_aimagereader
|
+disable_aimagereader
|
||||||
@@ -188,14 +209,24 @@ diff --git a/gpu/config/gpu_workaround_list.txt b/gpu/config/gpu_workaround_list
|
|||||||
diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
|
diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
|
||||||
--- a/gpu/ipc/service/gpu_init.cc
|
--- a/gpu/ipc/service/gpu_init.cc
|
||||||
+++ b/gpu/ipc/service/gpu_init.cc
|
+++ b/gpu/ipc/service/gpu_init.cc
|
||||||
@@ -616,6 +616,11 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
|
@@ -65,6 +65,7 @@
|
||||||
|
|
||||||
|
#if BUILDFLAG(IS_ANDROID)
|
||||||
|
#include "ui/gfx/android/android_surface_control_compat.h"
|
||||||
|
+#include "base/android/android_image_reader_compat.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if BUILDFLAG(ENABLE_VULKAN)
|
||||||
|
@@ -662,6 +663,13 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
|
||||||
}
|
}
|
||||||
#endif // BUILDFLAG(IS_WIN)
|
#endif // BUILDFLAG(IS_WIN)
|
||||||
|
|
||||||
|
+#if BUILDFLAG(IS_ANDROID)
|
||||||
+ // Disable AImageReader if the workaround is enabled.
|
+ // Disable AImageReader if the workaround is enabled.
|
||||||
+ if (gpu_feature_info_.IsWorkaroundEnabled(DISABLE_AIMAGEREADER)) {
|
+ if (gpu_feature_info_.IsWorkaroundEnabled(DISABLE_AIMAGEREADER)) {
|
||||||
+ base::android::AndroidImageReader::DisableSupport();
|
+ base::android::AndroidImageReader::GetInstance().DisableSupport();
|
||||||
+ }
|
+ }
|
||||||
|
+#endif
|
||||||
+
|
+
|
||||||
if (gpu_feature_info_.status_values[GPU_FEATURE_TYPE_VULKAN] !=
|
if (gpu_feature_info_.status_values[GPU_FEATURE_TYPE_VULKAN] !=
|
||||||
kGpuFeatureStatusEnabled ||
|
kGpuFeatureStatusEnabled ||
|
||||||
@@ -228,31 +259,4 @@ diff --git a/gpu/ipc/service/stream_texture_android.cc b/gpu/ipc/service/stream_
|
|||||||
? TextureOwner::Mode::kAImageReaderInsecure
|
? TextureOwner::Mode::kAImageReaderInsecure
|
||||||
: TextureOwner::Mode::kSurfaceTextureInsecure;
|
: TextureOwner::Mode::kSurfaceTextureInsecure;
|
||||||
}
|
}
|
||||||
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
|
|
||||||
@@ -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
|
|
||||||
+// Enables the Android Image Reader path for Video decoding(for AVDA and MCVD)
|
|
||||||
+BASE_FEATURE(kAImageReaderVideoOutput,
|
|
||||||
+ "AImageReaderVideoOutput",
|
|
||||||
+ base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
+
|
|
||||||
// in playback failures.
|
|
||||||
BASE_FEATURE(kHardwareSecureDecryptionFallback,
|
|
||||||
"HardwareSecureDecryptionFallback",
|
|
||||||
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
|
|
||||||
@@ -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);
|
|
||||||
MEDIA_EXPORT BASE_DECLARE_FEATURE(kWebrtcMediaCapabilitiesParameters);
|
|
||||||
--
|
--
|
||||||
2.25.1
|
|
||||||
|
|||||||
@@ -5,20 +5,22 @@ Subject: Add AllowUserCertificates flag
|
|||||||
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
---
|
---
|
||||||
.../src/org/chromium/chrome/browser/app/ChromeActivity.java | 3 +++
|
.../chromium/chrome/browser/app/ChromeActivity.java | 3 +++
|
||||||
chrome/browser/about_flags.cc | 4 ++++
|
chrome/browser/flags/android/chrome_feature_list.cc | 1 +
|
||||||
chrome/browser/flag_descriptions.cc | 5 +++++
|
.../chrome/browser/flags/ChromeFeatureList.java | 4 ++++
|
||||||
chrome/browser/flag_descriptions.h | 3 +++
|
.../Add-AllowUserCertificates-flag.inc | 13 +++++++++++++
|
||||||
chrome/browser/flags/android/chrome_feature_list.cc | 5 +++++
|
.../Add-AllowUserCertificates-flag.inc | 3 +++
|
||||||
chrome/browser/flags/android/chrome_feature_list.h | 1 +
|
.../Add-AllowUserCertificates-flag.inc | 1 +
|
||||||
.../org/chromium/chrome/browser/flags/ChromeFeatureList.java | 4 ++++
|
net/android/java/src/org/chromium/net/X509Util.java | 5 +++++
|
||||||
net/android/java/src/org/chromium/net/X509Util.java | 5 +++++
|
7 files changed, 30 insertions(+)
|
||||||
8 files changed, 30 insertions(+)
|
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-AllowUserCertificates-flag.inc
|
||||||
|
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Add-AllowUserCertificates-flag.inc
|
||||||
|
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/Add-AllowUserCertificates-flag.inc
|
||||||
|
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||||
@@ -231,6 +231,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider;
|
@@ -230,6 +230,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider;
|
||||||
import org.chromium.content_public.browser.SelectionPopupController;
|
import org.chromium.content_public.browser.SelectionPopupController;
|
||||||
import org.chromium.content_public.browser.WebContents;
|
import org.chromium.content_public.browser.WebContents;
|
||||||
import org.chromium.content_public.common.ContentSwitches;
|
import org.chromium.content_public.common.ContentSwitches;
|
||||||
@@ -26,7 +28,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
|||||||
import org.chromium.printing.PrintManagerDelegateImpl;
|
import org.chromium.printing.PrintManagerDelegateImpl;
|
||||||
import org.chromium.printing.PrintingController;
|
import org.chromium.printing.PrintingController;
|
||||||
import org.chromium.printing.PrintingControllerImpl;
|
import org.chromium.printing.PrintingControllerImpl;
|
||||||
@@ -973,6 +974,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
@@ -1064,6 +1065,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||||
super.onStartWithNative();
|
super.onStartWithNative();
|
||||||
ChromeActivitySessionTracker.getInstance().onStartWithNative();
|
ChromeActivitySessionTracker.getInstance().onStartWithNative();
|
||||||
ChromeCachedFlags.getInstance().cacheNativeFlags();
|
ChromeCachedFlags.getInstance().cacheNativeFlags();
|
||||||
@@ -35,130 +37,97 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
|||||||
|
|
||||||
// postDeferredStartupIfNeeded() is called in TabModelSelectorTabObsever#onLoadStopped(),
|
// postDeferredStartupIfNeeded() is called in TabModelSelectorTabObsever#onLoadStopped(),
|
||||||
// #onPageLoadFinished() and #onCrash(). If we are not actively loading a tab (e.g.
|
// #onPageLoadFinished() and #onCrash(). If we are not actively loading a tab (e.g.
|
||||||
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
|
|
||||||
@@ -9180,6 +9180,10 @@ const FeatureEntry kFeatureEntries[] = {
|
|
||||||
flag_descriptions::kHttpsUpgradesDescription, kOsDesktop | kOsAndroid,
|
|
||||||
FEATURE_VALUE_TYPE(features::kHttpsUpgrades)},
|
|
||||||
|
|
||||||
+ {"allow-user-certificates",
|
|
||||||
+ flag_descriptions::kAllowUserCertificatesName,
|
|
||||||
+ flag_descriptions::kAllowUserCertificatesDescription, kOsAndroid,
|
|
||||||
+ FEATURE_VALUE_TYPE(chrome::android::kAllowUserCertificates)},
|
|
||||||
{"omnibox-updated-connection-security-indicators",
|
|
||||||
flag_descriptions::kOmniboxUpdatedConnectionSecurityIndicatorsName,
|
|
||||||
flag_descriptions::kOmniboxUpdatedConnectionSecurityIndicatorsDescription,
|
|
||||||
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
|
|
||||||
@@ -16,6 +16,11 @@
|
|
||||||
|
|
||||||
namespace flag_descriptions {
|
|
||||||
|
|
||||||
+const char kAllowUserCertificatesName[] = "Allow user certificates";
|
|
||||||
+const char kAllowUserCertificatesDescription[] =
|
|
||||||
+ "Allow user CA certificates during "
|
|
||||||
+ "validation of the certificate chain";
|
|
||||||
+
|
|
||||||
const char kAccelerated2dCanvasName[] = "Accelerated 2D canvas";
|
|
||||||
const char kAccelerated2dCanvasDescription[] =
|
|
||||||
"Enables the use of the GPU to perform 2d canvas rendering instead of "
|
|
||||||
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
|
|
||||||
@@ -42,6 +42,9 @@ namespace flag_descriptions {
|
|
||||||
|
|
||||||
// Cross-platform -------------------------------------------------------------
|
|
||||||
|
|
||||||
+extern const char kAllowUserCertificatesName[];
|
|
||||||
+extern const char kAllowUserCertificatesDescription[];
|
|
||||||
+
|
|
||||||
extern const char kAccelerated2dCanvasName[];
|
|
||||||
extern const char kAccelerated2dCanvasDescription[];
|
|
||||||
|
|
||||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||||
@@ -142,6 +142,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
@@ -136,6 +136,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||||
&feed::kFeedBoCSigninInterstitial,
|
&feed::kFeedShowSignInCommand,
|
||||||
|
&feed::kFeedSignedOutViewDemotion,
|
||||||
&feed::kFeedUserInteractionReliabilityReport,
|
&feed::kFeedUserInteractionReliabilityReport,
|
||||||
&feed::kInterestFeedContentSuggestions,
|
|
||||||
+ &kAllowUserCertificates,
|
+ &kAllowUserCertificates,
|
||||||
&feed::kInterestFeedV2,
|
&feed::kInterestFeedV2,
|
||||||
&feed::kInterestFeedV2Autoplay,
|
|
||||||
&feed::kInterestFeedV2Hearts,
|
&feed::kInterestFeedV2Hearts,
|
||||||
@@ -458,6 +459,10 @@ BASE_FEATURE(kSearchReadyOmniboxFeature,
|
&feed::kWebFeed,
|
||||||
"SearchReadyOmnibox",
|
|
||||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
|
|
||||||
+BASE_FEATURE(kAllowUserCertificates,
|
|
||||||
+ "AllowUserCertificates",
|
|
||||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
+
|
|
||||||
BASE_FEATURE(kFocusOmniboxInIncognitoTabIntents,
|
|
||||||
"FocusOmniboxInIncognitoTabIntents",
|
|
||||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
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
|
|
||||||
@@ -20,6 +20,7 @@ BASE_DECLARE_FEATURE(kAdaptiveButtonInTopToolbarCustomizationV2);
|
|
||||||
BASE_DECLARE_FEATURE(kAddToHomescreenIPH);
|
|
||||||
BASE_DECLARE_FEATURE(kAllowNewIncognitoTabIntents);
|
|
||||||
BASE_DECLARE_FEATURE(kAndroidAppIntegration);
|
|
||||||
+BASE_DECLARE_FEATURE(kAllowUserCertificates);
|
|
||||||
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
|
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||||
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||||
@@ -98,6 +98,7 @@ public abstract class ChromeFeatureList {
|
@@ -141,6 +141,7 @@ public abstract class ChromeFeatureList {
|
||||||
|
return ChromeFeatureMap.getInstance().mutableFlagWithSafeDefault(featureName, defaultValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Alphabetical: */
|
|
||||||
+ public static final String ALLOW_USER_CERTIFICATES = "AllowUserCertificates";
|
+ public static final String ALLOW_USER_CERTIFICATES = "AllowUserCertificates";
|
||||||
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR = "AdaptiveButtonInTopToolbar";
|
|
||||||
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_TRANSLATE =
|
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_TRANSLATE =
|
||||||
"AdaptiveButtonInTopToolbarTranslate";
|
"AdaptiveButtonInTopToolbarTranslate";
|
||||||
@@ -499,6 +500,8 @@ public abstract class ChromeFeatureList {
|
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_ADD_TO_BOOKMARKS =
|
||||||
public static final String XSURFACE_METRICS_REPORTING = "XsurfaceMetricsReporting";
|
@@ -533,6 +534,8 @@ public abstract class ChromeFeatureList {
|
||||||
|
public static final CachedFlag sAndroidHub = newCachedFlag(ANDROID_HUB, false);
|
||||||
/* Alphabetical: */
|
public static final CachedFlag sAndroidTabGroupStableIds =
|
||||||
|
newCachedFlag(ANDROID_TAB_GROUP_STABLE_IDS, false);
|
||||||
+ public static final CachedFlag sAllowUserCertificates =
|
+ public static final CachedFlag sAllowUserCertificates =
|
||||||
+ new CachedFlag(ALLOW_USER_CERTIFICATES, false);
|
+ newCachedFlag(ALLOW_USER_CERTIFICATES, false);
|
||||||
public static final CachedFlag sAppMenuMobileSiteOption =
|
public static final CachedFlag sArchiveTabService = newCachedFlag(ARCHIVE_TAB_SERVICE, false);
|
||||||
new CachedFlag(APP_MENU_MOBILE_SITE_OPTION, false);
|
|
||||||
public static final CachedFlag sBackGestureActivityTabProvider =
|
public static final CachedFlag sBackGestureActivityTabProvider =
|
||||||
@@ -622,6 +625,7 @@ public abstract class ChromeFeatureList {
|
newCachedFlag(BACK_GESTURE_ACTIVITY_TAB_PROVIDER, false);
|
||||||
|
@@ -679,6 +682,7 @@ public abstract class ChromeFeatureList {
|
||||||
|
|
||||||
public static final List<CachedFlag> sFlagsCachedFullBrowser = List.of(
|
public static final List<CachedFlag> sFlagsCachedFullBrowser =
|
||||||
// clang-format off
|
List.of(
|
||||||
+ sAllowUserCertificates,
|
+ sAllowUserCertificates,
|
||||||
sAppMenuMobileSiteOption,
|
sAndroidAppIntegration,
|
||||||
sBackGestureActivityTabProvider,
|
sAndroidElegantTextHeight,
|
||||||
sBackGestureRefactorActivityAndroid,
|
sAndroidHub,
|
||||||
|
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Add-AllowUserCertificates-flag.inc b/cromite_flags/chrome/browser/about_flags_cc/Add-AllowUserCertificates-flag.inc
|
||||||
|
new file mode 100644
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/cromite_flags/chrome/browser/about_flags_cc/Add-AllowUserCertificates-flag.inc
|
||||||
|
@@ -0,0 +1,13 @@
|
||||||
|
+#ifdef FLAG_SECTION
|
||||||
|
+
|
||||||
|
+#if BUILDFLAG(IS_ANDROID)
|
||||||
|
+
|
||||||
|
+ {"allow-user-certificates",
|
||||||
|
+ "Allow user certificates",
|
||||||
|
+ "Allow user CA certificates during "
|
||||||
|
+ "validation of the certificate chain", kOsAndroid,
|
||||||
|
+ FEATURE_VALUE_TYPE(chrome::android::kAllowUserCertificates)},
|
||||||
|
+
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#endif
|
||||||
|
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Add-AllowUserCertificates-flag.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Add-AllowUserCertificates-flag.inc
|
||||||
|
new file mode 100644
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Add-AllowUserCertificates-flag.inc
|
||||||
|
@@ -0,0 +1,3 @@
|
||||||
|
+CROMITE_FEATURE(kAllowUserCertificates,
|
||||||
|
+ "AllowUserCertificates",
|
||||||
|
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||||
|
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/Add-AllowUserCertificates-flag.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/Add-AllowUserCertificates-flag.inc
|
||||||
|
new file mode 100644
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/Add-AllowUserCertificates-flag.inc
|
||||||
|
@@ -0,0 +1 @@
|
||||||
|
+BASE_DECLARE_FEATURE(kAllowUserCertificates);
|
||||||
diff --git a/net/android/java/src/org/chromium/net/X509Util.java b/net/android/java/src/org/chromium/net/X509Util.java
|
diff --git a/net/android/java/src/org/chromium/net/X509Util.java b/net/android/java/src/org/chromium/net/X509Util.java
|
||||||
--- a/net/android/java/src/org/chromium/net/X509Util.java
|
--- a/net/android/java/src/org/chromium/net/X509Util.java
|
||||||
+++ b/net/android/java/src/org/chromium/net/X509Util.java
|
+++ b/net/android/java/src/org/chromium/net/X509Util.java
|
||||||
@@ -545,6 +545,8 @@ public class X509Util {
|
@@ -525,6 +525,8 @@ public class X509Util {
|
||||||
return userRootBytes.toArray(new byte[0][]);
|
return userRootBytes.toArray(new byte[0][]);
|
||||||
}
|
}
|
||||||
|
|
||||||
+ public static boolean AllowUserCertificates = false;
|
+ public static boolean AllowUserCertificates = false;
|
||||||
+
|
+
|
||||||
public static AndroidCertVerifyResult verifyServerCertificates(byte[][] certChain,
|
public static AndroidCertVerifyResult verifyServerCertificates(
|
||||||
String authType,
|
byte[][] certChain, String authType, String host)
|
||||||
String host)
|
throws KeyStoreException, NoSuchAlgorithmException {
|
||||||
@@ -631,6 +633,9 @@ public class X509Util {
|
@@ -613,6 +615,9 @@ public class X509Util {
|
||||||
isIssuedByKnownRoot = isKnownRoot(root);
|
isIssuedByKnownRoot = isKnownRoot(root);
|
||||||
}
|
}
|
||||||
|
|
||||||
+ if (AllowUserCertificates == false && isIssuedByKnownRoot == false)
|
+ if (AllowUserCertificates == false && isIssuedByKnownRoot == false)
|
||||||
+ return new AndroidCertVerifyResult(CertVerifyStatusAndroid.NO_TRUSTED_ROOT);
|
+ return new AndroidCertVerifyResult(CertVerifyStatusAndroid.NO_TRUSTED_ROOT);
|
||||||
+
|
+
|
||||||
return new AndroidCertVerifyResult(CertVerifyStatusAndroid.OK,
|
return new AndroidCertVerifyResult(
|
||||||
isIssuedByKnownRoot, verifiedChain);
|
CertVerifyStatusAndroid.OK, isIssuedByKnownRoot, verifiedChain);
|
||||||
}
|
}
|
||||||
--
|
--
|
||||||
2.25.1
|
|
||||||
|
|||||||
@@ -10,14 +10,13 @@ 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/KeyboardShortcuts.java b/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java b/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
|
||||||
@@ -151,6 +151,8 @@ public class KeyboardShortcuts {
|
@@ -204,6 +204,8 @@ public class KeyboardShortcuts {
|
||||||
KeyEvent.KEYCODE_F, KeyEvent.META_CTRL_ON);
|
R.string.keyboard_shortcut_address_bar,
|
||||||
addShortcut(context, chromeFeatureShortcutGroup, R.string.keyboard_shortcut_address_bar,
|
KeyEvent.KEYCODE_L,
|
||||||
KeyEvent.KEYCODE_L, KeyEvent.META_CTRL_ON);
|
KeyEvent.META_CTRL_ON);
|
||||||
+ addShortcut(context, chromeFeatureShortcutGroup, R.string.keyboard_shortcut_address_bar,
|
+ addShortcut(context, chromeFeatureShortcutGroup, R.string.keyboard_shortcut_address_bar,
|
||||||
+ KeyEvent.KEYCODE_D, KeyEvent.META_ALT_ON);
|
+ KeyEvent.KEYCODE_D, KeyEvent.META_ALT_ON);
|
||||||
shortcutGroups.add(chromeFeatureShortcutGroup);
|
shortcutGroups.add(chromeFeatureShortcutGroup);
|
||||||
|
|
||||||
KeyboardShortcutGroup webpageShortcutGroup = new KeyboardShortcutGroup(
|
KeyboardShortcutGroup webpageShortcutGroup =
|
||||||
--
|
--
|
||||||
2.25.1
|
|
||||||
|
|||||||
@@ -1,859 +0,0 @@
|
|||||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
|
||||||
Date: Thu, 12 Oct 2017 11:06:18 +0200
|
|
||||||
Subject: Add DuckDuckGo Lite search engine
|
|
||||||
|
|
||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|
||||||
---
|
|
||||||
.../search_engines/prepopulated_engines.json | 10 +
|
|
||||||
.../search_engines/search_engine_type.h | 1 +
|
|
||||||
.../template_url_prepopulate_data.cc | 184 +++++++++---------
|
|
||||||
3 files changed, 103 insertions(+), 92 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/components/search_engines/prepopulated_engines.json b/components/search_engines/prepopulated_engines.json
|
|
||||||
--- a/components/search_engines/prepopulated_engines.json
|
|
||||||
+++ b/components/search_engines/prepopulated_engines.json
|
|
||||||
@@ -102,6 +102,16 @@
|
|
||||||
"id": 92
|
|
||||||
},
|
|
||||||
|
|
||||||
+ "duckduckgo_light": {
|
|
||||||
+ "name": "DuckDuckGo Light",
|
|
||||||
+ "keyword": "duckduckgo.com/lite",
|
|
||||||
+ "favicon_url": "https://duckduckgo.com/favicon.ico",
|
|
||||||
+ "search_url": "https://duckduckgo.com/lite/?q={searchTerms}",
|
|
||||||
+ "suggest_url": "https://duckduckgo.com/ac/?q={searchTerms}&type=list",
|
|
||||||
+ "type": "SEARCH_ENGINE_DUCKDUCKGOLIGHT",
|
|
||||||
+ "id": 12
|
|
||||||
+ },
|
|
||||||
+
|
|
||||||
"ecosia": {
|
|
||||||
"name": "Ecosia",
|
|
||||||
"keyword": "ecosia.org",
|
|
||||||
diff --git a/components/search_engines/search_engine_type.h b/components/search_engines/search_engine_type.h
|
|
||||||
--- a/components/search_engines/search_engine_type.h
|
|
||||||
+++ b/components/search_engines/search_engine_type.h
|
|
||||||
@@ -79,6 +79,7 @@ enum SearchEngineType {
|
|
||||||
SEARCH_ENGINE_STARTER_PACK_HISTORY = 62,
|
|
||||||
SEARCH_ENGINE_STARTER_PACK_TABS = 63,
|
|
||||||
SEARCH_ENGINE_GOOGLE_EN = 64,
|
|
||||||
+ SEARCH_ENGINE_DUCKDUCKGOLIGHT = 65,
|
|
||||||
|
|
||||||
SEARCH_ENGINE_MAX // Bounding value needed for UMA histogram macro.
|
|
||||||
};
|
|
||||||
diff --git a/components/search_engines/template_url_prepopulate_data.cc b/components/search_engines/template_url_prepopulate_data.cc
|
|
||||||
--- a/components/search_engines/template_url_prepopulate_data.cc
|
|
||||||
+++ b/components/search_engines/template_url_prepopulate_data.cc
|
|
||||||
@@ -42,7 +42,7 @@ const PrepopulatedEngine* const engines_AE[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&yandex_ru,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -60,7 +60,7 @@ const PrepopulatedEngine* const engines_AR[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo_ar,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -68,7 +68,7 @@ const PrepopulatedEngine* const engines_AR[] = {
|
|
||||||
const PrepopulatedEngine* const engines_AT[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
- &yahoo_at,
|
|
||||||
+ &yahoo_at, &duckduckgo_light,
|
|
||||||
&duckduckgo,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
@@ -78,7 +78,7 @@ const PrepopulatedEngine* const engines_AU[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo_au,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -87,7 +87,7 @@ const PrepopulatedEngine* const engines_BA[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&yandex_com,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -97,7 +97,7 @@ const PrepopulatedEngine* const engines_BE[] = {
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
&ecosia,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Bulgaria
|
|
||||||
@@ -105,7 +105,7 @@ const PrepopulatedEngine* const engines_BG[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&yandex_ru,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -114,7 +114,7 @@ const PrepopulatedEngine* const engines_BH[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -123,7 +123,7 @@ const PrepopulatedEngine* const engines_BI[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&yandex_ru,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -132,7 +132,7 @@ const PrepopulatedEngine* const engines_BN[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -141,7 +141,7 @@ const PrepopulatedEngine* const engines_BO[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -150,7 +150,7 @@ const PrepopulatedEngine* const engines_BR[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo_br,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&yandex_com,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -160,7 +160,7 @@ const PrepopulatedEngine* const engines_BY[] = {
|
|
||||||
&yandex_by,
|
|
||||||
&mail_ru,
|
|
||||||
&bing,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Belize
|
|
||||||
@@ -177,7 +177,7 @@ const PrepopulatedEngine* const engines_CA[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo_ca,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -185,7 +185,7 @@ const PrepopulatedEngine* const engines_CA[] = {
|
|
||||||
const PrepopulatedEngine* const engines_CH[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&yahoo_ch,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
@@ -195,7 +195,7 @@ const PrepopulatedEngine* const engines_CL[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo_cl,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -214,7 +214,7 @@ const PrepopulatedEngine* const engines_CO[] = {
|
|
||||||
&bing,
|
|
||||||
&yahoo_co,
|
|
||||||
&duckduckgo,
|
|
||||||
- &ecosia,
|
|
||||||
+ &ecosia, &duckduckgo_light,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Costa Rica
|
|
||||||
@@ -222,7 +222,7 @@ const PrepopulatedEngine* const engines_CR[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -232,7 +232,7 @@ const PrepopulatedEngine* const engines_CZ[] = {
|
|
||||||
&seznam_cz,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Germany
|
|
||||||
@@ -240,7 +240,7 @@ const PrepopulatedEngine* const engines_DE[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo_de,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -249,7 +249,7 @@ const PrepopulatedEngine* const engines_DK[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo_dk,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -258,7 +258,7 @@ const PrepopulatedEngine* const engines_DO[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -268,7 +268,7 @@ const PrepopulatedEngine* const engines_DZ[] = {
|
|
||||||
&bing,
|
|
||||||
&yahoo_fr,
|
|
||||||
&yandex_com,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Ecuador
|
|
||||||
@@ -295,7 +295,7 @@ const PrepopulatedEngine* const engines_EG[] = {
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
&yandex_com,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Spain
|
|
||||||
@@ -303,7 +303,7 @@ const PrepopulatedEngine* const engines_ES[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo_es,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -312,7 +312,7 @@ const PrepopulatedEngine* const engines_FI[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo_fi,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&yandex_ru,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -339,7 +339,7 @@ const PrepopulatedEngine* const engines_GB[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo_uk,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -348,7 +348,7 @@ const PrepopulatedEngine* const engines_GR[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&yandex_ru,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -357,7 +357,7 @@ const PrepopulatedEngine* const engines_GT[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -367,7 +367,7 @@ const PrepopulatedEngine* const engines_HK[] = {
|
|
||||||
&bing,
|
|
||||||
&yahoo_hk,
|
|
||||||
&baidu,
|
|
||||||
- &so_360,
|
|
||||||
+ &so_360, &duckduckgo_light,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Honduras
|
|
||||||
@@ -375,7 +375,7 @@ const PrepopulatedEngine* const engines_HN[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -393,7 +393,7 @@ const PrepopulatedEngine* const engines_HU[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&yandex_com,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -402,7 +402,7 @@ const PrepopulatedEngine* const engines_ID[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo_id,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&yandex_com,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -411,7 +411,7 @@ const PrepopulatedEngine* const engines_IE[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo_uk,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -421,7 +421,7 @@ const PrepopulatedEngine* const engines_IL[] = {
|
|
||||||
&bing,
|
|
||||||
&yandex_ru,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
};
|
|
||||||
|
|
||||||
// India
|
|
||||||
@@ -429,7 +429,7 @@ const PrepopulatedEngine* const engines_IN[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo_in,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&info_com,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -439,7 +439,7 @@ const PrepopulatedEngine* const engines_IQ[] = {
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
&yandex_tr,
|
|
||||||
- &petal_search,
|
|
||||||
+ &petal_search, &duckduckgo_light,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Iran
|
|
||||||
@@ -448,14 +448,14 @@ const PrepopulatedEngine* const engines_IR[] = {
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
&duckduckgo,
|
|
||||||
- &ask,
|
|
||||||
+ &ask, &duckduckgo_light,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Iceland
|
|
||||||
const PrepopulatedEngine* const engines_IS[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&yahoo,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
@@ -465,7 +465,7 @@ const PrepopulatedEngine* const engines_IT[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -474,7 +474,7 @@ const PrepopulatedEngine* const engines_JM[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -492,7 +492,7 @@ const PrepopulatedEngine* const engines_JP[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo_jp,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&baidu,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -501,7 +501,7 @@ const PrepopulatedEngine* const engines_KE[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&yandex_com,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -529,7 +529,7 @@ const PrepopulatedEngine* const engines_KZ[] = {
|
|
||||||
&yandex_kz,
|
|
||||||
&mail_ru,
|
|
||||||
&bing,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Lebanon
|
|
||||||
@@ -537,7 +537,7 @@ const PrepopulatedEngine* const engines_LB[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -545,7 +545,7 @@ const PrepopulatedEngine* const engines_LB[] = {
|
|
||||||
const PrepopulatedEngine* const engines_LI[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&yahoo,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
@@ -555,7 +555,7 @@ const PrepopulatedEngine* const engines_LT[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yandex_ru,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&yahoo,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -563,7 +563,7 @@ const PrepopulatedEngine* const engines_LT[] = {
|
|
||||||
const PrepopulatedEngine* const engines_LU[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&yahoo,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
@@ -574,7 +574,7 @@ const PrepopulatedEngine* const engines_LV[] = {
|
|
||||||
&bing,
|
|
||||||
&yandex_ru,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Libya
|
|
||||||
@@ -583,7 +583,7 @@ const PrepopulatedEngine* const engines_LY[] = {
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
&yandex_tr,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Morocco
|
|
||||||
@@ -592,14 +592,14 @@ const PrepopulatedEngine* const engines_MA[] = {
|
|
||||||
&bing,
|
|
||||||
&yahoo_fr,
|
|
||||||
&yandex_com,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Monaco
|
|
||||||
const PrepopulatedEngine* const engines_MC[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
- &yahoo_fr,
|
|
||||||
+ &yahoo_fr, &duckduckgo_light,
|
|
||||||
&duckduckgo,
|
|
||||||
&qwant,
|
|
||||||
};
|
|
||||||
@@ -619,7 +619,7 @@ const PrepopulatedEngine* const engines_ME[] = {
|
|
||||||
&bing,
|
|
||||||
&yandex_ru,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Macedonia
|
|
||||||
@@ -627,7 +627,7 @@ const PrepopulatedEngine* const engines_MK[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&yandex_com,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -636,7 +636,7 @@ const PrepopulatedEngine* const engines_MX[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo_mx,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -645,7 +645,7 @@ const PrepopulatedEngine* const engines_MY[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo_my,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -654,7 +654,7 @@ const PrepopulatedEngine* const engines_NI[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -663,7 +663,7 @@ const PrepopulatedEngine* const engines_NL[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo_nl,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&yandex_ru,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -672,7 +672,7 @@ const PrepopulatedEngine* const engines_NO[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -681,7 +681,7 @@ const PrepopulatedEngine* const engines_NZ[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo_nz,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -699,7 +699,7 @@ const PrepopulatedEngine* const engines_PA[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo_es,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -709,7 +709,7 @@ const PrepopulatedEngine* const engines_PE[] = {
|
|
||||||
&bing,
|
|
||||||
&yahoo_pe,
|
|
||||||
&ecosia,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Philippines
|
|
||||||
@@ -718,7 +718,7 @@ const PrepopulatedEngine* const engines_PH[] = {
|
|
||||||
&bing,
|
|
||||||
&yahoo_ph,
|
|
||||||
&ecosia,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Pakistan
|
|
||||||
@@ -726,7 +726,7 @@ const PrepopulatedEngine* const engines_PK[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&yandex_com,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -735,7 +735,7 @@ const PrepopulatedEngine* const engines_PL[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&yandex_ru,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -744,7 +744,7 @@ const PrepopulatedEngine* const engines_PR[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -753,7 +753,7 @@ const PrepopulatedEngine* const engines_PT[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -762,7 +762,7 @@ const PrepopulatedEngine* const engines_PY[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo_es,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -771,7 +771,7 @@ const PrepopulatedEngine* const engines_QA[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&yandex_tr,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -780,7 +780,7 @@ const PrepopulatedEngine* const engines_RO[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&yandex_tr,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -789,7 +789,7 @@ const PrepopulatedEngine* const engines_RS[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&yandex_ru,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -799,7 +799,7 @@ const PrepopulatedEngine* const engines_RU[] = {
|
|
||||||
&google,
|
|
||||||
&duckduckgo,
|
|
||||||
&bing,
|
|
||||||
- &mail_ru,
|
|
||||||
+ &mail_ru, &duckduckgo_light,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Rwanda
|
|
||||||
@@ -807,7 +807,7 @@ const PrepopulatedEngine* const engines_RW[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -817,7 +817,7 @@ const PrepopulatedEngine* const engines_SA[] = {
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
&yandex_com,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Sweden
|
|
||||||
@@ -825,7 +825,7 @@ const PrepopulatedEngine* const engines_SE[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo_se,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&yandex_ru,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -834,7 +834,7 @@ const PrepopulatedEngine* const engines_SG[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo_sg,
|
|
||||||
- &baidu,
|
|
||||||
+ &baidu, &duckduckgo_light,
|
|
||||||
&duckduckgo,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -842,7 +842,7 @@ const PrepopulatedEngine* const engines_SG[] = {
|
|
||||||
const PrepopulatedEngine* const engines_SI[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&yahoo,
|
|
||||||
&yandex_com,
|
|
||||||
};
|
|
||||||
@@ -851,7 +851,7 @@ const PrepopulatedEngine* const engines_SI[] = {
|
|
||||||
const PrepopulatedEngine* const engines_SK[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&yahoo,
|
|
||||||
&yandex_ru,
|
|
||||||
};
|
|
||||||
@@ -861,7 +861,7 @@ const PrepopulatedEngine* const engines_SV[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo_es,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -871,7 +871,7 @@ const PrepopulatedEngine* const engines_SY[] = {
|
|
||||||
&bing,
|
|
||||||
&yandex_ru,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Thailand
|
|
||||||
@@ -888,7 +888,7 @@ const PrepopulatedEngine* const engines_TN[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo_fr,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&yandex_com,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -898,7 +898,7 @@ const PrepopulatedEngine* const engines_TR[] = {
|
|
||||||
&yandex_tr,
|
|
||||||
&yahoo_tr,
|
|
||||||
&bing,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Trinidad and Tobago
|
|
||||||
@@ -906,7 +906,7 @@ const PrepopulatedEngine* const engines_TT[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&yandex_com,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -915,8 +915,8 @@ const PrepopulatedEngine* const engines_TW[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&yahoo_tw,
|
|
||||||
&bing,
|
|
||||||
- &baidu,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &baidu, &duckduckgo_light,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Tanzania
|
|
||||||
@@ -924,7 +924,7 @@ const PrepopulatedEngine* const engines_TZ[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -942,7 +942,7 @@ const PrepopulatedEngine* const engines_US[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -951,7 +951,7 @@ const PrepopulatedEngine* const engines_UY[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo_es,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -978,8 +978,8 @@ const PrepopulatedEngine* const engines_YE[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
- &yandex_com,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
+ &yandex_com, &duckduckgo_light,
|
|
||||||
};
|
|
||||||
|
|
||||||
// South Africa
|
|
||||||
@@ -987,7 +987,7 @@ const PrepopulatedEngine* const engines_ZA[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -996,7 +996,7 @@ const PrepopulatedEngine* const engines_ZW[] = {
|
|
||||||
&googleen, &google,
|
|
||||||
&bing,
|
|
||||||
&yahoo,
|
|
||||||
- &duckduckgo,
|
|
||||||
+ &duckduckgo, &duckduckgo_light,
|
|
||||||
&ecosia,
|
|
||||||
};
|
|
||||||
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -5,94 +5,55 @@ Subject: Add IsCleartextPermitted flag
|
|||||||
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
---
|
---
|
||||||
chrome/browser/about_flags.cc | 4 ++++
|
.../about_flags_cc/Add-IsCleartextPermitted-flag.inc | 8 ++++++++
|
||||||
chrome/browser/flag_descriptions.cc | 4 ++++
|
.../base/features_cc/Add-IsCleartextPermitted-flag.inc | 3 +++
|
||||||
chrome/browser/flag_descriptions.h | 3 +++
|
.../net/base/features_h/Add-IsCleartextPermitted-flag.inc | 1 +
|
||||||
net/base/features.cc | 4 ++++
|
net/url_request/url_request_http_job.cc | 5 +++++
|
||||||
net/base/features.h | 2 ++
|
4 files changed, 17 insertions(+)
|
||||||
net/url_request/url_request_http_job.cc | 4 ++++
|
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-IsCleartextPermitted-flag.inc
|
||||||
6 files changed, 21 insertions(+)
|
create mode 100644 cromite_flags/net/base/features_cc/Add-IsCleartextPermitted-flag.inc
|
||||||
|
create mode 100644 cromite_flags/net/base/features_h/Add-IsCleartextPermitted-flag.inc
|
||||||
|
|
||||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Add-IsCleartextPermitted-flag.inc b/cromite_flags/chrome/browser/about_flags_cc/Add-IsCleartextPermitted-flag.inc
|
||||||
--- a/chrome/browser/about_flags.cc
|
new file mode 100644
|
||||||
+++ b/chrome/browser/about_flags.cc
|
--- /dev/null
|
||||||
@@ -9391,6 +9391,10 @@ const FeatureEntry kFeatureEntries[] = {
|
+++ b/cromite_flags/chrome/browser/about_flags_cc/Add-IsCleartextPermitted-flag.inc
|
||||||
flag_descriptions::kRequestDesktopSiteExceptionsName,
|
@@ -0,0 +1,8 @@
|
||||||
flag_descriptions::kRequestDesktopSiteExceptionsDescription, kOsAndroid,
|
+#ifdef FLAG_SECTION
|
||||||
FEATURE_VALUE_TYPE(features::kRequestDesktopSiteExceptions)},
|
+
|
||||||
+ {"cleartext-permitted",
|
+ {"cleartext-permitted",
|
||||||
+ flag_descriptions::kIsCleartextPermittedName,
|
+ "Allow cleartext traffic",
|
||||||
+ flag_descriptions::kIsCleartextPermittedDescription, kOsAndroid,
|
+ "Allow insecure connections over HTTP", kOsAll,
|
||||||
+ FEATURE_VALUE_TYPE(net::features::kIsCleartextPermitted)},
|
+ FEATURE_VALUE_TYPE(net::features::kIsCleartextPermitted)},
|
||||||
#endif
|
|
||||||
|
|
||||||
{"export-bookmarks-use-saf",
|
|
||||||
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
|
|
||||||
@@ -1915,6 +1915,10 @@ const char kHttpsUpgradesDescription[] =
|
|
||||||
"Enable automatically upgrading all top-level navigations to HTTPS with "
|
|
||||||
"fast fallback to HTTP.";
|
|
||||||
|
|
||||||
+const char kIsCleartextPermittedName[] = "Allow cleartext traffic";
|
|
||||||
+const char kIsCleartextPermittedDescription[] =
|
|
||||||
+ "Allow insecure connections over HTTP";
|
|
||||||
+
|
+
|
||||||
const char kIgnoreGpuBlocklistName[] = "Override software rendering list";
|
+#endif
|
||||||
const char kIgnoreGpuBlocklistDescription[] =
|
diff --git a/cromite_flags/net/base/features_cc/Add-IsCleartextPermitted-flag.inc b/cromite_flags/net/base/features_cc/Add-IsCleartextPermitted-flag.inc
|
||||||
"Overrides the built-in software rendering list and enables "
|
new file mode 100644
|
||||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
--- /dev/null
|
||||||
--- a/chrome/browser/flag_descriptions.h
|
+++ b/cromite_flags/net/base/features_cc/Add-IsCleartextPermitted-flag.inc
|
||||||
+++ b/chrome/browser/flag_descriptions.h
|
@@ -0,0 +1,3 @@
|
||||||
@@ -1062,6 +1062,9 @@ extern const char kHiddenNetworkMigrationDescription[];
|
+CROMITE_FEATURE(kIsCleartextPermitted,
|
||||||
extern const char kHttpsOnlyModeName[];
|
+ "IsCleartextPermitted",
|
||||||
extern const char kHttpsOnlyModeDescription[];
|
+ base::FEATURE_ENABLED_BY_DEFAULT);
|
||||||
|
diff --git a/cromite_flags/net/base/features_h/Add-IsCleartextPermitted-flag.inc b/cromite_flags/net/base/features_h/Add-IsCleartextPermitted-flag.inc
|
||||||
+extern const char kIsCleartextPermittedName[];
|
new file mode 100644
|
||||||
+extern const char kIsCleartextPermittedDescription[];
|
--- /dev/null
|
||||||
+
|
+++ b/cromite_flags/net/base/features_h/Add-IsCleartextPermitted-flag.inc
|
||||||
extern const char kHttpsFirstModeV2Name[];
|
@@ -0,0 +1 @@
|
||||||
extern const char kHttpsFirstModeV2Description[];
|
|
||||||
|
|
||||||
diff --git a/net/base/features.cc b/net/base/features.cc
|
|
||||||
--- a/net/base/features.cc
|
|
||||||
+++ b/net/base/features.cc
|
|
||||||
@@ -131,6 +131,10 @@ BASE_FEATURE(kEnableCrossSiteFlagNetworkIsolationKey, // must be
|
|
||||||
"EnableCrossSiteFlagNetworkIsolationKey", // disabled
|
|
||||||
base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
|
||||||
|
|
||||||
+BASE_FEATURE(kIsCleartextPermitted,
|
|
||||||
+ "IsCleartextPermitted",
|
|
||||||
+ base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
+
|
|
||||||
BASE_FEATURE(kTLS13KeyUpdate,
|
|
||||||
"TLS13KeyUpdate",
|
|
||||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
diff --git a/net/base/features.h b/net/base/features.h
|
|
||||||
--- a/net/base/features.h
|
|
||||||
+++ b/net/base/features.h
|
|
||||||
@@ -30,6 +30,8 @@ NET_EXPORT BASE_DECLARE_FEATURE(kAvoidH2Reprioritization);
|
|
||||||
// origin requests are restricted to contain at most the source origin.
|
|
||||||
NET_EXPORT BASE_DECLARE_FEATURE(kCapReferrerToOriginOnCrossOrigin);
|
|
||||||
|
|
||||||
+NET_EXPORT BASE_DECLARE_FEATURE(kIsCleartextPermitted);
|
+NET_EXPORT BASE_DECLARE_FEATURE(kIsCleartextPermitted);
|
||||||
+
|
|
||||||
// Support for altering the parameters used for DNS transaction timeout. See
|
|
||||||
// ResolveContext::SecureTransactionTimeout().
|
|
||||||
NET_EXPORT BASE_DECLARE_FEATURE(kDnsTransactionDynamicTimeouts);
|
|
||||||
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
|
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
|
||||||
--- a/net/url_request/url_request_http_job.cc
|
--- a/net/url_request/url_request_http_job.cc
|
||||||
+++ b/net/url_request/url_request_http_job.cc
|
+++ b/net/url_request/url_request_http_job.cc
|
||||||
@@ -212,6 +212,10 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
|
@@ -300,6 +300,11 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if BUILDFLAG(IS_ANDROID)
|
|
||||||
+ if (base::FeatureList::IsEnabled(net::features::kIsCleartextPermitted) == false) {
|
+ if (base::FeatureList::IsEnabled(net::features::kIsCleartextPermitted) == false) {
|
||||||
+ return std::make_unique<URLRequestErrorJob>(request,
|
+ return std::make_unique<URLRequestErrorJob>(request,
|
||||||
+ ERR_CLEARTEXT_NOT_PERMITTED);
|
+ ERR_CLEARTEXT_NOT_PERMITTED);
|
||||||
+ }
|
+ }
|
||||||
|
+
|
||||||
|
#if BUILDFLAG(IS_ANDROID)
|
||||||
// Check whether the app allows cleartext traffic to this host, and return
|
// Check whether the app allows cleartext traffic to this host, and return
|
||||||
// ERR_CLEARTEXT_NOT_PERMITTED if not.
|
// ERR_CLEARTEXT_NOT_PERMITTED if not.
|
||||||
if (request->context()->check_cleartext_permitted() &&
|
|
||||||
--
|
--
|
||||||
2.25.1
|
|
||||||
|
|||||||
@@ -0,0 +1,54 @@
|
|||||||
|
From: uazo <uazo@users.noreply.github.com>
|
||||||
|
Date: Wed, 6 Dec 2023 10:21:45 +0000
|
||||||
|
Subject: Add PartialLowEndModeOnMidRangeDevices flag
|
||||||
|
|
||||||
|
adds a new flag in chrome://flags to re-enable the experiment
|
||||||
|
|
||||||
|
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||||
|
---
|
||||||
|
base/features.cc | 3 +++
|
||||||
|
chrome/browser/about_flags.cc | 1 +
|
||||||
|
.../Add-PartialLowEndModeOnMidRangeDevices-flag.inc | 12 ++++++++++++
|
||||||
|
3 files changed, 16 insertions(+)
|
||||||
|
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-PartialLowEndModeOnMidRangeDevices-flag.inc
|
||||||
|
|
||||||
|
diff --git a/base/features.cc b/base/features.cc
|
||||||
|
--- a/base/features.cc
|
||||||
|
+++ b/base/features.cc
|
||||||
|
@@ -67,4 +67,7 @@ BASE_FEATURE(kCollectAndroidFrameTimelineMetrics,
|
||||||
|
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||||
|
#endif // BUILDFLAG(IS_ANDROID)
|
||||||
|
|
||||||
|
+#if BUILDFLAG(IS_ANDROID)
|
||||||
|
+SET_CROMITE_FEATURE_DISABLED(kPartialLowEndModeOnMidRangeDevices);
|
||||||
|
+#endif
|
||||||
|
} // namespace base::features
|
||||||
|
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
|
||||||
|
@@ -16,6 +16,7 @@
|
||||||
|
#include "base/base_switches.h"
|
||||||
|
#include "base/command_line.h"
|
||||||
|
#include "base/feature_list.h"
|
||||||
|
+#include "base/features.h"
|
||||||
|
#include "base/functional/bind.h"
|
||||||
|
#include "base/functional/callback.h"
|
||||||
|
#include "base/i18n/base_i18n_switches.h"
|
||||||
|
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Add-PartialLowEndModeOnMidRangeDevices-flag.inc b/cromite_flags/chrome/browser/about_flags_cc/Add-PartialLowEndModeOnMidRangeDevices-flag.inc
|
||||||
|
new file mode 100644
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/cromite_flags/chrome/browser/about_flags_cc/Add-PartialLowEndModeOnMidRangeDevices-flag.inc
|
||||||
|
@@ -0,0 +1,12 @@
|
||||||
|
+#if BUILDFLAG(IS_ANDROID)
|
||||||
|
+
|
||||||
|
+#ifdef FLAG_SECTION
|
||||||
|
+
|
||||||
|
+ {"partial-lowendmode-on-midrange-devices",
|
||||||
|
+ "Partial Low End Mode On Mid Range Devices",
|
||||||
|
+ "Enables the LowEndDeviceMode experiment in devices with 4-6 gb of ram.",
|
||||||
|
+ kOsAndroid, FEATURE_VALUE_TYPE(base::features::kPartialLowEndModeOnMidRangeDevices)},
|
||||||
|
+
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#endif
|
||||||
|
--
|
||||||
+13
-18
@@ -3,18 +3,19 @@ Date: Fri, 21 Apr 2023 13:10:20 +0000
|
|||||||
Subject: Add a flag to disable GamePad API
|
Subject: Add a flag to disable GamePad API
|
||||||
|
|
||||||
Adds restrict-gamepad-access flag (default active) to disable GamePad API.
|
Adds restrict-gamepad-access flag (default active) to disable GamePad API.
|
||||||
|
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||||
---
|
---
|
||||||
chrome/browser/flag-metadata.json | 4 ++--
|
chrome/browser/flag-metadata.json | 4 ++--
|
||||||
chrome/browser/flag_descriptions.cc | 2 +-
|
chrome/browser/flag_descriptions.cc | 2 +-
|
||||||
device/gamepad/public/cpp/gamepad_features.cc | 4 ++--
|
device/gamepad/public/cpp/gamepad_features.cc | 1 +
|
||||||
.../blink/renderer/modules/gamepad/navigator_gamepad.cc | 6 ++++++
|
.../blink/renderer/modules/gamepad/navigator_gamepad.cc | 6 ++++++
|
||||||
4 files changed, 11 insertions(+), 5 deletions(-)
|
4 files changed, 10 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
|
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
|
||||||
--- a/chrome/browser/flag-metadata.json
|
--- a/chrome/browser/flag-metadata.json
|
||||||
+++ b/chrome/browser/flag-metadata.json
|
+++ b/chrome/browser/flag-metadata.json
|
||||||
@@ -6837,9 +6837,9 @@
|
@@ -7195,9 +7195,9 @@
|
||||||
"expiry_milestone": 117
|
"expiry_milestone": 125
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
- "name": "restrict-gamepad-access",
|
- "name": "restrict-gamepad-access",
|
||||||
@@ -24,11 +25,11 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
|
|||||||
+ "expiry_milestone": -1
|
+ "expiry_milestone": -1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "revamped-password-management-bubble",
|
"name": "revamp-page-info-ios",
|
||||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||||
--- a/chrome/browser/flag_descriptions.cc
|
--- a/chrome/browser/flag_descriptions.cc
|
||||||
+++ b/chrome/browser/flag_descriptions.cc
|
+++ b/chrome/browser/flag_descriptions.cc
|
||||||
@@ -2981,7 +2981,7 @@ const char kReduceAcceptLanguageDescription[] =
|
@@ -3089,7 +3089,7 @@ const char kResetShortcutCustomizationsDescription[] =
|
||||||
|
|
||||||
const char kRestrictGamepadAccessName[] = "Restrict gamepad access";
|
const char kRestrictGamepadAccessName[] = "Restrict gamepad access";
|
||||||
const char kRestrictGamepadAccessDescription[] =
|
const char kRestrictGamepadAccessDescription[] =
|
||||||
@@ -40,17 +41,12 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
|||||||
diff --git a/device/gamepad/public/cpp/gamepad_features.cc b/device/gamepad/public/cpp/gamepad_features.cc
|
diff --git a/device/gamepad/public/cpp/gamepad_features.cc b/device/gamepad/public/cpp/gamepad_features.cc
|
||||||
--- a/device/gamepad/public/cpp/gamepad_features.cc
|
--- a/device/gamepad/public/cpp/gamepad_features.cc
|
||||||
+++ b/device/gamepad/public/cpp/gamepad_features.cc
|
+++ b/device/gamepad/public/cpp/gamepad_features.cc
|
||||||
@@ -27,8 +27,8 @@ BASE_FEATURE(kEnableWindowsGamingInputDataFetcher,
|
@@ -65,4 +65,5 @@ bool IsGamepadMultitouchEnabled() {
|
||||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
BASE_FEATURE(kRestrictGamepadAccess,
|
+SET_CROMITE_FEATURE_ENABLED(kRestrictGamepadAccess);
|
||||||
- "RestrictGamepadAccess",
|
} // namespace features
|
||||||
- base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
+ "RestrictGamepadAccess", // enabled
|
|
||||||
+ base::FEATURE_ENABLED_BY_DEFAULT); // in bromite
|
|
||||||
|
|
||||||
// Enables gamepad multitouch
|
|
||||||
BASE_FEATURE(kEnableGamepadMultitouch,
|
|
||||||
diff --git a/third_party/blink/renderer/modules/gamepad/navigator_gamepad.cc b/third_party/blink/renderer/modules/gamepad/navigator_gamepad.cc
|
diff --git a/third_party/blink/renderer/modules/gamepad/navigator_gamepad.cc b/third_party/blink/renderer/modules/gamepad/navigator_gamepad.cc
|
||||||
--- a/third_party/blink/renderer/modules/gamepad/navigator_gamepad.cc
|
--- a/third_party/blink/renderer/modules/gamepad/navigator_gamepad.cc
|
||||||
+++ b/third_party/blink/renderer/modules/gamepad/navigator_gamepad.cc
|
+++ b/third_party/blink/renderer/modules/gamepad/navigator_gamepad.cc
|
||||||
@@ -65,7 +61,7 @@ diff --git a/third_party/blink/renderer/modules/gamepad/navigator_gamepad.cc b/t
|
|||||||
if (!navigator.DomWindow()) {
|
if (!navigator.DomWindow()) {
|
||||||
// Using an existing NavigatorGamepad if one exists, but don't create one
|
// Using an existing NavigatorGamepad if one exists, but don't create one
|
||||||
// for a detached window, as its subclasses depend on a non-null window.
|
// for a detached window, as its subclasses depend on a non-null window.
|
||||||
@@ -430,6 +434,8 @@ void NavigatorGamepad::SampleAndCompareGamepadState() {
|
@@ -435,6 +439,8 @@ void NavigatorGamepad::SampleAndCompareGamepadState() {
|
||||||
|
|
||||||
void NavigatorGamepad::DispatchGamepadEvent(const AtomicString& event_name,
|
void NavigatorGamepad::DispatchGamepadEvent(const AtomicString& event_name,
|
||||||
Gamepad* gamepad) {
|
Gamepad* gamepad) {
|
||||||
@@ -75,4 +71,3 @@ diff --git a/third_party/blink/renderer/modules/gamepad/navigator_gamepad.cc b/t
|
|||||||
DCHECK(processing_events_);
|
DCHECK(processing_events_);
|
||||||
DCHECK(has_connection_event_listener_);
|
DCHECK(has_connection_event_listener_);
|
||||||
--
|
--
|
||||||
2.25.1
|
|
||||||
@@ -19,7 +19,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||||||
.../java/res/xml/privacy_preferences.xml | 4 +
|
.../java/res/xml/privacy_preferences.xml | 4 +
|
||||||
.../privacy/settings/PrivacySettings.java | 1 +
|
.../privacy/settings/PrivacySettings.java | 1 +
|
||||||
.../chrome_autocomplete_provider_client.cc | 2 +
|
.../chrome_autocomplete_provider_client.cc | 2 +
|
||||||
chrome/browser/browser_resources.grd | 6 +-
|
chrome/browser/browser_resources.grd | 3 +
|
||||||
|
.../extensions/api/proxy/proxy_api_helpers.cc | 2 +-
|
||||||
chrome/browser/net/proxy_service_factory.cc | 24 +-
|
chrome/browser/net/proxy_service_factory.cc | 24 +-
|
||||||
chrome/browser/net/proxy_service_factory.h | 3 +
|
chrome/browser/net/proxy_service_factory.h | 3 +
|
||||||
chrome/browser/prefs/browser_prefs.cc | 4 +
|
chrome/browser/prefs/browser_prefs.cc | 4 +
|
||||||
@@ -39,7 +40,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||||||
.../proxy_config/proxy_policy_handler.cc | 2 +-
|
.../proxy_config/proxy_policy_handler.cc | 2 +-
|
||||||
net/proxy_resolution/proxy_config.cc | 52 ++-
|
net/proxy_resolution/proxy_config.cc | 52 ++-
|
||||||
net/proxy_resolution/proxy_config.h | 3 +
|
net/proxy_resolution/proxy_config.h | 3 +
|
||||||
24 files changed, 982 insertions(+), 17 deletions(-)
|
25 files changed, 981 insertions(+), 17 deletions(-)
|
||||||
create mode 100644 chrome/browser/resources/proxy_config.css
|
create mode 100644 chrome/browser/resources/proxy_config.css
|
||||||
create mode 100644 chrome/browser/resources/proxy_config.html
|
create mode 100644 chrome/browser/resources/proxy_config.html
|
||||||
create mode 100644 chrome/browser/resources/proxy_config.js
|
create mode 100644 chrome/browser/resources/proxy_config.js
|
||||||
@@ -49,7 +50,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||||||
diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res/values/values.xml
|
diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res/values/values.xml
|
||||||
--- a/chrome/android/java/res/values/values.xml
|
--- a/chrome/android/java/res/values/values.xml
|
||||||
+++ b/chrome/android/java/res/values/values.xml
|
+++ b/chrome/android/java/res/values/values.xml
|
||||||
@@ -27,6 +27,9 @@ found in the LICENSE file.
|
@@ -25,6 +25,9 @@ found in the LICENSE file.
|
||||||
<!-- Compositor Tab Title Text -->
|
<!-- Compositor Tab Title Text -->
|
||||||
<bool name="compositor_tab_title_fake_bold_text">true</bool>
|
<bool name="compositor_tab_title_fake_bold_text">true</bool>
|
||||||
|
|
||||||
@@ -62,10 +63,10 @@ diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res
|
|||||||
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||||
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
||||||
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
|
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||||
@@ -9,6 +9,10 @@ found in the LICENSE file.
|
@@ -10,6 +10,10 @@ found in the LICENSE file.
|
||||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
<PreferenceCategory
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
android:key="privacy_section"
|
||||||
|
android:title="@string/privacy_section_title" />
|
||||||
+ <org.chromium.chrome.browser.about_settings.HyperlinkPreference
|
+ <org.chromium.chrome.browser.about_settings.HyperlinkPreference
|
||||||
+ android:key="proxy"
|
+ android:key="proxy"
|
||||||
+ android:title="@string/proxy_title"
|
+ android:title="@string/proxy_title"
|
||||||
@@ -76,7 +77,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||||
@@ -82,6 +82,7 @@ public class PrivacySettings extends PreferenceFragmentCompat
|
@@ -76,6 +76,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||||
private static final String PREF_SAFE_BROWSING = "safe_browsing";
|
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_SYNC_AND_SERVICES_LINK = "sync_and_services_link";
|
||||||
private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
|
private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
|
||||||
@@ -87,7 +88,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||||||
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||||
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||||
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||||
@@ -304,6 +304,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
|
@@ -308,6 +308,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
|
||||||
builtins_to_provide.push_back(
|
builtins_to_provide.push_back(
|
||||||
base::ASCIIToUTF16(chrome::kChromeUISettingsURL));
|
base::ASCIIToUTF16(chrome::kChromeUISettingsURL));
|
||||||
#endif
|
#endif
|
||||||
@@ -99,23 +100,28 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
|||||||
diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd
|
diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd
|
||||||
--- a/chrome/browser/browser_resources.grd
|
--- a/chrome/browser/browser_resources.grd
|
||||||
+++ b/chrome/browser/browser_resources.grd
|
+++ b/chrome/browser/browser_resources.grd
|
||||||
@@ -284,11 +284,15 @@
|
@@ -237,6 +237,9 @@
|
||||||
<include name="IDR_PREF_HASH_SEED_BIN" file="resources\settings_internal\pref_hash_seed.bin" type="BINDATA" />
|
<include name="IDR_PREF_HASH_SEED_BIN" file="resources\settings\internal\pref_hash_seed.bin" type="BINDATA" />
|
||||||
<include name="IDR_ADDITIONAL_MODULE_IDS" file="${additional_modules_list_file}" use_base_dir="false" type="BINDATA" />
|
<include name="IDR_ADDITIONAL_MODULE_IDS" file="${additional_modules_list_file}" use_base_dir="false" type="BINDATA" />
|
||||||
</if>
|
</if>
|
||||||
+ <!-- Bromite Proxy Configuration UI -->
|
+ <!-- Bromite Proxy Configuration UI -->
|
||||||
+ <if expr="is_android">
|
+ <include name="IDR_PROXY_CONFIG_HTML" file="resources\proxy_config.html" flattenhtml="true" type="BINDATA" compress="gzip" />
|
||||||
+ <include name="IDR_PROXY_CONFIG_HTML" file="resources\proxy_config.html" flattenhtml="true" type="BINDATA" compress="gzip" />
|
+ <include name="IDR_PROXY_CONFIG_JS" file="resources\proxy_config.js" type="BINDATA" compress="gzip" />
|
||||||
+ <include name="IDR_PROXY_CONFIG_JS" file="resources\proxy_config.js" type="BINDATA" compress="gzip" />
|
|
||||||
+ </if>
|
|
||||||
<if expr="not is_android">
|
<if expr="not is_android">
|
||||||
<include name="IDR_ABOUT_SYS_HTML" file="resources\about_sys\about_sys.html" type="BINDATA" />
|
|
||||||
<include name="IDR_ABOUT_SYS_CSS" file="resources\about_sys\about_sys.css" type="BINDATA" />
|
|
||||||
<include name="IDR_ABOUT_SYS_JS" file="resources\about_sys\about_sys.js" preprocess="true" type="BINDATA" />
|
|
||||||
-
|
|
||||||
<!-- Page not available for guest. -->
|
<!-- Page not available for guest. -->
|
||||||
<include name="IDR_PAGE_NOT_AVAILABLE_FOR_GUEST_APP_HTML" file="resources\page_not_available_for_guest\app.html" type="BINDATA" />
|
<include name="IDR_PAGE_NOT_AVAILABLE_FOR_GUEST_APP_HTML" file="resources\page_not_available_for_guest\app.html" type="BINDATA" />
|
||||||
<include name="IDR_MEDIA_ROUTER_INTERNALS_HTML" file="resources\media_router\internals\media_router_internals.html" type="BINDATA" />
|
diff --git a/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc b/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc
|
||||||
|
--- a/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc
|
||||||
|
+++ b/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc
|
||||||
|
@@ -387,7 +387,7 @@ std::optional<base::Value::Dict> CreateProxyConfigDict(
|
||||||
|
return std::nullopt;
|
||||||
|
}
|
||||||
|
return ProxyConfigDictionary::CreateFixedServers(proxy_rules_string,
|
||||||
|
- bypass_list);
|
||||||
|
+ bypass_list, /*reverse_bypass*/false);
|
||||||
|
}
|
||||||
|
case ProxyPrefs::MODE_SYSTEM:
|
||||||
|
return ProxyConfigDictionary::CreateSystem();
|
||||||
diff --git a/chrome/browser/net/proxy_service_factory.cc b/chrome/browser/net/proxy_service_factory.cc
|
diff --git a/chrome/browser/net/proxy_service_factory.cc b/chrome/browser/net/proxy_service_factory.cc
|
||||||
--- a/chrome/browser/net/proxy_service_factory.cc
|
--- a/chrome/browser/net/proxy_service_factory.cc
|
||||||
+++ b/chrome/browser/net/proxy_service_factory.cc
|
+++ b/chrome/browser/net/proxy_service_factory.cc
|
||||||
@@ -191,16 +197,16 @@ diff --git a/chrome/browser/net/proxy_service_factory.h b/chrome/browser/net/pro
|
|||||||
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
|
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
|
||||||
--- a/chrome/browser/prefs/browser_prefs.cc
|
--- a/chrome/browser/prefs/browser_prefs.cc
|
||||||
+++ b/chrome/browser/prefs/browser_prefs.cc
|
+++ b/chrome/browser/prefs/browser_prefs.cc
|
||||||
@@ -175,6 +175,8 @@
|
@@ -191,6 +191,8 @@
|
||||||
|
#include "printing/buildflags/buildflags.h"
|
||||||
#include "rlz/buildflags/buildflags.h"
|
#include "rlz/buildflags/buildflags.h"
|
||||||
#include "third_party/abseil-cpp/absl/types/optional.h"
|
|
||||||
|
|
||||||
+#include "chrome/browser/net/proxy_service_factory.h"
|
+#include "chrome/browser/net/proxy_service_factory.h"
|
||||||
+
|
+
|
||||||
#if BUILDFLAG(ENABLE_BACKGROUND_MODE)
|
#if BUILDFLAG(ENABLE_BACKGROUND_MODE)
|
||||||
#include "chrome/browser/background/background_mode_manager.h"
|
#include "chrome/browser/background/background_mode_manager.h"
|
||||||
#endif
|
#endif
|
||||||
@@ -1315,6 +1317,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
|
@@ -1447,6 +1449,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
|
||||||
component_updater::RegisterPrefs(registry);
|
component_updater::RegisterPrefs(registry);
|
||||||
domain_reliability::RegisterPrefs(registry);
|
domain_reliability::RegisterPrefs(registry);
|
||||||
embedder_support::OriginTrialPrefs::RegisterPrefs(registry);
|
embedder_support::OriginTrialPrefs::RegisterPrefs(registry);
|
||||||
@@ -391,7 +397,7 @@ new file mode 100644
|
|||||||
+ along with Bromite. If not, see <https://www.gnu.org/licenses/>.
|
+ along with Bromite. If not, see <https://www.gnu.org/licenses/>.
|
||||||
+*/
|
+*/
|
||||||
+
|
+
|
||||||
+import {$} from 'chrome://resources/js/util_ts.js';
|
+import {$} from 'chrome://resources/js/util.js';
|
||||||
+
|
+
|
||||||
+/**
|
+/**
|
||||||
+ * Main entry point called once the page has loaded.
|
+ * Main entry point called once the page has loaded.
|
||||||
@@ -655,7 +661,7 @@ new file mode 100644
|
|||||||
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
|
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
|
||||||
--- a/chrome/browser/ui/BUILD.gn
|
--- a/chrome/browser/ui/BUILD.gn
|
||||||
+++ b/chrome/browser/ui/BUILD.gn
|
+++ b/chrome/browser/ui/BUILD.gn
|
||||||
@@ -397,6 +397,8 @@ static_library("ui") {
|
@@ -301,6 +301,8 @@ static_library("ui") {
|
||||||
"webui/metrics_internals/metrics_internals_ui.h",
|
"webui/metrics_internals/metrics_internals_ui.h",
|
||||||
"webui/net_export_ui.cc",
|
"webui/net_export_ui.cc",
|
||||||
"webui/net_export_ui.h",
|
"webui/net_export_ui.h",
|
||||||
@@ -667,15 +673,15 @@ 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
|
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
|
--- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
|
||||||
+++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
|
+++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
|
||||||
@@ -59,6 +59,7 @@
|
@@ -52,6 +52,7 @@
|
||||||
#include "chrome/browser/ui/webui/ntp_tiles_internals_ui.h"
|
#include "chrome/browser/ui/webui/ntp_tiles_internals_ui.h"
|
||||||
#include "chrome/browser/ui/webui/omnibox/omnibox_ui.h"
|
#include "chrome/browser/ui/webui/omnibox/omnibox_ui.h"
|
||||||
#include "chrome/browser/ui/webui/policy/policy_ui.h"
|
#include "chrome/browser/ui/webui/policy/policy_ui.h"
|
||||||
+#include "chrome/browser/ui/webui/proxy_config_ui.h"
|
+#include "chrome/browser/ui/webui/proxy_config_ui.h"
|
||||||
#include "chrome/browser/ui/webui/predictors/predictors_ui.h"
|
#include "chrome/browser/ui/webui/predictors/predictors_ui.h"
|
||||||
|
#include "chrome/browser/ui/webui/privacy_sandbox/privacy_sandbox_internals_ui.h"
|
||||||
#include "chrome/browser/ui/webui/segmentation_internals/segmentation_internals_ui.h"
|
#include "chrome/browser/ui/webui/segmentation_internals/segmentation_internals_ui.h"
|
||||||
#include "chrome/browser/ui/webui/signin_internals_ui.h"
|
@@ -469,6 +470,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
|
||||||
@@ -489,6 +490,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
|
|
||||||
return &NewWebUI<MetricsInternalsUI>;
|
return &NewWebUI<MetricsInternalsUI>;
|
||||||
if (url.host_piece() == chrome::kChromeUINetExportHost)
|
if (url.host_piece() == chrome::kChromeUINetExportHost)
|
||||||
return &NewWebUI<NetExportUI>;
|
return &NewWebUI<NetExportUI>;
|
||||||
@@ -1121,7 +1127,7 @@ new file mode 100644
|
|||||||
diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_constants.cc
|
diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_constants.cc
|
||||||
--- a/chrome/common/webui_url_constants.cc
|
--- a/chrome/common/webui_url_constants.cc
|
||||||
+++ b/chrome/common/webui_url_constants.cc
|
+++ b/chrome/common/webui_url_constants.cc
|
||||||
@@ -50,6 +50,8 @@ const char kChromeUICertificateViewerHost[] = "view-cert";
|
@@ -49,6 +49,8 @@ const char kChromeUICertificateViewerHost[] = "view-cert";
|
||||||
const char kChromeUICertificateViewerURL[] = "chrome://view-cert/";
|
const char kChromeUICertificateViewerURL[] = "chrome://view-cert/";
|
||||||
const char kChromeUIChromeSigninHost[] = "chrome-signin";
|
const char kChromeUIChromeSigninHost[] = "chrome-signin";
|
||||||
const char kChromeUIChromeSigninURL[] = "chrome://chrome-signin/";
|
const char kChromeUIChromeSigninURL[] = "chrome://chrome-signin/";
|
||||||
@@ -1130,17 +1136,17 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
|
|||||||
const char kChromeUIChromeURLsHost[] = "chrome-urls";
|
const char kChromeUIChromeURLsHost[] = "chrome-urls";
|
||||||
const char kChromeUIChromeURLsURL[] = "chrome://chrome-urls/";
|
const char kChromeUIChromeURLsURL[] = "chrome://chrome-urls/";
|
||||||
const char kChromeUIComponentsHost[] = "components";
|
const char kChromeUIComponentsHost[] = "components";
|
||||||
@@ -431,6 +433,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
|
@@ -460,6 +462,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
|
||||||
kChromeUILockScreenNetworkHost,
|
kChromeUILockScreenNetworkHost,
|
||||||
kChromeUILockScreenStartReauthHost,
|
kChromeUILockScreenStartReauthHost,
|
||||||
kChromeUIMobileSetupHost,
|
kChromeUIMobileSetupHost,
|
||||||
+ kChromeUIProxyConfigHost,
|
+ kChromeUIProxyConfigHost,
|
||||||
kChromeUIMultiDeviceSetupHost,
|
kChromeUIMultiDeviceSetupHost,
|
||||||
kChromeUINetworkHost,
|
kChromeUINetworkHost,
|
||||||
kChromeUINotificationTesterHost,
|
kChromeUINotificationTesterHost,
|
||||||
@@ -730,6 +733,7 @@ const char* const kChromeHostURLs[] = {
|
@@ -760,6 +763,7 @@ const char* const kChromeHostURLs[] = {
|
||||||
#if !BUILDFLAG(IS_ANDROID)
|
#if !BUILDFLAG(IS_ANDROID)
|
||||||
#if !BUILDFLAG(IS_CHROMEOS_ASH)
|
#if !BUILDFLAG(IS_CHROMEOS)
|
||||||
kChromeUIAppLauncherPageHost,
|
kChromeUIAppLauncherPageHost,
|
||||||
+ kChromeUIProxyConfigHost,
|
+ kChromeUIProxyConfigHost,
|
||||||
#endif
|
#endif
|
||||||
@@ -1149,7 +1155,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
|
|||||||
diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_constants.h
|
diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_constants.h
|
||||||
--- a/chrome/common/webui_url_constants.h
|
--- a/chrome/common/webui_url_constants.h
|
||||||
+++ b/chrome/common/webui_url_constants.h
|
+++ b/chrome/common/webui_url_constants.h
|
||||||
@@ -136,6 +136,8 @@ extern const char kChromeUINTPTilesInternalsHost[];
|
@@ -134,6 +134,8 @@ extern const char kChromeUINTPTilesInternalsHost[];
|
||||||
extern const char kChromeUINaClHost[];
|
extern const char kChromeUINaClHost[];
|
||||||
extern const char kChromeUINetExportHost[];
|
extern const char kChromeUINetExportHost[];
|
||||||
extern const char kChromeUINetExportURL[];
|
extern const char kChromeUINetExportURL[];
|
||||||
@@ -1178,7 +1184,7 @@ diff --git a/components/proxy_config/pref_proxy_config_tracker_impl.cc b/compone
|
|||||||
registry->RegisterBooleanPref(proxy_config::prefs::kUseSharedProxies, false);
|
registry->RegisterBooleanPref(proxy_config::prefs::kUseSharedProxies, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -384,6 +384,7 @@ bool PrefProxyConfigTrackerImpl::PrefConfigToNetConfig(
|
@@ -388,6 +388,7 @@ bool PrefProxyConfigTrackerImpl::PrefConfigToNetConfig(
|
||||||
if (proxy_dict.GetBypassList(&proxy_bypass)) {
|
if (proxy_dict.GetBypassList(&proxy_bypass)) {
|
||||||
proxy_config.proxy_rules().bypass_rules.ParseFromString(proxy_bypass);
|
proxy_config.proxy_rules().bypass_rules.ParseFromString(proxy_bypass);
|
||||||
}
|
}
|
||||||
@@ -1315,7 +1321,7 @@ diff --git a/components/proxy_config/proxy_config_dictionary.h b/components/prox
|
|||||||
diff --git a/components/proxy_config/proxy_policy_handler.cc b/components/proxy_config/proxy_policy_handler.cc
|
diff --git a/components/proxy_config/proxy_policy_handler.cc b/components/proxy_config/proxy_policy_handler.cc
|
||||||
--- a/components/proxy_config/proxy_policy_handler.cc
|
--- a/components/proxy_config/proxy_policy_handler.cc
|
||||||
+++ b/components/proxy_config/proxy_policy_handler.cc
|
+++ b/components/proxy_config/proxy_policy_handler.cc
|
||||||
@@ -262,7 +262,7 @@ void ProxyPolicyHandler::ApplyPolicySettings(const PolicyMap& policies,
|
@@ -376,7 +376,7 @@ void ProxyPolicyHandler::ApplyPolicySettings(const PolicyMap& policies,
|
||||||
set_proxy_pref_value(ProxyConfigDictionary::CreateFixedServers(
|
set_proxy_pref_value(ProxyConfigDictionary::CreateFixedServers(
|
||||||
server->GetString(), bypass_list && bypass_list->is_string()
|
server->GetString(), bypass_list && bypass_list->is_string()
|
||||||
? bypass_list->GetString()
|
? bypass_list->GetString()
|
||||||
@@ -1348,8 +1354,8 @@ diff --git a/net/proxy_resolution/proxy_config.cc b/net/proxy_resolution/proxy_c
|
|||||||
+ // special case: a single proxy servers list specified
|
+ // special case: a single proxy servers list specified
|
||||||
+ if (type == Type::PROXY_LIST) {
|
+ if (type == Type::PROXY_LIST) {
|
||||||
+ std::string proxy_list;
|
+ std::string proxy_list;
|
||||||
+ for (const ProxyServer& proxy_server :
|
+ for (const auto& proxy_chain : single_proxies.AllChains()) {
|
||||||
+ single_proxies.GetAll()) {
|
+ net::ProxyServer proxy_server = proxy_chain.GetProxyServer(/*chain_index=*/0);
|
||||||
+ proxy_list += ProxyServerToProxyUri(proxy_server) + ";";
|
+ proxy_list += ProxyServerToProxyUri(proxy_server) + ";";
|
||||||
+ }
|
+ }
|
||||||
+ // remove last semicolon
|
+ // remove last semicolon
|
||||||
@@ -1367,20 +1373,20 @@ diff --git a/net/proxy_resolution/proxy_config.cc b/net/proxy_resolution/proxy_c
|
|||||||
+
|
+
|
||||||
+ // start to build a per-scheme list
|
+ // start to build a per-scheme list
|
||||||
+ std::string list;
|
+ std::string list;
|
||||||
+ for (const ProxyServer& proxy_server :
|
+ for (const auto& proxy_chain : proxies_for_http.AllChains()) {
|
||||||
+ proxies_for_http.GetAll()) {
|
+ net::ProxyServer proxy_server = proxy_chain.GetProxyServer(/*chain_index=*/0);
|
||||||
+ list += "http=" + ProxyServerToProxyUri(proxy_server) + ";";
|
+ list += "http=" + ProxyServerToProxyUri(proxy_server) + ";";
|
||||||
+ }
|
+ }
|
||||||
+ for (const ProxyServer& proxy_server :
|
+ for (const auto& proxy_chain : proxies_for_https.AllChains()) {
|
||||||
+ proxies_for_https.GetAll()) {
|
+ net::ProxyServer proxy_server = proxy_chain.GetProxyServer(/*chain_index=*/0);
|
||||||
+ list += "https=" + ProxyServerToProxyUri(proxy_server) + ";";
|
+ list += "https=" + ProxyServerToProxyUri(proxy_server) + ";";
|
||||||
+ }
|
+ }
|
||||||
+ for (const ProxyServer& proxy_server :
|
+ for (const auto& proxy_chain : proxies_for_ftp.AllChains()) {
|
||||||
+ proxies_for_ftp.GetAll()) {
|
+ net::ProxyServer proxy_server = proxy_chain.GetProxyServer(/*chain_index=*/0);
|
||||||
+ list += "ftp=" + ProxyServerToProxyUri(proxy_server) + ";";
|
+ list += "ftp=" + ProxyServerToProxyUri(proxy_server) + ";";
|
||||||
+ }
|
+ }
|
||||||
+ for (const ProxyServer& proxy_server :
|
+ for (const auto& proxy_chain : fallback_proxies.AllChains()) {
|
||||||
+ fallback_proxies.GetAll()) {
|
+ net::ProxyServer proxy_server = proxy_chain.GetProxyServer(/*chain_index=*/0);
|
||||||
+ list += "socks=" + ProxyServerToProxyUri(proxy_server) + ";";
|
+ list += "socks=" + ProxyServerToProxyUri(proxy_server) + ";";
|
||||||
+ }
|
+ }
|
||||||
+ if (list.length() != 0 ) {
|
+ if (list.length() != 0 ) {
|
||||||
@@ -1407,4 +1413,3 @@ diff --git a/net/proxy_resolution/proxy_config.h b/net/proxy_resolution/proxy_co
|
|||||||
// Returns one of {&proxies_for_http, &proxies_for_https, &proxies_for_ftp,
|
// Returns one of {&proxies_for_http, &proxies_for_https, &proxies_for_ftp,
|
||||||
// &fallback_proxies}, or NULL if there is no proxy to use.
|
// &fallback_proxies}, or NULL if there is no proxy to use.
|
||||||
--
|
--
|
||||||
2.25.1
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -11,13 +11,13 @@ Require: Content-settings-infrastructure.patch
|
|||||||
.../res/drawable-xhdpi/settings_autoplay.png | Bin 0 -> 551 bytes
|
.../res/drawable-xhdpi/settings_autoplay.png | Bin 0 -> 551 bytes
|
||||||
.../res/drawable-xxhdpi/settings_autoplay.png | Bin 0 -> 792 bytes
|
.../res/drawable-xxhdpi/settings_autoplay.png | Bin 0 -> 792 bytes
|
||||||
.../drawable-xxxhdpi/settings_autoplay.png | Bin 0 -> 1064 bytes
|
.../drawable-xxxhdpi/settings_autoplay.png | Bin 0 -> 1064 bytes
|
||||||
.../impl/BromiteAutoplayContentSetting.java | 92 ++++++++++++++++++
|
.../impl/BromiteAutoplayContentSetting.java | 93 ++++++++++++++++++
|
||||||
.../bromite_content_settings/autoplay.grdp | 21 ++++
|
.../bromite_content_settings/autoplay.grdp | 21 ++++
|
||||||
.../bromite_content_settings/autoplay.inc | 12 +++
|
.../bromite_content_settings/autoplay.inc | 12 +++
|
||||||
.../core/browser/content_settings_registry.cc | 2 +-
|
.../core/browser/content_settings_registry.cc | 2 +-
|
||||||
.../core/html/media/autoplay_policy.cc | 14 +++
|
.../core/html/media/autoplay_policy.cc | 14 +++
|
||||||
.../core/html/media/autoplay_policy.h | 4 +
|
.../core/html/media/autoplay_policy.h | 4 +
|
||||||
11 files changed, 144 insertions(+), 1 deletion(-)
|
11 files changed, 145 insertions(+), 1 deletion(-)
|
||||||
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-hdpi/settings_autoplay.png
|
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-hdpi/settings_autoplay.png
|
||||||
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-mdpi/settings_autoplay.png
|
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-mdpi/settings_autoplay.png
|
||||||
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-xhdpi/settings_autoplay.png
|
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-xhdpi/settings_autoplay.png
|
||||||
@@ -139,7 +139,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteAutoplayContentSetting.java
|
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteAutoplayContentSetting.java
|
||||||
@@ -0,0 +1,92 @@
|
@@ -0,0 +1,93 @@
|
||||||
+/*
|
+/*
|
||||||
+ This file is part of Bromite.
|
+ This file is part of Bromite.
|
||||||
+
|
+
|
||||||
@@ -192,7 +192,8 @@ new file mode 100644
|
|||||||
+ /*defaultEnabledValue*/ getDefaultEnabledValue(),
|
+ /*defaultEnabledValue*/ getDefaultEnabledValue(),
|
||||||
+ /*defaultDisabledValue*/ getDefaultDisabledValue(),
|
+ /*defaultDisabledValue*/ getDefaultDisabledValue(),
|
||||||
+ /*enabledSummary*/ R.string.website_settings_category_autoplay_enabled,
|
+ /*enabledSummary*/ R.string.website_settings_category_autoplay_enabled,
|
||||||
+ /*disabledSummary*/ R.string.website_settings_category_autoplay_disabled);
|
+ /*disabledSummary*/ R.string.website_settings_category_autoplay_disabled,
|
||||||
|
+ /*summaryOverrideForScreenReader*/ 0);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ @Override
|
+ @Override
|
||||||
@@ -278,13 +279,13 @@ new file mode 100644
|
|||||||
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
|
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
|
||||||
--- a/components/content_settings/core/browser/content_settings_registry.cc
|
--- a/components/content_settings/core/browser/content_settings_registry.cc
|
||||||
+++ b/components/content_settings/core/browser/content_settings_registry.cc
|
+++ b/components/content_settings/core/browser/content_settings_registry.cc
|
||||||
@@ -244,7 +244,7 @@ void ContentSettingsRegistry::Init() {
|
@@ -255,7 +255,7 @@ void ContentSettingsRegistry::Init() {
|
||||||
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
||||||
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
|
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
|
||||||
|
|
||||||
- Register(ContentSettingsType::AUTOPLAY, "autoplay", CONTENT_SETTING_ALLOW,
|
- Register(ContentSettingsType::AUTOPLAY, "autoplay", CONTENT_SETTING_ALLOW,
|
||||||
+ Register(ContentSettingsType::AUTOPLAY, "autoplay", CONTENT_SETTING_BLOCK,
|
+ Register(ContentSettingsType::AUTOPLAY, "autoplay", CONTENT_SETTING_BLOCK,
|
||||||
WebsiteSettingsInfo::UNSYNCABLE, /*allowlisted_schemes=*/{},
|
WebsiteSettingsInfo::UNSYNCABLE, /*allowlisted_primary_schemes=*/{},
|
||||||
/*valid_settings=*/{CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK},
|
/*valid_settings=*/{CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK},
|
||||||
WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
|
WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
|
||||||
diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.cc b/third_party/blink/renderer/core/html/media/autoplay_policy.cc
|
diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.cc b/third_party/blink/renderer/core/html/media/autoplay_policy.cc
|
||||||
@@ -298,7 +299,7 @@ diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.cc b/thi
|
|||||||
#include "third_party/blink/public/platform/web_media_player.h"
|
#include "third_party/blink/public/platform/web_media_player.h"
|
||||||
#include "third_party/blink/public/web/web_local_frame.h"
|
#include "third_party/blink/public/web/web_local_frame.h"
|
||||||
#include "third_party/blink/public/web/web_local_frame_client.h"
|
#include "third_party/blink/public/web/web_local_frame_client.h"
|
||||||
@@ -310,6 +311,8 @@ void AutoplayPolicy::TryUnlockingUserGesture() {
|
@@ -330,6 +331,8 @@ void AutoplayPolicy::TryUnlockingUserGesture() {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AutoplayPolicy::IsGestureNeededForPlayback() const {
|
bool AutoplayPolicy::IsGestureNeededForPlayback() const {
|
||||||
@@ -307,7 +308,7 @@ diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.cc b/thi
|
|||||||
if (!IsLockedPendingUserGesture())
|
if (!IsLockedPendingUserGesture())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
@@ -408,6 +411,17 @@ void AutoplayPolicy::MaybeSetAutoplayInitiated() {
|
@@ -428,6 +431,17 @@ void AutoplayPolicy::MaybeSetAutoplayInitiated() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -328,7 +329,7 @@ diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.cc b/thi
|
|||||||
diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.h b/third_party/blink/renderer/core/html/media/autoplay_policy.h
|
diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.h b/third_party/blink/renderer/core/html/media/autoplay_policy.h
|
||||||
--- a/third_party/blink/renderer/core/html/media/autoplay_policy.h
|
--- a/third_party/blink/renderer/core/html/media/autoplay_policy.h
|
||||||
+++ b/third_party/blink/renderer/core/html/media/autoplay_policy.h
|
+++ b/third_party/blink/renderer/core/html/media/autoplay_policy.h
|
||||||
@@ -133,6 +133,10 @@ class CORE_EXPORT AutoplayPolicy final
|
@@ -138,6 +138,10 @@ class CORE_EXPORT AutoplayPolicy final
|
||||||
// should use, if checking to see if an action is allowed.
|
// should use, if checking to see if an action is allowed.
|
||||||
bool IsLockedPendingUserGesture() const;
|
bool IsLockedPendingUserGesture() const;
|
||||||
|
|
||||||
@@ -340,4 +341,3 @@ diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.h b/thir
|
|||||||
bool IsOrWillBeAutoplayingMutedInternal(bool muted) const;
|
bool IsOrWillBeAutoplayingMutedInternal(bool muted) const;
|
||||||
|
|
||||||
--
|
--
|
||||||
2.25.1
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -13,21 +13,23 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||||||
---
|
---
|
||||||
.../java/res/xml/privacy_preferences.xml | 10 ++++++++
|
.../java/res/xml/privacy_preferences.xml | 10 ++++++++
|
||||||
.../browser/LaunchIntentDispatcher.java | 21 ++++++++++++++++
|
.../browser/LaunchIntentDispatcher.java | 21 ++++++++++++++++
|
||||||
|
.../customtabs/CustomTabsConnection.java | 1 +
|
||||||
.../IncognitoCustomTabIntentDataProvider.java | 6 +++++
|
.../IncognitoCustomTabIntentDataProvider.java | 6 +++++
|
||||||
.../privacy/settings/PrivacySettings.java | 24 +++++++++++++++++++
|
.../privacy/settings/PrivacySettings.java | 24 +++++++++++++++++++
|
||||||
.../flags/android/chrome_feature_list.cc | 6 ++---
|
|
||||||
.../chrome/browser/tab/TabAssociatedApp.java | 6 ++++-
|
.../chrome/browser/tab/TabAssociatedApp.java | 6 ++++-
|
||||||
.../strings/android_chrome_strings.grd | 14 +++++++++++
|
.../strings/android_chrome_strings.grd | 14 +++++++++++
|
||||||
.../core/common/language_experiments.cc | 4 ++--
|
.../core/common/language_experiments.cc | 1 +
|
||||||
8 files changed, 85 insertions(+), 6 deletions(-)
|
.../add-custom-tab-intents-privacy-option.inc | 1 +
|
||||||
|
9 files changed, 83 insertions(+), 1 deletion(-)
|
||||||
|
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/add-custom-tab-intents-privacy-option.inc
|
||||||
|
|
||||||
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||||
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
||||||
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
|
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||||
@@ -68,6 +68,16 @@ found in the LICENSE file.
|
@@ -43,6 +43,16 @@ found in the LICENSE file.
|
||||||
android:fragment="org.chromium.chrome.browser.privacy.settings.DoNotTrackSettings"
|
|
||||||
android:key="do_not_track"
|
android:key="do_not_track"
|
||||||
android:title="@string/do_not_track_title"/>
|
android:title="@string/do_not_track_title"
|
||||||
|
android:fragment="org.chromium.chrome.browser.privacy.settings.DoNotTrackSettings" />
|
||||||
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
||||||
+ android:key="allow_custom_tab_intents"
|
+ android:key="allow_custom_tab_intents"
|
||||||
+ android:title="@string/allow_custom_tab_intents_title"
|
+ android:title="@string/allow_custom_tab_intents_title"
|
||||||
@@ -39,39 +41,32 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
|
|||||||
+ android:summary="@string/open_external_links_incognito_summary"
|
+ android:summary="@string/open_external_links_incognito_summary"
|
||||||
+ android:defaultValue="false" />
|
+ android:defaultValue="false" />
|
||||||
<Preference
|
<Preference
|
||||||
android:key="privacy_sandbox"
|
android:key="preload_pages"
|
||||||
android:title="@string/prefs_privacy_sandbox"
|
android:title="@string/preload_pages_title"
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
|
||||||
@@ -42,6 +42,7 @@ import org.chromium.chrome.browser.notifications.NotificationPlatformBridge;
|
@@ -55,6 +55,9 @@ import java.lang.annotation.Retention;
|
||||||
import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations;
|
import java.lang.annotation.RetentionPolicy;
|
||||||
import org.chromium.chrome.browser.searchwidget.SearchActivity;
|
|
||||||
import org.chromium.chrome.browser.tab.Tab;
|
|
||||||
+import org.chromium.chrome.browser.tab.TabLaunchType;
|
|
||||||
import org.chromium.chrome.browser.translate.TranslateIntentHandler;
|
|
||||||
import org.chromium.chrome.browser.util.AndroidTaskUtils;
|
|
||||||
import org.chromium.chrome.browser.webapps.WebappLauncherActivity;
|
|
||||||
@@ -56,6 +57,8 @@ import java.lang.reflect.InvocationTargetException;
|
|
||||||
import java.lang.reflect.Method;
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
+import org.chromium.chrome.browser.privacy.settings.PrivacySettings;
|
+import org.chromium.chrome.browser.privacy.settings.PrivacySettings;
|
||||||
|
+import org.chromium.chrome.browser.tab.TabLaunchType;
|
||||||
+
|
+
|
||||||
/**
|
/**
|
||||||
* Dispatches incoming intents to the appropriate activity based on the current configuration and
|
* Dispatches incoming intents to the appropriate activity based on the current configuration and
|
||||||
* Intent fired.
|
* Intent fired.
|
||||||
@@ -268,6 +271,9 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
|
@@ -244,6 +247,9 @@ public class LaunchIntentDispatcher {
|
||||||
*/
|
*/
|
||||||
public static boolean isCustomTabIntent(Intent intent) {
|
public static boolean isCustomTabIntent(Intent intent) {
|
||||||
if (intent == null) return false;
|
if (intent == null) return false;
|
||||||
+ if (!ContextUtils.getAppSharedPreferences()
|
+ if (!ContextUtils.getAppSharedPreferences()
|
||||||
+ .getBoolean(PrivacySettings.PREF_ALLOW_CUSTOM_TAB_INTENTS, false))
|
+ .getBoolean(PrivacySettings.PREF_ALLOW_CUSTOM_TAB_INTENTS, false))
|
||||||
+ return false;
|
+ return false;
|
||||||
if (CustomTabsIntent.shouldAlwaysUseBrowserUI(intent)
|
Log.w(
|
||||||
|| !intent.hasExtra(CustomTabsIntent.EXTRA_SESSION)) {
|
TAG,
|
||||||
return false;
|
"CustomTabsIntent#shouldAlwaysUseBrowserUI() = "
|
||||||
@@ -287,6 +293,10 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
|
@@ -265,6 +271,10 @@ public class LaunchIntentDispatcher {
|
||||||
newIntent.setData(uri);
|
newIntent.setData(uri);
|
||||||
newIntent.setClassName(context, CustomTabActivity.class.getName());
|
newIntent.setClassName(context, CustomTabActivity.class.getName());
|
||||||
|
|
||||||
@@ -82,7 +77,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
|
|||||||
// Since configureIntentForResizableCustomTab() might change the componenet/class
|
// Since configureIntentForResizableCustomTab() might change the componenet/class
|
||||||
// associated with the passed intent, it needs to be called after #setClassName(context,
|
// associated with the passed intent, it needs to be called after #setClassName(context,
|
||||||
// CustomTabActivity.class.getName());
|
// CustomTabActivity.class.getName());
|
||||||
@@ -447,6 +457,17 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
|
@@ -410,6 +420,17 @@ public class LaunchIntentDispatcher {
|
||||||
|
|
||||||
if (Intent.ACTION_VIEW.equals(newIntent.getAction())
|
if (Intent.ACTION_VIEW.equals(newIntent.getAction())
|
||||||
&& !IntentHandler.wasIntentSenderChrome(newIntent)) {
|
&& !IntentHandler.wasIntentSenderChrome(newIntent)) {
|
||||||
@@ -100,6 +95,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
|
|||||||
if (!chromeTabbedTaskExists()) {
|
if (!chromeTabbedTaskExists()) {
|
||||||
newIntent.putExtra(IntentHandler.EXTRA_STARTED_TABBED_CHROME_TASK, true);
|
newIntent.putExtra(IntentHandler.EXTRA_STARTED_TABBED_CHROME_TASK, true);
|
||||||
}
|
}
|
||||||
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
|
||||||
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
|
||||||
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
|
||||||
|
@@ -850,6 +850,7 @@ public class CustomTabsConnection {
|
||||||
|
PostTask.postTask(
|
||||||
|
TaskTraits.UI_DEFAULT,
|
||||||
|
() -> {
|
||||||
|
+ if ((true)) return; // Disable CCTPostMessageAPI
|
||||||
|
// Attempt to verify origin synchronously. If successful directly initialize
|
||||||
|
// postMessage channel for session.
|
||||||
|
Uri verifiedOrigin = verifyOriginForSession(session, uid, postMessageOrigin);
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
|
||||||
@@ -113,7 +119,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Inco
|
|||||||
/**
|
/**
|
||||||
* A model class that parses the incoming intent for incognito Custom Tabs specific customization
|
* A model class that parses the incoming intent for incognito Custom Tabs specific customization
|
||||||
* data.
|
* data.
|
||||||
@@ -113,6 +116,9 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD
|
@@ -115,6 +118,9 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean isIntentFromThirdPartyAllowed() {
|
private static boolean isIntentFromThirdPartyAllowed() {
|
||||||
@@ -126,17 +132,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Inco
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||||
@@ -103,6 +103,9 @@ public class PrivacySettings extends PreferenceFragmentCompat
|
@@ -96,6 +96,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||||
private HelpAndFeedbackLauncher mHelpAndFeedbackLauncher;
|
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
|
||||||
private Profile mProfile;
|
private IncognitoLockSettings mIncognitoLockSettings;
|
||||||
|
|
||||||
+ private ChromeSwitchPreference allowCustomTabIntentsPref;
|
+ private ChromeSwitchPreference allowCustomTabIntentsPref;
|
||||||
+ private ChromeSwitchPreference openExternalLinksPref;
|
+ private ChromeSwitchPreference openExternalLinksPref;
|
||||||
+
|
+
|
||||||
@Override
|
@Override
|
||||||
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
||||||
PrivacyPreferencesManagerImpl privacyPrefManager =
|
getActivity().setTitle(R.string.prefs_privacy_security);
|
||||||
@@ -250,6 +253,9 @@ public class PrivacySettings extends PreferenceFragmentCompat
|
@@ -274,6 +277,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||||
new SpanApplier.SpanInfo("<link2>", "</link2>", servicesLink));
|
new SpanApplier.SpanInfo("<link2>", "</link2>", servicesLink));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -146,9 +152,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
String key = preference.getKey();
|
String key = preference.getKey();
|
||||||
@@ -264,6 +270,14 @@ public class PrivacySettings extends PreferenceFragmentCompat
|
@@ -290,6 +296,14 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||||
} else if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
|
} else if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
|
||||||
UserPrefs.get(Profile.getLastUsedRegularProfile())
|
UserPrefs.get(getProfile())
|
||||||
.setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue);
|
.setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue);
|
||||||
+ } else if (PREF_ALLOW_CUSTOM_TAB_INTENTS.equals(key)) {
|
+ } else if (PREF_ALLOW_CUSTOM_TAB_INTENTS.equals(key)) {
|
||||||
+ SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
|
+ SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
|
||||||
@@ -161,8 +167,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -287,6 +301,16 @@ public class PrivacySettings extends PreferenceFragmentCompat
|
@@ -312,6 +326,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||||
UserPrefs.get(mProfile).getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED));
|
UserPrefs.get(getProfile()).getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED));
|
||||||
}
|
}
|
||||||
|
|
||||||
+ allowCustomTabIntentsPref =
|
+ allowCustomTabIntentsPref =
|
||||||
@@ -177,34 +183,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||||||
+
|
+
|
||||||
Preference doNotTrackPref = findPreference(PREF_DO_NOT_TRACK);
|
Preference doNotTrackPref = findPreference(PREF_DO_NOT_TRACK);
|
||||||
if (doNotTrackPref != null) {
|
if (doNotTrackPref != null) {
|
||||||
doNotTrackPref.setSummary(UserPrefs.get(mProfile).getBoolean(Pref.ENABLE_DO_NOT_TRACK)
|
doNotTrackPref.setSummary(
|
||||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
|
||||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
|
||||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
|
||||||
@@ -541,8 +541,8 @@ BASE_FEATURE(kCCTIncognitoAvailableToThirdParty,
|
|
||||||
base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
|
|
||||||
|
|
||||||
BASE_FEATURE(kCCTIntentFeatureOverrides,
|
|
||||||
- "CCTIntentFeatureOverrides",
|
|
||||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
+ "CCTIntentFeatureOverrides", // must be disabled
|
|
||||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
|
||||||
|
|
||||||
BASE_FEATURE(kCCTPageInsightsHub,
|
|
||||||
"CCTPageInsightsHub",
|
|
||||||
@@ -550,7 +550,7 @@ BASE_FEATURE(kCCTPageInsightsHub,
|
|
||||||
|
|
||||||
BASE_FEATURE(kCCTPostMessageAPI,
|
|
||||||
"CCTPostMessageAPI",
|
|
||||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
|
|
||||||
BASE_FEATURE(kCCTPrefetchDelayShowOnStart,
|
|
||||||
"CCTPrefetchDelayShowOnStart",
|
|
||||||
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java
|
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java
|
||||||
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java
|
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java
|
||||||
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java
|
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java
|
||||||
@@ -84,7 +84,11 @@ public final class TabAssociatedApp extends TabWebContentsUserData implements Im
|
@@ -87,7 +87,11 @@ public final class TabAssociatedApp extends TabWebContentsUserData implements Im
|
||||||
public static boolean isOpenedFromExternalApp(Tab tab) {
|
public static boolean isOpenedFromExternalApp(Tab tab) {
|
||||||
TabAssociatedApp app = get(tab);
|
TabAssociatedApp app = get(tab);
|
||||||
if (app == null) return false;
|
if (app == null) return false;
|
||||||
@@ -220,7 +203,7 @@ diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAsso
|
|||||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
@@ -5015,6 +5015,20 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
@@ -5152,6 +5152,20 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>clear the Chrome da
|
||||||
<message name="IDS_NEAR_OOM_INTERVENTION_DECLINE" desc="The text of the button letting the user decline the browser's intervention, so that the page can resume what it was doing.">
|
<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
|
Resume
|
||||||
</message>
|
</message>
|
||||||
@@ -244,16 +227,16 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
|||||||
diff --git a/components/language/core/common/language_experiments.cc b/components/language/core/common/language_experiments.cc
|
diff --git a/components/language/core/common/language_experiments.cc b/components/language/core/common/language_experiments.cc
|
||||||
--- a/components/language/core/common/language_experiments.cc
|
--- a/components/language/core/common/language_experiments.cc
|
||||||
+++ b/components/language/core/common/language_experiments.cc
|
+++ b/components/language/core/common/language_experiments.cc
|
||||||
@@ -39,8 +39,8 @@ BASE_FEATURE(kContentLanguagesInLanguagePicker,
|
@@ -24,4 +24,5 @@ BASE_FEATURE(kCctAutoTranslate,
|
||||||
"ContentLanguagesInLanguagePicker",
|
|
||||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
BASE_FEATURE(kCctAutoTranslate,
|
|
||||||
- "CCTAutoTranslate",
|
|
||||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
+ "CCTAutoTranslate", // Always disabled
|
|
||||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
|
||||||
|
|
||||||
// Params:
|
// Params:
|
||||||
const char kContentLanguagesDisableObserversParam[] = "disable_observers";
|
const char kContentLanguagesDisableObserversParam[] = "disable_observers";
|
||||||
|
|
||||||
|
+SET_CROMITE_FEATURE_DISABLED(kCctAutoTranslate);
|
||||||
|
} // namespace language
|
||||||
|
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/add-custom-tab-intents-privacy-option.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/add-custom-tab-intents-privacy-option.inc
|
||||||
|
new file mode 100644
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/add-custom-tab-intents-privacy-option.inc
|
||||||
|
@@ -0,0 +1 @@
|
||||||
|
+SET_CROMITE_FEATURE_DISABLED(kCCTIntentFeatureOverrides);
|
||||||
--
|
--
|
||||||
2.25.1
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||||||
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
|
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
|
--- a/chrome/android/java/res/menu/main_menu.xml
|
||||||
+++ b/chrome/android/java/res/menu/main_menu.xml
|
+++ b/chrome/android/java/res/menu/main_menu.xml
|
||||||
@@ -158,6 +158,9 @@ found in the LICENSE file.
|
@@ -166,6 +166,9 @@ found in the LICENSE file.
|
||||||
<item android:id="@+id/managed_by_menu_id"
|
<item android:id="@+id/managed_by_menu_id"
|
||||||
android:title="@string/managed_browser"
|
android:title="@string/managed_browser"
|
||||||
android:icon="@drawable/ic_business" />
|
android:icon="@drawable/ic_business" />
|
||||||
@@ -27,7 +27,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
|
|||||||
</group>
|
</group>
|
||||||
|
|
||||||
<!-- Items shown only in the tab switcher -->
|
<!-- Items shown only in the tab switcher -->
|
||||||
@@ -184,6 +187,9 @@ found in the LICENSE file.
|
@@ -192,6 +195,9 @@ found in the LICENSE file.
|
||||||
<item android:id="@id/preferences_id"
|
<item android:id="@id/preferences_id"
|
||||||
android:title="@string/menu_settings"
|
android:title="@string/menu_settings"
|
||||||
android:icon="@drawable/settings_cog" />
|
android:icon="@drawable/settings_cog" />
|
||||||
@@ -40,15 +40,15 @@ 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/ApplicationLifetime.java b/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLifetime.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLifetime.java b/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLifetime.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLifetime.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLifetime.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLifetime.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLifetime.java
|
||||||
@@ -6,6 +6,7 @@ package org.chromium.chrome.browser;
|
@@ -7,6 +7,7 @@ package org.chromium.chrome.browser;
|
||||||
|
import org.jni_zero.CalledByNative;
|
||||||
|
|
||||||
import org.chromium.base.ObserverList;
|
import org.chromium.base.ObserverList;
|
||||||
import org.chromium.base.annotations.CalledByNative;
|
|
||||||
+import org.chromium.chrome.browser.incognito.IncognitoNotificationManager;
|
+import org.chromium.chrome.browser.incognito.IncognitoNotificationManager;
|
||||||
|
|
||||||
/**
|
/** Watches for when Chrome is told to restart itself. */
|
||||||
* Watches for when Chrome is told to restart itself.
|
public class ApplicationLifetime {
|
||||||
@@ -42,6 +43,7 @@ public class ApplicationLifetime {
|
@@ -39,6 +40,7 @@ public class ApplicationLifetime {
|
||||||
|
|
||||||
@CalledByNative
|
@CalledByNative
|
||||||
public static void terminate(boolean restart) {
|
public static void terminate(boolean restart) {
|
||||||
@@ -59,16 +59,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLife
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||||
@@ -230,6 +230,8 @@ import java.util.Locale;
|
@@ -267,6 +267,8 @@ import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
import java.util.Set;
|
import java.util.function.BooleanSupplier;
|
||||||
import java.util.concurrent.atomic.AtomicBoolean;
|
import java.util.function.DoubleConsumer;
|
||||||
|
|
||||||
+import org.chromium.chrome.browser.ApplicationLifetime;
|
+import org.chromium.chrome.browser.ApplicationLifetime;
|
||||||
+
|
+
|
||||||
/**
|
/**
|
||||||
* This is the main activity for ChromeMobile when not running in document mode. All the tabs
|
* This is the main activity for ChromeMobile when not running in document mode. All the tabs are
|
||||||
* are accessible via a chrome specific tab switching UI.
|
* accessible via a chrome specific tab switching UI.
|
||||||
@@ -2260,6 +2262,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
@@ -2925,6 +2927,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||||
} else if (id == R.id.close_tab) {
|
} else if (id == R.id.close_tab) {
|
||||||
getCurrentTabModel().closeTab(currentTab, true, false, true);
|
getCurrentTabModel().closeTab(currentTab, true, false, true);
|
||||||
RecordUserAction.record("MobileTabClosed");
|
RecordUserAction.record("MobileTabClosed");
|
||||||
@@ -76,11 +76,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
|||||||
+ ApplicationLifetime.terminate(false);
|
+ ApplicationLifetime.terminate(false);
|
||||||
} else if (id == R.id.close_all_tabs_menu_id) {
|
} else if (id == R.id.close_all_tabs_menu_id) {
|
||||||
// Close both incognito and normal tabs.
|
// Close both incognito and normal tabs.
|
||||||
CloseAllTabsDialog.show(this, getModalDialogManagerSupplier(),
|
CloseAllTabsDialog.show(
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||||
@@ -61,6 +61,7 @@ import org.chromium.chrome.R;
|
@@ -62,6 +62,7 @@ import org.chromium.chrome.R;
|
||||||
import org.chromium.chrome.browser.ActivityTabProvider;
|
import org.chromium.chrome.browser.ActivityTabProvider;
|
||||||
import org.chromium.chrome.browser.ActivityUtils;
|
import org.chromium.chrome.browser.ActivityUtils;
|
||||||
import org.chromium.chrome.browser.AppHooks;
|
import org.chromium.chrome.browser.AppHooks;
|
||||||
@@ -88,7 +88,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
|||||||
import org.chromium.chrome.browser.ChromeActivitySessionTracker;
|
import org.chromium.chrome.browser.ChromeActivitySessionTracker;
|
||||||
import org.chromium.chrome.browser.ChromeApplicationImpl;
|
import org.chromium.chrome.browser.ChromeApplicationImpl;
|
||||||
import org.chromium.chrome.browser.ChromeKeyboardVisibilityDelegate;
|
import org.chromium.chrome.browser.ChromeKeyboardVisibilityDelegate;
|
||||||
@@ -2397,6 +2398,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
@@ -2576,6 +2577,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -98,12 +98,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
if (id == R.id.update_menu_id) {
|
if (id == R.id.update_menu_id) {
|
||||||
UpdateMenuItemHelper.getInstance().onMenuItemClicked(this);
|
UpdateMenuItemHelper.getInstance(
|
||||||
return true;
|
getProfileProviderSupplier().get().getOriginalProfile())
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java
|
||||||
@@ -82,7 +82,11 @@ class ChromeLifetimeController implements ApplicationLifetime.Observer,
|
@@ -81,7 +81,11 @@ class ChromeLifetimeController
|
||||||
|
|
||||||
// Kick off a timer to kill the process after a delay, which fires only if the Activities
|
// Kick off a timer to kill the process after a delay, which fires only if the Activities
|
||||||
// take too long to be finished.
|
// take too long to be finished.
|
||||||
@@ -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
|
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
@@ -3687,6 +3687,9 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
@@ -3745,6 +3745,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>clear the Chrome da
|
||||||
<message name="IDS_MENU_AUTO_DARK_WEB_CONTENTS" desc="Menu item in Chrome's overflow/options menu. When Chrome's browser UI is set to dark theme and this option is checked, sites will have a dark theme automatically applied as well. [CHAR_LIMIT=24]">
|
<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
|
Dark theme
|
||||||
</message>
|
</message>
|
||||||
@@ -130,4 +130,3 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
|||||||
Appearance
|
Appearance
|
||||||
</message>
|
</message>
|
||||||
--
|
--
|
||||||
2.25.1
|
|
||||||
|
|||||||
@@ -7,67 +7,29 @@ and internal chrome:// pages will be used for the autocomplete results.
|
|||||||
|
|
||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
---
|
---
|
||||||
chrome/browser/about_flags.cc | 22 ++++++++++++++++++-
|
.../browser/autocomplete_controller.cc | 10 ++++++
|
||||||
.../browser/autocomplete_controller.cc | 10 +++++++++
|
.../omnibox/browser/history_url_provider.cc | 3 ++
|
||||||
.../omnibox/browser/history_url_provider.cc | 3 +++
|
components/omnibox/browser/search_provider.cc | 4 +++
|
||||||
components/omnibox/browser/search_provider.cc | 4 ++++
|
components/url_formatter/url_fixer.cc | 4 +++
|
||||||
components/url_formatter/url_fixer.cc | 4 ++++
|
...lag-for-omnibox-autocomplete-filtering.inc | 32 +++++++++++++++++++
|
||||||
5 files changed, 42 insertions(+), 1 deletion(-)
|
5 files changed, 53 insertions(+)
|
||||||
|
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-flag-for-omnibox-autocomplete-filtering.inc
|
||||||
|
|
||||||
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
|
|
||||||
@@ -582,6 +582,22 @@ const FeatureEntry::FeatureVariation kReaderModeDiscoverabilityVariations[] = {
|
|
||||||
#endif // BUILDFLAG(IS_ANDROID)
|
|
||||||
|
|
||||||
#if BUILDFLAG(IS_ANDROID)
|
|
||||||
+const FeatureEntry::Choice kOmniboxAutocompleteFiltering[] = {
|
|
||||||
+ {flags_ui::kGenericExperimentChoiceDefault, "", ""},
|
|
||||||
+ {"Search suggestions only",
|
|
||||||
+ "omnibox-autocomplete-filtering",
|
|
||||||
+ "search"},
|
|
||||||
+ {"Search suggestions and bookmarks",
|
|
||||||
+ "omnibox-autocomplete-filtering",
|
|
||||||
+ "search-bookmarks"},
|
|
||||||
+ {"Search suggestions and internal chrome pages",
|
|
||||||
+ "omnibox-autocomplete-filtering",
|
|
||||||
+ "search-chrome"},
|
|
||||||
+ {"Search suggestions, bookmarks, and internal chrome pages",
|
|
||||||
+ "omnibox-autocomplete-filtering",
|
|
||||||
+ "search-bookmarks-chrome"},
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
const FeatureEntry::FeatureParam kAdaptiveButton_AlwaysNone[] = {
|
|
||||||
{"mode", "always-none"}};
|
|
||||||
const FeatureEntry::FeatureParam kAdaptiveButton_AlwaysNewTab[] = {
|
|
||||||
@@ -4626,7 +4642,11 @@ const FeatureEntry kFeatureEntries[] = {
|
|
||||||
kOsMac | kOsLinux | kOsWin,
|
|
||||||
FEATURE_VALUE_TYPE(features::kSystemNotifications)},
|
|
||||||
#endif // BUILDFLAG(ENABLE_SYSTEM_NOTIFICATIONS) && !BUILDFLAG(IS_CHROMEOS_ASH)
|
|
||||||
-#if BUILDFLAG(IS_ANDROID)
|
|
||||||
+#if BUILDFLAG(IS_ANDROID) // Bromite autocomplete filtering
|
|
||||||
+ {"omnibox-autocomplete-filtering",
|
|
||||||
+ "Omnibox Autocomplete Filtering",
|
|
||||||
+ "Restrict omnibox autocomplete results to a combination of search suggestions (if enabled), bookmarks, and internal chrome pages.",
|
|
||||||
+ kOsAll, MULTI_VALUE_TYPE(kOmniboxAutocompleteFiltering)},
|
|
||||||
{"adaptive-button-in-top-toolbar",
|
|
||||||
flag_descriptions::kAdaptiveButtonInTopToolbarName,
|
|
||||||
flag_descriptions::kAdaptiveButtonInTopToolbarDescription, kOsAndroid,
|
|
||||||
diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/omnibox/browser/autocomplete_controller.cc
|
diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/omnibox/browser/autocomplete_controller.cc
|
||||||
--- a/components/omnibox/browser/autocomplete_controller.cc
|
--- a/components/omnibox/browser/autocomplete_controller.cc
|
||||||
+++ b/components/omnibox/browser/autocomplete_controller.cc
|
+++ b/components/omnibox/browser/autocomplete_controller.cc
|
||||||
@@ -18,6 +18,7 @@
|
@@ -22,6 +22,7 @@
|
||||||
#include "base/barrier_callback.h"
|
|
||||||
#include "base/check_op.h"
|
#include "base/check_op.h"
|
||||||
#include "base/containers/contains.h"
|
#include "base/containers/contains.h"
|
||||||
+#include "base/command_line.h"
|
+#include "base/command_line.h"
|
||||||
#include "base/feature_list.h"
|
#include "base/feature_list.h"
|
||||||
#include "base/format_macros.h"
|
#include "base/format_macros.h"
|
||||||
#include "base/functional/bind.h"
|
#include "base/functional/bind.h"
|
||||||
@@ -359,6 +360,15 @@ AutocompleteController::AutocompleteController(
|
@@ -392,6 +393,15 @@ AutocompleteController::AutocompleteController(
|
||||||
template_url_service_(provider_client_->GetTemplateURLService()),
|
provider_client_->GetOmniboxTriggeredFeatureService()),
|
||||||
triggered_feature_service_(
|
steady_state_omnibox_position_(
|
||||||
provider_client_->GetOmniboxTriggeredFeatureService()) {
|
metrics::OmniboxEventProto::UNKNOWN_POSITION) {
|
||||||
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch("omnibox-autocomplete-filtering")) {
|
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch("omnibox-autocomplete-filtering")) {
|
||||||
+ const std::string flag_value = base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII("omnibox-autocomplete-filtering");
|
+ const std::string flag_value = base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII("omnibox-autocomplete-filtering");
|
||||||
+ provider_types &= AutocompleteProvider::TYPE_KEYWORD | AutocompleteProvider::TYPE_SEARCH |
|
+ provider_types &= AutocompleteProvider::TYPE_KEYWORD | AutocompleteProvider::TYPE_SEARCH |
|
||||||
@@ -83,7 +45,7 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/
|
|||||||
diff --git a/components/omnibox/browser/history_url_provider.cc b/components/omnibox/browser/history_url_provider.cc
|
diff --git a/components/omnibox/browser/history_url_provider.cc b/components/omnibox/browser/history_url_provider.cc
|
||||||
--- a/components/omnibox/browser/history_url_provider.cc
|
--- a/components/omnibox/browser/history_url_provider.cc
|
||||||
+++ b/components/omnibox/browser/history_url_provider.cc
|
+++ b/components/omnibox/browser/history_url_provider.cc
|
||||||
@@ -478,6 +478,9 @@ void HistoryURLProvider::Start(const AutocompleteInput& input,
|
@@ -479,6 +479,9 @@ void HistoryURLProvider::Start(const AutocompleteInput& input,
|
||||||
if (fixed_up_input.type() != metrics::OmniboxInputType::QUERY)
|
if (fixed_up_input.type() != metrics::OmniboxInputType::QUERY)
|
||||||
matches_.push_back(what_you_typed_match);
|
matches_.push_back(what_you_typed_match);
|
||||||
|
|
||||||
@@ -96,7 +58,7 @@ diff --git a/components/omnibox/browser/history_url_provider.cc b/components/omn
|
|||||||
diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/browser/search_provider.cc
|
diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/browser/search_provider.cc
|
||||||
--- a/components/omnibox/browser/search_provider.cc
|
--- a/components/omnibox/browser/search_provider.cc
|
||||||
+++ b/components/omnibox/browser/search_provider.cc
|
+++ b/components/omnibox/browser/search_provider.cc
|
||||||
@@ -12,6 +12,7 @@
|
@@ -14,6 +14,7 @@
|
||||||
#include "base/base64.h"
|
#include "base/base64.h"
|
||||||
#include "base/feature_list.h"
|
#include "base/feature_list.h"
|
||||||
#include "base/functional/bind.h"
|
#include "base/functional/bind.h"
|
||||||
@@ -104,7 +66,7 @@ diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/
|
|||||||
#include "base/functional/callback.h"
|
#include "base/functional/callback.h"
|
||||||
#include "base/i18n/break_iterator.h"
|
#include "base/i18n/break_iterator.h"
|
||||||
#include "base/i18n/case_conversion.h"
|
#include "base/i18n/case_conversion.h"
|
||||||
@@ -649,6 +650,9 @@ void SearchProvider::Run(bool query_is_private) {
|
@@ -644,6 +645,9 @@ void SearchProvider::Run(bool query_is_private) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void SearchProvider::DoHistoryQuery(bool minimal_changes) {
|
void SearchProvider::DoHistoryQuery(bool minimal_changes) {
|
||||||
@@ -126,7 +88,7 @@ diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/ur
|
|||||||
#include "base/files/file_path.h"
|
#include "base/files/file_path.h"
|
||||||
#include "base/files/file_util.h"
|
#include "base/files/file_util.h"
|
||||||
#include "base/i18n/char_iterator.h"
|
#include "base/i18n/char_iterator.h"
|
||||||
@@ -608,6 +610,8 @@ GURL FixupURL(const std::string& text, const std::string& desired_tld) {
|
@@ -621,6 +623,8 @@ GURL FixupURLInternal(const std::string& text,
|
||||||
|
|
||||||
FixupHost(trimmed, parts.host, parts.scheme.is_valid(), desired_tld, &url);
|
FixupHost(trimmed, parts.host, parts.scheme.is_valid(), desired_tld, &url);
|
||||||
if (chrome_url && !parts.host.is_valid())
|
if (chrome_url && !parts.host.is_valid())
|
||||||
@@ -135,5 +97,41 @@ diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/ur
|
|||||||
url.append(kChromeUIDefaultHost);
|
url.append(kChromeUIDefaultHost);
|
||||||
FixupPort(trimmed, parts.port, &url);
|
FixupPort(trimmed, parts.port, &url);
|
||||||
FixupPath(trimmed, parts.path, &url);
|
FixupPath(trimmed, parts.path, &url);
|
||||||
|
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Add-flag-for-omnibox-autocomplete-filtering.inc b/cromite_flags/chrome/browser/about_flags_cc/Add-flag-for-omnibox-autocomplete-filtering.inc
|
||||||
|
new file mode 100644
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/cromite_flags/chrome/browser/about_flags_cc/Add-flag-for-omnibox-autocomplete-filtering.inc
|
||||||
|
@@ -0,0 +1,32 @@
|
||||||
|
+#if BUILDFLAG(IS_ANDROID)
|
||||||
|
+
|
||||||
|
+#ifdef FEATURE_PARAM_SECTION
|
||||||
|
+
|
||||||
|
+const FeatureEntry::Choice kOmniboxAutocompleteFiltering[] = {
|
||||||
|
+ {flags_ui::kGenericExperimentChoiceDefault, "", ""},
|
||||||
|
+ {"Search suggestions only",
|
||||||
|
+ "omnibox-autocomplete-filtering",
|
||||||
|
+ "search"},
|
||||||
|
+ {"Search suggestions and bookmarks",
|
||||||
|
+ "omnibox-autocomplete-filtering",
|
||||||
|
+ "search-bookmarks"},
|
||||||
|
+ {"Search suggestions and internal chrome pages",
|
||||||
|
+ "omnibox-autocomplete-filtering",
|
||||||
|
+ "search-chrome"},
|
||||||
|
+ {"Search suggestions, bookmarks, and internal chrome pages",
|
||||||
|
+ "omnibox-autocomplete-filtering",
|
||||||
|
+ "search-bookmarks-chrome"},
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#ifdef FLAG_SECTION
|
||||||
|
+
|
||||||
|
+ {"omnibox-autocomplete-filtering",
|
||||||
|
+ "Omnibox Autocomplete Filtering",
|
||||||
|
+ "Restrict omnibox autocomplete results to a combination of search suggestions (if enabled), bookmarks, and internal chrome pages.",
|
||||||
|
+ kOsAll, MULTI_VALUE_TYPE(kOmniboxAutocompleteFiltering)},
|
||||||
|
+
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#endif
|
||||||
--
|
--
|
||||||
2.25.1
|
|
||||||
|
|||||||
@@ -4,56 +4,15 @@ Subject: Add flag for save-data-header
|
|||||||
|
|
||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
---
|
---
|
||||||
chrome/browser/about_flags.cc | 5 ++++-
|
.../loader/browser_initiated_resource_request.cc | 8 ++++++++
|
||||||
chrome/browser/flag_descriptions.cc | 4 ++++
|
.../about_flags_cc/Add-flag-for-save-data-header.inc | 10 ++++++++++
|
||||||
chrome/browser/flag_descriptions.h | 3 +++
|
.../cpp/features_cc/Add-flag-for-save-data-header.inc | 4 ++++
|
||||||
.../browser/loader/browser_initiated_resource_request.cc | 8 ++++++++
|
.../cpp/features_h/Add-flag-for-save-data-header.inc | 1 +
|
||||||
services/network/public/cpp/features.cc | 5 +++++
|
4 files changed, 23 insertions(+)
|
||||||
services/network/public/cpp/features.h | 2 ++
|
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-flag-for-save-data-header.inc
|
||||||
6 files changed, 26 insertions(+), 1 deletion(-)
|
create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Add-flag-for-save-data-header.inc
|
||||||
|
create mode 100644 cromite_flags/services/network/public/cpp/features_h/Add-flag-for-save-data-header.inc
|
||||||
|
|
||||||
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
|
|
||||||
@@ -5242,7 +5242,10 @@ const FeatureEntry kFeatureEntries[] = {
|
|
||||||
{"force-text-direction", flag_descriptions::kForceTextDirectionName,
|
|
||||||
flag_descriptions::kForceTextDirectionDescription, kOsAll,
|
|
||||||
MULTI_VALUE_TYPE(kForceTextDirectionChoices)},
|
|
||||||
-#if BUILDFLAG(IS_ANDROID)
|
|
||||||
+#if BUILDFLAG(IS_ANDROID) // Bromite save data header
|
|
||||||
+ {"enable-save-data-header", flag_descriptions::kEnableSaveDataHeaderName,
|
|
||||||
+ flag_descriptions::kEnableSaveDataHeaderDescription, kOsAndroid,
|
|
||||||
+ FEATURE_VALUE_TYPE(network::features::kEnableSaveDataHeader)},
|
|
||||||
{"force-update-menu-type", flag_descriptions::kUpdateMenuTypeName,
|
|
||||||
flag_descriptions::kUpdateMenuTypeDescription, kOsAndroid,
|
|
||||||
MULTI_VALUE_TYPE(kForceUpdateMenuTypeChoices)},
|
|
||||||
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
|
|
||||||
@@ -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.";
|
|
||||||
|
|
||||||
+const char kEnableSaveDataHeaderName[] = "Enable save-data header";
|
|
||||||
+const char kEnableSaveDataHeaderDescription[] =
|
|
||||||
+ "Enable save-data header without enabling Data Saver.";
|
|
||||||
+
|
|
||||||
const char kDeprecateOldKeyboardShortcutsAcceleratorName[] =
|
|
||||||
"Enable deprecation notifications for Ctrl+Alt+/ to open Keyboard "
|
|
||||||
"shortcuts app";
|
|
||||||
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
|
|
||||||
@@ -694,6 +694,9 @@ extern const char kDeprecateAltBasedSixPackDescription[];
|
|
||||||
extern const char kDeprecateOldKeyboardShortcutsAcceleratorName[];
|
|
||||||
extern const char kDeprecateOldKeyboardShortcutsAcceleratorDescription[];
|
|
||||||
|
|
||||||
+extern const char kEnableSaveDataHeaderName[];
|
|
||||||
+extern const char kEnableSaveDataHeaderDescription[];
|
|
||||||
+
|
|
||||||
extern const char kMemlogName[];
|
|
||||||
extern const char kMemlogDescription[];
|
|
||||||
extern const char kMemlogModeMinimal[];
|
|
||||||
diff --git a/content/browser/loader/browser_initiated_resource_request.cc b/content/browser/loader/browser_initiated_resource_request.cc
|
diff --git a/content/browser/loader/browser_initiated_resource_request.cc b/content/browser/loader/browser_initiated_resource_request.cc
|
||||||
--- a/content/browser/loader/browser_initiated_resource_request.cc
|
--- a/content/browser/loader/browser_initiated_resource_request.cc
|
||||||
+++ b/content/browser/loader/browser_initiated_resource_request.cc
|
+++ b/content/browser/loader/browser_initiated_resource_request.cc
|
||||||
@@ -81,32 +40,34 @@ diff --git a/content/browser/loader/browser_initiated_resource_request.cc b/cont
|
|||||||
if (should_update_existing_headers) {
|
if (should_update_existing_headers) {
|
||||||
headers->RemoveHeader("Save-Data");
|
headers->RemoveHeader("Save-Data");
|
||||||
}
|
}
|
||||||
diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc
|
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Add-flag-for-save-data-header.inc b/cromite_flags/chrome/browser/about_flags_cc/Add-flag-for-save-data-header.inc
|
||||||
--- a/services/network/public/cpp/features.cc
|
new file mode 100644
|
||||||
+++ b/services/network/public/cpp/features.cc
|
--- /dev/null
|
||||||
@@ -13,6 +13,11 @@
|
+++ b/cromite_flags/chrome/browser/about_flags_cc/Add-flag-for-save-data-header.inc
|
||||||
|
@@ -0,0 +1,10 @@
|
||||||
namespace network::features {
|
+
|
||||||
|
+#ifdef FLAG_SECTION
|
||||||
|
+
|
||||||
|
+ // Bromite save data header
|
||||||
|
+ {"enable-save-data-header",
|
||||||
|
+ "Enable save-data header",
|
||||||
|
+ "Enable save-data header without enabling Data Saver.", kOsAll,
|
||||||
|
+ FEATURE_VALUE_TYPE(network::features::kEnableSaveDataHeader)},
|
||||||
|
+
|
||||||
|
+#endif
|
||||||
|
diff --git a/cromite_flags/services/network/public/cpp/features_cc/Add-flag-for-save-data-header.inc b/cromite_flags/services/network/public/cpp/features_cc/Add-flag-for-save-data-header.inc
|
||||||
|
new file mode 100644
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/cromite_flags/services/network/public/cpp/features_cc/Add-flag-for-save-data-header.inc
|
||||||
|
@@ -0,0 +1,4 @@
|
||||||
+// Enable save-data header separately (without enabled data reduction service).
|
+// Enable save-data header separately (without enabled data reduction service).
|
||||||
+BASE_FEATURE(kEnableSaveDataHeader,
|
+CROMITE_FEATURE(kEnableSaveDataHeader,
|
||||||
+ "EnableSaveDataHeader",
|
+ "EnableSaveDataHeader",
|
||||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||||
+
|
diff --git a/cromite_flags/services/network/public/cpp/features_h/Add-flag-for-save-data-header.inc b/cromite_flags/services/network/public/cpp/features_h/Add-flag-for-save-data-header.inc
|
||||||
BASE_FEATURE(kNetworkErrorLogging,
|
new file mode 100644
|
||||||
"NetworkErrorLogging", // disabled by default
|
--- /dev/null
|
||||||
base::FEATURE_DISABLED_BY_DEFAULT); // in bromite
|
+++ b/cromite_flags/services/network/public/cpp/features_h/Add-flag-for-save-data-header.inc
|
||||||
diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h
|
@@ -0,0 +1 @@
|
||||||
--- a/services/network/public/cpp/features.h
|
|
||||||
+++ b/services/network/public/cpp/features.h
|
|
||||||
@@ -84,6 +84,8 @@ extern uint32_t GetLoaderChunkSize();
|
|
||||||
COMPONENT_EXPORT(NETWORK_CPP)
|
|
||||||
BASE_DECLARE_FEATURE(kCorsNonWildcardRequestHeadersSupport);
|
|
||||||
|
|
||||||
+COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kEnableSaveDataHeader);
|
+COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kEnableSaveDataHeader);
|
||||||
+
|
|
||||||
COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kNetworkServiceMemoryCache);
|
|
||||||
|
|
||||||
COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kOmitCorsClientCert);
|
|
||||||
--
|
--
|
||||||
2.25.1
|
|
||||||
|
|||||||
@@ -8,68 +8,15 @@ with limited CPU/memory resources and it is disabled by default.
|
|||||||
|
|
||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
---
|
---
|
||||||
chrome/browser/about_flags.cc | 8 ++++++++
|
|
||||||
chrome/browser/flag_descriptions.cc | 4 ++++
|
|
||||||
chrome/browser/flag_descriptions.h | 3 +++
|
|
||||||
.../common/network_features.cc | 3 +++
|
.../common/network_features.cc | 3 +++
|
||||||
.../common/network_features.h | 4 ++++
|
.../common/network_features.h | 4 ++++
|
||||||
.../common/network_switch_list.h | 4 ++++
|
.../common/network_switch_list.h | 4 ++++
|
||||||
.../spoof_checks/top_domains/BUILD.gn | 1 +
|
.../spoof_checks/top_domains/BUILD.gn | 1 +
|
||||||
|
...o-configure-maximum-connections-per-host.inc | 17 +++++++++++++++++
|
||||||
net/socket/client_socket_pool_manager.cc | 17 +++++++++++++++++
|
net/socket/client_socket_pool_manager.cc | 17 +++++++++++++++++
|
||||||
8 files changed, 44 insertions(+)
|
6 files changed, 46 insertions(+)
|
||||||
|
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/add-flag-to-configure-maximum-connections-per-host.inc
|
||||||
|
|
||||||
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
|
|
||||||
@@ -1230,6 +1230,11 @@ const FeatureEntry::Choice kForceColorProfileChoices[] = {
|
|
||||||
switches::kForceDisplayColorProfile, "hdr10"},
|
|
||||||
};
|
|
||||||
|
|
||||||
+const FeatureEntry::Choice kMaxConnectionsPerHostChoices[] = {
|
|
||||||
+ {features::kMaxConnectionsPerHostChoiceDefault, "", ""},
|
|
||||||
+ {features::kMaxConnectionsPerHostChoice15, switches::kMaxConnectionsPerHost, "15"},
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
const FeatureEntry::Choice kMemlogModeChoices[] = {
|
|
||||||
{flags_ui::kGenericExperimentChoiceDisabled, "", ""},
|
|
||||||
{flag_descriptions::kMemlogModeMinimal, heap_profiling::kMemlogMode,
|
|
||||||
@@ -5143,6 +5148,9 @@ const FeatureEntry kFeatureEntries[] = {
|
|
||||||
FEATURE_VALUE_TYPE(chrome::android::kShareSheetCustomActionsPolish)},
|
|
||||||
|
|
||||||
#endif // BUILDFLAG(IS_ANDROID)
|
|
||||||
+ {"max-connections-per-host", flag_descriptions::kMaxConnectionsPerHostName,
|
|
||||||
+ flag_descriptions::kMaxConnectionsPerHostDescription, kOsAll,
|
|
||||||
+ MULTI_VALUE_TYPE(kMaxConnectionsPerHostChoices)},
|
|
||||||
{"disallow-doc-written-script-loads",
|
|
||||||
flag_descriptions::kDisallowDocWrittenScriptsUiName,
|
|
||||||
flag_descriptions::kDisallowDocWrittenScriptsUiDescription, kOsAll,
|
|
||||||
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
|
|
||||||
@@ -2112,6 +2112,10 @@ const char kUnthrottledNestedTimeoutDescription[] =
|
|
||||||
"websites abusing the API will still eventually have their setTimeouts "
|
|
||||||
"clamped.";
|
|
||||||
|
|
||||||
+const char kMaxConnectionsPerHostName[] = "Maximum connections per host";
|
|
||||||
+const char kMaxConnectionsPerHostDescription[] =
|
|
||||||
+ "Customize maximum allowed connections per host.";
|
|
||||||
+
|
|
||||||
const char kMediaRouterCastAllowAllIPsName[] =
|
|
||||||
"Connect to Cast devices on all IP addresses";
|
|
||||||
const char kMediaRouterCastAllowAllIPsDescription[] =
|
|
||||||
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
|
|
||||||
@@ -1182,6 +1182,9 @@ extern const char kLogJsConsoleMessagesDescription[];
|
|
||||||
extern const char kUnthrottledNestedTimeoutName[];
|
|
||||||
extern const char kUnthrottledNestedTimeoutDescription[];
|
|
||||||
|
|
||||||
+extern const char kMaxConnectionsPerHostName[];
|
|
||||||
+extern const char kMaxConnectionsPerHostDescription[];
|
|
||||||
+
|
|
||||||
extern const char kMediaRouterCastAllowAllIPsName[];
|
|
||||||
extern const char kMediaRouterCastAllowAllIPsDescription[];
|
|
||||||
|
|
||||||
diff --git a/components/network_session_configurator/common/network_features.cc b/components/network_session_configurator/common/network_features.cc
|
diff --git a/components/network_session_configurator/common/network_features.cc b/components/network_session_configurator/common/network_features.cc
|
||||||
--- a/components/network_session_configurator/common/network_features.cc
|
--- a/components/network_session_configurator/common/network_features.cc
|
||||||
+++ b/components/network_session_configurator/common/network_features.cc
|
+++ b/components/network_session_configurator/common/network_features.cc
|
||||||
@@ -120,10 +67,32 @@ diff --git a/components/url_formatter/spoof_checks/top_domains/BUILD.gn b/compon
|
|||||||
]
|
]
|
||||||
if (is_ios) {
|
if (is_ios) {
|
||||||
frameworks = [ "UIKit.framework" ]
|
frameworks = [ "UIKit.framework" ]
|
||||||
|
diff --git a/cromite_flags/chrome/browser/about_flags_cc/add-flag-to-configure-maximum-connections-per-host.inc b/cromite_flags/chrome/browser/about_flags_cc/add-flag-to-configure-maximum-connections-per-host.inc
|
||||||
|
new file mode 100644
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/cromite_flags/chrome/browser/about_flags_cc/add-flag-to-configure-maximum-connections-per-host.inc
|
||||||
|
@@ -0,0 +1,17 @@
|
||||||
|
+#ifdef FEATURE_PARAM_SECTION
|
||||||
|
+
|
||||||
|
+const FeatureEntry::Choice kMaxConnectionsPerHostChoices[] = {
|
||||||
|
+ {features::kMaxConnectionsPerHostChoiceDefault, "", ""},
|
||||||
|
+ {features::kMaxConnectionsPerHostChoice15, switches::kMaxConnectionsPerHost, "15"},
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#ifdef FLAG_SECTION
|
||||||
|
+
|
||||||
|
+ {"max-connections-per-host",
|
||||||
|
+ "Maximum connections per host",
|
||||||
|
+ "Customize maximum allowed connections per host.", kOsAll,
|
||||||
|
+ MULTI_VALUE_TYPE(kMaxConnectionsPerHostChoices)},
|
||||||
|
+
|
||||||
|
+#endif
|
||||||
diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket_pool_manager.cc
|
diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket_pool_manager.cc
|
||||||
--- a/net/socket/client_socket_pool_manager.cc
|
--- a/net/socket/client_socket_pool_manager.cc
|
||||||
+++ b/net/socket/client_socket_pool_manager.cc
|
+++ b/net/socket/client_socket_pool_manager.cc
|
||||||
@@ -19,6 +19,10 @@
|
@@ -22,6 +22,10 @@
|
||||||
#include "net/socket/client_socket_handle.h"
|
#include "net/socket/client_socket_handle.h"
|
||||||
#include "net/socket/client_socket_pool.h"
|
#include "net/socket/client_socket_pool.h"
|
||||||
#include "net/socket/connect_job.h"
|
#include "net/socket/connect_job.h"
|
||||||
@@ -132,9 +101,9 @@ diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket
|
|||||||
+#include "base/command_line.h"
|
+#include "base/command_line.h"
|
||||||
+#include "base/strings/string_number_conversions.h"
|
+#include "base/strings/string_number_conversions.h"
|
||||||
#include "net/ssl/ssl_config.h"
|
#include "net/ssl/ssl_config.h"
|
||||||
#include "third_party/abseil-cpp/absl/types/optional.h"
|
|
||||||
#include "url/gurl.h"
|
#include "url/gurl.h"
|
||||||
@@ -172,6 +176,19 @@ void ClientSocketPoolManager::set_max_sockets_per_pool(
|
#include "url/scheme_host_port.h"
|
||||||
|
@@ -168,6 +172,19 @@ void ClientSocketPoolManager::set_max_sockets_per_pool(
|
||||||
int ClientSocketPoolManager::max_sockets_per_group(
|
int ClientSocketPoolManager::max_sockets_per_group(
|
||||||
HttpNetworkSession::SocketPoolType pool_type) {
|
HttpNetworkSession::SocketPoolType pool_type) {
|
||||||
DCHECK_LT(pool_type, HttpNetworkSession::NUM_SOCKET_POOL_TYPES);
|
DCHECK_LT(pool_type, HttpNetworkSession::NUM_SOCKET_POOL_TYPES);
|
||||||
@@ -155,4 +124,3 @@ diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket
|
|||||||
}
|
}
|
||||||
|
|
||||||
--
|
--
|
||||||
2.25.1
|
|
||||||
|
|||||||
@@ -6,71 +6,34 @@ Disable it by default on Android as it is everywhere else
|
|||||||
|
|
||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
---
|
---
|
||||||
chrome/browser/about_flags.cc | 4 ++++
|
...lag-to-control-video-playback-resume-feature.inc | 13 +++++++++++++
|
||||||
chrome/browser/flag_descriptions.cc | 5 +++++
|
...lag-to-control-video-playback-resume-feature.inc | 1 +
|
||||||
chrome/browser/flag_descriptions.h | 3 +++
|
2 files changed, 14 insertions(+)
|
||||||
media/base/media_switches.cc | 8 ++------
|
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/add-flag-to-control-video-playback-resume-feature.inc
|
||||||
4 files changed, 14 insertions(+), 6 deletions(-)
|
create mode 100644 cromite_flags/media/base/media_switches_cc/add-flag-to-control-video-playback-resume-feature.inc
|
||||||
|
|
||||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
diff --git a/cromite_flags/chrome/browser/about_flags_cc/add-flag-to-control-video-playback-resume-feature.inc b/cromite_flags/chrome/browser/about_flags_cc/add-flag-to-control-video-playback-resume-feature.inc
|
||||||
--- a/chrome/browser/about_flags.cc
|
new file mode 100644
|
||||||
+++ b/chrome/browser/about_flags.cc
|
--- /dev/null
|
||||||
@@ -3909,6 +3909,10 @@ const FeatureEntry kFeatureEntries[] = {
|
+++ b/cromite_flags/chrome/browser/about_flags_cc/add-flag-to-control-video-playback-resume-feature.inc
|
||||||
chrome::android::kContextualSearchSuppressShortView,
|
@@ -0,0 +1,13 @@
|
||||||
kContextualSearchSuppressShortViewVariations,
|
+#ifdef FLAG_SECTION
|
||||||
"ContextualSearchSuppressShortView")},
|
+
|
||||||
|
+#if BUILDFLAG(IS_ANDROID)
|
||||||
|
+
|
||||||
+ {"resume-background-video",
|
+ {"resume-background-video",
|
||||||
+ flag_descriptions::kResumeBackgroundVideoName,
|
+ "Resume background video.",
|
||||||
+ flag_descriptions::kResumeBackgroundVideoDescription, kOsAll,
|
+ "Resume background video playback when tab re-gains focus; additionally, "
|
||||||
|
+ "it will pause video playback every single time you switch tabs.", kOsAll,
|
||||||
+ FEATURE_VALUE_TYPE(media::kResumeBackgroundVideo)},
|
+ FEATURE_VALUE_TYPE(media::kResumeBackgroundVideo)},
|
||||||
{"related-searches", flag_descriptions::kRelatedSearchesName,
|
|
||||||
flag_descriptions::kRelatedSearchesDescription, kOsAndroid,
|
|
||||||
FEATURE_WITH_PARAMS_VALUE_TYPE(chrome::android::kRelatedSearches,
|
|
||||||
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
|
|
||||||
@@ -1408,6 +1408,11 @@ const char kEnableManagedConfigurationWebApiDescription[] =
|
|
||||||
"Allows website to access a managed configuration provided by the device "
|
|
||||||
"administrator for the origin.";
|
|
||||||
|
|
||||||
+const char kResumeBackgroundVideoName[] = "Resume background video.";
|
|
||||||
+const char kResumeBackgroundVideoDescription[] =
|
|
||||||
+ "Resume background video playback when tab re-gains focus; additionally, "
|
|
||||||
+ "it will pause video playback every single time you switch tabs.";
|
|
||||||
+
|
+
|
||||||
const char kEnablePixelCanvasRecordingName[] = "Enable pixel canvas recording";
|
+#endif // BUILDFLAG(IS_ANDROID)
|
||||||
const char kEnablePixelCanvasRecordingDescription[] =
|
|
||||||
"Pixel canvas recording allows the compositor to raster contents aligned "
|
|
||||||
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
|
|
||||||
@@ -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 kEnablePeripheralCustomizationName[];
|
+#endif // ifdef FLAG_SECTION
|
||||||
extern const char kEnablePeripheralCustomizationDescription[];
|
diff --git a/cromite_flags/media/base/media_switches_cc/add-flag-to-control-video-playback-resume-feature.inc b/cromite_flags/media/base/media_switches_cc/add-flag-to-control-video-playback-resume-feature.inc
|
||||||
|
new file mode 100644
|
||||||
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
|
--- /dev/null
|
||||||
--- a/media/base/media_switches.cc
|
+++ b/cromite_flags/media/base/media_switches_cc/add-flag-to-control-video-playback-resume-feature.inc
|
||||||
+++ b/media/base/media_switches.cc
|
@@ -0,0 +1 @@
|
||||||
@@ -353,12 +353,8 @@ BASE_FEATURE(kPreloadMetadataLazyLoad,
|
+SET_CROMITE_FEATURE_DISABLED(kResumeBackgroundVideo);
|
||||||
// Let videos be resumed via remote controls (for example, the notification)
|
|
||||||
// when in background.
|
|
||||||
BASE_FEATURE(kResumeBackgroundVideo,
|
|
||||||
- "resume-background-video",
|
|
||||||
-#if BUILDFLAG(IS_ANDROID)
|
|
||||||
- base::FEATURE_ENABLED_BY_DEFAULT
|
|
||||||
-#else
|
|
||||||
- base::FEATURE_DISABLED_BY_DEFAULT
|
|
||||||
-#endif
|
|
||||||
+ "resume-background-video", // disabled by default
|
|
||||||
+ base::FEATURE_DISABLED_BY_DEFAULT // in Bromite
|
|
||||||
);
|
|
||||||
|
|
||||||
// When enabled, MediaCapabilities will check with GPU Video Accelerator
|
|
||||||
--
|
--
|
||||||
2.25.1
|
|
||||||
|
|||||||
@@ -4,100 +4,59 @@ Subject: Add flag to disable IPv6 probes
|
|||||||
|
|
||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
---
|
---
|
||||||
chrome/browser/about_flags.cc | 4 ++++
|
.../about_flags_cc/add-flag-to-disable-IPv6-probes.inc | 8 ++++++++
|
||||||
chrome/browser/flag_descriptions.cc | 4 ++++
|
.../base/features_cc/add-flag-to-disable-IPv6-probes.inc | 3 +++
|
||||||
chrome/browser/flag_descriptions.h | 3 +++
|
.../base/features_h/add-flag-to-disable-IPv6-probes.inc | 2 ++
|
||||||
net/BUILD.gn | 1 +
|
net/BUILD.gn | 1 +
|
||||||
net/base/features.cc | 4 ++++
|
net/dns/host_resolver_manager.cc | 8 ++++++++
|
||||||
net/base/features.h | 3 +++
|
5 files changed, 22 insertions(+)
|
||||||
net/dns/host_resolver_manager.cc | 11 +++++++++++
|
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/add-flag-to-disable-IPv6-probes.inc
|
||||||
services/network/public/cpp/features.cc | 5 +++++
|
create mode 100644 cromite_flags/net/base/features_cc/add-flag-to-disable-IPv6-probes.inc
|
||||||
services/network/public/cpp/features.h | 1 +
|
create mode 100644 cromite_flags/net/base/features_h/add-flag-to-disable-IPv6-probes.inc
|
||||||
9 files changed, 36 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
diff --git a/cromite_flags/chrome/browser/about_flags_cc/add-flag-to-disable-IPv6-probes.inc b/cromite_flags/chrome/browser/about_flags_cc/add-flag-to-disable-IPv6-probes.inc
|
||||||
--- a/chrome/browser/about_flags.cc
|
new file mode 100644
|
||||||
+++ b/chrome/browser/about_flags.cc
|
--- /dev/null
|
||||||
@@ -6475,6 +6475,10 @@ const FeatureEntry kFeatureEntries[] = {
|
+++ b/cromite_flags/chrome/browser/about_flags_cc/add-flag-to-disable-IPv6-probes.inc
|
||||||
{"enable-reader-mode-in-cct", flag_descriptions::kReaderModeInCCTName,
|
@@ -0,0 +1,8 @@
|
||||||
flag_descriptions::kReaderModeInCCTDescription, kOsAndroid,
|
+#ifdef FLAG_SECTION
|
||||||
FEATURE_VALUE_TYPE(chrome::android::kReaderModeInCCT)},
|
+
|
||||||
+ {"ipv6-probing",
|
+ {"ipv6-probing",
|
||||||
+ flag_descriptions::kIPv6ProbingName,
|
+ "Enable IPv6 probing.",
|
||||||
+ flag_descriptions::kIPv6ProbingDescription, kOsAll,
|
+ "Send IPv6 probes to a RIPE DNS address to verify IPv6 connectivity.", kOsAll,
|
||||||
+ FEATURE_VALUE_TYPE(net::features::kIPv6Probing)},
|
+ FEATURE_VALUE_TYPE(net::features::kIPv6Probing)},
|
||||||
#endif // BUILDFLAG(IS_ANDROID)
|
|
||||||
|
|
||||||
{"shopping-list", commerce::flag_descriptions::kShoppingListName,
|
|
||||||
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
|
|
||||||
@@ -3821,6 +3821,10 @@ const char kCCTTextFragmentLookupApiEnabledName[] =
|
|
||||||
const char kCCTTextFragmentLookupApiEnabledDescription[] =
|
|
||||||
"Enable CCT API to lookup text fragments";
|
|
||||||
|
|
||||||
+const char kIPv6ProbingName[] = "Enable IPv6 probing.";
|
|
||||||
+const char kIPv6ProbingDescription[] =
|
|
||||||
+ "Send IPv6 probes to a RIPE DNS address to verify IPv6 connectivity.";
|
|
||||||
+
|
+
|
||||||
const char kChimeAlwaysShowNotificationDescription[] =
|
+#endif // ifdef FLAG_SECTION
|
||||||
"A debug flag to always show Chime notification after receiving a payload.";
|
diff --git a/cromite_flags/net/base/features_cc/add-flag-to-disable-IPv6-probes.inc b/cromite_flags/net/base/features_cc/add-flag-to-disable-IPv6-probes.inc
|
||||||
const char kChimeAlwaysShowNotificationName[] =
|
new file mode 100644
|
||||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
--- /dev/null
|
||||||
--- a/chrome/browser/flag_descriptions.h
|
+++ b/cromite_flags/net/base/features_cc/add-flag-to-disable-IPv6-probes.inc
|
||||||
+++ b/chrome/browser/flag_descriptions.h
|
@@ -0,0 +1,3 @@
|
||||||
@@ -846,6 +846,9 @@ extern const char kEnableWasmStringrefName[];
|
+CROMITE_FEATURE(kIPv6Probing,
|
||||||
extern const char kEnableWasmStringrefDescription[];
|
+ "IPv6Probing",
|
||||||
|
+ base::FEATURE_ENABLED_BY_DEFAULT);
|
||||||
extern const char kEnableWasmTieringName[];
|
diff --git a/cromite_flags/net/base/features_h/add-flag-to-disable-IPv6-probes.inc b/cromite_flags/net/base/features_h/add-flag-to-disable-IPv6-probes.inc
|
||||||
+extern const char kIPv6ProbingName[];
|
new file mode 100644
|
||||||
+extern const char kIPv6ProbingDescription[];
|
--- /dev/null
|
||||||
+
|
+++ b/cromite_flags/net/base/features_h/add-flag-to-disable-IPv6-probes.inc
|
||||||
extern const char kEnableWasmTieringDescription[];
|
@@ -0,0 +1,2 @@
|
||||||
|
+// Enable IPv6 ping probes to RIPE DNS.
|
||||||
extern const char kEvDetailsInPageInfoName[];
|
+NET_EXPORT BASE_DECLARE_FEATURE(kIPv6Probing);
|
||||||
diff --git a/net/BUILD.gn b/net/BUILD.gn
|
diff --git a/net/BUILD.gn b/net/BUILD.gn
|
||||||
--- a/net/BUILD.gn
|
--- a/net/BUILD.gn
|
||||||
+++ b/net/BUILD.gn
|
+++ b/net/BUILD.gn
|
||||||
@@ -1085,6 +1085,7 @@ component("net") {
|
@@ -1030,6 +1030,7 @@ component("net") {
|
||||||
"//build:chromeos_buildflags",
|
"//build:chromeos_buildflags",
|
||||||
"//net/data/ssl/chrome_root_store:gen_root_store_inc",
|
"//components/miracle_parameter/common",
|
||||||
"//net/http:transport_security_state_generated_files",
|
"//net/http:transport_security_state_generated_files",
|
||||||
+ "//components/network_session_configurator/common"
|
+ "//components/network_session_configurator/common"
|
||||||
]
|
]
|
||||||
|
|
||||||
public_deps = [
|
public_deps = [
|
||||||
diff --git a/net/base/features.cc b/net/base/features.cc
|
|
||||||
--- a/net/base/features.cc
|
|
||||||
+++ b/net/base/features.cc
|
|
||||||
@@ -40,6 +40,10 @@ BASE_FEATURE(kUseDnsHttpsSvcb,
|
|
||||||
const base::FeatureParam<bool> kUseDnsHttpsSvcbEnforceSecureResponse{
|
|
||||||
&kUseDnsHttpsSvcb, "UseDnsHttpsSvcbEnforceSecureResponse", false};
|
|
||||||
|
|
||||||
+BASE_FEATURE(kIPv6Probing,
|
|
||||||
+ "IPv6Probing",
|
|
||||||
+ base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
+
|
|
||||||
const base::FeatureParam<base::TimeDelta> kUseDnsHttpsSvcbInsecureExtraTimeMax{
|
|
||||||
&kUseDnsHttpsSvcb, "UseDnsHttpsSvcbInsecureExtraTimeMax",
|
|
||||||
base::Milliseconds(50)};
|
|
||||||
diff --git a/net/base/features.h b/net/base/features.h
|
|
||||||
--- a/net/base/features.h
|
|
||||||
+++ b/net/base/features.h
|
|
||||||
@@ -52,6 +52,9 @@ NET_EXPORT BASE_DECLARE_FEATURE(kUseDnsHttpsSvcb);
|
|
||||||
NET_EXPORT extern const base::FeatureParam<bool>
|
|
||||||
kUseDnsHttpsSvcbEnforceSecureResponse;
|
|
||||||
|
|
||||||
+// Enable IPv6 ping probes to RIPE DNS.
|
|
||||||
+NET_EXPORT BASE_DECLARE_FEATURE(kIPv6Probing);
|
|
||||||
+
|
|
||||||
// If we are still waiting for an HTTPS transaction after all the
|
|
||||||
// other transactions in an insecure DnsTask have completed, we will compute a
|
|
||||||
// timeout for the remaining transaction. The timeout will be
|
|
||||||
diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
|
diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
|
||||||
--- a/net/dns/host_resolver_manager.cc
|
--- a/net/dns/host_resolver_manager.cc
|
||||||
+++ b/net/dns/host_resolver_manager.cc
|
+++ b/net/dns/host_resolver_manager.cc
|
||||||
@@ -110,6 +110,7 @@
|
@@ -113,6 +113,7 @@
|
||||||
#include "net/log/net_log_event_type.h"
|
#include "net/log/net_log_event_type.h"
|
||||||
#include "net/log/net_log_source.h"
|
#include "net/log/net_log_source.h"
|
||||||
#include "net/log/net_log_source_type.h"
|
#include "net/log/net_log_source_type.h"
|
||||||
@@ -105,17 +64,7 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
|
|||||||
#include "net/log/net_log_with_source.h"
|
#include "net/log/net_log_with_source.h"
|
||||||
#include "net/socket/client_socket_factory.h"
|
#include "net/socket/client_socket_factory.h"
|
||||||
#include "net/url_request/url_request_context.h"
|
#include "net/url_request/url_request_context.h"
|
||||||
@@ -677,6 +678,9 @@ class HostResolverManager::RequestImpl
|
@@ -1373,6 +1374,13 @@ int HostResolverManager::StartIPv6ReachabilityCheck(
|
||||||
// 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.
|
|
||||||
+ if (!base::FeatureList::IsEnabled(features::kIPv6Probing)) {
|
|
||||||
+ return OK;
|
|
||||||
+ }
|
|
||||||
if (parameters_.source == HostResolverSource::LOCAL_ONLY) {
|
|
||||||
int rv = resolver_->StartIPv6ReachabilityCheck(
|
|
||||||
source_net_log_, GetClientSocketFactory(),
|
|
||||||
@@ -3895,6 +3899,13 @@ int HostResolverManager::StartIPv6ReachabilityCheck(
|
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -129,31 +78,4 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
|
|||||||
if (probing_ipv6_) {
|
if (probing_ipv6_) {
|
||||||
ipv6_request_callbacks_.push_back(std::move(callback));
|
ipv6_request_callbacks_.push_back(std::move(callback));
|
||||||
return ERR_IO_PENDING;
|
return ERR_IO_PENDING;
|
||||||
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
|
|
||||||
@@ -31,6 +31,11 @@ BASE_FEATURE(kThrottleDelayable,
|
|
||||||
"ThrottleDelayable",
|
|
||||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
|
|
||||||
+// Enable IPv6 ping probes to RIPE DNS.
|
|
||||||
+BASE_FEATURE(kIPv6Probing,
|
|
||||||
+ "IPv6Probing",
|
|
||||||
+ base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
+
|
|
||||||
// When kPriorityRequestsDelayableOnSlowConnections is enabled, HTTP
|
|
||||||
// requests fetched from a SPDY/QUIC/H2 proxies can be delayed by the
|
|
||||||
// ResourceScheduler just as HTTP/1.1 resources are. However, requests from such
|
|
||||||
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
|
|
||||||
@@ -17,6 +17,7 @@ namespace features {
|
|
||||||
COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kNetworkErrorLogging);
|
|
||||||
COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kReporting);
|
|
||||||
COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kThrottleDelayable);
|
|
||||||
+COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kIPv6Probing);
|
|
||||||
COMPONENT_EXPORT(NETWORK_CPP)
|
|
||||||
BASE_DECLARE_FEATURE(kDelayRequestsOnMultiplexedConnections);
|
|
||||||
COMPONENT_EXPORT(NETWORK_CPP)
|
|
||||||
--
|
--
|
||||||
2.25.1
|
|
||||||
|
|||||||
@@ -7,54 +7,26 @@ 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
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
---
|
---
|
||||||
chrome/browser/about_flags.cc | 5 +++++
|
...Add-flag-to-disable-external-intent-requests.inc | 13 +++++++++++++
|
||||||
chrome/browser/flag_descriptions.cc | 6 ++++++
|
1 file changed, 13 insertions(+)
|
||||||
chrome/browser/flag_descriptions.h | 3 +++
|
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-flag-to-disable-external-intent-requests.inc
|
||||||
3 files changed, 14 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Add-flag-to-disable-external-intent-requests.inc b/cromite_flags/chrome/browser/about_flags_cc/Add-flag-to-disable-external-intent-requests.inc
|
||||||
--- a/chrome/browser/about_flags.cc
|
new file mode 100644
|
||||||
+++ b/chrome/browser/about_flags.cc
|
--- /dev/null
|
||||||
@@ -3849,6 +3849,11 @@ const FeatureEntry kFeatureEntries[] = {
|
+++ b/cromite_flags/chrome/browser/about_flags_cc/Add-flag-to-disable-external-intent-requests.inc
|
||||||
{"ui-disable-partial-swap", flag_descriptions::kUiPartialSwapName,
|
@@ -0,0 +1,13 @@
|
||||||
flag_descriptions::kUiPartialSwapDescription, kOsAll,
|
|
||||||
SINGLE_DISABLE_VALUE_TYPE(switches::kUIDisablePartialSwap)},
|
|
||||||
+#if BUILDFLAG(IS_ANDROID)
|
+#if BUILDFLAG(IS_ANDROID)
|
||||||
+ {"allow-external-intent-requests", flag_descriptions::kDisableExternalIntentRequestsName,
|
+
|
||||||
+ flag_descriptions::kDisableExternalIntentRequestsDescription, kOsAll,
|
+#ifdef FLAG_SECTION
|
||||||
|
+
|
||||||
|
+ {"allow-external-intent-requests",
|
||||||
|
+ "Allow forward URL requests to external intents",
|
||||||
|
+ "If disabled, URL requests will never"
|
||||||
|
+ "allow for redirecting to an external intent.", kOsAndroid,
|
||||||
+ SINGLE_DISABLE_VALUE_TYPE("disable-external-intent-requests")},
|
+ SINGLE_DISABLE_VALUE_TYPE("disable-external-intent-requests")},
|
||||||
|
+
|
||||||
+#endif
|
+#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
|
|
||||||
@@ -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[] =
|
|
||||||
+ "Allow forward URL requests to external intents";
|
|
||||||
+const char kDisableExternalIntentRequestsDescription[] =
|
|
||||||
+ "If disabled, URL requests will never"
|
|
||||||
+ "allow for redirecting to an external intent.";
|
|
||||||
+
|
+
|
||||||
const char kQueryTilesName[] = "Show query tiles";
|
+#endif
|
||||||
const char kQueryTilesDescription[] = "Shows query tiles in Chrome";
|
|
||||||
const char kQueryTilesNTPName[] = "Show query tiles in NTP";
|
|
||||||
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
|
|
||||||
@@ -2408,6 +2408,9 @@ extern const char kQueryTilesNTPDescription[];
|
|
||||||
extern const char kQueryTilesOnStartName[];
|
|
||||||
extern const char kQueryTilesOnStartDescription[];
|
|
||||||
extern const char kQueryTilesSingleTierName[];
|
|
||||||
+extern const char kDisableExternalIntentRequestsName[];
|
|
||||||
+extern const char kDisableExternalIntentRequestsDescription[];
|
|
||||||
+
|
|
||||||
extern const char kQueryTilesSingleTierDescription[];
|
|
||||||
extern const char kQueryTilesEnableQueryEditingName[];
|
|
||||||
extern const char kQueryTilesEnableQueryEditingDescription[];
|
|
||||||
--
|
--
|
||||||
2.25.1
|
|
||||||
|
|||||||
@@ -4,61 +4,23 @@ Subject: Add flag to disable vibration
|
|||||||
|
|
||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
---
|
---
|
||||||
chrome/browser/about_flags.cc | 4 ++++
|
content/child/runtime_features.cc | 1 +
|
||||||
chrome/browser/flag_descriptions.cc | 3 +++
|
.../about_flags_cc/Add-flag-to-disable-vibration.inc | 8 ++++++++
|
||||||
chrome/browser/flag_descriptions.h | 2 ++
|
.../content_features_cc/Add-flag-to-disable-vibration.inc | 4 ++++
|
||||||
content/child/runtime_features.cc | 1 +
|
.../content_features_h/Add-flag-to-disable-vibration.inc | 1 +
|
||||||
content/public/common/content_features.cc | 5 +++++
|
third_party/blink/public/platform/web_runtime_features.h | 1 +
|
||||||
content/public/common/content_features.h | 2 ++
|
.../renderer/modules/vibration/vibration_controller.cc | 3 +++
|
||||||
third_party/blink/public/platform/web_runtime_features.h | 1 +
|
.../renderer/platform/exported/web_runtime_features.cc | 4 ++++
|
||||||
.../blink/renderer/modules/vibration/vibration_controller.cc | 3 +++
|
.../renderer/platform/runtime_enabled_features.json5 | 4 ++++
|
||||||
.../blink/renderer/platform/exported/web_runtime_features.cc | 4 ++++
|
8 files changed, 26 insertions(+)
|
||||||
.../blink/renderer/platform/runtime_enabled_features.json5 | 4 ++++
|
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-flag-to-disable-vibration.inc
|
||||||
10 files changed, 29 insertions(+)
|
create mode 100644 cromite_flags/content/public/common/content_features_cc/Add-flag-to-disable-vibration.inc
|
||||||
|
create mode 100644 cromite_flags/content/public/common/content_features_h/Add-flag-to-disable-vibration.inc
|
||||||
|
|
||||||
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
|
|
||||||
@@ -7943,6 +7943,10 @@ const FeatureEntry kFeatureEntries[] = {
|
|
||||||
FEATURE_VALUE_TYPE(features::kNewMacNotificationAPI)},
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+ {"enable-vibration", flag_descriptions::kEnableVibrationName,
|
|
||||||
+ flag_descriptions::kEnableVibrationDescription, kOsAll,
|
|
||||||
+ FEATURE_VALUE_TYPE(features::kVibration)},
|
|
||||||
+
|
|
||||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
|
||||||
{"exo-consumed-by-ime-by-flag",
|
|
||||||
flag_descriptions::kExoConsumedByImeByFlagName,
|
|
||||||
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
|
|
||||||
@@ -6959,6 +6959,9 @@ const char kLacrosMergeIcuDataFileDescription[] =
|
|
||||||
"Enables sharing common areas of icudtl.dat between Ash and Lacros.";
|
|
||||||
#endif // #if BUILDFLAG(IS_CHROMEOS_LACROS)
|
|
||||||
|
|
||||||
+const char kEnableVibrationName[] = "Vibration";
|
|
||||||
+const char kEnableVibrationDescription[] = "Enable vibration API; an user gesture will still be needed.";
|
|
||||||
+
|
|
||||||
#if BUILDFLAG(IS_CHROMEOS)
|
|
||||||
const char kCrOSDspBasedAecAllowedName[] =
|
|
||||||
"Allow CRAS to use a DSP-based AEC if available";
|
|
||||||
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
|
|
||||||
@@ -4227,6 +4227,8 @@ extern const char kWebUITabStripTabDragIntegrationName[];
|
|
||||||
extern const char kWebUITabStripTabDragIntegrationDescription[];
|
|
||||||
#endif // BUILDFLAG(ENABLE_WEBUI_TAB_STRIP) && BUILDFLAG(IS_CHROMEOS_ASH)
|
|
||||||
|
|
||||||
+extern const char kEnableVibrationName[];
|
|
||||||
+extern const char kEnableVibrationDescription[];
|
|
||||||
#if defined(TOOLKIT_VIEWS) || BUILDFLAG(IS_ANDROID)
|
|
||||||
|
|
||||||
extern const char kAutofillCreditCardUploadName[];
|
|
||||||
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
|
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
|
||||||
--- a/content/child/runtime_features.cc
|
--- a/content/child/runtime_features.cc
|
||||||
+++ b/content/child/runtime_features.cc
|
+++ b/content/child/runtime_features.cc
|
||||||
@@ -101,6 +101,7 @@ void SetRuntimeFeatureDefaultsForPlatform(
|
@@ -103,6 +103,7 @@ void SetRuntimeFeatureDefaultsForPlatform(
|
||||||
if (command_line.HasSwitch(switches::kDisableMediaSessionAPI)) {
|
if (command_line.HasSwitch(switches::kDisableMediaSessionAPI)) {
|
||||||
WebRuntimeFeatures::EnableMediaSession(false);
|
WebRuntimeFeatures::EnableMediaSession(false);
|
||||||
}
|
}
|
||||||
@@ -66,40 +28,41 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if BUILDFLAG(IS_ANDROID)
|
#if BUILDFLAG(IS_ANDROID)
|
||||||
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
|
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Add-flag-to-disable-vibration.inc b/cromite_flags/chrome/browser/about_flags_cc/Add-flag-to-disable-vibration.inc
|
||||||
--- a/content/public/common/content_features.cc
|
new file mode 100644
|
||||||
+++ b/content/public/common/content_features.cc
|
--- /dev/null
|
||||||
@@ -157,6 +157,11 @@ BASE_FEATURE(kBackForwardCacheMemoryControls,
|
+++ b/cromite_flags/chrome/browser/about_flags_cc/Add-flag-to-disable-vibration.inc
|
||||||
#endif
|
@@ -0,0 +1,8 @@
|
||||||
);
|
+#ifdef FLAG_SECTION
|
||||||
|
+
|
||||||
|
+ {"enable-vibration",
|
||||||
|
+ "Vibration",
|
||||||
|
+ "Enable vibration API; an user gesture will still be needed.", kOsAll,
|
||||||
|
+ FEATURE_VALUE_TYPE(features::kVibration)},
|
||||||
|
+
|
||||||
|
+#endif
|
||||||
|
diff --git a/cromite_flags/content/public/common/content_features_cc/Add-flag-to-disable-vibration.inc b/cromite_flags/content/public/common/content_features_cc/Add-flag-to-disable-vibration.inc
|
||||||
|
new file mode 100644
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/cromite_flags/content/public/common/content_features_cc/Add-flag-to-disable-vibration.inc
|
||||||
|
@@ -0,0 +1,4 @@
|
||||||
+// Enables vibration; an user gesture will still be required if enabled.
|
+// Enables vibration; an user gesture will still be required if enabled.
|
||||||
+BASE_FEATURE(kVibration,
|
+CROMITE_FEATURE(kVibration,
|
||||||
+ "VibrationEnabled",
|
+ "VibrationEnabled",
|
||||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||||
+
|
diff --git a/cromite_flags/content/public/common/content_features_h/Add-flag-to-disable-vibration.inc b/cromite_flags/content/public/common/content_features_h/Add-flag-to-disable-vibration.inc
|
||||||
// When this feature is enabled, private network requests initiated from
|
new file mode 100644
|
||||||
// non-secure contexts in the `public` address space are blocked.
|
--- /dev/null
|
||||||
//
|
+++ b/cromite_flags/content/public/common/content_features_h/Add-flag-to-disable-vibration.inc
|
||||||
diff --git a/content/public/common/content_features.h b/content/public/common/content_features.h
|
@@ -0,0 +1 @@
|
||||||
--- a/content/public/common/content_features.h
|
|
||||||
+++ b/content/public/common/content_features.h
|
|
||||||
@@ -344,6 +344,8 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kWarmUpNetworkProcess);
|
|
||||||
CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebNfc);
|
|
||||||
|
|
||||||
#endif // BUILDFLAG(IS_ANDROID)
|
|
||||||
+CONTENT_EXPORT BASE_DECLARE_FEATURE(kVibration);
|
+CONTENT_EXPORT BASE_DECLARE_FEATURE(kVibration);
|
||||||
+
|
|
||||||
|
|
||||||
#if BUILDFLAG(IS_MAC)
|
|
||||||
CONTENT_EXPORT BASE_DECLARE_FEATURE(kDeviceMonitorMac);
|
|
||||||
diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_party/blink/public/platform/web_runtime_features.h
|
diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_party/blink/public/platform/web_runtime_features.h
|
||||||
--- a/third_party/blink/public/platform/web_runtime_features.h
|
--- a/third_party/blink/public/platform/web_runtime_features.h
|
||||||
+++ b/third_party/blink/public/platform/web_runtime_features.h
|
+++ b/third_party/blink/public/platform/web_runtime_features.h
|
||||||
@@ -70,6 +70,7 @@ class BLINK_PLATFORM_EXPORT WebRuntimeFeatures : public WebRuntimeFeaturesBase {
|
@@ -71,6 +71,7 @@ class BLINK_PLATFORM_EXPORT WebRuntimeFeatures : public WebRuntimeFeaturesBase {
|
||||||
static void EnableFingerprintingCanvasMeasureTextNoise(bool);
|
|
||||||
static void EnableFingerprintingCanvasImageDataNoise(bool);
|
static void EnableFingerprintingCanvasImageDataNoise(bool);
|
||||||
static void EnableFluentScrollbars(bool);
|
static void EnableFluentScrollbars(bool);
|
||||||
|
static void EnableFluentOverlayScrollbars(bool);
|
||||||
+ static void EnableVibration(bool);
|
+ static void EnableVibration(bool);
|
||||||
|
|
||||||
WebRuntimeFeatures() = delete;
|
WebRuntimeFeatures() = delete;
|
||||||
@@ -107,7 +70,7 @@ diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_pa
|
|||||||
diff --git a/third_party/blink/renderer/modules/vibration/vibration_controller.cc b/third_party/blink/renderer/modules/vibration/vibration_controller.cc
|
diff --git a/third_party/blink/renderer/modules/vibration/vibration_controller.cc b/third_party/blink/renderer/modules/vibration/vibration_controller.cc
|
||||||
--- a/third_party/blink/renderer/modules/vibration/vibration_controller.cc
|
--- a/third_party/blink/renderer/modules/vibration/vibration_controller.cc
|
||||||
+++ b/third_party/blink/renderer/modules/vibration/vibration_controller.cc
|
+++ b/third_party/blink/renderer/modules/vibration/vibration_controller.cc
|
||||||
@@ -29,6 +29,7 @@
|
@@ -28,6 +28,7 @@
|
||||||
#include "third_party/blink/renderer/core/frame/local_frame.h"
|
#include "third_party/blink/renderer/core/frame/local_frame.h"
|
||||||
#include "third_party/blink/renderer/core/frame/navigator.h"
|
#include "third_party/blink/renderer/core/frame/navigator.h"
|
||||||
#include "third_party/blink/renderer/core/page/page.h"
|
#include "third_party/blink/renderer/core/page/page.h"
|
||||||
@@ -115,7 +78,7 @@ diff --git a/third_party/blink/renderer/modules/vibration/vibration_controller.c
|
|||||||
|
|
||||||
// Maximum number of entries in a vibration pattern.
|
// Maximum number of entries in a vibration pattern.
|
||||||
const unsigned kVibrationPatternLengthMax = 99;
|
const unsigned kVibrationPatternLengthMax = 99;
|
||||||
@@ -152,6 +153,8 @@ bool VibrationController::vibrate(Navigator& navigator,
|
@@ -109,6 +110,8 @@ bool VibrationController::vibrate(Navigator& navigator,
|
||||||
// reference to |window| or |navigator| was retained in another window.
|
// reference to |window| or |navigator| was retained in another window.
|
||||||
if (!navigator.DomWindow())
|
if (!navigator.DomWindow())
|
||||||
return false;
|
return false;
|
||||||
@@ -141,7 +104,7 @@ diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.c
|
|||||||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||||
@@ -2495,6 +2495,10 @@
|
@@ -635,6 +635,10 @@
|
||||||
status: {"Android": "stable"},
|
status: {"Android": "stable"},
|
||||||
base_feature: "none",
|
base_feature: "none",
|
||||||
},
|
},
|
||||||
@@ -150,7 +113,6 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
|||||||
+ status: "stable",
|
+ status: "stable",
|
||||||
+ },
|
+ },
|
||||||
{
|
{
|
||||||
name: "OriginIsolationHeader",
|
name: "CompositionForegroundMarkers",
|
||||||
status: "stable",
|
status: {
|
||||||
--
|
--
|
||||||
2.25.1
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
From: Your Name <you@example.com>
|
From: uazo <uazo@users.noreply.github.com>
|
||||||
Date: Thu, 20 Oct 2022 09:34:48 +0000
|
Date: Thu, 20 Oct 2022 09:34:48 +0000
|
||||||
Subject: Add kill switch for unsupported clangd flags
|
Subject: Add kill switch for unsupported clangd flags
|
||||||
|
|
||||||
@@ -7,38 +7,47 @@ Allows build with clangd by suppressing unsupported parameters
|
|||||||
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
---
|
---
|
||||||
build/config/compiler/BUILD.gn | 6 +++++-
|
build/config/compiler/BUILD.gn | 10 +++++++++-
|
||||||
build_overrides/build.gni | 3 +++
|
build_overrides/build.gni | 3 +++
|
||||||
2 files changed, 8 insertions(+), 1 deletion(-)
|
2 files changed, 12 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
|
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
|
||||||
--- a/build/config/compiler/BUILD.gn
|
--- a/build/config/compiler/BUILD.gn
|
||||||
+++ b/build/config/compiler/BUILD.gn
|
+++ b/build/config/compiler/BUILD.gn
|
||||||
@@ -1772,7 +1772,11 @@ config("default_warnings") {
|
@@ -1889,13 +1889,21 @@ config("default_warnings") {
|
||||||
# TODO(crbug.com/1412713) Evaluate and possibly enable.
|
# TODO(https://crbug.com/1490607): Fix and re-enable.
|
||||||
"-Wno-deprecated-this-capture",
|
"-Wno-thread-safety-reference-return",
|
||||||
]
|
]
|
||||||
-
|
-
|
||||||
+ if (skip_clangd_unsupported_options) {
|
if (!is_nacl) {
|
||||||
+ cflags -= [
|
cflags_cc += [
|
||||||
+ "-Wno-deprecated-builtins",
|
# TODO(https://crbug.com/1513724): Fix and re-enable.
|
||||||
+ ]
|
"-Wno-c++11-narrowing-const-reference",
|
||||||
+ }
|
]
|
||||||
if (llvm_force_head_revision) {
|
}
|
||||||
# TODO(https://crbug.com/1448905): Evaluate and possibly enable.
|
+ if (skip_clangd_unsupported_options) {
|
||||||
cflags += [ "-Wno-builtin-macro-redefined" ]
|
+ cflags -= [
|
||||||
|
+ "-Wno-deprecated-builtins",
|
||||||
|
+ "-Wno-thread-safety-reference-return",
|
||||||
|
+ ]
|
||||||
|
+ cflags_cc -= [
|
||||||
|
+ "-Wno-c++11-narrowing-const-reference",
|
||||||
|
+ ]
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
# Some builders, such as Cronet, use a different version of Clang than
|
||||||
diff --git a/build_overrides/build.gni b/build_overrides/build.gni
|
diff --git a/build_overrides/build.gni b/build_overrides/build.gni
|
||||||
--- a/build_overrides/build.gni
|
--- a/build_overrides/build.gni
|
||||||
+++ b/build_overrides/build.gni
|
+++ b/build_overrides/build.gni
|
||||||
@@ -58,6 +58,9 @@ declare_args() {
|
@@ -62,6 +62,9 @@ declare_args() {
|
||||||
# Allows third-party repositories to use C++17 for MSVC builds
|
# to lack of toolchain support.
|
||||||
# TODO(https://crbug.com/pdfium/1932) Remove once pdfium builds on MSVC C++20
|
gtest_enable_absl_printers = !is_nacl
|
||||||
msvc_use_cxx17 = false
|
|
||||||
+
|
|
||||||
+ # Allows clangd builds by suppressing unsupported parameters
|
+ # Allows clangd builds by suppressing unsupported parameters
|
||||||
+ skip_clangd_unsupported_options = false
|
+ skip_clangd_unsupported_options = false
|
||||||
}
|
+
|
||||||
|
# Allow projects that wish to stay on C++17 to override Chromium's default.
|
||||||
# Allows different projects to specify their own suppression/ignore lists for
|
# TODO(crbug.com/1402249): evaluate removing this end of 2023
|
||||||
|
use_cxx17 = false
|
||||||
--
|
--
|
||||||
2.25.1
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -4,33 +4,34 @@ Subject: Add menu item to bookmark all tabs
|
|||||||
|
|
||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
---
|
---
|
||||||
chrome/android/java/res/menu/main_menu.xml | 7 +++
|
chrome/android/java/res/menu/main_menu.xml | 7 ++
|
||||||
.../chrome/browser/ChromeTabbedActivity.java | 24 ++++++++
|
.../chrome/browser/ChromeTabbedActivity.java | 24 +++++++
|
||||||
.../browser/bookmarks/BookmarkBridge.java | 61 +++++++++++++++++++
|
.../browser/bookmarks/BookmarkBridge.java | 67 +++++++++++++++++++
|
||||||
.../browser/bookmarks/BookmarkUtils.java | 4 ++
|
.../bookmarks/android/bookmark_bridge.cc | 44 ++++++++++++
|
||||||
.../bookmarks/android/bookmark_bridge.cc | 19 +++++-
|
.../bookmarks/android/bookmark_bridge.h | 8 +++
|
||||||
.../bookmarks/android/bookmark_bridge.h | 4 ++
|
.../browser/bookmarks/bookmark_html_writer.cc | 11 ++-
|
||||||
.../browser/bookmarks/bookmark_html_writer.cc | 8 ++-
|
|
||||||
.../bookmarks/chrome_bookmark_client.cc | 2 +
|
|
||||||
.../dialogs/DownloadLocationCustomView.java | 4 +-
|
.../dialogs/DownloadLocationCustomView.java | 4 +-
|
||||||
.../strings/android_chrome_strings.grd | 3 +
|
.../strings/android_chrome_strings.grd | 3 +
|
||||||
components/bookmark_bar_strings.grdp | 6 ++
|
components/bookmark_bar_strings.grdp | 6 ++
|
||||||
.../bookmarks/browser/bookmark_codec.cc | 22 +++++--
|
.../bookmarks/browser/bookmark_codec.cc | 20 +++++-
|
||||||
components/bookmarks/browser/bookmark_codec.h | 7 ++-
|
components/bookmarks/browser/bookmark_codec.h | 7 +-
|
||||||
.../browser/bookmark_load_details.cc | 4 ++
|
.../browser/bookmark_load_details.cc | 8 ++-
|
||||||
.../bookmarks/browser/bookmark_load_details.h | 3 +
|
.../bookmarks/browser/bookmark_load_details.h | 2 +
|
||||||
.../bookmarks/browser/bookmark_model.cc | 3 +-
|
.../bookmarks/browser/bookmark_model.cc | 3 +-
|
||||||
components/bookmarks/browser/bookmark_model.h | 7 +++
|
components/bookmarks/browser/bookmark_model.h | 7 ++
|
||||||
components/bookmarks/browser/bookmark_node.cc | 15 +++++
|
components/bookmarks/browser/bookmark_node.cc | 11 +++
|
||||||
components/bookmarks/browser/bookmark_node.h | 5 ++
|
components/bookmarks/browser/bookmark_node.h | 3 +
|
||||||
components/bookmarks/browser/model_loader.cc | 3 +-
|
.../bookmarks/browser/bookmark_storage.cc | 2 +
|
||||||
|
.../bookmarks/browser/bookmark_uuids.cc | 3 +
|
||||||
|
components/bookmarks/browser/bookmark_uuids.h | 1 +
|
||||||
|
components/bookmarks/browser/model_loader.cc | 8 ++-
|
||||||
.../bookmark_specifics_conversions.cc | 1 +
|
.../bookmark_specifics_conversions.cc | 1 +
|
||||||
21 files changed, 201 insertions(+), 11 deletions(-)
|
22 files changed, 236 insertions(+), 14 deletions(-)
|
||||||
|
|
||||||
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
|
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
|
--- a/chrome/android/java/res/menu/main_menu.xml
|
||||||
+++ b/chrome/android/java/res/menu/main_menu.xml
|
+++ b/chrome/android/java/res/menu/main_menu.xml
|
||||||
@@ -69,6 +69,10 @@ found in the LICENSE file.
|
@@ -71,6 +71,10 @@ found in the LICENSE file.
|
||||||
<item android:id="@+id/all_bookmarks_menu_id"
|
<item android:id="@+id/all_bookmarks_menu_id"
|
||||||
android:title="@string/menu_bookmarks"
|
android:title="@string/menu_bookmarks"
|
||||||
android:icon="@drawable/btn_star_filled" />
|
android:icon="@drawable/btn_star_filled" />
|
||||||
@@ -41,10 +42,10 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
|
|||||||
<item android:id="@+id/recent_tabs_menu_id"
|
<item android:id="@+id/recent_tabs_menu_id"
|
||||||
android:title="@string/menu_recent_tabs"
|
android:title="@string/menu_recent_tabs"
|
||||||
android:icon="@drawable/devices_black_24dp" />
|
android:icon="@drawable/devices_black_24dp" />
|
||||||
@@ -181,6 +185,9 @@ found in the LICENSE file.
|
@@ -186,6 +190,9 @@ found in the LICENSE file.
|
||||||
<item android:id="@id/quick_delete_menu_id"
|
<item android:id="@+id/close_all_incognito_tabs_menu_id"
|
||||||
android:title="@string/menu_quick_delete"
|
android:title="@string/menu_close_all_incognito_tabs"
|
||||||
android:icon="@drawable/quick_delete_trash_bin_icon_24dp"/>
|
android:icon="@drawable/btn_close_white" />
|
||||||
+ <item android:id="@+id/bookmark_all_tabs_menu_id"
|
+ <item android:id="@+id/bookmark_all_tabs_menu_id"
|
||||||
+ android:title="@string/menu_bookmark_all_tabs"
|
+ android:title="@string/menu_bookmark_all_tabs"
|
||||||
+ android:icon="@drawable/ic_folder_blue_24dp" />
|
+ android:icon="@drawable/ic_folder_blue_24dp" />
|
||||||
@@ -54,7 +55,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||||
@@ -80,6 +80,7 @@ import org.chromium.chrome.browser.back_press.MinimizeAppAndCloseTabBackPressHan
|
@@ -89,6 +89,7 @@ import org.chromium.chrome.browser.base.ColdStartTracker;
|
||||||
import org.chromium.chrome.browser.bookmarks.BookmarkUtils;
|
import org.chromium.chrome.browser.bookmarks.BookmarkUtils;
|
||||||
import org.chromium.chrome.browser.browserservices.intents.WebappConstants;
|
import org.chromium.chrome.browser.browserservices.intents.WebappConstants;
|
||||||
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
|
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
|
||||||
@@ -62,17 +63,17 @@ 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.Layout;
|
||||||
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChrome;
|
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChrome;
|
||||||
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChromePhone;
|
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChromePhone;
|
||||||
@@ -2282,6 +2283,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
@@ -2950,6 +2951,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||||
CloseAllTabsDialog.show(this, getModalDialogManagerSupplier(),
|
getTabModelSelectorSupplier().get(),
|
||||||
() -> getTabModelSelector().closeAllTabs(), /*isIncognito=*/false);
|
() -> getTabModelSelector().closeAllTabs());
|
||||||
RecordUserAction.record("MobileMenuCloseAllTabs");
|
RecordUserAction.record("MobileMenuCloseAllTabs");
|
||||||
+ } else if (id == R.id.bookmark_all_tabs_menu_id) {
|
+ } else if (id == R.id.bookmark_all_tabs_menu_id) {
|
||||||
+ bookmarkAllTabs();
|
+ bookmarkAllTabs();
|
||||||
} else if (id == R.id.close_all_incognito_tabs_menu_id) {
|
} else if (id == R.id.close_all_incognito_tabs_menu_id) {
|
||||||
// Close only incognito tabs
|
// Close only incognito tabs
|
||||||
CloseAllTabsDialog.show(this, getModalDialogManagerSupplier(),
|
CloseAllTabsDialog.show(
|
||||||
@@ -2347,6 +2350,27 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
@@ -3021,6 +3024,27 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||||
mTabModalHandler.onOmniboxFocusChanged(hasFocus);
|
getTabModalLifetimeHandler().onOmniboxFocusChanged(hasFocus);
|
||||||
}
|
}
|
||||||
|
|
||||||
+ private void bookmarkAllTabs() {
|
+ private void bookmarkAllTabs() {
|
||||||
@@ -102,18 +103,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
|
||||||
@@ -29,6 +29,7 @@ import com.google.protobuf.InvalidProtocolBufferException;
|
@@ -18,11 +18,17 @@ import org.jni_zero.NativeMethods;
|
||||||
|
|
||||||
import org.chromium.base.Callback;
|
import org.chromium.base.Callback;
|
||||||
import org.chromium.base.ContextUtils;
|
import org.chromium.base.ContextUtils;
|
||||||
+import org.chromium.base.Log;
|
+import org.chromium.base.Log;
|
||||||
import org.chromium.base.ObserverList;
|
import org.chromium.base.ObserverList;
|
||||||
import org.chromium.base.ThreadUtils;
|
import org.chromium.base.ThreadUtils;
|
||||||
import org.chromium.base.annotations.CalledByNative;
|
import org.chromium.base.metrics.RecordUserAction;
|
||||||
@@ -39,6 +40,10 @@ import org.chromium.chrome.browser.partnerbookmarks.PartnerBookmarksShim;
|
import org.chromium.chrome.browser.partnerbookmarks.PartnerBookmarksShim;
|
||||||
import org.chromium.chrome.browser.profiles.Profile;
|
import org.chromium.chrome.browser.profiles.Profile;
|
||||||
import org.chromium.chrome.browser.read_later.ReadingListUtils;
|
+import org.chromium.chrome.browser.tab.Tab;
|
||||||
import org.chromium.chrome.browser.tab.Tab;
|
|
||||||
+import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar;
|
+import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar;
|
||||||
+import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
|
+import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
|
||||||
+import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarController;
|
+import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarController;
|
||||||
@@ -121,17 +121,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
|||||||
import org.chromium.components.bookmarks.BookmarkId;
|
import org.chromium.components.bookmarks.BookmarkId;
|
||||||
import org.chromium.components.bookmarks.BookmarkItem;
|
import org.chromium.components.bookmarks.BookmarkItem;
|
||||||
import org.chromium.components.bookmarks.BookmarkType;
|
import org.chromium.components.bookmarks.BookmarkType;
|
||||||
@@ -82,6 +87,8 @@ import java.io.File;
|
@@ -82,6 +88,8 @@ import org.chromium.ui.modaldialog.DialogDismissalCause;
|
||||||
* bookmark model stored in native.
|
|
||||||
*/
|
|
||||||
class BookmarkBridge {
|
class BookmarkBridge {
|
||||||
|
private final ObserverList<BookmarkModelObserver> mObservers = new ObserverList<>();
|
||||||
|
|
||||||
+ private static final String TAG = "BookmarkBridge";
|
+ private static final String TAG = "BookmarkBridge";
|
||||||
+
|
+
|
||||||
private long mNativeBookmarkBridge;
|
private long mNativeBookmarkBridge;
|
||||||
private boolean mIsDestroyed;
|
private boolean mIsDestroyed;
|
||||||
private boolean mIsDoingExtensiveChanges;
|
private boolean mIsDoingExtensiveChanges;
|
||||||
@@ -379,6 +386,16 @@ class BookmarkBridge {
|
@@ -402,6 +410,16 @@ class BookmarkBridge {
|
||||||
mNativeBookmarkBridge, BookmarkBridge.this);
|
return mMobileFolderId;
|
||||||
}
|
}
|
||||||
|
|
||||||
+ /**
|
+ /**
|
||||||
@@ -144,17 +144,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
|||||||
+ mNativeBookmarkBridge, BookmarkBridge.this);
|
+ mNativeBookmarkBridge, BookmarkBridge.this);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
/**
|
/** Returns Id representing the special "other" folder from bookmark model. */
|
||||||
* @return Id representing the special "other" folder from bookmark model.
|
public BookmarkId getOtherFolderId() {
|
||||||
*/
|
ThreadUtils.assertOnUiThread();
|
||||||
@@ -1002,6 +1019,49 @@ class BookmarkBridge {
|
@@ -1092,6 +1110,50 @@ class BookmarkBridge {
|
||||||
mNativeBookmarkBridge, BookmarkBridge.this, title, url);
|
.addToReadingList(mNativeBookmarkBridge, parentId, title, url);
|
||||||
}
|
}
|
||||||
|
|
||||||
+ // Used to bookmark all tabs in a specific folder, created if not existing
|
+ // Used to bookmark all tabs in a specific folder, created if not existing
|
||||||
+ public BookmarkId addToTabsCollection(Context context, Tab tab) {
|
+ public BookmarkId addToTabsCollection(Context context, Tab tab) {
|
||||||
+ BookmarkId parent = getTabsCollectionFolderId();
|
+ BookmarkId parent = getTabsCollectionFolderId();
|
||||||
+ BookmarkId existingId = getUserBookmarkIdForTab(tab);
|
+ BookmarkId existingId = BookmarkBridgeJni.get().getBookmarkIdForTabsCollection(
|
||||||
|
+ mNativeBookmarkBridge, tab.getOriginalUrl());
|
||||||
+ if (existingId != null && existingId.getId() != BookmarkId.INVALID_ID) {
|
+ if (existingId != null && existingId.getId() != BookmarkId.INVALID_ID) {
|
||||||
+ BookmarkId existingBookmarkId = new BookmarkId(existingId.getId(), BookmarkType.NORMAL);
|
+ BookmarkId existingBookmarkId = new BookmarkId(existingId.getId(), BookmarkType.NORMAL);
|
||||||
+ BookmarkItem existingBookmark = getBookmarkById(existingBookmarkId);
|
+ BookmarkItem existingBookmark = getBookmarkById(existingBookmarkId);
|
||||||
@@ -195,60 +196,65 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
/**
|
/**
|
||||||
* @param url The URL of the reading list item.
|
* Helper method to mark an item as read.
|
||||||
* @return The reading list item with the URL, or null if no such reading list item.
|
*
|
||||||
@@ -1220,6 +1280,7 @@ class BookmarkBridge {
|
@@ -1334,6 +1396,9 @@ class BookmarkBridge {
|
||||||
void getAllFoldersWithDepths(long nativeBookmarkBridge, BookmarkBridge caller,
|
|
||||||
List<BookmarkId> folderList, List<Integer> depthList);
|
|
||||||
BookmarkId getRootFolderId(long nativeBookmarkBridge, BookmarkBridge caller);
|
|
||||||
+ BookmarkId getTabsCollectionFolderId(long nativeBookmarkBridge, BookmarkBridge caller);
|
|
||||||
BookmarkId getMobileFolderId(long nativeBookmarkBridge, BookmarkBridge caller);
|
|
||||||
BookmarkId getOtherFolderId(long nativeBookmarkBridge, BookmarkBridge caller);
|
|
||||||
BookmarkId getDesktopFolderId(long nativeBookmarkBridge, BookmarkBridge caller);
|
|
||||||
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
|
|
||||||
@@ -575,6 +575,7 @@ public class BookmarkUtils {
|
|
||||||
List<BookmarkId> topLevelFolders = new ArrayList<>();
|
|
||||||
BookmarkId desktopNodeId = bookmarkModel.getDesktopFolderId();
|
|
||||||
BookmarkId mobileNodeId = bookmarkModel.getMobileFolderId();
|
|
||||||
+ BookmarkId tabsCollectionNodeId = bookmarkModel.getTabsCollectionFolderId();
|
|
||||||
BookmarkId othersNodeId = bookmarkModel.getOtherFolderId();
|
|
||||||
|
|
||||||
List<BookmarkId> specialFoldersIds =
|
BookmarkId getMostRecentlyAddedUserBookmarkIdForUrl(long nativeBookmarkBridge, GURL url);
|
||||||
@@ -600,6 +601,9 @@ public class BookmarkUtils {
|
|
||||||
if (bookmarkModel.isFolderVisible(mobileNodeId)) {
|
+ BookmarkId getBookmarkIdForTabsCollection(
|
||||||
topLevelFolders.add(mobileNodeId);
|
+ long nativeBookmarkBridge, GURL url);
|
||||||
}
|
+
|
||||||
+ if (bookmarkModel.isFolderVisible(tabsCollectionNodeId)) {
|
BookmarkItem getBookmarkById(long nativeBookmarkBridge, long id, int type);
|
||||||
+ topLevelFolders.add(tabsCollectionNodeId);
|
|
||||||
+ }
|
void getTopLevelFolderIds(
|
||||||
if (bookmarkModel.isFolderVisible(desktopNodeId)) {
|
@@ -1353,6 +1418,8 @@ class BookmarkBridge {
|
||||||
topLevelFolders.add(desktopNodeId);
|
|
||||||
}
|
BookmarkId getRootFolderId(long nativeBookmarkBridge);
|
||||||
|
|
||||||
|
+ BookmarkId getTabsCollectionFolderId(long nativeBookmarkBridge, BookmarkBridge caller);
|
||||||
|
+
|
||||||
|
BookmarkId getMobileFolderId(long nativeBookmarkBridge);
|
||||||
|
|
||||||
|
BookmarkId getOtherFolderId(long nativeBookmarkBridge);
|
||||||
diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browser/bookmarks/android/bookmark_bridge.cc
|
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
|
--- a/chrome/browser/bookmarks/android/bookmark_bridge.cc
|
||||||
+++ b/chrome/browser/bookmarks/android/bookmark_bridge.cc
|
+++ b/chrome/browser/bookmarks/android/bookmark_bridge.cc
|
||||||
@@ -470,12 +470,17 @@ void BookmarkBridge::GetTopLevelFolderIds(
|
@@ -367,6 +367,33 @@ void BookmarkBridge::GetImageUrlForBookmark(
|
||||||
std::size_t special_count = top_level_folders.size();
|
base::BindOnce(&HandleImageUrlResponse, callback));
|
||||||
|
}
|
||||||
|
|
||||||
if (get_normal) {
|
+base::android::ScopedJavaLocalRef<jobject>
|
||||||
- DCHECK_EQ(4u, bookmark_model_->root_node()->children().size());
|
+BookmarkBridge::GetBookmarkIdForTabsCollection(
|
||||||
+ DCHECK_EQ(5u, bookmark_model_->root_node()->children().size());
|
+ JNIEnv* env,
|
||||||
for (const auto& node : bookmark_model_->mobile_node()->children()) {
|
+ const JavaParamRef<jobject>& url) {
|
||||||
if (node->is_folder())
|
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
||||||
top_level_folders.push_back(node.get());
|
|
||||||
}
|
|
||||||
|
|
||||||
+ for (const auto& node : bookmark_model_->tabs_collection_node()->children()) {
|
|
||||||
+ if (node->is_folder())
|
|
||||||
+ top_level_folders.push_back(node.get());
|
|
||||||
+ }
|
|
||||||
+
|
+
|
||||||
for (const auto& node : bookmark_model_->bookmark_bar_node()->children()) {
|
+ GURL gurl = *url::GURLAndroid::ToNativeGURL(env, url);
|
||||||
if (node->is_folder())
|
+
|
||||||
top_level_folders.push_back(node.get());
|
+ bookmarks::BookmarkModel* model =
|
||||||
@@ -523,6 +528,7 @@ void BookmarkBridge::GetAllFoldersWithDepths(
|
+ BookmarkModelFactory::GetForBrowserContext(profile_);
|
||||||
|
+
|
||||||
|
+ std::vector<raw_ptr<const bookmarks::BookmarkNode, VectorExperimental>> nodes =
|
||||||
|
+ model->GetNodesByURL(gurl);
|
||||||
|
+ std::sort(nodes.begin(), nodes.end(), &bookmarks::MoreRecentlyAdded);
|
||||||
|
+
|
||||||
|
+ for (const BookmarkNode* node : nodes) {
|
||||||
|
+ for (const auto& child : model->tabs_collection_node()->children()) {
|
||||||
|
+ if (node->id() == child->id()) {
|
||||||
|
+ return JavaBookmarkIdCreateBookmarkId(env, node->id(),
|
||||||
|
+ GetBookmarkType(node));
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ return nullptr;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
base::android::ScopedJavaLocalRef<jobject>
|
||||||
|
BookmarkBridge::GetMostRecentlyAddedUserBookmarkIdForUrl(
|
||||||
|
JNIEnv* env,
|
||||||
|
@@ -482,6 +509,7 @@ void BookmarkBridge::GetAllFoldersWithDepths(
|
||||||
// Vector to temporarily contain all child bookmarks at same level for sorting
|
// Vector to temporarily contain all child bookmarks at same level for sorting
|
||||||
std::vector<const BookmarkNode*> bookmarks = {
|
std::vector<const BookmarkNode*> bookmarks = {
|
||||||
bookmark_model_->mobile_node(),
|
bookmark_model_->mobile_node(),
|
||||||
@@ -256,8 +262,20 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
|
|||||||
bookmark_model_->bookmark_bar_node(),
|
bookmark_model_->bookmark_bar_node(),
|
||||||
bookmark_model_->other_node(),
|
bookmark_model_->other_node(),
|
||||||
};
|
};
|
||||||
@@ -575,6 +581,17 @@ ScopedJavaLocalRef<jobject> BookmarkBridge::GetMobileFolderId(
|
@@ -539,6 +567,11 @@ std::vector<const BookmarkNode*> BookmarkBridge::GetTopLevelFolderIdsImpl(
|
||||||
return folder_id_obj;
|
top_level_folders.push_back(root_child.get());
|
||||||
|
}
|
||||||
|
|
||||||
|
+ for (const auto& node : bookmark_model_->tabs_collection_node()->children()) {
|
||||||
|
+ if (node->is_folder())
|
||||||
|
+ top_level_folders.push_back(node.get());
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (account_reading_list_manager_ &&
|
||||||
|
account_reading_list_manager_->GetRoot()) {
|
||||||
|
top_level_folders.push_back(account_reading_list_manager_->GetRoot());
|
||||||
|
@@ -1176,6 +1209,17 @@ void BookmarkBridge::GetBookmarksOfType(
|
||||||
|
AddBookmarkNodesToBookmarkIdList(env, j_list, results);
|
||||||
}
|
}
|
||||||
|
|
||||||
+ScopedJavaLocalRef<jobject> BookmarkBridge::GetTabsCollectionFolderId(
|
+ScopedJavaLocalRef<jobject> BookmarkBridge::GetTabsCollectionFolderId(
|
||||||
@@ -271,27 +289,48 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
|
|||||||
+ return folder_id_obj;
|
+ return folder_id_obj;
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
ScopedJavaLocalRef<jobject> BookmarkBridge::GetOtherFolderId(
|
ScopedJavaLocalRef<jobject> BookmarkBridge::AddFolder(
|
||||||
JNIEnv* env,
|
JNIEnv* env,
|
||||||
const JavaParamRef<jobject>& obj) {
|
const JavaParamRef<jobject>& j_parent_id_obj,
|
||||||
diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser/bookmarks/android/bookmark_bridge.h
|
diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser/bookmarks/android/bookmark_bridge.h
|
||||||
--- a/chrome/browser/bookmarks/android/bookmark_bridge.h
|
--- a/chrome/browser/bookmarks/android/bookmark_bridge.h
|
||||||
+++ b/chrome/browser/bookmarks/android/bookmark_bridge.h
|
+++ b/chrome/browser/bookmarks/android/bookmark_bridge.h
|
||||||
@@ -133,6 +133,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
|
@@ -77,6 +77,10 @@ class BookmarkBridge : public ProfileObserver,
|
||||||
|
const base::android::JavaParamRef<jobject>& j_url,
|
||||||
|
const base::android::JavaParamRef<jobject>& j_callback);
|
||||||
|
|
||||||
|
+ base::android::ScopedJavaLocalRef<jobject> GetBookmarkIdForTabsCollection(
|
||||||
|
+ JNIEnv* env,
|
||||||
|
+ const base::android::JavaParamRef<jobject>& url);
|
||||||
|
+
|
||||||
|
base::android::ScopedJavaLocalRef<jobject>
|
||||||
|
GetMostRecentlyAddedUserBookmarkIdForUrl(
|
||||||
JNIEnv* env,
|
JNIEnv* env,
|
||||||
const base::android::JavaParamRef<jobject>& obj);
|
@@ -227,6 +231,10 @@ class BookmarkBridge : public ProfileObserver,
|
||||||
|
const base::android::JavaParamRef<jobject>& j_list,
|
||||||
|
jint type);
|
||||||
|
|
||||||
+ base::android::ScopedJavaLocalRef<jobject> GetTabsCollectionFolderId(
|
+ base::android::ScopedJavaLocalRef<jobject> GetTabsCollectionFolderId(
|
||||||
+ JNIEnv* env,
|
+ JNIEnv* env,
|
||||||
+ const base::android::JavaParamRef<jobject>& obj);
|
+ const base::android::JavaParamRef<jobject>& obj);
|
||||||
+
|
+
|
||||||
base::android::ScopedJavaLocalRef<jobject> GetOtherFolderId(
|
base::android::ScopedJavaLocalRef<jobject> AddFolder(
|
||||||
JNIEnv* env,
|
JNIEnv* env,
|
||||||
const base::android::JavaParamRef<jobject>& obj);
|
const base::android::JavaParamRef<jobject>& j_parent_id_obj,
|
||||||
diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/bookmarks/bookmark_html_writer.cc
|
diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/bookmarks/bookmark_html_writer.cc
|
||||||
--- a/chrome/browser/bookmarks/bookmark_html_writer.cc
|
--- a/chrome/browser/bookmarks/bookmark_html_writer.cc
|
||||||
+++ b/chrome/browser/bookmarks/bookmark_html_writer.cc
|
+++ b/chrome/browser/bookmarks/bookmark_html_writer.cc
|
||||||
@@ -188,15 +188,19 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
|
@@ -168,7 +168,8 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
|
||||||
|
BookmarkCodec codec;
|
||||||
|
bookmarks_ =
|
||||||
|
codec.Encode(model->bookmark_bar_node(), model->other_node(),
|
||||||
|
- model->mobile_node(), /*sync_metadata_str=*/std::string());
|
||||||
|
+ model->mobile_node(), model->tabs_collection_node(),
|
||||||
|
+ /*sync_metadata_str=*/std::string());
|
||||||
|
}
|
||||||
|
|
||||||
|
Writer(const Writer&) = delete;
|
||||||
|
@@ -195,15 +196,19 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
|
||||||
roots->FindDict(BookmarkCodec::kOtherBookmarkFolderNameKey);
|
roots->FindDict(BookmarkCodec::kOtherBookmarkFolderNameKey);
|
||||||
base::Value::Dict* mobile_folder_value =
|
base::Value::Dict* mobile_folder_value =
|
||||||
roots->FindDict(BookmarkCodec::kMobileBookmarkFolderNameKey);
|
roots->FindDict(BookmarkCodec::kMobileBookmarkFolderNameKey);
|
||||||
@@ -312,7 +351,7 @@ diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/b
|
|||||||
NotifyOnFinish(BookmarksExportObserver::Result::kCouldNotWriteNodes);
|
NotifyOnFinish(BookmarksExportObserver::Result::kCouldNotWriteNodes);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -460,6 +464,8 @@ void BookmarkFaviconFetcher::ExportBookmarks() {
|
@@ -467,6 +472,8 @@ void BookmarkFaviconFetcher::ExportBookmarks() {
|
||||||
BookmarkModelFactory::GetForBrowserContext(profile_)->other_node());
|
BookmarkModelFactory::GetForBrowserContext(profile_)->other_node());
|
||||||
ExtractUrls(
|
ExtractUrls(
|
||||||
BookmarkModelFactory::GetForBrowserContext(profile_)->mobile_node());
|
BookmarkModelFactory::GetForBrowserContext(profile_)->mobile_node());
|
||||||
@@ -321,22 +360,10 @@ diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/b
|
|||||||
if (!bookmark_urls_.empty())
|
if (!bookmark_urls_.empty())
|
||||||
FetchNextFavicon();
|
FetchNextFavicon();
|
||||||
else
|
else
|
||||||
diff --git a/chrome/browser/bookmarks/chrome_bookmark_client.cc b/chrome/browser/bookmarks/chrome_bookmark_client.cc
|
|
||||||
--- a/chrome/browser/bookmarks/chrome_bookmark_client.cc
|
|
||||||
+++ b/chrome/browser/bookmarks/chrome_bookmark_client.cc
|
|
||||||
@@ -106,6 +106,8 @@ bool ChromeBookmarkClient::IsPermanentNodeVisibleWhenEmpty(
|
|
||||||
return !is_mobile;
|
|
||||||
case bookmarks::BookmarkNode::MOBILE:
|
|
||||||
return is_mobile;
|
|
||||||
+ case bookmarks::BookmarkNode::TABS_COLLECTION:
|
|
||||||
+ return is_mobile;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java
|
diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java
|
||||||
--- a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java
|
--- a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java
|
||||||
+++ b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java
|
+++ b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java
|
||||||
@@ -79,7 +79,7 @@ public class DownloadLocationCustomView
|
@@ -85,7 +85,7 @@ public class DownloadLocationCustomView extends ScrollView
|
||||||
mDirectoryAdapter.update();
|
mDirectoryAdapter.update();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -345,7 +372,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
|
|||||||
mTitle.setText(title);
|
mTitle.setText(title);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -87,7 +87,7 @@ public class DownloadLocationCustomView
|
@@ -93,7 +93,7 @@ public class DownloadLocationCustomView extends ScrollView
|
||||||
mSubtitleView.setText(subtitle);
|
mSubtitleView.setText(subtitle);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -357,7 +384,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
|
|||||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
@@ -3817,6 +3817,9 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
@@ -3875,6 +3875,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>clear the Chrome da
|
||||||
<message name="IDS_MENU_SELECT_TABS" desc="Menu item for bulk editing tabs. [CHAR_LIMIT=27]">
|
<message name="IDS_MENU_SELECT_TABS" desc="Menu item for bulk editing tabs. [CHAR_LIMIT=27]">
|
||||||
Select tabs
|
Select tabs
|
||||||
</message>
|
</message>
|
||||||
@@ -401,51 +428,42 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
|||||||
const char BookmarkCodec::kVersionKey[] = "version";
|
const char BookmarkCodec::kVersionKey[] = "version";
|
||||||
const char BookmarkCodec::kChecksumKey[] = "checksum";
|
const char BookmarkCodec::kChecksumKey[] = "checksum";
|
||||||
const char BookmarkCodec::kIdKey[] = "id";
|
const char BookmarkCodec::kIdKey[] = "id";
|
||||||
@@ -74,7 +75,8 @@ BookmarkCodec::~BookmarkCodec() = default;
|
@@ -72,6 +73,7 @@ base::Value::Dict BookmarkCodec::Encode(
|
||||||
base::Value::Dict BookmarkCodec::Encode(BookmarkModel* model,
|
|
||||||
std::string sync_metadata_str) {
|
|
||||||
return Encode(model->bookmark_bar_node(), model->other_node(),
|
|
||||||
- model->mobile_node(), model->root_node()->GetMetaInfoMap(),
|
|
||||||
+ model->mobile_node(), model->tabs_collection_node(),
|
|
||||||
+ model->root_node()->GetMetaInfoMap(),
|
|
||||||
model->root_node()->GetUnsyncedMetaInfoMap(),
|
|
||||||
std::move(sync_metadata_str));
|
|
||||||
}
|
|
||||||
@@ -83,6 +85,7 @@ base::Value::Dict BookmarkCodec::Encode(
|
|
||||||
const BookmarkNode* bookmark_bar_node,
|
const BookmarkNode* bookmark_bar_node,
|
||||||
const BookmarkNode* other_folder_node,
|
const BookmarkNode* other_folder_node,
|
||||||
const BookmarkNode* mobile_folder_node,
|
const BookmarkNode* mobile_folder_node,
|
||||||
+ const BookmarkNode* tabs_folder_node,
|
+ const BookmarkNode* tabs_folder_node,
|
||||||
const BookmarkNode::MetaInfoMap* model_meta_info_map,
|
|
||||||
const BookmarkNode::MetaInfoMap* model_unsynced_meta_info_map,
|
|
||||||
std::string sync_metadata_str) {
|
std::string sync_metadata_str) {
|
||||||
@@ -104,6 +107,7 @@ base::Value::Dict BookmarkCodec::Encode(
|
ids_reassigned_ = false;
|
||||||
|
uuids_reassigned_ = false;
|
||||||
|
@@ -91,6 +93,8 @@ base::Value::Dict BookmarkCodec::Encode(
|
||||||
roots.Set(kBookmarkBarFolderNameKey, EncodeNode(bookmark_bar_node));
|
roots.Set(kBookmarkBarFolderNameKey, EncodeNode(bookmark_bar_node));
|
||||||
roots.Set(kOtherBookmarkFolderNameKey, EncodeNode(other_folder_node));
|
roots.Set(kOtherBookmarkFolderNameKey, EncodeNode(other_folder_node));
|
||||||
roots.Set(kMobileBookmarkFolderNameKey, EncodeNode(mobile_folder_node));
|
roots.Set(kMobileBookmarkFolderNameKey, EncodeNode(mobile_folder_node));
|
||||||
+ roots.Set(kTabsBookmarkFolderNameKey, EncodeNode(tabs_folder_node));
|
+ if (tabs_folder_node)
|
||||||
if (model_meta_info_map)
|
+ roots.Set(kTabsBookmarkFolderNameKey, EncodeNode(tabs_folder_node));
|
||||||
roots.Set(kMetaInfo, EncodeMetaInfo(*model_meta_info_map));
|
|
||||||
if (model_unsynced_meta_info_map) {
|
FinalizeChecksum();
|
||||||
@@ -124,6 +128,7 @@ bool BookmarkCodec::Decode(const base::Value::Dict& value,
|
// We are going to store the computed checksum. So set stored checksum to be
|
||||||
|
@@ -107,6 +111,7 @@ bool BookmarkCodec::Decode(const base::Value::Dict& value,
|
||||||
BookmarkNode* bb_node,
|
BookmarkNode* bb_node,
|
||||||
BookmarkNode* other_folder_node,
|
BookmarkNode* other_folder_node,
|
||||||
BookmarkNode* mobile_folder_node,
|
BookmarkNode* mobile_folder_node,
|
||||||
+ BookmarkNode* tabs_folder_node,
|
+ BookmarkNode* tabs_folder_node,
|
||||||
int64_t* max_id,
|
int64_t* max_id,
|
||||||
std::string* sync_metadata_str) {
|
std::string* sync_metadata_str) {
|
||||||
ids_.clear();
|
const int64_t max_already_assigned_id =
|
||||||
@@ -131,7 +136,8 @@ bool BookmarkCodec::Decode(const base::Value::Dict& value,
|
@@ -117,7 +122,8 @@ bool BookmarkCodec::Decode(const base::Value::Dict& value,
|
||||||
base::Uuid::ParseLowercase(BookmarkNode::kBookmarkBarNodeUuid),
|
base::Uuid::ParseLowercase(kBookmarkBarNodeUuid),
|
||||||
base::Uuid::ParseLowercase(BookmarkNode::kOtherBookmarksNodeUuid),
|
base::Uuid::ParseLowercase(kOtherBookmarksNodeUuid),
|
||||||
base::Uuid::ParseLowercase(BookmarkNode::kMobileBookmarksNodeUuid),
|
base::Uuid::ParseLowercase(kMobileBookmarksNodeUuid),
|
||||||
- base::Uuid::ParseLowercase(BookmarkNode::kManagedNodeUuid)};
|
- base::Uuid::ParseLowercase(kManagedNodeUuid)};
|
||||||
+ base::Uuid::ParseLowercase(BookmarkNode::kManagedNodeUuid),
|
+ base::Uuid::ParseLowercase(kManagedNodeUuid),
|
||||||
+ base::Uuid::ParseLowercase(BookmarkNode::kTabsCollectionBookmarksNodeUuid)};
|
+ base::Uuid::ParseLowercase(kTabsCollectionBookmarksNodeUuid)};
|
||||||
ids_reassigned_ = false;
|
ids_reassigned_ = false;
|
||||||
uuids_reassigned_ = false;
|
uuids_reassigned_ = false;
|
||||||
ids_valid_ = true;
|
ids_valid_ = true;
|
||||||
@@ -139,12 +145,13 @@ bool BookmarkCodec::Decode(const base::Value::Dict& value,
|
@@ -125,13 +131,14 @@ bool BookmarkCodec::Decode(const base::Value::Dict& value,
|
||||||
stored_checksum_.clear();
|
stored_checksum_.clear();
|
||||||
InitializeChecksum();
|
InitializeChecksum();
|
||||||
bool success = DecodeHelper(bb_node, other_folder_node, mobile_folder_node,
|
bool success = DecodeHelper(bb_node, other_folder_node, mobile_folder_node,
|
||||||
@@ -454,21 +472,22 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
|||||||
FinalizeChecksum();
|
FinalizeChecksum();
|
||||||
// If either the checksums differ or some IDs were missing/not unique,
|
// If either the checksums differ or some IDs were missing/not unique,
|
||||||
// reassign IDs.
|
// reassign IDs.
|
||||||
if (!ids_valid_ || computed_checksum() != stored_checksum())
|
if (!ids_valid_ || computed_checksum_ != stored_checksum_) {
|
||||||
|
maximum_id_ = max_already_assigned_id;
|
||||||
- ReassignIDs(bb_node, other_folder_node, mobile_folder_node);
|
- ReassignIDs(bb_node, other_folder_node, mobile_folder_node);
|
||||||
+ ReassignIDs(bb_node, other_folder_node, mobile_folder_node, tabs_folder_node);
|
+ ReassignIDs(bb_node, other_folder_node, mobile_folder_node, tabs_folder_node);
|
||||||
|
}
|
||||||
*max_id = maximum_id_ + 1;
|
*max_id = maximum_id_ + 1;
|
||||||
return success;
|
return success;
|
||||||
}
|
@@ -189,6 +196,7 @@ base::Value::Dict BookmarkCodec::EncodeMetaInfo(
|
||||||
@@ -200,6 +207,7 @@ base::Value::Dict BookmarkCodec::EncodeMetaInfo(
|
|
||||||
bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
|
bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
|
||||||
BookmarkNode* other_folder_node,
|
BookmarkNode* other_folder_node,
|
||||||
BookmarkNode* mobile_folder_node,
|
BookmarkNode* mobile_folder_node,
|
||||||
+ BookmarkNode* tabs_folder_node,
|
+ BookmarkNode* tabs_folder_node,
|
||||||
const base::Value::Dict& value,
|
const base::Value::Dict& value,
|
||||||
std::string* sync_metadata_str) {
|
std::string* sync_metadata_str) {
|
||||||
absl::optional<int> version = value.FindInt(kVersionKey);
|
std::optional<int> version = value.FindInt(kVersionKey);
|
||||||
@@ -224,6 +232,8 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
|
@@ -213,6 +221,8 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
|
||||||
roots->FindDict(kOtherBookmarkFolderNameKey);
|
roots->FindDict(kOtherBookmarkFolderNameKey);
|
||||||
const base::Value::Dict* mobile_folder_value =
|
const base::Value::Dict* mobile_folder_value =
|
||||||
roots->FindDict(kMobileBookmarkFolderNameKey);
|
roots->FindDict(kMobileBookmarkFolderNameKey);
|
||||||
@@ -477,23 +496,23 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
|||||||
|
|
||||||
if (!bb_value || !other_folder_value || !mobile_folder_value)
|
if (!bb_value || !other_folder_value || !mobile_folder_value)
|
||||||
return false;
|
return false;
|
||||||
@@ -231,6 +241,8 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
|
@@ -220,6 +230,8 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
|
||||||
DecodeNode(*bb_value, nullptr, bb_node);
|
DecodeNode(*bb_value, nullptr, bb_node);
|
||||||
DecodeNode(*other_folder_value, nullptr, other_folder_node);
|
DecodeNode(*other_folder_value, nullptr, other_folder_node);
|
||||||
DecodeNode(*mobile_folder_value, nullptr, mobile_folder_node);
|
DecodeNode(*mobile_folder_value, nullptr, mobile_folder_node);
|
||||||
+ if (tabs_folder_value)
|
+ if (tabs_folder_value)
|
||||||
+ DecodeNode(*tabs_folder_value, nullptr, tabs_folder_node);
|
+ DecodeNode(*tabs_folder_value, nullptr, tabs_folder_node);
|
||||||
|
|
||||||
if (!DecodeMetaInfo(*roots, &model_meta_info_map_))
|
if (sync_metadata_str) {
|
||||||
return false;
|
const std::string* sync_metadata_str_base64 =
|
||||||
@@ -496,11 +508,13 @@ void BookmarkCodec::DecodeMetaInfoHelper(
|
@@ -459,11 +471,13 @@ void BookmarkCodec::DecodeMetaInfoHelper(
|
||||||
|
|
||||||
void BookmarkCodec::ReassignIDs(BookmarkNode* bb_node,
|
void BookmarkCodec::ReassignIDs(BookmarkNode* bb_node,
|
||||||
BookmarkNode* other_node,
|
BookmarkNode* other_node,
|
||||||
- BookmarkNode* mobile_node) {
|
- BookmarkNode* mobile_node) {
|
||||||
+ BookmarkNode* mobile_node,
|
+ BookmarkNode* mobile_node,
|
||||||
+ BookmarkNode* tabs_folder_node) {
|
+ BookmarkNode* tabs_folder_node) {
|
||||||
maximum_id_ = 0;
|
ids_.clear();
|
||||||
ReassignIDsHelper(bb_node);
|
ReassignIDsHelper(bb_node);
|
||||||
ReassignIDsHelper(other_node);
|
ReassignIDsHelper(other_node);
|
||||||
ReassignIDsHelper(mobile_node);
|
ReassignIDsHelper(mobile_node);
|
||||||
@@ -504,15 +523,15 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
|||||||
diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmarks/browser/bookmark_codec.h
|
diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmarks/browser/bookmark_codec.h
|
||||||
--- a/components/bookmarks/browser/bookmark_codec.h
|
--- a/components/bookmarks/browser/bookmark_codec.h
|
||||||
+++ b/components/bookmarks/browser/bookmark_codec.h
|
+++ b/components/bookmarks/browser/bookmark_codec.h
|
||||||
@@ -46,6 +46,7 @@ class BookmarkCodec {
|
@@ -39,6 +39,7 @@ class BookmarkCodec {
|
||||||
const BookmarkNode* bookmark_bar_node,
|
const BookmarkNode* bookmark_bar_node,
|
||||||
const BookmarkNode* other_folder_node,
|
const BookmarkNode* other_folder_node,
|
||||||
const BookmarkNode* mobile_folder_node,
|
const BookmarkNode* mobile_folder_node,
|
||||||
+ const BookmarkNode* tabs_folder_node,
|
+ const BookmarkNode* tabs_folder_node,
|
||||||
const BookmarkNode::MetaInfoMap* model_meta_info_map,
|
|
||||||
const BookmarkNode::MetaInfoMap* model_unsynced_meta_info_map,
|
|
||||||
std::string sync_metadata_str);
|
std::string sync_metadata_str);
|
||||||
@@ -59,6 +60,7 @@ class BookmarkCodec {
|
|
||||||
|
// Decodes the previously encoded value to the specified nodes as well as
|
||||||
|
@@ -57,6 +58,7 @@ class BookmarkCodec {
|
||||||
BookmarkNode* bb_node,
|
BookmarkNode* bb_node,
|
||||||
BookmarkNode* other_folder_node,
|
BookmarkNode* other_folder_node,
|
||||||
BookmarkNode* mobile_folder_node,
|
BookmarkNode* mobile_folder_node,
|
||||||
@@ -520,15 +539,15 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
|
|||||||
int64_t* max_node_id,
|
int64_t* max_node_id,
|
||||||
std::string* sync_metadata_str);
|
std::string* sync_metadata_str);
|
||||||
|
|
||||||
@@ -110,6 +112,7 @@ class BookmarkCodec {
|
@@ -82,6 +84,7 @@ class BookmarkCodec {
|
||||||
// Allows the BookmarkClient to read and a write a string blob from the JSON
|
static const char kBookmarkBarFolderNameKey[];
|
||||||
// file. That string captures the bookmarks sync metadata.
|
static const char kOtherBookmarkFolderNameKey[];
|
||||||
static const char kSyncMetadata[];
|
static const char kMobileBookmarkFolderNameKey[];
|
||||||
+ static const char kTabsBookmarkFolderNameKey[];
|
+ static const char kTabsBookmarkFolderNameKey[];
|
||||||
static const char kDateLastUsed[];
|
static const char kVersionKey[];
|
||||||
|
static const char kChecksumKey[];
|
||||||
// Possible values for kTypeKey.
|
static const char kIdKey[];
|
||||||
@@ -128,6 +131,7 @@ class BookmarkCodec {
|
@@ -114,6 +117,7 @@ class BookmarkCodec {
|
||||||
bool DecodeHelper(BookmarkNode* bb_node,
|
bool DecodeHelper(BookmarkNode* bb_node,
|
||||||
BookmarkNode* other_folder_node,
|
BookmarkNode* other_folder_node,
|
||||||
BookmarkNode* mobile_folder_node,
|
BookmarkNode* mobile_folder_node,
|
||||||
@@ -536,7 +555,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
|
|||||||
const base::Value::Dict& value,
|
const base::Value::Dict& value,
|
||||||
std::string* sync_metadata_str);
|
std::string* sync_metadata_str);
|
||||||
|
|
||||||
@@ -139,7 +143,8 @@ class BookmarkCodec {
|
@@ -124,7 +128,8 @@ class BookmarkCodec {
|
||||||
// Reassigns bookmark IDs for all nodes.
|
// Reassigns bookmark IDs for all nodes.
|
||||||
void ReassignIDs(BookmarkNode* bb_node,
|
void ReassignIDs(BookmarkNode* bb_node,
|
||||||
BookmarkNode* other_node,
|
BookmarkNode* other_node,
|
||||||
@@ -549,63 +568,80 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
|
|||||||
diff --git a/components/bookmarks/browser/bookmark_load_details.cc b/components/bookmarks/browser/bookmark_load_details.cc
|
diff --git a/components/bookmarks/browser/bookmark_load_details.cc b/components/bookmarks/browser/bookmark_load_details.cc
|
||||||
--- a/components/bookmarks/browser/bookmark_load_details.cc
|
--- a/components/bookmarks/browser/bookmark_load_details.cc
|
||||||
+++ b/components/bookmarks/browser/bookmark_load_details.cc
|
+++ b/components/bookmarks/browser/bookmark_load_details.cc
|
||||||
@@ -37,6 +37,10 @@ BookmarkLoadDetails::BookmarkLoadDetails(BookmarkClient* client)
|
@@ -15,7 +15,7 @@ namespace {
|
||||||
root_node_->Add(BookmarkPermanentNode::CreateMobileBookmarks(
|
|
||||||
max_id_++,
|
|
||||||
client->IsPermanentNodeVisibleWhenEmpty(BookmarkNode::MOBILE))));
|
|
||||||
+ tabs_collection_folder_node_ = static_cast<BookmarkPermanentNode*>(
|
|
||||||
+ root_node_->Add(BookmarkPermanentNode::CreateTabsCollectionBookmarks(
|
|
||||||
+ max_id_++,
|
|
||||||
+ client->IsPermanentNodeVisibleWhenEmpty(BookmarkNode::TABS_COLLECTION))));
|
|
||||||
}
|
|
||||||
|
|
||||||
BookmarkLoadDetails::~BookmarkLoadDetails() = default;
|
// Number of top-level permanent folders excluding the managed node and account
|
||||||
|
// bookmarks.
|
||||||
|
-constexpr size_t kNumDefaultTopLevelPermanentFolders = 3u;
|
||||||
|
+constexpr size_t kNumDefaultTopLevelPermanentFolders = 4u;
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
@@ -40,6 +40,8 @@ BookmarkLoadDetails::BookmarkLoadDetails()
|
||||||
|
root_node_->Add(BookmarkPermanentNode::CreateOtherBookmarks(/*id=*/0)));
|
||||||
|
mobile_folder_node_ = static_cast<BookmarkPermanentNode*>(
|
||||||
|
root_node_->Add(BookmarkPermanentNode::CreateMobileBookmarks(/*id=*/0)));
|
||||||
|
+ tabs_collection_folder_node_ = static_cast<BookmarkPermanentNode*>(
|
||||||
|
+ root_node_->Add(BookmarkPermanentNode::CreateTabsCollectionBookmarks(/*id=*/0)));
|
||||||
|
|
||||||
|
CHECK_EQ(kNumDefaultTopLevelPermanentFolders, root_node_->children().size());
|
||||||
|
}
|
||||||
|
@@ -105,8 +107,8 @@ void BookmarkLoadDetails::AddManagedNode(
|
||||||
|
|
||||||
|
void BookmarkLoadDetails::CreateIndices() {
|
||||||
|
local_or_syncable_uuid_index_.insert(root_node_.get());
|
||||||
|
- static_assert(kNumDefaultTopLevelPermanentFolders == 3u,
|
||||||
|
- "The code below assumes three permanent nodes");
|
||||||
|
+ static_assert(kNumDefaultTopLevelPermanentFolders == 4u,
|
||||||
|
+ "The code below assumes 4 permanent nodes");
|
||||||
|
for (const auto& child : root_node_->children()) {
|
||||||
|
if (child.get() == account_bb_node_ ||
|
||||||
|
child.get() == account_other_folder_node_ ||
|
||||||
diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/bookmarks/browser/bookmark_load_details.h
|
diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/bookmarks/browser/bookmark_load_details.h
|
||||||
--- a/components/bookmarks/browser/bookmark_load_details.h
|
--- a/components/bookmarks/browser/bookmark_load_details.h
|
||||||
+++ b/components/bookmarks/browser/bookmark_load_details.h
|
+++ b/components/bookmarks/browser/bookmark_load_details.h
|
||||||
@@ -47,6 +47,7 @@ class BookmarkLoadDetails {
|
@@ -39,6 +39,7 @@ class BookmarkLoadDetails {
|
||||||
BookmarkPermanentNode* bb_node() { return bb_node_; }
|
BookmarkPermanentNode* bb_node() { return bb_node_; }
|
||||||
BookmarkPermanentNode* mobile_folder_node() { return mobile_folder_node_; }
|
BookmarkPermanentNode* mobile_folder_node() { return mobile_folder_node_; }
|
||||||
BookmarkPermanentNode* other_folder_node() { return other_folder_node_; }
|
BookmarkPermanentNode* other_folder_node() { return other_folder_node_; }
|
||||||
+ BookmarkPermanentNode* tabs_collection_folder_node() { return tabs_collection_folder_node_; }
|
+ BookmarkPermanentNode* tabs_collection_folder_node() { return tabs_collection_folder_node_; }
|
||||||
|
|
||||||
TitledUrlIndex* index() { return index_.get(); }
|
// Account permanent nodes (null unless `AddAccountPermanentNodes()` is
|
||||||
std::unique_ptr<TitledUrlIndex> owned_index() { return std::move(index_); }
|
// called).
|
||||||
@@ -112,6 +113,8 @@ class BookmarkLoadDetails {
|
@@ -138,6 +139,7 @@ class BookmarkLoadDetails {
|
||||||
nullptr;
|
raw_ptr<BookmarkPermanentNode> bb_node_;
|
||||||
raw_ptr<BookmarkPermanentNode, DanglingUntriaged> mobile_folder_node_ =
|
raw_ptr<BookmarkPermanentNode> other_folder_node_;
|
||||||
nullptr;
|
raw_ptr<BookmarkPermanentNode> mobile_folder_node_;
|
||||||
+ raw_ptr<BookmarkPermanentNode, DanglingUntriaged> tabs_collection_folder_node_ =
|
+ raw_ptr<BookmarkPermanentNode> tabs_collection_folder_node_;
|
||||||
+ nullptr;
|
raw_ptr<BookmarkPermanentNode> account_bb_node_;
|
||||||
LoadManagedNodeCallback load_managed_node_callback_;
|
raw_ptr<BookmarkPermanentNode> account_other_folder_node_;
|
||||||
std::unique_ptr<TitledUrlIndex> index_;
|
raw_ptr<BookmarkPermanentNode> account_mobile_folder_node_;
|
||||||
BookmarkNode::MetaInfoMap model_meta_info_map_;
|
|
||||||
diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmarks/browser/bookmark_model.cc
|
diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmarks/browser/bookmark_model.cc
|
||||||
--- a/components/bookmarks/browser/bookmark_model.cc
|
--- a/components/bookmarks/browser/bookmark_model.cc
|
||||||
+++ b/components/bookmarks/browser/bookmark_model.cc
|
+++ b/components/bookmarks/browser/bookmark_model.cc
|
||||||
@@ -817,7 +817,7 @@ bool BookmarkModel::HasBookmarks() {
|
@@ -846,7 +846,7 @@ bool BookmarkModel::HasBookmarks() const {
|
||||||
bool BookmarkModel::HasNoUserCreatedBookmarksOrFolders() {
|
bool BookmarkModel::HasNoUserCreatedBookmarksOrFolders() const {
|
||||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||||
return bookmark_bar_node_->children().empty() &&
|
return bookmark_bar_node_->children().empty() &&
|
||||||
- other_node_->children().empty() && mobile_node_->children().empty();
|
- other_node_->children().empty() && mobile_node_->children().empty();
|
||||||
+ other_node_->children().empty() && mobile_node_->children().empty() && tabs_collection_node_->children().empty();
|
+ other_node_->children().empty() && mobile_node_->children().empty() && tabs_collection_node_->children().empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool BookmarkModel::IsBookmarked(const GURL& url) {
|
bool BookmarkModel::IsBookmarked(const GURL& url) const {
|
||||||
@@ -1123,6 +1123,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
|
@@ -1191,6 +1191,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
|
||||||
bookmark_bar_node_ = details->bb_node();
|
bookmark_bar_node_ = details->bb_node();
|
||||||
other_node_ = details->other_folder_node();
|
other_node_ = details->other_folder_node();
|
||||||
mobile_node_ = details->mobile_folder_node();
|
mobile_node_ = details->mobile_folder_node();
|
||||||
+ tabs_collection_node_ = details->tabs_collection_folder_node();
|
+ tabs_collection_node_ = details->tabs_collection_folder_node();
|
||||||
|
|
||||||
titled_url_index_->SetNodeSorter(
|
account_bookmark_bar_node_ = details->account_bb_node();
|
||||||
std::make_unique<TypedCountSorter>(client_.get()));
|
account_other_node_ = details->account_other_folder_node();
|
||||||
diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmarks/browser/bookmark_model.h
|
diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmarks/browser/bookmark_model.h
|
||||||
--- a/components/bookmarks/browser/bookmark_model.h
|
--- a/components/bookmarks/browser/bookmark_model.h
|
||||||
+++ b/components/bookmarks/browser/bookmark_model.h
|
+++ b/components/bookmarks/browser/bookmark_model.h
|
||||||
@@ -131,6 +131,12 @@ class BookmarkModel final : public BookmarkUndoProvider,
|
@@ -159,6 +159,12 @@ class BookmarkModel final : public BookmarkUndoProvider,
|
||||||
return mobile_node_;
|
// bookmarks in the account storage).
|
||||||
}
|
const BookmarkNode* account_mobile_node() const;
|
||||||
|
|
||||||
+ // Returns the 'mobile' node. This is NULL until loaded.
|
+ // Returns the 'mobile' node. This is NULL until loaded.
|
||||||
+ const BookmarkNode* tabs_collection_node() const {
|
+ const BookmarkNode* tabs_collection_node() const {
|
||||||
@@ -616,10 +652,10 @@ diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmark
|
|||||||
bool is_root_node(const BookmarkNode* node) const {
|
bool is_root_node(const BookmarkNode* node) const {
|
||||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||||
return node == root_;
|
return node == root_;
|
||||||
@@ -489,6 +495,7 @@ class BookmarkModel final : public BookmarkUndoProvider,
|
@@ -619,6 +625,7 @@ class BookmarkModel final : public BookmarkUndoProvider,
|
||||||
nullptr;
|
raw_ptr<BookmarkPermanentNode> account_bookmark_bar_node_ = nullptr;
|
||||||
raw_ptr<BookmarkPermanentNode, DanglingUntriaged> other_node_ = nullptr;
|
raw_ptr<BookmarkPermanentNode> account_other_node_ = nullptr;
|
||||||
raw_ptr<BookmarkPermanentNode, DanglingUntriaged> mobile_node_ = nullptr;
|
raw_ptr<BookmarkPermanentNode> account_mobile_node_ = nullptr;
|
||||||
+ raw_ptr<BookmarkPermanentNode> tabs_collection_node_ = nullptr;
|
+ raw_ptr<BookmarkPermanentNode> tabs_collection_node_ = nullptr;
|
||||||
|
|
||||||
// The maximum ID assigned to the bookmark nodes in the model.
|
// The maximum ID assigned to the bookmark nodes in the model.
|
||||||
@@ -627,30 +663,26 @@ diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmark
|
|||||||
diff --git a/components/bookmarks/browser/bookmark_node.cc b/components/bookmarks/browser/bookmark_node.cc
|
diff --git a/components/bookmarks/browser/bookmark_node.cc b/components/bookmarks/browser/bookmark_node.cc
|
||||||
--- a/components/bookmarks/browser/bookmark_node.cc
|
--- a/components/bookmarks/browser/bookmark_node.cc
|
||||||
+++ b/components/bookmarks/browser/bookmark_node.cc
|
+++ b/components/bookmarks/browser/bookmark_node.cc
|
||||||
@@ -60,6 +60,10 @@ const char BookmarkNode::kOtherBookmarksNodeUuid[] =
|
@@ -161,6 +161,8 @@ bool BookmarkPermanentNode::IsTypeVisibleWhenEmpty(Type type) {
|
||||||
const char BookmarkNode::kMobileBookmarksNodeUuid[] =
|
#endif
|
||||||
"4cf2e351-0e85-532b-bb37-df045d8f8d0f";
|
|
||||||
|
|
||||||
+// static
|
switch (type) {
|
||||||
+const char BookmarkNode::kTabsCollectionBookmarksNodeUuid[] =
|
+ case bookmarks::BookmarkNode::TABS_COLLECTION:
|
||||||
+ "00000000-0000-4000-a000-000000000006";
|
+ return !is_desktop;
|
||||||
+
|
case BookmarkNode::URL:
|
||||||
// static
|
NOTREACHED_NORETURN();
|
||||||
const char BookmarkNode::kManagedNodeUuid[] =
|
case BookmarkNode::FOLDER:
|
||||||
"323123f4-9381-5aee-80e6-ea5fca2f7672";
|
@@ -211,6 +213,15 @@ BookmarkPermanentNode::CreateMobileBookmarks(int64_t id) {
|
||||||
@@ -275,6 +279,17 @@ BookmarkPermanentNode::CreateMobileBookmarks(int64_t id,
|
l10n_util::GetStringUTF16(IDS_BOOKMARK_BAR_MOBILE_FOLDER_NAME)));
|
||||||
visible_when_empty));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
+// static
|
+// static
|
||||||
+std::unique_ptr<BookmarkPermanentNode>
|
+std::unique_ptr<BookmarkPermanentNode>
|
||||||
+BookmarkPermanentNode::CreateTabsCollectionBookmarks(int64_t id,
|
+BookmarkPermanentNode::CreateTabsCollectionBookmarks(int64_t id) {
|
||||||
+ bool visible_when_empty) {
|
|
||||||
+ // base::WrapUnique() used because the constructor is private.
|
+ // base::WrapUnique() used because the constructor is private.
|
||||||
+ return base::WrapUnique(new BookmarkPermanentNode(
|
+ return base::WrapUnique(new BookmarkPermanentNode(
|
||||||
+ id, TABS_COLLECTION, base::Uuid::ParseLowercase(kTabsCollectionBookmarksNodeUuid),
|
+ id, TABS_COLLECTION, base::Uuid::ParseLowercase(kTabsCollectionBookmarksNodeUuid),
|
||||||
+ l10n_util::GetStringUTF16(IDS_BOOKMARK_BAR_TABS_COLLECTION_FOLDER_NAME),
|
+ l10n_util::GetStringUTF16(IDS_BOOKMARK_BAR_TABS_COLLECTION_FOLDER_NAME)));
|
||||||
+ visible_when_empty));
|
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
BookmarkPermanentNode::BookmarkPermanentNode(int64_t id,
|
BookmarkPermanentNode::BookmarkPermanentNode(int64_t id,
|
||||||
@@ -667,41 +699,94 @@ diff --git a/components/bookmarks/browser/bookmark_node.h b/components/bookmarks
|
|||||||
MOBILE
|
MOBILE
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -52,6 +53,7 @@ class BookmarkNode : public ui::TreeNode<BookmarkNode>, public TitledUrlNode {
|
@@ -231,6 +232,8 @@ class BookmarkPermanentNode : public BookmarkNode {
|
||||||
static const char kBookmarkBarNodeUuid[];
|
int64_t id);
|
||||||
static const char kOtherBookmarksNodeUuid[];
|
|
||||||
static const char kMobileBookmarksNodeUuid[];
|
|
||||||
+ static const char kTabsCollectionBookmarksNodeUuid[];
|
|
||||||
static const char kManagedNodeUuid[];
|
|
||||||
|
|
||||||
// A bug in sync caused some problematic UUIDs to be produced.
|
|
||||||
@@ -270,6 +272,9 @@ class BookmarkPermanentNode : public BookmarkNode {
|
|
||||||
static std::unique_ptr<BookmarkPermanentNode> CreateMobileBookmarks(
|
static std::unique_ptr<BookmarkPermanentNode> CreateMobileBookmarks(
|
||||||
int64_t id,
|
int64_t id);
|
||||||
bool visible_when_empty);
|
|
||||||
+ static std::unique_ptr<BookmarkPermanentNode> CreateTabsCollectionBookmarks(
|
+ static std::unique_ptr<BookmarkPermanentNode> CreateTabsCollectionBookmarks(
|
||||||
+ int64_t id,
|
+ int64_t id);
|
||||||
+ bool visible_when_empty);
|
|
||||||
|
|
||||||
// Constructor is private to disallow the construction of permanent nodes
|
// Returns whether the permanent node of type `type` should be visible even
|
||||||
// other than the well-known ones, see factory methods.
|
// when it is empty (i.e. no children).
|
||||||
|
diff --git a/components/bookmarks/browser/bookmark_storage.cc b/components/bookmarks/browser/bookmark_storage.cc
|
||||||
|
--- a/components/bookmarks/browser/bookmark_storage.cc
|
||||||
|
+++ b/components/bookmarks/browser/bookmark_storage.cc
|
||||||
|
@@ -45,6 +45,7 @@ base::Value::Dict EncodeModelToDict(
|
||||||
|
case BookmarkStorage::kSelectLocalOrSyncableNodes:
|
||||||
|
return codec.Encode(
|
||||||
|
model->bookmark_bar_node(), model->other_node(), model->mobile_node(),
|
||||||
|
+ model->tabs_collection_node(),
|
||||||
|
model->client()->EncodeLocalOrSyncableBookmarkSyncMetadata());
|
||||||
|
case BookmarkStorage::kSelectAccountNodes:
|
||||||
|
if (!model->account_bookmark_bar_node()) {
|
||||||
|
@@ -59,6 +60,7 @@ base::Value::Dict EncodeModelToDict(
|
||||||
|
return codec.Encode(model->account_bookmark_bar_node(),
|
||||||
|
model->account_other_node(),
|
||||||
|
model->account_mobile_node(),
|
||||||
|
+ nullptr,
|
||||||
|
model->client()->EncodeAccountBookmarkSyncMetadata());
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/components/bookmarks/browser/bookmark_uuids.cc b/components/bookmarks/browser/bookmark_uuids.cc
|
||||||
|
--- a/components/bookmarks/browser/bookmark_uuids.cc
|
||||||
|
+++ b/components/bookmarks/browser/bookmark_uuids.cc
|
||||||
|
@@ -35,6 +35,9 @@ const char kManagedNodeUuid[] = "323123f4-9381-5aee-80e6-ea5fca2f7672";
|
||||||
|
// see https://crbug.com/1484372 for details.
|
||||||
|
const char kShoppingCollectionUuid[] = "89fc5b66-beb6-56c1-a99b-70635d7df201";
|
||||||
|
|
||||||
|
+const char kTabsCollectionBookmarksNodeUuid[] =
|
||||||
|
+ "00000000-0000-4000-a000-000000000006";
|
||||||
|
+
|
||||||
|
// This value is the result of exercising sync's function
|
||||||
|
// syncer::InferGuidForLegacyBookmark() with an empty input.
|
||||||
|
const char kBannedUuidDueToPastSyncBug[] =
|
||||||
|
diff --git a/components/bookmarks/browser/bookmark_uuids.h b/components/bookmarks/browser/bookmark_uuids.h
|
||||||
|
--- a/components/bookmarks/browser/bookmark_uuids.h
|
||||||
|
+++ b/components/bookmarks/browser/bookmark_uuids.h
|
||||||
|
@@ -14,6 +14,7 @@ extern const char kBookmarkBarNodeUuid[];
|
||||||
|
extern const char kOtherBookmarksNodeUuid[];
|
||||||
|
extern const char kMobileBookmarksNodeUuid[];
|
||||||
|
extern const char kManagedNodeUuid[];
|
||||||
|
+extern const char kTabsCollectionBookmarksNodeUuid[];
|
||||||
|
extern const char kShoppingCollectionUuid[];
|
||||||
|
|
||||||
|
// A bug in sync caused some problematic UUIDs to be produced.
|
||||||
diff --git a/components/bookmarks/browser/model_loader.cc b/components/bookmarks/browser/model_loader.cc
|
diff --git a/components/bookmarks/browser/model_loader.cc b/components/bookmarks/browser/model_loader.cc
|
||||||
--- a/components/bookmarks/browser/model_loader.cc
|
--- a/components/bookmarks/browser/model_loader.cc
|
||||||
+++ b/components/bookmarks/browser/model_loader.cc
|
+++ b/components/bookmarks/browser/model_loader.cc
|
||||||
@@ -60,7 +60,8 @@ void LoadBookmarks(const base::FilePath& path,
|
@@ -71,6 +71,8 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks(
|
||||||
std::string sync_metadata_str;
|
BookmarkPermanentNode::CreateOtherBookmarks(0);
|
||||||
BookmarkCodec codec;
|
std::unique_ptr<BookmarkPermanentNode> account_mobile_folder_node =
|
||||||
codec.Decode(*root_dict, details->bb_node(), details->other_folder_node(),
|
BookmarkPermanentNode::CreateMobileBookmarks(0);
|
||||||
- details->mobile_folder_node(), &max_node_id,
|
+ std::unique_ptr<BookmarkPermanentNode> tabs_collection_folder_node =
|
||||||
+ details->mobile_folder_node(),
|
+ BookmarkPermanentNode::CreateTabsCollectionBookmarks(0);
|
||||||
+ details->tabs_collection_folder_node(), &max_node_id,
|
|
||||||
&sync_metadata_str);
|
std::optional<base::Value::Dict> root_dict =
|
||||||
details->set_sync_metadata_str(std::move(sync_metadata_str));
|
LoadFileToDict(account_file_path);
|
||||||
details->set_max_id(std::max(max_node_id, details->max_id()));
|
@@ -78,7 +80,8 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks(
|
||||||
|
if (root_dict.has_value() &&
|
||||||
|
codec.Decode(*root_dict, /*already_assigned_ids=*/{},
|
||||||
|
account_bb_node.get(), account_other_folder_node.get(),
|
||||||
|
- account_mobile_folder_node.get(), &max_node_id,
|
||||||
|
+ account_mobile_folder_node.get(),
|
||||||
|
+ tabs_collection_folder_node.get(), &max_node_id,
|
||||||
|
&sync_metadata_str)) {
|
||||||
|
ids_assigned_to_account_nodes = codec.release_assigned_ids();
|
||||||
|
|
||||||
|
@@ -110,7 +113,8 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks(
|
||||||
|
if (root_dict.has_value() &&
|
||||||
|
codec.Decode(*root_dict, std::move(ids_assigned_to_account_nodes),
|
||||||
|
details->bb_node(), details->other_folder_node(),
|
||||||
|
- details->mobile_folder_node(), &max_node_id,
|
||||||
|
+ details->mobile_folder_node(),
|
||||||
|
+ details->tabs_collection_folder_node(), &max_node_id,
|
||||||
|
&sync_metadata_str)) {
|
||||||
|
details->set_local_or_syncable_sync_metadata_str(
|
||||||
|
std::move(sync_metadata_str));
|
||||||
diff --git a/components/sync_bookmarks/bookmark_specifics_conversions.cc b/components/sync_bookmarks/bookmark_specifics_conversions.cc
|
diff --git a/components/sync_bookmarks/bookmark_specifics_conversions.cc b/components/sync_bookmarks/bookmark_specifics_conversions.cc
|
||||||
--- a/components/sync_bookmarks/bookmark_specifics_conversions.cc
|
--- a/components/sync_bookmarks/bookmark_specifics_conversions.cc
|
||||||
+++ b/components/sync_bookmarks/bookmark_specifics_conversions.cc
|
+++ b/components/sync_bookmarks/bookmark_specifics_conversions.cc
|
||||||
@@ -446,6 +446,7 @@ sync_pb::BookmarkSpecifics::Type GetProtoTypeFromBookmarkNode(
|
@@ -445,6 +445,7 @@ sync_pb::BookmarkSpecifics::Type GetProtoTypeFromBookmarkNode(
|
||||||
case bookmarks::BookmarkNode::BOOKMARK_BAR:
|
case bookmarks::BookmarkNode::BOOKMARK_BAR:
|
||||||
case bookmarks::BookmarkNode::OTHER_NODE:
|
case bookmarks::BookmarkNode::OTHER_NODE:
|
||||||
case bookmarks::BookmarkNode::MOBILE:
|
case bookmarks::BookmarkNode::MOBILE:
|
||||||
@@ -710,4 +795,3 @@ diff --git a/components/sync_bookmarks/bookmark_specifics_conversions.cc b/compo
|
|||||||
return sync_pb::BookmarkSpecifics::FOLDER;
|
return sync_pb::BookmarkSpecifics::FOLDER;
|
||||||
}
|
}
|
||||||
--
|
--
|
||||||
2.25.1
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||||||
diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/java/res/menu/custom_tabs_menu.xml
|
diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/java/res/menu/custom_tabs_menu.xml
|
||||||
--- a/chrome/android/java/res/menu/custom_tabs_menu.xml
|
--- a/chrome/android/java/res/menu/custom_tabs_menu.xml
|
||||||
+++ b/chrome/android/java/res/menu/custom_tabs_menu.xml
|
+++ b/chrome/android/java/res/menu/custom_tabs_menu.xml
|
||||||
@@ -55,6 +55,9 @@ found in the LICENSE file.
|
@@ -62,6 +62,9 @@ found in the LICENSE file.
|
||||||
<item android:id="@+id/add_to_homescreen_id"
|
<item android:id="@+id/add_to_homescreen_id"
|
||||||
android:title="@string/menu_add_to_homescreen"
|
android:title="@string/menu_add_to_homescreen"
|
||||||
android:orderInCategory="2" />
|
android:orderInCategory="2" />
|
||||||
@@ -29,7 +29,7 @@ diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/
|
|||||||
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
|
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
|
||||||
--- a/chrome/android/java/res/menu/main_menu.xml
|
--- a/chrome/android/java/res/menu/main_menu.xml
|
||||||
+++ b/chrome/android/java/res/menu/main_menu.xml
|
+++ b/chrome/android/java/res/menu/main_menu.xml
|
||||||
@@ -108,6 +108,9 @@ found in the LICENSE file.
|
@@ -113,6 +113,9 @@ found in the LICENSE file.
|
||||||
<item android:id="@+id/add_to_homescreen_id"
|
<item android:id="@+id/add_to_homescreen_id"
|
||||||
android:title="@string/menu_add_to_homescreen"
|
android:title="@string/menu_add_to_homescreen"
|
||||||
android:icon="@drawable/ic_add_to_home_screen" />
|
android:icon="@drawable/ic_add_to_home_screen" />
|
||||||
@@ -42,7 +42,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||||
@@ -2308,6 +2308,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
@@ -2976,6 +2976,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||||
NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER);
|
NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER);
|
||||||
}
|
}
|
||||||
RecordUserAction.record("MobileMenuDownloadManager");
|
RecordUserAction.record("MobileMenuDownloadManager");
|
||||||
@@ -54,7 +54,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||||
@@ -2524,6 +2524,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
@@ -2729,6 +2729,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||||
return doOpenWebApk(currentTab);
|
return doOpenWebApk(currentTab);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -69,7 +69,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
|
||||||
@@ -544,6 +544,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
@@ -585,6 +585,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||||
isChromeScheme, isFileScheme, isContentScheme, isIncognito, url));
|
isChromeScheme, isFileScheme, isContentScheme, isIncognito, url));
|
||||||
|
|
||||||
updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */, isChromeScheme);
|
updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */, isChromeScheme);
|
||||||
@@ -77,7 +77,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
|
|||||||
|
|
||||||
updateAutoDarkMenuItem(menu, currentTab, isChromeScheme);
|
updateAutoDarkMenuItem(menu, currentTab, isChromeScheme);
|
||||||
|
|
||||||
@@ -1114,6 +1115,23 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
@@ -1236,6 +1237,23 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,7 +104,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
||||||
@@ -240,6 +240,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
|
@@ -295,6 +295,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
|
||||||
|
|
||||||
updateRequestDesktopSiteMenuItem(
|
updateRequestDesktopSiteMenuItem(
|
||||||
menu, currentTab, requestDesktopSiteVisible, isChromeScheme);
|
menu, currentTab, requestDesktopSiteVisible, isChromeScheme);
|
||||||
@@ -115,7 +115,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
|
|||||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
@@ -309,6 +309,10 @@ CHAR_LIMIT guidelines:
|
@@ -317,6 +317,10 @@ CHAR_LIMIT guidelines:
|
||||||
USB
|
USB
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
@@ -127,4 +127,3 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
|||||||
<message name="IDS_PREFS_SECTION_ACCOUNT_AND_GOOGLE_SERVICES" desc="Title for the group of account-related entries and google services in Settings. [CHAR_LIMIT=32]">
|
<message name="IDS_PREFS_SECTION_ACCOUNT_AND_GOOGLE_SERVICES" desc="Title for the group of account-related entries and google services in Settings. [CHAR_LIMIT=32]">
|
||||||
You and Google
|
You and Google
|
||||||
--
|
--
|
||||||
2.25.1
|
|
||||||
|
|||||||
+93
-52
@@ -2,35 +2,77 @@ From: uazo <uazo@users.noreply.github.com>
|
|||||||
Date: Mon, 21 Aug 2023 14:03:25 +0000
|
Date: Mon, 21 Aug 2023 14:03:25 +0000
|
||||||
Subject: Add option to disable snapshots
|
Subject: Add option to disable snapshots
|
||||||
|
|
||||||
|
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||||
---
|
---
|
||||||
.../tab_management/TabGridViewBinder.java | 6 ++-
|
.../tab_management/TabGridViewBinder.java | 10 +++--
|
||||||
|
.../tasks/tab_management/TabProperties.java | 5 +++
|
||||||
.../java/res/xml/privacy_preferences.xml | 5 +++
|
.../java/res/xml/privacy_preferences.xml | 5 +++
|
||||||
.../chrome/browser/app/ChromeActivity.java | 3 +-
|
.../chrome/browser/app/ChromeActivity.java | 3 +-
|
||||||
.../layouts/content/TabContentManager.java | 7 +++-
|
.../layouts/content/TabContentManager.java | 7 +++-
|
||||||
.../privacy/settings/PrivacySettings.java | 42 ++++++++++++++++++-
|
.../privacy/settings/PrivacySettings.java | 42 ++++++++++++++++++-
|
||||||
.../strings/android_chrome_strings.grd | 8 ++++
|
.../strings/android_chrome_strings.grd | 8 ++++
|
||||||
6 files changed, 65 insertions(+), 6 deletions(-)
|
7 files changed, 73 insertions(+), 7 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
|
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
|
||||||
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
|
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
|
||||||
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
|
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
|
||||||
@@ -314,8 +314,10 @@ class TabGridViewBinder {
|
@@ -327,9 +327,12 @@ class TabGridViewBinder {
|
||||||
updateThumbnailMatrix(thumbnail, result, thumbnailSize);
|
// Adjust bitmap to thumbnail.
|
||||||
thumbnail.setImageBitmap(result);
|
TabUtils.setBitmapAndUpdateImageMatrix(thumbnail, result, thumbnailSize);
|
||||||
} else if (isMostRecentRequest) {
|
} else if (isMostRecentRequest) {
|
||||||
- // If the most recent request is a null bitmap ensure a placeholder is visible.
|
- // If the most recent request is a null bitmap ensure a placeholder is
|
||||||
- thumbnail.setImageDrawable(null);
|
- // visible.
|
||||||
+ TabListFaviconProvider.TabFavicon tabFavicon = model.get(TabProperties.FAVICON);
|
- thumbnail.setImageDrawable(null);
|
||||||
+ thumbnail.setScaleType(ImageView.ScaleType.CENTER);
|
+ TabListFaviconProvider.TabFavicon tabFavicon = model.get(TabProperties.FAVICON);
|
||||||
+ thumbnail.setImageDrawable(
|
+ if (tabFavicon != null) {
|
||||||
+ isSelected ? tabFavicon.getSelectedDrawable() : tabFavicon.getDefaultDrawable());
|
+ thumbnail.setScaleType(ImageView.ScaleType.CENTER);
|
||||||
}
|
+ thumbnail.setImageDrawable(
|
||||||
};
|
+ isSelected ? tabFavicon.getSelectedDrawable() : tabFavicon.getDefaultDrawable());
|
||||||
if (TabUiFeatureUtilities.isTabGroupsAndroidContinuationEnabled(view.getContext())
|
+ }
|
||||||
|
}
|
||||||
|
};
|
||||||
|
if (sThumbnailFetcherForTesting != null) {
|
||||||
|
@@ -368,6 +371,7 @@ class TabGridViewBinder {
|
||||||
|
ViewLookupCachingFrameLayout rootView,
|
||||||
|
PropertyModel model,
|
||||||
|
TabListFaviconProvider.TabFavicon favicon) {
|
||||||
|
+ model.set(TabProperties.FAVICON, favicon);
|
||||||
|
ImageView faviconView = (ImageView) rootView.fastFindViewById(R.id.tab_favicon);
|
||||||
|
if (favicon == null) {
|
||||||
|
faviconView.setImageDrawable(null);
|
||||||
|
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java
|
||||||
|
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java
|
||||||
|
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java
|
||||||
|
@@ -63,6 +63,9 @@ public class TabProperties {
|
||||||
|
public static final WritableBooleanPropertyKey FAVICON_FETCHED =
|
||||||
|
new WritableBooleanPropertyKey();
|
||||||
|
|
||||||
|
+ public static final WritableObjectPropertyKey<TabListFaviconProvider.TabFavicon> FAVICON =
|
||||||
|
+ new WritableObjectPropertyKey<>();
|
||||||
|
+
|
||||||
|
/** Property for lazily fetching favicons when required by an item in a UI. */
|
||||||
|
public static final WritableObjectPropertyKey<TabListFaviconProvider.TabFaviconFetcher>
|
||||||
|
FAVICON_FETCHER = new WritableObjectPropertyKey<>();
|
||||||
|
@@ -160,6 +163,7 @@ public class TabProperties {
|
||||||
|
CARD_TYPE,
|
||||||
|
CONTENT_DESCRIPTION_STRING,
|
||||||
|
CLOSE_BUTTON_DESCRIPTION_STRING,
|
||||||
|
+ FAVICON,
|
||||||
|
SHOPPING_PERSISTED_TAB_DATA_FETCHER,
|
||||||
|
SHOULD_SHOW_PRICE_DROP_TOOLTIP,
|
||||||
|
QUICK_DELETE_ANIMATION_STATUS
|
||||||
|
@@ -172,6 +176,7 @@ public class TabProperties {
|
||||||
|
TAB_CLOSED_LISTENER,
|
||||||
|
FAVICON_FETCHED,
|
||||||
|
FAVICON_FETCHER,
|
||||||
|
+ FAVICON,
|
||||||
|
IS_SELECTED,
|
||||||
|
TITLE,
|
||||||
|
TABSTRIP_FAVICON_BACKGROUND_COLOR_ID,
|
||||||
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||||
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
||||||
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
|
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||||
@@ -88,6 +88,11 @@ found in the LICENSE file.
|
@@ -54,6 +54,11 @@ found in the LICENSE file.
|
||||||
android:title="@string/open_external_links_incognito_title"
|
android:title="@string/open_external_links_incognito_title"
|
||||||
android:summary="@string/open_external_links_incognito_summary"
|
android:summary="@string/open_external_links_incognito_summary"
|
||||||
android:defaultValue="false" />
|
android:defaultValue="false" />
|
||||||
@@ -40,50 +82,52 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
|
|||||||
+ android:summary="@string/tabgrid_use_icons_summary"
|
+ android:summary="@string/tabgrid_use_icons_summary"
|
||||||
+ android:defaultValue="false" />
|
+ android:defaultValue="false" />
|
||||||
<Preference
|
<Preference
|
||||||
android:key="privacy_sandbox"
|
android:key="preload_pages"
|
||||||
android:title="@string/prefs_privacy_sandbox"
|
android:title="@string/preload_pages_title"
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||||
@@ -144,6 +144,7 @@ import org.chromium.chrome.browser.page_info.ChromePageInfoHighlight;
|
@@ -145,6 +145,7 @@ import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
|
||||||
import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations;
|
import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
|
||||||
import org.chromium.chrome.browser.preferences.Pref;
|
import org.chromium.chrome.browser.preferences.Pref;
|
||||||
import org.chromium.chrome.browser.printing.TabPrinter;
|
import org.chromium.chrome.browser.printing.TabPrinter;
|
||||||
+import org.chromium.chrome.browser.privacy.settings.PrivacySettings;
|
+import org.chromium.chrome.browser.privacy.settings.PrivacySettings;
|
||||||
import org.chromium.chrome.browser.profiles.Profile;
|
import org.chromium.chrome.browser.profiles.Profile;
|
||||||
|
import org.chromium.chrome.browser.readaloud.ReadAloudController;
|
||||||
import org.chromium.chrome.browser.selection.SelectionPopupBackPressHandler;
|
import org.chromium.chrome.browser.selection.SelectionPopupBackPressHandler;
|
||||||
import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
|
@@ -704,7 +705,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||||
@@ -642,7 +643,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
new TabContentManager(
|
||||||
|
this,
|
||||||
|
mBrowserControlsManagerSupplier.get(),
|
||||||
|
- !SysUtils.isLowEndDevice(),
|
||||||
|
+ !ContextUtils.getAppSharedPreferences().getBoolean(PrivacySettings.PREF_TABGRID_USE_ICONS, false),
|
||||||
|
tabModelSelector != null ? tabModelSelector::getTabById : null));
|
||||||
|
|
||||||
TabModelSelector tabModelSelector = mTabModelOrchestrator.getTabModelSelector();
|
getBrowserControlsManager()
|
||||||
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
|
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
|
--- 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
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/content/TabContentManager.java
|
||||||
@@ -331,9 +331,12 @@ public class TabContentManager {
|
@@ -326,11 +326,14 @@ 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(
|
||||||
+ public void getTabThumbnailWithCallback(@NonNull int tabId, @NonNull Size thumbnailSize, //
|
@NonNull int tabId,
|
||||||
@NonNull Callback<Bitmap> callback, boolean forceUpdate, boolean writeBack) {
|
- @NonNull Size thumbnailSize,
|
||||||
|
+ @NonNull Size thumbnailSize, //
|
||||||
|
@NonNull Callback<Bitmap> callback,
|
||||||
|
boolean forceUpdate,
|
||||||
|
boolean writeBack) {
|
||||||
- if (!mSnapshotsEnabled) return;
|
- if (!mSnapshotsEnabled) return;
|
||||||
+ if (!mSnapshotsEnabled) {
|
+ if (!mSnapshotsEnabled) {
|
||||||
+ callback.onResult(null);
|
+ callback.onResult(null);
|
||||||
+ return;
|
+ return;
|
||||||
+ }
|
+ }
|
||||||
|
|
||||||
// TODO(crbug/1444782): Remove forceUpdate and writeBack params from here and don't
|
// TODO(crbug/1444782): Remove forceUpdate and writeBack params once the following features
|
||||||
// trigger a captureThumbnail. This should be feasible once the
|
// launch:
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||||
@@ -69,6 +69,11 @@ import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
|
@@ -66,12 +66,25 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
|
||||||
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
|
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
|
||||||
import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
|
import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
|
||||||
|
|
||||||
@@ -95,12 +139,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -77,7 +82,15 @@ import java.util.List;
|
/** Fragment to keep track of the all the privacy related preferences. */
|
||||||
*/
|
public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||||
public class PrivacySettings extends PreferenceFragmentCompat
|
- implements Preference.OnPreferenceChangeListener {
|
||||||
implements Preference.OnPreferenceChangeListener, FragmentHelpAndFeedbackLauncher,
|
+ implements Preference.OnPreferenceChangeListener, INeedSnackbarManager {
|
||||||
- ProfileDependentSetting {
|
|
||||||
+ ProfileDependentSetting, INeedSnackbarManager {
|
|
||||||
+ private SnackbarManager mSnackbarManager;
|
+ private SnackbarManager mSnackbarManager;
|
||||||
+ private Snackbar mSnackbar;
|
+ private Snackbar mSnackbar;
|
||||||
+
|
+
|
||||||
@@ -112,8 +154,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||||||
private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment";
|
private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment";
|
||||||
private static final String PREF_PRELOAD_PAGES = "preload_pages";
|
private static final String PREF_PRELOAD_PAGES = "preload_pages";
|
||||||
private static final String PREF_HTTPS_FIRST_MODE = "https_first_mode";
|
private static final String PREF_HTTPS_FIRST_MODE = "https_first_mode";
|
||||||
@@ -147,6 +160,21 @@ public class PrivacySettings extends PreferenceFragmentCompat
|
@@ -140,6 +153,21 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||||
});
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
+ mSnackbar = Snackbar.make(getActivity().getString(R.string.ui_relaunch_notice),
|
+ mSnackbar = Snackbar.make(getActivity().getString(R.string.ui_relaunch_notice),
|
||||||
@@ -133,8 +175,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||||||
+
|
+
|
||||||
Preference privacyGuidePreference = findPreference(PREF_PRIVACY_GUIDE);
|
Preference privacyGuidePreference = findPreference(PREF_PRIVACY_GUIDE);
|
||||||
// Record the launch of PG from the S&P link-row entry point
|
// Record the launch of PG from the S&P link-row entry point
|
||||||
privacyGuidePreference.setOnPreferenceClickListener(preference -> {
|
privacyGuidePreference.setOnPreferenceClickListener(
|
||||||
@@ -297,6 +325,7 @@ public class PrivacySettings extends PreferenceFragmentCompat
|
@@ -321,6 +349,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||||
|
|
||||||
public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents";
|
public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents";
|
||||||
public static final String PREF_OPEN_EXTERNAL_LINKS_INCOGNITO = "open_external_links_incognito";
|
public static final String PREF_OPEN_EXTERNAL_LINKS_INCOGNITO = "open_external_links_incognito";
|
||||||
@@ -142,7 +184,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
@@ -320,6 +349,13 @@ public class PrivacySettings extends PreferenceFragmentCompat
|
@@ -346,6 +375,13 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||||
SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
|
SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
|
||||||
sharedPreferencesEditor.putBoolean(PREF_OPEN_EXTERNAL_LINKS_INCOGNITO, (boolean)newValue);
|
sharedPreferencesEditor.putBoolean(PREF_OPEN_EXTERNAL_LINKS_INCOGNITO, (boolean)newValue);
|
||||||
sharedPreferencesEditor.apply();
|
sharedPreferencesEditor.apply();
|
||||||
@@ -156,7 +198,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -360,6 +396,10 @@ public class PrivacySettings extends PreferenceFragmentCompat
|
@@ -386,6 +422,10 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||||
: R.string.text_off);
|
: R.string.text_off);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -170,7 +212,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
@@ -5239,6 +5239,14 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
@@ -5371,6 +5371,14 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>clear the Chrome da
|
||||||
Your <ph name="FQDN">%1$s<ex>www.amazon.com</ex></ph> timer ran out. It'll start again tomorrow.
|
Your <ph name="FQDN">%1$s<ex>www.amazon.com</ex></ph> timer ran out. It'll start again tomorrow.
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
@@ -186,4 +228,3 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
|||||||
<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…').">
|
<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
|
Tab management
|
||||||
--
|
--
|
||||||
2.25.1
|
|
||||||
@@ -5,36 +5,38 @@ Subject: Add option to force tablet UI
|
|||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
---
|
---
|
||||||
.../ChromeAccessibilitySettingsDelegate.java | 19 +++++++++++++++++++
|
.../ChromeAccessibilitySettingsDelegate.java | 19 +++++++++++++++++++
|
||||||
|
.../browser/tasks/ReturnToChromeUtil.java | 4 +++-
|
||||||
|
.../chrome/browser/ui/RootUiCoordinator.java | 5 ++++-
|
||||||
|
chrome/browser/preferences/BUILD.gn | 1 +
|
||||||
.../preferences/ChromePreferenceKeys.java | 1 +
|
.../preferences/ChromePreferenceKeys.java | 1 +
|
||||||
|
.../preferences/ChromeSharedPreferences.java | 8 ++++++++
|
||||||
.../LegacyChromePreferenceKeys.java | 1 +
|
.../LegacyChromePreferenceKeys.java | 1 +
|
||||||
.../omnibox/LocationBarCoordinator.java | 2 +-
|
.../omnibox/LocationBarCoordinator.java | 2 +-
|
||||||
.../strings/android_chrome_strings.grd | 6 ++++++
|
.../strings/android_chrome_strings.grd | 7 +++++++
|
||||||
.../toolbar/top/ToolbarControlContainer.java | 5 ++---
|
|
||||||
components/BUILD.gn | 6 +++---
|
components/BUILD.gn | 6 +++---
|
||||||
.../res/xml/accessibility_preferences.xml | 5 +++++
|
.../res/xml/accessibility_preferences.xml | 5 +++++
|
||||||
.../accessibility/AccessibilitySettings.java | 11 +++++++++++
|
.../accessibility/AccessibilitySettings.java | 10 ++++++++++
|
||||||
.../AccessibilitySettingsDelegate.java | 2 ++
|
.../AccessibilitySettingsDelegate.java | 2 ++
|
||||||
ui/android/BUILD.gn | 2 ++
|
.../chromium/ui/base/DeviceFormFactor.java | 6 ++++++
|
||||||
.../chromium/ui/base/DeviceFormFactor.java | 5 +++++
|
14 files changed, 71 insertions(+), 6 deletions(-)
|
||||||
12 files changed, 58 insertions(+), 7 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
|
||||||
@@ -77,6 +77,25 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting
|
@@ -94,6 +94,25 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting
|
||||||
return new ReaderForAccessibilityDelegate(mProfile);
|
return new TextSizeContrastAccessibilityDelegate(getBrowserContextHandle());
|
||||||
}
|
}
|
||||||
|
|
||||||
+ private static class ForceTabletUIDelegate implements BooleanPreferenceDelegate {
|
+ private static class ForceTabletUIDelegate implements BooleanPreferenceDelegate {
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public boolean isEnabled() {
|
+ public boolean isEnabled() {
|
||||||
+ return SharedPreferencesManager.getInstance().readBoolean(
|
+ return ChromeSharedPreferences.getInstance().readBoolean(
|
||||||
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, false);
|
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, false);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public void setEnabled(boolean value) {
|
+ public void setEnabled(boolean value) {
|
||||||
+ SharedPreferencesManager.getInstance().writeBoolean(
|
+ ChromeSharedPreferences.getInstance().writeBoolean(
|
||||||
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, value);
|
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, value);
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
@@ -47,32 +49,104 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
|
|||||||
@Override
|
@Override
|
||||||
public void addExtraPreferences(PreferenceFragmentCompat fragment) {
|
public void addExtraPreferences(PreferenceFragmentCompat fragment) {
|
||||||
if (ImageDescriptionsController.getInstance().shouldShowImageDescriptionsMenuItem()) {
|
if (ImageDescriptionsController.getInstance().shouldShowImageDescriptionsMenuItem()) {
|
||||||
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java b/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java
|
||||||
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java
|
||||||
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java
|
||||||
|
@@ -979,7 +979,9 @@ public final class ReturnToChromeUtil {
|
||||||
|
|
||||||
|
public static boolean isScrollableMvtEnabled(Context context) {
|
||||||
|
boolean isSurfacePolishEnabled = ChromeFeatureList.sSurfacePolish.isEnabled();
|
||||||
|
- if (!DeviceFormFactor.isNonMultiDisplayContextOnTablet(context)) {
|
||||||
|
+ if (!DeviceFormFactor.isNonMultiDisplayContextOnTablet(context) ||
|
||||||
|
+ ChromeSharedPreferences.getInstance().readBoolean(
|
||||||
|
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, false)) {
|
||||||
|
// On phones, parameter SURFACE_POLISH_SCROLLABLE_MVT is checked when feature flag
|
||||||
|
// surface polish is enabled; otherwise, feature flag
|
||||||
|
// SHOW_SCROLLABLE_MVT_ON_NTP_PHONE_ANDROID is checked.
|
||||||
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
||||||
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
||||||
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
||||||
|
@@ -98,6 +98,7 @@ import org.chromium.chrome.browser.paint_preview.DemoPaintPreview;
|
||||||
|
import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer;
|
||||||
|
import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher;
|
||||||
|
import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
|
||||||
|
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
|
||||||
|
import org.chromium.chrome.browser.price_tracking.PriceTrackingButtonController;
|
||||||
|
import org.chromium.chrome.browser.profiles.Profile;
|
||||||
|
import org.chromium.chrome.browser.profiles.ProfileManager;
|
||||||
|
@@ -1595,7 +1596,9 @@ public class RootUiCoordinator
|
||||||
|
if (!mSupportsFindInPageSupplier.getAsBoolean()) return;
|
||||||
|
|
||||||
|
int stubId = R.id.find_toolbar_stub;
|
||||||
|
- if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(mActivity)) {
|
||||||
|
+ if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(mActivity) &&
|
||||||
|
+ !ChromeSharedPreferences.getInstance().readBoolean(
|
||||||
|
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, false)) {
|
||||||
|
stubId = R.id.find_toolbar_tablet_stub;
|
||||||
|
}
|
||||||
|
mFindToolbarManager =
|
||||||
|
diff --git a/chrome/browser/preferences/BUILD.gn b/chrome/browser/preferences/BUILD.gn
|
||||||
|
--- a/chrome/browser/preferences/BUILD.gn
|
||||||
|
+++ b/chrome/browser/preferences/BUILD.gn
|
||||||
|
@@ -26,6 +26,7 @@ android_library("java") {
|
||||||
|
"//components/browser_ui/site_settings/android:constants_java",
|
||||||
|
"//third_party/androidx:androidx_annotation_annotation_java",
|
||||||
|
"//third_party/jni_zero:jni_zero_java",
|
||||||
|
+ "//ui/android:ui_java",
|
||||||
|
]
|
||||||
|
|
||||||
|
srcjar_deps = [
|
||||||
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||||
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||||
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||||
@@ -386,6 +386,7 @@ public final class ChromePreferenceKeys {
|
@@ -270,6 +270,7 @@ public final class ChromePreferenceKeys {
|
||||||
AccessibilityConstants.FONT_USER_SET_FORCE_ENABLE_ZOOM;
|
AccessibilityConstants.FONT_USER_SET_FORCE_ENABLE_ZOOM;
|
||||||
|
|
||||||
public static final String HISTORY_SHOW_HISTORY_INFO = "history_home_show_info";
|
public static final String HISTORY_SHOW_HISTORY_INFO = "history_home_show_info";
|
||||||
+ public static final String FLAGS_FORCE_TABLET_UI_ENABLED = "force_tablet_ui_enabled";
|
+ public static final String FLAGS_FORCE_TABLET_UI_ENABLED = "force_tablet_ui_enabled";
|
||||||
|
|
||||||
/** Keys used to save settings related to homepage. */
|
/** Keys used to save settings related to homepage. */
|
||||||
public static final String HOMEPAGE_CUSTOM_URI = "homepage_custom_uri";
|
public static final String DEPRECATED_HOMEPAGE_CUSTOM_URI = "homepage_custom_uri";
|
||||||
|
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromeSharedPreferences.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromeSharedPreferences.java
|
||||||
|
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromeSharedPreferences.java
|
||||||
|
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromeSharedPreferences.java
|
||||||
|
@@ -11,6 +11,8 @@ import org.chromium.base.shared_preferences.PreferenceKeyRegistry;
|
||||||
|
import org.chromium.base.shared_preferences.SharedPreferencesManager;
|
||||||
|
import org.chromium.build.BuildConfig;
|
||||||
|
|
||||||
|
+import org.chromium.ui.base.DeviceFormFactor;
|
||||||
|
+
|
||||||
|
@JNINamespace("android::shared_preferences")
|
||||||
|
public class ChromeSharedPreferences {
|
||||||
|
public static final PreferenceKeyRegistry REGISTRY =
|
||||||
|
@@ -22,6 +24,12 @@ public class ChromeSharedPreferences {
|
||||||
|
LegacyChromePreferenceKeys.getPrefixesInUse())
|
||||||
|
: null);
|
||||||
|
|
||||||
|
+ static {
|
||||||
|
+ DeviceFormFactor.setForceTabletUI(
|
||||||
|
+ ChromeSharedPreferences.getInstance().readBoolean(
|
||||||
|
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, false));
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
/**
|
||||||
|
* @return The //base SharedPreferencesManager singleton.
|
||||||
|
*/
|
||||||
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
|
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
|
||||||
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
|
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
|
||||||
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
|
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
|
||||||
@@ -65,6 +65,7 @@ public class LegacyChromePreferenceKeys {
|
@@ -58,6 +58,7 @@ public class LegacyChromePreferenceKeys {
|
||||||
ChromePreferenceKeys.FLAGS_CACHED_SWAP_PIXEL_FORMAT_TO_FIX_CONVERT_FROM_TRANSLUCENT,
|
ChromePreferenceKeys.FIRST_RUN_LIGHTWEIGHT_FLOW_COMPLETE,
|
||||||
ChromePreferenceKeys.FLAGS_CACHED_TAB_GROUPS_ANDROID_ENABLED,
|
ChromePreferenceKeys.FIRST_RUN_SKIP_WELCOME_PAGE,
|
||||||
ChromePreferenceKeys.FONT_USER_FONT_SCALE_FACTOR,
|
ChromePreferenceKeys.FONT_USER_FONT_SCALE_FACTOR,
|
||||||
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED,
|
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED,
|
||||||
ChromePreferenceKeys.FONT_USER_SET_FORCE_ENABLE_ZOOM,
|
ChromePreferenceKeys.FONT_USER_SET_FORCE_ENABLE_ZOOM,
|
||||||
ChromePreferenceKeys.HISTORY_SHOW_HISTORY_INFO,
|
ChromePreferenceKeys.HISTORY_SHOW_HISTORY_INFO,
|
||||||
ChromePreferenceKeys.HOMEPAGE_CUSTOM_URI,
|
ChromePreferenceKeys.HOMEPAGE_ENABLED,
|
||||||
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
||||||
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
||||||
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
||||||
@@ -669,7 +669,7 @@ public class LocationBarCoordinator
|
@@ -771,7 +771,7 @@ public class LocationBarCoordinator
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isTabletWindow() {
|
private boolean isTabletWindow() {
|
||||||
@@ -84,38 +158,24 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
|||||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
@@ -1675,6 +1675,12 @@ Your Google account may have other forms of browsing history like searches and a
|
@@ -1564,6 +1564,13 @@ Your Google account may have other forms of browsing history like searches and a
|
||||||
<message name="IDS_PRIVACY_GUIDE_SB_ENHANCED_ITEM_SEVEN" desc="Seventh bullet point that describes the details of the Safe Browsing control.">
|
Manage third-party cookies and tracking protections
|
||||||
Temporarily links this data to your Google Account when you’re signed in, to protect you across Google apps
|
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
+ <message name="IDS_FORCE_TABLET_UI_SUMMARY" desc="Summary of the preference that allows the user to force chromium to use tablet UI.">
|
+ <message name="IDS_FORCE_TABLET_UI_SUMMARY" desc="Summary of the preference that allows the user to force chromium to use tablet UI.">
|
||||||
+ Open chromium in Tablet Mode
|
+ Open chromium in Tablet Mode
|
||||||
+ </message>
|
+ </message>
|
||||||
+ <message name="IDS_FORCE_TABLET_UI_TITLE" desc="Title of the preference that allows the user to update force tablet UI settings.">
|
+ <message name="IDS_FORCE_TABLET_UI_TITLE" desc="Title of the preference that allows the user to update force tablet UI settings.">
|
||||||
+ Force Tablet Mode
|
+ Force Tablet Mode
|
||||||
+ </message>
|
+ </message>
|
||||||
|
+
|
||||||
<!-- Safety check -->
|
<!-- Safety check -->
|
||||||
<message name="IDS_PREFS_SAFETY_CHECK" desc="Title of the Safety check element in settings, allowing the user to check multiple areas of browser safety. [CHAR_LIMIT=32]">
|
<message name="IDS_PREFS_SAFETY_CHECK" desc="Title of the Safety check element in settings, allowing the user to check multiple areas of browser safety. [CHAR_LIMIT=32]">
|
||||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
|
Safety check
|
||||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
|
|
||||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
|
|
||||||
@@ -165,9 +165,8 @@ public class ToolbarControlContainer extends OptimizedFrameLayout implements Con
|
|
||||||
|
|
||||||
return backgroundDrawable;
|
|
||||||
} else {
|
|
||||||
- final Drawable backgroundDrawable =
|
|
||||||
- AppCompatResources.getDrawable(getContext(), R.drawable.toolbar_background)
|
|
||||||
- .mutate();
|
|
||||||
+ Drawable backgroundDrawable = new ColorDrawable(
|
|
||||||
+ ChromeColors.getPrimaryBackgroundColor(getContext(), incognito));
|
|
||||||
backgroundDrawable.setTint(ChromeColors.getDefaultThemeColor(getContext(), incognito));
|
|
||||||
backgroundDrawable.setTintMode(PorterDuff.Mode.MULTIPLY);
|
|
||||||
|
|
||||||
diff --git a/components/BUILD.gn b/components/BUILD.gn
|
diff --git a/components/BUILD.gn b/components/BUILD.gn
|
||||||
--- a/components/BUILD.gn
|
--- a/components/BUILD.gn
|
||||||
+++ b/components/BUILD.gn
|
+++ b/components/BUILD.gn
|
||||||
@@ -68,7 +68,7 @@ if (is_ios) {
|
@@ -69,7 +69,7 @@ if (is_ios) {
|
||||||
|
|
||||||
# Omit Lacros because it allows //components to depend on //chrome, which in
|
# Omit Lacros because it allows //components to depend on //chrome, which in
|
||||||
# turn depends on //extensions.
|
# turn depends on //extensions.
|
||||||
@@ -124,7 +184,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
|
|||||||
disallowed_extension_deps_ = [
|
disallowed_extension_deps_ = [
|
||||||
# Components should largely not depend on //extensions. Since // extensions
|
# Components should largely not depend on //extensions. Since // extensions
|
||||||
# is not a component target and is linked with //chrome, depending on most
|
# is not a component target and is linked with //chrome, depending on most
|
||||||
@@ -730,7 +730,7 @@ test("components_unittests") {
|
@@ -831,7 +831,7 @@ test("components_unittests") {
|
||||||
# On other platforms, no components should depend on Chrome.
|
# On other platforms, no components should depend on Chrome.
|
||||||
# Since //chrome depends on //extensions, we also only assert_no_deps on
|
# Since //chrome depends on //extensions, we also only assert_no_deps on
|
||||||
# extensions targets for non-lacros builds.
|
# extensions targets for non-lacros builds.
|
||||||
@@ -133,7 +193,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
|
|||||||
assert_no_deps = [ "//chrome/*" ]
|
assert_no_deps = [ "//chrome/*" ]
|
||||||
assert_no_deps += disallowed_extension_deps_
|
assert_no_deps += disallowed_extension_deps_
|
||||||
}
|
}
|
||||||
@@ -1018,7 +1018,7 @@ if (use_blink) {
|
@@ -1113,7 +1113,7 @@ if (use_blink) {
|
||||||
# dependency. On other platforms, no components should depend on Chrome.
|
# dependency. On other platforms, no components should depend on Chrome.
|
||||||
# Since //chrome depends on //extensions, we also only assert_no_deps on
|
# Since //chrome depends on //extensions, we also only assert_no_deps on
|
||||||
# extensions targets for non-lacros builds.
|
# extensions targets for non-lacros builds.
|
||||||
@@ -145,11 +205,11 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
|
|||||||
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||||
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||||
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||||
@@ -36,6 +36,11 @@ found in the LICENSE file.
|
@@ -40,6 +40,11 @@ found in the LICENSE file.
|
||||||
android:summary="@string/accessibility_tab_switcher_summary"
|
android:summary="@string/reader_for_accessibility_summary"
|
||||||
android:title="@string/accessibility_tab_switcher_title" />
|
android:title="@string/reader_for_accessibility_title" />
|
||||||
|
|
||||||
+ <org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference
|
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
||||||
+ android:key="force_tablet_ui"
|
+ android:key="force_tablet_ui"
|
||||||
+ android:summary="@string/force_tablet_ui_summary"
|
+ android:summary="@string/force_tablet_ui_summary"
|
||||||
+ android:title="@string/force_tablet_ui_title" />
|
+ android:title="@string/force_tablet_ui_title" />
|
||||||
@@ -160,37 +220,29 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil
|
|||||||
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
||||||
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
||||||
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
||||||
@@ -14,6 +14,7 @@ import androidx.preference.PreferenceFragmentCompat;
|
@@ -32,6 +32,8 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
|
||||||
import org.chromium.base.ContextUtils;
|
|
||||||
import org.chromium.components.browser_ui.accessibility.AccessibilitySettingsDelegate.BooleanPreferenceDelegate;
|
|
||||||
import org.chromium.components.browser_ui.accessibility.FontSizePrefs.FontSizePrefsObserver;
|
|
||||||
+import org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference;
|
|
||||||
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
|
|
||||||
import org.chromium.components.browser_ui.settings.CustomDividerFragment;
|
|
||||||
import org.chromium.components.browser_ui.settings.SettingsUtils;
|
|
||||||
@@ -30,6 +31,8 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
|
|
||||||
public static final String PREF_READER_FOR_ACCESSIBILITY = "reader_for_accessibility";
|
|
||||||
public static final String PREF_CAPTIONS = "captions";
|
public static final String PREF_CAPTIONS = "captions";
|
||||||
|
public static final String PREF_ZOOM_INFO = "zoom_info";
|
||||||
|
|
||||||
+ private BooleanPreferenceDelegate mForceTabletUIDelegate;
|
+ private BooleanPreferenceDelegate mForceTabletUIDelegate;
|
||||||
+ static final String PREF_FORCE_TABLET_UI = "force_tablet_ui";
|
+ static final String PREF_FORCE_TABLET_UI = "force_tablet_ui";
|
||||||
private TextScalePreference mTextScalePref;
|
private TextScalePreference mTextScalePref;
|
||||||
private PageZoomPreference mPageZoomDefaultZoomPref;
|
private PageZoomPreference mPageZoomDefaultZoomPref;
|
||||||
private ChromeSwitchPreference mPageZoomAlwaysShowPref;
|
private ChromeSwitchPreference mPageZoomIncludeOSAdjustment;
|
||||||
@@ -109,6 +112,12 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
|
@@ -129,6 +131,12 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
|
||||||
getPreferenceScreen().removePreference(readerForAccessibilityPref);
|
getPreferenceScreen().removePreference(readerForAccessibilityPref);
|
||||||
}
|
}
|
||||||
|
|
||||||
+ ChromeBaseCheckBoxPreference forceTabletUiPref =
|
+ ChromeSwitchPreference forceTabletUiPref =
|
||||||
+ (ChromeBaseCheckBoxPreference) findPreference(PREF_FORCE_TABLET_UI);
|
+ (ChromeSwitchPreference) findPreference(PREF_FORCE_TABLET_UI);
|
||||||
+ mForceTabletUIDelegate = mDelegate.getForceTabletUIDelegate();
|
+ mForceTabletUIDelegate = mDelegate.getForceTabletUIDelegate();
|
||||||
+ forceTabletUiPref.setChecked(mForceTabletUIDelegate.isEnabled());
|
+ forceTabletUiPref.setChecked(mForceTabletUIDelegate.isEnabled());
|
||||||
+ forceTabletUiPref.setOnPreferenceChangeListener(this);
|
+ forceTabletUiPref.setOnPreferenceChangeListener(this);
|
||||||
+
|
+
|
||||||
ChromeSwitchPreference accessibilityTabSwitcherPref =
|
Preference captions = findPreference(PREF_CAPTIONS);
|
||||||
(ChromeSwitchPreference) findPreference(
|
captions.setOnPreferenceClickListener(
|
||||||
AccessibilityConstants.ACCESSIBILITY_TAB_SWITCHER);
|
preference -> {
|
||||||
@@ -165,6 +174,8 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
|
@@ -190,6 +198,8 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
|
||||||
mFontSizePrefs.setUserFontScaleFactor((Float) newValue);
|
mFontSizePrefs.setUserFontScaleFactor((Float) newValue);
|
||||||
} else if (PREF_FORCE_ENABLE_ZOOM.equals(preference.getKey())) {
|
} else if (PREF_FORCE_ENABLE_ZOOM.equals(preference.getKey())) {
|
||||||
mFontSizePrefs.setForceEnableZoomFromUser((Boolean) newValue);
|
mFontSizePrefs.setForceEnableZoomFromUser((Boolean) newValue);
|
||||||
@@ -202,48 +254,36 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
|||||||
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
|
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
|
||||||
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
|
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
|
||||||
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
|
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
|
||||||
@@ -44,6 +44,8 @@ public interface AccessibilitySettingsDelegate {
|
@@ -52,6 +52,8 @@ public interface AccessibilitySettingsDelegate {
|
||||||
*/
|
*/
|
||||||
BooleanPreferenceDelegate getReaderForAccessibilityDelegate();
|
IntegerPreferenceDelegate getTextSizeContrastAccessibilityDelegate();
|
||||||
|
|
||||||
+ BooleanPreferenceDelegate getForceTabletUIDelegate();
|
+ BooleanPreferenceDelegate getForceTabletUIDelegate();
|
||||||
+
|
+
|
||||||
/**
|
/**
|
||||||
* Allows the embedder to add more preferences to the preference screen.
|
* Allows the embedder to add more preferences to the preference screen.
|
||||||
*
|
*
|
||||||
diff --git a/ui/android/BUILD.gn b/ui/android/BUILD.gn
|
|
||||||
--- a/ui/android/BUILD.gn
|
|
||||||
+++ b/ui/android/BUILD.gn
|
|
||||||
@@ -408,6 +408,8 @@ android_library("ui_no_recycler_view_java") {
|
|
||||||
":ui_android_features_java",
|
|
||||||
":ui_java_resources",
|
|
||||||
":ui_utils_java",
|
|
||||||
+ # dependency for ui_no_recycler_view_java
|
|
||||||
+ "//chrome/browser/preferences:java",
|
|
||||||
"//base:base_java",
|
|
||||||
"//base:jni_java",
|
|
||||||
"//build/android:build_java",
|
|
||||||
diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
|
diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
|
||||||
--- a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
|
--- a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
|
||||||
+++ b/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
|
+++ b/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
|
||||||
@@ -12,6 +12,8 @@ import androidx.annotation.VisibleForTesting;
|
@@ -31,6 +31,11 @@ public class DeviceFormFactor {
|
||||||
import org.chromium.base.ContextUtils;
|
/** Matches the value set in res/values-sw720dp/values.xml */
|
||||||
import org.chromium.base.ThreadUtils;
|
private static final int SCREEN_BUCKET_LARGET_TABLET = 3;
|
||||||
import org.chromium.base.annotations.CalledByNative;
|
|
||||||
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
|
+ private static boolean mForceTabletUI;
|
||||||
+import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
|
+ public static void setForceTabletUI(boolean forceTabletUI) {
|
||||||
import org.chromium.ui.R;
|
+ mForceTabletUI = forceTabletUI;
|
||||||
import org.chromium.ui.display.DisplayAndroid;
|
+ }
|
||||||
import org.chromium.ui.display.DisplayUtil;
|
+
|
||||||
@@ -62,6 +64,9 @@ public class DeviceFormFactor {
|
/**
|
||||||
|
* Each activity could be on a different display, and this will just tell you whether the
|
||||||
|
* display associated with the application context is "tablet sized".
|
||||||
|
@@ -56,6 +61,7 @@ public class DeviceFormFactor {
|
||||||
* E.g. http://developer.samsung.com/samsung-dex/testing
|
* E.g. http://developer.samsung.com/samsung-dex/testing
|
||||||
*/
|
*/
|
||||||
public static boolean isNonMultiDisplayContextOnTablet(Context context) {
|
public static boolean isNonMultiDisplayContextOnTablet(Context context) {
|
||||||
+ if (SharedPreferencesManager.getInstance().readBoolean(
|
+ if (mForceTabletUI) return true;
|
||||||
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, false))
|
|
||||||
+ return true;
|
|
||||||
return detectScreenWidthBucket(context) >= SCREEN_BUCKET_TABLET;
|
return detectScreenWidthBucket(context) >= SCREEN_BUCKET_TABLET;
|
||||||
}
|
}
|
||||||
|
|
||||||
--
|
--
|
||||||
2.25.1
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||||||
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||||
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
||||||
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
|
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||||
@@ -55,6 +55,11 @@ found in the LICENSE file.
|
@@ -71,6 +71,11 @@ found in the LICENSE file.
|
||||||
android:title="@string/incognito_settings_title"
|
android:title="@string/incognito_settings_title"
|
||||||
android:summary="@string/incognito_settings_summary"
|
android:summary="@string/incognito_settings_summary"
|
||||||
android:fragment="org.chromium.chrome.browser.privacy.settings.IncognitoSettings"/>
|
android:fragment="org.chromium.chrome.browser.privacy.settings.IncognitoSettings"/>
|
||||||
@@ -22,13 +22,13 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
|
|||||||
+ android:title="@string/close_tabs_on_exit_title"
|
+ android:title="@string/close_tabs_on_exit_title"
|
||||||
+ android:summary="@string/close_tabs_on_exit_summary"
|
+ android:summary="@string/close_tabs_on_exit_summary"
|
||||||
+ android:defaultValue="false" />
|
+ android:defaultValue="false" />
|
||||||
<Preference
|
<PreferenceCategory
|
||||||
android:fragment="org.chromium.chrome.browser.privacy.settings.DoNotTrackSettings"
|
android:key="services_category"
|
||||||
android:key="do_not_track"
|
android:title="@string/services_category_title">
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||||
@@ -38,6 +38,7 @@ import org.chromium.base.BuildInfo;
|
@@ -41,6 +41,7 @@ import org.chromium.base.BuildInfo;
|
||||||
import org.chromium.base.Callback;
|
import org.chromium.base.Callback;
|
||||||
import org.chromium.base.CallbackController;
|
import org.chromium.base.CallbackController;
|
||||||
import org.chromium.base.CommandLine;
|
import org.chromium.base.CommandLine;
|
||||||
@@ -36,7 +36,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
|||||||
import org.chromium.base.IntentUtils;
|
import org.chromium.base.IntentUtils;
|
||||||
import org.chromium.base.Log;
|
import org.chromium.base.Log;
|
||||||
import org.chromium.base.MemoryPressureListener;
|
import org.chromium.base.MemoryPressureListener;
|
||||||
@@ -1283,8 +1284,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
@@ -1614,8 +1615,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||||
boolean hadCipherData =
|
boolean hadCipherData =
|
||||||
CipherFactory.getInstance().restoreFromBundle(getSavedInstanceState());
|
CipherFactory.getInstance().restoreFromBundle(getSavedInstanceState());
|
||||||
|
|
||||||
@@ -45,8 +45,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
|||||||
- CommandLine.getInstance().hasSwitch(ChromeSwitches.NO_RESTORE_STATE);
|
- CommandLine.getInstance().hasSwitch(ChromeSwitches.NO_RESTORE_STATE);
|
||||||
+ CommandLine.getInstance().hasSwitch(ChromeSwitches.NO_RESTORE_STATE) ||
|
+ CommandLine.getInstance().hasSwitch(ChromeSwitches.NO_RESTORE_STATE) ||
|
||||||
+ ContextUtils.getAppSharedPreferences().getBoolean(PREF_CLOSE_TABS_ON_EXIT, false);
|
+ ContextUtils.getAppSharedPreferences().getBoolean(PREF_CLOSE_TABS_ON_EXIT, false);
|
||||||
boolean shouldShowHomeSurfaceAtStartupOnTablet = false;
|
boolean shouldShowNtpAsHomeSurfaceAtStartup = false;
|
||||||
final AtomicBoolean isActiveUrlNTP = new AtomicBoolean(false);
|
final AtomicBoolean isActiveUrlNtp = new AtomicBoolean(false);
|
||||||
if (noRestoreState) {
|
if (noRestoreState) {
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||||
@@ -59,7 +59,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.text.SpannableString;
|
import android.text.SpannableString;
|
||||||
import android.text.style.ForegroundColorSpan;
|
import android.text.style.ForegroundColorSpan;
|
||||||
@@ -21,6 +22,8 @@ import androidx.preference.PreferenceFragmentCompat;
|
@@ -20,6 +21,8 @@ import androidx.preference.Preference;
|
||||||
|
|
||||||
import org.chromium.base.metrics.RecordHistogram;
|
import org.chromium.base.metrics.RecordHistogram;
|
||||||
import org.chromium.base.metrics.RecordUserAction;
|
import org.chromium.base.metrics.RecordUserAction;
|
||||||
@@ -67,17 +67,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||||||
+import org.chromium.base.BuildInfo;
|
+import org.chromium.base.BuildInfo;
|
||||||
import org.chromium.chrome.R;
|
import org.chromium.chrome.R;
|
||||||
import org.chromium.chrome.browser.enterprise.util.ManagedBrowserUtils;
|
import org.chromium.chrome.browser.enterprise.util.ManagedBrowserUtils;
|
||||||
import org.chromium.chrome.browser.feedback.FragmentHelpAndFeedbackLauncher;
|
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||||
@@ -92,6 +95,8 @@ public class PrivacySettings extends PreferenceFragmentCompat
|
@@ -87,6 +90,8 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||||
private final SharedPreferencesManager mSharedPreferencesManager =
|
private final SharedPreferencesManager mSharedPreferencesManager =
|
||||||
SharedPreferencesManager.getInstance();
|
ChromeSharedPreferences.getInstance();
|
||||||
|
|
||||||
+ private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
|
+ private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
|
||||||
+
|
+
|
||||||
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
|
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
|
||||||
private IncognitoLockSettings mIncognitoLockSettings;
|
private IncognitoLockSettings mIncognitoLockSettings;
|
||||||
private HelpAndFeedbackLauncher mHelpAndFeedbackLauncher;
|
|
||||||
@@ -247,7 +252,11 @@ public class PrivacySettings extends PreferenceFragmentCompat
|
@@ -271,7 +276,11 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
String key = preference.getKey();
|
String key = preference.getKey();
|
||||||
@@ -87,10 +87,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||||||
+ sharedPreferencesEditor.putBoolean(PREF_CLOSE_TABS_ON_EXIT, (boolean)newValue);
|
+ sharedPreferencesEditor.putBoolean(PREF_CLOSE_TABS_ON_EXIT, (boolean)newValue);
|
||||||
+ sharedPreferencesEditor.apply();
|
+ sharedPreferencesEditor.apply();
|
||||||
+ } else if (PREF_CAN_MAKE_PAYMENT.equals(key)) {
|
+ } else if (PREF_CAN_MAKE_PAYMENT.equals(key)) {
|
||||||
UserPrefs.get(mProfile).setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
|
UserPrefs.get(getProfile())
|
||||||
|
.setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
|
||||||
} else if (PREF_HTTPS_FIRST_MODE.equals(key)) {
|
} else if (PREF_HTTPS_FIRST_MODE.equals(key)) {
|
||||||
UserPrefs.get(mProfile).setBoolean(Pref.HTTPS_ONLY_MODE_ENABLED, (boolean) newValue);
|
@@ -316,6 +325,11 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||||
@@ -290,6 +299,11 @@ public class PrivacySettings extends PreferenceFragmentCompat
|
|
||||||
PreloadPagesSettingsFragment.getPreloadPagesSummaryString(getContext()));
|
PreloadPagesSettingsFragment.getPreloadPagesSummaryString(getContext()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -105,7 +105,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
@@ -4653,6 +4653,12 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
@@ -4805,6 +4805,12 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>clear the Chrome da
|
||||||
<message name="IDS_CONTEXTMENU_IMAGE_TITLE" desc="The title of a context menu tab when the item pressed contains more than one type. This indicates that all the actions are related to the image.">
|
<message name="IDS_CONTEXTMENU_IMAGE_TITLE" desc="The title of a context menu tab when the item pressed contains more than one type. This indicates that all the actions are related to the image.">
|
||||||
IMAGE
|
IMAGE
|
||||||
</message>
|
</message>
|
||||||
@@ -119,4 +119,3 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
|||||||
LINK
|
LINK
|
||||||
</message>
|
</message>
|
||||||
--
|
--
|
||||||
2.25.1
|
|
||||||
|
|||||||
@@ -6,19 +6,85 @@ And allow use about:blank as default homepage
|
|||||||
|
|
||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
---
|
---
|
||||||
|
.../tab_management/TabGridDialogMediator.java | 9 ++++++++-
|
||||||
|
.../tasks/tab_management/TabGroupUiMediator.java | 8 +++++++-
|
||||||
.../java/res/xml/homepage_preferences.xml | 5 +++++
|
.../java/res/xml/homepage_preferences.xml | 5 +++++
|
||||||
.../chrome/browser/homepage/HomepageManager.java | 16 ++++++++++++++++
|
.../chrome/browser/homepage/HomepageManager.java | 16 ++++++++++++++++
|
||||||
.../homepage/settings/HomepageSettings.java | 12 ++++++++++++
|
.../homepage/settings/HomepageSettings.java | 12 ++++++++++++
|
||||||
.../chrome/browser/metrics/LaunchMetrics.java | 1 -
|
.../chrome/browser/metrics/LaunchMetrics.java | 1 -
|
||||||
.../browser/tabmodel/ChromeTabCreator.java | 7 +++++++
|
.../browser/tabmodel/ChromeTabCreator.java | 8 ++++++++
|
||||||
.../preferences/ChromePreferenceKeys.java | 1 +
|
.../preferences/ChromePreferenceKeys.java | 1 +
|
||||||
.../preferences/LegacyChromePreferenceKeys.java | 1 +
|
.../preferences/LegacyChromePreferenceKeys.java | 1 +
|
||||||
.../android/strings/android_chrome_strings.grd | 3 +++
|
.../android/strings/android_chrome_strings.grd | 3 +++
|
||||||
chrome/browser/ui/browser_ui_prefs.cc | 2 ++
|
chrome/browser/ui/browser_ui_prefs.cc | 2 ++
|
||||||
chrome/common/pref_names.cc | 4 ++++
|
chrome/common/pref_names.h | 4 ++++
|
||||||
chrome/common/pref_names.h | 1 +
|
12 files changed, 67 insertions(+), 3 deletions(-)
|
||||||
11 files changed, 52 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
|
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
|
||||||
|
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
|
||||||
|
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
|
||||||
|
@@ -22,6 +22,7 @@ import org.chromium.base.supplier.ObservableSupplier;
|
||||||
|
import org.chromium.base.supplier.Supplier;
|
||||||
|
import org.chromium.base.task.PostTask;
|
||||||
|
import org.chromium.base.task.TaskTraits;
|
||||||
|
+import org.chromium.chrome.browser.homepage.HomepageManager;
|
||||||
|
import org.chromium.chrome.browser.tab.Tab;
|
||||||
|
import org.chromium.chrome.browser.tab.TabCreationState;
|
||||||
|
import org.chromium.chrome.browser.tab.TabLaunchType;
|
||||||
|
@@ -47,6 +48,7 @@ import org.chromium.ui.KeyboardVisibilityDelegate;
|
||||||
|
import org.chromium.ui.base.DeviceFormFactor;
|
||||||
|
import org.chromium.ui.modelutil.PropertyModel;
|
||||||
|
import org.chromium.ui.text.EmptyTextWatcher;
|
||||||
|
+import org.chromium.url.GURL;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
@@ -636,11 +638,16 @@ public class TabGridDialogMediator
|
||||||
|
|
||||||
|
assert relatedTabs.size() > 0;
|
||||||
|
|
||||||
|
+ String url = UrlConstants.NTP_URL;
|
||||||
|
+ if (HomepageManager.getInstance().getPrefNTPIsHomepageEnabled()) {
|
||||||
|
+ GURL gurl = HomepageManager.getInstance().getHomepageGurl();
|
||||||
|
+ url = gurl != null ? gurl.getSpec() : url;
|
||||||
|
+ }
|
||||||
|
Tab parentTabToAttach = relatedTabs.get(relatedTabs.size() - 1);
|
||||||
|
mTabCreatorManager
|
||||||
|
.getTabCreator(currentTab.isIncognito())
|
||||||
|
.createNewTab(
|
||||||
|
- new LoadUrlParams(UrlConstants.NTP_URL),
|
||||||
|
+ new LoadUrlParams(url),
|
||||||
|
TabLaunchType.FROM_TAB_GROUP_UI,
|
||||||
|
parentTabToAttach);
|
||||||
|
RecordUserAction.record("MobileNewTabOpened." + mComponentName);
|
||||||
|
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java
|
||||||
|
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java
|
||||||
|
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java
|
||||||
|
@@ -18,6 +18,7 @@ import org.chromium.base.supplier.LazyOneshotSupplier;
|
||||||
|
import org.chromium.base.supplier.ObservableSupplier;
|
||||||
|
import org.chromium.base.supplier.ObservableSupplierImpl;
|
||||||
|
import org.chromium.base.supplier.OneshotSupplier;
|
||||||
|
+import org.chromium.chrome.browser.homepage.HomepageManager;
|
||||||
|
import org.chromium.chrome.browser.layouts.LayoutStateProvider;
|
||||||
|
import org.chromium.chrome.browser.layouts.LayoutStateProvider.LayoutStateObserver;
|
||||||
|
import org.chromium.chrome.browser.layouts.LayoutType;
|
||||||
|
@@ -375,10 +376,15 @@ public class TabGroupUiMediator implements BackPressHandler {
|
||||||
|
assert relatedTabs.size() > 0;
|
||||||
|
|
||||||
|
parentTabToAttach = relatedTabs.get(relatedTabs.size() - 1);
|
||||||
|
+ String url = UrlConstants.NTP_URL;
|
||||||
|
+ if (HomepageManager.getInstance().getPrefNTPIsHomepageEnabled()) {
|
||||||
|
+ GURL gurl = HomepageManager.getInstance().getHomepageGurl();
|
||||||
|
+ url = gurl != null ? gurl.getSpec() : url;
|
||||||
|
+ }
|
||||||
|
mTabCreatorManager
|
||||||
|
.getTabCreator(currentTab.isIncognito())
|
||||||
|
.createNewTab(
|
||||||
|
- new LoadUrlParams(UrlConstants.NTP_URL),
|
||||||
|
+ new LoadUrlParams(url),
|
||||||
|
TabLaunchType.FROM_TAB_GROUP_UI,
|
||||||
|
parentTabToAttach);
|
||||||
|
RecordUserAction.record(
|
||||||
diff --git a/chrome/android/java/res/xml/homepage_preferences.xml b/chrome/android/java/res/xml/homepage_preferences.xml
|
diff --git a/chrome/android/java/res/xml/homepage_preferences.xml b/chrome/android/java/res/xml/homepage_preferences.xml
|
||||||
--- a/chrome/android/java/res/xml/homepage_preferences.xml
|
--- a/chrome/android/java/res/xml/homepage_preferences.xml
|
||||||
+++ b/chrome/android/java/res/xml/homepage_preferences.xml
|
+++ b/chrome/android/java/res/xml/homepage_preferences.xml
|
||||||
@@ -37,7 +103,7 @@ diff --git a/chrome/android/java/res/xml/homepage_preferences.xml b/chrome/andro
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
|
||||||
@@ -227,6 +227,22 @@ public class HomepageManager implements HomepagePolicyManager.HomepagePolicyStat
|
@@ -233,6 +233,22 @@ public class HomepageManager
|
||||||
notifyHomepageUpdated();
|
notifyHomepageUpdated();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -58,30 +124,30 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/Homepa
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
/**
|
/**
|
||||||
* @return User specified homepage custom URI string.
|
* @return User specified homepage custom GURL.
|
||||||
*/
|
*/
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java
|
||||||
@@ -22,6 +22,7 @@ import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
|
@@ -22,6 +22,7 @@ import org.chromium.components.browser_ui.settings.SettingsUtils;
|
||||||
import org.chromium.components.browser_ui.settings.SettingsUtils;
|
|
||||||
import org.chromium.components.embedder_support.util.UrlUtilities;
|
import org.chromium.components.embedder_support.util.UrlUtilities;
|
||||||
import org.chromium.components.url_formatter.UrlFormatter;
|
import org.chromium.components.url_formatter.UrlFormatter;
|
||||||
|
import org.chromium.url.GURL;
|
||||||
+import org.chromium.components.embedder_support.util.UrlConstants;
|
+import org.chromium.components.embedder_support.util.UrlConstants;
|
||||||
|
|
||||||
/**
|
/** Fragment that allows the user to configure homepage related preferences. */
|
||||||
* Fragment that allows the user to configure homepage related preferences.
|
public class HomepageSettings extends ChromeBaseSettingsFragment {
|
||||||
@@ -32,6 +33,8 @@ public class HomepageSettings extends PreferenceFragmentCompat {
|
@@ -30,6 +31,8 @@ public class HomepageSettings extends ChromeBaseSettingsFragment {
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
public static final String PREF_HOMEPAGE_RADIO_GROUP = "homepage_radio_group";
|
public static final String PREF_HOMEPAGE_RADIO_GROUP = "homepage_radio_group";
|
||||||
|
|
||||||
+ private static final String PREF_NTP_HOMEPAGE_SWITCH = "ntp_is_homepage_switch";
|
+ private static final String PREF_NTP_HOMEPAGE_SWITCH = "ntp_is_homepage_switch";
|
||||||
+
|
+
|
||||||
/**
|
private HomepageManager mHomepageManager;
|
||||||
* Delegate used to mark that the homepage is being managed.
|
private RadioButtonGroupHomepagePreference mRadioButtons;
|
||||||
* Created for {@link org.chromium.chrome.browser.settings.HomepagePreferences}
|
|
||||||
@@ -72,6 +75,15 @@ public class HomepageSettings extends PreferenceFragmentCompat {
|
@@ -64,6 +67,15 @@ public class HomepageSettings extends ChromeBaseSettingsFragment {
|
||||||
});
|
});
|
||||||
mRadioButtons.setupPreferenceValues(createPreferenceValuesForRadioGroup());
|
mRadioButtons.setupPreferenceValues(createPreferenceValuesForRadioGroup());
|
||||||
|
|
||||||
+ ChromeSwitchPreference mNTPIsHomepageSwitch =
|
+ ChromeSwitchPreference mNTPIsHomepageSwitch =
|
||||||
@@ -99,32 +165,33 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settin
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java b/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java b/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java
|
||||||
@@ -103,7 +103,6 @@ public class LaunchMetrics {
|
@@ -112,7 +112,6 @@ public class LaunchMetrics {
|
||||||
boolean showHomeButton, boolean homepageIsNtp, String homepageUrl) {
|
public static void recordHomePageLaunchMetrics(
|
||||||
if (homepageUrl == null) {
|
boolean showHomeButton, boolean homepageIsNtp, GURL homepageGurl) {
|
||||||
homepageUrl = "";
|
if (homepageGurl.isEmpty()) {
|
||||||
- assert !showHomeButton : "Homepage should be disabled for a null URL";
|
- assert !showHomeButton : "Homepage should be disabled for an empty GURL";
|
||||||
}
|
}
|
||||||
LaunchMetricsJni.get().recordHomePageLaunchMetrics(
|
LaunchMetricsJni.get()
|
||||||
showHomeButton, homepageIsNtp, homepageUrl);
|
.recordHomePageLaunchMetrics(showHomeButton, homepageIsNtp, homepageGurl);
|
||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
|
||||||
@@ -26,6 +26,7 @@ import org.chromium.chrome.browser.app.tab_activity_glue.ReparentingTask;
|
@@ -24,6 +24,7 @@ import org.chromium.chrome.browser.app.tab_activity_glue.ReparentingTask;
|
||||||
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
|
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
|
||||||
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||||
import org.chromium.chrome.browser.incognito.IncognitoUtils;
|
import org.chromium.chrome.browser.new_tab_url.DseNewTabUrlManager;
|
||||||
+import org.chromium.chrome.browser.homepage.HomepageManager;
|
+import org.chromium.chrome.browser.homepage.HomepageManager;
|
||||||
import org.chromium.chrome.browser.ntp.NewTabPageLaunchOrigin;
|
import org.chromium.chrome.browser.ntp.NewTabPageLaunchOrigin;
|
||||||
import org.chromium.chrome.browser.ntp.NewTabPageUtils;
|
import org.chromium.chrome.browser.ntp.NewTabPageUtils;
|
||||||
import org.chromium.chrome.browser.prefetch.settings.PreloadPagesSettingsBridge;
|
import org.chromium.chrome.browser.prefetch.settings.PreloadPagesSettingsBridge;
|
||||||
@@ -472,6 +473,12 @@ public class ChromeTabCreator extends TabCreator {
|
@@ -484,6 +485,13 @@ public class ChromeTabCreator extends TabCreator {
|
||||||
* @return the created tab.
|
* @return the created tab.
|
||||||
*/
|
*/
|
||||||
public Tab launchUrl(String url, @TabLaunchType int type, Intent intent, long intentTimestamp) {
|
public Tab launchUrl(String url, @TabLaunchType int type, Intent intent, long intentTimestamp) {
|
||||||
+ if (!mIncognito && url.equals(UrlConstants.NTP_URL)) {
|
+ if (!mIncognito && url.equals(UrlConstants.NTP_URL)) {
|
||||||
+ if (HomepageManager.getInstance().getPrefNTPIsHomepageEnabled()) {
|
+ if (HomepageManager.getInstance().getPrefNTPIsHomepageEnabled()) {
|
||||||
+ url = HomepageManager.getInstance().getHomepageUri();
|
+ GURL gurl = HomepageManager.getInstance().getHomepageGurl();
|
||||||
|
+ url = gurl != null ? gurl.getSpec() : url;
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
@@ -134,19 +201,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
|
|||||||
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||||
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||||
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||||
@@ -397,6 +397,7 @@ public final class ChromePreferenceKeys {
|
@@ -283,6 +283,7 @@ public final class ChromePreferenceKeys {
|
||||||
public static final String HOMEPAGE_PARTNER_CUSTOMIZED_DEFAULT_GURL =
|
public static final String HOMEPAGE_USE_CHROME_NTP = "Chrome.Homepage.UseNTP";
|
||||||
"Chrome.Homepage.PartnerCustomizedDefaultGurl";
|
public static final String HOMEPAGE_USE_DEFAULT_URI = "homepage_partner_enabled";
|
||||||
|
|
||||||
+ public static final String HOMEPAGE_NTP_IS_HOMEPAGE = "newtabpage_is_homepage";
|
+ public static final String HOMEPAGE_NTP_IS_HOMEPAGE = "newtabpage_is_homepage";
|
||||||
/**
|
/** Key used to save homepage location set by enterprise policy */
|
||||||
* Key used to save homepage location set by enterprise policy
|
public static final String DEPRECATED_HOMEPAGE_LOCATION_POLICY =
|
||||||
*/
|
"Chrome.Policy.HomepageLocation";
|
||||||
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
|
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
|
||||||
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
|
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
|
||||||
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
|
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
|
||||||
@@ -70,6 +70,7 @@ public class LegacyChromePreferenceKeys {
|
@@ -62,6 +62,7 @@ public class LegacyChromePreferenceKeys {
|
||||||
ChromePreferenceKeys.HOMEPAGE_CUSTOM_URI,
|
ChromePreferenceKeys.HISTORY_SHOW_HISTORY_INFO,
|
||||||
ChromePreferenceKeys.HOMEPAGE_ENABLED,
|
ChromePreferenceKeys.HOMEPAGE_ENABLED,
|
||||||
ChromePreferenceKeys.HOMEPAGE_USE_DEFAULT_URI,
|
ChromePreferenceKeys.HOMEPAGE_USE_DEFAULT_URI,
|
||||||
+ ChromePreferenceKeys.HOMEPAGE_NTP_IS_HOMEPAGE,
|
+ ChromePreferenceKeys.HOMEPAGE_NTP_IS_HOMEPAGE,
|
||||||
@@ -156,7 +223,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
|||||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
@@ -1487,6 +1487,9 @@ Your Google account may have other forms of browsing history like searches and a
|
@@ -1337,6 +1337,9 @@ Your Google account may have other forms of browsing history like searches and a
|
||||||
<message name="IDS_CLEAR_BROWSING_DATA_TAB_PERIOD_HOUR" desc="The option to delete browsing data from the last hour.">
|
<message name="IDS_CLEAR_BROWSING_DATA_TAB_PERIOD_HOUR" desc="The option to delete browsing data from the last hour.">
|
||||||
Last hour
|
Last hour
|
||||||
</message>
|
</message>
|
||||||
@@ -169,39 +236,27 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
|||||||
diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
|
diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
|
||||||
--- a/chrome/browser/ui/browser_ui_prefs.cc
|
--- a/chrome/browser/ui/browser_ui_prefs.cc
|
||||||
+++ b/chrome/browser/ui/browser_ui_prefs.cc
|
+++ b/chrome/browser/ui/browser_ui_prefs.cc
|
||||||
@@ -65,6 +65,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
|
@@ -73,6 +73,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||||
GetHomeButtonAndHomePageIsNewTabPageFlags());
|
GetHomeButtonAndHomePageIsNewTabPageFlags());
|
||||||
registry->RegisterBooleanPref(prefs::kShowHomeButton, false,
|
registry->RegisterBooleanPref(prefs::kShowHomeButton, false,
|
||||||
GetHomeButtonAndHomePageIsNewTabPageFlags());
|
GetHomeButtonAndHomePageIsNewTabPageFlags());
|
||||||
+ registry->RegisterBooleanPref(prefs::kNewTabPageIsHomePage, false,
|
+ registry->RegisterBooleanPref(prefs::kNewTabPageIsHomePage, false,
|
||||||
+ GetHomeButtonAndHomePageIsNewTabPageFlags());
|
+ PrefRegistry::NO_REGISTRATION_FLAGS);
|
||||||
|
|
||||||
registry->RegisterInt64Pref(prefs::kDefaultBrowserLastDeclined, 0);
|
registry->RegisterInt64Pref(prefs::kDefaultBrowserLastDeclined, 0);
|
||||||
bool reset_check_default = false;
|
bool reset_check_default = false;
|
||||||
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
|
|
||||||
@@ -82,6 +82,10 @@ const char kForceEphemeralProfiles[] = "profile.ephemeral_mode";
|
|
||||||
// A boolean specifying whether the New Tab page is the home page or not.
|
|
||||||
const char kHomePageIsNewTabPage[] = "homepage_is_newtabpage";
|
|
||||||
|
|
||||||
+// A boolean specifying whether opening a new tab should open the Home page
|
|
||||||
+// instead of the New Tab page.
|
|
||||||
+const char kNewTabPageIsHomePage[] = "newtabpage_is_homepage";
|
|
||||||
+
|
|
||||||
// This is the URL of the page to load when opening new tabs.
|
|
||||||
const char kHomePage[] = "homepage";
|
|
||||||
|
|
||||||
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
|
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
|
||||||
--- a/chrome/common/pref_names.h
|
--- a/chrome/common/pref_names.h
|
||||||
+++ b/chrome/common/pref_names.h
|
+++ b/chrome/common/pref_names.h
|
||||||
@@ -372,6 +372,7 @@ extern const char kRestrictedManagedGuestSessionExtensionCleanupExemptList[];
|
@@ -1285,6 +1285,10 @@ inline constexpr char kUsedPolicyCertificates[] =
|
||||||
extern const char kUsedPolicyCertificates[];
|
// visible on the toolbar.
|
||||||
#endif // BUILDFLAG(IS_CHROMEOS)
|
inline constexpr char kShowHomeButton[] = "browser.show_home_button";
|
||||||
extern const char kShowHomeButton[];
|
|
||||||
+extern const char kNewTabPageIsHomePage[];
|
+// A boolean specifying whether opening a new tab should open the Home page
|
||||||
extern const char kSpeechRecognitionFilterProfanities[];
|
+// instead of the New Tab page.
|
||||||
extern const char kAllowedDomainsForApps[];
|
+inline constexpr char kNewTabPageIsHomePage[] = "newtabpage_is_homepage";
|
||||||
#if BUILDFLAG(IS_CHROMEOS_LACROS)
|
+
|
||||||
|
// Boolean pref to define the default setting for "block offensive words".
|
||||||
|
// The old key value is kept to avoid unnecessary migration code.
|
||||||
|
inline constexpr char kSpeechRecognitionFilterProfanities[] =
|
||||||
--
|
--
|
||||||
2.25.1
|
|
||||||
|
|||||||
@@ -0,0 +1,103 @@
|
|||||||
|
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||||
|
Date: Mon, 11 Dec 2017 22:42:11 +0100
|
||||||
|
Subject: Add search engine
|
||||||
|
|
||||||
|
Add a Google search engine that forces languages to English,
|
||||||
|
disable from all its searches RLZ and field experiments querystring parameters.
|
||||||
|
Add DuckDuckGo Lite
|
||||||
|
|
||||||
|
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||||
|
---
|
||||||
|
.../search_engines/prepopulated_engines.json | 31 +++++++++++++++++++
|
||||||
|
.../search_engines/search_engine_type.h | 5 +++
|
||||||
|
.../template_url_prepopulate_data.cc | 3 ++
|
||||||
|
3 files changed, 39 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/components/search_engines/prepopulated_engines.json b/components/search_engines/prepopulated_engines.json
|
||||||
|
--- a/components/search_engines/prepopulated_engines.json
|
||||||
|
+++ b/components/search_engines/prepopulated_engines.json
|
||||||
|
@@ -113,6 +113,16 @@
|
||||||
|
"id": 92
|
||||||
|
},
|
||||||
|
|
||||||
|
+ "duckduckgo_light": {
|
||||||
|
+ "name": "DuckDuckGo Light",
|
||||||
|
+ "keyword": "duckduckgo.com/lite",
|
||||||
|
+ "favicon_url": "https://duckduckgo.com/favicon.ico",
|
||||||
|
+ "search_url": "https://duckduckgo.com/lite/?q={searchTerms}",
|
||||||
|
+ "suggest_url": "https://duckduckgo.com/ac/?q={searchTerms}&type=list",
|
||||||
|
+ "type": "SEARCH_ENGINE_DUCKDUCKGOLIGHT",
|
||||||
|
+ "id": 12
|
||||||
|
+ },
|
||||||
|
+
|
||||||
|
"ecosia": {
|
||||||
|
"name": "Ecosia",
|
||||||
|
"keyword": "ecosia.org",
|
||||||
|
@@ -171,6 +181,27 @@
|
||||||
|
"id": 111
|
||||||
|
},
|
||||||
|
|
||||||
|
+ "googleen": {
|
||||||
|
+ "name": "Google in English",
|
||||||
|
+ "keyword": "googleen",
|
||||||
|
+ "favicon_url": "https://www.google.com/favicon.ico",
|
||||||
|
+ "search_url": "{google:baseURL}search?q={searchTerms}&ie={inputEncoding}&hl=en",
|
||||||
|
+ "suggest_url": "{google:baseSuggestURL}search?client={google:suggestClient}&q={searchTerms}&hl=en",
|
||||||
|
+ "image_url": "{google:baseURL}searchbyimage/upload?hl=en",
|
||||||
|
+ "new_tab_url": "{google:baseURL}_/chrome/newtab?hl=en&ie={inputEncoding}",
|
||||||
|
+ "contextual_search_url": "{google:baseURL}_/contextualsearch?{google:contextualSearchVersion}{google:contextualSearchContextData}&hl=en",
|
||||||
|
+ "image_url_post_params": "encoded_image={google:imageThumbnail},image_url={google:imageURL},sbisrc={google:imageSearchSource},original_width={google:imageOriginalWidth},original_height={google:imageOriginalHeight}",
|
||||||
|
+ "alternate_urls": [
|
||||||
|
+ "{google:baseURL}?hl=en#q={searchTerms}",
|
||||||
|
+ "{google:baseURL}search?hl=en#q={searchTerms}",
|
||||||
|
+ "{google:baseURL}webhp?hl=en#q={searchTerms}",
|
||||||
|
+ "{google:baseURL}s?hl=en#q={searchTerms}",
|
||||||
|
+ "{google:baseURL}s?hl=en&q={searchTerms}"
|
||||||
|
+ ],
|
||||||
|
+ "type": "SEARCH_ENGINE_GOOGLE_EN",
|
||||||
|
+ "id": 13
|
||||||
|
+ },
|
||||||
|
+
|
||||||
|
"mail_ru": {
|
||||||
|
"name": "@MAIL.RU",
|
||||||
|
"keyword": "mail.ru",
|
||||||
|
diff --git a/components/search_engines/search_engine_type.h b/components/search_engines/search_engine_type.h
|
||||||
|
--- a/components/search_engines/search_engine_type.h
|
||||||
|
+++ b/components/search_engines/search_engine_type.h
|
||||||
|
@@ -90,10 +90,15 @@ enum SearchEngineType {
|
||||||
|
SEARCH_ENGINE_KARMA = 71,
|
||||||
|
SEARCH_ENGINE_YOU = 72,
|
||||||
|
SEARCH_ENGINE_STARTER_PACK_ASK_GOOGLE = 73,
|
||||||
|
+ SEARCH_ENGINE_GOOGLE_EN = 74,
|
||||||
|
+ SEARCH_ENGINE_DUCKDUCKGOLIGHT = 75,
|
||||||
|
|
||||||
|
SEARCH_ENGINE_MAX // Bounding value needed for UMA histogram macro.
|
||||||
|
};
|
||||||
|
|
||||||
|
+static_assert(SEARCH_ENGINE_DUCKDUCKGOLIGHT == (SEARCH_ENGINE_MAX - 1),
|
||||||
|
+ "Please check this patch");
|
||||||
|
+
|
||||||
|
// Enum to record the type of search engine a user used in keyword mode. This
|
||||||
|
// should be kept aligned with the `OmniboxBuiltinEngineType` enum in enums.xml.
|
||||||
|
// Entries should not be renumbered and numeric values should never be reused.
|
||||||
|
diff --git a/components/search_engines/template_url_prepopulate_data.cc b/components/search_engines/template_url_prepopulate_data.cc
|
||||||
|
--- a/components/search_engines/template_url_prepopulate_data.cc
|
||||||
|
+++ b/components/search_engines/template_url_prepopulate_data.cc
|
||||||
|
@@ -63,6 +63,7 @@ struct EngineAndTier {
|
||||||
|
|
||||||
|
// Default (for countries with no better engine set)
|
||||||
|
constexpr EngineAndTier engines_default[] = {
|
||||||
|
+ {SearchEngineTier::kTopEngines, &googleen},
|
||||||
|
{SearchEngineTier::kTopEngines, &google},
|
||||||
|
{SearchEngineTier::kTopEngines, &bing},
|
||||||
|
{SearchEngineTier::kTopEngines, &yahoo},
|
||||||
|
@@ -1683,6 +1684,8 @@ const std::vector<EngineAndTier> GetPrepopulationSetFromCountryID(
|
||||||
|
for (size_t i = 0; i < num_engines; i++) {
|
||||||
|
t_url.push_back(engines[i]);
|
||||||
|
}
|
||||||
|
+ t_url.push_back({SearchEngineTier::kTopEngines, &googleen});
|
||||||
|
+ t_url.push_back({SearchEngineTier::kTopEngines, &duckduckgo_light});
|
||||||
|
return t_url;
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
+146
-124
@@ -2,6 +2,7 @@ From: uazo <uazo@users.noreply.github.com>
|
|||||||
Date: Thu, 16 Feb 2023 15:28:16 +0000
|
Date: Thu, 16 Feb 2023 15:28:16 +0000
|
||||||
Subject: Add setting to clear data on exit
|
Subject: Add setting to clear data on exit
|
||||||
|
|
||||||
|
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||||
---
|
---
|
||||||
chrome/android/chrome_java_sources.gni | 1 +
|
chrome/android/chrome_java_sources.gni | 1 +
|
||||||
.../chrome/browser/ChromeTabbedActivity.java | 7 +-
|
.../chrome/browser/ChromeTabbedActivity.java | 7 +-
|
||||||
@@ -15,25 +16,26 @@ Subject: Add setting to clear data on exit
|
|||||||
.../api/settings_private/prefs_util.cc | 17 +++++
|
.../api/settings_private/prefs_util.cc | 17 +++++
|
||||||
.../browser/profiles/ProfileManagerUtils.java | 5 ++
|
.../browser/profiles/ProfileManagerUtils.java | 5 ++
|
||||||
.../profiles/android/profile_manager_utils.cc | 5 ++
|
.../profiles/android/profile_manager_utils.cc | 5 ++
|
||||||
chrome/browser/profiles/profile_manager.cc | 13 ++++
|
chrome/browser/profiles/profile_manager.cc | 15 +++-
|
||||||
chrome/browser/profiles/profile_manager.h | 2 +
|
chrome/browser/profiles/profile_manager.h | 2 +
|
||||||
.../clear_browsing_data_dialog.html | 44 +++++++++++
|
.../clear_browsing_data_dialog.html | 44 +++++++++++
|
||||||
.../clear_browsing_data_dialog.ts | 1 +
|
.../clear_browsing_data_dialog.ts | 2 +
|
||||||
.../strings/android_chrome_strings.grd | 3 +
|
.../strings/android_chrome_strings.grd | 3 +
|
||||||
.../settings_localized_strings_provider.cc | 1 +
|
.../settings_localized_strings_provider.cc | 1 +
|
||||||
.../core/browsing_data_policies_utils.cc | 16 ++--
|
.../core/browsing_data_policies_utils.cc | 20 ++---
|
||||||
.../core/browsing_data_policies_utils.h | 11 +++
|
.../core/browsing_data_policies_utils.h | 11 +++
|
||||||
.../browsing_data/core/browsing_data_utils.cc | 34 +++++++++
|
.../browsing_data/core/browsing_data_utils.cc | 34 +++++++++
|
||||||
.../core/clear_browsing_data_tab.h | 2 +-
|
.../core/clear_browsing_data_tab.h | 2 +-
|
||||||
components/browsing_data/core/pref_names.cc | 27 +++++++
|
components/browsing_data/core/pref_names.cc | 17 +++++
|
||||||
components/browsing_data/core/pref_names.h | 9 +++
|
components/browsing_data/core/pref_names.h | 10 +++
|
||||||
24 files changed, 316 insertions(+), 14 deletions(-)
|
content/browser/storage_partition_impl.cc | 1 +
|
||||||
|
25 files changed, 312 insertions(+), 17 deletions(-)
|
||||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentAtStart.java
|
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentAtStart.java
|
||||||
|
|
||||||
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
|
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
|
||||||
--- a/chrome/android/chrome_java_sources.gni
|
--- a/chrome/android/chrome_java_sources.gni
|
||||||
+++ b/chrome/android/chrome_java_sources.gni
|
+++ b/chrome/android/chrome_java_sources.gni
|
||||||
@@ -289,6 +289,7 @@ chrome_java_sources = [
|
@@ -307,6 +307,7 @@ chrome_java_sources = [
|
||||||
"java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentAdvanced.java",
|
"java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentAdvanced.java",
|
||||||
"java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentBasic.java",
|
"java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentBasic.java",
|
||||||
"java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataTabsFragment.java",
|
"java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataTabsFragment.java",
|
||||||
@@ -44,15 +46,15 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||||
@@ -140,6 +140,7 @@ import org.chromium.chrome.browser.profiles.ProfileManager;
|
@@ -169,6 +169,7 @@ import org.chromium.chrome.browser.profiles.ProfileProvider;
|
||||||
import org.chromium.chrome.browser.quick_delete.QuickDeleteController;
|
import org.chromium.chrome.browser.quick_delete.QuickDeleteController;
|
||||||
import org.chromium.chrome.browser.quick_delete.QuickDeleteDelegateImpl;
|
import org.chromium.chrome.browser.quick_delete.QuickDeleteDelegateImpl;
|
||||||
import org.chromium.chrome.browser.quick_delete.QuickDeleteMetricsDelegate;
|
import org.chromium.chrome.browser.quick_delete.QuickDeleteMetricsDelegate;
|
||||||
+import org.chromium.chrome.browser.profiles.ProfileManagerUtils;
|
+import org.chromium.chrome.browser.profiles.ProfileManagerUtils;
|
||||||
import org.chromium.chrome.browser.read_later.ReadingListBackPressHandler;
|
import org.chromium.chrome.browser.read_later.ReadingListBackPressHandler;
|
||||||
import org.chromium.chrome.browser.read_later.ReadingListUtils;
|
|
||||||
import org.chromium.chrome.browser.reengagement.ReengagementNotificationController;
|
import org.chromium.chrome.browser.reengagement.ReengagementNotificationController;
|
||||||
@@ -1283,7 +1284,11 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
import org.chromium.chrome.browser.search_engines.SearchEngineChoiceNotification;
|
||||||
|
@@ -1614,7 +1615,11 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||||
Intent intent = getIntent();
|
Intent intent = getIntent();
|
||||||
|
|
||||||
boolean hadCipherData =
|
boolean hadCipherData =
|
||||||
@@ -68,8 +70,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java
|
||||||
@@ -417,6 +417,10 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat
|
@@ -435,6 +435,10 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat
|
||||||
*/
|
/** Returns whether is a basic or advanced Clear Browsing Data tab. */
|
||||||
protected abstract @ClearBrowsingDataTab int getClearBrowsingDataTabType();
|
protected abstract @ClearBrowsingDataTab int getClearBrowsingDataTabType();
|
||||||
|
|
||||||
+ protected boolean shouldClearBrowsingData() {
|
+ protected boolean shouldClearBrowsingData() {
|
||||||
@@ -77,9 +79,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
/**
|
/**
|
||||||
* Returns the Array of time periods. Options are displayed in the same order as they appear
|
* Decides whether a given dialog option should be selected when the dialog is initialized.
|
||||||
* in the array.
|
*
|
||||||
@@ -515,6 +519,7 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat
|
@@ -514,6 +518,7 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat
|
||||||
* options.
|
* options.
|
||||||
*/
|
*/
|
||||||
private void onClearButtonClicked() {
|
private void onClearButtonClicked() {
|
||||||
@@ -87,7 +89,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
|
|||||||
if (shouldShowImportantSitesDialog()) {
|
if (shouldShowImportantSitesDialog()) {
|
||||||
showImportantDialogThenClear();
|
showImportantDialogThenClear();
|
||||||
return;
|
return;
|
||||||
@@ -548,6 +553,7 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat
|
@@ -546,6 +551,7 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat
|
||||||
Button clearButton = (Button) getView().findViewById(R.id.clear_button);
|
Button clearButton = (Button) getView().findViewById(R.id.clear_button);
|
||||||
boolean isEnabled = !getSelectedOptions().isEmpty();
|
boolean isEnabled = !getSelectedOptions().isEmpty();
|
||||||
clearButton.setEnabled(isEnabled);
|
clearButton.setEnabled(isEnabled);
|
||||||
@@ -177,16 +179,16 @@ new file mode 100644
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataTabsFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataTabsFragment.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataTabsFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataTabsFragment.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataTabsFragment.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataTabsFragment.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataTabsFragment.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataTabsFragment.java
|
||||||
@@ -34,7 +34,7 @@ import org.chromium.components.browser_ui.util.TraceEventVectorDrawableCompat;
|
@@ -29,7 +29,7 @@ import org.chromium.chrome.browser.settings.SettingsActivity;
|
||||||
|
* Fragment with a {@link TabLayout} containing a basic and an advanced version of the CBD dialog.
|
||||||
*/
|
*/
|
||||||
public class ClearBrowsingDataTabsFragment
|
public class ClearBrowsingDataTabsFragment extends Fragment implements ProfileDependentSetting {
|
||||||
extends Fragment implements FragmentHelpAndFeedbackLauncher {
|
|
||||||
- public static final int CBD_TAB_COUNT = 2;
|
- public static final int CBD_TAB_COUNT = 2;
|
||||||
+ public static final int CBD_TAB_COUNT = 3;
|
+ public static final int CBD_TAB_COUNT = 3;
|
||||||
|
|
||||||
|
private Profile mProfile;
|
||||||
private ClearBrowsingDataFetcher mFetcher;
|
private ClearBrowsingDataFetcher mFetcher;
|
||||||
private HelpAndFeedbackLauncher mHelpAndFeedbackLauncher;
|
@@ -93,6 +93,8 @@ public class ClearBrowsingDataTabsFragment extends Fragment implements ProfileDe
|
||||||
@@ -93,6 +93,8 @@ public class ClearBrowsingDataTabsFragment
|
|
||||||
return getActivity().getString(R.string.clear_browsing_data_basic_tab_title);
|
return getActivity().getString(R.string.clear_browsing_data_basic_tab_title);
|
||||||
case 1:
|
case 1:
|
||||||
return getActivity().getString(R.string.prefs_section_advanced);
|
return getActivity().getString(R.string.prefs_section_advanced);
|
||||||
@@ -195,7 +197,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
|
|||||||
default:
|
default:
|
||||||
throw new RuntimeException("invalid position: " + position);
|
throw new RuntimeException("invalid position: " + position);
|
||||||
}
|
}
|
||||||
@@ -130,6 +132,9 @@ public class ClearBrowsingDataTabsFragment
|
@@ -136,6 +138,9 @@ public class ClearBrowsingDataTabsFragment extends Fragment implements ProfileDe
|
||||||
case 1:
|
case 1:
|
||||||
fragment = new ClearBrowsingDataFragmentAdvanced();
|
fragment = new ClearBrowsingDataFragmentAdvanced();
|
||||||
break;
|
break;
|
||||||
@@ -208,11 +210,11 @@ 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
|
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
|
||||||
--- a/chrome/app/settings_strings.grdp
|
--- a/chrome/app/settings_strings.grdp
|
||||||
+++ b/chrome/app/settings_strings.grdp
|
+++ b/chrome/app/settings_strings.grdp
|
||||||
@@ -2730,6 +2730,16 @@
|
@@ -2244,6 +2244,16 @@
|
||||||
<message name="IDS_SETTINGS_CLEAR_BROWSING_DATA" desc="Text for clear browsing data button in Privacy options">
|
<message name="IDS_SETTINGS_CLEAR_BROWSING_DATA" desc="Text for clear browsing data button in Privacy options">
|
||||||
Clear browsing data
|
Clear browsing data
|
||||||
</message>
|
</message>
|
||||||
+ <if expr="is_win">
|
+ <if expr="is_win or is_linux">
|
||||||
+ <message name="IDS_CLEAR_BROWSING_DATA_ATSTART_TAB_TITLE" desc="The title of the tab showing the at start clear browsing data options.">
|
+ <message name="IDS_CLEAR_BROWSING_DATA_ATSTART_TAB_TITLE" desc="The title of the tab showing the at start clear browsing data options.">
|
||||||
+ At Close
|
+ At Close
|
||||||
+ </message>
|
+ </message>
|
||||||
@@ -228,19 +230,19 @@ diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
|
|||||||
diff --git a/chrome/browser/android/browsing_data/browsing_data_bridge.cc b/chrome/browser/android/browsing_data/browsing_data_bridge.cc
|
diff --git a/chrome/browser/android/browsing_data/browsing_data_bridge.cc b/chrome/browser/android/browsing_data/browsing_data_bridge.cc
|
||||||
--- a/chrome/browser/android/browsing_data/browsing_data_bridge.cc
|
--- a/chrome/browser/android/browsing_data/browsing_data_bridge.cc
|
||||||
+++ b/chrome/browser/android/browsing_data/browsing_data_bridge.cc
|
+++ b/chrome/browser/android/browsing_data/browsing_data_bridge.cc
|
||||||
@@ -326,7 +326,7 @@ static void JNI_BrowsingDataBridge_SetLastClearBrowsingDataTab(
|
@@ -331,7 +331,7 @@ static void JNI_BrowsingDataBridge_SetLastClearBrowsingDataTab(
|
||||||
const JavaParamRef<jobject>& obj,
|
const JavaParamRef<jobject>& jprofile,
|
||||||
jint tab_index) {
|
jint tab_index) {
|
||||||
DCHECK_GE(tab_index, 0);
|
DCHECK_GE(tab_index, 0);
|
||||||
- DCHECK_LT(tab_index, 2);
|
- DCHECK_LT(tab_index, 2);
|
||||||
+ DCHECK_LT(tab_index, 3);
|
+ DCHECK_LT(tab_index, 3);
|
||||||
GetPrefService()->SetInteger(browsing_data::prefs::kLastClearBrowsingDataTab,
|
GetPrefService(jprofile)->SetInteger(
|
||||||
tab_index);
|
browsing_data::prefs::kLastClearBrowsingDataTab, tab_index);
|
||||||
}
|
}
|
||||||
diff --git a/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.cc b/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.cc
|
diff --git a/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.cc b/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.cc
|
||||||
--- a/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.cc
|
--- a/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.cc
|
||||||
+++ b/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.cc
|
+++ b/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.cc
|
||||||
@@ -326,8 +326,25 @@ void ChromeBrowsingDataLifetimeManager::Shutdown() {
|
@@ -312,8 +312,25 @@ void ChromeBrowsingDataLifetimeManager::Shutdown() {
|
||||||
|
|
||||||
void ChromeBrowsingDataLifetimeManager::ClearBrowsingDataForOnExitPolicy(
|
void ChromeBrowsingDataLifetimeManager::ClearBrowsingDataForOnExitPolicy(
|
||||||
bool keep_browser_alive) {
|
bool keep_browser_alive) {
|
||||||
@@ -251,36 +253,36 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.
|
|||||||
+
|
+
|
||||||
+ if (profile_->GetPrefs()->GetBoolean(browsing_data::prefs::kDeleteBrowsingHistoryAtStart))
|
+ if (profile_->GetPrefs()->GetBoolean(browsing_data::prefs::kDeleteBrowsingHistoryAtStart))
|
||||||
+ data_types.Append(browsing_data::policy_data_types::kBrowsingHistoryName);
|
+ data_types.Append(browsing_data::policy_data_types::kBrowsingHistoryName);
|
||||||
+ if (profile_->GetPrefs()->GetBoolean(browsing_data::prefs::kDeleteDownloadHistoryAtStart))
|
|
||||||
+ data_types.Append(browsing_data::policy_data_types::kDownloadHistoryName);
|
|
||||||
+ if (profile_->GetPrefs()->GetBoolean(browsing_data::prefs::kDeleteCacheAtStart))
|
|
||||||
+ data_types.Append(browsing_data::policy_data_types::kCachedImagesAndFilesName);
|
|
||||||
+ if (profile_->GetPrefs()->GetBoolean(browsing_data::prefs::kDeleteCookiesAtStart))
|
|
||||||
+ data_types.Append(browsing_data::policy_data_types::kCookiesAndOtherSiteDataName);
|
|
||||||
+ if (profile_->GetPrefs()->GetBoolean(browsing_data::prefs::kDeletePasswordsAtStart))
|
+ if (profile_->GetPrefs()->GetBoolean(browsing_data::prefs::kDeletePasswordsAtStart))
|
||||||
+ data_types.Append(browsing_data::policy_data_types::kPasswordSigninName);
|
+ data_types.Append(browsing_data::policy_data_types::kPasswordSigninName);
|
||||||
+ if (profile_->GetPrefs()->GetBoolean(browsing_data::prefs::kDeleteFormDataAtStart))
|
+ if (profile_->GetPrefs()->GetBoolean(browsing_data::prefs::kDeleteFormDataAtStart))
|
||||||
+ data_types.Append(browsing_data::policy_data_types::kAutofillName);
|
+ data_types.Append(browsing_data::policy_data_types::kAutofillName);
|
||||||
+ if (profile_->GetPrefs()->GetBoolean(browsing_data::prefs::kDeleteHostedAppsDataAtStart))
|
|
||||||
+ data_types.Append(browsing_data::policy_data_types::kHostedAppDataName);
|
|
||||||
+ if (profile_->GetPrefs()->GetBoolean(browsing_data::prefs::kDeleteSiteSettingsAtStart))
|
+ if (profile_->GetPrefs()->GetBoolean(browsing_data::prefs::kDeleteSiteSettingsAtStart))
|
||||||
+ data_types.Append(browsing_data::policy_data_types::kSiteSettingsName);
|
+ data_types.Append(browsing_data::policy_data_types::kSiteSettingsName);
|
||||||
|
+ if (profile_->GetPrefs()->GetBoolean(browsing_data::prefs::kDeleteHostedAppsDataAtStart))
|
||||||
|
+ data_types.Append(browsing_data::policy_data_types::kHostedAppDataName);
|
||||||
|
+ if (profile_->GetPrefs()->GetBoolean(browsing_data::prefs::kDeleteDownloadHistoryAtStart))
|
||||||
|
+ data_types.Append(browsing_data::policy_data_types::kDownloadHistoryName);
|
||||||
|
+ if (profile_->GetPrefs()->GetBoolean(browsing_data::prefs::kDeleteCookiesAtStart))
|
||||||
|
+ data_types.Append(browsing_data::policy_data_types::kCookiesAndOtherSiteDataName);
|
||||||
|
+ if (profile_->GetPrefs()->GetBoolean(browsing_data::prefs::kDeleteCacheAtStart))
|
||||||
|
+ data_types.Append(browsing_data::policy_data_types::kCachedImagesAndFilesName);
|
||||||
|
|
||||||
if (!data_types.empty() &&
|
if (!data_types.empty() &&
|
||||||
IsConditionSatisfiedForBrowsingDataRemoval(GetSyncTypesForPolicyPref(
|
IsConditionSatisfiedForBrowsingDataRemoval(GetSyncTypesForPolicyPref(
|
||||||
@@ -427,6 +444,7 @@ void ChromeBrowsingDataLifetimeManager::StartScheduledBrowsingDataRemoval() {
|
@@ -422,6 +439,7 @@ void ChromeBrowsingDataLifetimeManager::StartScheduledBrowsingDataRemoval() {
|
||||||
bool ChromeBrowsingDataLifetimeManager::
|
bool ChromeBrowsingDataLifetimeManager::
|
||||||
IsConditionSatisfiedForBrowsingDataRemoval(
|
IsConditionSatisfiedForBrowsingDataRemoval(
|
||||||
const syncer::UserSelectableTypeSet sync_types) {
|
const syncer::UserSelectableTypeSet sync_types) {
|
||||||
+ if ((true)) return true;
|
+ if ((true)) return true;
|
||||||
bool sync_disabled = !SyncServiceFactory::IsSyncAllowed(profile_);
|
bool sync_disabled = !SyncServiceFactory::IsSyncAllowed(profile_);
|
||||||
// Return the state of sync if
|
// Condition is satisfied if sync is fully disabled by policy.
|
||||||
// `features::kDataRetentionPoliciesDisableSyncTypesNeeded` is disabled or if
|
if (sync_disabled) {
|
||||||
diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
|
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
|
--- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
|
||||||
+++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
|
+++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
|
||||||
@@ -419,6 +419,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
|
@@ -436,6 +436,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
|
||||||
delete_end_, CreateTaskCompletionClosure(TracingDataType::kHistory),
|
CreateTaskCompletionClosure(TracingDataType::kHistory),
|
||||||
&history_task_tracker_);
|
&history_task_tracker_);
|
||||||
}
|
}
|
||||||
+ }
|
+ }
|
||||||
@@ -289,7 +291,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
|
|||||||
if (ClipboardRecentContent::GetInstance())
|
if (ClipboardRecentContent::GetInstance())
|
||||||
ClipboardRecentContent::GetInstance()->SuppressClipboardContent();
|
ClipboardRecentContent::GetInstance()->SuppressClipboardContent();
|
||||||
|
|
||||||
@@ -469,7 +472,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
|
@@ -486,7 +489,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
|
||||||
prerender::NoStatePrefetchManager::CLEAR_PRERENDER_CONTENTS |
|
prerender::NoStatePrefetchManager::CLEAR_PRERENDER_CONTENTS |
|
||||||
prerender::NoStatePrefetchManager::CLEAR_PRERENDER_HISTORY);
|
prerender::NoStatePrefetchManager::CLEAR_PRERENDER_HISTORY);
|
||||||
}
|
}
|
||||||
@@ -299,7 +301,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
|
|||||||
// The saved Autofill profiles and credit cards can include the origin from
|
// 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
|
// which these profiles and credit cards were learned. These are a form of
|
||||||
// history, so clear them as well.
|
// history, so clear them as well.
|
||||||
@@ -490,7 +495,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
|
@@ -507,7 +512,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
|
||||||
if (data_manager)
|
if (data_manager)
|
||||||
data_manager->Refresh();
|
data_manager->Refresh();
|
||||||
}
|
}
|
||||||
@@ -309,7 +311,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
|
|||||||
base::ThreadPool::PostTaskAndReply(
|
base::ThreadPool::PostTaskAndReply(
|
||||||
FROM_HERE, {base::TaskPriority::USER_VISIBLE, base::MayBlock()},
|
FROM_HERE, {base::TaskPriority::USER_VISIBLE, base::MayBlock()},
|
||||||
base::BindOnce(
|
base::BindOnce(
|
||||||
@@ -565,9 +572,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
|
@@ -582,9 +589,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
|
||||||
}
|
}
|
||||||
|
|
||||||
device_event_log::Clear(delete_begin_, delete_end_);
|
device_event_log::Clear(delete_begin_, delete_end_);
|
||||||
@@ -320,40 +322,40 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
|
|||||||
+ }
|
+ }
|
||||||
|
|
||||||
+ if (remove_mask & content::BrowsingDataRemover::DATA_TYPE_CACHE) {
|
+ if (remove_mask & content::BrowsingDataRemover::DATA_TYPE_CACHE) {
|
||||||
FindBarStateFactory::GetForBrowserContext(profile_)->SetLastSearchText(
|
content::BackgroundTracingManager::GetInstance().DeleteTracesInDateRange(
|
||||||
std::u16string());
|
delete_begin_, delete_end_);
|
||||||
|
|
||||||
diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chrome/browser/extensions/api/settings_private/prefs_util.cc
|
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
|
--- a/chrome/browser/extensions/api/settings_private/prefs_util.cc
|
||||||
+++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
|
+++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
|
||||||
@@ -500,6 +500,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
|
@@ -513,6 +513,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
|
||||||
(*s_allowlist)[browsing_data::prefs::kLastClearBrowsingDataTab] =
|
(*s_allowlist)[browsing_data::prefs::kLastClearBrowsingDataTab] =
|
||||||
settings_api::PrefType::PREF_TYPE_NUMBER;
|
settings_api::PrefType::kNumber;
|
||||||
|
|
||||||
+ (*s_allowlist)[browsing_data::prefs::kDeleteBrowsingHistoryAtStart] =
|
+ (*s_allowlist)[browsing_data::prefs::kDeleteBrowsingHistoryAtStart] =
|
||||||
+ settings_api::PrefType::PREF_TYPE_BOOLEAN;
|
+ settings_api::PrefType::kBoolean;
|
||||||
+ (*s_allowlist)[browsing_data::prefs::kDeleteDownloadHistoryAtStart] =
|
+ (*s_allowlist)[browsing_data::prefs::kDeleteDownloadHistoryAtStart] =
|
||||||
+ settings_api::PrefType::PREF_TYPE_BOOLEAN;
|
+ settings_api::PrefType::kBoolean;
|
||||||
+ (*s_allowlist)[browsing_data::prefs::kDeleteCacheAtStart] =
|
+ (*s_allowlist)[browsing_data::prefs::kDeleteCacheAtStart] =
|
||||||
+ settings_api::PrefType::PREF_TYPE_BOOLEAN;
|
+ settings_api::PrefType::kBoolean;
|
||||||
+ (*s_allowlist)[browsing_data::prefs::kDeleteCookiesAtStart] =
|
+ (*s_allowlist)[browsing_data::prefs::kDeleteCookiesAtStart] =
|
||||||
+ settings_api::PrefType::PREF_TYPE_BOOLEAN;
|
+ settings_api::PrefType::kBoolean;
|
||||||
+ (*s_allowlist)[browsing_data::prefs::kDeletePasswordsAtStart] =
|
+ (*s_allowlist)[browsing_data::prefs::kDeletePasswordsAtStart] =
|
||||||
+ settings_api::PrefType::PREF_TYPE_BOOLEAN;
|
+ settings_api::PrefType::kBoolean;
|
||||||
+ (*s_allowlist)[browsing_data::prefs::kDeleteFormDataAtStart] =
|
+ (*s_allowlist)[browsing_data::prefs::kDeleteFormDataAtStart] =
|
||||||
+ settings_api::PrefType::PREF_TYPE_BOOLEAN;
|
+ settings_api::PrefType::kBoolean;
|
||||||
+ (*s_allowlist)[browsing_data::prefs::kDeleteSiteSettingsAtStart] =
|
+ (*s_allowlist)[browsing_data::prefs::kDeleteSiteSettingsAtStart] =
|
||||||
+ settings_api::PrefType::PREF_TYPE_BOOLEAN;
|
+ settings_api::PrefType::kBoolean;
|
||||||
+ (*s_allowlist)[browsing_data::prefs::kDeleteHostedAppsDataAtStart] =
|
+ (*s_allowlist)[browsing_data::prefs::kDeleteHostedAppsDataAtStart] =
|
||||||
+ settings_api::PrefType::PREF_TYPE_BOOLEAN;
|
+ settings_api::PrefType::kBoolean;
|
||||||
+
|
+
|
||||||
// Accessibility.
|
// Accessibility.
|
||||||
(*s_allowlist)[::prefs::kAccessibilityImageLabelsEnabled] =
|
(*s_allowlist)[::prefs::kAccessibilityImageLabelsEnabled] =
|
||||||
settings_api::PrefType::PREF_TYPE_BOOLEAN;
|
settings_api::PrefType::kBoolean;
|
||||||
diff --git a/chrome/browser/profiles/android/java/src/org/chromium/chrome/browser/profiles/ProfileManagerUtils.java b/chrome/browser/profiles/android/java/src/org/chromium/chrome/browser/profiles/ProfileManagerUtils.java
|
diff --git a/chrome/browser/profiles/android/java/src/org/chromium/chrome/browser/profiles/ProfileManagerUtils.java b/chrome/browser/profiles/android/java/src/org/chromium/chrome/browser/profiles/ProfileManagerUtils.java
|
||||||
--- a/chrome/browser/profiles/android/java/src/org/chromium/chrome/browser/profiles/ProfileManagerUtils.java
|
--- a/chrome/browser/profiles/android/java/src/org/chromium/chrome/browser/profiles/ProfileManagerUtils.java
|
||||||
+++ b/chrome/browser/profiles/android/java/src/org/chromium/chrome/browser/profiles/ProfileManagerUtils.java
|
+++ b/chrome/browser/profiles/android/java/src/org/chromium/chrome/browser/profiles/ProfileManagerUtils.java
|
||||||
@@ -52,9 +52,14 @@ public class ProfileManagerUtils {
|
@@ -52,10 +52,15 @@ public class ProfileManagerUtils {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -364,6 +366,7 @@ diff --git a/chrome/browser/profiles/android/java/src/org/chromium/chrome/browse
|
|||||||
@NativeMethods
|
@NativeMethods
|
||||||
interface Natives {
|
interface Natives {
|
||||||
void flushPersistentDataForAllProfiles();
|
void flushPersistentDataForAllProfiles();
|
||||||
|
|
||||||
void removeSessionCookiesForAllProfiles();
|
void removeSessionCookiesForAllProfiles();
|
||||||
+ void removeBrowsingDataAtStart();
|
+ void removeBrowsingDataAtStart();
|
||||||
}
|
}
|
||||||
@@ -371,7 +374,7 @@ diff --git a/chrome/browser/profiles/android/java/src/org/chromium/chrome/browse
|
|||||||
diff --git a/chrome/browser/profiles/android/profile_manager_utils.cc b/chrome/browser/profiles/android/profile_manager_utils.cc
|
diff --git a/chrome/browser/profiles/android/profile_manager_utils.cc b/chrome/browser/profiles/android/profile_manager_utils.cc
|
||||||
--- a/chrome/browser/profiles/android/profile_manager_utils.cc
|
--- a/chrome/browser/profiles/android/profile_manager_utils.cc
|
||||||
+++ b/chrome/browser/profiles/android/profile_manager_utils.cc
|
+++ b/chrome/browser/profiles/android/profile_manager_utils.cc
|
||||||
@@ -67,3 +67,8 @@ static void JNI_ProfileManagerUtils_RemoveSessionCookiesForAllProfiles(
|
@@ -62,3 +62,8 @@ static void JNI_ProfileManagerUtils_RemoveSessionCookiesForAllProfiles(
|
||||||
g_browser_process->profile_manager()->GetLoadedProfiles(),
|
g_browser_process->profile_manager()->GetLoadedProfiles(),
|
||||||
RemoveSessionCookiesForProfile);
|
RemoveSessionCookiesForProfile);
|
||||||
}
|
}
|
||||||
@@ -383,7 +386,7 @@ diff --git a/chrome/browser/profiles/android/profile_manager_utils.cc b/chrome/b
|
|||||||
diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc
|
diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc
|
||||||
--- a/chrome/browser/profiles/profile_manager.cc
|
--- a/chrome/browser/profiles/profile_manager.cc
|
||||||
+++ b/chrome/browser/profiles/profile_manager.cc
|
+++ b/chrome/browser/profiles/profile_manager.cc
|
||||||
@@ -1444,6 +1444,19 @@ void ProfileManager::DoFinalInit(ProfileInfo* profile_info,
|
@@ -1488,6 +1488,19 @@ void ProfileManager::DoFinalInit(ProfileInfo* profile_info,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -403,10 +406,19 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile
|
|||||||
void ProfileManager::DoFinalInitForServices(Profile* profile,
|
void ProfileManager::DoFinalInitForServices(Profile* profile,
|
||||||
bool go_off_the_record) {
|
bool go_off_the_record) {
|
||||||
if (!do_final_services_init_ ||
|
if (!do_final_services_init_ ||
|
||||||
|
@@ -2155,7 +2168,7 @@ void ProfileManager::OnBrowserClosed(Browser* browser) {
|
||||||
|
Profile* original_profile = profile->GetOriginalProfile();
|
||||||
|
// Do nothing if the closed window is not the last window of the same profile.
|
||||||
|
for (Browser* browser_iter : *BrowserList::GetInstance()) {
|
||||||
|
- if (browser_iter->profile()->GetOriginalProfile() == original_profile)
|
||||||
|
+ if (browser_iter->profile() == profile)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
diff --git a/chrome/browser/profiles/profile_manager.h b/chrome/browser/profiles/profile_manager.h
|
diff --git a/chrome/browser/profiles/profile_manager.h b/chrome/browser/profiles/profile_manager.h
|
||||||
--- a/chrome/browser/profiles/profile_manager.h
|
--- a/chrome/browser/profiles/profile_manager.h
|
||||||
+++ b/chrome/browser/profiles/profile_manager.h
|
+++ b/chrome/browser/profiles/profile_manager.h
|
||||||
@@ -198,6 +198,8 @@ class ProfileManager : public Profile::Delegate {
|
@@ -199,6 +199,8 @@ class ProfileManager : public Profile::Delegate {
|
||||||
// profiles.
|
// profiles.
|
||||||
std::vector<Profile*> GetLoadedProfiles() const;
|
std::vector<Profile*> GetLoadedProfiles() const;
|
||||||
|
|
||||||
@@ -418,7 +430,7 @@ diff --git a/chrome/browser/profiles/profile_manager.h b/chrome/browser/profiles
|
|||||||
diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.html b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.html
|
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
|
--- 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
|
+++ b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.html
|
||||||
@@ -284,6 +284,50 @@
|
@@ -305,6 +305,50 @@
|
||||||
disabled="[[clearingInProgress_]]" no-set-pref>
|
disabled="[[clearingInProgress_]]" no-set-pref>
|
||||||
</settings-checkbox>
|
</settings-checkbox>
|
||||||
</div>
|
</div>
|
||||||
@@ -472,7 +484,7 @@ diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_
|
|||||||
diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.ts b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.ts
|
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
|
--- 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
|
+++ b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.ts
|
||||||
@@ -194,6 +194,7 @@ export class SettingsClearBrowsingDataDialogElement extends
|
@@ -302,6 +302,7 @@ export class SettingsClearBrowsingDataDialogElement extends
|
||||||
value: () =>
|
value: () =>
|
||||||
[loadTimeData.getString('basicPageTitle'),
|
[loadTimeData.getString('basicPageTitle'),
|
||||||
loadTimeData.getString('advancedPageTitle'),
|
loadTimeData.getString('advancedPageTitle'),
|
||||||
@@ -480,10 +492,18 @@ diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@@ -425,6 +426,7 @@ export class SettingsClearBrowsingDataDialogElement extends
|
||||||
|
}
|
||||||
|
this.clearButtonDisabled_ =
|
||||||
|
this.getSelectedDataTypes_(tab as HTMLElement).length === 0;
|
||||||
|
+ if ((tab as HTMLElement).id == "atstart-tab") this.clearButtonDisabled_ = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
@@ -1582,6 +1582,9 @@ Your Google account may have other forms of browsing history like searches and a
|
@@ -1432,6 +1432,9 @@ Your Google account may have other forms of browsing history like searches and a
|
||||||
<message name="IDS_CLEAR_BROWSING_DATA_BASIC_TAB_TITLE" desc="The title of the tab showing the basic clear browsing data options.">
|
<message name="IDS_CLEAR_BROWSING_DATA_BASIC_TAB_TITLE" desc="The title of the tab showing the basic clear browsing data options.">
|
||||||
Basic
|
Basic
|
||||||
</message>
|
</message>
|
||||||
@@ -496,41 +516,49 @@ 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
|
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
|
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||||
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||||
@@ -1771,6 +1771,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
|
@@ -1674,6 +1674,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
|
||||||
{"clearedData", IDS_SETTINGS_CLEARED_DATA},
|
{"clearedData", IDS_SETTINGS_CLEARED_DATA},
|
||||||
{"clearBrowsingData", IDS_SETTINGS_CLEAR_BROWSING_DATA},
|
{"clearBrowsingData", IDS_SETTINGS_CLEAR_BROWSING_DATA},
|
||||||
{"clearBrowsingDataDescription", IDS_SETTINGS_CLEAR_DATA_DESCRIPTION},
|
{"clearBrowsingDataDescription", IDS_SETTINGS_CLEAR_DATA_DESCRIPTION},
|
||||||
+ {"atStartPageTitle", IDS_CLEAR_BROWSING_DATA_ATSTART_TAB_TITLE},
|
+ {"atStartPageTitle", IDS_CLEAR_BROWSING_DATA_ATSTART_TAB_TITLE},
|
||||||
{"titleAndCount", IDS_SETTINGS_TITLE_AND_COUNT},
|
{"titleAndCount", IDS_SETTINGS_TITLE_AND_COUNT},
|
||||||
{"safeBrowsingEnableExtendedReportingDesc",
|
{"safeBrowsingEnableExtendedReportingDesc",
|
||||||
IDS_SETTINGS_SAFEBROWSING_ENABLE_REPORTING_DESC},
|
IDS_SETTINGS_SAFEBROWSING_ENABLE_REPORTING_DESC},
|
||||||
diff --git a/components/browsing_data/core/browsing_data_policies_utils.cc b/components/browsing_data/core/browsing_data_policies_utils.cc
|
diff --git a/components/browsing_data/core/browsing_data_policies_utils.cc b/components/browsing_data/core/browsing_data_policies_utils.cc
|
||||||
--- a/components/browsing_data/core/browsing_data_policies_utils.cc
|
--- a/components/browsing_data/core/browsing_data_policies_utils.cc
|
||||||
+++ b/components/browsing_data/core/browsing_data_policies_utils.cc
|
+++ b/components/browsing_data/core/browsing_data_policies_utils.cc
|
||||||
@@ -19,15 +19,15 @@ namespace browsing_data {
|
@@ -17,21 +17,21 @@
|
||||||
|
|
||||||
|
namespace browsing_data {
|
||||||
|
|
||||||
|
-namespace {
|
||||||
|
-
|
||||||
namespace policy_data_types {
|
namespace policy_data_types {
|
||||||
// Data retention policy types that require sync to be disabled.
|
// Data retention policy types that require sync to be disabled.
|
||||||
-const char kBrowsingHistoryName[] = "browsing_history";
|
-constexpr char kBrowsingHistoryName[] = "browsing_history";
|
||||||
-const char kPasswordSigninName[] = "password_signin";
|
-constexpr char kPasswordSigninName[] = "password_signin";
|
||||||
-const char kAutofillName[] = "autofill";
|
-constexpr char kAutofillName[] = "autofill";
|
||||||
-const char kSiteSettingsName[] = "site_settings";
|
-constexpr char kSiteSettingsName[] = "site_settings";
|
||||||
+extern const char kBrowsingHistoryName[] = "browsing_history";
|
+extern constexpr char kBrowsingHistoryName[] = "browsing_history";
|
||||||
+extern const char kPasswordSigninName[] = "password_signin";
|
+extern constexpr char kPasswordSigninName[] = "password_signin";
|
||||||
+extern const char kAutofillName[] = "autofill";
|
+extern constexpr char kAutofillName[] = "autofill";
|
||||||
+extern const char kSiteSettingsName[] = "site_settings";
|
+extern constexpr char kSiteSettingsName[] = "site_settings";
|
||||||
// Data retention policy types that do not require sync to be disabled.
|
// Data retention policy types that do not require sync to be disabled.
|
||||||
-const char kHostedAppDataName[] = "hosted_app_data";
|
-constexpr char kHostedAppDataName[] = "hosted_app_data";
|
||||||
-const char kDownloadHistoryName[] = "download_history";
|
-constexpr char kDownloadHistoryName[] = "download_history";
|
||||||
-const char kCookiesAndOtherSiteDataName[] = "cookies_and_other_site_data";
|
-constexpr char kCookiesAndOtherSiteDataName[] = "cookies_and_other_site_data";
|
||||||
-const char kCachedImagesAndFilesName[] = "cached_images_and_files";
|
-constexpr char kCachedImagesAndFilesName[] = "cached_images_and_files";
|
||||||
+extern const char kHostedAppDataName[] = "hosted_app_data";
|
+extern constexpr char kHostedAppDataName[] = "hosted_app_data";
|
||||||
+extern const char kDownloadHistoryName[] = "download_history";
|
+extern constexpr char kDownloadHistoryName[] = "download_history";
|
||||||
+extern const char kCookiesAndOtherSiteDataName[] = "cookies_and_other_site_data";
|
+extern constexpr char kCookiesAndOtherSiteDataName[] = "cookies_and_other_site_data";
|
||||||
+extern const char kCachedImagesAndFilesName[] = "cached_images_and_files";
|
+extern constexpr char kCachedImagesAndFilesName[] = "cached_images_and_files";
|
||||||
} // namespace policy_data_types
|
} // namespace policy_data_types
|
||||||
|
|
||||||
namespace {
|
+namespace {
|
||||||
|
+
|
||||||
|
// The format of the log message shown in chrome://policy/logs when sync types
|
||||||
|
// are automatically disabled.
|
||||||
|
constexpr char kDisabledSyncTypesLogFormat[] =
|
||||||
diff --git a/components/browsing_data/core/browsing_data_policies_utils.h b/components/browsing_data/core/browsing_data_policies_utils.h
|
diff --git a/components/browsing_data/core/browsing_data_policies_utils.h b/components/browsing_data/core/browsing_data_policies_utils.h
|
||||||
--- a/components/browsing_data/core/browsing_data_policies_utils.h
|
--- a/components/browsing_data/core/browsing_data_policies_utils.h
|
||||||
+++ b/components/browsing_data/core/browsing_data_policies_utils.h
|
+++ b/components/browsing_data/core/browsing_data_policies_utils.h
|
||||||
@@ -611,24 +639,7 @@ diff --git a/components/browsing_data/core/clear_browsing_data_tab.h b/component
|
|||||||
diff --git a/components/browsing_data/core/pref_names.cc b/components/browsing_data/core/pref_names.cc
|
diff --git a/components/browsing_data/core/pref_names.cc b/components/browsing_data/core/pref_names.cc
|
||||||
--- a/components/browsing_data/core/pref_names.cc
|
--- a/components/browsing_data/core/pref_names.cc
|
||||||
+++ b/components/browsing_data/core/pref_names.cc
|
+++ b/components/browsing_data/core/pref_names.cc
|
||||||
@@ -26,6 +26,16 @@ const char kClearBrowsingDataOnExitDeletionPending[] =
|
@@ -47,6 +47,23 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||||
// delete just before browser shutdown.
|
|
||||||
const char kClearBrowsingDataOnExitList[] = "browser.clear_data.clear_on_exit";
|
|
||||||
|
|
||||||
+// Clear Browsing Data dialog datatype preferences.
|
|
||||||
+const char kDeleteBrowsingHistoryAtStart[] = "browser.clear_data.browsing_history_at_start";
|
|
||||||
+const char kDeleteDownloadHistoryAtStart[] = "browser.clear_data.download_history_at_start";
|
|
||||||
+const char kDeleteCacheAtStart[] = "browser.clear_data.cache_at_start";
|
|
||||||
+const char kDeleteCookiesAtStart[] = "browser.clear_data.cookies_at_start";
|
|
||||||
+const char kDeletePasswordsAtStart[] = "browser.clear_data.passwords_at_start";
|
|
||||||
+const char kDeleteFormDataAtStart[] = "browser.clear_data.form_data_at_start";
|
|
||||||
+const char kDeleteHostedAppsDataAtStart[] = "browser.clear_data.hosted_apps_data_at_start";
|
|
||||||
+const char kDeleteSiteSettingsAtStart[] = "browser.clear_data.site_settings_at_start";
|
|
||||||
+
|
|
||||||
// Clear browsing data deletion time period.
|
|
||||||
const char kDeleteTimePeriod[] = "browser.clear_data.time_period";
|
|
||||||
const char kDeleteTimePeriodBasic[] = "browser.clear_data.time_period_basic";
|
|
||||||
@@ -85,6 +95,23 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
|
|
||||||
registry->RegisterIntegerPref(
|
registry->RegisterIntegerPref(
|
||||||
kClearBrowsingDataHistoryNoticeShownTimes, 0);
|
kClearBrowsingDataHistoryNoticeShownTimes, 0);
|
||||||
|
|
||||||
@@ -655,21 +666,32 @@ diff --git a/components/browsing_data/core/pref_names.cc b/components/browsing_d
|
|||||||
diff --git a/components/browsing_data/core/pref_names.h b/components/browsing_data/core/pref_names.h
|
diff --git a/components/browsing_data/core/pref_names.h b/components/browsing_data/core/pref_names.h
|
||||||
--- a/components/browsing_data/core/pref_names.h
|
--- a/components/browsing_data/core/pref_names.h
|
||||||
+++ b/components/browsing_data/core/pref_names.h
|
+++ b/components/browsing_data/core/pref_names.h
|
||||||
@@ -17,6 +17,15 @@ extern const char kBrowsingDataLifetime[];
|
@@ -28,6 +28,16 @@ inline constexpr char kClearBrowsingDataOnExitDeletionPending[] =
|
||||||
extern const char kClearBrowsingDataOnExitDeletionPending[];
|
inline constexpr char kClearBrowsingDataOnExitList[] =
|
||||||
extern const char kClearBrowsingDataOnExitList[];
|
"browser.clear_data.clear_on_exit";
|
||||||
|
|
||||||
+extern const char kDeleteBrowsingHistoryAtStart[];
|
+// Clear Browsing Data dialog datatype preferences.
|
||||||
+extern const char kDeleteDownloadHistoryAtStart[];
|
+inline constexpr char kDeleteBrowsingHistoryAtStart[] = "browser.clear_data.browsing_history_at_start";
|
||||||
+extern const char kDeleteCacheAtStart[];
|
+inline constexpr char kDeleteDownloadHistoryAtStart[] = "browser.clear_data.download_history_at_start";
|
||||||
+extern const char kDeleteCookiesAtStart[];
|
+inline constexpr char kDeleteCacheAtStart[] = "browser.clear_data.cache_at_start";
|
||||||
+extern const char kDeletePasswordsAtStart[];
|
+inline constexpr char kDeleteCookiesAtStart[] = "browser.clear_data.cookies_at_start";
|
||||||
+extern const char kDeleteFormDataAtStart[];
|
+inline constexpr char kDeletePasswordsAtStart[] = "browser.clear_data.passwords_at_start";
|
||||||
+extern const char kDeleteHostedAppsDataAtStart[];
|
+inline constexpr char kDeleteFormDataAtStart[] = "browser.clear_data.form_data_at_start";
|
||||||
+extern const char kDeleteSiteSettingsAtStart[];
|
+inline constexpr char kDeleteHostedAppsDataAtStart[] = "browser.clear_data.hosted_apps_data_at_start";
|
||||||
|
+inline constexpr char kDeleteSiteSettingsAtStart[] = "browser.clear_data.site_settings_at_start";
|
||||||
+
|
+
|
||||||
extern const char kDeleteTimePeriod[];
|
// Clear browsing data deletion time period.
|
||||||
extern const char kDeleteTimePeriodBasic[];
|
inline constexpr char kDeleteTimePeriod[] = "browser.clear_data.time_period";
|
||||||
|
inline constexpr char kDeleteTimePeriodBasic[] =
|
||||||
|
diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage_partition_impl.cc
|
||||||
|
--- a/content/browser/storage_partition_impl.cc
|
||||||
|
+++ b/content/browser/storage_partition_impl.cc
|
||||||
|
@@ -1488,6 +1488,7 @@ void StoragePartitionImpl::Initialize(
|
||||||
|
.AppendASCII("Code Cache");
|
||||||
|
}
|
||||||
|
DCHECK_GE(settings.size_in_bytes(), 0);
|
||||||
|
+ base::DeletePathRecursively(code_cache_path);
|
||||||
|
GetGeneratedCodeCacheContext()->Initialize(code_cache_path,
|
||||||
|
settings.size_in_bytes());
|
||||||
|
}
|
||||||
--
|
--
|
||||||
2.25.1
|
|
||||||
+126
-163
@@ -4,31 +4,35 @@ Subject: Add setting to invert tap and long tap
|
|||||||
|
|
||||||
Reverses single tap to long tap in android for accessibility reasons.
|
Reverses single tap to long tap in android for accessibility reasons.
|
||||||
The feature can be activated from the accessibility settings.
|
The feature can be activated from the accessibility settings.
|
||||||
|
|
||||||
|
Need: bromite-build-utils.patch
|
||||||
|
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||||
---
|
---
|
||||||
chrome/android/java/res/values/ids.xml | 1 +
|
chrome/android/java/res/values/ids.xml | 1 +
|
||||||
.../ChromeAccessibilitySettingsDelegate.java | 18 ++++++++++
|
.../ChromeAccessibilitySettingsDelegate.java | 18 ++++++++++
|
||||||
.../contextmenu/ChromeContextMenuItem.java | 5 ++-
|
.../contextmenu/ChromeContextMenuItem.java | 5 ++-
|
||||||
.../ChromeContextMenuPopulator.java | 5 +++
|
.../ChromeContextMenuPopulator.java | 5 +++
|
||||||
.../tab/TabContextMenuItemDelegate.java | 8 +++++
|
.../tab/TabContextMenuItemDelegate.java | 8 +++++
|
||||||
chrome/browser/about_flags.cc | 5 +++
|
|
||||||
.../contextmenu/ContextMenuItemDelegate.java | 2 ++
|
.../contextmenu/ContextMenuItemDelegate.java | 2 ++
|
||||||
chrome/browser/flag_descriptions.cc | 4 +++
|
|
||||||
chrome/browser/flag_descriptions.h | 3 ++
|
|
||||||
.../flags/android/chrome_feature_list.cc | 1 +
|
.../flags/android/chrome_feature_list.cc | 1 +
|
||||||
.../browser/flags/ChromeFeatureList.java | 5 +++
|
.../browser/flags/ChromeFeatureList.java | 5 +++
|
||||||
.../strings/android_chrome_strings.grd | 9 +++++
|
.../strings/android_chrome_strings.grd | 9 +++++
|
||||||
.../res/xml/accessibility_preferences.xml | 5 +++
|
.../res/xml/accessibility_preferences.xml | 5 +++
|
||||||
.../accessibility/AccessibilitySettings.java | 11 ++++++
|
.../accessibility/AccessibilitySettings.java | 11 ++++++
|
||||||
.../AccessibilitySettingsDelegate.java | 2 ++
|
.../AccessibilitySettingsDelegate.java | 2 ++
|
||||||
third_party/blink/common/features.cc | 4 +++
|
...Add-setting-to-invert-tap-and-long-tap.inc | 8 +++++
|
||||||
third_party/blink/public/common/features.h | 2 ++
|
...Add-setting-to-invert-tap-and-long-tap.inc | 3 ++
|
||||||
.../renderer/core/html/html_anchor_element.cc | 35 +++++++++++++++----
|
...Add-setting-to-invert-tap-and-long-tap.inc | 1 +
|
||||||
|
.../renderer/core/html/html_anchor_element.cc | 36 +++++++++++++++----
|
||||||
.../renderer/core/html/html_anchor_element.h | 9 +++--
|
.../renderer/core/html/html_anchor_element.h | 9 +++--
|
||||||
.../renderer/core/html/html_image_element.cc | 17 +++++++++
|
.../renderer/core/html/html_image_element.cc | 17 +++++++++
|
||||||
.../renderer/core/html/html_image_element.h | 2 ++
|
.../renderer/core/html/html_image_element.h | 2 ++
|
||||||
.../core/page/context_menu_controller.cc | 32 ++++++++++++-----
|
.../core/page/context_menu_controller.cc | 32 ++++++++++++-----
|
||||||
.../core/page/context_menu_controller.h | 5 +--
|
.../core/page/context_menu_controller.h | 5 +--
|
||||||
23 files changed, 170 insertions(+), 20 deletions(-)
|
21 files changed, 164 insertions(+), 21 deletions(-)
|
||||||
|
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-setting-to-invert-tap-and-long-tap.inc
|
||||||
|
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Add-setting-to-invert-tap-and-long-tap.inc
|
||||||
|
create mode 100644 cromite_flags/third_party/blink/common/features_h/Add-setting-to-invert-tap-and-long-tap.inc
|
||||||
|
|
||||||
diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/values/ids.xml
|
diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/values/ids.xml
|
||||||
--- a/chrome/android/java/res/values/ids.xml
|
--- a/chrome/android/java/res/values/ids.xml
|
||||||
@@ -44,7 +48,7 @@ diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/va
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
|
||||||
@@ -148,6 +148,24 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting
|
@@ -163,6 +163,24 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting
|
||||||
mSnackbarManager.showSnackbar(mSnackbar);
|
mSnackbarManager.showSnackbar(mSnackbar);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -56,7 +60,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
|
|||||||
+
|
+
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public void setEnabled(boolean value) {
|
+ public void setEnabled(boolean value) {
|
||||||
+ CachedFeatureFlags.setFlagEnabled(ChromeFeatureList.SHOW_ALWAYS_CONTEXT_MENU_ON_LINKS,
|
+ CromiteNativeUtils.setFlagEnabled(ChromeFeatureList.SHOW_ALWAYS_CONTEXT_MENU_ON_LINKS,
|
||||||
+ "show-always-context-menu-on-links", value);
|
+ "show-always-context-menu-on-links", value);
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
@@ -72,7 +76,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java
|
||||||
@@ -89,8 +89,9 @@ class ChromeContextMenuItem {
|
@@ -111,8 +111,9 @@ class ChromeContextMenuItem {
|
||||||
int SHARE_HIGHLIGHT = 32;
|
int SHARE_HIGHLIGHT = 32;
|
||||||
int REMOVE_HIGHLIGHT = 33;
|
int REMOVE_HIGHLIGHT = 33;
|
||||||
int LEARN_MORE = 34;
|
int LEARN_MORE = 34;
|
||||||
@@ -82,19 +86,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
|
|||||||
+ int NUM_ENTRIES = 36;
|
+ int NUM_ENTRIES = 36;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/** Mapping from {@link Item} to the ID found in the ids.xml. */
|
||||||
@@ -132,6 +133,7 @@ class ChromeContextMenuItem {
|
@@ -152,6 +153,7 @@ class ChromeContextMenuItem {
|
||||||
R.id.contextmenu_share_highlight, // Item.SHARE_HIGHLIGHT
|
R.id.contextmenu_share_highlight, // Item.SHARE_HIGHLIGHT
|
||||||
R.id.contextmenu_remove_highlight, // Item.REMOVE_HIGHLIGHT
|
R.id.contextmenu_remove_highlight, // Item.REMOVE_HIGHLIGHT
|
||||||
R.id.contextmenu_learn_more, // Item.LEARN_MORE
|
R.id.contextmenu_learn_more, // Item.LEARN_MORE
|
||||||
+ R.id.contextmenu_open_in_tab, // Item.OPEN_IN_NEW_CHROME_TAB
|
+ R.id.contextmenu_open_in_tab, // Item.OPEN_IN_NEW_CHROME_TAB
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/** Mapping from {@link Item} to the ID of the string that describes the action of the item. */
|
||||||
@@ -173,6 +175,7 @@ class ChromeContextMenuItem {
|
@@ -191,6 +193,7 @@ class ChromeContextMenuItem {
|
||||||
R.string.contextmenu_share_highlight, // Item.SHARE_HIGHLIGHT
|
R.string.contextmenu_share_highlight, // Item.SHARE_HIGHLIGHT
|
||||||
R.string.contextmenu_remove_highlight, // Item.REMOVE_HIGHLIGHT
|
R.string.contextmenu_remove_highlight, // Item.REMOVE_HIGHLIGHT
|
||||||
R.string.contextmenu_learn_more, // Item.LEARN_MORE
|
R.string.contextmenu_learn_more, // Item.LEARN_MORE
|
||||||
+ R.string.contextmenu_open_in_tab, // Item.OPEN_IN_NEW_CHROME_TAB:
|
+ R.string.contextmenu_open_in_tab, // Item.OPEN_IN_NEW_CHROME_TAB:
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -102,20 +106,20 @@ 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
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
|
||||||
@@ -240,6 +240,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
@@ -266,6 +266,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||||
|
|
||||||
if (mParams.isAnchor()) {
|
if (mParams.isAnchor()) {
|
||||||
ModelList linkGroup = new ModelList();
|
ModelList linkGroup = new ModelList();
|
||||||
+ if (ChromeFeatureList.sShowAlwaysContextMenuOnLinks.isEnabled()) {
|
+ if (ChromeFeatureList.sShowAlwaysContextMenuOnLinks.isEnabled()) {
|
||||||
+ linkGroup.add(createListItem(Item.FOLLOW_LINK));
|
+ linkGroup.add(createListItem(Item.FOLLOW_LINK));
|
||||||
+ }
|
+ }
|
||||||
if (FirstRunStatus.getFirstRunFlowComplete() && !isEmptyUrl(mParams.getUrl())
|
if (FirstRunStatus.getFirstRunFlowComplete()
|
||||||
|
&& !isEmptyUrl(mParams.getUrl())
|
||||||
&& UrlUtilities.isAcceptedScheme(mParams.getUrl())) {
|
&& UrlUtilities.isAcceptedScheme(mParams.getUrl())) {
|
||||||
if (mMode == ContextMenuMode.NORMAL) {
|
@@ -631,6 +634,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||||
@@ -598,6 +601,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
getProfile(),
|
||||||
ShareHelper.shareDirectly(
|
false);
|
||||||
params, ShareHelper.getLastShareComponentName(), getProfile(), false);
|
});
|
||||||
});
|
|
||||||
+ } else if (itemId == R.id.contextmenu_open_in_tab) {
|
+ } else if (itemId == R.id.contextmenu_open_in_tab) {
|
||||||
+ mItemDelegate.onOpenUrl(mParams.getUrl(), mParams.getReferrer());
|
+ mItemDelegate.onOpenUrl(mParams.getUrl(), mParams.getReferrer());
|
||||||
} else if (itemId == R.id.contextmenu_open_in_chrome) {
|
} else if (itemId == R.id.contextmenu_open_in_chrome) {
|
||||||
@@ -124,7 +128,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
|
||||||
@@ -249,6 +249,14 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
|
@@ -273,6 +273,14 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
|
||||||
mTab.loadUrl(loadUrlParams);
|
mTab.loadUrl(loadUrlParams);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -139,25 +143,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM
|
|||||||
@Override
|
@Override
|
||||||
public void onOpenImageInNewTab(GURL url, Referrer referrer) {
|
public void onOpenImageInNewTab(GURL url, Referrer referrer) {
|
||||||
LoadUrlParams loadUrlParams = new LoadUrlParams(url.getSpec());
|
LoadUrlParams loadUrlParams = new LoadUrlParams(url.getSpec());
|
||||||
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
|
|
||||||
@@ -7917,6 +7917,11 @@ const FeatureEntry kFeatureEntries[] = {
|
|
||||||
flag_descriptions::kMoveTopToolbarToBottomDescription, kOsAndroid,
|
|
||||||
FEATURE_VALUE_TYPE(features::kMoveTopToolbarToBottom)},
|
|
||||||
|
|
||||||
+ {"show-always-context-menu-on-links",
|
|
||||||
+ flag_descriptions::kShowAlwaysContextMenuOnLinksName,
|
|
||||||
+ flag_descriptions::kShowAlwaysContextMenuOnLinksDescription, kOsAndroid,
|
|
||||||
+ FEATURE_VALUE_TYPE(blink::features::kShowAlwaysContextMenuOnLinks)},
|
|
||||||
+
|
|
||||||
{"scroll-unification", flag_descriptions::kScrollUnificationName,
|
|
||||||
flag_descriptions::kScrollUnificationDescription, kOsAll,
|
|
||||||
FEATURE_VALUE_TYPE(features::kScrollUnification)},
|
|
||||||
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
|
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
|
--- 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
|
+++ b/chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuItemDelegate.java
|
||||||
@@ -111,6 +111,8 @@ public interface ContextMenuItemDelegate {
|
@@ -110,6 +110,8 @@ public interface ContextMenuItemDelegate {
|
||||||
*/
|
*/
|
||||||
void onOpenImageUrl(GURL url, Referrer referrer);
|
void onOpenImageUrl(GURL url, Referrer referrer);
|
||||||
|
|
||||||
@@ -166,49 +155,22 @@ diff --git a/chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/con
|
|||||||
/**
|
/**
|
||||||
* Called when the {@code url} is of an image and should be opened in a new tab.
|
* Called when the {@code url} is of an image and should be opened in a new tab.
|
||||||
* @param url The image URL to open.
|
* @param url The image URL to open.
|
||||||
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
|
|
||||||
@@ -1970,6 +1970,10 @@ const char kMoveTopToolbarToBottomName[] = "Move top toolbar to bottom";
|
|
||||||
const char kMoveTopToolbarToBottomDescription[] =
|
|
||||||
"Move the top toolbar to the bottom.";
|
|
||||||
|
|
||||||
+const char kShowAlwaysContextMenuOnLinksName[] = "Always show contextmenu on links";
|
|
||||||
+const char kShowAlwaysContextMenuOnLinksDescription[] =
|
|
||||||
+ "Use accessibility settings to set it.";
|
|
||||||
+
|
|
||||||
const char kIncognitoDownloadsWarningName[] =
|
|
||||||
"Enable Incognito downloads warning";
|
|
||||||
const char kIncognitoDownloadsWarningDescription[] =
|
|
||||||
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
|
|
||||||
@@ -1104,6 +1104,9 @@ extern const char kImprovedKeyboardShortcutsDescription[];
|
|
||||||
extern const char kMoveTopToolbarToBottomName[];
|
|
||||||
extern const char kMoveTopToolbarToBottomDescription[];
|
|
||||||
|
|
||||||
+extern const char kShowAlwaysContextMenuOnLinksName[];
|
|
||||||
+extern const char kShowAlwaysContextMenuOnLinksDescription[];
|
|
||||||
+
|
|
||||||
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
|
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||||
@@ -314,6 +314,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
@@ -280,6 +280,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||||
&kTabGroupsContinuationAndroid,
|
&kTabGroupParityAndroid,
|
||||||
&kTabGroupsForTablets,
|
&kTabletTabSwitcherLongPressMenu,
|
||||||
&kDiscoverFeedMultiColumn,
|
&kTabletToolbarIncognitoStatus,
|
||||||
+ &blink::features::kShowAlwaysContextMenuOnLinks,
|
+ &blink::features::kShowAlwaysContextMenuOnLinks,
|
||||||
&kTabStripRedesign,
|
|
||||||
&kTabletToolbarReordering,
|
&kTabletToolbarReordering,
|
||||||
&kTabStripStartupRefactoring,
|
&kTabResumptionModuleAndroid,
|
||||||
|
&kTabStateFlatBuffer,
|
||||||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||||
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||||
@@ -312,6 +312,8 @@ public abstract class ChromeFeatureList {
|
@@ -342,6 +342,8 @@ public abstract class ChromeFeatureList {
|
||||||
public static final String METRICS_SETTINGS_ANDROID = "MetricsSettingsAndroid";
|
public static final String NOTIFICATION_ONE_TAP_UNSUBSCRIBE = "NotificationOneTapUnsubscribe";
|
||||||
public static final String MOVE_TOP_TOOLBAR_TO_BOTTOM =
|
public static final String MOVE_TOP_TOOLBAR_TO_BOTTOM =
|
||||||
"MoveTopToolbarToBottom";
|
"MoveTopToolbarToBottom";
|
||||||
+ public static final String SHOW_ALWAYS_CONTEXT_MENU_ON_LINKS =
|
+ public static final String SHOW_ALWAYS_CONTEXT_MENU_ON_LINKS =
|
||||||
@@ -216,27 +178,27 @@ 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_VARIANT = "NotificationPermissionVariant";
|
||||||
public static final String NOTIFICATION_PERMISSION_BOTTOM_SHEET =
|
public static final String NOTIFICATION_PERMISSION_BOTTOM_SHEET =
|
||||||
"NotificationPermissionBottomSheet";
|
"NotificationPermissionBottomSheet";
|
||||||
@@ -571,6 +573,8 @@ public abstract class ChromeFeatureList {
|
@@ -619,6 +621,8 @@ public abstract class ChromeFeatureList {
|
||||||
new CachedFlag(OMNIBOX_MATCH_TOOLBAR_AND_STATUS_BAR_COLOR, false);
|
newCachedFlag(OMNIBOX_MATCH_TOOLBAR_AND_STATUS_BAR_COLOR, false);
|
||||||
public static final CachedFlag sMoveTopToolbarToBottom =
|
public static final CachedFlag sMoveTopToolbarToBottom =
|
||||||
new CachedFlag(MOVE_TOP_TOOLBAR_TO_BOTTOM, false);
|
newCachedFlag(MOVE_TOP_TOOLBAR_TO_BOTTOM, false);
|
||||||
+ public static final CachedFlag sShowAlwaysContextMenuOnLinks =
|
+ public static final CachedFlag sShowAlwaysContextMenuOnLinks =
|
||||||
+ new CachedFlag(SHOW_ALWAYS_CONTEXT_MENU_ON_LINKS, false);
|
+ newCachedFlag(SHOW_ALWAYS_CONTEXT_MENU_ON_LINKS, false);
|
||||||
public static final CachedFlag sOmniboxModernizeVisualUpdate =
|
public static final CachedFlag sOmniboxModernizeVisualUpdate =
|
||||||
new CachedFlag(OMNIBOX_MODERNIZE_VISUAL_UPDATE, false);
|
newCachedFlag(OMNIBOX_MODERNIZE_VISUAL_UPDATE, true);
|
||||||
public static final CachedFlag sOmniboxMostVisitedTilesAddRecycledViewPool =
|
public static final CachedFlag sOptimizationGuidePushNotifications =
|
||||||
@@ -693,6 +697,7 @@ public abstract class ChromeFeatureList {
|
@@ -771,6 +775,7 @@ public abstract class ChromeFeatureList {
|
||||||
sTabStripRedesign,
|
sTabWindowManagerReportIndicesMismatch,
|
||||||
sTabStripStartupRefactoring,
|
sToolbarUseHardwareBitmapDraw,
|
||||||
sTabletToolbarReordering,
|
sUseChimeAndroidSdk,
|
||||||
+ sShowAlwaysContextMenuOnLinks,
|
+ sShowAlwaysContextMenuOnLinks,
|
||||||
sTabToGTSAnimation,
|
sUseLibunwindstackNativeUnwinderAndroid,
|
||||||
sToolbarUseHardwareBitmapDraw,
|
sVerticalAutomotiveBackButtonToolbar);
|
||||||
sUseChimeAndroidSdk,
|
|
||||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||||
@@ -1749,6 +1749,12 @@ Your Google account may have other forms of browsing history like searches and a
|
@@ -1638,6 +1638,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||||
<message name="IDS_MOVE_TOOLBAR_BOTTOM_SUMMARY" desc="Summary of the preference that allows the user to move toolbar on bottom.">
|
<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
|
Move toolbar to bottom
|
||||||
</message>
|
</message>
|
||||||
@@ -249,7 +211,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
|||||||
|
|
||||||
<!-- Safety check -->
|
<!-- Safety check -->
|
||||||
<message name="IDS_PREFS_SAFETY_CHECK" desc="Title of the Safety check element in settings, allowing the user to check multiple areas of browser safety. [CHAR_LIMIT=32]">
|
<message name="IDS_PREFS_SAFETY_CHECK" desc="Title of the Safety check element in settings, allowing the user to check multiple areas of browser safety. [CHAR_LIMIT=32]">
|
||||||
@@ -2750,6 +2756,9 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
@@ -2779,6 +2785,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>clear the Chrome da
|
||||||
<message name="IDS_CONTEXTMENU_OPEN_IN_NEW_CHROME_TAB" desc="Context sensitive menu item to open the selected link in a new Chrome tab from Chrome Custom Tab. [CHAR_LIMIT=30]">
|
<message name="IDS_CONTEXTMENU_OPEN_IN_NEW_CHROME_TAB" desc="Context sensitive menu item to open the selected link in a new Chrome tab from Chrome Custom Tab. [CHAR_LIMIT=30]">
|
||||||
Open in new Chrome tab
|
Open in new Chrome tab
|
||||||
</message>
|
</message>
|
||||||
@@ -262,7 +224,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
|||||||
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||||
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||||
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||||
@@ -26,6 +26,11 @@ found in the LICENSE file.
|
@@ -35,6 +35,11 @@ found in the LICENSE file.
|
||||||
android:summary="@string/page_zoom_always_show_preference_summary"
|
android:summary="@string/page_zoom_always_show_preference_summary"
|
||||||
android:title="@string/page_zoom_always_show_preference_title" />
|
android:title="@string/page_zoom_always_show_preference_title" />
|
||||||
|
|
||||||
@@ -277,23 +239,23 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil
|
|||||||
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
||||||
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
||||||
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
||||||
@@ -37,6 +37,7 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
|
@@ -35,6 +35,7 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
|
||||||
private BooleanPreferenceDelegate mForceTabletUIDelegate;
|
private BooleanPreferenceDelegate mForceTabletUIDelegate;
|
||||||
static final String PREF_FORCE_TABLET_UI = "force_tablet_ui";
|
static final String PREF_FORCE_TABLET_UI = "force_tablet_ui";
|
||||||
static final String PREF_MOVE_TOOLBAR_TO_BOTTOM = "move_toolbar_bottom";
|
static final String PREF_MOVE_TOOLBAR_TO_BOTTOM = "move_toolbar_bottom";
|
||||||
+ static final String PREF_ALWAYS_SHOW_CONTEXTMENU_ON_LINKS = "always_show_contextmenu_on_links";
|
+ static final String PREF_ALWAYS_SHOW_CONTEXTMENU_ON_LINKS = "always_show_contextmenu_on_links";
|
||||||
private TextScalePreference mTextScalePref;
|
private TextScalePreference mTextScalePref;
|
||||||
private PageZoomPreference mPageZoomDefaultZoomPref;
|
private PageZoomPreference mPageZoomDefaultZoomPref;
|
||||||
private ChromeSwitchPreference mPageZoomAlwaysShowPref;
|
private ChromeSwitchPreference mPageZoomIncludeOSAdjustment;
|
||||||
@@ -47,6 +48,7 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
|
@@ -45,6 +46,7 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
|
||||||
private BooleanPreferenceDelegate mAccessibilityTabSwitcherDelegate;
|
private BooleanPreferenceDelegate mReaderForAccessibilityDelegate;
|
||||||
private double mPageZoomLatestDefaultZoomPrefValue;
|
private double mPageZoomLatestDefaultZoomPrefValue;
|
||||||
private BooleanPreferenceDelegate mMoveTopToolbarToBottomDelegate;
|
private BooleanPreferenceDelegate mMoveTopToolbarToBottomDelegate;
|
||||||
+ private BooleanPreferenceDelegate mShowAlwaysContextMenuOnLinksDelegate;
|
+ private BooleanPreferenceDelegate mShowAlwaysContextMenuOnLinksDelegate;
|
||||||
|
|
||||||
private FontSizePrefs mFontSizePrefs;
|
private FontSizePrefs mFontSizePrefs;
|
||||||
private FontSizePrefsObserver mFontSizePrefsObserver = new FontSizePrefsObserver() {
|
private FontSizePrefsObserver mFontSizePrefsObserver =
|
||||||
@@ -143,6 +145,12 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
|
@@ -149,6 +151,12 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
|
||||||
mMoveToolbarToBottomPref.setChecked(mMoveTopToolbarToBottomDelegate.isEnabled());
|
mMoveToolbarToBottomPref.setChecked(mMoveTopToolbarToBottomDelegate.isEnabled());
|
||||||
mMoveToolbarToBottomPref.setOnPreferenceChangeListener(this);
|
mMoveToolbarToBottomPref.setOnPreferenceChangeListener(this);
|
||||||
|
|
||||||
@@ -304,56 +266,57 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
|||||||
+ mShowAlwaysContextMenuOnLinksPref.setOnPreferenceChangeListener(this);
|
+ mShowAlwaysContextMenuOnLinksPref.setOnPreferenceChangeListener(this);
|
||||||
+
|
+
|
||||||
Preference captions = findPreference(PREF_CAPTIONS);
|
Preference captions = findPreference(PREF_CAPTIONS);
|
||||||
captions.setOnPreferenceClickListener(preference -> {
|
captions.setOnPreferenceClickListener(
|
||||||
Intent intent = new Intent(Settings.ACTION_CAPTIONING_SETTINGS);
|
preference -> {
|
||||||
@@ -205,6 +213,9 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
|
@@ -226,6 +234,9 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
|
||||||
} else if (PREF_MOVE_TOOLBAR_TO_BOTTOM.equals(preference.getKey())) {
|
} else if (PREF_MOVE_TOOLBAR_TO_BOTTOM.equals(preference.getKey())) {
|
||||||
mMoveTopToolbarToBottomDelegate.setEnabled((Boolean) newValue);
|
mMoveTopToolbarToBottomDelegate.setEnabled((Boolean) newValue);
|
||||||
mDelegate.requestRestart(getActivity());
|
mDelegate.requestRestart(getActivity());
|
||||||
+ } else if (PREF_ALWAYS_SHOW_CONTEXTMENU_ON_LINKS.equals(preference.getKey())) {
|
+ } else if (PREF_ALWAYS_SHOW_CONTEXTMENU_ON_LINKS.equals(preference.getKey())) {
|
||||||
+ mShowAlwaysContextMenuOnLinksDelegate.setEnabled((Boolean) newValue);
|
+ mShowAlwaysContextMenuOnLinksDelegate.setEnabled((Boolean) newValue);
|
||||||
+ mDelegate.requestRestart(getActivity());
|
+ mDelegate.requestRestart(getActivity());
|
||||||
|
} else if (PREF_PAGE_ZOOM_INCLUDE_OS_ADJUSTMENT.equals(preference.getKey())) {
|
||||||
|
// TODO(mschillaci): Implement the override behavior for OS level.
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
|
||||||
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
|
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
|
||||||
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
|
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
|
||||||
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
|
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
|
||||||
@@ -33,6 +33,8 @@ public interface AccessibilitySettingsDelegate {
|
@@ -43,6 +43,8 @@ public interface AccessibilitySettingsDelegate {
|
||||||
|
|
||||||
BooleanPreferenceDelegate getMoveTopToolbarToBottomDelegate();
|
BooleanPreferenceDelegate getMoveTopToolbarToBottomDelegate();
|
||||||
|
|
||||||
+ BooleanPreferenceDelegate getShowAlwaysContextMenuOnLinksDelegate();
|
+ BooleanPreferenceDelegate getShowAlwaysContextMenuOnLinksDelegate();
|
||||||
+
|
+
|
||||||
/**
|
/** @return The BrowserContextHandle that should be used to read and update settings. */
|
||||||
* @return The BrowserContextHandle that should be used to read and update settings.
|
BrowserContextHandle getBrowserContextHandle();
|
||||||
*/
|
|
||||||
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
|
|
||||||
@@ -217,6 +217,10 @@ BASE_FEATURE(kBackgroundResourceFetch,
|
|
||||||
"BackgroundResourceFetch",
|
|
||||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
|
|
||||||
+BASE_FEATURE(kShowAlwaysContextMenuOnLinks,
|
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Add-setting-to-invert-tap-and-long-tap.inc b/cromite_flags/chrome/browser/about_flags_cc/Add-setting-to-invert-tap-and-long-tap.inc
|
||||||
+ "ShowAlwaysContextMenuOnLinks",
|
new file mode 100644
|
||||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
--- /dev/null
|
||||||
|
+++ b/cromite_flags/chrome/browser/about_flags_cc/Add-setting-to-invert-tap-and-long-tap.inc
|
||||||
|
@@ -0,0 +1,8 @@
|
||||||
|
+#ifdef FLAG_SECTION
|
||||||
+
|
+
|
||||||
// Used to configure a per-origin allowlist of performance.mark events that are
|
+ {"show-always-context-menu-on-links",
|
||||||
// permitted to be included in slow reports traces. See crbug.com/1181774.
|
+ "Always show contextmenu on links",
|
||||||
BASE_FEATURE(kBackgroundTracingPerformanceMark,
|
+ "Use accessibility settings to set it.", kOsAndroid,
|
||||||
diff --git a/third_party/blink/public/common/features.h b/third_party/blink/public/common/features.h
|
+ FEATURE_VALUE_TYPE(blink::features::kShowAlwaysContextMenuOnLinks)},
|
||||||
--- a/third_party/blink/public/common/features.h
|
+
|
||||||
+++ b/third_party/blink/public/common/features.h
|
+#endif
|
||||||
@@ -127,6 +127,8 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kBackForwardCacheWithKeepaliveRequest);
|
diff --git a/cromite_flags/third_party/blink/common/features_cc/Add-setting-to-invert-tap-and-long-tap.inc b/cromite_flags/third_party/blink/common/features_cc/Add-setting-to-invert-tap-and-long-tap.inc
|
||||||
|
new file mode 100644
|
||||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kBackgroundResourceFetch);
|
--- /dev/null
|
||||||
|
+++ b/cromite_flags/third_party/blink/common/features_cc/Add-setting-to-invert-tap-and-long-tap.inc
|
||||||
|
@@ -0,0 +1,3 @@
|
||||||
|
+CROMITE_FEATURE(kShowAlwaysContextMenuOnLinks,
|
||||||
|
+ "ShowAlwaysContextMenuOnLinks",
|
||||||
|
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||||
|
diff --git a/cromite_flags/third_party/blink/common/features_h/Add-setting-to-invert-tap-and-long-tap.inc b/cromite_flags/third_party/blink/common/features_h/Add-setting-to-invert-tap-and-long-tap.inc
|
||||||
|
new file mode 100644
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/cromite_flags/third_party/blink/common/features_h/Add-setting-to-invert-tap-and-long-tap.inc
|
||||||
|
@@ -0,0 +1 @@
|
||||||
+BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kShowAlwaysContextMenuOnLinks);
|
+BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kShowAlwaysContextMenuOnLinks);
|
||||||
+
|
|
||||||
// Used to configure a per-origin allowlist of performance.mark events that are
|
|
||||||
// permitted to be included in slow reports traces. See crbug.com/1181774.
|
|
||||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kBackgroundTracingPerformanceMark);
|
|
||||||
diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third_party/blink/renderer/core/html/html_anchor_element.cc
|
diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third_party/blink/renderer/core/html/html_anchor_element.cc
|
||||||
--- a/third_party/blink/renderer/core/html/html_anchor_element.cc
|
--- a/third_party/blink/renderer/core/html/html_anchor_element.cc
|
||||||
+++ b/third_party/blink/renderer/core/html/html_anchor_element.cc
|
+++ b/third_party/blink/renderer/core/html/html_anchor_element.cc
|
||||||
@@ -365,7 +328,7 @@ 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/page/page.h"
|
||||||
#include "third_party/blink/renderer/core/speculation_rules/document_speculation_rules.h"
|
#include "third_party/blink/renderer/core/speculation_rules/document_speculation_rules.h"
|
||||||
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
|
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
|
||||||
@@ -436,6 +437,17 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request,
|
@@ -467,6 +468,17 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request,
|
||||||
bool is_trusted,
|
bool is_trusted,
|
||||||
base::TimeTicks platform_time_stamp,
|
base::TimeTicks platform_time_stamp,
|
||||||
KURL completed_url) {
|
KURL completed_url) {
|
||||||
@@ -383,8 +346,8 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
|
|||||||
LocalDOMWindow* window = GetDocument().domWindow();
|
LocalDOMWindow* window = GetDocument().domWindow();
|
||||||
if (!window) {
|
if (!window) {
|
||||||
return;
|
return;
|
||||||
@@ -489,6 +501,15 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request,
|
@@ -527,6 +539,15 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request,
|
||||||
/*element=*/this));
|
/*element=*/this, request.HasUserGesture()));
|
||||||
}
|
}
|
||||||
|
|
||||||
+ if (!do_not_show_context_menu &&
|
+ if (!do_not_show_context_menu &&
|
||||||
@@ -399,8 +362,8 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
|
|||||||
Frame* target_frame =
|
Frame* target_frame =
|
||||||
frame->Tree().FindOrCreateFrameForNavigation(frame_request, target).frame;
|
frame->Tree().FindOrCreateFrameForNavigation(frame_request, target).frame;
|
||||||
|
|
||||||
@@ -508,7 +529,7 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request,
|
@@ -559,7 +580,7 @@ void HTMLAnchorElement::SetHovered(bool hovered) {
|
||||||
}
|
HTMLElement::SetHovered(hovered);
|
||||||
}
|
}
|
||||||
|
|
||||||
-void HTMLAnchorElement::HandleClick(Event& event) {
|
-void HTMLAnchorElement::HandleClick(Event& event) {
|
||||||
@@ -408,25 +371,26 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
|
|||||||
event.SetDefaultHandled();
|
event.SetDefaultHandled();
|
||||||
|
|
||||||
LocalDOMWindow* window = GetDocument().domWindow();
|
LocalDOMWindow* window = GetDocument().domWindow();
|
||||||
@@ -607,12 +628,12 @@ void HTMLAnchorElement::HandleClick(Event& event) {
|
@@ -656,13 +677,12 @@ void HTMLAnchorElement::HandleClick(Event& event) {
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
NavigationPolicy navigation_policy = NavigationPolicyFromEvent(&event);
|
|
||||||
- base::OnceClosure navigate_closure = WTF::BindOnce(
|
- base::OnceClosure navigate_closure = WTF::BindOnce(
|
||||||
- &HTMLAnchorElement::NavigateToHyperlink, WrapWeakPersistent(this),
|
- &HTMLAnchorElement::NavigateToHyperlink, WrapWeakPersistent(this),
|
||||||
- std::move(request), navigation_policy, event.isTrusted(),
|
- std::move(request), navigation_policy, event.isTrusted(),
|
||||||
- event.PlatformTimeStamp(), std::move(completed_url));
|
- event.PlatformTimeStamp(), std::move(completed_url));
|
||||||
|
-
|
||||||
if (navigation_policy == kNavigationPolicyDownload) {
|
if (navigation_policy == kNavigationPolicyDownload ||
|
||||||
|
navigation_policy == kNavigationPolicyLinkPreview) {
|
||||||
+ base::OnceClosure navigate_closure = WTF::BindOnce(
|
+ base::OnceClosure navigate_closure = WTF::BindOnce(
|
||||||
+ &HTMLAnchorElement::NavigateToHyperlink, WrapWeakPersistent(this),
|
+ &HTMLAnchorElement::NavigateToHyperlink, WrapWeakPersistent(this),
|
||||||
+ std::move(request), navigation_policy, event.isTrusted(),
|
+ std::move(request), navigation_policy, event.isTrusted(),
|
||||||
+ event.PlatformTimeStamp(), std::move(completed_url));
|
+ event.PlatformTimeStamp(), std::move(completed_url));
|
||||||
// If Alt is held down it will force a download, however, wait to see if
|
// We distinguish single/double click with some modifiers.
|
||||||
// this is an alt-double-click which should instead select the text of the
|
// See the comment of `EventHandler.delayed_navigation_task_handle_`.
|
||||||
// link.
|
auto task_handle = PostDelayedCancellableTask(
|
||||||
@@ -624,7 +645,9 @@ void HTMLAnchorElement::HandleClick(Event& event) {
|
@@ -672,7 +692,9 @@ void HTMLAnchorElement::HandleClick(Event& event) {
|
||||||
frame->GetEventHandler().SetDownloadModifierTaskHandle(
|
frame->GetEventHandler().SetDelayedNavigationTaskHandle(
|
||||||
std::move(task_handle));
|
std::move(task_handle));
|
||||||
} else {
|
} else {
|
||||||
- std::move(navigate_closure).Run();
|
- std::move(navigate_closure).Run();
|
||||||
@@ -439,15 +403,15 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
|
|||||||
diff --git a/third_party/blink/renderer/core/html/html_anchor_element.h b/third_party/blink/renderer/core/html/html_anchor_element.h
|
diff --git a/third_party/blink/renderer/core/html/html_anchor_element.h b/third_party/blink/renderer/core/html/html_anchor_element.h
|
||||||
--- a/third_party/blink/renderer/core/html/html_anchor_element.h
|
--- a/third_party/blink/renderer/core/html/html_anchor_element.h
|
||||||
+++ b/third_party/blink/renderer/core/html/html_anchor_element.h
|
+++ b/third_party/blink/renderer/core/html/html_anchor_element.h
|
||||||
@@ -101,6 +101,7 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils {
|
@@ -106,6 +106,7 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils {
|
||||||
void SendPings(const KURL& destination_url) const;
|
void SetHovered(bool hovered) override;
|
||||||
|
|
||||||
void Trace(Visitor*) const override;
|
void Trace(Visitor*) const override;
|
||||||
+ void HandleClick(Event&, bool do_not_show_context_menu = false);
|
+ void HandleClick(Event&, bool do_not_show_context_menu = false);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void ParseAttribute(const AttributeModificationParams&) override;
|
void ParseAttribute(const AttributeModificationParams&) override;
|
||||||
@@ -122,12 +123,16 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils {
|
@@ -130,12 +131,16 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils {
|
||||||
bool IsInteractiveContent() const final;
|
bool IsInteractiveContent() const final;
|
||||||
InsertionNotificationRequest InsertedInto(ContainerNode&) override;
|
InsertionNotificationRequest InsertedInto(ContainerNode&) override;
|
||||||
void RemovedFrom(ContainerNode&) override;
|
void RemovedFrom(ContainerNode&) override;
|
||||||
@@ -469,7 +433,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.h b/third_
|
|||||||
diff --git a/third_party/blink/renderer/core/html/html_image_element.cc b/third_party/blink/renderer/core/html/html_image_element.cc
|
diff --git a/third_party/blink/renderer/core/html/html_image_element.cc b/third_party/blink/renderer/core/html/html_image_element.cc
|
||||||
--- a/third_party/blink/renderer/core/html/html_image_element.cc
|
--- a/third_party/blink/renderer/core/html/html_image_element.cc
|
||||||
+++ b/third_party/blink/renderer/core/html/html_image_element.cc
|
+++ b/third_party/blink/renderer/core/html/html_image_element.cc
|
||||||
@@ -36,6 +36,7 @@
|
@@ -37,6 +37,7 @@
|
||||||
#include "third_party/blink/renderer/core/dom/events/event_dispatch_forbidden_scope.h"
|
#include "third_party/blink/renderer/core/dom/events/event_dispatch_forbidden_scope.h"
|
||||||
#include "third_party/blink/renderer/core/dom/node_traversal.h"
|
#include "third_party/blink/renderer/core/dom/node_traversal.h"
|
||||||
#include "third_party/blink/renderer/core/dom/shadow_root.h"
|
#include "third_party/blink/renderer/core/dom/shadow_root.h"
|
||||||
@@ -477,15 +441,15 @@ diff --git a/third_party/blink/renderer/core/html/html_image_element.cc b/third_
|
|||||||
#include "third_party/blink/renderer/core/frame/attribution_src_loader.h"
|
#include "third_party/blink/renderer/core/frame/attribution_src_loader.h"
|
||||||
#include "third_party/blink/renderer/core/frame/deprecation/deprecation.h"
|
#include "third_party/blink/renderer/core/frame/deprecation/deprecation.h"
|
||||||
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
|
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
|
||||||
@@ -62,6 +63,7 @@
|
@@ -65,6 +66,7 @@
|
||||||
#include "third_party/blink/renderer/core/media_type_names.h"
|
#include "third_party/blink/renderer/core/media_type_names.h"
|
||||||
#include "third_party/blink/renderer/core/page/chrome_client.h"
|
#include "third_party/blink/renderer/core/page/chrome_client.h"
|
||||||
#include "third_party/blink/renderer/core/page/page.h"
|
#include "third_party/blink/renderer/core/page/page.h"
|
||||||
+#include "third_party/blink/renderer/core/page/context_menu_controller.h"
|
+#include "third_party/blink/renderer/core/page/context_menu_controller.h"
|
||||||
#include "third_party/blink/renderer/core/paint/timing/paint_timing.h"
|
#include "third_party/blink/renderer/core/paint/timing/paint_timing.h"
|
||||||
#include "third_party/blink/renderer/core/probe/core_probes.h"
|
#include "third_party/blink/renderer/core/probe/core_probes.h"
|
||||||
#include "third_party/blink/renderer/core/style/content_data.h"
|
#include "third_party/blink/renderer/core/resize_observer/resize_observer_entry.h"
|
||||||
@@ -718,6 +720,21 @@ void HTMLImageElement::DidFinishLifecycleUpdate(
|
@@ -803,6 +805,21 @@ void HTMLImageElement::DidFinishLifecycleUpdate(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -510,7 +474,7 @@ diff --git a/third_party/blink/renderer/core/html/html_image_element.cc b/third_
|
|||||||
diff --git a/third_party/blink/renderer/core/html/html_image_element.h b/third_party/blink/renderer/core/html/html_image_element.h
|
diff --git a/third_party/blink/renderer/core/html/html_image_element.h b/third_party/blink/renderer/core/html/html_image_element.h
|
||||||
--- a/third_party/blink/renderer/core/html/html_image_element.h
|
--- a/third_party/blink/renderer/core/html/html_image_element.h
|
||||||
+++ b/third_party/blink/renderer/core/html/html_image_element.h
|
+++ b/third_party/blink/renderer/core/html/html_image_element.h
|
||||||
@@ -217,6 +217,8 @@ class CORE_EXPORT HTMLImageElement final
|
@@ -236,6 +236,8 @@ class CORE_EXPORT HTMLImageElement final
|
||||||
void DidAddUserAgentShadowRoot(ShadowRoot&) override;
|
void DidAddUserAgentShadowRoot(ShadowRoot&) override;
|
||||||
void AdjustStyle(ComputedStyleBuilder&) override;
|
void AdjustStyle(ComputedStyleBuilder&) override;
|
||||||
|
|
||||||
@@ -522,7 +486,7 @@ diff --git a/third_party/blink/renderer/core/html/html_image_element.h b/third_p
|
|||||||
diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/third_party/blink/renderer/core/page/context_menu_controller.cc
|
diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/third_party/blink/renderer/core/page/context_menu_controller.cc
|
||||||
--- a/third_party/blink/renderer/core/page/context_menu_controller.cc
|
--- a/third_party/blink/renderer/core/page/context_menu_controller.cc
|
||||||
+++ b/third_party/blink/renderer/core/page/context_menu_controller.cc
|
+++ b/third_party/blink/renderer/core/page/context_menu_controller.cc
|
||||||
@@ -171,14 +171,16 @@ void ContextMenuController::DocumentDetached(Document* document) {
|
@@ -225,14 +225,16 @@ void ContextMenuController::DocumentDetached(Document* document) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -542,7 +506,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t
|
|||||||
mouse_event->SetDefaultHandled();
|
mouse_event->SetDefaultHandled();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -414,7 +416,8 @@ bool ContextMenuController::ShouldShowContextMenuFromTouch(
|
@@ -450,7 +452,8 @@ bool ContextMenuController::ShouldShowContextMenuFromTouch(
|
||||||
bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
|
bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
|
||||||
const PhysicalOffset& point,
|
const PhysicalOffset& point,
|
||||||
WebMenuSourceType source_type,
|
WebMenuSourceType source_type,
|
||||||
@@ -552,7 +516,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t
|
|||||||
// Displaying the context menu in this function is a big hack as we don't
|
// Displaying the context menu in this function is a big hack as we don't
|
||||||
// have context, i.e. whether this is being invoked via a script or in
|
// have context, i.e. whether this is being invoked via a script or in
|
||||||
// response to user input (Mouse event WM_RBUTTONDOWN,
|
// response to user input (Mouse event WM_RBUTTONDOWN,
|
||||||
@@ -437,6 +440,15 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
|
@@ -473,6 +476,15 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
|
||||||
if (!result.InnerNodeOrImageMapImage())
|
if (!result.InnerNodeOrImageMapImage())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
@@ -568,9 +532,9 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t
|
|||||||
// Clear any previously set cached results if we are resetting the hit test
|
// Clear any previously set cached results if we are resetting the hit test
|
||||||
// result.
|
// result.
|
||||||
image_selection_cached_result_ = nullptr;
|
image_selection_cached_result_ = nullptr;
|
||||||
@@ -790,11 +802,13 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
|
@@ -831,11 +843,13 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
|
||||||
data.form_renderer_id = GetFormRendererId(result);
|
SetAutofillData(result.InnerNode(), data);
|
||||||
data.field_renderer_id = GetFieldRendererId(result);
|
SetPasswordManagerData(result.InnerElement(), data);
|
||||||
|
|
||||||
- const bool from_touch = source_type == kMenuSourceTouch ||
|
- const bool from_touch = source_type == kMenuSourceTouch ||
|
||||||
- source_type == kMenuSourceLongPress ||
|
- source_type == kMenuSourceLongPress ||
|
||||||
@@ -610,4 +574,3 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.h b/th
|
|||||||
bool ShouldShowContextMenuFromTouch(const ContextMenuData&);
|
bool ShouldShowContextMenuFromTouch(const ContextMenuData&);
|
||||||
|
|
||||||
--
|
--
|
||||||
2.25.1
|
|
||||||
@@ -7,68 +7,108 @@ Disabled by default.
|
|||||||
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||||
---
|
---
|
||||||
chrome/browser/about_flags.cc | 6 ++++
|
chrome/browser/about_flags.cc | 1 +
|
||||||
chrome/browser/flag_descriptions.cc | 5 +++
|
.../engagement/important_sites_util.cc | 9 +++++
|
||||||
chrome/browser/flag_descriptions.h | 3 ++
|
.../internal/tracker_impl.cc | 3 ++
|
||||||
|
.../public/feature_configurations.cc | 7 ++++
|
||||||
.../content/site_engagement_score.cc | 5 +++
|
.../content/site_engagement_score.cc | 5 +++
|
||||||
components/site_engagement/core/BUILD.gn | 6 ++++
|
components/site_engagement/core/BUILD.gn | 6 ++++
|
||||||
components/site_engagement/core/features.cc | 29 ++++++++++++++++
|
components/site_engagement/core/features.cc | 30 ++++++++++++++++
|
||||||
components/site_engagement/core/features.h | 34 +++++++++++++++++++
|
components/site_engagement/core/features.h | 34 +++++++++++++++++++
|
||||||
7 files changed, 88 insertions(+)
|
.../Add-site-engagement-flag.inc | 10 ++++++
|
||||||
|
9 files changed, 105 insertions(+)
|
||||||
create mode 100644 components/site_engagement/core/features.cc
|
create mode 100644 components/site_engagement/core/features.cc
|
||||||
create mode 100644 components/site_engagement/core/features.h
|
create mode 100644 components/site_engagement/core/features.h
|
||||||
|
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-site-engagement-flag.inc
|
||||||
|
|
||||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||||
--- a/chrome/browser/about_flags.cc
|
--- a/chrome/browser/about_flags.cc
|
||||||
+++ b/chrome/browser/about_flags.cc
|
+++ b/chrome/browser/about_flags.cc
|
||||||
@@ -146,6 +146,7 @@
|
@@ -153,6 +153,7 @@
|
||||||
#include "components/segmentation_platform/public/features.h"
|
|
||||||
#include "components/send_tab_to_self/features.h"
|
#include "components/send_tab_to_self/features.h"
|
||||||
#include "components/services/heap_profiling/public/cpp/switches.h"
|
#include "components/services/heap_profiling/public/cpp/switches.h"
|
||||||
|
#include "components/services/storage/public/cpp/buckets/bucket_info.h"
|
||||||
+#include "components/site_engagement/core/features.h"
|
+#include "components/site_engagement/core/features.h"
|
||||||
#include "components/shared_highlighting/core/common/shared_highlighting_features.h"
|
#include "components/shared_highlighting/core/common/shared_highlighting_features.h"
|
||||||
#include "components/signin/core/browser/dice_account_reconcilor_delegate.h"
|
#include "components/signin/core/browser/dice_account_reconcilor_delegate.h"
|
||||||
#include "components/signin/public/base/signin_buildflags.h"
|
#include "components/signin/public/base/signin_buildflags.h"
|
||||||
@@ -9437,6 +9438,11 @@ const FeatureEntry kFeatureEntries[] = {
|
diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/engagement/important_sites_util.cc
|
||||||
kLargeFaviconFromGoogleVariations,
|
--- a/chrome/browser/engagement/important_sites_util.cc
|
||||||
"LargeFaviconFromGoogle")},
|
+++ b/chrome/browser/engagement/important_sites_util.cc
|
||||||
|
@@ -32,6 +32,7 @@
|
||||||
|
#include "components/prefs/scoped_user_pref_update.h"
|
||||||
|
#include "components/site_engagement/content/site_engagement_score.h"
|
||||||
|
#include "components/site_engagement/content/site_engagement_service.h"
|
||||||
|
+#include "components/site_engagement/core/features.h"
|
||||||
|
#include "components/site_engagement/core/mojom/site_engagement_details.mojom.h"
|
||||||
|
#include "components/webapps/browser/banners/app_banner_settings_helper.h"
|
||||||
|
#include "net/base/registry_controlled_domains/registry_controlled_domain.h"
|
||||||
|
@@ -387,6 +388,10 @@ void ImportantSitesUtil::RegisterProfilePrefs(
|
||||||
|
// static
|
||||||
|
std::set<std::string> ImportantSitesUtil::GetInstalledRegisterableDomains(
|
||||||
|
Profile* profile) {
|
||||||
|
+ if (!base::FeatureList::IsEnabled(site_engagement::features::kSiteEngagement)) {
|
||||||
|
+ std::set<std::string> empty_list;
|
||||||
|
+ return empty_list;
|
||||||
|
+ }
|
||||||
|
std::set<GURL> installed_origins = GetOriginsWithInstalledWebApps(profile);
|
||||||
|
std::set<std::string> registerable_domains;
|
||||||
|
|
||||||
+ {"site-engagement",
|
@@ -401,6 +406,10 @@ std::vector<ImportantDomainInfo>
|
||||||
+ flag_descriptions::kSiteEngagementName,
|
ImportantSitesUtil::GetImportantRegisterableDomains(Profile* profile,
|
||||||
+ flag_descriptions::kSiteEngagementDescription, kOsAll,
|
size_t max_results) {
|
||||||
+ FEATURE_VALUE_TYPE(site_engagement::features::kSiteEngagement)},
|
SCOPED_UMA_HISTOGRAM_TIMER("Storage.ImportantSites.GenerationTime");
|
||||||
|
+ if (!base::FeatureList::IsEnabled(site_engagement::features::kSiteEngagement)) {
|
||||||
|
+ std::vector<ImportantDomainInfo> empty_list;
|
||||||
|
+ return empty_list;
|
||||||
|
+ }
|
||||||
|
std::map<std::string, ImportantDomainInfo> important_info;
|
||||||
|
std::map<GURL, double> engagement_map;
|
||||||
|
|
||||||
|
diff --git a/components/feature_engagement/internal/tracker_impl.cc b/components/feature_engagement/internal/tracker_impl.cc
|
||||||
|
--- a/components/feature_engagement/internal/tracker_impl.cc
|
||||||
|
+++ b/components/feature_engagement/internal/tracker_impl.cc
|
||||||
|
@@ -23,6 +23,7 @@
|
||||||
|
#include "base/task/single_thread_task_runner.h"
|
||||||
|
#include "base/time/clock.h"
|
||||||
|
#include "build/build_config.h"
|
||||||
|
+#include "components/site_engagement/core/features.h"
|
||||||
|
#include "components/feature_engagement/internal/availability_model_impl.h"
|
||||||
|
#include "components/feature_engagement/internal/blocked_iph_features.h"
|
||||||
|
#include "components/feature_engagement/internal/chrome_variations_configuration.h"
|
||||||
|
@@ -211,6 +212,8 @@ TrackerImpl::TrackerImpl(
|
||||||
|
TrackerImpl::~TrackerImpl() = default;
|
||||||
|
|
||||||
|
void TrackerImpl::NotifyEvent(const std::string& event) {
|
||||||
|
+ if (!base::FeatureList::IsEnabled(site_engagement::features::kSiteEngagement))
|
||||||
|
+ return;
|
||||||
|
event_model_->IncrementEvent(event, time_provider_->GetCurrentDay());
|
||||||
|
stats::RecordNotifyEvent(event, configuration_.get(),
|
||||||
|
event_model_->IsReady());
|
||||||
|
diff --git a/components/feature_engagement/public/feature_configurations.cc b/components/feature_engagement/public/feature_configurations.cc
|
||||||
|
--- a/components/feature_engagement/public/feature_configurations.cc
|
||||||
|
+++ b/components/feature_engagement/public/feature_configurations.cc
|
||||||
|
@@ -6,6 +6,7 @@
|
||||||
|
|
||||||
|
#include "base/strings/string_util.h"
|
||||||
|
#include "build/build_config.h"
|
||||||
|
+#include "components/site_engagement/core/features.h"
|
||||||
|
#include "components/feature_engagement/public/configuration.h"
|
||||||
|
#include "components/feature_engagement/public/event_constants.h"
|
||||||
|
#include "components/feature_engagement/public/feature_constants.h"
|
||||||
|
@@ -111,6 +112,12 @@ std::optional<FeatureConfig> GetClientSideFeatureConfig(
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
|
||||||
|
+ if (!base::FeatureList::IsEnabled(site_engagement::features::kSiteEngagement)) {
|
||||||
|
+ absl::optional<FeatureConfig> config = FeatureConfig();
|
||||||
|
+ config->valid = false;
|
||||||
|
+ return config;
|
||||||
|
+ }
|
||||||
+
|
+
|
||||||
#if BUILDFLAG(IS_ANDROID)
|
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
|
||||||
{"force-off-text-autosizing",
|
BUILDFLAG(IS_CHROMEOS)
|
||||||
flag_descriptions::kForceOffTextAutosizingName,
|
if (kIPHPasswordsAccountStorageFeature.name == feature->name) {
|
||||||
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
|
|
||||||
@@ -3691,6 +3691,11 @@ const char kSkipServiceWorkerFetchHandlerDescription[] =
|
|
||||||
"Skips starting the service worker and run the fetch handler if the fetch "
|
|
||||||
"handler is recognized as skippable.";
|
|
||||||
|
|
||||||
+const char kSiteEngagementName[] =
|
|
||||||
+ "Enable site engagement feature";
|
|
||||||
+const char kSiteEngagementDescription[] =
|
|
||||||
+ "Site Engagement Service provides information about how engaged a user is with a origin; this affects which NTP tiles are automatically created.";
|
|
||||||
+
|
|
||||||
const char kWebSQLAccessName[] = "Allows access to WebSQL APIs";
|
|
||||||
const char kWebSQLAccessDescription[] =
|
|
||||||
"The WebSQL API is enabled by default, but can be disabled here.";
|
|
||||||
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
|
|
||||||
@@ -2140,6 +2140,9 @@ extern const char kReduceAcceptLanguageDescription[];
|
|
||||||
extern const char kSkipServiceWorkerFetchHandlerName[];
|
|
||||||
extern const char kSkipServiceWorkerFetchHandlerDescription[];
|
|
||||||
|
|
||||||
+extern const char kSiteEngagementName[];
|
|
||||||
+extern const char kSiteEngagementDescription[];
|
|
||||||
+
|
|
||||||
extern const char kWebSQLAccessName[];
|
|
||||||
extern const char kWebSQLAccessDescription[];
|
|
||||||
|
|
||||||
diff --git a/components/site_engagement/content/site_engagement_score.cc b/components/site_engagement/content/site_engagement_score.cc
|
diff --git a/components/site_engagement/content/site_engagement_score.cc b/components/site_engagement/content/site_engagement_score.cc
|
||||||
--- a/components/site_engagement/content/site_engagement_score.cc
|
--- a/components/site_engagement/content/site_engagement_score.cc
|
||||||
+++ b/components/site_engagement/content/site_engagement_score.cc
|
+++ b/components/site_engagement/content/site_engagement_score.cc
|
||||||
@@ -113,7 +153,7 @@ diff --git a/components/site_engagement/core/features.cc b/components/site_engag
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/components/site_engagement/core/features.cc
|
+++ b/components/site_engagement/core/features.cc
|
||||||
@@ -0,0 +1,29 @@
|
@@ -0,0 +1,30 @@
|
||||||
+/*
|
+/*
|
||||||
+ This file is part of Bromite.
|
+ This file is part of Bromite.
|
||||||
+
|
+
|
||||||
@@ -138,8 +178,9 @@ new file mode 100644
|
|||||||
+namespace site_engagement {
|
+namespace site_engagement {
|
||||||
+namespace features {
|
+namespace features {
|
||||||
+
|
+
|
||||||
+const base::Feature kSiteEngagement{"SiteEngagement",
|
+CROMITE_FEATURE(kSiteEngagement,
|
||||||
+ base::FEATURE_DISABLED_BY_DEFAULT};
|
+ "SiteEngagement",
|
||||||
|
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||||
+
|
+
|
||||||
+} // namespace features
|
+} // namespace features
|
||||||
+} // namespace site_engagement
|
+} // namespace site_engagement
|
||||||
@@ -176,11 +217,25 @@ new file mode 100644
|
|||||||
+namespace features {
|
+namespace features {
|
||||||
+
|
+
|
||||||
+// Enable site engagement
|
+// Enable site engagement
|
||||||
+extern const base::Feature kSiteEngagement;
|
+BASE_DECLARE_FEATURE(kSiteEngagement);
|
||||||
+
|
+
|
||||||
+} // namespace features
|
+} // namespace features
|
||||||
+} // namespace site_engagement
|
+} // namespace site_engagement
|
||||||
+
|
+
|
||||||
+#endif // SITE_ENGAGEMENT_CORE_FEATURES_H_
|
+#endif // SITE_ENGAGEMENT_CORE_FEATURES_H_
|
||||||
|
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Add-site-engagement-flag.inc b/cromite_flags/chrome/browser/about_flags_cc/Add-site-engagement-flag.inc
|
||||||
|
new file mode 100644
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/cromite_flags/chrome/browser/about_flags_cc/Add-site-engagement-flag.inc
|
||||||
|
@@ -0,0 +1,10 @@
|
||||||
|
+#ifdef FLAG_SECTION
|
||||||
|
+
|
||||||
|
+ {"site-engagement",
|
||||||
|
+ "Enable site engagement feature",
|
||||||
|
+ "Site Engagement Service provides information about how "
|
||||||
|
+ "engaged a user is with a origin; this affects which NTP "
|
||||||
|
+ "tiles are automatically created.", kOsAll,
|
||||||
|
+ FEATURE_VALUE_TYPE(site_engagement::features::kSiteEngagement)},
|
||||||
|
+
|
||||||
|
+#endif
|
||||||
--
|
--
|
||||||
2.25.1
|
|
||||||
|
|||||||
@@ -12,25 +12,25 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||||
@@ -81,6 +81,7 @@ import org.chromium.components.browser_ui.settings.CustomDividerFragment;
|
@@ -86,6 +86,7 @@ import org.chromium.components.browser_ui.settings.CustomDividerFragment;
|
||||||
import org.chromium.components.browser_ui.settings.FragmentSettingsLauncher;
|
import org.chromium.components.browser_ui.settings.FragmentSettingsLauncher;
|
||||||
import org.chromium.components.browser_ui.settings.PaddedDividerItemDecoration;
|
import org.chromium.components.browser_ui.settings.PaddedItemDecorationWithDivider;
|
||||||
import org.chromium.components.browser_ui.settings.SettingsLauncher;
|
import org.chromium.components.browser_ui.settings.SettingsLauncher;
|
||||||
+import org.chromium.components.browser_ui.settings.SettingsUtils;
|
+import org.chromium.components.browser_ui.settings.SettingsUtils;
|
||||||
|
import org.chromium.components.browser_ui.site_settings.BaseSiteSettingsFragment;
|
||||||
import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory;
|
import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory;
|
||||||
import org.chromium.components.browser_ui.site_settings.SiteSettingsPreferenceFragment;
|
|
||||||
import org.chromium.components.browser_ui.util.TraceEventVectorDrawableCompat;
|
import org.chromium.components.browser_ui.util.TraceEventVectorDrawableCompat;
|
||||||
@@ -396,8 +397,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
@@ -457,8 +458,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
||||||
finish();
|
finish();
|
||||||
return true;
|
return true;
|
||||||
} else if (item.getItemId() == R.id.menu_id_general_help) {
|
} else if (item.getItemId() == R.id.menu_id_general_help) {
|
||||||
- HelpAndFeedbackLauncherImpl.getForProfile(mProfile).show(
|
- HelpAndFeedbackLauncherImpl.getForProfile(mProfile)
|
||||||
- this, getString(R.string.help_context_settings), null);
|
- .show(this, getString(R.string.help_context_settings), null);
|
||||||
+ if (mainFragment instanceof SettingsUtils.ISupportHelpAndFeedback) {
|
+ if (mainFragment instanceof SettingsUtils.ISupportHelpAndFeedback) {
|
||||||
+ ((SettingsUtils.ISupportHelpAndFeedback)mainFragment).onHelpAndFeebackPressed();
|
+ ((SettingsUtils.ISupportHelpAndFeedback)mainFragment).onHelpAndFeebackPressed();
|
||||||
+ } else {
|
+ } else {
|
||||||
+ HelpAndFeedbackLauncherImpl.getForProfile(mProfile).show(
|
+ HelpAndFeedbackLauncherImpl.getForProfile(mProfile)
|
||||||
+ this, getString(R.string.help_context_settings), null);
|
+ .show(this, getString(R.string.help_context_settings), null);
|
||||||
+ }
|
+ }
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -38,7 +38,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
|
|||||||
diff --git a/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsUtils.java b/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsUtils.java
|
diff --git a/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsUtils.java b/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsUtils.java
|
||||||
--- a/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsUtils.java
|
--- a/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsUtils.java
|
||||||
+++ b/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsUtils.java
|
+++ b/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsUtils.java
|
||||||
@@ -97,4 +97,8 @@ public class SettingsUtils {
|
@@ -91,4 +91,8 @@ public class SettingsUtils {
|
||||||
ToolbarUtils.setOverflowMenuVisibility(toolbar, visibility);
|
ToolbarUtils.setOverflowMenuVisibility(toolbar, visibility);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -48,4 +48,3 @@ diff --git a/components/browser_ui/settings/android/java/src/org/chromium/compon
|
|||||||
+ }
|
+ }
|
||||||
}
|
}
|
||||||
--
|
--
|
||||||
2.25.1
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user