OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_RENDERER_CHROME_RENDER_PROCESS_OBSERVER_H_ | 5 #ifndef CHROME_RENDERER_CHROME_RENDER_PROCESS_OBSERVER_H_ |
6 #define CHROME_RENDERER_CHROME_RENDER_PROCESS_OBSERVER_H_ | 6 #define CHROME_RENDERER_CHROME_RENDER_PROCESS_OBSERVER_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
11 #include "base/files/file_path.h" | 11 #include "base/files/file_path.h" |
12 #include "base/memory/scoped_ptr.h" | 12 #include "base/memory/scoped_ptr.h" |
13 #include "chrome/common/content_settings.h" | 13 #include "chrome/common/content_settings.h" |
14 #include "content/public/renderer/render_process_observer.h" | 14 #include "content/public/renderer/render_process_observer.h" |
15 | 15 |
| 16 class ChromeContentRendererClient; |
16 class GURL; | 17 class GURL; |
17 struct ContentSettings; | 18 struct ContentSettings; |
18 | 19 |
19 namespace chrome { | |
20 class ChromeContentRendererClient; | |
21 } | |
22 | |
23 namespace content { | 20 namespace content { |
24 class ResourceDispatcherDelegate; | 21 class ResourceDispatcherDelegate; |
25 } | 22 } |
26 | 23 |
27 // This class filters the incoming control messages (i.e. ones not destined for | 24 // This class filters the incoming control messages (i.e. ones not destined for |
28 // a RenderView) for Chrome specific messages that the content layer doesn't | 25 // a RenderView) for Chrome specific messages that the content layer doesn't |
29 // happen. If a few messages are related, they should probably have their own | 26 // happen. If a few messages are related, they should probably have their own |
30 // observer. | 27 // observer. |
31 class ChromeRenderProcessObserver : public content::RenderProcessObserver { | 28 class ChromeRenderProcessObserver : public content::RenderProcessObserver { |
32 public: | 29 public: |
33 explicit ChromeRenderProcessObserver( | 30 explicit ChromeRenderProcessObserver( |
34 chrome::ChromeContentRendererClient* client); | 31 ChromeContentRendererClient* client); |
35 virtual ~ChromeRenderProcessObserver(); | 32 virtual ~ChromeRenderProcessObserver(); |
36 | 33 |
37 static bool is_incognito_process() { return is_incognito_process_; } | 34 static bool is_incognito_process() { return is_incognito_process_; } |
38 | 35 |
39 // Needs to be called by RenderViews in case of navigations to execute | 36 // Needs to be called by RenderViews in case of navigations to execute |
40 // any 'clear cache' commands that were delayed until the next navigation. | 37 // any 'clear cache' commands that were delayed until the next navigation. |
41 void ExecutePendingClearCache(); | 38 void ExecutePendingClearCache(); |
42 | 39 |
43 // Returns a pointer to the content setting rules owned by | 40 // Returns a pointer to the content setting rules owned by |
44 // |ChromeRenderProcessObserver|. | 41 // |ChromeRenderProcessObserver|. |
(...skipping 17 matching lines...) Expand all Loading... |
62 void OnClearCache(bool on_navigation); | 59 void OnClearCache(bool on_navigation); |
63 void OnGetCacheResourceStats(); | 60 void OnGetCacheResourceStats(); |
64 void OnSetFieldTrialGroup(const std::string& fiel_trial_name, | 61 void OnSetFieldTrialGroup(const std::string& fiel_trial_name, |
65 const std::string& group_name); | 62 const std::string& group_name); |
66 void OnGetV8HeapStats(); | 63 void OnGetV8HeapStats(); |
67 void OnPurgeMemory(); | 64 void OnPurgeMemory(); |
68 void OnToggleWebKitSharedTimer(bool suspend); | 65 void OnToggleWebKitSharedTimer(bool suspend); |
69 | 66 |
70 static bool is_incognito_process_; | 67 static bool is_incognito_process_; |
71 scoped_ptr<content::ResourceDispatcherDelegate> resource_delegate_; | 68 scoped_ptr<content::ResourceDispatcherDelegate> resource_delegate_; |
72 chrome::ChromeContentRendererClient* client_; | 69 ChromeContentRendererClient* client_; |
73 // If true, the web cache shall be cleared before the next navigation event. | 70 // If true, the web cache shall be cleared before the next navigation event. |
74 bool clear_cache_pending_; | 71 bool clear_cache_pending_; |
75 RendererContentSettingRules content_setting_rules_; | 72 RendererContentSettingRules content_setting_rules_; |
76 | 73 |
77 bool webkit_initialized_; | 74 bool webkit_initialized_; |
78 size_t pending_cache_min_dead_capacity_; | 75 size_t pending_cache_min_dead_capacity_; |
79 size_t pending_cache_max_dead_capacity_; | 76 size_t pending_cache_max_dead_capacity_; |
80 size_t pending_cache_capacity_; | 77 size_t pending_cache_capacity_; |
81 | 78 |
82 DISALLOW_COPY_AND_ASSIGN(ChromeRenderProcessObserver); | 79 DISALLOW_COPY_AND_ASSIGN(ChromeRenderProcessObserver); |
83 }; | 80 }; |
84 | 81 |
85 #endif // CHROME_RENDERER_CHROME_RENDER_PROCESS_OBSERVER_H_ | 82 #endif // CHROME_RENDERER_CHROME_RENDER_PROCESS_OBSERVER_H_ |
OLD | NEW |