diff options
author | Oswald Buddenhagen <oswald.buddenhagen@qt.io> | 2017-05-30 12:48:17 +0200 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@qt.io> | 2017-05-30 12:48:17 +0200 |
commit | 881da28418d380042aa95a97f0cbd42560a64f7c (patch) | |
tree | a794dff3274695e99c651902dde93d934ea7a5af /Tools/WebKitTestRunner/WorkQueueManager.cpp | |
parent | 7e104c57a70fdf551bb3d22a5d637cdcbc69dbea (diff) | |
parent | 0fcedcd17cc00d3dd44c718b3cb36c1033319671 (diff) | |
download | qtwebkit-881da28418d380042aa95a97f0cbd42560a64f7c.tar.gz |
Merge 'wip/next' into dev
Change-Id: Iff9ee5e23bb326c4371ec8ed81d56f2f05d680e9
Diffstat (limited to 'Tools/WebKitTestRunner/WorkQueueManager.cpp')
-rw-r--r-- | Tools/WebKitTestRunner/WorkQueueManager.cpp | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/Tools/WebKitTestRunner/WorkQueueManager.cpp b/Tools/WebKitTestRunner/WorkQueueManager.cpp index e74fa3464..63f491b47 100644 --- a/Tools/WebKitTestRunner/WorkQueueManager.cpp +++ b/Tools/WebKitTestRunner/WorkQueueManager.cpp @@ -28,17 +28,17 @@ #include "PlatformWebView.h" #include "TestController.h" -#include <WebKit2/WKPage.h> -#include <WebKit2/WKRetainPtr.h> +#include <WebKit/WKPage.h> +#include <WebKit/WKPagePrivate.h> +#include <WebKit/WKRetainPtr.h> #include <stdio.h> -#include <wtf/PassOwnPtr.h> #include <wtf/text/CString.h> namespace WTR { static inline WKPageRef mainPage() { - return TestController::shared().mainWebView()->page(); + return TestController::singleton().mainWebView()->page(); } static inline bool goToItemAtIndex(int index) @@ -119,20 +119,21 @@ bool WorkQueueManager::processWorkQueue() { m_processing = false; while (!m_processing && !m_workQueue.isEmpty()) { - OwnPtr<WorkQueueItem> item(m_workQueue.takeFirst()); + std::unique_ptr<WorkQueueItem> item(m_workQueue.takeFirst()); m_processing = (item->invoke() == WorkQueueItem::Loading); } return !m_processing; } -void WorkQueueManager::queueLoad(const String& url, const String& target) +void WorkQueueManager::queueLoad(const String& url, const String& target, bool shouldOpenExternalURLs) { class LoadItem : public WorkQueueItem { public: - LoadItem(const String& url, const String& target) + LoadItem(const String& url, const String& target, bool shouldOpenExternalURLs) : m_url(AdoptWK, WKURLCreateWithUTF8CString(url.utf8().data())) , m_target(target) + , m_shouldOpenExternalURLs(shouldOpenExternalURLs) { } @@ -143,15 +144,16 @@ void WorkQueueManager::queueLoad(const String& url, const String& target) fprintf(stderr, "queueLoad for a specific target is not implemented.\n"); return WorkQueueItem::NonLoading; } - WKPageLoadURL(mainPage(), m_url.get()); + WKPageLoadURLWithShouldOpenExternalURLsPolicy(mainPage(), m_url.get(), m_shouldOpenExternalURLs); return WorkQueueItem::Loading; } WKRetainPtr<WKURLRef> m_url; String m_target; + bool m_shouldOpenExternalURLs; }; - enqueue(new LoadItem(url, target)); + enqueue(new LoadItem(url, target, shouldOpenExternalURLs)); } void WorkQueueManager::queueLoadHTMLString(const String& content, const String& baseURL, const String& unreachableURL) @@ -222,7 +224,7 @@ void WorkQueueManager::enqueue(WorkQueueItem* item) return; } - m_workQueue.append(adoptPtr(item)); + m_workQueue.append(std::unique_ptr<WorkQueueItem>(item)); } } // namespace WTR |