| Index: third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp
|
| diff --git a/third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp b/third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp
|
| index 849575cb4960b16ddd153878da7052ca9bc5eca2..56503d84012376488405d0cb8e4819c1408d3c84 100644
|
| --- a/third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp
|
| +++ b/third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp
|
| @@ -601,10 +601,18 @@ static String pointerAsString(const void* ptr) {
|
| std::unique_ptr<JSONObject> GraphicsLayer::layerTreeAsJSON(
|
| LayerTreeFlags flags) const {
|
| RenderingContextMap renderingContextMap;
|
| + if (flags & OutputChildrenAsLayerList) {
|
| + std::unique_ptr<JSONObject> json = JSONObject::create();
|
| + std::unique_ptr<JSONArray> layersArray = JSONArray::create();
|
| + for (auto& child : m_children)
|
| + child->layersAsJSONArray(flags, renderingContextMap, layersArray.get());
|
| + json->setArray("layers", std::move(layersArray));
|
| + return json;
|
| + }
|
| return layerTreeAsJSONInternal(flags, renderingContextMap);
|
| }
|
|
|
| -std::unique_ptr<JSONObject> GraphicsLayer::layerTreeAsJSONInternal(
|
| +std::unique_ptr<JSONObject> GraphicsLayer::layerAsJSONInternal(
|
| LayerTreeFlags flags,
|
| RenderingContextMap& renderingContextMap) const {
|
| std::unique_ptr<JSONObject> json = JSONObject::create();
|
| @@ -725,6 +733,14 @@ std::unique_ptr<JSONObject> GraphicsLayer::layerTreeAsJSONInternal(
|
| json->setArray("squashingDisallowedReasons",
|
| std::move(squashingDisallowedReasonsJSON));
|
| }
|
| + return json;
|
| +}
|
| +
|
| +std::unique_ptr<JSONObject> GraphicsLayer::layerTreeAsJSONInternal(
|
| + LayerTreeFlags flags,
|
| + RenderingContextMap& renderingContextMap) const {
|
| + std::unique_ptr<JSONObject> json =
|
| + layerAsJSONInternal(flags, renderingContextMap);
|
|
|
| if (m_children.size()) {
|
| std::unique_ptr<JSONArray> childrenJSON = JSONArray::create();
|
| @@ -737,6 +753,17 @@ std::unique_ptr<JSONObject> GraphicsLayer::layerTreeAsJSONInternal(
|
| return json;
|
| }
|
|
|
| +void GraphicsLayer::layersAsJSONArray(LayerTreeFlags flags,
|
| + RenderingContextMap& renderingContextMap,
|
| + JSONArray* jsonArray) const {
|
| + jsonArray->pushObject(layerAsJSONInternal(flags, renderingContextMap));
|
| +
|
| + if (m_children.size()) {
|
| + for (auto& child : m_children)
|
| + child->layersAsJSONArray(flags, renderingContextMap, jsonArray);
|
| + }
|
| +}
|
| +
|
| String GraphicsLayer::layerTreeAsText(LayerTreeFlags flags) const {
|
| return layerTreeAsJSON(flags)->toPrettyJSONString();
|
| }
|
|
|