| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "content/browser/memory/memory_coordinator_impl.h" | 5 #include "content/browser/memory/memory_coordinator_impl.h" |
| 6 | 6 |
| 7 #include "base/threading/thread_task_runner_handle.h" | 7 #include "base/threading/thread_task_runner_handle.h" |
| 8 #include "content/browser/memory/memory_monitor.h" | 8 #include "content/browser/memory/memory_monitor.h" |
| 9 #include "content/public/browser/notification_service.h" | 9 #include "content/public/browser/notification_service.h" |
| 10 #include "content/public/browser/notification_types.h" | 10 #include "content/public/browser/notification_types.h" |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 107 | 107 |
| 108 void MemoryCoordinatorImpl::OnChildAdded(int render_process_id) { | 108 void MemoryCoordinatorImpl::OnChildAdded(int render_process_id) { |
| 109 // Populate the global state as an initial state of a newly created process. | 109 // Populate the global state as an initial state of a newly created process. |
| 110 SetMemoryState(render_process_id, ToMojomMemoryState(current_state_)); | 110 SetMemoryState(render_process_id, ToMojomMemoryState(current_state_)); |
| 111 } | 111 } |
| 112 | 112 |
| 113 base::MemoryState MemoryCoordinatorImpl::GetCurrentMemoryState() const { | 113 base::MemoryState MemoryCoordinatorImpl::GetCurrentMemoryState() const { |
| 114 return current_state_; | 114 return current_state_; |
| 115 } | 115 } |
| 116 | 116 |
| 117 void MemoryCoordinatorImpl::SetCurrentMemoryStateForTesting( |
| 118 base::MemoryState memory_state) { |
| 119 // This changes the current state temporariy for testing. The state will be |
| 120 // updated later by the task posted at ScheduleUpdateState. |
| 121 base::MemoryState prev_state = current_state_; |
| 122 current_state_ = memory_state; |
| 123 if (prev_state != current_state_) { |
| 124 NotifyStateToClients(); |
| 125 NotifyStateToChildren(); |
| 126 } |
| 127 } |
| 128 |
| 117 void MemoryCoordinatorImpl::Observe(int type, | 129 void MemoryCoordinatorImpl::Observe(int type, |
| 118 const NotificationSource& source, | 130 const NotificationSource& source, |
| 119 const NotificationDetails& details) { | 131 const NotificationDetails& details) { |
| 120 DCHECK(type == NOTIFICATION_RENDER_WIDGET_VISIBILITY_CHANGED); | 132 DCHECK(type == NOTIFICATION_RENDER_WIDGET_VISIBILITY_CHANGED); |
| 121 RenderWidgetHost* render_widget_host = Source<RenderWidgetHost>(source).ptr(); | 133 RenderWidgetHost* render_widget_host = Source<RenderWidgetHost>(source).ptr(); |
| 122 RenderProcessHost* process = render_widget_host->GetProcess(); | 134 RenderProcessHost* process = render_widget_host->GetProcess(); |
| 123 if (!process) | 135 if (!process) |
| 124 return; | 136 return; |
| 125 auto iter = children().find(process->GetID()); | 137 auto iter = children().find(process->GetID()); |
| 126 if (iter == children().end()) | 138 if (iter == children().end()) |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 209 } | 221 } |
| 210 | 222 |
| 211 bool MemoryCoordinatorImpl::ValidateParameters() { | 223 bool MemoryCoordinatorImpl::ValidateParameters() { |
| 212 return (new_renderers_until_throttled_ > new_renderers_until_suspended_) && | 224 return (new_renderers_until_throttled_ > new_renderers_until_suspended_) && |
| 213 (new_renderers_back_to_normal_ > new_renderers_back_to_throttled_) && | 225 (new_renderers_back_to_normal_ > new_renderers_back_to_throttled_) && |
| 214 (new_renderers_back_to_normal_ > new_renderers_until_throttled_) && | 226 (new_renderers_back_to_normal_ > new_renderers_until_throttled_) && |
| 215 (new_renderers_back_to_throttled_ > new_renderers_until_suspended_); | 227 (new_renderers_back_to_throttled_ > new_renderers_until_suspended_); |
| 216 } | 228 } |
| 217 | 229 |
| 218 } // namespace content | 230 } // namespace content |
| OLD | NEW |