Title: [242355] trunk/Source
Revision
242355
Author
jer.no...@apple.com
Date
2019-03-04 08:44:51 -0800 (Mon, 04 Mar 2019)

Log Message

[iOS] Fullscreen "stay in page" option breaks video playback
https://bugs.webkit.org/show_bug.cgi?id=195277
<rdar://problem/48537317>

Reviewed by Eric Carlson.

Source/WebCore:

Add a LOG entry when playback is rejected due to media playback suspension.

* html/MediaElementSession.cpp:
(WebCore::MediaElementSession::playbackPermitted const):

Source/WebKit:

Make sure we resume media playback when the user chooses "stay in page" from the deceptive
website warning dialog.

* UIProcess/ios/fullscreen/WKFullScreenViewController.mm:
(-[WKFullScreenViewController _showPhishingAlert]):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (242354 => 242355)


--- trunk/Source/WebCore/ChangeLog	2019-03-04 15:25:43 UTC (rev 242354)
+++ trunk/Source/WebCore/ChangeLog	2019-03-04 16:44:51 UTC (rev 242355)
@@ -1,3 +1,16 @@
+2019-03-04  Jer Noble  <jer.no...@apple.com>
+
+        [iOS] Fullscreen "stay in page" option breaks video playback
+        https://bugs.webkit.org/show_bug.cgi?id=195277
+        <rdar://problem/48537317>
+
+        Reviewed by Eric Carlson.
+
+        Add a LOG entry when playback is rejected due to media playback suspension.
+
+        * html/MediaElementSession.cpp:
+        (WebCore::MediaElementSession::playbackPermitted const):
+
 2019-03-04  Tim Horton  <timothy_hor...@apple.com>
 
         Fix the build.

Modified: trunk/Source/WebCore/html/MediaElementSession.cpp (242354 => 242355)


--- trunk/Source/WebCore/html/MediaElementSession.cpp	2019-03-04 15:25:43 UTC (rev 242354)
+++ trunk/Source/WebCore/html/MediaElementSession.cpp	2019-03-04 16:44:51 UTC (rev 242355)
@@ -273,8 +273,10 @@
 
     auto& document = m_element.document();
     auto* page = document.page();
-    if (!page || page->mediaPlaybackIsSuspended())
+    if (!page || page->mediaPlaybackIsSuspended()) {
+        ALWAYS_LOG(LOGIDENTIFIER, "Returning FALSE because media playback is suspended");
         return MediaPlaybackDenialReason::PageConsentRequired;
+    }
 
     if (document.isMediaDocument() && !document.ownerElement())
         return { };

Modified: trunk/Source/WebKit/ChangeLog (242354 => 242355)


--- trunk/Source/WebKit/ChangeLog	2019-03-04 15:25:43 UTC (rev 242354)
+++ trunk/Source/WebKit/ChangeLog	2019-03-04 16:44:51 UTC (rev 242355)
@@ -1,3 +1,17 @@
+2019-03-04  Jer Noble  <jer.no...@apple.com>
+
+        [iOS] Fullscreen "stay in page" option breaks video playback
+        https://bugs.webkit.org/show_bug.cgi?id=195277
+        <rdar://problem/48537317>
+
+        Reviewed by Eric Carlson.
+
+        Make sure we resume media playback when the user chooses "stay in page" from the deceptive
+        website warning dialog.
+
+        * UIProcess/ios/fullscreen/WKFullScreenViewController.mm:
+        (-[WKFullScreenViewController _showPhishingAlert]):
+
 2019-03-04  Michael Catanzaro  <mcatanz...@igalia.com>
 
         [WPE] Enable web process sandbox

Modified: trunk/Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenViewController.mm (242354 => 242355)


--- trunk/Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenViewController.mm	2019-03-04 15:25:43 UTC (rev 242354)
+++ trunk/Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenViewController.mm	2019-03-04 16:44:51 UTC (rev 242355)
@@ -570,8 +570,10 @@
     }];
 
     UIAlertAction* stayAction = [UIAlertAction actionWithTitle:WEB_UI_STRING_KEY("Stay in Full Screen", "Stay in Full Screen (Element Full Screen)", "Full Screen Deceptive Website Stay Action") style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) {
-        if (auto* page = [self._webView _page])
+        if (auto* page = [self._webView _page]) {
             page->resumeActiveDOMObjectsAndAnimations();
+            page->resumeAllMediaPlayback();
+        }
         _secheuristic.reset();
     }];
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to