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

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

Issue 23694031: Fix race conditions in window snapshot code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed Nit Created 7 years, 2 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 | Annotate | Revision Log
« no previous file with comments | « content/renderer/render_thread_impl.h ('k') | content/renderer/render_view_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/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 <vector> 10 #include <vector>
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after
391 // Note that under Linux, the media library will normally already have 391 // Note that under Linux, the media library will normally already have
392 // been initialized by the Zygote before this instance became a Renderer. 392 // been initialized by the Zygote before this instance became a Renderer.
393 base::FilePath media_path; 393 base::FilePath media_path;
394 PathService::Get(DIR_MEDIA_LIBS, &media_path); 394 PathService::Get(DIR_MEDIA_LIBS, &media_path);
395 if (!media_path.empty()) 395 if (!media_path.empty())
396 media::InitializeMediaLibrary(media_path); 396 media::InitializeMediaLibrary(media_path);
397 397
398 memory_pressure_listener_.reset(new base::MemoryPressureListener( 398 memory_pressure_listener_.reset(new base::MemoryPressureListener(
399 base::Bind(&RenderThreadImpl::OnMemoryPressure, base::Unretained(this)))); 399 base::Bind(&RenderThreadImpl::OnMemoryPressure, base::Unretained(this))));
400 400
401 renderer_process_id_ = base::kNullProcessId;
402
401 TRACE_EVENT_END_ETW("RenderThreadImpl::Init", 0, ""); 403 TRACE_EVENT_END_ETW("RenderThreadImpl::Init", 0, "");
402 } 404 }
403 405
404 RenderThreadImpl::~RenderThreadImpl() { 406 RenderThreadImpl::~RenderThreadImpl() {
405 } 407 }
406 408
407 void RenderThreadImpl::Shutdown() { 409 void RenderThreadImpl::Shutdown() {
408 FOR_EACH_OBSERVER( 410 FOR_EACH_OBSERVER(
409 RenderProcessObserver, observers_, OnRenderProcessShutdown()); 411 RenderProcessObserver, observers_, OnRenderProcessShutdown());
410 412
(...skipping 676 matching lines...) Expand 10 before | Expand all | Expand 10 after
1087 bool handled = true; 1089 bool handled = true;
1088 IPC_BEGIN_MESSAGE_MAP(RenderThreadImpl, msg) 1090 IPC_BEGIN_MESSAGE_MAP(RenderThreadImpl, msg)
1089 IPC_MESSAGE_HANDLER(ViewMsg_SetZoomLevelForCurrentURL, 1091 IPC_MESSAGE_HANDLER(ViewMsg_SetZoomLevelForCurrentURL,
1090 OnSetZoomLevelForCurrentURL) 1092 OnSetZoomLevelForCurrentURL)
1091 // TODO(port): removed from render_messages_internal.h; 1093 // TODO(port): removed from render_messages_internal.h;
1092 // is there a new non-windows message I should add here? 1094 // is there a new non-windows message I should add here?
1093 IPC_MESSAGE_HANDLER(ViewMsg_New, OnCreateNewView) 1095 IPC_MESSAGE_HANDLER(ViewMsg_New, OnCreateNewView)
1094 IPC_MESSAGE_HANDLER(ViewMsg_PurgePluginListCache, OnPurgePluginListCache) 1096 IPC_MESSAGE_HANDLER(ViewMsg_PurgePluginListCache, OnPurgePluginListCache)
1095 IPC_MESSAGE_HANDLER(ViewMsg_NetworkStateChanged, OnNetworkStateChanged) 1097 IPC_MESSAGE_HANDLER(ViewMsg_NetworkStateChanged, OnNetworkStateChanged)
1096 IPC_MESSAGE_HANDLER(ViewMsg_TempCrashWithData, OnTempCrashWithData) 1098 IPC_MESSAGE_HANDLER(ViewMsg_TempCrashWithData, OnTempCrashWithData)
1099 IPC_MESSAGE_HANDLER(ViewMsg_SetRendererProcessID, OnSetRendererProcessID)
1097 IPC_MESSAGE_HANDLER(ViewMsg_SetWebKitSharedTimersSuspended, 1100 IPC_MESSAGE_HANDLER(ViewMsg_SetWebKitSharedTimersSuspended,
1098 OnSetWebKitSharedTimersSuspended) 1101 OnSetWebKitSharedTimersSuspended)
1099 IPC_MESSAGE_UNHANDLED(handled = false) 1102 IPC_MESSAGE_UNHANDLED(handled = false)
1100 IPC_END_MESSAGE_MAP() 1103 IPC_END_MESSAGE_MAP()
1101 return handled; 1104 return handled;
1102 } 1105 }
1103 1106
1104 void RenderThreadImpl::OnCreateNewView(const ViewMsg_New_Params& params) { 1107 void RenderThreadImpl::OnCreateNewView(const ViewMsg_New_Params& params) {
1105 EnsureWebKitInitialized(); 1108 EnsureWebKitInitialized();
1106 // When bringing in render_view, also bring in webkit's glue and jsbindings. 1109 // When bringing in render_view, also bring in webkit's glue and jsbindings.
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
1224 void RenderThreadImpl::OnNetworkStateChanged(bool online) { 1227 void RenderThreadImpl::OnNetworkStateChanged(bool online) {
1225 EnsureWebKitInitialized(); 1228 EnsureWebKitInitialized();
1226 WebNetworkStateNotifier::setOnLine(online); 1229 WebNetworkStateNotifier::setOnLine(online);
1227 } 1230 }
1228 1231
1229 void RenderThreadImpl::OnTempCrashWithData(const GURL& data) { 1232 void RenderThreadImpl::OnTempCrashWithData(const GURL& data) {
1230 GetContentClient()->SetActiveURL(data); 1233 GetContentClient()->SetActiveURL(data);
1231 CHECK(false); 1234 CHECK(false);
1232 } 1235 }
1233 1236
1237 void RenderThreadImpl::OnSetRendererProcessID(base::ProcessId process_id) {
1238 renderer_process_id_ = process_id;
1239 }
1240
1234 void RenderThreadImpl::OnSetWebKitSharedTimersSuspended(bool suspend) { 1241 void RenderThreadImpl::OnSetWebKitSharedTimersSuspended(bool suspend) {
1235 ToggleWebKitSharedTimer(suspend); 1242 ToggleWebKitSharedTimer(suspend);
1236 } 1243 }
1237 1244
1238 void RenderThreadImpl::OnMemoryPressure( 1245 void RenderThreadImpl::OnMemoryPressure(
1239 base::MemoryPressureListener::MemoryPressureLevel memory_pressure_level) { 1246 base::MemoryPressureListener::MemoryPressureLevel memory_pressure_level) {
1240 base::allocator::ReleaseFreeMemory(); 1247 base::allocator::ReleaseFreeMemory();
1241 1248
1242 if (memory_pressure_level == 1249 if (memory_pressure_level ==
1243 base::MemoryPressureListener::MEMORY_PRESSURE_CRITICAL) { 1250 base::MemoryPressureListener::MEMORY_PRESSURE_CRITICAL) {
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
1288 new_touchscreen); 1295 new_touchscreen);
1289 1296
1290 } 1297 }
1291 1298
1292 void RenderThreadImpl::SampleGamepads(WebKit::WebGamepads* data) { 1299 void RenderThreadImpl::SampleGamepads(WebKit::WebGamepads* data) {
1293 if (!gamepad_shared_memory_reader_) 1300 if (!gamepad_shared_memory_reader_)
1294 gamepad_shared_memory_reader_.reset(new GamepadSharedMemoryReader); 1301 gamepad_shared_memory_reader_.reset(new GamepadSharedMemoryReader);
1295 gamepad_shared_memory_reader_->SampleGamepads(*data); 1302 gamepad_shared_memory_reader_->SampleGamepads(*data);
1296 } 1303 }
1297 1304
1305 base::ProcessId RenderThreadImpl::renderer_process_id() const {
1306 return renderer_process_id_;
1307 }
1308
1298 } // namespace content 1309 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/render_thread_impl.h ('k') | content/renderer/render_view_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698