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

Side by Side Diff: Source/core/css/resolver/ScopedStyleResolver.h

Issue 979033003: Move code from StyleResolver to ViewportStyleResolver. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebased Created 5 years, 9 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 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved. 3 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved.
4 * Copyright (C) 2012 Google Inc. All rights reserved. 4 * Copyright (C) 2012 Google Inc. All rights reserved.
5 * 5 *
6 * Redistribution and use in source and binary forms, with or without 6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions 7 * modification, are permitted provided that the following conditions
8 * are met: 8 * are met:
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 20 matching lines...) Expand all
31 #include "core/css/RuleSet.h" 31 #include "core/css/RuleSet.h"
32 #include "core/dom/TreeScope.h" 32 #include "core/dom/TreeScope.h"
33 #include "wtf/HashMap.h" 33 #include "wtf/HashMap.h"
34 #include "wtf/HashSet.h" 34 #include "wtf/HashSet.h"
35 #include "wtf/OwnPtr.h" 35 #include "wtf/OwnPtr.h"
36 #include "wtf/PassOwnPtr.h" 36 #include "wtf/PassOwnPtr.h"
37 37
38 namespace blink { 38 namespace blink {
39 39
40 class PageRuleCollector; 40 class PageRuleCollector;
41 class StyleResolver;
42 class StyleSheetContents; 41 class StyleSheetContents;
42 class ViewportStyleResolver;
43 43
44 // This class selects a LayoutStyle for a given element based on a collection of stylesheets. 44 // This class selects a LayoutStyle for a given element based on a collection of stylesheets.
45 class ScopedStyleResolver final : public NoBaseWillBeGarbageCollected<ScopedStyl eResolver> { 45 class ScopedStyleResolver final : public NoBaseWillBeGarbageCollected<ScopedStyl eResolver> {
46 WTF_MAKE_NONCOPYABLE(ScopedStyleResolver); 46 WTF_MAKE_NONCOPYABLE(ScopedStyleResolver);
47 WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED; 47 WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED;
48 public: 48 public:
49 static PassOwnPtrWillBeRawPtr<ScopedStyleResolver> create(TreeScope& scope) 49 static PassOwnPtrWillBeRawPtr<ScopedStyleResolver> create(TreeScope& scope)
50 { 50 {
51 return adoptPtrWillBeNoop(new ScopedStyleResolver(scope)); 51 return adoptPtrWillBeNoop(new ScopedStyleResolver(scope));
52 } 52 }
53 53
54 static TreeScope* treeScopeFor(Document&, const CSSStyleSheet*); 54 static TreeScope* treeScopeFor(Document&, const CSSStyleSheet*);
55 55
56 const TreeScope& treeScope() const { return *m_scope; } 56 const TreeScope& treeScope() const { return *m_scope; }
57 ScopedStyleResolver* parent() const; 57 ScopedStyleResolver* parent() const;
58 58
59 StyleRuleKeyframes* keyframeStylesForAnimation(const StringImpl* animationNa me); 59 StyleRuleKeyframes* keyframeStylesForAnimation(const StringImpl* animationNa me);
60 60
61 void appendCSSStyleSheet(CSSStyleSheet&, const MediaQueryEvaluator&); 61 void appendCSSStyleSheet(CSSStyleSheet&, const MediaQueryEvaluator&);
62 void collectMatchingAuthorRules(ElementRuleCollector&, bool includeEmptyRule s, CascadeOrder = ignoreCascadeOrder); 62 void collectMatchingAuthorRules(ElementRuleCollector&, bool includeEmptyRule s, CascadeOrder = ignoreCascadeOrder);
63 void collectMatchingShadowHostRules(ElementRuleCollector&, bool includeEmpty Rules, CascadeOrder = ignoreCascadeOrder); 63 void collectMatchingShadowHostRules(ElementRuleCollector&, bool includeEmpty Rules, CascadeOrder = ignoreCascadeOrder);
64 void collectMatchingTreeBoundaryCrossingRules(ElementRuleCollector&, bool in cludeEmptyRules, CascadeOrder); 64 void collectMatchingTreeBoundaryCrossingRules(ElementRuleCollector&, bool in cludeEmptyRules, CascadeOrder);
65 void matchPageRules(PageRuleCollector&); 65 void matchPageRules(PageRuleCollector&);
66 void collectFeaturesTo(RuleFeatureSet&, HashSet<const StyleSheetContents*>& visitedSharedStyleSheetContents) const; 66 void collectFeaturesTo(RuleFeatureSet&, HashSet<const StyleSheetContents*>& visitedSharedStyleSheetContents) const;
67 void resetAuthorStyle(); 67 void resetAuthorStyle();
68 void collectViewportRulesTo(StyleResolver*) const; 68 void collectViewportRulesTo(ViewportStyleResolver*) const;
69 69
70 DECLARE_TRACE(); 70 DECLARE_TRACE();
71 71
72 private: 72 private:
73 explicit ScopedStyleResolver(TreeScope& scope) 73 explicit ScopedStyleResolver(TreeScope& scope)
74 : m_scope(scope) 74 : m_scope(scope)
75 { 75 {
76 } 76 }
77 77
78 void addTreeBoundaryCrossingRules(const RuleSet&, CSSStyleSheet*, unsigned s heetIndex); 78 void addTreeBoundaryCrossingRules(const RuleSet&, CSSStyleSheet*, unsigned s heetIndex);
(...skipping 30 matching lines...) Expand all
109 } 109 }
110 }; 110 };
111 typedef WillBeHeapVector<OwnPtrWillBeMember<RuleSubSet>> CSSStyleSheetRuleSu bSet; 111 typedef WillBeHeapVector<OwnPtrWillBeMember<RuleSubSet>> CSSStyleSheetRuleSu bSet;
112 112
113 OwnPtrWillBeMember<CSSStyleSheetRuleSubSet> m_treeBoundaryCrossingRuleSet; 113 OwnPtrWillBeMember<CSSStyleSheetRuleSubSet> m_treeBoundaryCrossingRuleSet;
114 }; 114 };
115 115
116 } // namespace blink 116 } // namespace blink
117 117
118 #endif // ScopedStyleResolver_h 118 #endif // ScopedStyleResolver_h
OLDNEW
« no previous file with comments | « Source/core/css/CSSDefaultStyleSheets.cpp ('k') | Source/core/css/resolver/ScopedStyleResolver.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698