diff --git a/build/bromite_patches_list.txt b/build/bromite_patches_list.txt index 32f2375f..1e62097e 100644 --- a/build/bromite_patches_list.txt +++ b/build/bromite_patches_list.txt @@ -281,4 +281,5 @@ Timezone-customization.patch 00Cromite-Branding.patch 00Disable-Feeback-Collector.patch 00Disable-remote-altsvc-for-h3-connections.patch -00do-not-block-build-incompatible-profiles.patch \ No newline at end of file +00do-not-block-build-incompatible-profiles.patch +00Allow-DocumentPiP-if-PopupsAndRedirects-are-active.patch \ No newline at end of file diff --git a/build/patches/00Allow-DocumentPiP-if-PopupsAndRedirects-are-active.patch b/build/patches/00Allow-DocumentPiP-if-PopupsAndRedirects-are-active.patch new file mode 100644 index 00000000..3e862b67 --- /dev/null +++ b/build/patches/00Allow-DocumentPiP-if-PopupsAndRedirects-are-active.patch @@ -0,0 +1,28 @@ +From: uazo +Date: Mon, 7 Aug 2023 11:02:18 +0000 +Subject: Allow DocumentPiP if PopupsAndRedirects are active + +Allow documentPiP api use only with content setting popup allowed +--- + .../picture_in_picture_controller_impl.cc | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/third_party/blink/renderer/modules/document_picture_in_picture/picture_in_picture_controller_impl.cc b/third_party/blink/renderer/modules/document_picture_in_picture/picture_in_picture_controller_impl.cc +--- a/third_party/blink/renderer/modules/document_picture_in_picture/picture_in_picture_controller_impl.cc ++++ b/third_party/blink/renderer/modules/document_picture_in_picture/picture_in_picture_controller_impl.cc +@@ -361,6 +361,13 @@ void PictureInPictureControllerImpl::CreateDocumentPictureInPictureWindow( + return; + } + ++ if (!opener.GetFrame()->GetContentSettingsClient()->AllowPopupsAndRedirects(false)) { ++ exception_state.ThrowDOMException(DOMExceptionCode::kNotAllowedError, ++ "Document PiP requires user popup permission"); ++ resolver->Reject(exception_state); ++ return; ++ } ++ + WebPictureInPictureWindowOptions web_options; + web_options.width = options->width(); + web_options.height = options->height(); +-- +2.25.1