| Index: chrome/browser/renderer_host/browser_render_process_host.h
|
| diff --git a/chrome/browser/renderer_host/browser_render_process_host.h b/chrome/browser/renderer_host/browser_render_process_host.h
|
| index be7e225b528a60c47175bcd031dc615d9f86608b..dad06b56c5d6b76e427c870a07c85704f932383c 100644
|
| --- a/chrome/browser/renderer_host/browser_render_process_host.h
|
| +++ b/chrome/browser/renderer_host/browser_render_process_host.h
|
| @@ -13,6 +13,8 @@
|
| #include "base/ref_counted.h"
|
| #include "base/scoped_ptr.h"
|
| #include "base/shared_memory.h"
|
| +#include "base/timer.h"
|
| +#include "chrome/common/transport_dib.h"
|
| #include "chrome/browser/renderer_host/audio_renderer_host.h"
|
| #include "chrome/browser/renderer_host/render_process_host.h"
|
| #include "chrome/common/notification_observer.h"
|
| @@ -62,6 +64,7 @@ class BrowserRenderProcessHost : public RenderProcessHost,
|
| virtual void WidgetHidden();
|
| virtual void AddWord(const std::wstring& word);
|
| virtual bool FastShutdownIfPossible();
|
| + virtual TransportDIB* GetTransportDIB(TransportDIB::Id dib_id);
|
|
|
| // IPC::Channel::Sender via RenderProcessHost.
|
| virtual bool Send(IPC::Message* msg);
|
| @@ -99,6 +102,7 @@ class BrowserRenderProcessHost : public RenderProcessHost,
|
| void OnClipboardReadText(std::wstring* result);
|
| void OnClipboardReadAsciiText(std::string* result);
|
| void OnClipboardReadHTML(std::wstring* markup, GURL* src_url);
|
| +
|
| void OnUpdatedCacheStats(const CacheManager::UsageStats& stats);
|
|
|
| // Initialize support for visited links. Send the renderer process its initial
|
| @@ -140,6 +144,20 @@ class BrowserRenderProcessHost : public RenderProcessHost,
|
| // The host of audio renderers in the renderer process.
|
| scoped_refptr<AudioRendererHost> audio_renderer_host_;
|
|
|
| + // A map of transport DIB ids to cached TransportDIBs
|
| + std::map<TransportDIB::Id, TransportDIB*> cached_dibs_;
|
| + enum {
|
| + // This is the maximum size of |cached_dibs_|
|
| + MAX_MAPPED_TRANSPORT_DIBS = 3,
|
| + };
|
| +
|
| + // Map a transport DIB from its Id and return it. Returns NULL on error.
|
| + TransportDIB* MapTransportDIB(TransportDIB::Id dib_id);
|
| +
|
| + void ClearTransportDIBCache();
|
| + // This is used to clear our cache five seconds after the last use.
|
| + base::DelayTimer<BrowserRenderProcessHost> cached_dibs_cleaner_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(BrowserRenderProcessHost);
|
| };
|
|
|
|
|