summaryrefslogtreecommitdiffstats
path: root/Source/WebKit2/UIProcess/API
diff options
context:
space:
mode:
authorjoepeck@webkit.org <joepeck@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>2013-01-28 22:38:23 +0000
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-08-08 17:34:02 +0200
commit0dd9e57645d192fca388abe8f04e93ca7bef6ad6 (patch)
tree580a6d97c337b8e5cd7ad71e58ee6081e01d84e8 /Source/WebKit2/UIProcess/API
parentf0ce121cf5367b340160408821ab6b9d00d3d0cb (diff)
Improve PageVisibility API with enums
https://bugs.webkit.org/show_bug.cgi?id=107364 Reviewed by Sam Weinig. Source/WebKit/mac: * WebView/WebView.mm: * WebView/WebViewPrivate.h: (corePageVisibilityState): (-[WebView _setVisibilityState:isInitialState:]): Switch the private API form int to a WebPageVisibilityState enum. Source/WebKit2: * Shared/API/c/WKPageVisibilityTypes.h: Added. * Shared/API/c/WKSharedAPICast.h: (WebKit::toPageVisibilityState): Create an enum for page visibility APIs and a conversion function for the WK2 values to WebCore values. * Target.pri: * GNUmakefile.list.am: * WebKit2.xcodeproj/project.pbxproj: Add WKPageVisibilityTypes.h to the build as a private export. * UIProcess/API/C/WKPage.h: * UIProcess/API/C/WKPage.cpp: (WKPageSetVisibilityState): * UIProcess/WebPageProxy.h: * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::setVisibilityState): UIProcess API to set visibility state. WebPageProxy already had m_visibilityState, so update that when setter is used. * WebProcess/InjectedBundle/API/c/WKBundle.cpp: * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: * WebProcess/InjectedBundle/InjectedBundle.cpp: * WebProcess/InjectedBundle/InjectedBundle.h: Remove the old SPI for WebKitTestRunner. Tests now use the C API. * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::setVisibilityState): * WebProcess/WebPage/WebPage.messages.in: Update the existing WebPage API to use uint32_t, which matches other enum message types. Tools: * DumpRenderTree/mac/TestRunnerMac.mm: (TestRunner::resetPageVisibility): (TestRunner::setPageVisibility): Update the WK1 test code to use the new WK1 enums. * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::setVisibilityState): * WebKitTestRunner/InjectedBundle/InjectedBundle.h: (InjectedBundle): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setPageVisibility): (WTR::TestRunner::resetPageVisibility): * WebKitTestRunner/TestController.cpp: (WTR::TestController::setVisibilityState): * WebKitTestRunner/TestController.h: (TestController): * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): Update the WK2 test code to use the new WK2 API and enums. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit2/PageVisibilityState.cpp: Added. (TestWebKitAPI): (TestWebKitAPI::setPageVisibilityStateWithEvalContinuation): (TestWebKitAPI::assertSerializedScriptValueIsStringValue): (TestWebKitAPI::didRunStep1StateChangeVisibleToHidden): (TestWebKitAPI::didRunStep2StateChangeHiddenToPrerender): (TestWebKitAPI::didRunStep3StateChangePrerenderToPreview): (TestWebKitAPI::didRunStep4InStatePreview): (TestWebKitAPI::TEST): Test the new WK2 API with all enum types. Change-Id: I0a057111d7ef26cb87ade328291d4f94322480b7 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141010 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Diffstat (limited to 'Source/WebKit2/UIProcess/API')
-rw-r--r--Source/WebKit2/UIProcess/API/C/WKPage.cpp5
-rw-r--r--Source/WebKit2/UIProcess/API/C/WKPage.h3
2 files changed, 8 insertions, 0 deletions
diff --git a/Source/WebKit2/UIProcess/API/C/WKPage.cpp b/Source/WebKit2/UIProcess/API/C/WKPage.cpp
index ef871bb4c..c0e17c429 100644
--- a/Source/WebKit2/UIProcess/API/C/WKPage.cpp
+++ b/Source/WebKit2/UIProcess/API/C/WKPage.cpp
@@ -347,6 +347,11 @@ void WKPageListenForLayoutMilestones(WKPageRef pageRef, WKLayoutMilestones miles
toImpl(pageRef)->listenForLayoutMilestones(toLayoutMilestones(milestones));
}
+void WKPageSetVisibilityState(WKPageRef pageRef, WKPageVisibilityState state, bool isInitialState)
+{
+ toImpl(pageRef)->setVisibilityState(toPageVisibilityState(state), isInitialState);
+}
+
bool WKPageHasHorizontalScrollbar(WKPageRef pageRef)
{
return toImpl(pageRef)->hasHorizontalScrollbar();
diff --git a/Source/WebKit2/UIProcess/API/C/WKPage.h b/Source/WebKit2/UIProcess/API/C/WKPage.h
index 4a25bb63b..b002eef0f 100644
--- a/Source/WebKit2/UIProcess/API/C/WKPage.h
+++ b/Source/WebKit2/UIProcess/API/C/WKPage.h
@@ -33,6 +33,7 @@
#include <WebKit2/WKGeometry.h>
#include <WebKit2/WKNativeEvent.h>
#include <WebKit2/WKPageLoadTypes.h>
+#include <WebKit2/WKPageVisibilityTypes.h>
#ifndef __cplusplus
#include <stdbool.h>
@@ -431,6 +432,8 @@ WK_EXPORT WKSize WKPageFixedLayoutSize(WKPageRef page);
WK_EXPORT void WKPageListenForLayoutMilestones(WKPageRef page, WKLayoutMilestones milestones);
+WK_EXPORT void WKPageSetVisibilityState(WKPageRef page, WKPageVisibilityState state, bool isInitialState);
+
WK_EXPORT bool WKPageHasHorizontalScrollbar(WKPageRef page);
WK_EXPORT bool WKPageHasVerticalScrollbar(WKPageRef page);