Enable Picture-in-Picture for extensions.
This CL enables Picture-in-Picture in extensions by implementing
EnterPictureInPicture and ExitPictureInPicture in ExtensionHostDelegate.
Change-Id: I77522e345b7fed7d4515e81204a635a5ed8ecb6c
Bug: 726619
Reviewed-on: https://chromium-review.googlesource.com/1145261
Commit-Queue: François Beaufort <[email protected]>
Reviewed-by: Sadrul Chowdhury <[email protected]>
Reviewed-by: Devlin <[email protected]>
Reviewed-by: Sergey Volk <[email protected]>
Cr-Commit-Position: refs/heads/master@{#586632}
diff --git a/chrome/browser/extensions/chrome_extension_host_delegate.cc b/chrome/browser/extensions/chrome_extension_host_delegate.cc
index 6736efb..13d09c9 100644
--- a/chrome/browser/extensions/chrome_extension_host_delegate.cc
+++ b/chrome/browser/extensions/chrome_extension_host_delegate.cc
@@ -14,6 +14,7 @@
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_tab_util.h"
#include "chrome/browser/media/webrtc/media_capture_devices_dispatcher.h"
+#include "chrome/browser/picture_in_picture/picture_in_picture_window_manager.h"
#include "chrome/browser/ui/prefs/prefs_tab_helper.h"
#include "components/app_modal/javascript_dialog_manager.h"
#include "extensions/browser/extension_host.h"
@@ -102,4 +103,16 @@
return g_queue.Get().queue.get();
}
+gfx::Size ChromeExtensionHostDelegate::EnterPictureInPicture(
+ content::WebContents* web_contents,
+ const viz::SurfaceId& surface_id,
+ const gfx::Size& natural_size) {
+ return PictureInPictureWindowManager::GetInstance()->EnterPictureInPicture(
+ web_contents, surface_id, natural_size);
+}
+
+void ChromeExtensionHostDelegate::ExitPictureInPicture() {
+ PictureInPictureWindowManager::GetInstance()->ExitPictureInPicture();
+}
+
} // namespace extensions