Changeset 230618 in webkit
- Timestamp:
- Apr 12, 2018 6:09:50 PM (6 years ago)
- Location:
- trunk/Source/WebInspectorUI
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebInspectorUI/ChangeLog
r230372 r230618 1 2018-04-12 Nikita Vasilyev <nvasilyev@apple.com> 2 3 Web Inspector: Refactoring: move popover styles from JS to CSS 4 https://bugs.webkit.org/show_bug.cgi?id=184558 5 6 Reviewed by Brian Burg. 7 8 Introduce several CSS variables to customize popover appearance in CSS 9 and not JavaScript. 10 11 * UserInterface/Views/NetworkTableContentView.js: 12 (WI.NetworkTableContentView.prototype._waterfallPopoverContentForResource): 13 (WI.NetworkTableContentView.prototype._handleMousedownWaterfall): 14 * UserInterface/Views/Popover.css: 15 (.popover): 16 * UserInterface/Views/Popover.js: 17 (WI.Popover): 18 (WI.Popover.prototype._drawBackground): 19 Replace `var` with `let`. 20 21 (WI.Popover.prototype.get backgroundStyle): Deleted. 22 (WI.Popover.prototype.set backgroundStyle): Deleted. 23 * UserInterface/Views/ResourceTimingBreakdownView.css: 24 (.popover.waterfall-popover): 25 (.waterfall-popover-content .resource-timing-breakdown): 26 (.waterfall-popover .resource-timing-breakdown): Deleted. 27 28 * UserInterface/Views/NetworkTableContentView.js: 29 (WI.NetworkTableContentView.prototype._waterfallPopoverContentForResource): 30 (WI.NetworkTableContentView.prototype._handleMousedownWaterfall): 31 * UserInterface/Views/Popover.css: 32 (.popover): 33 * UserInterface/Views/Popover.js: 34 (WI.Popover): 35 (WI.Popover.prototype._drawBackground): 36 * UserInterface/Views/ResourceTimingBreakdownView.css: 37 (.popover.waterfall-popover): 38 (.waterfall-popover-content .resource-timing-breakdown): 39 1 40 2018-04-07 Nikita Vasilyev <nvasilyev@apple.com> 2 41 -
trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js
r226992 r230618 1405 1405 { 1406 1406 let contentElement = document.createElement("div"); 1407 contentElement.className = "waterfall-popover ";1407 contentElement.className = "waterfall-popover-content"; 1408 1408 1409 1409 if (!resource.hasResponse() || !resource.timingData.startTime || !resource.timingData.responseEnd) { … … 1423 1423 if (!this._waterfallPopover) { 1424 1424 this._waterfallPopover = new WI.Popover; 1425 this._waterfallPopover. backgroundStyle = WI.Popover.BackgroundStyle.White;1425 this._waterfallPopover.element.classList.add("waterfall-popover"); 1426 1426 } 1427 1427 -
trunk/Source/WebInspectorUI/UserInterface/Views/Popover.css
r218959 r230618 29 29 min-height: 20px; 30 30 box-sizing: border-box; 31 background-image: -webkit-canvas(popover);32 31 pointer-events: none; 33 32 z-index: var(--z-index-popover); 33 34 --popover-text-color: black; 35 --popover-background-color: var(--panel-background-color); 36 --popover-border-color: hsla(0, 0%, 0%, 0.25); 37 --popover-shadow-color: hsla(0, 0%, 0%, 0.5); 38 39 background-image: -webkit-canvas(popover); 34 40 } 35 41 -
trunk/Source/WebInspectorUI/UserInterface/Views/Popover.js
r223734 r230618 38 38 this._preferredEdges = null; 39 39 this._resizeHandler = null; 40 this._backgroundStyle = WI.Popover.BackgroundStyle.Default;41 40 42 41 this._contentNeedsUpdate = false; … … 73 72 this._element.style.backgroundSize = frame.size.width + "px " + frame.size.height + "px"; 74 73 this._frame = frame; 75 }76 77 get backgroundStyle()78 {79 return this._backgroundStyle;80 }81 82 set backgroundStyle(style)83 {84 console.assert(Object.values(WI.Popover.BackgroundStyle).includes(style));85 86 this._backgroundStyle = style;87 74 } 88 75 … … 392 379 _drawBackground() 393 380 { 394 varscaleFactor = window.devicePixelRatio;395 396 varwidth = this._frame.size.width;397 varheight = this._frame.size.height;398 varscaledWidth = width * scaleFactor;399 varscaledHeight = height * scaleFactor;381 let scaleFactor = window.devicePixelRatio; 382 383 let width = this._frame.size.width; 384 let height = this._frame.size.height; 385 let scaledWidth = width * scaleFactor; 386 let scaledHeight = height * scaleFactor; 400 387 401 388 // Create a scratch canvas so we can draw the popover that will later be drawn into 402 389 // the final context with a shadow. 403 varscratchCanvas = document.createElement("canvas");390 let scratchCanvas = document.createElement("canvas"); 404 391 scratchCanvas.width = scaledWidth; 405 392 scratchCanvas.height = scaledHeight; 406 393 407 varctx = scratchCanvas.getContext("2d");394 let ctx = scratchCanvas.getContext("2d"); 408 395 ctx.scale(scaleFactor, scaleFactor); 409 396 410 397 // Bounds of the path don't take into account the arrow, but really only the tight bounding box 411 398 // of the content contained within the frame. 412 varbounds;413 vararrowHeight = WI.Popover.AnchorSize.height;399 let bounds; 400 let arrowHeight = WI.Popover.AnchorSize.height; 414 401 switch (this._edge) { 415 402 case WI.RectEdge.MIN_X: // Displayed on the left of the target, arrow points right. … … 428 415 429 416 bounds = bounds.inset(WI.Popover.ShadowEdgeInsets); 417 let computedStyle = window.getComputedStyle(this._element, null); 430 418 431 419 // Clip the frame. 432 ctx.fillStyle = "black";420 ctx.fillStyle = computedStyle.getPropertyValue("--popover-text-color").trim(); 433 421 this._drawFrame(ctx, bounds, this._edge, this._anchorPoint); 434 422 ctx.clip(); 435 423 436 424 // Panel background color fill. 437 ctx.fillStyle = this._backgroundStyle === WI.Popover.BackgroundStyle.White ? "white" : "rgb(236, 236, 236)"; 425 ctx.fillStyle = computedStyle.getPropertyValue("--popover-background-color").trim(); 426 438 427 ctx.fillRect(0, 0, width, height); 439 428 440 429 // Stroke. 441 ctx.strokeStyle = "rgba(0, 0, 0, 0.25)";430 ctx.strokeStyle = computedStyle.getPropertyValue("--popover-border-color").trim(); 442 431 ctx.lineWidth = 2; 443 432 this._drawFrame(ctx, bounds, this._edge, this._anchorPoint); … … 450 439 finalContext.shadowOffsetY = 1; 451 440 finalContext.shadowBlur = 5; 452 finalContext.shadowColor = "rgba(0, 0, 0, 0.5)";441 finalContext.shadowColor = computedStyle.getPropertyValue("--popover-shadow-color").trim(); 453 442 finalContext.drawImage(scratchCanvas, 0, 0, scaledWidth, scaledHeight); 454 443 } … … 593 582 }; 594 583 595 WI.Popover.BackgroundStyle = {596 Default: "popover-background-default",597 White: "popover-background-white",598 };599 600 584 WI.Popover.FadeOutClassName = "fade-out"; 601 585 WI.Popover.CornerRadius = 5; -
trunk/Source/WebInspectorUI/UserInterface/Views/ResourceTimingBreakdownView.css
r226158 r230618 24 24 */ 25 25 26 .waterfall-popover .resource-timing-breakdown { 26 .popover.waterfall-popover { 27 --popover-background-color: white; 28 } 29 30 .waterfall-popover-content .resource-timing-breakdown { 27 31 margin: 5px; 28 32 }
Note: See TracChangeset
for help on using the changeset viewer.