OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_H_ | 5 #ifndef CHROME_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_H_ |
6 #define CHROME_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_H_ | 6 #define CHROME_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_H_ |
7 | 7 |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 | 10 |
11 #include "base/id_map.h" | 11 #include "base/id_map.h" |
12 #include "base/process.h" | 12 #include "base/process.h" |
13 #include "base/scoped_ptr.h" | 13 #include "base/scoped_ptr.h" |
14 #include "chrome/common/ipc_sync_channel.h" | 14 #include "chrome/common/ipc_sync_channel.h" |
15 #include "chrome/common/transport_dib.h" | 15 #include "chrome/common/transport_dib.h" |
| 16 #include "chrome/common/visitedlink_common.h" |
16 | 17 |
17 class Profile; | 18 class Profile; |
18 | 19 |
19 // Virtual interface that represents the browser side of the browser <-> | 20 // Virtual interface that represents the browser side of the browser <-> |
20 // renderer communication channel. There will generally be one | 21 // renderer communication channel. There will generally be one |
21 // RenderProcessHost per renderer process. | 22 // RenderProcessHost per renderer process. |
22 // | 23 // |
23 // The concrete implementation of this class for normal use is the | 24 // The concrete implementation of this class for normal use is the |
24 // BrowserRenderProcessHost. It may also be implemented by a testing interface | 25 // BrowserRenderProcessHost. It may also be implemented by a testing interface |
25 // for mocking purposes. | 26 // for mocking purposes. |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
131 virtual void ReceivedBadMessage(uint16 msg_type) = 0; | 132 virtual void ReceivedBadMessage(uint16 msg_type) = 0; |
132 | 133 |
133 // Track the count of visible widgets. Called by listeners to register and | 134 // Track the count of visible widgets. Called by listeners to register and |
134 // unregister visibility. | 135 // unregister visibility. |
135 virtual void WidgetRestored() = 0; | 136 virtual void WidgetRestored() = 0; |
136 virtual void WidgetHidden() = 0; | 137 virtual void WidgetHidden() = 0; |
137 | 138 |
138 // Add a word in the spellchecker. | 139 // Add a word in the spellchecker. |
139 virtual void AddWord(const std::wstring& word) = 0; | 140 virtual void AddWord(const std::wstring& word) = 0; |
140 | 141 |
| 142 // Notify the renderer that a link was visited. |
| 143 virtual void AddVisitedLinks( |
| 144 const VisitedLinkCommon::Fingerprints& links) = 0; |
| 145 |
| 146 // Clear internal visited links buffer and ask the renderer to update link |
| 147 // coloring state for all of its links. |
| 148 virtual void ResetVisitedLinks() = 0; |
| 149 |
141 // Try to shutdown the associated renderer process as fast as possible. | 150 // Try to shutdown the associated renderer process as fast as possible. |
142 // If this renderer has any RenderViews with unload handlers, then this | 151 // If this renderer has any RenderViews with unload handlers, then this |
143 // function does nothing. The current implementation uses TerminateProcess. | 152 // function does nothing. The current implementation uses TerminateProcess. |
144 // Returns True if it was able to do fast shutdown. | 153 // Returns True if it was able to do fast shutdown. |
145 virtual bool FastShutdownIfPossible() = 0; | 154 virtual bool FastShutdownIfPossible() = 0; |
146 | 155 |
147 // Synchronously sends the message, waiting for the specified timeout. The | 156 // Synchronously sends the message, waiting for the specified timeout. The |
148 // implementor takes ownership of the given Message regardless of whether or | 157 // implementor takes ownership of the given Message regardless of whether or |
149 // not this method succeeds. Returns true on success. | 158 // not this method succeeds. Returns true on success. |
150 virtual bool SendWithTimeout(IPC::Message* msg, int timeout_ms) = 0; | 159 virtual bool SendWithTimeout(IPC::Message* msg, int timeout_ms) = 0; |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
241 // Factory object for RenderProcessHosts. Using this factory allows tests to | 250 // Factory object for RenderProcessHosts. Using this factory allows tests to |
242 // swap out a different one to use a TestRenderProcessHost. | 251 // swap out a different one to use a TestRenderProcessHost. |
243 class RenderProcessHostFactory { | 252 class RenderProcessHostFactory { |
244 public: | 253 public: |
245 virtual ~RenderProcessHostFactory() {} | 254 virtual ~RenderProcessHostFactory() {} |
246 virtual RenderProcessHost* CreateRenderProcessHost( | 255 virtual RenderProcessHost* CreateRenderProcessHost( |
247 Profile* profile) const = 0; | 256 Profile* profile) const = 0; |
248 }; | 257 }; |
249 | 258 |
250 #endif // CHROME_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_H_ | 259 #endif // CHROME_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_H_ |
OLD | NEW |