diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2008-12-17 18:05:15 -0800 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2008-12-17 18:05:15 -0800 |
commit | 1cbdecfa9fc428ac2d8aca0fa91c9580b3d57353 (patch) | |
tree | 4457a7306ea5acb43fe05bfe0973b1f7faf97ba2 /WebCore/page/ChromeClient.h | |
parent | 9364f22aed35e1a1e9d07c121510f80be3ab0502 (diff) | |
download | external_webkit-1cbdecfa9fc428ac2d8aca0fa91c9580b3d57353.zip external_webkit-1cbdecfa9fc428ac2d8aca0fa91c9580b3d57353.tar.gz external_webkit-1cbdecfa9fc428ac2d8aca0fa91c9580b3d57353.tar.bz2 |
Code drop from //branches/cupcake/...@124589
Diffstat (limited to 'WebCore/page/ChromeClient.h')
-rw-r--r-- | WebCore/page/ChromeClient.h | 65 |
1 files changed, 59 insertions, 6 deletions
diff --git a/WebCore/page/ChromeClient.h b/WebCore/page/ChromeClient.h index 5bce1af..7678dc2 100644 --- a/WebCore/page/ChromeClient.h +++ b/WebCore/page/ChromeClient.h @@ -1,4 +1,3 @@ -// -*- mode: c++; c-basic-offset: 4 -*- /* * Copyright (C) 2006, 2007, 2008 Apple, Inc. All rights reserved. * @@ -21,20 +20,38 @@ #ifndef ChromeClient_h #define ChromeClient_h +#include "GraphicsContext.h" #include "FocusDirection.h" +#include "ScrollTypes.h" +#include "HostWindow.h" +#include <wtf/Forward.h> +#include <wtf/Vector.h> + +#if PLATFORM(MAC) +#include "WebCoreKeyboardUIMode.h" +#endif + +#ifndef __OBJC__ +class NSMenu; +class NSResponder; +#endif namespace WebCore { + class AtomicString; + class FileChooser; class FloatRect; class Frame; class HitTestResult; class IntRect; + class Node; class Page; class String; + class Widget; struct FrameLoadRequest; struct WindowFeatures; - + class ChromeClient { public: virtual void chromeDestroyed() = 0; @@ -86,15 +103,19 @@ namespace WebCore { virtual void runJavaScriptAlert(Frame*, const String&) = 0; virtual bool runJavaScriptConfirm(Frame*, const String&) = 0; virtual bool runJavaScriptPrompt(Frame*, const String& message, const String& defaultValue, String& result) = 0; - virtual void setStatusbarText(const String&) = 0; virtual bool shouldInterruptJavaScript() = 0; virtual bool tabsToLinks() const = 0; virtual IntRect windowResizerRect() const = 0; - virtual void addToDirtyRegion(const IntRect&) = 0; - virtual void scrollBackingStore(int dx, int dy, const IntRect& scrollViewRect, const IntRect& clipRect) = 0; - virtual void updateBackingStore() = 0; + + // Methods used by HostWindow. + virtual void repaint(const IntRect&, bool contentChanged, bool immediate = false, bool repaintContentOnly = false) = 0; + virtual void scroll(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect) = 0; + virtual IntPoint screenToWindow(const IntPoint&) const = 0; + virtual IntRect windowToScreen(const IntRect&) const = 0; + virtual PlatformWidget platformWindow() const = 0; + // End methods used by HostWindow. virtual void mouseDidMoveOverElement(const HitTestResult&, unsigned modifierFlags) = 0; @@ -104,6 +125,38 @@ namespace WebCore { virtual void exceededDatabaseQuota(Frame*, const String& databaseName) = 0; +#if ENABLE(DASHBOARD_SUPPORT) + virtual void dashboardRegionsChanged(); +#endif + + virtual void populateVisitedLinks(); + + virtual FloatRect customHighlightRect(Node*, const AtomicString& type, const FloatRect& lineRect); + virtual void paintCustomHighlight(Node*, const AtomicString& type, const FloatRect& boxRect, const FloatRect& lineRect, + bool behindText, bool entireLine); + + virtual bool shouldReplaceWithGeneratedFileForUpload(const String& path, String& generatedFilename); + virtual String generateReplacementFile(const String& path); + + virtual void enableSuddenTermination(); + virtual void disableSuddenTermination(); + + virtual bool paintCustomScrollbar(GraphicsContext*, const FloatRect&, ScrollbarControlSize, + ScrollbarControlState, ScrollbarPart pressedPart, bool vertical, + float value, float proportion, ScrollbarControlPartMask); + virtual bool paintCustomScrollCorner(GraphicsContext*, const FloatRect&); + + virtual void runOpenPanel(Frame*, PassRefPtr<FileChooser>) = 0; + +#if PLATFORM(MAC) + virtual KeyboardUIMode keyboardUIMode() { return KeyboardAccessDefault; } + + virtual NSResponder *firstResponder() { return 0; } + virtual void makeFirstResponder(NSResponder *) { } + + virtual void willPopUpMenu(NSMenu *) { } +#endif + protected: virtual ~ChromeClient() { } }; |