WebDriver: implement maximize, minimize and fullscreen window commands
[WebKit-https.git] / Source / WebKit / UIProcess / API / glib / WebKitWebViewPrivate.h
1 /*
2  * Copyright (C) 2011, 2017 Igalia S.L.
3  * Portions Copyright (c) 2011 Motorola Mobility, Inc.  All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  * 1. Redistributions of source code must retain the above copyright
9  *    notice, this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright
11  *    notice, this list of conditions and the following disclaimer in the
12  *    documentation and/or other materials provided with the distribution.
13  *
14  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
15  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
16  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
18  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
24  * THE POSSIBILITY OF SUCH DAMAGE.
25  */
26
27 #pragma once
28
29 #include "APIPageConfiguration.h"
30 #include "InstallMissingMediaPluginsPermissionRequest.h"
31 #include "WebContextMenuItemData.h"
32 #include "WebEvent.h"
33 #include "WebHitTestResultData.h"
34 #include "WebImage.h"
35 #include "WebKitWebView.h"
36 #include "WebPageProxy.h"
37 #include <WebCore/IntRect.h>
38 #include <WebCore/LinkIcon.h>
39 #include <wtf/CompletionHandler.h>
40 #include <wtf/text/CString.h>
41
42 void webkitWebViewCreatePage(WebKitWebView*, Ref<API::PageConfiguration>&&);
43 WebKit::WebPageProxy& webkitWebViewGetPage(WebKitWebView*);
44 void webkitWebViewLoadChanged(WebKitWebView*, WebKitLoadEvent);
45 void webkitWebViewLoadFailed(WebKitWebView*, WebKitLoadEvent, const char* failingURI, GError*);
46 void webkitWebViewLoadFailedWithTLSErrors(WebKitWebView*, const char* failingURI, GError*, GTlsCertificateFlags, GTlsCertificate*);
47 #if PLATFORM(GTK)
48 void webkitWebViewGetLoadDecisionForIcon(WebKitWebView*, const WebCore::LinkIcon&, Function<void(bool)>&&);
49 void webkitWebViewSetIcon(WebKitWebView*, const WebCore::LinkIcon&, API::Data&);
50 #endif
51 WebKit::WebPageProxy* webkitWebViewCreateNewPage(WebKitWebView*, const WebCore::WindowFeatures&, WebKitNavigationAction*);
52 void webkitWebViewReadyToShowPage(WebKitWebView*);
53 void webkitWebViewRunAsModal(WebKitWebView*);
54 void webkitWebViewClosePage(WebKitWebView*);
55 void webkitWebViewRunJavaScriptAlert(WebKitWebView*, const CString& message);
56 bool webkitWebViewRunJavaScriptConfirm(WebKitWebView*, const CString& message);
57 CString webkitWebViewRunJavaScriptPrompt(WebKitWebView*, const CString& message, const CString& defaultText);
58 bool webkitWebViewRunJavaScriptBeforeUnloadConfirm(WebKitWebView*, const CString& message);
59 bool webkitWebViewIsShowingScriptDialog(WebKitWebView*);
60 bool webkitWebViewIsScriptDialogRunning(WebKitWebView*, WebKitScriptDialog*);
61 String webkitWebViewGetCurrentScriptDialogMessage(WebKitWebView*);
62 void webkitWebViewSetCurrentScriptDialogUserInput(WebKitWebView*, const String&);
63 void webkitWebViewAcceptCurrentScriptDialog(WebKitWebView*);
64 void webkitWebViewDismissCurrentScriptDialog(WebKitWebView*);
65 std::optional<WebKitScriptDialogType> webkitWebViewGetCurrentScriptDialogType(WebKitWebView*);
66 void webkitWebViewMakePermissionRequest(WebKitWebView*, WebKitPermissionRequest*);
67 void webkitWebViewMakePolicyDecision(WebKitWebView*, WebKitPolicyDecisionType, WebKitPolicyDecision*);
68 void webkitWebViewMouseTargetChanged(WebKitWebView*, const WebKit::WebHitTestResultData&, WebKit::WebEvent::Modifiers);
69 void webkitWebViewHandleDownloadRequest(WebKitWebView*, WebKit::DownloadProxy*);
70 void webkitWebViewPrintFrame(WebKitWebView*, WebKit::WebFrameProxy*);
71 void webkitWebViewResourceLoadStarted(WebKitWebView*, WebKit::WebFrameProxy*, uint64_t resourceIdentifier, WebKitURIRequest*);
72 void webkitWebViewRunFileChooserRequest(WebKitWebView*, WebKitFileChooserRequest*);
73 WebKitWebResource* webkitWebViewGetLoadingWebResource(WebKitWebView*, uint64_t resourceIdentifier);
74 #if PLATFORM(GTK)
75 void webKitWebViewDidReceiveSnapshot(WebKitWebView*, uint64_t callbackID, WebKit::WebImage*);
76 #endif
77 void webkitWebViewRemoveLoadingWebResource(WebKitWebView*, uint64_t resourceIdentifier);
78 void webkitWebViewMaximizeWindow(WebKitWebView*, CompletionHandler<void()>&&);
79 void webkitWebViewMinimizeWindow(WebKitWebView*, CompletionHandler<void()>&&);
80 void webkitWebViewRestoreWindow(WebKitWebView*, CompletionHandler<void()>&&);
81 void webkitWebViewEnterFullScreen(WebKitWebView*);
82 void webkitWebViewExitFullScreen(WebKitWebView*);
83 void webkitWebViewPopulateContextMenu(WebKitWebView*, const Vector<WebKit::WebContextMenuItemData>& proposedMenu, const WebKit::WebHitTestResultData&, GVariant*);
84 void webkitWebViewSubmitFormRequest(WebKitWebView*, WebKitFormSubmissionRequest*);
85 void webkitWebViewHandleAuthenticationChallenge(WebKitWebView*, WebKit::AuthenticationChallengeProxy*);
86 void webkitWebViewInsecureContentDetected(WebKitWebView*, WebKitInsecureContentEvent);
87 bool webkitWebViewEmitShowNotification(WebKitWebView*, WebKitNotification*);
88 void webkitWebViewWebProcessTerminated(WebKitWebView*, WebKitWebProcessTerminationReason);
89 void webkitWebViewIsPlayingAudioChanged(WebKitWebView*);
90 void webkitWebViewSelectionDidChange(WebKitWebView*);
91 void webkitWebViewRequestInstallMissingMediaPlugins(WebKitWebView*, WebKit::InstallMissingMediaPluginsPermissionRequest&);
92 WebKitWebsiteDataManager* webkitWebViewGetWebsiteDataManager(WebKitWebView*);
93
94 #if PLATFORM(GTK)
95 bool webkitWebViewEmitRunColorChooser(WebKitWebView*, WebKitColorChooserRequest*);
96 bool webkitWebViewShowOptionMenu(WebKitWebView*, const WebCore::IntRect&, WebKitOptionMenu*, const GdkEvent*);
97 #endif
98
99 gboolean webkitWebViewAuthenticate(WebKitWebView*, WebKitAuthenticationRequest*);
100 gboolean webkitWebViewScriptDialog(WebKitWebView*, WebKitScriptDialog*);
101 gboolean webkitWebViewRunFileChooser(WebKitWebView*, WebKitFileChooserRequest*);