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

Side by Side Diff: Source/core/dom/CSSSelectorWatch.h

Issue 947393002: InlinedVisitor: Migrate dom to use inlined tracing (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 10 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 public: 48 public:
49 virtual ~CSSSelectorWatch() { } 49 virtual ~CSSSelectorWatch() { }
50 50
51 static CSSSelectorWatch& from(Document&); 51 static CSSSelectorWatch& from(Document&);
52 52
53 void watchCSSSelectors(const Vector<String>& selectors); 53 void watchCSSSelectors(const Vector<String>& selectors);
54 const WillBeHeapVector<RefPtrWillBeMember<StyleRule> >& watchedCallbackSelec tors() const { return m_watchedCallbackSelectors; } 54 const WillBeHeapVector<RefPtrWillBeMember<StyleRule> >& watchedCallbackSelec tors() const { return m_watchedCallbackSelectors; }
55 55
56 void updateSelectorMatches(const Vector<String>& removedSelectors, const Vec tor<String>& addedSelectors); 56 void updateSelectorMatches(const Vector<String>& removedSelectors, const Vec tor<String>& addedSelectors);
57 57
58 virtual void trace(Visitor*) override; 58 DECLARE_VIRTUAL_TRACE();
59 59
60 private: 60 private:
61 explicit CSSSelectorWatch(Document&); 61 explicit CSSSelectorWatch(Document&);
62 void callbackSelectorChangeTimerFired(Timer<CSSSelectorWatch>*); 62 void callbackSelectorChangeTimerFired(Timer<CSSSelectorWatch>*);
63 Document& document() const { return *m_document; } 63 Document& document() const { return *m_document; }
64 64
65 RawPtrWillBeMember<Document> m_document; 65 RawPtrWillBeMember<Document> m_document;
66 66
67 WillBeHeapVector<RefPtrWillBeMember<StyleRule> > m_watchedCallbackSelectors; 67 WillBeHeapVector<RefPtrWillBeMember<StyleRule> > m_watchedCallbackSelectors;
68 68
69 // Maps a CSS selector string with a -webkit-callback property to the number 69 // Maps a CSS selector string with a -webkit-callback property to the number
70 // of matching LayoutStyle objects in this document. 70 // of matching LayoutStyle objects in this document.
71 HashCountedSet<String> m_matchingCallbackSelectors; 71 HashCountedSet<String> m_matchingCallbackSelectors;
72 // Selectors are relative to m_matchingCallbackSelectors's contents at 72 // Selectors are relative to m_matchingCallbackSelectors's contents at
73 // the previous call to selectorMatchChanged. 73 // the previous call to selectorMatchChanged.
74 HashSet<String> m_addedSelectors; 74 HashSet<String> m_addedSelectors;
75 HashSet<String> m_removedSelectors; 75 HashSet<String> m_removedSelectors;
76 76
77 Timer<CSSSelectorWatch> m_callbackSelectorChangeTimer; 77 Timer<CSSSelectorWatch> m_callbackSelectorChangeTimer;
78 78
79 // When an element is reparented, the new location's style is evaluated afte r the expriation of the relayout timer. 79 // When an element is reparented, the new location's style is evaluated afte r the expriation of the relayout timer.
80 // We don't want to send redundant callbacks to the embedder, so this counte r lets us wait another time around the event loop. 80 // We don't want to send redundant callbacks to the embedder, so this counte r lets us wait another time around the event loop.
81 int m_timerExpirations; 81 int m_timerExpirations;
82 }; 82 };
83 83
84 } // namespace blink 84 } // namespace blink
85 85
86 #endif // CSSSelectorWatch_h 86 #endif // CSSSelectorWatch_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698