Clear localStorage on reset!

This commit is contained in:
Levi Kennedy 2013-04-25 20:00:21 -07:00
parent 0abc7e139f
commit 7bf3c80031
4 changed files with 14 additions and 0 deletions

View File

@ -1729,6 +1729,14 @@ describe Capybara::Webkit::Driver do
visit "/"
driver.find_xpath("//span[contains(.,'localStorage is enabled')]").should_not be_empty
end
it "clears the message after a driver reset!" do
visit "/"
driver.find_xpath("//span[contains(.,'localStorage is enabled')]").should_not be_empty
driver.reset!
visit "/"
driver.find_xpath("//span[contains(.,'localStorage is enabled')]").should be_empty
end
end
context "form app with server-side handler" do

View File

@ -42,6 +42,10 @@ void WebPage::resetWindowSize() {
this->settings()->setAttribute(QWebSettings::LocalStorageDatabaseEnabled, true);
}
void WebPage::resetLocalStorage() {
this->currentFrame()->evaluateJavaScript("localStorage.clear()");
}
void WebPage::setCustomNetworkAccessManager() {
setNetworkAccessManager(m_manager->networkAccessManager());
connect(networkAccessManager(), SIGNAL(sslErrors(QNetworkReply *, QList<QSslError>)),

View File

@ -34,6 +34,7 @@ class WebPage : public QWebPage {
QVariantList confirmMessages();
QVariantList promptMessages();
void resetWindowSize();
void resetLocalStorage();
QWebPage *createWindow(WebWindowType type);
QString uuid();
QString getWindowName();

View File

@ -110,6 +110,7 @@ void WebPageManager::reset() {
m_timeout = -1;
m_cookieJar->clearCookies();
m_networkAccessManager->reset();
m_pages.first()->resetLocalStorage();
m_pages.first()->deleteLater();
m_pages.clear();
createPage(this)->setFocus();