|
@@ -1,15 +1,15 @@
|
|
|
From: uazo <uazo@users.noreply.github.com>
|
|
|
Date: Sat, 20 Mar 2021 09:37:12 +0000
|
|
|
Subject: Experimental user scripts support preview
|
|
|
+needs
|
|
|
+add-support-for-ISupportHelpAndFeedback.patch
|
|
|
+add-support-for-prefs-addon.patch
|
|
|
|
|
|
---
|
|
|
chrome/android/BUILD.gn | 4 +
|
|
|
.../chrome/browser/AfterStartupTaskUtils.java | 2 +
|
|
|
.../browser/download/DownloadUtils.java | 6 +
|
|
|
- .../chrome/browser/settings/MainSettings.java | 7 +
|
|
|
- .../browser/settings/SettingsActivity.java | 10 +-
|
|
|
chrome/android/java_sources.gni | 3 +
|
|
|
- chrome/android/proguard/main.flags | 7 +
|
|
|
chrome/browser/BUILD.gn | 5 +
|
|
|
chrome/browser/about_flags.cc | 9 +
|
|
|
chrome/browser/flag_descriptions.cc | 10 +
|
|
@@ -21,7 +21,6 @@ Subject: Experimental user scripts support preview
|
|
|
chrome/chrome_paks.gni | 2 +
|
|
|
chrome/renderer/BUILD.gn | 1 +
|
|
|
.../chrome_content_renderer_client.cc | 33 +
|
|
|
- .../browser_ui/settings/SettingsUtils.java | 41 +
|
|
|
components/components_strings.grd | 1 +
|
|
|
components/user_scripts/android/BUILD.gn | 82 ++
|
|
|
.../java/res/layout/accept_script_item.xml | 74 ++
|
|
@@ -111,7 +110,7 @@ Subject: Experimental user scripts support preview
|
|
|
.../renderer/web_ui_injection_host.h | 28 +
|
|
|
.../strings/userscripts_strings.grdp | 50 ++
|
|
|
tools/gritsettings/resource_ids.spec | 6 +
|
|
|
- 108 files changed, 9309 insertions(+), 3 deletions(-)
|
|
|
+ 104 files changed, 9247 insertions(+)
|
|
|
create mode 100755 components/user_scripts/android/BUILD.gn
|
|
|
create mode 100644 components/user_scripts/android/java/res/layout/accept_script_item.xml
|
|
|
create mode 100644 components/user_scripts/android/java/res/layout/accept_script_list.xml
|
|
@@ -203,9 +202,9 @@ Subject: Experimental user scripts support preview
|
|
|
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
|
|
--- a/chrome/android/BUILD.gn
|
|
|
+++ b/chrome/android/BUILD.gn
|
|
|
-@@ -235,6 +235,9 @@ android_resources("chrome_app_java_resources") {
|
|
|
- "//third_party/android_deps:androidx_recyclerview_recyclerview_java",
|
|
|
- "//third_party/android_deps:material_design_java",
|
|
|
+@@ -236,6 +236,9 @@ android_resources("chrome_app_java_resources") {
|
|
|
+ "//third_party/androidx:androidx_preference_preference_java",
|
|
|
+ "//third_party/androidx:androidx_recyclerview_recyclerview_java",
|
|
|
]
|
|
|
+
|
|
|
+ # insert into chrome_app_java_resources
|
|
@@ -213,7 +212,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
|
|
}
|
|
|
|
|
|
if (enable_vr) {
|
|
|
-@@ -454,6 +457,7 @@ android_library("chrome_java") {
|
|
|
+@@ -465,6 +468,7 @@ android_library("chrome_java") {
|
|
|
"//components/translate/core/common:translate_infobar_event_enum_java",
|
|
|
"//components/url_formatter/android:url_formatter_java",
|
|
|
"//components/user_prefs/android:java",
|
|
@@ -243,7 +242,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AfterStartupTas
|
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
|
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
|
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
|
|
|
-@@ -63,6 +63,7 @@ import org.chromium.content_public.browser.BrowserStartupController;
|
|
|
+@@ -62,6 +62,7 @@ import org.chromium.content_public.browser.BrowserStartupController;
|
|
|
import org.chromium.content_public.browser.LoadUrlParams;
|
|
|
import org.chromium.ui.base.DeviceFormFactor;
|
|
|
import org.chromium.ui.widget.Toast;
|
|
@@ -263,52 +262,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo
|
|
|
// Check if Chrome should open the file itself.
|
|
|
if (service.isDownloadOpenableInBrowser(isOffTheRecord, mimeType)) {
|
|
|
// Share URIs use the content:// scheme when able, which looks bad when displayed
|
|
|
-diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
|
|
|
---- a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
|
|
|
-+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
|
|
|
-@@ -120,6 +120,8 @@ public class MainSettings extends PreferenceFragmentCompat
|
|
|
- findPreference(PREF_PRIVACY).setTitle(R.string.prefs_privacy_security);
|
|
|
- }
|
|
|
-
|
|
|
-+ createBromitePreferences();
|
|
|
-+
|
|
|
- cachePreferences();
|
|
|
-
|
|
|
- updatePasswordsPreference();
|
|
|
-@@ -274,4 +276,9 @@ public class MainSettings extends PreferenceFragmentCompat
|
|
|
- }
|
|
|
- };
|
|
|
- }
|
|
|
-+
|
|
|
-+ private void createBromitePreferences() {
|
|
|
-+ SettingsUtils.inflatePrefsAddon(this, "main_preferences_addon_",
|
|
|
-+ R.xml.class.getFields());
|
|
|
-+ }
|
|
|
- }
|
|
|
-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
|
|
|
-+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
|
|
-@@ -274,9 +274,13 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
|
|
- finish();
|
|
|
- return true;
|
|
|
- } else if (item.getItemId() == R.id.menu_id_general_help) {
|
|
|
-- HelpAndFeedbackLauncherImpl.getInstance().show(this,
|
|
|
-- getString(R.string.help_context_settings), Profile.getLastUsedRegularProfile(),
|
|
|
-- null);
|
|
|
-+ if (mainFragment instanceof SettingsUtils.ISupportHelpAndFeedback) {
|
|
|
-+ ((SettingsUtils.ISupportHelpAndFeedback)mainFragment).onHelpAndFeebackPressed();
|
|
|
-+ } else {
|
|
|
-+ HelpAndFeedbackLauncherImpl.getInstance().show(this,
|
|
|
-+ getString(R.string.help_context_settings), Profile.getLastUsedRegularProfile(),
|
|
|
-+ null);
|
|
|
-+ }
|
|
|
- return true;
|
|
|
- }
|
|
|
- return super.onOptionsItemSelected(item);
|
|
|
diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
|
|
|
--- a/chrome/android/java_sources.gni
|
|
|
+++ b/chrome/android/java_sources.gni
|
|
|
-@@ -19,6 +19,7 @@ import("//components/feed/features.gni")
|
|
|
+@@ -20,6 +20,7 @@ import("//components/feed/features.gni")
|
|
|
import("//components/offline_pages/buildflags/features.gni")
|
|
|
import("//components/omnibox/browser/test_java_sources.gni")
|
|
|
import("//device/vr/buildflags/buildflags.gni")
|
|
@@ -316,30 +273,16 @@ diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
|
|
|
|
|
|
chrome_java_sources += public_autofill_assistant_java_sources
|
|
|
|
|
|
-@@ -51,3 +52,5 @@ if (enable_arcore) {
|
|
|
+@@ -53,3 +54,5 @@ if (enable_arcore) {
|
|
|
"java/src/org/chromium/chrome/browser/vr/ArDelegateImpl.java",
|
|
|
]
|
|
|
}
|
|
|
+
|
|
|
+chrome_java_sources += userscripts_java_sources
|
|
|
-diff --git a/chrome/android/proguard/main.flags b/chrome/android/proguard/main.flags
|
|
|
---- a/chrome/android/proguard/main.flags
|
|
|
-+++ b/chrome/android/proguard/main.flags
|
|
|
-@@ -63,3 +63,10 @@
|
|
|
- -keep,allowobfuscation public class ** extends org.chromium.chrome.browser.base.SplitCompat*$Impl {
|
|
|
- public <init>();
|
|
|
- }
|
|
|
-+
|
|
|
-+# Keep fields name for all R.xml
|
|
|
-+# used in SettingsUtils.java
|
|
|
-+# components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings
|
|
|
-+-keepclassmembers class **.R$xml* {
|
|
|
-+ public static <fields>;
|
|
|
-+}
|
|
|
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
|
|
--- a/chrome/browser/BUILD.gn
|
|
|
+++ b/chrome/browser/BUILD.gn
|
|
|
-@@ -3371,6 +3371,11 @@ static_library("browser") {
|
|
|
+@@ -3377,6 +3377,11 @@ static_library("browser") {
|
|
|
]
|
|
|
deps += [ "//chrome/android/modules/dev_ui/provider:native" ]
|
|
|
}
|
|
@@ -362,7 +305,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
|
|
#include "components/version_info/version_info.h"
|
|
|
#include "components/viz/common/features.h"
|
|
|
#include "components/viz/common/switches.h"
|
|
|
-@@ -6390,6 +6391,14 @@ const FeatureEntry kFeatureEntries[] = {
|
|
|
+@@ -6502,6 +6503,14 @@ const FeatureEntry kFeatureEntries[] = {
|
|
|
FEATURE_VALUE_TYPE(features::kUserDataSnapshot)},
|
|
|
#endif
|
|
|
|
|
@@ -380,7 +323,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
|
|
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
|
|
|
-@@ -4899,6 +4899,16 @@ const char kUserDataSnapshotDescription[] =
|
|
|
+@@ -5094,6 +5094,16 @@ const char kUserDataSnapshotDescription[] =
|
|
|
"update and restoring them after a version rollback.";
|
|
|
#endif // !defined(OS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
|
|
|
|
|
@@ -400,7 +343,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
|
|
|
-@@ -2872,6 +2872,11 @@ extern const char kUserDataSnapshotName[];
|
|
|
+@@ -2995,6 +2995,11 @@ extern const char kUserDataSnapshotName[];
|
|
|
extern const char kUserDataSnapshotDescription[];
|
|
|
#endif // !defined(OS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
|
|
|
|
|
@@ -415,7 +358,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
|
|
|
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
|
|
|
-@@ -228,6 +228,7 @@
|
|
|
+@@ -227,6 +227,7 @@
|
|
|
#include "components/ntp_tiles/popular_sites_impl.h"
|
|
|
#include "components/permissions/contexts/geolocation_permission_context_android.h"
|
|
|
#include "components/query_tiles/tile_service_prefs.h"
|
|
@@ -423,18 +366,18 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
|
|
|
#else // defined(OS_ANDROID)
|
|
|
#include "chrome/browser/accessibility/caption_controller.h"
|
|
|
#include "chrome/browser/cart/cart_service.h"
|
|
|
-@@ -913,6 +914,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
|
|
+@@ -969,6 +970,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
|
|
translate::TranslatePrefs::RegisterProfilePrefs(registry);
|
|
|
omnibox::RegisterProfilePrefs(registry);
|
|
|
ZeroSuggestProvider::RegisterProfilePrefs(registry);
|
|
|
+ user_scripts::UserScriptsPrefs::RegisterProfilePrefs(registry);
|
|
|
|
|
|
- #if BUILDFLAG(ENABLE_EXTENSIONS)
|
|
|
- ExtensionWebUI::RegisterProfilePrefs(registry);
|
|
|
+ #if BUILDFLAG(ENABLE_SESSION_SERVICE)
|
|
|
+ RegisterSessionServiceLogProfilePrefs(registry);
|
|
|
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
|
|
|
-@@ -198,6 +198,8 @@
|
|
|
+@@ -200,6 +200,8 @@
|
|
|
#include "chrome/browser/lacros/cert_db_initializer_factory.h"
|
|
|
#endif
|
|
|
|
|
@@ -443,10 +386,10 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
|
|
|
namespace chrome {
|
|
|
|
|
|
void AddProfilesExtraParts(ChromeBrowserMainParts* main_parts) {
|
|
|
-@@ -452,6 +454,7 @@ void ChromeBrowserMainExtraPartsProfiles::
|
|
|
- CartServiceFactory::GetInstance();
|
|
|
- ProfileProtoDBFactory<cart_db::ChromeCartContentProto>::GetInstance();
|
|
|
+@@ -460,6 +462,7 @@ void ChromeBrowserMainExtraPartsProfiles::
|
|
|
#endif
|
|
|
+ WebDataServiceFactory::GetInstance();
|
|
|
+ webrtc_event_logging::WebRtcEventLogManagerKeyedServiceFactory::GetInstance();
|
|
|
+ user_scripts::UserScriptsBrowserClient::GetInstance();
|
|
|
}
|
|
|
|
|
@@ -454,7 +397,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
|
|
|
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
|
|
|
-@@ -111,6 +111,8 @@
|
|
|
+@@ -112,6 +112,8 @@
|
|
|
#include "extensions/common/manifest.h"
|
|
|
#endif
|
|
|
|
|
@@ -463,7 +406,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile
|
|
|
#if BUILDFLAG(ENABLE_SESSION_SERVICE)
|
|
|
#include "chrome/browser/sessions/session_service_factory.h"
|
|
|
#endif
|
|
|
-@@ -1434,6 +1436,13 @@ void ProfileManager::DoFinalInitForServices(Profile* profile,
|
|
|
+@@ -1465,6 +1467,13 @@ void ProfileManager::DoFinalInitForServices(Profile* profile,
|
|
|
}
|
|
|
|
|
|
#endif
|
|
@@ -480,7 +423,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile
|
|
|
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
|
|
|
-@@ -95,6 +95,7 @@
|
|
|
+@@ -84,6 +84,7 @@
|
|
|
#include "components/security_interstitials/content/urls.h"
|
|
|
#include "components/signin/public/base/signin_buildflags.h"
|
|
|
#include "components/site_engagement/content/site_engagement_service.h"
|
|
@@ -488,7 +431,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
|
|
|
#include "content/public/browser/web_contents.h"
|
|
|
#include "content/public/browser/web_ui.h"
|
|
|
#include "content/public/common/content_client.h"
|
|
|
-@@ -578,6 +579,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
|
|
|
+@@ -588,6 +589,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
|
|
|
return &NewWebUI<UserActionsUI>;
|
|
|
if (url.host_piece() == chrome::kChromeUIVersionHost)
|
|
|
return &NewWebUI<VersionUI>;
|
|
@@ -519,7 +462,7 @@ diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni
|
|
|
diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn
|
|
|
--- a/chrome/renderer/BUILD.gn
|
|
|
+++ b/chrome/renderer/BUILD.gn
|
|
|
-@@ -162,6 +162,7 @@ static_library("renderer") {
|
|
|
+@@ -163,6 +163,7 @@ static_library("renderer") {
|
|
|
"//components/contextual_search/content:renderer",
|
|
|
"//components/data_reduction_proxy/core/common",
|
|
|
"//components/dom_distiller/content/renderer",
|
|
@@ -530,16 +473,16 @@ diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn
|
|
|
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
|
|
|
-@@ -166,6 +166,8 @@
|
|
|
-
|
|
|
- #if defined(OS_ANDROID)
|
|
|
+@@ -168,6 +168,8 @@
|
|
|
#include "chrome/renderer/sandbox_status_extension_android.h"
|
|
|
+ #include "components/continuous_search/renderer/search_result_extractor_impl.h" // nogncheck
|
|
|
+ #include "components/embedder_support/android/common/url_constants.h"
|
|
|
+#include "components/user_scripts/common/user_scripts_features.h"
|
|
|
+#include "components/user_scripts/renderer/user_scripts_renderer_client.h"
|
|
|
#else
|
|
|
+ #include "chrome/renderer/cart/commerce_hint_agent.h"
|
|
|
#include "chrome/renderer/media/chrome_speech_recognition_client.h"
|
|
|
- #include "chrome/renderer/searchbox/searchbox.h"
|
|
|
-@@ -361,6 +363,12 @@ void ChromeContentRendererClient::RenderThreadStarted() {
|
|
|
+@@ -363,6 +365,12 @@ void ChromeContentRendererClient::RenderThreadStarted() {
|
|
|
ChromeExtensionsRendererClient::GetInstance()->RenderThreadStarted();
|
|
|
#endif
|
|
|
|
|
@@ -552,7 +495,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
|
|
|
#if BUILDFLAG(ENABLE_SPELLCHECK)
|
|
|
if (!spellcheck_)
|
|
|
InitSpellCheck();
|
|
|
-@@ -497,6 +505,13 @@ void ChromeContentRendererClient::RenderFrameCreated(
|
|
|
+@@ -493,6 +501,13 @@ void ChromeContentRendererClient::RenderFrameCreated(
|
|
|
render_frame, registry);
|
|
|
#endif
|
|
|
|
|
@@ -566,7 +509,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
|
|
|
#if BUILDFLAG(ENABLE_PLUGINS)
|
|
|
new PepperHelper(render_frame);
|
|
|
#endif
|
|
|
-@@ -1470,6 +1485,12 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart(
|
|
|
+@@ -1455,6 +1470,12 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart(
|
|
|
render_frame);
|
|
|
// |render_frame| might be dead by now.
|
|
|
#endif
|
|
@@ -579,7 +522,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
|
|
|
}
|
|
|
|
|
|
void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
|
|
|
-@@ -1479,6 +1500,12 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
|
|
|
+@@ -1464,6 +1485,12 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
|
|
|
render_frame);
|
|
|
// |render_frame| might be dead by now.
|
|
|
#endif
|
|
@@ -592,7 +535,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
|
|
|
}
|
|
|
|
|
|
void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
|
|
|
-@@ -1488,6 +1515,12 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
|
|
|
+@@ -1473,6 +1500,12 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
|
|
|
render_frame);
|
|
|
// |render_frame| might be dead by now.
|
|
|
#endif
|
|
@@ -605,66 +548,10 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
|
|
|
}
|
|
|
|
|
|
void ChromeContentRendererClient::
|
|
|
-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
|
|
|
-+++ b/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsUtils.java
|
|
|
-@@ -24,6 +24,12 @@ import androidx.preference.PreferenceFragmentCompat;
|
|
|
-
|
|
|
- import org.chromium.base.ApiCompatibilityUtils;
|
|
|
-
|
|
|
-+import org.chromium.base.Log;
|
|
|
-+import androidx.preference.PreferenceScreen;
|
|
|
-+import androidx.preference.PreferenceManager;
|
|
|
-+import android.content.res.Resources;
|
|
|
-+import java.lang.reflect.Field;
|
|
|
-+
|
|
|
- /**
|
|
|
- * A helper class for Settings.
|
|
|
- */
|
|
|
-@@ -126,4 +132,39 @@ public class SettingsUtils {
|
|
|
- ImageView imageButton = (ImageView) button;
|
|
|
- return imageButton.getDrawable() == parentMenu.getOverflowIcon();
|
|
|
- }
|
|
|
-+
|
|
|
-+ public static PreferenceScreen inflatePrefsAddon(PreferenceFragmentCompat preferenceFragment,
|
|
|
-+ String name,
|
|
|
-+ Field[] fields) {
|
|
|
-+ Resources resources = preferenceFragment.getResources();
|
|
|
-+
|
|
|
-+ for(int count=0; count < fields.length; count++) {
|
|
|
-+ String assetName = fields[count].getName();
|
|
|
-+ if (assetName.startsWith(name)) {
|
|
|
-+ try {
|
|
|
-+ int resId = fields[count].getInt(null);
|
|
|
-+ return SettingsUtils.inflatePreferencesFromResource(preferenceFragment, resId);
|
|
|
-+ } catch (IllegalAccessException e) {}
|
|
|
-+ }
|
|
|
-+ }
|
|
|
-+ return null;
|
|
|
-+ }
|
|
|
-+
|
|
|
-+ public static PreferenceScreen inflatePreferencesFromResource(
|
|
|
-+ PreferenceFragmentCompat preferenceFragment, @XmlRes int preferencesResId) {
|
|
|
-+ StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskReads();
|
|
|
-+ try {
|
|
|
-+ PreferenceManager preferenceManager = preferenceFragment.getPreferenceManager();
|
|
|
-+ final PreferenceScreen xmlRoot = preferenceManager.inflateFromResource(
|
|
|
-+ preferenceFragment.getContext(),
|
|
|
-+ preferencesResId, preferenceFragment.getPreferenceScreen());
|
|
|
-+ return xmlRoot;
|
|
|
-+ } finally {
|
|
|
-+ StrictMode.setThreadPolicy(oldPolicy);
|
|
|
-+ }
|
|
|
-+ }
|
|
|
-+
|
|
|
-+ public interface ISupportHelpAndFeedback {
|
|
|
-+ void onHelpAndFeebackPressed();
|
|
|
-+ }
|
|
|
- }
|
|
|
diff --git a/components/components_strings.grd b/components/components_strings.grd
|
|
|
--- a/components/components_strings.grd
|
|
|
+++ b/components/components_strings.grd
|
|
|
-@@ -321,6 +321,7 @@
|
|
|
+@@ -327,6 +327,7 @@
|
|
|
<part file="undo_strings.grdp" />
|
|
|
<part file="version_ui_strings.grdp" />
|
|
|
<part file="webapps_strings.grdp" />
|
|
@@ -736,9 +623,9 @@ new file mode 100755
|
|
|
+ "//content/public/android:content_java",
|
|
|
+ "//components/prefs/android:java",
|
|
|
+ "//third_party/android_deps:android_support_v7_appcompat_java",
|
|
|
-+ "//third_party/android_deps:androidx_annotation_annotation_java",
|
|
|
-+ "//third_party/android_deps:androidx_appcompat_appcompat_resources_java",
|
|
|
-+ "//third_party/android_deps:androidx_preference_preference_java",
|
|
|
++ "//third_party/androidx:androidx_annotation_annotation_java",
|
|
|
++ "//third_party/androidx:androidx_appcompat_appcompat_resources_java",
|
|
|
++ "//third_party/androidx:androidx_preference_preference_java",
|
|
|
+ "//ui/android:ui_java",
|
|
|
+ ]
|
|
|
+ resources_package = "org.chromium.components.user_scripts"
|
|
@@ -3887,7 +3774,7 @@ new file mode 100644
|
|
|
+
|
|
|
+ bool IsEnabled();
|
|
|
+ void SetEnabled(bool enabled);
|
|
|
-+
|
|
|
++
|
|
|
+ void StartupTryout(int number);
|
|
|
+ int GetCurrentStartupTryout();
|
|
|
+
|
|
@@ -10281,7 +10168,7 @@ new file mode 100755
|
|
|
diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ids.spec
|
|
|
--- a/tools/gritsettings/resource_ids.spec
|
|
|
+++ b/tools/gritsettings/resource_ids.spec
|
|
|
-@@ -428,6 +428,12 @@
|
|
|
+@@ -464,6 +464,12 @@
|
|
|
"components/autofill/core/browser/autofill_address_rewriter_resources.grd":{
|
|
|
"includes": [2880]
|
|
|
},
|