summaryrefslogtreecommitdiffstats
path: root/WebKit/chromium/src/ChromeClientImpl.h
diff options
context:
space:
mode:
Diffstat (limited to 'WebKit/chromium/src/ChromeClientImpl.h')
-rw-r--r--WebKit/chromium/src/ChromeClientImpl.h79
1 files changed, 58 insertions, 21 deletions
diff --git a/WebKit/chromium/src/ChromeClientImpl.h b/WebKit/chromium/src/ChromeClientImpl.h
index 9e8c2e3..b024bc0 100644
--- a/WebKit/chromium/src/ChromeClientImpl.h
+++ b/WebKit/chromium/src/ChromeClientImpl.h
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2009 Google Inc. All rights reserved.
+ * Copyright (C) 2010 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
@@ -32,11 +33,15 @@
#define ChromeClientImpl_h
#include "ChromeClientChromium.h"
+#include "PopupMenu.h"
+#include "SearchPopupMenu.h"
namespace WebCore {
class AccessibilityObject;
+class FileChooser;
class HTMLParserQuirks;
class PopupContainer;
+class PopupMenuClient;
class SecurityOrigin;
struct WindowFeatures;
}
@@ -65,8 +70,9 @@ public:
virtual bool canTakeFocus(WebCore::FocusDirection);
virtual void takeFocus(WebCore::FocusDirection);
virtual void focusedNodeChanged(WebCore::Node*);
+ virtual void focusedFrameChanged(WebCore::Frame*);
virtual WebCore::Page* createWindow(
- WebCore::Frame*, const WebCore::FrameLoadRequest&, const WebCore::WindowFeatures&);
+ WebCore::Frame*, const WebCore::FrameLoadRequest&, const WebCore::WindowFeatures&, const WebCore::NavigationAction&);
virtual void show();
virtual bool canRunModal();
virtual void runModal();
@@ -81,24 +87,24 @@ public:
virtual void setResizable(bool);
virtual void addMessageToConsole(
WebCore::MessageSource, WebCore::MessageType, WebCore::MessageLevel,
- const WebCore::String& message, unsigned lineNumber,
- const WebCore::String& sourceID);
+ const WTF::String& message, unsigned lineNumber,
+ const WTF::String& sourceID);
virtual bool canRunBeforeUnloadConfirmPanel();
virtual bool runBeforeUnloadConfirmPanel(
- const WebCore::String& message, WebCore::Frame*);
+ const WTF::String& message, WebCore::Frame*);
virtual void closeWindowSoon();
- virtual void runJavaScriptAlert(WebCore::Frame*, const WebCore::String&);
- virtual bool runJavaScriptConfirm(WebCore::Frame*, const WebCore::String&);
+ virtual void runJavaScriptAlert(WebCore::Frame*, const WTF::String&);
+ virtual bool runJavaScriptConfirm(WebCore::Frame*, const WTF::String&);
virtual bool runJavaScriptPrompt(
- WebCore::Frame*, const WebCore::String& message,
- const WebCore::String& defaultValue, WebCore::String& result);
- virtual void setStatusbarText(const WebCore::String& message);
+ WebCore::Frame*, const WTF::String& message,
+ const WTF::String& defaultValue, WTF::String& result);
+ virtual void setStatusbarText(const WTF::String& message);
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 invalidateWindow(const WebCore::IntRect&, bool);
+ virtual void invalidateContentsAndWindow(const WebCore::IntRect&, bool);
+ virtual void invalidateContentsForSlowScroll(const WebCore::IntRect&, bool);
virtual void scroll(
const WebCore::IntSize& scrollDelta, const WebCore::IntRect& rectToScroll,
const WebCore::IntRect& clipRect);
@@ -111,34 +117,67 @@ public:
virtual void scrollbarsModeDidChange() const;
virtual void mouseDidMoveOverElement(
const WebCore::HitTestResult& result, unsigned modifierFlags);
- virtual void setToolTip(const WebCore::String& tooltipText, WebCore::TextDirection);
+ virtual void setToolTip(const WTF::String& tooltipText, WebCore::TextDirection);
virtual void print(WebCore::Frame*);
virtual void exceededDatabaseQuota(
- WebCore::Frame*, const WebCore::String& databaseName);
+ WebCore::Frame*, const WTF::String& databaseName);
#if ENABLE(OFFLINE_WEB_APPLICATIONS)
virtual void reachedMaxAppCacheSize(int64_t spaceNeeded);
+ virtual void reachedApplicationCacheOriginQuota(WebCore::SecurityOrigin*);
#endif
#if ENABLE(NOTIFICATIONS)
virtual WebCore::NotificationPresenter* notificationPresenter() const;
#endif
- virtual void requestGeolocationPermissionForFrame(
- WebCore::Frame*, WebCore::Geolocation*) { }
+ virtual void requestGeolocationPermissionForFrame(WebCore::Frame*, WebCore::Geolocation*);
+ virtual void cancelGeolocationPermissionRequestForFrame(WebCore::Frame*, WebCore::Geolocation*);
virtual void runOpenPanel(WebCore::Frame*, PassRefPtr<WebCore::FileChooser>);
- virtual bool setCursor(WebCore::PlatformCursorHandle) { return false; }
+ virtual void chooseIconForFiles(const Vector<WTF::String>&, WebCore::FileChooser*);
+ virtual void setCursor(const WebCore::Cursor&) { }
virtual void formStateDidChange(const WebCore::Node*);
virtual PassOwnPtr<WebCore::HTMLParserQuirks> createHTMLParserQuirks() { return 0; }
+#if ENABLE(TOUCH_EVENTS)
+ // FIXME: All touch events are forwarded regardless of whether or not they are needed.
+ virtual void needTouchEvents(bool needTouchEvents) { }
+#endif
+
+#if USE(ACCELERATED_COMPOSITING)
+ // Pass 0 as the GraphicsLayer to detatch the root layer.
+ virtual void attachRootGraphicsLayer(WebCore::Frame*, WebCore::GraphicsLayer*);
+
+ // Sets a flag to specify that the next time content is drawn to the window,
+ // the changes appear on the screen in synchrony with updates to GraphicsLayers.
+ virtual void setNeedsOneShotDrawingSynchronization() { }
+
+ // Sets a flag to specify that the view needs to be updated, so we need
+ // to do an eager layout before the drawing.
+ virtual void scheduleCompositingLayerSync();
+
+ virtual CompositingTriggerFlags allowedCompositingTriggers() const;
+#endif
+
+ virtual bool supportsFullscreenForNode(const WebCore::Node*);
+ virtual void enterFullscreenForNode(WebCore::Node*);
+ virtual void exitFullscreenForNode(WebCore::Node*);
// ChromeClientChromium methods:
virtual void popupOpened(WebCore::PopupContainer* popupContainer,
const WebCore::IntRect& bounds,
- bool activatable,
bool handleExternally);
- virtual void didChangeAccessibilityObjectState(WebCore::AccessibilityObject*);
+ virtual void popupClosed(WebCore::PopupContainer* popupContainer);
+ virtual void postAccessibilityNotification(WebCore::AccessibilityObject*, WebCore::AXObjectCache::AXNotification);
// ChromeClientImpl:
void setCursor(const WebCursorInfo& cursor);
void setCursorForPlugin(const WebCursorInfo& cursor);
+ virtual bool selectItemWritingDirectionIsNatural();
+ virtual PassRefPtr<WebCore::PopupMenu> createPopupMenu(WebCore::PopupMenuClient*) const;
+ virtual PassRefPtr<WebCore::SearchPopupMenu> createSearchPopupMenu(WebCore::PopupMenuClient*) const;
+
+#if ENABLE(CONTEXT_MENUS)
+ virtual void showContextMenu() { }
+#endif
+
private:
void getPopupMenuInfo(WebCore::PopupContainer*, WebPopupMenuInfo*);
@@ -148,8 +187,6 @@ private:
bool m_scrollbarsVisible;
bool m_menubarVisible;
bool m_resizable;
- // Set to true if the next SetCursor is to be ignored.
- bool m_ignoreNextSetCursor;
};
} // namespace WebKit