diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-09-10 13:08:05 +0200 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-09-10 13:08:05 +0200 |
commit | 81cbb264cb9446c4408124d50aeff50164ad0ab4 (patch) | |
tree | 6acc39b8ea0165562d480f1c54608c6c4ae9f865 /Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp | |
parent | beaeeb99881184fd368c121fcbb1a31c78b794a3 (diff) | |
parent | 5087e0ced43d813eb6f765913a6fc3958d2a7a9d (diff) | |
download | qtwebkit-81cbb264cb9446c4408124d50aeff50164ad0ab4.tar.gz |
Merge remote-tracking branch 'origin/5.212' into dev
Change-Id: I4e185b15690118515df80a79b786cbb8b30dd144
Diffstat (limited to 'Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp')
-rw-r--r-- | Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp | 32 |
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(); + } + } +} |