diff options
author | Konstantin Tokarev <annulen@yandex.ru> | 2016-08-25 19:20:41 +0300 |
---|---|---|
committer | Konstantin Tokarev <annulen@yandex.ru> | 2017-02-02 12:30:55 +0000 |
commit | 6882a04fb36642862b11efe514251d32070c3d65 (patch) | |
tree | b7959826000b061fd5ccc7512035c7478742f7b0 /Tools/TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks.cpp | |
parent | ab6df191029eeeb0b0f16f127d553265659f739e (diff) | |
download | qtwebkit-6882a04fb36642862b11efe514251d32070c3d65.tar.gz |
Imported QtWebKit TP3 (git b57bc6801f1876c3220d5a4bfea33d620d477443)
Change-Id: I3b1d8a2808782c9f34d50240000e20cb38d3680f
Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
Diffstat (limited to 'Tools/TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks.cpp')
-rw-r--r-- | Tools/TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks.cpp | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/Tools/TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks.cpp b/Tools/TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks.cpp deleted file mode 100644 index 552b38c4d..000000000 --- a/Tools/TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks.cpp +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright (C) 2013 Intel Corporation. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "config.h" -#include "ewk_view_private.h" -#include "PlatformUtilities.h" -#include "PlatformWebView.h" -#include "Test.h" -#include "WKView.h" -#include <WebKit2/WKRetainPtr.h> - -namespace TestWebKitAPI { - -struct TestStatesData { - TestStatesData(WKViewRef view, WKURLRef url) - : view(view) - , url(url) - , didFinishLoad(false) - , didCrash(false) - , didRelaunch(false) - { - } - - WKViewRef view; - WKURLRef url; - bool didFinishLoad; - bool didCrash; - bool didRelaunch; -}; - -static void didFinishLoadForFrame(WKPageRef, WKFrameRef, WKTypeRef, const void* clientInfo) -{ - TestStatesData* states = const_cast<TestStatesData*>(static_cast<const TestStatesData*>(clientInfo)); - states->didFinishLoad = true; -} - -static void setPageLoaderClient(WKPageRef page, const void* clientInfo) -{ - WKPageLoaderClient loaderClient; - memset(&loaderClient, 0, sizeof(loaderClient)); - - loaderClient.didFinishLoadForFrame = didFinishLoadForFrame; - loaderClient.clientInfo = clientInfo; - - WKPageSetPageLoaderClient(page, &loaderClient); -} - -void webProcessCrashed(WKViewRef view, WKURLRef url, const void* clientInfo) -{ - TestStatesData* states = const_cast<TestStatesData*>(static_cast<const TestStatesData*>(clientInfo)); - - EXPECT_EQ(states->view, view); - EXPECT_TRUE(WKURLIsEqual(url, states->url)); - - states->didCrash = true; -} - -void webProcessDidRelaunch(WKViewRef view, const void* clientInfo) -{ - TestStatesData* states = const_cast<TestStatesData*>(static_cast<const TestStatesData*>(clientInfo)); - - EXPECT_EQ(states->view, view); - - states->didRelaunch = true; -} - -static void setViewClient(WKViewRef view, const void* clientInfo) -{ - WKViewClient viewClient; - memset(&viewClient, 0, sizeof(WKViewClient)); - - viewClient.version = kWKViewClientCurrentVersion; - viewClient.clientInfo = clientInfo; - viewClient.webProcessCrashed = webProcessCrashed; - viewClient.webProcessDidRelaunch = webProcessDidRelaunch; - - WKViewSetViewClient(view, &viewClient); -} - -TEST(WebKit2, WKViewClientWebProcessCallbacks) -{ - WKRetainPtr<WKContextRef> context = adoptWK(Util::createContextForInjectedBundleTest("WKViewClientWebProcessCallbacksTest")); - WKRetainPtr<WKURLRef> url(AdoptWK, Util::createURLForResource("simple", "html")); - - PlatformWebView view(context.get()); - WKViewRef wkView = EWKViewGetWKView(view.platformView()); - - TestStatesData states = TestStatesData(wkView, url.get()); - - setPageLoaderClient(view.page(), &states); - setViewClient(wkView, &states); - - WKPageLoadURL(view.page(), url.get()); - Util::run(&states.didFinishLoad); - - WKContextPostMessageToInjectedBundle(context.get(), Util::toWK("Crash").get(), 0); - Util::run(&states.didCrash); - - WKPageReload(view.page()); - Util::run(&states.didRelaunch); -} - -} // namespace TestWebKitAPI |