summaryrefslogtreecommitdiffstats
path: root/src/core/renderer/extensions
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2021-06-28 11:06:20 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2021-07-08 16:44:53 +0200
commit1d988d971bc4270ba3d148e8e2c143bf8f625b6e (patch)
treedc1d15e07d64df476ff0ac56c273b27007e3f805 /src/core/renderer/extensions
parent94daa599a65e2113d0adaa9afddf8691a02c18bb (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')
-rw-r--r--src/core/renderer/extensions/extensions_renderer_client_qt.cpp13
-rw-r--r--src/core/renderer/extensions/extensions_renderer_client_qt.h8
-rw-r--r--src/core/renderer/extensions/resource_request_policy_qt.cpp5
-rw-r--r--src/core/renderer/extensions/resource_request_policy_qt.h5
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;