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

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

Issue 2416893002: CSSMediaRule and CSSSupportsRule inherit from CSSConditionRule (Closed)
Patch Set: Fix CSSSupportsRule.idl and test case Created 4 years, 2 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 /** 1 /**
2 * (C) 1999-2003 Lars Knoll (knoll@kde.org) 2 * (C) 1999-2003 Lars Knoll (knoll@kde.org)
3 * (C) 2002-2003 Dirk Mueller (mueller@kde.org) 3 * (C) 2002-2003 Dirk Mueller (mueller@kde.org)
4 * Copyright (C) 2002, 2005, 2006, 2012 Apple Computer, Inc. 4 * Copyright (C) 2002, 2005, 2006, 2012 Apple Computer, Inc.
5 * Copyright (C) 2006 Samuel Weinig (sam@webkit.org) 5 * Copyright (C) 2006 Samuel Weinig (sam@webkit.org)
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public 8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
(...skipping 10 matching lines...) Expand all
21 */ 21 */
22 22
23 #include "core/css/CSSMediaRule.h" 23 #include "core/css/CSSMediaRule.h"
24 24
25 #include "core/css/StyleRule.h" 25 #include "core/css/StyleRule.h"
26 #include "wtf/text/StringBuilder.h" 26 #include "wtf/text/StringBuilder.h"
27 27
28 namespace blink { 28 namespace blink {
29 29
30 CSSMediaRule::CSSMediaRule(StyleRuleMedia* mediaRule, CSSStyleSheet* parent) 30 CSSMediaRule::CSSMediaRule(StyleRuleMedia* mediaRule, CSSStyleSheet* parent)
31 : CSSGroupingRule(mediaRule, parent) {} 31 : CSSConditionRule(mediaRule, parent) {}
32 32
33 CSSMediaRule::~CSSMediaRule() {} 33 CSSMediaRule::~CSSMediaRule() {}
34 34
35 MediaQuerySet* CSSMediaRule::mediaQueries() const { 35 MediaQuerySet* CSSMediaRule::mediaQueries() const {
36 return toStyleRuleMedia(m_groupRule.get())->mediaQueries(); 36 return toStyleRuleMedia(m_groupRule.get())->mediaQueries();
37 } 37 }
38 38
39 String CSSMediaRule::cssText() const { 39 String CSSMediaRule::cssText() const {
40 StringBuilder result; 40 StringBuilder result;
41 result.append("@media "); 41 result.append("@media ");
42 if (mediaQueries()) { 42 if (mediaQueries()) {
43 result.append(mediaQueries()->mediaText()); 43 result.append(mediaQueries()->mediaText());
44 result.append(' '); 44 result.append(' ');
45 } 45 }
46 result.append("{ \n"); 46 result.append("{ \n");
47 appendCSSTextForItems(result); 47 appendCSSTextForItems(result);
48 result.append('}'); 48 result.append('}');
49 return result.toString(); 49 return result.toString();
50 } 50 }
51 51
52 String CSSMediaRule::conditionText() const {
53 StringBuilder result;
foolip 2016/10/15 21:02:19 https://drafts.csswg.org/css-conditional/#the-cssm
54 if (mediaQueries()) {
55 result.append(mediaQueries()->mediaText());
56 }
57 return result.toString();
58 }
59
52 MediaList* CSSMediaRule::media() const { 60 MediaList* CSSMediaRule::media() const {
53 if (!mediaQueries()) 61 if (!mediaQueries())
54 return nullptr; 62 return nullptr;
55 if (!m_mediaCSSOMWrapper) 63 if (!m_mediaCSSOMWrapper)
56 m_mediaCSSOMWrapper = 64 m_mediaCSSOMWrapper =
57 MediaList::create(mediaQueries(), const_cast<CSSMediaRule*>(this)); 65 MediaList::create(mediaQueries(), const_cast<CSSMediaRule*>(this));
58 return m_mediaCSSOMWrapper.get(); 66 return m_mediaCSSOMWrapper.get();
59 } 67 }
60 68
61 void CSSMediaRule::reattach(StyleRuleBase* rule) { 69 void CSSMediaRule::reattach(StyleRuleBase* rule) {
62 CSSGroupingRule::reattach(rule); 70 CSSConditionRule::reattach(rule);
63 if (m_mediaCSSOMWrapper && mediaQueries()) 71 if (m_mediaCSSOMWrapper && mediaQueries())
64 m_mediaCSSOMWrapper->reattach(mediaQueries()); 72 m_mediaCSSOMWrapper->reattach(mediaQueries());
65 } 73 }
66 74
67 DEFINE_TRACE(CSSMediaRule) { 75 DEFINE_TRACE(CSSMediaRule) {
68 visitor->trace(m_mediaCSSOMWrapper); 76 visitor->trace(m_mediaCSSOMWrapper);
69 CSSGroupingRule::trace(visitor); 77 CSSConditionRule::trace(visitor);
70 } 78 }
71 } // namespace blink 79 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698