summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chromium/content/browser/renderer_host/render_frame_host_impl.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/chromium/content/browser/renderer_host/render_frame_host_impl.cc b/chromium/content/browser/renderer_host/render_frame_host_impl.cc
index 1a2509e0695..d5745cea447 100644
--- a/chromium/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/chromium/content/browser/renderer_host/render_frame_host_impl.cc
@@ -10874,6 +10874,14 @@ void RenderFrameHostImpl::BindSerialService(
return;
}
+ // Rejects using Serial API when the top-level document has an opaque origin.
+ if (GetOutermostMainFrame()->GetLastCommittedOrigin().opaque()) {
+ mojo::ReportBadMessage(
+ "Web Serial is not allowed when the top-level document has an opaque "
+ "origin.");
+ return;
+ }
+
SerialService::GetOrCreateForCurrentDocument(this)->Bind(std::move(receiver));
}