diff options
author | tonyg@chromium.org <tonyg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-18 17:09:33 +0000 |
---|---|---|
committer | tonyg@chromium.org <tonyg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-18 17:09:33 +0000 |
commit | b808eb6f0f47a7c4ad15dd8ec115404ce14b47b6 (patch) | |
tree | 8315454562119f7591028e5f13bb528abb1dc9ef /chrome/renderer/renderer_webkitclient_impl.cc | |
parent | cadf9b3f3fc8844f95b467afd40a2abf3cd615f9 (diff) | |
download | chromium_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.cc | 27 |
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()); |