summaryrefslogtreecommitdiffstats
path: root/content/browser
diff options
context:
space:
mode:
Diffstat (limited to 'content/browser')
-rw-r--r--content/browser/gpu/compositor_util.cc8
-rw-r--r--content/browser/gpu/gpu_data_manager_impl_private.cc4
-rw-r--r--content/browser/resources/gpu/info_view.html11
-rw-r--r--content/browser/resources/gpu/info_view.js29
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;
},