Remove unneeded static_casts from SelectorChecker
authorrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 26 Jun 2013 18:06:54 +0000 (18:06 +0000)
committerrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 26 Jun 2013 18:06:54 +0000 (18:06 +0000)
https://bugs.webkit.org/show_bug.cgi?id=118018

Reviewed by Christophe Dumez.

Merge https://chromium.googlesource.com/chromium/blink/+/adc5b8bec2d8c6a857b3c930ca7484f76cad1367

SelectorChecker::checkOne casts to StyledElement just to call classNames, but
this method is on Element so there's no reason for this. The cast here also
looks pretty suspect. The method also casts to HTMLFrameElementBase to call
containsFullScreenElement which is also on Element so the cast can be removed.

* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):

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

Source/WebCore/ChangeLog
Source/WebCore/css/SelectorChecker.cpp

index 71fcb0ab1e81df472d9c663bf9ed58a7498b0e33..5d5eda567af14b10c0c671bae101d6fe00d1796d 100644 (file)
@@ -1,3 +1,20 @@
+2013-06-26  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Remove unneeded static_casts from SelectorChecker
+        https://bugs.webkit.org/show_bug.cgi?id=118018
+
+        Reviewed by Christophe Dumez.
+
+        Merge https://chromium.googlesource.com/chromium/blink/+/adc5b8bec2d8c6a857b3c930ca7484f76cad1367
+
+        SelectorChecker::checkOne casts to StyledElement just to call classNames, but
+        this method is on Element so there's no reason for this. The cast here also
+        looks pretty suspect. The method also casts to HTMLFrameElementBase to call
+        containsFullScreenElement which is also on Element so the cast can be removed.
+
+        * css/SelectorChecker.cpp:
+        (WebCore::SelectorChecker::checkOne):
+
 2013-06-26  Ryosuke Niwa  <rniwa@webkit.org>
 
         Set Attr.ownerDocument in Element#setAttributeNode()
index 8374998fe74b5f64e4a73bd0f27707ebe1e1f155..d8d6b35663fd47811c58b2335b847b5b8c57794e 100644 (file)
@@ -380,7 +380,7 @@ bool SelectorChecker::checkOne(const SelectorCheckingContext& context) const
         return SelectorChecker::tagMatches(element, selector->tagQName());
 
     if (selector->m_match == CSSSelector::Class)
-        return element->hasClass() && static_cast<StyledElement*>(element)->classNames().contains(selector->value());
+        return element->hasClass() && element->classNames().contains(selector->value());
 
     if (selector->m_match == CSSSelector::Id)
         return element->hasID() && element->idForStyleResolution() == selector->value();
@@ -722,7 +722,7 @@ bool SelectorChecker::checkOne(const SelectorCheckingContext& context) const
             // element is an element in the document, the 'full-screen' pseudoclass applies to
             // that element. Also, an <iframe>, <object> or <embed> element whose child browsing
             // context's Document is in the fullscreen state has the 'full-screen' pseudoclass applied.
-            if (element->isFrameElementBase() && static_cast<HTMLFrameElementBase*>(element)->containsFullScreenElement())
+            if (element->isFrameElementBase() && element->containsFullScreenElement())
                 return true;
             if (!element->document()->webkitIsFullScreen())
                 return false;