Diff
Modified: branches/chromium/912/Source/WebCore/accessibility/AccessibilityMediaControls.cpp (101562 => 101563)
--- branches/chromium/912/Source/WebCore/accessibility/AccessibilityMediaControls.cpp 2011-11-30 23:32:28 UTC (rev 101562)
+++ branches/chromium/912/Source/WebCore/accessibility/AccessibilityMediaControls.cpp 2011-12-01 00:03:36 UTC (rev 101563)
@@ -53,17 +53,9 @@
PassRefPtr<AccessibilityObject> AccessibilityMediaControl::create(RenderObject* renderer)
{
- ASSERT(renderer->node() && renderer->node()->isMediaControlElement());
+ ASSERT(renderer->node());
- Node* node = renderer->node();
- MediaControlElementType controlType;
-
- if (node->hasTagName(inputTag))
- controlType = static_cast<MediaControlInputElement*>(node)->displayType();
- else
- controlType = static_cast<MediaControlElement*>(node)->displayType();
-
- switch (controlType) {
+ switch (mediaControlElementType(renderer->node())) {
case MediaSlider:
return AccessibilityMediaTimeline::create(renderer);
@@ -84,12 +76,7 @@
if (!renderer() || !renderer()->node())
return MediaTimelineContainer; // Timeline container is not accessible.
- Node* node = renderer()->node();
-
- if (node->hasTagName(inputTag))
- return static_cast<MediaControlInputElement*>(node)->displayType();
-
- return static_cast<MediaControlElement*>(node)->displayType();
+ return mediaControlElementType(renderer()->node());
}
String AccessibilityMediaControl::controlTypeName() const
@@ -264,9 +251,11 @@
String AccessibilityMediaTimeline::valueDescription() const
{
- ASSERT(m_renderer->node()->hasTagName(inputTag));
+ Node* node = m_renderer->node();
+ if (!node->hasTagName(inputTag))
+ return String();
- float time = static_cast<HTMLInputElement*>(m_renderer->node())->value().toFloat();
+ float time = static_cast<HTMLInputElement*>(node)->value().toFloat();
return localizedMediaTimeDescription(time);
}
Modified: branches/chromium/912/Source/WebCore/html/shadow/MediaControlElements.cpp (101562 => 101563)
--- branches/chromium/912/Source/WebCore/html/shadow/MediaControlElements.cpp 2011-11-30 23:32:28 UTC (rev 101562)
+++ branches/chromium/912/Source/WebCore/html/shadow/MediaControlElements.cpp 2011-12-01 00:03:36 UTC (rev 101563)
@@ -54,6 +54,12 @@
using namespace HTMLNames;
+// FIXME: These constants may need to be tweaked to better match the seeking in the QuickTime plug-in.
+static const float cSkipRepeatDelay = 0.1f;
+static const float cSkipTime = 0.2f;
+static const float cScanRepeatDelay = 1.5f;
+static const float cScanMaximumRate = 8;
+
HTMLMediaElement* toParentMediaElement(Node* node)
{
Node* mediaNode = node ? node->shadowAncestorNode() : 0;
@@ -63,11 +69,14 @@
return static_cast<HTMLMediaElement*>(mediaNode);
}
-// FIXME: These constants may need to be tweaked to better match the seeking in the QuickTime plug-in.
-static const float cSkipRepeatDelay = 0.1f;
-static const float cSkipTime = 0.2f;
-static const float cScanRepeatDelay = 1.5f;
-static const float cScanMaximumRate = 8;
+MediaControlElementType mediaControlElementType(Node* node)
+{
+ ASSERT(node->isMediaControlElement());
+ HTMLElement* element = toHTMLElement(node);
+ if (element->hasTagName(inputTag))
+ return static_cast<MediaControlInputElement*>(element)->displayType();
+ return static_cast<MediaControlElement*>(element)->displayType();
+}
// ----------------------------
Modified: branches/chromium/912/Source/WebCore/html/shadow/MediaControlElements.h (101562 => 101563)
--- branches/chromium/912/Source/WebCore/html/shadow/MediaControlElements.h 2011-11-30 23:32:28 UTC (rev 101562)
+++ branches/chromium/912/Source/WebCore/html/shadow/MediaControlElements.h 2011-12-01 00:03:36 UTC (rev 101563)
@@ -73,6 +73,8 @@
HTMLMediaElement* toParentMediaElement(Node*);
inline HTMLMediaElement* toParentMediaElement(RenderObject* renderer) { return toParentMediaElement(renderer->node()); }
+MediaControlElementType mediaControlElementType(Node*);
+
// ----------------------------
class MediaControlElement : public HTMLDivElement {
Modified: branches/chromium/912/Source/WebCore/platform/efl/RenderThemeEfl.cpp (101562 => 101563)
--- branches/chromium/912/Source/WebCore/platform/efl/RenderThemeEfl.cpp 2011-11-30 23:32:28 UTC (rev 101562)
+++ branches/chromium/912/Source/WebCore/platform/efl/RenderThemeEfl.cpp 2011-12-01 00:03:36 UTC (rev 101563)
@@ -1202,8 +1202,7 @@
if (!node || !node->isMediaControlElement())
return false;
- MediaControlPlayButtonElement* button = static_cast<MediaControlPlayButtonElement*>(node);
- if (!emitMediaButtonSignal(PlayPauseButton, button->displayType(), rect))
+ if (!emitMediaButtonSignal(PlayPauseButton, mediaControlElementType(node), rect))
return false;
return paintThemePart(object, PlayPauseButton, info, rect);
@@ -1215,8 +1214,7 @@
if (!node || !node->isMediaControlElement())
return 0;
- MediaControlSeekButtonElement* button = static_cast<MediaControlSeekButtonElement*>(node);
- if (!emitMediaButtonSignal(SeekBackwardButton, button->displayType(), rect))
+ if (!emitMediaButtonSignal(SeekBackwardButton, mediaControlElementType(node), rect))
return false;
return paintThemePart(object, SeekBackwardButton, info, rect);
@@ -1228,8 +1226,7 @@
if (!node || !node->isMediaControlElement())
return 0;
- MediaControlSeekButtonElement* button = static_cast<MediaControlSeekButtonElement*>(node);
- if (!emitMediaButtonSignal(SeekForwardButton, button->displayType(), rect))
+ if (!emitMediaButtonSignal(SeekForwardButton, mediaControlElementType(node), rect))
return false;
return paintThemePart(object, SeekForwardButton, info, rect);
Modified: branches/chromium/912/Source/WebCore/platform/gtk/RenderThemeGtk.cpp (101562 => 101563)
--- branches/chromium/912/Source/WebCore/platform/gtk/RenderThemeGtk.cpp 2011-11-30 23:32:28 UTC (rev 101562)
+++ branches/chromium/912/Source/WebCore/platform/gtk/RenderThemeGtk.cpp 2011-12-01 00:03:36 UTC (rev 101563)
@@ -525,9 +525,10 @@
Node* node = renderObject->node();
if (!node)
return false;
+ if (!node->isMediaControlElement())
+ return false;
- MediaControlPlayButtonElement* button = static_cast<MediaControlPlayButtonElement*>(node);
- return paintMediaButton(renderObject, paintInfo.context, rect, button->displayType() == MediaPlayButton ? GTK_STOCK_MEDIA_PLAY : GTK_STOCK_MEDIA_PAUSE);
+ return paintMediaButton(renderObject, paintInfo.context, rect, mediaControlElementType(node) == MediaPlayButton ? GTK_STOCK_MEDIA_PLAY : GTK_STOCK_MEDIA_PAUSE);
}
bool RenderThemeGtk::paintMediaSeekBackButton(RenderObject* renderObject, const PaintInfo& paintInfo, const IntRect& rect)
Modified: branches/chromium/912/Source/WebCore/rendering/RenderThemeMac.mm (101562 => 101563)
--- branches/chromium/912/Source/WebCore/rendering/RenderThemeMac.mm 2011-11-30 23:32:28 UTC (rev 101562)
+++ branches/chromium/912/Source/WebCore/rendering/RenderThemeMac.mm 2011-12-01 00:03:36 UTC (rev 101563)
@@ -1781,10 +1781,9 @@
if (!mediaNode || (!mediaNode->hasTagName(videoTag) && !mediaNode->hasTagName(audioTag)))
return false;
- if (MediaControlMuteButtonElement* btn = static_cast<MediaControlMuteButtonElement*>(node)) {
+ if (node->isMediaControlElement()) {
LocalCurrentGraphicsContext localContext(paintInfo.context);
- wkDrawMediaUIPart(btn->displayType(), mediaControllerTheme(), localContext.cgContext(), r, getMediaUIPartStateFlags(node));
-
+ wkDrawMediaUIPart(mediaControlElementType(node), mediaControllerTheme(), localContext.cgContext(), r, getMediaUIPartStateFlags(node));
}
return false;
}
@@ -1796,9 +1795,9 @@
if (!mediaNode || (!mediaNode->hasTagName(videoTag) && !mediaNode->hasTagName(audioTag)))
return false;
- if (MediaControlPlayButtonElement* btn = static_cast<MediaControlPlayButtonElement*>(node)) {
+ if (node->isMediaControlElement()) {
LocalCurrentGraphicsContext localContext(paintInfo.context);
- wkDrawMediaUIPart(btn->displayType(), mediaControllerTheme(), localContext.cgContext(), r, getMediaUIPartStateFlags(node));
+ wkDrawMediaUIPart(mediaControlElementType(node), mediaControllerTheme(), localContext.cgContext(), r, getMediaUIPartStateFlags(node));
}
return false;
}
@@ -1888,17 +1887,14 @@
bool RenderThemeMac::paintMediaToggleClosedCaptionsButton(RenderObject* o, const PaintInfo& paintInfo, const IntRect& r)
{
- HTMLInputElement* node = static_cast<HTMLInputElement*>(o->node());
+ Node* node = o->node();
if (!node)
return false;
-
- MediaControlToggleClosedCaptionsButtonElement* btn = static_cast<MediaControlToggleClosedCaptionsButtonElement*>(node);
- if (!btn)
+ if (!node->isMediaControlElement())
return false;
LocalCurrentGraphicsContext localContext(paintInfo.context);
- wkDrawMediaUIPart(btn->displayType(), mediaControllerTheme(), localContext.cgContext(), r, getMediaUIPartStateFlags(node));
-
+ wkDrawMediaUIPart(mediaControlElementType(node), mediaControllerTheme(), localContext.cgContext(), r, getMediaUIPartStateFlags(node));
return false;
}