Loading build/patches/Experimental-user-scripts-support.patch +23 −19 Original line number Diff line number Diff line Loading @@ -74,7 +74,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../user-script-ui/user-scripts-ui.js | 9 + .../browser/ui/user_scripts_ui.cc | 146 ++++ .../user_scripts/browser/ui/user_scripts_ui.h | 37 + .../browser/user_script_loader.cc | 706 +++++++++++++++ .../browser/user_script_loader.cc | 704 +++++++++++++++ .../user_scripts/browser/user_script_loader.h | 168 ++++ .../browser/user_script_pref_info.cc | 34 + .../browser/user_script_pref_info.h | 72 ++ Loading @@ -93,7 +93,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html components/user_scripts/common/host_id.cc | 31 + components/user_scripts/common/host_id.h | 35 + .../user_scripts/common/script_constants.h | 33 + components/user_scripts/common/url_pattern.cc | 802 ++++++++++++++++++ components/user_scripts/common/url_pattern.cc | 808 ++++++++++++++++++ components/user_scripts/common/url_pattern.h | 302 +++++++ .../user_scripts/common/url_pattern_set.cc | 335 ++++++++ .../user_scripts/common/url_pattern_set.h | 160 ++++ Loading @@ -104,7 +104,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html components/user_scripts/common/view_type.cc | 37 + components/user_scripts/common/view_type.h | 48 ++ components/user_scripts/renderer/BUILD.gn | 65 ++ .../renderer/extension_frame_helper.cc | 95 +++ .../renderer/extension_frame_helper.cc | 95 ++ .../renderer/extension_frame_helper.h | 90 ++ .../user_scripts/renderer/injection_host.cc | 12 + .../user_scripts/renderer/injection_host.h | 41 + Loading Loading @@ -135,7 +135,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../Experimental-user-scripts-support.inc | 13 + ipc/ipc_message_start.h | 1 + tools/gritsettings/resource_ids.spec | 6 + 108 files changed, 9476 insertions(+), 2 deletions(-) 108 files changed, 9480 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 Loading Loading @@ -2832,7 +2832,7 @@ diff --git a/components/user_scripts/browser/user_script_loader.cc b/components/ new file mode 100755 --- /dev/null +++ b/components/user_scripts/browser/user_script_loader.cc @@ -0,0 +1,706 @@ @@ -0,0 +1,704 @@ +/* + This file is part of Bromite. + Loading Loading @@ -2931,9 +2931,7 @@ new file mode 100755 + if (index == std::string_view::npos) + return false; + + std::string temp(line.data() + index + prefix.length(), + line.length() - index - prefix.length()); + + std::string_view temp = line.substr(index + prefix.length()); + if (temp.empty() || !base::IsAsciiWhitespace(temp[0])) + return false; + Loading Loading @@ -2961,7 +2959,7 @@ new file mode 100755 + if (line_end == std::string::npos) + line_end = script_text.length() - 1; + + line = std::string_view(script_text.data() + line_start, + line = script_text.substr(line_start, + line_end - line_start); + + if (!*found_metadata) { Loading Loading @@ -3070,8 +3068,8 @@ new file mode 100755 + } + + auto buffer = std::vector<char>(length); + int bytes_read = infile.Read(0, buffer.data(), length); + if (bytes_read == -1) { + std::optional<size_t> bytes_read = infile.Read(0, base::as_writable_byte_span(buffer)); + if (!bytes_read.has_value()) { + *error = u"Could not read source file."; + return false; + } Loading Loading @@ -4772,7 +4770,7 @@ diff --git a/components/user_scripts/common/url_pattern.cc b/components/user_scr new file mode 100755 --- /dev/null +++ b/components/user_scripts/common/url_pattern.cc @@ -0,0 +1,802 @@ @@ -0,0 +1,808 @@ +// Copyright (c) 2012 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. Loading Loading @@ -4902,8 +4900,9 @@ new file mode 100755 + +// static +bool URLPattern::IsValidSchemeForExtensions(std::string_view scheme) { + auto validSchemes = base::span(kValidSchemes); + for (size_t i = 0; i < std::size(kValidSchemes); ++i) { + if (scheme == kValidSchemes[i]) + if (scheme == validSchemes[i]) + return true; + } + return false; Loading @@ -4911,9 +4910,10 @@ new file mode 100755 + +// static +int URLPattern::GetValidSchemeMaskForExtensions() { + auto validSchemeMasks = base::span(kValidSchemeMasks); + int result = 0; + for (size_t i = 0; i < std::size(kValidSchemeMasks); ++i) + result |= kValidSchemeMasks[i]; + result |= validSchemeMasks[i]; + return result; +} + Loading Loading @@ -5159,8 +5159,10 @@ new file mode 100755 + if (valid_schemes_ == SCHEME_ALL) + return true; + + auto validSchemes = base::span(kValidSchemes); + auto validSchemeMasks = base::span(kValidSchemeMasks); + for (size_t i = 0; i < std::size(kValidSchemes); ++i) { + if (scheme == kValidSchemes[i] && (valid_schemes_ & kValidSchemeMasks[i])) + if (scheme == validSchemes[i] && (valid_schemes_ & validSchemeMasks[i])) + return true; + } + Loading Loading @@ -5546,9 +5548,10 @@ new file mode 100755 + return result; + } + + auto validSchemes = base::span(kValidSchemes); + for (size_t i = 0; i < std::size(kValidSchemes); ++i) { + if (MatchesScheme(kValidSchemes[i])) { + result.push_back(kValidSchemes[i]); + if (MatchesScheme(validSchemes[i])) { + result.push_back(validSchemes[i]); + } + } + Loading @@ -5573,7 +5576,8 @@ new file mode 100755 +// static +const char* URLPattern::GetParseResultString( + URLPattern::ParseResult parse_result) { + return kParseResultMessages[static_cast<int>(parse_result)]; + auto parseResultMessages = base::span(kParseResultMessages); + return parseResultMessages[static_cast<int>(parse_result)]; +} diff --git a/components/user_scripts/common/url_pattern.h b/components/user_scripts/common/url_pattern.h new file mode 100755 Loading Loading
build/patches/Experimental-user-scripts-support.patch +23 −19 Original line number Diff line number Diff line Loading @@ -74,7 +74,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../user-script-ui/user-scripts-ui.js | 9 + .../browser/ui/user_scripts_ui.cc | 146 ++++ .../user_scripts/browser/ui/user_scripts_ui.h | 37 + .../browser/user_script_loader.cc | 706 +++++++++++++++ .../browser/user_script_loader.cc | 704 +++++++++++++++ .../user_scripts/browser/user_script_loader.h | 168 ++++ .../browser/user_script_pref_info.cc | 34 + .../browser/user_script_pref_info.h | 72 ++ Loading @@ -93,7 +93,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html components/user_scripts/common/host_id.cc | 31 + components/user_scripts/common/host_id.h | 35 + .../user_scripts/common/script_constants.h | 33 + components/user_scripts/common/url_pattern.cc | 802 ++++++++++++++++++ components/user_scripts/common/url_pattern.cc | 808 ++++++++++++++++++ components/user_scripts/common/url_pattern.h | 302 +++++++ .../user_scripts/common/url_pattern_set.cc | 335 ++++++++ .../user_scripts/common/url_pattern_set.h | 160 ++++ Loading @@ -104,7 +104,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html components/user_scripts/common/view_type.cc | 37 + components/user_scripts/common/view_type.h | 48 ++ components/user_scripts/renderer/BUILD.gn | 65 ++ .../renderer/extension_frame_helper.cc | 95 +++ .../renderer/extension_frame_helper.cc | 95 ++ .../renderer/extension_frame_helper.h | 90 ++ .../user_scripts/renderer/injection_host.cc | 12 + .../user_scripts/renderer/injection_host.h | 41 + Loading Loading @@ -135,7 +135,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../Experimental-user-scripts-support.inc | 13 + ipc/ipc_message_start.h | 1 + tools/gritsettings/resource_ids.spec | 6 + 108 files changed, 9476 insertions(+), 2 deletions(-) 108 files changed, 9480 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 Loading Loading @@ -2832,7 +2832,7 @@ diff --git a/components/user_scripts/browser/user_script_loader.cc b/components/ new file mode 100755 --- /dev/null +++ b/components/user_scripts/browser/user_script_loader.cc @@ -0,0 +1,706 @@ @@ -0,0 +1,704 @@ +/* + This file is part of Bromite. + Loading Loading @@ -2931,9 +2931,7 @@ new file mode 100755 + if (index == std::string_view::npos) + return false; + + std::string temp(line.data() + index + prefix.length(), + line.length() - index - prefix.length()); + + std::string_view temp = line.substr(index + prefix.length()); + if (temp.empty() || !base::IsAsciiWhitespace(temp[0])) + return false; + Loading Loading @@ -2961,7 +2959,7 @@ new file mode 100755 + if (line_end == std::string::npos) + line_end = script_text.length() - 1; + + line = std::string_view(script_text.data() + line_start, + line = script_text.substr(line_start, + line_end - line_start); + + if (!*found_metadata) { Loading Loading @@ -3070,8 +3068,8 @@ new file mode 100755 + } + + auto buffer = std::vector<char>(length); + int bytes_read = infile.Read(0, buffer.data(), length); + if (bytes_read == -1) { + std::optional<size_t> bytes_read = infile.Read(0, base::as_writable_byte_span(buffer)); + if (!bytes_read.has_value()) { + *error = u"Could not read source file."; + return false; + } Loading Loading @@ -4772,7 +4770,7 @@ diff --git a/components/user_scripts/common/url_pattern.cc b/components/user_scr new file mode 100755 --- /dev/null +++ b/components/user_scripts/common/url_pattern.cc @@ -0,0 +1,802 @@ @@ -0,0 +1,808 @@ +// Copyright (c) 2012 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. Loading Loading @@ -4902,8 +4900,9 @@ new file mode 100755 + +// static +bool URLPattern::IsValidSchemeForExtensions(std::string_view scheme) { + auto validSchemes = base::span(kValidSchemes); + for (size_t i = 0; i < std::size(kValidSchemes); ++i) { + if (scheme == kValidSchemes[i]) + if (scheme == validSchemes[i]) + return true; + } + return false; Loading @@ -4911,9 +4910,10 @@ new file mode 100755 + +// static +int URLPattern::GetValidSchemeMaskForExtensions() { + auto validSchemeMasks = base::span(kValidSchemeMasks); + int result = 0; + for (size_t i = 0; i < std::size(kValidSchemeMasks); ++i) + result |= kValidSchemeMasks[i]; + result |= validSchemeMasks[i]; + return result; +} + Loading Loading @@ -5159,8 +5159,10 @@ new file mode 100755 + if (valid_schemes_ == SCHEME_ALL) + return true; + + auto validSchemes = base::span(kValidSchemes); + auto validSchemeMasks = base::span(kValidSchemeMasks); + for (size_t i = 0; i < std::size(kValidSchemes); ++i) { + if (scheme == kValidSchemes[i] && (valid_schemes_ & kValidSchemeMasks[i])) + if (scheme == validSchemes[i] && (valid_schemes_ & validSchemeMasks[i])) + return true; + } + Loading Loading @@ -5546,9 +5548,10 @@ new file mode 100755 + return result; + } + + auto validSchemes = base::span(kValidSchemes); + for (size_t i = 0; i < std::size(kValidSchemes); ++i) { + if (MatchesScheme(kValidSchemes[i])) { + result.push_back(kValidSchemes[i]); + if (MatchesScheme(validSchemes[i])) { + result.push_back(validSchemes[i]); + } + } + Loading @@ -5573,7 +5576,8 @@ new file mode 100755 +// static +const char* URLPattern::GetParseResultString( + URLPattern::ParseResult parse_result) { + return kParseResultMessages[static_cast<int>(parse_result)]; + auto parseResultMessages = base::span(kParseResultMessages); + return parseResultMessages[static_cast<int>(parse_result)]; +} diff --git a/components/user_scripts/common/url_pattern.h b/components/user_scripts/common/url_pattern.h new file mode 100755 Loading