diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-06-28 11:06:20 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-07-08 16:44:53 +0200 |
commit | 1d988d971bc4270ba3d148e8e2c143bf8f625b6e (patch) | |
tree | dc1d15e07d64df476ff0ac56c273b27007e3f805 /src/core/renderer/extensions | |
parent | 94daa599a65e2113d0adaa9afddf8691a02c18bb (diff) |
Adaptations for 90-based
Pick-to: 6.2
Change-Id: I8402b044d8e12d75e144a00984b856f3de10bffd
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Diffstat (limited to 'src/core/renderer/extensions')
4 files changed, 18 insertions, 13 deletions
diff --git a/src/core/renderer/extensions/extensions_renderer_client_qt.cpp b/src/core/renderer/extensions/extensions_renderer_client_qt.cpp index f72113018..b1998e027 100644 --- a/src/core/renderer/extensions/extensions_renderer_client_qt.cpp +++ b/src/core/renderer/extensions/extensions_renderer_client_qt.cpp @@ -62,9 +62,7 @@ #include "extensions/renderer/dispatcher.h" #include "extensions/renderer/extension_frame_helper.h" #include "extensions/renderer/extensions_render_frame_observer.h" -#include "extensions/renderer/guest_view/extensions_guest_view_container.h" #include "extensions/renderer/guest_view/extensions_guest_view_container_dispatcher.h" -#include "extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.h" #include "extensions/renderer/renderer_extension_registry.h" #include "extensions/renderer/script_context.h" #include "third_party/blink/public/platform/web_url.h" @@ -127,9 +125,6 @@ bool ExtensionsRendererClientQt::ExtensionAPIEnabledForServiceWorkerScript(const if (!script_url.SchemeIs(extensions::kExtensionScheme)) return false; - if (!extensions::ExtensionsClient::Get()->ExtensionAPIEnabledInExtensionServiceWorkers()) - return false; - const extensions::Extension* extension = extensions::RendererExtensionRegistry::Get()->GetExtensionOrAppByURL(script_url); @@ -179,12 +174,14 @@ bool ExtensionsRendererClientQt::OverrideCreatePlugin(content::RenderFrame *rend void ExtensionsRendererClientQt::WillSendRequest(blink::WebLocalFrame *frame, ui::PageTransition transition_type, const blink::WebURL &url, + const net::SiteForCookies &site_for_cookies, const url::Origin *initiator_origin, - GURL *new_url, - bool *attach_same_site_cookies) + GURL *new_url) { if (url.ProtocolIs(extensions::kExtensionScheme) && - !resource_request_policy_->CanRequestResource(url, frame, transition_type)) { + !resource_request_policy_->CanRequestResource(url, frame, + transition_type, + base::OptionalFromPtr(initiator_origin))) { *new_url = GURL(chrome::kExtensionInvalidRequestURL); } } diff --git a/src/core/renderer/extensions/extensions_renderer_client_qt.h b/src/core/renderer/extensions/extensions_renderer_client_qt.h index 85cc7bf2d..d73456643 100644 --- a/src/core/renderer/extensions/extensions_renderer_client_qt.h +++ b/src/core/renderer/extensions/extensions_renderer_client_qt.h @@ -63,6 +63,10 @@ class RenderView; struct WebPluginInfo; } +namespace net { +class SiteForCookies; +} + namespace url { class Origin; } @@ -99,9 +103,9 @@ public: void WillSendRequest(blink::WebLocalFrame *frame, ui::PageTransition transition_type, const blink::WebURL &url, + const net::SiteForCookies &site_for_cookies, const url::Origin *initiator_origin, - GURL *new_url, - bool *attach_same_site_cookies); + GURL *new_url); static bool ShouldFork(blink::WebLocalFrame *frame, const GURL &url, diff --git a/src/core/renderer/extensions/resource_request_policy_qt.cpp b/src/core/renderer/extensions/resource_request_policy_qt.cpp index efe44521d..70e97819c 100644 --- a/src/core/renderer/extensions/resource_request_policy_qt.cpp +++ b/src/core/renderer/extensions/resource_request_policy_qt.cpp @@ -85,7 +85,8 @@ void ResourceRequestPolicyQt::OnExtensionUnloaded(const ExtensionId &extension_i // than those triggered through UI. bool ResourceRequestPolicyQt::CanRequestResource(const GURL &resource_url, blink::WebLocalFrame *frame, - ui::PageTransition transition_type) + ui::PageTransition transition_type, + const base::Optional<url::Origin>& initiator_origin) { CHECK(resource_url.SchemeIs(kExtensionScheme)); @@ -165,7 +166,7 @@ bool ResourceRequestPolicyQt::CanRequestResource(const GURL &resource_url, // Disallow loading of extension resources which are not explicitly listed // as web or WebView accessible if the manifest version is 2 or greater. - if (!WebAccessibleResourcesInfo::IsResourceWebAccessible(extension, resource_url.path()) && + if (!WebAccessibleResourcesInfo::IsResourceWebAccessible(extension, resource_url.path(), initiator_origin) && !WebviewInfo::IsResourceWebviewAccessible(extension, m_dispatcher->webview_partition_id(), resource_url.path())) { std::string message = base::StringPrintf( diff --git a/src/core/renderer/extensions/resource_request_policy_qt.h b/src/core/renderer/extensions/resource_request_policy_qt.h index e6d4e79bb..567eefaeb 100644 --- a/src/core/renderer/extensions/resource_request_policy_qt.h +++ b/src/core/renderer/extensions/resource_request_policy_qt.h @@ -43,8 +43,10 @@ #include <set> #include "base/macros.h" +#include "base/optional.h" #include "extensions/common/extension_id.h" #include "ui/base/page_transition_types.h" +#include "url/origin.h" class GURL; @@ -73,7 +75,8 @@ public: // than those triggered through UI. bool CanRequestResource(const GURL &resource_url, blink::WebLocalFrame *frame, - ui::PageTransition transition_type); + ui::PageTransition transition_type, + const base::Optional<url::Origin> &initiator_origin); private: Dispatcher *m_dispatcher; |