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.
31 #if defined(WTF_USE_QT_MULTIMEDIA) && WTF_USE_QT_MULTIMEDIA
32 #include <QMediaPlayer>
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;
51 class QWebSelectMethod : public QObject
55 virtual ~QWebSelectMethod() {}
57 virtual void show(const QWebSelectData&) = 0;
58 virtual void hide() = 0;
61 void selectItem(int index, bool allowMultiplySelections, bool shift);
65 class QWebNotificationData
68 virtual ~QWebNotificationData() {}
70 virtual const QString title() const = 0;
71 virtual const QString message() const = 0;
72 virtual const QByteArray iconData() const = 0;
73 virtual const QUrl openerPageUrl() const = 0;
76 class QWebNotificationPresenter : public QObject
80 QWebNotificationPresenter() {}
81 virtual ~QWebNotificationPresenter() {}
83 virtual void showNotification(const QWebNotificationData*) = 0;
86 void notificationClosed();
87 void notificationClicked();
90 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
112 virtual ~QWebTouchModifier() {}
114 enum PaddingDirection {
115 Up, Right, Down, Left
118 virtual unsigned hitTestPaddingForTouch(const PaddingDirection) const = 0;
121 #if defined(WTF_USE_QT_MULTIMEDIA) && WTF_USE_QT_MULTIMEDIA
122 class QWebFullScreenVideoHandler : public QObject {
125 QWebFullScreenVideoHandler() {}
126 virtual ~QWebFullScreenVideoHandler() {}
127 virtual bool requiresFullScreenForVideoPlayback() const = 0;
130 void fullScreenClosed();
133 virtual void enterFullScreen(QMediaPlayer*) = 0;
134 virtual void exitFullScreen() = 0;
138 class QWebKitPlatformPlugin
141 virtual ~QWebKitPlatformPlugin() {}
148 FullScreenVideoPlayer
151 virtual bool supportsExtension(Extension extension) const = 0;
152 virtual QObject* createExtension(Extension extension) const = 0;
156 Q_DECLARE_INTERFACE(QWebKitPlatformPlugin, "com.nokia.Qt.WebKit.PlatformPlugin/1.7");
159 #endif // QWEBKITPLATFORMPLUGIN_H