Changeset 125832 in webkit
- Timestamp:
- Aug 16, 2012 5:29:35 PM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r125831 r125832 1 2012-08-16 Adam Barth <abarth@webkit.org> 2 3 Rename DOMWindow::clear to something more descriptive 4 https://bugs.webkit.org/show_bug.cgi?id=93993 5 6 Reviewed by Eric Seidel. 7 8 As requested by Eric Seidel. In WebKit, we typically use "clear" to 9 mean zeroing out a pointer (e.g., OwnPtr::clear). For DOMWindow, it's 10 more like we're resetting the DOMWindow to a known state (i.e., its 11 initial state), modulo a wrinkle w.r.t. the PageCache. The new name 12 attempts to clarify the situation. 13 14 * dom/Document.cpp: 15 (WebCore::Document::~Document): 16 * loader/FrameLoader.cpp: 17 (WebCore::FrameLoader::clear): 18 * page/DOMWindow.cpp: 19 (WebCore::DOMWindow::~DOMWindow): 20 (WebCore::DOMWindow::frameDestroyed): 21 (WebCore::DOMWindow::resetUnlessSuspendedForPageCache): 22 (WebCore::DOMWindow::resetDOMWindowProperties): 23 * page/DOMWindow.h: 24 (DOMWindow): 25 1 26 2012-08-16 Sheriff Bot <webkit.review.bot@gmail.com> 2 27 -
trunk/Source/WebCore/dom/Document.cpp
r125710 r125832 613 613 ASSERT(!m_guardRefCount); 614 614 615 // FIXME: Should we clearm_domWindow when we detach from the Frame?615 // FIXME: Should we reset m_domWindow when we detach from the Frame? 616 616 if (m_domWindow) 617 m_domWindow-> clear();617 m_domWindow->resetUnlessSuspendedForPageCache(); 618 618 619 619 m_scriptRunner.clear(); -
trunk/Source/WebCore/loader/FrameLoader.cpp
r125829 r125832 562 562 if (clearWindowProperties) { 563 563 InspectorInstrumentation::frameWindowDiscarded(m_frame, m_frame->document()->domWindow()); 564 m_frame->document()->domWindow()-> clear();564 m_frame->document()->domWindow()->resetUnlessSuspendedForPageCache(); 565 565 m_frame->script()->clearWindowShell(newDocument->domWindow(), m_frame->document()->inPageCache()); 566 566 } -
trunk/Source/WebCore/page/DOMWindow.cpp
r125761 r125832 438 438 willDestroyDocumentInFrame(); 439 439 440 // As the ASSERTs above indicate, this clear should only be necesary if this DOMWindow is suspended for the page cache.440 // As the ASSERTs above indicate, this reset should only be necessary if this DOMWindow is suspended for the page cache. 441 441 // But we don't want to risk any of these objects hanging around after we've been destroyed. 442 clearDOMWindowProperties();442 resetDOMWindowProperties(); 443 443 444 444 removeAllUnloadEventListeners(this); … … 475 475 willDestroyDocumentInFrame(); 476 476 FrameDestructionObserver::frameDestroyed(); 477 clearDOMWindowProperties();477 resetDOMWindowProperties(); 478 478 } 479 479 … … 523 523 } 524 524 525 void DOMWindow::clear() 526 { 527 // The main frame will always try to clear its DOMWindow when a new load is committed, even if that 528 // DOMWindow is suspended in the page cache. 529 // In those cases we need to make sure we don't actually clear it. 525 void DOMWindow::resetUnlessSuspendedForPageCache() 526 { 530 527 if (m_suspendedForPageCache) 531 528 return; 532 533 529 willDestroyDocumentInFrame(); 534 clearDOMWindowProperties();530 resetDOMWindowProperties(); 535 531 } 536 532 … … 568 564 } 569 565 570 void DOMWindow:: clearDOMWindowProperties()566 void DOMWindow::resetDOMWindowProperties() 571 567 { 572 568 m_properties.clear(); -
trunk/Source/WebCore/page/DOMWindow.h
r125761 r125832 110 110 void unregisterProperty(DOMWindowProperty*); 111 111 112 void clear();112 void resetUnlessSuspendedForPageCache(); 113 113 void suspendForPageCache(); 114 114 void resumeFromPageCache(); … … 423 423 bool isInsecureScriptAccess(DOMWindow* activeWindow, const String& urlString); 424 424 425 void clearDOMWindowProperties();425 void resetDOMWindowProperties(); 426 426 void disconnectDOMWindowProperties(); 427 427 void reconnectDOMWindowProperties();
Note: See TracChangeset
for help on using the changeset viewer.