1643ca7872b450ea4efacab6188849e5aac2ba161Steve Block/* 2643ca7872b450ea4efacab6188849e5aac2ba161Steve Block * Copyright (C) 2009 Google Inc. All rights reserved. 3db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). 4643ca7872b450ea4efacab6188849e5aac2ba161Steve Block * 5643ca7872b450ea4efacab6188849e5aac2ba161Steve Block * Redistribution and use in source and binary forms, with or without 6643ca7872b450ea4efacab6188849e5aac2ba161Steve Block * modification, are permitted provided that the following conditions are 7643ca7872b450ea4efacab6188849e5aac2ba161Steve Block * met: 8643ca7872b450ea4efacab6188849e5aac2ba161Steve Block * 9643ca7872b450ea4efacab6188849e5aac2ba161Steve Block * * Redistributions of source code must retain the above copyright 10643ca7872b450ea4efacab6188849e5aac2ba161Steve Block * notice, this list of conditions and the following disclaimer. 11643ca7872b450ea4efacab6188849e5aac2ba161Steve Block * * Redistributions in binary form must reproduce the above 12643ca7872b450ea4efacab6188849e5aac2ba161Steve Block * copyright notice, this list of conditions and the following disclaimer 13643ca7872b450ea4efacab6188849e5aac2ba161Steve Block * in the documentation and/or other materials provided with the 14643ca7872b450ea4efacab6188849e5aac2ba161Steve Block * distribution. 15643ca7872b450ea4efacab6188849e5aac2ba161Steve Block * * Neither the name of Google Inc. nor the names of its 16643ca7872b450ea4efacab6188849e5aac2ba161Steve Block * contributors may be used to endorse or promote products derived from 17643ca7872b450ea4efacab6188849e5aac2ba161Steve Block * this software without specific prior written permission. 18643ca7872b450ea4efacab6188849e5aac2ba161Steve Block * 19643ca7872b450ea4efacab6188849e5aac2ba161Steve Block * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20643ca7872b450ea4efacab6188849e5aac2ba161Steve Block * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21643ca7872b450ea4efacab6188849e5aac2ba161Steve Block * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22643ca7872b450ea4efacab6188849e5aac2ba161Steve Block * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 23643ca7872b450ea4efacab6188849e5aac2ba161Steve Block * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24643ca7872b450ea4efacab6188849e5aac2ba161Steve Block * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 25643ca7872b450ea4efacab6188849e5aac2ba161Steve Block * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26643ca7872b450ea4efacab6188849e5aac2ba161Steve Block * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27643ca7872b450ea4efacab6188849e5aac2ba161Steve Block * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28643ca7872b450ea4efacab6188849e5aac2ba161Steve Block * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29643ca7872b450ea4efacab6188849e5aac2ba161Steve Block * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30643ca7872b450ea4efacab6188849e5aac2ba161Steve Block */ 31643ca7872b450ea4efacab6188849e5aac2ba161Steve Block 32643ca7872b450ea4efacab6188849e5aac2ba161Steve Block#ifndef ChromeClientImpl_h 33643ca7872b450ea4efacab6188849e5aac2ba161Steve Block#define ChromeClientImpl_h 34643ca7872b450ea4efacab6188849e5aac2ba161Steve Block 35643ca7872b450ea4efacab6188849e5aac2ba161Steve Block#include "ChromeClientChromium.h" 36db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block#include "PopupMenu.h" 37db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block#include "SearchPopupMenu.h" 38643ca7872b450ea4efacab6188849e5aac2ba161Steve Block 39643ca7872b450ea4efacab6188849e5aac2ba161Steve Blocknamespace WebCore { 408a0914b749bbe7da7768e07a7db5c6d4bb09472bSteve Blockclass AccessibilityObject; 4181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochclass Element; 42dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockclass FileChooser; 43643ca7872b450ea4efacab6188849e5aac2ba161Steve Blockclass PopupContainer; 44db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Blockclass PopupMenuClient; 4581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochclass RenderBox; 46643ca7872b450ea4efacab6188849e5aac2ba161Steve Blockclass SecurityOrigin; 47643ca7872b450ea4efacab6188849e5aac2ba161Steve Blockstruct WindowFeatures; 48643ca7872b450ea4efacab6188849e5aac2ba161Steve Block} 49643ca7872b450ea4efacab6188849e5aac2ba161Steve Block 50643ca7872b450ea4efacab6188849e5aac2ba161Steve Blocknamespace WebKit { 51643ca7872b450ea4efacab6188849e5aac2ba161Steve Blockclass WebViewImpl; 52643ca7872b450ea4efacab6188849e5aac2ba161Steve Blockstruct WebCursorInfo; 53643ca7872b450ea4efacab6188849e5aac2ba161Steve Blockstruct WebPopupMenuInfo; 54643ca7872b450ea4efacab6188849e5aac2ba161Steve Block 55643ca7872b450ea4efacab6188849e5aac2ba161Steve Block// Handles window-level notifications from WebCore on behalf of a WebView. 56643ca7872b450ea4efacab6188849e5aac2ba161Steve Blockclass ChromeClientImpl : public WebCore::ChromeClientChromium { 57643ca7872b450ea4efacab6188849e5aac2ba161Steve Blockpublic: 58643ca7872b450ea4efacab6188849e5aac2ba161Steve Block explicit ChromeClientImpl(WebViewImpl* webView); 59643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual ~ChromeClientImpl(); 60643ca7872b450ea4efacab6188849e5aac2ba161Steve Block 6154cdeeebc7adcbcd900e8b6a141a8cae27d9a631Steve Block virtual void* webView() const; 62643ca7872b450ea4efacab6188849e5aac2ba161Steve Block 63643ca7872b450ea4efacab6188849e5aac2ba161Steve Block // ChromeClient methods: 64643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void chromeDestroyed(); 65643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void setWindowRect(const WebCore::FloatRect&); 66643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual WebCore::FloatRect windowRect(); 67643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual WebCore::FloatRect pageRect(); 68643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual float scaleFactor(); 69643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void focus(); 70643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void unfocus(); 71643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual bool canTakeFocus(WebCore::FocusDirection); 72643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void takeFocus(WebCore::FocusDirection); 73643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void focusedNodeChanged(WebCore::Node*); 7428040489d744e0c5d475a88663056c9040ed5320Teng-Hui Zhu virtual void focusedFrameChanged(WebCore::Frame*); 75643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual WebCore::Page* createWindow( 76e14391e94c850b8bd03680c23b38978db68687a8John Reck WebCore::Frame*, const WebCore::FrameLoadRequest&, const WebCore::WindowFeatures&, const WebCore::NavigationAction&); 77643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void show(); 78643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual bool canRunModal(); 79643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void runModal(); 80643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void setToolbarsVisible(bool); 81643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual bool toolbarsVisible(); 82643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void setStatusbarVisible(bool); 83643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual bool statusbarVisible(); 84643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void setScrollbarsVisible(bool); 85643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual bool scrollbarsVisible(); 86643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void setMenubarVisible(bool); 87643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual bool menubarVisible(); 88643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void setResizable(bool); 89643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void addMessageToConsole( 90643ca7872b450ea4efacab6188849e5aac2ba161Steve Block WebCore::MessageSource, WebCore::MessageType, WebCore::MessageLevel, 91dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch const WTF::String& message, unsigned lineNumber, 92dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch const WTF::String& sourceID); 93643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual bool canRunBeforeUnloadConfirmPanel(); 94643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual bool runBeforeUnloadConfirmPanel( 95dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch const WTF::String& message, WebCore::Frame*); 96643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void closeWindowSoon(); 97dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch virtual void runJavaScriptAlert(WebCore::Frame*, const WTF::String&); 98dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch virtual bool runJavaScriptConfirm(WebCore::Frame*, const WTF::String&); 99643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual bool runJavaScriptPrompt( 100dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch WebCore::Frame*, const WTF::String& message, 101dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch const WTF::String& defaultValue, WTF::String& result); 102dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch virtual void setStatusbarText(const WTF::String& message); 103643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual bool shouldInterruptJavaScript(); 10481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch virtual WebCore::KeyboardUIMode keyboardUIMode(); 105643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual WebCore::IntRect windowResizerRect() const; 1062fc2651226baac27029e38c9d6ef883fa32084dbSteve Block#if ENABLE(REGISTER_PROTOCOL_HANDLER) 1072fc2651226baac27029e38c9d6ef883fa32084dbSteve Block virtual void registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title); 1082fc2651226baac27029e38c9d6ef883fa32084dbSteve Block#endif 109dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block virtual void invalidateWindow(const WebCore::IntRect&, bool); 110dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block virtual void invalidateContentsAndWindow(const WebCore::IntRect&, bool); 111dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block virtual void invalidateContentsForSlowScroll(const WebCore::IntRect&, bool); 112ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch#if ENABLE(REQUEST_ANIMATION_FRAME) 113ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch virtual void scheduleAnimation(); 114ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch#endif 115643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void scroll( 116643ca7872b450ea4efacab6188849e5aac2ba161Steve Block const WebCore::IntSize& scrollDelta, const WebCore::IntRect& rectToScroll, 117643ca7872b450ea4efacab6188849e5aac2ba161Steve Block const WebCore::IntRect& clipRect); 118643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual WebCore::IntPoint screenToWindow(const WebCore::IntPoint&) const; 119643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual WebCore::IntRect windowToScreen(const WebCore::IntRect&) const; 120643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual PlatformPageClient platformPageClient() const { return 0; } 121643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void contentsSizeChanged(WebCore::Frame*, const WebCore::IntSize&) const; 122643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void scrollRectIntoView( 123643ca7872b450ea4efacab6188849e5aac2ba161Steve Block const WebCore::IntRect&, const WebCore::ScrollView*) const { } 124643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void scrollbarsModeDidChange() const; 125643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void mouseDidMoveOverElement( 126643ca7872b450ea4efacab6188849e5aac2ba161Steve Block const WebCore::HitTestResult& result, unsigned modifierFlags); 127dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch virtual void setToolTip(const WTF::String& tooltipText, WebCore::TextDirection); 128643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void print(WebCore::Frame*); 129643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void exceededDatabaseQuota( 130dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch WebCore::Frame*, const WTF::String& databaseName); 131643ca7872b450ea4efacab6188849e5aac2ba161Steve Block#if ENABLE(OFFLINE_WEB_APPLICATIONS) 132643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void reachedMaxAppCacheSize(int64_t spaceNeeded); 133db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block virtual void reachedApplicationCacheOriginQuota(WebCore::SecurityOrigin*); 134643ca7872b450ea4efacab6188849e5aac2ba161Steve Block#endif 135643ca7872b450ea4efacab6188849e5aac2ba161Steve Block#if ENABLE(NOTIFICATIONS) 136643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual WebCore::NotificationPresenter* notificationPresenter() const; 137643ca7872b450ea4efacab6188849e5aac2ba161Steve Block#endif 138692e5dbf12901edacf14812a6fae25462920af42Steve Block virtual void requestGeolocationPermissionForFrame(WebCore::Frame*, WebCore::Geolocation*); 139dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block virtual void cancelGeolocationPermissionRequestForFrame(WebCore::Frame*, WebCore::Geolocation*); 140643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void runOpenPanel(WebCore::Frame*, PassRefPtr<WebCore::FileChooser>); 141dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch virtual void chooseIconForFiles(const Vector<WTF::String>&, WebCore::FileChooser*); 1422daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#if ENABLE(DIRECTORY_UPLOAD) 1432daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch virtual void enumerateChosenDirectory(const WTF::String&, WebCore::FileChooser*); 1442daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#endif 145ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch virtual void setCursor(const WebCore::Cursor&); 146643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void formStateDidChange(const WebCore::Node*); 147dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#if ENABLE(TOUCH_EVENTS) 148dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block // FIXME: All touch events are forwarded regardless of whether or not they are needed. 149dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block virtual void needTouchEvents(bool needTouchEvents) { } 150dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#endif 151dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 152dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#if USE(ACCELERATED_COMPOSITING) 153dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block // Pass 0 as the GraphicsLayer to detatch the root layer. 154dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block virtual void attachRootGraphicsLayer(WebCore::Frame*, WebCore::GraphicsLayer*); 155643ca7872b450ea4efacab6188849e5aac2ba161Steve Block 156dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block // Sets a flag to specify that the next time content is drawn to the window, 157dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block // the changes appear on the screen in synchrony with updates to GraphicsLayers. 158dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block virtual void setNeedsOneShotDrawingSynchronization() { } 159dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 160dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block // Sets a flag to specify that the view needs to be updated, so we need 161dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block // to do an eager layout before the drawing. 162dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block virtual void scheduleCompositingLayerSync(); 1635abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306Iain Merrick 1644a156157940f51b91eadd76f6c86f862ec0a1da0Ben Murdoch virtual CompositingTriggerFlags allowedCompositingTriggers() const; 165db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block#endif 166967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch 167545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch virtual bool supportsFullscreenForNode(const WebCore::Node*); 168545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch virtual void enterFullscreenForNode(WebCore::Node*); 169545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch virtual void exitFullscreenForNode(WebCore::Node*); 170545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 17181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#if ENABLE(FULLSCREEN_API) 1722bde8e466a4451c7319e3a072d118917957d6554Steve Block virtual bool supportsFullScreenForElement(const WebCore::Element*, bool withKeyboard); 17381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch virtual void enterFullScreenForElement(WebCore::Element*); 17481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch virtual void exitFullScreenForElement(WebCore::Element*); 17581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch virtual void fullScreenRendererChanged(WebCore::RenderBox*); 17681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#endif 17781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch 178643ca7872b450ea4efacab6188849e5aac2ba161Steve Block // ChromeClientChromium methods: 179643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void popupOpened(WebCore::PopupContainer* popupContainer, 180643ca7872b450ea4efacab6188849e5aac2ba161Steve Block const WebCore::IntRect& bounds, 181643ca7872b450ea4efacab6188849e5aac2ba161Steve Block bool handleExternally); 182dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block virtual void popupClosed(WebCore::PopupContainer* popupContainer); 18368513a70bcd92384395513322f1b801e7bf9c729Steve Block virtual void postAccessibilityNotification(WebCore::AccessibilityObject*, WebCore::AXObjectCache::AXNotification); 184643ca7872b450ea4efacab6188849e5aac2ba161Steve Block 185643ca7872b450ea4efacab6188849e5aac2ba161Steve Block // ChromeClientImpl: 186ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch void setCursorForPlugin(const WebCursorInfo&); 187643ca7872b450ea4efacab6188849e5aac2ba161Steve Block 188db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block virtual bool selectItemWritingDirectionIsNatural(); 1892fc2651226baac27029e38c9d6ef883fa32084dbSteve Block virtual bool selectItemAlignmentFollowsMenuWritingDirection(); 190db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block virtual PassRefPtr<WebCore::PopupMenu> createPopupMenu(WebCore::PopupMenuClient*) const; 191db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block virtual PassRefPtr<WebCore::SearchPopupMenu> createSearchPopupMenu(WebCore::PopupMenuClient*) const; 192db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block 19328040489d744e0c5d475a88663056c9040ed5320Teng-Hui Zhu#if ENABLE(CONTEXT_MENUS) 19428040489d744e0c5d475a88663056c9040ed5320Teng-Hui Zhu virtual void showContextMenu() { } 19528040489d744e0c5d475a88663056c9040ed5320Teng-Hui Zhu#endif 19628040489d744e0c5d475a88663056c9040ed5320Teng-Hui Zhu 1972daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch virtual void willRunModalDialogDuringPageDismissal(const DialogType&) const; 1982daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch 199643ca7872b450ea4efacab6188849e5aac2ba161Steve Blockprivate: 200643ca7872b450ea4efacab6188849e5aac2ba161Steve Block void getPopupMenuInfo(WebCore::PopupContainer*, WebPopupMenuInfo*); 201ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch void setCursor(const WebCursorInfo&); 202643ca7872b450ea4efacab6188849e5aac2ba161Steve Block 203643ca7872b450ea4efacab6188849e5aac2ba161Steve Block WebViewImpl* m_webView; // weak pointer 204643ca7872b450ea4efacab6188849e5aac2ba161Steve Block bool m_toolbarsVisible; 205643ca7872b450ea4efacab6188849e5aac2ba161Steve Block bool m_statusbarVisible; 206643ca7872b450ea4efacab6188849e5aac2ba161Steve Block bool m_scrollbarsVisible; 207643ca7872b450ea4efacab6188849e5aac2ba161Steve Block bool m_menubarVisible; 208643ca7872b450ea4efacab6188849e5aac2ba161Steve Block bool m_resizable; 209643ca7872b450ea4efacab6188849e5aac2ba161Steve Block}; 210643ca7872b450ea4efacab6188849e5aac2ba161Steve Block 211643ca7872b450ea4efacab6188849e5aac2ba161Steve Block} // namespace WebKit 212643ca7872b450ea4efacab6188849e5aac2ba161Steve Block 213643ca7872b450ea4efacab6188849e5aac2ba161Steve Block#endif 214