Changeset 150741 in webkit
- Timestamp:
- May 27, 2013 2:13:11 AM (11 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r150738 r150741 1 2013-05-27 Allan Sandfeld Jensen <allan.jensen@digia.com> 2 3 Active DOM objects stopped twice 4 https://bugs.webkit.org/show_bug.cgi?id=116524 5 6 Reviewed by Alexey Proskuryakov. 7 8 Only iterate over all active DOM object to stop them once. 9 10 To ensure later created active DOM objects are stopped, 11 suspendActiveDOMObjectIfNeeded now also stops active DOM objects 12 if needed. This also fixes an existing bug when active DOM 13 objects were created after stopActiveDOMObjects had been called. 14 15 Two existing tests creates new active DOM objects after stopActiveDOMObjects 16 has been called: 17 fast/dom/xmlhttprequest-constructor-in-detached-document.html 18 fast/dom/Window/timer-null-script-execution-context.html 19 20 * dom/ScriptExecutionContext.cpp: 21 (WebCore::ScriptExecutionContext::stopActiveDOMObjects): 22 (WebCore::ScriptExecutionContext::suspendActiveDOMObjectIfNeeded): 23 1 24 2013-05-27 Charles Wei <charles.wei@torchmobile.com.cn> 2 25 -
trunk/Source/WebCore/dom/ScriptExecutionContext.cpp
r150560 r150741 213 213 void ScriptExecutionContext::stopActiveDOMObjects() 214 214 { 215 if (m_activeDOMObjectsAreStopped) 216 return; 215 217 m_activeDOMObjectsAreStopped = true; 216 218 // No protection against m_activeDOMObjects changing during iteration: stop() shouldn't execute arbitrary JS. … … 234 236 if (m_activeDOMObjectsAreSuspended) 235 237 object->suspend(m_reasonForSuspendingActiveDOMObjects); 238 if (m_activeDOMObjectsAreStopped) 239 object->stop(); 236 240 } 237 241
Note: See TracChangeset
for help on using the changeset viewer.