| Index: third_party/WebKit/Source/web/FrameLoaderClientImpl.cpp
|
| diff --git a/third_party/WebKit/Source/web/FrameLoaderClientImpl.cpp b/third_party/WebKit/Source/web/FrameLoaderClientImpl.cpp
|
| index db1de678cac7e8bda77e43567030f9960c02da88..463f2280aaf5ebe4293f79b581b30f4112df2ee6 100644
|
| --- a/third_party/WebKit/Source/web/FrameLoaderClientImpl.cpp
|
| +++ b/third_party/WebKit/Source/web/FrameLoaderClientImpl.cpp
|
| @@ -787,9 +787,28 @@ std::unique_ptr<WebMediaPlayer> FrameLoaderClientImpl::createWebMediaPlayer(
|
| HTMLMediaElementEncryptedMedia& encryptedMedia =
|
| HTMLMediaElementEncryptedMedia::from(htmlMediaElement);
|
| WebString sinkId(HTMLMediaElementAudioOutputDevice::sinkId(htmlMediaElement));
|
| - return wrapUnique(webFrame->client()->createMediaPlayer(
|
| - source, client, &encryptedMedia, encryptedMedia.contentDecryptionModule(),
|
| - sinkId));
|
| + std::unique_ptr<WebMediaPlayer> mediaPlayer =
|
| + wrapUnique(webFrame->client()->createMediaPlayer(
|
| + source, client, &encryptedMedia,
|
| + encryptedMedia.contentDecryptionModule(), sinkId));
|
| +
|
| + // Notify WebMediaPlayer: if the current media is active fullscreen element;
|
| + // or is a descendant of the fullscreen element and covers most of the window.
|
| + Element* fullscreenElement =
|
| + Fullscreen::currentFullScreenElementFrom(htmlMediaElement.document());
|
| + if (fullscreenElement == htmlMediaElement) {
|
| + mediaPlayer->enteredFullscreen();
|
| + } else if (fullscreenElement &&
|
| + fullscreenElement->isShadowIncludingInclusiveAncestorOf(
|
| + &htmlMediaElement) &&
|
| + htmlMediaElement.clientWidth() >=
|
| + htmlMediaElement.document().domWindow()->innerWidth() * 0.9 &&
|
| + htmlMediaElement.clientHeight() >=
|
| + htmlMediaElement.document().domWindow()->innerHeight() * 0.9) {
|
| + mediaPlayer->enteredFullWindow();
|
| + }
|
| +
|
| + return mediaPlayer;
|
| }
|
|
|
| ObjectContentType FrameLoaderClientImpl::getObjectContentType(
|
|
|