summaryrefslogtreecommitdiffstats
path: root/WebCore/page/ChromeClient.h
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/page/ChromeClient.h')
-rw-r--r--WebCore/page/ChromeClient.h29
1 files changed, 19 insertions, 10 deletions
diff --git a/WebCore/page/ChromeClient.h b/WebCore/page/ChromeClient.h
index 7b0fa76..e155754 100644
--- a/WebCore/page/ChromeClient.h
+++ b/WebCore/page/ChromeClient.h
@@ -20,11 +20,15 @@
#ifndef ChromeClient_h
#define ChromeClient_h
-#include "GraphicsContext.h"
+#include "Console.h"
+#include "Cursor.h"
#include "FocusDirection.h"
-#include "ScrollTypes.h"
+#include "GraphicsContext.h"
+#include "HTMLParserQuirks.h"
#include "HostWindow.h"
+#include "ScrollTypes.h"
#include <wtf/Forward.h>
+#include <wtf/PassOwnPtr.h>
#include <wtf/Vector.h>
#if PLATFORM(MAC)
@@ -43,6 +47,7 @@ namespace WebCore {
class FloatRect;
class Frame;
class Geolocation;
+ class HTMLParserQuirks;
class HitTestResult;
class IntRect;
class Node;
@@ -98,7 +103,7 @@ namespace WebCore {
virtual void setResizable(bool) = 0;
- virtual void addMessageToConsole(const String& message, unsigned int lineNumber, const String& sourceID) = 0;
+ virtual void addMessageToConsole(MessageSource, MessageLevel, const String& message, unsigned int lineNumber, const String& sourceID) = 0;
virtual bool canRunBeforeUnloadConfirmPanel() = 0;
virtual bool runBeforeUnloadConfirmPanel(const String& message, Frame* frame) = 0;
@@ -121,7 +126,7 @@ namespace WebCore {
virtual IntRect windowToScreen(const IntRect&) const = 0;
virtual PlatformWidget platformWindow() const = 0;
virtual void contentsSizeChanged(Frame*, const IntSize&) const = 0;
- virtual void scrollRectIntoView(const IntRect&, const ScrollView*) const {} // Platforms other than Mac can implement this if it ever becomes necessary for them to do so.
+ virtual void scrollRectIntoView(const IntRect&, const ScrollView*) const = 0; // Currently only Mac has a non empty implementation.
// End methods used by HostWindow.
virtual void mouseDidMoveOverElement(const HitTestResult&, unsigned modifierFlags) = 0;
@@ -146,9 +151,6 @@ namespace WebCore {
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,
@@ -157,20 +159,27 @@ namespace WebCore {
// This is an 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*) { }
+ virtual void requestGeolocationPermissionForFrame(Frame*, Geolocation*) = 0;
virtual void runOpenPanel(Frame*, PassRefPtr<FileChooser>) = 0;
+ virtual bool setCursor(PlatformCursorHandle) = 0;
+
// Notification that the given form element has changed. This function
// will be called frequently, so handling should be very fast.
virtual void formStateDidChange(const Node*) = 0;
+ virtual PassOwnPtr<HTMLParserQuirks> createHTMLParserQuirks() = 0;
+
#if USE(ACCELERATED_COMPOSITING)
// Pass 0 as the GraphicsLayer to detatch the root layer.
- virtual void attachRootGraphicsLayer(Frame*, GraphicsLayer*) { }
+ virtual void attachRootGraphicsLayer(Frame*, GraphicsLayer*) = 0;
// 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() { }
+ virtual void setNeedsOneShotDrawingSynchronization() = 0;
+ // 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 scheduleViewUpdate() = 0;
#endif
#if PLATFORM(MAC)