Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Unified Diff: third_party/WebKit/Source/core/css/PropertySetCSSStyleDeclaration.cpp

Issue 2625303002: Fix CSSPropertySetterGetterMethods regression (Closed)
Patch Set: fix Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/css/PropertySetCSSStyleDeclaration.cpp
diff --git a/third_party/WebKit/Source/core/css/PropertySetCSSStyleDeclaration.cpp b/third_party/WebKit/Source/core/css/PropertySetCSSStyleDeclaration.cpp
index e740ba17a42e366b24fb839add19b360b42416b8..0af841247b44de466b8c46c73b68f45e245f788a 100644
--- a/third_party/WebKit/Source/core/css/PropertySetCSSStyleDeclaration.cpp
+++ b/third_party/WebKit/Source/core/css/PropertySetCSSStyleDeclaration.cpp
@@ -235,7 +235,6 @@ bool AbstractPropertySetCSSStyleDeclaration::isPropertyImplicit(
}
void AbstractPropertySetCSSStyleDeclaration::setProperty(
- const ExecutionContext* executionContext,
const String& propertyName,
const String& value,
const String& priority,
@@ -249,7 +248,7 @@ void AbstractPropertySetCSSStyleDeclaration::setProperty(
return;
setPropertyInternal(propertyID, propertyName, value, important,
- executionContext, exceptionState);
+ exceptionState);
}
String AbstractPropertySetCSSStyleDeclaration::removeProperty(
@@ -299,7 +298,6 @@ void AbstractPropertySetCSSStyleDeclaration::setPropertyInternal(
const String& customPropertyName,
const String& value,
bool important,
- const ExecutionContext* executionContext,
ExceptionState&) {
StyleAttributeMutationScope mutationScope(this);
willMutate();
@@ -308,15 +306,12 @@ void AbstractPropertySetCSSStyleDeclaration::setPropertyInternal(
if (unresolvedProperty == CSSPropertyVariable) {
AtomicString atomicName(customPropertyName);
- DCHECK(executionContext);
- const PropertyRegistry* registry =
- toDocument(executionContext)->propertyRegistry();
-
bool isAnimationTainted = isKeyframeStyle();
- didChange = propertySet()
- .setProperty(atomicName, registry, value, important,
- contextStyleSheet(), isAnimationTainted)
- .didChange;
+ didChange =
+ propertySet()
+ .setProperty(atomicName, propertyRegistry(), value, important,
+ contextStyleSheet(), isAnimationTainted)
+ .didChange;
} else {
didChange = propertySet()
.setProperty(unresolvedProperty, value, important,
@@ -382,6 +377,16 @@ void StyleRuleCSSStyleDeclaration::reattach(
m_propertySet = &propertySet;
}
+PropertyRegistry* StyleRuleCSSStyleDeclaration::propertyRegistry() const {
+ CSSStyleSheet* sheet = m_parentRule->parentStyleSheet();
+ if (!sheet)
+ return nullptr;
+ Node* node = sheet->ownerNode();
+ if (!node)
+ return nullptr;
+ return node->document().propertyRegistry();
+}
+
DEFINE_TRACE(StyleRuleCSSStyleDeclaration) {
visitor->trace(m_parentRule);
PropertySetCSSStyleDeclaration::trace(visitor);
@@ -411,6 +416,11 @@ CSSStyleSheet* InlineCSSStyleDeclaration::parentStyleSheet() const {
: nullptr;
}
+PropertyRegistry* InlineCSSStyleDeclaration::propertyRegistry() const {
+ return m_parentElement ? m_parentElement->document().propertyRegistry()
+ : nullptr;
+}
+
DEFINE_TRACE(InlineCSSStyleDeclaration) {
visitor->trace(m_parentElement);
AbstractPropertySetCSSStyleDeclaration::trace(visitor);

Powered by Google App Engine
This is Rietveld 408576698