| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2007, 2008, 2012 Apple Inc. All rights reserved. | 2 * Copyright (C) 2007, 2008, 2012 Apple Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
| 8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
| 9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
| 10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 88 | 88 |
| 89 CSSKeyframesRule::~CSSKeyframesRule() {} | 89 CSSKeyframesRule::~CSSKeyframesRule() {} |
| 90 | 90 |
| 91 void CSSKeyframesRule::setName(const String& name) { | 91 void CSSKeyframesRule::setName(const String& name) { |
| 92 CSSStyleSheet::RuleMutationScope mutationScope(this); | 92 CSSStyleSheet::RuleMutationScope mutationScope(this); |
| 93 | 93 |
| 94 m_keyframesRule->setName(name); | 94 m_keyframesRule->setName(name); |
| 95 } | 95 } |
| 96 | 96 |
| 97 void CSSKeyframesRule::appendRule(const String& ruleText) { | 97 void CSSKeyframesRule::appendRule(const String& ruleText) { |
| 98 ASSERT(m_childRuleCSSOMWrappers.size() == | 98 DCHECK_EQ(m_childRuleCSSOMWrappers.size(), |
| 99 m_keyframesRule->keyframes().size()); | 99 m_keyframesRule->keyframes().size()); |
| 100 | 100 |
| 101 CSSStyleSheet* styleSheet = parentStyleSheet(); | 101 CSSStyleSheet* styleSheet = parentStyleSheet(); |
| 102 CSSParserContext* context = | 102 CSSParserContext* context = |
| 103 CSSParserContext::createWithStyleSheet(parserContext(), styleSheet); | 103 CSSParserContext::createWithStyleSheet(parserContext(), styleSheet); |
| 104 StyleRuleKeyframe* keyframe = CSSParser::parseKeyframeRule(context, ruleText); | 104 StyleRuleKeyframe* keyframe = CSSParser::parseKeyframeRule(context, ruleText); |
| 105 if (!keyframe) | 105 if (!keyframe) |
| 106 return; | 106 return; |
| 107 | 107 |
| 108 CSSStyleSheet::RuleMutationScope mutationScope(this); | 108 CSSStyleSheet::RuleMutationScope mutationScope(this); |
| 109 | 109 |
| 110 m_keyframesRule->wrapperAppendKeyframe(keyframe); | 110 m_keyframesRule->wrapperAppendKeyframe(keyframe); |
| 111 | 111 |
| 112 m_childRuleCSSOMWrappers.grow(length()); | 112 m_childRuleCSSOMWrappers.grow(length()); |
| 113 } | 113 } |
| 114 | 114 |
| 115 void CSSKeyframesRule::deleteRule(const String& s) { | 115 void CSSKeyframesRule::deleteRule(const String& s) { |
| 116 ASSERT(m_childRuleCSSOMWrappers.size() == | 116 DCHECK_EQ(m_childRuleCSSOMWrappers.size(), |
| 117 m_keyframesRule->keyframes().size()); | 117 m_keyframesRule->keyframes().size()); |
| 118 | 118 |
| 119 int i = m_keyframesRule->findKeyframeIndex(s); | 119 int i = m_keyframesRule->findKeyframeIndex(s); |
| 120 if (i < 0) | 120 if (i < 0) |
| 121 return; | 121 return; |
| 122 | 122 |
| 123 CSSStyleSheet::RuleMutationScope mutationScope(this); | 123 CSSStyleSheet::RuleMutationScope mutationScope(this); |
| 124 | 124 |
| 125 m_keyframesRule->wrapperRemoveKeyframe(i); | 125 m_keyframesRule->wrapperRemoveKeyframe(i); |
| 126 | 126 |
| 127 if (m_childRuleCSSOMWrappers[i]) | 127 if (m_childRuleCSSOMWrappers[i]) |
| (...skipping 26 matching lines...) Expand all Loading... |
| 154 } | 154 } |
| 155 | 155 |
| 156 unsigned CSSKeyframesRule::length() const { | 156 unsigned CSSKeyframesRule::length() const { |
| 157 return m_keyframesRule->keyframes().size(); | 157 return m_keyframesRule->keyframes().size(); |
| 158 } | 158 } |
| 159 | 159 |
| 160 CSSKeyframeRule* CSSKeyframesRule::item(unsigned index) const { | 160 CSSKeyframeRule* CSSKeyframesRule::item(unsigned index) const { |
| 161 if (index >= length()) | 161 if (index >= length()) |
| 162 return nullptr; | 162 return nullptr; |
| 163 | 163 |
| 164 ASSERT(m_childRuleCSSOMWrappers.size() == | 164 DCHECK_EQ(m_childRuleCSSOMWrappers.size(), |
| 165 m_keyframesRule->keyframes().size()); | 165 m_keyframesRule->keyframes().size()); |
| 166 Member<CSSKeyframeRule>& rule = m_childRuleCSSOMWrappers[index]; | 166 Member<CSSKeyframeRule>& rule = m_childRuleCSSOMWrappers[index]; |
| 167 if (!rule) | 167 if (!rule) |
| 168 rule = new CSSKeyframeRule(m_keyframesRule->keyframes()[index].get(), | 168 rule = new CSSKeyframeRule(m_keyframesRule->keyframes()[index].get(), |
| 169 const_cast<CSSKeyframesRule*>(this)); | 169 const_cast<CSSKeyframesRule*>(this)); |
| 170 | 170 |
| 171 return rule.get(); | 171 return rule.get(); |
| 172 } | 172 } |
| 173 | 173 |
| 174 CSSKeyframeRule* CSSKeyframesRule::anonymousIndexedGetter( | 174 CSSKeyframeRule* CSSKeyframesRule::anonymousIndexedGetter( |
| 175 unsigned index) const { | 175 unsigned index) const { |
| 176 const Document* parentDocument = | 176 const Document* parentDocument = |
| 177 CSSStyleSheet::singleOwnerDocument(parentStyleSheet()); | 177 CSSStyleSheet::singleOwnerDocument(parentStyleSheet()); |
| 178 if (parentDocument) { | 178 if (parentDocument) { |
| 179 UseCounter::count(*parentDocument, | 179 UseCounter::count(*parentDocument, |
| 180 UseCounter::CSSKeyframesRuleAnonymousIndexedGetter); | 180 UseCounter::CSSKeyframesRuleAnonymousIndexedGetter); |
| 181 } | 181 } |
| 182 return item(index); | 182 return item(index); |
| 183 } | 183 } |
| 184 | 184 |
| 185 CSSRuleList* CSSKeyframesRule::cssRules() const { | 185 CSSRuleList* CSSKeyframesRule::cssRules() const { |
| 186 if (!m_ruleListCSSOMWrapper) | 186 if (!m_ruleListCSSOMWrapper) |
| 187 m_ruleListCSSOMWrapper = LiveCSSRuleList<CSSKeyframesRule>::create( | 187 m_ruleListCSSOMWrapper = LiveCSSRuleList<CSSKeyframesRule>::create( |
| 188 const_cast<CSSKeyframesRule*>(this)); | 188 const_cast<CSSKeyframesRule*>(this)); |
| 189 return m_ruleListCSSOMWrapper.get(); | 189 return m_ruleListCSSOMWrapper.get(); |
| 190 } | 190 } |
| 191 | 191 |
| 192 void CSSKeyframesRule::reattach(StyleRuleBase* rule) { | 192 void CSSKeyframesRule::reattach(StyleRuleBase* rule) { |
| 193 ASSERT(rule); | 193 DCHECK(rule); |
| 194 m_keyframesRule = toStyleRuleKeyframes(rule); | 194 m_keyframesRule = toStyleRuleKeyframes(rule); |
| 195 } | 195 } |
| 196 | 196 |
| 197 DEFINE_TRACE(CSSKeyframesRule) { | 197 DEFINE_TRACE(CSSKeyframesRule) { |
| 198 CSSRule::trace(visitor); | 198 CSSRule::trace(visitor); |
| 199 visitor->trace(m_childRuleCSSOMWrappers); | 199 visitor->trace(m_childRuleCSSOMWrappers); |
| 200 visitor->trace(m_keyframesRule); | 200 visitor->trace(m_keyframesRule); |
| 201 visitor->trace(m_ruleListCSSOMWrapper); | 201 visitor->trace(m_ruleListCSSOMWrapper); |
| 202 } | 202 } |
| 203 | 203 |
| 204 } // namespace blink | 204 } // namespace blink |
| OLD | NEW |