165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch/* 265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * Copyright (C) 2010, 2011 Apple Inc. All rights reserved. 365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * 465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * Redistribution and use in source and binary forms, with or without 565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * modification, are permitted provided that the following conditions 665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * are met: 765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * 1. Redistributions of source code must retain the above copyright 865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * notice, this list of conditions and the following disclaimer. 965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * 2. Redistributions in binary form must reproduce the above copyright 1065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * notice, this list of conditions and the following disclaimer in the 1165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * documentation and/or other materials provided with the distribution. 1265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * 1365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' 1465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 1565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 1665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS 1765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 1865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 1965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 2065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 2165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 2265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 2365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * THE POSSIBILITY OF SUCH DAMAGE. 2465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch */ 2565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 2665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#ifndef WebPage_h 2765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#define WebPage_h 2865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 2965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "APIObject.h" 3065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "DrawingArea.h" 3165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "FindController.h" 3265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "GeolocationPermissionRequestManager.h" 3365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "ImageOptions.h" 3465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "InjectedBundlePageContextMenuClient.h" 3565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "InjectedBundlePageEditorClient.h" 3665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "InjectedBundlePageFormClient.h" 372daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#include "InjectedBundlePageFullScreenClient.h" 3865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "InjectedBundlePageLoaderClient.h" 392fc2651226baac27029e38c9d6ef883fa32084dbSteve Block#include "InjectedBundlePagePolicyClient.h" 402fc2651226baac27029e38c9d6ef883fa32084dbSteve Block#include "InjectedBundlePageResourceLoadClient.h" 4165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "InjectedBundlePageUIClient.h" 4265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "MessageSender.h" 4365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "Plugin.h" 4465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "SandboxExtension.h" 4565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include "WebEditCommand.h" 462fc2651226baac27029e38c9d6ef883fa32084dbSteve Block#include <WebCore/DragData.h> 4765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include <WebCore/Editor.h> 4865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include <WebCore/FrameLoaderTypes.h> 4965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include <WebCore/IntRect.h> 502bde8e466a4451c7319e3a072d118917957d6554Steve Block#include <WebCore/ScrollTypes.h> 5181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#include <WebCore/WebCoreKeyboardUIMode.h> 5265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include <wtf/HashMap.h> 5365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include <wtf/OwnPtr.h> 5465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include <wtf/PassRefPtr.h> 5565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include <wtf/RefPtr.h> 5665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include <wtf/text/WTFString.h> 5765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 5865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#if ENABLE(TOUCH_EVENTS) 5965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include <WebCore/PlatformTouchEvent.h> 6065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#endif 6165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 6265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#if PLATFORM(MAC) 6381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#include "DictionaryPopupInfo.h" 6465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include <wtf/RetainPtr.h> 652fc2651226baac27029e38c9d6ef883fa32084dbSteve BlockOBJC_CLASS AccessibilityWebPageObject; 662bde8e466a4451c7319e3a072d118917957d6554Steve BlockOBJC_CLASS NSDictionary; 672bde8e466a4451c7319e3a072d118917957d6554Steve BlockOBJC_CLASS NSObject; 6865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#endif 6965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 7065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochnamespace CoreIPC { 7165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch class ArgumentDecoder; 7265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch class Connection; 7365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch class MessageID; 7465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 7565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 7665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochnamespace WebCore { 7765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch class GraphicsContext; 7865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch class KeyboardEvent; 7965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch class Page; 8065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch class PrintContext; 8181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch class Range; 8265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch class ResourceRequest; 8365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch class SharedBuffer; 842bde8e466a4451c7319e3a072d118917957d6554Steve Block class VisibleSelection; 852daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch struct KeypressCommand; 8665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} 8765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 8865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochnamespace WebKit { 8965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 9065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochclass DrawingArea; 9165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochclass InjectedBundleBackForwardList; 9265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochclass PageOverlay; 9365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochclass PluginView; 9465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochclass SessionState; 9565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochclass WebContextMenu; 9665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochclass WebContextMenuItemData; 9765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochclass WebEvent; 9865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochclass WebFrame; 992bde8e466a4451c7319e3a072d118917957d6554Steve Blockclass WebFullScreenManager; 10065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochclass WebImage; 10165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochclass WebInspector; 10265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochclass WebKeyboardEvent; 10365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochclass WebMouseEvent; 10465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochclass WebOpenPanelResultListener; 10565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochclass WebPageGroupProxy; 10665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochclass WebPopupMenu; 10765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochclass WebWheelEvent; 1082daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdochstruct AttributedString; 1092daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdochstruct EditorState; 11065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochstruct PrintInfo; 11165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochstruct WebPageCreationParameters; 11265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochstruct WebPreferencesStore; 11365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 1142fc2651226baac27029e38c9d6ef883fa32084dbSteve Block#if ENABLE(GESTURE_EVENTS) 1152fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockclass WebGestureEvent; 1162fc2651226baac27029e38c9d6ef883fa32084dbSteve Block#endif 1172fc2651226baac27029e38c9d6ef883fa32084dbSteve Block 11865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#if ENABLE(TOUCH_EVENTS) 11965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochclass WebTouchEvent; 12065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#endif 12165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 12265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochclass WebPage : public APIObject, public CoreIPC::MessageSender<WebPage> { 12365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochpublic: 12465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch static const Type APIType = TypeBundlePage; 12565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 12665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch static PassRefPtr<WebPage> create(uint64_t pageID, const WebPageCreationParameters&); 12765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual ~WebPage(); 12865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 12965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch // Used by MessageSender. 13065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch CoreIPC::Connection* connection() const; 13165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch uint64_t destinationID() const { return pageID(); } 13265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 13365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void close(); 13465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 13565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WebCore::Page* corePage() const { return m_page.get(); } 13665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch uint64_t pageID() const { return m_pageID; } 13765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 13865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void setSize(const WebCore::IntSize&); 13965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch const WebCore::IntSize& size() const { return m_viewSize; } 1402fc2651226baac27029e38c9d6ef883fa32084dbSteve Block WebCore::IntRect bounds() const { return WebCore::IntRect(WebCore::IntPoint(), size()); } 1412fc2651226baac27029e38c9d6ef883fa32084dbSteve Block 14265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch InjectedBundleBackForwardList* backForwardList(); 14365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch DrawingArea* drawingArea() const { return m_drawingArea.get(); } 14465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 14565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WebPageGroupProxy* pageGroup() const { return m_pageGroup.get(); } 14665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 1472fc2651226baac27029e38c9d6ef883fa32084dbSteve Block void scrollMainFrameIfNotAtMaxScrollPosition(const WebCore::IntSize& scrollOffset); 1482fc2651226baac27029e38c9d6ef883fa32084dbSteve Block 1492bde8e466a4451c7319e3a072d118917957d6554Steve Block void scrollBy(uint32_t scrollDirection, uint32_t scrollGranularity); 1502bde8e466a4451c7319e3a072d118917957d6554Steve Block 15165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#if ENABLE(INSPECTOR) 15265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WebInspector* inspector(); 15365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#endif 15465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 1552bde8e466a4451c7319e3a072d118917957d6554Steve Block#if ENABLE(FULLSCREEN_API) 1562bde8e466a4451c7319e3a072d118917957d6554Steve Block WebFullScreenManager* fullScreenManager(); 1572bde8e466a4451c7319e3a072d118917957d6554Steve Block#endif 1582bde8e466a4451c7319e3a072d118917957d6554Steve Block 15965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch // -- Called by the DrawingArea. 16065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch // FIXME: We could genericize these into a DrawingArea client interface. Would that be beneficial? 16165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void drawRect(WebCore::GraphicsContext&, const WebCore::IntRect&); 1622fc2651226baac27029e38c9d6ef883fa32084dbSteve Block void drawPageOverlay(WebCore::GraphicsContext&, const WebCore::IntRect&); 16365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void layoutIfNeeded(); 16465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 16565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch // -- Called from WebCore clients. 1662daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#if PLATFORM(MAC) 1672daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch bool handleEditingKeyboardEvent(WebCore::KeyboardEvent*, bool saveCommands); 1682daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#elif !PLATFORM(GTK) 16965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch bool handleEditingKeyboardEvent(WebCore::KeyboardEvent*); 17065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#endif 1712daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch 17265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void show(); 17365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch String userAgent() const { return m_userAgent; } 17465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WebCore::IntRect windowResizerRect() const; 17581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch WebCore::KeyboardUIMode keyboardUIMode(); 17665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 17765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WebEditCommand* webEditCommand(uint64_t); 17865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void addWebEditCommand(uint64_t, WebEditCommand*); 17965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void removeWebEditCommand(uint64_t); 18065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch bool isInRedo() const { return m_isInRedo; } 18165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 18265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void setActivePopupMenu(WebPopupMenu*); 18365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 18465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WebOpenPanelResultListener* activeOpenPanelResultListener() const { return m_activeOpenPanelResultListener.get(); } 18565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void setActiveOpenPanelResultListener(PassRefPtr<WebOpenPanelResultListener>); 18665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 18765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch // -- Called from WebProcess. 18865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); 18965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch CoreIPC::SyncReplyMode didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, CoreIPC::ArgumentEncoder*); 19065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 19165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch // -- InjectedBundle methods 19265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void initializeInjectedBundleContextMenuClient(WKBundlePageContextMenuClient*); 19365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void initializeInjectedBundleEditorClient(WKBundlePageEditorClient*); 19465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void initializeInjectedBundleFormClient(WKBundlePageFormClient*); 19565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void initializeInjectedBundleLoaderClient(WKBundlePageLoaderClient*); 1962fc2651226baac27029e38c9d6ef883fa32084dbSteve Block void initializeInjectedBundlePolicyClient(WKBundlePagePolicyClient*); 1972fc2651226baac27029e38c9d6ef883fa32084dbSteve Block void initializeInjectedBundleResourceLoadClient(WKBundlePageResourceLoadClient*); 19865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void initializeInjectedBundleUIClient(WKBundlePageUIClient*); 1992daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#if ENABLE(FULLSCREEN_API) 2002daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch void initializeInjectedBundleFullScreenClient(WKBundlePageFullScreenClient*); 2012daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#endif 20265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 20365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch InjectedBundlePageContextMenuClient& injectedBundleContextMenuClient() { return m_contextMenuClient; } 20465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch InjectedBundlePageEditorClient& injectedBundleEditorClient() { return m_editorClient; } 20565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch InjectedBundlePageFormClient& injectedBundleFormClient() { return m_formClient; } 20665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch InjectedBundlePageLoaderClient& injectedBundleLoaderClient() { return m_loaderClient; } 2072fc2651226baac27029e38c9d6ef883fa32084dbSteve Block InjectedBundlePagePolicyClient& injectedBundlePolicyClient() { return m_policyClient; } 2082fc2651226baac27029e38c9d6ef883fa32084dbSteve Block InjectedBundlePageResourceLoadClient& injectedBundleResourceLoadClient() { return m_resourceLoadClient; } 20965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch InjectedBundlePageUIClient& injectedBundleUIClient() { return m_uiClient; } 2102daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#if ENABLE(FULLSCREEN_API) 2112daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch InjectedBundlePageFullScreenClient& injectedBundleFullScreenClient() { return m_fullScreenClient; } 2122daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#endif 21365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 21465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch bool findStringFromInjectedBundle(const String&, FindOptions); 21565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 21665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WebFrame* mainFrame() const { return m_mainFrame.get(); } 21765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch PassRefPtr<Plugin> createPlugin(const Plugin::Parameters&); 21865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 2192daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch EditorState editorState() const; 2202daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch 22165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch String renderTreeExternalRepresentation() const; 22265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void executeEditingCommand(const String& commandName, const String& argument); 22365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch bool isEditingCommandEnabled(const String& commandName); 22465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void clearMainFrameName(); 22565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void sendClose(); 22665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 22765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch double textZoomFactor() const; 22865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void setTextZoomFactor(double); 22965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch double pageZoomFactor() const; 23065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void setPageZoomFactor(double); 23165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void setPageAndTextZoomFactors(double pageZoomFactor, double textZoomFactor); 23265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 23365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void scaleWebView(double scale, const WebCore::IntPoint& origin); 23465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch double viewScaleFactor() const; 23565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 23665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void setUseFixedLayout(bool); 23765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void setFixedLayoutSize(const WebCore::IntSize&); 23865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 23965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch bool drawsBackground() const { return m_drawsBackground; } 24065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch bool drawsTransparentBackground() const { return m_drawsTransparentBackground; } 24165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 24265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void stopLoading(); 243ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch void stopLoadingFrame(uint64_t frameID); 24465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void setDefersLoading(bool deferLoading); 24565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 24665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#if USE(ACCELERATED_COMPOSITING) 24765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void enterAcceleratedCompositingMode(WebCore::GraphicsLayer*); 24865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void exitAcceleratedCompositingMode(); 24965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#endif 25065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 25165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#if PLATFORM(MAC) 25265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void addPluginView(PluginView*); 25365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void removePluginView(PluginView*); 25465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 25565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch bool windowIsVisible() const { return m_windowIsVisible; } 25665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch const WebCore::IntRect& windowFrameInScreenCoordinates() const { return m_windowFrameInScreenCoordinates; } 25765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch const WebCore::IntRect& viewFrameInWindowCoordinates() const { return m_viewFrameInWindowCoordinates; } 25865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#elif PLATFORM(WIN) 25965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch HWND nativeWindow() const { return m_nativeWindow; } 26065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#endif 26165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 2622bde8e466a4451c7319e3a072d118917957d6554Steve Block bool windowIsFocused() const; 26365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void installPageOverlay(PassRefPtr<PageOverlay>); 2642daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch void uninstallPageOverlay(PageOverlay*, bool fadeOut); 2652fc2651226baac27029e38c9d6ef883fa32084dbSteve Block bool hasPageOverlay() const { return m_pageOverlay; } 2662bde8e466a4451c7319e3a072d118917957d6554Steve Block WebCore::IntRect windowToScreen(const WebCore::IntRect&); 26765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 26865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch PassRefPtr<WebImage> snapshotInViewCoordinates(const WebCore::IntRect&, ImageOptions); 26965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch PassRefPtr<WebImage> snapshotInDocumentCoordinates(const WebCore::IntRect&, ImageOptions); 2702fc2651226baac27029e38c9d6ef883fa32084dbSteve Block PassRefPtr<WebImage> scaledSnapshotInDocumentCoordinates(const WebCore::IntRect&, double scaleFactor, ImageOptions); 27165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 27265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch static const WebEvent* currentEvent(); 27365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 27465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch FindController& findController() { return m_findController; } 27565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch GeolocationPermissionRequestManager& geolocationPermissionRequestManager() { return m_geolocationPermissionRequestManager; } 27665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 27765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void pageDidScroll(); 27865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#if ENABLE(TILED_BACKING_STORE) 2792bde8e466a4451c7319e3a072d118917957d6554Steve Block void pageDidRequestScroll(const WebCore::IntPoint&); 28065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void setActualVisibleContentRect(const WebCore::IntRect&); 28165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 28265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch bool resizesToContentsEnabled() const { return !m_resizesToContentsLayoutSize.isEmpty(); } 28365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WebCore::IntSize resizesToContentsLayoutSize() const { return m_resizesToContentsLayoutSize; } 28465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void setResizesToContentsUsingLayoutSize(const WebCore::IntSize& targetLayoutSize); 28565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void resizeToContentsIfNeeded(); 28665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#endif 28765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 28865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WebContextMenu* contextMenu(); 28965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 29065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch bool hasLocalDataForURL(const WebCore::KURL&); 2912fc2651226baac27029e38c9d6ef883fa32084dbSteve Block String cachedResponseMIMETypeForURL(const WebCore::KURL&); 29265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 29365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch static bool canHandleRequest(const WebCore::ResourceRequest&); 29465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 29565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch class SandboxExtensionTracker { 29665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch public: 29765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch ~SandboxExtensionTracker(); 29865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 29965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void invalidate(); 30065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 30165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void beginLoad(WebFrame*, const SandboxExtension::Handle& handle); 3022daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch void willPerformLoadDragDestinationAction(PassRefPtr<SandboxExtension> pendingDropSandboxExtension); 30365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void didStartProvisionalLoad(WebFrame*); 30465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void didCommitProvisionalLoad(WebFrame*); 30565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void didFailProvisionalLoad(WebFrame*); 3062daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch 30765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch private: 3082daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch void setPendingProvisionalSandboxExtension(PassRefPtr<SandboxExtension>); 3092daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch 31065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch RefPtr<SandboxExtension> m_pendingProvisionalSandboxExtension; 31165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch RefPtr<SandboxExtension> m_provisionalSandboxExtension; 31265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch RefPtr<SandboxExtension> m_committedSandboxExtension; 31365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch }; 31465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 31565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch SandboxExtensionTracker& sandboxExtensionTracker() { return m_sandboxExtensionTracker; } 31665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 31765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#if PLATFORM(MAC) 3182fc2651226baac27029e38c9d6ef883fa32084dbSteve Block void registerUIProcessAccessibilityTokens(const CoreIPC::DataReference& elemenToken, const CoreIPC::DataReference& windowToken); 31965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch AccessibilityWebPageObject* accessibilityRemoteObject(); 32065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WebCore::IntPoint accessibilityPosition() const { return m_accessibilityPosition; } 32165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 32265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void sendComplexTextInputToPlugin(uint64_t pluginComplexTextInputIdentifier, const String& textInput); 32365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 3242daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch void setComposition(const String& text, Vector<WebCore::CompositionUnderline> underlines, uint64_t selectionStart, uint64_t selectionEnd, uint64_t replacementRangeStart, uint64_t replacementRangeEnd, EditorState& newState); 3252daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch void confirmComposition(EditorState& newState); 3262daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch void insertText(const String& text, uint64_t replacementRangeStart, uint64_t replacementRangeEnd, bool& handled, EditorState& newState); 32765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void getMarkedRange(uint64_t& location, uint64_t& length); 3282daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch void getSelectedRange(uint64_t& location, uint64_t& length); 3292daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch void getAttributedSubstringFromRange(uint64_t location, uint64_t length, AttributedString&); 33065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void characterIndexForPoint(const WebCore::IntPoint point, uint64_t& result); 33165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void firstRectForCharacterRange(uint64_t location, uint64_t length, WebCore::IntRect& resultRect); 3322daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch void executeKeypressCommands(const Vector<WebCore::KeypressCommand>&, bool& handled, EditorState& newState); 33381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch void writeSelectionToPasteboard(const WTF::String& pasteboardName, const WTF::Vector<WTF::String>& pasteboardTypes, bool& result); 3342bde8e466a4451c7319e3a072d118917957d6554Steve Block void readSelectionFromPasteboard(const WTF::String& pasteboardName, bool& result); 3352daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch void shouldDelayWindowOrderingEvent(const WebKit::WebMouseEvent&, bool& result); 3362daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch void acceptsFirstMouse(int eventNumber, const WebKit::WebMouseEvent&, bool& result); 3372daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch bool performNonEditingBehaviorForSelector(const String&); 33865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#elif PLATFORM(WIN) 33965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void confirmComposition(const String& compositionString); 34065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void setComposition(const WTF::String& compositionString, const WTF::Vector<WebCore::CompositionUnderline>& underlines, uint64_t cursorPosition); 34165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void firstRectForCharacterInSelectedRange(const uint64_t characterPosition, WebCore::IntRect& resultRect); 34265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void getSelectedText(WTF::String&); 3432daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch 3442daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch void gestureWillBegin(const WebCore::IntPoint&, bool& canBeginPanning); 3452daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch void gestureDidScroll(const WebCore::IntSize&); 3462daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch void gestureDidEnd(); 34765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#endif 34865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 34965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch // FIXME: This a dummy message, to avoid breaking the build for platforms that don't require 35065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch // any synchronous messages, and should be removed when <rdar://problem/8775115> is fixed. 35165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void dummy(bool&); 35265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 35365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#if PLATFORM(MAC) 3542bde8e466a4451c7319e3a072d118917957d6554Steve Block void performDictionaryLookupForSelection(DictionaryPopupInfo::Type, WebCore::Frame*, const WebCore::VisibleSelection&); 35581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch 35665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch bool isSpeaking(); 35765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void speak(const String&); 35865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void stopSpeaking(); 35965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 36065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch bool isSmartInsertDeleteEnabled() const { return m_isSmartInsertDeleteEnabled; } 36165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#endif 36265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 36365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void replaceSelectionWithText(WebCore::Frame*, const String&); 3642fc2651226baac27029e38c9d6ef883fa32084dbSteve Block#if PLATFORM(WIN) 3652fc2651226baac27029e38c9d6ef883fa32084dbSteve Block void performDragControllerAction(uint64_t action, WebCore::IntPoint clientPosition, WebCore::IntPoint globalPosition, uint64_t draggingSourceOperationMask, const WebCore::DragDataMap&, uint32_t flags); 3662fc2651226baac27029e38c9d6ef883fa32084dbSteve Block#else 3672daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch void performDragControllerAction(uint64_t action, WebCore::IntPoint clientPosition, WebCore::IntPoint globalPosition, uint64_t draggingSourceOperationMask, const WTF::String& dragStorageName, uint32_t flags, const SandboxExtension::Handle&); 3682fc2651226baac27029e38c9d6ef883fa32084dbSteve Block#endif 369ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch void dragEnded(WebCore::IntPoint clientPosition, WebCore::IntPoint globalPosition, uint64_t operation); 37065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 3712daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch void willPerformLoadDragDestinationAction(); 3722daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch 37365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void beginPrinting(uint64_t frameID, const PrintInfo&); 37465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void endPrinting(); 3752fc2651226baac27029e38c9d6ef883fa32084dbSteve Block void computePagesForPrinting(uint64_t frameID, const PrintInfo&, uint64_t callbackID); 37681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#if PLATFORM(MAC) || PLATFORM(WIN) 3772fc2651226baac27029e38c9d6ef883fa32084dbSteve Block void drawRectToPDF(uint64_t frameID, const WebCore::IntRect&, uint64_t callbackID); 3782fc2651226baac27029e38c9d6ef883fa32084dbSteve Block void drawPagesToPDF(uint64_t frameID, uint32_t first, uint32_t count, uint64_t callbackID); 37965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#endif 38065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 38165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch bool mainFrameHasCustomRepresentation() const; 38265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 38381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch void didChangeScrollOffsetForMainFrame(); 38481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch 38581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch bool canRunBeforeUnloadConfirmPanel() const { return m_canRunBeforeUnloadConfirmPanel; } 38681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch void setCanRunBeforeUnloadConfirmPanel(bool canRunBeforeUnloadConfirmPanel) { m_canRunBeforeUnloadConfirmPanel = canRunBeforeUnloadConfirmPanel; } 38781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch 388ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch bool canRunModal() const { return m_canRunModal; } 38981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch void setCanRunModal(bool canRunModal) { m_canRunModal = canRunModal; } 39081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch 391ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch void runModal(); 392ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch 3932bde8e466a4451c7319e3a072d118917957d6554Steve Block float userSpaceScaleFactor() const { return m_userSpaceScaleFactor; } 3942bde8e466a4451c7319e3a072d118917957d6554Steve Block 39581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch void setMemoryCacheMessagesEnabled(bool); 39681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch 39781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch void forceRepaintWithoutCallback(); 39881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch 3992daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch void unmarkAllMisspellings(); 4002daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch void unmarkAllBadGrammar(); 4012daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch 4022bde8e466a4451c7319e3a072d118917957d6554Steve Block#if PLATFORM(MAC) 4032bde8e466a4451c7319e3a072d118917957d6554Steve Block void setDragSource(NSObject *); 4042bde8e466a4451c7319e3a072d118917957d6554Steve Block#endif 4052bde8e466a4451c7319e3a072d118917957d6554Steve Block 4062bde8e466a4451c7319e3a072d118917957d6554Steve Block#if PLATFORM(MAC) && !defined(BUILDING_ON_SNOW_LEOPARD) 4072bde8e466a4451c7319e3a072d118917957d6554Steve Block void handleCorrectionPanelResult(const String&); 4082bde8e466a4451c7319e3a072d118917957d6554Steve Block#endif 4092bde8e466a4451c7319e3a072d118917957d6554Steve Block 4102daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch void simulateMouseDown(int button, WebCore::IntPoint, int clickCount, WKEventModifiers, double time); 4112daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch void simulateMouseUp(int button, WebCore::IntPoint, int clickCount, WKEventModifiers, double time); 4122daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch void simulateMouseMotion(WebCore::IntPoint, double time); 4132daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch 4142daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch void contextMenuShowing() { m_isShowingContextMenu = true; } 4152daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch 41665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochprivate: 41765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WebPage(uint64_t pageID, const WebPageCreationParameters&); 41865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 41965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual Type type() const { return APIType; } 42065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 42165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void platformInitialize(); 42265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 42365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void didReceiveWebPageMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); 42465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch CoreIPC::SyncReplyMode didReceiveSyncWebPageMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, CoreIPC::ArgumentEncoder*); 42565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 4262daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#if !PLATFORM(MAC) 42765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch static const char* interpretKeyEvent(const WebCore::KeyboardEvent*); 4282daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#endif 42965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch bool performDefaultBehaviorForKeyEvent(const WebKeyboardEvent&); 43065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 4312daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#if PLATFORM(MAC) 4322daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch bool executeKeypressCommandsInternal(const Vector<WebCore::KeypressCommand>&, WebCore::KeyboardEvent*); 4332daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#endif 4342daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch 43565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch String sourceForFrame(WebFrame*); 43665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 43765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void loadData(PassRefPtr<WebCore::SharedBuffer>, const String& MIMEType, const String& encodingName, const WebCore::KURL& baseURL, const WebCore::KURL& failingURL); 43865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 43965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch bool platformHasLocalDataForURL(const WebCore::KURL&); 44065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 44165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch // Actions 44265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void tryClose(); 4432fc2651226baac27029e38c9d6ef883fa32084dbSteve Block void loadURL(const String&, const SandboxExtension::Handle&); 4442fc2651226baac27029e38c9d6ef883fa32084dbSteve Block void loadURLRequest(const WebCore::ResourceRequest&, const SandboxExtension::Handle&); 44565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void loadHTMLString(const String& htmlString, const String& baseURL); 44665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void loadAlternateHTMLString(const String& htmlString, const String& baseURL, const String& unreachableURL); 44765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void loadPlainTextString(const String&); 4482daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch void linkClicked(const String& url, const WebMouseEvent&); 44965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void reload(bool reloadFromOrigin); 4502fc2651226baac27029e38c9d6ef883fa32084dbSteve Block void goForward(uint64_t, const SandboxExtension::Handle&); 4512fc2651226baac27029e38c9d6ef883fa32084dbSteve Block void goBack(uint64_t, const SandboxExtension::Handle&); 4522fc2651226baac27029e38c9d6ef883fa32084dbSteve Block void goToBackForwardItem(uint64_t, const SandboxExtension::Handle&); 45365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void setActive(bool); 45465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void setFocused(bool); 45565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void setInitialFocus(bool); 45665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void setWindowResizerSize(const WebCore::IntSize&); 45765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void setIsInWindow(bool); 45881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch void validateCommand(const String&, uint64_t); 4592fc2651226baac27029e38c9d6ef883fa32084dbSteve Block void executeEditCommand(const String&); 4602fc2651226baac27029e38c9d6ef883fa32084dbSteve Block 46165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void mouseEvent(const WebMouseEvent&); 46265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void wheelEvent(const WebWheelEvent&); 46365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void keyEvent(const WebKeyboardEvent&); 4642fc2651226baac27029e38c9d6ef883fa32084dbSteve Block#if ENABLE(GESTURE_EVENTS) 4652fc2651226baac27029e38c9d6ef883fa32084dbSteve Block void gestureEvent(const WebGestureEvent&); 4662fc2651226baac27029e38c9d6ef883fa32084dbSteve Block#endif 46765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#if ENABLE(TOUCH_EVENTS) 46865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void touchEvent(const WebTouchEvent&); 46965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#endif 4702daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch void contextMenuHidden() { m_isShowingContextMenu = false; } 47165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 4722bde8e466a4451c7319e3a072d118917957d6554Steve Block static void scroll(WebCore::Page*, WebCore::ScrollDirection, WebCore::ScrollGranularity); 4732bde8e466a4451c7319e3a072d118917957d6554Steve Block static void logicalScroll(WebCore::Page*, WebCore::ScrollLogicalDirection, WebCore::ScrollGranularity); 4742bde8e466a4451c7319e3a072d118917957d6554Steve Block 47565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch uint64_t restoreSession(const SessionState&); 4762fc2651226baac27029e38c9d6ef883fa32084dbSteve Block void restoreSessionAndNavigateToCurrentItem(const SessionState&, const SandboxExtension::Handle&); 47765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 47865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void didRemoveBackForwardItem(uint64_t); 47965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 48065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void setDrawsBackground(bool); 48165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void setDrawsTransparentBackground(bool); 48265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 4832fc2651226baac27029e38c9d6ef883fa32084dbSteve Block void viewWillStartLiveResize(); 4842fc2651226baac27029e38c9d6ef883fa32084dbSteve Block void viewWillEndLiveResize(); 4852fc2651226baac27029e38c9d6ef883fa32084dbSteve Block 48665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void getContentsAsString(uint64_t callbackID); 48765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void getMainResourceDataOfFrame(uint64_t frameID, uint64_t callbackID); 488ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch void getResourceDataFromFrame(uint64_t frameID, const String& resourceURL, uint64_t callbackID); 48965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void getRenderTreeExternalRepresentation(uint64_t callbackID); 49065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void getSelectionOrContentsAsString(uint64_t callbackID); 49165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void getSourceForFrame(uint64_t frameID, uint64_t callbackID); 49265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void getWebArchiveOfFrame(uint64_t frameID, uint64_t callbackID); 49365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void runJavaScriptInMainFrame(const String&, uint64_t callbackID); 4942fc2651226baac27029e38c9d6ef883fa32084dbSteve Block void forceRepaint(uint64_t callbackID); 49565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 49665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void preferencesDidChange(const WebPreferencesStore&); 49765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void platformPreferencesDidChange(const WebPreferencesStore&); 49865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void updatePreferences(const WebPreferencesStore&); 49965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 50065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void didReceivePolicyDecision(uint64_t frameID, uint64_t listenerID, uint32_t policyAction, uint64_t downloadID); 50165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void setUserAgent(const String&); 50265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void setCustomTextEncodingName(const String&); 50365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 50465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#if PLATFORM(MAC) 50581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch void performDictionaryLookupAtLocation(const WebCore::FloatPoint&); 5062bde8e466a4451c7319e3a072d118917957d6554Steve Block void performDictionaryLookupForRange(DictionaryPopupInfo::Type, WebCore::Frame*, WebCore::Range*, NSDictionary *options); 50781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch 50865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void setWindowIsVisible(bool windowIsVisible); 50965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void windowAndViewFramesChanged(const WebCore::IntRect& windowFrameInScreenCoordinates, const WebCore::IntRect& viewFrameInWindowCoordinates, const WebCore::IntPoint& accessibilityViewCoordinates); 51065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#endif 51165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 51265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void unapplyEditCommand(uint64_t commandID); 51365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void reapplyEditCommand(uint64_t commandID); 51465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void didRemoveEditCommand(uint64_t commandID); 51565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 51665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void findString(const String&, uint32_t findOptions, uint32_t maxMatchCount); 51765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void hideFindUI(); 51865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void countStringMatches(const String&, uint32_t findOptions, uint32_t maxMatchCount); 51965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 52065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#if PLATFORM(QT) 52165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void findZoomableAreaForPoint(const WebCore::IntPoint&); 52265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#endif 52365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 52465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void didChangeSelectedIndexForActivePopupMenu(int32_t newIndex); 52565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void setTextForActivePopupMenu(int32_t index); 52665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 52765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void didChooseFilesForOpenPanel(const Vector<String>&); 52865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void didCancelForOpenPanel(); 5292fc2651226baac27029e38c9d6ef883fa32084dbSteve Block#if ENABLE(WEB_PROCESS_SANDBOX) 5302fc2651226baac27029e38c9d6ef883fa32084dbSteve Block void extendSandboxForFileFromOpenPanel(const SandboxExtension::Handle&); 5312fc2651226baac27029e38c9d6ef883fa32084dbSteve Block#endif 53265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 53365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void didReceiveGeolocationPermissionDecision(uint64_t geolocationID, bool allowed); 53465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 53565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void advanceToNextMisspelling(bool startBeforeSelection); 53665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void changeSpellingToWord(const String& word); 53765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#if PLATFORM(MAC) 53865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void uppercaseWord(); 53965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void lowercaseWord(); 54065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void capitalizeWord(); 54165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 54265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void setSmartInsertDeleteEnabled(bool isSmartInsertDeleteEnabled) { m_isSmartInsertDeleteEnabled = isSmartInsertDeleteEnabled; } 54365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#endif 54465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 54565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#if ENABLE(CONTEXT_MENUS) 54665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void didSelectItemFromActiveContextMenu(const WebContextMenuItemData&); 54765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#endif 54865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 5492bde8e466a4451c7319e3a072d118917957d6554Steve Block void platformDragEnded(); 5502bde8e466a4451c7319e3a072d118917957d6554Steve Block 5512bde8e466a4451c7319e3a072d118917957d6554Steve Block static bool platformCanHandleRequest(const WebCore::ResourceRequest&); 5522bde8e466a4451c7319e3a072d118917957d6554Steve Block 55365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch OwnPtr<WebCore::Page> m_page; 55465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch RefPtr<WebFrame> m_mainFrame; 55565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch RefPtr<InjectedBundleBackForwardList> m_backForwardList; 55665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 55765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch RefPtr<WebPageGroupProxy> m_pageGroup; 55865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 55965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch String m_userAgent; 56065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 56165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WebCore::IntSize m_viewSize; 56281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch OwnPtr<DrawingArea> m_drawingArea; 56365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 56465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch bool m_drawsBackground; 56565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch bool m_drawsTransparentBackground; 56665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 56765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch bool m_isInRedo; 56865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch bool m_isClosed; 56965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 57065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch bool m_tabToLinks; 57165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 57265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#if PLATFORM(MAC) 57365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch // Whether the containing window is visible or not. 57465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch bool m_windowIsVisible; 57565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 57665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch // Whether smart insert/delete is enabled or not. 57765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch bool m_isSmartInsertDeleteEnabled; 57865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 57965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch // The frame of the containing window in screen coordinates. 58065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WebCore::IntRect m_windowFrameInScreenCoordinates; 58165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 58265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch // The frame of the view in window coordinates. 58365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WebCore::IntRect m_viewFrameInWindowCoordinates; 58465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 58565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch // The accessibility position of the view. 58665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WebCore::IntPoint m_accessibilityPosition; 58765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 58865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch // All plug-in views on this web page. 58965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch HashSet<PluginView*> m_pluginViews; 59065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 59165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch RetainPtr<AccessibilityWebPageObject> m_mockAccessibilityElement; 5922bde8e466a4451c7319e3a072d118917957d6554Steve Block 5932bde8e466a4451c7319e3a072d118917957d6554Steve Block RetainPtr<NSObject> m_dragSource; 5942daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch 5952daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch WebCore::KeyboardEvent* m_keyboardEventBeingInterpreted; 5962daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch 59765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#elif PLATFORM(WIN) 59865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch // Our view's window (in the UI process). 59965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch HWND m_nativeWindow; 6002daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch 6012daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch RefPtr<WebCore::Node> m_gestureTargetNode; 60265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#endif 60365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 60465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch HashMap<uint64_t, RefPtr<WebEditCommand> > m_editCommandMap; 60565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 60665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WebCore::IntSize m_windowResizerSize; 60765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 60865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch InjectedBundlePageContextMenuClient m_contextMenuClient; 60965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch InjectedBundlePageEditorClient m_editorClient; 61065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch InjectedBundlePageFormClient m_formClient; 61165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch InjectedBundlePageLoaderClient m_loaderClient; 6122fc2651226baac27029e38c9d6ef883fa32084dbSteve Block InjectedBundlePagePolicyClient m_policyClient; 6132fc2651226baac27029e38c9d6ef883fa32084dbSteve Block InjectedBundlePageResourceLoadClient m_resourceLoadClient; 61465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch InjectedBundlePageUIClient m_uiClient; 6152daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#if ENABLE(FULLSCREEN_API) 6162daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch InjectedBundlePageFullScreenClient m_fullScreenClient; 6172daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#endif 61865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 61965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#if ENABLE(TILED_BACKING_STORE) 62065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WebCore::IntSize m_resizesToContentsLayoutSize; 62165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#endif 62265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 62365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch FindController m_findController; 62465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch RefPtr<PageOverlay> m_pageOverlay; 62565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 62665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#if ENABLE(INSPECTOR) 6272fc2651226baac27029e38c9d6ef883fa32084dbSteve Block RefPtr<WebInspector> m_inspector; 62865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#endif 6292bde8e466a4451c7319e3a072d118917957d6554Steve Block#if ENABLE(FULLSCREEN_API) 6302bde8e466a4451c7319e3a072d118917957d6554Steve Block RefPtr<WebFullScreenManager> m_fullScreenManager; 6312bde8e466a4451c7319e3a072d118917957d6554Steve Block#endif 63265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch RefPtr<WebPopupMenu> m_activePopupMenu; 63365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch RefPtr<WebContextMenu> m_contextMenu; 63465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch RefPtr<WebOpenPanelResultListener> m_activeOpenPanelResultListener; 63565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch GeolocationPermissionRequestManager m_geolocationPermissionRequestManager; 63665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 63765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch OwnPtr<WebCore::PrintContext> m_printContext; 63865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 63965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch SandboxExtensionTracker m_sandboxExtensionTracker; 64065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch uint64_t m_pageID; 641ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch 6422daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch RefPtr<SandboxExtension> m_pendingDropSandboxExtension; 6432daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch 64481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch bool m_canRunBeforeUnloadConfirmPanel; 64581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch 646ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch bool m_canRunModal; 647ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch bool m_isRunningModal; 64881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch 6492bde8e466a4451c7319e3a072d118917957d6554Steve Block float m_userSpaceScaleFactor; 6502bde8e466a4451c7319e3a072d118917957d6554Steve Block 65181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch bool m_cachedMainFrameIsPinnedToLeftSide; 65281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch bool m_cachedMainFrameIsPinnedToRightSide; 6532daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch 6542daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch bool m_isShowingContextMenu; 6552daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch 6562daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#if PLATFORM(WIN) 6572daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch bool m_gestureReachedScrollingLimit; 6582daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#endif 65965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch}; 66065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 66165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} // namespace WebKit 66265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 66365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#endif // WebPage_h 664