mirror of
https://github.com/uazo/cromite.git
synced 2025-12-28 07:54:50 +00:00
77 lines
3.1 KiB
Diff
77 lines
3.1 KiB
Diff
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 | 4 ++++
|
|
content/renderer/render_process_impl.cc | 9 +++++++++
|
|
.../Add-PartialLowEndModeOnMidRangeDevices-flag.inc | 12 ++++++++++++
|
|
3 files changed, 25 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
|
|
@@ -202,6 +202,10 @@ bool IsReducePPMsEnabled() {
|
|
return g_is_reduce_ppms_enabled.load(std::memory_order_relaxed);
|
|
}
|
|
|
|
+#if BUILDFLAG(IS_ANDROID)
|
|
+SET_CROMITE_FEATURE_DISABLED(kPartialLowEndModeOnMidRangeDevices);
|
|
+#endif
|
|
+
|
|
void Init(EmitThreadControllerProfilerMetadata
|
|
emit_thread_controller_profiler_metadata) {
|
|
g_is_reduce_ppms_enabled.store(FeatureList::IsEnabled(kReducePPMs),
|
|
diff --git a/content/renderer/render_process_impl.cc b/content/renderer/render_process_impl.cc
|
|
--- a/content/renderer/render_process_impl.cc
|
|
+++ b/content/renderer/render_process_impl.cc
|
|
@@ -2,6 +2,7 @@
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
+#include "base/features.h"
|
|
#include "content/renderer/render_process_impl.h"
|
|
|
|
#include "build/build_config.h"
|
|
@@ -122,10 +123,18 @@ RenderProcessImpl::RenderProcessImpl()
|
|
base::CommandLine::ForCurrentProcess()->HasSwitch(
|
|
switches::kDisallowV8FeatureFlagOverrides);
|
|
if (!disallow_v8_feature_flag_overrides) {
|
|
+#if BUILDFLAG(IS_ANDROID)
|
|
+ if (base::SysInfo::IsLowEndDevice()
|
|
+ && base::FeatureList::IsEnabled(base::features::kPartialLowEndModeOnMidRangeDevices)) {
|
|
+ std::string_view optimize_flag("--optimize-for-size");
|
|
+ v8::V8::SetFlagsFromString(optimize_flag.data(), optimize_flag.size());
|
|
+ }
|
|
+#else
|
|
if (base::SysInfo::IsLowEndDevice()) {
|
|
std::string_view optimize_flag("--optimize-for-size");
|
|
v8::V8::SetFlagsFromString(optimize_flag.data(), optimize_flag.size());
|
|
}
|
|
+#endif
|
|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
// V8 flags are typically set in gin/v8_initializer.cc. Only those flags
|
|
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Add-PartialLowEndModeOnMidRangeDevices-flag.inc b/cromite_flags/chrome/browser/about_flags_cc/Add-PartialLowEndModeOnMidRangeDevices-flag.inc
|
|
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
|
|
--
|