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

Side by Side Diff: content/browser/gpu/gpu_data_manager_impl_private.cc

Issue 456513002: Add base:: qualification to some CommandLine references in content. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: imerge Created 6 years, 4 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
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/browser/gpu/gpu_data_manager_impl_private.h" 5 #include "content/browser/gpu/gpu_data_manager_impl_private.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/debug/trace_event.h" 10 #include "base/debug/trace_event.h"
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 // Send UMA histograms about the enabled features and GPU properties. 106 // Send UMA histograms about the enabled features and GPU properties.
107 void UpdateStats(const gpu::GPUInfo& gpu_info, 107 void UpdateStats(const gpu::GPUInfo& gpu_info,
108 const gpu::GpuBlacklist* blacklist, 108 const gpu::GpuBlacklist* blacklist,
109 const std::set<int>& blacklisted_features) { 109 const std::set<int>& blacklisted_features) {
110 uint32 max_entry_id = blacklist->max_entry_id(); 110 uint32 max_entry_id = blacklist->max_entry_id();
111 if (max_entry_id == 0) { 111 if (max_entry_id == 0) {
112 // GPU Blacklist was not loaded. No need to go further. 112 // GPU Blacklist was not loaded. No need to go further.
113 return; 113 return;
114 } 114 }
115 115
116 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); 116 const base::CommandLine& command_line =
117 *base::CommandLine::ForCurrentProcess();
117 bool disabled = false; 118 bool disabled = false;
118 119
119 // Use entry 0 to capture the total number of times that data 120 // Use entry 0 to capture the total number of times that data
120 // was recorded in this histogram in order to have a convenient 121 // was recorded in this histogram in order to have a convenient
121 // denominator to compute blacklist percentages for the rest of the 122 // denominator to compute blacklist percentages for the rest of the
122 // entries. 123 // entries.
123 UMA_HISTOGRAM_ENUMERATION("GPU.BlacklistTestResultsPerEntry", 124 UMA_HISTOGRAM_ENUMERATION("GPU.BlacklistTestResultsPerEntry",
124 0, max_entry_id + 1); 125 0, max_entry_id + 1);
125 126
126 if (blacklisted_features.size() != 0) { 127 if (blacklisted_features.size() != 0) {
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 259
259 // Prevent all further initialization. 260 // Prevent all further initialization.
260 finalized_ = true; 261 finalized_ = true;
261 262
262 InitializeImpl(gpu_blacklist_json, std::string(), gpu_info); 263 InitializeImpl(gpu_blacklist_json, std::string(), gpu_info);
263 } 264 }
264 265
265 bool GpuDataManagerImplPrivate::IsFeatureBlacklisted(int feature) const { 266 bool GpuDataManagerImplPrivate::IsFeatureBlacklisted(int feature) const {
266 #if defined(OS_CHROMEOS) 267 #if defined(OS_CHROMEOS)
267 if (feature == gpu::GPU_FEATURE_TYPE_PANEL_FITTING && 268 if (feature == gpu::GPU_FEATURE_TYPE_PANEL_FITTING &&
268 CommandLine::ForCurrentProcess()->HasSwitch( 269 base::CommandLine::ForCurrentProcess()->HasSwitch(
269 switches::kDisablePanelFitting)) { 270 switches::kDisablePanelFitting)) {
270 return true; 271 return true;
271 } 272 }
272 #endif // OS_CHROMEOS 273 #endif // OS_CHROMEOS
273 if (use_swiftshader_) { 274 if (use_swiftshader_) {
274 // Skia's software rendering is probably more efficient than going through 275 // Skia's software rendering is probably more efficient than going through
275 // software emulation of the GPU, so use that. 276 // software emulation of the GPU, so use that.
276 if (feature == gpu::GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS) 277 if (feature == gpu::GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS)
277 return true; 278 return true;
278 return false; 279 return false;
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
316 if (!gpu_process_accessible_) { 317 if (!gpu_process_accessible_) {
317 if (reason) { 318 if (reason) {
318 *reason = "GPU process launch failed."; 319 *reason = "GPU process launch failed.";
319 } 320 }
320 return false; 321 return false;
321 } 322 }
322 323
323 if (card_blacklisted_) { 324 if (card_blacklisted_) {
324 if (reason) { 325 if (reason) {
325 *reason = "GPU access is disabled "; 326 *reason = "GPU access is disabled ";
326 CommandLine* command_line = CommandLine::ForCurrentProcess(); 327 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
327 if (command_line->HasSwitch(switches::kDisableGpu)) 328 if (command_line->HasSwitch(switches::kDisableGpu))
328 *reason += "through commandline switch --disable-gpu."; 329 *reason += "through commandline switch --disable-gpu.";
329 else 330 else
330 *reason += "in chrome://settings."; 331 *reason += "in chrome://settings.";
331 } 332 }
332 return false; 333 return false;
333 } 334 }
334 335
335 // We only need to block GPU process if more features are disallowed other 336 // We only need to block GPU process if more features are disallowed other
336 // than those in the preliminary gpu feature flags because the latter work 337 // than those in the preliminary gpu feature flags because the latter work
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
470 *gl_version = gpu_info_.gl_version; 471 *gl_version = gpu_info_.gl_version;
471 } 472 }
472 473
473 void GpuDataManagerImplPrivate::Initialize() { 474 void GpuDataManagerImplPrivate::Initialize() {
474 TRACE_EVENT0("startup", "GpuDataManagerImpl::Initialize"); 475 TRACE_EVENT0("startup", "GpuDataManagerImpl::Initialize");
475 if (finalized_) { 476 if (finalized_) {
476 DVLOG(0) << "GpuDataManagerImpl marked as finalized; skipping Initialize"; 477 DVLOG(0) << "GpuDataManagerImpl marked as finalized; skipping Initialize";
477 return; 478 return;
478 } 479 }
479 480
480 const CommandLine* command_line = CommandLine::ForCurrentProcess(); 481 const base::CommandLine* command_line =
482 base::CommandLine::ForCurrentProcess();
481 if (command_line->HasSwitch(switches::kSkipGpuDataLoading)) 483 if (command_line->HasSwitch(switches::kSkipGpuDataLoading))
482 return; 484 return;
483 485
484 gpu::GPUInfo gpu_info; 486 gpu::GPUInfo gpu_info;
485 if (command_line->GetSwitchValueASCII( 487 if (command_line->GetSwitchValueASCII(
486 switches::kUseGL) == gfx::kGLImplementationOSMesaName) { 488 switches::kUseGL) == gfx::kGLImplementationOSMesaName) {
487 // If using the OSMesa GL implementation, use fake vendor and device ids to 489 // If using the OSMesa GL implementation, use fake vendor and device ids to
488 // make sure it never gets blacklisted. This is better than simply 490 // make sure it never gets blacklisted. This is better than simply
489 // cancelling GPUInfo gathering as it allows us to proceed with loading the 491 // cancelling GPUInfo gathering as it allows us to proceed with loading the
490 // blacklist below which may have non-device specific entries we want to 492 // blacklist below which may have non-device specific entries we want to
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
528 if (update_histograms_) 530 if (update_histograms_)
529 UpdateStats(gpu_info_, gpu_blacklist_.get(), features); 531 UpdateStats(gpu_info_, gpu_blacklist_.get(), features);
530 532
531 UpdateBlacklistedFeatures(features); 533 UpdateBlacklistedFeatures(features);
532 } 534 }
533 if (gpu_driver_bug_list_) { 535 if (gpu_driver_bug_list_) {
534 gpu_driver_bugs_ = gpu_driver_bug_list_->MakeDecision( 536 gpu_driver_bugs_ = gpu_driver_bug_list_->MakeDecision(
535 gpu::GpuControlList::kOsAny, std::string(), gpu_info_); 537 gpu::GpuControlList::kOsAny, std::string(), gpu_info_);
536 } 538 }
537 gpu::GpuDriverBugList::AppendWorkaroundsFromCommandLine( 539 gpu::GpuDriverBugList::AppendWorkaroundsFromCommandLine(
538 &gpu_driver_bugs_, *CommandLine::ForCurrentProcess()); 540 &gpu_driver_bugs_, *base::CommandLine::ForCurrentProcess());
539 541
540 // We have to update GpuFeatureType before notify all the observers. 542 // We have to update GpuFeatureType before notify all the observers.
541 NotifyGpuInfoUpdate(); 543 NotifyGpuInfoUpdate();
542 } 544 }
543 545
544 void GpuDataManagerImplPrivate::UpdateGpuInfo(const gpu::GPUInfo& gpu_info) { 546 void GpuDataManagerImplPrivate::UpdateGpuInfo(const gpu::GPUInfo& gpu_info) {
545 // No further update of gpu_info if falling back to SwiftShader. 547 // No further update of gpu_info if falling back to SwiftShader.
546 if (use_swiftshader_) 548 if (use_swiftshader_)
547 return; 549 return;
548 550
549 gpu::MergeGPUInfo(&gpu_info_, gpu_info); 551 gpu::MergeGPUInfo(&gpu_info_, gpu_info);
550 complete_gpu_info_already_requested_ = 552 complete_gpu_info_already_requested_ =
551 complete_gpu_info_already_requested_ || gpu_info_.finalized; 553 complete_gpu_info_already_requested_ || gpu_info_.finalized;
552 554
553 UpdateGpuInfoHelper(); 555 UpdateGpuInfoHelper();
554 } 556 }
555 557
556 void GpuDataManagerImplPrivate::UpdateVideoMemoryUsageStats( 558 void GpuDataManagerImplPrivate::UpdateVideoMemoryUsageStats(
557 const GPUVideoMemoryUsageStats& video_memory_usage_stats) { 559 const GPUVideoMemoryUsageStats& video_memory_usage_stats) {
558 GpuDataManagerImpl::UnlockedSession session(owner_); 560 GpuDataManagerImpl::UnlockedSession session(owner_);
559 observer_list_->Notify(&GpuDataManagerObserver::OnVideoMemoryUsageStatsUpdate, 561 observer_list_->Notify(&GpuDataManagerObserver::OnVideoMemoryUsageStatsUpdate,
560 video_memory_usage_stats); 562 video_memory_usage_stats);
561 } 563 }
562 564
563 void GpuDataManagerImplPrivate::AppendRendererCommandLine( 565 void GpuDataManagerImplPrivate::AppendRendererCommandLine(
564 CommandLine* command_line) const { 566 base::CommandLine* command_line) const {
565 DCHECK(command_line); 567 DCHECK(command_line);
566 568
567 if (IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE) && 569 if (IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE) &&
568 !command_line->HasSwitch(switches::kDisableAcceleratedVideoDecode)) 570 !command_line->HasSwitch(switches::kDisableAcceleratedVideoDecode))
569 command_line->AppendSwitch(switches::kDisableAcceleratedVideoDecode); 571 command_line->AppendSwitch(switches::kDisableAcceleratedVideoDecode);
570 #if defined(ENABLE_WEBRTC) 572 #if defined(ENABLE_WEBRTC)
571 if (IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_ENCODE) && 573 if (IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_ENCODE) &&
572 !command_line->HasSwitch(switches::kDisableWebRtcHWEncoding)) 574 !command_line->HasSwitch(switches::kDisableWebRtcHWEncoding))
573 command_line->AppendSwitch(switches::kDisableWebRtcHWEncoding); 575 command_line->AppendSwitch(switches::kDisableWebRtcHWEncoding);
574 #endif 576 #endif
575 577
576 #if defined(USE_AURA) 578 #if defined(USE_AURA)
577 if (!CanUseGpuBrowserCompositor()) 579 if (!CanUseGpuBrowserCompositor())
578 command_line->AppendSwitch(switches::kDisableGpuCompositing); 580 command_line->AppendSwitch(switches::kDisableGpuCompositing);
579 #endif 581 #endif
580 } 582 }
581 583
582 void GpuDataManagerImplPrivate::AppendGpuCommandLine( 584 void GpuDataManagerImplPrivate::AppendGpuCommandLine(
583 CommandLine* command_line) const { 585 base::CommandLine* command_line) const {
584 DCHECK(command_line); 586 DCHECK(command_line);
585 587
586 std::string use_gl = 588 std::string use_gl =
587 CommandLine::ForCurrentProcess()->GetSwitchValueASCII(switches::kUseGL); 589 base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
590 switches::kUseGL);
588 base::FilePath swiftshader_path = 591 base::FilePath swiftshader_path =
589 CommandLine::ForCurrentProcess()->GetSwitchValuePath( 592 base::CommandLine::ForCurrentProcess()->GetSwitchValuePath(
590 switches::kSwiftShaderPath); 593 switches::kSwiftShaderPath);
591 if (gpu_driver_bugs_.find(gpu::DISABLE_D3D11) != gpu_driver_bugs_.end()) 594 if (gpu_driver_bugs_.find(gpu::DISABLE_D3D11) != gpu_driver_bugs_.end())
592 command_line->AppendSwitch(switches::kDisableD3D11); 595 command_line->AppendSwitch(switches::kDisableD3D11);
593 if (use_swiftshader_) { 596 if (use_swiftshader_) {
594 command_line->AppendSwitchASCII(switches::kUseGL, "swiftshader"); 597 command_line->AppendSwitchASCII(switches::kUseGL, "swiftshader");
595 if (swiftshader_path.empty()) 598 if (swiftshader_path.empty())
596 swiftshader_path = swiftshader_path_; 599 swiftshader_path = swiftshader_path_;
597 } else if ((IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_WEBGL) || 600 } else if ((IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_WEBGL) ||
598 IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_GPU_COMPOSITING) || 601 IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_GPU_COMPOSITING) ||
599 IsFeatureBlacklisted( 602 IsFeatureBlacklisted(
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
638 base::StringPrintf("0x%04x", gpu_info_.gpu.vendor_id)); 641 base::StringPrintf("0x%04x", gpu_info_.gpu.vendor_id));
639 command_line->AppendSwitchASCII(switches::kGpuDeviceID, 642 command_line->AppendSwitchASCII(switches::kGpuDeviceID,
640 base::StringPrintf("0x%04x", gpu_info_.gpu.device_id)); 643 base::StringPrintf("0x%04x", gpu_info_.gpu.device_id));
641 command_line->AppendSwitchASCII(switches::kGpuDriverVendor, 644 command_line->AppendSwitchASCII(switches::kGpuDriverVendor,
642 gpu_info_.driver_vendor); 645 gpu_info_.driver_vendor);
643 command_line->AppendSwitchASCII(switches::kGpuDriverVersion, 646 command_line->AppendSwitchASCII(switches::kGpuDriverVersion,
644 gpu_info_.driver_version); 647 gpu_info_.driver_version);
645 } 648 }
646 649
647 void GpuDataManagerImplPrivate::AppendPluginCommandLine( 650 void GpuDataManagerImplPrivate::AppendPluginCommandLine(
648 CommandLine* command_line) const { 651 base::CommandLine* command_line) const {
649 DCHECK(command_line); 652 DCHECK(command_line);
650 653
651 #if defined(OS_MACOSX) 654 #if defined(OS_MACOSX)
652 // TODO(jbauman): Add proper blacklist support for core animation plugins so 655 // TODO(jbauman): Add proper blacklist support for core animation plugins so
653 // special-casing this video card won't be necessary. See 656 // special-casing this video card won't be necessary. See
654 // http://crbug.com/134015 657 // http://crbug.com/134015
655 if (IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_GPU_COMPOSITING)) { 658 if (IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_GPU_COMPOSITING)) {
656 if (!command_line->HasSwitch( 659 if (!command_line->HasSwitch(
657 switches::kDisableCoreAnimationPlugins)) 660 switches::kDisableCoreAnimationPlugins))
658 command_line->AppendSwitch( 661 command_line->AppendSwitch(
(...skipping 26 matching lines...) Expand all
685 prefs->gl_multisampling_enabled = false; 688 prefs->gl_multisampling_enabled = false;
686 689
687 #if defined(USE_AURA) 690 #if defined(USE_AURA)
688 if (!CanUseGpuBrowserCompositor()) { 691 if (!CanUseGpuBrowserCompositor()) {
689 prefs->accelerated_2d_canvas_enabled = false; 692 prefs->accelerated_2d_canvas_enabled = false;
690 prefs->pepper_3d_enabled = false; 693 prefs->pepper_3d_enabled = false;
691 } 694 }
692 #endif 695 #endif
693 696
694 if (!IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE) && 697 if (!IsFeatureBlacklisted(gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE) &&
695 !CommandLine::ForCurrentProcess()->HasSwitch( 698 !base::CommandLine::ForCurrentProcess()->HasSwitch(
696 switches::kDisableAcceleratedVideoDecode)) { 699 switches::kDisableAcceleratedVideoDecode)) {
697 prefs->pepper_accelerated_video_decode_enabled = true; 700 prefs->pepper_accelerated_video_decode_enabled = true;
698 } 701 }
699 702
700 if (!IsFeatureBlacklisted( 703 if (!IsFeatureBlacklisted(
701 gpu::GPU_FEATURE_TYPE_GPU_RASTERIZATION_EXPANDED_HEURISTICS) || 704 gpu::GPU_FEATURE_TYPE_GPU_RASTERIZATION_EXPANDED_HEURISTICS) ||
702 base::FieldTrialList::FindFullName( 705 base::FieldTrialList::FindFullName(
703 "GpuRasterizationExpandedContentWhitelist") == "Enabled") 706 "GpuRasterizationExpandedContentWhitelist") == "Enabled")
704 prefs->use_expanded_heuristics_for_gpu_rasterization = true; 707 prefs->use_expanded_heuristics_for_gpu_rasterization = true;
705 } 708 }
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
864 use_swiftshader_(false), 867 use_swiftshader_(false),
865 card_blacklisted_(false), 868 card_blacklisted_(false),
866 update_histograms_(true), 869 update_histograms_(true),
867 window_count_(0), 870 window_count_(0),
868 domain_blocking_enabled_(true), 871 domain_blocking_enabled_(true),
869 owner_(owner), 872 owner_(owner),
870 display_count_(0), 873 display_count_(0),
871 gpu_process_accessible_(true), 874 gpu_process_accessible_(true),
872 finalized_(false) { 875 finalized_(false) {
873 DCHECK(owner_); 876 DCHECK(owner_);
874 CommandLine* command_line = CommandLine::ForCurrentProcess(); 877 const base::CommandLine* command_line =
878 base::CommandLine::ForCurrentProcess();
875 if (command_line->HasSwitch(switches::kDisableGpu)) 879 if (command_line->HasSwitch(switches::kDisableGpu))
876 DisableHardwareAcceleration(); 880 DisableHardwareAcceleration();
877 881
878 #if defined(OS_MACOSX) 882 #if defined(OS_MACOSX)
879 CGGetActiveDisplayList (0, NULL, &display_count_); 883 CGGetActiveDisplayList (0, NULL, &display_count_);
880 CGDisplayRegisterReconfigurationCallback(DisplayReconfigCallback, owner_); 884 CGDisplayRegisterReconfigurationCallback(DisplayReconfigCallback, owner_);
881 #endif // OS_MACOSX 885 #endif // OS_MACOSX
882 886
883 // For testing only. 887 // For testing only.
884 if (command_line->HasSwitch(switches::kDisableDomainBlockingFor3DAPIs)) { 888 if (command_line->HasSwitch(switches::kDisableDomainBlockingFor3DAPIs)) {
885 domain_blocking_enabled_ = false; 889 domain_blocking_enabled_ = false;
886 } 890 }
887 } 891 }
888 892
889 GpuDataManagerImplPrivate::~GpuDataManagerImplPrivate() { 893 GpuDataManagerImplPrivate::~GpuDataManagerImplPrivate() {
890 #if defined(OS_MACOSX) 894 #if defined(OS_MACOSX)
891 CGDisplayRemoveReconfigurationCallback(DisplayReconfigCallback, owner_); 895 CGDisplayRemoveReconfigurationCallback(DisplayReconfigCallback, owner_);
892 #endif 896 #endif
893 } 897 }
894 898
895 void GpuDataManagerImplPrivate::InitializeImpl( 899 void GpuDataManagerImplPrivate::InitializeImpl(
896 const std::string& gpu_blacklist_json, 900 const std::string& gpu_blacklist_json,
897 const std::string& gpu_driver_bug_list_json, 901 const std::string& gpu_driver_bug_list_json,
898 const gpu::GPUInfo& gpu_info) { 902 const gpu::GPUInfo& gpu_info) {
899 const bool log_gpu_control_list_decisions = 903 const bool log_gpu_control_list_decisions =
900 CommandLine::ForCurrentProcess()->HasSwitch( 904 base::CommandLine::ForCurrentProcess()->HasSwitch(
901 switches::kLogGpuControlListDecisions); 905 switches::kLogGpuControlListDecisions);
902 906
903 if (!gpu_blacklist_json.empty()) { 907 if (!gpu_blacklist_json.empty()) {
904 gpu_blacklist_.reset(gpu::GpuBlacklist::Create()); 908 gpu_blacklist_.reset(gpu::GpuBlacklist::Create());
905 if (log_gpu_control_list_decisions) 909 if (log_gpu_control_list_decisions)
906 gpu_blacklist_->enable_control_list_logging("gpu_blacklist"); 910 gpu_blacklist_->enable_control_list_logging("gpu_blacklist");
907 bool success = gpu_blacklist_->LoadList( 911 bool success = gpu_blacklist_->LoadList(
908 gpu_blacklist_json, gpu::GpuControlList::kCurrentOsOnly); 912 gpu_blacklist_json, gpu::GpuControlList::kCurrentOsOnly);
909 DCHECK(success); 913 DCHECK(success);
910 } 914 }
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
955 } 959 }
956 960
957 void GpuDataManagerImplPrivate::NotifyGpuInfoUpdate() { 961 void GpuDataManagerImplPrivate::NotifyGpuInfoUpdate() {
958 observer_list_->Notify(&GpuDataManagerObserver::OnGpuInfoUpdate); 962 observer_list_->Notify(&GpuDataManagerObserver::OnGpuInfoUpdate);
959 } 963 }
960 964
961 void GpuDataManagerImplPrivate::EnableSwiftShaderIfNecessary() { 965 void GpuDataManagerImplPrivate::EnableSwiftShaderIfNecessary() {
962 if (!GpuAccessAllowed(NULL) || 966 if (!GpuAccessAllowed(NULL) ||
963 blacklisted_features_.count(gpu::GPU_FEATURE_TYPE_WEBGL)) { 967 blacklisted_features_.count(gpu::GPU_FEATURE_TYPE_WEBGL)) {
964 if (!swiftshader_path_.empty() && 968 if (!swiftshader_path_.empty() &&
965 !CommandLine::ForCurrentProcess()->HasSwitch( 969 !base::CommandLine::ForCurrentProcess()->HasSwitch(
966 switches::kDisableSoftwareRasterizer)) 970 switches::kDisableSoftwareRasterizer))
967 use_swiftshader_ = true; 971 use_swiftshader_ = true;
968 } 972 }
969 } 973 }
970 974
971 std::string GpuDataManagerImplPrivate::GetDomainFromURL( 975 std::string GpuDataManagerImplPrivate::GetDomainFromURL(
972 const GURL& url) const { 976 const GURL& url) const {
973 // For the moment, we just use the host, or its IP address, as the 977 // For the moment, we just use the host, or its IP address, as the
974 // entry in the set, rather than trying to figure out the top-level 978 // entry in the set, rather than trying to figure out the top-level
975 // domain. This does mean that a.foo.com and b.foo.com will be 979 // domain. This does mean that a.foo.com and b.foo.com will be
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
1075 1079
1076 void GpuDataManagerImplPrivate::OnGpuProcessInitFailure() { 1080 void GpuDataManagerImplPrivate::OnGpuProcessInitFailure() {
1077 gpu_process_accessible_ = false; 1081 gpu_process_accessible_ = false;
1078 gpu_info_.finalized = true; 1082 gpu_info_.finalized = true;
1079 complete_gpu_info_already_requested_ = true; 1083 complete_gpu_info_already_requested_ = true;
1080 // Some observers might be waiting. 1084 // Some observers might be waiting.
1081 NotifyGpuInfoUpdate(); 1085 NotifyGpuInfoUpdate();
1082 } 1086 }
1083 1087
1084 } // namespace content 1088 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/gpu/compositor_util.cc ('k') | content/browser/gpu/gpu_data_manager_impl_private_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698