summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/css/cssom
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/core/css/cssom')
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/computed_style_property_map.cc21
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_image_value.idl1
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_keyword_value.cc2
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_keyword_value.idl1
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_math_invert.cc1
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_math_invert.idl1
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_math_max.cc4
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_math_max.idl1
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_math_min.cc4
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_math_min.idl1
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_math_negate.cc1
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_math_negate.idl1
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_math_product.cc4
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_math_product.idl1
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_math_sum.cc4
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_math_sum.idl1
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_math_value.idl1
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_matrix_component.idl1
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_numeric_array.idl1
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_numeric_type.idl1
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_numeric_value.cc32
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_numeric_value.idl1
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_perspective.cc2
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_perspective.idl1
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_position_value.cc2
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_position_value.idl1
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_rotate.cc2
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_rotate.idl1
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_scale.idl1
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_skew.cc2
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_skew.idl1
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_skew_x.cc2
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_skew_x.idl1
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_skew_y.cc2
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_skew_y.idl1
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_style_value.cc2
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_style_value.idl2
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_transform_component.idl1
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_transform_value.cc2
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_transform_value.idl1
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_translate.cc2
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_translate.idl1
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_unit_value.cc3
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_unit_value.idl1
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_unit_values.idl3
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_unparsed_value.cc8
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_unparsed_value.idl1
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_url_image_value.cc2
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/css_variable_reference_value.idl1
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/declared_style_property_map.cc2
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/element_computed_style_map.idl3
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/inline_style_property_map.cc2
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/prepopulated_computed_style_property_map.h2
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/prepopulated_computed_style_property_map_test.cc17
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/style_property_map.cc2
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/style_property_map.idl1
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/style_property_map_read_only.cc6
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/style_property_map_read_only.idl2
-rw-r--r--chromium/third_party/blink/renderer/core/css/cssom/style_value_factory.cc12
59 files changed, 90 insertions, 94 deletions
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/computed_style_property_map.cc b/chromium/third_party/blink/renderer/core/css/cssom/computed_style_property_map.cc
index b92cf86d07b..16d58911f2d 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/computed_style_property_map.cc
+++ b/chromium/third_party/blink/renderer/core/css/cssom/computed_style_property_map.cc
@@ -167,9 +167,11 @@ unsigned int ComputedStylePropertyMap::size() {
if (!style)
return 0;
- const auto& variables = ComputedStyleCSSValueMapping::GetVariables(*style);
+ DCHECK(StyledNode());
return CSSComputedStyleDeclaration::ComputableProperties().size() +
- (variables ? variables->size() : 0);
+ ComputedStyleCSSValueMapping::GetVariables(
+ *style, StyledNode()->GetDocument().GetPropertyRegistry())
+ .size();
}
bool ComputedStylePropertyMap::ComparePropertyNames(const String& a,
@@ -264,15 +266,12 @@ void ComputedStylePropertyMap::ForEachProperty(
values.emplace_back(property->GetPropertyNameAtomicString(), value);
}
- const auto& variables = ComputedStyleCSSValueMapping::GetVariables(*style);
- if (variables) {
- for (const auto& name_value : *variables) {
- if (name_value.value) {
- values.emplace_back(name_value.key,
- CSSCustomPropertyDeclaration::Create(
- name_value.key, name_value.value));
- }
- }
+ PropertyRegistry* registry =
+ StyledNode()->GetDocument().GetPropertyRegistry();
+
+ for (const auto& name_value :
+ ComputedStyleCSSValueMapping::GetVariables(*style, registry)) {
+ values.emplace_back(name_value.key, name_value.value);
}
std::sort(values.begin(), values.end(), [](const auto& a, const auto& b) {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_image_value.idl b/chromium/third_party/blink/renderer/core/css/cssom/css_image_value.idl
index 683bc070e76..272f96b1e98 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_image_value.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_image_value.idl
@@ -6,7 +6,6 @@
// image types.
// https://drafts.css-houdini.org/css-typed-om/#imagevalue-objects
[
- RuntimeEnabled=CSSTypedOM,
Exposed=(Window,LayoutWorklet,PaintWorklet),
ImplementedAs=CSSStyleImageValue
] interface CSSImageValue : CSSStyleValue {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_keyword_value.cc b/chromium/third_party/blink/renderer/core/css/cssom/css_keyword_value.cc
index f298aff0324..b23b9d6e813 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_keyword_value.cc
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_keyword_value.cc
@@ -4,13 +4,13 @@
#include "third_party/blink/renderer/core/css/cssom/css_keyword_value.h"
-#include "third_party/blink/renderer/bindings/core/v8/exception_state.h"
#include "third_party/blink/renderer/core/css/css_custom_ident_value.h"
#include "third_party/blink/renderer/core/css/css_identifier_value.h"
#include "third_party/blink/renderer/core/css/css_inherited_value.h"
#include "third_party/blink/renderer/core/css/css_initial_value.h"
#include "third_party/blink/renderer/core/css/css_unset_value.h"
#include "third_party/blink/renderer/core/css/parser/css_property_parser.h"
+#include "third_party/blink/renderer/platform/bindings/exception_state.h"
#include "third_party/blink/renderer/platform/wtf/text/atomic_string.h"
namespace blink {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_keyword_value.idl b/chromium/third_party/blink/renderer/core/css/cssom/css_keyword_value.idl
index 22c70605022..31f6b51730d 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_keyword_value.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_keyword_value.idl
@@ -7,7 +7,6 @@
// https://drafts.css-houdini.org/css-typed-om/#keywordvalue-objects
[
Constructor(CSSOMString keyword),
- RuntimeEnabled=CSSTypedOM,
Exposed=(Window,LayoutWorklet,PaintWorklet),
RaisesException=Constructor
] interface CSSKeywordValue : CSSStyleValue {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_math_invert.cc b/chromium/third_party/blink/renderer/core/css/cssom/css_math_invert.cc
index cf4b1612b5e..b3ef32adfc6 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_math_invert.cc
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_math_invert.cc
@@ -5,6 +5,7 @@
#include "third_party/blink/renderer/core/css/cssom/css_math_invert.h"
#include "third_party/blink/renderer/core/css/cssom/css_numeric_sum_value.h"
+#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
namespace blink {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_math_invert.idl b/chromium/third_party/blink/renderer/core/css/cssom/css_math_invert.idl
index b580f529f51..c165677b6c5 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_math_invert.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_math_invert.idl
@@ -6,7 +6,6 @@
// https://drafts.css-houdini.org/css-typed-om/#cssmathinvert
[
Constructor(CSSNumberish arg),
- RuntimeEnabled=CSSTypedOM,
Exposed=(Window,LayoutWorklet,PaintWorklet)
] interface CSSMathInvert : CSSMathValue {
readonly attribute CSSNumberish value;
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_math_max.cc b/chromium/third_party/blink/renderer/core/css/cssom/css_math_max.cc
index ea119e46b2c..afad8017ee3 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_math_max.cc
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_math_max.cc
@@ -5,13 +5,15 @@
#include "third_party/blink/renderer/core/css/cssom/css_math_max.h"
#include "third_party/blink/renderer/core/css/cssom/css_numeric_sum_value.h"
+#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
namespace blink {
CSSMathMax* CSSMathMax::Create(const HeapVector<CSSNumberish>& args,
ExceptionState& exception_state) {
if (args.IsEmpty()) {
- exception_state.ThrowDOMException(kSyntaxError, "Arguments can't be empty");
+ exception_state.ThrowDOMException(DOMExceptionCode::kSyntaxError,
+ "Arguments can't be empty");
return nullptr;
}
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_math_max.idl b/chromium/third_party/blink/renderer/core/css/cssom/css_math_max.idl
index 590b3b7eada..4a29b526ffd 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_math_max.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_math_max.idl
@@ -6,7 +6,6 @@
// https://drafts.css-houdini.org/css-typed-om/#cssmathsum
[
Constructor(CSSNumberish... args),
- RuntimeEnabled=CSSTypedOM,
Exposed=(Window,LayoutWorklet,PaintWorklet),
RaisesException=Constructor
] interface CSSMathMax : CSSMathValue {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_math_min.cc b/chromium/third_party/blink/renderer/core/css/cssom/css_math_min.cc
index ecf7293b86a..49afba461d3 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_math_min.cc
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_math_min.cc
@@ -5,13 +5,15 @@
#include "third_party/blink/renderer/core/css/cssom/css_math_min.h"
#include "third_party/blink/renderer/core/css/cssom/css_numeric_sum_value.h"
+#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
namespace blink {
CSSMathMin* CSSMathMin::Create(const HeapVector<CSSNumberish>& args,
ExceptionState& exception_state) {
if (args.IsEmpty()) {
- exception_state.ThrowDOMException(kSyntaxError, "Arguments can't be empty");
+ exception_state.ThrowDOMException(DOMExceptionCode::kSyntaxError,
+ "Arguments can't be empty");
return nullptr;
}
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_math_min.idl b/chromium/third_party/blink/renderer/core/css/cssom/css_math_min.idl
index a028f4ac449..fd8fbb1d2f8 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_math_min.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_math_min.idl
@@ -6,7 +6,6 @@
// https://drafts.css-houdini.org/css-typed-om/#cssmathsum
[
Constructor(CSSNumberish... args),
- RuntimeEnabled=CSSTypedOM,
Exposed=(Window,LayoutWorklet,PaintWorklet),
RaisesException=Constructor
] interface CSSMathMin : CSSMathValue {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_math_negate.cc b/chromium/third_party/blink/renderer/core/css/cssom/css_math_negate.cc
index 1cc2296ac1b..a7e04624aac 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_math_negate.cc
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_math_negate.cc
@@ -5,6 +5,7 @@
#include "third_party/blink/renderer/core/css/cssom/css_math_negate.h"
#include "third_party/blink/renderer/core/css/cssom/css_numeric_sum_value.h"
+#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
namespace blink {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_math_negate.idl b/chromium/third_party/blink/renderer/core/css/cssom/css_math_negate.idl
index faf4b4194ba..69095537e37 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_math_negate.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_math_negate.idl
@@ -6,7 +6,6 @@
// https://drafts.css-houdini.org/css-typed-om/#cssmathnegate
[
Constructor(CSSNumberish arg),
- RuntimeEnabled=CSSTypedOM,
Exposed=(Window,LayoutWorklet,PaintWorklet)
] interface CSSMathNegate : CSSMathValue {
readonly attribute CSSNumberish value;
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_math_product.cc b/chromium/third_party/blink/renderer/core/css/cssom/css_math_product.cc
index 37b20a9001c..80a528e8b0b 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_math_product.cc
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_math_product.cc
@@ -6,6 +6,7 @@
#include "third_party/blink/renderer/core/css/css_calculation_value.h"
#include "third_party/blink/renderer/core/css/cssom/css_math_invert.h"
+#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
namespace blink {
@@ -33,7 +34,8 @@ CSSNumericSumValue::UnitMap MultiplyUnitMaps(
CSSMathProduct* CSSMathProduct::Create(const HeapVector<CSSNumberish>& args,
ExceptionState& exception_state) {
if (args.IsEmpty()) {
- exception_state.ThrowDOMException(kSyntaxError, "Arguments can't be empty");
+ exception_state.ThrowDOMException(DOMExceptionCode::kSyntaxError,
+ "Arguments can't be empty");
return nullptr;
}
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_math_product.idl b/chromium/third_party/blink/renderer/core/css/cssom/css_math_product.idl
index 19680ca468e..f4c4471331d 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_math_product.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_math_product.idl
@@ -6,7 +6,6 @@
// https://drafts.css-houdini.org/css-typed-om/#cssmathsub
[
Constructor(CSSNumberish... args),
- RuntimeEnabled=CSSTypedOM,
Exposed=(Window,LayoutWorklet,PaintWorklet),
RaisesException=Constructor
] interface CSSMathProduct : CSSMathValue {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_math_sum.cc b/chromium/third_party/blink/renderer/core/css/cssom/css_math_sum.cc
index d7116e51ff7..615a96f6bc9 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_math_sum.cc
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_math_sum.cc
@@ -6,6 +6,7 @@
#include "third_party/blink/renderer/core/css/css_calculation_value.h"
#include "third_party/blink/renderer/core/css/cssom/css_math_negate.h"
+#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
namespace blink {
@@ -51,7 +52,8 @@ bool operator==(const CSSNumericSumValue::Term& a, const UnitMapComparator& b) {
CSSMathSum* CSSMathSum::Create(const HeapVector<CSSNumberish>& args,
ExceptionState& exception_state) {
if (args.IsEmpty()) {
- exception_state.ThrowDOMException(kSyntaxError, "Arguments can't be empty");
+ exception_state.ThrowDOMException(DOMExceptionCode::kSyntaxError,
+ "Arguments can't be empty");
return nullptr;
}
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_math_sum.idl b/chromium/third_party/blink/renderer/core/css/cssom/css_math_sum.idl
index 5b8e0372379..72b8cb82e9f 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_math_sum.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_math_sum.idl
@@ -6,7 +6,6 @@
// https://drafts.css-houdini.org/css-typed-om/#cssmathsum
[
Constructor(CSSNumberish... args),
- RuntimeEnabled=CSSTypedOM,
Exposed=(Window,LayoutWorklet,PaintWorklet),
RaisesException=Constructor
] interface CSSMathSum : CSSMathValue {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_math_value.idl b/chromium/third_party/blink/renderer/core/css/cssom/css_math_value.idl
index 18eb71ee19e..f4d6a81f638 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_math_value.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_math_value.idl
@@ -14,7 +14,6 @@ enum CSSMathOperator {
};
[
- RuntimeEnabled=CSSTypedOM,
Exposed=(Window,LayoutWorklet,PaintWorklet)
] interface CSSMathValue : CSSNumericValue {
[ImplementedAs=getOperator] readonly attribute CSSMathOperator operator;
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_matrix_component.idl b/chromium/third_party/blink/renderer/core/css/cssom/css_matrix_component.idl
index 5db9a74e3ff..530e42f1402 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_matrix_component.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_matrix_component.idl
@@ -8,7 +8,6 @@
[
Constructor(DOMMatrixReadOnly matrix,
optional CSSMatrixComponentOptions options),
- RuntimeEnabled=CSSTypedOM,
Exposed=(Window,LayoutWorklet,PaintWorklet)
] interface CSSMatrixComponent : CSSTransformComponent {
attribute DOMMatrix matrix;
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_numeric_array.idl b/chromium/third_party/blink/renderer/core/css/cssom/css_numeric_array.idl
index c5dc75dfee9..402d98c6720 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_numeric_array.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_numeric_array.idl
@@ -5,7 +5,6 @@
// Represents the sum of one or more CSSNumericValues.
// https://drafts.css-houdini.org/css-typed-om/#cssmathsum
[
- RuntimeEnabled=CSSTypedOM,
Exposed=(Window,LayoutWorklet,PaintWorklet),
RaisesException=Constructor
] interface CSSNumericArray {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_numeric_type.idl b/chromium/third_party/blink/renderer/core/css/cssom/css_numeric_type.idl
index 5584af49721..e539ea80e9a 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_numeric_type.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_numeric_type.idl
@@ -3,7 +3,6 @@
// found in the LICENSE file.
[
- RuntimeEnabled=CSSTypedOM,
Exposed=(Window,LayoutWorklet,PaintWorklet)
] enum CSSNumericBaseType {
"length",
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_numeric_value.cc b/chromium/third_party/blink/renderer/core/css/cssom/css_numeric_value.cc
index b2f12340763..ca43018cd54 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_numeric_value.cc
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_numeric_value.cc
@@ -4,7 +4,8 @@
#include "third_party/blink/renderer/core/css/cssom/css_numeric_value.h"
-#include "third_party/blink/renderer/bindings/core/v8/exception_state.h"
+#include <numeric>
+
#include "third_party/blink/renderer/core/css/css_calculation_value.h"
#include "third_party/blink/renderer/core/css/css_primitive_value.h"
#include "third_party/blink/renderer/core/css/cssom/css_math_invert.h"
@@ -16,8 +17,7 @@
#include "third_party/blink/renderer/core/css/cssom/css_unit_value.h"
#include "third_party/blink/renderer/core/css/parser/css_parser_token_stream.h"
#include "third_party/blink/renderer/core/css/parser/css_tokenizer.h"
-
-#include <numeric>
+#include "third_party/blink/renderer/platform/bindings/exception_state.h"
namespace blink {
@@ -128,16 +128,16 @@ CSSNumericValue* CalcToNumericValue(const CSSCalcExpressionNode& root) {
CSSNumericValueVector values;
// For cases like calc(1 + 2 + 3), the calc expression tree looks like:
- // +
- // / \
- // + 3
- // / \
- // 1 2
+ // + //
+ // / \ //
+ // + 3 //
+ // / \ //
+ // 1 2 //
//
// But we want to produce a CSSMathValue tree that looks like:
- // +
- // /|\
- // 1 2 3
+ // + //
+ // /|\ //
+ // 1 2 3 //
//
// So when the left child has the same operator as its parent, we can combine
// the two nodes. We keep moving down the left side of the tree as long as the
@@ -209,7 +209,8 @@ CSSNumericValue* CSSNumericValue::parse(const String& css_text,
auto range = stream.ConsumeUntilPeekedTypeIs<>();
stream.ConsumeWhitespace();
if (!stream.AtEnd()) {
- exception_state.ThrowDOMException(kSyntaxError, "Invalid math expression");
+ exception_state.ThrowDOMException(DOMExceptionCode::kSyntaxError,
+ "Invalid math expression");
return nullptr;
}
@@ -237,7 +238,8 @@ CSSNumericValue* CSSNumericValue::parse(const String& css_text,
break;
}
- exception_state.ThrowDOMException(kSyntaxError, "Invalid math expression");
+ exception_state.ThrowDOMException(DOMExceptionCode::kSyntaxError,
+ "Invalid math expression");
return nullptr;
}
@@ -260,7 +262,7 @@ CSSUnitValue* CSSNumericValue::to(const String& unit_string,
ExceptionState& exception_state) {
CSSPrimitiveValue::UnitType target_unit = UnitFromName(unit_string);
if (!IsValidUnit(target_unit)) {
- exception_state.ThrowDOMException(kSyntaxError,
+ exception_state.ThrowDOMException(DOMExceptionCode::kSyntaxError,
"Invalid unit for conversion");
return nullptr;
}
@@ -289,7 +291,7 @@ CSSMathSum* CSSNumericValue::toSum(const Vector<String>& unit_strings,
ExceptionState& exception_state) {
for (const auto& unit_string : unit_strings) {
if (!IsValidUnit(UnitFromName(unit_string))) {
- exception_state.ThrowDOMException(kSyntaxError,
+ exception_state.ThrowDOMException(DOMExceptionCode::kSyntaxError,
"Invalid unit for conversion");
return nullptr;
}
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_numeric_value.idl b/chromium/third_party/blink/renderer/core/css/cssom/css_numeric_value.idl
index eb633b6d1a3..ae86a128983 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_numeric_value.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_numeric_value.idl
@@ -7,7 +7,6 @@
typedef (double or CSSNumericValue) CSSNumberish;
[
- RuntimeEnabled=CSSTypedOM,
Exposed=(Window,LayoutWorklet,PaintWorklet)
] interface CSSNumericValue : CSSStyleValue {
[RaisesException, NewObject] CSSNumericValue add(CSSNumberish... values);
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_perspective.cc b/chromium/third_party/blink/renderer/core/css/cssom/css_perspective.cc
index e283ab2eb2f..e6969ce5359 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_perspective.cc
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_perspective.cc
@@ -4,10 +4,10 @@
#include "third_party/blink/renderer/core/css/cssom/css_perspective.h"
-#include "third_party/blink/renderer/bindings/core/v8/exception_state.h"
#include "third_party/blink/renderer/core/css/css_calculation_value.h"
#include "third_party/blink/renderer/core/css/cssom/css_unit_value.h"
#include "third_party/blink/renderer/core/geometry/dom_matrix.h"
+#include "third_party/blink/renderer/platform/bindings/exception_state.h"
namespace blink {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_perspective.idl b/chromium/third_party/blink/renderer/core/css/cssom/css_perspective.idl
index 2fbea491324..9cba1d1f123 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_perspective.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_perspective.idl
@@ -7,7 +7,6 @@
// Spec: https://drafts.css-houdini.org/css-typed-om/#cssperspective
[
Constructor(CSSNumericValue length),
- RuntimeEnabled=CSSTypedOM,
Exposed=(Window,LayoutWorklet,PaintWorklet),
RaisesException=Constructor
] interface CSSPerspective : CSSTransformComponent {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_position_value.cc b/chromium/third_party/blink/renderer/core/css/cssom/css_position_value.cc
index 31fc48c34f8..81c2b3cc8ca 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_position_value.cc
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_position_value.cc
@@ -4,12 +4,12 @@
#include "third_party/blink/renderer/core/css/cssom/css_position_value.h"
-#include "third_party/blink/renderer/bindings/core/v8/exception_state.h"
#include "third_party/blink/renderer/core/css/css_identifier_value.h"
#include "third_party/blink/renderer/core/css/css_value_pair.h"
#include "third_party/blink/renderer/core/css/cssom/css_math_sum.h"
#include "third_party/blink/renderer/core/css/cssom/css_numeric_value.h"
#include "third_party/blink/renderer/core/css/cssom/css_unit_value.h"
+#include "third_party/blink/renderer/platform/bindings/exception_state.h"
namespace blink {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_position_value.idl b/chromium/third_party/blink/renderer/core/css/cssom/css_position_value.idl
index 0edf3262f86..3954abba2d5 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_position_value.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_position_value.idl
@@ -7,7 +7,6 @@
// Spec: https://drafts.css-houdini.org/css-typed-om/#positionvalue-objects
[
Constructor(CSSNumericValue x, CSSNumericValue y),
- RuntimeEnabled=CSSTypedOM,
Exposed=(Window,LayoutWorklet,PaintWorklet),
RaisesException=Constructor
] interface CSSPositionValue : CSSStyleValue {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_rotate.cc b/chromium/third_party/blink/renderer/core/css/cssom/css_rotate.cc
index 8f912beb2e0..51bd5f8503d 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_rotate.cc
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_rotate.cc
@@ -4,11 +4,11 @@
#include "third_party/blink/renderer/core/css/cssom/css_rotate.h"
-#include "third_party/blink/renderer/bindings/core/v8/exception_state.h"
#include "third_party/blink/renderer/core/css/css_function_value.h"
#include "third_party/blink/renderer/core/css/css_primitive_value.h"
#include "third_party/blink/renderer/core/css/cssom/css_unit_value.h"
#include "third_party/blink/renderer/core/geometry/dom_matrix.h"
+#include "third_party/blink/renderer/platform/bindings/exception_state.h"
namespace blink {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_rotate.idl b/chromium/third_party/blink/renderer/core/css/cssom/css_rotate.idl
index f2fe3a950e8..1b19a86e0e0 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_rotate.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_rotate.idl
@@ -8,7 +8,6 @@
[
Constructor(CSSNumericValue angleValue),
Constructor(CSSNumberish x, CSSNumberish y, CSSNumberish z, CSSNumericValue angle),
- RuntimeEnabled=CSSTypedOM,
Exposed=(Window,LayoutWorklet,PaintWorklet),
RaisesException=Constructor
] interface CSSRotate : CSSTransformComponent {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_scale.idl b/chromium/third_party/blink/renderer/core/css/cssom/css_scale.idl
index cd5d3c2a3f1..2644e70bb61 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_scale.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_scale.idl
@@ -7,7 +7,6 @@
// Spec: https://drafts.css-houdini.org/css-typed-om/#cssscale
[
Constructor(CSSNumberish x, CSSNumberish y, optional CSSNumberish z),
- RuntimeEnabled=CSSTypedOM,
Exposed=(Window,LayoutWorklet,PaintWorklet),
RaisesException=Constructor
] interface CSSScale : CSSTransformComponent {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_skew.cc b/chromium/third_party/blink/renderer/core/css/cssom/css_skew.cc
index 7f02a422354..9bf1634eff4 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_skew.cc
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_skew.cc
@@ -4,13 +4,13 @@
#include "third_party/blink/renderer/core/css/cssom/css_skew.h"
-#include "third_party/blink/renderer/bindings/core/v8/exception_state.h"
#include "third_party/blink/renderer/core/css/css_function_value.h"
#include "third_party/blink/renderer/core/css/css_primitive_value.h"
#include "third_party/blink/renderer/core/css/cssom/css_numeric_value.h"
#include "third_party/blink/renderer/core/css/cssom/css_style_value.h"
#include "third_party/blink/renderer/core/css/cssom/css_unit_value.h"
#include "third_party/blink/renderer/core/geometry/dom_matrix.h"
+#include "third_party/blink/renderer/platform/bindings/exception_state.h"
namespace blink {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_skew.idl b/chromium/third_party/blink/renderer/core/css/cssom/css_skew.idl
index d600a548721..8aed33f0326 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_skew.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_skew.idl
@@ -7,7 +7,6 @@
// Spec: https://drafts.css-houdini.org/css-typed-om/#cssskew
[
Constructor(CSSNumericValue ax, CSSNumericValue ay),
- RuntimeEnabled=CSSTypedOM,
Exposed=(Window,LayoutWorklet,PaintWorklet),
RaisesException=Constructor
] interface CSSSkew : CSSTransformComponent {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_skew_x.cc b/chromium/third_party/blink/renderer/core/css/cssom/css_skew_x.cc
index 14e29737988..424665d8524 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_skew_x.cc
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_skew_x.cc
@@ -4,13 +4,13 @@
#include "third_party/blink/renderer/core/css/cssom/css_skew_x.h"
-#include "third_party/blink/renderer/bindings/core/v8/exception_state.h"
#include "third_party/blink/renderer/core/css/css_function_value.h"
#include "third_party/blink/renderer/core/css/css_primitive_value.h"
#include "third_party/blink/renderer/core/css/cssom/css_numeric_value.h"
#include "third_party/blink/renderer/core/css/cssom/css_style_value.h"
#include "third_party/blink/renderer/core/css/cssom/css_unit_value.h"
#include "third_party/blink/renderer/core/geometry/dom_matrix.h"
+#include "third_party/blink/renderer/platform/bindings/exception_state.h"
namespace blink {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_skew_x.idl b/chromium/third_party/blink/renderer/core/css/cssom/css_skew_x.idl
index 56c29e62067..fc08ea50bf3 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_skew_x.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_skew_x.idl
@@ -7,7 +7,6 @@
// Spec: https://drafts.css-houdini.org/css-typed-om/#cssskewx
[
Constructor(CSSNumericValue ax),
- RuntimeEnabled=CSSTypedOM,
Exposed=(Window, Worker, PaintWorklet, LayoutWorklet),
RaisesException=Constructor]
interface CSSSkewX : CSSTransformComponent {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_skew_y.cc b/chromium/third_party/blink/renderer/core/css/cssom/css_skew_y.cc
index 8ea69f6509a..f064f891e0e 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_skew_y.cc
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_skew_y.cc
@@ -4,13 +4,13 @@
#include "third_party/blink/renderer/core/css/cssom/css_skew_y.h"
-#include "third_party/blink/renderer/bindings/core/v8/exception_state.h"
#include "third_party/blink/renderer/core/css/css_function_value.h"
#include "third_party/blink/renderer/core/css/css_primitive_value.h"
#include "third_party/blink/renderer/core/css/cssom/css_numeric_value.h"
#include "third_party/blink/renderer/core/css/cssom/css_style_value.h"
#include "third_party/blink/renderer/core/css/cssom/css_unit_value.h"
#include "third_party/blink/renderer/core/geometry/dom_matrix.h"
+#include "third_party/blink/renderer/platform/bindings/exception_state.h"
namespace blink {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_skew_y.idl b/chromium/third_party/blink/renderer/core/css/cssom/css_skew_y.idl
index 692e00c4670..eea0517cc41 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_skew_y.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_skew_y.idl
@@ -7,7 +7,6 @@
// Spec: https://drafts.css-houdini.org/css-typed-om/#cssskewy
[
Constructor(CSSNumericValue ay),
- RuntimeEnabled=CSSTypedOM,
Exposed=(Window, Worker, PaintWorklet, LayoutWorklet),
RaisesException=Constructor]
interface CSSSkewY : CSSTransformComponent {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_style_value.cc b/chromium/third_party/blink/renderer/core/css/cssom/css_style_value.cc
index c6451322901..4c4706cfe0b 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_style_value.cc
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_style_value.cc
@@ -4,13 +4,13 @@
#include "third_party/blink/renderer/core/css/cssom/css_style_value.h"
-#include "third_party/blink/renderer/bindings/core/v8/exception_state.h"
#include "third_party/blink/renderer/bindings/core/v8/script_value.h"
#include "third_party/blink/renderer/bindings/core/v8/to_v8_for_core.h"
#include "third_party/blink/renderer/core/css/cssom/style_value_factory.h"
#include "third_party/blink/renderer/core/css/parser/css_parser_context.h"
#include "third_party/blink/renderer/core/css/properties/css_property.h"
#include "third_party/blink/renderer/core/style_property_shorthand.h"
+#include "third_party/blink/renderer/platform/bindings/exception_state.h"
namespace blink {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_style_value.idl b/chromium/third_party/blink/renderer/core/css/cssom/css_style_value.idl
index 88ae318d0c7..d63a4b1ae7b 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_style_value.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_style_value.idl
@@ -7,7 +7,7 @@
// base CSSStyleValues.
// Spec: https://drafts.css-houdini.org/css-typed-om/#stylevalue-objects
[
- Exposed(Window CSSTypedOM,LayoutWorklet CSSTypedOM,PaintWorklet CSSPaintAPI)
+ Exposed=(Window,LayoutWorklet,PaintWorklet)
] interface CSSStyleValue {
stringifier;
// Putting Exposed=Window in the next line makes |parse| not exposed to Worklets.
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_transform_component.idl b/chromium/third_party/blink/renderer/core/css/cssom/css_transform_component.idl
index ab1d67b7128..cfb178357c0 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_transform_component.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_transform_component.idl
@@ -7,7 +7,6 @@
// before they can be used as a value for properties like "transform".
// Spec: https://drafts.css-houdini.org/css-typed-om/#csstransformcomponent
[
- RuntimeEnabled=CSSTypedOM,
Exposed=(Window,LayoutWorklet,PaintWorklet)
] interface CSSTransformComponent {
stringifier;
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_transform_value.cc b/chromium/third_party/blink/renderer/core/css/cssom/css_transform_value.cc
index a8846750b1e..9939dd3ee21 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_transform_value.cc
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_transform_value.cc
@@ -7,6 +7,8 @@
#include "third_party/blink/renderer/core/css/css_value_list.h"
#include "third_party/blink/renderer/core/css/cssom/css_transform_component.h"
#include "third_party/blink/renderer/core/geometry/dom_matrix.h"
+#include "third_party/blink/renderer/platform/bindings/exception_messages.h"
+#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
namespace blink {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_transform_value.idl b/chromium/third_party/blink/renderer/core/css/cssom/css_transform_value.idl
index d6b71ee6609..7c654d1180a 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_transform_value.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_transform_value.idl
@@ -5,7 +5,6 @@
[
Constructor(sequence<CSSTransformComponent> transforms),
RaisesException=Constructor,
- RuntimeEnabled=CSSTypedOM,
Exposed=(Window,LayoutWorklet,PaintWorklet)
] interface CSSTransformValue : CSSStyleValue {
iterable<CSSTransformComponent>;
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_translate.cc b/chromium/third_party/blink/renderer/core/css/cssom/css_translate.cc
index b978112e8df..f571a1e4758 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_translate.cc
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_translate.cc
@@ -4,11 +4,11 @@
#include "third_party/blink/renderer/core/css/cssom/css_translate.h"
-#include "third_party/blink/renderer/bindings/core/v8/exception_state.h"
#include "third_party/blink/renderer/core/css/css_primitive_value.h"
#include "third_party/blink/renderer/core/css/cssom/css_numeric_value.h"
#include "third_party/blink/renderer/core/css/cssom/css_style_value.h"
#include "third_party/blink/renderer/core/geometry/dom_matrix.h"
+#include "third_party/blink/renderer/platform/bindings/exception_state.h"
namespace blink {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_translate.idl b/chromium/third_party/blink/renderer/core/css/cssom/css_translate.idl
index ca272a6734f..51f2ce9e6de 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_translate.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_translate.idl
@@ -8,7 +8,6 @@
[
Constructor(CSSNumericValue x, CSSNumericValue y,
optional CSSNumericValue z),
- RuntimeEnabled=CSSTypedOM,
Exposed=(Window,LayoutWorklet,PaintWorklet),
RaisesException=Constructor
] interface CSSTranslate : CSSTransformComponent {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_unit_value.cc b/chromium/third_party/blink/renderer/core/css/cssom/css_unit_value.cc
index ec8561fb28b..22b3c060978 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_unit_value.cc
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_unit_value.cc
@@ -4,7 +4,6 @@
#include "third_party/blink/renderer/core/css/cssom/css_unit_value.h"
-#include "third_party/blink/renderer/bindings/core/v8/exception_state.h"
#include "third_party/blink/renderer/core/animation/length_property_functions.h"
#include "third_party/blink/renderer/core/css/css_calculation_value.h"
#include "third_party/blink/renderer/core/css/css_resolution_units.h"
@@ -15,7 +14,9 @@
#include "third_party/blink/renderer/core/css/cssom/css_math_sum.h"
#include "third_party/blink/renderer/core/css/cssom/css_numeric_sum_value.h"
#include "third_party/blink/renderer/core/css/properties/css_property.h"
+#include "third_party/blink/renderer/platform/bindings/exception_state.h"
#include "third_party/blink/renderer/platform/wtf/math_extras.h"
+#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
namespace blink {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_unit_value.idl b/chromium/third_party/blink/renderer/core/css/cssom/css_unit_value.idl
index fe651c98c0b..b0be5d7bdfd 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_unit_value.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_unit_value.idl
@@ -8,7 +8,6 @@
[
Constructor(double value, CSSOMString unit),
RaisesException=Constructor,
- RuntimeEnabled=CSSTypedOM,
Exposed=(Window,LayoutWorklet,PaintWorklet)
] interface CSSUnitValue : CSSNumericValue {
attribute double value;
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_unit_values.idl b/chromium/third_party/blink/renderer/core/css/cssom/css_unit_values.idl
index 5f1eeb3a11e..36a25b5148c 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_unit_values.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_unit_values.idl
@@ -5,8 +5,7 @@
// https://drafts.css-houdini.org/css-typed-om/#numeric-factory
[
- ImplementedAs=CSSUnitValues,
- RuntimeEnabled=CSSTypedOM
+ ImplementedAs=CSSUnitValues
] partial interface CSS {
[NewObject] static CSSUnitValue number(double value);
[NewObject] static CSSUnitValue percent(double value);
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_unparsed_value.cc b/chromium/third_party/blink/renderer/core/css/cssom/css_unparsed_value.cc
index c0115351288..d599148a2f2 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_unparsed_value.cc
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_unparsed_value.cc
@@ -9,6 +9,7 @@
#include "third_party/blink/renderer/core/css/css_variable_reference_value.h"
#include "third_party/blink/renderer/core/css/cssom/css_style_variable_reference_value.h"
#include "third_party/blink/renderer/core/css/parser/css_tokenizer.h"
+#include "third_party/blink/renderer/platform/bindings/exception_messages.h"
#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
namespace blink {
@@ -40,7 +41,8 @@ HeapVector<CSSUnparsedSegment> ParserTokenRangeToTokens(
HeapVector<CSSUnparsedSegment> tokens;
StringBuilder builder;
while (!range.AtEnd()) {
- if (range.Peek().FunctionId() == CSSValueVar) {
+ if (range.Peek().FunctionId() == CSSValueVar ||
+ range.Peek().FunctionId() == CSSValueEnv) {
if (!builder.IsEmpty()) {
tokens.push_back(CSSUnparsedSegment::FromString(builder.ToString()));
builder.Clear();
@@ -120,8 +122,8 @@ const CSSValue* CSSUnparsedValue::ToCSSValue() const {
CSSTokenizer tokenizer(ToString());
const auto tokens = tokenizer.TokenizeToEOF();
return CSSVariableReferenceValue::Create(CSSVariableData::Create(
- CSSParserTokenRange(tokens), false /* isAnimationTainted */,
- false /* needsVariableResolution */));
+ CSSParserTokenRange(tokens), false /* is_animation_tainted */,
+ false /* needs_variable_resolution */, KURL(), WTF::TextEncoding()));
}
String CSSUnparsedValue::ToString() const {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_unparsed_value.idl b/chromium/third_party/blink/renderer/core/css/cssom/css_unparsed_value.idl
index 236fcd1cbc0..685c20f086c 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_unparsed_value.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_unparsed_value.idl
@@ -7,7 +7,6 @@
// Spec: https://drafts.css-houdini.org/css-typed-om/#unparsedvalue-objects
[
Constructor(sequence<CSSUnparsedSegment> members),
- RuntimeEnabled=CSSTypedOM,
Exposed=(Window,LayoutWorklet,PaintWorklet)
] interface CSSUnparsedValue : CSSStyleValue {
iterable<CSSUnparsedSegment>;
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_url_image_value.cc b/chromium/third_party/blink/renderer/core/css/cssom/css_url_image_value.cc
index 3ec4f06dc5a..d0bb96c66fe 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_url_image_value.cc
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_url_image_value.cc
@@ -4,11 +4,11 @@
#include "third_party/blink/renderer/core/css/cssom/css_url_image_value.h"
-#include "third_party/blink/renderer/bindings/core/v8/exception_state.h"
#include "third_party/blink/renderer/core/css/css_image_value.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/core/loader/resource/image_resource_content.h"
#include "third_party/blink/renderer/core/style/style_image.h"
+#include "third_party/blink/renderer/platform/bindings/exception_state.h"
#include "third_party/blink/renderer/platform/bindings/script_state.h"
namespace blink {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/css_variable_reference_value.idl b/chromium/third_party/blink/renderer/core/css/cssom/css_variable_reference_value.idl
index 8da21e8191f..ca4677386dd 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/css_variable_reference_value.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/css_variable_reference_value.idl
@@ -6,7 +6,6 @@
// Spec: https://drafts.css-houdini.org/css-typed-om/#cssvariablereferencevalue
[
Constructor(CSSOMString variable, optional CSSUnparsedValue? fallback = null),
- RuntimeEnabled=CSSTypedOM,
Exposed=(Window,LayoutWorklet,PaintWorklet),
RaisesException=Constructor,
ImplementedAs=CSSStyleVariableReferenceValue
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/declared_style_property_map.cc b/chromium/third_party/blink/renderer/core/css/cssom/declared_style_property_map.cc
index 0b00dd6d22b..1856f7f80ee 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/declared_style_property_map.cc
+++ b/chromium/third_party/blink/renderer/core/css/cssom/declared_style_property_map.cc
@@ -123,7 +123,7 @@ String DeclaredStylePropertyMap::SerializationForShorthand(
DCHECK(property.IsShorthand());
if (StyleRule* style_rule = GetStyleRule()) {
return StylePropertySerializer(style_rule->Properties())
- .GetPropertyValue(property.PropertyID());
+ .SerializeShorthand(property.PropertyID());
}
return "";
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/element_computed_style_map.idl b/chromium/third_party/blink/renderer/core/css/cssom/element_computed_style_map.idl
index b212058e2f9..38f0117151c 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/element_computed_style_map.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/element_computed_style_map.idl
@@ -5,8 +5,7 @@
// https://drafts.css-houdini.org/css-typed-om/#computed-stylepropertymapreadonly-objects
[
- ImplementedAs=ElementComputedStyleMap,
- RuntimeEnabled=CSSTypedOM
+ ImplementedAs=ElementComputedStyleMap
] partial interface Element {
[MeasureAs=CSSTypedOMStylePropertyMap] StylePropertyMapReadOnly computedStyleMap();
};
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/inline_style_property_map.cc b/chromium/third_party/blink/renderer/core/css/cssom/inline_style_property_map.cc
index 555b687f9f3..65e9ed9260c 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/inline_style_property_map.cc
+++ b/chromium/third_party/blink/renderer/core/css/cssom/inline_style_property_map.cc
@@ -90,7 +90,7 @@ String InlineStylePropertyMap::SerializationForShorthand(
DCHECK(property.IsShorthand());
if (const CSSPropertyValueSet* inline_style = owner_element_->InlineStyle()) {
return StylePropertySerializer(*inline_style)
- .GetPropertyValue(property.PropertyID());
+ .SerializeShorthand(property.PropertyID());
}
NOTREACHED();
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/prepopulated_computed_style_property_map.h b/chromium/third_party/blink/renderer/core/css/cssom/prepopulated_computed_style_property_map.h
index f081f788336..f691eafe73f 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/prepopulated_computed_style_property_map.h
+++ b/chromium/third_party/blink/renderer/core/css/cssom/prepopulated_computed_style_property_map.h
@@ -11,6 +11,8 @@
namespace blink {
+class ComputedStyle;
+
// This class has the same behaviour as the ComputedStylePropertyMap, except it
// only contains the properties given to the constructor.
//
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/prepopulated_computed_style_property_map_test.cc b/chromium/third_party/blink/renderer/core/css/cssom/prepopulated_computed_style_property_map_test.cc
index 9ae84f12315..e0cc71c85c6 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/prepopulated_computed_style_property_map_test.cc
+++ b/chromium/third_party/blink/renderer/core/css/cssom/prepopulated_computed_style_property_map_test.cc
@@ -8,6 +8,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/renderer/core/css/css_computed_style_declaration.h"
#include "third_party/blink/renderer/core/dom/element.h"
+#include "third_party/blink/renderer/core/dom/node_computed_style.h"
#include "third_party/blink/renderer/core/testing/page_test_base.h"
#include "third_party/blink/renderer/platform/heap/handle.h"
@@ -38,13 +39,13 @@ TEST_F(PrepopulatedComputedStylePropertyMapTest, NativePropertyAccessors) {
{CSSPropertyColor, CSSPropertyAlignItems});
Vector<AtomicString> empty_custom_properties;
+ GetDocument().View()->UpdateAllLifecyclePhases();
Node* node = PageNode();
- const ComputedStyle& style = *node->EnsureComputedStyle();
PrepopulatedComputedStylePropertyMap* map =
- new PrepopulatedComputedStylePropertyMap(GetDocument(), style, node,
- native_properties,
- empty_custom_properties);
+ new PrepopulatedComputedStylePropertyMap(
+ GetDocument(), node->ComputedStyleRef(), node, native_properties,
+ empty_custom_properties);
DummyExceptionStateForTesting exception_state;
@@ -74,13 +75,13 @@ TEST_F(PrepopulatedComputedStylePropertyMapTest, CustomPropertyAccessors) {
Vector<CSSPropertyID> empty_native_properties;
Vector<AtomicString> custom_properties({"--foo", "--bar"});
+ GetDocument().View()->UpdateAllLifecyclePhases();
Node* node = PageNode();
- const ComputedStyle& style = *node->EnsureComputedStyle();
PrepopulatedComputedStylePropertyMap* map =
- new PrepopulatedComputedStylePropertyMap(GetDocument(), style, node,
- empty_native_properties,
- custom_properties);
+ new PrepopulatedComputedStylePropertyMap(
+ GetDocument(), node->ComputedStyleRef(), node,
+ empty_native_properties, custom_properties);
DummyExceptionStateForTesting exception_state;
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/style_property_map.cc b/chromium/third_party/blink/renderer/core/css/cssom/style_property_map.cc
index db8d0348983..0ec4c0624a5 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/style_property_map.cc
+++ b/chromium/third_party/blink/renderer/core/css/cssom/style_property_map.cc
@@ -4,7 +4,6 @@
#include "third_party/blink/renderer/core/css/cssom/style_property_map.h"
-#include "third_party/blink/renderer/bindings/core/v8/exception_state.h"
#include "third_party/blink/renderer/core/css/css_identifier_value.h"
#include "third_party/blink/renderer/core/css/css_value_list.h"
#include "third_party/blink/renderer/core/css/css_value_pair.h"
@@ -15,6 +14,7 @@
#include "third_party/blink/renderer/core/css/parser/css_parser_context.h"
#include "third_party/blink/renderer/core/css/properties/css_property.h"
#include "third_party/blink/renderer/core/style_property_shorthand.h"
+#include "third_party/blink/renderer/platform/bindings/exception_state.h"
namespace blink {
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/style_property_map.idl b/chromium/third_party/blink/renderer/core/css/cssom/style_property_map.idl
index c8d3b1ccabc..775ab0b0cb0 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/style_property_map.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/style_property_map.idl
@@ -5,7 +5,6 @@
// https://drafts.css-houdini.org/css-typed-om/#the-stylepropertymap
[
- RuntimeEnabled=CSSTypedOM,
Exposed=(Window)
] interface StylePropertyMap : StylePropertyMapReadOnly {
// TODO(https://crbug.com/838890): DOMString should be CSSOMString
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/style_property_map_read_only.cc b/chromium/third_party/blink/renderer/core/css/cssom/style_property_map_read_only.cc
index 1359ab6ada1..bd91dd14b39 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/style_property_map_read_only.cc
+++ b/chromium/third_party/blink/renderer/core/css/cssom/style_property_map_read_only.cc
@@ -4,7 +4,6 @@
#include "third_party/blink/renderer/core/css/cssom/style_property_map_read_only.h"
-#include "third_party/blink/renderer/bindings/core/v8/exception_state.h"
#include "third_party/blink/renderer/core/css/css_custom_property_declaration.h"
#include "third_party/blink/renderer/core/css/css_value_list.h"
#include "third_party/blink/renderer/core/css/css_variable_reference_value.h"
@@ -15,6 +14,7 @@
#include "third_party/blink/renderer/core/css/properties/css_property.h"
#include "third_party/blink/renderer/core/css_property_names.h"
#include "third_party/blink/renderer/core/style_property_shorthand.h"
+#include "third_party/blink/renderer/platform/bindings/exception_state.h"
namespace blink {
@@ -72,7 +72,9 @@ CSSStyleValue* StylePropertyMapReadOnly::get(const String& property_name,
if (!value)
return nullptr;
- if (property.IsRepeated()) {
+ // Custom properties count as repeated whenever we have a CSSValueList.
+ if (property.IsRepeated() ||
+ (property_id == CSSPropertyVariable && value->IsValueList())) {
CSSStyleValueVector values =
StyleValueFactory::CssValueToStyleValueVector(property_id, *value);
return values.IsEmpty() ? nullptr : values[0];
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/style_property_map_read_only.idl b/chromium/third_party/blink/renderer/core/css/cssom/style_property_map_read_only.idl
index 8a73e33c07c..5fab519e625 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/style_property_map_read_only.idl
+++ b/chromium/third_party/blink/renderer/core/css/cssom/style_property_map_read_only.idl
@@ -4,7 +4,7 @@
// Spec: https://drafts.css-houdini.org/css-typed-om/#the-stylepropertymap
[
- Exposed(Window CSSTypedOM,LayoutWorklet CSSTypedOM,PaintWorklet CSSPaintAPI)
+ Exposed=(Window,LayoutWorklet,PaintWorklet)
] interface StylePropertyMapReadOnly {
iterable<CSSOMString, sequence<CSSStyleValue>>;
/* TODO: This should return (undefined or CSSStyleValue),
diff --git a/chromium/third_party/blink/renderer/core/css/cssom/style_value_factory.cc b/chromium/third_party/blink/renderer/core/css/cssom/style_value_factory.cc
index 13038719e36..52601ae6f96 100644
--- a/chromium/third_party/blink/renderer/core/css/cssom/style_value_factory.cc
+++ b/chromium/third_party/blink/renderer/core/css/cssom/style_value_factory.cc
@@ -255,9 +255,10 @@ CSSStyleValueVector StyleValueFactory::FromString(
if ((property_id == CSSPropertyVariable && !tokens.IsEmpty()) ||
CSSVariableParser::ContainsValidVariableReferences(range)) {
- const auto variable_data =
- CSSVariableData::Create(range, false /* is_animation_tainted */,
- false /* needs variable resolution */);
+ const auto variable_data = CSSVariableData::Create(
+ range, false /* is_animation_tainted */,
+ false /* needs variable resolution */, parser_context->BaseURL(),
+ parser_context->Charset());
CSSStyleValueVector values;
values.push_back(CSSUnparsedValue::FromCSSVariableData(*variable_data));
return values;
@@ -289,7 +290,10 @@ CSSStyleValueVector StyleValueFactory::CssValueToStyleValueVector(
return style_value_vector;
}
- if (!css_value.IsValueList() || !CSSProperty::Get(property_id).IsRepeated()) {
+ // Custom properties count as repeated whenever we have a CSSValueList.
+ if (!css_value.IsValueList() ||
+ (!CSSProperty::Get(property_id).IsRepeated() &&
+ property_id != CSSPropertyVariable)) {
return UnsupportedCSSValue(property_id, css_value);
}