diff options
Diffstat (limited to 'content/browser')
-rw-r--r-- | content/browser/gpu/compositor_util.cc | 8 | ||||
-rw-r--r-- | content/browser/gpu/gpu_data_manager_impl_private.cc | 4 | ||||
-rw-r--r-- | content/browser/resources/gpu/info_view.html | 11 | ||||
-rw-r--r-- | content/browser/resources/gpu/info_view.js | 29 |
4 files changed, 46 insertions, 6 deletions
diff --git a/content/browser/gpu/compositor_util.cc b/content/browser/gpu/compositor_util.cc index d90451e..49e938a 100644 --- a/content/browser/gpu/compositor_util.cc +++ b/content/browser/gpu/compositor_util.cc @@ -358,6 +358,10 @@ base::Value* GetProblems() { "GPU process was unable to boot: " + gpu_access_blocked_reason); problem->Set("crBugs", new base::ListValue()); problem->Set("webkitBugs", new base::ListValue()); + base::ListValue* disabled_features = new base::ListValue(); + disabled_features->AppendString("all"); + problem->Set("affectedGpuSettings", disabled_features); + problem->SetString("tag", "disabledFeatures"); problem_list->Insert(0, problem); } @@ -370,6 +374,10 @@ base::Value* GetProblems() { "description", gpu_feature_info.disabled_description); problem->Set("crBugs", new base::ListValue()); problem->Set("webkitBugs", new base::ListValue()); + base::ListValue* disabled_features = new base::ListValue(); + disabled_features->AppendString(gpu_feature_info.name); + problem->Set("affectedGpuSettings", disabled_features); + problem->SetString("tag", "disabledFeatures"); problem_list->Append(problem); } } diff --git a/content/browser/gpu/gpu_data_manager_impl_private.cc b/content/browser/gpu/gpu_data_manager_impl_private.cc index 87ddf2c..9bfb5f5 100644 --- a/content/browser/gpu/gpu_data_manager_impl_private.cc +++ b/content/browser/gpu/gpu_data_manager_impl_private.cc @@ -832,7 +832,9 @@ std::string GpuDataManagerImplPrivate::GetDriverBugListVersion() const { void GpuDataManagerImplPrivate::GetBlacklistReasons( base::ListValue* reasons) const { if (gpu_blacklist_) - gpu_blacklist_->GetReasons(reasons); + gpu_blacklist_->GetReasons(reasons, "disabledFeatures"); + if (gpu_driver_bug_list_) + gpu_driver_bug_list_->GetReasons(reasons, "workarounds"); } void GpuDataManagerImplPrivate::GetDriverBugWorkarounds( diff --git a/content/browser/resources/gpu/info_view.html b/content/browser/resources/gpu/info_view.html index 5a4d9f4..f5e4676 100644 --- a/content/browser/resources/gpu/info_view.html +++ b/content/browser/resources/gpu/info_view.html @@ -9,11 +9,6 @@ found in the LICENSE file. <ul class="feature-status-list"> </ul> </div> - <div class='problems-div'> - <h3>Problems Detected</h3> - <ul class="problems-list"> - </ul> - </div> <div class='workarounds-div'> <h3>Driver Bug Workarounds</h3> @@ -21,6 +16,12 @@ found in the LICENSE file. </ul> </div> + <div class='problems-div'> + <h3>Problems Detected</h3> + <ul class="problems-list"> + </ul> + </div> + <div> <h3>Version Information</h3> <div id="client-info"></div> diff --git a/content/browser/resources/gpu/info_view.js b/content/browser/resources/gpu/info_view.js index a8fc3fc..a680d57 100644 --- a/content/browser/resources/gpu/info_view.js +++ b/content/browser/resources/gpu/info_view.js @@ -303,6 +303,35 @@ cr.define('gpu', function() { nbugs++; } + if (problem.affectedGpuSettings.length > 0) { + var brNode = document.createElement('br'); + problemEl.appendChild(brNode); + + var iNode = document.createElement('i'); + problemEl.appendChild(iNode); + + var headNode = document.createElement('span'); + if (problem.tag == 'disabledFeatures') + headNode.textContent = 'Disabled Features: '; + else // problem.tag == 'workarounds' + headNode.textContent = 'Applied Workarounds: '; + iNode.appendChild(headNode); + for (j = 0; j < problem.affectedGpuSettings.length; ++j) { + if (j > 0) { + var separateNode = document.createElement('span'); + separateNode.textContent = ', '; + iNode.appendChild(separateNode); + } + var nameNode = document.createElement('span'); + if (problem.tag == 'disabledFeatures') + nameNode.classList.add('feature-red'); + else // problem.tag == 'workarounds' + nameNode.classList.add('feature-yellow'); + nameNode.textContent = problem.affectedGpuSettings[j]; + iNode.appendChild(nameNode); + } + } + return problemEl; }, |