Frame* WebFrameLoaderClient::dispatchCreatePage() { WebPage* webPage = m_frame->page(); if (!webPage) return 0; // Just call through to the chrome client. Page* newPage = webPage->corePage()->chrome()->createWindow(m_frame->coreFrame(), FrameLoadRequest(), WindowFeatures()); if (!newPage) return 0; return newPage->mainFrame(); }
void WebInspector::openInNewTab(const String& urlString) { Page* inspectedPage = m_page->corePage(); if (!inspectedPage) return; Frame& inspectedMainFrame = inspectedPage->mainFrame(); FrameLoadRequest request(inspectedMainFrame.document()->securityOrigin(), ResourceRequest(urlString), "_blank", LockHistory::No, LockBackForwardList::No, MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow, ReplaceDocumentIfJavaScriptURL, ShouldOpenExternalURLsPolicy::ShouldNotAllow); Page* newPage = inspectedPage->chrome().createWindow(&inspectedMainFrame, request, WindowFeatures(), NavigationAction(request.resourceRequest(), NavigationType::LinkClicked)); if (!newPage) return; newPage->mainFrame().loader().load(request); }