Diff
Modified: trunk/Source/WebCore/ChangeLog (184699 => 184700)
--- trunk/Source/WebCore/ChangeLog 2015-05-21 05:13:03 UTC (rev 184699)
+++ trunk/Source/WebCore/ChangeLog 2015-05-21 05:16:07 UTC (rev 184700)
@@ -1,3 +1,27 @@
+2015-05-20 Jon Lee <[email protected]>
+
+ [iOS] Update optimized fullscreen controls artwork
+ https://bugs.webkit.org/show_bug.cgi?id=145208
+ rdar://problem/21034032
+
+ Reviewed by Jer Noble.
+
+ Update the artwork when media goes into optimized fullscreen. Add a new UI part
+ representing return-from-optimized.
+
+ * Modules/mediacontrols/MediaControlsHost.cpp:
+ (WebCore::MediaControlsHost::mediaUIImageData): Return data for the return button.
+ * Modules/mediacontrols/MediaControlsHost.idl: Add a new part ID.
+ * Modules/mediacontrols/mediaControlsApple.js: Add a new ClassName to apply to the
+ button when in the proper state.
+ * Modules/mediacontrols/mediaControlsiOS.js:
+ (ControllerIOS.prototype.handlePresentationModeChange): Add the ClassName when the
+ video goes into optimized fullscreen mode. Remove it otherwise.
+ * platform/ios/WebCoreSystemInterfaceIOS.h:
+ * rendering/RenderThemeIOS.mm:
+ (WebCore::RenderThemeIOS::mediaControlsStyleSheet): Add the return button data to the
+ stylesheet.
+
2015-05-20 Alex Christensen <[email protected]>
[ContentExtensions] Properly initialize ActionKey.state
Modified: trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.cpp (184699 => 184700)
--- trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.cpp 2015-05-21 05:13:03 UTC (rev 184699)
+++ trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.cpp 2015-05-21 05:16:07 UTC (rev 184700)
@@ -284,6 +284,9 @@
if (partID == "optimized-fullscreen-button")
return wkGetMediaUIImageData(wkMediaUIPartOptimizedFullscreenButton);
+ if (partID == "optimized-fullscreen-return-button")
+ return wkGetMediaUIImageData(wkMediaUIPartOptimizedFullscreenReturnButton);
+
if (partID == "optimized-fullscreen-placeholder")
return wkGetMediaUIImageData(wkMediaUIPartOptimizedFullscreenPlaceholder);
Modified: trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.idl (184699 => 184700)
--- trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.idl 2015-05-21 05:13:03 UTC (rev 184699)
+++ trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.idl 2015-05-21 05:16:07 UTC (rev 184700)
@@ -31,6 +31,7 @@
enum MediaUIPartID {
"optimized-fullscreen-button",
+ "optimized-fullscreen-return-button",
"optimized-fullscreen-placeholder",
"optimized-fullscreen-placeholder-text"
};
Modified: trunk/Source/WebCore/Modules/mediacontrols/mediaControlsApple.js (184699 => 184700)
--- trunk/Source/WebCore/Modules/mediacontrols/mediaControlsApple.js 2015-05-21 05:13:03 UTC (rev 184699)
+++ trunk/Source/WebCore/Modules/mediacontrols/mediaControlsApple.js 2015-05-21 05:16:07 UTC (rev 184700)
@@ -102,6 +102,7 @@
optimized: 'optimized',
paused: 'paused',
playing: 'playing',
+ returnFromOptimized: 'return-from-optimized',
selected: 'selected',
show: 'show',
small: 'small',
Modified: trunk/Source/WebCore/Modules/mediacontrols/mediaControlsiOS.js (184699 => 184700)
--- trunk/Source/WebCore/Modules/mediacontrols/mediaControlsiOS.js 2015-05-21 05:13:03 UTC (rev 184699)
+++ trunk/Source/WebCore/Modules/mediacontrols/mediaControlsiOS.js 2015-05-21 05:16:07 UTC (rev 184700)
@@ -570,6 +570,8 @@
this.controls.inlinePlaybackPlaceholder.classList.remove(this.ClassNames.optimized);
this.controls.inlinePlaybackPlaceholderTextTop.classList.remove(this.ClassNames.optimized);
this.controls.inlinePlaybackPlaceholderTextBottom.classList.remove(this.ClassNames.optimized);
+
+ this.controls.optimizedFullscreenButton.classList.remove(this.ClassNames.returnFromOptimized);
break;
case 'optimized':
var backgroundImage = "url('" + this.host.mediaUIImageData("optimized-fullscreen-placeholder") + "')";
@@ -582,12 +584,16 @@
this.controls.inlinePlaybackPlaceholderTextTop.classList.add(this.ClassNames.optimized);
this.controls.inlinePlaybackPlaceholderTextBottom.innerText = "";
this.controls.inlinePlaybackPlaceholderTextBottom.classList.add(this.ClassNames.optimized);
+
+ this.controls.optimizedFullscreenButton.classList.add(this.ClassNames.returnFromOptimized);
break;
default:
this.controls.inlinePlaybackPlaceholder.style.backgroundImage = "";
this.controls.inlinePlaybackPlaceholder.classList.remove(this.ClassNames.optimized);
this.controls.inlinePlaybackPlaceholderTextTop.classList.remove(this.ClassNames.optimized);
this.controls.inlinePlaybackPlaceholderTextBottom.classList.remove(this.ClassNames.optimized);
+
+ this.controls.optimizedFullscreenButton.classList.remove(this.ClassNames.returnFromOptimized);
break;
}
Modified: trunk/Source/WebCore/platform/ios/WebCoreSystemInterfaceIOS.h (184699 => 184700)
--- trunk/Source/WebCore/platform/ios/WebCoreSystemInterfaceIOS.h 2015-05-21 05:13:03 UTC (rev 184699)
+++ trunk/Source/WebCore/platform/ios/WebCoreSystemInterfaceIOS.h 2015-05-21 05:16:07 UTC (rev 184700)
@@ -80,6 +80,7 @@
typedef enum {
wkMediaUIPartOptimizedFullscreenButton = 0,
+ wkMediaUIPartOptimizedFullscreenReturnButton,
wkMediaUIPartOptimizedFullscreenPlaceholder,
wkMediaUIPartOptimizedFullscreenPlaceholderText
} wkMediaUIPart;
Modified: trunk/Source/WebCore/rendering/RenderThemeIOS.mm (184699 => 184700)
--- trunk/Source/WebCore/rendering/RenderThemeIOS.mm 2015-05-21 05:13:03 UTC (rev 184699)
+++ trunk/Source/WebCore/rendering/RenderThemeIOS.mm 2015-05-21 05:16:07 UTC (rev 184700)
@@ -1286,6 +1286,7 @@
StringBuilder builder;
builder.append([NSString stringWithContentsOfFile:[[NSBundle bundleForClass:[WebCoreRenderThemeBundle class]] pathForResource:@"mediaControlsiOS" ofType:@"css"] encoding:NSUTF8StringEncoding error:nil]);
builder.append(wkGetMediaUIImageData(wkMediaUIPartOptimizedFullscreenButton));
+ builder.append(wkGetMediaUIImageData(wkMediaUIPartOptimizedFullscreenReturnButton));
m_mediaControlsStyleSheet = builder.toString();
}
return m_mediaControlsStyleSheet;