summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSzabolcs David <davidsz@inf.u-szeged.hu>2019-09-10 17:32:04 +0200
committerSzabolcs David <davidsz@inf.u-szeged.hu>2019-09-13 10:25:37 +0000
commit7956dfb8d2051a1d473826e6d78de5e6f53b939f (patch)
tree886133daa88867e81504cce7973705c7ac54959d
parent9af3b1bf632534732142388c9b771bc7384e3fc7 (diff)
downloadqtwebengine-chromium-7956dfb8d2051a1d473826e6d78de5e6f53b939f.tar.gz
Support qrc protocol in UrlPattern
We use UrlPattern to parse @match rules from the metadata headers of user scripts. Task-number: QTBUG-76173 Change-Id: Ibd1b73508e3229bcc5babe26e0048da069da6dec Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
-rw-r--r--chromium/extensions/common/url_pattern.cc2
-rw-r--r--chromium/extensions/common/url_pattern.h1
-rw-r--r--chromium/url/url_constants.cc2
-rw-r--r--chromium/url/url_constants.h2
4 files changed, 7 insertions, 0 deletions
diff --git a/chromium/extensions/common/url_pattern.cc b/chromium/extensions/common/url_pattern.cc
index e9fc1e281ea..9778cada033 100644
--- a/chromium/extensions/common/url_pattern.cc
+++ b/chromium/extensions/common/url_pattern.cc
@@ -34,6 +34,7 @@ const char* const kValidSchemes[] = {
content::kChromeUIScheme, extensions::kExtensionScheme,
url::kFileSystemScheme, url::kWsScheme,
url::kWssScheme, url::kDataScheme,
+ url::kQrcScheme,
};
const int kValidSchemeMasks[] = {
@@ -42,6 +43,7 @@ const int kValidSchemeMasks[] = {
URLPattern::SCHEME_CHROMEUI, URLPattern::SCHEME_EXTENSION,
URLPattern::SCHEME_FILESYSTEM, URLPattern::SCHEME_WS,
URLPattern::SCHEME_WSS, URLPattern::SCHEME_DATA,
+ URLPattern::SCHEME_QRC,
};
static_assert(base::size(kValidSchemes) == base::size(kValidSchemeMasks),
diff --git a/chromium/extensions/common/url_pattern.h b/chromium/extensions/common/url_pattern.h
index fc5d41a6fa0..345b6016d07 100644
--- a/chromium/extensions/common/url_pattern.h
+++ b/chromium/extensions/common/url_pattern.h
@@ -61,6 +61,7 @@ class URLPattern {
SCHEME_WS = 1 << 7,
SCHEME_WSS = 1 << 8,
SCHEME_DATA = 1 << 9,
+ SCHEME_QRC = 1 << 10,
// IMPORTANT!
// SCHEME_ALL will match every scheme, including chrome://, chrome-
diff --git a/chromium/url/url_constants.cc b/chromium/url/url_constants.cc
index 110c6a7b22d..0f286227b03 100644
--- a/chromium/url/url_constants.cc
+++ b/chromium/url/url_constants.cc
@@ -27,6 +27,8 @@ const char kMailToScheme[] = "mailto";
const char kWsScheme[] = "ws";
const char kWssScheme[] = "wss";
+const char kQrcScheme[] = "qrc";
+
const char kStandardSchemeSeparator[] = "://";
const size_t kMaxURLChars = 2 * 1024 * 1024;
diff --git a/chromium/url/url_constants.h b/chromium/url/url_constants.h
index 38a0e38ce8a..7de24907f74 100644
--- a/chromium/url/url_constants.h
+++ b/chromium/url/url_constants.h
@@ -33,6 +33,8 @@ COMPONENT_EXPORT(URL) extern const char kMailToScheme[];
COMPONENT_EXPORT(URL) extern const char kWsScheme[];
COMPONENT_EXPORT(URL) extern const char kWssScheme[];
+COMPONENT_EXPORT(URL) extern const char kQrcScheme[];
+
// Used to separate a standard scheme and the hostname: "://".
COMPONENT_EXPORT(URL) extern const char kStandardSchemeSeparator[];