123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- From: hardenedfuchsiaoswhen <hardenedfuchsiaoswhen@protonmail.com>
- Date: Fri, 18 Jun 2021 03:34:20 +0000
- Subject: JIT-less toggle
- ---
- chrome/android/java/res/xml/privacy_preferences.xml | 5 +++++
- .../browser/privacy/settings/PrivacySettings.java | 11 +++++++++++
- .../ui/android/strings/android_chrome_strings.grd | 7 +++++++
- .../content/browser/BrowserStartupControllerImpl.java | 1 +
- .../org/chromium/content/browser/DeviceUtilsImpl.java | 8 ++++++++
- 5 files changed, 32 insertions(+)
- diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
- --- a/chrome/android/java/res/xml/privacy_preferences.xml
- +++ b/chrome/android/java/res/xml/privacy_preferences.xml
- @@ -37,6 +37,11 @@
- android:title="@string/preload_pages_title"
- android:summary="@string/preload_pages_summary"
- android:persistent="false"/>
- + <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
- + android:key="force_no_jit"
- + android:title="@string/force_no_jit_title"
- + android:summary="@string/force_no_jit_summary"
- + android:defaultValue="false" />
- <org.chromium.components.browser_ui.settings.ChromeBasePreference
- android:key="secure_dns"
- android:title="@string/settings_secure_dns_title"
- diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
- --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
- +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
- @@ -4,6 +4,7 @@
-
- package org.chromium.chrome.browser.privacy.settings;
-
- +import android.content.SharedPreferences;
- import android.os.Build;
- import android.content.SharedPreferences;
- import android.os.Bundle;
- @@ -83,6 +84,7 @@ public class PrivacySettings
- private static final String PREF_SEARCH_SUGGESTIONS = "search_suggestions";
- private static final String PREF_CONTEXTUAL_SEARCH = "contextual_search";
- public static final String PREF_AUTOFILL_ASSISTANT = "autofill_assistant";
- + private static final String PREF_FORCE_NO_JIT = "force_no_jit";
- private ChromeSwitchPreference mSearchSuggestions;
- private @Nullable ChromeSwitchPreference mAutofillAssistant;
- private @Nullable Preference mContextualSearch;
- @@ -242,6 +244,10 @@ public class PrivacySettings
- .setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
- } else if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
- prefService.setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue);
- + } else if (PREF_FORCE_NO_JIT.equals(key)) {
- + SharedPreferences.Editor sharedPreferenceEditor = ContextUtils.getAppSharedPreferences().edit();
- + sharedPreferenceEditor.putBoolean(PREF_FORCE_NO_JIT, (boolean) newValue);
- + sharedPreferenceEditor.apply();
- } else if (PREF_AUTOFILL_ASSISTANT.equals(key)) {
- mSharedPreferencesManager.writeBoolean(
- ChromePreferenceKeys.AUTOFILL_ASSISTANT_ENABLED, (boolean) newValue);
- @@ -325,6 +331,11 @@ public class PrivacySettings
- prefService.getBoolean(Pref.INCOGNITO_TAB_HISTORY_ENABLED));
- }
-
- + ChromeSwitchPreference forceNoJit =
- + (ChromeSwitchPreference) findPreference(PREF_FORCE_NO_JIT);
- + forceNoJit.setOnPreferenceChangeListener(this);
- + forceNoJit.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
- +
- updateIncognitoReauthPreference();
- }
-
- diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
- --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
- +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
- @@ -952,6 +952,13 @@ Privacy Sandbox trials are still in active development and are available in sele
- Please verify that this is a valid provider or try again later
- </message>
-
- + <message name="IDS_FORCE_NO_JIT_TITLE" desc="Title for disable JIT settings. [CHAR-LIMIT=32]">
- + Disable JIT
- + </message>
- + <message name="IDS_FORCE_NO_JIT_SUMMARY" desc="Summary for Disable JIT settings">
- + Improve security at the expense of performance by not compiling JavaScript to native code (requires browser restart)
- + </message>
- +
- <message name="IDS_CLEAR_BROWSING_DATA_TITLE" desc="Title of the Clear Browsing Data screen. [CHAR_LIMIT=32]">
- Clear browsing data
- </message>
- diff --git a/content/public/android/java/src/org/chromium/content/browser/BrowserStartupControllerImpl.java b/content/public/android/java/src/org/chromium/content/browser/BrowserStartupControllerImpl.java
- --- a/content/public/android/java/src/org/chromium/content/browser/BrowserStartupControllerImpl.java
- +++ b/content/public/android/java/src/org/chromium/content/browser/BrowserStartupControllerImpl.java
- @@ -453,6 +453,7 @@ public class BrowserStartupControllerImpl implements BrowserStartupController {
- }
-
- // TODO(yfriedman): Remove dependency on a command line flag for this.
- + DeviceUtilsImpl.addJitlessSwitch();
- DeviceUtilsImpl.addDeviceSpecificUserAgentSwitch();
- BrowserStartupControllerImplJni.get().setCommandLineFlags(singleProcess);
- }
- diff --git a/content/public/android/java/src/org/chromium/content/browser/DeviceUtilsImpl.java b/content/public/android/java/src/org/chromium/content/browser/DeviceUtilsImpl.java
- --- a/content/public/android/java/src/org/chromium/content/browser/DeviceUtilsImpl.java
- +++ b/content/public/android/java/src/org/chromium/content/browser/DeviceUtilsImpl.java
- @@ -5,6 +5,7 @@
- package org.chromium.content.browser;
-
- import org.chromium.base.CommandLine;
- +import org.chromium.base.ContextUtils;
- import org.chromium.base.StrictModeContext;
- import org.chromium.content_public.common.ContentSwitches;
- import org.chromium.ui.base.DeviceFormFactor;
- @@ -22,4 +23,11 @@ public class DeviceUtilsImpl {
- }
- }
- }
- + public static void addJitlessSwitch() {
- + try (StrictModeContext ignored = StrictModeContext.allowDiskReads()) {
- + if (ContextUtils.getAppSharedPreferences().getBoolean("force_no_jit", false)) {
- + CommandLine.getInstance().appendSwitchWithValue("js-flags", "--jitless");
- + }
- + }
- + }
- }
- --
- 2.20.1
|