Title: [125832] trunk/Source/WebCore
- Revision
- 125832
- Author
- [email protected]
- Date
- 2012-08-16 17:29:35 -0700 (Thu, 16 Aug 2012)
Log 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):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (125831 => 125832)
--- trunk/Source/WebCore/ChangeLog 2012-08-17 00:18:29 UTC (rev 125831)
+++ trunk/Source/WebCore/ChangeLog 2012-08-17 00:29:35 UTC (rev 125832)
@@ -1,3 +1,28 @@
+2012-08-16 Adam Barth <[email protected]>
+
+ 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):
+
2012-08-16 Sheriff Bot <[email protected]>
Unreviewed, rolling out r125717.
Modified: trunk/Source/WebCore/dom/Document.cpp (125831 => 125832)
--- trunk/Source/WebCore/dom/Document.cpp 2012-08-17 00:18:29 UTC (rev 125831)
+++ trunk/Source/WebCore/dom/Document.cpp 2012-08-17 00:29:35 UTC (rev 125832)
@@ -612,9 +612,9 @@
ASSERT(!m_parentTreeScope);
ASSERT(!m_guardRefCount);
- // FIXME: Should we clear m_domWindow when we detach from the Frame?
+ // FIXME: Should we reset m_domWindow when we detach from the Frame?
if (m_domWindow)
- m_domWindow->clear();
+ m_domWindow->resetUnlessSuspendedForPageCache();
m_scriptRunner.clear();
Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (125831 => 125832)
--- trunk/Source/WebCore/loader/FrameLoader.cpp 2012-08-17 00:18:29 UTC (rev 125831)
+++ trunk/Source/WebCore/loader/FrameLoader.cpp 2012-08-17 00:29:35 UTC (rev 125832)
@@ -561,7 +561,7 @@
// Do this after detaching the document so that the unload event works.
if (clearWindowProperties) {
InspectorInstrumentation::frameWindowDiscarded(m_frame, m_frame->document()->domWindow());
- m_frame->document()->domWindow()->clear();
+ m_frame->document()->domWindow()->resetUnlessSuspendedForPageCache();
m_frame->script()->clearWindowShell(newDocument->domWindow(), m_frame->document()->inPageCache());
}
Modified: trunk/Source/WebCore/page/DOMWindow.cpp (125831 => 125832)
--- trunk/Source/WebCore/page/DOMWindow.cpp 2012-08-17 00:18:29 UTC (rev 125831)
+++ trunk/Source/WebCore/page/DOMWindow.cpp 2012-08-17 00:29:35 UTC (rev 125832)
@@ -437,9 +437,9 @@
else
willDestroyDocumentInFrame();
- // As the ASSERTs above indicate, this clear should only be necesary if this DOMWindow is suspended for the page cache.
+ // As the ASSERTs above indicate, this reset should only be necessary if this DOMWindow is suspended for the page cache.
// But we don't want to risk any of these objects hanging around after we've been destroyed.
- clearDOMWindowProperties();
+ resetDOMWindowProperties();
removeAllUnloadEventListeners(this);
removeAllBeforeUnloadEventListeners(this);
@@ -474,7 +474,7 @@
{
willDestroyDocumentInFrame();
FrameDestructionObserver::frameDestroyed();
- clearDOMWindowProperties();
+ resetDOMWindowProperties();
}
void DOMWindow::willDetachPage()
@@ -522,16 +522,12 @@
m_properties.remove(property);
}
-void DOMWindow::clear()
+void DOMWindow::resetUnlessSuspendedForPageCache()
{
- // The main frame will always try to clear its DOMWindow when a new load is committed, even if that
- // DOMWindow is suspended in the page cache.
- // In those cases we need to make sure we don't actually clear it.
if (m_suspendedForPageCache)
return;
-
willDestroyDocumentInFrame();
- clearDOMWindowProperties();
+ resetDOMWindowProperties();
}
void DOMWindow::suspendForPageCache()
@@ -567,7 +563,7 @@
properties[i]->reconnectFrameFromPageCache(m_frame);
}
-void DOMWindow::clearDOMWindowProperties()
+void DOMWindow::resetDOMWindowProperties()
{
m_properties.clear();
Modified: trunk/Source/WebCore/page/DOMWindow.h (125831 => 125832)
--- trunk/Source/WebCore/page/DOMWindow.h 2012-08-17 00:18:29 UTC (rev 125831)
+++ trunk/Source/WebCore/page/DOMWindow.h 2012-08-17 00:29:35 UTC (rev 125832)
@@ -109,7 +109,7 @@
void registerProperty(DOMWindowProperty*);
void unregisterProperty(DOMWindowProperty*);
- void clear();
+ void resetUnlessSuspendedForPageCache();
void suspendForPageCache();
void resumeFromPageCache();
@@ -422,7 +422,7 @@
PrepareDialogFunction = 0, void* functionContext = 0);
bool isInsecureScriptAccess(DOMWindow* activeWindow, const String& urlString);
- void clearDOMWindowProperties();
+ void resetDOMWindowProperties();
void disconnectDOMWindowProperties();
void reconnectDOMWindowProperties();
void willDestroyDocumentInFrame();
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes