Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(703)

Unified Diff: Source/core/html/shadow/MediaControlElementTypes.cpp

Issue 1156993013: New media playback UI. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: fixed some tests from previous CL. Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/html/shadow/MediaControlElementTypes.cpp
diff --git a/Source/core/html/shadow/MediaControlElementTypes.cpp b/Source/core/html/shadow/MediaControlElementTypes.cpp
index 70d738556f731e1bee57b58bf0f4ca9d2a611bc1..f329719f7c734e9a1a9893409be55248841a3313 100644
--- a/Source/core/html/shadow/MediaControlElementTypes.cpp
+++ b/Source/core/html/shadow/MediaControlElementTypes.cpp
@@ -71,6 +71,9 @@ MediaControlElement::MediaControlElement(MediaControls& mediaControls, MediaCont
: m_mediaControls(mediaControls)
, m_displayType(displayType)
, m_element(element)
+ , m_isShown(true)
+ , m_isWanted(true)
+ , m_doesFit(true)
{
}
@@ -82,11 +85,54 @@ HTMLMediaElement& MediaControlElement::mediaElement() const
void MediaControlElement::hide()
{
m_element->setInlineStyleProperty(CSSPropertyDisplay, CSSValueNone);
+ m_isShown = false;
}
void MediaControlElement::show()
{
m_element->removeInlineStyleProperty(CSSPropertyDisplay);
+ m_isShown = true;
+}
+
+bool MediaControlElement::isShown()
+{
+ return m_isShown;
+}
+
+void MediaControlElement::updateShownState()
+{
+ if (m_isWanted && m_doesFit)
+ show();
+ else
+ hide();
+}
+
+void MediaControlElement::setDoesFit(bool fits)
+{
+ m_doesFit = fits;
+ updateShownState();
+}
+
+void MediaControlElement::setIsWanted(bool wanted)
+{
+ m_isWanted = wanted;
+ updateShownState();
+}
+
+bool MediaControlElement::isWanted()
+{
+ return m_isWanted;
+}
+
+int MediaControlElement::minimumWidth()
+{
+ // We could check the computed style here, but that depends on whether
+ // we've been shown. Instead, we just assume 48 except for the
+ // timeline bar.
+ if (m_displayType == MediaSlider)
+ return 55;
+
+ return 48;
}
void MediaControlElement::setDisplayType(MediaControlElementType displayType)

Powered by Google App Engine
This is Rietveld 408576698