From b3e1a8fb182ce0becebb24998b61ba4acc9dc318 Mon Sep 17 00:00:00 2001 From: Jocelyn Turcotte Date: Thu, 16 Jan 2014 18:20:32 +0100 Subject: Cleanup QtWebEngineWidgets headers for the TP1 release With this applications will get a compile error instead of a linking error for methods currently without an implementation in cpp files. Change-Id: I3fe5c1f127c57cd62a1eb401e8e3283e005a0344 Reviewed-by: Zeno Albisser Reviewed-by: Pierre Rossi --- examples/widgets/browser/browsermainwindow.cpp | 2 + examples/widgets/browser/tabwidget.cpp | 18 + examples/widgets/browser/urllineedit.cpp | 2 + examples/widgets/browser/webview.cpp | 17 +- examples/widgets/browser/webview.h | 4 + .../api/qwebenginehistoryinterface.h | 9 - src/webenginewidgets/api/qwebengineinspector.h | 9 - src/webenginewidgets/api/qwebenginepage.h | 415 +-------------------- .../api/qwebenginesecurityorigin.h | 19 - src/webenginewidgets/api/qwebenginesettings.h | 137 ------- src/webenginewidgets/api/qwebengineview.h | 50 --- .../widgets/qwebenginepage/tst_qwebenginepage.cpp | 10 + 12 files changed, 49 insertions(+), 643 deletions(-) diff --git a/examples/widgets/browser/browsermainwindow.cpp b/examples/widgets/browser/browsermainwindow.cpp index 9a2262314..b51df7a75 100644 --- a/examples/widgets/browser/browsermainwindow.cpp +++ b/examples/widgets/browser/browsermainwindow.cpp @@ -291,6 +291,7 @@ void BrowserMainWindow::setupMenu() // Edit QMenu *editMenu = menuBar()->addMenu(tr("&Edit")); +#if defined(QWEBENGINEPAGE_WEBACTION_UNDO) QAction *m_undo = editMenu->addAction(tr("&Undo")); m_undo->setShortcuts(QKeySequence::Undo); m_tabWidget->addWebAction(m_undo, QWebEnginePage::Undo); @@ -308,6 +309,7 @@ void BrowserMainWindow::setupMenu() m_paste->setShortcuts(QKeySequence::Paste); m_tabWidget->addWebAction(m_paste, QWebEnginePage::Paste); editMenu->addSeparator(); +#endif #if defined(QWEBENGINEPAGE_FINDTEXT) QAction *m_find = editMenu->addAction(tr("&Find")); diff --git a/examples/widgets/browser/tabwidget.cpp b/examples/widgets/browser/tabwidget.cpp index 3c71b2d53..af18b5a37 100644 --- a/examples/widgets/browser/tabwidget.cpp +++ b/examples/widgets/browser/tabwidget.cpp @@ -306,18 +306,26 @@ void TabWidget::currentChanged(int index) WebView *oldWebView = this->webView(m_lineEdits->currentIndex()); if (oldWebView) { +#if defined(QWEBENGINEVIEW_STATUSBARMESSAGE) disconnect(oldWebView, SIGNAL(statusBarMessage(QString)), this, SIGNAL(showStatusBarMessage(QString))); +#endif +#if defined(QWEBENGINEVIEW_LINKHOVERED) disconnect(oldWebView->page(), SIGNAL(linkHovered(QString,QString,QString)), this, SIGNAL(linkHovered(QString))); +#endif disconnect(oldWebView, SIGNAL(loadProgress(int)), this, SIGNAL(loadProgress(int))); } +#if defined(QWEBENGINEVIEW_STATUSBARMESSAGE) connect(webView, SIGNAL(statusBarMessage(QString)), this, SIGNAL(showStatusBarMessage(QString))); +#endif +#if defined(QWEBENGINEVIEW_LINKHOVERED) connect(webView->page(), SIGNAL(linkHovered(QString,QString,QString)), this, SIGNAL(linkHovered(QString))); +#endif connect(webView, SIGNAL(loadProgress(int)), this, SIGNAL(loadProgress(int))); @@ -450,8 +458,10 @@ WebView *TabWidget::newTab(bool makeCurrent) this, SLOT(webViewLoadStarted())); connect(webView, SIGNAL(loadFinished(bool)), this, SLOT(webViewIconChanged())); +#if defined(QWEBENGINEVIEW_ICONCHANGED) connect(webView, SIGNAL(iconChanged()), this, SLOT(webViewIconChanged())); +#endif connect(webView, SIGNAL(titleChanged(QString)), this, SLOT(webViewTitleChanged(QString))); connect(webView, SIGNAL(urlChanged(QUrl)), @@ -460,14 +470,22 @@ WebView *TabWidget::newTab(bool makeCurrent) this, SLOT(windowCloseRequested())); connect(webView->page(), SIGNAL(geometryChangeRequested(QRect)), this, SIGNAL(geometryChangeRequested(QRect))); +#if defined(QWEBENGINEPAGE_PRINTREQUESTED) connect(webView->page(), SIGNAL(printRequested(QWebEngineFrame*)), this, SIGNAL(printRequested(QWebEngineFrame*))); +#endif +#if defined(QWEBENGINEPAGE_MENUBARVISIBILITYCHANGEREQUESTED) connect(webView->page(), SIGNAL(menuBarVisibilityChangeRequested(bool)), this, SIGNAL(menuBarVisibilityChangeRequested(bool))); +#endif +#if defined(QWEBENGINEPAGE_STATUSBARVISIBILITYCHANGEREQUESTED) connect(webView->page(), SIGNAL(statusBarVisibilityChangeRequested(bool)), this, SIGNAL(statusBarVisibilityChangeRequested(bool))); +#endif +#if defined(QWEBENGINEPAGE_TOOLBARVISIBILITYCHANGEREQUESTED) connect(webView->page(), SIGNAL(toolBarVisibilityChangeRequested(bool)), this, SIGNAL(toolBarVisibilityChangeRequested(bool))); +#endif addTab(webView, tr("(Untitled)")); if (makeCurrent) setCurrentWidget(webView); diff --git a/examples/widgets/browser/urllineedit.cpp b/examples/widgets/browser/urllineedit.cpp index 47828d95f..306e56e9a 100644 --- a/examples/widgets/browser/urllineedit.cpp +++ b/examples/widgets/browser/urllineedit.cpp @@ -276,8 +276,10 @@ void UrlLineEdit::setWebView(WebView *webView) this, SLOT(webViewUrlChanged(QUrl))); connect(webView, SIGNAL(loadFinished(bool)), this, SLOT(webViewIconChanged())); +#if defined(QWEBENGINEVIEW_ICONCHANGED) connect(webView, SIGNAL(iconChanged()), this, SLOT(webViewIconChanged())); +#endif connect(webView, SIGNAL(loadProgress(int)), this, SLOT(update())); } diff --git a/examples/widgets/browser/webview.cpp b/examples/widgets/browser/webview.cpp index 7eb08d6a3..99ae2b09c 100644 --- a/examples/widgets/browser/webview.cpp +++ b/examples/widgets/browser/webview.cpp @@ -70,8 +70,10 @@ WebPage::WebPage(QObject *parent) #if defined(QWEBENGINEPAGE_SETNETWORKACCESSMANAGER) setNetworkAccessManager(BrowserApplication::networkAccessManager()); #endif +#if defined(QWEBENGINEPAGE_UNSUPPORTEDCONTENT) connect(this, SIGNAL(unsupportedContent(QNetworkReply*)), this, SLOT(handleUnsupportedContent(QNetworkReply*))); +#endif } BrowserMainWindow *WebPage::mainWindow() @@ -85,9 +87,9 @@ BrowserMainWindow *WebPage::mainWindow() return BrowserApplication::instance()->mainWindow(); } +#if defined(QWEBENGINEPAGE_ACCEPTNAVIGATIONREQUEST) bool WebPage::acceptNavigationRequest(QWebEngineFrame *frame, const QNetworkRequest &request, NavigationType type) { -#if defined(QWEBENGINEPAGE_ACCEPTNAVIGATIONREQUEST) // ctrl open in new tab // ctrl-shift open in new tab and select // ctrl-alt open in new window @@ -114,9 +116,8 @@ bool WebPage::acceptNavigationRequest(QWebEngineFrame *frame, const QNetworkRequ } m_loadingUrl = request.url(); emit loadingUrl(m_loadingUrl); -#endif - return QWebEnginePage::acceptNavigationRequest(frame, request, type); } +#endif class PopupWindow : public QWidget { Q_OBJECT @@ -195,9 +196,9 @@ QObject *WebPage::createPlugin(const QString &classId, const QUrl &url, const QS } #endif // !defined(QT_NO_UITOOLS) +#if defined(QWEBENGINEPAGE_UNSUPPORTEDCONTENT) void WebPage::handleUnsupportedContent(QNetworkReply *reply) { -#if defined(QWEBENGINEPAGE_UNSUPPORTEDCONTENT) QString errorString = reply->errorString(); if (m_loadingUrl != reply->url()) { @@ -246,8 +247,8 @@ void WebPage::handleUnsupportedContent(QNetworkReply *reply) if (m_loadingUrl == reply->url()) { mainFrame()->setHtml(html, reply->url()); } -#endif } +#endif WebView::WebView(QWidget* parent) @@ -256,16 +257,20 @@ WebView::WebView(QWidget* parent) , m_page(new WebPage(this)) { setPage(m_page); +#if defined(QWEBENGINEPAGE_STATUSBARMESSAGE) connect(page(), SIGNAL(statusBarMessage(QString)), SLOT(setStatusBarText(QString))); +#endif connect(this, SIGNAL(loadProgress(int)), this, SLOT(setProgress(int))); connect(this, SIGNAL(loadFinished(bool)), this, SLOT(loadFinished())); connect(page(), SIGNAL(loadingUrl(QUrl)), this, SIGNAL(urlChanged(QUrl))); +#if defined(QWEBENGINEPAGE_DOWNLOADREQUESTED) connect(page(), SIGNAL(downloadRequested(QNetworkRequest)), this, SLOT(downloadRequested(QNetworkRequest))); +#endif #if defined(QWEBENGINEPAGE_UNSUPPORTEDCONTENT) page()->setForwardUnsupportedContent(true); #endif @@ -310,8 +315,10 @@ void WebView::wheelEvent(QWheelEvent *event) void WebView::openLinkInNewTab() { +#if defined(QWEBENGINEPAGE_WEBACTION_OPENLINKINNEWWINDOW) m_page->m_openInNewTab = true; pageAction(QWebEnginePage::OpenLinkInNewWindow)->trigger(); +#endif } void WebView::setProgress(int progress) diff --git a/examples/widgets/browser/webview.h b/examples/widgets/browser/webview.h index 0dce3e029..4ef4d7e6a 100644 --- a/examples/widgets/browser/webview.h +++ b/examples/widgets/browser/webview.h @@ -64,14 +64,18 @@ public: BrowserMainWindow *mainWindow(); protected: +#if defined(QWEBENGINEPAGE_ACCEPTNAVIGATIONREQUEST) bool acceptNavigationRequest(QWebEngineFrame *frame, const QNetworkRequest &request, NavigationType type); +#endif QWebEnginePage *createWindow(QWebEnginePage::WebWindowType type); #if !defined(QT_NO_UITOOLS) QObject *createPlugin(const QString &classId, const QUrl &url, const QStringList ¶mNames, const QStringList ¶mValues); #endif private slots: +#if defined(QWEBENGINEPAGE_UNSUPPORTEDCONTENT) void handleUnsupportedContent(QNetworkReply *reply); +#endif private: friend class WebView; diff --git a/src/webenginewidgets/api/qwebenginehistoryinterface.h b/src/webenginewidgets/api/qwebenginehistoryinterface.h index b8108c516..f799bdae7 100644 --- a/src/webenginewidgets/api/qwebenginehistoryinterface.h +++ b/src/webenginewidgets/api/qwebenginehistoryinterface.h @@ -30,15 +30,6 @@ QT_BEGIN_NAMESPACE class QWEBENGINEWIDGETS_EXPORT QWebEngineHistoryInterface : public QObject { Q_OBJECT -public: - QWebEngineHistoryInterface(QObject *parent = 0); - ~QWebEngineHistoryInterface(); - - static void setDefaultInterface(QWebEngineHistoryInterface *defaultInterface); - static QWebEngineHistoryInterface *defaultInterface(); - - virtual bool historyContains(const QString &url) const = 0; - virtual void addHistoryEntry(const QString &url) = 0; }; QT_END_NAMESPACE diff --git a/src/webenginewidgets/api/qwebengineinspector.h b/src/webenginewidgets/api/qwebengineinspector.h index 9427b4e5c..b3f87897c 100644 --- a/src/webenginewidgets/api/qwebengineinspector.h +++ b/src/webenginewidgets/api/qwebengineinspector.h @@ -25,17 +25,8 @@ QT_BEGIN_NAMESPACE -class QWebEnginePage; -class QWebEngineInspectorPrivate; - class QWEBENGINEWIDGETS_EXPORT QWebEngineInspector : public QWidget { Q_OBJECT -public: - QWebEngineInspector(QWidget* parent = 0); - ~QWebEngineInspector(); - - void setPage(QWebEnginePage* page); - QWebEnginePage* page() const; }; QT_END_NAMESPACE diff --git a/src/webenginewidgets/api/qwebenginepage.h b/src/webenginewidgets/api/qwebenginepage.h index 4d6a72fc4..6e158f3bd 100644 --- a/src/webenginewidgets/api/qwebenginepage.h +++ b/src/webenginewidgets/api/qwebenginepage.h @@ -32,23 +32,14 @@ #include QT_BEGIN_NAMESPACE -class QUndoStack; class QMenu; -class QPrinter; -// FIXME: Just forward-declare the to-be-removed frame and element classes for now. +// FIXME: Just forward-declare the to-be-removed frame classe for now. // Referencing calls should be ported to be page-friendly or removed individually. class QWebEngineFrame; -class QWebEngineElement; -class QWebEngineElementCollection; class QWebEngineHistory; -class QWebEngineHistoryItem; class QWebEnginePagePrivate; -class QWebEnginePluginFactory; -class QWebEngineSecurityOrigin; -class QtViewportAttributesPrivate; -class QWebEngineHitTestResultPrivate; namespace QtWebEnginePrivate { @@ -67,497 +58,97 @@ private: } class QWEBENGINEWIDGETS_EXPORT QWebEngineHitTestResult { -public: - QWebEngineHitTestResult(); - QWebEngineHitTestResult(const QWebEngineHitTestResult &other); - QWebEngineHitTestResult &operator=(const QWebEngineHitTestResult &other); - ~QWebEngineHitTestResult(); - - bool isNull() const; - - QPoint pos() const; - QRect boundingRect() const; - QWebEngineElement enclosingBlockElement() const; - QString title() const; - - QString linkText() const; - QUrl linkUrl() const; - QUrl linkTitle() const; - QWebEngineFrame *linkTargetFrame() const; - QWebEngineElement linkElement() const; - - QString alternateText() const; // for img, area, input and applet - - QUrl imageUrl() const; - QPixmap pixmap() const; - - bool isContentEditable() const; - bool isContentSelected() const; - - QWebEngineElement element() const; - - QWebEngineFrame *frame() const; }; class QWEBENGINEWIDGETS_EXPORT QWebEnginePage : public QObject { Q_OBJECT -// Hack to avoid undefined symbols with properties until we have them implemented. -#ifndef Q_MOC_RUN - Q_PROPERTY(bool modified READ isModified) - Q_PROPERTY(QString selectedText READ selectedText) - Q_PROPERTY(QString selectedHtml READ selectedHtml) - Q_PROPERTY(bool hasSelection READ hasSelection) - Q_PROPERTY(QSize viewportSize READ viewportSize WRITE setViewportSize) - Q_PROPERTY(QSize preferredContentsSize READ preferredContentsSize WRITE setPreferredContentsSize) - Q_PROPERTY(bool forwardUnsupportedContent READ forwardUnsupportedContent WRITE setForwardUnsupportedContent) - Q_PROPERTY(LinkDelegationPolicy linkDelegationPolicy READ linkDelegationPolicy WRITE setLinkDelegationPolicy) - Q_PROPERTY(QPalette palette READ palette WRITE setPalette) - Q_PROPERTY(bool contentEditable READ isContentEditable WRITE setContentEditable) - Q_ENUMS(LinkDelegationPolicy NavigationType WebAction) // Ex-QWebFrame properties - Q_PROPERTY(qreal textSizeMultiplier READ textSizeMultiplier WRITE setTextSizeMultiplier DESIGNABLE false) - Q_PROPERTY(QUrl requestedUrl READ requestedUrl) - Q_PROPERTY(QUrl baseUrl READ baseUrl) - Q_PROPERTY(QIcon icon READ icon) - Q_PROPERTY(QSize contentsSize READ contentsSize) - Q_PROPERTY(QPoint scrollPosition READ scrollPosition WRITE setScrollPosition) - Q_PROPERTY(bool focus READ hasFocus) -#endif Q_PROPERTY(qreal zoomFactor READ zoomFactor WRITE setZoomFactor) Q_PROPERTY(QString title READ title) Q_PROPERTY(QUrl url READ url WRITE setUrl) public: enum NavigationType { - NavigationTypeLinkClicked, - NavigationTypeFormSubmitted, - NavigationTypeBackOrForward, - NavigationTypeReload, - NavigationTypeFormResubmitted, - NavigationTypeOther }; enum WebAction { NoWebAction = - 1, - - OpenLink, - - OpenLinkInNewWindow, - OpenFrameInNewWindow, - - DownloadLinkToDisk, - CopyLinkToClipboard, - - OpenImageInNewWindow, - DownloadImageToDisk, - CopyImageToClipboard, - Back, Forward, Stop, Reload, - - Cut, - Copy, - Paste, - - Undo, - Redo, - MoveToNextChar, - MoveToPreviousChar, - MoveToNextWord, - MoveToPreviousWord, - MoveToNextLine, - MoveToPreviousLine, - MoveToStartOfLine, - MoveToEndOfLine, - MoveToStartOfBlock, - MoveToEndOfBlock, - MoveToStartOfDocument, - MoveToEndOfDocument, - SelectNextChar, - SelectPreviousChar, - SelectNextWord, - SelectPreviousWord, - SelectNextLine, - SelectPreviousLine, - SelectStartOfLine, - SelectEndOfLine, - SelectStartOfBlock, - SelectEndOfBlock, - SelectStartOfDocument, - SelectEndOfDocument, - DeleteStartOfWord, - DeleteEndOfWord, - - SetTextDirectionDefault, - SetTextDirectionLeftToRight, - SetTextDirectionRightToLeft, - - ToggleBold, - ToggleItalic, - ToggleUnderline, - - InspectElement, - - InsertParagraphSeparator, - InsertLineSeparator, - - SelectAll, ReloadAndBypassCache, - - PasteAndMatchStyle, - RemoveFormat, - - ToggleStrikethrough, - ToggleSubscript, - ToggleSuperscript, - InsertUnorderedList, - InsertOrderedList, - Indent, - Outdent, - - AlignCenter, - AlignJustified, - AlignLeft, - AlignRight, - - StopScheduledPageRefresh, - - CopyImageUrlToClipboard, - - OpenLinkInThisWindow, - WebActionCount }; - enum FindFlag { - FindBackward = 1, - FindCaseSensitively = 2, - FindWrapsAroundDocument = 4, - HighlightAllOccurrences = 8 - }; - Q_DECLARE_FLAGS(FindFlags, FindFlag) - - enum LinkDelegationPolicy { - DontDelegateLinks, - DelegateExternalLinks, - DelegateAllLinks - }; - enum WebWindowType { WebBrowserWindow, WebModalDialog }; - enum PermissionPolicy { - PermissionUnknown, - PermissionGrantedByUser, - PermissionDeniedByUser - }; - - enum Feature { - Notifications, - Geolocation - }; - // Ex-QWebFrame enum - enum ValueOwnership { - QtOwnership, - ScriptOwnership, - AutoOwnership - }; enum FileSelectionMode { FileSelectOpen, FileSelectOpenMultiple, }; - class QWEBENGINEWIDGETS_EXPORT ViewportAttributes { - public: - ViewportAttributes(); - ViewportAttributes(const QWebEnginePage::ViewportAttributes& other); - - ~ViewportAttributes(); - - QWebEnginePage::ViewportAttributes& operator=(const QWebEnginePage::ViewportAttributes& other); - - inline qreal initialScaleFactor() const { return m_initialScaleFactor; } - inline qreal minimumScaleFactor() const { return m_minimumScaleFactor; } - inline qreal maximumScaleFactor() const { return m_maximumScaleFactor; } - inline qreal devicePixelRatio() const { return m_devicePixelRatio; } - inline bool isUserScalable() const { return m_isUserScalable; } - inline bool isValid() const { return m_isValid; } - inline QSizeF size() const { return m_size; } - - private: - QSharedDataPointer d; - qreal m_initialScaleFactor; - qreal m_minimumScaleFactor; - qreal m_maximumScaleFactor; - qreal m_devicePixelRatio; - bool m_isUserScalable; - bool m_isValid; - QSizeF m_size; - - friend class QWebEnginePage; - }; - - explicit QWebEnginePage(QObject *parent = 0); ~QWebEnginePage(); - - QWebEngineFrame *mainFrame() const; - QWebEngineFrame *currentFrame() const; - QWebEngineFrame* frameAt(const QPoint& pos) const; - QWebEngineHistory *history() const; - QWebEngineSettings *settings() const; void setView(QWidget *view); QWidget *view() const; - bool isModified() const; -#ifndef QT_NO_UNDOSTACK - QUndoStack *undoStack() const; -#endif - - void setNetworkAccessManager(QNetworkAccessManager *manager); - QNetworkAccessManager *networkAccessManager() const; - - void setPluginFactory(QWebEnginePluginFactory *factory); - QWebEnginePluginFactory *pluginFactory() const; - - quint64 totalBytes() const; - quint64 bytesReceived() const; - - bool hasSelection() const; - QString selectedText() const; - QString selectedHtml() const; - #ifndef QT_NO_ACTION QAction *action(WebAction action) const; #endif virtual void triggerAction(WebAction action, bool checked = false); - QSize viewportSize() const; - void setViewportSize(const QSize &size) const; - ViewportAttributes viewportAttributesForSize(const QSize& availableSize) const; - - QSize preferredContentsSize() const; - void setPreferredContentsSize(const QSize &size) const; - void setActualVisibleContentRect(const QRect& rect) const; - - bool focusNextPrevChild(bool next); - - QVariant inputMethodQuery(Qt::InputMethodQuery property) const; - - bool findText(const QString &subString, FindFlags options = 0); - - void setForwardUnsupportedContent(bool forward); - bool forwardUnsupportedContent() const; - - void setLinkDelegationPolicy(LinkDelegationPolicy policy); - LinkDelegationPolicy linkDelegationPolicy() const; - - void setPalette(const QPalette &palette); - QPalette palette() const; - - void setContentEditable(bool editable); - bool isContentEditable() const; - -#ifndef QT_NO_CONTEXTMENU - bool swallowContextMenuEvent(QContextMenuEvent *event); -#endif - void updatePositionDependentActions(const QPoint &pos); - QMenu *createStandardContextMenu(); - void setFeaturePermission(QWebEngineFrame* frame, Feature feature, PermissionPolicy policy); - - QStringList supportedContentTypes() const; - bool supportsContentType(const QString& mimeType) const; - enum Extension { - ErrorPageExtension }; class ExtensionOption {}; class ExtensionReturn {}; - enum ErrorDomain { QtNetwork, Http, WebKit }; - class ErrorPageExtensionOption : public ExtensionOption { - public: - QUrl url; - QWebEngineFrame* frame; - ErrorDomain domain; - int error; - QString errorString; - }; - - class ErrorPageExtensionReturn : public ExtensionReturn { - public: - ErrorPageExtensionReturn() : contentType(QLatin1String("text/html")), encoding(QLatin1String("utf-8")) {}; - QString contentType; - QString encoding; - QUrl baseUrl; - QByteArray content; - }; - - - virtual bool extension(Extension extension, const ExtensionOption *option = 0, ExtensionReturn *output = 0) { Q_UNUSED(extension); Q_UNUSED(option); Q_UNUSED(output); Q_UNREACHABLE(); return false; } - virtual bool supportsExtension(Extension extension) const { Q_UNUSED(extension); Q_UNREACHABLE(); return false; } - - virtual bool shouldInterruptJavaScript() { Q_UNREACHABLE(); return false; } - // Ex-QWebFrame methods void load(const QUrl &url); - void load(const QNetworkRequest &request, QNetworkAccessManager::Operation operation = QNetworkAccessManager::GetOperation, const QByteArray &body = QByteArray()); - void setHtml(const QString &html, const QUrl &baseUrl = QUrl()); - void setContent(const QByteArray &data, const QString &mimeType = QString(), const QUrl &baseUrl = QUrl()); - - void addToJavaScriptWindowObject(const QString &name, QObject *object, ValueOwnership ownership = QtOwnership); - QString toHtml() const; - QString toPlainText() const; QString title() const; void setUrl(const QUrl &url); QUrl url() const; - QUrl requestedUrl() const; - QUrl baseUrl() const; - QIcon icon() const; - QMultiMap metaData() const; - - QString frameName() const; - - QWebEngineFrame *parentFrame() const; - QList childFrames() const; - - Qt::ScrollBarPolicy scrollBarPolicy(Qt::Orientation orientation) const; - void setScrollBarPolicy(Qt::Orientation orientation, Qt::ScrollBarPolicy policy); - - void setScrollBarValue(Qt::Orientation orientation, int value); - int scrollBarValue(Qt::Orientation orientation) const; - int scrollBarMinimum(Qt::Orientation orientation) const; - int scrollBarMaximum(Qt::Orientation orientation) const; - QRect scrollBarGeometry(Qt::Orientation orientation) const; - - void scroll(int, int); - QPoint scrollPosition() const; - void setScrollPosition(const QPoint &pos); - - void scrollToAnchor(const QString& anchor); - - enum RenderLayer { - ContentsLayer = 0x10, - ScrollBarLayer = 0x20, - PanIconLayer = 0x40, - - AllLayers = 0xff - }; - Q_DECLARE_FLAGS(RenderLayers, RenderLayer) - - void render(QPainter*, const QRegion& clip = QRegion()); - void render(QPainter*, RenderLayers layer, const QRegion& clip = QRegion()); - - void setTextSizeMultiplier(qreal factor); - qreal textSizeMultiplier() const; qreal zoomFactor() const; void setZoomFactor(qreal factor); - bool hasFocus() const; - void setFocus(); - - QPoint pos() const; - QRect geometry() const; - QSize contentsSize() const; - - QWebEngineElement documentElement() const; - QWebEngineElementCollection findAllElements(const QString &selectorQuery) const; - QWebEngineElement findFirstElement(const QString &selectorQuery) const; - - QWebEngineHitTestResult hitTestContent(const QPoint &pos) const; - - QWebEngineSecurityOrigin securityOrigin() const; - void runJavaScript(const QString& scriptSource, const QString &xPath = QString()); template void runJavaScript(const QString& scriptSource, F func, const QString &xPath = QString()); -public Q_SLOTS: - // Ex-QWebFrame slot -#ifndef QT_NO_PRINTER - void print(QPrinter *printer) const { Q_UNUSED(printer); Q_UNREACHABLE(); } -#endif - - Q_SIGNALS: void loadStarted(); void loadProgress(int progress); void loadFinished(bool ok); - void linkHovered(const QString &link, const QString &title, const QString &textContent); - void statusBarMessage(const QString& text); - void selectionChanged(); - void frameCreated(QWebEngineFrame *frame); void geometryChangeRequested(const QRect& geom); - void repaintRequested(const QRect& dirtyRect); - void scrollRequested(int dx, int dy, const QRect& scrollViewRect); void windowCloseRequested(); - void printRequested(QWebEngineFrame *frame); - void linkClicked(const QUrl &url); - - void toolBarVisibilityChangeRequested(bool visible); - void statusBarVisibilityChangeRequested(bool visible); - void menuBarVisibilityChangeRequested(bool visible); - - void unsupportedContent(QNetworkReply *reply); - void downloadRequested(const QNetworkRequest &request); - - void microFocusChanged(); - void contentsChanged(); - void databaseQuotaExceeded(QWebEngineFrame* frame, QString databaseName); - void applicationCacheQuotaExceeded(QWebEngineSecurityOrigin* origin, quint64 defaultOriginQuota, quint64 totalSpaceNeeded); - - void saveFrameStateRequested(QWebEngineFrame* frame, QWebEngineHistoryItem* item); - void restoreFrameStateRequested(QWebEngineFrame* frame); - - void viewportChangeRequested(); - - void featurePermissionRequested(QWebEngineFrame* frame, QWebEnginePage::Feature feature); - void featurePermissionRequestCanceled(QWebEngineFrame* frame, QWebEnginePage::Feature feature); // Ex-QWebFrame signals - void javaScriptWindowObjectCleared(); - - void provisionalLoad(); void titleChanged(const QString &title); void urlChanged(const QUrl &url); - void initialLayoutCompleted(); - - void iconChanged(); - - void contentsSizeChanged(const QSize &size); - - void pageChanged(); - protected: virtual QWebEnginePage *createWindow(WebWindowType type); - virtual QObject *createPlugin(const QString &classid, const QUrl &url, const QStringList ¶mNames, const QStringList ¶mValues) { Q_UNUSED(classid); Q_UNUSED(url); Q_UNUSED(paramNames); Q_UNUSED(paramValues); Q_UNREACHABLE(); return 0; } - virtual bool acceptNavigationRequest(QWebEngineFrame *frame, const QNetworkRequest &request, NavigationType type) { Q_UNUSED(frame); Q_UNUSED(request); Q_UNUSED(type); Q_UNREACHABLE(); return false; } virtual QStringList chooseFiles(FileSelectionMode mode, const QStringList &oldFiles, const QStringList &acceptedMimeTypes); virtual void javaScriptAlert(QWebEngineFrame *originatingFrame, const QString& msg); virtual bool javaScriptConfirm(QWebEngineFrame *originatingFrame, const QString& msg); virtual bool javaScriptPrompt(QWebEngineFrame *originatingFrame, const QString& msg, const QString& defaultValue, QString* result); - virtual void javaScriptConsoleMessage(const QString& message, int lineNumber, const QString& sourceID) { Q_UNUSED(message); Q_UNUSED(lineNumber); Q_UNUSED(sourceID); Q_UNREACHABLE(); } - - virtual QString userAgentForUrl(const QUrl& url) const { Q_UNUSED(url); Q_UNREACHABLE(); return QString(); } private: Q_DECLARE_PRIVATE(QWebEnginePage); @@ -570,10 +161,6 @@ private: friend class QWebEngineViewPrivate; }; -Q_DECLARE_OPERATORS_FOR_FLAGS(QWebEnginePage::FindFlags); -Q_DECLARE_OPERATORS_FOR_FLAGS(QWebEnginePage::RenderLayers); - - template inline void QWebEnginePage::runJavaScript(const QString &scriptSource, F func, const QString &xPath) { diff --git a/src/webenginewidgets/api/qwebenginesecurityorigin.h b/src/webenginewidgets/api/qwebenginesecurityorigin.h index c943bec84..f372f52c9 100644 --- a/src/webenginewidgets/api/qwebenginesecurityorigin.h +++ b/src/webenginewidgets/api/qwebenginesecurityorigin.h @@ -24,27 +24,8 @@ #include QT_BEGIN_NAMESPACE -class QWebEngineDatabase; -class QWebEngineSecurityOriginPrivate; class QWEBENGINEWIDGETS_EXPORT QWebEngineSecurityOrigin { -public: - static QList allOrigins(); - static void addLocalScheme(const QString& scheme); - static void removeLocalScheme(const QString& scheme); - static QStringList localSchemes(); - - ~QWebEngineSecurityOrigin(); - - QString scheme() const; - QString host() const; - int port() const; - - qint64 databaseUsage() const; - qint64 databaseQuota() const; - void setDatabaseQuota(qint64 quota); - void setApplicationCacheQuota(qint64 quota); - QList databases() const; }; QT_END_NAMESPACE diff --git a/src/webenginewidgets/api/qwebenginesettings.h b/src/webenginewidgets/api/qwebenginesettings.h index 177a975fd..13a7048c1 100644 --- a/src/webenginewidgets/api/qwebenginesettings.h +++ b/src/webenginewidgets/api/qwebenginesettings.h @@ -22,147 +22,10 @@ #define QWEBENGINESETTINGS_H #include -#include QT_BEGIN_NAMESPACE -class QIcon; -class QPixmap; -class QUrl; -class QWebEngineSettingsPrivate; - class QWEBENGINEWIDGETS_EXPORT QWebEngineSettings { -public: - enum FontFamily { - StandardFont, - FixedFont, - SerifFont, - SansSerifFont, - CursiveFont, - FantasyFont - }; - enum WebAttribute { - AutoLoadImages, - JavascriptEnabled, - JavaEnabled, - PluginsEnabled, - PrivateBrowsingEnabled, - JavascriptCanOpenWindows, - JavascriptCanAccessClipboard, - DeveloperExtrasEnabled, - LinksIncludedInFocusChain, - ZoomTextOnly, - PrintElementBackgrounds, - OfflineStorageDatabaseEnabled, - OfflineWebApplicationCacheEnabled, - LocalStorageEnabled, -#if defined(QT_DEPRECATED) || defined(qdoc) - LocalStorageDatabaseEnabled = LocalStorageEnabled, -#endif - LocalContentCanAccessRemoteUrls, - DnsPrefetchEnabled, - XSSAuditingEnabled, - AcceleratedCompositingEnabled, - SpatialNavigationEnabled, - LocalContentCanAccessFileUrls, - TiledBackingStoreEnabled, - FrameFlatteningEnabled, - SiteSpecificQuirksEnabled, - JavascriptCanCloseWindows, - WebGLEnabled, - CSSRegionsEnabled, - HyperlinkAuditingEnabled, - CSSGridLayoutEnabled, - ScrollAnimatorEnabled, - CaretBrowsingEnabled, - NotificationsEnabled - }; - enum WebGraphic { - MissingImageGraphic, - MissingPluginGraphic, - DefaultFrameIconGraphic, - TextAreaSizeGripCornerGraphic, - DeleteButtonGraphic, - InputSpeechButtonGraphic, - SearchCancelButtonGraphic, - SearchCancelButtonPressedGraphic - }; - enum FontSize { - MinimumFontSize, - MinimumLogicalFontSize, - DefaultFontSize, - DefaultFixedFontSize - }; - enum ThirdPartyCookiePolicy { - AlwaysAllowThirdPartyCookies, - AlwaysBlockThirdPartyCookies, - AllowThirdPartyWithExistingCookies - }; - - static QWebEngineSettings *globalSettings(); - - void setFontFamily(FontFamily which, const QString &family); - QString fontFamily(FontFamily which) const; - void resetFontFamily(FontFamily which); - - void setFontSize(FontSize type, int size); - int fontSize(FontSize type) const; - void resetFontSize(FontSize type); - - void setAttribute(WebAttribute attr, bool on); - bool testAttribute(WebAttribute attr) const; - void resetAttribute(WebAttribute attr); - - void setUserStyleSheetUrl(const QUrl &location); - QUrl userStyleSheetUrl() const; - - void setDefaultTextEncoding(const QString &encoding); - QString defaultTextEncoding() const; - - static void setIconDatabasePath(const QString &location); - static QString iconDatabasePath(); - static void clearIconDatabase(); - static QIcon iconForUrl(const QUrl &url); - - //static QWebEnginePluginDatabase *pluginDatabase(); - - static void setWebGraphic(WebGraphic type, const QPixmap &graphic); - static QPixmap webGraphic(WebGraphic type); - - static void setMaximumPagesInCache(int pages); - static int maximumPagesInCache(); - static void setObjectCacheCapacities(int cacheMinDeadCapacity, int cacheMaxDead, int totalCapacity); - - static void setOfflineStoragePath(const QString& path); - static QString offlineStoragePath(); - static void setOfflineStorageDefaultQuota(qint64 maximumSize); - static qint64 offlineStorageDefaultQuota(); - - static void setOfflineWebApplicationCachePath(const QString& path); - static QString offlineWebApplicationCachePath(); - static void setOfflineWebApplicationCacheQuota(qint64 maximumSize); - static qint64 offlineWebApplicationCacheQuota(); - - void setLocalStoragePath(const QString& path); - QString localStoragePath() const; - - static void clearMemoryCaches(); - - static void enablePersistentStorage(const QString& path = QString()); - - void setThirdPartyCookiePolicy(ThirdPartyCookiePolicy); - QWebEngineSettings::ThirdPartyCookiePolicy thirdPartyCookiePolicy() const; - - void setCSSMediaType(const QString&); - QString cssMediaType() const; - -private: - Q_DISABLE_COPY(QWebEngineSettings) - - QWebEngineSettings(); - ~QWebEngineSettings(); - - QWebEngineSettingsPrivate *d; }; QT_END_NAMESPACE diff --git a/src/webenginewidgets/api/qwebengineview.h b/src/webenginewidgets/api/qwebengineview.h index 2c649d46f..a1621e714 100644 --- a/src/webenginewidgets/api/qwebengineview.h +++ b/src/webenginewidgets/api/qwebengineview.h @@ -31,33 +31,16 @@ QT_BEGIN_NAMESPACE class QContextMenuEvent; -class QIcon; -class QNetworkRequest; -class QPrinter; class QUrl; class QWebEnginePage; class QWebEngineViewPrivate; -class QWebEngineNetworkRequest; class QWEBENGINEWIDGETS_EXPORT QWebEngineView : public QWidget { Q_OBJECT -// Hack to avoid undefined symbols with properties until we have them implemented. -#ifndef Q_MOC_RUN Q_PROPERTY(QString title READ title) Q_PROPERTY(QUrl url READ url WRITE setUrl) - Q_PROPERTY(QIcon icon READ icon) - Q_PROPERTY(QString selectedText READ selectedText) - Q_PROPERTY(QString selectedHtml READ selectedHtml) - Q_PROPERTY(bool hasSelection READ hasSelection) - Q_PROPERTY(bool modified READ isModified) - //Q_PROPERTY(Qt::TextInteractionFlags textInteractionFlags READ textInteractionFlags WRITE setTextInteractionFlags) - Q_PROPERTY(qreal textSizeMultiplier READ textSizeMultiplier WRITE setTextSizeMultiplier DESIGNABLE false) Q_PROPERTY(qreal zoomFactor READ zoomFactor WRITE setZoomFactor) - Q_PROPERTY(QPainter::RenderHints renderHints READ renderHints WRITE setRenderHints) - Q_FLAGS(QPainter::RenderHints) -#endif - public: explicit QWebEngineView(QWidget* parent = 0); virtual ~QWebEngineView(); @@ -66,66 +49,33 @@ public: void setPage(QWebEnginePage* page); void load(const QUrl& url); - void load(const QNetworkRequest& request, QNetworkAccessManager::Operation operation = QNetworkAccessManager::GetOperation, const QByteArray &body = QByteArray()); - void setHtml(const QString& html, const QUrl& baseUrl = QUrl()); - void setContent(const QByteArray& data, const QString& mimeType = QString(), const QUrl& baseUrl = QUrl()); QWebEngineHistory* history() const; - QWebEngineSettings* settings() const; QString title() const; void setUrl(const QUrl &url); QUrl url() const; - QIcon icon() const; - bool hasSelection() const; - QString selectedText() const; - QString selectedHtml() const; #ifndef QT_NO_ACTION QAction* pageAction(QWebEnginePage::WebAction action) const; #endif void triggerPageAction(QWebEnginePage::WebAction action, bool checked = false); - bool isModified() const; - - /* - Qt::TextInteractionFlags textInteractionFlags() const; - void setTextInteractionFlags(Qt::TextInteractionFlags flags); - void setTextInteractionFlag(Qt::TextInteractionFlag flag); - */ - qreal zoomFactor() const; void setZoomFactor(qreal factor); - void setTextSizeMultiplier(qreal factor); - qreal textSizeMultiplier() const; - - QPainter::RenderHints renderHints() const; - void setRenderHints(QPainter::RenderHints hints); - void setRenderHint(QPainter::RenderHint hint, bool enabled = true); - - bool findText(const QString& subString, QWebEnginePage::FindFlags options = 0); - - virtual QSize sizeHint() const { return QSize(800, 600); } - public Q_SLOTS: void stop(); void back(); void forward(); void reload(); - void print(QPrinter*) const { } - Q_SIGNALS: void loadStarted(); void loadProgress(int progress); void loadFinished(bool); void titleChanged(const QString& title); - void statusBarMessage(const QString& text); - void linkClicked(const QUrl&); - void selectionChanged(); - void iconChanged(); void urlChanged(const QUrl&); protected: diff --git a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp index 6ca8e0d8e..1c5fc6d86 100644 --- a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp +++ b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp @@ -2726,6 +2726,7 @@ void tst_QWebEnginePage::defaultTextEncoding() #endif } +#ifdef QWEBENGINESETTINGS_ERRORPAGEEXTENSION class ErrorPage : public QWebEnginePage { public: @@ -2748,9 +2749,13 @@ public: return true; } }; +#endif void tst_QWebEnginePage::errorPageExtension() { +#if !defined(QWEBENGINESETTINGS_ERRORPAGEEXTENSION) + QSKIP("QWEBENGINESETTINGS_ERRORPAGEEXTENSION"); +#else ErrorPage page; m_view->setPage(&page); @@ -2783,6 +2788,7 @@ void tst_QWebEnginePage::errorPageExtension() QTRY_COMPARE(page.history()->currentItem().url(), QUrl("data:text/html,foo")); m_view->setPage(0); +#endif } void tst_QWebEnginePage::errorPageExtensionInIFrames() @@ -2828,6 +2834,9 @@ void tst_QWebEnginePage::errorPageExtensionInFrameset() void tst_QWebEnginePage::errorPageExtensionLoadFinished() { +#if !defined(QWEBENGINESETTINGS_ERRORPAGEEXTENSION) + QSKIP("QWEBENGINESETTINGS_ERRORPAGEEXTENSION"); +#else ErrorPage page; m_view->setPage(&page); @@ -2853,6 +2862,7 @@ void tst_QWebEnginePage::errorPageExtensionLoadFinished() QVERIFY(nonExistantFrameLoadSucceded); m_view->setPage(0); +#endif } class FriendlyWebPage : public QWebEnginePage -- cgit v1.2.3