Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(192)

Side by Side Diff: content/renderer/renderer_blink_platform_impl.cc

Issue 2668663002: Purge memory before suspending timer queues when backgrounded. (Closed)
Patch Set: Add requestPurgeMemory to Platform Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/renderer_blink_platform_impl.h" 5 #include "content/renderer/renderer_blink_platform_impl.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after
230 base::Lock unicode_font_families_mutex_; 230 base::Lock unicode_font_families_mutex_;
231 std::map<int32_t, blink::WebFallbackFont> unicode_font_families_; 231 std::map<int32_t, blink::WebFallbackFont> unicode_font_families_;
232 #endif 232 #endif
233 }; 233 };
234 #endif // !defined(OS_ANDROID) && !defined(OS_WIN) 234 #endif // !defined(OS_ANDROID) && !defined(OS_WIN)
235 235
236 //------------------------------------------------------------------------------ 236 //------------------------------------------------------------------------------
237 237
238 RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( 238 RendererBlinkPlatformImpl::RendererBlinkPlatformImpl(
239 blink::scheduler::RendererScheduler* renderer_scheduler, 239 blink::scheduler::RendererScheduler* renderer_scheduler,
240 base::WeakPtr<service_manager::InterfaceProvider> remote_interfaces) 240 base::WeakPtr<service_manager::InterfaceProvider> remote_interfaces,
241 content::ChildMemoryCoordinatorImpl* memory_coordinator)
241 : BlinkPlatformImpl(renderer_scheduler->DefaultTaskRunner()), 242 : BlinkPlatformImpl(renderer_scheduler->DefaultTaskRunner()),
242 main_thread_(renderer_scheduler->CreateMainThread()), 243 main_thread_(renderer_scheduler->CreateMainThread()),
243 clipboard_delegate_(new RendererClipboardDelegate), 244 clipboard_delegate_(new RendererClipboardDelegate),
244 clipboard_(new WebClipboardImpl(clipboard_delegate_.get())), 245 clipboard_(new WebClipboardImpl(clipboard_delegate_.get())),
245 sudden_termination_disables_(0), 246 sudden_termination_disables_(0),
246 plugin_refresh_allowed_(true), 247 plugin_refresh_allowed_(true),
247 default_task_runner_(renderer_scheduler->DefaultTaskRunner()), 248 default_task_runner_(renderer_scheduler->DefaultTaskRunner()),
248 loading_task_runner_(renderer_scheduler->LoadingTaskRunner()), 249 loading_task_runner_(renderer_scheduler->LoadingTaskRunner()),
249 web_scrollbar_behavior_(new WebScrollbarBehaviorImpl), 250 web_scrollbar_behavior_(new WebScrollbarBehaviorImpl),
250 renderer_scheduler_(renderer_scheduler), 251 renderer_scheduler_(renderer_scheduler),
251 blink_interface_provider_( 252 blink_interface_provider_(
252 new BlinkInterfaceProviderImpl(remote_interfaces)) { 253 new BlinkInterfaceProviderImpl(remote_interfaces)),
254 memory_coordinator_(memory_coordinator) {
253 #if !defined(OS_ANDROID) && !defined(OS_WIN) 255 #if !defined(OS_ANDROID) && !defined(OS_WIN)
254 if (g_sandbox_enabled && sandboxEnabled()) { 256 if (g_sandbox_enabled && sandboxEnabled()) {
255 sandbox_support_.reset(new RendererBlinkPlatformImpl::SandboxSupport); 257 sandbox_support_.reset(new RendererBlinkPlatformImpl::SandboxSupport);
256 } else { 258 } else {
257 DVLOG(1) << "Disabling sandbox support for testing."; 259 DVLOG(1) << "Disabling sandbox support for testing.";
258 } 260 }
259 #endif 261 #endif
260 262
261 // RenderThread may not exist in some tests. 263 // RenderThread may not exist in some tests.
262 if (RenderThreadImpl::current()) { 264 if (RenderThreadImpl::current()) {
(...skipping 1024 matching lines...) Expand 10 before | Expand all | Expand 10 after
1287 RendererBlinkPlatformImpl::trialTokenValidator() { 1289 RendererBlinkPlatformImpl::trialTokenValidator() {
1288 return &trial_token_validator_; 1290 return &trial_token_validator_;
1289 } 1291 }
1290 1292
1291 void RendererBlinkPlatformImpl::workerContextCreated( 1293 void RendererBlinkPlatformImpl::workerContextCreated(
1292 const v8::Local<v8::Context>& worker) { 1294 const v8::Local<v8::Context>& worker) {
1293 GetContentClient()->renderer()->DidInitializeWorkerContextOnWorkerThread( 1295 GetContentClient()->renderer()->DidInitializeWorkerContextOnWorkerThread(
1294 worker); 1296 worker);
1295 } 1297 }
1296 1298
1299 //------------------------------------------------------------------------------
1300 void RendererBlinkPlatformImpl::requestPurgeMemory() {
bashi 2017/02/09 07:34:57 nit: DCHECK(memory_coordinator_) ?
tasak 2017/02/14 07:28:10 Done.
1301 memory_coordinator_->PurgeMemory();
1302 }
1303
1297 } // namespace content 1304 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698