Ignore:
Timestamp:
Oct 2, 2014, 9:38:19 PM (11 years ago)
Author:
[email protected]
Message:

CSSOM rule wrappers always have a corresponding internal style object.
<https://webkit.org/b/137379>

Make the CSSOM rule wrapper classes use references & Ref instead of
raw pointers and RefPtr for pointing to the internal style rule.

Also changed the signature of reattach() to take a StyleRuleBase&
since it's never called with a null pointer.

Finally marked the rule classes final.

Reviewed by Geoffrey Garen.

  • css/CSSCharsetRule.h:
  • css/CSSFontFaceRule.cpp:

(WebCore::CSSFontFaceRule::CSSFontFaceRule):
(WebCore::CSSFontFaceRule::reattach):

  • css/CSSFontFaceRule.h:

(WebCore::CSSFontFaceRule::create): Deleted.

  • css/CSSGroupingRule.cpp:

(WebCore::CSSGroupingRule::CSSGroupingRule):
(WebCore::CSSGroupingRule::reattach):

  • css/CSSGroupingRule.h:
  • css/CSSImportRule.cpp:

(WebCore::CSSImportRule::CSSImportRule):
(WebCore::CSSImportRule::href):
(WebCore::CSSImportRule::media):
(WebCore::CSSImportRule::cssText):
(WebCore::CSSImportRule::styleSheet):
(WebCore::CSSImportRule::reattach):

  • css/CSSImportRule.h:

(WebCore::CSSImportRule::create): Deleted.

  • css/CSSMediaRule.cpp:

(WebCore::CSSMediaRule::CSSMediaRule):
(WebCore::CSSMediaRule::mediaQueries):
(WebCore::CSSMediaRule::reattach):

  • css/CSSMediaRule.h:

(WebCore::CSSMediaRule::create): Deleted.

  • css/CSSPageRule.cpp:

(WebCore::CSSPageRule::CSSPageRule):
(WebCore::CSSPageRule::reattach):

  • css/CSSPageRule.h:

(WebCore::CSSPageRule::create): Deleted.

  • css/CSSRule.h:
  • css/CSSStyleRule.cpp:

(WebCore::CSSStyleRule::CSSStyleRule):
(WebCore::CSSStyleRule::reattach):

  • css/CSSStyleRule.h:

(WebCore::CSSStyleRule::create): Deleted.
(WebCore::CSSStyleRule::styleRule): Deleted.

  • css/CSSStyleSheet.cpp:

(WebCore::CSSStyleSheet::reattachChildRuleCSSOMWrappers):

  • css/CSSSupportsRule.cpp:

(WebCore::CSSSupportsRule::CSSSupportsRule):
(WebCore::CSSSupportsRule::conditionText):

  • css/CSSSupportsRule.h:

(WebCore::CSSSupportsRule::create):

  • css/CSSUnknownRule.h:
  • css/StyleRule.cpp:

(WebCore::StyleRuleBase::createCSSOMWrapper):

  • css/StyleRuleImport.h:

(WebCore::StyleRuleImport::mediaQueries):

  • css/WebKitCSSKeyframeRule.cpp:

(WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
(WebCore::WebKitCSSKeyframeRule::reattach):

  • css/WebKitCSSKeyframeRule.h:
  • css/WebKitCSSKeyframesRule.cpp:

(WebCore::WebKitCSSKeyframesRule::WebKitCSSKeyframesRule):
(WebCore::WebKitCSSKeyframesRule::item):
(WebCore::WebKitCSSKeyframesRule::reattach):

  • css/WebKitCSSKeyframesRule.h:

(WebCore::WebKitCSSKeyframesRule::create):

  • css/WebKitCSSRegionRule.cpp:

(WebCore::WebKitCSSRegionRule::WebKitCSSRegionRule):
(WebCore::WebKitCSSRegionRule::cssText):

  • css/WebKitCSSRegionRule.h:

(WebCore::WebKitCSSRegionRule::create):

  • css/WebKitCSSViewportRule.cpp:

(WebCore::WebKitCSSViewportRule::reattach):

  • css/WebKitCSSViewportRule.h:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/css/WebKitCSSKeyframesRule.cpp

    r173905 r174256  
    8787}
    8888
    89 WebKitCSSKeyframesRule::WebKitCSSKeyframesRule(StyleRuleKeyframes* keyframesRule, CSSStyleSheet* parent)
     89WebKitCSSKeyframesRule::WebKitCSSKeyframesRule(StyleRuleKeyframes& keyframesRule, CSSStyleSheet* parent)
    9090    : CSSRule(parent)
    9191    , m_keyframesRule(keyframesRule)
    92     , m_childRuleCSSOMWrappers(keyframesRule->keyframes().size())
     92    , m_childRuleCSSOMWrappers(keyframesRule.keyframes().size())
    9393{
    9494}
     
    181181    RefPtr<WebKitCSSKeyframeRule>& rule = m_childRuleCSSOMWrappers[index];
    182182    if (!rule)
    183         rule = adoptRef(new WebKitCSSKeyframeRule(m_keyframesRule->keyframes()[index].get(), const_cast<WebKitCSSKeyframesRule*>(this)));
     183        rule = adoptRef(new WebKitCSSKeyframeRule(*m_keyframesRule->keyframes()[index], const_cast<WebKitCSSKeyframesRule*>(this)));
    184184
    185185    return rule.get();
     
    193193}
    194194
    195 void WebKitCSSKeyframesRule::reattach(StyleRuleBase* rule)
    196 {
    197     ASSERT(rule);
    198     ASSERT_WITH_SECURITY_IMPLICATION(rule->isKeyframesRule());
    199     m_keyframesRule = static_cast<StyleRuleKeyframes*>(rule);
     195void WebKitCSSKeyframesRule::reattach(StyleRuleBase& rule)
     196{
     197    ASSERT_WITH_SECURITY_IMPLICATION(rule.isKeyframesRule());
     198    m_keyframesRule = static_cast<StyleRuleKeyframes&>(rule);
    200199}
    201200
Note: See TracChangeset for help on using the changeset viewer.