OLD | NEW |
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, 2006, 2008, 2012 Apple Inc. All rights reserved. | 4 * Copyright (C) 2002, 2006, 2008, 2012 Apple Inc. All rights reserved. |
5 * | 5 * |
6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
10 * | 10 * |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
47 StyleSheetContents* styleSheet() const { return m_styleSheet.get(); } | 47 StyleSheetContents* styleSheet() const { return m_styleSheet.get(); } |
48 | 48 |
49 bool isLoading() const; | 49 bool isLoading() const; |
50 MediaQuerySet* mediaQueries() { return m_mediaQueries.get(); } | 50 MediaQuerySet* mediaQueries() { return m_mediaQueries.get(); } |
51 | 51 |
52 void requestStyleSheet(); | 52 void requestStyleSheet(); |
53 | 53 |
54 DECLARE_TRACE_AFTER_DISPATCH(); | 54 DECLARE_TRACE_AFTER_DISPATCH(); |
55 | 55 |
56 private: | 56 private: |
57 // FIXME: inherit from StyleSheetResourceClient directly to eliminate raw ba
ck pointer, as there are no space savings in this. | 57 // FIXME: inherit from StyleSheetResourceClient directly to eliminate back p
ointer, as there are no space savings in this. |
58 // NOTE: We put the StyleSheetResourceClient in a member instead of inheriti
ng from it | 58 // NOTE: We put the StyleSheetResourceClient in a member instead of inheriti
ng from it |
59 // to avoid adding a vptr to StyleRuleImport. | 59 // to avoid adding a vptr to StyleRuleImport. |
60 class ImportedStyleSheetClient final : public StyleSheetResourceClient { | 60 class ImportedStyleSheetClient final : public GarbageCollectedFinalized<Impo
rtedStyleSheetClient>, public StyleSheetResourceClient { |
61 DISALLOW_NEW(); | |
62 public: | 61 public: |
63 ImportedStyleSheetClient(StyleRuleImport* ownerRule) : m_ownerRule(owner
Rule) { } | 62 ImportedStyleSheetClient(StyleRuleImport* ownerRule) : m_ownerRule(owner
Rule) { } |
64 ~ImportedStyleSheetClient() override { } | 63 ~ImportedStyleSheetClient() override { } |
65 void setCSSStyleSheet(const String& href, const KURL& baseURL, const Str
ing& charset, const CSSStyleSheetResource* sheet) override | 64 void setCSSStyleSheet(const String& href, const KURL& baseURL, const Str
ing& charset, const CSSStyleSheetResource* sheet) override |
66 { | 65 { |
67 m_ownerRule->setCSSStyleSheet(href, baseURL, charset, sheet); | 66 m_ownerRule->setCSSStyleSheet(href, baseURL, charset, sheet); |
68 } | 67 } |
69 String debugName() const override { return "ImportedStyleSheetClient"; } | 68 String debugName() const override { return "ImportedStyleSheetClient"; } |
70 | 69 |
71 DEFINE_INLINE_TRACE() | 70 DEFINE_INLINE_TRACE() |
72 { | 71 { |
73 visitor->trace(m_ownerRule); | 72 visitor->trace(m_ownerRule); |
74 } | 73 } |
75 | 74 |
76 private: | 75 private: |
77 Member<StyleRuleImport> m_ownerRule; | 76 Member<StyleRuleImport> m_ownerRule; |
78 }; | 77 }; |
79 | 78 |
80 void setCSSStyleSheet(const String& href, const KURL& baseURL, const String&
charset, const CSSStyleSheetResource*); | 79 void setCSSStyleSheet(const String& href, const KURL& baseURL, const String&
charset, const CSSStyleSheetResource*); |
81 friend class ImportedStyleSheetClient; | |
82 | 80 |
83 StyleRuleImport(const String& href, MediaQuerySet*); | 81 StyleRuleImport(const String& href, MediaQuerySet*); |
84 | 82 |
85 void dispose(); | 83 void dispose(); |
86 | 84 |
87 Member<StyleSheetContents> m_parentStyleSheet; | 85 Member<StyleSheetContents> m_parentStyleSheet; |
88 | 86 |
89 ImportedStyleSheetClient m_styleSheetClient; | 87 Member<ImportedStyleSheetClient> m_styleSheetClient; |
90 String m_strHref; | 88 String m_strHref; |
91 Member<MediaQuerySet> m_mediaQueries; | 89 Member<MediaQuerySet> m_mediaQueries; |
92 Member<StyleSheetContents> m_styleSheet; | 90 Member<StyleSheetContents> m_styleSheet; |
93 Member<CSSStyleSheetResource> m_resource; | 91 Member<CSSStyleSheetResource> m_resource; |
94 bool m_loading; | 92 bool m_loading; |
95 }; | 93 }; |
96 | 94 |
97 DEFINE_STYLE_RULE_TYPE_CASTS(Import); | 95 DEFINE_STYLE_RULE_TYPE_CASTS(Import); |
98 | 96 |
99 } // namespace blink | 97 } // namespace blink |
100 | 98 |
101 #endif | 99 #endif |
OLD | NEW |