| 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 #include "content/renderer/render_thread_impl.h" | 5 #include "content/renderer/render_thread_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <limits> | 8 #include <limits> |
| 9 #include <map> | 9 #include <map> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 2117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2128 | 2128 |
| 2129 void RenderThreadImpl::WidgetRestored() { | 2129 void RenderThreadImpl::WidgetRestored() { |
| 2130 bool renderer_was_hidden = RendererIsHidden(); | 2130 bool renderer_was_hidden = RendererIsHidden(); |
| 2131 DCHECK_GT(hidden_widget_count_, 0); | 2131 DCHECK_GT(hidden_widget_count_, 0); |
| 2132 hidden_widget_count_--; | 2132 hidden_widget_count_--; |
| 2133 if (renderer_was_hidden) | 2133 if (renderer_was_hidden) |
| 2134 OnRendererVisible(); | 2134 OnRendererVisible(); |
| 2135 } | 2135 } |
| 2136 | 2136 |
| 2137 void RenderThreadImpl::OnRendererHidden() { | 2137 void RenderThreadImpl::OnRendererHidden() { |
| 2138 blink::mainThreadIsolate()->IsolateInBackgroundNotification(); |
| 2138 // TODO(rmcilroy): Remove IdleHandler and replace it with an IdleTask | 2139 // TODO(rmcilroy): Remove IdleHandler and replace it with an IdleTask |
| 2139 // scheduled by the RendererScheduler - http://crbug.com/469210. | 2140 // scheduled by the RendererScheduler - http://crbug.com/469210. |
| 2140 if (!GetContentClient()->renderer()->RunIdleHandlerWhenWidgetsHidden()) | 2141 if (!GetContentClient()->renderer()->RunIdleHandlerWhenWidgetsHidden()) |
| 2141 return; | 2142 return; |
| 2142 ScheduleIdleHandler(kInitialIdleHandlerDelayMs); | 2143 ScheduleIdleHandler(kInitialIdleHandlerDelayMs); |
| 2143 blink::mainThreadIsolate()->IsolateInBackgroundNotification(); | |
| 2144 } | 2144 } |
| 2145 | 2145 |
| 2146 void RenderThreadImpl::OnRendererVisible() { | 2146 void RenderThreadImpl::OnRendererVisible() { |
| 2147 blink::mainThreadIsolate()->IsolateInForegroundNotification(); |
| 2147 if (!GetContentClient()->renderer()->RunIdleHandlerWhenWidgetsHidden()) | 2148 if (!GetContentClient()->renderer()->RunIdleHandlerWhenWidgetsHidden()) |
| 2148 return; | 2149 return; |
| 2149 ScheduleIdleHandler(kLongIdleHandlerDelayMs); | 2150 ScheduleIdleHandler(kLongIdleHandlerDelayMs); |
| 2150 blink::mainThreadIsolate()->IsolateInForegroundNotification(); | |
| 2151 } | 2151 } |
| 2152 | 2152 |
| 2153 void RenderThreadImpl::ReleaseFreeMemory() { | 2153 void RenderThreadImpl::ReleaseFreeMemory() { |
| 2154 base::allocator::ReleaseFreeMemory(); | 2154 base::allocator::ReleaseFreeMemory(); |
| 2155 discardable_shared_memory_manager()->ReleaseFreeMemory(); | 2155 discardable_shared_memory_manager()->ReleaseFreeMemory(); |
| 2156 | 2156 |
| 2157 if (blink_platform_impl_) | 2157 if (blink_platform_impl_) |
| 2158 blink::decommitFreeableMemory(); | 2158 blink::decommitFreeableMemory(); |
| 2159 } | 2159 } |
| 2160 | 2160 |
| (...skipping 17 matching lines...) Expand all Loading... |
| 2178 } | 2178 } |
| 2179 | 2179 |
| 2180 void RenderThreadImpl::PendingRenderFrameConnect::OnConnectionError() { | 2180 void RenderThreadImpl::PendingRenderFrameConnect::OnConnectionError() { |
| 2181 size_t erased = | 2181 size_t erased = |
| 2182 RenderThreadImpl::current()->pending_render_frame_connects_.erase( | 2182 RenderThreadImpl::current()->pending_render_frame_connects_.erase( |
| 2183 routing_id_); | 2183 routing_id_); |
| 2184 DCHECK_EQ(1u, erased); | 2184 DCHECK_EQ(1u, erased); |
| 2185 } | 2185 } |
| 2186 | 2186 |
| 2187 } // namespace content | 2187 } // namespace content |
| OLD | NEW |