Chromium Code Reviews| Index: components/web_cache/renderer/web_cache_render_process_observer.h |
| diff --git a/components/web_cache/renderer/web_cache_render_process_observer.h b/components/web_cache/renderer/web_cache_render_process_observer.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..fb529cede5d8a40e8181163e6fbc4651ddaa58ad |
| --- /dev/null |
| +++ b/components/web_cache/renderer/web_cache_render_process_observer.h |
| @@ -0,0 +1,51 @@ |
| +// Copyright 2014 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef COMPONENTS_WEB_CACHE_RENDERER_WEB_CACHE_RENDER_PROCESS_OBSERVER_H_ |
| +#define COMPONENTS_WEB_CACHE_RENDERER_WEB_CACHE_RENDER_PROCESS_OBSERVER_H_ |
| + |
| +#include "base/compiler_specific.h" |
| +#include "base/macros.h" |
| +#include "content/public/renderer/render_process_observer.h" |
| + |
| +namespace web_cache { |
| + |
| +// This class filters the incomming cache related control messages. |
|
James Cook
2014/09/05 19:47:58
nit: "incomming" -> "incoming"
Xi Han
2014/09/05 21:01:42
Done.
|
| +class WebCacheRenderProcessObserver : public content::RenderProcessObserver { |
| + public: |
| + WebCacheRenderProcessObserver(); |
| + virtual ~WebCacheRenderProcessObserver(); |
| + |
| + // Needs to be called by RenderViews in case of navigations to execute |
| + // any 'clear cache' commands that were delayed until the next navigation. |
| + void ExecutePendingClearCache(); |
| + |
| + private: |
| + // RenderProcessObserver implementation. |
| + virtual bool OnControlMessageReceived(const IPC::Message& message) OVERRIDE; |
| + virtual void WebKitInitialized() OVERRIDE; |
| + virtual void OnRenderProcessShutdown() OVERRIDE; |
| + |
| + // Message handlers. |
| + void OnSetCacheCapacities(size_t min_dead_capacity, |
| + size_t max_dead_capacity, |
| + size_t capacity); |
| + // If |on_navigation| is true, the clearing is delayed until the next |
| + // navigation event. |
| + void OnClearCache(bool on_navigation); |
| + |
| + // If true, the web cache shall be cleared before the next navigation event. |
| + bool clear_cache_pending_; |
| + bool webkit_initialized_; |
| + size_t pending_cache_min_dead_capacity_; |
| + size_t pending_cache_max_dead_capacity_; |
| + size_t pending_cache_capacity_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(WebCacheRenderProcessObserver); |
| +}; |
| + |
| +} // namespace web_cache |
| + |
| +#endif // COMPONENTS_WEB_CACHE_RENDERER_WEB_CACHE_RENDER_PROCESS_OBSERVER_H_ |
| + |