source: webkit/trunk/Source/WebCore/css/parser/CSSAtRuleID.h

Last change on this file was 286845, checked in by Antti Koivisto, 3 years ago

[CSS Container Queries] Basic @container at-rule parsing support
https://bugs.webkit.org/show_bug.cgi?id=234135

Reviewed by Antoine Quint.

Source/WebCore:

Implement basic support for parsing @container at-rules.
This patch doesn't yet parse the queries themselves.

Disabled by default.

  • css/StyleRule.cpp:

(WebCore::StyleRuleBase::destroy):
(WebCore::StyleRuleBase::copy const):
(WebCore::StyleRuleBase::createCSSOMWrapper const):
(WebCore::StyleRuleContainer::StyleRuleContainer):
(WebCore::StyleRuleContainer::create):

  • css/StyleRule.h:

(WebCore::StyleRuleBase::isContainerRule const):
(isType):

  • css/StyleRuleType.h:
  • css/StyleSheetContents.cpp:

(WebCore::traverseRulesInVector):
(WebCore::StyleSheetContents::traverseSubresources const):

  • css/parser/CSSAtRuleID.cpp:

(WebCore::cssAtRuleID):

  • css/parser/CSSAtRuleID.h:
  • css/parser/CSSParserContext.cpp:

(WebCore::operator==):
(WebCore::add):

  • css/parser/CSSParserContext.h:
  • css/parser/CSSParserImpl.cpp:

(WebCore::CSSParserImpl::consumeAtRule):
(WebCore::CSSParserImpl::consumeContainerRule):

  • css/parser/CSSParserImpl.h:

Source/WTF:

  • Scripts/Preferences/WebPreferencesExperimental.yaml:

Add preference for container queries, disabled by default.

File size: 2.1 KB
Line 
1// Copyright 2015 The Chromium Authors. All rights reserved.
2// Copyright (C) 2016-2021 Apple Inc. All rights reserved.
3//
4// Redistribution and use in source and binary forms, with or without
5// modification, are permitted provided that the following conditions are
6// met:
7//
8// * Redistributions of source code must retain the above copyright
9// notice, this list of conditions and the following disclaimer.
10// * Redistributions in binary form must reproduce the above
11// copyright notice, this list of conditions and the following disclaimer
12// in the documentation and/or other materials provided with the
13// distribution.
14// * Neither the name of Google Inc. nor the names of its
15// contributors may be used to endorse or promote products derived from
16// this software without specific prior written permission.
17//
18// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
30#pragma once
31#include <wtf/text/StringView.h>
32
33namespace WebCore {
34
35enum CSSAtRuleID {
36 CSSAtRuleInvalid = 0,
37
38 CSSAtRuleCharset,
39 CSSAtRuleFontFace,
40 CSSAtRuleImport,
41 CSSAtRuleKeyframes,
42 CSSAtRuleMedia,
43 CSSAtRuleNamespace,
44 CSSAtRulePage,
45 CSSAtRuleSupports,
46 CSSAtRuleViewport,
47
48 CSSAtRuleWebkitKeyframes,
49 CSSAtRuleCounterStyle,
50 CSSAtRuleLayer,
51 CSSAtRuleContainer,
52
53 CSSAtRuleFontPaletteValues,
54};
55
56CSSAtRuleID cssAtRuleID(StringView name);
57
58} // namespace WebCore
Note: See TracBrowser for help on using the repository browser.