| 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 <vector> | 10 #include <vector> |
| (...skipping 388 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 399 base::FilePath media_path; | 399 base::FilePath media_path; |
| 400 PathService::Get(DIR_MEDIA_LIBS, &media_path); | 400 PathService::Get(DIR_MEDIA_LIBS, &media_path); |
| 401 if (!media_path.empty()) | 401 if (!media_path.empty()) |
| 402 media::InitializeMediaLibrary(media_path); | 402 media::InitializeMediaLibrary(media_path); |
| 403 | 403 |
| 404 memory_pressure_listener_.reset(new base::MemoryPressureListener( | 404 memory_pressure_listener_.reset(new base::MemoryPressureListener( |
| 405 base::Bind(&RenderThreadImpl::OnMemoryPressure, base::Unretained(this)))); | 405 base::Bind(&RenderThreadImpl::OnMemoryPressure, base::Unretained(this)))); |
| 406 | 406 |
| 407 renderer_process_id_ = base::kNullProcessId; | 407 renderer_process_id_ = base::kNullProcessId; |
| 408 | 408 |
| 409 std::vector<base::DiscardableMemoryType> supported_types; |
| 410 base::DiscardableMemory::GetSupportedTypes(&supported_types); |
| 411 DCHECK(!supported_types.empty()); |
| 412 |
| 413 // The default preferred type is always the first one in list. |
| 414 base::DiscardableMemoryType type = supported_types[0]; |
| 415 |
| 416 if (command_line.HasSwitch(switches::kUseDiscardableMemory)) { |
| 417 std::string requested_type_name = command_line.GetSwitchValueASCII( |
| 418 switches::kUseDiscardableMemory); |
| 419 base::DiscardableMemoryType requested_type = |
| 420 base::DiscardableMemory::GetNamedType(requested_type_name); |
| 421 if (std::find(supported_types.begin(), |
| 422 supported_types.end(), |
| 423 requested_type) != supported_types.end()) { |
| 424 type = requested_type; |
| 425 } else { |
| 426 LOG(ERROR) << "Requested discardable memory type is not supported."; |
| 427 } |
| 428 } |
| 429 |
| 430 base::DiscardableMemory::SetPreferredType(type); |
| 431 |
| 409 // AllocateGpuMemoryBuffer must be used exclusively on one thread but | 432 // AllocateGpuMemoryBuffer must be used exclusively on one thread but |
| 410 // it doesn't have to be the same thread RenderThreadImpl is created on. | 433 // it doesn't have to be the same thread RenderThreadImpl is created on. |
| 411 allocate_gpu_memory_buffer_thread_checker_.DetachFromThread(); | 434 allocate_gpu_memory_buffer_thread_checker_.DetachFromThread(); |
| 412 | 435 |
| 413 TRACE_EVENT_END_ETW("RenderThreadImpl::Init", 0, ""); | 436 TRACE_EVENT_END_ETW("RenderThreadImpl::Init", 0, ""); |
| 414 } | 437 } |
| 415 | 438 |
| 416 RenderThreadImpl::~RenderThreadImpl() { | 439 RenderThreadImpl::~RenderThreadImpl() { |
| 417 } | 440 } |
| 418 | 441 |
| (...skipping 935 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1354 if (!gamepad_shared_memory_reader_) | 1377 if (!gamepad_shared_memory_reader_) |
| 1355 gamepad_shared_memory_reader_.reset(new GamepadSharedMemoryReader); | 1378 gamepad_shared_memory_reader_.reset(new GamepadSharedMemoryReader); |
| 1356 gamepad_shared_memory_reader_->SampleGamepads(*data); | 1379 gamepad_shared_memory_reader_->SampleGamepads(*data); |
| 1357 } | 1380 } |
| 1358 | 1381 |
| 1359 base::ProcessId RenderThreadImpl::renderer_process_id() const { | 1382 base::ProcessId RenderThreadImpl::renderer_process_id() const { |
| 1360 return renderer_process_id_; | 1383 return renderer_process_id_; |
| 1361 } | 1384 } |
| 1362 | 1385 |
| 1363 } // namespace content | 1386 } // namespace content |
| OLD | NEW |