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

Side by Side Diff: third_party/WebKit/Source/core/css/cssom/InlineStylePropertyMap.cpp

Issue 2695093007: [Typed CSSOM] Get computed values for custom properties
Patch Set: Fix unregistered props and registered but unset props Created 3 years, 9 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "core/css/cssom/InlineStylePropertyMap.h" 5 #include "core/css/cssom/InlineStylePropertyMap.h"
6 6
7 #include "bindings/core/v8/Iterable.h" 7 #include "bindings/core/v8/Iterable.h"
8 #include "core/CSSPropertyNames.h" 8 #include "core/CSSPropertyNames.h"
9 #include "core/css/CSSCustomIdentValue.h" 9 #include "core/css/CSSCustomIdentValue.h"
10 #include "core/css/CSSCustomPropertyDeclaration.h" 10 #include "core/css/CSSCustomPropertyDeclaration.h"
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 const CSSValue* cssValue = 65 const CSSValue* cssValue =
66 m_ownerElement->ensureMutableInlineStyle().getPropertyCSSValue( 66 m_ownerElement->ensureMutableInlineStyle().getPropertyCSSValue(
67 propertyID); 67 propertyID);
68 if (!cssValue) 68 if (!cssValue)
69 return CSSStyleValueVector(); 69 return CSSStyleValueVector();
70 70
71 return StyleValueFactory::cssValueToStyleValueVector(propertyID, *cssValue); 71 return StyleValueFactory::cssValueToStyleValueVector(propertyID, *cssValue);
72 } 72 }
73 73
74 CSSStyleValueVector InlineStylePropertyMap::getAllInternal( 74 CSSStyleValueVector InlineStylePropertyMap::getAllInternal(
75 AtomicString customPropertyName) { 75 AtomicString customPropertyName,
76 const CSSValue* cssValue = 76 ExceptionState& exceptionState) {
77 m_ownerElement->ensureMutableInlineStyle().getPropertyCSSValue( 77 // TODO(rjwright/meade): Handle custom properties.
78 customPropertyName); 78 exceptionState.throwTypeError("Invalid propertyName: " + customPropertyName);
79 if (!cssValue) 79 return CSSStyleValueVector();
80 return CSSStyleValueVector();
81
82 return StyleValueFactory::cssValueToStyleValueVector(CSSPropertyInvalid,
83 *cssValue);
84 } 80 }
85 81
86 Vector<String> InlineStylePropertyMap::getProperties() { 82 Vector<String> InlineStylePropertyMap::getProperties() {
87 DEFINE_STATIC_LOCAL(const String, kAtApply, ("@apply")); 83 DEFINE_STATIC_LOCAL(const String, kAtApply, ("@apply"));
88 Vector<String> result; 84 Vector<String> result;
89 bool containsAtApply = false; 85 bool containsAtApply = false;
90 StylePropertySet& inlineStyleSet = m_ownerElement->ensureMutableInlineStyle(); 86 StylePropertySet& inlineStyleSet = m_ownerElement->ensureMutableInlineStyle();
91 for (unsigned i = 0; i < inlineStyleSet.propertyCount(); i++) { 87 for (unsigned i = 0; i < inlineStyleSet.propertyCount(); i++) {
92 CSSPropertyID propertyID = inlineStyleSet.propertyAt(i).id(); 88 CSSPropertyID propertyID = inlineStyleSet.propertyAt(i).id();
93 if (propertyID == CSSPropertyVariable) { 89 if (propertyID == CSSPropertyVariable) {
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
227 value.setCSSStyleValue(styleValueVector[0]); 223 value.setCSSStyleValue(styleValueVector[0]);
228 else 224 else
229 value.setCSSStyleValueSequence(styleValueVector); 225 value.setCSSStyleValueSequence(styleValueVector);
230 } 226 }
231 result.push_back(std::make_pair(name, value)); 227 result.push_back(std::make_pair(name, value));
232 } 228 }
233 return result; 229 return result;
234 } 230 }
235 231
236 } // namespace blink 232 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698