⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 webchromeclient.h

📁 linux下开源浏览器WebKit的源码,市面上的很多商用浏览器都是移植自WebKit
💻 H
字号:
/* * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1.  Redistributions of source code must retain the above copyright *     notice, this list of conditions and the following disclaimer.  * 2.  Redistributions in binary form must reproduce the above copyright *     notice, this list of conditions and the following disclaimer in the *     documentation and/or other materials provided with the distribution.  * 3.  Neither the name of Apple Computer, Inc. ("Apple") nor the names of *     its contributors may be used to endorse or promote products derived *     from this software without specific prior written permission.  * * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */#import <WebCore/ChromeClient.h>#import <WebCore/FocusDirection.h>#import <wtf/Forward.h>@class WebView;class WebChromeClient : public WebCore::ChromeClient {public:    WebChromeClient(WebView *webView);    WebView *webView() { return m_webView; }        virtual void chromeDestroyed();        virtual void setWindowRect(const WebCore::FloatRect&);    virtual WebCore::FloatRect windowRect();    virtual WebCore::FloatRect pageRect();    virtual float scaleFactor();    virtual void focus();    virtual void unfocus();        virtual bool canTakeFocus(WebCore::FocusDirection);    virtual void takeFocus(WebCore::FocusDirection);    virtual WebCore::Page* createWindow(WebCore::Frame*, const WebCore::FrameLoadRequest&, const WebCore::WindowFeatures&);    virtual void show();    virtual bool canRunModal();    virtual void runModal();    virtual void setToolbarsVisible(bool);    virtual bool toolbarsVisible();        virtual void setStatusbarVisible(bool);    virtual bool statusbarVisible();        virtual void setScrollbarsVisible(bool);    virtual bool scrollbarsVisible();        virtual void setMenubarVisible(bool);    virtual bool menubarVisible();        virtual void setResizable(bool);        virtual void addMessageToConsole(const WebCore::String& message, unsigned int lineNumber, const WebCore::String& sourceURL);    virtual bool canRunBeforeUnloadConfirmPanel();    virtual bool runBeforeUnloadConfirmPanel(const WebCore::String& message, WebCore::Frame* frame);    virtual void closeWindowSoon();    virtual void runJavaScriptAlert(WebCore::Frame*, const WebCore::String&);    virtual bool runJavaScriptConfirm(WebCore::Frame*, const WebCore::String&);    virtual bool runJavaScriptPrompt(WebCore::Frame*, const WebCore::String& message, const WebCore::String& defaultValue, WebCore::String& result);    virtual bool shouldInterruptJavaScript();    virtual bool tabsToLinks() const;        virtual WebCore::IntRect windowResizerRect() const;    virtual void repaint(const WebCore::IntRect&, bool contentChanged, bool immediate = false, bool repaintContentOnly = false);    virtual void scroll(const WebCore::IntSize& scrollDelta, const WebCore::IntRect& rectToScroll, const WebCore::IntRect& clipRect);    virtual WebCore::IntPoint screenToWindow(const WebCore::IntPoint&) const;    virtual WebCore::IntRect windowToScreen(const WebCore::IntRect&) const;    virtual PlatformWidget platformWindow() const;    virtual void contentsSizeChanged(WebCore::Frame*, const WebCore::IntSize&) const;    virtual void scrollRectIntoView(const WebCore::IntRect&, const WebCore::ScrollView*) const;        virtual void setStatusbarText(const WebCore::String&);    virtual void mouseDidMoveOverElement(const WebCore::HitTestResult&, unsigned modifierFlags);    virtual void setToolTip(const WebCore::String&);    virtual void print(WebCore::Frame*);    virtual void exceededDatabaseQuota(WebCore::Frame*, const WebCore::String& databaseName);    virtual void populateVisitedLinks();#if ENABLE(DASHBOARD_SUPPORT)    virtual void dashboardRegionsChanged();#endif    virtual void runOpenPanel(WebCore::Frame*, PassRefPtr<WebCore::FileChooser>);    virtual WebCore::FloatRect customHighlightRect(WebCore::Node*, const WebCore::AtomicString& type,        const WebCore::FloatRect& lineRect);    virtual void paintCustomHighlight(WebCore::Node*, const WebCore::AtomicString& type,        const WebCore::FloatRect& boxRect, const WebCore::FloatRect& lineRect,        bool behindText, bool entireLine);    virtual WebCore::KeyboardUIMode keyboardUIMode();    virtual NSResponder *firstResponder();    virtual void makeFirstResponder(NSResponder *);    virtual void willPopUpMenu(NSMenu *);        virtual bool shouldReplaceWithGeneratedFileForUpload(const WebCore::String& path, WebCore::String &generatedFilename);    virtual WebCore::String generateReplacementFile(const WebCore::String& path);    virtual void enableSuddenTermination();    virtual void disableSuddenTermination();    virtual void formStateDidChange(const WebCore::Node*) { }#if USE(ACCELERATED_COMPOSITING)    virtual void attachRootGraphicsLayer(WebCore::Frame*, WebCore::GraphicsLayer*);    virtual void setNeedsOneShotDrawingSynchronization();#endif    virtual bool shouldAllowGeolocationForFrame(WebCore::Frame*);private:    WebView *m_webView;};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -