[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.15.1-1414-gc69ee75
eric at webkit.org
eric at webkit.org
Thu Oct 29 20:40:26 UTC 2009
The following commit has been merged in the webkit-1.1 branch:
commit 5aee6763a8a7d7884f22b643591d1cf10555f125
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Oct 6 18:20:33 2009 +0000
2009-10-06 Adam Barth <abarth at webkit.org>
Reviewed by Eric Seidel.
Move m_openedByDOM to Page
https://bugs.webkit.org/show_bug.cgi?id=30109
We only need one instance of m_openedByDOM per page, we should move it
to a page-scoped object. Notice that it's only ever touched for the
main frame.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::createWindow):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::createWindow):
* loader/FrameLoader.cpp:
* loader/FrameLoader.h:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::close):
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::openedByDOM):
(WebCore::Page::setOpenedByDOM):
* page/Page.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49196 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 40e1e07..d3ab88c 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,28 @@
+2009-10-06 Adam Barth <abarth at webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Move m_openedByDOM to Page
+ https://bugs.webkit.org/show_bug.cgi?id=30109
+
+ We only need one instance of m_openedByDOM per page, we should move it
+ to a page-scoped object. Notice that it's only ever touched for the
+ main frame.
+
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::createWindow):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::createWindow):
+ * loader/FrameLoader.cpp:
+ * loader/FrameLoader.h:
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::close):
+ * page/Page.cpp:
+ (WebCore::Page::Page):
+ (WebCore::Page::openedByDOM):
+ (WebCore::Page::setOpenedByDOM):
+ * page/Page.h:
+
2009-10-06 Carol Szabo <carol.szabo at nokia.com>
Reviewed by Ariya Hidayat.
diff --git a/WebCore/bindings/js/JSDOMWindowCustom.cpp b/WebCore/bindings/js/JSDOMWindowCustom.cpp
index 7ddc5ed..6a66a4d 100644
--- a/WebCore/bindings/js/JSDOMWindowCustom.cpp
+++ b/WebCore/bindings/js/JSDOMWindowCustom.cpp
@@ -770,7 +770,7 @@ static Frame* createWindow(ExecState* exec, Frame* lexicalFrame, Frame* dynamicF
return 0;
newFrame->loader()->setOpener(openerFrame);
- newFrame->loader()->setOpenedByDOM();
+ newFrame->page()->setOpenedByDOM();
JSDOMWindow* newWindow = toJSDOMWindow(newFrame);
diff --git a/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp b/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp
index 918536d..ae31fa7 100644
--- a/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp
@@ -496,7 +496,7 @@ static Frame* createWindow(Frame* callingFrame,
return 0;
newFrame->loader()->setOpener(openerFrame);
- newFrame->loader()->setOpenedByDOM();
+ newFrame->page()->setOpenedByDOM();
// Set dialog arguments on the global object of the new frame.
if (!dialogArgs.IsEmpty()) {
diff --git a/WebCore/loader/FrameLoader.cpp b/WebCore/loader/FrameLoader.cpp
index d21c6a9..c802f2a 100644
--- a/WebCore/loader/FrameLoader.cpp
+++ b/WebCore/loader/FrameLoader.cpp
@@ -1533,16 +1533,6 @@ void FrameLoader::setOpener(Frame* opener)
}
}
-bool FrameLoader::openedByDOM() const
-{
- return m_openedByDOM;
-}
-
-void FrameLoader::setOpenedByDOM()
-{
- m_openedByDOM = true;
-}
-
void FrameLoader::handleFallbackContent()
{
HTMLFrameOwnerElement* owner = m_frame->ownerElement();
@@ -3830,7 +3820,7 @@ void FrameLoader::continueLoadAfterNewWindowPolicy(const ResourceRequest& reques
if (frameName != "_blank")
mainFrame->tree()->setName(frameName);
- mainFrame->loader()->setOpenedByDOM();
+ mainFrame->page()->setOpenedByDOM();
mainFrame->loader()->m_client->dispatchShow();
mainFrame->loader()->setOpener(frame.get());
mainFrame->loader()->loadWithNavigationAction(request, NavigationAction(), false, FrameLoadTypeStandard, formState);
diff --git a/WebCore/loader/FrameLoader.h b/WebCore/loader/FrameLoader.h
index e4773d2..5793b4c 100644
--- a/WebCore/loader/FrameLoader.h
+++ b/WebCore/loader/FrameLoader.h
@@ -272,8 +272,6 @@ namespace WebCore {
Frame* opener();
void setOpener(Frame*);
- bool openedByDOM() const;
- void setOpenedByDOM();
bool isProcessingUserGesture();
diff --git a/WebCore/page/DOMWindow.cpp b/WebCore/page/DOMWindow.cpp
index 492523f..aa6012b 100644
--- a/WebCore/page/DOMWindow.cpp
+++ b/WebCore/page/DOMWindow.cpp
@@ -739,12 +739,9 @@ void DOMWindow::close()
return;
Settings* settings = m_frame->settings();
- bool allowScriptsToCloseWindows =
- settings && settings->allowScriptsToCloseWindows();
+ bool allowScriptsToCloseWindows = settings && settings->allowScriptsToCloseWindows();
- if (m_frame->loader()->openedByDOM()
- || page->getHistoryLength() <= 1
- || allowScriptsToCloseWindows)
+ if (page->openedByDOM() || page->getHistoryLength() <= 1 || allowScriptsToCloseWindows)
m_frame->scheduleClose();
}
diff --git a/WebCore/page/Page.cpp b/WebCore/page/Page.cpp
index 105bc46..397cb72 100644
--- a/WebCore/page/Page.cpp
+++ b/WebCore/page/Page.cpp
@@ -119,6 +119,7 @@ Page::Page(ChromeClient* chromeClient, ContextMenuClient* contextMenuClient, Edi
, m_theme(RenderTheme::themeForPage(this))
, m_editorClient(editorClient)
, m_frameCount(0)
+ , m_openedByDOM(false)
, m_tabKeyCyclesThroughElements(true)
, m_defersLoading(false)
, m_inLowQualityInterpolationMode(false)
@@ -201,6 +202,16 @@ void Page::setMainFrame(PassRefPtr<Frame> mainFrame)
m_mainFrame = mainFrame;
}
+bool Page::openedByDOM() const
+{
+ return m_openedByDOM;
+}
+
+void Page::setOpenedByDOM()
+{
+ m_openedByDOM = true;
+}
+
BackForwardList* Page::backForwardList()
{
return m_backForwardList.get();
diff --git a/WebCore/page/Page.h b/WebCore/page/Page.h
index 52ad05b..cab075e 100644
--- a/WebCore/page/Page.h
+++ b/WebCore/page/Page.h
@@ -103,6 +103,9 @@ namespace WebCore {
void setMainFrame(PassRefPtr<Frame>);
Frame* mainFrame() const { return m_mainFrame.get(); }
+ bool openedByDOM() const;
+ void setOpenedByDOM();
+
BackForwardList* backForwardList();
// FIXME: The following three methods don't fall under the responsibilities of the Page object
@@ -264,6 +267,7 @@ namespace WebCore {
int m_frameCount;
String m_groupName;
+ bool m_openedByDOM;
bool m_tabKeyCyclesThroughElements;
bool m_defersLoading;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list