2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
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.
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.
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.
21 #ifndef QWEBKITPLATFORMPLUGIN_H
22 #define QWEBKITPLATFORMPLUGIN_H
25 * Warning: The contents of this file is not part of the public QtWebKit API
26 * and may be changed from version to version or even be completely removed.
32 #if defined(WTF_USE_QT_MULTIMEDIA) && WTF_USE_QT_MULTIMEDIA
33 #include <QMediaPlayer>
36 class QWebSelectData {
38 virtual ~QWebSelectData() {}
40 enum ItemType { Option, Group, Separator };
42 virtual ItemType itemType(int) const = 0;
43 virtual QString itemText(int index) const = 0;
44 virtual QString itemToolTip(int index) const = 0;
45 virtual bool itemIsEnabled(int index) const = 0;
46 virtual bool itemIsSelected(int index) const = 0;
47 virtual int itemCount() const = 0;
48 virtual bool multiple() const = 0;
49 virtual QColor backgroundColor() const = 0;
50 virtual QColor foregroundColor() const = 0;
51 virtual QColor itemBackgroundColor(int index) const = 0;
52 virtual QColor itemForegroundColor(int index) const = 0;
55 class QWebSelectMethod : public QObject {
58 virtual ~QWebSelectMethod() {}
60 virtual void show(const QWebSelectData&) = 0;
61 virtual void hide() = 0;
64 void selectItem(int index, bool allowMultiplySelections, bool shift);
68 class QWebNotificationData {
70 virtual ~QWebNotificationData() {}
72 virtual const QString title() const = 0;
73 virtual const QString message() const = 0;
74 virtual const QByteArray iconData() const = 0;
75 virtual const QUrl openerPageUrl() const = 0;
78 class QWebNotificationPresenter : public QObject {
81 QWebNotificationPresenter() {}
82 virtual ~QWebNotificationPresenter() {}
84 virtual void showNotification(const QWebNotificationData*) = 0;
87 void notificationClosed();
88 void notificationClicked();
91 class QWebHapticFeedbackPlayer: public QObject {
94 QWebHapticFeedbackPlayer() {}
95 virtual ~QWebHapticFeedbackPlayer() {}
98 None, Weak, Medium, Strong
105 virtual void playHapticFeedback(const HapticEvent, const QString& hapticType, const HapticStrength) = 0;
108 class QWebTouchModifier : public QObject {
111 virtual ~QWebTouchModifier() {}
113 enum PaddingDirection {
114 Up, Right, Down, Left
117 virtual unsigned hitTestPaddingForTouch(const PaddingDirection) const = 0;
120 #if defined(WTF_USE_QT_MULTIMEDIA) && WTF_USE_QT_MULTIMEDIA
121 class QWebFullScreenVideoHandler : public QObject {
124 QWebFullScreenVideoHandler() {}
125 virtual ~QWebFullScreenVideoHandler() {}
126 virtual bool requiresFullScreenForVideoPlayback() const = 0;
129 void fullScreenClosed();
132 virtual void enterFullScreen(QMediaPlayer*) = 0;
133 virtual void exitFullScreen() = 0;
137 class QWebKitPlatformPlugin {
139 virtual ~QWebKitPlatformPlugin() {}
146 FullScreenVideoPlayer
149 virtual bool supportsExtension(Extension) const = 0;
150 virtual QObject* createExtension(Extension) const = 0;
154 Q_DECLARE_INTERFACE(QWebKitPlatformPlugin, "com.nokia.Qt.WebKit.PlatformPlugin/1.7");
157 #endif // QWEBKITPLATFORMPLUGIN_H