summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJüri Valdmann <juri.valdmann@qt.io>2019-05-14 13:21:39 +0200
committerJüri Valdmann <juri.valdmann@qt.io>2019-07-18 08:36:59 +0000
commit8c03dab5f7a2c4ed511d33edb52fc64f1f9d5c26 (patch)
treed4c042674458eddb7da4e57a67acfe4296ad37a0
parentcf4e820a3320ddb509dba7a40e58c5c2a76ab643 (diff)
downloadqtwebengine-chromium-8c03dab5f7a2c4ed511d33edb52fc64f1f9d5c26.tar.gz
FIXUP: Extend url library for WebEngine custom schemes
Add CustomScheme::CorsEnabled flag. Task-number: QTBUG-75651 Change-Id: Id87f2d59b446541c310229d7d99d03972a375695 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
-rw-r--r--chromium/content/common/url_schemes.cc2
-rw-r--r--chromium/url/url_util_qt.cc3
-rw-r--r--chromium/url/url_util_qt.h1
3 files changed, 6 insertions, 0 deletions
diff --git a/chromium/content/common/url_schemes.cc b/chromium/content/common/url_schemes.cc
index 251ff504fdf..24e6d6de255 100644
--- a/chromium/content/common/url_schemes.cc
+++ b/chromium/content/common/url_schemes.cc
@@ -115,6 +115,8 @@ void RegisterContentSchemes(bool lock_schemes) {
url::AddNoAccessScheme(cs.name.c_str());
if (cs.flags & url::CustomScheme::ContentSecurityPolicyIgnored)
url::AddCSPBypassingScheme(cs.name.c_str());
+ if (cs.flags & url::CustomScheme::CorsEnabled)
+ url::AddCorsEnabledScheme(cs.name.c_str());
}
// Prevent future modification of the scheme lists. This is to prevent
diff --git a/chromium/url/url_util_qt.cc b/chromium/url/url_util_qt.cc
index 8588f1b549e..9b1b91ca232 100644
--- a/chromium/url/url_util_qt.cc
+++ b/chromium/url/url_util_qt.cc
@@ -50,6 +50,8 @@ std::string ToString(const CustomScheme& cs)
serialized += 'V';
if (cs.flags & CustomScheme::ContentSecurityPolicyIgnored)
serialized += 'C';
+ if (cs.flags & CustomScheme::CorsEnabled)
+ serialized += 'F';
return serialized;
}
@@ -92,6 +94,7 @@ private:
case 'W': cs.flags |= CustomScheme::ServiceWorkersAllowed; break;
case 'V': cs.flags |= CustomScheme::ViewSourceAllowed; break;
case 'C': cs.flags |= CustomScheme::ContentSecurityPolicyIgnored; break;
+ case 'F': cs.flags |= CustomScheme::CorsEnabled; break;
case ';': Flush(); state = NAME; break;
default: CHECK(false) << "Unexpected character '" << ch << "'.";
}
diff --git a/chromium/url/url_util_qt.h b/chromium/url/url_util_qt.h
index ead8dd4940c..199ca62c4fd 100644
--- a/chromium/url/url_util_qt.h
+++ b/chromium/url/url_util_qt.h
@@ -29,6 +29,7 @@ struct COMPONENT_EXPORT(URL) CustomScheme {
ServiceWorkersAllowed = 0x10,
ViewSourceAllowed = 0x20,
ContentSecurityPolicyIgnored = 0x40,
+ CorsEnabled = 0x80,
};
std::string name;