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

Side by Side Diff: third_party/WebKit/Source/core/dom/CSSSelectorWatch.cpp

Issue 1686483002: Oilpan: Remove most WillBe types from the code base (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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) 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 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 , m_callbackSelectorChangeTimer(this, &CSSSelectorWatch::callbackSelectorCha ngeTimerFired) 49 , m_callbackSelectorChangeTimer(this, &CSSSelectorWatch::callbackSelectorCha ngeTimerFired)
50 , m_timerExpirations(0) 50 , m_timerExpirations(0)
51 { 51 {
52 } 52 }
53 53
54 CSSSelectorWatch& CSSSelectorWatch::from(Document& document) 54 CSSSelectorWatch& CSSSelectorWatch::from(Document& document)
55 { 55 {
56 CSSSelectorWatch* watch = fromIfExists(document); 56 CSSSelectorWatch* watch = fromIfExists(document);
57 if (!watch) { 57 if (!watch) {
58 watch = new CSSSelectorWatch(document); 58 watch = new CSSSelectorWatch(document);
59 WillBeHeapSupplement<Document>::provideTo(document, kSupplementName, ado ptPtrWillBeNoop(watch)); 59 HeapSupplement<Document>::provideTo(document, kSupplementName, adoptPtrW illBeNoop(watch));
60 } 60 }
61 return *watch; 61 return *watch;
62 } 62 }
63 63
64 CSSSelectorWatch* CSSSelectorWatch::fromIfExists(Document& document) 64 CSSSelectorWatch* CSSSelectorWatch::fromIfExists(Document& document)
65 { 65 {
66 return static_cast<CSSSelectorWatch*>(WillBeHeapSupplement<Document>::from(d ocument, kSupplementName)); 66 return static_cast<CSSSelectorWatch*>(HeapSupplement<Document>::from(documen t, kSupplementName));
67 } 67 }
68 68
69 void CSSSelectorWatch::callbackSelectorChangeTimerFired(Timer<CSSSelectorWatch>* ) 69 void CSSSelectorWatch::callbackSelectorChangeTimerFired(Timer<CSSSelectorWatch>* )
70 { 70 {
71 // Should be ensured by updateSelectorMatches(): 71 // Should be ensured by updateSelectorMatches():
72 ASSERT(!m_addedSelectors.isEmpty() || !m_removedSelectors.isEmpty()); 72 ASSERT(!m_addedSelectors.isEmpty() || !m_removedSelectors.isEmpty());
73 73
74 if (m_timerExpirations < 1) { 74 if (m_timerExpirations < 1) {
75 m_timerExpirations++; 75 m_timerExpirations++;
76 m_callbackSelectorChangeTimer.startOneShot(0, BLINK_FROM_HERE); 76 m_callbackSelectorChangeTimer.startOneShot(0, BLINK_FROM_HERE);
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 if (!selector->isCompound()) 139 if (!selector->isCompound())
140 return false; 140 return false;
141 } 141 }
142 return true; 142 return true;
143 } 143 }
144 144
145 void CSSSelectorWatch::watchCSSSelectors(const Vector<String>& selectors) 145 void CSSSelectorWatch::watchCSSSelectors(const Vector<String>& selectors)
146 { 146 {
147 m_watchedCallbackSelectors.clear(); 147 m_watchedCallbackSelectors.clear();
148 148
149 const RefPtrWillBeRawPtr<StylePropertySet> callbackPropertySet = ImmutableSt ylePropertySet::create(nullptr, 0, UASheetMode); 149 const RawPtr<StylePropertySet> callbackPropertySet = ImmutableStylePropertyS et::create(nullptr, 0, UASheetMode);
150 150
151 for (unsigned i = 0; i < selectors.size(); ++i) { 151 for (unsigned i = 0; i < selectors.size(); ++i) {
152 CSSSelectorList selectorList = CSSParser::parseSelector(CSSParserContext (UASheetMode, 0), nullptr, selectors[i]); 152 CSSSelectorList selectorList = CSSParser::parseSelector(CSSParserContext (UASheetMode, 0), nullptr, selectors[i]);
153 if (!selectorList.isValid()) 153 if (!selectorList.isValid())
154 continue; 154 continue;
155 155
156 // Only accept Compound Selectors, since they're cheaper to match. 156 // Only accept Compound Selectors, since they're cheaper to match.
157 if (!allCompound(selectorList)) 157 if (!allCompound(selectorList))
158 continue; 158 continue;
159 159
160 m_watchedCallbackSelectors.append(StyleRule::create(std::move(selectorLi st), callbackPropertySet)); 160 m_watchedCallbackSelectors.append(StyleRule::create(std::move(selectorLi st), callbackPropertySet));
161 } 161 }
162 document().styleEngine().watchedSelectorsChanged(); 162 document().styleEngine().watchedSelectorsChanged();
163 } 163 }
164 164
165 DEFINE_TRACE(CSSSelectorWatch) 165 DEFINE_TRACE(CSSSelectorWatch)
166 { 166 {
167 visitor->trace(m_watchedCallbackSelectors); 167 visitor->trace(m_watchedCallbackSelectors);
168 visitor->trace(m_document); 168 visitor->trace(m_document);
169 WillBeHeapSupplement<Document>::trace(visitor); 169 HeapSupplement<Document>::trace(visitor);
170 } 170 }
171 171
172 } // namespace blink 172 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/dom/CSSSelectorWatch.h ('k') | third_party/WebKit/Source/core/dom/CharacterData.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698