Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Change structure of frame tree in WINCE port.
https://bugs.webkit.org/show_bug.cgi?id=121079

Patch by Zhuang Zhigang <zhuangzg@cn.fujitsu.com> on 2013-11-04
Reviewed by Darin Adler.

* WebCoreSupport/FrameLoaderClientWinCE.cpp:
(WebKit::FrameLoaderClientWinCE::createFrame):
* WebView.cpp:
(WebView::createFrame):
* WebView.h:

Canonical link: https://commits.webkit.org/141953@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158616 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
Zhuang Zhigang authored and webkit-commit-queue committed Nov 5, 2013
1 parent 70f7d58 commit 8d96e1c
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 7 deletions.
13 changes: 13 additions & 0 deletions Source/WebKit/wince/ChangeLog
@@ -1,3 +1,16 @@
2013-11-04 Zhuang Zhigang <zhuangzg@cn.fujitsu.com>

Change structure of frame tree in WINCE port.
https://bugs.webkit.org/show_bug.cgi?id=121079

Reviewed by Darin Adler.

* WebCoreSupport/FrameLoaderClientWinCE.cpp:
(WebKit::FrameLoaderClientWinCE::createFrame):
* WebView.cpp:
(WebView::createFrame):
* WebView.h:

2013-11-03 Patrick Gansterer <paroga@webkit.org>

[WINCE] Replace OwnPtr with GDIObject
Expand Down
Expand Up @@ -171,7 +171,7 @@ PassRefPtr<Widget> FrameLoaderClientWinCE::createPlugin(const IntSize&, HTMLPlug
PassRefPtr<Frame> FrameLoaderClientWinCE::createFrame(const URL& url, const String& name, HTMLFrameOwnerElement* ownerElement,
const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight)
{
return m_webView->createFrame(url, name, ownerElement, referrer, allowsScrolling, marginWidth, marginHeight);
return m_webView->createFrame(url, name, ownerElement, referrer, allowsScrolling, marginWidth, marginHeight, m_frame);
}

void FrameLoaderClientWinCE::redirectDataToPlugin(Widget* pluginWidget)
Expand Down
8 changes: 3 additions & 5 deletions Source/WebKit/wince/WebView.cpp
Expand Up @@ -157,23 +157,21 @@ void WebView::cleanup()
}

PassRefPtr<Frame> WebView::createFrame(const URL& url, const String& name, HTMLFrameOwnerElement* ownerElement, const String& referrer,
bool /*allowsScrolling*/, int /*marginWidth*/, int /*marginHeight*/)
bool /*allowsScrolling*/, int /*marginWidth*/, int /*marginHeight*/, Frame* parentFrame)
{
Frame* coreFrame = m_frame;

WebKit::FrameLoaderClientWinCE *loaderClient = new WebKit::FrameLoaderClientWinCE(this);
RefPtr<Frame> childFrame = Frame::create(m_page, ownerElement, loaderClient);
loaderClient->setFrame(childFrame.get());

coreFrame->tree().appendChild(childFrame);
parentFrame->tree().appendChild(childFrame);
childFrame->tree().setName(name);
childFrame->init();

// The creation of the frame may have run arbitrary JavaScript that removed it from the page already.
if (!childFrame->page())
return 0;

coreFrame->loader().loadURLIntoChildFrame(url, referrer, childFrame.get());
parentFrame->loader().loadURLIntoChildFrame(url, referrer, childFrame.get());

// The frame's onload handler may have removed it from the document.
if (!childFrame->tree().parent())
Expand Down
3 changes: 2 additions & 1 deletion Source/WebKit/wince/WebView.h
Expand Up @@ -69,7 +69,8 @@ class WebView {

void frameRect(RECT* rect) const;

PassRefPtr<WebCore::Frame> createFrame(const WebCore::URL&, const WTF::String&, WebCore::HTMLFrameOwnerElement*, const WTF::String&, bool, int, int);
PassRefPtr<WebCore::Frame> createFrame(const WebCore::URL&, const WTF::String& name, WebCore::HTMLFrameOwnerElement*,
const WTF::String& referrer, bool allowScrolling, int marginWidth, int marginHeight, WebCore::Frame* parentFrame);

// JavaScript Dialog
void runJavaScriptAlert(const WTF::String& message);
Expand Down

0 comments on commit 8d96e1c

Please sign in to comment.