Changeset 139639 in webkit


Ignore:
Timestamp:
Jan 14, 2013 12:17:58 PM (11 years ago)
Author:
esprehn@chromium.org
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):

Location:
trunk/Source/WebCore
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r139638 r139639  
     12013-01-14  Elliott Sprehn  <esprehn@chromium.org>
     2
     3        Clean up WebVTTNodeType code
     4        https://bugs.webkit.org/show_bug.cgi?id=106714
     5
     6        Reviewed by Tony Chang.
     7
     8        There's no reason for so many methods just to compare some enums.
     9        The existing code can also be simplified quite a bit.
     10
     11        No new tests, just refactoring.
     12
     13        * css/SelectorChecker.cpp:
     14        (WebCore::SelectorChecker::checkOne):
     15        * css/StyleResolver.cpp:
     16        (WebCore::StyleResolver::collectMatchingRules):
     17        (WebCore::StyleResolver::canShareStyleWithElement):
     18        * dom/Element.cpp:
     19        (WebCore::Element::webVTTNodeType):
     20        (WebCore::Element::setWebVTTNodeType):
     21        * dom/Element.h:
     22        (Element):
     23        * dom/ElementRareData.h:
     24        (WebCore::ElementRareData::setWebVTTNodeType):
     25        (WebCore::ElementRareData::webVTTNodeType):
     26        (ElementRareData):
     27        * dom/NodeRareData.h:
     28        (WebCore::NodeRareData::NodeRareData):
     29        (NodeRareData):
     30        * html/track/TextTrack.h:
     31        * html/track/TextTrackCue.cpp:
     32        (WebCore::TextTrackCue::markFutureAndPastNodes):
     33
    1342013-01-14  Antti Koivisto  <antti@apple.com>
    235
  • trunk/Source/WebCore/css/SelectorChecker.cpp

    r139406 r139639  
    942942#if ENABLE(VIDEO_TRACK)
    943943        case CSSSelector::PseudoFutureCue:
    944             if (element->isWebVTTFutureNode())
    945                 return true;
    946             return false;
     944            return element->webVTTNodeType() == WebVTTNodeTypeFuture;
    947945#endif
    948946
  • trunk/Source/WebCore/css/StyleResolver.cpp

    r139589 r139639  
    655655
    656656#if ENABLE(VIDEO_TRACK)
    657     if (m_element->isWebVTTNode())
     657    if (m_element->webVTTNodeType())
    658658        collectMatchingRulesForList(rules->cuePseudoRules(), firstRuleIndex, lastRuleIndex, options);
    659659#endif
     
    12421242
    12431243#if ENABLE(VIDEO_TRACK)
    1244     if (element->isWebVTTNode() && m_element->isWebVTTNode() && element->isWebVTTFutureNode() != m_element->isWebVTTFutureNode())
    1245         return false;
    1246     // Deny sharing styles between WebVTT nodes and non-WebVTT nodes.
    1247     if (element->isWebVTTNode() != m_element->isWebVTTNode())
     1244    if (element->webVTTNodeType() != m_element->webVTTNodeType())
    12481245        return false;
    12491246#endif
  • trunk/Source/WebCore/dom/Element.cpp

    r139573 r139639  
    23092309
    23102310#if ENABLE(VIDEO_TRACK)
    2311 bool Element::isWebVTTNode() const
    2312 {
    2313     return hasRareData() && elementRareData()->isWebVTTNode();
    2314 }
    2315 
    2316 void Element::setIsWebVTTNode()
    2317 {
    2318     ensureElementRareData()->setIsWebVTTNode();
    2319 }
    2320 
    2321 bool Element::isWebVTTFutureNode() const
    2322 {
    2323     return hasRareData() && elementRareData()->isWebVTTFutureNode();
    2324 }
    2325 
    2326 void Element::setIsWebVTTFutureNode()
    2327 {
    2328     ensureElementRareData()->setIsWebVTTFutureNode();
     2311WebVTTNodeType Element::webVTTNodeType() const
     2312{
     2313    return hasRareData() ? elementRareData()->webVTTNodeType() : WebVTTNodeTypeNone;
     2314}
     2315
     2316void Element::setWebVTTNodeType(WebVTTNodeType type)
     2317{
     2318    ensureElementRareData()->setWebVTTNodeType(type);
    23292319}
    23302320#endif
  • trunk/Source/WebCore/dom/Element.h

    r139064 r139639  
    3232#include "HTMLNames.h"
    3333#include "ScrollTypes.h"
     34#if ENABLE(VIDEO_TRACK)
     35#include "TextTrack.h"
     36#endif
    3437
    3538namespace WebCore {
     
    448451
    449452#if ENABLE(VIDEO_TRACK)
    450     bool isWebVTTNode() const;
    451     void setIsWebVTTNode();
    452     bool isWebVTTFutureNode() const;
    453     void setIsWebVTTFutureNode();
    454 #endif
    455    
     453    WebVTTNodeType webVTTNodeType() const;
     454    void setWebVTTNodeType(WebVTTNodeType);
     455#endif
     456
    456457#if ENABLE(FULLSCREEN_API)
    457458    enum {
  • trunk/Source/WebCore/dom/ElementRareData.h

    r139529 r139639  
    5656
    5757#if ENABLE(VIDEO_TRACK)
    58     using NodeRareData::isWebVTTNode;
    59     using NodeRareData::setIsWebVTTNode;
    60     using NodeRareData::isWebVTTFutureNode;
    61     using NodeRareData::setIsWebVTTFutureNode;
    62 #endif
     58    void setWebVTTNodeType(WebVTTNodeType type) { m_webVTTNodeType = type; }
     59    WebVTTNodeType webVTTNodeType() const { return static_cast<WebVTTNodeType>(m_webVTTNodeType); }
     60#endif
     61
    6362#if ENABLE(FULLSCREEN_API)
    6463    bool containsFullScreenElement() { return m_containsFullScreenElement; }
  • trunk/Source/WebCore/dom/NodeRareData.h

    r138879 r139639  
    273273        , m_childrenAffectedByBackwardPositionalRules(false)
    274274#if ENABLE(VIDEO_TRACK)
    275         , m_WebVTTNodeType(TextTrack::WebVTTNodeTypeNone)
     275        , m_webVTTNodeType(WebVTTNodeTypeNone)
    276276#endif
    277277    {
     
    372372
    373373protected:
    374 #if ENABLE(VIDEO_TRACK)
    375     bool isWebVTTNode() { return static_cast<TextTrack::WebVTTNodeType>(m_WebVTTNodeType) != TextTrack::WebVTTNodeTypeNone; }
    376     void setIsWebVTTNode() { m_WebVTTNodeType = TextTrack::WebVTTNodeTypePast; }
    377     bool isWebVTTFutureNode() { return static_cast<TextTrack::WebVTTNodeType>(m_WebVTTNodeType) == TextTrack::WebVTTNodeTypeFuture; }
    378     void setIsWebVTTFutureNode() { m_WebVTTNodeType = TextTrack::WebVTTNodeTypeFuture; }
    379 #endif
    380374    short m_tabIndex;
    381375    unsigned short m_childIndex;
     
    405399    unsigned m_childrenAffectedByBackwardPositionalRules : 1;
    406400#if ENABLE(VIDEO_TRACK)
    407     unsigned m_WebVTTNodeType : 2;
     401    unsigned m_webVTTNodeType : 2; // WebVTTNodeType
    408402#endif
    409403
  • trunk/Source/WebCore/html/track/TextTrack.h

    r139080 r139639  
    5252    virtual void textTrackAddCue(TextTrack*, PassRefPtr<TextTrackCue>) = 0;
    5353    virtual void textTrackRemoveCue(TextTrack*, PassRefPtr<TextTrackCue>) = 0;
     54};
     55
     56enum WebVTTNodeType {
     57    WebVTTNodeTypeNone = 0,
     58    WebVTTNodeTypeFuture,
     59    WebVTTNodeTypePast
    5460};
    5561
     
    108114    enum TextTrackType { TrackElement, AddTrack, InBand };
    109115    TextTrackType trackType() const { return m_trackType; }
    110    
    111     enum WebVTTNodeType {WebVTTNodeTypeNone, WebVTTNodeTypeFuture, WebVTTNodeTypePast};
    112116
    113117    int trackIndex();
  • trunk/Source/WebCore/html/track/TextTrackCue.cpp

    r139562 r139639  
    678678                isPastNode = false;
    679679        }
    680        
    681         if (child->isElementNode()) {
    682             if (!isPastNode)
    683                 toElement(child)->setIsWebVTTFutureNode();
    684             else
    685                 toElement(child)->setIsWebVTTNode();
    686         }
     680
     681        if (child->isElementNode())
     682            toElement(child)->setWebVTTNodeType(isPastNode ? WebVTTNodeTypePast : WebVTTNodeTypeFuture);
    687683    }
    688684}
Note: See TracChangeset for help on using the changeset viewer.