OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 #include "chrome/renderer/render_thread.h" | 5 #include "chrome/renderer/render_thread.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 21 matching lines...) Expand all Loading... |
32 #include "chrome/renderer/extensions/extension_process_bindings.h" | 32 #include "chrome/renderer/extensions/extension_process_bindings.h" |
33 #include "chrome/renderer/extensions/renderer_extension_bindings.h" | 33 #include "chrome/renderer/extensions/renderer_extension_bindings.h" |
34 #include "chrome/renderer/external_extension.h" | 34 #include "chrome/renderer/external_extension.h" |
35 #include "chrome/renderer/js_only_v8_extensions.h" | 35 #include "chrome/renderer/js_only_v8_extensions.h" |
36 #include "chrome/renderer/loadtimes_extension_bindings.h" | 36 #include "chrome/renderer/loadtimes_extension_bindings.h" |
37 #include "chrome/renderer/net/render_dns_master.h" | 37 #include "chrome/renderer/net/render_dns_master.h" |
38 #include "chrome/renderer/render_process.h" | 38 #include "chrome/renderer/render_process.h" |
39 #include "chrome/renderer/render_view.h" | 39 #include "chrome/renderer/render_view.h" |
40 #include "chrome/renderer/renderer_webkitclient_impl.h" | 40 #include "chrome/renderer/renderer_webkitclient_impl.h" |
41 #include "chrome/renderer/user_script_slave.h" | 41 #include "chrome/renderer/user_script_slave.h" |
42 #include "chrome/renderer/visitedlink_slave.h" | |
43 #include "webkit/api/public/WebCache.h" | 42 #include "webkit/api/public/WebCache.h" |
44 #include "webkit/api/public/WebKit.h" | 43 #include "webkit/api/public/WebKit.h" |
45 #include "webkit/api/public/WebString.h" | 44 #include "webkit/api/public/WebString.h" |
46 #include "webkit/extensions/v8/benchmarking_extension.h" | 45 #include "webkit/extensions/v8/benchmarking_extension.h" |
47 #include "webkit/extensions/v8/gears_extension.h" | 46 #include "webkit/extensions/v8/gears_extension.h" |
48 #include "webkit/extensions/v8/interval_extension.h" | 47 #include "webkit/extensions/v8/interval_extension.h" |
49 #include "webkit/extensions/v8/playback_extension.h" | 48 #include "webkit/extensions/v8/playback_extension.h" |
50 | 49 |
51 #if defined(OS_WIN) | 50 #if defined(OS_WIN) |
52 #include <windows.h> | 51 #include <windows.h> |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
187 if (RenderProcess::InProcessPlugins()) | 186 if (RenderProcess::InProcessPlugins()) |
188 CoUninitialize(); | 187 CoUninitialize(); |
189 #endif | 188 #endif |
190 } | 189 } |
191 | 190 |
192 void RenderThread::OnUpdateVisitedLinks(base::SharedMemoryHandle table) { | 191 void RenderThread::OnUpdateVisitedLinks(base::SharedMemoryHandle table) { |
193 DCHECK(base::SharedMemory::IsHandleValid(table)) << "Bad table handle"; | 192 DCHECK(base::SharedMemory::IsHandleValid(table)) << "Bad table handle"; |
194 visited_link_slave_->Init(table); | 193 visited_link_slave_->Init(table); |
195 } | 194 } |
196 | 195 |
| 196 void RenderThread::OnAddVisitedLinks( |
| 197 const VisitedLinkSlave::Fingerprints& fingerprints) { |
| 198 for (size_t i = 0; i < fingerprints.size(); ++i) |
| 199 WebView::UpdateVisitedLinkState(fingerprints[i]); |
| 200 } |
| 201 |
| 202 void RenderThread::OnResetVisitedLinks() { |
| 203 WebView::ResetVisitedLinkState(); |
| 204 } |
| 205 |
197 void RenderThread::OnUpdateUserScripts( | 206 void RenderThread::OnUpdateUserScripts( |
198 base::SharedMemoryHandle scripts) { | 207 base::SharedMemoryHandle scripts) { |
199 DCHECK(base::SharedMemory::IsHandleValid(scripts)) << "Bad scripts handle"; | 208 DCHECK(base::SharedMemory::IsHandleValid(scripts)) << "Bad scripts handle"; |
200 user_script_slave_->UpdateScripts(scripts); | 209 user_script_slave_->UpdateScripts(scripts); |
201 } | 210 } |
202 | 211 |
203 void RenderThread::OnSetExtensionFunctionNames( | 212 void RenderThread::OnSetExtensionFunctionNames( |
204 const std::vector<std::string>& names) { | 213 const std::vector<std::string>& names) { |
205 ExtensionProcessBindings::SetFunctionNames(names); | 214 ExtensionProcessBindings::SetFunctionNames(names); |
206 } | 215 } |
207 | 216 |
208 void RenderThread::OnControlMessageReceived(const IPC::Message& msg) { | 217 void RenderThread::OnControlMessageReceived(const IPC::Message& msg) { |
209 // App cache messages are handled by a delegate. | 218 // App cache messages are handled by a delegate. |
210 if (app_cache_dispatcher_->OnMessageReceived(msg)) | 219 if (app_cache_dispatcher_->OnMessageReceived(msg)) |
211 return; | 220 return; |
212 | 221 |
213 IPC_BEGIN_MESSAGE_MAP(RenderThread, msg) | 222 IPC_BEGIN_MESSAGE_MAP(RenderThread, msg) |
214 IPC_MESSAGE_HANDLER(ViewMsg_VisitedLink_NewTable, OnUpdateVisitedLinks) | 223 IPC_MESSAGE_HANDLER(ViewMsg_VisitedLink_NewTable, OnUpdateVisitedLinks) |
| 224 IPC_MESSAGE_HANDLER(ViewMsg_VisitedLink_Add, OnAddVisitedLinks) |
| 225 IPC_MESSAGE_HANDLER(ViewMsg_VisitedLink_Reset, OnResetVisitedLinks) |
215 IPC_MESSAGE_HANDLER(ViewMsg_SetNextPageID, OnSetNextPageID) | 226 IPC_MESSAGE_HANDLER(ViewMsg_SetNextPageID, OnSetNextPageID) |
216 // TODO(port): removed from render_messages_internal.h; | 227 // TODO(port): removed from render_messages_internal.h; |
217 // is there a new non-windows message I should add here? | 228 // is there a new non-windows message I should add here? |
218 IPC_MESSAGE_HANDLER(ViewMsg_New, OnCreateNewView) | 229 IPC_MESSAGE_HANDLER(ViewMsg_New, OnCreateNewView) |
219 IPC_MESSAGE_HANDLER(ViewMsg_SetCacheCapacities, OnSetCacheCapacities) | 230 IPC_MESSAGE_HANDLER(ViewMsg_SetCacheCapacities, OnSetCacheCapacities) |
220 IPC_MESSAGE_HANDLER(ViewMsg_GetRendererHistograms, | 231 IPC_MESSAGE_HANDLER(ViewMsg_GetRendererHistograms, |
221 OnGetRendererHistograms) | 232 OnGetRendererHistograms) |
222 IPC_MESSAGE_HANDLER(ViewMsg_GetCacheResourceStats, | 233 IPC_MESSAGE_HANDLER(ViewMsg_GetCacheResourceStats, |
223 OnGetCacheResourceStats) | 234 OnGetCacheResourceStats) |
224 IPC_MESSAGE_HANDLER(ViewMsg_UserScripts_UpdatedScripts, | 235 IPC_MESSAGE_HANDLER(ViewMsg_UserScripts_UpdatedScripts, |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
381 | 392 |
382 void RenderThread::OnPurgePluginListCache() { | 393 void RenderThread::OnPurgePluginListCache() { |
383 // The call below will cause a GetPlugins call with refresh=true, but at this | 394 // The call below will cause a GetPlugins call with refresh=true, but at this |
384 // point we already know that the browser has refreshed its list, so disable | 395 // point we already know that the browser has refreshed its list, so disable |
385 // refresh temporarily to prevent each renderer process causing the list to be | 396 // refresh temporarily to prevent each renderer process causing the list to be |
386 // regenerated. | 397 // regenerated. |
387 plugin_refresh_allowed_ = false; | 398 plugin_refresh_allowed_ = false; |
388 WebKit::resetPluginCache(); | 399 WebKit::resetPluginCache(); |
389 plugin_refresh_allowed_ = true; | 400 plugin_refresh_allowed_ = true; |
390 } | 401 } |
OLD | NEW |