aboutsummaryrefslogtreecommitdiffstats
path: root/etc/layout_viewer/viewer.html
diff options
context:
space:
mode:
authorGlenn Watson <gw@intuitionlibrary.com>2014-09-19 14:41:15 +1000
committerGlenn Watson <gw@intuitionlibrary.com>2014-09-19 14:48:53 +1000
commit0d0d2365aab705e3e180c55c83d548427d37b4d4 (patch)
treebbadc837f88cc564e015beab16c99f0997f16c29 /etc/layout_viewer/viewer.html
parentb11a110e85ca5670a1d492b6deb616fe8a90cf5b (diff)
downloadservo-0d0d2365aab705e3e180c55c83d548427d37b4d4.tar.gz
servo-0d0d2365aab705e3e180c55c83d548427d37b4d4.zip
Adds support for table layout trace and updates viewer for tables.
Diffstat (limited to 'etc/layout_viewer/viewer.html')
-rw-r--r--etc/layout_viewer/viewer.html30
1 files changed, 22 insertions, 8 deletions
diff --git a/etc/layout_viewer/viewer.html b/etc/layout_viewer/viewer.html
index c278ca85a36..f76ab56f46d 100644
--- a/etc/layout_viewer/viewer.html
+++ b/etc/layout_viewer/viewer.html
@@ -89,16 +89,26 @@
<script src="js/formatters.min.js"></script>
<script>
+ function get_base(node) {
+ if (node.data.base !== undefined) {
+ return node.data.base;
+ }
+ if (node.data.block_flow.base != undefined) {
+ return node.data.block_flow.base;
+ }
+ throw "Unknown node type";
+ }
+
function create_flow_tree(trace_node) {
var node = {
- text: trace_node.class + " (" + trace_node.data.base.id + ")",
- id: trace_node.data.base.id,
+ text: trace_node.class + " (" + get_base(trace_node).id + ")",
+ id: get_base(trace_node).id,
icon: "dummy",
};
var children = [];
- for (var i=0 ; i < trace_node.data.base.children.length ; ++i) {
- children.push(create_flow_tree(trace_node.data.base.children[i]));
+ for (var i=0 ; i < get_base(trace_node).children.length ; ++i) {
+ children.push(create_flow_tree(get_base(trace_node).children[i]));
}
if (children.length > 0) {
@@ -109,13 +119,13 @@
}
function create_flow_hash(trace_node, flow_hash) {
- flow_hash[trace_node.data.base.id] = trace_node;
+ flow_hash[get_base(trace_node).id] = trace_node;
- for (var i=0 ; i < trace_node.data.base.children.length ; ++i) {
- create_flow_hash(trace_node.data.base.children[i], flow_hash);
+ for (var i=0 ; i < get_base(trace_node).children.length ; ++i) {
+ create_flow_hash(get_base(trace_node).children[i], flow_hash);
}
- delete trace_node.data.base.children;
+ delete get_base(trace_node).children;
}
function flatten_trace(trace_node) {
@@ -182,6 +192,10 @@
if (obj.data !== undefined && obj.data.base !== undefined) {
return obj.data.base.id;
}
+ if (obj.data !== undefined && obj.data.block_flow !== undefined &&
+ obj.data.block_flow.base !== undefined) {
+ return obj.data.block_flow.base.id;
+ }
if (obj.id !== undefined) {
return obj.id;
}