summaryrefslogtreecommitdiff
path: root/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp')
-rw-r--r--Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp32
1 files changed, 18 insertions, 14 deletions
diff --git a/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp b/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp
index 00dc0c488..b3b49f5d6 100644
--- a/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp
@@ -192,22 +192,13 @@ static WebCore::FrameLoadRequest frameLoadRequest(const QUrl &url, WebCore::Fram
);
}
-static void openNewWindow(const QUrl& url, Frame* frame)
+// FIXME: Find a better place
+static UserContentController& userContentProvider()
{
- if (Page* oldPage = frame->page()) {
- WindowFeatures features;
- NavigationAction action;
- FrameLoadRequest request = frameLoadRequest(url, frame);
- if (Page* newPage = oldPage->chrome().createWindow(frame, request, features, action)) {
- newPage->mainFrame().loader().loadFrameRequest(request, /*event*/ 0, /*FormState*/ 0);
- newPage->chrome().show();
- }
- }
+ static NeverDestroyed<Ref<UserContentController>> s_userContentProvider(UserContentController::create());
+ return s_userContentProvider.get();
}
-// FIXME: Find a better place
-Ref<UserContentController> s_userContentProvider = UserContentController::create();
-
QWebPageAdapter::QWebPageAdapter()
: settings(0)
, page(0)
@@ -242,7 +233,7 @@ void QWebPageAdapter::initializeWebCorePage()
pageConfiguration.databaseProvider = &WebDatabaseProvider::singleton();
pageConfiguration.storageNamespaceProvider = WebStorageNamespaceProvider::create(
QWebSettings::globalSettings()->localStoragePath());
- pageConfiguration.userContentController = &s_userContentProvider.get();
+ pageConfiguration.userContentController = &userContentProvider();
pageConfiguration.visitedLinkStore = &VisitedLinkStoreQt::singleton();
page = new Page(pageConfiguration);
@@ -1586,3 +1577,16 @@ bool QWebPageAdapter::swallowContextMenuEvent(QContextMenuEvent *event, QWebFram
return !menu;
}
+
+void QWebPageAdapter::openNewWindow(const QUrl& url, Frame* frame)
+{
+ if (Page* oldPage = frame->page()) {
+ WindowFeatures features;
+ NavigationAction action;
+ FrameLoadRequest request = frameLoadRequest(url, frame);
+ if (Page* newPage = oldPage->chrome().createWindow(frame, request, features, action)) {
+ newPage->mainFrame().loader().loadFrameRequest(request, /*event*/ 0, /*FormState*/ 0);
+ newPage->chrome().show();
+ }
+ }
+}