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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/profiler/HeapSnapshotCommon.js

Issue 2493373002: DevTools: rename WebInspector into modules. (Closed)
Patch Set: for bots Created 4 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2014 Google Inc. All rights reserved. 2 * Copyright (C) 2014 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
11 * copyright notice, this list of conditions and the following disclaimer 11 * copyright notice, this list of conditions and the following disclaimer
12 * in the documentation and/or other materials provided with the 12 * in the documentation and/or other materials provided with the
13 * distribution. 13 * distribution.
14 * * Neither the name of Google Inc. nor the names of its 14 * * Neither the name of Google Inc. nor the names of its
15 * contributors may be used to endorse or promote products derived from 15 * contributors may be used to endorse or promote products derived from
16 * this software without specific prior written permission. 16 * this software without specific prior written permission.
17 * 17 *
18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 WebInspector.HeapSnapshotProgressEvent = { 30
31 self['Profiler'] = self['Profiler'] || {};
32
33 Profiler.HeapSnapshotProgressEvent = {
31 Update: 'ProgressUpdate', 34 Update: 'ProgressUpdate',
32 BrokenSnapshot: 'BrokenSnapshot' 35 BrokenSnapshot: 'BrokenSnapshot'
33 }; 36 };
34 37
35 WebInspector.HeapSnapshotCommon = {}; 38 Profiler.HeapSnapshotCommon = {};
36 39
37 WebInspector.HeapSnapshotCommon.baseSystemDistance = 100000000; 40 Profiler.HeapSnapshotCommon.baseSystemDistance = 100000000;
38 41
39 /** 42 /**
40 * @unrestricted 43 * @unrestricted
41 */ 44 */
42 WebInspector.HeapSnapshotCommon.AllocationNodeCallers = class { 45 Profiler.HeapSnapshotCommon.AllocationNodeCallers = class {
43 /** 46 /**
44 * @param {!Array.<!WebInspector.HeapSnapshotCommon.SerializedAllocationNode>} nodesWithSingleCaller 47 * @param {!Array.<!Profiler.HeapSnapshotCommon.SerializedAllocationNode>} nod esWithSingleCaller
45 * @param {!Array.<!WebInspector.HeapSnapshotCommon.SerializedAllocationNode>} branchingCallers 48 * @param {!Array.<!Profiler.HeapSnapshotCommon.SerializedAllocationNode>} bra nchingCallers
46 */ 49 */
47 constructor(nodesWithSingleCaller, branchingCallers) { 50 constructor(nodesWithSingleCaller, branchingCallers) {
48 /** @type {!Array.<!WebInspector.HeapSnapshotCommon.SerializedAllocationNode >} */ 51 /** @type {!Array.<!Profiler.HeapSnapshotCommon.SerializedAllocationNode>} * /
49 this.nodesWithSingleCaller = nodesWithSingleCaller; 52 this.nodesWithSingleCaller = nodesWithSingleCaller;
50 /** @type {!Array.<!WebInspector.HeapSnapshotCommon.SerializedAllocationNode >} */ 53 /** @type {!Array.<!Profiler.HeapSnapshotCommon.SerializedAllocationNode>} * /
51 this.branchingCallers = branchingCallers; 54 this.branchingCallers = branchingCallers;
52 } 55 }
53 }; 56 };
54 57
55 /** 58 /**
56 * @unrestricted 59 * @unrestricted
57 */ 60 */
58 WebInspector.HeapSnapshotCommon.SerializedAllocationNode = class { 61 Profiler.HeapSnapshotCommon.SerializedAllocationNode = class {
59 /** 62 /**
60 * @param {number} nodeId 63 * @param {number} nodeId
61 * @param {string} functionName 64 * @param {string} functionName
62 * @param {string} scriptName 65 * @param {string} scriptName
63 * @param {number} scriptId 66 * @param {number} scriptId
64 * @param {number} line 67 * @param {number} line
65 * @param {number} column 68 * @param {number} column
66 * @param {number} count 69 * @param {number} count
67 * @param {number} size 70 * @param {number} size
68 * @param {number} liveCount 71 * @param {number} liveCount
(...skipping 22 matching lines...) Expand all
91 /** @type {number} */ 94 /** @type {number} */
92 this.liveSize = liveSize; 95 this.liveSize = liveSize;
93 /** @type {boolean} */ 96 /** @type {boolean} */
94 this.hasChildren = hasChildren; 97 this.hasChildren = hasChildren;
95 } 98 }
96 }; 99 };
97 100
98 /** 101 /**
99 * @unrestricted 102 * @unrestricted
100 */ 103 */
101 WebInspector.HeapSnapshotCommon.AllocationStackFrame = class { 104 Profiler.HeapSnapshotCommon.AllocationStackFrame = class {
102 /** 105 /**
103 * @param {string} functionName 106 * @param {string} functionName
104 * @param {string} scriptName 107 * @param {string} scriptName
105 * @param {number} scriptId 108 * @param {number} scriptId
106 * @param {number} line 109 * @param {number} line
107 * @param {number} column 110 * @param {number} column
108 */ 111 */
109 constructor(functionName, scriptName, scriptId, line, column) { 112 constructor(functionName, scriptName, scriptId, line, column) {
110 /** @type {string} */ 113 /** @type {string} */
111 this.functionName = functionName; 114 this.functionName = functionName;
112 /** @type {string} */ 115 /** @type {string} */
113 this.scriptName = scriptName; 116 this.scriptName = scriptName;
114 /** @type {number} */ 117 /** @type {number} */
115 this.scriptId = scriptId; 118 this.scriptId = scriptId;
116 /** @type {number} */ 119 /** @type {number} */
117 this.line = line; 120 this.line = line;
118 /** @type {number} */ 121 /** @type {number} */
119 this.column = column; 122 this.column = column;
120 } 123 }
121 }; 124 };
122 125
123 /** 126 /**
124 * @unrestricted 127 * @unrestricted
125 */ 128 */
126 WebInspector.HeapSnapshotCommon.Node = class { 129 Profiler.HeapSnapshotCommon.Node = class {
127 /** 130 /**
128 * @param {number} id 131 * @param {number} id
129 * @param {string} name 132 * @param {string} name
130 * @param {number} distance 133 * @param {number} distance
131 * @param {number} nodeIndex 134 * @param {number} nodeIndex
132 * @param {number} retainedSize 135 * @param {number} retainedSize
133 * @param {number} selfSize 136 * @param {number} selfSize
134 * @param {string} type 137 * @param {string} type
135 */ 138 */
136 constructor(id, name, distance, nodeIndex, retainedSize, selfSize, type) { 139 constructor(id, name, distance, nodeIndex, retainedSize, selfSize, type) {
137 this.id = id; 140 this.id = id;
138 this.name = name; 141 this.name = name;
139 this.distance = distance; 142 this.distance = distance;
140 this.nodeIndex = nodeIndex; 143 this.nodeIndex = nodeIndex;
141 this.retainedSize = retainedSize; 144 this.retainedSize = retainedSize;
142 this.selfSize = selfSize; 145 this.selfSize = selfSize;
143 this.type = type; 146 this.type = type;
144 147
145 this.canBeQueried = false; 148 this.canBeQueried = false;
146 this.detachedDOMTreeNode = false; 149 this.detachedDOMTreeNode = false;
147 } 150 }
148 }; 151 };
149 152
150 /** 153 /**
151 * @unrestricted 154 * @unrestricted
152 */ 155 */
153 WebInspector.HeapSnapshotCommon.Edge = class { 156 Profiler.HeapSnapshotCommon.Edge = class {
154 /** 157 /**
155 * @param {string} name 158 * @param {string} name
156 * @param {!WebInspector.HeapSnapshotCommon.Node} node 159 * @param {!Profiler.HeapSnapshotCommon.Node} node
157 * @param {string} type 160 * @param {string} type
158 * @param {number} edgeIndex 161 * @param {number} edgeIndex
159 */ 162 */
160 constructor(name, node, type, edgeIndex) { 163 constructor(name, node, type, edgeIndex) {
161 this.name = name; 164 this.name = name;
162 this.node = node; 165 this.node = node;
163 this.type = type; 166 this.type = type;
164 this.edgeIndex = edgeIndex; 167 this.edgeIndex = edgeIndex;
165 } 168 }
166 }; 169 };
167 170
168 /** 171 /**
169 * @unrestricted 172 * @unrestricted
170 */ 173 */
171 WebInspector.HeapSnapshotCommon.Aggregate = class { 174 Profiler.HeapSnapshotCommon.Aggregate = class {
172 constructor() { 175 constructor() {
173 /** @type {number} */ 176 /** @type {number} */
174 this.count; 177 this.count;
175 /** @type {number} */ 178 /** @type {number} */
176 this.distance; 179 this.distance;
177 /** @type {number} */ 180 /** @type {number} */
178 this.self; 181 this.self;
179 /** @type {number} */ 182 /** @type {number} */
180 this.maxRet; 183 this.maxRet;
181 /** @type {number} */ 184 /** @type {number} */
182 this.type; 185 this.type;
183 /** @type {string} */ 186 /** @type {string} */
184 this.name; 187 this.name;
185 /** @type {!Array.<number>} */ 188 /** @type {!Array.<number>} */
186 this.idxs; 189 this.idxs;
187 } 190 }
188 }; 191 };
189 192
190 /** 193 /**
191 * @unrestricted 194 * @unrestricted
192 */ 195 */
193 WebInspector.HeapSnapshotCommon.AggregateForDiff = class { 196 Profiler.HeapSnapshotCommon.AggregateForDiff = class {
194 constructor() { 197 constructor() {
195 /** @type {!Array.<number>} */ 198 /** @type {!Array.<number>} */
196 this.indexes = []; 199 this.indexes = [];
197 /** @type {!Array.<string>} */ 200 /** @type {!Array.<string>} */
198 this.ids = []; 201 this.ids = [];
199 /** @type {!Array.<number>} */ 202 /** @type {!Array.<number>} */
200 this.selfSizes = []; 203 this.selfSizes = [];
201 } 204 }
202 }; 205 };
203 206
204 /** 207 /**
205 * @unrestricted 208 * @unrestricted
206 */ 209 */
207 WebInspector.HeapSnapshotCommon.Diff = class { 210 Profiler.HeapSnapshotCommon.Diff = class {
208 constructor() { 211 constructor() {
209 /** @type {number} */ 212 /** @type {number} */
210 this.addedCount = 0; 213 this.addedCount = 0;
211 /** @type {number} */ 214 /** @type {number} */
212 this.removedCount = 0; 215 this.removedCount = 0;
213 /** @type {number} */ 216 /** @type {number} */
214 this.addedSize = 0; 217 this.addedSize = 0;
215 /** @type {number} */ 218 /** @type {number} */
216 this.removedSize = 0; 219 this.removedSize = 0;
217 /** @type {!Array.<number>} */ 220 /** @type {!Array.<number>} */
218 this.deletedIndexes = []; 221 this.deletedIndexes = [];
219 /** @type {!Array.<number>} */ 222 /** @type {!Array.<number>} */
220 this.addedIndexes = []; 223 this.addedIndexes = [];
221 } 224 }
222 }; 225 };
223 226
224 /** 227 /**
225 * @unrestricted 228 * @unrestricted
226 */ 229 */
227 WebInspector.HeapSnapshotCommon.DiffForClass = class { 230 Profiler.HeapSnapshotCommon.DiffForClass = class {
228 constructor() { 231 constructor() {
229 /** @type {number} */ 232 /** @type {number} */
230 this.addedCount; 233 this.addedCount;
231 /** @type {number} */ 234 /** @type {number} */
232 this.removedCount; 235 this.removedCount;
233 /** @type {number} */ 236 /** @type {number} */
234 this.addedSize; 237 this.addedSize;
235 /** @type {number} */ 238 /** @type {number} */
236 this.removedSize; 239 this.removedSize;
237 /** @type {!Array.<number>} */ 240 /** @type {!Array.<number>} */
238 this.deletedIndexes; 241 this.deletedIndexes;
239 /** @type {!Array.<number>} */ 242 /** @type {!Array.<number>} */
240 this.addedIndexes; 243 this.addedIndexes;
241 244
242 /** @type {number} */ 245 /** @type {number} */
243 this.countDelta; 246 this.countDelta;
244 /** @type {number} */ 247 /** @type {number} */
245 this.sizeDelta; 248 this.sizeDelta;
246 } 249 }
247 }; 250 };
248 251
249 /** 252 /**
250 * @unrestricted 253 * @unrestricted
251 */ 254 */
252 WebInspector.HeapSnapshotCommon.ComparatorConfig = class { 255 Profiler.HeapSnapshotCommon.ComparatorConfig = class {
253 constructor() { 256 constructor() {
254 /** @type {string} */ 257 /** @type {string} */
255 this.fieldName1; 258 this.fieldName1;
256 /** @type {boolean} */ 259 /** @type {boolean} */
257 this.ascending1; 260 this.ascending1;
258 /** @type {string} */ 261 /** @type {string} */
259 this.fieldName2; 262 this.fieldName2;
260 /** @type {boolean} */ 263 /** @type {boolean} */
261 this.ascending2; 264 this.ascending2;
262 } 265 }
263 }; 266 };
264 267
265 /** 268 /**
266 * @unrestricted 269 * @unrestricted
267 */ 270 */
268 WebInspector.HeapSnapshotCommon.WorkerCommand = class { 271 Profiler.HeapSnapshotCommon.WorkerCommand = class {
269 constructor() { 272 constructor() {
270 /** @type {number} */ 273 /** @type {number} */
271 this.callId; 274 this.callId;
272 /** @type {string} */ 275 /** @type {string} */
273 this.disposition; 276 this.disposition;
274 /** @type {number} */ 277 /** @type {number} */
275 this.objectId; 278 this.objectId;
276 /** @type {number} */ 279 /** @type {number} */
277 this.newObjectId; 280 this.newObjectId;
278 /** @type {string} */ 281 /** @type {string} */
279 this.methodName; 282 this.methodName;
280 /** @type {!Array.<*>} */ 283 /** @type {!Array.<*>} */
281 this.methodArguments; 284 this.methodArguments;
282 /** @type {string} */ 285 /** @type {string} */
283 this.source; 286 this.source;
284 } 287 }
285 }; 288 };
286 289
287 /** 290 /**
288 * @unrestricted 291 * @unrestricted
289 */ 292 */
290 WebInspector.HeapSnapshotCommon.ItemsRange = class { 293 Profiler.HeapSnapshotCommon.ItemsRange = class {
291 /** 294 /**
292 * @param {number} startPosition 295 * @param {number} startPosition
293 * @param {number} endPosition 296 * @param {number} endPosition
294 * @param {number} totalLength 297 * @param {number} totalLength
295 * @param {!Array.<*>} items 298 * @param {!Array.<*>} items
296 */ 299 */
297 constructor(startPosition, endPosition, totalLength, items) { 300 constructor(startPosition, endPosition, totalLength, items) {
298 /** @type {number} */ 301 /** @type {number} */
299 this.startPosition = startPosition; 302 this.startPosition = startPosition;
300 /** @type {number} */ 303 /** @type {number} */
301 this.endPosition = endPosition; 304 this.endPosition = endPosition;
302 /** @type {number} */ 305 /** @type {number} */
303 this.totalLength = totalLength; 306 this.totalLength = totalLength;
304 /** @type {!Array.<*>} */ 307 /** @type {!Array.<*>} */
305 this.items = items; 308 this.items = items;
306 } 309 }
307 }; 310 };
308 311
309 /** 312 /**
310 * @unrestricted 313 * @unrestricted
311 */ 314 */
312 WebInspector.HeapSnapshotCommon.StaticData = class { 315 Profiler.HeapSnapshotCommon.StaticData = class {
313 /** 316 /**
314 * @param {number} nodeCount 317 * @param {number} nodeCount
315 * @param {number} rootNodeIndex 318 * @param {number} rootNodeIndex
316 * @param {number} totalSize 319 * @param {number} totalSize
317 * @param {number} maxJSObjectId 320 * @param {number} maxJSObjectId
318 */ 321 */
319 constructor(nodeCount, rootNodeIndex, totalSize, maxJSObjectId) { 322 constructor(nodeCount, rootNodeIndex, totalSize, maxJSObjectId) {
320 /** @type {number} */ 323 /** @type {number} */
321 this.nodeCount = nodeCount; 324 this.nodeCount = nodeCount;
322 /** @type {number} */ 325 /** @type {number} */
323 this.rootNodeIndex = rootNodeIndex; 326 this.rootNodeIndex = rootNodeIndex;
324 /** @type {number} */ 327 /** @type {number} */
325 this.totalSize = totalSize; 328 this.totalSize = totalSize;
326 /** @type {number} */ 329 /** @type {number} */
327 this.maxJSObjectId = maxJSObjectId; 330 this.maxJSObjectId = maxJSObjectId;
328 } 331 }
329 }; 332 };
330 333
331 /** 334 /**
332 * @unrestricted 335 * @unrestricted
333 */ 336 */
334 WebInspector.HeapSnapshotCommon.Statistics = class { 337 Profiler.HeapSnapshotCommon.Statistics = class {
335 constructor() { 338 constructor() {
336 /** @type {number} */ 339 /** @type {number} */
337 this.total; 340 this.total;
338 /** @type {number} */ 341 /** @type {number} */
339 this.v8heap; 342 this.v8heap;
340 /** @type {number} */ 343 /** @type {number} */
341 this.native; 344 this.native;
342 /** @type {number} */ 345 /** @type {number} */
343 this.code; 346 this.code;
344 /** @type {number} */ 347 /** @type {number} */
345 this.jsArrays; 348 this.jsArrays;
346 /** @type {number} */ 349 /** @type {number} */
347 this.strings; 350 this.strings;
348 /** @type {number} */ 351 /** @type {number} */
349 this.system; 352 this.system;
350 } 353 }
351 }; 354 };
352 355
353 /** 356 /**
354 * @unrestricted 357 * @unrestricted
355 */ 358 */
356 WebInspector.HeapSnapshotCommon.NodeFilter = class { 359 Profiler.HeapSnapshotCommon.NodeFilter = class {
357 /** 360 /**
358 * @param {number=} minNodeId 361 * @param {number=} minNodeId
359 * @param {number=} maxNodeId 362 * @param {number=} maxNodeId
360 */ 363 */
361 constructor(minNodeId, maxNodeId) { 364 constructor(minNodeId, maxNodeId) {
362 /** @type {number|undefined} */ 365 /** @type {number|undefined} */
363 this.minNodeId = minNodeId; 366 this.minNodeId = minNodeId;
364 /** @type {number|undefined} */ 367 /** @type {number|undefined} */
365 this.maxNodeId = maxNodeId; 368 this.maxNodeId = maxNodeId;
366 /** @type {number|undefined} */ 369 /** @type {number|undefined} */
367 this.allocationNodeId; 370 this.allocationNodeId;
368 } 371 }
369 372
370 /** 373 /**
371 * @param {!WebInspector.HeapSnapshotCommon.NodeFilter} o 374 * @param {!Profiler.HeapSnapshotCommon.NodeFilter} o
372 * @return {boolean} 375 * @return {boolean}
373 */ 376 */
374 equals(o) { 377 equals(o) {
375 return this.minNodeId === o.minNodeId && this.maxNodeId === o.maxNodeId && 378 return this.minNodeId === o.minNodeId && this.maxNodeId === o.maxNodeId &&
376 this.allocationNodeId === o.allocationNodeId; 379 this.allocationNodeId === o.allocationNodeId;
377 } 380 }
378 }; 381 };
379 382
380 /** 383 /**
381 * @unrestricted 384 * @unrestricted
382 */ 385 */
383 WebInspector.HeapSnapshotCommon.SearchConfig = class { 386 Profiler.HeapSnapshotCommon.SearchConfig = class {
384 /** 387 /**
385 * @param {string} query 388 * @param {string} query
386 * @param {boolean} caseSensitive 389 * @param {boolean} caseSensitive
387 * @param {boolean} isRegex 390 * @param {boolean} isRegex
388 * @param {boolean} shouldJump 391 * @param {boolean} shouldJump
389 * @param {boolean} jumpBackward 392 * @param {boolean} jumpBackward
390 */ 393 */
391 constructor(query, caseSensitive, isRegex, shouldJump, jumpBackward) { 394 constructor(query, caseSensitive, isRegex, shouldJump, jumpBackward) {
392 this.query = query; 395 this.query = query;
393 this.caseSensitive = caseSensitive; 396 this.caseSensitive = caseSensitive;
394 this.isRegex = isRegex; 397 this.isRegex = isRegex;
395 this.shouldJump = shouldJump; 398 this.shouldJump = shouldJump;
396 this.jumpBackward = jumpBackward; 399 this.jumpBackward = jumpBackward;
397 } 400 }
398 }; 401 };
399 402
400 /** 403 /**
401 * @unrestricted 404 * @unrestricted
402 */ 405 */
403 WebInspector.HeapSnapshotCommon.Samples = class { 406 Profiler.HeapSnapshotCommon.Samples = class {
404 /** 407 /**
405 * @param {!Array.<number>} timestamps 408 * @param {!Array.<number>} timestamps
406 * @param {!Array.<number>} lastAssignedIds 409 * @param {!Array.<number>} lastAssignedIds
407 * @param {!Array.<number>} sizes 410 * @param {!Array.<number>} sizes
408 */ 411 */
409 constructor(timestamps, lastAssignedIds, sizes) { 412 constructor(timestamps, lastAssignedIds, sizes) {
410 this.timestamps = timestamps; 413 this.timestamps = timestamps;
411 this.lastAssignedIds = lastAssignedIds; 414 this.lastAssignedIds = lastAssignedIds;
412 this.sizes = sizes; 415 this.sizes = sizes;
413 } 416 }
414 }; 417 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698