diff options
-rw-r--r-- | chromium/content/browser/renderer_host/render_frame_host_impl.cc | 8 |
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)); } |