#ifndef qrawwebview_p_p_h
#define qrawwebview_p_p_h
#include "FindIndicator.h"
#include "PageClient.h"
#include "WebContextMenuProxy.h"
#include "WebEditCommandProxy.h"
#include "WebPopupMenuProxy.h"
#include "qrawwebview_p.h"
class QRawWebViewPrivate : public WebKit::PageClient {
public:
virtual void pageClosed() { }
virtual void preferencesDidChange() { }
virtual void setFindIndicator(PassRefPtr<WebKit::FindIndicator>, bool fadeOut, bool animate) { }
virtual void didCommitLoadForMainFrame(bool useCustomRepresentation) { }
virtual void didFinishLoadingDataForCustomRepresentation(const String& suggestedFilename, const CoreIPC::DataReference&) { }
virtual double customRepresentationZoomFactor() { return 1; }
virtual void setCustomRepresentationZoomFactor(double) { }
virtual void findStringInCustomRepresentation(const String&, WebKit::FindOptions, unsigned maxMatchCount) { }
virtual void countStringMatchesInCustomRepresentation(const String&, WebKit::FindOptions, unsigned maxMatchCount) { }
virtual void clearAllEditCommands() { }
virtual void didChangeViewportProperties(const WebCore::ViewportAttributes& attr);
virtual void handleDownloadRequest(WebKit::DownloadProxy* download);
virtual void handleAuthenticationRequiredRequest(const String& hostname, const String& realm, const String& prefilledUsername, String& username, String& password);
virtual void handleCertificateVerificationRequest(const String& hostname, bool& ignoreErrors);
virtual void handleProxyAuthenticationRequiredRequest(const String& hostname, uint16_t port, const String& prefilledUsername, String& username, String& password);
virtual void registerEditCommand(PassRefPtr<WebKit::WebEditCommandProxy>, WebKit::WebPageProxy::UndoOrRedo);
virtual bool canUndoRedo(WebKit::WebPageProxy::UndoOrRedo undoOrRedo);
virtual void executeUndoRedo(WebKit::WebPageProxy::UndoOrRedo undoOrRedo);
virtual WebCore::FloatRect convertToDeviceSpace(const WebCore::FloatRect& rect);
virtual WebCore::FloatRect convertToUserSpace(const WebCore::FloatRect& rect);
virtual WebCore::IntPoint screenToWindow(const WebCore::IntPoint& point);
virtual WebCore::IntRect windowToScreen(const WebCore::IntRect& rect);
#if USE(ACCELERATED_COMPOSITING)
virtual void enterAcceleratedCompositingMode(const WebKit::LayerTreeContext&);
virtual void exitAcceleratedCompositingMode();
virtual void updateAcceleratedCompositingMode(const WebKit::LayerTreeContext&);
#endif // USE(ACCELERATED_COMPOSITING)
virtual void updateTextInputState();
virtual void handleWillSetInputMethodState();
#if ENABLE(GESTURE_EVENTS)
virtual void doneWithGestureEvent(const WebKit::WebGestureEvent& event, bool wasEventHandled);
#endif
virtual void displayView();
virtual bool canScrollView() { return false; }
virtual void scrollView(const WebCore::IntRect& scrollRect, const WebCore::IntSize& scrollOffset);
virtual void flashBackingStoreUpdates(const Vector<WebCore::IntRect>&);
virtual void didFindZoomableArea(const WebCore::IntPoint& target, const WebCore::IntRect& area);
virtual void setCursorHiddenUntilMouseMoves(bool hiddenUntilMouseMoves);
virtual void toolTipChanged(const String&, const String& newTooltip);
virtual void pageTransitionViewportReady();
virtual void startDrag(const WebCore::DragData& dragData, PassRefPtr<WebKit::ShareableBitmap> dragImage);
virtual PassRefPtr<WebKit::WebPopupMenuProxy> createPopupMenuProxy(WebKit::WebPageProxy* webPageProxy);
virtual PassRefPtr<WebKit::WebContextMenuProxy> createContextMenuProxy(WebKit::WebPageProxy* webPageProxy);
#if ENABLE(INPUT_TYPE_COLOR)
virtual PassRefPtr<WebKit::WebColorChooserProxy> createColorChooserProxy(WebKit::WebPageProxy*, const WebCore::Color& intialColor, const WebCore::IntRect&);
#endif
QRawWebViewPrivate(WebKit::WebContext*, WebKit::WebPageGroup*, QRawWebViewClient*);
~QRawWebViewPrivate();
virtual PassOwnPtr<WebKit::DrawingAreaProxy> createDrawingAreaProxy();
virtual void pageDidRequestScroll(const WebCore::IntPoint& pos);
virtual void processDidCrash();
virtual void didRelaunchProcess();
virtual void setViewNeedsDisplay(const WebCore::IntRect& rect);
virtual void didChangeContentsSize(const WebCore::IntSize& newSize);
virtual void didRenderFrame(const WebCore::IntSize& contentsSize, const WebCore::IntRect& coveredRect) { }
virtual void setCursor(const WebCore::Cursor&);
virtual bool isViewFocused() { return m_focused; }
virtual bool isViewVisible() { return m_visible; }
virtual bool isViewWindowActive() { return m_active; }
virtual bool isViewInWindow() { return true; } virtual WebCore::IntSize viewSize() { return m_size; }
virtual void doneWithKeyEvent(const WebKit::NativeWebKeyboardEvent&, bool wasEventHandled);
#if ENABLE(TOUCH_EVENTS)
virtual void doneWithTouchEvent(const WebKit::NativeWebTouchEvent&, bool wasEventHandled);
#endif
bool m_focused;
bool m_visible;
bool m_active;
QSize m_size;
QRawWebViewClient* m_client;
WTF::RefPtr<WebKit::WebPageProxy> m_webPageProxy;
private:
QRawWebView* q;
};
#endif // qrawwebview_p_p_h