Changeset 125832 in webkit


Ignore:
Timestamp:
Aug 16, 2012 5:29:35 PM (12 years ago)
Author:
abarth@webkit.org
Message:

Rename DOMWindow::clear to something more descriptive
https://bugs.webkit.org/show_bug.cgi?id=93993

Reviewed by Eric Seidel.

As requested by Eric Seidel. In WebKit, we typically use "clear" to
mean zeroing out a pointer (e.g., OwnPtr::clear). For DOMWindow, it's
more like we're resetting the DOMWindow to a known state (i.e., its
initial state), modulo a wrinkle w.r.t. the PageCache. The new name
attempts to clarify the situation.

  • dom/Document.cpp:

(WebCore::Document::~Document):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::clear):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::~DOMWindow):
(WebCore::DOMWindow::frameDestroyed):
(WebCore::DOMWindow::resetUnlessSuspendedForPageCache):
(WebCore::DOMWindow::resetDOMWindowProperties):

  • page/DOMWindow.h:

(DOMWindow):

Location:
trunk/Source/WebCore
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r125831 r125832  
     12012-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
    1262012-08-16  Sheriff Bot  <webkit.review.bot@gmail.com>
    227
  • trunk/Source/WebCore/dom/Document.cpp

    r125710 r125832  
    613613    ASSERT(!m_guardRefCount);
    614614
    615     // FIXME: Should we clear m_domWindow when we detach from the Frame?
     615    // FIXME: Should we reset m_domWindow when we detach from the Frame?
    616616    if (m_domWindow)
    617         m_domWindow->clear();
     617        m_domWindow->resetUnlessSuspendedForPageCache();
    618618
    619619    m_scriptRunner.clear();
  • trunk/Source/WebCore/loader/FrameLoader.cpp

    r125829 r125832  
    562562    if (clearWindowProperties) {
    563563        InspectorInstrumentation::frameWindowDiscarded(m_frame, m_frame->document()->domWindow());
    564         m_frame->document()->domWindow()->clear();
     564        m_frame->document()->domWindow()->resetUnlessSuspendedForPageCache();
    565565        m_frame->script()->clearWindowShell(newDocument->domWindow(), m_frame->document()->inPageCache());
    566566    }
  • trunk/Source/WebCore/page/DOMWindow.cpp

    r125761 r125832  
    438438        willDestroyDocumentInFrame();
    439439
    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.
    441441    // But we don't want to risk any of these objects hanging around after we've been destroyed.
    442     clearDOMWindowProperties();
     442    resetDOMWindowProperties();
    443443
    444444    removeAllUnloadEventListeners(this);
     
    475475    willDestroyDocumentInFrame();
    476476    FrameDestructionObserver::frameDestroyed();
    477     clearDOMWindowProperties();
     477    resetDOMWindowProperties();
    478478}
    479479
     
    523523}
    524524
    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.
     525void DOMWindow::resetUnlessSuspendedForPageCache()
     526{
    530527    if (m_suspendedForPageCache)
    531528        return;
    532    
    533529    willDestroyDocumentInFrame();
    534     clearDOMWindowProperties();
     530    resetDOMWindowProperties();
    535531}
    536532
     
    568564}
    569565
    570 void DOMWindow::clearDOMWindowProperties()
     566void DOMWindow::resetDOMWindowProperties()
    571567{
    572568    m_properties.clear();
  • trunk/Source/WebCore/page/DOMWindow.h

    r125761 r125832  
    110110        void unregisterProperty(DOMWindowProperty*);
    111111
    112         void clear();
     112        void resetUnlessSuspendedForPageCache();
    113113        void suspendForPageCache();
    114114        void resumeFromPageCache();
     
    423423        bool isInsecureScriptAccess(DOMWindow* activeWindow, const String& urlString);
    424424
    425         void clearDOMWindowProperties();
     425        void resetDOMWindowProperties();
    426426        void disconnectDOMWindowProperties();
    427427        void reconnectDOMWindowProperties();
Note: See TracChangeset for help on using the changeset viewer.