Chromium Code Reviews| Index: cc/test/layer_tree_json_parser.cc |
| diff --git a/cc/test/layer_tree_json_parser.cc b/cc/test/layer_tree_json_parser.cc |
| index 9a1b198a7b772d423d50c56adde28aee44e974e8..ffd4568acd929121844047d53161e52d4bfb8bfb 100644 |
| --- a/cc/test/layer_tree_json_parser.cc |
| +++ b/cc/test/layer_tree_json_parser.cc |
| @@ -101,8 +101,23 @@ scoped_refptr<Layer> ParseTreeFromValue(base::Value* val, |
| new_layer->SetContentsOpaque(contents_opaque); |
| bool scrollable; |
| + // TODO(wjmaclean) At some time in the future we may wish to test that a |
|
enne (OOO)
2013/11/14 22:59:01
This is pretty unfortunate. Can you file a bug to
wjmaclean
2013/12/24 21:03:49
Indeed, this hack was never meant to live ;-)
I'l
|
| + // reconstructed layer tree contains the correct linkage for the scroll |
| + // clip layer. This is complicated by the fact that the json output doesn't |
| + // (currently) re-construct the tree with the same layer IDs as the original. |
| + // But, since a clip layer is always an ancestor of the scrollable layer, we |
| + // can just count the number of upwards hops to the clip layer and write that |
| + // into the json file (with 0 hops implying no clip layer, i.e. not |
| + // scrollable). Reconstructing the tree can then be accomplished by passing |
| + // the parent pointer to this function and traversing the same number of |
| + // ancestors to determine the pointer to the clip layer. The LayerTreesMatch() |
| + // function should then check that both original and reconstructed layers |
| + // have the same positioning with respect to their clip layers. |
| + // |
| + // For now, we can safely indicate a layer is scrollable by giving it a |
| + // pointer to itself, something not normally allowed in a working tree. |
| if (dict->GetBoolean("Scrollable", &scrollable)) |
| - new_layer->SetScrollable(scrollable); |
| + new_layer->SetScrollable(scrollable ? new_layer.get() : NULL); |
| bool wheel_handler; |
| if (dict->GetBoolean("WheelHandler", &wheel_handler)) |