Changeset 206753 in webkit
- Timestamp:
- Oct 3, 2016 2:52:37 PM (8 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r206751 r206753 1 2016-10-03 Antti Koivisto <antti@apple.com> 2 3 Remove Document::elementSheet() 4 https://bugs.webkit.org/show_bug.cgi?id=162876 5 6 Reviewed by Andreas Kling. 7 8 This is a Document owned stylesheet that exists as a context for parsing element inline style. 9 It never contains any rules and is generally confusing. 10 11 This patch removes the requirement for a stylesheet to be present for CSSParser to operate in 12 the correct context. Inline style is now parsed without stylesheet and a context object is 13 passed instead. 14 15 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 16 (WebCore::root): 17 * bindings/js/JSCSSStyleDeclarationCustom.h: 18 (WebCore::root): Deleted. 19 * css/PropertySetCSSStyleDeclaration.cpp: 20 (WebCore::PropertySetCSSStyleDeclaration::setCssText): 21 (WebCore::PropertySetCSSStyleDeclaration::setProperty): 22 (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal): 23 (WebCore::PropertySetCSSStyleDeclaration::cssParserContext): 24 (WebCore::StyleRuleCSSStyleDeclaration::parentStyleSheet): 25 (WebCore::StyleRuleCSSStyleDeclaration::cssParserContext): 26 (WebCore::InlineCSSStyleDeclaration::parentStyleSheet): 27 (WebCore::InlineCSSStyleDeclaration::cssParserContext): 28 * css/PropertySetCSSStyleDeclaration.h: 29 (WebCore::PropertySetCSSStyleDeclaration::didMutate): Deleted. 30 * css/StyleProperties.cpp: 31 (WebCore::MutableStyleProperties::setProperty): 32 (WebCore::MutableStyleProperties::setCustomProperty): 33 (WebCore::MutableStyleProperties::parseDeclaration): 34 * css/parser/CSSParser.cpp: 35 (WebCore::CSSParser::parseValue): 36 (WebCore::CSSParser::parseCustomPropertyValue): 37 (WebCore::CSSParser::parseInlineStyleDeclaration): 38 * css/parser/CSSParser.h: 39 * css/parser/CSSParserImpl.cpp: 40 (WebCore::CSSParserImpl::parseInlineStyleDeclaration): 41 * dom/Document.cpp: 42 (WebCore::Document::~Document): 43 (WebCore::Document::updateBaseURL): 44 (WebCore::Document::usesStyleBasedEditability): 45 (WebCore::Document::setHasElementUsingStyleBasedEditability): 46 (WebCore::Document::elementSheet): Deleted. 47 * dom/Document.h: 48 * dom/StyledElement.cpp: 49 (WebCore::StyledElement::setInlineStyleFromString): 50 (WebCore::StyledElement::invalidateStyleAttribute): 51 52 The usesStyleBasedEditability bit used to be set via the elementSheet. Instead check for it after inline style mutations. 53 54 (WebCore::StyledElement::setInlineStyleProperty): 55 (WebCore::StyledElement::addPropertyToPresentationAttributeStyle): 56 * dom/StyledElement.h: 57 (WebCore::StyledElement::invalidateStyleAttribute): Deleted. 58 * inspector/InspectorStyleSheet.cpp: 59 (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges): 60 * svg/SVGAnimateElementBase.cpp: 61 (WebCore::applyCSSPropertyToTarget): 62 1 63 2016-10-03 Brent Fulgham <bfulgham@apple.com> 2 64 -
trunk/Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp
r206386 r206753 30 30 #include "CSSPrimitiveValue.h" 31 31 #include "CSSPropertyNames.h" 32 #include "CSSRule.h" 33 #include "CSSStyleDeclaration.h" 34 #include "CSSStyleSheet.h" 32 35 #include "CSSValue.h" 33 36 #include "HashTools.h" 37 #include "JSCSSStyleDeclaration.h" 34 38 #include "JSCSSValue.h" 35 39 #include "JSNode.h" 40 #include "JSStyleSheetCustom.h" 36 41 #include "RuntimeEnabledFeatures.h" 37 42 #include "Settings.h" … … 48 53 49 54 namespace WebCore { 55 56 void* root(CSSStyleDeclaration* style) 57 { 58 if (auto* parentRule = style->parentRule()) 59 return root(parentRule); 60 if (auto* styleSheet = style->parentStyleSheet()) 61 return root(styleSheet); 62 if (auto* parentElement = style->parentElement()) 63 return root(parentElement); 64 return style; 65 } 50 66 51 67 void JSCSSStyleDeclaration::visitAdditionalChildren(SlotVisitor& visitor) -
trunk/Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.h
r143863 r206753 27 27 #define JSCSSStyleDeclarationCustom_h 28 28 29 #include "CSSRule.h"30 #include "CSSStyleDeclaration.h"31 #include "CSSStyleSheet.h"32 #include "JSCSSStyleDeclaration.h"33 #include "JSStyleSheetCustom.h"34 35 29 namespace WebCore { 36 30 37 inline void* root(CSSStyleDeclaration* style) 38 { 39 if (CSSRule* parentRule = style->parentRule()) 40 return root(parentRule); 41 if (CSSStyleSheet* styleSheet = style->parentStyleSheet()) 42 return root(styleSheet); 43 return style; 44 } 31 class CSSStyleDeclaration; 32 33 void* root(CSSStyleDeclaration*); 45 34 46 35 } -
trunk/Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp
r205809 r206753 32 32 #include "MutationRecord.h" 33 33 #include "StyleProperties.h" 34 #include "StyleSheetContents.h" 34 35 #include "StyledElement.h" 35 36 … … 154 155 return; 155 156 156 bool changed = m_propertySet->parseDeclaration(text, c ontextStyleSheet());157 bool changed = m_propertySet->parseDeclaration(text, cssParserContext(), contextStyleSheet()); 157 158 158 159 didMutate(changed ? PropertyChanged : NoChanges); … … 232 233 233 234 ec = 0; 234 bool changed = propertyID != CSSPropertyCustom ? m_propertySet->setProperty(propertyID, value, important, contextStyleSheet()) : m_propertySet->setCustomProperty(propertyName, value, important, contextStyleSheet()); 235 236 bool changed; 237 if (propertyID == CSSPropertyCustom) 238 changed = m_propertySet->setCustomProperty(propertyName, value, important, cssParserContext(), contextStyleSheet()); 239 else 240 changed = m_propertySet->setProperty(propertyID, value, important, cssParserContext(), contextStyleSheet()); 235 241 236 242 didMutate(changed ? PropertyChanged : NoChanges); … … 291 297 292 298 ec = 0; 293 bool changed = m_propertySet->setProperty(propertyID, value, important, c ontextStyleSheet());299 bool changed = m_propertySet->setProperty(propertyID, value, important, cssParserContext(), contextStyleSheet()); 294 300 295 301 didMutate(changed ? PropertyChanged : NoChanges); … … 322 328 } 323 329 330 CSSParserContext PropertySetCSSStyleDeclaration::cssParserContext() const 331 { 332 return CSSParserContext(m_propertySet->cssParserMode()); 333 } 334 324 335 Ref<MutableStyleProperties> PropertySetCSSStyleDeclaration::copyProperties() const 325 336 { … … 374 385 CSSStyleSheet* StyleRuleCSSStyleDeclaration::parentStyleSheet() const 375 386 { 376 return m_parentRule ? m_parentRule->parentStyleSheet() : 0; 387 return m_parentRule ? m_parentRule->parentStyleSheet() : nullptr; 388 } 389 390 CSSParserContext StyleRuleCSSStyleDeclaration::cssParserContext() const 391 { 392 auto* styleSheet = contextStyleSheet(); 393 if (!styleSheet) 394 return PropertySetCSSStyleDeclaration::cssParserContext(); 395 396 return styleSheet->parserContext(); 377 397 } 378 398 … … 400 420 CSSStyleSheet* InlineCSSStyleDeclaration::parentStyleSheet() const 401 421 { 402 return m_parentElement ? &m_parentElement->document().elementSheet() : 0; 422 return nullptr; 423 } 424 425 CSSParserContext InlineCSSStyleDeclaration::cssParserContext() const 426 { 427 if (!m_parentElement) 428 return PropertySetCSSStyleDeclaration::cssParserContext(); 429 430 CSSParserContext context(m_parentElement->document()); 431 context.mode = m_propertySet->cssParserMode(); 432 return context; 403 433 } 404 434 -
trunk/Source/WebCore/css/PropertySetCSSStyleDeclaration.h
r205093 r206753 27 27 #define PropertySetCSSStyleDeclaration_h 28 28 29 #include "CSSParserMode.h" 29 30 #include "CSSStyleDeclaration.h" 30 31 #include <memory> … … 76 77 virtual bool willMutate() WARN_UNUSED_RETURN { return true; } 77 78 virtual void didMutate(MutationType) { } 79 virtual CSSParserContext cssParserContext() const; 78 80 79 81 MutableStyleProperties* m_propertySet; … … 106 108 bool willMutate() final WARN_UNUSED_RETURN; 107 109 void didMutate(MutationType) final; 110 CSSParserContext cssParserContext() const final; 108 111 109 112 unsigned m_refCount; … … 126 129 127 130 void didMutate(MutationType) final; 131 CSSParserContext cssParserContext() const final; 128 132 129 133 StyledElement* m_parentElement; -
trunk/Source/WebCore/css/StyleProperties.cpp
r206603 r206753 726 726 } 727 727 728 bool MutableStyleProperties::setProperty(CSSPropertyID propertyID, const String& value, bool important, StyleSheetContents* contextStyleSheet)728 bool MutableStyleProperties::setProperty(CSSPropertyID propertyID, const String& value, bool important, CSSParserContext parserContext, StyleSheetContents* contextStyleSheet) 729 729 { 730 730 // Setting the value to an empty string just removes the property in both IE and Gecko. … … 733 733 return removeProperty(propertyID); 734 734 735 parserContext.mode = cssParserMode(); 736 735 737 // When replacing an existing property value, this moves the property to the end of the list. 736 738 // Firefox preserves the position, and MSIE moves the property to the beginning. 737 return CSSParser::parseValue(*this, propertyID, value, important, cssParserMode(), contextStyleSheet) == CSSParser::ParseResult::Changed; 738 } 739 740 bool MutableStyleProperties::setCustomProperty(const String& propertyName, const String& value, bool important, StyleSheetContents* contextStyleSheet) 739 return CSSParser::parseValue(*this, propertyID, value, important, parserContext, contextStyleSheet) == CSSParser::ParseResult::Changed; 740 } 741 742 bool MutableStyleProperties::setProperty(CSSPropertyID propertyID, const String& value, bool important) 743 { 744 CSSParserContext parserContext(cssParserMode()); 745 return setProperty(propertyID, value, important, parserContext); 746 } 747 748 bool MutableStyleProperties::setCustomProperty(const String& propertyName, const String& value, bool important, CSSParserContext parserContext, StyleSheetContents* contextStyleSheet) 741 749 { 742 750 // Setting the value to an empty string just removes the property in both IE and Gecko. … … 745 753 return removeCustomProperty(propertyName); 746 754 755 parserContext.mode = cssParserMode(); 747 756 // When replacing an existing property value, this moves the property to the end of the list. 748 757 // Firefox preserves the position, and MSIE moves the property to the beginning. 749 return CSSParser::parseCustomPropertyValue(*this, propertyName, value, important, cssParserMode(), contextStyleSheet) == CSSParser::ParseResult::Changed;758 return CSSParser::parseCustomPropertyValue(*this, propertyName, value, important, parserContext, contextStyleSheet) == CSSParser::ParseResult::Changed; 750 759 } 751 760 … … 799 808 } 800 809 801 bool MutableStyleProperties::parseDeclaration(const String& styleDeclaration, StyleSheetContents* contextStyleSheet)810 bool MutableStyleProperties::parseDeclaration(const String& styleDeclaration, CSSParserContext context, StyleSheetContents* contextStyleSheet) 802 811 { 803 812 auto oldProperties = WTFMove(m_propertyVector); 804 813 m_propertyVector.clear(); 805 814 806 CSSParserContext context(cssParserMode()); 807 if (contextStyleSheet) { 808 context = contextStyleSheet->parserContext(); 809 context.mode = cssParserMode(); 810 } 815 context.mode = cssParserMode(); 816 811 817 CSSParser parser(context); 812 818 parser.parseDeclaration(*this, styleDeclaration, 0, contextStyleSheet); -
trunk/Source/WebCore/css/StyleProperties.h
r206603 r206753 200 200 201 201 // These expand shorthand properties into multiple properties. 202 bool setProperty(CSSPropertyID, const String& value, bool important = false, StyleSheetContents* contextStyleSheet = 0); 202 bool setProperty(CSSPropertyID, const String& value, bool important, CSSParserContext, StyleSheetContents* = nullptr); 203 bool setProperty(CSSPropertyID, const String& value, bool important = false); 203 204 void setProperty(CSSPropertyID, RefPtr<CSSValue>&&, bool important = false); 204 205 … … 215 216 216 217 void clear(); 217 bool parseDeclaration(const String& styleDeclaration, StyleSheetContents* contextStyleSheet);218 bool parseDeclaration(const String& styleDeclaration, CSSParserContext, StyleSheetContents* = nullptr); 218 219 219 220 WEBCORE_EXPORT CSSStyleDeclaration* ensureCSSStyleDeclaration(); … … 226 227 227 228 // Methods for querying and altering CSS custom properties. 228 bool setCustomProperty(const String& propertyName, const String& value, bool important = false, StyleSheetContents* contextStyleSheet = 0);229 bool setCustomProperty(const String& propertyName, const String& value, bool important, CSSParserContext, StyleSheetContents* = nullptr); 229 230 bool removeCustomProperty(const String& propertyName, String* returnText = nullptr); 230 231 -
trunk/Source/WebCore/css/parser/CSSParser.cpp
r206736 r206753 1313 1313 } 1314 1314 1315 CSSParser::ParseResult CSSParser::parseValue(MutableStyleProperties& declaration, CSSPropertyID propertyID, const String& string, bool important, CSSParserMode cssParserMode, StyleSheetContents* contextStyleSheet)1315 CSSParser::ParseResult CSSParser::parseValue(MutableStyleProperties& declaration, CSSPropertyID propertyID, const String& string, bool important, const CSSParserContext& context, StyleSheetContents* contextStyleSheet) 1316 1316 { 1317 1317 ASSERT(!string.isEmpty()); 1318 CSSParser::ParseResult result = parseSimpleLengthValue(declaration, propertyID, string, important, c ssParserMode);1318 CSSParser::ParseResult result = parseSimpleLengthValue(declaration, propertyID, string, important, context.mode); 1319 1319 if (result != ParseResult::Error) 1320 1320 return result; 1321 1321 1322 result = parseColorValue(declaration, propertyID, string, important, cssParserMode);1322 result = parseColorValue(declaration, propertyID, string, important, context.mode); 1323 1323 if (result != ParseResult::Error) 1324 1324 return result; 1325 1326 CSSParserContext context(cssParserMode);1327 if (contextStyleSheet) {1328 context = contextStyleSheet->parserContext();1329 context.mode = cssParserMode;1330 }1331 1325 1332 1326 result = parseKeywordValue(declaration, propertyID, string, important, context, contextStyleSheet); … … 1342 1336 } 1343 1337 1344 CSSParser::ParseResult CSSParser::parseCustomPropertyValue(MutableStyleProperties& declaration, const AtomicString& propertyName, const String& string, bool important, CSSParserMode cssParserMode, StyleSheetContents* contextStyleSheet) 1345 { 1346 CSSParserContext context(cssParserMode); 1347 if (contextStyleSheet) { 1348 context = contextStyleSheet->parserContext(); 1349 context.mode = cssParserMode; 1350 } 1351 1338 CSSParser::ParseResult CSSParser::parseCustomPropertyValue(MutableStyleProperties& declaration, const AtomicString& propertyName, const String& string, bool important, const CSSParserContext& context, StyleSheetContents* contextStyleSheet) 1339 { 1352 1340 CSSParser parser(context); 1353 1341 parser.setCustomPropertyName(propertyName); … … 1448 1436 Ref<ImmutableStyleProperties> CSSParser::parseInlineStyleDeclaration(const String& string, Element* element) 1449 1437 { 1450 CSSParserContext context = element->document().elementSheet().contents().parserContext();1438 CSSParserContext context(element->document()); 1451 1439 context.mode = strictToCSSParserMode(element->isHTMLElement() && !element->document().inQuirksMode()); 1452 return CSSParser(context).parseDeclaration(string, &element->document().elementSheet().contents());1440 return CSSParser(context).parseDeclaration(string, nullptr); 1453 1441 } 1454 1442 -
trunk/Source/WebCore/css/parser/CSSParser.h
r206679 r206753 132 132 bool parseSupportsCondition(const String&); 133 133 134 static ParseResult parseValue(MutableStyleProperties&, CSSPropertyID, const String&, bool important, CSSParserMode, StyleSheetContents*);135 static ParseResult parseCustomPropertyValue(MutableStyleProperties&, const AtomicString& propertyName, const String&, bool important, CSSParserMode, StyleSheetContents* contextStyleSheet);134 static ParseResult parseValue(MutableStyleProperties&, CSSPropertyID, const String&, bool important, const CSSParserContext&, StyleSheetContents*); 135 static ParseResult parseCustomPropertyValue(MutableStyleProperties&, const AtomicString& propertyName, const String&, bool important, const CSSParserContext&, StyleSheetContents* contextStyleSheet); 136 136 137 137 static bool parseColor(RGBA32& color, const String&, bool strict = false); -
trunk/Source/WebCore/css/parser/CSSParserImpl.cpp
r205869 r206753 136 136 Ref<ImmutableStyleProperties> CSSParserImpl::parseInlineStyleDeclaration(const String& string, Element* element) 137 137 { 138 Document& document = element->document(); 139 CSSParserContext context = CSSParserContext(document.elementSheet().contents().parserContext()); 140 CSSParserMode mode = element->isHTMLElement() && !document.inQuirksMode() ? HTMLStandardMode : HTMLQuirksMode; 141 context.mode = mode; 142 CSSParserImpl parser(context, &document.elementSheet().contents()); 138 CSSParserContext context(element->document()); 139 context.mode = strictToCSSParserMode(element->isHTMLElement() && !element->document().inQuirksMode()); 140 141 CSSParserImpl parser(context); 143 142 CSSTokenizer::Scope scope(string); 144 143 parser.consumeDeclarationList(scope.tokenRange(), StyleRule::Style); 145 return createStyleProperties(parser.m_parsedProperties, mode);144 return createStyleProperties(parser.m_parsedProperties, context.mode); 146 145 } 147 146 -
trunk/Source/WebCore/dom/Document.cpp
r206641 r206753 630 630 m_styleSheetList->detachFromDocument(); 631 631 632 if (m_elementSheet)633 m_elementSheet->detachFromDocument();634 632 extensionStyleSheets().detachFromDocument(); 635 633 … … 2964 2962 m_baseURL = URL(); 2965 2963 2966 if (m_elementSheet) {2967 // Element sheet is silly. It never contains anything.2968 ASSERT(!m_elementSheet->contents().ruleCount());2969 bool usesStyleBasedEditability = m_elementSheet->contents().usesStyleBasedEditability();2970 m_elementSheet = CSSStyleSheet::createInline(*this, m_baseURL);2971 // FIXME: So we are not really the parser. The right fix is to eliminate the element sheet completely.2972 if (usesStyleBasedEditability)2973 m_elementSheet->contents().parserSetUsesStyleBasedEditability();2974 }2975 2976 2964 if (!equalIgnoringFragmentIdentifier(oldBaseURL, m_baseURL)) { 2977 2965 // Base URL change changes any relative visited links. … … 3159 3147 } 3160 3148 3161 CSSStyleSheet& Document::elementSheet()3162 {3163 if (!m_elementSheet)3164 m_elementSheet = CSSStyleSheet::createInline(*this, m_baseURL);3165 return *m_elementSheet;3166 }3167 3168 3149 bool Document::usesStyleBasedEditability() const 3169 3150 { 3170 if (m_ elementSheet && m_elementSheet->contents().usesStyleBasedEditability())3151 if (m_hasElementUsingStyleBasedEditability) 3171 3152 return true; 3172 3153 … … 3177 3158 authorSheets.flushPendingUpdate(); 3178 3159 return authorSheets.usesStyleBasedEditability(); 3160 } 3161 3162 void Document::setHasElementUsingStyleBasedEditability() 3163 { 3164 m_hasElementUsingStyleBasedEditability = true; 3179 3165 } 3180 3166 -
trunk/Source/WebCore/dom/Document.h
r206538 r206753 649 649 Frame* findUnsafeParentScrollPropagationBoundary(); 650 650 651 CSSStyleSheet& elementSheet();652 651 bool usesStyleBasedEditability() const; 652 void setHasElementUsingStyleBasedEditability(); 653 653 654 654 virtual Ref<DocumentParser> createParser(); … … 1447 1447 std::unique_ptr<DOMImplementation> m_implementation; 1448 1448 1449 RefPtr<CSSStyleSheet> m_elementSheet;1449 bool m_hasElementUsingStyleBasedEditability { false }; 1450 1450 1451 1451 bool m_printing; -
trunk/Source/WebCore/dom/StyledElement.cpp
r206603 r206753 175 175 } 176 176 177 inline void StyledElement::setInlineStyleFromString(const AtomicString& newStyleString) 177 static bool usesStyleBasedEditability(const StyleProperties& properties) 178 { 179 return properties.getPropertyCSSValue(CSSPropertyWebkitUserModify); 180 } 181 182 void StyledElement::setInlineStyleFromString(const AtomicString& newStyleString) 178 183 { 179 184 RefPtr<StyleProperties>& inlineStyle = elementData()->m_inlineStyle; … … 191 196 inlineStyle = CSSParser::parseInlineStyleDeclaration(newStyleString, this); 192 197 else 193 downcast<MutableStyleProperties>(*inlineStyle).parseDeclaration(newStyleString, &document().elementSheet().contents()); 198 downcast<MutableStyleProperties>(*inlineStyle).parseDeclaration(newStyleString, document()); 199 200 if (usesStyleBasedEditability(*inlineStyle)) 201 document().setHasElementUsingStyleBasedEditability(); 194 202 } 195 203 … … 213 221 } 214 222 223 void StyledElement::invalidateStyleAttribute() 224 { 225 if (usesStyleBasedEditability(*inlineStyle())) 226 document().setHasElementUsingStyleBasedEditability(); 227 228 elementData()->setStyleAttributeIsDirty(true); 229 setNeedsStyleRecalc(InlineStyleChange); 230 } 231 215 232 void StyledElement::inlineStyleChanged() 216 233 { … … 242 259 bool StyledElement::setInlineStyleProperty(CSSPropertyID propertyID, const String& value, bool important) 243 260 { 244 bool changes = ensureMutableInlineStyle().setProperty(propertyID, value, important, &document().elementSheet().contents());261 bool changes = ensureMutableInlineStyle().setProperty(propertyID, value, important, CSSParserContext(document())); 245 262 if (changes) 246 263 inlineStyleChanged(); … … 377 394 void StyledElement::addPropertyToPresentationAttributeStyle(MutableStyleProperties& style, CSSPropertyID propertyID, const String& value) 378 395 { 379 style.setProperty(propertyID, value, false, &document().elementSheet().contents());380 } 381 382 } 396 style.setProperty(propertyID, value, false, CSSParserContext(document())); 397 } 398 399 } -
trunk/Source/WebCore/dom/StyledElement.h
r197779 r206753 94 94 }; 95 95 96 inline void StyledElement::invalidateStyleAttribute()97 {98 ASSERT(elementData());99 elementData()->setStyleAttributeIsDirty(true);100 setNeedsStyleRecalc(InlineStyleChange);101 }102 103 96 inline const StyleProperties* StyledElement::presentationAttributeStyle() const 104 97 { -
trunk/Source/WebCore/inspector/InspectorStyleSheet.cpp
r203322 r206753 1367 1367 1368 1368 auto tempDeclaration = MutableStyleProperties::create(); 1369 createCSSParser(&m_element->document())->parseDeclaration(tempDeclaration, m_styleText, result, &m_element->document().elementSheet().contents());1369 createCSSParser(&m_element->document())->parseDeclaration(tempDeclaration, m_styleText, result, nullptr); 1370 1370 return true; 1371 1371 } -
trunk/Source/WebCore/svg/SVGAnimateElementBase.cpp
r193809 r206753 237 237 ASSERT(!targetElement.m_deletionHasBegun); 238 238 239 if (!targetElement.ensureAnimatedSMILStyleProperties().setProperty(id, value, false , 0))239 if (!targetElement.ensureAnimatedSMILStyleProperties().setProperty(id, value, false)) 240 240 return; 241 241
Note: See TracChangeset
for help on using the changeset viewer.