diff options
Diffstat (limited to 'WebCore/page/ChromeClient.h')
| -rw-r--r-- | WebCore/page/ChromeClient.h | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/WebCore/page/ChromeClient.h b/WebCore/page/ChromeClient.h index 409a492..117953c 100644 --- a/WebCore/page/ChromeClient.h +++ b/WebCore/page/ChromeClient.h @@ -62,6 +62,10 @@ namespace WebCore { class GraphicsLayer; #endif +#if ENABLE(NOTIFICATIONS) + class NotificationPresenter; +#endif + class ChromeClient { public: virtual void chromeDestroyed() = 0; @@ -73,12 +77,18 @@ namespace WebCore { virtual float scaleFactor() = 0; +#ifdef ANDROID_USER_GESTURE + virtual void focus(bool userGesture) = 0; +#else virtual void focus() = 0; +#endif virtual void unfocus() = 0; virtual bool canTakeFocus(FocusDirection) = 0; virtual void takeFocus(FocusDirection) = 0; + virtual void focusedNodeChanged(Node*) = 0; + // The Frame pointer provides the ChromeClient with context about which // Frame wants to create the new Page. Also, the newly created window // should not be shown to the user until the ChromeClient of the newly @@ -117,6 +127,9 @@ namespace WebCore { virtual bool shouldInterruptJavaScript() = 0; virtual bool tabsToLinks() const = 0; + virtual void registerProtocolHandler(const String&, const String&, const String&, const String&) { } + virtual void registerContentHandler(const String&, const String&, const String&, const String&) { } + virtual IntRect windowResizerRect() const = 0; // Methods used by HostWindow. @@ -124,11 +137,12 @@ namespace WebCore { 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; + virtual PlatformPageClient platformPageClient() const = 0; virtual void contentsSizeChanged(Frame*, const IntSize&) const = 0; virtual void scrollRectIntoView(const IntRect&, const ScrollView*) const = 0; // Currently only Mac has a non empty implementation. // End methods used by HostWindow. + virtual void scrollbarsModeDidChange() const = 0; virtual void mouseDidMoveOverElement(const HitTestResult&, unsigned modifierFlags) = 0; virtual void setToolTip(const String&, TextDirection) = 0; @@ -152,6 +166,10 @@ namespace WebCore { virtual void dashboardRegionsChanged(); #endif +#if ENABLE(NOTIFICATIONS) + virtual NotificationPresenter* notificationPresenter() const = 0; +#endif + virtual void populateVisitedLinks(); virtual FloatRect customHighlightRect(Node*, const AtomicString& type, const FloatRect& lineRect); @@ -166,7 +184,7 @@ namespace WebCore { float value, float proportion, ScrollbarControlPartMask); virtual bool paintCustomScrollCorner(GraphicsContext*, const FloatRect&); - // This is an asynchronous call. The ChromeClient can display UI asking the user for permission + // This can be either a synchronous or asynchronous call. The ChromeClient can display UI asking the user for permission // to use Geolococation. The ChromeClient must call Geolocation::setShouldClearCache() appropriately. virtual void requestGeolocationPermissionForFrame(Frame*, Geolocation*) = 0; @@ -194,6 +212,10 @@ namespace WebCore { virtual void scheduleCompositingLayerSync() = 0; #endif + virtual bool supportsFullscreenForNode(const Node*) { return false; } + virtual void enterFullscreenForNode(Node*) { } + virtual void exitFullscreenForNode(Node*) { } + #if PLATFORM(MAC) virtual KeyboardUIMode keyboardUIMode() { return KeyboardAccessDefault; } |
