diff --git a/build/patches/Experimental-user-scripts-support.patch b/build/patches/Experimental-user-scripts-support.patch index f3c39526..5782272b 100644 --- a/build/patches/Experimental-user-scripts-support.patch +++ b/build/patches/Experimental-user-scripts-support.patch @@ -95,7 +95,7 @@ See also: components/user_scripts/README.md components/user_scripts/common/url_pattern.h | 302 +++++++ .../user_scripts/common/url_pattern_set.cc | 335 ++++++++ .../user_scripts/common/url_pattern_set.h | 160 ++++ - components/user_scripts/common/user_script.cc | 325 +++++++ + components/user_scripts/common/user_script.cc | 329 +++++++ components/user_scripts/common/user_script.h | 403 +++++++++ .../common/user_scripts_features.cc | 32 + .../common/user_scripts_features.h | 34 + @@ -133,7 +133,7 @@ See also: components/user_scripts/README.md .../renderer/web_ui_injection_host.h | 27 + .../strings/userscripts_strings.grdp | 55 ++ tools/gritsettings/resource_ids.spec | 6 + - 111 files changed, 9569 insertions(+), 2 deletions(-) + 111 files changed, 9573 insertions(+), 2 deletions(-) create mode 100644 components/user_scripts/README.md create mode 100755 components/user_scripts/android/BUILD.gn create mode 100644 components/user_scripts/android/java/res/layout/accept_script_item.xml @@ -262,7 +262,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j 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 -@@ -69,6 +69,7 @@ import org.chromium.content_public.browser.BrowserStartupController; +@@ -68,6 +68,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; @@ -6407,7 +6407,7 @@ diff --git a/components/user_scripts/common/user_script.cc b/components/user_scr new file mode 100755 --- /dev/null +++ b/components/user_scripts/common/user_script.cc -@@ -0,0 +1,325 @@ +@@ -0,0 +1,329 @@ +// Copyright 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. @@ -6515,7 +6515,11 @@ new file mode 100755 +} + +bool UserScript::MatchesURL(const GURL& url) const { -+ // exclude schemas not valid ++ // Since the injecton is also provided for native pages, ++ // we must verify that the render process does not include ++ // scripts in the schema that are not allowed ++ ++ // we allow only URLPattern::SCHEME_HTTP(S) + URLPattern pattern(kValidUserScriptSchemes); + pattern.Parse(url.spec()); + if (!pattern.IsValidScheme(pattern.scheme()))