Title: [101563] branches/chromium/912/Source/WebCore

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;
 }
  
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to