OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 /** | 4 /** |
5 * @unrestricted | 5 * @unrestricted |
6 */ | 6 */ |
7 WebInspector.NetworkTimelineColumn = class extends WebInspector.VBox { | 7 WebInspector.NetworkWaterfallColumn = class extends WebInspector.VBox { |
8 /** | 8 /** |
9 * @param {number} rowHeight | 9 * @param {number} rowHeight |
10 * @param {!WebInspector.NetworkTimeCalculator} calculator | 10 * @param {!WebInspector.NetworkTimeCalculator} calculator |
11 */ | 11 */ |
12 constructor(rowHeight, calculator) { | 12 constructor(rowHeight, calculator) { |
13 // TODO(allada) Make this a shadowDOM when the NetworkTimelineColumn gets mo
ved into NetworkLogViewColumns. | 13 // TODO(allada) Make this a shadowDOM when the NetworkWaterfallColumn gets m
oved into NetworkLogViewColumns. |
14 super(false); | 14 super(false); |
15 this.registerRequiredCSS('network/networkTimelineColumn.css'); | 15 this.registerRequiredCSS('network/networkWaterfallColumn.css'); |
16 | 16 |
17 this._canvas = this.contentElement.createChild('canvas'); | 17 this._canvas = this.contentElement.createChild('canvas'); |
18 this._canvas.tabIndex = 1; | 18 this._canvas.tabIndex = 1; |
19 this.setDefaultFocusedElement(this._canvas); | 19 this.setDefaultFocusedElement(this._canvas); |
20 this._canvasPosition = this._canvas.getBoundingClientRect(); | 20 this._canvasPosition = this._canvas.getBoundingClientRect(); |
21 | 21 |
22 /** @const */ | 22 /** @const */ |
23 this._leftPadding = 5; | 23 this._leftPadding = 5; |
24 /** @const */ | 24 /** @const */ |
25 this._fontSize = 10; | 25 this._fontSize = 10; |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
178 | 178 |
179 scheduleDraw() { | 179 scheduleDraw() { |
180 if (this._updateRequestID) | 180 if (this._updateRequestID) |
181 return; | 181 return; |
182 this._updateRequestID = this.element.window().requestAnimationFrame(() => th
is.update()); | 182 this._updateRequestID = this.element.window().requestAnimationFrame(() => th
is.update()); |
183 } | 183 } |
184 | 184 |
185 /** | 185 /** |
186 * @param {number=} scrollTop | 186 * @param {number=} scrollTop |
187 * @param {!Map<string, !Array<number>>=} eventDividers | 187 * @param {!Map<string, !Array<number>>=} eventDividers |
188 * @param {!WebInspector.NetworkTimelineColumn.RequestData=} requestData | 188 * @param {!WebInspector.NetworkWaterfallColumn.RequestData=} requestData |
189 */ | 189 */ |
190 update(scrollTop, eventDividers, requestData) { | 190 update(scrollTop, eventDividers, requestData) { |
191 if (scrollTop !== undefined) | 191 if (scrollTop !== undefined) |
192 this._scrollTop = scrollTop; | 192 this._scrollTop = scrollTop; |
193 if (requestData) { | 193 if (requestData) { |
194 this._requestData = requestData.requests; | 194 this._requestData = requestData.requests; |
195 this._navigationRequest = requestData.navigationRequest; | 195 this._navigationRequest = requestData.navigationRequest; |
196 this._calculateCanvasSize(); | 196 this._calculateCanvasSize(); |
197 } | 197 } |
198 if (eventDividers !== undefined) | 198 if (eventDividers !== undefined) |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
317 context.lineTo(x, this._offsetHeight); | 317 context.lineTo(x, this._offsetHeight); |
318 } | 318 } |
319 context.stroke(); | 319 context.stroke(); |
320 } | 320 } |
321 context.restore(); | 321 context.restore(); |
322 } | 322 } |
323 | 323 |
324 /** | 324 /** |
325 * @return {number} | 325 * @return {number} |
326 */ | 326 */ |
327 _timelineDuration() { | 327 _waterfallDuration() { |
328 return this._calculator.maximumBoundary() - this._calculator.minimumBoundary
(); | 328 return this._calculator.maximumBoundary() - this._calculator.minimumBoundary
(); |
329 } | 329 } |
330 | 330 |
331 /** | 331 /** |
332 * @param {!WebInspector.RequestTimeRangeNames=} type | 332 * @param {!WebInspector.RequestTimeRangeNames=} type |
333 * @return {number} | 333 * @return {number} |
334 */ | 334 */ |
335 _getBarHeight(type) { | 335 _getBarHeight(type) { |
336 var types = WebInspector.RequestTimeRangeNames; | 336 var types = WebInspector.RequestTimeRangeNames; |
337 switch (type) { | 337 switch (type) { |
(...skipping 11 matching lines...) Expand all Loading... |
349 } | 349 } |
350 | 350 |
351 /** | 351 /** |
352 * @param {!WebInspector.NetworkRequest} request | 352 * @param {!WebInspector.NetworkRequest} request |
353 * @return {string} | 353 * @return {string} |
354 */ | 354 */ |
355 _borderColorForResourceType(request) { | 355 _borderColorForResourceType(request) { |
356 var resourceType = request.resourceType(); | 356 var resourceType = request.resourceType(); |
357 if (this._borderColorsForResourceTypeCache.has(resourceType)) | 357 if (this._borderColorsForResourceTypeCache.has(resourceType)) |
358 return this._borderColorsForResourceTypeCache.get(resourceType); | 358 return this._borderColorsForResourceTypeCache.get(resourceType); |
359 var colorsForResourceType = WebInspector.NetworkTimelineColumn._colorsForRes
ourceType; | 359 var colorsForResourceType = WebInspector.NetworkWaterfallColumn._colorsForRe
sourceType; |
360 var color = colorsForResourceType[resourceType] || colorsForResourceType.Oth
er; | 360 var color = colorsForResourceType[resourceType] || colorsForResourceType.Oth
er; |
361 var parsedColor = WebInspector.Color.parse(color); | 361 var parsedColor = WebInspector.Color.parse(color); |
362 var hsla = parsedColor.hsla(); | 362 var hsla = parsedColor.hsla(); |
363 hsla[1] /= 2; | 363 hsla[1] /= 2; |
364 hsla[2] -= Math.min(hsla[2], 0.2); | 364 hsla[2] -= Math.min(hsla[2], 0.2); |
365 var resultColor = /** @type {string} */ (parsedColor.asString(null)); | 365 var resultColor = /** @type {string} */ (parsedColor.asString(null)); |
366 this._borderColorsForResourceTypeCache.set(resourceType, resultColor); | 366 this._borderColorsForResourceTypeCache.set(resourceType, resultColor); |
367 return resultColor; | 367 return resultColor; |
368 } | 368 } |
369 | 369 |
370 /** | 370 /** |
371 * @param {!CanvasRenderingContext2D} context | 371 * @param {!CanvasRenderingContext2D} context |
372 * @param {!WebInspector.NetworkRequest} request | 372 * @param {!WebInspector.NetworkRequest} request |
373 * @return {string|!CanvasGradient} | 373 * @return {string|!CanvasGradient} |
374 */ | 374 */ |
375 _colorForResourceType(context, request) { | 375 _colorForResourceType(context, request) { |
376 var colorsForResourceType = WebInspector.NetworkTimelineColumn._colorsForRes
ourceType; | 376 var colorsForResourceType = WebInspector.NetworkWaterfallColumn._colorsForRe
sourceType; |
377 var resourceType = request.resourceType(); | 377 var resourceType = request.resourceType(); |
378 var color = colorsForResourceType[resourceType] || colorsForResourceType.Oth
er; | 378 var color = colorsForResourceType[resourceType] || colorsForResourceType.Oth
er; |
379 if (request.cached()) | 379 if (request.cached()) |
380 return color; | 380 return color; |
381 | 381 |
382 if (this._colorsForResourceTypeCache.has(color)) | 382 if (this._colorsForResourceTypeCache.has(color)) |
383 return this._colorsForResourceTypeCache.get(color); | 383 return this._colorsForResourceTypeCache.get(color); |
384 var parsedColor = WebInspector.Color.parse(color); | 384 var parsedColor = WebInspector.Color.parse(color); |
385 var hsla = parsedColor.hsla(); | 385 var hsla = parsedColor.hsla(); |
386 hsla[1] -= Math.min(hsla[1], 0.28); | 386 hsla[1] -= Math.min(hsla[1], 0.28); |
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
577 return; | 577 return; |
578 context.save(); | 578 context.save(); |
579 context.beginPath(); | 579 context.beginPath(); |
580 context.fillStyle = color; | 580 context.fillStyle = color; |
581 context.rect(0, y, this._offsetWidth, this._rowHeight); | 581 context.rect(0, y, this._offsetWidth, this._rowHeight); |
582 context.fill(); | 582 context.fill(); |
583 context.restore(); | 583 context.restore(); |
584 | 584 |
585 /** | 585 /** |
586 * @return {string} | 586 * @return {string} |
587 * @this {WebInspector.NetworkTimelineColumn} | 587 * @this {WebInspector.NetworkWaterfallColumn} |
588 */ | 588 */ |
589 function getRowColor() { | 589 function getRowColor() { |
590 if (this._hoveredRequest === request) | 590 if (this._hoveredRequest === request) |
591 return this._rowHoverColor; | 591 return this._rowHoverColor; |
592 if (this._initiatorGraph) { | 592 if (this._initiatorGraph) { |
593 if (this._initiatorGraph.initiators.has(request)) | 593 if (this._initiatorGraph.initiators.has(request)) |
594 return this._parentInitiatorColor; | 594 return this._parentInitiatorColor; |
595 if (this._initiatorGraph.initiated.has(request)) | 595 if (this._initiatorGraph.initiated.has(request)) |
596 return this._initiatedColor; | 596 return this._initiatedColor; |
597 } | 597 } |
598 if (this._navigationRequest === request) | 598 if (this._navigationRequest === request) |
599 return this._rowNavigationRequestColor; | 599 return this._rowNavigationRequestColor; |
600 if (rowNumber % 2 === 1) | 600 if (rowNumber % 2 === 1) |
601 return 'transparent'; | 601 return 'transparent'; |
602 return this._rowStripeColor; | 602 return this._rowStripeColor; |
603 } | 603 } |
604 } | 604 } |
605 }; | 605 }; |
606 | 606 |
607 /** | 607 /** |
608 * @typedef {{requests: !Array<!WebInspector.NetworkRequest>, navigationRequest:
?WebInspector.NetworkRequest}} | 608 * @typedef {{requests: !Array<!WebInspector.NetworkRequest>, navigationRequest:
?WebInspector.NetworkRequest}} |
609 */ | 609 */ |
610 WebInspector.NetworkTimelineColumn.RequestData; | 610 WebInspector.NetworkWaterfallColumn.RequestData; |
611 | 611 |
612 WebInspector.NetworkTimelineColumn._colorsForResourceType = { | 612 WebInspector.NetworkWaterfallColumn._colorsForResourceType = { |
613 document: 'hsl(215, 100%, 80%)', | 613 document: 'hsl(215, 100%, 80%)', |
614 font: 'hsl(8, 100%, 80%)', | 614 font: 'hsl(8, 100%, 80%)', |
615 media: 'hsl(272, 64%, 80%)', | 615 media: 'hsl(272, 64%, 80%)', |
616 image: 'hsl(272, 64%, 80%)', | 616 image: 'hsl(272, 64%, 80%)', |
617 script: 'hsl(31, 100%, 80%)', | 617 script: 'hsl(31, 100%, 80%)', |
618 stylesheet: 'hsl(90, 50%, 80%)', | 618 stylesheet: 'hsl(90, 50%, 80%)', |
619 texttrack: 'hsl(8, 100%, 80%)', | 619 texttrack: 'hsl(8, 100%, 80%)', |
620 websocket: 'hsl(0, 0%, 95%)', | 620 websocket: 'hsl(0, 0%, 95%)', |
621 xhr: 'hsl(53, 100%, 80%)', | 621 xhr: 'hsl(53, 100%, 80%)', |
622 other: 'hsl(0, 0%, 95%)' | 622 other: 'hsl(0, 0%, 95%)' |
623 }; | 623 }; |
OLD | NEW |