diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp index c5cd83c6e1eac38c9515d8c14c0cb49a95344d48..2ccaf399c5d338d594087d89c729bc2a5b76ee52 100644 --- a/src/core/web_contents_adapter.cpp +++ b/src/core/web_contents_adapter.cpp @@ -454,6 +454,13 @@ void WebContentsAdapter::reload() d->webContents->Focus(); } +void WebContentsAdapter::reloadAndBypassCache() +{ + Q_D(WebContentsAdapter); + d->webContents->GetController().ReloadIgnoringCache(/*checkRepost = */false); + d->webContents->Focus(); +} + void WebContentsAdapter::load(const QUrl &url) { // The situation can occur when relying on the editingFinished signal in QML to set the url diff --git a/src/core/web_contents_adapter.h b/src/core/web_contents_adapter.h index f4b434353c6cd85b6c813ef16522a825f7311112..5ea55c1b8e38acb32a0a4d5c2e76ee0545121400 100644 --- a/src/core/web_contents_adapter.h +++ b/src/core/web_contents_adapter.h @@ -74,6 +74,7 @@ public: bool canGoForward() const; void stop(); void reload(); + void reloadAndBypassCache(); void load(const QUrl&); void setContent(const QByteArray &data, const QString &mimeType, const QUrl &baseUrl); QUrl activeUrl() const; diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp index 2a5097597cf7f32b99396b2ead593660afc7e3f7..bc58e2526f0a19828b351babbbdaba9430d7c516 100644 --- a/src/webengine/api/qquickwebengineview.cpp +++ b/src/webengine/api/qquickwebengineview.cpp @@ -665,6 +665,14 @@ void QQuickWebEngineView::reload() d->adapter->reload(); } +void QQuickWebEngineView::reloadAndBypassCache() +{ + Q_D(QQuickWebEngineView); + if (!d->adapter) + return; + d->adapter->reloadAndBypassCache(); +} + void QQuickWebEngineView::stop() { Q_D(QQuickWebEngineView); diff --git a/src/webengine/api/qquickwebengineview_p.h b/src/webengine/api/qquickwebengineview_p.h index c84a65805c5fc978309a6c025c5d6aa6af647fec..4539ad34b2d02a85a30b94bab6bbe83251844d90 100644 --- a/src/webengine/api/qquickwebengineview_p.h +++ b/src/webengine/api/qquickwebengineview_p.h @@ -207,6 +207,7 @@ public Q_SLOTS: void goForward(); void goBackOrForward(int index); void reload(); + void reloadAndBypassCache(); void stop(); Q_REVISION(1) void findText(const QString &subString, FindFlags options = 0, const QJSValue &callback = QJSValue()); Q_REVISION(1) void fullScreenCancelled(); diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp index 65a0a5bed2af3ac26a9771aef49c4a21f521567d..55bd67e5e74381e184706b81db911ff4a17a52bc 100644 --- a/src/webenginewidgets/api/qwebenginepage.cpp +++ b/src/webenginewidgets/api/qwebenginepage.cpp @@ -646,6 +646,9 @@ void QWebEnginePage::triggerAction(WebAction action, bool) case Reload: d->adapter->reload(); break; + case ReloadAndBypassCache: + d->adapter->reloadAndBypassCache(); + break; case Cut: d->adapter->cut(); break;