Skip to content

Instantly share code, notes, and snippets.

@AlexKMDev
Last active August 29, 2015 14:07
Show Gist options
  • Save AlexKMDev/c3cec033a620397a51a6 to your computer and use it in GitHub Desktop.
Save AlexKMDev/c3cec033a620397a51a6 to your computer and use it in GitHub Desktop.
phantomjs reset cache patch
diff --git a/src/consts.h b/src/consts.h
index 0eb5178..0a88ef1 100644
--- a/src/consts.h
+++ b/src/consts.h
@@ -54,6 +54,7 @@
"document.body.appendChild(el);"
#define PAGE_SETTINGS_LOAD_IMAGES "loadImages"
+#define PAGE_SETTINGS_CLEAR_MEMORY_CACHES "clearMemoryCaches"
#define PAGE_SETTINGS_JS_ENABLED "javascriptEnabled"
#define PAGE_SETTINGS_XSS_AUDITING "XSSAuditingEnabled"
#define PAGE_SETTINGS_USER_AGENT "userAgent"
diff --git a/src/phantom.cpp b/src/phantom.cpp
index 1f31795..b4e5417 100644
--- a/src/phantom.cpp
+++ b/src/phantom.cpp
@@ -135,6 +135,7 @@ void Phantom::init()
SLOT(onInitialized()));
m_defaultPageSettings[PAGE_SETTINGS_LOAD_IMAGES] = QVariant::fromValue(m_config.autoLoadImages());
+ m_defaultPageSettings[PAGE_SETTINGS_CLEAR_MEMORY_CACHES] = QVariant::fromValue(false);
m_defaultPageSettings[PAGE_SETTINGS_JS_ENABLED] = QVariant::fromValue(true);
m_defaultPageSettings[PAGE_SETTINGS_XSS_AUDITING] = QVariant::fromValue(false);
m_defaultPageSettings[PAGE_SETTINGS_USER_AGENT] = QVariant::fromValue(m_page->userAgent());
diff --git a/src/webpage.cpp b/src/webpage.cpp
index 89a34da..8f4a37b 100644
--- a/src/webpage.cpp
+++ b/src/webpage.cpp
@@ -574,6 +574,10 @@ void WebPage::applySettings(const QVariantMap &def)
opt->setAttribute(QWebSettings::JavascriptCanOpenWindows, def[PAGE_SETTINGS_JS_CAN_OPEN_WINDOWS].toBool());
opt->setAttribute(QWebSettings::JavascriptCanCloseWindows, def[PAGE_SETTINGS_JS_CAN_CLOSE_WINDOWS].toBool());
+ if (def[PAGE_SETTINGS_CLEAR_MEMORY_CACHES].toBool()) {
+ QWebSettings::clearMemoryCaches();
+ }
+
if (def.contains(PAGE_SETTINGS_USER_AGENT))
m_customWebPage->m_userAgent = def[PAGE_SETTINGS_USER_AGENT].toString();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment