| Index: cc/trees/layer_tree_host.cc
|
| diff --git a/cc/trees/layer_tree_host.cc b/cc/trees/layer_tree_host.cc
|
| index efc38ca7dd5920b6949169f4841ae2853f19557b..c0425180ad777b2a0bfe41e6dda4852e1f7b20a1 100644
|
| --- a/cc/trees/layer_tree_host.cc
|
| +++ b/cc/trees/layer_tree_host.cc
|
| @@ -299,7 +299,7 @@ void LayerTreeHost::FinishCommitOnImplThread(
|
| host_impl->SetHasGpuRasterizationTrigger(has_gpu_rasterization_trigger_);
|
| host_impl->SetContentIsSuitableForGpuRasterization(
|
| content_is_suitable_for_gpu_rasterization_);
|
| - RecordGpuRasterizationHistogram();
|
| + RecordGpuRasterizationHistogram(host_impl);
|
|
|
| host_impl->SetViewportSize(device_viewport_size_);
|
| sync_tree->SetDeviceScaleFactor(device_scale_factor_);
|
| @@ -578,19 +578,30 @@ void LayerTreeHost::DidCompletePageScaleAnimation() {
|
| did_complete_scale_animation_ = true;
|
| }
|
|
|
| -void LayerTreeHost::RecordGpuRasterizationHistogram() {
|
| +void LayerTreeHost::RecordGpuRasterizationHistogram(
|
| + const LayerTreeHostImpl* host_impl) {
|
| // Gpu rasterization is only supported for Renderer compositors.
|
| // Checking for IsSingleThreaded() to exclude Browser compositors.
|
| if (gpu_rasterization_histogram_recorded_ || IsSingleThreaded())
|
| return;
|
|
|
| + bool gpu_rasterization_enabled = false;
|
| + if (host_impl->compositor_frame_sink()) {
|
| + ContextProvider* compositor_context_provider =
|
| + host_impl->compositor_frame_sink()->context_provider();
|
| + if (compositor_context_provider) {
|
| + gpu_rasterization_enabled =
|
| + compositor_context_provider->ContextCapabilities().gpu_rasterization;
|
| + }
|
| + }
|
| +
|
| // Record how widely gpu rasterization is enabled.
|
| // This number takes device/gpu whitelisting/backlisting into account.
|
| // Note that we do not consider the forced gpu rasterization mode, which is
|
| // mostly used for debugging purposes.
|
| UMA_HISTOGRAM_BOOLEAN("Renderer4.GpuRasterizationEnabled",
|
| - settings_.gpu_rasterization_enabled);
|
| - if (settings_.gpu_rasterization_enabled) {
|
| + gpu_rasterization_enabled);
|
| + if (gpu_rasterization_enabled) {
|
| UMA_HISTOGRAM_BOOLEAN("Renderer4.GpuRasterizationTriggered",
|
| has_gpu_rasterization_trigger_);
|
| UMA_HISTOGRAM_BOOLEAN("Renderer4.GpuRasterizationSuitableContent",
|
|
|