summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2021-07-23 10:24:23 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2021-08-09 16:09:26 +0200
commit3fd9d08bc24bc5f769677b411750d73801adc2d2 (patch)
tree14a9ea7db7cf1d944ec0e9242752f0353d0aad62
parent689d53bf9c0cff995f13fe441592b4f090895308 (diff)
Add QWebEnginePage::view() replacement
Make it a static getter in QWebEngineView Pick-to: 6.2 Fixes: QTBUG-95331 Change-Id: I552f0047343abd909c5cd521a7a7a01d62896b00 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
-rw-r--r--src/webenginewidgets/api/qwebengineview.cpp14
-rw-r--r--src/webenginewidgets/api/qwebengineview.h2
-rw-r--r--tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp5
3 files changed, 21 insertions, 0 deletions
diff --git a/src/webenginewidgets/api/qwebengineview.cpp b/src/webenginewidgets/api/qwebengineview.cpp
index 89cc356fe..aed80427c 100644
--- a/src/webenginewidgets/api/qwebengineview.cpp
+++ b/src/webenginewidgets/api/qwebengineview.cpp
@@ -629,6 +629,20 @@ QWebEngineView::~QWebEngineView()
QWebEngineViewPrivate::bindPageAndView(nullptr, this);
}
+/*!
+ \since 6.2
+
+ Returns the view if any, associated with the page.
+
+ \sa page(), setPage()
+*/
+QWebEngineView *QWebEngineView::forPage(const QWebEnginePage *page)
+{
+ if (!page)
+ return nullptr;
+ return qobject_cast<QWebEngineView *>(page->d_ptr->accessibilityParentObject());
+}
+
QWebEnginePage* QWebEngineView::page() const
{
Q_D(const QWebEngineView);
diff --git a/src/webenginewidgets/api/qwebengineview.h b/src/webenginewidgets/api/qwebengineview.h
index fbb230dda..edd619621 100644
--- a/src/webenginewidgets/api/qwebengineview.h
+++ b/src/webenginewidgets/api/qwebengineview.h
@@ -73,6 +73,8 @@ public:
explicit QWebEngineView(QWidget *parent = nullptr);
virtual ~QWebEngineView();
+ static QWebEngineView *forPage(const QWebEnginePage *page);
+
QWebEnginePage* page() const;
void setPage(QWebEnginePage* page);
diff --git a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
index 73a41e6fb..390aa1e20 100644
--- a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
+++ b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
@@ -301,6 +301,8 @@ void tst_QWebEngineView::changePage()
}
view->setPage(pageFrom.get());
+ QCOMPARE(view->page(), pageFrom.get());
+ QCOMPARE(QWebEngineView::forPage(pageFrom.get()), view.get());
QTRY_COMPARE(spyUrl.count(), 1);
QCOMPARE(spyUrl.last().value(0).toUrl(), pageFrom->url());
@@ -328,6 +330,9 @@ void tst_QWebEngineView::changePage()
}
view->setPage(pageTo.get());
+ QCOMPARE(view->page(), pageTo.get());
+ QCOMPARE(QWebEngineView::forPage(pageTo.get()), view.get());
+ QCOMPARE(QWebEngineView::forPage(pageFrom.get()), nullptr);
QTRY_COMPARE(spyUrl.count(), 2);
QCOMPARE(spyUrl.last().value(0).toUrl(), pageTo->url());