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

Side by Side Diff: tracing/tracing/model/async_slice.html

Issue 2162963002: [polymer] Merge of master into polymer10-migration (Closed) Base URL: git@github.com:catapult-project/catapult.git@polymer10-migration
Patch Set: Merge polymer10-migration int polymer10-merge Created 4 years, 5 months 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 unified diff | Download patch
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <!-- 2 <!--
3 Copyright (c) 2013 The Chromium Authors. All rights reserved. 3 Copyright (c) 2013 The Chromium Authors. All rights reserved.
4 Use of this source code is governed by a BSD-style license that can be 4 Use of this source code is governed by a BSD-style license that can be
5 found in the LICENSE file. 5 found in the LICENSE file.
6 --> 6 -->
7 7
8 <link rel="import" href="/tracing/base/extension_registry.html"> 8 <link rel="import" href="/tracing/base/extension_registry.html">
9 <link rel="import" href="/tracing/model/timed_event.html"> 9 <link rel="import" href="/tracing/model/timed_event.html">
10 <link rel="import" href="/tracing/value/unit.html"> 10 <link rel="import" href="/tracing/value/unit.html">
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 return 'Async slice ' + this.title + ' at ' + 96 return 'Async slice ' + this.title + ' at ' +
97 tr.v.Unit.byName.timeStampInMs.format(this.start); 97 tr.v.Unit.byName.timeStampInMs.format(this.start);
98 }, 98 },
99 99
100 get stableId() { 100 get stableId() {
101 var parentAsyncSliceGroup = this.parentContainer.asyncSliceGroup; 101 var parentAsyncSliceGroup = this.parentContainer.asyncSliceGroup;
102 return parentAsyncSliceGroup.stableId + '.' + 102 return parentAsyncSliceGroup.stableId + '.' +
103 parentAsyncSliceGroup.slices.indexOf(this); 103 parentAsyncSliceGroup.slices.indexOf(this);
104 }, 104 },
105 105
106 findTopmostSlicesRelativeToThisSlice: function(eventPredicate, callback, 106 findTopmostSlicesRelativeToThisSlice: function*(eventPredicate, opt_this) {
107 opt_this) { 107 if (eventPredicate(this)) {
108 if (eventPredicate(this)) 108 yield this;
109 callback.call(opt_this, this); 109 return;
110 else {
111 this.subSlices.forEach(function(s) {
112 s.findTopmostSlicesRelativeToThisSlice(eventPredicate, callback,
113 opt_this);
114 });
115 } 110 }
111 for (var s of this.subSlices)
112 yield * s.findTopmostSlicesRelativeToThisSlice(eventPredicate);
116 }, 113 },
117 114
118 findDescendentSlice: function(targetTitle) { 115 findDescendentSlice: function(targetTitle) {
119 if (!this.subSlices) 116 if (!this.subSlices)
120 return undefined; 117 return undefined;
121 118
122 for (var i = 0; i < this.subSlices.length; i++) { 119 for (var i = 0; i < this.subSlices.length; i++) {
123 if (this.subSlices[i].title == targetTitle) 120 if (this.subSlices[i].title == targetTitle)
124 return this.subSlices[i]; 121 return this.subSlices[i];
125 var slice = this.subSlices[i].findDescendentSlice(targetTitle); 122 var slice = this.subSlices[i].findDescendentSlice(targetTitle);
126 if (slice) return slice; 123 if (slice) return slice;
127 } 124 }
128 return undefined; 125 return undefined;
129 }, 126 },
130 127
131 iterateAllDescendents: function(callback, opt_this) { 128 enumerateAllDescendents: function*() {
132 this.subSlices.forEach(callback, opt_this); 129 for (var slice of this.subSlices)
133 this.subSlices.forEach(function(subSlice) { 130 yield slice;
134 subSlice.iterateAllDescendents(callback, opt_this); 131 for (var slice of this.subSlices)
135 }, opt_this); 132 yield * slice.enumerateAllDescendents();
136 }, 133 },
137 134
138 compareTo: function(that) { 135 compareTo: function(that) {
139 return this.title.localeCompare(that.title); 136 return this.title.localeCompare(that.title);
140 } 137 }
141 }; 138 };
142 139
143 tr.model.EventRegistry.register( 140 tr.model.EventRegistry.register(
144 AsyncSlice, 141 AsyncSlice,
145 { 142 {
146 name: 'asyncSlice', 143 name: 'asyncSlice',
147 pluralName: 'asyncSlices', 144 pluralName: 'asyncSlices',
148 singleViewElementName: 'tr-ui-a-single-async-slice-sub-view', 145 singleViewElementName: 'tr-ui-a-single-async-slice-sub-view',
149 multiViewElementName: 'tr-ui-a-multi-async-slice-sub-view' 146 multiViewElementName: 'tr-ui-a-multi-async-slice-sub-view'
150 }); 147 });
151 148
152 149
153 var options = new tr.b.ExtensionRegistryOptions( 150 var options = new tr.b.ExtensionRegistryOptions(
154 tr.b.TYPE_BASED_REGISTRY_MODE); 151 tr.b.TYPE_BASED_REGISTRY_MODE);
155 options.mandatoryBaseClass = AsyncSlice; 152 options.mandatoryBaseClass = AsyncSlice;
156 options.defaultConstructor = AsyncSlice; 153 options.defaultConstructor = AsyncSlice;
157 tr.b.decorateExtensionRegistry(AsyncSlice, options); 154 tr.b.decorateExtensionRegistry(AsyncSlice, options);
158 155
159 return { 156 return {
160 AsyncSlice: AsyncSlice 157 AsyncSlice: AsyncSlice
161 }; 158 };
162 }); 159 });
163 </script> 160 </script>
OLDNEW
« no previous file with comments | « tracing/tracing/metrics/v8/v8_metrics.html ('k') | tracing/tracing/model/async_slice_group.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698