Commit 12a2d81f authored by Hiroshige Hayashizaki's avatar Hiroshige Hayashizaki Committed by Commit Bot

Use WebSecurityOrigin in AllowScriptExtensionForServiceWorker

To remove ExecutionContext::Url() call before worker top-level
script response is received.

Bug: 861564
Change-Id: I94de13404a54a248663579b755c9270b1d299968
Reviewed-on: https://chromium-review.googlesource.com/c/1394381Reviewed-by: default avatarHiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: default avatarKinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Hiroshige Hayashizaki <hiroshige@chromium.org>
Cr-Commit-Position: refs/heads/master@{#629489}
parent f4da398d
......@@ -701,9 +701,9 @@ std::string ChromeContentClient::GetProcessTypeNameInEnglish(int type) {
}
bool ChromeContentClient::AllowScriptExtensionForServiceWorker(
const GURL& script_url) {
const url::Origin& script_origin) {
#if BUILDFLAG(ENABLE_EXTENSIONS)
return script_url.SchemeIs(extensions::kExtensionScheme);
return script_origin.scheme() == extensions::kExtensionScheme;
#else
return false;
#endif
......
......@@ -93,7 +93,8 @@ class ChromeContentClient : public content::ContentClient {
base::DictionaryValue GetNetLogConstants() const override;
std::string GetProcessTypeNameInEnglish(int type) override;
bool AllowScriptExtensionForServiceWorker(const GURL& script_url) override;
bool AllowScriptExtensionForServiceWorker(
const url::Origin& script_origin) override;
blink::OriginTrialPolicy* GetOriginTrialPolicy() override;
......
......@@ -587,8 +587,9 @@ WebString BlinkPlatformImpl::QueryLocalizedString(WebLocalizedString::Name name,
}
bool BlinkPlatformImpl::AllowScriptExtensionForServiceWorker(
const blink::WebURL& scriptUrl) {
return GetContentClient()->AllowScriptExtensionForServiceWorker(scriptUrl);
const blink::WebSecurityOrigin& script_origin) {
return GetContentClient()->AllowScriptExtensionForServiceWorker(
script_origin);
}
blink::WebCrypto* BlinkPlatformImpl::Crypto() {
......
......@@ -74,7 +74,7 @@ class CONTENT_EXPORT BlinkPlatformImpl : public blink::Platform {
const blink::WebString& value2) override;
void SuddenTerminationChanged(bool enabled) override {}
bool AllowScriptExtensionForServiceWorker(
const blink::WebURL& script_url) override;
const blink::WebSecurityOrigin& script_origin) override;
blink::WebCrypto* Crypto() override;
const char* GetBrowserServiceName() const override;
blink::WebMediaCapabilitiesClient* MediaCapabilitiesClient() override;
......
......@@ -105,7 +105,7 @@ blink::OriginTrialPolicy* ContentClient::GetOriginTrialPolicy() {
}
bool ContentClient::AllowScriptExtensionForServiceWorker(
const GURL& script_url) {
const url::Origin& script_origin) {
return false;
}
......
......@@ -182,7 +182,8 @@ class CONTENT_EXPORT ContentClient {
// Returns whether or not V8 script extensions should be allowed for a
// service worker.
virtual bool AllowScriptExtensionForServiceWorker(const GURL& script_url);
virtual bool AllowScriptExtensionForServiceWorker(
const url::Origin& script_origin);
// Returns the origin trial policy, or nullptr if origin trials are not
// supported by the embedder.
......
......@@ -672,7 +672,8 @@ class BLINK_PLATFORM_EXPORT Platform {
virtual void DidStartWorkerThread() {}
virtual void WillStopWorkerThread() {}
virtual void WorkerContextCreated(const v8::Local<v8::Context>& worker) {}
virtual bool AllowScriptExtensionForServiceWorker(const WebURL& script_url) {
virtual bool AllowScriptExtensionForServiceWorker(
const WebSecurityOrigin& script_origin) {
return false;
}
......
......@@ -132,7 +132,8 @@ void ServiceWorkerGlobalScope::ReadyToEvaluateScript() {
}
bool ServiceWorkerGlobalScope::ShouldInstallV8Extensions() const {
return Platform::Current()->AllowScriptExtensionForServiceWorker(Url());
return Platform::Current()->AllowScriptExtensionForServiceWorker(
WebSecurityOrigin(GetSecurityOrigin()));
}
void ServiceWorkerGlobalScope::ImportModuleScript(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment