- Revision
- 119966
- Author
- [email protected]
- Date
- 2012-06-11 02:26:31 -0700 (Mon, 11 Jun 2012)
Log Message
Adding a flag to show fullscreen media controls in chromium
https://bugs.webkit.org/show_bug.cgi?id=88266
Patch by Min Qin <[email protected]> on 2012-06-11
Reviewed by Adam Barth.
Source/WebCore:
The default chromium shadow DOM for media element does not contain fullscreen button.
This change adds a flag to display the fullscreen button.
It will be used by the android port.
No new tests needed. We will use the same layout tests as desktop chromium.
However, new test result expections will be added later.
* html/shadow/MediaControlRootElementChromium.cpp:
(WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
(WebCore::MediaControlRootElementChromium::create):
(WebCore::MediaControlRootElementChromium::setMediaController):
(WebCore::MediaControlRootElementChromium::reset):
(WebCore::MediaControlRootElementChromium::reportedError):
* html/shadow/MediaControlRootElementChromium.h:
(MediaControlRootElementChromium):
Source/WebKit/chromium:
Adding a flag to the gyp file so that we can enable fullscreen media control
* features.gypi:
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (119965 => 119966)
--- trunk/Source/WebCore/ChangeLog 2012-06-11 09:17:07 UTC (rev 119965)
+++ trunk/Source/WebCore/ChangeLog 2012-06-11 09:26:31 UTC (rev 119966)
@@ -1,3 +1,26 @@
+2012-06-11 Min Qin <[email protected]>
+
+ Adding a flag to show fullscreen media controls in chromium
+ https://bugs.webkit.org/show_bug.cgi?id=88266
+
+ Reviewed by Adam Barth.
+
+ The default chromium shadow DOM for media element does not contain fullscreen button.
+ This change adds a flag to display the fullscreen button.
+ It will be used by the android port.
+
+ No new tests needed. We will use the same layout tests as desktop chromium.
+ However, new test result expections will be added later.
+
+ * html/shadow/MediaControlRootElementChromium.cpp:
+ (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
+ (WebCore::MediaControlRootElementChromium::create):
+ (WebCore::MediaControlRootElementChromium::setMediaController):
+ (WebCore::MediaControlRootElementChromium::reset):
+ (WebCore::MediaControlRootElementChromium::reportedError):
+ * html/shadow/MediaControlRootElementChromium.h:
+ (MediaControlRootElementChromium):
+
2012-06-11 Michael BrĂ¼ning <[email protected]>
[Qt][WK2] Compute and set cache capacities using the current CacheModel
Modified: trunk/Source/WebCore/html/shadow/MediaControlRootElementChromium.cpp (119965 => 119966)
--- trunk/Source/WebCore/html/shadow/MediaControlRootElementChromium.cpp 2012-06-11 09:17:07 UTC (rev 119965)
+++ trunk/Source/WebCore/html/shadow/MediaControlRootElementChromium.cpp 2012-06-11 09:26:31 UTC (rev 119966)
@@ -55,6 +55,9 @@
, m_panelMuteButton(0)
, m_volumeSlider(0)
, m_volumeSliderContainer(0)
+#if ENABLE(FULLSCREEN_MEDIA_CONTROLS)
+ , m_fullscreenButton(0)
+#endif
, m_panel(0)
#if ENABLE(VIDEO_TRACK)
, m_textDisplayContainer(0)
@@ -131,6 +134,14 @@
if (ec)
return 0;
+#if ENABLE(FULLSCREEN_MEDIA_CONTROLS)
+ RefPtr<MediaControlFullscreenButtonElement> fullscreenButton = MediaControlFullscreenButtonElement::create(document, controls.get());
+ controls->m_fullscreenButton = fullscreenButton.get();
+ panel->appendChild(fullscreenButton.release(), ec, true);
+ if (ec)
+ return 0;
+#endif
+
controls->m_panel = panel.get();
controls->appendChild(panel.release(), ec, true);
if (ec)
@@ -159,6 +170,10 @@
m_volumeSlider->setMediaController(controller);
if (m_volumeSliderContainer)
m_volumeSliderContainer->setMediaController(controller);
+#if ENABLE(FULLSCREEN_MEDIA_CONTROLS)
+ if (m_fullscreenButton)
+ m_fullscreenButton->setMediaController(controller);
+#endif
if (m_panel)
m_panel->setMediaController(controller);
#if ENABLE(VIDEO_TRACK)
@@ -211,6 +226,9 @@
if (m_volumeSlider)
m_volumeSlider->setVolume(m_mediaController->volume());
+#if ENABLE(FULLSCREEN_MEDIA_CONTROLS)
+ m_fullscreenButton->show();
+#endif
makeOpaque();
}
@@ -262,6 +280,9 @@
m_timelineContainer->hide();
m_panelMuteButton->hide();
m_volumeSliderContainer->hide();
+#if ENABLE(FULLSCREEN_MEDIA_CONTROLS)
+ m_fullscreenButton->hide();
+#endif
}
void MediaControlRootElementChromium::updateStatusDisplay()
Modified: trunk/Source/WebCore/html/shadow/MediaControlRootElementChromium.h (119965 => 119966)
--- trunk/Source/WebCore/html/shadow/MediaControlRootElementChromium.h 2012-06-11 09:17:07 UTC (rev 119965)
+++ trunk/Source/WebCore/html/shadow/MediaControlRootElementChromium.h 2012-06-11 09:26:31 UTC (rev 119966)
@@ -121,6 +121,9 @@
MediaControlPanelMuteButtonElement* m_panelMuteButton;
MediaControlVolumeSliderElement* m_volumeSlider;
MediaControlVolumeSliderContainerElement* m_volumeSliderContainer;
+#if ENABLE(FULLSCREEN_MEDIA_CONTROLS)
+ MediaControlFullscreenButtonElement* m_fullscreenButton;
+#endif
MediaControlPanelElement* m_panel;
#if ENABLE(VIDEO_TRACK)
MediaControlTextTrackContainerElement* m_textDisplayContainer;
Modified: trunk/Source/WebKit/chromium/ChangeLog (119965 => 119966)
--- trunk/Source/WebKit/chromium/ChangeLog 2012-06-11 09:17:07 UTC (rev 119965)
+++ trunk/Source/WebKit/chromium/ChangeLog 2012-06-11 09:26:31 UTC (rev 119966)
@@ -1,3 +1,14 @@
+2012-06-11 Min Qin <[email protected]>
+
+ Adding a flag to show fullscreen media controls in chromium
+ https://bugs.webkit.org/show_bug.cgi?id=88266
+
+ Reviewed by Adam Barth.
+
+ Adding a flag to the gyp file so that we can enable fullscreen media control
+
+ * features.gypi:
+
2012-06-09 Eugene Klyuchnikov <[email protected]>
Web Inspector: Add message loop instrumentation to public API and timeline agent
Modified: trunk/Source/WebKit/chromium/features.gypi (119965 => 119966)
--- trunk/Source/WebKit/chromium/features.gypi 2012-06-11 09:17:07 UTC (rev 119965)
+++ trunk/Source/WebKit/chromium/features.gypi 2012-06-11 09:26:31 UTC (rev 119966)
@@ -134,6 +134,7 @@
'feature_defines': [
'ENABLE_CALENDAR_PICKER=0',
'ENABLE_FONT_BOOSTING=1',
+ 'ENABLE_FULLSCREEN_MEDIA_CONTROLS=1',
'ENABLE_INPUT_SPEECH=0',
'ENABLE_INPUT_TYPE_DATETIME=1',
'ENABLE_INPUT_TYPE_DATETIMELOCAL=1',
@@ -159,6 +160,7 @@
'feature_defines': [
'ENABLE_CALENDAR_PICKER=1',
'ENABLE_FONT_BOOSTING=0',
+ 'ENABLE_FULLSCREEN_MEDIA_CONTROLS=0',
'ENABLE_INPUT_SPEECH=1',
'ENABLE_INPUT_TYPE_DATETIME=0',
'ENABLE_INPUT_TYPE_DATETIMELOCAL=0',