| 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 // Represents the browser side of the browser <--> renderer communication | 5 // Represents the browser side of the browser <--> renderer communication |
| 6 // channel. There will be one RenderProcessHost per renderer process. | 6 // channel. There will be one RenderProcessHost per renderer process. |
| 7 | 7 |
| 8 #include "chrome/browser/renderer_host/browser_render_process_host.h" | 8 #include "chrome/browser/renderer_host/browser_render_process_host.h" |
| 9 | 9 |
| 10 #include <algorithm> | 10 #include <algorithm> |
| (...skipping 566 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 577 void BrowserRenderProcessHost::InitExtensions() { | 577 void BrowserRenderProcessHost::InitExtensions() { |
| 578 // TODO(aa): Should only bother sending these function names if this is an | 578 // TODO(aa): Should only bother sending these function names if this is an |
| 579 // extension process. | 579 // extension process. |
| 580 std::vector<std::string> function_names; | 580 std::vector<std::string> function_names; |
| 581 ExtensionFunctionDispatcher::GetAllFunctionNames(&function_names); | 581 ExtensionFunctionDispatcher::GetAllFunctionNames(&function_names); |
| 582 Send(new ViewMsg_Extension_SetFunctionNames(function_names)); | 582 Send(new ViewMsg_Extension_SetFunctionNames(function_names)); |
| 583 } | 583 } |
| 584 | 584 |
| 585 void BrowserRenderProcessHost::SendUserScriptsUpdate( | 585 void BrowserRenderProcessHost::SendUserScriptsUpdate( |
| 586 base::SharedMemory *shared_memory) { | 586 base::SharedMemory *shared_memory) { |
| 587 // Don't send user scripts to extension processes. We currently don't allow |
| 588 // user scripts to run in extensions, so it would be pointless. It would also |
| 589 // mess up the crash reporting, which sends a different set of "active" |
| 590 // extensions depending on whether the process is an extension or renderer |
| 591 // process. |
| 592 if (extension_process_) |
| 593 return; |
| 594 |
| 587 // Process is being started asynchronously. We'll end up calling | 595 // Process is being started asynchronously. We'll end up calling |
| 588 // InitUserScripts when it's created which will call this again. | 596 // InitUserScripts when it's created which will call this again. |
| 589 if (child_process_.get() && child_process_->IsStarting()) | 597 if (child_process_.get() && child_process_->IsStarting()) |
| 590 return; | 598 return; |
| 591 | 599 |
| 592 base::SharedMemoryHandle handle_for_process; | 600 base::SharedMemoryHandle handle_for_process; |
| 593 if (!shared_memory->ShareToProcess(GetHandle(), &handle_for_process)) { | 601 if (!shared_memory->ShareToProcess(GetHandle(), &handle_for_process)) { |
| 594 // This can legitimately fail if the renderer asserts at startup. | 602 // This can legitimately fail if the renderer asserts at startup. |
| 595 return; | 603 return; |
| 596 } | 604 } |
| (...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 912 profile()->GetExtensionMessageService()->RemoveEventListener( | 920 profile()->GetExtensionMessageService()->RemoveEventListener( |
| 913 event_name, id()); | 921 event_name, id()); |
| 914 } | 922 } |
| 915 } | 923 } |
| 916 | 924 |
| 917 void BrowserRenderProcessHost::OnExtensionCloseChannel(int port_id) { | 925 void BrowserRenderProcessHost::OnExtensionCloseChannel(int port_id) { |
| 918 if (profile()->GetExtensionMessageService()) { | 926 if (profile()->GetExtensionMessageService()) { |
| 919 profile()->GetExtensionMessageService()->CloseChannel(port_id); | 927 profile()->GetExtensionMessageService()->CloseChannel(port_id); |
| 920 } | 928 } |
| 921 } | 929 } |
| OLD | NEW |