Compare commits

..

6 commits

Author SHA1 Message Date
Carmelo Messina
6f40f8341a Use helper macros to define base::Features
see https://bugs.chromium.org/p/chromium/issues/detail?id=1364289
2023-01-28 00:57:29 +01:00
Carmelo Messina
97ee58b5ae Restoring ua reduction 2023-01-28 00:54:16 +01:00
Carmelo Messina
52e270dc86 fix some lost changes 2023-01-27 11:33:41 +01:00
Carmelo Messina
a4b741525d Fixes the order of the tabs in the tablist 2023-01-27 11:31:23 +01:00
Mikhail Krassavin
3b786d51d9 Increase maximum adblock filter file size to 20MB
I've made my own generated filter file, which doesn't fit into 10MB. The author of [filtrite](https://github.com/xarantolus/filtrite#using-your-own-filter-lists) also mentions this limitation. Hopefully, 20 MB is more than enough for everyone.
2023-01-27 11:22:16 +01:00
csagan5
a0daaacf6d Release 108.0.5359.156 2022-12-19 22:06:09 +01:00
28 changed files with 383 additions and 188 deletions

View file

@ -1,3 +1,5 @@
# 108.0.5359.156
# 108.0.5359.109
* reintroduce adaptive-button-in-top-toolbar-customization flag

View file

@ -1 +1 @@
b6d07724c828d1d3fc0e2bae1667e861fc8c0a1b-
56775bdf8d12f9d3e1a99fcf1dde6a7417522963-

View file

@ -1 +1 @@
108.0.5359.109
108.0.5359.156

View file

@ -1 +1 @@
c92709d6d921374548d4640bb275b66d4c344210
1b133d62395a6ad11c65997a1c24acffb3f73d9e

View file

@ -30,9 +30,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
gpu/config/gpu_workaround_list.txt | 1 +
gpu/ipc/service/gpu_init.cc | 5 +++++
gpu/ipc/service/stream_texture_android.cc | 11 ++++++++++-
media/base/media_switches.cc | 4 ++++
media/base/media_switches.cc | 5 +++++
media/base/media_switches.h | 1 +
12 files changed, 65 insertions(+), 5 deletions(-)
12 files changed, 66 insertions(+), 5 deletions(-)
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
@ -231,13 +231,14 @@ diff --git a/gpu/ipc/service/stream_texture_android.cc b/gpu/ipc/service/stream_
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
--- a/media/base/media_switches.cc
+++ b/media/base/media_switches.cc
@@ -750,6 +750,10 @@ BASE_FEATURE(kHardwareSecureDecryptionExperiment,
@@ -750,6 +750,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)
+const base::Feature kAImageReaderVideoOutput{"AImageReaderVideoOutput",
+ base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kAImageReaderVideoOutput,
+ "AImageReaderVideoOutput",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+
// in playback failures.
BASE_FEATURE(kHardwareSecureDecryptionFallback,
@ -249,7 +250,7 @@ diff --git a/media/base/media_switches.h b/media/base/media_switches.h
MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiVp9kSVCHWEncoding);
#endif // defined(ARCH_CPU_X86_FAMILY) && BUILDFLAG(IS_CHROMEOS)
MEDIA_EXPORT BASE_DECLARE_FEATURE(kVideoBlitColorAccuracy);
+MEDIA_EXPORT extern const base::Feature kAImageReaderVideoOutput;
+MEDIA_EXPORT BASE_DECLARE_FEATURE(kAImageReaderVideoOutput);
MEDIA_EXPORT BASE_DECLARE_FEATURE(kVp9kSVCHWDecoding);
MEDIA_EXPORT BASE_DECLARE_FEATURE(kWakeLockOptimisationHiddenMuted);
MEDIA_EXPORT BASE_DECLARE_FEATURE(kWebContentsCaptureHiDpi);

View file

@ -115,14 +115,14 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
--- a/chrome/browser/flags/android/chrome_feature_list.h
+++ b/chrome/browser/flags/android/chrome_feature_list.h
@@ -12,6 +12,7 @@
namespace chrome {
namespace android {
+extern const base::Feature kAllowUserCertificates;
// Alphabetical:
BASE_DECLARE_FEATURE(kAdaptiveButtonInTopToolbar);
@@ -17,6 +17,7 @@ BASE_DECLARE_FEATURE(kAdaptiveButtonInTopToolbar);
BASE_DECLARE_FEATURE(kAdaptiveButtonInTopToolbarCustomizationV2);
BASE_DECLARE_FEATURE(kAddToHomescreenIPH);
BASE_DECLARE_FEATURE(kAllowNewIncognitoTabIntents);
+BASE_DECLARE_FEATURE(kAllowUserCertificates);
BASE_DECLARE_FEATURE(kAndroidScrollOptimizations);
BASE_DECLARE_FEATURE(kAndroidSearchEngineChoiceNotification);
BASE_DECLARE_FEATURE(kAssistantConsentModal);
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java

View file

@ -8,10 +8,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/about_flags.cc | 4 ++++
chrome/browser/flag_descriptions.cc | 4 ++++
chrome/browser/flag_descriptions.h | 3 +++
net/base/features.cc | 3 +++
net/base/features.cc | 4 ++++
net/base/features.h | 2 ++
net/url_request/url_request_http_job.cc | 4 ++++
6 files changed, 20 insertions(+)
6 files changed, 21 insertions(+)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
@ -57,12 +57,13 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc
+++ b/net/base/features.cc
@@ -113,6 +113,9 @@ BASE_FEATURE(kPartitionNelAndReportingByNetworkIsolationKey,
@@ -113,6 +113,10 @@ BASE_FEATURE(kPartitionNelAndReportingByNetworkIsolationKey,
"PartitionNelAndReportingByNetworkIsolationKey", // must be enabled
base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
+const base::Feature kIsCleartextPermitted{"IsCleartextPermitted",
+ base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kIsCleartextPermitted,
+ "IsCleartextPermitted",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+
BASE_FEATURE(kEnableDoubleKeyNetworkAnonymizationKey,
"EnableDoubleKeyNetworkAnonymizationKey",
@ -74,7 +75,7 @@ diff --git a/net/base/features.h b/net/base/features.h
// origin requests are restricted to contain at most the source origin.
NET_EXPORT BASE_DECLARE_FEATURE(kCapReferrerToOriginOnCrossOrigin);
+NET_EXPORT extern const base::Feature kIsCleartextPermitted;
+NET_EXPORT BASE_DECLARE_FEATURE(kIsCleartextPermitted);
+
// Support for altering the parameters used for DNS transaction timeout. See
// ResolveContext::SecureTransactionTimeout().

View file

@ -1306,7 +1306,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser
BASE_DECLARE_FEATURE(kTabStripRedesign);
BASE_DECLARE_FEATURE(kTabSwitcherOnReturn);
BASE_DECLARE_FEATURE(kTabToGTSAnimation);
+extern const base::Feature kBookmarksExportUseSaf;
+BASE_DECLARE_FEATURE(kBookmarksExportUseSaf);
BASE_DECLARE_FEATURE(kTestDefaultDisabled);
BASE_DECLARE_FEATURE(kTestDefaultEnabled);
BASE_DECLARE_FEATURE(kToolbarMicIphAndroid);

View file

@ -9,8 +9,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/flag_descriptions.h | 3 +++
.../browser/loader/browser_initiated_resource_request.cc | 8 ++++++++
services/network/public/cpp/features.cc | 5 +++++
services/network/public/cpp/features.h | 3 ++-
6 files changed, 26 insertions(+), 2 deletions(-)
services/network/public/cpp/features.h | 2 +-
6 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
@ -88,10 +88,10 @@ diff --git a/services/network/public/cpp/features.cc b/services/network/public/c
"ExpectCTReporting",
base::FEATURE_ENABLED_BY_DEFAULT);
+
+// Enable save-data header separately (without enabled data reduction service).
+const base::Feature kEnableSaveDataHeader{"EnableSaveDataHeader",
+ base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kEnableSaveDataHeader,
+ "EnableSaveDataHeader",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+
BASE_FEATURE(kNetworkErrorLogging,
"NetworkErrorLogging",
@ -99,13 +99,12 @@ diff --git a/services/network/public/cpp/features.cc b/services/network/public/c
diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h
--- a/services/network/public/cpp/features.h
+++ b/services/network/public/cpp/features.h
@@ -51,7 +51,8 @@ extern const base::FeatureParam<TrustTokenOriginTrialSpec>
@@ -50,7 +50,7 @@ extern const base::FeatureParam<TrustTokenOriginTrialSpec>
kTrustTokenOperationsRequiringOriginTrial;
COMPONENT_EXPORT(NETWORK_CPP)
extern const base::FeatureParam<bool> kPlatformProvidedTrustTokenIssuance;
-
+COMPONENT_EXPORT(NETWORK_CPP)
+extern const base::Feature kEnableSaveDataHeader;
+COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kEnableSaveDataHeader);
COMPONENT_EXPORT(NETWORK_CPP)
BASE_DECLARE_FEATURE(kWebSocketReassembleShortMessages);

View file

@ -10,8 +10,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/subresource_filter/tools/BUILD.gn | 6 ++++++
.../url_formatter/spoof_checks/top_domains/BUILD.gn | 3 ++-
net/dns/host_resolver_manager.cc | 9 ++++++++-
services/network/public/cpp/features.cc | 4 ++++
services/network/public/cpp/features.h | 2 ++
services/network/public/cpp/features.cc | 5 +++++
services/network/public/cpp/features.h | 1 +
8 files changed, 33 insertions(+), 2 deletions(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
@ -128,13 +128,14 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
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
@@ -38,6 +38,10 @@ BASE_FEATURE(kThrottleDelayable,
@@ -38,6 +38,11 @@ BASE_FEATURE(kThrottleDelayable,
"ThrottleDelayable",
base::FEATURE_ENABLED_BY_DEFAULT);
+// Enable IPv6 ping probes to RIPE DNS.
+const base::Feature kIPv6Probing{"IPv6Probing",
+ base::FEATURE_ENABLED_BY_DEFAULT};
+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
@ -142,14 +143,13 @@ diff --git a/services/network/public/cpp/features.cc b/services/network/public/c
diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h
--- a/services/network/public/cpp/features.h
+++ b/services/network/public/cpp/features.h
@@ -18,6 +18,8 @@ COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kNetworkErrorLogging);
@@ -17,6 +17,7 @@ COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kExpectCTReporting);
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)
+extern const base::Feature kIPv6Probing;
+COMPONENT_EXPORT(NETWORK_CPP)
BASE_DECLARE_FEATURE(kDelayRequestsOnMultiplexedConnections);
COMPONENT_EXPORT(NETWORK_CPP)
BASE_DECLARE_FEATURE(kPauseBrowserInitiatedHeavyTrafficForP2P);
--
2.25.1

View file

@ -4,17 +4,17 @@ Subject: Add flag to disable vibration
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/about_flags.cc | 4 ++++
chrome/browser/flag_descriptions.cc | 3 +++
chrome/browser/flag_descriptions.h | 2 ++
content/child/runtime_features.cc | 1 +
content/public/common/content_features.cc | 4 ++++
content/public/common/content_features.h | 2 ++
third_party/blink/public/platform/web_runtime_features.h | 1 +
.../blink/renderer/modules/vibration/vibration_controller.cc | 3 +++
.../blink/renderer/platform/exported/web_runtime_features.cc | 4 ++++
.../blink/renderer/platform/runtime_enabled_features.json5 | 4 ++++
10 files changed, 28 insertions(+)
chrome/browser/about_flags.cc | 4 ++++
chrome/browser/flag_descriptions.cc | 3 +++
chrome/browser/flag_descriptions.h | 2 ++
content/child/runtime_features.cc | 1 +
content/public/common/content_features.cc | 5 +++++
content/public/common/content_features.h | 2 ++
third_party/blink/public/platform/web_runtime_features.h | 1 +
.../blink/renderer/modules/vibration/vibration_controller.cc | 3 +++
.../blink/renderer/platform/exported/web_runtime_features.cc | 4 ++++
.../blink/renderer/platform/runtime_enabled_features.json5 | 4 ++++
10 files changed, 29 insertions(+)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
@ -69,13 +69,14 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc
@@ -130,6 +130,10 @@ BASE_FEATURE(kBackForwardCacheMemoryControls,
@@ -130,6 +130,11 @@ BASE_FEATURE(kBackForwardCacheMemoryControls,
#endif
);
+// Enables vibration; an user gesture will still be required if enabled.
+const base::Feature kVibration{"Vibration",
+ base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kVibration,
+ "Vibration",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+
// When this feature is enabled, private network requests initiated from
// non-secure contexts in the `public` address space are blocked.
@ -87,7 +88,7 @@ diff --git a/content/public/common/content_features.h b/content/public/common/co
kCompositorLockTimeout;
#endif // BUILDFLAG(IS_ANDROID)
+CONTENT_EXPORT extern const base::Feature kVibration;
+CONTENT_EXPORT BASE_DECLARE_FEATURE(kVibration);
+
#if BUILDFLAG(IS_MAC)

View file

@ -491,14 +491,14 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmarks/browser/bookmark_codec.h
--- a/components/bookmarks/browser/bookmark_codec.h
+++ b/components/bookmarks/browser/bookmark_codec.h
@@ -48,6 +48,7 @@ class BookmarkCodec {
base::Value Encode(
@@ -49,6 +49,7 @@ class BookmarkCodec {
const BookmarkNode* bookmark_bar_node,
const BookmarkNode* other_folder_node,
+ const BookmarkNode* tabs_folder_node,
const BookmarkNode* mobile_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);
@@ -62,6 +63,7 @@ class BookmarkCodec {
BookmarkNode* bb_node,
BookmarkNode* other_folder_node,

View file

@ -41273,7 +41273,7 @@ diff --git a/tools/mb/mb.py b/tools/mb/mb.py
diff --git a/tools/mb/mb_config.pyl b/tools/mb/mb_config.pyl
--- a/tools/mb/mb_config.pyl
+++ b/tools/mb/mb_config.pyl
@@ -4499,11 +4499,11 @@
@@ -4488,11 +4488,11 @@
# Used to pass the list of files to instrument for coverage to the compile
# wrapper. See:

View file

@ -1277,7 +1277,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser
BASE_DECLARE_FEATURE(kHandleMediaIntents);
BASE_DECLARE_FEATURE(kImmersiveUiMode);
BASE_DECLARE_FEATURE(kIncognitoReauthenticationForAndroid);
+extern const base::Feature kInlineUpdateFlow;
+BASE_DECLARE_FEATURE(kInlineUpdateFlow);
BASE_DECLARE_FEATURE(kIncognitoScreenshot);
BASE_DECLARE_FEATURE(kInfobarScrollOptimization);
BASE_DECLARE_FEATURE(kImprovedA2HS);

View file

@ -1157,8 +1157,8 @@ new file mode 100644
+
+namespace adblock_updater {
+
+// maximum 10MB for the filters file
+const int kMaxBodySize = 1024 * 1024 * 10;
+// maximum 20MB for the filters file
+const int kMaxBodySize = 1024 * 1024 * 20;
+
+const int kMaxRetriesOnNetworkChange = 3;
+

View file

@ -28,13 +28,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/about_flags.cc | 6 +++
chrome/browser/flag_descriptions.cc | 8 ++++
chrome/browser/flag_descriptions.h | 6 +++
net/base/features.cc | 6 +++
net/base/features.cc | 8 ++++
net/base/features.h | 6 +++
net/http/http_network_session.cc | 1 +
net/quic/quic_stream_factory.cc | 35 ++++++++++++++++-
net/socket/ssl_client_socket_impl.cc | 59 ++++++++++++++++++++++++++++
net/socket/ssl_client_socket_impl.h | 2 +
9 files changed, 128 insertions(+), 1 deletion(-)
9 files changed, 130 insertions(+), 1 deletion(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
@ -89,15 +89,17 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc
+++ b/net/base/features.cc
@@ -61,6 +61,12 @@ const base::FeatureParam<base::TimeDelta> kUseDnsHttpsSvcbSecureExtraTimeMin{
@@ -61,6 +61,14 @@ const base::FeatureParam<base::TimeDelta> kUseDnsHttpsSvcbSecureExtraTimeMin{
&kUseDnsHttpsSvcb, "UseDnsHttpsSvcbSecureExtraTimeMin",
base::Milliseconds(5)};
+const base::Feature kDisableTLSResumption{"DisableTLSResumption",
+ base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kDisableTLSResumption,
+ "DisableTLSResumption",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+
+const base::Feature kLogTLSResumption{"LogTLSResumption",
+ base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kLogTLSResumption,
+ "LogTLSResumption",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+
BASE_FEATURE(kUseDnsHttpsSvcbAlpn,
"UseDnsHttpsSvcbAlpn",
@ -110,10 +112,10 @@ diff --git a/net/base/features.h b/net/base/features.h
NET_EXPORT BASE_DECLARE_FEATURE(kEnableTLS13EarlyData);
+// Disables TLS resumption.
+NET_EXPORT extern const base::Feature kDisableTLSResumption;
+NET_EXPORT BASE_DECLARE_FEATURE(kDisableTLSResumption);
+
+// Log TLS resumption.
+NET_EXPORT extern const base::Feature kLogTLSResumption;
+NET_EXPORT BASE_DECLARE_FEATURE(kLogTLSResumption);
+
// Enables the TLS Encrypted ClientHello feature.
// https://datatracker.ietf.org/doc/html/draft-ietf-tls-esni-13

View file

@ -6,6 +6,7 @@ Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../chrome_hints_manager.cc | 1 +
.../optimization_guide_keyed_service.cc | 1 -
chrome/common/chrome_features.cc | 8 ++--
.../optimization_guide/core/hints_fetcher.cc | 1 +
.../optimization_guide/core/hints_manager.cc | 5 +++
@ -15,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/optimization_guide/features.gni | 4 +-
components/permissions/features.cc | 8 ++--
third_party/blink/common/features.cc | 8 +---
10 files changed, 40 insertions(+), 40 deletions(-)
11 files changed, 40 insertions(+), 41 deletions(-)
diff --git a/chrome/browser/optimization_guide/chrome_hints_manager.cc b/chrome/browser/optimization_guide/chrome_hints_manager.cc
--- a/chrome/browser/optimization_guide/chrome_hints_manager.cc
@ -28,6 +29,17 @@ diff --git a/chrome/browser/optimization_guide/chrome_hints_manager.cc b/chrome/
if (prediction->prediction_source() !=
NavigationPredictorKeyedService::PredictionSource::
diff --git a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
--- a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
+++ b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
@@ -320,7 +320,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
void OptimizationGuideKeyedService::RegisterOptimizationTypes(
const std::vector<optimization_guide::proto::OptimizationType>&
optimization_types) {
- hints_manager_->RegisterOptimizationTypes(optimization_types);
}
optimization_guide::OptimizationGuideDecision
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

View file

@ -17,11 +17,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../aggregatable_report_sender.cc | 15 +++++++--------
.../attribution_reporting/attribution_host.cc | 1 +
.../attribution_report_network_sender.cc | 15 ++++++++-------
.../attribution_storage_sql.cc | 8 +++++---
content/browser/storage_partition_impl.cc | 7 +------
content/public/browser/navigation_controller.cc | 1 -
third_party/blink/common/features.cc | 4 ++--
.../platform/runtime_enabled_features.json5 | 7 +++++++
10 files changed, 32 insertions(+), 33 deletions(-)
11 files changed, 37 insertions(+), 36 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
@ -142,6 +143,31 @@ diff --git a/content/browser/attribution_reporting/attribution_report_network_se
network::SimpleURLLoader* loader = it->get();
// Consider a non-200 HTTP code as a non-internal error.
diff --git a/content/browser/attribution_reporting/attribution_storage_sql.cc b/content/browser/attribution_reporting/attribution_storage_sql.cc
--- a/content/browser/attribution_reporting/attribution_storage_sql.cc
+++ b/content/browser/attribution_reporting/attribution_storage_sql.cc
@@ -422,6 +422,8 @@ DestinationLimitResult GetDestinationLimitResult(
}
}
+bool g_run_in_memory = true;
+
} // namespace
// static
@@ -433,9 +435,9 @@ bool AttributionStorageSql::DeleteStorageForTesting(
AttributionStorageSql::AttributionStorageSql(
const base::FilePath& user_data_directory,
std::unique_ptr<AttributionStorageDelegate> delegate)
- : path_to_database_(user_data_directory.empty()
- ? base::FilePath()
- : DatabasePath(user_data_directory)),
+ : path_to_database_(user_data_directory.empty() || g_run_in_memory
+ ? base::FilePath()
+ : DatabasePath(user_data_directory)),
delegate_(std::move(delegate)),
rate_limit_table_(delegate_.get()) {
DCHECK(delegate_);
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

View file

@ -12,7 +12,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java b/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java
--- a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java
+++ b/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java
@@ -48,13 +48,7 @@ public final class FeedFeatures {
@@ -50,13 +50,7 @@ public final class FeedFeatures {
* the user is signed in and confirms it's not a child profile.
*/
public static boolean isWebFeedUIEnabled() {

View file

@ -68,7 +68,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser
BASE_DECLARE_FEATURE(kCacheDeprecatedSystemLocationSetting);
BASE_DECLARE_FEATURE(kChromeNewDownloadTab);
BASE_DECLARE_FEATURE(kChromeShareLongScreenshot);
+extern const base::Feature kChromeSmartSelection;
+BASE_DECLARE_FEATURE(kChromeSmartSelection);
BASE_DECLARE_FEATURE(kChromeShareScreenshot);
BASE_DECLARE_FEATURE(kChromeSharingHub);
BASE_DECLARE_FEATURE(kChromeSharingHubLaunchAdjacent);

View file

@ -13,11 +13,11 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/flag_descriptions.h | 3 +++
chrome/browser/ui/prefs/prefs_tab_helper.cc | 2 +-
content/child/runtime_features.cc | 1 +
third_party/blink/common/features.cc | 4 ++++
third_party/blink/common/features.cc | 5 +++++
third_party/blink/public/common/features.h | 1 +
third_party/blink/renderer/core/dom/document.cc | 5 +++++
.../blink/renderer/platform/runtime_enabled_features.json5 | 5 ++---
10 files changed, 31 insertions(+), 4 deletions(-)
10 files changed, 32 insertions(+), 4 deletions(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
@ -102,13 +102,14 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
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
@@ -496,6 +496,10 @@ BASE_FEATURE(kDropInputEventsBeforeFirstPaint,
@@ -496,6 +496,11 @@ BASE_FEATURE(kDropInputEventsBeforeFirstPaint,
"DropInputEventsBeforeFirstPaint",
base::FEATURE_DISABLED_BY_DEFAULT);
+// Enable text snippets in URL fragments. https://crbug.com/919204.
+const base::Feature kTextFragmentAnchor{"TextFragmentAnchor",
+ base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kTextFragmentAnchor,
+ "TextFragmentAnchor",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+
// File handling icons. https://crbug.com/1218213
BASE_FEATURE(kFileHandlingIcons,
@ -120,7 +121,7 @@ diff --git a/third_party/blink/public/common/features.h b/third_party/blink/publ
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kDecodeLossyWebPImagesToYUV);
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kWebFontsCacheAwareTimeoutAdaption);
+BLINK_COMMON_EXPORT extern const base::Feature kTextFragmentAnchor;
+BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kTextFragmentAnchor);
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kAudioWorkletThreadRealtimePriority);

View file

@ -375,14 +375,14 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
--- a/chrome/browser/flags/android/chrome_feature_list.h
+++ b/chrome/browser/flags/android/chrome_feature_list.h
@@ -141,6 +141,7 @@ BASE_DECLARE_FEATURE(kSearchEnginePromoExistingDeviceV2);
BASE_DECLARE_FEATURE(kSearchEnginePromoNewDevice);
@@ -142,6 +142,7 @@ BASE_DECLARE_FEATURE(kSearchEnginePromoNewDevice);
BASE_DECLARE_FEATURE(kSearchEnginePromoNewDeviceV2);
BASE_DECLARE_FEATURE(kShareButtonInTopToolbar);
+extern const base::Feature kSharedIntentUI;
extern const base::Feature kSearchReadyOmniboxFeature;
BASE_DECLARE_FEATURE(kSearchReadyOmniboxFeature);
+BASE_DECLARE_FEATURE(kSharedIntentUI);
BASE_DECLARE_FEATURE(kSharingHubLinkToggle);
BASE_DECLARE_FEATURE(kShowScrollableMVTOnNTPAndroid);
BASE_DECLARE_FEATURE(kFeedPositionAndroid);
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java

View file

@ -4,9 +4,54 @@ Subject: Guard for user-agent reduction
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
third_party/blink/common/features.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
chrome/browser/chrome_content_browser_client.cc | 2 +-
content/common/user_agent.cc | 13 +++++--------
third_party/blink/common/features.cc | 4 ++--
.../platform/runtime_enabled_features.json5 | 3 ++-
4 files changed, 10 insertions(+), 12 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
@@ -1475,7 +1475,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs(
registry->RegisterIntegerPref(
prefs::kUserAgentReduction,
static_cast<int>(
- embedder_support::UserAgentReductionEnterprisePolicyState::kDefault));
+ embedder_support::UserAgentReductionEnterprisePolicyState::kForceEnabled));
registry->RegisterBooleanPref(prefs::kOriginAgentClusterDefaultEnabled, true);
registry->RegisterIntegerPref(
prefs::kForceMajorVersionToMinorPositionInUserAgent,
diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc
--- a/content/common/user_agent.cc
+++ b/content/common/user_agent.cc
@@ -323,14 +323,7 @@ std::string BuildUserAgentFromProduct(const std::string& product) {
}
std::string BuildModelInfo() {
- std::string model;
-#if BUILDFLAG(IS_ANDROID)
- // Only send the model information if on the release build of Android,
- // matching user agent behaviour.
- if (base::SysInfo::GetAndroidBuildCodename() == "REL")
- model = base::SysInfo::HardwareModelName();
-#endif
- return model;
+ return std::string();
}
#if BUILDFLAG(IS_ANDROID)
@@ -351,6 +344,10 @@ std::string GetAndroidOSInfo(
IncludeAndroidModel include_android_model) {
std::string android_info_str;
+ // Do not send information about the device.
+ include_android_model = IncludeAndroidModel::Exclude;
+ include_android_build_number = IncludeAndroidBuildNumber::Exclude;
+
// Send information about the device.
bool semicolon_inserted = false;
if (include_android_model == IncludeAndroidModel::Include) {
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
@ -21,5 +66,18 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
const base::FeatureParam<bool> kLegacyWindowsPlatform = {
&kReduceUserAgentPlatformOsCpu, "legacy_windows_platform", true};
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
@@ -2711,7 +2711,8 @@
base_feature: "UserAgentClientHint",
},
{
- name: "UserAgentReduction",
+ name: "UserAgentReduction", // always enabled
+ status: "stable", // in bromite
origin_trial_feature_name: "UserAgentReduction",
origin_trial_allows_third_party: true,
// iOS not included as it should not send a reduced User-Agent string.
--
2.25.1

View file

@ -12,81 +12,80 @@ Support for tablet mode is also included.
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
---
cc/base/features.cc | 4 ++
cc/base/features.cc | 4 +
cc/base/features.h | 1 +
cc/input/browser_controls_offset_manager.cc | 6 +++
cc/trees/layer_tree_host_impl.cc | 3 ++
cc/input/browser_controls_offset_manager.cc | 6 ++
cc/trees/layer_tree_host_impl.cc | 3 +
.../start_surface/StartSurfaceMediator.java | 5 ++
.../tab_management/TabGroupUiCoordinator.java | 7 ++-
.../tab_management/TabGroupUiMediator.java | 50 +++++++++++++++++-
.../tab_management/TabGroupUiProperties.java | 6 ++-
.../tab_management/TabGroupUiToolbarView.java | 18 +++++++
.../tab_management/TabGroupUiViewBinder.java | 3 ++
.../TabListContainerViewBinder.java | 4 ++
.../tab_management/TabListCoordinator.java | 6 +++
.../tab_management/TabListRecyclerView.java | 19 ++++++-
.../tab_management/TabSwitcherMediator.java | 16 ++++++
.../ChromeAccessibilitySettingsDelegate.java | 52 +++++++++++++++++++
.../chrome/browser/app/ChromeActivity.java | 13 +++++
.../tab_management/TabGroupUiCoordinator.java | 7 +-
.../tab_management/TabGroupUiMediator.java | 50 +++++++++++-
.../tab_management/TabGroupUiProperties.java | 6 +-
.../tab_management/TabGroupUiToolbarView.java | 18 +++++
.../tab_management/TabGroupUiViewBinder.java | 3 +
.../tab_management/TabListCoordinator.java | 77 +++++++++++++++++++
.../tab_management/TabListRecyclerView.java | 19 ++++-
.../tab_management/TabSwitcherMediator.java | 19 +++++
.../ChromeAccessibilitySettingsDelegate.java | 52 +++++++++++++
.../chrome/browser/app/ChromeActivity.java | 13 ++++
.../browser/app/flags/ChromeCachedFlags.java | 1 +
.../compositor/CompositorViewHolder.java | 6 +++
.../layouts/LayoutManagerChrome.java | 18 +++++--
.../compositor/CompositorViewHolder.java | 6 ++
.../layouts/LayoutManagerChrome.java | 18 ++++-
.../layouts/LayoutManagerChromeTablet.java | 4 +-
.../layouts/ToolbarSwipeLayout.java | 15 +++++-
.../layouts/ToolbarSwipeLayout.java | 15 +++-
.../overlays/strip/StripLayoutHelper.java | 2 +-
.../strip/StripLayoutHelperManager.java | 36 +++++++++++--
.../scene_layer/StaticTabSceneLayer.java | 8 ++-
.../scene_layer/TabListSceneLayer.java | 14 +++++
.../scene_layer/TabStripSceneLayer.java | 15 +++++-
.../browser/findinpage/FindToolbarTablet.java | 11 ++--
.../fullscreen/BrowserControlsManager.java | 13 +++++
.../messages/MessageContainerCoordinator.java | 17 +++++-
.../strip/StripLayoutHelperManager.java | 36 +++++++--
.../scene_layer/StaticTabSceneLayer.java | 8 +-
.../scene_layer/TabListSceneLayer.java | 14 ++++
.../scene_layer/TabStripSceneLayer.java | 15 +++-
.../browser/findinpage/FindToolbarTablet.java | 11 ++-
.../fullscreen/BrowserControlsManager.java | 13 ++++
.../messages/MessageContainerCoordinator.java | 17 +++-
.../modaldialog/ChromeTabModalPresenter.java | 2 +-
.../chrome/browser/ntp/NewTabPage.java | 13 +++--
.../chrome/browser/ntp/RecentTabsPage.java | 22 ++++++--
.../browser/searchwidget/SearchActivity.java | 13 ++++-
.../chrome/browser/ntp/NewTabPage.java | 13 +++-
.../chrome/browser/ntp/RecentTabsPage.java | 22 +++++-
.../browser/searchwidget/SearchActivity.java | 13 +++-
.../browser/settings/SettingsActivity.java | 5 ++
.../StatusIndicatorCoordinator.java | 10 ++++
.../StatusIndicatorSceneLayer.java | 7 ++-
.../browser/toolbar/ToolbarManager.java | 37 +++++++++++--
.../chrome/browser/ui/BottomContainer.java | 19 +++++++
.../ui/system/StatusBarColorController.java | 9 ++++
.../StatusIndicatorCoordinator.java | 10 +++
.../StatusIndicatorSceneLayer.java | 7 +-
.../browser/toolbar/ToolbarManager.java | 37 +++++++--
.../chrome/browser/ui/BottomContainer.java | 19 +++++
.../ui/system/StatusBarColorController.java | 9 +++
chrome/browser/about_flags.cc | 5 ++
.../scene_layer/tab_strip_scene_layer.cc | 16 ++++--
.../BrowserControlsMarginSupplier.java | 6 +++
.../BrowserControlsStateProvider.java | 6 +++
chrome/browser/flag_descriptions.cc | 4 ++
chrome/browser/flag_descriptions.h | 3 ++
.../flags/android/cached_feature_flags.cc | 18 +++++++
.../scene_layer/tab_strip_scene_layer.cc | 16 +++-
.../BrowserControlsMarginSupplier.java | 6 ++
.../BrowserControlsStateProvider.java | 6 ++
chrome/browser/flag_descriptions.cc | 4 +
chrome/browser/flag_descriptions.h | 3 +
.../flags/android/cached_feature_flags.cc | 18 +++++
.../flags/android/chrome_feature_list.cc | 2 +
.../browser/flags/CachedFeatureFlags.java | 19 +++++++
.../browser/flags/ChromeFeatureList.java | 4 ++
.../chrome/browser/ui/appmenu/AppMenu.java | 30 +++++++++++
.../ui/appmenu/AppMenuHandlerImpl.java | 11 ++++
.../omnibox/LocationBarCoordinator.java | 9 +++-
.../browser/omnibox/UrlBarCoordinator.java | 11 +++-
.../suggestions/AutocompleteCoordinator.java | 18 ++++++-
.../suggestions/AutocompleteMediator.java | 7 ++-
.../OmniboxSuggestionsDropdown.java | 22 +++++++-
.../OmniboxSuggestionsDropdownEmbedder.java | 4 ++
.../strings/android_chrome_strings.grd | 6 +++
.../browser/flags/CachedFeatureFlags.java | 19 +++++
.../browser/flags/ChromeFeatureList.java | 4 +
.../chrome/browser/ui/appmenu/AppMenu.java | 30 ++++++++
.../ui/appmenu/AppMenuHandlerImpl.java | 11 +++
.../omnibox/LocationBarCoordinator.java | 9 ++-
.../browser/omnibox/UrlBarCoordinator.java | 11 ++-
.../suggestions/AutocompleteCoordinator.java | 18 ++++-
.../suggestions/AutocompleteMediator.java | 7 +-
.../OmniboxSuggestionsDropdown.java | 22 +++++-
.../OmniboxSuggestionsDropdownEmbedder.java | 4 +
.../strings/android_chrome_strings.grd | 6 ++
chrome/browser/ui/android/toolbar/BUILD.gn | 1 +
.../toolbar/LocationBarFocusScrimHandler.java | 7 +++
.../bottom/BottomControlsContentDelegate.java | 9 +++-
.../bottom/BottomControlsCoordinator.java | 11 +++-
.../bottom/BottomControlsMediator.java | 9 ++++
.../toolbar/LocationBarFocusScrimHandler.java | 7 ++
.../bottom/BottomControlsContentDelegate.java | 9 ++-
.../bottom/BottomControlsCoordinator.java | 11 ++-
.../bottom/BottomControlsMediator.java | 9 +++
.../bottom/BottomControlsProperties.java | 5 +-
.../bottom/BottomControlsViewBinder.java | 2 +
.../bottom/ScrollingBottomViewSceneLayer.java | 20 ++++++-
.../toolbar/top/ToolbarControlContainer.java | 11 ++++
.../top/TopToolbarOverlayCoordinator.java | 7 +++
.../top/TopToolbarOverlayProperties.java | 8 ++-
.../toolbar/top/TopToolbarSceneLayer.java | 11 +++-
.../res/xml/accessibility_preferences.xml | 4 ++
.../accessibility/AccessibilitySettings.java | 16 ++++++
.../AccessibilitySettingsDelegate.java | 6 +++
.../render_widget_host_view_android.cc | 3 ++
74 files changed, 784 insertions(+), 57 deletions(-)
.../bottom/ScrollingBottomViewSceneLayer.java | 20 ++++-
.../toolbar/top/ToolbarControlContainer.java | 11 +++
.../top/TopToolbarOverlayCoordinator.java | 7 ++
.../top/TopToolbarOverlayProperties.java | 8 +-
.../toolbar/top/TopToolbarSceneLayer.java | 11 ++-
.../res/xml/accessibility_preferences.xml | 4 +
.../accessibility/AccessibilitySettings.java | 16 ++++
.../AccessibilitySettingsDelegate.java | 6 ++
.../render_widget_host_view_android.cc | 3 +
73 files changed, 854 insertions(+), 57 deletions(-)
diff --git a/cc/base/features.cc b/cc/base/features.cc
--- a/cc/base/features.cc
@ -390,31 +389,18 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
}
}
}
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListContainerViewBinder.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListContainerViewBinder.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListContainerViewBinder.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListContainerViewBinder.java
@@ -21,6 +21,8 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import org.chromium.components.browser_ui.styles.ChromeColors;
import org.chromium.ui.modelutil.PropertyKey;
import org.chromium.ui.modelutil.PropertyModel;
+import org.chromium.chrome.browser.flags.CachedFeatureFlags;
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
/**
* ViewBinder for TabListRecyclerView.
@@ -57,6 +59,8 @@ class TabListContainerViewBinder {
params.topMargin = newTopMargin;
view.requestLayout();
} else if (BOTTOM_CONTROLS_HEIGHT == propertyKey) {
+ if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM))
+ return;
FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) view.getLayoutParams();
params.bottomMargin = model.get(BOTTOM_CONTROLS_HEIGHT);
view.requestLayout();
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java
@@ -47,6 +47,9 @@ import org.chromium.ui.modelutil.SimpleRecyclerViewAdapter;
@@ -7,6 +7,7 @@ package org.chromium.chrome.browser.tasks.tab_management;
import static org.chromium.chrome.browser.tasks.tab_management.TabListModel.CardProperties.CARD_TYPE;
import android.content.Context;
+import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
@@ -47,6 +48,9 @@ import org.chromium.ui.modelutil.SimpleRecyclerViewAdapter;
import org.chromium.ui.resources.dynamics.DynamicResourceLoader;
import org.chromium.ui.widget.ViewLookupCachingFrameLayout;
@ -424,16 +410,100 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.List;
@@ -255,6 +258,9 @@ public class TabListCoordinator
@@ -95,6 +99,70 @@ public class TabListCoordinator
private boolean mLayoutListenerRegistered;
private @Nullable TabStripSnapshotter mTabStripSnapshotter;
+ public class GridLayoutManagerDockBottom extends GridLayoutManager {
+ Context mContext;
+
+ TabListRecyclerView mRecyclerView;
+
+ int mTopPadding = 99999;
+ int mLastPosition = -1;
+ boolean mIsFirstLayout = true;
+
+ public GridLayoutManagerDockBottom(Context context, int spanCount) {
+ super(context, spanCount);
+ mContext = context;
+ }
+
+ public void setTabListRecyclerView(TabListRecyclerView recyclerView) {
+ mRecyclerView = recyclerView;
+ }
+
+ public void ResetTopPosition() {
+ mIsFirstLayout = true;
+ }
+
+ @Override
+ public int getPaddingTop() {
+ if (mContext.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
+ mTopPadding = 99999;
+ return 0;
+ }
+ if (mTopPadding == 99999) return super.getPaddingTop();
+ return mTopPadding;
+ }
+
+ @Override
+ public int getPaddingBottom() {
+ return 1;
+ }
+
+ @Override
+ public void scrollToPositionWithOffset(int position, int offset) {
+ mLastPosition = position;
+ super.scrollToPositionWithOffset(position, getPaddingBottom());
+ }
+
+ @Override
+ public void onLayoutCompleted(RecyclerView.State state) {
+ super.onLayoutCompleted(state);
+
+ if (state.isPreLayout()) return;
+ View lastView = findViewByPosition(findFirstVisibleItemPosition());
+ if (lastView != null) {
+ mTopPadding = Math.min(mTopPadding, mRecyclerView.getHeight() - lastView.getHeight());
+ if (mIsFirstLayout) {
+ mIsFirstLayout = false;
+ scrollToPositionWithOffset(mLastPosition, 0);
+ }
+ }
+
+ if (mLastPosition != -1 && mLastPosition >= state.getItemCount()) {
+ ResetTopPosition();
+ scrollToPositionWithOffset(state.getItemCount()-getSpanCount(), 0);
+ }
+ }
+ }
+
/**
* Construct a coordinator for UI that shows a list of tabs.
* @param mode Modes of showing the list of tabs. Can be used in GRID or STRIP.
@@ -255,6 +323,12 @@ public class TabListCoordinator
if (mMode == TabListMode.GRID) {
GridLayoutManager gridLayoutManager =
new GridLayoutManager(context, GRID_LAYOUT_SPAN_COUNT_COMPACT);
+ // invert the order if the toolbar is at bottom
+ if (titleProvider != null && CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM))
+ gridLayoutManager.setReverseLayout(true);
+ if (titleProvider != null && CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ gridLayoutManager =
+ new GridLayoutManagerDockBottom(context, GRID_LAYOUT_SPAN_COUNT_COMPACT);
+ ((GridLayoutManagerDockBottom)gridLayoutManager)
+ .setTabListRecyclerView(mRecyclerView);
+ }
mRecyclerView.setLayoutManager(gridLayoutManager);
mMediator.registerOrientationListener(gridLayoutManager);
mMediator.updateSpanCount(gridLayoutManager,
@@ -434,6 +508,9 @@ public class TabListCoordinator
}
registerLayoutChangeListener();
mRecyclerView.prepareTabSwitcherView();
+ GridLayoutManager glm = (GridLayoutManager) mRecyclerView.getLayoutManager();
+ if (glm instanceof GridLayoutManagerDockBottom)
+ ((GridLayoutManagerDockBottom)glm).ResetTopPosition();
mMediator.prepareTabSwitcherView();
mMediator.registerOnScrolledListener(mRecyclerView);
}
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java
@ -550,6 +620,16 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
mContainerViewModel.set(SHADOW_TOP_OFFSET, contentOffset);
}
@@ -744,6 +760,9 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView
private void setInitialScrollIndexOffset() {
int offset = mMode == TabListMode.CAROUSEL ? INITIAL_SCROLL_INDEX_OFFSET_CAROUSEL
: INITIAL_SCROLL_INDEX_OFFSET_GTS;
+ if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ offset = 0;
+ }
int initialPosition = Math.max(
mTabModelSelector.getTabModelFilterProvider().getCurrentTabModelFilter().index()
- offset,
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
+++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
@ -818,7 +898,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java
@@ -375,7 +375,7 @@ public class StripLayoutHelper implements StripLayoutTab.StripLayoutTabDelegate
@@ -376,7 +376,7 @@ public class StripLayoutHelper implements StripLayoutTab.StripLayoutTabDelegate
// position 0 is on the left. Account for that in the offset calculation.
boolean isRtl = LocalizationUtils.isLayoutRtl();
boolean useUnadjustedScrollOffset = isRtl != isLeft;

View file

@ -12,9 +12,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../webauthn/authenticator_dialog_browsertest.cc | 7 +++++++
.../webauthn/chrome_webauthn_browsertest.cc | 2 ++
.../webauth/authenticator_impl_unittest.cc | 15 +++++++++++++--
content/public/common/content_features.cc | 6 ++++++
content/public/common/content_features.cc | 7 +++++++
content/public/common/content_features.h | 1 +
6 files changed, 36 insertions(+), 2 deletions(-)
6 files changed, 37 insertions(+), 2 deletions(-)
diff --git a/chrome/browser/ui/views/webauthn/authenticator_dialog_view_browsertest.cc b/chrome/browser/ui/views/webauthn/authenticator_dialog_view_browsertest.cc
--- a/chrome/browser/ui/views/webauthn/authenticator_dialog_view_browsertest.cc
@ -118,15 +118,16 @@ diff --git a/content/browser/webauth/authenticator_impl_unittest.cc b/content/br
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
@@ -1283,6 +1283,12 @@ BASE_FEATURE(kWebAssemblyTrapHandler,
@@ -1284,6 +1284,13 @@ BASE_FEATURE(kWebAssemblyTrapHandler,
#endif
);
+// Controls whether CTAP2 devices can communicate via the WebAuthentication API
+// using pairingless BLE protocol.
+// https://w3c.github.io/webauthn
+const base::Feature kWebAuthCable{"WebAuthenticationCable", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT}; // by default in Bromite
+BASE_FEATURE(kWebAuthCable,
+ "WebAuthenticationCable", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // by default in Bromite
+
// Controls whether WebAuthn conditional UI requests are supported.
BASE_FEATURE(kWebAuthConditionalUI,
@ -138,7 +139,7 @@ diff --git a/content/public/common/content_features.h b/content/public/common/co
CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebRtcUseGpuMemoryBufferVideoFrames);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebUICodeCache);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebUIReportOnlyTrustedTypes);
+CONTENT_EXPORT extern const base::Feature kWebAuthCable;
+CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebAuthCable);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebUsb);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebXr);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebXrArModule);

View file

@ -7,9 +7,9 @@ Also fixes a crash on startup.
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../chrome_browser_main_extra_parts_segmentation_platform.cc | 4 ++++
components/segmentation_platform/public/features.cc | 4 ----
2 files changed, 4 insertions(+), 4 deletions(-)
...rome_browser_main_extra_parts_segmentation_platform.cc | 4 ++++
components/segmentation_platform/public/features.cc | 8 ++------
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/chrome/browser/segmentation_platform/chrome_browser_main_extra_parts_segmentation_platform.cc b/chrome/browser/segmentation_platform/chrome_browser_main_extra_parts_segmentation_platform.cc
--- a/chrome/browser/segmentation_platform/chrome_browser_main_extra_parts_segmentation_platform.cc
@ -45,6 +45,17 @@ diff --git a/chrome/browser/segmentation_platform/chrome_browser_main_extra_part
diff --git a/components/segmentation_platform/public/features.cc b/components/segmentation_platform/public/features.cc
--- a/components/segmentation_platform/public/features.cc
+++ b/components/segmentation_platform/public/features.cc
@@ -9,8 +9,8 @@
namespace segmentation_platform::features {
BASE_FEATURE(kSegmentationPlatformFeature,
- "SegmentationPlatform",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "SegmentationPlatform", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
BASE_FEATURE(kSegmentationStructuredMetricsFeature,
"SegmentationStructuredMetrics",
@@ -34,11 +34,7 @@ BASE_FEATURE(kSegmentationPlatformSearchUser,
BASE_FEATURE(kSegmentationPlatformFeedSegmentFeature,

View file

@ -104,7 +104,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser
BASE_DECLARE_FEATURE(kSearchEnginePromoNewDevice);
BASE_DECLARE_FEATURE(kSearchEnginePromoNewDeviceV2);
BASE_DECLARE_FEATURE(kShareButtonInTopToolbar);
+extern const base::Feature kSearchReadyOmniboxFeature;
+BASE_DECLARE_FEATURE(kSearchReadyOmniboxFeature);
BASE_DECLARE_FEATURE(kSharingHubLinkToggle);
BASE_DECLARE_FEATURE(kShowScrollableMVTOnNTPAndroid);
BASE_DECLARE_FEATURE(kFeedPositionAndroid);

View file

@ -209,7 +209,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser
BASE_DECLARE_FEATURE(kLensOnQuickActionSearchWidget);
BASE_DECLARE_FEATURE(kLocationBarModelOptimizations);
BASE_DECLARE_FEATURE(kNewInstanceFromDraggedLink);
+extern const base::Feature kOfflineIndicatorV2;
+BASE_DECLARE_FEATURE(kOfflineIndicatorV2);
BASE_DECLARE_FEATURE(kNewTabPageTilesTitleWrapAround);
BASE_DECLARE_FEATURE(kNewWindowAppMenu);
BASE_DECLARE_FEATURE(kNotificationPermissionVariant);