diff options
author | Ben Murdoch <benm@google.com> | 2011-05-05 14:36:32 +0100 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2011-05-10 15:38:30 +0100 |
commit | f05b935882198ccf7d81675736e3aeb089c5113a (patch) | |
tree | 4ea0ca838d9ef1b15cf17ddb3928efb427c7e5a1 /WebKitTools/TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp | |
parent | 60fbdcc62bced8db2cb1fd233cc4d1e4ea17db1b (diff) | |
download | external_webkit-f05b935882198ccf7d81675736e3aeb089c5113a.zip external_webkit-f05b935882198ccf7d81675736e3aeb089c5113a.tar.gz external_webkit-f05b935882198ccf7d81675736e3aeb089c5113a.tar.bz2 |
Merge WebKit at r74534: Initial merge by git.
Change-Id: I6ccd1154fa1b19c2ec2a66878eb675738735f1eb
Diffstat (limited to 'WebKitTools/TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp')
-rw-r--r-- | WebKitTools/TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp | 146 |
1 files changed, 0 insertions, 146 deletions
diff --git a/WebKitTools/TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp b/WebKitTools/TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp deleted file mode 100644 index c3af543..0000000 --- a/WebKitTools/TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Copyright (C) 2010 Apple Inc. 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 APPLE INC. AND ITS CONTRIBUTORS ``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 APPLE INC. OR ITS 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 "Test.h" - -#include "PlatformUtilities.h" -#include "PlatformWebView.h" -#include <WebKit2/WebKit2.h> -#include <WebKit2/WKRetainPtr.h> - -namespace TestWebKitAPI { - -static bool test1Done; - -struct State { - State() - : didDecidePolicyForNavigationAction(false) - , didStartProvisionalLoadForFrame(false) - , didCommitLoadForFrame(false) - { - } - - bool didDecidePolicyForNavigationAction; - bool didStartProvisionalLoadForFrame; - bool didCommitLoadForFrame; -}; - -static void didStartProvisionalLoadForFrame(WKPageRef page, WKFrameRef frame, WKTypeRef userData, const void* clientInfo) -{ - State* state = reinterpret_cast<State*>(const_cast<void*>(clientInfo)); - TEST_ASSERT(state->didDecidePolicyForNavigationAction); - TEST_ASSERT(!state->didCommitLoadForFrame); - - // The commited URL should be null. - TEST_ASSERT(!WKFrameCopyURL(frame)); - - TEST_ASSERT(!state->didStartProvisionalLoadForFrame); - - - state->didStartProvisionalLoadForFrame = true; -} - -static void didCommitLoadForFrame(WKPageRef page, WKFrameRef frame, WKTypeRef userData, const void* clientInfo) -{ - State* state = reinterpret_cast<State*>(const_cast<void*>(clientInfo)); - TEST_ASSERT(state->didDecidePolicyForNavigationAction); - TEST_ASSERT(state->didStartProvisionalLoadForFrame); - - // The provisional URL should be null. - TEST_ASSERT(!WKFrameCopyProvisionalURL(frame)); - - state->didCommitLoadForFrame = true; -} - -static void didFinishLoadForFrame(WKPageRef page, WKFrameRef frame, WKTypeRef userData, const void* clientInfo) -{ - State* state = reinterpret_cast<State*>(const_cast<void*>(clientInfo)); - TEST_ASSERT(state->didDecidePolicyForNavigationAction); - TEST_ASSERT(state->didStartProvisionalLoadForFrame); - TEST_ASSERT(state->didCommitLoadForFrame); - - // The provisional URL should be null. - TEST_ASSERT(!WKFrameCopyProvisionalURL(frame)); - - test1Done = true; -} - -static void decidePolicyForNavigationAction(WKPageRef page, WKFrameNavigationType navigationType, WKEventModifiers modifiers, WKEventMouseButton mouseButton, WKURLRef url, WKFrameRef frame, WKFramePolicyListenerRef listener, const void* clientInfo) -{ - State* state = reinterpret_cast<State*>(const_cast<void*>(clientInfo)); - TEST_ASSERT(!state->didStartProvisionalLoadForFrame); - TEST_ASSERT(!state->didCommitLoadForFrame); - - state->didDecidePolicyForNavigationAction = true; - - WKFramePolicyListenerUse(listener); -} - -static void decidePolicyForNewWindowAction(WKPageRef page, WKFrameNavigationType navigationType, WKEventModifiers modifiers, WKEventMouseButton mouseButton, WKURLRef url, WKFrameRef frame, WKFramePolicyListenerRef listener, const void* clientInfo) -{ - WKFramePolicyListenerUse(listener); -} - -static void decidePolicyForMIMEType(WKPageRef page, WKStringRef MIMEType, WKURLRef url, WKFrameRef frame, WKFramePolicyListenerRef listener, const void* clientInfo) -{ - WKFramePolicyListenerUse(listener); -} - -TEST(WebKit2, PageLoadBasic) -{ - State state; - - WKRetainPtr<WKContextRef> context(AdoptWK, WKContextCreate()); - WKRetainPtr<WKPageNamespaceRef> pageNamespace(AdoptWK, WKPageNamespaceCreate(context.get())); - - PlatformWebView webView(pageNamespace.get()); - - WKPageLoaderClient loaderClient; - memset(&loaderClient, 0, sizeof(loaderClient)); - - loaderClient.version = 0; - loaderClient.clientInfo = &state; - loaderClient.didStartProvisionalLoadForFrame = didStartProvisionalLoadForFrame; - loaderClient.didCommitLoadForFrame = didCommitLoadForFrame; - loaderClient.didFinishLoadForFrame = didFinishLoadForFrame; - WKPageSetPageLoaderClient(webView.page(), &loaderClient); - - WKPagePolicyClient policyClient; - memset(&policyClient, 0, sizeof(policyClient)); - - policyClient.version = 0; - policyClient.clientInfo = &state; - policyClient.decidePolicyForNavigationAction = decidePolicyForNavigationAction; - policyClient.decidePolicyForNewWindowAction = decidePolicyForNewWindowAction; - policyClient.decidePolicyForMIMEType = decidePolicyForMIMEType; - WKPageSetPagePolicyClient(webView.page(), &policyClient); - - WKRetainPtr<WKURLRef> url(AdoptWK, Util::createURLForResource("simple", "html")); - WKPageLoadURL(webView.page(), url.get()); - - Util::run(&test1Done); -} - -} // namespace TestWebKitAPI |