QWebPage* QtWebKitWebPage::createWindow(QWebPage::WebWindowType type) { if (type == QWebPage::WebBrowserWindow) { QtWebKitWebPage *page = new QtWebKitWebPage(NULL); QtWebKitWebWidget *widget = new QtWebKitWebWidget(settings()->testAttribute(QWebSettings::PrivateBrowsingEnabled), (m_webWidget ? m_webWidget->getBackend() : NULL), NULL, page); if (m_webWidget) { widget->setDefaultTextEncoding(m_webWidget->getDefaultTextEncoding()); widget->setQuickSearchEngine(m_webWidget->getSearchEngine()); widget->setZoom(m_webWidget->getZoom()); } emit requestedNewWindow(widget); return page; } return QWebPage::createWindow(type); }
QWebPage* QtWebKitWebPage::createWindow(QWebPage::WebWindowType type) { if (type == QWebPage::WebBrowserWindow) { QtWebKitWebWidget *widget = NULL; if (m_webWidget) { widget = qobject_cast<QtWebKitWebWidget*>(m_webWidget->clone(false)); } else { widget = new QtWebKitWebWidget(settings()->testAttribute(QWebSettings::PrivateBrowsingEnabled), NULL, NULL); } emit requestedNewWindow(widget, DefaultOpen); return widget->getPage(); } return QWebPage::createWindow(type); }
WebWidget* QtWebKitWebWidget::clone(ContentsWidget *parent) { QtWebKitWebWidget *widget = new QtWebKitWebWidget(isPrivate(), parent); widget->setDefaultTextEncoding(getDefaultTextEncoding()); widget->setQuickSearchEngine(m_searchEngine); widget->setUrl(getUrl()); widget->setHistory(getHistory()); widget->setZoom(getZoom()); return widget; }