blob: b938d8bf74c40560a171719e7f22de10b88b6193 [file] [log] [blame]
darin@apple.com637194d2020-09-25 17:19:48 +00001/*
2 * Copyright (C) 2012 Motorola Mobility Inc. All rights reserved.
3 * Copyright (C) 2020 Apple Inc. All rights reserved.
commit-queue@webkit.org03dd24f2013-01-16 11:30:50 +00004 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met:
8 *
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above
12 * copyright notice, this list of conditions and the following disclaimer in
13 * the documentation and/or other materials provided with the distribution.
14 * 3. Neither the name of Motorola Mobility Inc. nor the names of its
15 * contributors may be used to endorse or promote products derived from this
16 * 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
31#include "config.h"
32#include "CSSSupportsRule.h"
33
commit-queue@webkit.org03dd24f2013-01-16 11:30:50 +000034#include "CSSStyleSheet.h"
commit-queue@webkit.org03dd24f2013-01-16 11:30:50 +000035#include "StyleRule.h"
commit-queue@webkit.org03dd24f2013-01-16 11:30:50 +000036#include <wtf/text/StringBuilder.h>
37
commit-queue@webkit.org03dd24f2013-01-16 11:30:50 +000038namespace WebCore {
39
darin@apple.com637194d2020-09-25 17:19:48 +000040CSSSupportsRule::CSSSupportsRule(StyleRuleSupports& rule, CSSStyleSheet* parent)
41 : CSSConditionRule(rule, parent)
commit-queue@webkit.org03dd24f2013-01-16 11:30:50 +000042{
43}
44
darin@apple.com637194d2020-09-25 17:19:48 +000045Ref<CSSSupportsRule> CSSSupportsRule::create(StyleRuleSupports& rule, CSSStyleSheet* parent)
46{
47 return adoptRef(*new CSSSupportsRule(rule, parent));
48}
49
commit-queue@webkit.org03dd24f2013-01-16 11:30:50 +000050String CSSSupportsRule::cssText() const
51{
52 StringBuilder result;
darin@apple.com637194d2020-09-25 17:19:48 +000053 result.append("@supports ", conditionText(), " {\n");
54 appendCSSTextForItems(result);
commit-queue@webkit.org03dd24f2013-01-16 11:30:50 +000055 result.append('}');
commit-queue@webkit.org03dd24f2013-01-16 11:30:50 +000056 return result.toString();
57}
58
59String CSSSupportsRule::conditionText() const
60{
darin@apple.com637194d2020-09-25 17:19:48 +000061 return downcast<StyleRuleSupports>(groupRule()).conditionText();
62}
63
commit-queue@webkit.org03dd24f2013-01-16 11:30:50 +000064} // namespace WebCore