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:

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