12017-09-07 Matt Baker <mattbaker@apple.com>
2
3 Web Inspector: change style of RecordingNavigationSidebarPanel
4 https://bugs.webkit.org/show_bug.cgi?id=175451
5 <rdar://problem/34040769>
6
7 Reviewed by NOBODY (OOPS!).
8
9 THis patch adds UI polish to the Canvas recording navigation sidebar,
10 including:
11 - New icons for Canvas2D operations.
12 - Removed extraneous colors: zebra striping, frame element background color.
13 - Visual action color changed to match details sidebar "changed" color.
14
15 * UserInterface/Images/Clip.svg: Added.
16 * UserInterface/Images/Composite.svg: Added.
17 * UserInterface/Images/Fill.svg: Added.
18 * UserInterface/Images/LineStyle.svg: Added.
19 * UserInterface/Images/Palette.svg: Added.
20 * UserInterface/Images/PathArc.svg: Added.
21 * UserInterface/Images/PathCurve.svg: Added.
22 * UserInterface/Images/PathEllipse.svg: Added.
23 * UserInterface/Images/PathLineTo.svg: Added.
24 * UserInterface/Images/PathMoveTo.svg: Added.
25 * UserInterface/Images/PathRect.svg: Added.
26 * UserInterface/Images/Pixels.svg: Added.
27 * UserInterface/Images/PointInPath.svg: Added.
28 * UserInterface/Images/Shadow.svg: Added.
29 * UserInterface/Images/Stroke.svg: Added.
30 * UserInterface/Images/Text.svg: Added.
31 * UserInterface/Images/Transform.svg: Added.
32 New icons for Canvas2D operations.
33
34 * UserInterface/Main.html:
35 New file.
36
37 * UserInterface/Models/RecordingAction.js:
38 (WI.RecordingAction.classNameForAction.classNameForActionName):
39 (WI.RecordingAction.classNameForAction):
40 Get an icon for the action "type". Actions are grouped by similar
41 operations. For example, lineCap, lineDash, lineJoin, lineWidth, and
42 miterLimit are assigned the icon LineStyle.svg.
43
44 * UserInterface/Views/GeneralTreeElement.js:
45 (WI.GeneralTreeElement.prototype.customTitleTooltip):
46 (WI.GeneralTreeElement.prototype._updateTitleTooltip):
47 Allow derived classes to supply a custom tooltip, when
48 simply getting the title element text is insufficient.
49
50 * UserInterface/Views/RecordingActionTreeElement.css: Added.
51 Move RecordingActionTreeElement styles to a separate file.
52 (.item.action.initial-state > .icon):
53 (.item.action.invalid > .icon):
54 (.item.action:not(.initial-state, .parent, .invalid) > .icon):
55 (.item.action:not(.initial-state)::before):
56 (body[dir=ltr] .item.action::before):
57 (body[dir=rtl] .item.action::before):
58 (:matches(:focus, .force-focus) .item.action.selected:not(.initial-state) > .icon):
59 (body:not(.window-inactive, .window-docked-inactive) :matches(:focus, .force-focus) .item.action.selected > .titles .parameter.swizzled,):
60 (.tree-outline[data-indent="1"] .item.action::before,):
61 (.tree-outline[data-indent="3"] .item.action::before):
62 (.tree-outline[data-indent="4"] .item.action::before):
63 (.tree-outline[data-indent="5"] .item.action::before):
64 (.tree-outline[data-indent="6"] .item.action::before):
65 (.tree-outline[data-indent="7"] .item.action::before):
66 Make indents a convenient multiple of the base indent.
67 (body[dir=ltr] .tree-outline:not(.hide-disclosure-buttons) .item.action:not(.initial-state, .parent) > .icon):
68 (body[dir=rtl] .tree-outline:not(.hide-disclosure-buttons) .item.action:not(.initial-state, .parent) > .icon):
69 (.item.action.visual:not(.selected, .invalid)):
70 (.item.action.attribute > .titles .parameters::before):
71 (.item.action:not(.attribute) > .titles .parameters::before):
72 (.item.action:not(.attribute) > .titles .parameters::after):
73 (.item.action > .titles .parameter:not(:last-child)::after):
74 (.item.action:not(.selected) > .titles .parameter .inline-swatch):
75 (.item.action:not(.selected) > .titles .parameter.swizzled):
76 (.item.action.invalid:not(.selected) > .titles :matches(.name, .parameter.invalid)):
77 (.item.action.composite > .icon):
78 (.item.action.fill > .icon):
79 (.item.action.hit-region > .icon):
80 (.item.action.image > .icon):
81 (.item.action.line-style > .icon):
82 (.item.action.shadow > .icon):
83 (.item.action.stroke > .icon):
84 (.item.action.style > .icon):
85 (.item.action.text > .icon):
86 (.item.action.transform > .icon):
87 (.item.action.arc > .icon):
88 (.item.action.curve > .icon):
89 (.item.action.ellipse > .icon):
90 (.item.action.line-to > .icon):
91 (.item.action.move-to > .icon):
92 (.item.action.point-in-path > .icon):
93 (.item.action.rect > .icon):
94 (.item.action.restore > .icon):
95 (.item.action.save > .icon):
96
97 * UserInterface/Views/RecordingActionTreeElement.js:
98 (WI.RecordingActionTreeElement):
99 (WI.RecordingActionTreeElement._generateDOM.createParameterElement):
100 (WI.RecordingActionTreeElement._generateDOM):
101 (WI.RecordingActionTreeElement._getClassNames):
102 Broke out into its own helper, to simplify _generateDOM which had
103 too many responsibilities.
104 (WI.RecordingActionTreeElement.prototype.customTitleTooltip):
105
106 * UserInterface/Views/RecordingNavigationSidebarPanel.css:
107 (.sidebar > .panel.navigation.recording > .content > .tree-outline .item.folder-icon > .icon):
108 (.sidebar > .panel.navigation.recording > .content > .tree-outline:not(:empty)): Deleted.
109 (.sidebar > .panel.navigation.recording > .content > .tree-outline > .item.parent:not(.action, .selected).expanded): Deleted.
110 (.sidebar > .panel.navigation.recording > .content > .tree-outline .item.action:not(.initial-state)::before): Deleted.
111 (body[dir=ltr] .sidebar > .panel.navigation.recording > .content > .tree-outline .item.action:not(.initial-state)::before): Deleted.
112 (body[dir=rtl] .sidebar > .panel.navigation.recording > .content > .tree-outline .item.action:not(.initial-state)::before): Deleted.
113 (.sidebar > .panel.navigation.recording > .content > .tree-outline[data-indent="2"] .item.action:not(.initial-state)::before): Deleted.
114 (.sidebar > .panel.navigation.recording > .content > .tree-outline[data-indent="3"] .item.action:not(.initial-state)::before): Deleted.
115 (.sidebar > .panel.navigation.recording > .content > .tree-outline[data-indent="4"] .item.action:not(.initial-state)::before): Deleted.
116 (.sidebar > .panel.navigation.recording > .content > .tree-outline[data-indent="5"] .item.action:not(.initial-state)::before): Deleted.
117 (.sidebar > .panel.navigation.recording > .content > .tree-outline[data-indent="6"] .item.action:not(.initial-state)::before): Deleted.
118 (.sidebar > .panel.navigation.recording > .content > .tree-outline[data-indent="7"] .item.action:not(.initial-state)::before): Deleted.
119 (.sidebar > .panel.navigation.recording > .content .action > .icon): Deleted.
120 (.sidebar > .panel.navigation.recording > .content .action.function > .icon): Deleted.
121 (.sidebar > .panel.navigation.recording > .content .action.attribute.getter > .icon): Deleted.
122 (.sidebar > .panel.navigation.recording > .content .tree-outline:matches(:focus, .force-focus) .action.attribute.getter.selected > .icon): Deleted.
123 (.sidebar > .panel.navigation.recording > .content .action.attribute.boolean > .icon): Deleted.
124 (.sidebar > .panel.navigation.recording > .content .action.attribute.number > .icon): Deleted.
125 (.sidebar > .panel.navigation.recording > .content .action.attribute.object > .icon): Deleted.
126 (.sidebar > .panel.navigation.recording > .content .action.attribute.string > .icon): Deleted.
127 (.sidebar > .panel.navigation.recording > .content > .tree-outline > .item.parent:not(.action) > .icon): Deleted.
128 (.sidebar > .panel.navigation.recording > .content .action:matches(.invalid, .missing) > .icon): Deleted.
129 (body[dir=ltr] .sidebar > .panel.navigation.recording > .content .action:not(.initial-state) > .icon): Deleted.
130 (body[dir=rtl] .sidebar > .panel.navigation.recording > .content .action:not(.initial-state) > .icon): Deleted.
131 (.sidebar > .panel.navigation.recording > .content .action.visual:not(.selected, .invalid)): Deleted.
132 (.sidebar > .panel.navigation.recording > .content .action:not(.selected, .initial-state) > .titles .parameter.swizzled): Deleted.
133 (.sidebar > .panel.navigation.recording > .content .action.invalid:not(.selected, .initial-state) > .titles :matches(.name, .parameter.invalid)): Deleted.
134 * UserInterface/Views/RecordingNavigationSidebarPanel.js:
135