OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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_CONTENT_RENDERER_CLIENT_H_ | 5 #ifndef CHROME_RENDERER_CHROME_CONTENT_RENDERER_CLIENT_H_ |
6 #define CHROME_RENDERER_CHROME_CONTENT_RENDERER_CLIENT_H_ | 6 #define CHROME_RENDERER_CHROME_CONTENT_RENDERER_CLIENT_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
11 #include "content/renderer/content_renderer_client.h" | 11 #include "content/renderer/content_renderer_client.h" |
12 | 12 |
13 class ChromeRenderProcessObserver; | 13 class ChromeRenderProcessObserver; |
14 class ExtensionDispatcher; | 14 class ExtensionDispatcher; |
15 class RendererHistogramSnapshots; | 15 class RendererHistogramSnapshots; |
16 class RendererNetPredictor; | 16 class RendererNetPredictor; |
17 class SpellCheck; | 17 class SpellCheck; |
| 18 class SpellCheckProvider; |
18 class VisitedLinkSlave; | 19 class VisitedLinkSlave; |
19 | 20 |
20 namespace safe_browsing { | 21 namespace safe_browsing { |
21 class PhishingClassifierFilter; | 22 class PhishingClassifierFilter; |
22 } | 23 } |
23 | 24 |
24 namespace webkit { | 25 namespace webkit { |
25 namespace npapi { | 26 namespace npapi { |
26 class PluginGroup; | 27 class PluginGroup; |
27 } | 28 } |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
66 size_t length) OVERRIDE; | 67 size_t length) OVERRIDE; |
67 virtual bool IsLinkVisited(unsigned long long link_hash) OVERRIDE; | 68 virtual bool IsLinkVisited(unsigned long long link_hash) OVERRIDE; |
68 virtual void PrefetchHostName(const char* hostname, size_t length) OVERRIDE; | 69 virtual void PrefetchHostName(const char* hostname, size_t length) OVERRIDE; |
69 virtual bool ShouldOverridePageVisibilityState( | 70 virtual bool ShouldOverridePageVisibilityState( |
70 const RenderView* render_view, | 71 const RenderView* render_view, |
71 WebKit::WebPageVisibilityState* override_state) const OVERRIDE; | 72 WebKit::WebPageVisibilityState* override_state) const OVERRIDE; |
72 | 73 |
73 // For testing. | 74 // For testing. |
74 void SetExtensionDispatcher(ExtensionDispatcher* extension_dispatcher); | 75 void SetExtensionDispatcher(ExtensionDispatcher* extension_dispatcher); |
75 | 76 |
| 77 // Called in low-memory conditions to dump the memory used by the spellchecker |
| 78 // and start over. |
| 79 void OnPurgeMemory(); |
| 80 |
76 private: | 81 private: |
77 WebKit::WebPlugin* CreatePluginImpl( | 82 WebKit::WebPlugin* CreatePluginImpl( |
78 RenderView* render_view, | 83 RenderView* render_view, |
79 WebKit::WebFrame* frame, | 84 WebKit::WebFrame* frame, |
80 const WebKit::WebPluginParams& params, | 85 const WebKit::WebPluginParams& params, |
81 bool* is_default_plugin); | 86 bool* is_default_plugin); |
82 | 87 |
83 WebKit::WebPlugin* CreatePluginPlaceholder( | 88 WebKit::WebPlugin* CreatePluginPlaceholder( |
84 RenderView* render_view, | 89 RenderView* render_view, |
85 WebKit::WebFrame* frame, | 90 WebKit::WebFrame* frame, |
86 const WebKit::WebPluginParams& params, | 91 const WebKit::WebPluginParams& params, |
87 const webkit::npapi::PluginGroup& group, | 92 const webkit::npapi::PluginGroup& group, |
88 int resource_id, | 93 int resource_id, |
89 int message_id, | 94 int message_id, |
90 bool is_blocked_for_prerendering, | 95 bool is_blocked_for_prerendering, |
91 bool allow_loading); | 96 bool allow_loading); |
92 | 97 |
93 // Returns true if the frame is navigating to an URL either into or out of an | 98 // Returns true if the frame is navigating to an URL either into or out of an |
94 // extension app's extent. | 99 // extension app's extent. |
95 bool CrossesExtensionExtents(WebKit::WebFrame* frame, const GURL& new_url); | 100 bool CrossesExtensionExtents(WebKit::WebFrame* frame, const GURL& new_url); |
96 | 101 |
97 scoped_ptr<ChromeRenderProcessObserver> chrome_observer_; | 102 scoped_ptr<ChromeRenderProcessObserver> chrome_observer_; |
98 scoped_ptr<ExtensionDispatcher> extension_dispatcher_; | 103 scoped_ptr<ExtensionDispatcher> extension_dispatcher_; |
99 scoped_ptr<RendererHistogramSnapshots> histogram_snapshots_; | 104 scoped_ptr<RendererHistogramSnapshots> histogram_snapshots_; |
100 scoped_ptr<RendererNetPredictor> net_predictor_; | 105 scoped_ptr<RendererNetPredictor> net_predictor_; |
101 scoped_ptr<SpellCheck> spellcheck_; | 106 scoped_ptr<SpellCheck> spellcheck_; |
| 107 // The SpellCheckProvider is a RenderViewObserver, and handles its own |
| 108 // destruction. |
| 109 SpellCheckProvider* spellcheck_provider_; |
102 scoped_ptr<VisitedLinkSlave> visited_link_slave_; | 110 scoped_ptr<VisitedLinkSlave> visited_link_slave_; |
103 scoped_ptr<safe_browsing::PhishingClassifierFilter> phishing_classifier_; | 111 scoped_ptr<safe_browsing::PhishingClassifierFilter> phishing_classifier_; |
104 }; | 112 }; |
105 | 113 |
106 } // namespace chrome | 114 } // namespace chrome |
107 | 115 |
108 #endif // CHROME_RENDERER_CHROME_CONTENT_RENDERER_CLIENT_H_ | 116 #endif // CHROME_RENDERER_CHROME_CONTENT_RENDERER_CLIENT_H_ |
OLD | NEW |