1/*
2 * Copyright (C) 2010 Apple Inc. All rights reserved.
3 * Portions Copyright (c) 2010 Motorola Mobility, Inc. All rights reserved.
4 * Copyright (C) 2011 Igalia S.L.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution.
14 *
15 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
16 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
17 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
18 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
19 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
25 * THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28#pragma once
29
30#include "APIPageConfiguration.h"
31#include "DragAndDropHandler.h"
32#include "GestureController.h"
33#include "SameDocumentNavigationType.h"
34#include "ViewGestureController.h"
35#include "ViewSnapshotStore.h"
36#include "WebContextMenuProxyGtk.h"
37#include "WebInspectorProxy.h"
38#include "WebKitWebViewBase.h"
39#include "WebPageProxy.h"
40
41WebKitWebViewBase* webkitWebViewBaseCreate(const API::PageConfiguration&);
42GtkIMContext* webkitWebViewBaseGetIMContext(WebKitWebViewBase*);
43WebKit::WebPageProxy* webkitWebViewBaseGetPage(WebKitWebViewBase*);
44void webkitWebViewBaseCreateWebPage(WebKitWebViewBase*, Ref<API::PageConfiguration>&&);
45void webkitWebViewBaseSetTooltipText(WebKitWebViewBase*, const char*);
46void webkitWebViewBaseSetTooltipArea(WebKitWebViewBase*, const WebCore::IntRect&);
47void webkitWebViewBaseForwardNextKeyEvent(WebKitWebViewBase*);
48void webkitWebViewBaseForwardNextWheelEvent(WebKitWebViewBase*);
49void webkitWebViewBaseChildMoveResize(WebKitWebViewBase*, GtkWidget*, const WebCore::IntRect&);
50void webkitWebViewBaseEnterFullScreen(WebKitWebViewBase*);
51void webkitWebViewBaseExitFullScreen(WebKitWebViewBase*);
52bool webkitWebViewBaseIsFullScreen(WebKitWebViewBase*);
53void webkitWebViewBaseSetInspectorViewSize(WebKitWebViewBase*, unsigned size);
54void webkitWebViewBaseSetActiveContextMenuProxy(WebKitWebViewBase*, WebKit::WebContextMenuProxyGtk*);
55WebKit::WebContextMenuProxyGtk* webkitWebViewBaseGetActiveContextMenuProxy(WebKitWebViewBase*);
56GdkEvent* webkitWebViewBaseTakeContextMenuEvent(WebKitWebViewBase*);
57void webkitWebViewBaseSetInputMethodState(WebKitWebViewBase*, bool enabled);
58void webkitWebViewBaseUpdateTextInputState(WebKitWebViewBase*);
59void webkitWebViewBaseSetContentsSize(WebKitWebViewBase*, const WebCore::IntSize&);
60
61void webkitWebViewBaseSetFocus(WebKitWebViewBase*, bool focused);
62bool webkitWebViewBaseIsInWindowActive(WebKitWebViewBase*);
63bool webkitWebViewBaseIsFocused(WebKitWebViewBase*);
64bool webkitWebViewBaseIsVisible(WebKitWebViewBase*);
65bool webkitWebViewBaseIsInWindow(WebKitWebViewBase*);
66
67void webkitWebViewBaseAddDialog(WebKitWebViewBase*, GtkWidget*);
68void webkitWebViewBaseAddWebInspector(WebKitWebViewBase*, GtkWidget* inspector, WebKit::AttachmentSide);
69void webkitWebViewBaseResetClickCounter(WebKitWebViewBase*);
70void webkitWebViewBaseEnterAcceleratedCompositingMode(WebKitWebViewBase*, const WebKit::LayerTreeContext&);
71void webkitWebViewBaseUpdateAcceleratedCompositingMode(WebKitWebViewBase*, const WebKit::LayerTreeContext&);
72void webkitWebViewBaseExitAcceleratedCompositingMode(WebKitWebViewBase*);
73bool webkitWebViewBaseMakeGLContextCurrent(WebKitWebViewBase*);
74void webkitWebViewBaseDidRelaunchWebProcess(WebKitWebViewBase*);
75void webkitWebViewBasePageClosed(WebKitWebViewBase*);
76
77#if ENABLE(DRAG_SUPPORT)
78WebKit::DragAndDropHandler& webkitWebViewBaseDragAndDropHandler(WebKitWebViewBase*);
79#endif
80
81#if HAVE(GTK_GESTURES)
82WebKit::GestureController& webkitWebViewBaseGestureController(WebKitWebViewBase*);
83#endif
84
85RefPtr<WebKit::ViewSnapshot> webkitWebViewBaseTakeViewSnapshot(WebKitWebViewBase*);
86
87void webkitWebViewBaseSetEnableBackForwardNavigationGesture(WebKitWebViewBase*, bool enabled);
88WebKit::ViewGestureController* webkitWebViewBaseViewGestureController(WebKitWebViewBase*);
89
90void webkitWebViewBaseDidStartProvisionalLoadForMainFrame(WebKitWebViewBase*);
91void webkitWebViewBaseDidFirstVisuallyNonEmptyLayoutForMainFrame(WebKitWebViewBase*);
92void webkitWebViewBaseDidFinishLoadForMainFrame(WebKitWebViewBase*);
93void webkitWebViewBaseDidFailLoadForMainFrame(WebKitWebViewBase*);
94void webkitWebViewBaseDidSameDocumentNavigationForMainFrame(WebKitWebViewBase*, WebKit::SameDocumentNavigationType);
95void webkitWebViewBaseDidRestoreScrollPosition(WebKitWebViewBase*);
96
97void webkitWebViewBaseShowEmojiChooser(WebKitWebViewBase*, const WebCore::IntRect&, CompletionHandler<void(String)>&&);
98
99#if USE(WPE_RENDERER)
100int webkitWebViewBaseRenderHostFileDescriptor(WebKitWebViewBase*);
101#endif
102