Title: [139639] trunk/Source/WebCore
Revision
139639
Author
[email protected]
Date
2013-01-14 12:17:58 -0800 (Mon, 14 Jan 2013)

Log Message

Clean up WebVTTNodeType code
https://bugs.webkit.org/show_bug.cgi?id=106714

Reviewed by Tony Chang.

There's no reason for so many methods just to compare some enums.
The existing code can also be simplified quite a bit.

No new tests, just refactoring.

* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRules):
(WebCore::StyleResolver::canShareStyleWithElement):
* dom/Element.cpp:
(WebCore::Element::webVTTNodeType):
(WebCore::Element::setWebVTTNodeType):
* dom/Element.h:
(Element):
* dom/ElementRareData.h:
(WebCore::ElementRareData::setWebVTTNodeType):
(WebCore::ElementRareData::webVTTNodeType):
(ElementRareData):
* dom/NodeRareData.h:
(WebCore::NodeRareData::NodeRareData):
(NodeRareData):
* html/track/TextTrack.h:
* html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::markFutureAndPastNodes):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (139638 => 139639)


--- trunk/Source/WebCore/ChangeLog	2013-01-14 20:16:57 UTC (rev 139638)
+++ trunk/Source/WebCore/ChangeLog	2013-01-14 20:17:58 UTC (rev 139639)
@@ -1,3 +1,36 @@
+2013-01-14  Elliott Sprehn  <[email protected]>
+
+        Clean up WebVTTNodeType code
+        https://bugs.webkit.org/show_bug.cgi?id=106714
+
+        Reviewed by Tony Chang.
+
+        There's no reason for so many methods just to compare some enums.
+        The existing code can also be simplified quite a bit.
+
+        No new tests, just refactoring.
+
+        * css/SelectorChecker.cpp:
+        (WebCore::SelectorChecker::checkOne):
+        * css/StyleResolver.cpp:
+        (WebCore::StyleResolver::collectMatchingRules):
+        (WebCore::StyleResolver::canShareStyleWithElement):
+        * dom/Element.cpp:
+        (WebCore::Element::webVTTNodeType):
+        (WebCore::Element::setWebVTTNodeType):
+        * dom/Element.h:
+        (Element):
+        * dom/ElementRareData.h:
+        (WebCore::ElementRareData::setWebVTTNodeType):
+        (WebCore::ElementRareData::webVTTNodeType):
+        (ElementRareData):
+        * dom/NodeRareData.h:
+        (WebCore::NodeRareData::NodeRareData):
+        (NodeRareData):
+        * html/track/TextTrack.h:
+        * html/track/TextTrackCue.cpp:
+        (WebCore::TextTrackCue::markFutureAndPastNodes):
+
 2013-01-14  Antti Koivisto  <[email protected]>
 
         REGRESSION (r139218): Flaky assertion in WebCore::StorageTask::StorageTask releasing memory

Modified: trunk/Source/WebCore/css/SelectorChecker.cpp (139638 => 139639)


--- trunk/Source/WebCore/css/SelectorChecker.cpp	2013-01-14 20:16:57 UTC (rev 139638)
+++ trunk/Source/WebCore/css/SelectorChecker.cpp	2013-01-14 20:17:58 UTC (rev 139639)
@@ -941,9 +941,7 @@
             return element->isOutOfRange();
 #if ENABLE(VIDEO_TRACK)
         case CSSSelector::PseudoFutureCue:
-            if (element->isWebVTTFutureNode())
-                return true;
-            return false;
+            return element->webVTTNodeType() == WebVTTNodeTypeFuture;
 #endif
 
         case CSSSelector::PseudoHorizontal:

Modified: trunk/Source/WebCore/css/StyleResolver.cpp (139638 => 139639)


--- trunk/Source/WebCore/css/StyleResolver.cpp	2013-01-14 20:16:57 UTC (rev 139638)
+++ trunk/Source/WebCore/css/StyleResolver.cpp	2013-01-14 20:17:58 UTC (rev 139639)
@@ -654,7 +654,7 @@
     }
 
 #if ENABLE(VIDEO_TRACK)
-    if (m_element->isWebVTTNode())
+    if (m_element->webVTTNodeType())
         collectMatchingRulesForList(rules->cuePseudoRules(), firstRuleIndex, lastRuleIndex, options);
 #endif
     // Check whether other types of rules are applicable in the current tree scope. Criteria for this:
@@ -1241,11 +1241,8 @@
         return false;
 
 #if ENABLE(VIDEO_TRACK)
-    if (element->isWebVTTNode() && m_element->isWebVTTNode() && element->isWebVTTFutureNode() != m_element->isWebVTTFutureNode())
+    if (element->webVTTNodeType() != m_element->webVTTNodeType())
         return false;
-    // Deny sharing styles between WebVTT nodes and non-WebVTT nodes.
-    if (element->isWebVTTNode() != m_element->isWebVTTNode())
-        return false;
 #endif
 
     return true;

Modified: trunk/Source/WebCore/dom/Element.cpp (139638 => 139639)


--- trunk/Source/WebCore/dom/Element.cpp	2013-01-14 20:16:57 UTC (rev 139638)
+++ trunk/Source/WebCore/dom/Element.cpp	2013-01-14 20:17:58 UTC (rev 139639)
@@ -2308,25 +2308,15 @@
 #endif
 
 #if ENABLE(VIDEO_TRACK)
-bool Element::isWebVTTNode() const
+WebVTTNodeType Element::webVTTNodeType() const
 {
-    return hasRareData() && elementRareData()->isWebVTTNode();
+    return hasRareData() ? elementRareData()->webVTTNodeType() : WebVTTNodeTypeNone;
 }
 
-void Element::setIsWebVTTNode()
+void Element::setWebVTTNodeType(WebVTTNodeType type)
 {
-    ensureElementRareData()->setIsWebVTTNode();
+    ensureElementRareData()->setWebVTTNodeType(type);
 }
-
-bool Element::isWebVTTFutureNode() const
-{
-    return hasRareData() && elementRareData()->isWebVTTFutureNode();
-}
-
-void Element::setIsWebVTTFutureNode()
-{
-    ensureElementRareData()->setIsWebVTTFutureNode();
-}
 #endif
 
 #if ENABLE(FULLSCREEN_API)

Modified: trunk/Source/WebCore/dom/Element.h (139638 => 139639)


--- trunk/Source/WebCore/dom/Element.h	2013-01-14 20:16:57 UTC (rev 139638)
+++ trunk/Source/WebCore/dom/Element.h	2013-01-14 20:17:58 UTC (rev 139639)
@@ -31,6 +31,9 @@
 #include "FragmentScriptingPermission.h"
 #include "HTMLNames.h"
 #include "ScrollTypes.h"
+#if ENABLE(VIDEO_TRACK)
+#include "TextTrack.h"
+#endif
 
 namespace WebCore {
 
@@ -447,12 +450,10 @@
 #endif
 
 #if ENABLE(VIDEO_TRACK)
-    bool isWebVTTNode() const;
-    void setIsWebVTTNode();
-    bool isWebVTTFutureNode() const;
-    void setIsWebVTTFutureNode();
+    WebVTTNodeType webVTTNodeType() const;
+    void setWebVTTNodeType(WebVTTNodeType);
 #endif
-    
+
 #if ENABLE(FULLSCREEN_API)
     enum {
         ALLOW_KEYBOARD_INPUT = 1 << 0,

Modified: trunk/Source/WebCore/dom/ElementRareData.h (139638 => 139639)


--- trunk/Source/WebCore/dom/ElementRareData.h	2013-01-14 20:16:57 UTC (rev 139638)
+++ trunk/Source/WebCore/dom/ElementRareData.h	2013-01-14 20:17:58 UTC (rev 139639)
@@ -55,11 +55,10 @@
     void setIsInCanvasSubtree(bool value) { m_isInCanvasSubtree = value; }
 
 #if ENABLE(VIDEO_TRACK)
-    using NodeRareData::isWebVTTNode;
-    using NodeRareData::setIsWebVTTNode;
-    using NodeRareData::isWebVTTFutureNode;
-    using NodeRareData::setIsWebVTTFutureNode;
+    void setWebVTTNodeType(WebVTTNodeType type) { m_webVTTNodeType = type; }
+    WebVTTNodeType webVTTNodeType() const { return static_cast<WebVTTNodeType>(m_webVTTNodeType); }
 #endif
+
 #if ENABLE(FULLSCREEN_API)
     bool containsFullScreenElement() { return m_containsFullScreenElement; }
     void setContainsFullScreenElement(bool value) { m_containsFullScreenElement = value; }

Modified: trunk/Source/WebCore/dom/NodeRareData.h (139638 => 139639)


--- trunk/Source/WebCore/dom/NodeRareData.h	2013-01-14 20:16:57 UTC (rev 139638)
+++ trunk/Source/WebCore/dom/NodeRareData.h	2013-01-14 20:17:58 UTC (rev 139639)
@@ -272,7 +272,7 @@
         , m_childrenAffectedByForwardPositionalRules(false)
         , m_childrenAffectedByBackwardPositionalRules(false)
 #if ENABLE(VIDEO_TRACK)
-        , m_WebVTTNodeType(TextTrack::WebVTTNodeTypeNone)
+        , m_webVTTNodeType(WebVTTNodeTypeNone)
 #endif
     {
     }
@@ -371,12 +371,6 @@
     virtual void reportMemoryUsage(MemoryObjectInfo*) const;
 
 protected:
-#if ENABLE(VIDEO_TRACK)
-    bool isWebVTTNode() { return static_cast<TextTrack::WebVTTNodeType>(m_WebVTTNodeType) != TextTrack::WebVTTNodeTypeNone; }
-    void setIsWebVTTNode() { m_WebVTTNodeType = TextTrack::WebVTTNodeTypePast; }
-    bool isWebVTTFutureNode() { return static_cast<TextTrack::WebVTTNodeType>(m_WebVTTNodeType) == TextTrack::WebVTTNodeTypeFuture; }
-    void setIsWebVTTFutureNode() { m_WebVTTNodeType = TextTrack::WebVTTNodeTypeFuture; }
-#endif
     short m_tabIndex;
     unsigned short m_childIndex;
     unsigned m_tabIndexWasSetExplicitly : 1;
@@ -404,7 +398,7 @@
     unsigned m_childrenAffectedByForwardPositionalRules : 1;
     unsigned m_childrenAffectedByBackwardPositionalRules : 1;
 #if ENABLE(VIDEO_TRACK)
-    unsigned m_WebVTTNodeType : 2;
+    unsigned m_webVTTNodeType : 2; // WebVTTNodeType
 #endif
 
 private:

Modified: trunk/Source/WebCore/html/track/TextTrack.h (139638 => 139639)


--- trunk/Source/WebCore/html/track/TextTrack.h	2013-01-14 20:16:57 UTC (rev 139638)
+++ trunk/Source/WebCore/html/track/TextTrack.h	2013-01-14 20:17:58 UTC (rev 139639)
@@ -53,6 +53,12 @@
     virtual void textTrackRemoveCue(TextTrack*, PassRefPtr<TextTrackCue>) = 0;
 };
 
+enum WebVTTNodeType {
+    WebVTTNodeTypeNone = 0,
+    WebVTTNodeTypeFuture,
+    WebVTTNodeTypePast
+};
+
 class TextTrack : public TrackBase {
 public:
     static PassRefPtr<TextTrack> create(ScriptExecutionContext* context, TextTrackClient* client, const AtomicString& kind, const AtomicString& label, const AtomicString& language)
@@ -107,8 +113,6 @@
 
     enum TextTrackType { TrackElement, AddTrack, InBand };
     TextTrackType trackType() const { return m_trackType; }
-    
-    enum WebVTTNodeType {WebVTTNodeTypeNone, WebVTTNodeTypeFuture, WebVTTNodeTypePast};
 
     int trackIndex();
     void invalidateTrackIndex();

Modified: trunk/Source/WebCore/html/track/TextTrackCue.cpp (139638 => 139639)


--- trunk/Source/WebCore/html/track/TextTrackCue.cpp	2013-01-14 20:16:57 UTC (rev 139638)
+++ trunk/Source/WebCore/html/track/TextTrackCue.cpp	2013-01-14 20:17:58 UTC (rev 139639)
@@ -677,13 +677,9 @@
             if (currentTimestamp > movieTime)
                 isPastNode = false;
         }
-        
-        if (child->isElementNode()) {
-            if (!isPastNode)
-                toElement(child)->setIsWebVTTFutureNode();
-            else
-                toElement(child)->setIsWebVTTNode();
-        }
+
+        if (child->isElementNode())
+            toElement(child)->setWebVTTNodeType(isPastNode ? WebVTTNodeTypePast : WebVTTNodeTypeFuture);
     }
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to