Diff
Modified: trunk/Source/WebCore/ChangeLog (198475 => 198476)
--- trunk/Source/WebCore/ChangeLog 2016-03-20 17:20:45 UTC (rev 198475)
+++ trunk/Source/WebCore/ChangeLog 2016-03-20 20:08:59 UTC (rev 198476)
@@ -1,3 +1,28 @@
+2016-03-20 Darin Adler <[email protected]>
+
+ Disable Caches in Safari's Develop menu does not disable caches.
+ https://bugs.webkit.org/show_bug.cgi?id=64483
+
+ Reviewed by Antti Koivisto.
+
+ Moved feature from Settings to Page.
+
+ * history/PageCache.cpp:
+ (WebCore::canCachePage): Use function on Page instead of Settings.
+ (WebCore::PageCache::take): Ditto.
+ (WebCore::PageCache::get): Ditto.
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::subresourceCachePolicy): Ditto.
+ (WebCore::FrameLoader::addExtraFieldsToRequest): Ditto.
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::cachePolicy): Ditto.
+
+ * page/Page.h:
+ (WebCore::Page::isResourceCachingDisabled): Added.
+ (WebCore::Page::setResourceCachingDisabled): Added.
+
+ * page/Settings.in: Removed resourceCachingDisabled.
+
2016-03-20 Dan Bernstein <[email protected]>
Update build settings
Modified: trunk/Source/WebCore/history/PageCache.cpp (198475 => 198476)
--- trunk/Source/WebCore/history/PageCache.cpp 2016-03-20 17:20:45 UTC (rev 198475)
+++ trunk/Source/WebCore/history/PageCache.cpp 2016-03-20 20:08:59 UTC (rev 198476)
@@ -193,7 +193,7 @@
DiagnosticLoggingClient& diagnosticLoggingClient = mainFrame.diagnosticLoggingClient();
bool isCacheable = canCacheFrame(mainFrame, diagnosticLoggingClient, indentLevel + 1);
- if (!page.settings().usesPageCache() || page.settings().resourceCachingDisabled()) {
+ if (!page.settings().usesPageCache() || page.isResourceCachingDisabled()) {
PCLOG(" -Page settings says b/f cache disabled");
logPageCacheFailureDiagnosticMessage(diagnosticLoggingClient, DiagnosticLoggingKeys::isDisabledKey());
isCacheable = false;
@@ -423,7 +423,7 @@
m_items.remove(&item);
std::unique_ptr<CachedPage> cachedPage = WTFMove(item.m_cachedPage);
- if (cachedPage->hasExpired() || (page && page->settings().resourceCachingDisabled())) {
+ if (cachedPage->hasExpired() || (page && page->isResourceCachingDisabled())) {
LOG(PageCache, "Not restoring page for %s from back/forward cache because cache entry has expired", item.url().string().ascii().data());
logPageCacheFailureDiagnosticMessage(page, DiagnosticLoggingKeys::expiredKey());
return nullptr;
@@ -441,7 +441,7 @@
return nullptr;
}
- if (cachedPage->hasExpired() || (page && page->settings().resourceCachingDisabled())) {
+ if (cachedPage->hasExpired() || (page && page->isResourceCachingDisabled())) {
LOG(PageCache, "Not restoring page for %s from back/forward cache because cache entry has expired", item.url().string().ascii().data());
logPageCacheFailureDiagnosticMessage(page, DiagnosticLoggingKeys::expiredKey());
remove(item);
Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (198475 => 198476)
--- trunk/Source/WebCore/loader/FrameLoader.cpp 2016-03-20 17:20:45 UTC (rev 198475)
+++ trunk/Source/WebCore/loader/FrameLoader.cpp 2016-03-20 20:08:59 UTC (rev 198476)
@@ -2155,8 +2155,10 @@
CachePolicy FrameLoader::subresourceCachePolicy() const
{
- if (m_frame.settings().resourceCachingDisabled())
- return CachePolicyReload;
+ if (Page* page = m_frame.page()) {
+ if (page->isResourceCachingDisabled())
+ return CachePolicyReload;
+ }
if (m_isComplete)
return CachePolicyVerify;
@@ -2564,7 +2566,8 @@
void FrameLoader::addExtraFieldsToRequest(ResourceRequest& request, FrameLoadType loadType, bool mainResource)
{
- bool cachingDisabled = frame().settings().resourceCachingDisabled();
+ Page* page = frame().page();
+ bool cachingDisabled = page && page->isResourceCachingDisabled();
if (cachingDisabled)
request.setCachePolicy(ReloadIgnoringCacheData);
Modified: trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp (198475 => 198476)
--- trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp 2016-03-20 17:20:45 UTC (rev 198475)
+++ trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp 2016-03-20 20:08:59 UTC (rev 198476)
@@ -930,12 +930,14 @@
if (!frame)
return CachePolicyVerify;
- if (frame->settings().resourceCachingDisabled())
- return CachePolicyReload;
-
if (type != CachedResource::MainResource)
return frame->loader().subresourceCachePolicy();
-
+
+ if (Page* page = frame->page()) {
+ if (page->isResourceCachingDisabled())
+ return CachePolicyReload;
+ }
+
switch (frame->loader().loadType()) {
case FrameLoadType::ReloadFromOrigin:
case FrameLoadType::Reload:
Modified: trunk/Source/WebCore/page/Page.h (198475 => 198476)
--- trunk/Source/WebCore/page/Page.h 2016-03-20 17:20:45 UTC (rev 198475)
+++ trunk/Source/WebCore/page/Page.h 2016-03-20 20:08:59 UTC (rev 198476)
@@ -514,6 +514,9 @@
String captionUserPreferencesStyleSheet();
void setCaptionUserPreferencesStyleSheet(const String&);
+ bool isResourceCachingDisabled() const { return m_resourceCachingDisabled; }
+ void setResourceCachingDisabled(bool disabled) { m_resourceCachingDisabled = disabled; }
+
private:
WEBCORE_EXPORT void initGroup();
@@ -694,8 +697,8 @@
bool m_allowsMediaDocumentInlinePlayback { false };
bool m_showAllPlugins { false };
-
bool m_controlledByAutomation { false };
+ bool m_resourceCachingDisabled { false };
};
inline PageGroup& Page::group()
Modified: trunk/Source/WebCore/page/Settings.in (198475 => 198476)
--- trunk/Source/WebCore/page/Settings.in 2016-03-20 17:20:45 UTC (rev 198475)
+++ trunk/Source/WebCore/page/Settings.in 2016-03-20 20:08:59 UTC (rev 198476)
@@ -251,5 +251,3 @@
# enforces all frame sandbox flags (see enum SandboxFlag in SecurityContext.h), and also disables <meta http-equiv>
# processing and subframe loading.
contentDispositionAttachmentSandboxEnabled initial=false
-
-resourceCachingDisabled initial=false
Modified: trunk/Source/WebKit/mac/ChangeLog (198475 => 198476)
--- trunk/Source/WebKit/mac/ChangeLog 2016-03-20 17:20:45 UTC (rev 198475)
+++ trunk/Source/WebKit/mac/ChangeLog 2016-03-20 20:08:59 UTC (rev 198476)
@@ -1,3 +1,21 @@
+2016-03-20 Darin Adler <[email protected]>
+
+ Disable Caches in Safari's Develop menu does not disable caches.
+ https://bugs.webkit.org/show_bug.cgi?id=64483
+
+ Reviewed by Antti Koivisto.
+
+ Removed unneeded WebPreferences property; we don't need this for Legacy WebKit.
+
+ * WebView/WebPreferenceKeysPrivate.h: Removed
+ WebKitResourceCachingDisabledPreferenceKey.
+ * WebView/WebPreferences.mm:
+ (-[WebPreferences isResourceCachingDisabled]): Deleted.
+ (-[WebPreferences setResourceCachingDisabled:]): Deleted.
+ * WebView/WebPreferencesPrivate.h: Removed resourceCachingDisabled property.
+ * WebView/WebView.mm:
+ (-[WebView _preferencesChanged:]): Removed code to update resourceCachingDisabled.
+
2016-03-20 Dan Bernstein <[email protected]>
Update build settings
Modified: trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h (198475 => 198476)
--- trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h 2016-03-20 17:20:45 UTC (rev 198475)
+++ trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h 2016-03-20 20:08:59 UTC (rev 198476)
@@ -161,7 +161,6 @@
#define WebKitMediaKeysStorageDirectoryKey @"WebKitMediaKeysStorageDirectory"
#define WebKitShadowDOMEnabledPreferenceKey @"WebKitShadowDOMEnabled"
#define WebKitCustomElementsEnabledPreferenceKey @"WebKitCustomElementsEnabled"
-#define WebKitResourceCachingDisabledPreferenceKey @"WebKitResourceCachingDisabled"
#if !TARGET_OS_IPHONE
// These are private both because callers should be using the cover methods and because the
Modified: trunk/Source/WebKit/mac/WebView/WebPreferences.mm (198475 => 198476)
--- trunk/Source/WebKit/mac/WebView/WebPreferences.mm 2016-03-20 17:20:45 UTC (rev 198475)
+++ trunk/Source/WebKit/mac/WebView/WebPreferences.mm 2016-03-20 20:08:59 UTC (rev 198476)
@@ -2700,16 +2700,6 @@
[self _setBoolValue:flag forKey:WebKitCustomElementsEnabledPreferenceKey];
}
-- (BOOL)isResourceCachingDisabled
-{
- return [self _boolValueForKey:WebKitResourceCachingDisabledPreferenceKey];
-}
-
-- (void)setResourceCachingDisabled:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitResourceCachingDisabledPreferenceKey];
-}
-
@end
@implementation WebPreferences (WebInternal)
Modified: trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h (198475 => 198476)
--- trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h 2016-03-20 17:20:45 UTC (rev 198475)
+++ trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h 2016-03-20 20:08:59 UTC (rev 198476)
@@ -484,6 +484,5 @@
@property (nonatomic) BOOL _javascript_MarkupEnabled;
@property (nonatomic) BOOL mediaDataLoadsAutomatically;
@property (nonatomic) BOOL attachmentElementEnabled;
-@property (nonatomic, getter=isResourceCachingDisabled) BOOL resourceCachingDisabled;
@end
Modified: trunk/Source/WebKit/mac/WebView/WebView.mm (198475 => 198476)
--- trunk/Source/WebKit/mac/WebView/WebView.mm 2016-03-20 17:20:45 UTC (rev 198475)
+++ trunk/Source/WebKit/mac/WebView/WebView.mm 2016-03-20 20:08:59 UTC (rev 198476)
@@ -2516,8 +2516,6 @@
#if ENABLE(ATTACHMENT_ELEMENT)
settings.setAttachmentElementEnabled([preferences attachmentElementEnabled]);
#endif
-
- settings.setResourceCachingDisabled(preferences.resourceCachingDisabled);
}
static inline IMP getMethod(id o, SEL s)
Modified: trunk/Source/WebKit2/ChangeLog (198475 => 198476)
--- trunk/Source/WebKit2/ChangeLog 2016-03-20 17:20:45 UTC (rev 198475)
+++ trunk/Source/WebKit2/ChangeLog 2016-03-20 20:08:59 UTC (rev 198476)
@@ -1,3 +1,35 @@
+2016-03-20 Darin Adler <[email protected]>
+
+ Disable Caches in Safari's Develop menu does not disable caches.
+ https://bugs.webkit.org/show_bug.cgi?id=64483
+
+ Reviewed by Antti Koivisto.
+
+ Moved functions from WKPreferences to WKPage.
+
+ * Shared/WebPreferencesDefinitions.h: Removed ResourceCachingDisabled.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageGetResourceCachingDisabled): Added.
+ (WKPageSetResourceCachingDisabled): Added.
+ * UIProcess/API/C/WKPagePrivate.h: Added above functions.
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetResourceCachingDisabled): Deleted.
+ (WKPreferencesGetResourceCachingDisabled): Deleted.
+ * UIProcess/API/C/WKPreferencesRefPrivate.h: Deleted above functions.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setResourceCachingDisabled): Added.
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::isResourceCachingDisabled): Added.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences): Removed code to set the setting
+ for resourceCachingDisabled..
+ (WebKit::WebPage::setResourceCachingDisabled): Added.
+ * WebProcess/WebPage/WebPage.h: Declared setResourceCachingDisabled.
+ * WebProcess/WebPage/WebPage.messages.in: Added SetResourceCachingDisabled.
+
2016-03-20 Dan Bernstein <[email protected]>
Update build settings
Modified: trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h (198475 => 198476)
--- trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h 2016-03-20 17:20:45 UTC (rev 198475)
+++ trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h 2016-03-20 20:08:59 UTC (rev 198476)
@@ -227,7 +227,6 @@
macro(MockCaptureDevicesEnabled, mockCaptureDevicesEnabled, Bool, bool, false) \
macro(ShadowDOMEnabled, shadowDOMEnabled, Bool, bool, true) \
macro(CustomElementsEnabled, customElementsEnabled, Bool, bool, false) \
- macro(ResourceCachingDisabled, resourceCachingDisabled, Bool, bool, false) \
FOR_EACH_ADDITIONAL_WEBKIT_BOOL_PREFERENCE(macro) \
\
Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp (198475 => 198476)
--- trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp 2016-03-20 17:20:45 UTC (rev 198475)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp 2016-03-20 20:08:59 UTC (rev 198476)
@@ -2724,6 +2724,16 @@
});
}
+bool WKPageGetResourceCachingDisabled(WKPageRef page)
+{
+ return toImpl(page)->isResourceCachingDisabled();
+}
+
+void WKPageSetResourceCachingDisabled(WKPageRef page, bool disabled)
+{
+ toImpl(page)->setResourceCachingDisabled(disabled);
+}
+
#if ENABLE(NETSCAPE_PLUGIN_API)
// -- DEPRECATED --
Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPagePrivate.h (198475 => 198476)
--- trunk/Source/WebKit2/UIProcess/API/C/WKPagePrivate.h 2016-03-20 17:20:45 UTC (rev 198475)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPagePrivate.h 2016-03-20 20:08:59 UTC (rev 198476)
@@ -142,6 +142,9 @@
typedef void (*WKPagePostPresentationUpdateFunction)(WKErrorRef, void*);
WK_EXPORT void WKPageCallAfterNextPresentationUpdate(WKPageRef page, void* context, WKPagePostPresentationUpdateFunction function);
+WK_EXPORT bool WKPageGetResourceCachingDisabled(WKPageRef page);
+WK_EXPORT void WKPageSetResourceCachingDisabled(WKPageRef page, bool disabled);
+
#ifdef __cplusplus
}
#endif
Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp (198475 => 198476)
--- trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp 2016-03-20 17:20:45 UTC (rev 198475)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp 2016-03-20 20:08:59 UTC (rev 198476)
@@ -1506,13 +1506,3 @@
{
return toImpl(preferencesRef)->shadowDOMEnabled();
}
-
-void WKPreferencesSetResourceCachingDisabled(WKPreferencesRef preferencesRef, bool flag)
-{
- toImpl(preferencesRef)->setResourceCachingDisabled(flag);
-}
-
-bool WKPreferencesGetResourceCachingDisabled(WKPreferencesRef preferencesRef)
-{
- return toImpl(preferencesRef)->resourceCachingDisabled();
-}
Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h (198475 => 198476)
--- trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h 2016-03-20 17:20:45 UTC (rev 198475)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h 2016-03-20 20:08:59 UTC (rev 198476)
@@ -419,10 +419,6 @@
WK_EXPORT void WKPreferencesSetCustomElementsEnabled(WKPreferencesRef, bool flag);
WK_EXPORT bool WKPreferencesGetCustomElementsEnabled(WKPreferencesRef);
-// Defaults to false
-WK_EXPORT void WKPreferencesSetResourceCachingDisabled(WKPreferencesRef, bool flag);
-WK_EXPORT bool WKPreferencesGetResourceCachingDisabled(WKPreferencesRef);
-
#ifdef __cplusplus
}
#endif
Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (198475 => 198476)
--- trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp 2016-03-20 17:20:45 UTC (rev 198475)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp 2016-03-20 20:08:59 UTC (rev 198476)
@@ -6222,4 +6222,17 @@
m_pageClient.didRestoreScrollPosition();
}
+void WebPageProxy::setResourceCachingDisabled(bool disabled)
+{
+ if (m_isResourceCachingDisabled == disabled)
+ return;
+
+ m_isResourceCachingDisabled = disabled;
+
+ if (!isValid())
+ return;
+
+ m_process->send(Messages::WebPage::SetResourceCachingDisabled(disabled), m_pageID);
+}
+
} // namespace WebKit
Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.h (198475 => 198476)
--- trunk/Source/WebKit2/UIProcess/WebPageProxy.h 2016-03-20 17:20:45 UTC (rev 198475)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.h 2016-03-20 20:08:59 UTC (rev 198476)
@@ -1098,6 +1098,9 @@
void setFocus(bool focused);
+ bool isResourceCachingDisabled() const { return m_isResourceCachingDisabled; }
+ void setResourceCachingDisabled(bool);
+
private:
WebPageProxy(PageClient&, WebProcessProxy&, uint64_t pageID, Ref<API::PageConfiguration>&&);
void platformInitialize();
@@ -1794,6 +1797,8 @@
WebCore::MediaProducer::MediaStateFlags m_mediaState { WebCore::MediaProducer::IsNotPlaying };
+ bool m_isResourceCachingDisabled { false };
+
#if ENABLE(MEDIA_SESSION)
bool m_hasMediaSessionWithActiveMediaElements { false };
#endif
Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (198475 => 198476)
--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp 2016-03-20 17:20:45 UTC (rev 198475)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp 2016-03-20 20:08:59 UTC (rev 198476)
@@ -3045,8 +3045,6 @@
settings.setShouldDispatchJavaScriptWindowOnErrorEvents(true);
- settings.setResourceCachingDisabled(store.getBoolValueForKey(WebPreferencesKey::resourceCachingDisabledKey()));
-
#if USE(APPLE_INTERNAL_SDK)
#include <WebKitAdditions/WebPagePreferences.cpp>
#endif
@@ -5263,4 +5261,9 @@
send(Messages::WebPageProxy::DidRestoreScrollPosition());
}
+void WebPage::setResourceCachingDisabled(bool disabled)
+{
+ m_page->setResourceCachingDisabled(disabled);
+}
+
} // namespace WebKit
Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h (198475 => 198476)
--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h 2016-03-20 17:20:45 UTC (rev 198475)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h 2016-03-20 20:08:59 UTC (rev 198476)
@@ -1194,6 +1194,8 @@
void didEndRequestInstallMissingMediaPlugins(uint32_t result);
#endif
+ void setResourceCachingDisabled(bool);
+
uint64_t m_pageID;
std::unique_ptr<WebCore::Page> m_page;
Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in (198475 => 198476)
--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in 2016-03-20 17:20:45 UTC (rev 198475)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in 2016-03-20 20:08:59 UTC (rev 198476)
@@ -427,4 +427,6 @@
#if ENABLE(VIDEO) && USE(GSTREAMER)
DidEndRequestInstallMissingMediaPlugins(uint32_t result)
#endif
+
+ SetResourceCachingDisabled(bool disabled)
}