/* Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* This file is not part of the public Qt Api. It may change without notice at any time in future. We make no commitment regarding source compatibility or binary compatibility. */ #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, bool fadeOut, bool animate) { } 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::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&); 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 dragImage); virtual PassRefPtr createPopupMenuProxy(WebKit::WebPageProxy* webPageProxy); virtual PassRefPtr createContextMenuProxy(WebKit::WebPageProxy* webPageProxy); #if ENABLE(INPUT_TYPE_COLOR) virtual PassRefPtr createColorPicker(WebKit::WebPageProxy*, const WebCore::Color& intialColor, const WebCore::IntRect&); #endif QRawWebViewPrivate(WebKit::WebContext*, WebKit::WebPageGroup*, QRawWebViewClient*); ~QRawWebViewPrivate(); // PageClient virtual std::unique_ptr 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; } // FIXME 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 m_webPageProxy; private: QRawWebView* q; }; #endif // qrawwebview_p_p_h