06c029a58606d58e521e8d8b644e4a273c85e550
[WebKit-https.git] / Source / WebInspectorUI / ChangeLog
1 2017-12-06  Devin Rousso  <webkit@devinrousso.com>
2
3         Web Inspector: Styles Redesign: display related pseudo-elements
4         https://bugs.webkit.org/show_bug.cgi?id=176187
5         <rdar://problem/34194917>
6
7         Reviewed by Timothy Hatcher.
8
9         * Localizations/en.lproj/localizedStrings.js:
10
11         * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
12         (WI.SpreadsheetRulesStyleDetailsPanel):
13         (WI.SpreadsheetRulesStyleDetailsPanel.prototype.refresh):
14         (WI.SpreadsheetRulesStyleDetailsPanel.prototype.applyFilter):
15         (WI.SpreadsheetRulesStyleDetailsPanel.prototype._handleSectionFilterApplied):
16         * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.css:
17         (.spreadsheet-style-panel .section-header):
18         (.spreadsheet-style-panel .section-header .node-link):
19         (.spreadsheet-style-panel .section-header .node-link:hover):
20         (.spreadsheet-style-panel .section-inherited): Deleted.
21         (.spreadsheet-style-panel .section-inherited .node-link): Deleted.
22         (.spreadsheet-style-panel .section-inherited .node-link:hover): Deleted.
23         After all of the matched and inherited styles are added, loop over each pseudo-element, get
24         the DOMNodeStyles for each, refresh them if needed, and then add the header and sections.
25
26         * UserInterface/Models/DOMNodeStyles.js:
27         (WI.DOMNodeStyles.prototype.refreshIfNeeded):
28         (WI.DOMNodeStyles.prototype.refresh):
29         Return a reference to the DOMNodeStyles object once the refresh promise is resolved.
30
31         * UserInterface/Models/DOMNode.js:
32         (WI.DOMNode.prototype.get displayName):
33         If the node is a pseudo-element, display the pseudo-type instead of the node name.
34
35 2017-12-06  Devin Rousso  <webkit@devinrousso.com>
36
37         Web Inspector: [PARITY] Styles Redesign: Ability to add new style rules
38         https://bugs.webkit.org/show_bug.cgi?id=178329
39         <rdar://problem/35001005>
40
41         Reviewed by Timothy Hatcher.
42
43         * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
44         (WI.SpreadsheetRulesStyleDetailsPanel):
45         (WI.SpreadsheetRulesStyleDetailsPanel.prototype.refresh):
46         (WI.SpreadsheetRulesStyleDetailsPanel.prototype.newRuleButtonClicked):
47         (WI.SpreadsheetRulesStyleDetailsPanel.prototype.newRuleButtonContextMenu):
48         (WI.SpreadsheetRulesStyleDetailsPanel.prototype._addNewRule):
49         Implement the two functions that CSSStyleDetailsSidebarPanel expects to exist in order for
50         the selected panel to support adding a new rule.
51
52         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
53         (WI.SpreadsheetCSSStyleDeclarationSection):
54         (WI.SpreadsheetCSSStyleDeclarationSection.prototype.layout):
55         (WI.SpreadsheetCSSStyleDeclarationSection.prototype.startEditingRuleSelector):
56         If the _selectorElement has not been created yet, set a flag and focus it once layout() has
57         been called (thereby ensuring that initialLayout() has been called).
58
59 2017-12-05  Devin Rousso  <webkit@devinrousso.com>
60
61         Web Inspector: Styles Redesign: for newly added properties, pressing delete in empty value field should focus on name field
62         https://bugs.webkit.org/show_bug.cgi?id=179831
63         <rdar://problem/35626976>
64
65         Reviewed by Timothy Hatcher.
66
67         * UserInterface/Views/SpreadsheetTextField.js:
68         (WI.SpreadsheetTextField.prototype._handleKeyDown):
69
70         * UserInterface/Views/SpreadsheetStyleProperty.js:
71         (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidBackspace):
72
73 2017-12-05  Devin Rousso  <webkit@devinrousso.com>
74
75         Web Inspector: [PARITY] Styles Redesign: Make filtering work
76         https://bugs.webkit.org/show_bug.cgi?id=178331
77         <rdar://problem/35001015>
78
79         Reviewed by Timothy Hatcher.
80
81         Since both the sections and editors (per-section) use View semantics, we cannot simply
82         search for instances of the filtered text since not all of the subviews may have called
83         layout() yet. Instead, we have to rely on event listeners to relay information as to whether
84         the filtered text was matched up the chain, applying the correct style classes along the way.
85
86         * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
87         (WI.SpreadsheetRulesStyleDetailsPanel):
88         (WI.SpreadsheetRulesStyleDetailsPanel.prototype.refresh):
89         (WI.SpreadsheetRulesStyleDetailsPanel.prototype.applyFilter):
90         (WI.SpreadsheetRulesStyleDetailsPanel.prototype.filterDidChange):
91         (WI.SpreadsheetRulesStyleDetailsPanel.prototype._handleSectionFilterApplied):
92         Save the "Inherited From" elements so that they can be hidden if no styles inherited from
93         that node match the filter.
94
95         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
96         (WI.SpreadsheetCSSStyleDeclarationSection):
97         (WI.SpreadsheetCSSStyleDeclarationSection.prototype.initialLayout):
98         (WI.SpreadsheetCSSStyleDeclarationSection.prototype.layout):
99         (WI.SpreadsheetCSSStyleDeclarationSection.prototype.applyFilter):
100         (WI.SpreadsheetCSSStyleDeclarationSection.prototype._renderSelector):
101         (WI.SpreadsheetCSSStyleDeclarationSection.prototype._createMediaHeader):
102         (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleEditorFilterApplied):
103         Save the media header elements so that they can also be filtered.
104
105         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
106         (WI.SpreadsheetCSSStyleDeclarationEditor):
107         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
108         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.applyFilter):
109
110         * UserInterface/Views/SpreadsheetStyleProperty.js:
111         (WI.SpreadsheetStyleProperty):
112         (WI.SpreadsheetStyleProperty.prototype.applyFilter):
113         (WI.SpreadsheetStyleProperty.prototype._update):
114         Move the name and value elements to a new container so that filter highlight won't also
115         apply to the checkbox or warning element.
116
117 2017-12-05  Nikita Vasilyev  <nvasilyev@apple.com>
118
119         Web Inspector: Styles Redesign: adding a property before or after the first one appends it to the end
120         https://bugs.webkit.org/show_bug.cgi?id=180321
121         <rdar://problem/35816402>
122
123         Reviewed by Timothy Hatcher.
124
125         * UserInterface/Models/CSSStyleDeclaration.js:
126         (WI.CSSStyleDeclaration.prototype._rangeAfterPropertyAtIndex):
127         * UserInterface/Models/TextRange.js:
128         (WI.TextRange.prototype.collapseToStart):
129
130 2017-12-05  Joseph Pecoraro  <pecoraro@apple.com>
131
132         Web Inspector: Empty Message View in Network Tab has padding at top
133         https://bugs.webkit.org/show_bug.cgi?id=180453
134
135         Reviewed by Matt Baker.
136
137         * UserInterface/Views/NetworkTableContentView.css:
138         (.content-view.network .message-text-view): Deleted.
139
140 2017-12-05  Nikita Vasilyev  <nvasilyev@apple.com>
141
142         Web Inspector: Styles: make Computed a top-level sidebar tab
143         https://bugs.webkit.org/show_bug.cgi?id=174229
144         <rdar://problem/33170193>
145
146         Reviewed by Matt Baker.
147
148         Styles dropdown tab selector was removed. Styles and Computed are now top-level sidebar tabs.
149
150         Visual styles is no longer visible in the Styles sidebar tabs by default but can be enabled in the settings.
151
152         * Localizations/en.lproj/localizedStrings.js:
153         * UserInterface/Base/Setting.js:
154         * UserInterface/Main.html:
155         * UserInterface/Views/CSSStyleDeclarationSection.js:
156         (WI.CSSStyleDeclarationSection.prototype.findMatchingPropertiesAndSelectors):
157         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
158         (WI.CSSStyleDeclarationTextEditor.prototype.findMatchingProperties):
159         (WI.CSSStyleDeclarationTextEditor.prototype.removeNonMatchingProperties):
160         * UserInterface/Views/ComputedStyleDetailsSidebarPanel.js: Added.
161         (WI.ComputedStyleDetailsSidebarPanel):
162         * UserInterface/Views/DOMTreeOutline.js:
163         (WI.DOMTreeOutline.prototype._ondragover):
164         (WI.DOMTreeOutline.prototype._ondrop):
165         * UserInterface/Views/ElementsTabContentView.js:
166         (WI.ElementsTabContentView):
167         * UserInterface/Views/GeneralStyleDetailsSidebarPanel.css: Renamed from Source/WebInspectorUI/UserInterface/Views/CSSStyleDetailsSidebarPanel.css.
168         * UserInterface/Views/GeneralStyleDetailsSidebarPanel.js: Renamed from Source/WebInspectorUI/UserInterface/Views/CSSStyleDetailsSidebarPanel.js.
169         (WI.GeneralStyleDetailsSidebarPanel):
170         (WI.GeneralStyleDetailsSidebarPanel.prototype.get panel):
171         (WI.GeneralStyleDetailsSidebarPanel.prototype.visibilityDidChange):
172         (WI.GeneralStyleDetailsSidebarPanel.prototype.computedStyleDetailsPanelShowProperty):
173         (WI.GeneralStyleDetailsSidebarPanel.prototype.layout):
174         (WI.GeneralStyleDetailsSidebarPanel.prototype.initialLayout):
175         (WI.GeneralStyleDetailsSidebarPanel.prototype.sizeDidChange):
176         (WI.GeneralStyleDetailsSidebarPanel.prototype.get _initialScrollOffset):
177         (WI.GeneralStyleDetailsSidebarPanel.prototype._updateNoForcedPseudoClassesScrollOffset):
178         (WI.GeneralStyleDetailsSidebarPanel.prototype._showPanel):
179         (WI.GeneralStyleDetailsSidebarPanel.prototype._newRuleButtonClicked):
180         (WI.GeneralStyleDetailsSidebarPanel.prototype._newRuleButtonContextMenu):
181         (WI.GeneralStyleDetailsSidebarPanel.prototype._populateClassToggles):
182         (WI.GeneralStyleDetailsSidebarPanel.prototype._createToggleForClassName):
183         (WI.GeneralStyleDetailsSidebarPanel.prototype._filterDidChange):
184         Styles and Computed tabs share a few UI components, such as force state (:hover, :focus, etc.),
185         filter field, and CSS class toggle components. To implement this, CSSStyleDetailsSidebarPanel was renamed
186         to GeneralStyleDetailsSidebarPanel.
187
188         CSSStyleDetailsSidebarPanel used to support several panels. This is no longer the case with GeneralStyleDetailsSidebarPanel:
189         - _initiallySelectedPanel was removed.
190         - _selectedPanel was replaced by _panel.
191
192         * UserInterface/Views/GroupNavigationItem.js:
193         (WI.GroupNavigationItem.prototype.get minimumWidth):
194         * UserInterface/Views/NavigationBar.css:
195         (.navigation-bar .item,):
196         (.sidebar-navigation-bar):
197         (.sidebar-navigation-bar .holder):
198         * UserInterface/Views/NavigationBar.js:
199         (WI.NavigationBar.prototype._calculateMinimumWidth):
200         Minor optimization: don't toggle class names when there are no visible navigation items.
201
202         * UserInterface/Views/RulesStyleDetailsPanel.js:
203         (WI.RulesStyleDetailsPanel.prototype.filterDidChange):
204         * UserInterface/Views/RulesStyleDetailsSidebarPanel.js: Copied from Source/WebInspectorUI/UserInterface/Views/NavigationBar.css.
205         (WI.RulesStyleDetailsSidebarPanel):
206         * UserInterface/Views/SearchTabContentView.js:
207         (WI.SearchTabContentView):
208         * UserInterface/Views/SettingsTabContentView.js:
209         (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
210         * UserInterface/Views/Sidebar.js:
211         (WI.Sidebar):
212         * UserInterface/Views/SidebarNavigationBar.js: Copied from Source/WebInspectorUI/UserInterface/Views/NavigationBar.css.
213         (WI.SidebarNavigationBar):
214         (WI.SidebarNavigationBar.prototype.insertNavigationItem):
215         (WI.SidebarNavigationBar.prototype._calculateMinimumWidth):
216         SidebarNavigationBar wraps navigation items in an element so it can correctly calculate the width of all items with spacing between them.
217
218         * UserInterface/Views/StyleDetailsPanel.js:
219         (WI.StyleDetailsPanel.prototype.get _initialScrollOffset):
220         * UserInterface/Views/VisualStyleDetailsSidebarPanel.js: Copied from Source/WebInspectorUI/UserInterface/Views/NavigationBar.css.
221         (WI.VisualStyleDetailsSidebarPanel):
222
223 2017-12-05  Joseph Pecoraro  <pecoraro@apple.com>
224
225         Web Inspector: content views for resources loaded through XHR do not reflect declared mime-type
226         https://bugs.webkit.org/show_bug.cgi?id=141389
227         <rdar://problem/19767070>
228
229         Reviewed by Brian Burg.
230
231         * UserInterface/Base/Utilities.js:
232         Blob <-> Text conversion helpers.
233
234         * UserInterface/Models/Resource.js:
235         (WI.Resource.prototype.createObjectURL):
236         Previously all Image resources were assumed to have base64Encoded data
237         which we automatically convert to a Blob. Now that some image data
238         can be transfered as text, convert that to a Blob here since the output
239         is expected to be a Blob.
240
241         * UserInterface/Views/ResourceContentView.js:
242         (WI.ResourceContentView.prototype.showGenericNoContentMessage):
243         * UserInterface/Views/TextResourceContentView.js:
244         (WI.TextResourceContentView.prototype.contentAvailable):
245         (WI.TextResourceContentView.prototype._contentDidPopulate):
246         * UserInterface/Views/ImageResourceContentView.js:
247         (WI.ImageResourceContentView.prototype.contentAvailable):
248         Better handle no content cases.
249
250         * UserInterface/Views/ResourceClusterContentView.js:
251         (WI.ResourceClusterContentView.prototype.get responseContentView):
252         (WI.ResourceClusterContentView.prototype._contentViewForResourceType):
253         Make a best effort to find a good ContentView to show the resource data.
254         This is done by looking at the ResourceType and MIME Type.
255
256         * UserInterface/Views/SVGImageResourceClusterContentView.js:
257         (WI.SVGImageResourceClusterContentView.prototype._showContentViewForIdentifier):
258         Handle if image data is now text (the image/svg+xml case).
259
260 2017-12-05  Simon Fraser  <simon.fraser@apple.com>
261
262         Remove webkitGetImageDataHD and webkitPutImageDataHD from canvas API
263         https://bugs.webkit.org/show_bug.cgi?id=180387
264
265         Reviewed by Dean Jackson.
266
267         CanvasRenderingContext2D.webkitGetImageDataHD and webkitPutImageDataHD were never standardized,
268         and Blink removed support in 2014 (https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/FOPH5dloGG8).
269
270         Since our canvas backing store is always 1x, they have no use anyway, so remove them.
271
272         * UserInterface/Models/NativeFunctionParameters.js:
273         * UserInterface/Models/RecordingAction.js:
274         (WI.RecordingAction.prototype.getImageParameters):
275         (WI.RecordingAction):
276         * UserInterface/Views/RecordingActionTreeElement.js:
277         (WI.RecordingActionTreeElement._classNameForAction.classNameForActionName):
278         (WI.RecordingActionTreeElement._classNameForAction):
279
280 2017-12-04  Devin Rousso  <webkit@devinrousso.com>
281
282         Web Inspector: provide method for recording CanvasRenderingContext2D from JavaScript
283         https://bugs.webkit.org/show_bug.cgi?id=175166
284         <rdar://problem/34040740>
285
286         Reviewed by Joseph Pecoraro.
287
288         * UserInterface/Controllers/CanvasManager.js:
289         (WI.CanvasManager.prototype.recordingFinished):
290         If a `name` is sent with the payload, use it as the suggested name.
291
292         * UserInterface/Models/NativeFunctionParameters.js:
293         Add `console.record` and `console.recordEnd`.
294
295         * UserInterface/Views/CanvasTabContentView.js:
296         (WI.CanvasTabContentView.prototype.showRepresentedObject):
297         Drive-by: remove logic that toggled the collapsed state of the navigation sidebar, as this
298         was not very controllable by the user and often was aggravating.
299
300         (WI.CanvasTabContentView.prototype._recordingStopped):
301         Only show the recording if it was not started from the console. This can determined by
302         CanvasManager when it recieves a recording if the recording's source is not the same as the
303         current canvas being recorded.
304
305 2017-12-04  Matt Baker  <mattbaker@apple.com>
306
307         Web Inspector: Canvas Tab initial user interface needs some polish
308         https://bugs.webkit.org/show_bug.cgi?id=179330
309         <rdar://problem/35367581>
310
311         Reviewed by Joseph Pecoraro.
312
313         Update the Canvas overview placeholder text and prevent appearance of
314         the vertical scrollbar when no canvases exist. This patch also includes
315         a bunch of cleanup of code that creates content placeholder text throughout
316         the UI, and makes sure all text is styled consistently.
317
318         * Localizations/en.lproj/localizedStrings.js:
319         Updated Canvas overview message text.
320
321         * UserInterface/Base/Main.js:
322         Make the "message text view" a container with child message element, instead
323         of a simple element with text content. This makes it simpler to customize
324         the message (by adding buttons, more text, etc).
325
326         * UserInterface/Views/CanvasDetailsSidebarPanel.css:
327         (.sidebar > .panel.details.canvas .details-section.canvas-extensions .content > ul):
328         (.sidebar > .panel.details.canvas > .content > .empty-content-placeholder): Deleted.
329         (.sidebar > .panel.details.canvas > .content > .empty-content-placeholder > .message): Deleted.
330         * UserInterface/Views/CanvasDetailsSidebarPanel.js:
331         (WI.CanvasDetailsSidebarPanel.prototype.initialLayout):
332
333         * UserInterface/Views/CanvasOverviewContentView.js:
334         (WI.CanvasOverviewContentView):
335         Customize the content placeholder to include a description beneath
336         the "No Canvas Contexts" message.
337
338         * UserInterface/Views/CollectionContentView.css:
339         (.content-view.collection):
340         Change overflow-y to auto, to prevent scrollbar from appearing when
341         "Show scroll bars" system preference is enabled on macOS.
342
343         * UserInterface/Views/CollectionContentView.js:
344         Add support for custom content placeholders.
345         (WI.CollectionContentView):
346         (WI.CollectionContentView.prototype._showContentPlaceholder):
347         (WI.CollectionContentView.prototype._hideContentPlaceholder):
348
349         * UserInterface/Views/ContentView.css:
350         (.content-view > .message-text-view):
351         (.content-view > .message-text-view > .message):
352
353         * UserInterface/Views/DebuggerSidebarPanel.css:
354         (.sidebar > .panel.navigation.debugger > .content):
355         (.sidebar > .panel.navigation.debugger > :matches(.content, .empty-content-placeholder)): Deleted.
356
357         * UserInterface/Views/DetailsSection.css:
358         (.details-section > .content > .group > .row > .message-text-view):
359
360         * UserInterface/Views/Main.css:
361         (.message-text-view):
362         (.message-text-view > .message):
363         (.message-text-view.error):
364
365         * UserInterface/Views/NavigationSidebarPanel.css:
366         (.sidebar > .panel.navigation > .overflow-shadow):
367         (.sidebar > .panel.navigation > .content .empty-content-placeholder): Deleted.
368         (.sidebar > .panel.navigation > .content > .empty-content-placeholder): Deleted.
369         (.sidebar > .panel.navigation > .content .empty-content-placeholder > .message): Deleted.
370
371         * UserInterface/Views/NavigationSidebarPanel.js:
372         (WI.NavigationSidebarPanel.prototype.showEmptyContentPlaceholder):
373         (WI.NavigationSidebarPanel.prototype._createEmptyContentPlaceholderIfNeeded):
374
375         * UserInterface/Views/NetworkTableContentView.css:
376         (.content-view.network .message-text-view):
377         (.content-view.network .message-text-view > .message):
378         Workaround to prevent "No Filter Results" message from being styled like
379         "full width" messages displayed in ContentViews (large, bold font).
380         This is needed because the placeholder message element is a immediate child
381         of the network content view, rather than the network table.
382
383         (.content-view.network .empty-content-placeholder): Deleted.
384         (body[dir=ltr] .content-view.network .empty-content-placeholder): Deleted.
385         (body[dir=rtl] .content-view.network .empty-content-placeholder): Deleted.
386         (.content-view.network .empty-content-placeholder > .message): Deleted.
387
388         * UserInterface/Views/NetworkTableContentView.js:
389         (WI.NetworkTableContentView.prototype._showEmptyFilterResultsMessage):
390
391         * UserInterface/Views/RecordingNavigationSidebarPanel.css:
392         (.sidebar > .panel.navigation.recording > .content):
393         (.sidebar > .panel.navigation.recording > :matches(.content, .empty-content-placeholder)): Deleted.
394
395         * UserInterface/Views/ResourceSidebarPanel.css:
396         (.sidebar > .panel.navigation.resource > .content):
397         (.sidebar > .panel.navigation.resource > :matches(.content, .empty-content-placeholder)): Deleted.
398
399         * UserInterface/Views/RulesStyleDetailsPanel.css:
400         (.sidebar > .panel.details.css-style > .content > .rules > .message-text-view):
401         (.sidebar > .panel.details.css-style > .content > .rules:not(.filter-non-matching) > .message-text-view):
402         (.sidebar > .panel.details.css-style > .content > .rules:not(.filter-non-matching) > .no-filter-results): Deleted.
403         (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules.filter-non-matching > .no-filter-results): Deleted.
404         (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules.filter-non-matching > .no-filter-results > .no-filter-results-message): Deleted.
405
406         * UserInterface/Views/RulesStyleDetailsPanel.js:
407         (WI.RulesStyleDetailsPanel):
408
409         * UserInterface/Views/SearchSidebarPanel.css:
410         (.sidebar > .panel.navigation.search > :matches(.content, .message-text-view)):
411         (.sidebar > .panel.navigation.search.changed > :matches(.content, .message-text-view)):
412         (.sidebar > .panel.navigation.search > :matches(.content, .empty-content-placeholder)): Deleted.
413         (.sidebar > .panel.navigation.search.changed > :matches(.content, .empty-content-placeholder)): Deleted.
414
415         * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
416         (WI.SpreadsheetRulesStyleDetailsPanel):
417
418         * UserInterface/Views/StorageSidebarPanel.css:
419         (.sidebar > .panel.navigation.storage > .content):
420         (.sidebar > .panel.navigation.storage > :matches(.content, .empty-content-placeholder)): Deleted.
421
422         * UserInterface/Views/Variables.css:
423         (:root):
424
425 2017-11-29  Nikita Vasilyev  <nvasilyev@apple.com>
426
427         Web Inspector: Styles Redesign: can't add new property after property without trailing semicolon
428         https://bugs.webkit.org/show_bug.cgi?id=179587
429         <rdar://problem/35490858>
430
431         Reviewed by Timothy Hatcher.
432
433         * UserInterface/Models/CSSProperty.js:
434         (WI.CSSProperty.prototype._updateOwnerStyleText):
435         (WI.CSSProperty.prototype._appendSemicolonIfNeeded):
436         Add a semicolon before the new property if the last property doesn't have it already.
437
438 2017-11-29  Joseph Pecoraro  <pecoraro@apple.com>
439
440         Web Inspector: Console Tab navigation bar sometimes does not include filter bar, clear console sometimes does not work
441         https://bugs.webkit.org/show_bug.cgi?id=180124
442         <rdar://problem/35740353>
443
444         Reviewed by Brian Burg.
445
446         * UserInterface/Views/LogContentView.js:
447         (WI.LogContentView.prototype.closed):
448         Avoid removing event listeners if this LogContentView singleton is ever closed.
449         The singleton will always be alive so we don't want to remove the event listeners
450         without a way to add them back.
451
452         * UserInterface/Base/Main.js:
453         (WI.showSplitConsole):
454         * UserInterface/Views/ConsoleTabContentView.js:
455         (WI.ConsoleTabContentView.prototype.shown):
456         When showing the ConsoleTab immediately collapse the split console so that any
457         following code that checks WI.isShowingSplitConsole will get the expected value.
458         It is also now possible to share a ContentView across ContentBrowsers via
459         tombstones, so remove the old code that would frequently close the LogContentView.
460
461 2017-11-28  Devin Rousso  <webkit@devinrousso.com>
462
463         Web Inspector: remove extra space before call frames in Canvas backtraces
464         https://bugs.webkit.org/show_bug.cgi?id=180129
465
466         Reviewed by Matt Baker.
467
468         * UserInterface/Views/CanvasDetailsSidebarPanel.js:
469         (WI.CanvasDetailsSidebarPanel.prototype.initialLayout):
470         * UserInterface/Views/RecordingTraceDetailsSidebarPanel.js:
471         (WI.RecordingTraceDetailsSidebarPanel):
472         Hide the disclosure buttons of these TreeOutlines as they don't have children.
473
474 2017-11-28  Matt Baker  <mattbaker@apple.com>
475
476         Web Inspector: Clean up backtrace in Canvas details sidebar
477         https://bugs.webkit.org/show_bug.cgi?id=179807
478         <rdar://problem/35604378>
479
480         Reviewed by Devin Rousso.
481
482         * UserInterface/Controllers/CallFrameTreeController.js: Added.
483         Display a list of call frames in a tree outline. Browse to the represented
484         call frame's source code location when a tree element is clicked or selected.
485
486         (WI.CallFrameTreeController):
487         (WI.CallFrameTreeController.prototype.get treeOutline):
488         (WI.CallFrameTreeController.prototype.get callFrames):
489         (WI.CallFrameTreeController.prototype.set callFrames):
490         (WI.CallFrameTreeController.prototype.disconnect):
491         (WI.CallFrameTreeController.prototype._treeElementClicked):
492         (WI.CallFrameTreeController.prototype._treeSelectionDidChange):
493         (WI.CallFrameTreeController.prototype._showSourceCodeLocation):
494
495         * UserInterface/Main.html:
496
497         * UserInterface/Views/CanvasDetailsSidebarPanel.css:
498         (.sidebar > .panel.details.canvas .details-section.canvas-backtrace .call-frame): Deleted.
499         * UserInterface/Views/CanvasDetailsSidebarPanel.js:
500         (WI.CanvasDetailsSidebarPanel.prototype.initialLayout):
501         (WI.CanvasDetailsSidebarPanel.prototype._refreshBacktraceSection):
502
503         * UserInterface/Views/RecordingTraceDetailsSidebarPanel.css:
504         (.sidebar > .panel.details.recording-trace > .content > .call-frame): Deleted.
505         * UserInterface/Views/RecordingTraceDetailsSidebarPanel.js:
506         (WI.RecordingTraceDetailsSidebarPanel):
507         (WI.RecordingTraceDetailsSidebarPanel.prototype.updateAction):
508
509         * UserInterface/Views/TreeElement.js:
510         (WI.TreeElement.treeElementToggled):
511         (WI.TreeElement.prototype.selectOnMouseDown):
512         Prevent selection if parent tree outline is not selectable.
513
514         * UserInterface/Views/TreeOutline.css:
515         (.tree-outline.non-selectable .item:hover):
516
517         * UserInterface/Views/TreeOutline.js:
518         Add `selectable` behavior, set at construction time. When false,
519         clicking a tree element dispatches an event instead of selecting
520         the tree element. Default true.
521
522         (WI.TreeOutline):
523         (WI.TreeOutline.prototype.get selectable):
524         Dispatch click event when not selectable, and some drive-by cleanup.
525
526 2017-11-28  Joseph Pecoraro  <pecoraro@apple.com>
527
528         Web Inspector: Move console Preserve Log setting from Setting tab to Console navigation bar
529         https://bugs.webkit.org/show_bug.cgi?id=180125
530
531         Reviewed by Matt Baker.
532
533         * Localizations/en.lproj/localizedStrings.js:
534         * UserInterface/Views/LogContentView.js:
535         (WI.LogContentView):
536         (WI.LogContentView.prototype.get navigationItems):
537         (WI.LogContentView.prototype._clearLogOnNavigateSettingChanged):
538         * UserInterface/Views/SettingsTabContentView.js:
539         (WI.SettingsTabContentView.prototype._createGeneralSettingsView):
540
541 2017-11-28  Joseph Pecoraro  <pecoraro@apple.com>
542
543         Web Inspector: Remove Network "Clear on load" from Settings tab now that Network tab has a toggle for it
544         https://bugs.webkit.org/show_bug.cgi?id=180123
545
546         Reviewed by Matt Baker.
547
548         * Localizations/en.lproj/localizedStrings.js:
549         * UserInterface/Views/SettingsTabContentView.js:
550         (WI.SettingsTabContentView.prototype._createGeneralSettingsView):
551
552 2017-11-28  Joseph Pecoraro  <pecoraro@apple.com>
553
554         Web Inspector: Network Tab - Add a toggle in the network tab to control automatically clearing or preserving log across loads
555         https://bugs.webkit.org/show_bug.cgi?id=180110
556         <rdar://problem/34071789>
557
558         Reviewed by Timothy Hatcher.
559
560         * Localizations/en.lproj/localizedStrings.js:
561         New strings.
562
563         * UserInterface/Views/CheckboxNavigationItem.css:
564         (.navigation-bar .item.checkbox input[type=checkbox]):
565         Tweak style to more center the checkbox vertically.
566
567         * UserInterface/Views/CheckboxNavigationItem.js:
568         (WI.CheckboxNavigationItem):
569         Fix setting the initial value of a checkbox navigation item.
570
571         * UserInterface/Views/NetworkTableContentView.js:
572         (WI.NetworkTableContentView):
573         (WI.NetworkTableContentView.prototype.get navigationItems):
574         (WI.NetworkTableContentView.prototype.closed):
575         (WI.NetworkTableContentView.prototype._clearNetworkOnNavigateSettingChanged):
576         Add a new checkbox for the clear on navigation setting.
577
578         * UserInterface/Views/SettingEditor.js:
579         (WI.SettingEditor.createForSetting):
580         Update the editor checkbox if the setting changes outside of the setting editor.
581
582         * UserInterface/Views/NavigationItem.js:
583         (WI.NavigationItem.prototype.get tooltip):
584         (WI.NavigationItem.prototype.set tooltip):
585         * UserInterface/Views/ActivateButtonNavigationItem.js:
586         (WI.ActivateButtonNavigationItem.prototype.set activated):
587         * UserInterface/Views/ButtonNavigationItem.js:
588         (WI.ButtonNavigationItem):
589         (WI.ButtonNavigationItem.prototype.get toolTip): Deleted.
590         (WI.ButtonNavigationItem.prototype.set toolTip): Deleted.
591         * UserInterface/Views/ToggleButtonNavigationItem.js:
592         (WI.ToggleButtonNavigationItem.prototype.set alternateToolTip):
593         (WI.ToggleButtonNavigationItem.prototype.set toggled):
594         Move tooltip to the base class and rename it from `toolTip` to `tooltip` to
595         match existing generic places like TreeElement.
596
597 2017-11-28  Joseph Pecoraro  <pecoraro@apple.com>
598
599         Web Inspector: Include Beacon loads in the Network Table's "Other" filter
600         https://bugs.webkit.org/show_bug.cgi?id=180113
601
602         Reviewed by Matt Baker.
603
604         * UserInterface/Views/NetworkTableContentView.js:
605         (WI.NetworkTableContentView):
606         Ensure the Other filter will handle any type that hasn't already been handled.
607
608 2017-11-28  Joseph Pecoraro  <pecoraro@apple.com>
609
610         ServiceWorker Inspector: Frontend changes to support Network tab and sub resources
611         https://bugs.webkit.org/show_bug.cgi?id=179642
612         <rdar://problem/35517704>
613
614         Reviewed by Brian Burg.
615
616         This patch makes use of the NetworkAgent and ServiceWorker agents in the frontend
617         for a ServiceWorker inspection target. It also makes changes to ensure that the
618         subresources requested by a ServiceWorker appear as expected in both the Resources
619         and Network Tabs.
620
621         The backends of ServiceWorkers and DedicatedWorkers for network requests are
622         different, but we want the presentation to be very similiar. Ultimately we'd like
623         to move to more similiar backends if possible.
624
625         The first (after Inspector.enable) message a ServiceWorker inspector sends to the
626         backend is ServiceWorker.getInitializationInfo. This parallels a Page inspector
627         sending Page.getResourceTree. From the response we get enough information to
628         setup the MainTarget with enough information (targetId, URL) to know what its main
629         resource URL will be. Like DedicatedWorkers, the target's main resource will be
630         filled in with the first WI.Script matching the URL. With this initialization
631         message alone the ServiceWorker Target behaves almost identically to a Worker
632         target and Network loads associated with the target (by targetId) are added as
633         sub-resources as expected.
634
635         The biggest tension in this patch is within FrameResourceManager. The class, as
636         its name indicates, assumes page resources with Frames, navigation, and loader
637         semantics. It takes a few modifications to make it better handle resources not
638         associated with a Page. A follow-up will rename this to just ResourceManager as
639         the class' main task is now to associate Resources with Targets.
640
641         * UserInterface/Base/Main.js:
642         (WI.loaded):
643         There are assumptions in a few places that the main target is a Page. Those
644         places can now be reached when the main target is a ServiceWorker. Add a
645         convenience WI.pageTarget that can be used in these places.
646
647         * UserInterface/Test/Test.js:
648         (WI.loaded):
649         Add pageTarget.
650
651         * UserInterface/Controllers/DebuggerManager.js:
652         (WI.DebuggerManager.prototype.scriptDidParse):
653         Generalize the condition so the main target can have its main resource populated.
654         This will be the case when a ServiceWorker is the main target and its main resource
655         needs to be populated from a Script.
656
657         * UserInterface/Controllers/FrameResourceManager.js:
658         (WI.FrameResourceManager):
659         (WI.FrameResourceManager.prototype._processServiceWorkerInitializationInfo):
660         Handle ServiceWorker Resource initialization which is different from Page initialization.
661
662         (WI.FrameResourceManager.prototype._addNewResourceToFrameOrTarget):
663         (WI.FrameResourceManager.prototype._addResourceToTarget):
664         (WI.FrameResourceManager.prototype._addFrameTreeFromFrameResourceTreePayload):
665         Eliminate PageAgent, which might not be available in some targets.
666         Use pageTarget instead of mainTarget where appropriate.
667
668         * UserInterface/Controllers/TargetManager.js:
669         (WI.TargetManager.prototype.targetForIdentifier):
670         A ServiceWorker is the first time that the main target has an identifier,
671         so let TargetManager find it by target id.
672
673         * UserInterface/Models/Resource.js:
674         (WI.Resource):
675         (WI.Resource.resolvedType):
676         (WI.Resource.prototype.updateForResponse):
677         For Resource.Type.Other resources include a better type inferred from the MIME type.
678         ServiceWorker loads currently don't have type information and this provides a great
679         type for such loads. This should also provide nice types for CacheStorage.add*
680         populated resources which are otherwise type-less fetches.
681
682         * UserInterface/Protocol/Connection.js:
683         Rename the class since this may no longer be a "Page".
684
685         * UserInterface/Protocol/MainTarget.js:
686         (WI.MainTarget):
687         (WI.MainTarget.mainConnectionInfo):
688         (WI.MainTarget.prototype.get mainResource):
689         (WI.MainTarget.prototype.set mainResource):
690         (WI.MainTarget.prototype.get displayName): Deleted.
691         * UserInterface/Protocol/Target.js:
692         (WI.Target.prototype.set identifier):
693         (WI.Target.prototype.set name):
694         (WI.Target.prototype.get mainResource):
695         (WI.Target.prototype.set mainResource):
696         (WI.Target.prototype.get displayName):
697         Give richer types for the main target. And allow a few things to be initialized
698         lazily, which will be necessary from an initialization message.
699
700         * UserInterface/Views/NetworkTabContentView.js:
701         (WI.NetworkTabContentView.isTabAllowed):
702         Remove a PageAgent requirement for the Network tab. A ServiceWorker will not
703         have a PageAgent, but it will have a NetworkAgent, which should be good enough.
704
705         * UserInterface/Views/NetworkTableContentView.js:
706         (WI.NetworkTableContentView.prototype._populateWithInitialResourcesIfNeeded):
707         Initial populate should populate all subresources of all targets.
708
709         * UserInterface/Views/ResourceContentView.js:
710         (WI.ResourceContentView.prototype.contentAvailable):
711         This was getting used by ResourceType.Other without warning. Make it warn.
712
713         * UserInterface/Views/ResourceSidebarPanel.js:
714         (WI.ResourceSidebarPanel.prototype._addScript):
715         (WI.ResourceSidebarPanel.prototype._addTargetWithMainResource):
716         * UserInterface/Views/ScriptTreeElement.js:
717         (WI.ScriptTreeElement):
718         Allow WorkerTreeElements for ServiceWorker targets which may also be the main target.
719         Also when adding such a tree element, promote the resource sidebar to a full tree
720         outline, and stop hiding disclosure buttons.
721
722 2017-11-27  Nikita Vasilyev  <nvasilyev@apple.com>
723
724         Web Inspector: Styles Redesign: selector's field shadow is clipped at the bottom
725         https://bugs.webkit.org/show_bug.cgi?id=179961
726
727         Reviewed by Matt Baker.
728
729         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:
730         (.spreadsheet-css-declaration .selector):
731
732 2017-11-21  Tomas Popela  <tpopela@redhat.com>
733
734         Unreviewed compile warning fix
735
736         WARNING: console.assert inside control flow statement without braces on line: 130487:
737         console.assert(this._loggingChannelSources.includes(channel.source));
738
739         * UserInterface/Controllers/LogManager.js:
740         (WI.LogManager):
741
742 2017-11-18  Joseph Pecoraro  <pecoraro@apple.com>
743
744         Web Inspector: Update the Trash / Clear icon
745         https://bugs.webkit.org/show_bug.cgi?id=179850
746
747         Reviewed by Matt Baker.
748
749         * UserInterface/Images/NavigationItemTrash.svg:
750         Update the icon.
751
752         * UserInterface/Views/ProbeDetailsSidebarPanel.css:
753         (.sidebar > .panel.probes > .navigation-bar .item.clear-samples):
754         * UserInterface/Views/ProbeSetDetailsSection.js:
755         (WI.ProbeSetDetailsSection):
756         * UserInterface/Views/ScopeChainDetailsSidebarPanel.css:
757         (.scope-chain .navigation-bar .item.clear-watch-expressions):
758         * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
759         (WI.ScopeChainDetailsSidebarPanel):
760         Resize to 15x15 and move it down a pixel.
761
762 2017-11-17  Joseph Pecoraro  <pecoraro@apple.com>
763
764         Web Inspector: Network Tab - Add HAR Export button
765         https://bugs.webkit.org/show_bug.cgi?id=179570
766         <rdar://problem/35484918>
767
768         Reviewed by Matt Baker.
769
770         * Localizations/en.lproj/localizedStrings.js:
771         New strings.
772
773         * UserInterface/Images/Export.svg: Added.
774         * UserInterface/Images/Import.svg: Added.
775         Add symmetric import/export buttons.
776
777         * UserInterface/Base/Main.js:
778         (WI.contentLoaded):
779         Expose the save keyboard shortcut so we can show its display name in a tooltip.
780
781         * UserInterface/Views/NetworkTableContentView.js:
782         (WI.NetworkTableContentView):
783         (WI.NetworkTableContentView.prototype.get navigationItems):
784         (WI.NetworkTableContentView.prototype.reset):
785         (WI.NetworkTableContentView.prototype.layout):
786         (WI.NetworkTableContentView.prototype._updateExportButton):
787         Include the export button and enable/disable it when appropriate.
788
789         (WI.NetworkTableContentView.prototype.closed):
790         Add a missing event listener removal.
791
792 2017-11-17  Matt Baker  <mattbaker@apple.com>
793
794         Web Inspector: Disabled ImageAndText-style buttons should have gray text
795         https://bugs.webkit.org/show_bug.cgi?id=179843
796         <rdar://problem/35624337>
797
798         Reviewed by Joseph Pecoraro.
799
800         * UserInterface/Views/ButtonNavigationItem.css:
801         (.navigation-bar .item.button.disabled.image-and-text,):
802         (.navigation-bar .item.button.disabled > .glyph): Deleted.
803
804 2017-11-17  Joseph Pecoraro  <pecoraro@apple.com>
805
806         Web Inspector: Network Tab - Update Ignore Caches button
807         https://bugs.webkit.org/show_bug.cgi?id=179841
808
809         Reviewed by Matt Baker.
810
811         * UserInterface/Images/IgnoreCaches.svg:
812         This changes from an arrow over a cache to a slash through a cache.
813
814 2017-11-17  Matt Baker  <mattbaker@apple.com>
815
816         Web Inspector: Remove WI.instanceForClass
817         https://bugs.webkit.org/show_bug.cgi?id=179746
818
819         Reviewed by Timothy Hatcher.
820
821         The implementations of DetailsSidebarPanel subclasses assume that panels
822         are closed and released when no longer needed. Keeping them alive with
823         instanceForClass isn't the right choice, since sidebar panels remove their
824         event listeners when closed.
825
826         * UserInterface/Base/Main.js:
827         (WI.instanceForClass): Deleted.
828         * UserInterface/Views/DebuggerTabContentView.js:
829         (WI.DebuggerTabContentView.prototype.showDetailsSidebarPanels):
830         * UserInterface/Views/TabContentView.js:
831         (WI.TabContentView.prototype.get detailsSidebarPanels):
832
833 2017-11-17  Matt Baker  <mattbaker@apple.com>
834
835         Web Inspector: ButtonNavigationItem should support image and text button style
836         https://bugs.webkit.org/show_bug.cgi?id=179625
837         <rdar://problem/35512238>
838
839         Reviewed by Joseph Pecoraro.
840
841         * UserInterface/Main.html:
842
843         * UserInterface/Views/ButtonNavigationItem.css:
844         (.navigation-bar .item.button):
845         (.navigation-bar .item.button.image-only):
846         (.navigation-bar .item.button.image-and-text):
847         (.navigation-bar .item.button.image-and-text > span):
848         (.navigation-bar .item.button.text-only):
849         (.navigation-bar .item.button.text-only.checkbox): Deleted.
850         (.navigation-bar .item.button.text-only.checkbox label): Deleted.
851         Checkbox styles have been moved to a separate CSS file.
852
853         * UserInterface/Views/ButtonNavigationItem.js:
854         Add backing data members for the image and label, allowing the DOM
855         representation of the button to change as needed.
856
857         (WI.ButtonNavigationItem):
858         Remove duplicate role logic. The base class sets the role.
859
860         (WI.ButtonNavigationItem.prototype.set label):
861         (WI.ButtonNavigationItem.prototype.set image):
862         (WI.ButtonNavigationItem.prototype.get buttonStyle):
863         (WI.ButtonNavigationItem.prototype.set buttonStyle):
864         (WI.ButtonNavigationItem.prototype.get additionalClassNames):
865         (WI.ButtonNavigationItem.prototype._mouseClicked):
866         (WI.ButtonNavigationItem.prototype._update):
867         (WI.ButtonNavigationItem.prototype.updateButtonText): Deleted.
868
869         * UserInterface/Views/CheckboxNavigationItem.css: Added.
870         (.navigation-bar .item.checkbox):
871         (.navigation-bar .item.checkbox label):
872
873         * UserInterface/Views/CheckboxNavigationItem.js:
874         Change base class to NavigationItem, since this item lacks an image
875         and makes use of an actual label element instead of a span for its text.
876
877         (WI.CheckboxNavigationItem):
878         (WI.CheckboxNavigationItem.prototype._checkboxChanged):
879         (WI.CheckboxNavigationItem.prototype.updateButtonText): Deleted.
880
881 2017-11-17  Joseph Pecoraro  <pecoraro@apple.com>
882
883         Web Inspector: Remove FIXMEs for GTK+ missing icons
884         https://bugs.webkit.org/show_bug.cgi?id=155282
885         <rdar://problem/25076615>
886
887         Reviewed by Michael Catanzaro.
888
889         * UserInterface/Views/PathComponentIcons.css:
890         (.source-icon .icon):
891         (body:not(.mac-platform, .windows-platform) .heap-snapshot-record .icon,): Deleted.
892         * UserInterface/Views/ResourceIcons.css:
893         (.large .resource-icon.resource-type-websocket .icon):
894         (body:not(.mac-platform, .windows-platform) .resource-icon.resource-type-ping .icon,): Deleted.
895         (body:not(.mac-platform, .windows-platform) .large .resource-icon.resource-type-ping .icon,): Deleted.
896         All ports now share the same images.
897
898 2017-11-15  Nikita Vasilyev  <nvasilyev@apple.com>
899
900         Web Inspector: Styles Redesign: typing colon in property name should advance to value field
901         https://bugs.webkit.org/show_bug.cgi?id=178795
902         <rdar://problem/35174674>
903
904         Reviewed by Devin Rousso.
905
906         * UserInterface/Views/SpreadsheetStyleProperty.js:
907         (WI.SpreadsheetStyleProperty.prototype._update):
908         (WI.SpreadsheetStyleProperty.prototype._handleNameBeforeInput):
909         Unlike pressing Tab or Enter, typing ":" in the property name should discard suggestion hint.
910
911         (WI.SpreadsheetStyleProperty.prototype._valueCompletionDataProvider):
912         We use 250ms debounce before updating this._property.name.
913         When typing "font-f:", we want to discard suggestion hint (i.e. "font-family"),
914         and immediately show autocomplete for "font-f" (in this case, invalid property).
915
916         * UserInterface/Views/SpreadsheetTextField.js:
917         (WI.SpreadsheetTextField):
918         (WI.SpreadsheetTextField.prototype.stopEditing):
919         (WI.SpreadsheetTextField.prototype.discardCompletion):
920         Call spreadsheetTextFieldDidChange when discarding non-empty suggestion hint.
921
922         (WI.SpreadsheetTextField.prototype.detached):
923         (WI.SpreadsheetTextField.prototype.completionSuggestionsClickedCompletion):
924         (WI.SpreadsheetTextField.prototype._handleBlur):
925         (WI.SpreadsheetTextField.prototype._handleKeyDownForSuggestionView):
926         (WI.SpreadsheetTextField.prototype._updateCompletions):
927         (WI.SpreadsheetTextField.prototype._applyCompletionHint):
928         (WI.SpreadsheetTextField.prototype._hideCompletions): Deleted.
929
930 2017-11-15  Matt Baker  <mattbaker@apple.com>
931
932         Web Inspector: REGRESSION (r217750): Navigation sidebar broken after closing and re-opening tab
933         https://bugs.webkit.org/show_bug.cgi?id=179717
934         <rdar://problem/35551541>
935
936         Reviewed by Devin Rousso.
937
938         NavigationSidebarPanels should not be created with WI.instanceForClass.
939
940         * UserInterface/Views/DebuggerSidebarPanel.js:
941         * UserInterface/Views/ResourceSidebarPanel.js:
942         (WI.ResourceSidebarPanel):
943         * UserInterface/Views/SearchSidebarPanel.js:
944         (WI.SearchSidebarPanel):
945         * UserInterface/Views/StorageSidebarPanel.js:
946         (WI.StorageSidebarPanel):
947         * UserInterface/Views/TabContentView.js:
948         (WI.TabContentView.prototype.get navigationSidebarPanel):
949
950 2017-11-15  Michael Catanzaro  <mcatanzaro@igalia.com>
951
952         Remove GTK web inspector images
953         https://bugs.webkit.org/show_bug.cgi?id=179716
954
955         Reviewed by Carlos Garcia Campos.
956
957         * Scripts/copy-user-interface-resources.pl:
958         * UserInterface/Images/gtk/AUTHORS: Removed.
959         * UserInterface/Images/gtk/ActiveCallFrame.svg: Removed.
960         * UserInterface/Images/gtk/AnimationPlayStatePaused.svg: Removed.
961         * UserInterface/Images/gtk/AnimationPlayStateRunning.svg: Removed.
962         * UserInterface/Images/gtk/ApplicationCache.png: Removed.
963         * UserInterface/Images/gtk/ApplicationCache@2x.png: Removed.
964         * UserInterface/Images/gtk/ApplicationCacheManifest.png: Removed.
965         * UserInterface/Images/gtk/ApplicationCacheManifest@2x.png: Removed.
966         * UserInterface/Images/gtk/ArrowUp.svg: Removed.
967         * UserInterface/Images/gtk/Assertion.svg: Removed.
968         * UserInterface/Images/gtk/BackForwardArrows.svg: Removed.
969         * UserInterface/Images/gtk/Breakpoint.png: Removed.
970         * UserInterface/Images/gtk/Breakpoint@2x.png: Removed.
971         * UserInterface/Images/gtk/BreakpointButton.svg: Removed.
972         * UserInterface/Images/gtk/BreakpointInactive.png: Removed.
973         * UserInterface/Images/gtk/BreakpointInactive@2x.png: Removed.
974         * UserInterface/Images/gtk/BreakpointInactiveButton.svg: Removed.
975         * UserInterface/Images/gtk/Breakpoints.svg: Removed.
976         * UserInterface/Images/gtk/COPYING: Removed.
977         * UserInterface/Images/gtk/COPYING_CCBYSA3: Removed.
978         * UserInterface/Images/gtk/COPYING_LGPL2: Removed.
979         * UserInterface/Images/gtk/CSSVariable.svg: Removed.
980         * UserInterface/Images/gtk/CallTrees.svg: Removed.
981         * UserInterface/Images/gtk/Canvas.svg: Removed.
982         * UserInterface/Images/gtk/Canvas2D.svg: Removed.
983         * UserInterface/Images/gtk/Canvas3D.svg: Removed.
984         * UserInterface/Images/gtk/CanvasOverview.svg: Removed.
985         * UserInterface/Images/gtk/Checkers.svg: Removed.
986         * UserInterface/Images/gtk/Circle.svg: Removed.
987         * UserInterface/Images/gtk/ClearBoth.svg: Removed.
988         * UserInterface/Images/gtk/ClearLeft.svg: Removed.
989         * UserInterface/Images/gtk/ClearRight.svg: Removed.
990         * UserInterface/Images/gtk/ClippingCSS.png: Removed.
991         * UserInterface/Images/gtk/ClippingCSS@2x.png: Removed.
992         * UserInterface/Images/gtk/ClippingCSSLarge.png: Removed.
993         * UserInterface/Images/gtk/ClippingCSSLarge@2x.png: Removed.
994         * UserInterface/Images/gtk/ClippingGeneric.png: Removed.
995         * UserInterface/Images/gtk/ClippingGeneric@2x.png: Removed.
996         * UserInterface/Images/gtk/ClippingGenericLarge.png: Removed.
997         * UserInterface/Images/gtk/ClippingGenericLarge@2x.png: Removed.
998         * UserInterface/Images/gtk/ClippingJS.png: Removed.
999         * UserInterface/Images/gtk/ClippingJS@2x.png: Removed.
1000         * UserInterface/Images/gtk/ClippingJSLarge.png: Removed.
1001         * UserInterface/Images/gtk/ClippingJSLarge@2x.png: Removed.
1002         * UserInterface/Images/gtk/Close.svg: Removed.
1003         * UserInterface/Images/gtk/CloseLarge.svg: Removed.
1004         * UserInterface/Images/gtk/CloseWhite.svg: Removed.
1005         * UserInterface/Images/gtk/ColorIcon.png: Removed.
1006         * UserInterface/Images/gtk/ColorIcon@2x.png: Removed.
1007         * UserInterface/Images/gtk/Console.svg: Removed.
1008         * UserInterface/Images/gtk/Cookie.png: Removed.
1009         * UserInterface/Images/gtk/Cookie@2x.png: Removed.
1010         * UserInterface/Images/gtk/Crosshair.svg: Removed.
1011         * UserInterface/Images/gtk/CubicBezier.svg: Removed.
1012         * UserInterface/Images/gtk/DOMBreakpoint.svg: Removed.
1013         * UserInterface/Images/gtk/DOMCharacterData.svg: Removed.
1014         * UserInterface/Images/gtk/DOMComment.svg: Removed.
1015         * UserInterface/Images/gtk/DOMDocument.svg: Removed.
1016         * UserInterface/Images/gtk/DOMDocumentType.svg: Removed.
1017         * UserInterface/Images/gtk/DOMElement.svg: Removed.
1018         * UserInterface/Images/gtk/DOMNode.svg: Removed.
1019         * UserInterface/Images/gtk/DOMTextNode.svg: Removed.
1020         * UserInterface/Images/gtk/Database.png: Removed.
1021         * UserInterface/Images/gtk/Database@2x.png: Removed.
1022         * UserInterface/Images/gtk/DatabaseTable.png: Removed.
1023         * UserInterface/Images/gtk/DatabaseTable@2x.png: Removed.
1024         * UserInterface/Images/gtk/Debug.svg: Removed.
1025         * UserInterface/Images/gtk/Debugger.svg: Removed.
1026         * UserInterface/Images/gtk/DisclosureTriangles.svg: Removed.
1027         * UserInterface/Images/gtk/DockBottom.svg: Removed.
1028         * UserInterface/Images/gtk/DockLeft.svg: Removed.
1029         * UserInterface/Images/gtk/DockRight.svg: Removed.
1030         * UserInterface/Images/gtk/DocumentCSS.png: Removed.
1031         * UserInterface/Images/gtk/DocumentCSS@2x.png: Removed.
1032         * UserInterface/Images/gtk/DocumentCSSLarge.png: Removed.
1033         * UserInterface/Images/gtk/DocumentCSSLarge@2x.png: Removed.
1034         * UserInterface/Images/gtk/DocumentFont.png: Removed.
1035         * UserInterface/Images/gtk/DocumentFont@2x.png: Removed.
1036         * UserInterface/Images/gtk/DocumentFontLarge.png: Removed.
1037         * UserInterface/Images/gtk/DocumentFontLarge@2x.png: Removed.
1038         * UserInterface/Images/gtk/DocumentGeneric.png: Removed.
1039         * UserInterface/Images/gtk/DocumentGeneric@2x.png: Removed.
1040         * UserInterface/Images/gtk/DocumentGenericLarge.png: Removed.
1041         * UserInterface/Images/gtk/DocumentGenericLarge@2x.png: Removed.
1042         * UserInterface/Images/gtk/DocumentImage.png: Removed.
1043         * UserInterface/Images/gtk/DocumentImage@2x.png: Removed.
1044         * UserInterface/Images/gtk/DocumentImageLarge.png: Removed.
1045         * UserInterface/Images/gtk/DocumentImageLarge@2x.png: Removed.
1046         * UserInterface/Images/gtk/DocumentJS.png: Removed.
1047         * UserInterface/Images/gtk/DocumentJS@2x.png: Removed.
1048         * UserInterface/Images/gtk/DocumentJSLarge.png: Removed.
1049         * UserInterface/Images/gtk/DocumentJSLarge@2x.png: Removed.
1050         * UserInterface/Images/gtk/DocumentMarkup.png: Removed.
1051         * UserInterface/Images/gtk/DocumentMarkup@2x.png: Removed.
1052         * UserInterface/Images/gtk/DocumentMarkupLarge.png: Removed.
1053         * UserInterface/Images/gtk/DocumentMarkupLarge@2x.png: Removed.
1054         * UserInterface/Images/gtk/DownloadArrow.svg: Removed.
1055         * UserInterface/Images/gtk/Elements.svg: Removed.
1056         * UserInterface/Images/gtk/Error.svg: Removed.
1057         * UserInterface/Images/gtk/Errors.svg: Removed.
1058         * UserInterface/Images/gtk/ErrorsEnabled.svg: Removed.
1059         * UserInterface/Images/gtk/EventListener.svg: Removed.
1060         * UserInterface/Images/gtk/Events.svg: Removed.
1061         * UserInterface/Images/gtk/Exception.svg: Removed.
1062         * UserInterface/Images/gtk/Eye.svg: Removed.
1063         * UserInterface/Images/gtk/FilterFieldActiveGlyph.svg: Removed.
1064         * UserInterface/Images/gtk/FilterFieldGlyph.svg: Removed.
1065         * UserInterface/Images/gtk/FloatLeft.svg: Removed.
1066         * UserInterface/Images/gtk/FloatRight.svg: Removed.
1067         * UserInterface/Images/gtk/FolderGeneric.png: Removed.
1068         * UserInterface/Images/gtk/FolderGeneric@2x.png: Removed.
1069         * UserInterface/Images/gtk/FontStyleItalic.svg: Removed.
1070         * UserInterface/Images/gtk/FontStyleNormal.svg: Removed.
1071         * UserInterface/Images/gtk/Function.svg: Removed.
1072         * UserInterface/Images/gtk/Gear.svg: Removed.
1073         * UserInterface/Images/gtk/GoToArrow.svg: Removed.
1074         * UserInterface/Images/gtk/GradientStop.png: Removed.
1075         * UserInterface/Images/gtk/GradientStop@2x.png: Removed.
1076         * UserInterface/Images/gtk/GradientStopSelected.png: Removed.
1077         * UserInterface/Images/gtk/GradientStopSelected@2x.png: Removed.
1078         * UserInterface/Images/gtk/HeapAllocationsInstrument.svg: Removed.
1079         * UserInterface/Images/gtk/HeapSnapshotObjectGraph.svg: Removed.
1080         * UserInterface/Images/gtk/HierarchicalNavigationItemChevron.svg: Removed.
1081         * UserInterface/Images/gtk/HoverMenuButton.png: Removed.
1082         * UserInterface/Images/gtk/HoverMenuButton@2x.png: Removed.
1083         * UserInterface/Images/gtk/IgnoreCaches.svg: Removed.
1084         * UserInterface/Images/gtk/Image.svg: Removed.
1085         * UserInterface/Images/gtk/IndeterminateProgressSpinner1.svg: Removed.
1086         * UserInterface/Images/gtk/IndeterminateProgressSpinner10.svg: Removed.
1087         * UserInterface/Images/gtk/IndeterminateProgressSpinner11.svg: Removed.
1088         * UserInterface/Images/gtk/IndeterminateProgressSpinner12.svg: Removed.
1089         * UserInterface/Images/gtk/IndeterminateProgressSpinner2.svg: Removed.
1090         * UserInterface/Images/gtk/IndeterminateProgressSpinner3.svg: Removed.
1091         * UserInterface/Images/gtk/IndeterminateProgressSpinner4.svg: Removed.
1092         * UserInterface/Images/gtk/IndeterminateProgressSpinner5.svg: Removed.
1093         * UserInterface/Images/gtk/IndeterminateProgressSpinner6.svg: Removed.
1094         * UserInterface/Images/gtk/IndeterminateProgressSpinner7.svg: Removed.
1095         * UserInterface/Images/gtk/IndeterminateProgressSpinner8.svg: Removed.
1096         * UserInterface/Images/gtk/IndeterminateProgressSpinner9.svg: Removed.
1097         * UserInterface/Images/gtk/Info.svg: Removed.
1098         * UserInterface/Images/gtk/InstructionPointer.png: Removed.
1099         * UserInterface/Images/gtk/InstructionPointer@2x.png: Removed.
1100         * UserInterface/Images/gtk/Issues.svg: Removed.
1101         * UserInterface/Images/gtk/IssuesEnabled.svg: Removed.
1102         * UserInterface/Images/gtk/LayerBorders.svg: Removed.
1103         * UserInterface/Images/gtk/Layers.svg: Removed.
1104         * UserInterface/Images/gtk/LayoutInstrument.svg: Removed.
1105         * UserInterface/Images/gtk/ListStylePositionInside.svg: Removed.
1106         * UserInterface/Images/gtk/ListStylePositionOutside.svg: Removed.
1107         * UserInterface/Images/gtk/LocalStorage.png: Removed.
1108         * UserInterface/Images/gtk/LocalStorage@2x.png: Removed.
1109         * UserInterface/Images/gtk/Locked.svg: Removed.
1110         * UserInterface/Images/gtk/Log.svg: Removed.
1111         * UserInterface/Images/gtk/Logs.svg: Removed.
1112         * UserInterface/Images/gtk/MemoryInstrument.svg: Removed.
1113         * UserInterface/Images/gtk/Minus.svg: Removed.
1114         * UserInterface/Images/gtk/Native.svg: Removed.
1115         * UserInterface/Images/gtk/NavigationItemCheckers.svg: Removed.
1116         * UserInterface/Images/gtk/NavigationItemCodeCoverage.svg: Removed.
1117         * UserInterface/Images/gtk/NavigationItemCurleyBraces.svg: Removed.
1118         * UserInterface/Images/gtk/NavigationItemGarbageCollect.svg: Removed.
1119         * UserInterface/Images/gtk/NavigationItemTrash.svg: Removed.
1120         * UserInterface/Images/gtk/NavigationItemTypes.svg: Removed.
1121         * UserInterface/Images/gtk/Network.svg: Removed.
1122         * UserInterface/Images/gtk/NetworkInstrument.svg: Removed.
1123         * UserInterface/Images/gtk/NewTab.svg: Removed.
1124         * UserInterface/Images/gtk/NewTabPlus.svg: Removed.
1125         * UserInterface/Images/gtk/Paint.svg: Removed.
1126         * UserInterface/Images/gtk/Path.svg: Removed.
1127         * UserInterface/Images/gtk/Pause.svg: Removed.
1128         * UserInterface/Images/gtk/PausedBreakpoint.svg: Removed.
1129         * UserInterface/Images/gtk/Pencil.svg: Removed.
1130         * UserInterface/Images/gtk/Plus13.svg: Removed.
1131         * UserInterface/Images/gtk/Plus15.svg: Removed.
1132         * UserInterface/Images/gtk/Printer.svg: Removed.
1133         * UserInterface/Images/gtk/Program.svg: Removed.
1134         * UserInterface/Images/gtk/PseudoElement.svg: Removed.
1135         * UserInterface/Images/gtk/Receiving.svg: Removed.
1136         * UserInterface/Images/gtk/Record.svg: Removed.
1137         * UserInterface/Images/gtk/Recording.svg: Removed.
1138         * UserInterface/Images/gtk/Reflection.svg: Removed.
1139         * UserInterface/Images/gtk/ReloadFull.svg: Removed.
1140         * UserInterface/Images/gtk/ReloadToolbar.svg: Removed.
1141         * UserInterface/Images/gtk/RenderingFrame.svg: Removed.
1142         * UserInterface/Images/gtk/RenderingFramesInstrument.svg: Removed.
1143         * UserInterface/Images/gtk/Request.svg: Removed.
1144         * UserInterface/Images/gtk/Resources.svg: Removed.
1145         * UserInterface/Images/gtk/Response.svg: Removed.
1146         * UserInterface/Images/gtk/ResultLine.svg: Removed.
1147         * UserInterface/Images/gtk/Resume.svg: Removed.
1148         * UserInterface/Images/gtk/ScriptsInstrument.svg: Removed.
1149         * UserInterface/Images/gtk/Search.svg: Removed.
1150         * UserInterface/Images/gtk/SearchResults.svg: Removed.
1151         * UserInterface/Images/gtk/Sending.svg: Removed.
1152         * UserInterface/Images/gtk/SessionStorage.png: Removed.
1153         * UserInterface/Images/gtk/SessionStorage@2x.png: Removed.
1154         * UserInterface/Images/gtk/ShadowDOM.svg: Removed.
1155         * UserInterface/Images/gtk/SliderThumb.png: Removed.
1156         * UserInterface/Images/gtk/SliderThumb@2x.png: Removed.
1157         * UserInterface/Images/gtk/SliderThumbPressed.png: Removed.
1158         * UserInterface/Images/gtk/SliderThumbPressed@2x.png: Removed.
1159         * UserInterface/Images/gtk/SortIndicatorArrows.svg: Removed.
1160         * UserInterface/Images/gtk/Source.svg: Removed.
1161         * UserInterface/Images/gtk/SplitToggleUp.svg: Removed.
1162         * UserInterface/Images/gtk/StepInto.svg: Removed.
1163         * UserInterface/Images/gtk/StepOut.svg: Removed.
1164         * UserInterface/Images/gtk/StepOver.svg: Removed.
1165         * UserInterface/Images/gtk/Stop.svg: Removed.
1166         * UserInterface/Images/gtk/Stopwatch.svg: Removed.
1167         * UserInterface/Images/gtk/Storage.svg: Removed.
1168         * UserInterface/Images/gtk/StyleRule.svg: Removed.
1169         * UserInterface/Images/gtk/StyleRuleInheritedElement.svg: Removed.
1170         * UserInterface/Images/gtk/StyleRulePseudoElement.svg: Removed.
1171         * UserInterface/Images/gtk/TailDeletedFunction.svg: Removed.
1172         * UserInterface/Images/gtk/TextAlignCenter.svg: Removed.
1173         * UserInterface/Images/gtk/TextAlignJustify.svg: Removed.
1174         * UserInterface/Images/gtk/TextAlignLeft.svg: Removed.
1175         * UserInterface/Images/gtk/TextAlignRight.svg: Removed.
1176         * UserInterface/Images/gtk/TextDecorationLineThrough.svg: Removed.
1177         * UserInterface/Images/gtk/TextDecorationOverline.svg: Removed.
1178         * UserInterface/Images/gtk/TextDecorationUnderline.svg: Removed.
1179         * UserInterface/Images/gtk/TextTransformCapitalize.svg: Removed.
1180         * UserInterface/Images/gtk/TextTransformLowercase.svg: Removed.
1181         * UserInterface/Images/gtk/TextTransformUppercase.svg: Removed.
1182         * UserInterface/Images/gtk/Thread.svg: Removed.
1183         * UserInterface/Images/gtk/Time.svg: Removed.
1184         * UserInterface/Images/gtk/Timeline.svg: Removed.
1185         * UserInterface/Images/gtk/TimelineRecordAPI.svg: Removed.
1186         * UserInterface/Images/gtk/TimelineRecordAnimation.svg: Removed.
1187         * UserInterface/Images/gtk/TimelineRecordComposite.svg: Removed.
1188         * UserInterface/Images/gtk/TimelineRecordConsoleProfile.svg: Removed.
1189         * UserInterface/Images/gtk/TimelineRecordEvent.svg: Removed.
1190         * UserInterface/Images/gtk/TimelineRecordLayout.svg: Removed.
1191         * UserInterface/Images/gtk/TimelineRecordPaint.svg: Removed.
1192         * UserInterface/Images/gtk/TimelineRecordProbeSampled.svg: Removed.
1193         * UserInterface/Images/gtk/TimelineRecordScriptEvaluated.svg: Removed.
1194         * UserInterface/Images/gtk/TimelineRecordStyle.svg: Removed.
1195         * UserInterface/Images/gtk/TimelineRecordTimer.svg: Removed.
1196         * UserInterface/Images/gtk/ToggleLeftSidebar.svg: Removed.
1197         * UserInterface/Images/gtk/ToggleRightSidebar.svg: Removed.
1198         * UserInterface/Images/gtk/TypeBoolean.svg: Removed.
1199         * UserInterface/Images/gtk/TypeNull.svg: Removed.
1200         * UserInterface/Images/gtk/TypeNumber.svg: Removed.
1201         * UserInterface/Images/gtk/TypeObject.svg: Removed.
1202         * UserInterface/Images/gtk/TypeRegex.svg: Removed.
1203         * UserInterface/Images/gtk/TypeString.svg: Removed.
1204         * UserInterface/Images/gtk/TypeSymbol.svg: Removed.
1205         * UserInterface/Images/gtk/TypeUndefined.svg: Removed.
1206         * UserInterface/Images/gtk/Undock.svg: Removed.
1207         * UserInterface/Images/gtk/UpDownArrows.svg: Removed.
1208         * UserInterface/Images/gtk/UserInputPrompt.svg: Removed.
1209         * UserInterface/Images/gtk/UserInputPromptPrevious.svg: Removed.
1210         * UserInterface/Images/gtk/UserInputResult.svg: Removed.
1211         * UserInterface/Images/gtk/VisualStyleNone.svg: Removed.
1212         * UserInterface/Images/gtk/VisualStylePropertyLinked.svg: Removed.
1213         * UserInterface/Images/gtk/VisualStylePropertyUnlinked.svg: Removed.
1214         * UserInterface/Images/gtk/Warning.svg: Removed.
1215         * UserInterface/Images/gtk/WebSocket.png: Removed.
1216         * UserInterface/Images/gtk/WebSocket@2x.png: Removed.
1217         * UserInterface/Images/gtk/WebSocketLarge.png: Removed.
1218         * UserInterface/Images/gtk/WebSocketLarge@2x.png: Removed.
1219         * UserInterface/Images/gtk/Weight.svg: Removed.
1220         * UserInterface/Images/gtk/WorkerScript.png: Removed.
1221         * UserInterface/Images/gtk/WorkerScript@2x.png: Removed.
1222         * UserInterface/Images/gtk/WorkerScriptLarge.png: Removed.
1223         * UserInterface/Images/gtk/WorkerScriptLarge@2x.png: Removed.
1224
1225 2017-11-14  Joseph Pecoraro  <pecoraro@apple.com>
1226
1227         Relicense non-distributable web inspector images
1228         https://bugs.webkit.org/show_bug.cgi?id=166460
1229         <rdar://problem/29800966>
1230
1231         Reviewed by Brian Burg.
1232
1233         * APPLE_IMAGES_LICENSE.rtf: Removed.
1234         Remove the restrictive Web Inspector images license and default to the
1235         same license as the rest of WebKit.
1236
1237         The Apple Images license was never intended to restrict distribution of
1238         Web Inspector images when used as part of WebKit. Now, all contributions
1239         to Web Inspector, images and source, have the same licensing as all other
1240         WebKit contributions.
1241
1242 2017-11-14  Joseph Pecoraro  <pecoraro@apple.com>
1243
1244         Web Inspector: Network Detail Views - Split Metrics into Sizes and Timing
1245         https://bugs.webkit.org/show_bug.cgi?id=179569
1246         <rdar://problem/35484914>
1247
1248         Reviewed by Brian Burg.
1249
1250         * Localizations/en.lproj/localizedStrings.js:
1251         * UserInterface/Main.html:
1252         New resources and strings.
1253
1254         * UserInterface/Views/NetworkResourceDetailView.js:
1255         (WI.NetworkResourceDetailView):
1256         (WI.NetworkResourceDetailView.prototype.initialLayout):
1257         (WI.NetworkResourceDetailView.prototype._showPreferredContentView):
1258         (WI.NetworkResourceDetailView.prototype._showContentViewForNavigationItem):
1259         (WI.NetworkResourceDetailView.prototype.sizesContentViewGoToHeaders): Renamed.
1260         (WI.NetworkResourceDetailView.prototype.sizesContentViewGoToRequestBody): Renamed.
1261         (WI.NetworkResourceDetailView.prototype.sizesContentViewGoToResponseBody): Renamed.
1262         Split into two navigation items and views.
1263
1264         * UserInterface/Views/ResourceMetricsContentView.css: Removed.
1265         * UserInterface/Views/ResourceMetricsContentView.js: Removed.
1266         * UserInterface/Views/ResourceSizesContentView.css: Added.
1267         * UserInterface/Views/ResourceSizesContentView.js: Added.
1268         * UserInterface/Views/ResourceTimingContentView.css: Added.
1269         * UserInterface/Views/ResourceTimingContentView.js: Added.
1270         Split Metrics into two views.
1271
1272 2017-11-14  Matt Baker  <mattbaker@apple.com>
1273
1274         Web Inspector: Cleanup navigation bar dividers and separators
1275         https://bugs.webkit.org/show_bug.cgi?id=179654
1276         <rdar://problem/35523734>
1277
1278         Reviewed by Devin Rousso.
1279
1280         Update path separator icon, and reduce number of dividers used in the
1281         content browser's navigation bar, to more closely match modern Xcode.
1282
1283         * UserInterface/Images/HierarchicalNavigationItemChevron.svg:
1284         Update icon, remove tapered arrow head.
1285
1286         * UserInterface/Views/ContentBrowser.js:
1287         (WI.ContentBrowser):
1288         Remove divider between back/forward buttons and item name.
1289         (WI.ContentBrowser.prototype._updateContentViewNavigationItems):
1290
1291         * UserInterface/Views/HierarchicalPathComponent.css:
1292         (.hierarchical-path-component > .separator):
1293
1294         * UserInterface/Views/LogContentView.js:
1295         (WI.LogContentView.prototype.get navigationItems):
1296         Remove dividers between buttons provided by the current content view.
1297
1298 2017-11-13  Joseph Pecoraro  <pecoraro@apple.com>
1299
1300         Web Inspector: Network Details Views - make section headers more prominent
1301         https://bugs.webkit.org/show_bug.cgi?id=179565
1302         <rdar://problem/35510531>
1303
1304         Reviewed by Devin Rousso.
1305
1306         * UserInterface/Views/ResourceDetailsSection.css:
1307         (.resource-details > section > .title):
1308
1309 2017-11-13  Nikita Vasilyev  <nvasilyev@apple.com>
1310
1311         Web Inspector: Styles Redesign: make selector field inline-block when editing
1312         https://bugs.webkit.org/show_bug.cgi?id=179588
1313         <rdar://problem/35490915>
1314
1315         Reviewed by Brian Burg.
1316
1317         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:
1318         (.spreadsheet-css-declaration .header.editing-selector .origin):
1319         When the selector field is multiline, it covers the source link entirely.
1320         When the selector field takes only one line, the source link remains where it was before editing.
1321
1322         (.spreadsheet-css-declaration .selector):
1323         Make it `position: relative` to cover the source link.
1324
1325         (.spreadsheet-css-declaration .selector.spreadsheet-selector-field.editing):
1326         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
1327         (WI.SpreadsheetCSSStyleDeclarationSection.prototype.initialLayout):
1328
1329 2017-11-13  Joseph Pecoraro  <pecoraro@apple.com>
1330
1331         REGRESSION(r223856): Web Inspector: Cannot view Request Data
1332         https://bugs.webkit.org/show_bug.cgi?id=179567
1333
1334         Reviewed by Brian Burg.
1335
1336         * UserInterface/Views/ResourceClusterContentView.js:
1337         (WI.ResourceClusterContentView.prototype._canShowRequestContentView):
1338         This condition unintentionally got flipped in r223856.
1339
1340 2017-11-13  Matt Baker  <mattbaker@apple.com>
1341
1342         Web Inspector: Add CheckboxNavigationItem
1343         https://bugs.webkit.org/show_bug.cgi?id=179584
1344         <rdar://problem/35490085>
1345
1346         Reviewed by Brian Burg.
1347
1348         * UserInterface/Main.html:
1349         * UserInterface/Views/ButtonNavigationItem.css:
1350         (.navigation-bar .item.button.text-only.checkbox):
1351         (.navigation-bar .item.button.text-only.checkbox label):
1352
1353         * UserInterface/Views/ButtonNavigationItem.js:
1354         Cleanup and some tweaks to the label to make it work with subclasses
1355         regardless of how label is represented in the DOM.
1356
1357         (WI.ButtonNavigationItem):
1358         (WI.ButtonNavigationItem.prototype.get toolTip):
1359         (WI.ButtonNavigationItem.prototype.set toolTip):
1360         (WI.ButtonNavigationItem.prototype.get label):
1361         (WI.ButtonNavigationItem.prototype.set label):
1362         (WI.ButtonNavigationItem.prototype.set image):
1363         (WI.ButtonNavigationItem.prototype.get enabled):
1364         (WI.ButtonNavigationItem.prototype.set enabled):
1365         (WI.ButtonNavigationItem.prototype.updateButtonText):
1366
1367         * UserInterface/Views/CheckboxNavigationItem.js: Added.
1368         New button item with a checkbox and label. Dispatches a Clicked evennt
1369         whenever the checked state changes.
1370
1371         (WI.CheckboxNavigationItem):
1372         (WI.CheckboxNavigationItem.prototype.get checked):
1373         (WI.CheckboxNavigationItem.prototype.set checked):
1374         (WI.CheckboxNavigationItem.prototype.get additionalClassNames):
1375         (WI.CheckboxNavigationItem.prototype.updateButtonText):
1376         (WI.CheckboxNavigationItem.prototype._checkboxChanged):
1377
1378 2017-11-13  Joseph Pecoraro  <pecoraro@apple.com>
1379
1380         Web Inspector: Give DataGrid/Table Header ContextMenu a section header to better describe its functions
1381         https://bugs.webkit.org/show_bug.cgi?id=179560
1382
1383         Reviewed by Matt Baker.
1384
1385         * Localizations/en.lproj/localizedStrings.js:
1386         New string.
1387
1388         * UserInterface/Views/DataGrid.js:
1389         (WI.DataGrid.prototype._contextMenuInHeader):
1390         * UserInterface/Views/Table.js:
1391         (WI.Table.prototype._handleHeaderContextMenu):
1392         Include a disabled context menu item as a section header.
1393
1394 2017-11-12  Carlos Garcia Campos  <cgarcia@igalia.com>
1395
1396         REGRESSION(r224566): [GTK] 26 new timeouts on inspector related tests.
1397         https://bugs.webkit.org/show_bug.cgi?id=179471
1398
1399         Reviewed by Darin Adler.
1400
1401         TestStub.html and TestStub.js was missing in resources bundle.
1402
1403         * Scripts/copy-user-interface-resources.pl: Also combine resources for TestStub.
1404
1405 2017-11-11  Joseph Pecoraro  <pecoraro@apple.com>
1406
1407         Web Inspector: Network detail views - Include a newline between sections when copying
1408         https://bugs.webkit.org/show_bug.cgi?id=179577
1409
1410         Reviewed by Matt Baker.
1411
1412         * UserInterface/Views/NetworkResourceDetailView.css:
1413         (.content-view.resource-details):
1414         * UserInterface/Views/ResourceDetailsSection.css:
1415         (.resource-details > section):
1416         (.resource-details > section > .title):
1417         Adjust styles now that there is a <br> taking up space between sections.
1418         After all the changes, the top section moved up 1px from where it was originally.
1419
1420         * UserInterface/Views/ResourceDetailsSection.js:
1421         (WI.ResourceDetailsSection):
1422         Include a <br> to get newlines when copying.
1423
1424 2017-11-11  Joseph Pecoraro  <pecoraro@apple.com>
1425
1426         Web Inspector: Network waterfall graph - make connection part thinner
1427         https://bugs.webkit.org/show_bug.cgi?id=179561
1428
1429         Reviewed by Devin Rousso.
1430
1431         * UserInterface/Views/NetworkTableContentView.css:
1432         (.waterfall .block):
1433
1434 2017-11-11  Devin Rousso  <webkit@devinrousso.com>
1435
1436         Web Inspector: Canvas tab: show detailed status during canvas recording
1437         https://bugs.webkit.org/show_bug.cgi?id=178185
1438         <rdar://problem/34939862>
1439
1440         Reviewed by Brian Burg.
1441
1442         * Localizations/en.lproj/localizedStrings.js:
1443
1444         * UserInterface/Protocol/CanvasObserver.js:
1445         (WI.CanvasObserver.prototype.recordingProgress):
1446         * UserInterface/Controllers/CanvasManager.js:
1447         (WI.CanvasManager):
1448         (WI.CanvasManager.prototype.recordingProgress):
1449         (WI.CanvasManager.prototype.recordingFinished):
1450         Maintain arrays of recorded frames for each canvas and add new frames each time a progress
1451         event is fired. When the recording is finished, use the array as part of the payload for
1452         creating a WI.Recording object.
1453
1454         * UserInterface/Models/Recording.js:
1455         (WI.Recording.fromPayload):
1456
1457         * UserInterface/Models/RecordingAction.js:
1458         (WI.RecordingAction.prototype.apply.getContent):
1459         (WI.RecordingAction.prototype.apply):
1460         Drive-by fix: toDataURL is very slow, so add alternative ways of getting and comparing the
1461         content of the canvas to determine if the action has a visible effect.
1462
1463         * UserInterface/Views/CanvasContentView.css:
1464         (.content-view.canvas:not(.tab)):
1465         (.content-view.canvas:not(.tab) > .progress):
1466         (.content-view.canvas:not(.tab) > .progress > .frame-count):
1467         * UserInterface/Views/CanvasContentView.js:
1468         (WI.CanvasContentView):
1469         (WI.CanvasContentView.prototype.attached):
1470         (WI.CanvasContentView.prototype._recordingStarted):
1471         (WI.CanvasContentView.prototype._recordingProgress):
1472         (WI.CanvasContentView.prototype._recordingStopped):
1473         Steal some space from the preview area to display a count of the number of recorded frames
1474         and the current buffer usage.
1475
1476         * UserInterface/Views/CanvasOverviewContentView.css:
1477         (.content-view.canvas-overview .content-view.canvas > :matches(header, .progress, .preview, footer)):
1478         (.content-view.canvas-overview .content-view.canvas.selected > :matches(.progress, .preview, footer),):
1479         (.content-view.canvas-overview .content-view.canvas > :matches(.progress, .preview)):
1480         (.content-view.canvas-overview .content-view.canvas > .preview):
1481         (.content-view.canvas-overview .content-view.canvas > .progress ~ .preview):
1482         (.content-view.canvas-overview .content-view.canvas > :matches(header, .preview, footer)): Deleted.
1483         (.content-view.canvas-overview .content-view.canvas.selected > :matches(.preview, footer),): Deleted.
1484
1485 2017-11-09  Nikita Vasilyev  <nvasilyev@apple.com>
1486
1487         Web Inspector: Styles Redesign: clicking on inline swatches and property checkboxes should not add a new property
1488         https://bugs.webkit.org/show_bug.cgi?id=179507
1489         <rdar://problem/35452204>
1490
1491         Reviewed by Brian Burg.
1492
1493         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
1494         (WI.SpreadsheetCSSStyleDeclarationSection.prototype.initialLayout):
1495         (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleClick):
1496         Don't add new properties when clicking on selector fields, source links, and property checkboxes.
1497
1498         * UserInterface/Views/SpreadsheetStyleProperty.js:
1499         (WI.SpreadsheetStyleProperty.prototype._update):
1500         It is safe to replace "change" event with "click" since it fires even when pressing Space key when the checkbox is focused.
1501
1502 2017-11-09  Devin Rousso  <webkit@devinrousso.com>
1503
1504         Web Inspector: support undo/redo of insertAdjacentHTML
1505         https://bugs.webkit.org/show_bug.cgi?id=179283
1506
1507         Reviewed by Joseph Pecoraro.
1508
1509         * UserInterface/Models/DOMNode.js:
1510         (WI.DOMNode.prototype.insertAdjacentHTML):
1511
1512         * UserInterface/Views/DOMTreeElement.js:
1513         (WI.DOMTreeElement.prototype._startEditingAsHTML):
1514         Drive-by: only attempt to update the cursor if an initialValue is supplied.
1515
1516 2017-11-09  Joseph Pecoraro  <pecoraro@apple.com>
1517
1518         Web Inspector: Make domain availability a list of types instead of a single type
1519         https://bugs.webkit.org/show_bug.cgi?id=179457
1520
1521         Reviewed by Brian Burg.
1522
1523         * UserInterface/Protocol/InspectorBackend.js:
1524         (InspectorBackendClass.prototype.activateDomain):
1525         The second value changed to be an optional list. Check if the active
1526         debuggable type is in the list or not.
1527
1528         * UserInterface/Protocol/Legacy/10.0/InspectorBackendCommands.js:
1529         * UserInterface/Protocol/Legacy/10.3/InspectorBackendCommands.js:
1530         * UserInterface/Protocol/Legacy/11.0/InspectorBackendCommands.js:
1531         * UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
1532         * UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js:
1533         * UserInterface/Protocol/Legacy/9.3/InspectorBackendCommands.js:
1534         * Versions/Inspector-iOS-10.0.json:
1535         * Versions/Inspector-iOS-10.3.json:
1536         * Versions/Inspector-iOS-11.0.json:
1537         * Versions/Inspector-iOS-8.0.json:
1538         * Versions/Inspector-iOS-9.0.json:
1539         * Versions/Inspector-iOS-9.3.json:
1540         Since this is a change to how we generate the frontend resource,
1541         update the legacy versioned backends and regenerate their resource.
1542
1543 2017-11-09  Carlos Garcia Campos  <cgarcia@igalia.com>
1544
1545         REGRESSION(r224566): [GTK][WPE] Many inspector tests are failing after r224566
1546         https://bugs.webkit.org/show_bug.cgi?id=179419
1547
1548         Reviewed by Carlos Alberto Lopez Perez.
1549
1550         All of them fail with the following error:
1551
1552         Uncaught exception in Inspector page: ReferenceError: Can't find variable: CodeMirror [TestCombined.js:36658:15]
1553
1554         This is because Test.html, even when combined, is trying to load CodeMirror from External/CodeMirror, but
1555         CodeMirror was already combined for Main.html. We need to also combine CodeMirror for Test.html.
1556
1557         * Scripts/copy-user-interface-resources.pl:
1558
1559 2017-11-08  Joseph Pecoraro  <pecoraro@apple.com>
1560
1561         Web Inspector: Show Internal properties of PaymentRequest in Web Inspector Console
1562         https://bugs.webkit.org/show_bug.cgi?id=179276
1563
1564         Reviewed by Andy Estes.
1565
1566         * UserInterface/Test.html:
1567         * UserInterface/Test/FrontendTestHarness.js:
1568         (FrontendTestHarness.prototype.evaluateInPage):
1569         * UserInterface/Test/TestUtilities.js: Added.
1570         (promisify):
1571         Make async tests a little easier to work with by providing promises
1572         in some cases that would normally take a callback.
1573
1574 2017-11-08  Brian Burg  <bburg@apple.com>
1575
1576         Web Inspector: fix incorrect curly quote orientation in a UIString
1577         https://bugs.webkit.org/show_bug.cgi?id=179353
1578         <rdar://problem/35368697>
1579
1580         Reviewed by Joseph Pecoraro.
1581
1582         I didn't see any other instances of this mistake in our localized strings.
1583
1584         * Localizations/en.lproj/localizedStrings.js:
1585         * UserInterface/Views/ResourceTimelineDataGridNode.js:
1586         Fix it.
1587
1588 2017-11-08  Joseph Pecoraro  <pecoraro@apple.com>
1589
1590         Web Inspector: Remove unused Page.ScriptIdentifier protocol type
1591         https://bugs.webkit.org/show_bug.cgi?id=179407
1592
1593         Reviewed by Matt Baker.
1594
1595         * Versions/Inspector-iOS-10.0.json:
1596         * Versions/Inspector-iOS-10.3.json:
1597         * Versions/Inspector-iOS-11.0.json:
1598         * Versions/Inspector-iOS-7.0.json:
1599         * Versions/Inspector-iOS-8.0.json:
1600         * Versions/Inspector-iOS-9.0.json:
1601         * Versions/Inspector-iOS-9.3.json:
1602         Remove unused protocol type.
1603
1604 2017-11-06  Nikita Vasilyev  <nvasilyev@apple.com>
1605
1606         Web Inspector: Styles Redesign: Display warnings
1607         https://bugs.webkit.org/show_bug.cgi?id=179215
1608
1609         Reviewed by Brian Burg.
1610
1611         Display warning icons on the right of the property.
1612
1613         For now, the warning icons have only three title messages:
1614         - Invalid property name;
1615         - Invalid property value;
1616         - Duplicate property.
1617
1618         * Localizations/en.lproj/localizedStrings.js:
1619         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
1620         (.spreadsheet-style-declaration-editor .property):
1621         (.spreadsheet-style-declaration-editor .property-toggle):
1622         (.spreadsheet-style-declaration-editor .property.invalid-value:not(.disabled) .value):
1623         (.spreadsheet-style-declaration-editor .property.has-warning):
1624         (.spreadsheet-style-declaration-editor .property .warning):
1625         Draw the warning arrow and icon using only one HTML element.
1626         Don't set "top" property so the element remains vertically where it would be if it had "position: static".
1627
1628         (.spreadsheet-style-declaration-editor .property.has-warning .warning):
1629         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
1630         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesChanged):
1631         (WI.SpreadsheetCSSStyleDeclarationEditor):
1632         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:
1633         (.spreadsheet-css-declaration):
1634         (.spreadsheet-css-declaration :matches(.header, .header-media)):
1635         (.spreadsheet-css-declaration .close-brace):
1636         Make properties span the entire width of the styles sidebar. Unsupported properties have yellow
1637         background. There should be no gaps between the property element and sidebar left and right edges.
1638
1639         * UserInterface/Views/SpreadsheetStyleProperty.js:
1640         (WI.SpreadsheetStyleProperty):
1641         (WI.SpreadsheetStyleProperty.prototype.updateStatus):
1642         (WI.SpreadsheetStyleProperty.prototype._update):
1643         (WI.SpreadsheetStyleProperty.prototype.updateClassNames): Deleted.
1644         Rename updateClassNames to updateStatus since it modifies title attribute of the warning element.
1645
1646 2017-11-06  Ross Kirsling  <ross.kirsling@sony.com>
1647
1648         Web Inspector: Two little Layers tab fixes
1649         https://bugs.webkit.org/show_bug.cgi?id=179273
1650
1651         Reviewed by Devin Rousso.
1652
1653         * UserInterface/Views/LayerDetailsSidebarPanel.js:
1654         (WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId):
1655         Even when we suppress refire of the selected event, we still want a popover.
1656
1657         * UserInterface/Views/Layers3DContentView.js:
1658         (WI.Layers3DContentView):
1659         (WI.Layers3DContentView.prototype.shown):
1660         (WI.Layers3DContentView.prototype.hidden):
1661         (WI.Layers3DContentView.prototype.closed):
1662         (WI.Layers3DContentView.prototype._layerTreeDidChange):
1663         Opening WI directly to the Layers tab wasn't fetching layers right away. Let's fetch on every shown() and
1664         prune the hacky logic we were previously using -- it's overkill anyway, now that we're tracking mutations.
1665
1666 2017-11-06  Joseph Pecoraro  <pecoraro@apple.com>
1667
1668         Web Inspector: no way to navigate from Resource tree element to its entry in Network Tab
1669         https://bugs.webkit.org/show_bug.cgi?id=179328
1670         <rdar://problem/35367294>
1671
1672         Reviewed by Brian Burg.
1673
1674         * Localizations/en.lproj/localizedStrings.js:
1675         New reveal in network tab string.
1676
1677         * UserInterface/Base/Main.js:
1678         (WI.isShowingNetworkTab):
1679         Utility to know if the network tab is showing.
1680
1681         * UserInterface/Views/ContextMenuUtilities.js:
1682         (WI.appendContextMenuItemsForSourceCode):
1683         (showResourceWithOptions):
1684         (WI.appendContextMenuItemsForURL):
1685         Generalize context menus for just a URL.
1686
1687         * UserInterface/Views/TabBrowser.js:
1688         (WI.TabBrowser.prototype.bestTabContentViewForRepresentedObject):
1689         Support more tab ignore options, this is starting to get icky. We may want to
1690         move to just a preferredTab approach, since that is what some of these want.
1691
1692         * UserInterface/Views/DOMTreeElement.js:
1693         (WI.DOMTreeElement.prototype._populateTagContextMenu):
1694         Make use of new ContextMenu utility to add menu items for a URL.
1695
1696         * UserInterface/Views/NetworkTabContentView.js:
1697         (WI.NetworkTabContentView.prototype.showRepresentedObject):
1698         * UserInterface/Views/NetworkTableContentView.js:
1699         (WI.NetworkTableContentView.prototype.showRepresentedObject):
1700         Handle showing a Resource in the NetworkTab. We immediately show
1701         the details view for it, otherwise we fallback to the list view.
1702
1703 2017-11-06  Joseph Pecoraro  <pecoraro@apple.com>
1704
1705         Uncaught Exception: TypeError: null is not an object (evaluating 'mimeType.endsWith')
1706         https://bugs.webkit.org/show_bug.cgi?id=179325
1707         <rdar://problem/35366896>
1708
1709         Reviewed by Brian Burg.
1710
1711         * UserInterface/Base/MIMETypeUtilities.js:
1712         (WI.fileExtensionForMIMEType):
1713         (WI.shouldTreatMIMETypeAsText):
1714         Handle null mime types.
1715
1716 2017-11-06  Joseph Pecoraro  <pecoraro@apple.com>
1717
1718         Web Inspector: Selecting a DOM Search Result in Search Tab unexpectedly changes Tabs
1719         https://bugs.webkit.org/show_bug.cgi?id=179223
1720         <rdar://problem/33949556>
1721
1722         Reviewed by Devin Rousso.
1723
1724         * Localizations/en.lproj/localizedStrings.js:
1725         New string.
1726
1727         * UserInterface/Views/SearchResultTreeElement.js:
1728         (WI.SearchResultTreeElement.prototype.populateContextMenu):
1729         Add a context menu for search results to jump to a different tab.
1730         These behaviors match the double click behavior for search results.
1731
1732         * UserInterface/Views/SearchTabContentView.js:
1733         (WI.SearchTabContentView.prototype.canShowRepresentedObject):
1734         Always support showing a DOM Tree. Clients should be using
1735         ignoreSearchTab if they don't want to jump here.
1736
1737         * UserInterface/Views/DOMTreeDataGridNode.js:
1738         (WI.DOMTreeDataGridNode.prototype._goToArrowWasClicked):
1739         * UserInterface/Views/LayerTreeDataGridNode.js:
1740         (WI.LayerTreeDataGridNode.prototype._goToArrowWasClicked):
1741         Use ignoreSearchTab just in case when showing a DOM Tree.
1742
1743         * UserInterface/Views/ContentBrowser.js:
1744         (WI.ContentBrowser.prototype.shown):
1745         When showing, update our UI to reflect the values of the current content view, which
1746         for a while may have been owned by another ContentBrowser.
1747
1748         (WI.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange):
1749         (WI.ContentBrowser.prototype._contentViewSupplementalRepresentedObjectsDidChange):
1750         (WI.ContentBrowser.prototype._contentViewNavigationItemsDidChange):
1751         We can avoid work in a few places where we might not be the owning ContentBrowser
1752         of a ContentView that is changing.
1753
1754 2017-11-05  Nikita Vasilyev  <nvasilyev@apple.com>
1755
1756         REGRESSION (r221338): Web Inspector: NavigationBar incorrectly calculates minimumWidth
1757         https://bugs.webkit.org/show_bug.cgi?id=179292
1758
1759         Reviewed by Devin Rousso.
1760
1761         * UserInterface/Views/NavigationBar.js:
1762         (WI.NavigationBar.prototype._calculateMinimumWidth):
1763         totalItemWidth was the minimumWidth of the last item.
1764
1765 2017-11-05  Devin Rousso  <webkit@devinrousso.com>
1766
1767         Web Inspector: Canvas Tab: selecting Frame tree element should update preview/slider, does nothing
1768         https://bugs.webkit.org/show_bug.cgi?id=179072
1769         <rdar://problem/35278711>
1770
1771         Reviewed by Matt Baker.
1772
1773         * UserInterface/Views/CanvasTabContentView.js:
1774         (WI.CanvasTabContentView.prototype._navigationSidebarTreeOutlineSelectionChanged):
1775
1776         * UserInterface/Views/RecordingActionTreeElement.css:
1777         (.item.action > .titles .parameter.swizzled):
1778         (.tree-outline:not(:focus, .force-focus) .item.action:not(.initial-state, .parent, .invalid) > .icon): Deleted.
1779         (body:not(.window-inactive, .window-docked-inactive) .item.action > .titles .parameter.swizzled): Deleted.
1780         Drive-by: remove extra :focus selectors to prevent icon flashing when the window is blurred.
1781
1782 2017-11-04  Devin Rousso  <webkit@devinrousso.com>
1783
1784         Web Inspector: add contextmenu item to arbitrarily add HTML/Child to DOMTree
1785         https://bugs.webkit.org/show_bug.cgi?id=179042
1786
1787         Reviewed by Joseph Pecoraro.
1788
1789         * Localizations/en.lproj/localizedStrings.js:
1790
1791         * UserInterface/Models/DOMNode.js:
1792         (WI.DOMNode.prototype.insertAdjacentHTML.inspectedPage_node_insertAdjacentHTML):
1793         (WI.DOMNode.prototype.insertAdjacentHTML):
1794         Call-through to `insertAdjacentHTML` on the corresponding node in the inspected page.
1795
1796         * UserInterface/Views/DOMTreeElement.js:
1797         (WI.DOMTreeElement):
1798         (WI.DOMTreeElement.prototype._populateNodeContextMenu):
1799         (WI.DOMTreeElement.prototype._startEditingAsHTML.dispose):
1800         (WI.DOMTreeElement.prototype._startEditingAsHTML):
1801         (WI.DOMTreeElement.prototype._insertAdjacentHTML.commitCallback):
1802         (WI.DOMTreeElement.prototype._insertAdjacentHTML):
1803         (WI.DOMTreeElement.prototype.updateTitle):
1804         (WI.DOMTreeElement.prototype._singleTextChild):
1805         (WI.DOMTreeElement.prototype._nodeTitleInfo):
1806         (WI.DOMTreeElement.prototype._addHTML):
1807         (WI.DOMTreeElement.prototype._addPreviousSibling):
1808         (WI.DOMTreeElement.prototype._addNextSibling):
1809         (WI.DOMTreeElement.prototype._editAsHTML):
1810         Adjust where the editing element is placed depending on the options passed to `_editAsHTML`.
1811         If the placement is as a child, put it inside the child list. If the placement is as a
1812         sibling, place it before/after the selected TreeElement. Otherwise, add it as a child.
1813
1814         * UserInterface/Views/DOMTreeOutline.css:
1815         (.tree-outline.dom):
1816         (.tree-outline.dom li):
1817         (.tree-outline.dom li:not(.editing)):
1818         (.tree-outline.dom li.editing):
1819         (body[dir=ltr] .tree-outline.dom li): Deleted.
1820         (body[dir=rtl] .tree-outline.dom li): Deleted.
1821         Don't add padding when the list item is being edited.
1822
1823 2017-11-03  Nikita Vasilyev  <nvasilyev@apple.com>
1824
1825         Web Inspector: Uncaught Exception: null is not an object (evaluating 'selector.specificity.map') (at SpreadsheetCSSStyleDeclarationSection.js:199:51)
1826         https://bugs.webkit.org/show_bug.cgi?id=179225
1827         <rdar://problem/35329019>
1828
1829         Reviewed by Joseph Pecoraro.
1830
1831         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
1832         (WI.SpreadsheetCSSStyleDeclarationSection.prototype._renderSelector):
1833         selector.specificity may not exist when the selector is dynamic and doesn't match the selected element.
1834
1835 2017-11-03  Ross Kirsling  <ross.kirsling@sony.com>
1836
1837         Web Inspector: Move Show Compositing Borders/Paint Flashing buttons from Elements tab to Layers tab
1838         https://bugs.webkit.org/show_bug.cgi?id=179211
1839
1840         Reviewed by Joseph Pecoraro.
1841
1842         * UserInterface/Views/DOMTreeContentView.js:
1843         (WI.DOMTreeContentView.prototype.get navigationItems):
1844         (WI.DOMTreeContentView.prototype._updateCompositingBordersButtonToMatchPageSettings):
1845         Guard old buttons with experimental flag.
1846
1847         * UserInterface/Views/Layers3DContentView.js:
1848         (WI.Layers3DContentView):
1849         (WI.Layers3DContentView.prototype.get navigationItems):
1850         (WI.Layers3DContentView.prototype.shown):
1851         (WI.Layers3DContentView.prototype.closed):
1852         (WI.Layers3DContentView.prototype._showPaintRectsSettingChanged):
1853         (WI.Layers3DContentView.prototype._togglePaintFlashing):
1854         (WI.Layers3DContentView.prototype._updateCompositingBordersButtonState):
1855         (WI.Layers3DContentView.prototype._toggleCompositingBorders):
1856         Add buttons to new home.
1857         No need to guard for get/setCompositingBordersVisible anymore, as these were introduced in iOS 7.
1858
1859 2017-11-03  Devin Rousso  <webkit@devinrousso.com>
1860
1861         Web Inspector: move top-level namespace functions in ImageUtilities to static class
1862         https://bugs.webkit.org/show_bug.cgi?id=179207
1863
1864         Reviewed by Brian Burg.
1865
1866         * .eslintrc:
1867         * UserInterface/Base/ImageUtilities.js:
1868         (WI.ImageUtilities.useSVGSymbol):
1869         (WI.ImageUtilities.scratchCanvasContext2D):
1870         (WI.ImageUtilities.imageFromImageData):
1871         (WI.ImageUtilities.imageFromCanvasGradient):
1872         (WI.ImageUtilities):
1873         (useSVGSymbol): Deleted.
1874         (WI.scratchCanvasContext2D): Deleted.
1875         (WI.imageFromImageData): Deleted.
1876         (WI.imageFromCanvasGradient): Deleted.
1877
1878         * UserInterface/Models/Recording.js:
1879         (WI.Recording.prototype.async swizzle):
1880         * UserInterface/Views/ButtonNavigationItem.js:
1881         (WI.ButtonNavigationItem.prototype.set image):
1882         * UserInterface/Views/CallFrameTreeElement.js:
1883         (WI.CallFrameTreeElement.prototype._updateStatus):
1884         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
1885         (WI.DOMNodeDetailsSidebarPanel.prototype.initialLayout):
1886         * UserInterface/Views/DOMTreeElement.js:
1887         (WI.DOMTreeElement.prototype._updateBreakpointStatus):
1888         * UserInterface/Views/MultipleScopeBarItem.js:
1889         (WI.MultipleScopeBarItem):
1890         * UserInterface/Views/RecordingActionTreeElement.js:
1891         (WI.RecordingActionTreeElement._generateDOM):
1892         (WI.RecordingActionTreeElement.prototype._handleHasVisibleEffectChanged):
1893         * UserInterface/Views/RecordingStateDetailsSidebarPanel.js:
1894         (WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):
1895         * UserInterface/Views/ResourceMetricsContentView.js:
1896         (WI.ResourceMetricsContentView.prototype._refreshResourceSizeSection):
1897         * UserInterface/Views/ScopeRadioButtonNavigationItem.js:
1898         (WI.ScopeRadioButtonNavigationItem):
1899         * UserInterface/Views/ThreadTreeElement.js:
1900         (WI.ThreadTreeElement.prototype._updateStatus):
1901         * UserInterface/Views/TimelineTreeElement.js:
1902         (WI.TimelineTreeElement.prototype._showCloseButton):
1903         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
1904         (WI.VisualStyleCommaSeparatedKeywordEditor):
1905         * UserInterface/Views/VisualStyleKeywordIconList.js:
1906         (WI.VisualStyleKeywordIconList):
1907         * UserInterface/Views/VisualStylePropertyEditorLink.js:
1908         (WI.VisualStylePropertyEditorLink):
1909         * UserInterface/Views/VisualStyleSelectorSection.js:
1910         (WI.VisualStyleSelectorSection):
1911         * UserInterface/Views/WebSocketDataGridNode.js:
1912         (WI.WebSocketDataGridNode.prototype.createCellContent):
1913
1914 2017-11-03  Ross Kirsling  <ross.kirsling@sony.com>
1915
1916         Web Inspector: Hide legacy Layers sidebar on Search tab
1917         https://bugs.webkit.org/show_bug.cgi?id=179257
1918
1919         Reviewed by Joseph Pecoraro.
1920
1921         * UserInterface/Views/SearchTabContentView.js:
1922         (WI.SearchTabContentView):
1923
1924 2017-11-03  Joseph Pecoraro  <pecoraro@apple.com>
1925
1926         Web Inspector: Network Table - Include a secure lock indicator in the domain column
1927         https://bugs.webkit.org/show_bug.cgi?id=179233
1928         <rdar://problem/34070883>
1929
1930         Reviewed by Devin Rousso.
1931
1932         * UserInterface/Views/NetworkTableContentView.css:
1933         (.network-table .cell.domain > .lock):
1934         * UserInterface/Views/NetworkTableContentView.js:
1935         (WI.NetworkTableContentView.prototype.tablePopulateCell):
1936         (WI.NetworkTableContentView.prototype._populateDomainCell):
1937         Add a small lock icon by the domain if the request was https/wss.
1938
1939 2017-11-03  Devin Rousso  <webkit@devinrousso.com>
1940
1941         Web Inspector: Canvas2D Profiling: highlight expensive context commands in the captured command log
1942         https://bugs.webkit.org/show_bug.cgi?id=178302
1943         <rdar://problem/33158849>
1944
1945         Reviewed by Brian Burg.
1946
1947         * UserInterface/Models/RecordingFrame.js:
1948         (WI.RecordingFrame):
1949         (WI.RecordingFrame.fromPayload):
1950         (WI.RecordingFrame.prototype.get duration):
1951         (WI.RecordingFrame.prototype.toJSON):
1952
1953         * UserInterface/Views/RecordingNavigationSidebarPanel.js:
1954         (WI.RecordingNavigationSidebarPanel.prototype.set recording):
1955         * UserInterface/Views/RecordingNavigationSidebarPanel.css:
1956         (.sidebar > .panel.navigation.recording > .content > .tree-outline .item.folder-icon > .status):
1957
1958 2017-11-02  Devin Rousso  <webkit@devinrousso.com>
1959
1960         Web Inspector: Canvas Tab: show supported GL extensions for selected canvas
1961         https://bugs.webkit.org/show_bug.cgi?id=179070
1962         <rdar://problem/35278276>
1963
1964         Reviewed by Brian Burg.
1965
1966         * Localizations/en.lproj/localizedStrings.js:
1967
1968         * UserInterface/Protocol/CanvasObserver.js:
1969         (WI.CanvasObserver.prototype.extensionEnabled):
1970
1971         * UserInterface/Controllers/CanvasManager.js:
1972         (WI.CanvasManager.prototype.extensionEnabled):
1973
1974         * UserInterface/Models/Canvas.js:
1975         (WI.Canvas.prototype.get extensions):
1976         (WI.Canvas.prototype.enableExtension):
1977         Maintain a Set of enabled extensions, and dispatch an event whenever an extension is enabled.
1978
1979         * UserInterface/Views/CanvasDetailsSidebarPanel.css:
1980         (.sidebar > .panel.details.canvas .details-section.canvas-extensions .content > ul):
1981         * UserInterface/Views/CanvasDetailsSidebarPanel.js:
1982         (WI.CanvasDetailsSidebarPanel.prototype.set canvas):
1983         (WI.CanvasDetailsSidebarPanel.prototype.initialLayout):
1984         (WI.CanvasDetailsSidebarPanel.prototype.layout):
1985         (WI.CanvasDetailsSidebarPanel.prototype._refreshAttributesSection):
1986         (WI.CanvasDetailsSidebarPanel.prototype._refreshExtensionsSection):
1987         Drive-by: hide Attributes section when the canvas has no attributes.
1988
1989 2017-11-02  Joseph Pecoraro  <pecoraro@apple.com>
1990
1991         Make ServiceWorker a Remote Inspector debuggable target
1992         https://bugs.webkit.org/show_bug.cgi?id=179043
1993         <rdar://problem/34126008>
1994
1995         Reviewed by Brian Burg.
1996
1997         Customize the Web Inspector frontend for a ServiceWorker target.
1998         Currently this just behaves like a JavaScript Context target because
1999         we haven't yet added support for Networking capabilities.
2000
2001         * UserInterface/Controllers/DebuggerManager.js:
2002         (WI.DebuggerManager.prototype.get knownNonResourceScripts):
2003         Drive-by fix a bug where lazily initializing the Resources / Debugger tabs
2004         would show Console evaluation scripts. We should ignore them, like we
2005         do in other places.
2006
2007         * Localizations/en.lproj/localizedStrings.js:
2008         * UserInterface/Controllers/AppController.js:
2009         (WI.AppController):
2010         (WI.AppController.debuggableTypeFromHost):
2011         * UserInterface/Controllers/AppControllerBase.js:
2012         * UserInterface/Controllers/TimelineManager.js:
2013         (WI.TimelineManager.defaultTimelineTypes):
2014         (WI.TimelineManager.availableTimelineTypes):
2015         * UserInterface/Models/TimelineRecording.js:
2016         (WI.TimelineRecording.sourceCodeTimelinesSupported):
2017         * UserInterface/Protocol/MainTarget.js:
2018         (WI.MainTarget.prototype.get displayName):
2019         * UserInterface/Test/TestAppController.js:
2020         * UserInterface/Views/DashboardContainerView.css:
2021         (body:not(.web) .toolbar .dashboard-container):
2022         (body.javascript .toolbar .dashboard-container): Deleted.
2023         * UserInterface/Views/DefaultDashboardView.css:
2024         (body:not(.web) .toolbar .dashboard.default > :matches(.resourcesCount, .resourcesSize, .time)):
2025         (body.javascript .toolbar .dashboard.default > :matches(.resourcesCount, .resourcesSize, .time)): Deleted.
2026         * UserInterface/Views/ResourceSidebarPanel.js:
2027         (WI.ResourceSidebarPanel):
2028         (WI.ResourceSidebarPanel.shouldPlaceResourcesAtTopLevel):
2029         (WI.ResourceSidebarPanel.prototype.initialLayout):
2030         (WI.ResourceSidebarPanel.prototype._addScript):
2031         (WI.ResourceSidebarPanel.prototype._extraDomainsActivated):
2032         * UserInterface/Views/Toolbar.js:
2033
2034 2017-11-02  Devin Rousso  <webkit@devinrousso.com>
2035
2036         Web Inspector: Canvas: recording parameters that include an Image should show an InlineSwatch (2D canvas)
2037         https://bugs.webkit.org/show_bug.cgi?id=177032
2038
2039         Reviewed by Brian Burg.
2040
2041         * Localizations/en.lproj/localizedStrings.js:
2042
2043         * UserInterface/Test.html:
2044         * UserInterface/Base/ImageUtilities.js:
2045         (WI.scratchCanvasContext2D):
2046         Creates a static canvas that can be used for scratch purposes, such as converting ImageData
2047         to an Image, or rendering the result of a CanvasGradient. The canvas is reset after each
2048         call of the function so it can be reused by other callers.
2049
2050         (WI.imageFromImageData):
2051         (WI.imageFromCanvasGradient):
2052         Utility functions for getting a dataURL image of ImageData/CanvasGradient after drawing it
2053         onto WI.scratchCanvasContext2D.
2054
2055         * UserInterface/Models/Recording.js:
2056         (WI.Recording.prototype.async.swizzle):
2057         Set the Image used to create a CanvasPattern as an expando property for later use.
2058
2059         * UserInterface/Models/RecordingAction.js:
2060         (WI.RecordingAction.prototype.getImageParameters):
2061
2062         * UserInterface/Views/RecordingActionTreeElement.js:
2063         (WI.RecordingActionTreeElement._generateDOM):
2064         Add Image InlineSwatch elements for parameters that are viewable as an image. For ImageData
2065         and CanvasGradient, WI.scratchCanvasContext2D is used to draw the ImageData/CanvasGradient
2066         and get a dataURL to be used as the image.
2067
2068         (WI.RecordingActionTreeElement._createSwatchForColorParameters):
2069         Drive-by: add checks that the parameter is not a CanvasGradient or CanvasPattern.
2070
2071         * UserInterface/Views/RecordingStateDetailsSidebarPanel.js:
2072         (WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):
2073         Add Image InlineSwatch elements for fillStyle/strokeStyle when the value is a CanvasGradient
2074         or a CanvasPattern.
2075
2076         * UserInterface/Views/InlineSwatch.js:
2077         (WI.InlineSwatch):
2078         (WI.InlineSwatch.prototype._updateSwatch):
2079         (WI.InlineSwatch.prototype._swatchElementClicked):
2080         * UserInterface/Views/InlineSwatch.css:
2081         (.inline-swatch):
2082         (.inline-swatch:matches(.color, .gradient)):
2083         (.inline-swatch:matches(.bezier, .spring, .variable)):
2084         (.inline-swatch:not(.read-only):matches(.bezier, .spring, .variable):hover):
2085         (.inline-swatch:not(.read-only):matches(.bezier, .spring, .variable):active):
2086         (.inline-swatch:not(.read-only):active > span):
2087         (.inline-swatch:matches(.bezier, .spring, .variable) > span):
2088         (.inline-swatch.image > span):
2089         (.inline-swatch:matches(.bezier, .spring, .variable):hover): Deleted.
2090         (.inline-swatch:matches(.bezier, .spring, .variable):active): Deleted.
2091         (.inline-swatch:active > span): Deleted.
2092         (.inline-swatch:matches(.bezier, .spring) > span): Deleted.
2093         Add Image type for showing previews of images.
2094         Drive-by: simplify some styles.
2095
2096         * UserInterface/Views/RecordingActionTreeElement.css:
2097         (.item.action > .titles .parameters > .inline-swatch):
2098         (.tree-outline:matches(:focus, .force-focus) .item.action > .titles .parameters > .inline-swatch): Deleted.
2099         Drive-by: remove the :focus requirement, as it would cause the InlineSwatch to shift when
2100         the user clicked out of the WebInspector window.
2101
2102 2017-11-02  Joseph Pecoraro  <pecoraro@apple.com>
2103
2104         Inspector should display service worker served responses properly
2105         https://bugs.webkit.org/show_bug.cgi?id=178597
2106         <rdar://problem/35186111>
2107
2108         Reviewed by Brian Burg.
2109
2110         * Localizations/en.lproj/localizedStrings.js:
2111         New Service Worker related strings.
2112
2113         * UserInterface/Controllers/HARBuilder.js:
2114         (WI.HARBuilder.entry):
2115         (WI.HARBuilder.timings):
2116         Only output timing data when we have real resource timing data.
2117
2118         (WI.HARBuilder.fetchType):
2119         Output a new string for a Service Worker load in our custom field.
2120
2121         * UserInterface/Models/ResourceTimingData.js:
2122         (WI.ResourceTimingData.prototype.get responseStart):
2123         Fallback further to the responseEnd. This can happen if the response
2124         itself is an error/failure and there was no response, so treat it as
2125         the same as response end.
2126
2127         * UserInterface/Models/Resource.js:
2128         (WI.Resource.responseSourceFromPayload):
2129         (WI.Resource.prototype.updateForRedirectResponse):
2130         (WI.Resource.prototype.updateForResponse):
2131         A fetch response won't change the URL, so if the URL is empty
2132         don't change it from what the request's URL was.
2133
2134         (WI.Resource.prototype.hasResponse):
2135         Failure is like finished. We should likely transition to an "isComplete" method.
2136
2137         * UserInterface/Views/NetworkTableContentView.js:
2138         (WI.NetworkTableContentView.prototype._populateTransferSizeCell):
2139         (WI.NetworkTableContentView.prototype._generateSortComparator):
2140         Output "(service worker)" in the transfer size field, to indicate this came
2141         from a Service worker. Sort such loads together.
2142
2143         * UserInterface/Views/ResourceHeadersContentView.js:
2144         (WI.ResourceHeadersContentView.prototype._responseSourceDisplayString):
2145         (WI.ResourceHeadersContentView.prototype._refreshSummarySection):
2146         Include the Service Worker response source in this details view. Also include
2147         a FIXME, since we would like to link directly to the service worker in the future.
2148
2149 2017-11-02  Nikita Vasilyev  <nvasilyev@apple.com>
2150
2151         Web Inspector: Styles Redesign: turn on CSS spreadsheet editor by default
2152         https://bugs.webkit.org/show_bug.cgi?id=179100
2153         <rdar://problem/35285990>
2154
2155         Reviewed by Brian Burg.
2156
2157         Add a "Legacy Style Editor" checkbox and remove the experimental "Spreadsheet Style Editor" checkbox.
2158
2159         Remove settings of the legacy styles editor:
2160         - Show inline warnings
2161         - Automatically insert newline
2162         - Select text on first click
2163
2164         These settings are not applicable for the spreadsheet styles editor and
2165         now are always enabled for the legacy styles editor.
2166
2167         * Localizations/en.lproj/localizedStrings.js:
2168         * UserInterface/Base/Setting.js:
2169         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2170         (WI.CSSStyleDeclarationTextEditor):
2171         (WI.CSSStyleDeclarationTextEditor.prototype._handleMouseUp):
2172         (WI.CSSStyleDeclarationTextEditor.):
2173         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
2174         (WI.CSSStyleDetailsSidebarPanel):
2175         * UserInterface/Views/SettingsTabContentView.js:
2176         (WI.SettingsTabContentView.prototype._createGeneralSettingsView):
2177         (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
2178
2179 2017-11-01  Devin Rousso  <webkit@devinrousso.com>
2180
2181         Web Inspector: consolidate DOMTreeElement contextmenu items into submenus
2182         https://bugs.webkit.org/show_bug.cgi?id=178996
2183
2184         Reviewed by Joseph Pecoraro.
2185
2186         * Localizations/en.lproj/localizedStrings.js:
2187
2188         * UserInterface/Views/ContextMenu.js:
2189         (WI.ContextSubMenuItem.prototype.appendItem):
2190         (WI.ContextSubMenuItem.prototype.appendSubMenuItem):
2191         (WI.ContextSubMenuItem.prototype.appendCheckboxItem):
2192         (WI.ContextSubMenuItem.prototype.pushItem):
2193         (WI.ContextSubMenuItem.prototype._pushItem): Deleted.
2194         Made `pushItem` public so that it is possible to create a ContextMenuItem without
2195         immediately adding it to the ContextMenu.
2196
2197         (WI.ContextSubMenuItem.prototype._buildDescriptor):
2198         (WI.ContextMenu.prototype._buildDescriptor):
2199         Filter out submenus that have no items.
2200
2201         * UserInterface/Views/ContextMenuUtilities.js:
2202         (WI.appendContextMenuItemsForDOMNode):
2203         * UserInterface/Views/DOMTreeElement.js:
2204         (WI.DOMTreeElement.prototype.toggleElementVisibility):
2205         (WI.DOMTreeElement.prototype._populateTagContextMenu):
2206         (WI.DOMTreeElement.prototype._populateTextContextMenu):
2207         (WI.DOMTreeElement.prototype._populateNodeContextMenu):
2208         (WI.DOMTreeElement.prototype._populateForcedPseudoStateItems): Deleted.
2209         Add relevant items to the provided submenus and reorder the entire contextmenu for better
2210         readability and consistency.
2211
2212         * UserInterface/Views/DOMTreeOutline.js:
2213         (WI.DOMTreeOutline.prototype.populateContextMenu):
2214         Create submenus for Add, Edit, Copy, and Delete, and pass them to the DOMTreeElement
2215         "populate*ContextMenu" functions so that they can add items to each submenu.
2216
2217         (WI.DOMTreeOutline.prototype._hideElement):
2218         Move to DOMTreeElement so that it can be used by a contextmenu item.
2219
2220 2017-11-01  Ross Kirsling  <ross.kirsling@sony.com>
2221
2222         Web Inspector: Improve UX of Layers tab visualization
2223         https://bugs.webkit.org/show_bug.cgi?id=178966
2224
2225         Reviewed by Devin Rousso.
2226
2227         * UserInterface/Views/Layers3DContentView.js:
2228         (WI.Layers3DContentView):
2229         (WI.Layers3DContentView.prototype.initialLayout):
2230         (WI.Layers3DContentView.prototype._canvasMouseDown):
2231         (WI.Layers3DContentView.prototype._createLayerGroup): Renamed from _addLayerGroup.
2232         (WI.Layers3DContentView.prototype._updateLayerGroupPosition): Merged into _updateLayers.
2233         Set up zoom and pan.
2234
2235         (WI.Layers3DContentView.prototype._animate):
2236         (WI.Layers3DContentView.prototype._restrictPan):
2237         Restrict pan to bounding box on XY plane.
2238
2239         (WI.Layers3DContentView.prototype.layout):
2240         (WI.Layers3DContentView.prototype._updateDocument):
2241         (WI.Layers3DContentView.prototype._resetCamera):
2242         On new document, throw out all old layers and center the camera on the new document layer.
2243
2244         (WI.Layers3DContentView.prototype.selectLayerById):
2245         (WI.Layers3DContentView.prototype._centerOnSelection):
2246         Recenter the camera when layer group selection is updated programmatically.
2247
2248         (WI.Layers3DContentView.prototype._updateLayers):
2249         (WI.Layers3DContentView.prototype._createLayerMesh):
2250         Fix visual artifact due to "depthWrite" flag.
2251
2252         * UserInterface/Views/LayerDetailsSidebarPanel.js:
2253         (WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId):
2254         Suppress selection update event when the data grid selection is updated programmatically.
2255
2256         * UserInterface/Views/DataGridNode.js:
2257         (WI.DataGridNode.prototype.revealAndSelect):
2258         Allow forwarding of select()'s parameter.
2259
2260 2017-11-01  Joseph Pecoraro  <pecoraro@apple.com>
2261
2262         Web Inspector: Combine all storage icon files into a single file
2263         https://bugs.webkit.org/show_bug.cgi?id=179134
2264
2265         Reviewed by Devin Rousso.
2266
2267         * UserInterface/Main.html:
2268         * UserInterface/Views/CookieIcon.css: Removed.
2269         * UserInterface/Views/DOMStorageIcons.css: Removed.
2270         * UserInterface/Views/DatabaseIcon.css: Removed.
2271         * UserInterface/Views/DatabaseTableIcon.css: Removed.
2272         * UserInterface/Views/StorageIcons.css: Added.
2273         (.application-cache-manifest .icon):
2274         (.application-cache-frame .icon):
2275         (.cookie-icon .icon):
2276         (.local-storage-icon .icon):
2277         (.session-storage-icon .icon):
2278         (.database-icon .icon):
2279         (.database-table-icon .icon):
2280
2281 2017-11-01  Nikita Vasilyev  <nvasilyev@apple.com>
2282
2283         Web Inspector: Styles Redesign: Hovering over a selector should highlight matching elements on the page
2284         https://bugs.webkit.org/show_bug.cgi?id=179040
2285
2286         Reviewed by Devin Rousso.
2287
2288         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
2289         (WI.SpreadsheetCSSStyleDeclarationSection.prototype.initialLayout):
2290         Use mouseenter/mouseleave events instead of mousein/mouseout (as in the old styles sidebar)
2291         to avoid unnecessary events being fired.
2292
2293         (WI.SpreadsheetCSSStyleDeclarationSection.prototype._highlightNodesWithSelector):
2294         (WI.SpreadsheetCSSStyleDeclarationSection.prototype._hideDOMNodeHighlight):
2295
2296 2017-10-30  Nikita Vasilyev  <nvasilyev@apple.com>
2297
2298         Web Inspector: [PARITY] Styles Redesign: Ability to modify style attributes
2299         https://bugs.webkit.org/show_bug.cgi?id=178328
2300         <rdar://problem/35000990>
2301
2302         Reviewed by Joseph Pecoraro.
2303
2304         Before this patch, modifying a property of a style attribute duplicated the old property
2305         and appended the new one. This happened because WI.TextRange.prototype.resolveOffsets
2306         didn't resolve offsets correctly when text didn't end with a trailing new line.
2307
2308         Since WI.TextRange.prototype.resolveOffsets is used elsewhere and this could be expected
2309         behavior, append a line break before resolving a range.
2310
2311         * UserInterface/Models/CSSProperty.js:
2312         (WI.CSSProperty.prototype._updateOwnerStyleText):
2313
2314 2017-10-30  Ross Kirsling  <ross.kirsling@sony.com>
2315
2316         Web Inspector: Clicking filler in data grid should clear selection
2317         https://bugs.webkit.org/show_bug.cgi?id=179027
2318
2319         Reviewed by Brian Burg.
2320
2321         * UserInterface/Views/DataGrid.js:
2322         (WI.DataGrid.prototype._mouseDownInDataTable):
2323
2324 2017-10-30  Devin Rousso  <webkit@devinrousso.com>
2325
2326         Web Inspector: Canvas Tab: no path components shown in recording content view after selecting a recording via View Recordings... dropdown
2327         https://bugs.webkit.org/show_bug.cgi?id=178807
2328         <rdar://problem/35176463>
2329
2330         Reviewed by Brian Burg.
2331
2332         When the first Recording is taken of a canvas, it is immediately added as a child. When the
2333         CanvasTreeElement is `attached`, however, it will attempt to regenerate its children if
2334         necessary. This is especially true for canvases with ShaderPrograms, as they are added with
2335         `addRepresentedObjectToNewChildQueue`, meaning that the child TreeElements aren't actually
2336         added until the next tick, preventing the ContentBrowser logic from generating path
2337         components correctly.
2338
2339         This patch switches to using `addChildForRepresentedObject` so that there is no delay when
2340         adding children, and also ensures that any existing recordings are also added on regeneration.
2341
2342         * UserInterface/Views/CanvasTabContentView.js:
2343         (WI.CanvasTabContentView.prototype._recordingAdded):
2344         Move logic for adding TreeElements for new Recordings to CanvasTreeElement.
2345
2346         * UserInterface/Views/CanvasTreeElement.js:
2347         (WI.CanvasTreeElement.createRecordingTreeElement):
2348         (WI.CanvasTreeElement):
2349         (WI.CanvasTreeElement.prototype.onattach):
2350         (WI.CanvasTreeElement.prototype.ondetach):
2351         (WI.CanvasTreeElement.prototype.onpopulate):
2352         (WI.CanvasTreeElement.prototype._handleItemAdded):
2353         (WI.CanvasTreeElement.prototype._handleItemRemoved):
2354         (WI.CanvasTreeElement.prototype._shaderProgramAdded): Deleted.
2355         (WI.CanvasTreeElement.prototype._shaderProgramRemoved): Deleted.
2356
2357 2017-10-30  Fujii Hironori  <Hironori.Fujii@sony.com>
2358
2359         [GTK] Web Inspector: Add Path.svg
2360         https://bugs.webkit.org/show_bug.cgi?id=178432
2361
2362         Reviewed by Carlos Garcia Campos.
2363
2364         * UserInterface/Images/gtk/Path.svg: Added.
2365
2366 2017-10-30  Nikita Vasilyev  <nvasilyev@apple.com>
2367
2368         Web Inspector: [PARITY] Styles Redesign: clicking on the white space after the property should create a blank property
2369         https://bugs.webkit.org/show_bug.cgi?id=178022
2370         <rdar://problem/34861687>
2371
2372         Reviewed by Matt Baker.
2373
2374         - Clicking on the whitespace on the right side of a property should insert a blank property after the clicked one.
2375         - Clicking on the whitespace at the end of a CSS rule should append a blank property.
2376         - Clicking on the whitespace before the first property should insert a blank property before the first one.
2377
2378         * UserInterface/Models/CSSProperty.js:
2379         (WI.CSSProperty.prototype.remove):
2380         (WI.CSSProperty.prototype._updateOwnerStyleText):
2381         Remove method previously didn't do anything for a newly added property.
2382
2383         * UserInterface/Models/CSSStyleDeclaration.js:
2384         (WI.CSSStyleDeclaration.prototype.newBlankProperty):
2385         Update indices of all properties after the newly added property.
2386
2387         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
2388         (WI.SpreadsheetCSSStyleDeclarationEditor):
2389         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
2390         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.startEditingFirstProperty):
2391         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.startEditingLastProperty):
2392         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.isFocused):
2393         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.addBlankProperty):
2394         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetCSSStyleDeclarationEditorFocusMoved):
2395         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesChanged):
2396         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._addBlankProperty): Deleted.
2397         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._isFocused): Deleted.
2398         Re-layout SpreadsheetCSSStyleDeclarationEditor after adding a new property. Preserve edited property
2399         so we can restore editing state after the re-layout.
2400
2401         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
2402         (WI.SpreadsheetCSSStyleDeclarationSection):
2403         (WI.SpreadsheetCSSStyleDeclarationSection.prototype.initialLayout):
2404         (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleMouseDown):
2405         (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleClick):
2406         Clicking should add a new property only when we aren't editing an existing property.
2407
2408         * UserInterface/Views/SpreadsheetStyleProperty.js:
2409         (WI.SpreadsheetStyleProperty):
2410         (WI.SpreadsheetStyleProperty.prototype.updateClassNames):
2411         (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidCommit):
2412         Remove newlyAdded property of SpreadsheetStyleProperty. During layout SpreadsheetCSSStyleDeclarationEditor
2413         recreates SpreadsheetStyleProperty views and newlyAdded property gets lost.
2414
2415         * UserInterface/Views/SpreadsheetTextField.js:
2416         (WI.SpreadsheetTextField.prototype.get valueBeforeEditing):
2417         (WI.SpreadsheetTextField.prototype.startEditing):
2418         (WI.SpreadsheetTextField.prototype.stopEditing):
2419         (WI.SpreadsheetTextField.prototype._discardChange):
2420
2421 2017-10-27  Devin Rousso  <webkit@devinrousso.com>
2422
2423         Web Inspector: Canvas Tab: no way to see backtrace of where a canvas context was created
2424         https://bugs.webkit.org/show_bug.cgi?id=178799
2425         <rdar://problem/35175805>
2426
2427         Reviewed by Brian Burg.
2428
2429         * Localizations/en.lproj/localizedStrings.js:
2430
2431         * UserInterface/Models/Canvas.js:
2432         (WI.Canvas.fromPayload):
2433         (WI.Canvas.prototype.get backtrace):
2434
2435         * UserInterface/Views/CanvasDetailsSidebarPanel.css:
2436         (.sidebar > .panel.details.canvas .details-section.canvas-backtrace .call-frame):
2437
2438         * UserInterface/Views/CanvasDetailsSidebarPanel.js:
2439         (WI.CanvasDetailsSidebarPanel.prototype.initialLayout):
2440         (WI.CanvasDetailsSidebarPanel.prototype.layout):
2441         (WI.CanvasDetailsSidebarPanel.prototype._refreshBacktraceSection):
2442
2443         * UserInterface/Views/ResourceIcons.css:
2444         (.canvas > .icon):
2445         (.canvas .icon): Deleted.
2446
2447 2017-10-26  Devin Rousso  <webkit@devinrousso.com>
2448
2449         Web Inspector: Canvas Tab: canvas path components from old page stick around when page is reloaded
2450         https://bugs.webkit.org/show_bug.cgi?id=178806
2451         <rdar://problem/35176360>
2452
2453         Reviewed by Brian Burg.
2454
2455         Before this change, the CanvasCollection was regenerated each time the Canvas tab was
2456         attached. This also caused the invisible TreeOutline, used for the path components and to
2457         manage selection, to be reset as well. Whenever the page refreshed, however, the old
2458         canvases, and associated recordings, were not removed. This patch reworks all of this logic
2459         to create the CanvasCollection on construction of the tab and add/remove canvases as needed.
2460
2461         * UserInterface/Controllers/CanvasManager.js:
2462         (WI.CanvasManager.prototype.canvasAdded):
2463         (WI.CanvasManager.prototype.canvasRemoved):
2464         (WI.CanvasManager.prototype._removeCanvas):
2465         (WI.CanvasManager.prototype._mainResourceDidChange):
2466         Replaced the "Cleared" event by instead firing "CanvasRemoved" for every tracked canvas. This
2467         massively simplifies the logic for when the page navigates, as everything goes through a
2468         single event listener.
2469         Drive-by: changed existing event names to remove unnecessary words.
2470
2471         * UserInterface/Views/CanvasTabContentView.js:
2472         (WI.CanvasTabContentView):
2473         (WI.CanvasTabContentView.prototype.attached):
2474         (WI.CanvasTabContentView.prototype.detached):
2475         (WI.CanvasTabContentView.prototype._addCanvas):
2476         (WI.CanvasTabContentView.prototype._removeCanvas):
2477         (WI.CanvasTabContentView.prototype._handleCanvasAdded):
2478         (WI.CanvasTabContentView.prototype._handleCanvasRemoved):
2479         (WI.CanvasTabContentView.prototype._canvasAdded): Deleted.
2480         (WI.CanvasTabContentView.prototype._canvasRemoved): Deleted.
2481         (WI.CanvasTabContentView.prototype._mainResourceDidChange): Deleted.
2482         Rework logic for the way that the CanvasCollection is maintained. It is no longer
2483         created/destroyed each time the view is attached/detached, and instead a diff is calculated
2484         for the added/existing/removed canvases and the content views are added/removed as such.
2485
2486         * UserInterface/Views/CanvasOverviewContentView.js:
2487         (WI.CanvasOverviewContentView.prototype._selectionPathComponentsChanged):
2488         Drive-by: if an imported recording is selected on the Canvas Overview view, we should show it.
2489
2490 2017-10-26  Devin Rousso  <webkit@devinrousso.com>
2491
2492         Web Inspector: Canvas Tab: canvases overview should support navigation via keyboard
2493         https://bugs.webkit.org/show_bug.cgi?id=178800
2494         <rdar://problem/35175856>
2495
2496         Reviewed by Brian Burg.
2497
2498         Create a KeyboardShorcut for each of the following:
2499          - Up: selects the previous canvas in the selected column
2500          - Down: selects the next canvas in the selected column
2501          - Right: selects the next canvas in the selected row
2502          - Left: selects the previous canvas in the selected row
2503          - Space: toggle recording of the selected canvas
2504          - Shift+Space: toggle single-frame recording of the selected canvas
2505
2506         The calculation for selected row/colum is based on the `offsetWidth` of the parent element
2507         and the selected item's content view element. Since this view uses a flexbox, all of the
2508         items are expected to have the same dimensions, meaning that this value is uniform. The
2509         intended functionality is that of a spreadsheet, where pressing pressing left/right will
2510         never change the selected row and up/down will never change the selected column.
2511
2512         * UserInterface/Views/CanvasOverviewContentView.css:
2513         (.content-view.canvas-overview):
2514         (.content-view.canvas-overview .content-view.canvas):
2515         Move margin value to a CSS variable so that it can be easily retrieved via JavaScript.
2516
2517         * UserInterface/Views/CanvasOverviewContentView.js:
2518         (WI.CanvasOverviewContentView):
2519         (WI.CanvasOverviewContentView.prototype.contentViewAdded):
2520         (WI.CanvasOverviewContentView.prototype.contentViewRemoved):
2521         (WI.CanvasOverviewContentView.prototype.attached):
2522         (WI.CanvasOverviewContentView.prototype.detached):
2523         (WI.CanvasOverviewContentView.prototype.get _itemMargin):
2524         (WI.CanvasOverviewContentView.prototype._changeSelectedItemVertically):
2525         (WI.CanvasOverviewContentView.prototype._changeSelectedItemHorizontally):
2526         (WI.CanvasOverviewContentView.prototype._updateNavigationItems):
2527         (WI.CanvasOverviewContentView.prototype._handleUp):
2528         (WI.CanvasOverviewContentView.prototype._handleRight):
2529         (WI.CanvasOverviewContentView.prototype._handleDown):
2530         (WI.CanvasOverviewContentView.prototype._handleLeft):
2531         (WI.CanvasOverviewContentView.prototype._handleSpace):
2532         (WI.CanvasOverviewContentView.prototype._supplementalRepresentedObjectsDidChange):
2533         Drive-by: call `_updateNavigationItems` whenever an item is added/removed so that if there
2534         are no items the navigation items cannot be clicked.
2535
2536 2017-10-26  Nikita Vasilyev  <nvasilyev@apple.com>
2537
2538         Web Inspector: Styles Redesign: Make "Style Attribute" text darker and non-focusable
2539         https://bugs.webkit.org/show_bug.cgi?id=178837
2540
2541         Reviewed by Brian Burg.
2542
2543         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:
2544         (.spreadsheet-css-declaration .selector.style-attribute):
2545         Use the same shade of gray as in the "Inherited from" sections.
2546
2547         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
2548         (WI.SpreadsheetCSSStyleDeclarationSection.prototype.initialLayout):
2549         Only editable selectors should be focusable.
2550
2551 2017-10-26  Fujii Hironori  <Hironori.Fujii@sony.com>
2552
2553         [GTK] Web Inspector: Add CanvasOverview.svg and Canvas.svg
2554         https://bugs.webkit.org/show_bug.cgi?id=178426
2555
2556         Reviewed by Carlos Garcia Campos.
2557
2558         * UserInterface/Images/gtk/Canvas.svg: Added.
2559         * UserInterface/Images/gtk/CanvasOverview.svg: Added.
2560
2561 2017-10-25  Devin Rousso  <webkit@devinrousso.com>
2562
2563         Web Inspector: provide a way to enable/disable event listeners
2564         https://bugs.webkit.org/show_bug.cgi?id=177451
2565         <rdar://problem/34994925>
2566
2567         Reviewed by Joseph Pecoraro.
2568
2569         * Localizations/en.lproj/localizedStrings.js:
2570
2571         * UserInterface/Controllers/DOMTreeManager.js:
2572         (WI.DOMTreeManager.prototype.setEventListenerDisabled):
2573
2574         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
2575         (WI.DOMNodeDetailsSidebarPanel.prototype.attached):
2576         (WI.DOMNodeDetailsSidebarPanel.prototype.detached):
2577         (WI.DOMNodeDetailsSidebarPanel.prototype._eventListenersChanged):
2578         (WI.DOMNodeDetailsSidebarPanel.prototype.addEventListeners): Deleted.
2579         (WI.DOMNodeDetailsSidebarPanel.prototype.removeEventListeners): Deleted.
2580         Listen for `WI.DOMNode.Event.EventListenersChanged` on all instances of WI.DOMNode, since we
2581         will still want to refresh the event listeners section in the event that an event listener
2582         is removed from a parent node.
2583
2584         * UserInterface/Views/EventListenerSectionGroup.js:
2585         (WI.EventListenerSectionGroup):
2586         (WI.EventListenerSectionGroup.prototype._eventText):
2587         (WI.EventListenerSectionGroup.prototype._nodeTextOrLink):
2588         (WI.EventListenerSectionGroup.prototype._createDisabledToggleElement):
2589         (WI.EventListenerSectionGroup.prototype._createDisabledToggleElement.updateTitle):
2590         * UserInterface/Views/EventListenerSectionGroup.css:
2591         (.event-listener-section > .content input[type="checkbox"]):
2592
2593         * UserInterface/Views/DetailsSectionSimpleRow.js:
2594         (WI.DetailsSectionSimpleRow.prototype.get label):
2595         (WI.DetailsSectionSimpleRow.prototype.set label):
2596
2597 2017-10-25  Devin Rousso  <webkit@devinrousso.com>
2598
2599         Web Inspector: replace TypeVerifier with subclasses of WI.Collection
2600         https://bugs.webkit.org/show_bug.cgi?id=178045
2601         <rdar://problem/35174307>
2602
2603         Reviewed by Brian Burg.
2604
2605         * UserInterface/Models/Collection.js:
2606         (WI.Collection):
2607         (WI.Collection.prototype.get displayName):
2608         (WI.Collection.prototype.objectIsRequiredType):
2609         (WI.Collection.prototype.add):
2610         (WI.Collection.prototype.get typeVerifier): Deleted.
2611         Instead of exposing the typeVerifier, we create a public predicate that returns whether the
2612         given object matches the expected type of the Collection. Subclasses can override it to
2613         limit the scope of the collection to a particular type.
2614
2615         * UserInterface/Models/CollectionTypes.js:
2616         (WI.FrameCollection.prototype.get displayName):
2617         (WI.FrameCollection.prototype.objectIsRequiredType):
2618         (WI.FrameCollection): Deleted.
2619         (WI.ScriptCollection.prototype.get displayName):
2620         (WI.ScriptCollection.prototype.objectIsRequiredType):
2621         (WI.ScriptCollection): Deleted.
2622         (WI.CSSStyleSheetCollection.prototype.get displayName):
2623         (WI.CSSStyleSheetCollection.prototype.objectIsRequiredType):
2624         (WI.CSSStyleSheetCollection): Deleted.
2625         (WI.CanvasCollection.prototype.get displayName):
2626         (WI.CanvasCollection.prototype.objectIsRequiredType):
2627         (WI.CanvasCollection): Deleted.
2628         (WI.ShaderProgramCollection.prototype.get displayName):
2629         (WI.ShaderProgramCollection.prototype.objectIsRequiredType):
2630         (WI.ShaderProgramCollection): Deleted.
2631         (WI.RecordingCollection.prototype.get displayName):
2632         (WI.RecordingCollection.prototype.objectIsRequiredType):
2633         (WI.RecordingCollection): Deleted.
2634         * UserInterface/Models/ResourceCollection.js:
2635         (WI.ResourceCollection):
2636         (WI.ResourceCollection.prototype.get displayName):
2637         (WI.ResourceCollection.prototype.objectIsRequiredType):
2638         (WI.ResourceCollection.verifierForType): Deleted.
2639         * UserInterface/Views/TreeOutlineGroup.js:
2640         (WI.TreeOutlineGroup.prototype.objectIsRequiredType):
2641         (WI.TreeOutlineGroup): Deleted.
2642         Introduce additional subclasses of Collection for other model types. Modify existing
2643         subclasses to remove `typeVerifier` and instead extend `objectIsRequiredType`.
2644
2645         * UserInterface/Models/Canvas.js:
2646         (WI.Canvas):
2647         * UserInterface/Models/Frame.js:
2648         (WI.Frame):
2649         * UserInterface/Protocol/Target.js:
2650         (WI.Target):
2651         * UserInterface/Views/ResourceSidebarPanel.js:
2652         (WI.ResourceSidebarPanel.prototype.treeElementForRepresentedObject):
2653         (WI.ResourceSidebarPanel.prototype._addScript):
2654
2655         * UserInterface/Views/CollectionContentView.js:
2656         (WI.CollectionContentView):
2657         (WI.CollectionContentView.titleForCollection): Delete.
2658         * UserInterface/Views/ResourceCollectionContentView.js:
2659         (WI.ResourceCollectionContentView):
2660         Require that subclasses of Collection override `get displayName` if the CollectionContentView
2661         is not provided with a `contentPlaceholderText`.
2662
2663         (WI.CollectionContentView.prototype.initialLayout):
2664         We don't need to create and add ContentView for each item of the Collection, as this is
2665         already done by attached().
2666
2667         (WI.CollectionContentView.prototype._showContentPlaceholder):
2668         Remove the 250ms delay before showing the placeholder TitleView.
2669
2670         * UserInterface/Views/FolderizedTreeElement.js:
2671         (WI.FolderizedTreeElement.prototype._settingsForRepresentedObject):
2672
2673 2017-10-25  Joseph Pecoraro  <pecoraro@apple.com>
2674
2675         Web Inspector: Display fetch() initiated loads as "fetch" instead of "xhr" in the Network Tab
2676         https://bugs.webkit.org/show_bug.cgi?id=178826
2677
2678         Reviewed by Youenn Fablet.
2679
2680         * UserInterface/Views/NetworkTableContentView.js:
2681         (WI.NetworkTableContentView.shortDisplayNameForResourceType):
2682         Fetch and XHR loads are still grouped under the succinct "XHR" filter, but
2683         at least display the better type name in the "Type" column of the table.
2684
2685 2017-10-25  Devin Rousso  <webkit@devinrousso.com>
2686
2687         Web Inspector: Canvas Tab: selected canvas card loses selection outline style while recording
2688         https://bugs.webkit.org/show_bug.cgi?id=178814
2689         <rdar://problem/35177317>
2690
2691         Reviewed by Brian Burg.
2692
2693         * UserInterface/Views/CanvasOverviewContentView.css:
2694         (.content-view.canvas-overview .content-view.canvas):
2695         (.content-view.canvas-overview .content-view.canvas > :matches(header, .preview, footer)):
2696         (.content-view.canvas-overview .content-view.canvas.selected > :matches(.preview, footer),):
2697         (.content-view.canvas-overview .content-view.canvas > header):
2698         (.content-view.canvas-overview .content-view.canvas.is-recording > header):
2699         (.content-view.canvas-overview .content-view.canvas > .preview):
2700         (.content-view.canvas-overview .content-view.canvas > footer):
2701         (.content-view.canvas-overview .content-view.canvas.selected:not(.is-recording)): Deleted.
2702         Instead of applying the border to the entire element, apply parts of the border to each of
2703         its children so that we can choose what colors to use for each part.
2704
2705 2017-10-25  Nikita Vasilyev  <nvasilyev@apple.com>
2706
2707         Web Inspector: [PARITY] Styles Redesign: Add color gradient, bezier curve, and spring inline widgets
2708         https://bugs.webkit.org/show_bug.cgi?id=178404
2709         <rdar://problem/35035992>
2710
2711         Reviewed by Devin Rousso.
2712
2713         Add inline widgets for the following CSS values:
2714         - Gradients, e.g. `background-image: linear-gradient(yellow, orange)`
2715         - Bezier curves, e.g. `transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55)`
2716         - Spring functions, e.g. `transition-timing-function: spring(1, 2, 2, 4)`
2717
2718         * UserInterface/Models/Color.js:
2719         (WI.Color.prototype.toString):
2720         Don't throw. The are never try/catch blocks on the callsites.
2721
2722         * UserInterface/Views/SpreadsheetStyleProperty.js:
2723         (WI.SpreadsheetStyleProperty.prototype._renderValue):
2724         (WI.SpreadsheetStyleProperty.prototype._createInlineSwatch):
2725         (WI.SpreadsheetStyleProperty.prototype._addGradientTokens):
2726         (WI.SpreadsheetStyleProperty.prototype._addColorTokens):
2727         (WI.SpreadsheetStyleProperty.prototype._addTimingFunctionTokens):
2728
2729 2017-10-25  Nikita Vasilyev  <nvasilyev@apple.com>
2730
2731         Web Inspector: Styles Redesign: Newly added invalid property isn't immediately shown as invalid
2732         https://bugs.webkit.org/show_bug.cgi?id=178488
2733
2734         Reviewed by Brian Burg.
2735
2736         * UserInterface/Models/CSSStyleDeclaration.js:
2737         (WI.CSSStyleDeclaration.prototype.newBlankProperty):
2738         Call this.update to update _properties, _allProperties, _visibleProperties, and _allVisibleProperties.
2739
2740         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
2741         (.spreadsheet-style-declaration-editor .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled)):
2742         (.spreadsheet-style-declaration-editor .property.invalid-name:not(.disabled)):
2743         (.spreadsheet-style-declaration-editor .property.invalid-value:not(.disabled) .value):
2744         When the property name is valid, but the value isn't, display red line-through only for the value.
2745         This is how it works in the old styles sidebar as well.
2746
2747         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
2748         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesChanged):
2749         (WI.SpreadsheetCSSStyleDeclarationEditor):
2750         * UserInterface/Views/SpreadsheetStyleProperty.js:
2751         (WI.SpreadsheetStyleProperty):
2752         (WI.SpreadsheetStyleProperty.prototype.updateClassNames):
2753         (WI.SpreadsheetStyleProperty.prototype._update):
2754         Introduce updateClassNames method. Unlike _update, it doesn't change text selection or focus and
2755         can be safely called on a property while it's being edited.
2756
2757 2017-10-25  Devin Rousso  <webkit@devinrousso.com>
2758
2759         Web Inspector: Canvas Tab: clicking on a canvas card causes details sidebar to show and mess up card arrangement
2760         https://bugs.webkit.org/show_bug.cgi?id=178803
2761         <rdar://problem/35176082>
2762
2763         Reviewed by Brian Burg.
2764
2765         * Localizations/en.lproj/localizedStrings.js:
2766         * UserInterface/Views/CanvasDetailsSidebarPanel.css:
2767         (.sidebar > .panel.details.canvas > .content > .empty-content-placeholder):
2768         (.sidebar > .panel.details.canvas > .content > .empty-content-placeholder > .message):
2769         * UserInterface/Views/CanvasDetailsSidebarPanel.js:
2770         (WI.CanvasDetailsSidebarPanel):
2771         (WI.CanvasDetailsSidebarPanel.prototype.inspect):
2772         (WI.CanvasDetailsSidebarPanel.prototype.initialLayout):
2773         (WI.CanvasDetailsSidebarPanel.prototype.layout):
2774
2775         * UserInterface/Views/RecordingNavigationSidebarPanel.js:
2776         (WI.RecordingNavigationSidebarPanel.disallowInstanceForClass): Deleted.
2777         * UserInterface/Views/RecordingStateDetailsSidebarPanel.js:
2778         (WI.RecordingStateDetailsSidebarPanel.disallowInstanceForClass): Deleted.
2779         * UserInterface/Views/RecordingTraceDetailsSidebarPanel.js:
2780         (WI.RecordingTraceDetailsSidebarPanel.disallowInstanceForClass): Deleted.
2781         Drive-by: these sidebar panels are now only used by the Canvas tab, so we no longer need to
2782         provide support for multiple instances of them.
2783
2784 2017-10-25  Devin Rousso  <webkit@devinrousso.com>
2785
2786         Web Inspector: preserve Recordings for each Canvas after closing the Canvas tab
2787         https://bugs.webkit.org/show_bug.cgi?id=178767
2788         <rdar://problem/35167239>
2789
2790         Reviewed by Brian Burg.
2791
2792         * UserInterface/Test.html:
2793         Include CollectionTypes for tests.
2794
2795         * UserInterface/Controllers/CanvasManager.js:
2796         (WI.CanvasManager.prototype.recordingFinished):
2797
2798         * UserInterface/Models/Canvas.js:
2799         (WI.Canvas):
2800         (WI.Canvas.prototype.get recordingCollection):
2801
2802         * UserInterface/Models/CollectionTypes.js:
2803         (WI.CanvasCollection):
2804         (WI.RecordingCollection):
2805
2806         * UserInterface/Views/CanvasContentView.js:
2807         (WI.CanvasContentView.prototype.initialLayout):
2808         (WI.CanvasContentView.prototype._addRecording):
2809         (WI.CanvasContentView.prototype._recordingStopped):
2810
2811         * UserInterface/Views/CanvasTabContentView.js:
2812         (WI.CanvasTabContentView.prototype.attached):
2813         (WI.CanvasTabContentView.prototype._recordingAdded):
2814
2815 2017-10-24  Joseph Pecoraro  <pecoraro@apple.com>
2816
2817         REGRESSION(r222181): Web Inspector: Augmenting Agents Domains are not getting activated
2818         https://bugs.webkit.org/show_bug.cgi?id=178768
2819         <rdar://problem/35081334>
2820
2821         Reviewed by Brian Burg.
2822
2823         * UserInterface/Base/Main.js:
2824         Simplify event dispatch.
2825
2826         * UserInterface/Controllers/AppController.js:
2827         (WI.AppController.prototype.activateExtraDomains):
2828         Pass the domains on.
2829
2830 2017-10-24  Joseph Pecoraro  <pecoraro@apple.com>
2831
2832         Web Inspector: Console Drawer resizing doesn't match cursor position
2833         https://bugs.webkit.org/show_bug.cgi?id=178753
2834         <rdar://problem/35160484>
2835
2836         Reviewed by Brian Burg.
2837
2838         * UserInterface/Views/ConsoleDrawer.js:
2839         (WI.ConsoleDrawer.prototype._updateDrawerHeight):
2840         Drive-by fix an early return that would never have worked.
2841
2842         * UserInterface/Views/Main.css:
2843         (#content):
2844         Give the #content a flex grow of 1. This causes the space to grow as it
2845         already was but now it does not affect the size of the fixed height sibling.
2846
2847 2017-10-24  Eric Carlson  <eric.carlson@apple.com>
2848
2849         Web Inspector: Enable WebKit logging configuration and display
2850         https://bugs.webkit.org/show_bug.cgi?id=177027
2851         <rdar://problem/33964767>
2852
2853         Reviewed by Joseph Pecoraro.
2854
2855         * Localizations/en.lproj/localizedStrings.js: Add new localized strings.
2856
2857         * UserInterface/Controllers/LogManager.js:
2858         (WI.LogManager): Initialize _loggingChannelSources, fetch _customLoggingChannels.
2859         (WI.LogManager.supportsLogChannels): New.
2860         (WI.LogManager.prototype.get customLoggingChannels): New.
2861         (WI.LogManager.prototype.get logChannelSources): New.
2862
2863         * UserInterface/Main.html:
2864         * UserInterface/Models/ConsoleMessage.js: Add Media and WebRTC.
2865
2866         * UserInterface/Models/IssueMessage.js:
2867         (WI.IssueMessage): Add media and webrtc.
2868
2869         * UserInterface/Models/LoggingChannel.js: Added.
2870         (WI.LoggingChannel):
2871         (WI.LoggingChannel.fromPayload):
2872         (WI.LoggingChannel.prototype.get source):
2873         (WI.LoggingChannel.prototype.get level):
2874
2875         * UserInterface/Views/LogContentView.js:
2876         (WI.LogContentView): Add new scope buttons for "Log", "Info", and "Debug". Create log channel
2877             scope buttons once logging has started.
2878         (WI.LogContentView.prototype.get navigationItems): Add the log message scope bar when necessary.
2879         (WI.LogContentView.prototype._scopeFromMessageSource): New.
2880         (WI.LogContentView.prototype._scopeFromMessageLevel): Don't group Info, Log, and Debug.
2881         (WI.LogContentView.prototype._messageAdded): Force a UI update the first time a WebKit log
2882             message is added.
2883
2884         (WI.LogContentView.prototype._messageShouldBeVisible): New, deal with message source bar buttons.
2885         (WI.LogContentView.prototype._messageSourceBarSelectionDidChange): New.
2886         (WI.LogContentView.prototype._filterMessageElements): Deal with message source bar buttons.
2887
2888         * UserInterface/Views/SettingsTabContentView.js:
2889         (WI.SettingsTabContentView.prototype._createGeneralSettingsView): Create and initialize menus
2890             for each log channel.
2891
2892 2017-10-24  Joseph Pecoraro  <pecoraro@apple.com>
2893
2894         Uncaught Exception: TypeError: null is not an object (evaluating 'this.treeOutline.isXMLMimeType')
2895         https://bugs.webkit.org/show_bug.cgi?id=178745
2896
2897         Reviewed by Brian Burg.
2898
2899         * UserInterface/Views/DOMTreeUpdater.js:
2900         (WI.DOMTreeUpdater.prototype._updateModifiedNodes):
2901         An earlier tree element update might have caused this other tree element's
2902         waiting to be updated to actually be removed. So just skip past them.
2903
2904 2017-10-24  Fujii Hironori  <Hironori.Fujii@sony.com>
2905
2906         [GTK] Web Inspector: Add Recording.svg
2907         https://bugs.webkit.org/show_bug.cgi?id=175045
2908
2909         Reviewed by Brian Burg.
2910
2911         * UserInterface/Images/gtk/Recording.svg: Added.
2912
2913 2017-10-24  Devin Rousso  <webkit@devinrousso.com>
2914
2915         Web Inspector: allow ShaderProgram to be shown in CanvasContentView
2916         https://bugs.webkit.org/show_bug.cgi?id=178714
2917
2918         Reviewed by Brian Burg.
2919
2920         * UserInterface/Views/CanvasDetailsSidebarPanel.js:
2921         (WI.CanvasDetailsSidebarPanel.prototype.inspect):
2922         Allow ShaderProgram to show the related Canvas information.
2923
2924         * UserInterface/Views/CanvasTabContentView.js:
2925         (WI.CanvasTabContentView.prototype.canShowRepresentedObject):
2926         (WI.CanvasTabContentView.prototype.showRepresentedObject):
2927         (WI.CanvasTabContentView.prototype._canvasTreeOutlineSelectionDidChange):
2928         If a ShaderProgram is selected in the path component, display a ShaderProgramContentView.
2929
2930 2017-10-24  Devin Rousso  <webkit@devinrousso.com>
2931
2932         Web Inspector: remove canvases from Resources and experimental setting/UI
2933         https://bugs.webkit.org/show_bug.cgi?id=178711
2934
2935         Reviewed by Brian Burg.
2936
2937         * UserInterface/Base/Main.js:
2938         (WI.tabContentViewClassForRepresentedObject):
2939         * UserInterface/Base/Setting.js:
2940         * UserInterface/Controllers/CanvasManager.js:
2941         (WI.CanvasManager.prototype.canvasAdded):
2942         (WI.CanvasManager.prototype.canvasRemoved):
2943         * UserInterface/Models/Canvas.js:
2944         * UserInterface/Models/Frame.js:
2945         (WI.Frame):
2946         (WI.Frame.prototype.get extraScriptCollection):
2947         (WI.Frame.prototype.commitProvisionalLoad):
2948         (WI.Frame.prototype.get canvasCollection): Deleted.
2949         * UserInterface/Views/CanvasTabContentView.js:
2950         (WI.CanvasTabContentView.isTabAllowed):
2951         * UserInterface/Views/FrameTreeElement.js:
2952         (WI.FrameTreeElement):
2953         (WI.FrameTreeElement.prototype.onattach):
2954         (WI.FrameTreeElement.prototype.ondetach):
2955         (WI.FrameTreeElement.prototype.onpopulate):
2956         (WI.FrameTreeElement.prototype._styleSheetAdded):
2957         (WI.FrameTreeElement.prototype._canvasWasAdded): Deleted.
2958         (WI.FrameTreeElement.prototype._canvasWasRemoved): Deleted.
2959         * UserInterface/Views/ResourceSidebarPanel.js:
2960         (WI.ResourceSidebarPanel):
2961         (WI.ResourceSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
2962         (WI.ResourceSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
2963         (WI.ResourceSidebarPanel.prototype._treeSelectionDidChange):
2964         * UserInterface/Views/ResourcesTabContentView.js:
2965         (WI.ResourcesTabContentView):
2966         (WI.ResourcesTabContentView.prototype.canShowRepresentedObject):
2967         * UserInterface/Views/SettingsTabContentView.js:
2968         (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
2969
2970 2017-10-24  Devin Rousso  <webkit@devinrousso.com>
2971
2972         Web Inspector: Show recordings in CanvasTabContentView
2973         https://bugs.webkit.org/show_bug.cgi?id=177606
2974         <rdar://problem/34715819>
2975
2976         Reviewed by Brian Burg.
2977
2978         Original patch by Matt Baker <mattbaker@apple.com>.
2979
2980         This patch folds canvas recordings into the new Canvas tab, which now
2981         supports showing both CanvasCollections and Recordings.
2982
2983         When viewing recordings, a back button is shown at the start of the
2984         navigation bar, allowing the user to return to the overview. It has been
2985         styled with a back arrow, to make its function as clear as possible.
2986         Like other navigation path components, the item for the recording can
2987         clicked to select another recording taken from the same canvas.
2988
2989         The recording action scrubber has been moved from the content browser's
2990         navigation bar to a more prominent location in the recording content view.
2991         Selecting a frame tree element in the navigation sidebar no longer selects
2992         the last action for that frame. This was changed to prevent the scrubber
2993         position from behaving non-monotonically when selecting actions in sequential
2994         order.
2995
2996         While this patch retains support for importing recordings, the feature
2997         is not polished. Currently it is not possible to return to an imported
2998         recording after leaving closing the view. In the future we may want to
2999         consider including a navigation sidebar panel for the overview, which
3000         could list canvas recordings (and eventually shaders).
3001
3002         * .eslintrc:
3003         Drive-by: remove duplicate key.
3004
3005         * Localizations/en.lproj/localizedStrings.js:
3006         * UserInterface/Base/Main.js:
3007         (WI.contentLoaded):
3008         (WI.tabContentViewClassForRepresentedObject):
3009         * UserInterface/Main.html:
3010         * UserInterface/Views/RecordingTabContentView.js: Removed.
3011         Remove RecordingTabContentView.
3012
3013         * UserInterface/Images/Recording.svg:
3014         New recording icon, used for tree elements and canvas preview UI.
3015
3016         * UserInterface/Models/Recording.js:
3017         (WI.Recording):
3018         (WI.Recording.prototype.get visualActionIndexes):
3019         Visual action indexes should be computed by the recording.
3020
3021         * UserInterface/Views/CanvasContentView.js:
3022         (WI.CanvasContentView):
3023         (WI.CanvasContentView.prototype.refresh):
3024         (WI.CanvasContentView.prototype.initialLayout):
3025         (WI.CanvasContentView.prototype.attached):
3026         (WI.CanvasContentView.prototype._recordingStopped):
3027         (WI.CanvasContentView.prototype._handleRecordingSelectElementChange):
3028         New UI for showing CanvasContentView as a CollectionView item. Includes
3029         recordings button and select for choosing a recording to view.
3030
3031         * UserInterface/Views/CanvasOverviewContentView.css:
3032         (.content-view.canvas-overview .content-view.canvas > header):
3033         Switch to 13px, which is more frequently used.
3034
3035         (.content-view.canvas-overview .content-view.canvas > header .subtitle::before):
3036         Switch to literal em dash. Surrounding spaces were ignored when using
3037         the backslash-escaped character.
3038
3039         (.content-view.canvas-overview .content-view.canvas:not(:hover, .is-recording, .selected) > header > .navigation-bar):
3040         (.content-view.canvas-overview .content-view.canvas > footer > .recordings):
3041         (.content-view.canvas-overview .content-view.canvas > footer > .recordings::before):
3042         (.content-view.canvas-overview .content-view.canvas > footer > .recordings > select):
3043         (.content-view.canvas-overview .content-view.canvas > footer .recordings > select:focus):
3044         (.content-view.canvas-overview .content-view.canvas > footer > .flexible-space):
3045         (.popover-content > .tree-outline .item.recording > .icon):
3046         (.popover-content > .tree-outline .item.recording:hover):
3047         (.popover-content > .tree-outline .item.recording:hover > .icon):
3048         (.content-view.canvas-overview .content-view.canvas:not(:hover, .is-recording) > header > .navigation-bar): Deleted.
3049         (.content-view.canvas-overview .content-view.canvas > footer): Deleted.
3050         New styles for the recording picker.
3051
3052         * UserInterface/Views/CanvasOverviewContentView.js:
3053         (WI.CanvasOverviewContentView):
3054         (WI.CanvasOverviewContentView.prototype.get selectionPathComponents):
3055         (WI.CanvasOverviewContentView.prototype.contentViewAdded):
3056         (WI.CanvasOverviewContentView.prototype.contentViewRemoved):
3057         (WI.CanvasOverviewContentView.prototype._supplementalRepresentedObjectsDidChange):
3058         (WI.CanvasOverviewContentView.prototype._selectedPathComponentChanged): Deleted.
3059         (WI.CanvasOverviewContentView.prototype._supplementalRepresentedObjectsDidChange.createCanvasPathComponent): Deleted.
3060         Canvas tree elements are now managed by CanvasTabContentView, which is
3061         now responsible for maintaining the tree of canvas objects. For now the
3062         tree holds canvases and recordings, but will eventually include shader programs.
3063
3064         * UserInterface/Views/CanvasTabContentView.css:
3065         (.content-view.tab.canvas .navigation-bar > .item .recording > .icon):
3066         (.content-view.tab.canvas .navigation-bar > .item > .canvas-overview > .icon): Deleted.
3067         Add styles for recording path components.
3068
3069         * UserInterface/Views/CanvasTabContentView.js:
3070         (WI.CanvasTabContentView):
3071         (WI.CanvasTabContentView.prototype.treeElementForRepresentedObject):
3072         (WI.CanvasTabContentView.prototype.canShowRepresentedObject):
3073         (WI.CanvasTabContentView.prototype.showRepresentedObject):
3074         (WI.CanvasTabContentView.prototype.shown):
3075         (WI.CanvasTabContentView.prototype.restoreStateFromCookie):
3076         (WI.CanvasTabContentView.prototype.attached):
3077         (WI.CanvasTabContentView.prototype.detached):
3078         (WI.CanvasTabContentView.prototype._canvasAdded):
3079         (WI.CanvasTabContentView.prototype._canvasRemoved):
3080         (WI.CanvasTabContentView.prototype._canvasTreeOutlineSelectionDidChange):
3081         (WI.CanvasTabContentView.prototype._recordingStopped):
3082         (WI.CanvasTabContentView.prototype._navigationSidebarImport):
3083         (WI.CanvasTabContentView.prototype._navigationSidebarTreeOutlineSelectionChanged):
3084         (WI.CanvasTabContentView.prototype._recordingAdded):
3085         (WI.CanvasTabContentView.prototype._recordingActionIndexChanged):
3086         (WI.CanvasTabContentView.prototype._updateActionIndex):
3087         (WI.CanvasTabContentView.prototype.restoreFromCookie): Deleted.
3088         (WI.CanvasTabContentView.prototype._overviewPathComponentClicked): Deleted.
3089
3090         * UserInterface/Views/ContentView.js:
3091         (WI.ContentView.createFromRepresentedObject):
3092
3093         * UserInterface/Views/RecordingActionTreeElement.css:
3094         (body:not(.window-inactive, .window-docked-inactive) .tree-outline:matches(:focus, .force-focus) .item.action.selected > .titles .parameter.swizzled,):
3095         (body:not(.window-inactive, .window-docked-inactive) :matches(:focus, .force-focus) .item.action.selected > .titles .parameter.swizzled,): Deleted.
3096
3097         * UserInterface/Views/RecordingContentView.css:
3098         (.content-view:not(.tab).recording):
3099         (.content-view:not(.tab).recording > header):
3100         (.content-view:not(.tab).recording > header > .slider-container):
3101         (.content-view:not(.tab).recording > header > .slider-container > input[type=range]):
3102         (.content-view:not(.tab).recording > header > .slider-container > input[type=range]::-webkit-slider-runnable-track):
3103         (.content-view:not(.tab).recording > header > .slider-container > input[type=range]::-webkit-slider-thumb):
3104         (.content-view:not(.tab).recording > .preview-container):
3105
3106         * UserInterface/Views/RecordingContentView.js:
3107         (WI.RecordingContentView):
3108         (WI.RecordingContentView.prototype.updateActionIndex):
3109         (WI.RecordingContentView.prototype.initialLayout):
3110         (WI.RecordingContentView.prototype.async._generateContentCanvas2D):
3111         (WI.RecordingContentView.prototype._updateSliderValue):
3112         (WI.RecordingContentView.prototype._sliderChanged):
3113         (WI.RecordingContentView.prototype.get supplementalRepresentedObjects): Deleted.
3114
3115         * UserInterface/Views/RecordingNavigationSidebarPanel.js:
3116         (WI.RecordingNavigationSidebarPanel.prototype.set recording):
3117         (WI.RecordingNavigationSidebarPanel.prototype.updateActionIndex):
3118
3119         * UserInterface/Views/ResourceIcons.css:
3120         (.canvas .icon):
3121         (.canvas.canvas-2d .icon): Deleted.
3122         (.canvas:matches(.webgl, .webgl2, .webgpu) .icon): Deleted.
3123
3124 2017-10-24  Ross Kirsling  <ross.kirsling@sony.com>
3125
3126         Web Inspector: Layer mutations should be purely based on layerId, not based on nodeId
3127         https://bugs.webkit.org/show_bug.cgi?id=178554
3128
3129         Reviewed by Devin Rousso.
3130
3131         * UserInterface/Controllers/LayerTreeManager.js:
3132         (WI.LayerTreeManager.prototype.layerTreeMutations):
3133         Looking for special cases involving nodeIds is incorrect, as nodeIds need not be unique in the layer list (such
3134         as when an element and a pseudo-element thereof each give rise to a layer). A layer object marked "preserved" in
3135         this way shares no data with its predecessor, meaning that no consumer can act upon this so-called preservation.
3136         A preserved layer should be nothing more or less than a recycled layerId (the thing that *is* unique).
3137
3138 2017-10-23  Nikita Vasilyev  <nvasilyev@apple.com>
3139
3140         Web Inspector: Styles Redesign: Inline widgets don't hide when starting editing by tabbing from property name
3141         https://bugs.webkit.org/show_bug.cgi?id=178638
3142
3143         Reviewed by Joseph Pecoraro.
3144
3145         * UserInterface/Views/SpreadsheetStyleProperty.js:
3146         (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidBlur):
3147         Blur event on the property name text field caused WI.SpreadsheetStyleProperty.prototype._renderValue,
3148         which displayed inline swatches. Display inline swatches only after blur event on the property value.
3149
3150 2017-10-23  Joseph Pecoraro  <pecoraro@apple.com>
3151
3152         Web Inspector: Please support HAR Export for network traffic
3153         https://bugs.webkit.org/show_bug.cgi?id=146692
3154         <rdar://problem/7463672>
3155
3156         Reviewed by Brian Burg.
3157
3158         * UserInterface/Main.html:
3159         * UserInterface/Test.html:
3160         New resources.
3161
3162         * UserInterface/Base/Platform.js:
3163         Include a build number as well.
3164         
3165         * UserInterface/Base/URLUtilities.js:
3166         (parseLocationQueryParameters): Deleted.
3167         Remove unused function.
3168
3169         * UserInterface/Controllers/FrameResourceManager.js:
3170         (WI.FrameResourceManager.prototype.frameDidNavigate):
3171         (WI.FrameResourceManager.prototype.resourceRequestWillBeSent):
3172         (WI.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache):
3173         (WI.FrameResourceManager.prototype.resourceRequestDidReceiveResponse):
3174         (WI.FrameResourceManager.prototype._addNewResourceToFrameOrTarget):
3175         Pass along a walltime.
3176
3177         * UserInterface/Protocol/NetworkObserver.js:
3178         (WI.NetworkObserver.prototype.requestWillBeSent):
3179         Pass along a walltime. This new parameter shifts old parameters.
3180
3181         * UserInterface/Controllers/HARBuilder.js: Added.
3182         (WI.HARBuilder.async.buildArchive):
3183         (WI.HARBuilder.creator):
3184         (WI.HARBuilder.pages):
3185         (WI.HARBuilder.pageTimings):
3186         (WI.HARBuilder.entry):
3187         (WI.HARBuilder.request):
3188         (WI.HARBuilder.response):
3189         (WI.HARBuilder.cookies):
3190         (WI.HARBuilder.headers):
3191         (WI.HARBuilder.content):
3192         (WI.HARBuilder.postData):
3193         (WI.HARBuilder.cache):
3194         (WI.HARBuilder.timings):
3195         (WI.HARBuilder.ipAddress):
3196         (WI.HARBuilder.date):
3197         (WI.HARBuilder.fetchType):
3198         HAR construction and helpers.
3199
3200         * UserInterface/Models/Cookie.js:
3201         (WI.Cookie.prototype.expirationDate):
3202         * UserInterface/Models/Resource.js:
3203         (WI.Resource.prototype.get queryStringParameters):
3204         (WI.Resource.prototype.get requestFormParameters):
3205         (WI.Resource.prototype.get requestSentWalltime):
3206         (WI.Resource.prototype.get requestSentDate):
3207         (WI.Resource.prototype.hasRequestFormParameters):
3208         Helpers for HAR generation and sub-sets of data.
3209
3210         * UserInterface/Models/SourceCode.js:
3211         (WI.SourceCode.prototype._processContent):
3212         Capture the raw, unmodified, base64 encoded flag and content. This ends
3213         up getting used by HAR generation and is otherwise lost.
3214
3215         * UserInterface/Test/TestHarness.js:
3216         (TestHarness.prototype.json):
3217         Helper for just logging JSON data with a filter. This defaults to
3218         a reasonable 2 space indent for JSON logs in our test output.
3219
3220         * UserInterface/Views/DOMTreeContentView.js:
3221         (WI.DOMTreeContentView.prototype.get saveData):
3222         (WI.DOMTreeContentView.get saveData.saveHandler): Deleted.
3223         Drive-by simplify while looking at other save handlers.
3224
3225         * UserInterface/Views/NetworkTableContentView.js:
3226         (WI.NetworkTableContentView.prototype.get supportsSave):
3227         (WI.NetworkTableContentView.prototype.get saveData):
3228         (WI.NetworkTableContentView.prototype.tableCellContextMenuClicked):
3229         (WI.NetworkTableContentView.prototype._HARResources):
3230         (WI.NetworkTableContentView.prototype._exportHAR):
3231         Provide a context menu and save keyboard handler to export a HAR.
3232         This matches other browsers.
3233
3234         * UserInterface/Views/ResourceClusterContentView.js:
3235         (WI.ResourceClusterContentView.prototype._canShowRequestContentView):
3236         Use code that is now available in Resource.
3237
3238 2017-10-20  Matt Baker  <mattbaker@apple.com>
3239
3240         Web Inspector: scrolling the editor while debugging shouldn't trigger popovers
3241         https://bugs.webkit.org/show_bug.cgi?id=178325
3242
3243         Reviewed by Devin Rousso.
3244
3245         Ignore the next "mousemove" event immediately following a "mousewheel",
3246         when determining the hovered item for purposes of triggering a popover.
3247
3248         * UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
3249         (WI.CodeMirrorTokenTrackingController):
3250         (WI.CodeMirrorTokenTrackingController.prototype._startTracking):
3251         (WI.CodeMirrorTokenTrackingController.prototype._stopTracking):
3252         (WI.CodeMirrorTokenTrackingController.prototype.handleEvent):
3253         (WI.CodeMirrorTokenTrackingController.prototype._mouseMovedOverEditor):
3254
3255 2017-10-20  Joseph Pecoraro  <pecoraro@apple.com>
3256
3257         Web Inspector: preview content view for MIME type application/json should be a collapsible tree outline
3258         https://bugs.webkit.org/show_bug.cgi?id=158938
3259         <rdar://problem/26891128>
3260
3261         Reviewed by Brian Burg.
3262
3263         * Localizations/en.lproj/localizedStrings.js:
3264         * UserInterface/Main.html:
3265         New files and strings.
3266
3267         * UserInterface/Views/JSONResourceContentView.css: Added.
3268         (.content-view.resource.json):
3269         (.content-view.resource.json .object-tree .prototype-property):
3270         Some padding and scrolling for the JSON content view.
3271
3272         * UserInterface/Views/JSONResourceContentView.js: Added.
3273         (WI.JSONResourceContentView):
3274         (WI.JSONResourceContentView.customContentViewDisplayName):
3275         (WI.JSONResourceContentView.prototype.contentAvailable):
3276         (WI.JSONResourceContentView.prototype.closed):
3277         JSON view evaluates the JSON content on the page and shows an ObjectTree
3278         for the resulting object.
3279
3280         * UserInterface/Views/ResourceClusterContentView.js:
3281         (WI.ResourceClusterContentView):
3282         (WI.ResourceClusterContentView.prototype.get customResponseContentView):
3283         (WI.ResourceClusterContentView.prototype.get selectionPathComponents):
3284         (WI.ResourceClusterContentView.prototype.restoreFromCookie):
3285         (WI.ResourceClusterContentView.prototype.showResponse):
3286         (WI.ResourceClusterContentView.prototype._canShowRequestContentView):
3287         (WI.ResourceClusterContentView.prototype._canShowCustomResponseContentView):
3288         (WI.ResourceClusterContentView.prototype._pathComponentForContentView):
3289         (WI.ResourceClusterContentView.prototype._identifierForContentView):
3290         (WI.ResourceClusterContentView.prototype._showContentViewForIdentifier):
3291         (WI.ResourceClusterContentView.prototype._resourceTypeDidChange):
3292         (WI.ResourceClusterContentView.prototype._resourceLoadingDidFinish):
3293         (WI.ResourceClusterContentView.prototype._tryEnableCustomResponseContentView):
3294         (WI.ResourceClusterContentView.prototype._customContentViewConstructorForResource):
3295         Allow a custom content view to be used for a resource based on the response.
3296         Currently the only custom content view is the JSON content view.
3297
3298 2017-10-20  Joseph Pecoraro  <pecoraro@apple.com>
3299
3300         Web Inspector: Network Tab - Turn on the new tab by default, remove the legacy network tab
3301         https://bugs.webkit.org/show_bug.cgi?id=178559
3302         <rdar://problem/34985503>
3303
3304         Reviewed by Matt Baker.
3305
3306         * Localizations/en.lproj/localizedStrings.js:
3307         * UserInterface/Base/Main.js:
3308         (WI.contentLoaded):
3309         * UserInterface/Base/Setting.js:
3310         * UserInterface/Main.html:
3311         * UserInterface/Views/LegacyNetworkSidebarPanel.css: Removed.
3312         * UserInterface/Views/LegacyNetworkSidebarPanel.js: Removed.
3313         * UserInterface/Views/LegacyNetworkTabContentView.js: Removed.
3314         * UserInterface/Views/NetworkGridContentView.css: Removed.
3315         * UserInterface/Views/NetworkGridContentView.js: Removed.
3316         * UserInterface/Views/TabBrowser.js:
3317         (WI.TabBrowser.prototype.bestTabContentViewForRepresentedObject):
3318         Remove LegacyNetwork tab, its NetworkGridContentView, and associated content.
3319
3320         * UserInterface/Views/NetworkTabContentView.js:
3321         (WI.NetworkTabContentView.isTabAllowed):
3322         Simplify now that this is the only Network tab.
3323
3324         * UserInterface/Views/SettingsTabContentView.js:
3325         (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
3326         Remove experimental setting.
3327
3328
3329 2017-10-19  Joseph Pecoraro  <pecoraro@apple.com>
3330
3331         Unreviewed localized strings update.
3332
3333         * Localizations/en.lproj/localizedStrings.js:
3334         Add missing string after r223735.
3335
3336 2017-10-19  Joseph Pecoraro  <pecoraro@apple.com>
3337
3338         Web Inspector: Network Tab: Metrics Detail View
3339         https://bugs.webkit.org/show_bug.cgi?id=178323
3340         <rdar://problem/34071929>
3341
3342         Reviewed by Devin Rousso.
3343
3344         Provide a Metrics detail view for resources in the Network tab.
3345         This detail view shows:
3346         
3347           - Transfer Size information (Header + Body bytes)
3348           - Resource Size information (Compression, MIME)
3349           - Timing information (ResourceTiming, Waterfall breakdown)
3350
3351         The display of timing information isn't quite final. But this
3352         is a good starting point for all the information.
3353
3354         * Localizations/en.lproj/localizedStrings.js:
3355         * UserInterface/Main.html:
3356         New resources and strings.
3357
3358         * UserInterface/Base/MIMETypeUtilities.js:
3359         (WI.shouldTreatMIMETypeAsText):
3360         Helper for detecting text resources.
3361
3362         * UserInterface/Images/Receiving.svg: Added.
3363         * UserInterface/Images/Sending.svg: Added.
3364         * UserInterface/Images/gtk/Receiving.svg: Added.
3365         * UserInterface/Images/gtk/Sending.svg: Added.
3366         Same images for main and linux ports with different licenses.
3367
3368         * UserInterface/Views/NetworkResourceDetailView.js:
3369         (WI.NetworkResourceDetailView):
3370         (WI.NetworkResourceDetailView.prototype.metricsContentViewGoToHeaders):
3371         (WI.NetworkResourceDetailView.prototype.metricsContentViewGoToRequestBody):
3372         (WI.NetworkResourceDetailView.prototype.metricsContentViewGoToResponseBody):
3373         (WI.NetworkResourceDetailView.prototype.initialLayout):
3374         (WI.NetworkResourceDetailView.prototype._showPreferredContentView):
3375         (WI.NetworkResourceDetailView.prototype._showContentViewForNavigationItem):
3376         Replace "Timing" and "Details" stubs with a single "Metrics" section.
3377         Handle delegate cases from the Metrics content view.
3378
3379         * UserInterface/Views/NetworkTableContentView.js:
3380         (WI.NetworkTableContentView.displayNameForResource):
3381         (WI.NetworkTableContentView.prototype._displayType): Deleted.
3382         (WI.NetworkTableContentView.prototype._entryForResource):
3383         Promote this to a static helper in case anyone else wants it.
3384
3385         (WI.NetworkTableContentView.prototype.closed):
3386         (WI.NetworkTableContentView.prototype.reset):
3387         (WI.NetworkTableContentView.prototype.networkResourceDetailViewClose):
3388         Reorder code a bit to reduce work since hiding the detail view currently
3389         forces a layout.
3390
3391         * UserInterface/Views/ResourceHeadersContentView.js:
3392         (WI.ResourceHeadersContentView):
3393         (WI.ResourceHeadersContentView.prototype._refreshRequestDataSection):
3394         (WI.ResourceHeadersContentView.prototype._resourceResponseReceived):
3395         (WI.ResourceHeadersContentView.prototype._goToRequestDataClicked): Deleted.
3396         Simplify by making the delegate required.
3397
3398         * UserInterface/Views/ResourceMetricsContentView.css: Added.
3399         (.resource-metrics):
3400         (.resource-metrics > .content):
3401         (.resource-metrics > .content .label):
3402         General metrics styles.
3403
3404         (.resource-metrics > .content > section):
3405         (.resource-metrics > .content > section .subtitle):
3406         (.resource-metrics > .content > section:not(:last-of-type)):
3407         (.resource-metrics > .content > section.split):
3408         (.resource-metrics > .content > section.split > .subsection):
3409         (.resource-metrics > .content > section.split > .subsection > table):
3410         (.resource-metrics > .content > section.split > .divider):
3411         (.resource-metrics > .content > section.network > .subsection > .container):
3412         (.resource-metrics > .content > section.network .bytes-group):
3413         (.resource-metrics > .content > section.network .bytes):
3414         (body[dir=ltr] .resource-metrics > .content > section.network table > tr > td.label):
3415         (body[dir=rtl] .resource-metrics > .content > section.network table > tr > td.label):
3416         (.resource-metrics > .content > section.network .suffix):
3417         (.resource-metrics > .content > section.network img):
3418         (.resource-metrics > .content > section.network .go-to-arrow):
3419         (.resource-metrics > .content > section.network .warning):
3420         Styles for Sizes sections.
3421
3422         (.resource-metrics > .content > section.timing):
3423         (.resource-metrics > .content > section.timing .subtitle):
3424         (.resource-metrics > .content > section.timing > ul):
3425         (.resource-metrics > .content > section.timing > ul > li):
3426         (.resource-metrics > .content > section.timing > .waterfall):
3427         (.resource-metrics > .content > section.timing > .waterfall .block):
3428         (.resource-metrics > .content > section.timing > ul > li > .row-label):
3429         (body[dir=ltr] .resource-metrics > .content > section.timing > ul > li > .row-label):
3430         (body[dir=rtl] .resource-metrics > .content > section.timing > ul > li > .row-label):
3431         (.resource-metrics > .content > section.timing > ul > li > .time-label):
3432         (.resource-metrics > .content > section.timing > ul > li.total .block):
3433         (.resource-metrics > .content > section.timing > ul > li.total .time-label):
3434         (.resource-metrics > .content > section.timing .indeterminate-progress-spinner):
3435         (.resource-metrics > .content > section.timing .empty):
3436         Styles for Timing section.
3437
3438         * UserInterface/Views/ResourceMetricsContentView.js: Added.
3439         (WI.ResourceMetricsContentView):
3440         (WI.ResourceMetricsContentView.prototype.initialLayout.createSizeComponents):
3441         (WI.ResourceMetricsContentView.prototype.initialLayout):
3442         (WI.ResourceMetricsContentView.prototype.layout):
3443         (WI.ResourceMetricsContentView.prototype.closed):
3444         (WI.ResourceMetricsContentView.prototype._sizeComponents):
3445         (WI.ResourceMetricsContentView.prototype._refreshTransferSizeSections.appendGoToArrow):
3446         (WI.ResourceMetricsContentView.prototype._refreshTransferSizeSections):
3447         (WI.ResourceMetricsContentView.prototype._refreshResourceSizeSection):
3448         (WI.ResourceMetricsContentView.prototype._refreshTimingSection.createBlock):
3449         (WI.ResourceMetricsContentView.prototype._refreshTimingSection.createTimeLabel):
3450         (WI.ResourceMetricsContentView.prototype._refreshTimingSection.createRow):
3451         (WI.ResourceMetricsContentView.prototype._refreshTimingSection):
3452         (WI.ResourceMetricsContentView.prototype._resourceSizeDidChange):
3453         (WI.ResourceMetricsContentView.prototype._resourceTransferSizeDidChange):
3454         (WI.ResourceMetricsContentView.prototype._resourceMetricsDidChange):
3455         (WI.ResourceMetricsContentView.prototype._resourceTimestampsDidChange):
3456         Metrics content. This just creates all of the elements, and saves a
3457         few to get populated with data later on.
3458
3459 2017-10-19  Joseph Pecoraro  <pecoraro@apple.com>
3460
3461         Web Inspector: Network Tab - Improve graphical representation of network waterfall
3462         https://bugs.webkit.org/show_bug.cgi?id=147897
3463         <rdar://problem/27482198>
3464
3465         Reviewed by Brian Burg.
3466
3467         * Localizations/en.lproj/localizedStrings.js:
3468         * UserInterface/Main.html:
3469         New strings and resources.
3470
3471         * UserInterface/Views/Variables.css:
3472         (:root):
3473         Global styles.
3474
3475         * UserInterface/Views/NetworkTableContentView.css:
3476         (.network-table .header .cell.waterfall):
3477         (.network-table .timeline-ruler):
3478         (.network-table .timeline-ruler > .header):
3479         Styles for having a TimelineRuler in the Waterfall's table header.
3480
3481         (.network-table :not(.header) .cell.waterfall):
3482         (.network-table :not(.header) .cell.waterfall .waterfall-container):
3483         (.waterfall .block):
3484         (.waterfall .block.request,):
3485         (.waterfall .block.mouse):
3486         (.waterfall .block.queue):
3487         (.waterfall .block.dns):
3488         (.waterfall .block.connect):
3489         (.waterfall .block.secure):
3490         (.waterfall .block.request):
3491         (.waterfall .block.response):
3492         Waterfall styles inside the Network Table.
3493
3494         * UserInterface/Views/NetworkTableContentView.js:
3495         (WI.NetworkTableContentView):
3496         (WI.NetworkTableContentView.prototype.reset):
3497         (WI.NetworkTableContentView.prototype.tablePopulateCell):
3498         (WI.NetworkTableContentView.prototype.initialLayout):
3499         (WI.NetworkTableContentView.prototype._updateWaterfallTimelineRuler):
3500         (WI.NetworkTableContentView.prototype._updateEntryForResource):
3501         (WI.NetworkTableContentView.prototype._resourceLoadingDidFinish):
3502         (WI.NetworkTableContentView.prototype._resourceLoadingDidFail):
3503         (WI.NetworkTableContentView.prototype._networkTimelineRecordAdded):
3504         (WI.NetworkTableContentView.prototype._tableWaterfallColumnDidChangeWidth):
3505         Update the TimelineRuler and Waterfall column when the column's
3506         size changes or the time bounds change. The time bounds right now
3507         are the earliest and latest time of resources. Later we hope to
3508         bound this by a timeline selection.
3509
3510         (WI.NetworkTableContentView.prototype._waterfallPopoverContentForResource):
3511         (WI.NetworkTableContentView.prototype._handleMousedownWaterfall):
3512         (WI.NetworkTableContentView.prototype._populateWaterfallGraph.appendBlock):
3513         (WI.NetworkTableContentView.prototype._populateWaterfallGraph):
3514         (WI.NetworkTableContentView.prototype._hidePopover):
3515         Create and manage a popover for the waterfall column.
3516
3517         * UserInterface/Views/Popover.js:
3518         (WI.Popover):
3519         (WI.Popover.prototype.get element):
3520         (WI.Popover.prototype.get visible):
3521         (WI.Popover.prototype.get backgroundStyle):
3522         (WI.Popover.prototype.set backgroundStyle):
3523         (WI.Popover.prototype._drawBackground):
3524         Provide an option to have a white background popover.
3525
3526         * UserInterface/Views/ResourceTimingBreakdownView.css: Added.
3527         (.resource-timing-breakdown):
3528         (.resource-timing-breakdown .waterfall):
3529         (.resource-timing-breakdown .waterfall .block):
3530         (.resource-timing-breakdown .waterfall .block.request):
3531         (body[dir=ltr] .resource-timing-breakdown .waterfall .block.queue,):
3532         (body[dir=ltr] .resource-timing-breakdown .waterfall .block.response):
3533         (body[dir=rtl] .resource-timing-breakdown .waterfall .block.queue,):
3534         (body[dir=rtl] .resource-timing-breakdown .waterfall .block.response):
3535         (.resource-timing-breakdown .numbers):
3536         (body[dir=ltr] .resource-timing-breakdown .numbers):
3537         (body[dir=rtl] .resource-timing-breakdown .numbers):
3538         Waterfall styles and sizes in the popover's breakdown view.
3539
3540         (.resource-timing-breakdown .numbers > p):
3541         (.resource-timing-breakdown .numbers > p > .swatch):
3542         (.resource-timing-breakdown .numbers .swatch.queue):
3543         (.resource-timing-breakdown .numbers .swatch.dns):
3544         (.resource-timing-breakdown .numbers .swatch.connect):
3545         (.resource-timing-breakdown .numbers .swatch.secure):
3546         (.resource-timing-breakdown .numbers .swatch.request):
3547         (.resource-timing-breakdown .numbers .swatch.response):
3548         (.resource-timing-breakdown .numbers > p > .label):
3549         (.resource-timing-breakdown .numbers > p.total):
3550         Number and label styles in the popover's breakdown view.
3551
3552         * UserInterface/Views/ResourceTimingBreakdownView.js: Added.
3553         (WI.ResourceTimingBreakdownView):
3554         (WI.ResourceTimingBreakdownView.prototype.initialLayout):
3555         (WI.ResourceTimingBreakdownView.prototype.initialLayout.appendBlock):
3556         (WI.ResourceTimingBreakdownView.prototype.initialLayout.appendRow):
3557         Show a section for a waterfall visualization and a section for the numbers.
3558
3559         * UserInterface/Views/Table.js:
3560         (WI.Table.prototype.reloadVisibleColumnCells):
3561         (WI.Table.prototype.cellForRowAndColumn):
3562         (WI.Table.prototype.addColumn):
3563         (WI.Table.prototype.showColumn):
3564         (WI.Table.prototype.hideColumn):
3565         (WI.Table.prototype.resizerDragging):
3566         (WI.Table.prototype.resizerDragEnded):
3567         (WI.Table.prototype._resizeColumnsAndFiller):
3568         (WI.Table.prototype._applyColumnWidths):
3569         (WI.Table.prototype._positionHeaderViews):
3570         * UserInterface/Views/TableColumn.js:
3571         (WI.TableColumn.prototype.get headerView):
3572         Provide a way to include a WI.View with a TableColumn Header. This
3573         matches what we do with DataGrid, and ends up being pretty concise.
3574
3575         * UserInterface/Views/TimelineRuler.css:
3576         (.timeline-ruler > .header):
3577         Make the height a variable so that other code can work off of it.
3578
3579 2017-10-19  Ross Kirsling  <ross.kirsling@sony.com>
3580
3581         Web Inspector: Remove superfluous file External/.eslintrc
3582         https://bugs.webkit.org/show_bug.cgi?id=178474
3583
3584         Reviewed by Joseph Pecoraro.
3585
3586         * UserInterface/External/.eslintrc: Removed.
3587
3588 2017-10-19  Adrian Perez de Castro  <aperez@igalia.com>
3589
3590         [GTK] Inspector UI does not use system font despite -webkit-system-font being supported
3591         https://bugs.webkit.org/show_bug.cgi?id=178388
3592
3593         Reviewed by Joseph Pecoraro.
3594
3595         Change ocurrences of the "-apple-system" generic font name to
3596         "-webkit-system-font", which is also implemented by the GTK+ port.
3597
3598         * UserInterface/Views/CodeMirrorOverrides.css:
3599         (.CodeMirror .CodeMirror-linenumber):
3600         (.CodeMirror .CodeMirror-placeholder):
3601         * UserInterface/Views/ConsoleMessageView.css:
3602         (.console-user-command.special-user-log > .console-message-text):
3603         (.console-message .console-message-extra-parameters-container > li::before):
3604         (.console-message .console-message-location):
3605         * UserInterface/Views/DataGrid.css:
3606         (.data-grid td):
3607         * UserInterface/Views/DefaultDashboardView.css:
3608         (.toolbar .dashboard.default > .item):
3609         * UserInterface/Views/HeapSnapshotInstancesContentView.css:
3610         (.heap-snapshot-instance-popover-content > .title):
3611         * UserInterface/Views/HierarchicalPathComponent.css:
3612         (.hierarchical-path-component):
3613         * UserInterface/Views/LogContentView.css:
3614         (.console-messages):
3615         * UserInterface/Views/Main.css:
3616         (body):
3617         * UserInterface/Views/ObjectTreeArrayIndexTreeElement.css:
3618         (.object-tree-array-index .index-name):
3619         * UserInterface/Views/ObjectTreePropertyTreeElement.css:
3620         (.object-tree-property .property-name,):
3621         * UserInterface/Views/ObjectTreeView.css:
3622         (.tree-outline.object li .empty-message):
3623         * UserInterface/Views/RecordingActionTreeElement.css:
3624         (.item.action:not(.initial-state)::before):
3625         * UserInterface/Views/SourceCodeTextEditor.css:
3626         (.source-code.text-editor > .CodeMirror .line-indicator-widget > .text):
3627         (.popover .debugger-popover-content > .title):
3628         * UserInterface/Views/TypeTreeView.css:
3629         (.type-tree):
3630         * UserInterface/Views/VisualStyleFontFamilyTreeElement.js:
3631
3632 2017-10-18  Ross Kirsling  <ross.kirsling@sony.com>
3633
3634         Web Inspector: Layers sidebar footer should not have white background with full-width quick console
3635         https://bugs.webkit.org/show_bug.cgi?id=178493
3636
3637         Reviewed by Matt Baker.
3638
3639         * UserInterface/Views/LayerDetailsSidebarPanel.css:
3640         Update CSS for new sidebar.
3641
3642         * UserInterface/Views/LayerTreeDetailsSidebarPanel.css:
3643         Update CSS for legacy sidebar.
3644
3645 2017-10-18  Fujii Hironori  <Hironori.Fujii@sony.com>
3646
3647         [GTK] Web Inspector: Add Layers.svg
3648         https://bugs.webkit.org/show_bug.cgi?id=178430
3649
3650         Reviewed by Michael Catanzaro.
3651
3652         * UserInterface/Images/gtk/Layers.svg: Added.
3653
3654 2017-10-18  Commit Queue  <commit-queue@webkit.org>
3655
3656         Unreviewed, rolling out r223321.
3657         https://bugs.webkit.org/show_bug.cgi?id=178476
3658
3659         This protocol change broke some internal builds (Requested by
3660         brrian__ on #webkit).
3661
3662         Reverted changeset:
3663
3664         "Web Inspector: provide a way to enable/disable event
3665         listeners"
3666         https://bugs.webkit.org/show_bug.cgi?id=177451
3667         https://trac.webkit.org/changeset/223321
3668
3669 2017-10-17  Nikita Vasilyev  <nvasilyev@apple.com>
3670
3671         Web Inspector: [PARITY] Styles Redesign: Add color picker inline widget
3672         https://bugs.webkit.org/show_bug.cgi?id=178354
3673
3674         Reviewed by Joseph Pecoraro.
3675
3676         Show color picker using the existing WI.InlineSwatch.
3677
3678         * UserInterface/Models/Color.js:
3679         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
3680         (.spreadsheet-style-declaration-editor .property:not(.disabled) .token-comment):
3681         Syntax highlight comments in values.
3682
3683         * UserInterface/Views/SpreadsheetStyleProperty.js:
3684         (WI.SpreadsheetStyleProperty.prototype._renderValue):
3685         (WI.SpreadsheetStyleProperty.prototype._addColorTokens):
3686         Find colors in CodeMirror tokens and replace them with color token elements.
3687
3688 2017-10-17  Nikita Vasilyev  <nvasilyev@apple.com>
3689
3690         Web Inspector: Styles: Command-click on a property name should jump to definition in Resources tab
3691         https://bugs.webkit.org/show_bug.cgi?id=174329
3692         <rdar://problem/33225564>
3693
3694         Reviewed by Joseph Pecoraro.
3695
3696         * UserInterface/Base/Main.js:
3697         Add "meta-key-pressed" class to <body> when Command key is pressed.
3698
3699         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
3700         (.meta-key-pressed .spreadsheet-css-declaration:not(.locked) :matches(.name, .value):not(.editing):hover):
3701         Use the same styles as in CodeMirrorTokenTrackingController.css.
3702
3703         * UserInterface/Views/SpreadsheetStyleProperty.js:
3704         (WI.SpreadsheetStyleProperty.prototype._update):
3705         (WI.SpreadsheetStyleProperty.prototype._setupJumpToSymbol):
3706         This is very similar to WI.CSSStyleDeclarationTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked,
3707         except it doesn't include special cases for CSS variables and links yet.
3708
3709 2017-10-16  Nikita Vasilyev  <nvasilyev@apple.com>
3710
3711         Web Inspector: Styles Redesign: apply syntax highlighting to property values
3712         https://bugs.webkit.org/show_bug.cgi?id=178176
3713
3714         Reviewed by Matt Baker.
3715
3716         - Highlight links blue and CSS strings dark red.
3717         - Truncate URLs and strings over 150 characters.
3718
3719         * UserInterface/Views/CodeMirrorAdditions.js:
3720         Parse CSS values using CodeMirror.
3721
3722         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
3723         (.spreadsheet-style-declaration-editor .property:not(.disabled) .token-link):
3724         (.spreadsheet-style-declaration-editor .property:not(.disabled) .token-string):
3725
3726         * UserInterface/Views/SpreadsheetStyleProperty.js:
3727         (WI.SpreadsheetStyleProperty.prototype._update):
3728         (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldWillStartEditing):
3729         Replace trancated values with their full version.
3730
3731         (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidCommit):
3732         (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidBlur):
3733         (WI.SpreadsheetStyleProperty.prototype._renderValue):
3734         Highlight links and CSS strings in values when not editing.
3735
3736         * UserInterface/Views/SpreadsheetTextField.js:
3737         (WI.SpreadsheetTextField.prototype.startEditing):
3738         Disabling of syntax highlighting moved to spreadsheetTextFieldWillStartEditing.
3739
3740         * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
3741         (.syntax-highlighted a):
3742         * UserInterface/Views/Variables.css:
3743         (:root):
3744         Make link color a variable.
3745
3746 2017-10-16  Ross Kirsling  <ross.kirsling@sony.com>
3747
3748         Web Inspector: Layers tab mistakenly throws out the root element's layer.
3749         https://bugs.webkit.org/show_bug.cgi?id=178222
3750
3751         Reviewed by Brian Burg.
3752
3753         * UserInterface/Controllers/LayerTreeManager.js:
3754         (WI.LayerTreeManager.prototype.layersForNode):
3755         Fix the issue at the manager level.
3756
3757         * UserInterface/Views/Layers3DContentView.js:
3758         (WI.Layers3DContentView.prototype.layout):
3759         Update new sidebar based on simplified manager API.
3760
3761         * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
3762         (WI.LayerTreeDetailsSidebarPanel.prototype.layout):
3763         Move overtailored code from manager to legacy sidebar.
3764
3765 2017-10-15  Nikita Vasilyev  <nvasilyev@apple.com>
3766
3767         Web Inspector: Modify CSS number values with up key and down key
3768         https://bugs.webkit.org/show_bug.cgi?id=170779
3769         <rdar://problem/33170633>
3770
3771         Reviewed by Matt Baker.
3772
3773         Up key increments a number, Down key decrements it.
3774
3775         Holding modifier keys changes the step value:
3776         - Option modifies the value by 0.1
3777         - Shift modifies the value by 10
3778         - Command modifies the value by 100
3779
3780         * UserInterface/Test.html:
3781         * UserInterface/Views/EditingSupport.js:
3782         (WI.incrementElementValue):
3783         Abstract away incrementElementValue into a public method.
3784
3785         * UserInterface/Views/SpreadsheetTextField.js:
3786         (WI.SpreadsheetTextField.prototype._handleKeyDown):
3787
3788 2017-10-15  Devin Rousso  <webkit@devinrousso.com>
3789
3790         Web Inspector: show warning when recorded Canvas action caused no visual change
3791         https://bugs.webkit.org/show_bug.cgi?id=175282
3792
3793         Reviewed by Joseph Pecoraro.
3794
3795         * Localizations/en.lproj/localizedStrings.js:
3796
3797         * UserInterface/Models/RecordingAction.js:
3798         (WI.RecordingAction):
3799         (WI.RecordingAction.prototype.get valid):
3800         (WI.RecordingAction.prototype.get hasVisibleEffect):
3801         (WI.RecordingAction.prototype.markInvalid):
3802         (WI.RecordingAction.prototype.apply):
3803         (WI.RecordingAction.prototype.async._swizzle):
3804         If the selected action is visual, save a copy of the preview canvas' dataURL before
3805         applying the action and compare it to its dataURL after. If there is no difference, the
3806         action had no visual effect.
3807
3808         * UserInterface/Models/Recording.js:
3809         (WI.Recording):
3810
3811         * UserInterface/Views/RecordingActionTreeElement.js:
3812         (WI.RecordingActionTreeElement):
3813         (WI.RecordingActionTreeElement.prototype._handleValidityChanged):
3814         (WI.RecordingActionTreeElement.prototype._handleHasVisibleEffectChanged):
3815         * UserInterface/Views/RecordingActionTreeElement.css:
3816         (.item.action.visual.no-visible-effect:not(.invalid) > .status > .warning):
3817
3818         * UserInterface/Views/RecordingContentView.js:
3819         (WI.RecordingContentView):
3820         (WI.RecordingContentView.prototype.async._generateContentCanvas2D):
3821         (WI.RecordingContentView.prototype._applyAction): Deleted.
3822
3823 2017-10-15  Nikita Vasilyev  <nvasilyev@apple.com>
3824
3825         Web Inspector: [PARITY] Styles Redesign: clicking on the go-to arrow in Computed tab should work
3826         https://bugs.webkit.org/show_bug.cgi?id=178286
3827         <rdar://problem/34986379>
3828
3829         Reviewed by Joseph Pecoraro.
3830
3831         Highlight the matching property using a yellow background and focus on the property value
3832         if the property is editable (e.g., not a User Agent style).
3833
3834         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
3835         (.spreadsheet-style-declaration-editor):
3836         (.spreadsheet-style-declaration-editor .property):
3837         Move left padding to the property element so there's no awkward gap on the left side
3838         when the property is highlighted.
3839
3840         (.spreadsheet-style-declaration-editor .property.highlighted):
3841         (@keyframes style-property-highlight):
3842         Use the same animation duration as we used in `.text-editor > .CodeMirror .highlighted`.
3843         The highlight color was changed from light blue to yellow.
3844
3845         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
3846         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.highlightProperty):
3847         Use the same logic as in WI.CSSStyleDeclarationTextEditor.prototype.highlightProperty
3848         to find matching style property to highlight.
3849
3850         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
3851         (WI.SpreadsheetCSSStyleDeclarationSection.prototype.highlightProperty):
3852         Use the same logic as in WI.CSSStyleDeclarationSection.prototype.highlightProperty.
3853
3854         * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
3855         (WI.SpreadsheetRulesStyleDetailsPanel.prototype.scrollToSectionAndHighlightProperty):
3856         (WI.SpreadsheetRulesStyleDetailsPanel.prototype.nodeStylesRefreshed):
3857         Copied from WI.RulesStyleDetailsPanel.
3858
3859