summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/renderer_webkitclient_impl.cc
diff options
context:
space:
mode:
authortonyg@chromium.org <tonyg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-05-18 17:09:33 +0000
committertonyg@chromium.org <tonyg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-05-18 17:09:33 +0000
commitb808eb6f0f47a7c4ad15dd8ec115404ce14b47b6 (patch)
tree8315454562119f7591028e5f13bb528abb1dc9ef /chrome/renderer/renderer_webkitclient_impl.cc
parentcadf9b3f3fc8844f95b467afd40a2abf3cd615f9 (diff)
downloadchromium_src-b808eb6f0f47a7c4ad15dd8ec115404ce14b47b6.zip
chromium_src-b808eb6f0f47a7c4ad15dd8ec115404ce14b47b6.tar.gz
chromium_src-b808eb6f0f47a7c4ad15dd8ec115404ce14b47b6.tar.bz2
Wire sending/receiving cacheable metadata from the renderer
to the disk cache. BUG=32407 TEST=None Review URL: http://codereview.chromium.org/1698001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47522 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/renderer_webkitclient_impl.cc')
-rw-r--r--chrome/renderer/renderer_webkitclient_impl.cc27
1 files changed, 27 insertions, 0 deletions
diff --git a/chrome/renderer/renderer_webkitclient_impl.cc b/chrome/renderer/renderer_webkitclient_impl.cc
index bc3c0c9..7135038 100644
--- a/chrome/renderer/renderer_webkitclient_impl.cc
+++ b/chrome/renderer/renderer_webkitclient_impl.cc
@@ -135,6 +135,33 @@ void RendererWebKitClientImpl::prefetchHostName(const WebString& hostname) {
}
}
+bool RendererWebKitClientImpl::CheckPreparsedJsCachingEnabled() const {
+ static bool checked = false;
+ static bool result = false;
+ if (!checked) {
+ const CommandLine& command_line = *CommandLine::ForCurrentProcess();
+ result = command_line.HasSwitch(switches::kEnablePreparsedJsCaching);
+ checked = true;
+ }
+ return result;
+}
+
+void RendererWebKitClientImpl::cacheMetadata(
+ const WebKit::WebURL& url,
+ double response_time,
+ const char* data,
+ size_t size) {
+ if (!CheckPreparsedJsCachingEnabled())
+ return;
+
+ // Let the browser know we generated cacheable metadata for this resource. The
+ // browser may cache it and return it on subsequent responses to speed
+ // the processing of this resource.
+ std::vector<char> copy(data, data + size);
+ RenderThread::current()->Send(new ViewHostMsg_DidGenerateCacheableMetadata(
+ url, response_time, copy));
+}
+
WebString RendererWebKitClientImpl::defaultLocale() {
// TODO(darin): Eliminate this webkit_glue call.
return WideToUTF16(webkit_glue::GetWebKitLocale());