From 39c37a67e40e5ad5c8c9df5e525dba7b5ee11116 Mon Sep 17 00:00:00 2001 From: Matthew Horan Date: Sun, 15 Feb 2015 20:55:26 -0500 Subject: [PATCH] Disable web page and object memory cache Pages and assets should not be retrieved from the cache. This leads to unexpected results in testing. Also, the raw content of cached objects and pages cannot be retrieved. --- spec/driver_spec.rb | 18 ++++++++++++++++++ src/WebPageManager.cpp | 4 ++++ 2 files changed, 22 insertions(+) diff --git a/spec/driver_spec.rb b/spec/driver_spec.rb index de7ad4a..8fff80f 100644 --- a/spec/driver_spec.rb +++ b/spec/driver_spec.rb @@ -2070,6 +2070,24 @@ describe Capybara::Webkit::Driver do end end + context "caching app" do + let(:driver) do + etag_value = SecureRandom.hex + + driver_for_app do + get '/' do + etag etag_value + end + end + end + + it "does not cache responses" do + visit '/' + visit '/' + expect(driver.status_code).to eq(200) + end + end + context "offline application cache" do let(:driver) do @visited = [] diff --git a/src/WebPageManager.cpp b/src/WebPageManager.cpp index 441e09c..74d07de 100644 --- a/src/WebPageManager.cpp +++ b/src/WebPageManager.cpp @@ -29,6 +29,10 @@ WebPageManager::WebPageManager(QObject *parent) : QObject(parent) { m_networkAccessManager = new NetworkAccessManager(m_blacklistedRequestHandler, this); m_networkAccessManager->setCookieJar(m_cookieJar); + + QWebSettings::setMaximumPagesInCache(0); + QWebSettings::setObjectCacheCapacities(0, 0, 0); + createPage()->setFocus(); }