Title: [108465] trunk/Source/WebCore
- Revision
- 108465
- Author
- aba...@webkit.org
- Date
- 2012-02-22 01:45:55 -0800 (Wed, 22 Feb 2012)
Log Message
[GTK] fast/frames/frame-dead-region.html crash
https://bugs.webkit.org/show_bug.cgi?id=79205
Unreviewed.
Apparently we're not supposed to call willDetachPage from
CachedFrame::destroy. This call got added in
http://trac.webkit.org/changeset/108428, but it seems to cause a crash.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::closeAndRemoveChild):
(WebCore::FrameLoader::detachFromParent):
* page/Frame.h:
(WebCore::Frame::detachFromPage):
* page/Page.cpp:
(WebCore::Page::~Page):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (108464 => 108465)
--- trunk/Source/WebCore/ChangeLog 2012-02-22 09:40:27 UTC (rev 108464)
+++ trunk/Source/WebCore/ChangeLog 2012-02-22 09:45:55 UTC (rev 108465)
@@ -1,5 +1,24 @@
2012-02-22 Adam Barth <aba...@webkit.org>
+ [GTK] fast/frames/frame-dead-region.html crash
+ https://bugs.webkit.org/show_bug.cgi?id=79205
+
+ Unreviewed.
+
+ Apparently we're not supposed to call willDetachPage from
+ CachedFrame::destroy. This call got added in
+ http://trac.webkit.org/changeset/108428, but it seems to cause a crash.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::closeAndRemoveChild):
+ (WebCore::FrameLoader::detachFromParent):
+ * page/Frame.h:
+ (WebCore::Frame::detachFromPage):
+ * page/Page.cpp:
+ (WebCore::Page::~Page):
+
+2012-02-22 Adam Barth <aba...@webkit.org>
+
Move Geolocation code into Modules/geolocation
https://bugs.webkit.org/show_bug.cgi?id=79204
Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (108464 => 108465)
--- trunk/Source/WebCore/loader/FrameLoader.cpp 2012-02-22 09:40:27 UTC (rev 108464)
+++ trunk/Source/WebCore/loader/FrameLoader.cpp 2012-02-22 09:45:55 UTC (rev 108465)
@@ -2439,6 +2439,7 @@
child->setView(0);
if (child->ownerElement() && child->page())
child->page()->decrementFrameCount();
+ child->willDetachPage();
child->detachFromPage();
m_frame->tree()->removeChild(child);
@@ -2517,6 +2518,7 @@
parent->loader()->scheduleCheckCompleted();
} else {
m_frame->setView(0);
+ m_frame->willDetachPage();
m_frame->detachFromPage();
}
}
Modified: trunk/Source/WebCore/page/Frame.h (108464 => 108465)
--- trunk/Source/WebCore/page/Frame.h 2012-02-22 09:40:27 UTC (rev 108464)
+++ trunk/Source/WebCore/page/Frame.h 2012-02-22 09:45:55 UTC (rev 108465)
@@ -348,7 +348,6 @@
inline void Frame::detachFromPage()
{
- willDetachPage();
m_page = 0;
}
Modified: trunk/Source/WebCore/page/Page.cpp (108464 => 108465)
--- trunk/Source/WebCore/page/Page.cpp 2012-02-22 09:40:27 UTC (rev 108464)
+++ trunk/Source/WebCore/page/Page.cpp 2012-02-22 09:45:55 UTC (rev 108465)
@@ -187,8 +187,10 @@
setGroupName(String());
allPages->remove(this);
- for (Frame* frame = mainFrame(); frame; frame = frame->tree()->traverseNext())
+ for (Frame* frame = mainFrame(); frame; frame = frame->tree()->traverseNext()) {
+ frame->willDetachPage();
frame->detachFromPage();
+ }
m_editorClient->pageDestroyed();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes