Compare commits
10
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
275c67ccfc | ||
|
|
fde090c0d3 | ||
|
|
093785d672 | ||
|
|
9640d4181e | ||
|
|
987bd8e182 | ||
|
|
6809060239 | ||
|
|
865e06194d | ||
|
|
af4b790e47 | ||
|
|
e465aeb3e3 | ||
|
|
949bde5919 |
+1
-1
@@ -1 +1 @@
|
||||
140.0.7339.128
|
||||
140.0.7339.186
|
||||
@@ -17,7 +17,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
|
||||
--- a/chrome/browser/flag-metadata.json
|
||||
+++ b/chrome/browser/flag-metadata.json
|
||||
@@ -8685,9 +8685,9 @@
|
||||
@@ -8690,9 +8690,9 @@
|
||||
"expiry_milestone": 150
|
||||
},
|
||||
{
|
||||
|
||||
@@ -642,7 +642,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tracing/setting
|
||||
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
|
||||
@@ -380,6 +380,10 @@ using flags_ui::kOsLinux;
|
||||
@@ -381,6 +381,10 @@ using flags_ui::kOsLinux;
|
||||
using flags_ui::kOsMac;
|
||||
using flags_ui::kOsWin;
|
||||
|
||||
@@ -653,7 +653,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
namespace about_flags {
|
||||
|
||||
namespace {
|
||||
@@ -4902,6 +4906,10 @@ const FeatureEntry::FeatureVariation
|
||||
@@ -4903,6 +4907,10 @@ const FeatureEntry::FeatureVariation
|
||||
constexpr char kWebiumFlag[] = "webium";
|
||||
#endif // !BUILDFLAG(IS_ANDROID)
|
||||
|
||||
@@ -664,7 +664,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
// RECORDING USER METRICS FOR FLAGS:
|
||||
// -----------------------------------------------------------------------------
|
||||
// The first line of the entry is the internal name.
|
||||
@@ -4928,6 +4936,9 @@ constexpr char kWebiumFlag[] = "webium";
|
||||
@@ -4929,6 +4937,9 @@ constexpr char kWebiumFlag[] = "webium";
|
||||
const FeatureEntry kFeatureEntries[] = {
|
||||
// Include generated flags for flag unexpiry; see //docs/flag_expiry.md and
|
||||
// //tools/flags/generate_unexpire_flags.py.
|
||||
@@ -746,7 +746,7 @@ 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
|
||||
@@ -331,6 +331,7 @@ constexpr base::FeatureParam<bool> kTouchToSearchCalloutSnippetAsSubtitle(
|
||||
@@ -337,6 +337,7 @@ constexpr base::FeatureParam<bool> kTouchToSearchCalloutSnippetAsSubtitle(
|
||||
"snippet_as_subtitle",
|
||||
/*default_value=*/false);
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -165,6 +165,7 @@
|
||||
@@ -166,6 +166,7 @@
|
||||
#include "components/sensitive_content/features.h"
|
||||
#include "components/services/heap_profiling/public/cpp/switches.h"
|
||||
#include "components/services/storage/public/cpp/buckets/bucket_info.h"
|
||||
|
||||
@@ -83,7 +83,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../renderer/core/exported/web_view_impl.cc | 41 ++++++++++++----
|
||||
.../renderer/core/exported/web_view_impl.h | 5 ++
|
||||
.../renderer/core/frame/local_frame_view.cc | 5 +-
|
||||
.../renderer/core/frame/visual_viewport.cc | 34 ++++++++++++-
|
||||
.../renderer/core/frame/visual_viewport.cc | 39 ++++++++++++++-
|
||||
.../renderer/core/frame/visual_viewport.h | 7 ++-
|
||||
.../core/frame/web_frame_widget_impl.cc | 36 ++++++++++++--
|
||||
.../core/frame/web_frame_widget_impl.h | 1 +
|
||||
@@ -109,7 +109,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
ui/display/mojom/screen_info_mojom_traits.h | 4 ++
|
||||
ui/display/screen_info.h | 1 +
|
||||
ui/events/blink/blink_event_util.cc | 2 +-
|
||||
99 files changed, 528 insertions(+), 140 deletions(-)
|
||||
99 files changed, 533 insertions(+), 140 deletions(-)
|
||||
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sPixelPerfect.java
|
||||
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Pixel-perfect-mode.grdp
|
||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Pixel-perfect-mode.inc
|
||||
@@ -1684,11 +1684,14 @@ diff --git a/third_party/blink/renderer/core/frame/visual_viewport.cc b/third_pa
|
||||
needs_paint_property_update_(true),
|
||||
overscroll_type_(ComputeOverscrollType()) {
|
||||
UniqueObjectId unique_id = NewUniqueObjectId();
|
||||
@@ -391,6 +393,30 @@ void VisualViewport::EnqueueResizeEvent() {
|
||||
@@ -391,6 +393,33 @@ void VisualViewport::EnqueueResizeEvent() {
|
||||
document->EnqueueVisualViewportResizeEvent();
|
||||
}
|
||||
|
||||
+void VisualViewport::SetSizeReal(const gfx::Size& size) {
|
||||
+ if (!RuntimeEnabledFeatures::PixelPerfectEnabled())
|
||||
+ return;
|
||||
+
|
||||
+ auto scale = ScaleFromDIP();
|
||||
+ auto size_dpi = gfx::Size(size.width() * scale, size.height() * scale);
|
||||
+ if (size_real_ == size_dpi)
|
||||
@@ -1715,17 +1718,19 @@ diff --git a/third_party/blink/renderer/core/frame/visual_viewport.cc b/third_pa
|
||||
void VisualViewport::SetSize(const gfx::Size& size) {
|
||||
if (size_ == size)
|
||||
return;
|
||||
@@ -446,7 +472,8 @@ gfx::RectF VisualViewport::VisibleRect(
|
||||
@@ -446,7 +475,10 @@ gfx::RectF VisualViewport::VisibleRect(
|
||||
if (scrollbar_inclusion == kExcludeScrollbars)
|
||||
visible_size = gfx::SizeF(ExcludeScrollbars(size_));
|
||||
|
||||
- visible_size.Enlarge(0, browser_controls_adjustment_);
|
||||
+ int value = browser_controls_adjustment_ / browser_controls_scale_ * ScaleFromDIP();
|
||||
+ int value = browser_controls_adjustment_;
|
||||
+ if (RuntimeEnabledFeatures::PixelPerfectEnabled())
|
||||
+ value = browser_controls_adjustment_ / browser_controls_scale_ * ScaleFromDIP();
|
||||
+ visible_size.Enlarge(0, value);
|
||||
visible_size.Scale(1 / scale_);
|
||||
|
||||
return gfx::RectF(ScrollPosition(), visible_size);
|
||||
@@ -879,10 +906,13 @@ gfx::Point VisualViewport::ClampDocumentOffsetAtScale(const gfx::Point& offset,
|
||||
@@ -879,10 +911,13 @@ gfx::Point VisualViewport::ClampDocumentOffsetAtScale(const gfx::Point& offset,
|
||||
return clamped;
|
||||
}
|
||||
|
||||
|
||||
@@ -284,7 +284,7 @@ diff --git a/components/variations/net/variations_http_headers.cc b/components/v
|
||||
diff --git a/components/variations/service/variations_field_trial_creator.cc b/components/variations/service/variations_field_trial_creator.cc
|
||||
--- a/components/variations/service/variations_field_trial_creator.cc
|
||||
+++ b/components/variations/service/variations_field_trial_creator.cc
|
||||
@@ -127,6 +127,7 @@ Study::CpuArchitecture GetCurrentCpuArchitecture() {
|
||||
@@ -126,6 +126,7 @@ Study::CpuArchitecture GetCurrentCpuArchitecture() {
|
||||
}
|
||||
|
||||
#if BUILDFLAG(FIELDTRIAL_TESTING_ENABLED)
|
||||
@@ -292,7 +292,7 @@ diff --git a/components/variations/service/variations_field_trial_creator.cc b/c
|
||||
// Determines whether the field trial testing config defined in
|
||||
// testing/variations/fieldtrial_testing_config.json should be applied. If the
|
||||
// "disable_fieldtrial_testing_config" GN flag is set to true, then the testing
|
||||
@@ -320,9 +321,6 @@ bool VariationsFieldTrialCreator::SetUpFieldTrials(
|
||||
@@ -319,9 +320,6 @@ bool VariationsFieldTrialCreator::SetUpFieldTrials(
|
||||
std::move(client_filterable_state));
|
||||
}
|
||||
|
||||
@@ -302,7 +302,7 @@ diff --git a/components/variations/service/variations_field_trial_creator.cc b/c
|
||||
platform_field_trials->RegisterFeatureOverrides(feature_list.get());
|
||||
|
||||
base::FeatureList::SetInstance(std::move(feature_list));
|
||||
@@ -652,6 +650,7 @@ CreateTrialsResult VariationsFieldTrialCreator::CreateTrialsFromSeed(
|
||||
@@ -651,6 +649,7 @@ CreateTrialsResult VariationsFieldTrialCreator::CreateTrialsFromSeed(
|
||||
base::FeatureList* feature_list,
|
||||
SafeSeedManagerBase* safe_seed_manager,
|
||||
std::unique_ptr<ClientFilterableState> client_state) {
|
||||
@@ -310,7 +310,7 @@ diff --git a/components/variations/service/variations_field_trial_creator.cc b/c
|
||||
// This histogram name uses "VariationsFieldTrialCreator" rather than
|
||||
// "VariationsFieldTrialCreator" for consistency with historical data
|
||||
TRACE_EVENT0("startup", "VariationsFieldTrialCreator::CreateTrialsFromSeed");
|
||||
@@ -766,6 +765,7 @@ CreateTrialsResult VariationsFieldTrialCreator::CreateTrialsFromSeed(
|
||||
@@ -764,6 +763,7 @@ CreateTrialsResult VariationsFieldTrialCreator::CreateTrialsFromSeed(
|
||||
|
||||
void VariationsFieldTrialCreator::LoadSeedFromJsonFile(
|
||||
const base::FilePath& json_seed_path) {
|
||||
|
||||
@@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
|
||||
--- a/chrome/browser/flag-metadata.json
|
||||
+++ b/chrome/browser/flag-metadata.json
|
||||
@@ -2064,9 +2064,9 @@
|
||||
@@ -2069,9 +2069,9 @@
|
||||
"expiry_milestone": -1
|
||||
},
|
||||
{
|
||||
|
||||
@@ -285,7 +285,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
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
|
||||
@@ -3989,28 +3989,6 @@ const FeatureEntry::FeatureVariation kLinkPreviewTriggerTypeVariations[] = {
|
||||
@@ -3990,28 +3990,6 @@ const FeatureEntry::FeatureVariation kLinkPreviewTriggerTypeVariations[] = {
|
||||
std::size(kLinkPreviewTriggerTypeLongPress), nullptr}};
|
||||
#endif // !BUILDFLAG(IS_ANDROID)
|
||||
|
||||
@@ -314,7 +314,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
const FeatureEntry::FeatureParam kGroupSuggestionEnableRecentlyOpenedOnly[] = {
|
||||
{"group_suggestion_enable_recently_opened", "true"},
|
||||
{"group_suggestion_enable_switch_between", "false"},
|
||||
@@ -6617,17 +6595,6 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -6618,17 +6596,6 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
SINGLE_VALUE_TYPE(ui_devtools::switches::kEnableUiDevTools)},
|
||||
#endif // BUILDFLAG(IS_CHROMEOS)
|
||||
|
||||
@@ -384,7 +384,7 @@ diff --git a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browse
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -984,12 +984,6 @@ const char kAutofillVcnEnrollStrikeExpiryTimeDescription[] =
|
||||
@@ -988,12 +988,6 @@ const char kAutofillVcnEnrollStrikeExpiryTimeDescription[] =
|
||||
"When enabled, changes the amount of time required for VCN enrollment "
|
||||
"prompt strikes to expire.";
|
||||
|
||||
@@ -400,7 +400,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -594,9 +594,6 @@ extern const char kAutofillUploadCardRequestTimeoutDescription[];
|
||||
@@ -597,9 +597,6 @@ extern const char kAutofillUploadCardRequestTimeoutDescription[];
|
||||
extern const char kAutofillVcnEnrollStrikeExpiryTimeName[];
|
||||
extern const char kAutofillVcnEnrollStrikeExpiryTimeDescription[];
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -186,6 +186,7 @@
|
||||
@@ -187,6 +187,7 @@
|
||||
#include "components/ui_devtools/switches.h"
|
||||
#include "components/variations/variations_switches.h"
|
||||
#include "components/version_info/channel.h"
|
||||
|
||||
@@ -874,7 +874,7 @@ diff --git a/chrome/browser/adblock/android/java/src/org/chromium/chrome/browser
|
||||
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
|
||||
@@ -6420,7 +6420,9 @@ ChromeContentBrowserClient::
|
||||
@@ -6423,7 +6423,9 @@ ChromeContentBrowserClient::
|
||||
}
|
||||
|
||||
bool ChromeContentBrowserClient::WillInterceptWebSocket(
|
||||
@@ -885,7 +885,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
|
||||
#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
|
||||
if (!frame) {
|
||||
return false;
|
||||
@@ -6443,9 +6445,11 @@ bool ChromeContentBrowserClient::WillInterceptWebSocket(
|
||||
@@ -6446,9 +6448,11 @@ bool ChromeContentBrowserClient::WillInterceptWebSocket(
|
||||
}
|
||||
|
||||
void ChromeContentBrowserClient::CreateWebSocket(
|
||||
|
||||
@@ -70,7 +70,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -233,6 +233,7 @@
|
||||
@@ -234,6 +234,7 @@
|
||||
#include "sandbox/policy/features.h"
|
||||
#include "sandbox/policy/switches.h"
|
||||
#include "services/device/public/cpp/device_features.h"
|
||||
|
||||
@@ -13,10 +13,10 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../browser/loader/keep_alive_url_loader.h | 3 --
|
||||
.../Keep-disabled-FetchLaterAPI.inc | 2 ++
|
||||
.../renderer/core/fetch/fetch_manager.cc | 21 ++++++++++--
|
||||
.../loader/child_url_loader_factory_bundle.cc | 16 +++++----
|
||||
.../loader/child_url_loader_factory_bundle.cc | 23 +++++++++----
|
||||
.../platform/loader/fetch/resource_fetcher.cc | 2 +-
|
||||
.../platform/runtime_enabled_features.json5 | 4 +--
|
||||
7 files changed, 65 insertions(+), 16 deletions(-)
|
||||
7 files changed, 72 insertions(+), 16 deletions(-)
|
||||
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Keep-disabled-FetchLaterAPI.inc
|
||||
|
||||
diff --git a/content/browser/loader/keep_alive_url_loader.cc b/content/browser/loader/keep_alive_url_loader.cc
|
||||
@@ -146,22 +146,36 @@ diff --git a/third_party/blink/renderer/core/fetch/fetch_manager.cc b/third_part
|
||||
diff --git a/third_party/blink/renderer/platform/loader/child_url_loader_factory_bundle.cc b/third_party/blink/renderer/platform/loader/child_url_loader_factory_bundle.cc
|
||||
--- a/third_party/blink/renderer/platform/loader/child_url_loader_factory_bundle.cc
|
||||
+++ b/third_party/blink/renderer/platform/loader/child_url_loader_factory_bundle.cc
|
||||
@@ -250,6 +250,14 @@ void ChildURLLoaderFactoryBundle::CreateLoaderAndStart(
|
||||
@@ -13,6 +13,7 @@
|
||||
#include "base/check.h"
|
||||
#include "mojo/public/cpp/bindings/self_owned_receiver.h"
|
||||
#include "net/base/load_flags.h"
|
||||
+#include "net/base/registry_controlled_domains/registry_controlled_domain.h"
|
||||
#include "services/network/public/cpp/record_ontransfersizeupdate_utils.h"
|
||||
#include "services/network/public/cpp/resource_request.h"
|
||||
#include "services/network/public/mojom/early_hints.mojom.h"
|
||||
@@ -250,6 +251,20 @@ void ChildURLLoaderFactoryBundle::CreateLoaderAndStart(
|
||||
return;
|
||||
}
|
||||
|
||||
+ bool keepalive = request.keepalive;
|
||||
+ if (keepalive && !request.is_fetch_later_api) {
|
||||
+ if (request.request_initiator && request.request_initiator->IsSameOriginWith(request.url))
|
||||
+ if (request.request_initiator
|
||||
+ && !request.request_initiator->opaque()
|
||||
+ && net::registry_controlled_domains::SameDomainOrHost(
|
||||
+ request.url, *request.request_initiator,
|
||||
+ net::registry_controlled_domains::INCLUDE_PRIVATE_REGISTRIES)) {
|
||||
+ keepalive = false;
|
||||
+ else if (url::IsSameOriginWith(request.url, request.referrer))
|
||||
+ }
|
||||
+ else if (url::IsSameOriginWith(request.url, request.referrer)) {
|
||||
+ keepalive = false;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
// Use |keep_alive_loader_factory_| to send the keepalive requests to the
|
||||
// KeepAliveURLLoaderService in the browser process and trigger the special
|
||||
// keepalive request handling.
|
||||
@@ -258,12 +266,8 @@ void ChildURLLoaderFactoryBundle::CreateLoaderAndStart(
|
||||
@@ -258,12 +273,8 @@ void ChildURLLoaderFactoryBundle::CreateLoaderAndStart(
|
||||
if (request.keepalive) {
|
||||
FetchUtils::LogFetchKeepAliveRequestSentToServiceMetric(request);
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/incognito/Incog
|
||||
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
|
||||
--- a/chrome/browser/flag-metadata.json
|
||||
+++ b/chrome/browser/flag-metadata.json
|
||||
@@ -5855,10 +5855,10 @@
|
||||
@@ -5860,10 +5860,10 @@
|
||||
"expiry_milestone": -1
|
||||
},
|
||||
{
|
||||
|
||||
@@ -66,7 +66,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -260,6 +260,8 @@
|
||||
@@ -261,6 +261,8 @@
|
||||
#include "ui/ui_features.h"
|
||||
#include "url/url_features.h"
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
|
||||
--- a/chrome/browser/flag-metadata.json
|
||||
+++ b/chrome/browser/flag-metadata.json
|
||||
@@ -2344,6 +2344,10 @@
|
||||
@@ -2349,6 +2349,10 @@
|
||||
"yangsharon@google.com", "alexmos@google.com", "creis@google.com" ],
|
||||
"expiry_milestone": 150
|
||||
},
|
||||
|
||||
@@ -9,24 +9,26 @@ The feature can be disabled using the throttle-main-thread-to-60hz flag (enabled
|
||||
|
||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
cc/base/features.cc | 2 ++
|
||||
cc/scheduler/scheduler_state_machine.cc | 7 +++----
|
||||
chrome/browser/chrome_content_browser_client.cc | 8 ++++++++
|
||||
third_party/blink/common/features.cc | 1 +
|
||||
4 files changed, 14 insertions(+), 4 deletions(-)
|
||||
cc/base/features.cc | 4 +++
|
||||
cc/scheduler/scheduler_state_machine.cc | 26 +++++++++++++++++++
|
||||
.../browser/chrome_content_browser_client.cc | 11 ++++++++
|
||||
third_party/blink/common/features.cc | 1 +
|
||||
4 files changed, 42 insertions(+)
|
||||
|
||||
diff --git a/cc/base/features.cc b/cc/base/features.cc
|
||||
--- a/cc/base/features.cc
|
||||
+++ b/cc/base/features.cc
|
||||
@@ -180,6 +180,7 @@ BASE_FEATURE(kInitImageDecodeLastUseTime,
|
||||
@@ -180,6 +180,9 @@ BASE_FEATURE(kInitImageDecodeLastUseTime,
|
||||
BASE_FEATURE(kThrottleMainFrameTo60Hz,
|
||||
"ThrottleMainFrameTo60Hz",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+#if !BUILDFLAG(IS_ANDROID)
|
||||
+SET_CROMITE_FEATURE_ENABLED(kThrottleMainFrameTo60Hz);
|
||||
+#endif
|
||||
|
||||
void SetIsEligibleForThrottleMainFrameTo60Hz(bool is_eligible) {
|
||||
s_is_eligible_for_throttle_main_frame_to_60hz.store(
|
||||
@@ -209,6 +210,7 @@ BASE_FEATURE(kRenderThrottleFrameRate,
|
||||
@@ -209,6 +212,7 @@ BASE_FEATURE(kRenderThrottleFrameRate,
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
const base::FeatureParam<int> kRenderThrottledFrameIntervalHz{
|
||||
&kRenderThrottleFrameRate, "render-throttled-frame-interval-hz", 30};
|
||||
@@ -37,32 +39,51 @@ diff --git a/cc/base/features.cc b/cc/base/features.cc
|
||||
diff --git a/cc/scheduler/scheduler_state_machine.cc b/cc/scheduler/scheduler_state_machine.cc
|
||||
--- a/cc/scheduler/scheduler_state_machine.cc
|
||||
+++ b/cc/scheduler/scheduler_state_machine.cc
|
||||
@@ -1535,9 +1535,8 @@ void SchedulerStateMachine::FrameIntervalUpdated(
|
||||
@@ -1535,6 +1535,7 @@ void SchedulerStateMachine::FrameIntervalUpdated(
|
||||
//
|
||||
// Apply some slack, so that if for some reason the interval is a bit larger
|
||||
// than 8.33333333333333ms, then we catch it still.
|
||||
- constexpr float kSlackFactor = .9;
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
constexpr float kSlackFactor = .9;
|
||||
bool fast_vsync_interval =
|
||||
- frame_interval < base::Hertz(120) * (1 / kSlackFactor);
|
||||
+ base::FeatureList::IsEnabled(features::kThrottleMainFrameTo60Hz);
|
||||
if (fast_vsync_interval) {
|
||||
features::SetIsEligibleForThrottleMainFrameTo60Hz(true);
|
||||
}
|
||||
@@ -1549,7 +1548,7 @@ void SchedulerStateMachine::FrameIntervalUpdated(
|
||||
// Use interval / 2 rather than an actual interval as refresh rates are
|
||||
// not necessarily 120: it could be something really close, or it could be
|
||||
// 144Hz for instance.
|
||||
- main_frame_throttled_interval_ = kSlackFactor * frame_interval * 2;
|
||||
+ main_frame_throttled_interval_ = base::Hertz(60);
|
||||
TRACE_EVENT("cc", "ThrottleMainFrame", "interval",
|
||||
main_frame_throttled_interval_);
|
||||
frame_interval < base::Hertz(120) * (1 / kSlackFactor);
|
||||
@@ -1555,6 +1556,27 @@ void SchedulerStateMachine::FrameIntervalUpdated(
|
||||
} else {
|
||||
@@ -1841,7 +1840,7 @@ void SchedulerStateMachine::SetShouldThrottleFrameRate(bool flag) {
|
||||
main_frame_throttled_interval_ = base::TimeDelta();
|
||||
}
|
||||
+#else
|
||||
+ bool fast_vsync_interval =
|
||||
+ base::FeatureList::IsEnabled(features::kThrottleMainFrameTo60Hz);
|
||||
+ if (fast_vsync_interval) {
|
||||
+ features::SetIsEligibleForThrottleMainFrameTo60Hz(true);
|
||||
+ }
|
||||
+ if (fast_vsync_interval &&
|
||||
+ base::FeatureList::IsEnabled(features::kThrottleMainFrameTo60Hz)) {
|
||||
+ // Here as well, use a slack factor, to make sure that small timing
|
||||
+ // variations don't result in uneven pacing.
|
||||
+ //
|
||||
+ // Use interval / 2 rather than an actual interval as refresh rates are
|
||||
+ // not necessarily 120: it could be something really close, or it could be
|
||||
+ // 144Hz for instance.
|
||||
+ main_frame_throttled_interval_ = base::Hertz(60);
|
||||
+ TRACE_EVENT("cc", "ThrottleMainFrame", "interval",
|
||||
+ main_frame_throttled_interval_);
|
||||
+ } else {
|
||||
+ main_frame_throttled_interval_ = base::TimeDelta();
|
||||
+ }
|
||||
+#endif
|
||||
}
|
||||
|
||||
bool SchedulerStateMachine::IsDrawThrottled() const {
|
||||
@@ -1841,7 +1863,11 @@ void SchedulerStateMachine::SetShouldThrottleFrameRate(bool flag) {
|
||||
}
|
||||
|
||||
base::TimeDelta SchedulerStateMachine::MainFrameThrottledInterval() const {
|
||||
- if (!throttle_frame_rate_) {
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
if (!throttle_frame_rate_) {
|
||||
+#else
|
||||
+ if (!throttle_frame_rate_ || base::FeatureList::IsEnabled(features::kThrottleMainFrameTo60Hz)) {
|
||||
+#endif
|
||||
return main_frame_throttled_interval_;
|
||||
} else {
|
||||
auto throttled_interval =
|
||||
@@ -85,15 +106,18 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
|
||||
#include "components/webapps/common/web_app_id.h"
|
||||
#include "components/webui/chrome_urls/pref_names.h"
|
||||
#include "content/public/browser/attribution_data_model.h"
|
||||
@@ -2775,6 +2777,12 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
|
||||
@@ -2775,6 +2777,15 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
|
||||
command_line->AppendSwitchASCII(ash::switches::kHomedir, homedir.value());
|
||||
#endif
|
||||
|
||||
+ if (base::FeatureList::IsEnabled(::features::kThrottleMainFrameTo60Hz)
|
||||
+#if !BUILDFLAG(IS_ANDROID)
|
||||
+ if (child_process_id != -1
|
||||
+ && base::FeatureList::IsEnabled(::features::kThrottleMainFrameTo60Hz)
|
||||
+ && !base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kDisableFrameRateLimit)) {
|
||||
+ base::CommandLine::ForCurrentProcess()->
|
||||
+ AppendSwitch(switches::kDisableFrameRateLimit);
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
if (process_type == switches::kRendererProcess) {
|
||||
content::RenderProcessHost* process =
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: Temp disable experimental-web-platform-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
|
||||
@@ -5158,10 +5158,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -5159,10 +5159,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
{"enable-gpu-rasterization", flag_descriptions::kGpuRasterizationName,
|
||||
flag_descriptions::kGpuRasterizationDescription, kOsAll,
|
||||
MULTI_VALUE_TYPE(kEnableGpuRasterizationChoices)},
|
||||
|
||||
@@ -77,7 +77,7 @@ RUN useradd -m runner \
|
||||
|
||||
# Build args
|
||||
ARG TARGETPLATFORM=amd64
|
||||
ARG RUNNER_VERSION=2.326.0
|
||||
ARG RUNNER_VERSION=2.328.0
|
||||
WORKDIR /runner
|
||||
|
||||
# Runner download supports amd64 as x64
|
||||
|
||||
@@ -45,7 +45,7 @@ do
|
||||
-v /casefold:/win_sdk \
|
||||
--network none \
|
||||
--device=/dev/kvm \
|
||||
uazo/github-runner:2.326.0
|
||||
uazo/github-runner:2.328.0
|
||||
|
||||
echo "You can stop now"
|
||||
sleep 5s
|
||||
|
||||
@@ -20,6 +20,7 @@ third_party/blink/web_tests/virtual/stable/webexposed/global-interface-listing-e
|
||||
chrome/android/java/AndroidManifest.xml
|
||||
chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
|
||||
|
||||
chrome/browser/about_flags.cc
|
||||
chrome/browser/ui/tab_helpers.cc
|
||||
chrome/browser/chrome_browser_interface_binders.cc
|
||||
chrome/browser/chrome_content_browser_client.cc
|
||||
|
||||
@@ -1 +1 @@
|
||||
140.0.7339.128
|
||||
140.0.7339.186
|
||||
|
||||
+8
@@ -1659,6 +1659,13 @@ public abstract class ChromeFeatureList {
|
||||
"read_aloud_audio_overviews_speed_addition_percentage",
|
||||
20);
|
||||
|
||||
public static final BooleanCachedFeatureParam sShouldConsiderLanguageInOverviewReadability =
|
||||
newBooleanCachedFeatureParam(
|
||||
READALOUD_AUDIO_OVERVIEWS,
|
||||
"read_aloud_audio_overviews_should_consider_language_in_overview_readability",
|
||||
false
|
||||
);
|
||||
|
||||
/** Controls whether Referrer App ID is passed to Search Results Page via client= param. */
|
||||
public static final BooleanCachedFeatureParam sSearchinCctApplyReferrerId =
|
||||
newBooleanCachedFeatureParam(SEARCH_IN_CCT, "apply_referrer_id", false);
|
||||
@@ -1790,6 +1797,7 @@ public abstract class ChromeFeatureList {
|
||||
sReadAloudAudioOverviewsSpeedAdditionPercentage,
|
||||
sSearchinCctApplyReferrerId,
|
||||
sSearchinCctOmniboxAllowedPackageNames,
|
||||
sShouldConsiderLanguageInOverviewReadability,
|
||||
sStartSurfaceReturnTimeTabletSecs,
|
||||
sTabGroupListContainment,
|
||||
sTabStripLayoutOptimizationOemAllowlist,
|
||||
|
||||
Reference in New Issue
Block a user