blob: 545096d02906935a5df9812688ae4e8e81668fab [file] [log] [blame]
/*
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 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 didChangeScrollbarsForMainFrame() const { }
virtual void findStringInCustomRepresentation(const String&, WebKit::FindOptions, unsigned maxMatchCount) { }
virtual void countStringMatchesInCustomRepresentation(const String&, WebKit::FindOptions, unsigned maxMatchCount) { }
virtual void clearAllEditCommands() { }
virtual void didReceiveMessageFromNavigatorQtObject(const String& message);
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();
#if ENABLE(GESTURE_EVENTS)
virtual void doneWithGestureEvent(const WebKit::WebGestureEvent& event, bool wasEventHandled);
#endif
virtual void displayView();
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();
// PageClient
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; } // 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<WebKit::WebPageProxy> m_webPageProxy;
private:
QRawWebView* q;
};
#endif // qrawwebview_p_p_h