Forgot to check in these changes in my last checkin.
authoradele@apple.com <adele@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 8 Jan 2008 01:21:15 +0000 (01:21 +0000)
committeradele@apple.com <adele@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 8 Jan 2008 01:21:15 +0000 (01:21 +0000)
        * rendering/RenderThemeSafari.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29265 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/rendering/RenderThemeSafari.cpp

index 85c58cc446f3b8b66298bacafdad29e9dd1f16c3..38179287f7f0dd51694a5acc685db701a985c707 100644 (file)
@@ -1,3 +1,9 @@
+2008-01-07  Adele Peterson  <adele@apple.com>
+
+        Forgot to check in these changes in my last checkin.
+
+        * rendering/RenderThemeSafari.cpp:
+
 2008-01-07  Dan Bernstein  <mitz@apple.com>
 
         Build fixes.
index 52d2c68dc0e3f3141db703f8d38accb3de592e4b..3c94b775d1a0a54f7e27d06c6c649a68e09ce70c 100644 (file)
@@ -30,6 +30,7 @@
 #include "GraphicsContext.h"
 #include "HTMLInputElement.h"
 #include "HTMLMediaElement.h"
+#include "HTMLNames.h"
 #include "RenderSlider.h"
 #include "RenderView.h"
 #include "RetainPtr.h"
@@ -43,6 +44,7 @@ using std::min;
  
 namespace WebCore {
 
+using namespace HTMLNames;
 using namespace SafariTheme;
 
 enum {
@@ -1131,9 +1133,12 @@ bool RenderThemeSafari::paintMediaMuteButton(RenderObject* o, const RenderObject
     ASSERT(SafariThemeLibrary());
 
     Node* node = o->element();
-    HTMLMediaElement* mediaElement = node ? static_cast<HTMLMediaElement*>(node->shadowAncestorNode()) : 0;
+    Node* mediaNode = node ? node->shadowAncestorNode() : 0;
+    if (!mediaNode || (!mediaNode->hasTagName(videoTag) && !mediaNode->hasTagName(audioTag)))
+        return false;
 
-    if (!node || !mediaElement)
+    HTMLMediaElement* mediaElement = static_cast<HTMLMediaElement*>(mediaNode);
+    if (!mediaElement)
         return false;
 
     paintThemePart(mediaElement->muted() ? MediaUnMuteButtonPart : MediaMuteButtonPart, paintInfo.context->platformContext(), r, NSRegularControlSize, determineState(o));
@@ -1146,9 +1151,12 @@ bool RenderThemeSafari::paintMediaPlayButton(RenderObject* o, const RenderObject
     ASSERT(SafariThemeLibrary());
 
     Node* node = o->element();
-    HTMLMediaElement* mediaElement = node ? static_cast<HTMLMediaElement*>(node->shadowAncestorNode()) : 0;
+    Node* mediaNode = node ? node->shadowAncestorNode() : 0;
+    if (!mediaNode || (!mediaNode->hasTagName(videoTag) && !mediaNode->hasTagName(audioTag)))
+        return false;
 
-    if (!node || !mediaElement)
+    HTMLMediaElement* mediaElement = static_cast<HTMLMediaElement*>(mediaNode);
+    if (!mediaElement)
         return false;
 
     paintThemePart(mediaElement->canPlay() ? MediaPlayButtonPart : MediaPauseButtonPart, paintInfo.context->platformContext(), r, NSRegularControlSize, determineState(o));
@@ -1183,6 +1191,7 @@ bool RenderThemeSafari::paintMediaSliderThumb(RenderObject* o, const RenderObjec
     return false;
 }
 #endif
+
 } // namespace WebCore
 
 #endif // defined(USE_SAFARI_THEME)