summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--examples/webenginewidgets/demobrowser/browsermainwindow.cpp2
-rw-r--r--src/webenginewidgets/api/qwebenginepage.cpp6
-rw-r--r--src/webenginewidgets/api/qwebenginepage.h3
-rw-r--r--src/webenginewidgets/api/qwebengineview.cpp5
-rw-r--r--src/webenginewidgets/api/qwebengineview.h3
-rw-r--r--tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp17
-rw-r--r--tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp19
7 files changed, 27 insertions, 28 deletions
diff --git a/examples/webenginewidgets/demobrowser/browsermainwindow.cpp b/examples/webenginewidgets/demobrowser/browsermainwindow.cpp
index 60b69ddd6..e3c7c466d 100644
--- a/examples/webenginewidgets/demobrowser/browsermainwindow.cpp
+++ b/examples/webenginewidgets/demobrowser/browsermainwindow.cpp
@@ -712,7 +712,7 @@ void BrowserMainWindow::slotFilePrintToPDF()
if (dialog->exec() != QDialog::Accepted || printer.outputFileName().isEmpty())
return;
- currentTab()->printToPDF(printer.outputFileName(), printer.pageLayout());
+ currentTab()->page()->printToPDF(printer.outputFileName(), printer.pageLayout());
#endif // QT_NO_PRINTER
}
diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp
index 8774c1c97..3115340ef 100644
--- a/src/webenginewidgets/api/qwebenginepage.cpp
+++ b/src/webenginewidgets/api/qwebenginepage.cpp
@@ -1633,6 +1633,12 @@ QSizeF QWebEnginePage::contentsSize() const
return d->adapter->lastContentsSize();
}
+void QWebEnginePage::printToPDF(const QString &filePath, const QPageLayout &pageLayout)
+{
+ Q_D(const QWebEnginePage);
+ d->adapter->printToPDF(pageLayout, filePath);
+}
+
QT_END_NAMESPACE
#include "moc_qwebenginepage.cpp"
diff --git a/src/webenginewidgets/api/qwebenginepage.h b/src/webenginewidgets/api/qwebenginepage.h
index 08663a05e..20fff3ab4 100644
--- a/src/webenginewidgets/api/qwebenginepage.h
+++ b/src/webenginewidgets/api/qwebenginepage.h
@@ -47,6 +47,7 @@
#include <QtCore/qobject.h>
#include <QtCore/qurl.h>
#include <QtCore/qvariant.h>
+#include <QtGui/qpagelayout.h>
#include <QtNetwork/qnetworkaccessmanager.h>
#include <QtWidgets/qwidget.h>
@@ -267,6 +268,8 @@ public:
void setAudioMuted(bool muted);
bool wasRecentlyAudible();
+ void printToPDF(const QString &filePath, const QPageLayout &layout = QPageLayout());
+
Q_SIGNALS:
void loadStarted();
void loadProgress(int progress);
diff --git a/src/webenginewidgets/api/qwebengineview.cpp b/src/webenginewidgets/api/qwebengineview.cpp
index b40ff2b51..f5e180541 100644
--- a/src/webenginewidgets/api/qwebengineview.cpp
+++ b/src/webenginewidgets/api/qwebengineview.cpp
@@ -263,11 +263,6 @@ QWebEngineView *QWebEngineView::createWindow(QWebEnginePage::WebWindowType type)
return 0;
}
-void QWebEngineView::printToPDF(const QString &filePath, const QPageLayout &pageLayout)
-{
- page()->d_func()->adapter->printToPDF(pageLayout, filePath);
-}
-
qreal QWebEngineView::zoomFactor() const
{
return page()->zoomFactor();
diff --git a/src/webenginewidgets/api/qwebengineview.h b/src/webenginewidgets/api/qwebengineview.h
index 30125e575..91410fd2d 100644
--- a/src/webenginewidgets/api/qwebengineview.h
+++ b/src/webenginewidgets/api/qwebengineview.h
@@ -41,7 +41,6 @@
#define QWEBENGINEVIEW_H
#include <QtGui/qpainter.h>
-#include <QtGui/qpagelayout.h>
#include <QtNetwork/qnetworkaccessmanager.h>
#include <QtWidgets/qwidget.h>
@@ -105,8 +104,6 @@ public:
virtual QSize sizeHint() const Q_DECL_OVERRIDE;
QWebEngineSettings *settings() const;
- void printToPDF(const QString &filePath, const QPageLayout &layout = QPageLayout());
-
public Q_SLOTS:
void stop();
void back();
diff --git a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
index 207eb019a..685cb9ffc 100644
--- a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
+++ b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
@@ -244,6 +244,8 @@ private Q_SLOTS:
void toPlainTextLoadFinishedRace_data();
void toPlainTextLoadFinishedRace();
+ void printToPDF();
+
private:
QWebEngineView* m_view;
QWebEnginePage* m_page;
@@ -5148,5 +5150,20 @@ void tst_QWebEnginePage::toPlainTextLoadFinishedRace()
QVERIFY(spy.count() == 3);
}
+void tst_QWebEnginePage::printToPDF()
+{
+ QTemporaryDir tempDir(QDir::tempPath() + "/tst_qwebengineview-XXXXXX");
+ QVERIFY(tempDir.isValid());
+ QWebEnginePage page;
+ QSignalSpy spy(&page, SIGNAL(loadFinished(bool)));
+ page.load(QUrl("qrc:///resources/basic_printing_page.html"));
+ QTRY_VERIFY(spy.count() == 1);
+
+ QPageLayout layout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF(0.0, 0.0, 0.0, 0.0));
+ QString path = tempDir.path() + "/print_success.pdf";
+ page.printToPDF(path, layout);
+ QTRY_VERIFY(QFile::exists(path));
+}
+
QTEST_MAIN(tst_QWebEnginePage)
#include "tst_qwebenginepage.moc"
diff --git a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
index b09e45646..773550922 100644
--- a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
+++ b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
@@ -61,7 +61,6 @@ private Q_SLOTS:
void setPalette_data();
void setPalette();
#endif
- void printToPDF();
};
// This will be called before the first test function is executed.
@@ -531,24 +530,6 @@ void tst_QWebEngineView::setPalette()
}
#endif
-void tst_QWebEngineView::printToPDF()
-{
- QTemporaryDir tempDir(QDir::tempPath() + "/tst_qwebengineview-XXXXXX");
- QVERIFY(tempDir.isValid());
- QWebEngineView view;
- QUrl url("qrc:///resources/basic_printing_page.html");
- view.page()->load(url);
- QVERIFY(waitForSignal(&view, SIGNAL(loadFinished(bool))));
- view.show();
-
- QTest::qWaitForWindowExposed(&view);
- QPageLayout layout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF(0.0, 0.0, 0.0, 0.0));
- QString path = tempDir.path() + "/print_success.pdf";
- view.printToPDF(path, layout);
- QTest::qWait(500);
- QVERIFY(QFile::exists(path));
-}
-
void tst_QWebEngineView::renderingAfterMaxAndBack()
{
#if !defined(QWEBENGINEPAGE_RENDER)