OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2009, 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2009, 2012 Google Inc. All rights reserved. |
3 * Copyright (C) 2011 Apple Inc. All rights reserved. | 3 * Copyright (C) 2011 Apple Inc. All rights reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions are | 6 * modification, are permitted provided that the following conditions are |
7 * met: | 7 * met: |
8 * | 8 * |
9 * * Redistributions of source code must retain the above copyright | 9 * * Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 769 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
780 WebMediaPlayerClient* client) { | 780 WebMediaPlayerClient* client) { |
781 WebLocalFrameImpl* webFrame = | 781 WebLocalFrameImpl* webFrame = |
782 WebLocalFrameImpl::fromFrame(htmlMediaElement.document().frame()); | 782 WebLocalFrameImpl::fromFrame(htmlMediaElement.document().frame()); |
783 | 783 |
784 if (!webFrame || !webFrame->client()) | 784 if (!webFrame || !webFrame->client()) |
785 return nullptr; | 785 return nullptr; |
786 | 786 |
787 HTMLMediaElementEncryptedMedia& encryptedMedia = | 787 HTMLMediaElementEncryptedMedia& encryptedMedia = |
788 HTMLMediaElementEncryptedMedia::from(htmlMediaElement); | 788 HTMLMediaElementEncryptedMedia::from(htmlMediaElement); |
789 WebString sinkId(HTMLMediaElementAudioOutputDevice::sinkId(htmlMediaElement)); | 789 WebString sinkId(HTMLMediaElementAudioOutputDevice::sinkId(htmlMediaElement)); |
790 return wrapUnique(webFrame->client()->createMediaPlayer( | 790 std::unique_ptr<WebMediaPlayer> mediaPlayer = |
791 source, client, &encryptedMedia, encryptedMedia.contentDecryptionModule(), | 791 wrapUnique(webFrame->client()->createMediaPlayer( |
792 sinkId)); | 792 source, client, &encryptedMedia, |
| 793 encryptedMedia.contentDecryptionModule(), sinkId)); |
| 794 |
| 795 // Notify WebMediaPlayer: if the current media is active fullscreen element; |
| 796 // or is a descendant of the fullscreen element and covers most of the window. |
| 797 Element* fullscreenElement = |
| 798 Fullscreen::currentFullScreenElementFrom(htmlMediaElement.document()); |
| 799 if (fullscreenElement == htmlMediaElement) { |
| 800 mediaPlayer->enteredFullscreen(); |
| 801 } else if (fullscreenElement && |
| 802 fullscreenElement->isShadowIncludingInclusiveAncestorOf( |
| 803 &htmlMediaElement) && |
| 804 htmlMediaElement.clientWidth() >= |
| 805 htmlMediaElement.document().domWindow()->innerWidth() * 0.9 && |
| 806 htmlMediaElement.clientHeight() >= |
| 807 htmlMediaElement.document().domWindow()->innerHeight() * 0.9) { |
| 808 mediaPlayer->enteredFullWindow(); |
| 809 } |
| 810 |
| 811 return mediaPlayer; |
793 } | 812 } |
794 | 813 |
795 ObjectContentType FrameLoaderClientImpl::getObjectContentType( | 814 ObjectContentType FrameLoaderClientImpl::getObjectContentType( |
796 const KURL& url, | 815 const KURL& url, |
797 const String& explicitMimeType, | 816 const String& explicitMimeType, |
798 bool shouldPreferPlugInsForImages) { | 817 bool shouldPreferPlugInsForImages) { |
799 // This code is based on Apple's implementation from | 818 // This code is based on Apple's implementation from |
800 // WebCoreSupport/WebFrameBridge.mm. | 819 // WebCoreSupport/WebFrameBridge.mm. |
801 | 820 |
802 String mimeType = explicitMimeType; | 821 String mimeType = explicitMimeType; |
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
991 WebDevToolsAgentImpl* FrameLoaderClientImpl::devToolsAgent() { | 1010 WebDevToolsAgentImpl* FrameLoaderClientImpl::devToolsAgent() { |
992 return WebLocalFrameImpl::fromFrame(m_webFrame->frame()->localFrameRoot()) | 1011 return WebLocalFrameImpl::fromFrame(m_webFrame->frame()->localFrameRoot()) |
993 ->devToolsAgentImpl(); | 1012 ->devToolsAgentImpl(); |
994 } | 1013 } |
995 | 1014 |
996 KURL FrameLoaderClientImpl::overrideFlashEmbedWithHTML(const KURL& url) { | 1015 KURL FrameLoaderClientImpl::overrideFlashEmbedWithHTML(const KURL& url) { |
997 return m_webFrame->client()->overrideFlashEmbedWithHTML(WebURL(url)); | 1016 return m_webFrame->client()->overrideFlashEmbedWithHTML(WebURL(url)); |
998 } | 1017 } |
999 | 1018 |
1000 } // namespace blink | 1019 } // namespace blink |
OLD | NEW |