| 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 // 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 "content/browser/renderer_host/render_process_host_impl.h" | 8 #include "content/browser/renderer_host/render_process_host_impl.h" |
| 9 | 9 |
| 10 #include <algorithm> | 10 #include <algorithm> |
| (...skipping 904 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 915 void RenderProcessHostImpl::ResumeResponseDeferredAtStart( | 915 void RenderProcessHostImpl::ResumeResponseDeferredAtStart( |
| 916 const GlobalRequestID& request_id) { | 916 const GlobalRequestID& request_id) { |
| 917 widget_helper_->ResumeResponseDeferredAtStart(request_id); | 917 widget_helper_->ResumeResponseDeferredAtStart(request_id); |
| 918 } | 918 } |
| 919 | 919 |
| 920 void RenderProcessHostImpl::NotifyTimezoneChange() { | 920 void RenderProcessHostImpl::NotifyTimezoneChange() { |
| 921 Send(new ViewMsg_TimezoneChange()); | 921 Send(new ViewMsg_TimezoneChange()); |
| 922 } | 922 } |
| 923 | 923 |
| 924 ServiceRegistry* RenderProcessHostImpl::GetServiceRegistry() { | 924 ServiceRegistry* RenderProcessHostImpl::GetServiceRegistry() { |
| 925 if (!mojo_application_host_) | 925 DCHECK(mojo_application_host_); |
| 926 return NULL; | |
| 927 return mojo_application_host_->service_registry(); | 926 return mojo_application_host_->service_registry(); |
| 928 } | 927 } |
| 929 | 928 |
| 930 void RenderProcessHostImpl::AddRoute( | 929 void RenderProcessHostImpl::AddRoute( |
| 931 int32 routing_id, | 930 int32 routing_id, |
| 932 IPC::Listener* listener) { | 931 IPC::Listener* listener) { |
| 933 listeners_.AddWithID(listener, routing_id); | 932 listeners_.AddWithID(listener, routing_id); |
| 934 } | 933 } |
| 935 | 934 |
| 936 void RenderProcessHostImpl::RemoveRoute(int32 routing_id) { | 935 void RenderProcessHostImpl::RemoveRoute(int32 routing_id) { |
| (...skipping 977 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1914 within_process_died_observer_ = true; | 1913 within_process_died_observer_ = true; |
| 1915 NotificationService::current()->Notify( | 1914 NotificationService::current()->Notify( |
| 1916 NOTIFICATION_RENDERER_PROCESS_CLOSED, | 1915 NOTIFICATION_RENDERER_PROCESS_CLOSED, |
| 1917 Source<RenderProcessHost>(this), | 1916 Source<RenderProcessHost>(this), |
| 1918 Details<RendererClosedDetails>(&details)); | 1917 Details<RendererClosedDetails>(&details)); |
| 1919 FOR_EACH_OBSERVER(RenderProcessHostObserver, | 1918 FOR_EACH_OBSERVER(RenderProcessHostObserver, |
| 1920 observers_, | 1919 observers_, |
| 1921 RenderProcessExited(this, GetHandle(), status, exit_code)); | 1920 RenderProcessExited(this, GetHandle(), status, exit_code)); |
| 1922 within_process_died_observer_ = false; | 1921 within_process_died_observer_ = false; |
| 1923 | 1922 |
| 1923 mojo_application_host_->WillDestroySoon(); |
| 1924 |
| 1924 child_process_launcher_.reset(); | 1925 child_process_launcher_.reset(); |
| 1925 channel_.reset(); | 1926 channel_.reset(); |
| 1926 gpu_message_filter_ = NULL; | 1927 gpu_message_filter_ = NULL; |
| 1927 message_port_message_filter_ = NULL; | 1928 message_port_message_filter_ = NULL; |
| 1928 RemoveUserData(kSessionStorageHolderKey); | 1929 RemoveUserData(kSessionStorageHolderKey); |
| 1929 | 1930 |
| 1930 IDMap<IPC::Listener>::iterator iter(&listeners_); | 1931 IDMap<IPC::Listener>::iterator iter(&listeners_); |
| 1931 while (!iter.IsAtEnd()) { | 1932 while (!iter.IsAtEnd()) { |
| 1932 iter.GetCurrentValue()->OnMessageReceived( | 1933 iter.GetCurrentValue()->OnMessageReceived( |
| 1933 ViewHostMsg_RenderProcessGone(iter.GetCurrentKey(), | 1934 ViewHostMsg_RenderProcessGone(iter.GetCurrentKey(), |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2016 if (pending_views_ || num_active_views > 0 || run_renderer_in_process()) | 2017 if (pending_views_ || num_active_views > 0 || run_renderer_in_process()) |
| 2017 return; | 2018 return; |
| 2018 | 2019 |
| 2019 // Notify any contents that might have swapped out renderers from this | 2020 // Notify any contents that might have swapped out renderers from this |
| 2020 // process. They should not attempt to swap them back in. | 2021 // process. They should not attempt to swap them back in. |
| 2021 NotificationService::current()->Notify( | 2022 NotificationService::current()->Notify( |
| 2022 NOTIFICATION_RENDERER_PROCESS_CLOSING, | 2023 NOTIFICATION_RENDERER_PROCESS_CLOSING, |
| 2023 Source<RenderProcessHost>(this), | 2024 Source<RenderProcessHost>(this), |
| 2024 NotificationService::NoDetails()); | 2025 NotificationService::NoDetails()); |
| 2025 | 2026 |
| 2027 mojo_application_host_->WillDestroySoon(); |
| 2028 |
| 2026 Send(new ChildProcessMsg_Shutdown()); | 2029 Send(new ChildProcessMsg_Shutdown()); |
| 2027 } | 2030 } |
| 2028 | 2031 |
| 2029 void RenderProcessHostImpl::SuddenTerminationChanged(bool enabled) { | 2032 void RenderProcessHostImpl::SuddenTerminationChanged(bool enabled) { |
| 2030 SetSuddenTerminationAllowed(enabled); | 2033 SetSuddenTerminationAllowed(enabled); |
| 2031 } | 2034 } |
| 2032 | 2035 |
| 2033 void RenderProcessHostImpl::OnDumpHandlesDone() { | 2036 void RenderProcessHostImpl::OnDumpHandlesDone() { |
| 2034 Cleanup(); | 2037 Cleanup(); |
| 2035 } | 2038 } |
| (...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2350 } | 2353 } |
| 2351 | 2354 |
| 2352 void RenderProcessHostImpl::OnDeletedGpuMemoryBuffer( | 2355 void RenderProcessHostImpl::OnDeletedGpuMemoryBuffer( |
| 2353 gfx::GpuMemoryBufferType type, | 2356 gfx::GpuMemoryBufferType type, |
| 2354 const gfx::GpuMemoryBufferId& id) { | 2357 const gfx::GpuMemoryBufferId& id) { |
| 2355 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 2358 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 2356 GpuMemoryBufferImpl::DeletedByChildProcess(type, id, GetHandle()); | 2359 GpuMemoryBufferImpl::DeletedByChildProcess(type, id, GetHandle()); |
| 2357 } | 2360 } |
| 2358 | 2361 |
| 2359 } // namespace content | 2362 } // namespace content |
| OLD | NEW |