Changeset 252240 in webkit
- Timestamp:
- Nov 8, 2019 10:06:43 AM (4 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r252233 r252240 1 2019-11-08 Peng Liu <peng.liu6@apple.com> 2 3 Picture-in-Picture events are not fired when enter/exit the Picture-in-Picture mode through modern media controls 4 https://bugs.webkit.org/show_bug.cgi?id=203933 5 6 Reviewed by Eric Carlson. 7 8 Covered by existing layout test cases. No new test is required. 9 10 * Modules/modern-media-controls/media/pip-support.js: 11 (PiPSupport.prototype.buttonWasPressed): 12 * Modules/pictureinpicture/HTMLVideoElementPictureInPicture.cpp: 13 (WebCore::HTMLVideoElementPictureInPicture::didEnterPictureInPicture): 14 (WebCore::HTMLVideoElementPictureInPicture::didExitPictureInPicture): 15 1 16 2019-11-08 Carlos Garcia Campos <cgarcia@igalia.com> 2 17 -
trunk/Source/WebCore/Modules/modern-media-controls/media/pip-support.js
r214468 r252240 50 50 { 51 51 const media = this.mediaController.media; 52 media.webkitSetPresentationMode(media.webkitPresentationMode === PiPMode ? InlineMode : PiPMode); 52 if (!document.pictureInPictureElement) 53 media.requestPictureInPicture(); 54 else 55 document.exitPictureInPicture(); 53 56 } 54 57 -
trunk/Source/WebCore/Modules/pictureinpicture/HTMLVideoElementPictureInPicture.cpp
r251834 r252240 153 153 m_pictureInPictureWindow->setSize(windowSize); 154 154 155 EnterPictureInPictureEvent::Init initializer; 156 initializer.bubbles = true; 157 initializer.pictureInPictureWindow = m_pictureInPictureWindow; 158 m_videoElement.scheduleEvent(EnterPictureInPictureEvent::create(eventNames().enterpictureinpictureEvent, WTFMove(initializer))); 159 155 160 if (m_enterPictureInPicturePromise) { 156 EnterPictureInPictureEvent::Init initializer;157 initializer.bubbles = true;158 initializer.pictureInPictureWindow = m_pictureInPictureWindow;159 m_videoElement.scheduleEvent(EnterPictureInPictureEvent::create(eventNames().enterpictureinpictureEvent, WTFMove(initializer)));160 161 m_enterPictureInPicturePromise->resolve<IDLInterface<PictureInPictureWindow>>(*m_pictureInPictureWindow); 161 162 m_enterPictureInPicturePromise = nullptr; … … 168 169 m_pictureInPictureWindow->close(); 169 170 m_videoElement.document().setPictureInPictureElement(nullptr); 171 m_videoElement.scheduleEvent(Event::create(eventNames().leavepictureinpictureEvent, Event::CanBubble::Yes, Event::IsCancelable::No)); 170 172 171 173 if (m_exitPictureInPicturePromise) { 172 m_videoElement.scheduleEvent(Event::create(eventNames().leavepictureinpictureEvent, Event::CanBubble::Yes, Event::IsCancelable::No));173 174 m_exitPictureInPicturePromise->resolve(); 174 175 m_exitPictureInPicturePromise = nullptr;
Note: See TracChangeset
for help on using the changeset viewer.