diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-07-23 10:24:23 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-08-09 16:09:26 +0200 |
commit | 3fd9d08bc24bc5f769677b411750d73801adc2d2 (patch) | |
tree | 14a9ea7db7cf1d944ec0e9242752f0353d0aad62 | |
parent | 689d53bf9c0cff995f13fe441592b4f090895308 (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.cpp | 14 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebengineview.h | 2 | ||||
-rw-r--r-- | tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp | 5 |
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()); |