From d8daba265ba260b41899fe817ee0fb8833441979 Mon Sep 17 00:00:00 2001 From: Pierre Rossi <pierre.rossi@theqtcompany.com> Date: Tue, 17 Mar 2015 13:47:07 +0100 Subject: [PATCH] Revive ReloadAndBypassCache Appears to be an oversight for widgets, as the API was there, but just wasn't wired. Also add it for QQuickWebEngineView while we're at it. Change-Id: I07d6e356cbaf22b79f3fc5a82df78c6821993e8d Reviewed-by: Zeno Albisser <zeno.albisser@digia.com> --- src/core/web_contents_adapter.cpp | 7 +++++++ src/core/web_contents_adapter.h | 1 + src/webengine/api/qquickwebengineview.cpp | 8 ++++++++ src/webengine/api/qquickwebengineview_p.h | 1 + src/webenginewidgets/api/qwebenginepage.cpp | 3 +++ 5 files changed, 20 insertions(+) diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp index c5cd83c6e..2ccaf399c 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 f4b434353..5ea55c1b8 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 2a5097597..bc58e2526 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 c84a65805..4539ad34b 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 65a0a5bed..55bd67e5e 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; -- GitLab