summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/css/style_rule.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/core/css/style_rule.cc')
-rw-r--r--chromium/third_party/blink/renderer/core/css/style_rule.cc47
1 files changed, 47 insertions, 0 deletions
diff --git a/chromium/third_party/blink/renderer/core/css/style_rule.cc b/chromium/third_party/blink/renderer/core/css/style_rule.cc
index 536701a8bf1..ae97eb2e572 100644
--- a/chromium/third_party/blink/renderer/core/css/style_rule.cc
+++ b/chromium/third_party/blink/renderer/core/css/style_rule.cc
@@ -92,6 +92,12 @@ void StyleRuleBase::Trace(Visitor* visitor) const {
case kKeyframe:
To<StyleRuleKeyframe>(this)->TraceAfterDispatch(visitor);
return;
+ case kLayerBlock:
+ To<StyleRuleLayerBlock>(this)->TraceAfterDispatch(visitor);
+ return;
+ case kLayerStatement:
+ To<StyleRuleLayerStatement>(this)->TraceAfterDispatch(visitor);
+ return;
case kNamespace:
To<StyleRuleNamespace>(this)->TraceAfterDispatch(visitor);
return;
@@ -143,6 +149,12 @@ void StyleRuleBase::FinalizeGarbageCollectedObject() {
case kKeyframe:
To<StyleRuleKeyframe>(this)->~StyleRuleKeyframe();
return;
+ case kLayerBlock:
+ To<StyleRuleLayerBlock>(this)->~StyleRuleLayerBlock();
+ return;
+ case kLayerStatement:
+ To<StyleRuleLayerStatement>(this)->~StyleRuleLayerStatement();
+ return;
case kNamespace:
To<StyleRuleNamespace>(this)->~StyleRuleNamespace();
return;
@@ -183,6 +195,10 @@ StyleRuleBase* StyleRuleBase::Copy() const {
return To<StyleRuleKeyframes>(this)->Copy();
case kViewport:
return To<StyleRuleViewport>(this)->Copy();
+ case kLayerBlock:
+ return To<StyleRuleLayerBlock>(this)->Copy();
+ case kLayerStatement:
+ return To<StyleRuleLayerStatement>(this)->Copy();
case kNamespace:
return To<StyleRuleNamespace>(this)->Copy();
case kCharset:
@@ -239,6 +255,10 @@ CSSRule* StyleRuleBase::CreateCSSOMWrapper(CSSStyleSheet* parent_sheet,
rule = MakeGarbageCollected<CSSKeyframesRule>(
To<StyleRuleKeyframes>(self), parent_sheet);
break;
+ case kLayerBlock:
+ case kLayerStatement:
+ // TODO(crbug.com/1095765): Implement.
+ return nullptr;
case kNamespace:
rule = MakeGarbageCollected<CSSNamespaceRule>(
To<StyleRuleNamespace>(self), parent_sheet);
@@ -454,6 +474,33 @@ void StyleRuleGroup::TraceAfterDispatch(blink::Visitor* visitor) const {
StyleRuleBase::TraceAfterDispatch(visitor);
}
+StyleRuleLayerBlock::StyleRuleLayerBlock(
+ LayerName&& name,
+ HeapVector<Member<StyleRuleBase>>& adopt_rules)
+ : StyleRuleGroup(kLayerBlock, adopt_rules), name_(std::move(name)) {}
+
+StyleRuleLayerBlock::StyleRuleLayerBlock(const StyleRuleLayerBlock& other) =
+ default;
+
+StyleRuleLayerBlock::~StyleRuleLayerBlock() = default;
+
+void StyleRuleLayerBlock::TraceAfterDispatch(blink::Visitor* visitor) const {
+ StyleRuleGroup::TraceAfterDispatch(visitor);
+}
+
+StyleRuleLayerStatement::StyleRuleLayerStatement(Vector<LayerName>&& names)
+ : StyleRuleBase(kLayerStatement), names_(std::move(names)) {}
+
+StyleRuleLayerStatement::StyleRuleLayerStatement(
+ const StyleRuleLayerStatement& other) = default;
+
+StyleRuleLayerStatement::~StyleRuleLayerStatement() = default;
+
+void StyleRuleLayerStatement::TraceAfterDispatch(
+ blink::Visitor* visitor) const {
+ StyleRuleBase::TraceAfterDispatch(visitor);
+}
+
StyleRuleCondition::StyleRuleCondition(
RuleType type,
HeapVector<Member<StyleRuleBase>>& adopt_rules)