#ifndef ChromeClient_h
#define ChromeClient_h
#include "Chrome.h"
#include "FocusDirection.h"
namespace WebCore {
class FloatRect;
class Frame;
class HitTestResult;
class IntRect;
class Page;
class String;
struct FrameLoadRequest;
struct WindowFeatures;
class ChromeClient {
public:
virtual void chromeDestroyed() = 0;
virtual void setWindowRect(const FloatRect&) = 0;
virtual FloatRect windowRect() = 0;
virtual FloatRect pageRect() = 0;
virtual float scaleFactor() = 0;
virtual void focus(bool userGesture) = 0;
virtual void unfocus() = 0;
virtual bool canTakeFocus(FocusDirection) = 0;
virtual void takeFocus(FocusDirection) = 0;
virtual Page* createWindow(Frame*, const FrameLoadRequest&, const WindowFeatures&, const bool) = 0;
virtual void show() = 0;
virtual bool canRunModal() = 0;
virtual void runModal() = 0;
virtual void setToolbarsVisible(bool) = 0;
virtual bool toolbarsVisible() = 0;
virtual void setStatusbarVisible(bool) = 0;
virtual bool statusbarVisible() = 0;
virtual void setScrollbarsVisible(bool) = 0;
virtual bool scrollbarsVisible() = 0;
virtual void setMenubarVisible(bool) = 0;
virtual bool menubarVisible() = 0;
virtual void setResizable(bool) = 0;
virtual void addMessageToConsole(MessageSource source, MessageLevel level, const String& message, unsigned lineNumber, const String& sourceID) = 0;
virtual bool canRunBeforeUnloadConfirmPanel() = 0;
virtual bool runBeforeUnloadConfirmPanel(const String& message, Frame* frame) = 0;
virtual void closeWindowSoon() = 0;
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;
virtual void mouseDidMoveOverElement(const HitTestResult&, unsigned modifierFlags) = 0;
virtual void setToolTip(const String&) = 0;
virtual void print(Frame*) = 0;
virtual void exceededDatabaseQuota(Frame*, const String& databaseName) = 0;
protected:
virtual ~ChromeClient() { }
};
}
#endif // ChromeClient_h