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

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

Issue 2668663002: Purge memory before suspending timer queues when backgrounded. (Closed)
Patch Set: Patch for landing 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 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 base::Lock unicode_font_families_mutex_; 232 base::Lock unicode_font_families_mutex_;
233 std::map<int32_t, blink::WebFallbackFont> unicode_font_families_; 233 std::map<int32_t, blink::WebFallbackFont> unicode_font_families_;
234 #endif 234 #endif
235 }; 235 };
236 #endif // !defined(OS_ANDROID) && !defined(OS_WIN) 236 #endif // !defined(OS_ANDROID) && !defined(OS_WIN)
237 237
238 //------------------------------------------------------------------------------ 238 //------------------------------------------------------------------------------
239 239
240 RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( 240 RendererBlinkPlatformImpl::RendererBlinkPlatformImpl(
241 blink::scheduler::RendererScheduler* renderer_scheduler, 241 blink::scheduler::RendererScheduler* renderer_scheduler,
242 base::WeakPtr<service_manager::InterfaceProvider> remote_interfaces) 242 base::WeakPtr<service_manager::InterfaceProvider> remote_interfaces,
243 content::ChildMemoryCoordinatorImpl* memory_coordinator)
243 : BlinkPlatformImpl(renderer_scheduler->DefaultTaskRunner()), 244 : BlinkPlatformImpl(renderer_scheduler->DefaultTaskRunner()),
244 main_thread_(renderer_scheduler->CreateMainThread()), 245 main_thread_(renderer_scheduler->CreateMainThread()),
245 clipboard_delegate_(new RendererClipboardDelegate), 246 clipboard_delegate_(new RendererClipboardDelegate),
246 clipboard_(new WebClipboardImpl(clipboard_delegate_.get())), 247 clipboard_(new WebClipboardImpl(clipboard_delegate_.get())),
247 sudden_termination_disables_(0), 248 sudden_termination_disables_(0),
248 plugin_refresh_allowed_(true), 249 plugin_refresh_allowed_(true),
249 default_task_runner_(renderer_scheduler->DefaultTaskRunner()), 250 default_task_runner_(renderer_scheduler->DefaultTaskRunner()),
250 loading_task_runner_(renderer_scheduler->LoadingTaskRunner()), 251 loading_task_runner_(renderer_scheduler->LoadingTaskRunner()),
251 web_scrollbar_behavior_(new WebScrollbarBehaviorImpl), 252 web_scrollbar_behavior_(new WebScrollbarBehaviorImpl),
252 renderer_scheduler_(renderer_scheduler), 253 renderer_scheduler_(renderer_scheduler),
253 blink_interface_provider_( 254 blink_interface_provider_(
254 new BlinkInterfaceProviderImpl(remote_interfaces)) { 255 new BlinkInterfaceProviderImpl(remote_interfaces)),
256 memory_coordinator_(memory_coordinator) {
255 #if !defined(OS_ANDROID) && !defined(OS_WIN) 257 #if !defined(OS_ANDROID) && !defined(OS_WIN)
256 if (g_sandbox_enabled && sandboxEnabled()) { 258 if (g_sandbox_enabled && sandboxEnabled()) {
257 sandbox_support_.reset(new RendererBlinkPlatformImpl::SandboxSupport); 259 sandbox_support_.reset(new RendererBlinkPlatformImpl::SandboxSupport);
258 } else { 260 } else {
259 DVLOG(1) << "Disabling sandbox support for testing."; 261 DVLOG(1) << "Disabling sandbox support for testing.";
260 } 262 }
261 #endif 263 #endif
262 264
263 // RenderThread may not exist in some tests. 265 // RenderThread may not exist in some tests.
264 if (RenderThreadImpl::current()) { 266 if (RenderThreadImpl::current()) {
(...skipping 1017 matching lines...) Expand 10 before | Expand all | Expand 10 after
1282 RendererBlinkPlatformImpl::trialTokenValidator() { 1284 RendererBlinkPlatformImpl::trialTokenValidator() {
1283 return &trial_token_validator_; 1285 return &trial_token_validator_;
1284 } 1286 }
1285 1287
1286 void RendererBlinkPlatformImpl::workerContextCreated( 1288 void RendererBlinkPlatformImpl::workerContextCreated(
1287 const v8::Local<v8::Context>& worker) { 1289 const v8::Local<v8::Context>& worker) {
1288 GetContentClient()->renderer()->DidInitializeWorkerContextOnWorkerThread( 1290 GetContentClient()->renderer()->DidInitializeWorkerContextOnWorkerThread(
1289 worker); 1291 worker);
1290 } 1292 }
1291 1293
1294 //------------------------------------------------------------------------------
1295 void RendererBlinkPlatformImpl::requestPurgeMemory() {
1296 DCHECK(memory_coordinator_);
1297 memory_coordinator_->PurgeMemory();
1298 }
1299
1292 } // namespace content 1300 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698