Falkon Develop
Cross-platform Qt-based web browser
externaljsobject.h
Go to the documentation of this file.
1/* ============================================================
2* Falkon - Qt web browser
3* Copyright (C) 2014-2018 David Rosca <nowrep@gmail.com>
4*
5* This program is free software: you can redistribute it and/or modify
6* it under the terms of the GNU General Public License as published by
7* the Free Software Foundation, either version 3 of the License, or
8* (at your option) any later version.
9*
10* This program is distributed in the hope that it will be useful,
11* but WITHOUT ANY WARRANTY; without even the implied warranty of
12* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13* GNU General Public License for more details.
14*
15* You should have received a copy of the GNU General Public License
16* along with this program. If not, see <http://www.gnu.org/licenses/>.
17* ============================================================ */
18#ifndef EXTERNALJSOBJECT_H
19#define EXTERNALJSOBJECT_H
20
21#include <QObject>
22
23#include "qzcommon.h"
24
25class WebPage;
27
28class QWebChannel;
29
30class FALKON_EXPORT ExternalJsObject : public QObject
31{
32 Q_OBJECT
33 Q_PROPERTY(QObject* speedDial READ speedDial CONSTANT)
34 Q_PROPERTY(QObject* autoFill READ autoFill CONSTANT)
35 Q_PROPERTY(QObject* recovery READ recovery CONSTANT)
36
37public:
38 explicit ExternalJsObject(WebPage *page);
39
40 WebPage *page() const;
41
42 static void setupWebChannel(QWebChannel *webChannel, WebPage *page);
43
44 static void registerExtraObject(const QString &id, QObject *object);
45 static void unregisterExtraObject(QObject *object);
46
47private:
48 QObject *speedDial() const;
49 QObject *autoFill() const;
50 QObject *recovery() const;
51
52 WebPage *m_page;
53 AutoFillJsObject *m_autoFill;
54};
55
56#endif // EXTERNALJSOBJECT_H
#define FALKON_EXPORT
Definition: qzcommon.h:28