Modified: branches/safari-600.1.4.15-branch/Source/WebCore/ChangeLog (178817 => 178818)
--- branches/safari-600.1.4.15-branch/Source/WebCore/ChangeLog 2015-01-21 08:17:47 UTC (rev 178817)
+++ branches/safari-600.1.4.15-branch/Source/WebCore/ChangeLog 2015-01-21 08:18:52 UTC (rev 178818)
@@ -1,5 +1,32 @@
2015-01-21 Babak Shafiei <[email protected]>
+ Merge r175812.
+
+ 2014-11-10 Eric Carlson <[email protected]>
+
+ [iOS] wireless playback placeholder UI doesn't always draw
+ https://bugs.webkit.org/show_bug.cgi?id=138548
+
+ While it is important to only listen for the 'webkitplaybacktargetavailabilitychanged' event
+ when we are displaying inline controls because listening for it increases power consumption,
+ we should always listen for the 'webkitcurrentplaybacktargetiswirelesschanged' event because
+ it controls whether or not we draw the placeholder UI which is always visible during wireless
+ playback.
+
+ Reviewed by Brent Fulgham.
+
+ * Modules/mediacontrols/mediaControlsiOS.js:
+ (ControllerIOS.prototype.addVideoListeners): Always listen for the
+ 'webkitcurrentplaybacktargetiswirelesschanged' event.
+ (ControllerIOS.prototype.removeVideoListeners): Always stop listening for the
+ 'webkitcurrentplaybacktargetiswirelesschanged' event.
+ (ControllerIOS.prototype.handleStartPlaybackButtonTouchEnd): Call updateControls so we update
+ the type of controls rendered and start listening for wireless target changes immediately.
+ (ControllerIOS.prototype.setShouldListenForPlaybackTargetAvailabilityEvent): Don't start and stop
+ listening for 'webkitcurrentplaybacktargetiswirelesschanged', we should always listen for it.
+
+2015-01-21 Babak Shafiei <[email protected]>
+
Merge r175771.
2014-11-07 Alexey Proskuryakov <[email protected]>
Modified: branches/safari-600.1.4.15-branch/Source/WebCore/Modules/mediacontrols/mediaControlsiOS.js (178817 => 178818)
--- branches/safari-600.1.4.15-branch/Source/WebCore/Modules/mediacontrols/mediaControlsiOS.js 2015-01-21 08:17:47 UTC (rev 178817)
+++ branches/safari-600.1.4.15-branch/Source/WebCore/Modules/mediacontrols/mediaControlsiOS.js 2015-01-21 08:18:52 UTC (rev 178818)
@@ -30,6 +30,7 @@
this.listenFor(this.video, 'webkitbeginfullscreen', this.handleFullscreenChange);
this.listenFor(this.video, 'webkitendfullscreen', this.handleFullscreenChange);
+ this.listenFor(this.video, 'webkitcurrentplaybacktargetiswirelesschanged', this.handleWirelessPlaybackChange);
},
removeVideoListeners: function() {
@@ -37,6 +38,7 @@
this.stopListeningFor(this.video, 'webkitbeginfullscreen', this.handleFullscreenChange);
this.stopListeningFor(this.video, 'webkitendfullscreen', this.handleFullscreenChange);
+ this.stopListeningFor(this.video, 'webkitcurrentplaybacktargetiswirelesschanged', this.handleWirelessPlaybackChange);
this.setShouldListenForPlaybackTargetAvailabilityEvent(false);
},
@@ -405,6 +407,7 @@
return true;
this.video.play();
+ this.updateControls();
return true;
},
@@ -486,13 +489,10 @@
return;
this.isListeningForPlaybackTargetAvailabilityEvent = shouldListen;
- if (shouldListen) {
- this.listenFor(this.video, 'webkitcurrentplaybacktargetiswirelesschanged', this.handleWirelessPlaybackChange);
+ if (shouldListen)
this.listenFor(this.video, 'webkitplaybacktargetavailabilitychanged', this.handleWirelessTargetAvailableChange);
- } else {
- this.stopListeningFor(this.video, 'webkitcurrentplaybacktargetiswirelesschanged', this.handleWirelessPlaybackChange);
+ else
this.stopListeningFor(this.video, 'webkitplaybacktargetavailabilitychanged', this.handleWirelessTargetAvailableChange);
- }
},
get pageScaleFactor() {