Add test expectation for one more test having color space issues after r156793.
[WebKit-https.git] / Source / WebKit2 / UIProcess / API / qt / raw / qrawwebview_p.h
1 /*
2     Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies)
3
4     This library is free software; you can redistribute it and/or
5     modify it under the terms of the GNU Library General Public
6     License as published by the Free Software Foundation; either
7     version 2 of the License, or (at your option) any later version.
8
9     This library is distributed in the hope that it will be useful,
10     but WITHOUT ANY WARRANTY; without even the implied warranty of
11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12     Library General Public License for more details.
13
14     You should have received a copy of the GNU Library General Public License
15     along with this library; see the file COPYING.LIB.  If not, write to
16     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17     Boston, MA 02110-1301, USA.
18 */
19
20 /*
21     This file is not part of the public Qt Api. It may change without notice at any time in future.
22     We make no commitment regarding source compatibility or binary compatibility.
23 */
24
25 #ifndef qrawwebview_p_h
26 #define qrawwebview_p_h
27
28 #include "qwebkitglobal.h"
29
30 #include <WebKit2/WKContext.h>
31 #include <WebKit2/WKPage.h>
32 #include <WebKit2/WKPageGroup.h>
33
34 QT_BEGIN_NAMESPACE
35 class QRect;
36 class QRectF;
37 class QPoint;
38 class QSize;
39 class QKeyEvent;
40 class QMouseEvent;
41 class QWheelEvent;
42 class QTouchEvent;
43 class QUrl;
44 class QMatrix4x4;
45 class QCursor;
46 QT_END_NAMESPACE
47
48 class QRawWebViewPrivate;
49
50 namespace WebCore {
51 class CoordinatedGraphicsScene;
52 }
53
54 class QRawWebViewClient {
55 public:
56     virtual ~QRawWebViewClient() { }
57
58     virtual void viewNeedsDisplay(const QRect&) = 0;
59     virtual void viewRequestedScroll(const QPoint&) = 0;
60     virtual void viewProcessCrashed() = 0;
61     virtual void viewProcessRelaunched() = 0;
62     virtual void viewContentSizeChanged(const QSize&) = 0;
63     virtual void viewRequestedCursorOverride(const QCursor&) = 0;
64     virtual void doneWithKeyEvent(const QKeyEvent*, bool wasHandled) = 0;
65     virtual void doneWithTouchEvent(const QTouchEvent*, bool wasHandled) = 0;
66 };
67
68 class QWEBKIT_EXPORT QRawWebView {
69 public:
70     QRawWebView(WKContextRef, WKPageGroupRef, QRawWebViewClient*);
71     ~QRawWebView();
72
73     void create();
74
75     void setSize(const QSize&);
76     QSize size() const;
77
78     void setFocused(bool);
79     bool isFocused() const;
80
81     void setVisible(bool);
82     bool isVisible() const;
83
84     void setActive(bool);
85     bool isActive() const;
86
87     void setTransparentBackground(bool);
88     bool transparentBackground() const;
89
90     void setDrawBackground(bool);
91     bool drawBackground() const;
92
93     // Paints on the current GL context.
94     void paint(const QMatrix4x4& transform, float opacity, unsigned paintFlags);
95
96     WKPageRef pageRef();
97
98     void sendKeyEvent(QKeyEvent*);
99     void sendMouseEvent(QMouseEvent*, int clickCount = 0);
100     void sendWheelEvent(QWheelEvent*);
101     void sendTouchEvent(QTouchEvent*);
102
103 private:
104     WebCore::CoordinatedGraphicsScene* coordinatedGraphicsScene() const;
105
106     QRawWebViewPrivate* d;
107 };
108
109 #endif // qrawwebview_p_h