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

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

Issue 2553343002: Avoid WTF::Vector::at() and operator[] in core/dom. (Closed)
Patch Set: Created 4 years 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) 2011 Google Inc. All Rights Reserved. 2 * Copyright (C) 2011 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 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 if (event && event->interfaceName() == eventInterfaceFilter) { 100 if (event && event->interfaceName() == eventInterfaceFilter) {
101 m_perFrameEvents.remove(eventTargetKey(event.get())); 101 m_perFrameEvents.remove(eventTargetKey(event.get()));
102 events.append(event.release()); 102 events.append(event.release());
103 } else { 103 } else {
104 remaining.append(event.release()); 104 remaining.append(event.release());
105 } 105 }
106 } 106 }
107 remaining.swap(m_eventQueue); 107 remaining.swap(m_eventQueue);
108 } 108 }
109 109
110 for (size_t i = 0; i < events.size(); ++i) { 110 for (const auto& event : events) {
111 EventTarget* eventTarget = events[i]->target(); 111 EventTarget* eventTarget = event->target();
112 // FIXME: we should figure out how to make dispatchEvent properly virtual to 112 // FIXME: we should figure out how to make dispatchEvent properly virtual to
113 // avoid special casting window. 113 // avoid special casting window.
114 // FIXME: We should not fire events for nodes that are no longer in the 114 // FIXME: We should not fire events for nodes that are no longer in the
115 // tree. 115 // tree.
116 InspectorInstrumentation::AsyncTask asyncTask( 116 InspectorInstrumentation::AsyncTask asyncTask(
117 eventTarget->getExecutionContext(), events[i]); 117 eventTarget->getExecutionContext(), event);
118 if (LocalDOMWindow* window = eventTarget->toLocalDOMWindow()) 118 if (LocalDOMWindow* window = eventTarget->toLocalDOMWindow())
119 window->dispatchEvent(events[i], nullptr); 119 window->dispatchEvent(event, nullptr);
120 else 120 else
121 eventTarget->dispatchEvent(events[i]); 121 eventTarget->dispatchEvent(event);
122 } 122 }
123 } 123 }
124 124
125 void ScriptedAnimationController::executeCallbacks(double monotonicTimeNow) { 125 void ScriptedAnimationController::executeCallbacks(double monotonicTimeNow) {
126 // dispatchEvents() runs script which can cause the document to be destroyed. 126 // dispatchEvents() runs script which can cause the document to be destroyed.
127 if (!m_document) 127 if (!m_document)
128 return; 128 return;
129 129
130 double highResNowMs = 130 double highResNowMs =
131 1000.0 * 131 1000.0 *
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 } 182 }
183 183
184 void ScriptedAnimationController::enqueuePerFrameEvent(Event* event) { 184 void ScriptedAnimationController::enqueuePerFrameEvent(Event* event) {
185 if (!m_perFrameEvents.add(eventTargetKey(event)).isNewEntry) 185 if (!m_perFrameEvents.add(eventTargetKey(event)).isNewEntry)
186 return; 186 return;
187 enqueueEvent(event); 187 enqueueEvent(event);
188 } 188 }
189 189
190 void ScriptedAnimationController::enqueueMediaQueryChangeListeners( 190 void ScriptedAnimationController::enqueueMediaQueryChangeListeners(
191 HeapVector<Member<MediaQueryListListener>>& listeners) { 191 HeapVector<Member<MediaQueryListListener>>& listeners) {
192 for (size_t i = 0; i < listeners.size(); ++i) { 192 for (const auto& listener : listeners) {
193 m_mediaQueryListListeners.add(listeners[i]); 193 m_mediaQueryListListeners.add(listener);
194 } 194 }
195 scheduleAnimationIfNeeded(); 195 scheduleAnimationIfNeeded();
196 } 196 }
197 197
198 void ScriptedAnimationController::scheduleAnimationIfNeeded() { 198 void ScriptedAnimationController::scheduleAnimationIfNeeded() {
199 if (!hasScheduledItems()) 199 if (!hasScheduledItems())
200 return; 200 return;
201 201
202 if (!m_document) 202 if (!m_document)
203 return; 203 return;
204 204
205 if (FrameView* frameView = m_document->view()) 205 if (FrameView* frameView = m_document->view())
206 frameView->scheduleAnimation(); 206 frameView->scheduleAnimation();
207 } 207 }
208 208
209 } // namespace blink 209 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/dom/Node.cpp ('k') | third_party/WebKit/Source/core/dom/SelectorQuery.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698