WebContentsObserver::OnServiceWorkerAccessed
Instead of passing WebContentsGetter to ContentBrowserClient, add explicit
callbacks to WebContentsObserver taking RenderFrameHost* or NavigationHandle*
as a parameter.
This allows to attribute cookie/javascript accesses to the correct
frame or navigation request, which is a prerequisite for attributing
content settings to the correct document and making them per-document.
[email protected],[email protected]
BUG=998171,1061899
Change-Id: Iec55a1db235b26bab44f1c1de76900b73ac6614d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2151866
Commit-Queue: Alexander Timin <[email protected]>
Reviewed-by: Balazs Engedy <[email protected]>
Reviewed-by: Matt Falkenhagen <[email protected]>
Cr-Commit-Position: refs/heads/master@{#762018}
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 1ba6488..053ee60 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -5121,6 +5121,24 @@
observer.AppCacheAccessed(manifest_url, blocked_by_policy);
}
+void WebContentsImpl::OnServiceWorkerAccessed(
+ RenderFrameHost* render_frame_host,
+ const GURL& scope,
+ AllowServiceWorkerResult allowed) {
+ for (auto& observer : observers_) {
+ observer.OnServiceWorkerAccessed(render_frame_host, scope, allowed);
+ }
+}
+
+void WebContentsImpl::OnServiceWorkerAccessed(
+ NavigationHandle* navigation,
+ const GURL& scope,
+ AllowServiceWorkerResult allowed) {
+ for (auto& observer : observers_) {
+ observer.OnServiceWorkerAccessed(navigation, scope, allowed);
+ }
+}
+
void WebContentsImpl::OnColorChooserFactoryReceiver(
mojo::PendingReceiver<blink::mojom::ColorChooserFactory> receiver) {
color_chooser_factory_receivers_.Add(this, std::move(receiver));