Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(52)

Side by Side Diff: components/web_cache/renderer/web_cache_render_process_observer.cc

Issue 528363002: Move webCacheManager to //components. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove an unnecessary dependency in web_cache.gypi. Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2014 The Chromium Authors. All rights reserved.
James Cook 2014/09/05 16:53:18 nit: no (c)
Xi Han 2014/09/05 19:39:25 Removed.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "components/web_cache/renderer/web_cache_render_process_observer.h"
6
7 #include <limits>
8
9 #include "components/web_cache/common/web_cache_messages.h"
10 #include "third_party/WebKit/public/web/WebCache.h"
11
12 using blink::WebCache;
James Cook 2014/09/05 16:53:18 I like "using" declarations. :-)
Xi Han 2014/09/05 19:39:25 Me too:)
13
14 namespace web_cache {
15
16 const size_t kUnitializedCacheCapacity = UINT_MAX;
James Cook 2014/09/05 16:53:18 wrap in namespace { }, it helps the linker, also "
Xi Han 2014/09/05 19:39:25 Added.
17
18 WebCacheRenderProcessObserver::WebCacheRenderProcessObserver()
19 : clear_cache_pending_(false),
20 webkit_initialized_(false),
21 pending_cache_min_dead_capacity_(0),
22 pending_cache_max_dead_capacity_(0),
23 pending_cache_capacity_(kUnitializedCacheCapacity) {
24 }
25
26 WebCacheRenderProcessObserver::~WebCacheRenderProcessObserver() {
27 }
28
29 void WebCacheRenderProcessObserver::ExecutePendingClearCache() {
30 if (clear_cache_pending_ && webkit_initialized_) {
31 clear_cache_pending_ = false;
32 WebCache::clear();
33 }
34 }
35
36 bool WebCacheRenderProcessObserver::OnControlMessageReceived(
37 const IPC::Message& message) {
38 bool handled = true;
39 IPC_BEGIN_MESSAGE_MAP(WebCacheRenderProcessObserver, message)
40 IPC_MESSAGE_HANDLER(WebCacheMsg_SetCacheCapacities, OnSetCacheCapacities)
41 IPC_MESSAGE_HANDLER(WebCacheMsg_ClearCache, OnClearCache)
42 IPC_MESSAGE_UNHANDLED(handled = false)
43 IPC_END_MESSAGE_MAP()
44 return handled;
45 }
46
47 void WebCacheRenderProcessObserver::WebKitInitialized() {
48 webkit_initialized_ = true;
49 if (pending_cache_capacity_ != kUnitializedCacheCapacity) {
50 WebCache::setCapacities(pending_cache_min_dead_capacity_,
51 pending_cache_max_dead_capacity_,
52 pending_cache_capacity_);
53 }
54 }
55
56 void WebCacheRenderProcessObserver::OnRenderProcessShutdown() {
57 webkit_initialized_ = false;
58 }
59
60 void WebCacheRenderProcessObserver::OnSetCacheCapacities(
61 size_t min_dead_capacity,
62 size_t max_dead_capacity,
63 size_t capacity) {
64 if (!webkit_initialized_) {
65 pending_cache_min_dead_capacity_ = min_dead_capacity;
66 pending_cache_max_dead_capacity_ = max_dead_capacity;
67 pending_cache_capacity_ = capacity;
68 return;
69 }
70
71 WebCache::setCapacities(
72 min_dead_capacity, max_dead_capacity, capacity);
73 }
74
75 void WebCacheRenderProcessObserver::OnClearCache(bool on_navigation) {
76 if (on_navigation || !webkit_initialized_) {
77 clear_cache_pending_ = true;
78 } else {
79 WebCache::clear();
80 }
81 }
82
83 } // namespace web_cache
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698