Title: [209017] branches/safari-602-branch/Source/WebCore
Revision
209017
Author
matthew_han...@apple.com
Date
2016-11-28 14:19:08 -0800 (Mon, 28 Nov 2016)

Log Message

Merge r209013. rdar://problem/29404778

Modified Paths

Diff

Modified: branches/safari-602-branch/Source/WebCore/ChangeLog (209016 => 209017)


--- branches/safari-602-branch/Source/WebCore/ChangeLog	2016-11-28 22:16:20 UTC (rev 209016)
+++ branches/safari-602-branch/Source/WebCore/ChangeLog	2016-11-28 22:19:08 UTC (rev 209017)
@@ -1,3 +1,20 @@
+2016-11-28  Matthew Hanson  <matthew_han...@apple.com>
+
+        Merge r209013. rdar://problem/29404778
+
+    2016-11-28  Beth Dakin  <bda...@apple.com>
+
+            Blacklist Netflix for TouchBar support
+            https://bugs.webkit.org/show_bug.cgi?id=165104
+            -and corresponding-
+            rdar://problem/29404778
+
+            Reviewed by Darin Adler.
+
+            * html/HTMLMediaElement.cpp:
+            (WebCore::needsPlaybackControlsManagerQuirk):
+            (WebCore::HTMLMediaElement::updatePlaybackControlsManager):
+
 2016-11-14  Matthew Hanson  <matthew_han...@apple.com>
 
         Merge r208691. rdar://problem/29250304

Modified: branches/safari-602-branch/Source/WebCore/html/HTMLMediaElement.cpp (209016 => 209017)


--- branches/safari-602-branch/Source/WebCore/html/HTMLMediaElement.cpp	2016-11-28 22:16:20 UTC (rev 209016)
+++ branches/safari-602-branch/Source/WebCore/html/HTMLMediaElement.cpp	2016-11-28 22:19:08 UTC (rev 209017)
@@ -7347,6 +7347,15 @@
     return renderer && renderer->visibleInViewportState() == RenderElement::VisibleInViewport;
 }
 
+static bool needsPlaybackControlsManagerQuirk(bool needsQuirks, const URL& url)
+{
+    if (!needsQuirks)
+        return false;
+
+    String host = url.host();
+    return equalLettersIgnoringASCIICase(host, "www.netflix.com");
+}
+
 void HTMLMediaElement::updatePlaybackControlsManager()
 {
     Page* page = document().page();
@@ -7353,8 +7362,11 @@
     if (!page)
         return;
 
+    auto bestMediaElement = bestMediaElementForShowingPlaybackControlsManager(MediaElementSession::PlaybackControlsPurpose::ControlsManager);
+    bool quirkDisablesPlaybackControlsManager = needsPlaybackControlsManagerQuirk(page->settings().needsSiteSpecificQuirks(), page->mainFrame().document()->url());
+
     // FIXME: Ensure that the renderer here should be up to date.
-    if (auto bestMediaElement = bestMediaElementForShowingPlaybackControlsManager(MediaElementSession::PlaybackControlsPurpose::ControlsManager))
+    if (bestMediaElement && !quirkDisablesPlaybackControlsManager)
         page->chrome().client().setUpPlaybackControlsManager(*bestMediaElement);
     else
         page->chrome().client().clearPlaybackControlsManager();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to