Commit a79b996a authored by Lorne Mitchell's avatar Lorne Mitchell Committed by Commit Bot

DevTools: Modified LayerTree.compositingReasons to include a new property...

DevTools: Modified LayerTree.compositingReasons to include a new property named compositing_reason_ids.

This change modifies the LayerTree.compositingReasons method [1] to include an additional return property named compositing_reason_ids. This new property provides an ID that can be used by CDP clients (such as the DevTools) to localize the compositing reasons.

The design was reviewed here in [2].

A separate CL will follow for the DevTools frontend to consume compositing_reason_ids and map them to strings that are localized in the frontend.

[1] https://chromedevtools.github.io/devtools-protocol/tot/LayerTree#method-compositingReasons
[2] https://docs.google.com/document/d/1ZbCiXbVJZJaYqKZkQ_Y5RNpUqQd1JzO17PqFJZk2Ne8

Bug: 946860
Change-Id: Ie924a8dc65fe224e418e4d8b75c07433d2050645
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2015551Reviewed-by: default avatarPhilip Rogers <pdr@chromium.org>
Reviewed-by: default avatarMandy Chen <mandy.chen@microsoft.com>
Reviewed-by: default avatarAndrey Kosyakov <caseq@chromium.org>
Commit-Queue: Lorne Mitchell <lomitch@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#736492}
parent 55386ef3
......@@ -62,6 +62,7 @@ struct LayerDebugInfo {
NodeId owner_node_id = kInvalidNodeId;
int paint_count = 0;
std::vector<const char*> compositing_reasons;
std::vector<const char*> compositing_reason_ids;
struct Invalidation {
gfx::Rect rect;
const char* reason;
......
......@@ -3526,7 +3526,9 @@ experimental domain LayerTree
LayerId layerId
returns
# A list of strings specifying reasons for the given layer to become composited.
array of string compositingReasons
deprecated array of string compositingReasons
# A list of strings specifying reason IDs for the given layer to become composited.
array of string compositingReasonIds
# Disables compositing tree inspection.
command disable
......
......@@ -373,16 +373,25 @@ Response InspectorLayerTreeAgent::LayerById(const String& layer_id,
Response InspectorLayerTreeAgent::compositingReasons(
const String& layer_id,
std::unique_ptr<Array<String>>* reason_strings) {
std::unique_ptr<Array<String>>* compositing_reasons,
std::unique_ptr<Array<String>>* compositing_reason_ids) {
const cc::Layer* layer = nullptr;
Response response = LayerById(layer_id, layer);
if (!response.isSuccess())
return response;
*reason_strings = std::make_unique<protocol::Array<String>>();
*compositing_reasons = std::make_unique<protocol::Array<String>>();
*compositing_reason_ids = std::make_unique<protocol::Array<String>>();
if (layer->debug_info()) {
for (const char* name : layer->debug_info()->compositing_reasons)
(*reason_strings)->emplace_back(name);
for (const char* compositing_reason :
layer->debug_info()->compositing_reasons) {
(*compositing_reasons)->emplace_back(compositing_reason);
}
for (const char* compositing_reason_id :
layer->debug_info()->compositing_reason_ids) {
(*compositing_reason_ids)->emplace_back(compositing_reason_id);
}
}
return Response::OK();
}
......
......@@ -71,7 +71,9 @@ class CORE_EXPORT InspectorLayerTreeAgent final
protocol::Response disable() override;
protocol::Response compositingReasons(
const String& layer_id,
std::unique_ptr<protocol::Array<String>>* compositing_reasons) override;
std::unique_ptr<protocol::Array<String>>* compositing_reasons,
std::unique_ptr<protocol::Array<String>>* compositing_reason_ids)
override;
protocol::Response makeSnapshot(const String& layer_id,
String* snapshot_id) override;
protocol::Response loadSnapshot(
......
......@@ -1520,6 +1520,8 @@ void PaintArtifactCompositor::UpdateLayerDebugInfo(
debug_info.compositing_reasons =
CompositingReason::Descriptions(compositing_reasons);
debug_info.compositing_reason_ids =
CompositingReason::ShortNames(compositing_reasons);
debug_info.owner_node_id = id.client.OwnerNodeId();
if (RasterInvalidationTracking::IsTracingRasterInvalidations() &&
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment