From a0fcf3c05ee1c8e410fca75868ead94aa99682f1 Mon Sep 17 00:00:00 2001 From: stippi Date: Sat, 24 Apr 2010 00:46:24 +0000 Subject: [PATCH] Never apply the new page policy if we already have the BWebView. If we already have it, it was created by the ChromeClient and navigation is soon going to happen with it. git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@460 94f232f2-1747-11df-bad5-a5bfde151594 --- src/apps/webpositive/BrowserWindow.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/apps/webpositive/BrowserWindow.cpp b/src/apps/webpositive/BrowserWindow.cpp index f4d0e58a4c..8b0a15d526 100644 --- a/src/apps/webpositive/BrowserWindow.cpp +++ b/src/apps/webpositive/BrowserWindow.cpp @@ -743,8 +743,9 @@ BrowserWindow::MenusBeginning() void BrowserWindow::CreateNewTab(const BString& _url, bool select, BWebView* webView) { + bool applyNewPagePolicy = webView == NULL; // Executed in app thread (new BWebPage needs to be created in app thread). - if (!webView) + if (webView == NULL) webView = new BWebView("web view"); bool isNewWindow = fTabManager->CountTabs() == 0; @@ -752,7 +753,7 @@ BrowserWindow::CreateNewTab(const BString& _url, bool select, BWebView* webView) fTabManager->AddTab(webView, "New tab"); BString url(_url); - if (url.Length() == 0) { + if (applyNewPagePolicy && url.Length() == 0) { uint32 policy = isNewWindow ? fNewWindowPolicy : fNewTabPolicy; // Implement new page policy switch (policy) {