Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(340)

Unified Diff: cc/test/layer_tree_json_parser.cc

Issue 23983047: Pinch/Zoom Infrastructure & Plumbing CL (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Draft for review. Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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))

Powered by Google App Engine
This is Rietveld 408576698