Web Inspector: Dark Mode: Console filter field buttons should be darker
[WebKit-https.git] / Source / WebInspectorUI / ChangeLog
1 2018-07-16  Nikita Vasilyev  <nvasilyev@apple.com>
2
3         Web Inspector: Dark Mode: Console filter field buttons should be darker
4         https://bugs.webkit.org/show_bug.cgi?id=187626
5         <rdar://problem/42142744>
6
7         Reviewed by Brian Burg.
8
9         * UserInterface/Views/FindBanner.css:
10         (@media (prefers-dark-interface)):
11         (.find-banner > button.segmented):
12         (.find-banner > button.segmented > .glyph):
13
14 2018-07-16  Nikita Vasilyev  <nvasilyev@apple.com>
15
16         Web Inspector: Dark Mode: selected item background color is too light
17         https://bugs.webkit.org/show_bug.cgi?id=187691
18         <rdar://problem/42225308>
19
20         Reviewed by Brian Burg.
21
22         * UserInterface/Views/DarkMode.css:
23         (@media (prefers-dark-interface)):
24         (:root):
25         (.tree-outline.dom li.elements-drag-over .selection-area):
26         (.tree-outline.dom:focus li.selected .selection-area):
27
28 2018-07-14  Kocsen Chung  <kocsen_chung@apple.com>
29
30         Ensure WebKit stack is ad-hoc signed
31         https://bugs.webkit.org/show_bug.cgi?id=187667
32
33         Reviewed by Alexey Proskuryakov.
34
35         * Configurations/Base.xcconfig:
36
37 2018-07-13  Matt Baker  <mattbaker@apple.com>
38
39         Web Inspector: REGRESSION (r195723): Improve support for resources with '\r' and '\r\n' line endings
40         https://bugs.webkit.org/show_bug.cgi?id=186453
41         <rdar://problem/39689180>
42
43         Reviewed by Joseph Pecoraro.
44
45         Now that the frontend no longer uses offsets from the original source
46         file to calculate positions within CodeMirror, it is possible to support
47         resources with '\r' and '\r\n' line endings in the editor.
48
49         * UserInterface/Views/CodeMirrorEditor.js:
50         (WI.CodeMirrorEditor.create):
51         (WI.CodeMirrorEditor):
52
53 2018-07-13  Matt Baker  <mattbaker@apple.com>
54
55         Web Inspector: Basic blocks highlighting should use line/column locations instead of offsets
56         https://bugs.webkit.org/show_bug.cgi?id=187613
57         <rdar://problem/42131808>
58
59         Reviewed by Joseph Pecoraro.
60
61         * UserInterface/Controllers/BasicBlockAnnotator.js:
62         Basic blocks sent from the backend include offsets into the original
63         file, rather than line/column locations. In order to translate to positions
64         within CodeMirror, we need to calculate the original line and column
65         for each block.
66
67         (WI.BasicBlockAnnotator.prototype.insertAnnotations):
68         (WI.BasicBlockAnnotator.prototype._calculateBasicBlockPositions.offsetToPosition):
69         (WI.BasicBlockAnnotator.prototype._calculateBasicBlockPositions):
70         (WI.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges.):
71         (WI.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges):
72         (WI.BasicBlockAnnotator.prototype._highlightTextForBasicBlock):
73
74         * UserInterface/Models/SourceCodePosition.js:
75         (WI.SourceCodePosition.prototype.offsetColumn):
76
77         * UserInterface/Views/TextEditor.js:
78         (WI.TextEditor.prototype.getTextInRange):
79         (WI.TextEditor.prototype.addStyleToTextRange):
80         Better encapsulation for CodeMirror positions.
81
82         * UserInterface/Workers/Formatter/FormatterUtilities.js:
83         (get if):
84         Update String.prototype.lineEndings to support additional line separators.
85
86 2018-07-13  Matt Baker  <mattbaker@apple.com>
87
88         Web Inspector: Execution highlighting in the frontend should be line/column-based
89         https://bugs.webkit.org/show_bug.cgi?id=187532
90         <rdar://problem/42035580>
91
92         Reviewed by Joseph Pecoraro.
93
94         Source code offsets from Esprima should not be used to calculate ranges
95         in CodeMirror for expression highlighting.
96
97         This also fixes a long standing bug when adjusting for the starting
98         position of an inline script. Previously the start offset from the script
99         TextRange was used for this purpose, but the value is often incorrect (see
100         https://bugs.webkit.org/show_bug.cgi?id=187532#c5). By using the starting
101         line/column instead, we avoid the problem.
102
103         * UserInterface/Models/ScriptSyntaxTree.js:
104         (WI.ScriptSyntaxTree.prototype.containersOfPosition):
105         (WI.ScriptSyntaxTree.prototype.containersOfOffset): Deleted.
106
107         * UserInterface/Models/SourceCodePosition.js:
108         (WI.SourceCodePosition.prototype.offsetColumn):
109
110         * UserInterface/Views/SourceCodeTextEditor.js:
111         (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange.toInlineScriptPosition):
112         (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange.fromInlineScriptPosition):
113         (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange):
114         (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange.convertRangeOffsetsToSourceCodeOffsets): Deleted.
115
116         * UserInterface/Views/TextEditor.js:
117         (WI.TextEditor.prototype._updateExecutionRangeHighlight):
118
119 2018-07-13  Matt Baker  <mattbaker@apple.com>
120
121         Web Inspector: SourceCodePosition.js missing from Test.html
122         https://bugs.webkit.org/show_bug.cgi?id=187644
123
124         Reviewed by Brian Burg.
125
126         * UserInterface/Test.html:
127
128 2018-07-12  Matt Baker  <mattbaker@apple.com>
129
130         Web Inspector: Type token positioning should use line/column locations from Esprima instead of offsets
131         https://bugs.webkit.org/show_bug.cgi?id=187612
132         <rdar://problem/42131910>
133
134         Reviewed by Joseph Pecoraro.
135
136         * UserInterface/Controllers/TypeTokenAnnotator.js:
137         (WI.TypeTokenAnnotator.prototype.insertAnnotations):
138         (WI.TypeTokenAnnotator.prototype._insertTypeToken):
139         (WI.TypeTokenAnnotator.prototype._insertToken):
140         Use line/column locations, instead of offsets, from the AST when calculating
141         token positions for CodeMirror. Once in CodeMirror's string space, we
142         can safely convert to/from offsets.
143
144         * UserInterface/Models/ScriptSyntaxTree.js:
145         Retrieve line/column locations for AST nodes, in addition to offsets.
146         Offsets into the original file are still needed for getting type information
147         from the profiler in the backend.
148
149         (WI.ScriptSyntaxTree):
150         (WI.ScriptSyntaxTree.prototype.filterByRange):
151         Filter by positions, which can be safely used from CodeMirror, instead of offsets.
152
153         (WI.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
154         (WI.ScriptSyntaxTree.prototype.filterByRange.filterForNodesInRange): Deleted.
155
156         * UserInterface/Models/SourceCodePosition.js:
157         Add convenience methods for comparing line/column positions, and for
158         converting to the format expected by CodeMirror. SourceCodePosition could
159         be made to interoperate with CodeMirror by exposing properties `line`
160         and `ch`, but making the conversion explicit improves code readability.
161
162         (WI.SourceCodePosition.prototype.equals):
163         (WI.SourceCodePosition.prototype.isBefore):
164         (WI.SourceCodePosition.prototype.isAfter):
165         (WI.SourceCodePosition.prototype.isWithin):
166         (WI.SourceCodePosition.prototype.toCodeMirror):
167         (WI.SourceCodePosition):
168
169         * UserInterface/Views/TextEditor.js:
170         (WI.TextEditor.prototype.visibleRangePositions):
171         (WI.TextEditor.prototype.originalPositionToCurrentPosition):
172         (WI.TextEditor.prototype.currentOffsetToCurrentPosition):
173         (WI.TextEditor.prototype.currentPositionToCurrentOffset):
174         (WI.TextEditor.prototype.setInlineWidget):
175
176 2018-07-10  Fujii Hironori  <Hironori.Fujii@sony.com>
177
178         REGRESSION(r229932) Use of uninitialized value in subroutine entry at copy-user-interface-resources.pl
179         https://bugs.webkit.org/show_bug.cgi?id=187511
180
181         Reviewed by Brian Burg.
182
183         copy-user-interface-resources.pl output warning messages unless
184         BUILT_PRODUCTS_DIR and BUILT_PRODUCTS_DIR env vars are defined.
185
186         * Scripts/copy-user-interface-resources.pl:
187         (webInspectorUIAdditionsDir): Added. Return UNDEF if
188         BUILT_PRODUCTS_DIR and SDKROOT env vars aren't defined.
189         (combineOrStripResourcesForWebKitAdditions): Check
190         $webInspectorUIAdditionsDir is defined.
191
192 2018-07-10  Ross Kirsling  <rkirsling@gmail.com>
193
194         Web Inspector: Layers inspector should allow control-dragging to pan the 3D render
195         https://bugs.webkit.org/show_bug.cgi?id=185109
196
197         Reviewed by Matt Baker.
198
199         Addressed in the three.js repo itself (https://github.com/mrdoob/three.js/pull/13972),
200         so this patch simply updates three.js and its OrbitControls module.
201
202         * UserInterface/External/three.js/LICENSE:
203         * UserInterface/External/three.js/three.js:
204         Update to r94.
205
206         * UserInterface/External/three.js/OrbitControls.js:
207         Update to latest.
208
209         * UserInterface/Views/Layers3DContentView.js:
210         (WI.Layers3DContentView.prototype.initialLayout):
211         (WI.Layers3DContentView.prototype._restrictPan):
212         Adapt to recent changes in three.js.
213
214 2018-07-10  Matt Baker  <mattbaker@apple.com>
215
216         Web Inspector: Remove unused NavigationSidebarPanel.treeElementAddedOrChanged
217         https://bugs.webkit.org/show_bug.cgi?id=187508
218
219         Reviewed by Joseph Pecoraro.
220
221         * UserInterface/Views/NavigationSidebarPanel.js:
222         (WI.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
223         (WI.NavigationSidebarPanel.prototype.treeElementAddedOrChanged): Deleted.
224
225 2018-07-10  Matt Baker  <mattbaker@apple.com>
226
227         Web Inspector: REGRESSION (r217505): Debugger content view doesn't update when left sidebar is collapsed
228         https://bugs.webkit.org/show_bug.cgi?id=187482
229         <rdar://problem/41989190>
230
231         Reviewed by Brian Burg.
232
233         Subclasses of NavigationSidebarPanel must process tree selection changes
234         even when collapsed. Sidebar panels perform critical controller tasks
235         for their tabs, such as updating the view when pausing in the debugger,
236         and when the hierarchical path component selection changes.
237
238         * UserInterface/Views/DebuggerSidebarPanel.js:
239         (WI.DebuggerSidebarPanel.prototype._treeSelectionDidChange):
240         * UserInterface/Views/ResourceSidebarPanel.js:
241         (WI.ResourceSidebarPanel.prototype._treeSelectionDidChange):
242         * UserInterface/Views/SearchSidebarPanel.js:
243         (WI.SearchSidebarPanel.prototype._treeSelectionDidChange):
244         * UserInterface/Views/SourcesSidebarPanel.js:
245         (WI.SourcesSidebarPanel.prototype._treeSelectionDidChange):
246         * UserInterface/Views/StorageSidebarPanel.js:
247         (WI.StorageSidebarPanel._treeSelectionDidChange):
248
249 2018-07-09  Brian Burg  <bburg@apple.com>
250
251         REGRESSION: Web Inspector no longer pauses in internal injected scripts like WDFindNodes.js
252         https://bugs.webkit.org/show_bug.cgi?id=187350
253         <rdar://problem/41728249>
254
255         Reviewed by Matt Baker.
256
257         * UserInterface/Base/Setting.js: Add a new setting to allow pausing in internal scripts.
258         * UserInterface/Controllers/DebuggerManager.js: Listen to the setting change and toggle
259         the backend setting accordingly. The default is to not break into internal scripts.
260
261         * UserInterface/Views/SettingsTabContentView.js:
262         (WI.SettingsTabContentView.prototype._createDebugSettingsView):
263         Expose the new setting in the Debug settings panel.
264
265 2018-07-06  Nikita Vasilyev  <nvasilyev@apple.com>
266
267         Web Inspector: Dark Mode: resource search field has white text on white background
268         https://bugs.webkit.org/show_bug.cgi?id=187423
269
270         Reviewed by Timothy Hatcher.
271
272         Match the colors of sidebar filter fields.
273
274         * UserInterface/Views/DarkMode.css:
275         (@media (prefers-dark-interface)):
276         (.find-banner > input[type="search"]):
277
278 2018-07-04  Tim Horton  <timothy_horton@apple.com>
279
280         Introduce PLATFORM(IOSMAC)
281         https://bugs.webkit.org/show_bug.cgi?id=187315
282
283         Reviewed by Dan Bernstein.
284
285         * Configurations/Base.xcconfig:
286
287 2018-06-28  Matt Baker  <mattbaker@apple.com>
288
289         Web Inspector: REGRESSION (r213000): copy from Search results content view broken
290         https://bugs.webkit.org/show_bug.cgi?id=187020
291         <rdar://problem/40928766>
292
293         Reviewed by Timothy Hatcher.
294
295         Since WI._copy listens for a copy event from the document, it is called
296         after CodeMirror handles the event and sets clipboard data. If WI._copy
297         finds a custom copy handler to call, that handler can determine whether
298         to overwrite the current clipboard data, or leave it alone.
299
300         SearchTabContentView's handleCopyEvent method should return early if the
301         content tree outline doesn't have the focus. This prevents the selection
302         in the TextEditor from being overwritten, without any special knowledge of
303         the content browser's current view.
304
305         * UserInterface/Views/SearchTabContentView.js:
306         (WI.SearchTabContentView.prototype.handleCopyEvent):
307
308 2018-06-25  Nikita Vasilyev  <nvasilyev@apple.com>
309
310         Web Inspector: Dark Mode: Box Model section should have dark background
311         https://bugs.webkit.org/show_bug.cgi?id=186976
312
313         Reviewed by Brian Burg.
314
315         Replace all instances of black text on white background with the default text and background colors.
316
317         * UserInterface/Views/BoxModelDetailsSectionRow.css:
318         (@media (prefers-dark-interface)):
319         (.details-section .row.box-model):
320         (.details-section .row.box-model .label):
321         (.details-section .row.box-model :matches(.position, .margin, .border, .padding, .content)):
322         (.details-section .row.box-model:not(.hovered) :matches(.margin, .border, .padding, .content),):
323         (.details-section .row.box-model .margin):
324         (.details-section .row.box-model .border):
325
326 2018-06-25  Nikita Vasilyev  <nvasilyev@apple.com>
327
328         Web Inspector: Dark Mode: color outline is too dark
329         https://bugs.webkit.org/show_bug.cgi?id=186975
330
331         Reviewed by Brian Burg.
332
333         Make the outline lighter than the background.
334
335         * UserInterface/Views/DarkMode.css:
336         (@media (prefers-dark-interface)):
337         (.hover-menu > svg > :matches(path, rect)):
338
339 2018-06-25  Nikita Vasilyev  <nvasilyev@apple.com>
340
341         Web Inspector: Dark Mode: Media query names are unreadable
342         https://bugs.webkit.org/show_bug.cgi?id=186974
343
344         Reviewed by Brian Burg.
345
346         Change media query names from dark blue to light blue.
347
348         * UserInterface/Views/DarkMode.css:
349         (@media (prefers-dark-interface)):
350         (.CodeMirror .CodeMirror-lines .CodeMirror-matchingbracket):
351         (.cm-s-default .cm-attribute):
352
353 2018-06-25  Nikita Vasilyev  <nvasilyev@apple.com>
354
355         Web Inspector: Dark Mode: Network headers colors are too dim
356         https://bugs.webkit.org/show_bug.cgi?id=186985
357
358         Reviewed by Brian Burg.
359
360         Increasing the luminance of network header colors by increasing lightness and brightness.
361
362         * UserInterface/Views/DarkMode.css:
363         (@media (prefers-dark-interface)):
364         (:root):
365
366 2018-06-25  Nikita Vasilyev  <nvasilyev@apple.com>
367
368         Web Inspector: Dark Mode: Font guideline colors are too bright
369         https://bugs.webkit.org/show_bug.cgi?id=186986
370
371         Reviewed by Brian Burg.
372
373         Make the guidelines less distractive from the font glyphs.
374
375         * UserInterface/Views/DarkMode.css:
376         (@media (prefers-dark-interface)):
377         (.content-view.resource.font .preview > .line):
378         (.content-view.resource.font .metric.top):
379         (.content-view.resource.font .metric.baseline):
380         (.content-view.resource.font .metric.middle):
381         (.content-view.resource.font .metric.xheight):
382         (.content-view.resource.font .metric.bottom):
383
384 2018-06-20  Daniel Bates  <dabates@apple.com>
385
386         Web Inspector: All non-Same-Site cookies are marked as Same-Site Strict in Storage tab
387         https://bugs.webkit.org/show_bug.cgi?id=186867
388         <rdar://problem/41175424>
389
390         Reviewed by Matt Baker.
391
392         Fixes an issue where cookies that do not have a Same-Site policy would be marked up as Same-
393         Site Strict in Web Inspector's cookie storage content view (under the storage tab).
394
395         * UserInterface/Views/CookieStorageContentView.js:
396         (WI.CookieStorageContentView.prototype._rebuildTable): Only compute the display name if
397         we cookie.sameSite is non-null and is not WI.Cookie.SameSiteType.None. Moreover, remove
398         an extraneous call to WI.Cookie.parseSameSiteAttributeValue() as cookie.SameSite represents
399         the already parsed value (one of the WI.Cookie.SameSiteType-scoped values).
400
401 2018-06-18  Brian Burg  <bburg@apple.com>
402
403         Web Inspector: TypeError: Array.prototype.sort passed bad value in NetworkTableContentView _updateSortAndFilteredEntries
404         https://bugs.webkit.org/show_bug.cgi?id=186787
405         <rdar://problem/41175680>
406
407         Reviewed by Timothy Hatcher.
408
409         * UserInterface/Views/NetworkTableContentView.js:
410         (WI.NetworkTableContentView.prototype._updateSortAndFilteredEntries):
411
412 2018-06-13  Nikita Vasilyev  <nvasilyev@apple.com>
413
414         Web Inspector: open source Dark Mode
415         https://bugs.webkit.org/show_bug.cgi?id=186606
416
417         Reviewed by Timothy Hatcher.
418
419         The dark mode is currently only available on macOS Mojave via prefers-dark-interface CSS media query.
420
421         * UserInterface/Main.html:
422         * UserInterface/Views/DarkMode.css: Added.
423         (@media (prefers-dark-interface)):
424         (:root):
425         (body.window-inactive):
426         (body.window-inactive *):
427         (#main):
428         (.tree-outline.dom li.selected .selection-area):
429         (.tab-bar > .item > .icon):
430         (.go-to-arrow):
431         (.resource-link,):
432         (.expand-list-button):
433         (:matches(img, canvas).show-grid):
434         (.formatted-object,):
435         (.formatted-null,):
436         (.editing):
437         (.editing, .editing *):
438         (.text-editor > .CodeMirror .execution-line):
439         (.text-editor > .CodeMirror .execution-range-highlight:not(.CodeMirror-selectedtext),):
440         (.details-section > .header):
441         (.details-section > .header > label):
442         (.details-section .details-section,):
443         (.details-section .details-section:not(.collapsed) > .header):
444         (.details-section > .content > .group > .row.simple > .label):
445         (.details-section > .content > .group:nth-child(even)):
446         (.details-section > .content > .group > .row:matches(.empty, .text)):
447         (.data-grid th):
448         (.data-grid td .subtitle):
449         (.data-grid:matches(:focus, .force-focus) tr.selected td .subtitle):
450         (body:not(.window-inactive, .window-docked-inactive) .data-grid:matches(:focus, .force-focus) tr.editable.selected .cell-content > input):
451         (.data-grid tr.editable .cell-content > input):
452         (.data-grid td.spanning):
453         (.object-tree,):
454         (.object-preview .name):
455         (.object-preview > .size):
456         (.tab-bar):
457         (.tab-bar > .item):
458         (.tab-bar > .item > .title):
459         (.tab-bar > .item:not(.disabled).selected):
460         (.tab-bar:not(.animating) > .item:not(.selected):hover):
461         (.tab-bar > .item > .close):
462         (body.window-inactive .tab-bar):
463         (body.window-inactive .tab-bar > .item):
464         (body.window-inactive .tab-bar > .item.selected):
465         (body.window-inactive .tab-bar > .item > .title):
466         (body .toolbar):
467         (body.window-inactive .toolbar):
468         (body.latest-mac .toolbar .item.button,):
469         (body.latest-mac .toolbar .search-bar > input[type="search"]):
470         (body.latest-mac .toolbar .search-bar > input[type="search"]:focus):
471         (body.latest-mac .toolbar .search-bar > input[type="search"]::placeholder):
472         (body.latest-mac.window-inactive .toolbar .search-bar > input[type="search"]::placeholder):
473         (body.latest-mac.window-inactive .toolbar .search-bar > input[type="search"]::-webkit-search-results-button):
474         (body.latest-mac .toolbar .dashboard-container):
475         (body.latest-mac .toolbar .item.button:active):
476         (body.latest-mac.window-inactive .toolbar .item.button,):
477         (.navigation-bar .item.divider):
478         (.toolbar .item.button):
479         (.toolbar .item.button:not(.disabled):active):
480         (.toolbar .item.button:not(.disabled):matches(:focus, .activate.activated)):
481         (.toolbar .item.button:not(.disabled):active:matches(:focus, .activate.activated)):
482         (.toolbar .dashboard.default > .item > div):
483         (.toolbar .dashboard.default > .item.enabled > div):
484         (.toolbar .dashboard.default > .item.enabled:hover):
485         (.toolbar .dashboard.default > .item.enabled:hover > div):
486         (.toolbar .dashboard.default > .resourcesCount > img,):
487         (body.latest-mac .toolbar .dashboard .item.button):
488         (.dashboard-container .advance-arrow):
489         (.toolbar .dashboard.debugger):
490         (.dashboard.debugger .navigation-bar .item.button > .glyph):
491         (.dashboard.debugger > .location .function-name):
492         (.dashboard.debugger > .location .go-to-link):
493         (.dashboard.debugger > .divider):
494         (.popover .edit-breakpoint-popover-content > label.toggle):
495         (.popover .edit-breakpoint-popover-content > table > tr > th):
496         (.breakpoint-action-block-body):
497         (.breakpoint-action-block-body > .description):
498         (.breakpoint-action-append-button,):
499         (.popover .xhr-breakpoint-content > .editor-wrapper > .editor):
500         (.navigation-bar .item.button):
501         (.spreadsheet-style-declaration-editor .property:not(.disabled) .value):
502         (.spreadsheet-css-declaration):
503         (.spreadsheet-css-declaration .selector:focus,):
504         (.spreadsheet-css-declaration.locked .origin::after):
505         (.spreadsheet-css-declaration .origin .go-to-link,):
506         (.spreadsheet-style-declaration-editor :matches(.name, .value).editing):
507         (.spreadsheet-style-declaration-editor .property.has-warning):
508         (.spreadsheet-style-declaration-editor .property.has-warning .warning):
509         (.spreadsheet-css-declaration .media-label):
510         (.quick-console):
511         (.syntax-highlighted,):
512         (.cm-s-default,):
513         (.CodeMirror .jump-to-symbol-highlight,):
514         (.console-prompt):
515         (.completion-suggestions):
516         (.completion-suggestions-container > .item):
517         (.CodeMirror-cursor):
518         (.CodeMirror .CodeMirror-gutters):
519         (.cm-s-default .cm-link):
520         (.cm-s-default .cm-m-xml.cm-attribute,):
521         (.cm-s-default .cm-meta):
522         (.cm-s-default .cm-variable-3):
523         (.cm-s-default .cm-builtin):
524         (.tree-outline .item .subtitle):
525         (.object-tree-property .getter,):
526         (.item.object-tree-property.prototype-property):
527         (.object-tree-property.prototype-property:hover,):
528         (.object-tree-property .value.error):
529         (.tree-outline.dom):
530         (.tree-outline.dom li.selected + ol.children.expanded):
531         (.tree-outline.dom .shadow):
532         (.tree-outline.dom li.parent.shadow + ol.children.expanded,):
533         (.showing-find-banner .tree-outline.dom .search-highlight):
534         (.sidebar > .panel.dom-node-details .details-section.dom-node-event-listeners > .header > .filter:hover):
535         (.sidebar > .panel.details.css-style > .content > .pseudo-classes > .group > label):
536         (.spreadsheet-css-declaration.locked):
537         (.spreadsheet-css-declaration .selector.style-attribute):
538         (.spreadsheet-style-declaration-editor .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) .content > *):
539         (.inline-swatch):
540         (.spreadsheet-style-panel .section-header):
541         (.spreadsheet-style-panel .section-header .node-link:hover):
542         (.computed-style-properties.details-section):
543         (.details-section.style-box-model:not(.collapsed) > :matches(.header, .content)):
544         (.table,):
545         (.table > .header > .sortable:active):
546         (.table > .header > :matches(.sort-ascending, .sort-descending)):
547         (.table > .header > :matches(.sort-ascending, .sort-descending)::after):
548         (.scope-bar > li):
549         (.timeline-overview > .navigation-bar.timelines):
550         (.timeline-overview:not(.frames) > .graphs-container > .timeline-overview-graph:nth-child(even)):
551         (.timeline-overview.edit-instruments > .tree-outline.timelines .item:not(:first-child),):
552         (.time-icon .icon):
553         (.data-grid th:matches(.sort-ascending, .sort-descending)):
554         (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple):
555         (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple .arrows):
556         (.content-view.settings .navigation-bar):
557         (.content-view.settings .navigation-bar .item.radio.button.text-only.selected):
558         (.new-tab.tab.content-view):
559         (.filter-bar > input[type="search"]):
560         (.filter-bar > input[type="search"]::placeholder):
561         (.filter-bar > input[type="search"]:focus):
562         (.content-view.resource.image):
563         (.console-messages):
564         (.console-item):
565         (.console-messages:focus .console-item.selected):
566         (.console-messages:focus .console-item.selected + .console-item):
567         (.console-session:first-of-type .console-session-header):
568         (.console-session:not(:first-of-type) .console-session-header):
569         (.console-messages a):
570         (.console-messages a:hover):
571         (.console-messages:focus .console-item.selected::after):
572         (.console-error-level):
573         (.console-error-level:not(.filtered-out, .filtered-out-by-search), .console-error-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
574         (.console-warning-level):
575         (.console-warning-level:not(.filtered-out, .filtered-out-by-search), .console-warning-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
576         (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted):
577         (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted.selected):
578         (.source-code.text-editor > .CodeMirror .error):
579         (.source-code.text-editor > .CodeMirror .warning):
580         (.source-code.text-editor > .CodeMirror .issue-widget):
581         (.source-code.text-editor > .CodeMirror .issue-widget.inline.warning):
582         (.source-code.text-editor > .CodeMirror .issue-widget.inline.warning > .arrow):
583         (.source-code.text-editor > .CodeMirror .issue-widget.inline.error):
584         (.source-code.text-editor > .CodeMirror .issue-widget.inline.error > .arrow):
585         (.console-message .syntax-highlighted):
586         (.console-warning-level .console-message-text):
587         (.console-error-level .console-message-text):
588         (.console-user-command > .console-message-text):
589         (.console-message .repeat-count):
590         (.call-frame .subtitle,):
591         (.call-frame:hover .subtitle .source-link,):
592         (.call-frame .separator):
593         (.quick-console.showing-log):
594         (.find-banner.console-find-banner > input[type=search]:not(:placeholder-shown)):
595         (.network-resource-detail):
596         (.network-resource-detail .item.close > .glyph):
597         (.network .network-resource-detail .navigation-bar .item.radio.button.text-only.selected):
598         (.resource-headers .value):
599         (.network-table .cell.domain > .lock):
600         (.resource-sizes > .content .label):
601         (.popover.waterfall-popover):
602         (.resource-timing-breakdown > table > tr.header:not(.total-row) > td):
603         (.resource-timing-breakdown > table > tr > td.label,):
604         (.resource-timing-breakdown > table hr):
605         (.sidebar > .panel.details.css-style > .content ~ .options-container > .new-rule):
606         (.content-view.tab.canvas .navigation-bar > .item .canvas-overview .icon):
607         (.web-socket.content-view .data-grid table.data tr.revealed):
608         (.web-socket.content-view .data-grid.variable-height-rows table.data tr.outgoing):
609         (.web-socket.content-view .data-grid.variable-height-rows table.data tr.non-text-frame):
610         (.item.action:not(.initial-state)::before):
611         (.tree-outline .item.action.visual:not(.selected, .invalid)):
612         (.item.action:not(.initial-state) > .icon):
613         (.tree-outline:not(.hide-disclosure-buttons) .item.action:not(.initial-state, .parent) > .icon):
614         (.content-view.tab.canvas .navigation-bar > .item .canvas-overview .icon,):
615         (.content-view.canvas > .preview > img,):
616         (.content-view.canvas-overview):
617         (.content-view.canvas-overview .content-view.canvas):
618         (.content-view.canvas-overview .content-view.canvas.is-recording):
619         (.content-view.canvas-overview .content-view.canvas.is-recording > header):
620         (.content-view.canvas-overview .content-view.canvas > header > .titles > .title):
621         (.content-view.canvas-overview .content-view.canvas > header > .titles > .subtitle,):
622         (.content-view.canvas-overview .content-view.canvas > footer > .recordings::before):
623         (.content-view.canvas-overview .content-view.canvas.is-recording > header > .titles > .subtitle):
624         (.content-view.canvas:not(.tab)):
625         (.content-view:not(.tab).recording):
626         (.content-view:not(.tab).recording > header > .slider-container):
627         (.content-view:not(.tab).recording > header > .slider-container > input[type=range]):
628         (.sidebar > .panel.details.recording-state > .content > .data-grid tr.modified):
629         (.progress-view > .titles > .title):
630         (.progress-view > .titles > .subtitle):
631         (.indeterminate-progress-spinner):
632         (.content-view.shader-program > .text-editor.shader):
633         (.content-view.shader-program > .text-editor.shader > .type-title):
634         (.item.shader-program .status > img):
635         (.open-resource-dialog):
636         (.open-resource-dialog > .field > input):
637         (.open-resource-dialog > .field > input::placeholder):
638         (.open-resource-dialog > .tree-outline .item.selected):
639         (.open-resource-dialog > .field::before):
640
641 2018-06-09  Dan Bernstein  <mitz@apple.com>
642
643         [Xcode] Clean up and modernize some build setting definitions
644         https://bugs.webkit.org/show_bug.cgi?id=186463
645
646         Reviewed by Sam Weinig.
647
648         * Configurations/Base.xcconfig: Removed definition for macOS 10.11.
649         * Configurations/DebugRelease.xcconfig: Ditto.
650         * Configurations/Version.xcconfig: Ditto.
651
652 2018-06-05  Matt Baker  <mattbaker@apple.com>
653
654         Web Inspector: Tab picker is briefly visible when TabBar initially shown
655         https://bugs.webkit.org/show_bug.cgi?id=186317
656
657         Reviewed by Joseph Pecoraro.
658
659         * UserInterface/Views/TabBar.js:
660         (WI.TabBar): Picker should be initially hidden.
661
662 2018-06-05  Nikita Vasilyev  <nvasilyev@apple.com>
663
664         Web Inspector: Text in "Add New Class" in auto-capitalizes
665         https://bugs.webkit.org/show_bug.cgi?id=186311
666
667         Reviewed by Matt Baker.
668
669         Disable spellcheck to prevent auto-capitalization.
670
671         * UserInterface/Views/GeneralStyleDetailsSidebarPanel.js:
672         (WI.GeneralStyleDetailsSidebarPanel.prototype.initialLayout):
673
674 2018-06-04  Matt Baker  <mattbaker@apple.com>
675
676         Web Inspector: Cannot copy a link address in Elements tab
677         https://bugs.webkit.org/show_bug.cgi?id=186281
678         <rdar://problem/39193355>
679
680         Reviewed by Brian Burg.
681
682         * UserInterface/Views/ContextMenuUtilities.js:
683         (WI.appendContextMenuItemsForURL):
684
685 2018-05-30  Daniel Bates  <dabates@apple.com>
686
687         Web Inspector: Annotate Same-Site cookies
688         https://bugs.webkit.org/show_bug.cgi?id=184897
689         <rdar://problem/35178209>
690
691         Reviewed by Brian Burg.
692
693         Add a new column for the value of the Same-Site cookie attribute to the resource cookie content
694         view (shown for a resource under the Network tab) and cookie storage content view (shown under
695         the Storage tab).
696
697         The SameSite column in the resource cookie content view reflects the parsing of the Same-Site
698         attribute from the HTTP response by Web Inspector. This parsing is materially consistent with
699         the parsing of the SameSite atttribute in CFNetwork. The Same-Site column in the cookie storage
700         content view reflects the Same-Site cookie policy associated with the cookies provided by the
701         network stack, if supported. This column will be blank on systems whose network stack does not
702         support Same-Site cookies (e.g libsoup).
703
704         * Localizations/en.lproj/localizedStrings.js:
705         * UserInterface/Controllers/HARBuilder.js:
706         (WI.HARBuilder.cookies):
707         * UserInterface/Models/Cookie.js:
708         (WI.Cookie):
709         (WI.Cookie.displayNameForSameSiteType):
710         (WI.Cookie.parseSameSiteAttributeValue):
711         (WI.Cookie.parseSetCookieResponseHeader):
712         * UserInterface/Views/CookieStorageContentView.js:
713         (WI.CookieStorageContentView.prototype._rebuildTable):
714         (WI.CookieStorageContentView.prototype._sortDataGrid):
715         * UserInterface/Views/ResourceCookiesContentView.js:
716         (WI.ResourceCookiesContentView.prototype.tablePopulateCell):
717         (WI.ResourceCookiesContentView.prototype._generateSortComparator):
718         (WI.ResourceCookiesContentView.prototype._refreshResponseCookiesSection):
719
720 2018-05-25  Matt Baker  <mattbaker@apple.com>
721
722         Web Inspector: Popover dismissed while attempting to move cursor inside
723         https://bugs.webkit.org/show_bug.cgi?id=185741
724         <rdar://problem/40340938>
725
726         Reviewed by Joseph Pecoraro.
727
728         Hovering a token within the bounds of the current popover should not
729         show a new popover. This prevents the popover from being dismissed when
730         the cursor passes over a token under the transparent portion of the
731         popover frame.
732
733         * UserInterface/Views/SourceCodeTextEditor.js:
734         (WI.SourceCodeTextEditor.prototype._showPopover):
735
736 2018-05-22  Ryan Haddad  <ryanhaddad@apple.com>
737
738         Unreviewed, rolling out r232052.
739
740         Breaks internal builds.
741
742         Reverted changeset:
743
744         "Use more C++17"
745         https://bugs.webkit.org/show_bug.cgi?id=185176
746         https://trac.webkit.org/changeset/232052
747
748 2018-05-21  Yusuke Suzuki  <utatane.tea@gmail.com>
749
750         Use more C++17
751         https://bugs.webkit.org/show_bug.cgi?id=185176
752
753         Reviewed by JF Bastien.
754
755         * Configurations/Base.xcconfig:
756
757 2018-05-18  Devin Rousso  <webkit@devinrousso.com>
758
759         Web Inspector: Canvas: put `hasVisualEffect` behind an experimental setting
760         https://bugs.webkit.org/show_bug.cgi?id=185758
761
762         Reviewed by Matt Baker.
763
764         * Localizations/en.lproj/localizedStrings.js:
765
766         * UserInterface/Base/Setting.js:
767
768         * UserInterface/Models/RecordingAction.js:
769         (WI.RecordingAction.prototype.process):
770
771         * UserInterface/Views/RecordingActionTreeElement.js:
772         (WI.RecordingActionTreeElement.prototype.onattach):
773
774         * UserInterface/Views/SettingsTabContentView.js:
775         (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
776
777 2018-05-16  Devin Rousso  <webkit@devinrousso.com>
778
779         Web Inspector: create a navigation item for toggling the overlay rulers/guides
780         https://bugs.webkit.org/show_bug.cgi?id=185644
781
782         Reviewed by Matt Baker.
783
784         * Localizations/en.lproj/localizedStrings.js:
785         * UserInterface/Base/Setting.js:
786         * UserInterface/Views/DOMTreeContentView.js:
787         (WI.DOMTreeContentView):
788         (WI.DOMTreeContentView.prototype.get navigationItems):
789         (WI.DOMTreeContentView.prototype.closed):
790         (WI.DOMTreeContentView.prototype._showRulersChanged): Added.
791         (WI.DOMTreeContentView.prototype._toggleShowRulers): Added.
792
793 2018-05-14  Nikita Vasilyev  <nvasilyev@apple.com>
794
795         Web Inspector: Canvas: Remove unused --value-visual-highlight CSS variable
796         https://bugs.webkit.org/show_bug.cgi?id=185636
797
798         Reviewed by Matt Baker.
799
800         * UserInterface/Views/Variables.css:
801         (:root):
802
803 2018-05-14  Devin Rousso  <webkit@devinrousso.com>
804
805         Web Inspector: Canvas tab: don't automatically select a recording when viewing a canvas
806         https://bugs.webkit.org/show_bug.cgi?id=182950
807
808         Reviewed by Matt Baker.
809
810         * UserInterface/Views/CanvasSidebarPanel.js:
811         (WI.CanvasSidebarPanel):
812         (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange):
813         (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange):
814         (WI.CanvasSidebarPanel.prototype._canvasChanged):
815         (WI.CanvasSidebarPanel.prototype._recordingChanged):
816         (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
817         Add a "dummy" ScopeBarItem to the recording ScopeBar that is selected whenever a TreeElement
818         that doesn't correspond to a Recording is selected. This way, the Recording ScopeBar will
819         become deselected, and the list of actions will disappear. Clicking on the Recording ScopeBar
820         will show the previously selected Recording.
821
822 2018-05-08  Matt Baker  <mattbaker@apple.com>
823
824         Web Inspector: Console drawer resizing is broken when console prompt has >1 line of code
825         https://bugs.webkit.org/show_bug.cgi?id=185369
826         <rdar://problem/40013202>
827
828         Reviewed by Devin Rousso.
829
830         Mouse offset calculation should account for the height of the quick console.
831         The only reason resizing worked with the single-line quick console is that
832         the offset calculation included the resizer height, which is very close
833         to that of the single-line quick console (27px and 30px respectively).
834
835         * UserInterface/Views/ConsoleDrawer.js:
836
837 2018-05-04  Devin Rousso  <webkit@devinrousso.com>
838
839         Web Inspector: simplify the WI.Collection interface
840         https://bugs.webkit.org/show_bug.cgi?id=185187
841
842         Reviewed by Brian Burg.
843
844         * UserInterface/Models/Collection.js:
845         (WI.Collection.prototype.get size): Added.
846         (WI.Collection.prototype.has): Added.
847         (WI.Collection.prototype.toJSON):
848         (WI.Collection.prototype.[Symbol.iterator]): Added.
849         (WI.Collection.prototype.get items): Deleted.
850         (WI.Collection.prototype.toArray): Deleted.
851
852         * UserInterface/Controllers/CanvasManager.js:
853         (WI.CanvasManager.prototype._removeCanvas):
854         * UserInterface/Controllers/DOMDebuggerManager.js:
855         (WebInspector.DOMDebuggerManager.prototype.get domBreakpoints):
856         * UserInterface/Models/Frame.js:
857         (WI.Frame.prototype.removeAllChildFrames):
858         (WI.Frame.prototype.resourceForURL):
859         (WI.Frame.prototype.removeAllResources):
860         * UserInterface/Models/Script.js:
861         (WI.Script):
862         * UserInterface/Views/CanvasContentView.js:
863         (WI.CanvasContentView.prototype.initialLayout):
864         * UserInterface/Views/CanvasOverviewContentView.js:
865         (WI.CanvasOverviewContentView.prototype._updateNavigationItems):
866         * UserInterface/Views/CanvasSidebarPanel.js:
867         (WI.CanvasSidebarPanel.prototype._recordingRemoved):
868         (WI.CanvasSidebarPanel.prototype._canvasChanged):
869         (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
870         * UserInterface/Views/CanvasTabContentView.js:
871         (WI.CanvasTabContentView.prototype.attached):
872         (WI.CanvasTabContentView.prototype._addCanvas):
873         (WI.CanvasTabContentView.prototype._removeCanvas):
874         * UserInterface/Views/CanvasTreeElement.js:
875         (WI.CanvasTreeElement.prototype.onpopulate):
876         * UserInterface/Views/CollectionContentView.js:
877         (WI.CollectionContentView.prototype.initialLayout):
878         (WI.CollectionContentView.prototype.attached):
879         * UserInterface/Views/CookieStorageContentView.js:
880         (WI.CookieStorageContentView.prototype._filterCookies):
881         * UserInterface/Views/DebuggerSidebarPanel.js:
882         (WI.DebuggerSidebarPanel.prototype._addResourcesRecursivelyForFrame):
883         * UserInterface/Views/FolderizedTreeElement.js:
884         (WI.FolderizedTreeElement.prototype.updateParentStatus):
885         (WI.FolderizedTreeElement.prototype._shouldGroupIntoFolders):
886         * UserInterface/Views/FrameTreeElement.js:
887         (WI.FrameTreeElement.prototype.onpopulate):
888         * UserInterface/Views/NavigationSidebarPanel.js:
889         (WI.NavigationSidebarPanel.prototype.get contentTreeOutlines):
890         * UserInterface/Views/NetworkTableContentView.js:
891         (WI.NetworkTableContentView.prototype._populateWithInitialResourcesIfNeeded):
892         * UserInterface/Views/OpenResourceDialog.js:
893         (WI.OpenResourceDialog.prototype._addResourcesForFrame):
894         (WI.OpenResourceDialog.prototype._addResourcesForTarget):
895         * UserInterface/Views/TreeOutlineGroup.js:
896         (WI.TreeOutlineGroup.prototype.get selectedTreeElement):
897         (WI.TreeOutlineGroup.prototype._removeConflictingTreeSelections):
898         * UserInterface/Views/WorkerTreeElement.js:
899         (WI.WorkerTreeElement.prototype.onpopulate):
900
901 2018-05-04  Nikita Vasilyev  <nvasilyev@apple.com>
902
903         Web Inspector: Styles: Newly added unsupported properties sometimes don't have warnings
904         https://bugs.webkit.org/show_bug.cgi?id=183097
905         <rdar://problem/37843816>
906
907         Reviewed by Matt Baker.
908
909         Update status of properties warnings every time focus moves.
910
911         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
912         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
913         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyFocusMoved):
914         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesChanged):
915         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._updatePropertiesStatus):
916         * UserInterface/Views/SpreadsheetStyleProperty.js:
917         (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidBlur):
918
919 2018-05-04  Devin Rousso  <webkit@devinrousso.com>
920
921         Web Inspector: Styles Redesign: ensure that tabbing through the last section wraps back to the first
922         https://bugs.webkit.org/show_bug.cgi?id=181973
923
924         Reviewed by Matt Baker.
925
926         Unified delegate functions to start editing previous/next rules into a single function for
927         simplicity.
928
929         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
930         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetCSSStyleDeclarationEditorFocusMoved):
931
932         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
933         (WI.SpreadsheetCSSStyleDeclarationSection.prototype.startEditingRuleSelector):
934         (WI.SpreadsheetCSSStyleDeclarationSection.prototype.spreadsheetSelectorFieldDidChange):
935         (WI.SpreadsheetCSSStyleDeclarationSection.prototype.spreadsheetCSSStyleDeclarationEditorStartEditingAdjacentRule):
936         (WI.SpreadsheetCSSStyleDeclarationSection.prototype.cssStyleDeclarationEditorStartEditingAdjacentRule): Deleted.
937
938         * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
939         (WI.SpreadsheetRulesStyleDetailsPanel.prototype.focusFirstSection):
940         (WI.SpreadsheetRulesStyleDetailsPanel.prototype.focusLastSection):
941         (WI.SpreadsheetRulesStyleDetailsPanel.prototype.spreadsheetCSSStyleDeclarationSectionStartEditingAdjacentRule):
942         (WI.SpreadsheetRulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionStartEditingNextRule): Deleted.
943         (WI.SpreadsheetRulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionStartEditingPreviousRule): Deleted.
944
945         * UserInterface/Views/GeneralStyleDetailsSidebarPanel.js:
946         (WI.GeneralStyleDetailsSidebarPanel.prototype.styleDetailsPanelFocusLastPseudoClassCheckbox):
947         (WI.GeneralStyleDetailsSidebarPanel.prototype.styleDetailsPanelFocusFilterBar):
948         (WI.GeneralStyleDetailsSidebarPanel.prototype.initialLayout):
949         (WI.GeneralStyleDetailsSidebarPanel.prototype._handleForcedPseudoClassCheckboxKeydown):
950         (WI.GeneralStyleDetailsSidebarPanel.prototype._forcedPseudoClassCheckboxChanged):
951         (WI.GeneralStyleDetailsSidebarPanel.prototype._handleFilterBarInputFieldKeyDown):
952
953         Drive-by fix: provide tabbing support for the Computed styles panel.
954
955         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
956         (WI.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey.switchRule):
957         (WI.CSSStyleDeclarationTextEditor.prototype._handleTabKey.switchRule):
958
959         * UserInterface/Views/ComputedStyleDetailsPanel.js:
960         (WI.ComputedStyleDetailsPanel.prototype.focusFirstSection):
961         (WI.ComputedStyleDetailsPanel.prototype.focusLastSection):
962         (WI.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorStartEditingAdjacentRule):
963
964 2018-05-04  Devin Rousso  <webkit@devinrousso.com>
965
966         Web Inspector: Canvas tab: Determine isFunction by looking at the prototype
967         https://bugs.webkit.org/show_bug.cgi?id=184990
968
969         Reviewed by Brian Burg.
970
971         * UserInterface/Models/RecordingAction.js:
972         (WI.RecordingAction.isFunctionForType):
973         (WI.RecordingAction._prototypeForType):
974         (WI.RecordingAction.prototype.async.swizzle):
975
976 2018-05-01  Devin Rousso  <webkit@devinrousso.com>
977
978         Web Inspector: Canvas tab: determine hasVisibleEffect for all actions immediately after recording is added
979         https://bugs.webkit.org/show_bug.cgi?id=182995
980
981         Reviewed by Matt Baker.
982
983         Previously, we'd swizzle the entirety of the `WI.Recording` in one, which would usually
984         freeze the UI, especially for larger recordings. This patch uses `WI.YieldableTask` to split
985         the work and allow the rest of the UI to still be usable while `WI.Recording` are processing.
986         Additionally, since we no longer have to worry about hangs, we can do more work upfront,
987         such as calculating `hasVisibleEffect` and the current state of 2D canvases.
988
989         These changes require that all uses of `WI.Recording` call `process()` before attempting to
990         use any `frames`/`actions`/`initialState`, as they will have their original payload values
991         and will have not been swizzled or applied.
992
993         * Localizations/en.lproj/localizedStrings.js:
994
995         * UserInterface/Models/Recording.js:
996         (WI.Recording):
997         (WI.Recording.prototype.process):
998         (WI.Recording.prototype.createContext): Added.
999         (WI.Recording.prototype.async yieldableTaskWillProcessItem): Added.
1000         (WI.Recording.prototype.async yieldableTaskDidFinish): Added.
1001
1002         * UserInterface/Models/RecordingAction.js:
1003         (WI.RecordingAction):
1004         (WI.RecordingAction.prototype.process): Added.
1005         (WI.RecordingAction.prototype.async swizzle): Added.
1006         (WI.RecordingAction.prototype.apply):
1007         (WI.RecordingAction.prototype.toJSON):
1008         (WI.RecordingAction.prototype.set state): Deleted.
1009         (WI.RecordingAction.prototype.swizzle): Deleted.
1010         (WI.RecordingAction.prototype.apply.getContent): Deleted.
1011         (WI.RecordingAction.prototype.async _swizzle): Deleted.
1012         * UserInterface/Models/RecordingInitialStateAction.js:
1013         (WI.RecordingInitialStateAction):
1014
1015         * UserInterface/Views/CanvasSidebarPanel.js:
1016         (WI.CanvasSidebarPanel):
1017         (WI.CanvasSidebarPanel.prototype.set action):
1018         (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange):
1019         (WI.CanvasSidebarPanel.prototype._recordingChanged):
1020
1021         * UserInterface/Views/CanvasSidebarPanel.css:
1022         (.sidebar > .panel.navigation.canvas > .content > .recording-content > .indeterminate-progress-spinner):
1023
1024         * UserInterface/Views/RecordingActionTreeElement.js:
1025         (WI.RecordingActionTreeElement):
1026         (WI.RecordingActionTreeElement.prototype.onattach):
1027         (WI.RecordingActionTreeElement.prototype._handleHasVisibleEffectChanged): Deleted.
1028
1029         * UserInterface/Views/RecordingContentView.js:
1030         (WI.RecordingContentView):
1031         (WI.RecordingContentView.prototype.get navigationItems):
1032         (WI.RecordingContentView.prototype.updateActionIndex):
1033         (WI.RecordingContentView.prototype.initialLayout):
1034         (WI.RecordingContentView.prototype._generateContentCanvas2D): Added.
1035         (WI.RecordingContentView.prototype._generateContentCanvasWebGL): Added.
1036         (WI.RecordingContentView.prototype._updateCanvasPath):
1037         (WI.RecordingContentView.prototype._updateProcessProgress): Added.
1038         (WI.RecordingContentView.prototype._handleRecordingProcessedActionSwizzle): Added.
1039         (WI.RecordingContentView.prototype._handleRecordingProcessedActionApply): Added.
1040         (WI.RecordingContentView.supportsCanvasPathDebugging): Deleted.
1041         (WI.RecordingContentView.prototype.async _generateContentCanvas2D): Deleted.
1042         (WI.RecordingContentView.prototype.async _generateContentCanvasWebGL): Deleted.
1043
1044         * UserInterface/Views/RecordingContentView.css:
1045         (.content-view:not(.tab).recording > .preview-container):
1046
1047         * UserInterface/Base/ImageUtilities.js:
1048         (WI.ImageUtilities.supportsCanvasPathDebugging):
1049
1050 2018-04-26  Jer Noble  <jer.noble@apple.com>
1051
1052         Unreviewed build fix; fix WebInspectorUI copy resources step after r231063.
1053
1054         * Configurations/Base.xcconfig:
1055
1056 2018-04-26  Jer Noble  <jer.noble@apple.com>
1057
1058         WK_COCOA_TOUCH all the things.
1059         https://bugs.webkit.org/show_bug.cgi?id=185006
1060
1061         Reviewed by Tim Horton.
1062
1063         * Configurations/WebInspectorUIFramework.xcconfig:
1064
1065 2018-04-21  Nikita Vasilyev  <nvasilyev@apple.com>
1066
1067         REGRESSION(r214076): Web Inspector: Timelines load and DOMContentLoaded markers aren't visible
1068         https://bugs.webkit.org/show_bug.cgi?id=184858
1069
1070         Reviewed by Brian Burg.
1071
1072         r214076 changed the color of all markers to light gray.
1073
1074         * UserInterface/Views/TimelineRuler.css:
1075         (.timeline-ruler > .markers > .marker):
1076         (body[dir=ltr] .timeline-ruler > .markers > .marker):
1077         (body[dir=rtl] .timeline-ruler > .markers > .marker):
1078         (.timeline-ruler > .markers > .marker.current-time):
1079         (.timeline-ruler > .markers > .marker.load-event):
1080         (.timeline-ruler > .markers > .marker.dom-content-event):
1081         (.timeline-ruler > .markers > .marker.timestamp):
1082         (body[dir=ltr] .timeline-ruler > .markers > .marker.current-time): Deleted.
1083         (body[dir=rtl] .timeline-ruler > .markers > .marker.current-time): Deleted.
1084
1085 2018-04-19  Chris Dumez  <cdumez@apple.com>
1086
1087         Rename JSDOMWindowProxy to JSWindowProxy
1088         https://bugs.webkit.org/show_bug.cgi?id=184797
1089
1090         Reviewed by Sam Weinig.
1091
1092         Rename JSDOMWindowProxy to JSWindowProxy for consistency with WindowProxy.
1093
1094         * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js:
1095         (HeapSnapshot.prototype._isNodeGlobalObject):
1096
1097 2018-04-19  David Kilzer  <ddkilzer@apple.com>
1098
1099         Enable Objective-C weak references
1100         <https://webkit.org/b/184789>
1101         <rdar://problem/39571716>
1102
1103         Reviewed by Dan Bernstein.
1104
1105         * Configurations/Base.xcconfig:
1106         (CLANG_ENABLE_OBJC_WEAK): Enable.
1107
1108 2018-04-16  Nikita Vasilyev  <nvasilyev@apple.com>
1109
1110         Web Inspector: Can't select and copy text from Network tab popover
1111         https://bugs.webkit.org/show_bug.cgi?id=184606
1112
1113         Reviewed by Matt Baker.
1114
1115         * UserInterface/Views/ResourceTimingBreakdownView.css:
1116         (.waterfall-popover .resource-timing-breakdown):
1117
1118 2018-04-12  Nikita Vasilyev  <nvasilyev@apple.com>
1119
1120         Web Inspector: Refactoring: move popover styles from JS to CSS
1121         https://bugs.webkit.org/show_bug.cgi?id=184558
1122
1123         Reviewed by Brian Burg.
1124
1125         Introduce several CSS variables to customize popover appearance in CSS
1126         and not JavaScript.
1127
1128         * UserInterface/Views/NetworkTableContentView.js:
1129         (WI.NetworkTableContentView.prototype._waterfallPopoverContentForResource):
1130         (WI.NetworkTableContentView.prototype._handleMousedownWaterfall):
1131         * UserInterface/Views/Popover.css:
1132         (.popover):
1133         * UserInterface/Views/Popover.js:
1134         (WI.Popover):
1135         (WI.Popover.prototype._drawBackground):
1136         Replace `var` with `let`.
1137
1138         (WI.Popover.prototype.get backgroundStyle): Deleted.
1139         (WI.Popover.prototype.set backgroundStyle): Deleted.
1140         * UserInterface/Views/ResourceTimingBreakdownView.css:
1141         (.popover.waterfall-popover):
1142         (.waterfall-popover-content .resource-timing-breakdown):
1143         (.waterfall-popover .resource-timing-breakdown): Deleted.
1144
1145         * UserInterface/Views/NetworkTableContentView.js:
1146         (WI.NetworkTableContentView.prototype._waterfallPopoverContentForResource):
1147         (WI.NetworkTableContentView.prototype._handleMousedownWaterfall):
1148         * UserInterface/Views/Popover.css:
1149         (.popover):
1150         * UserInterface/Views/Popover.js:
1151         (WI.Popover):
1152         (WI.Popover.prototype._drawBackground):
1153         * UserInterface/Views/ResourceTimingBreakdownView.css:
1154         (.popover.waterfall-popover):
1155         (.waterfall-popover-content .resource-timing-breakdown):
1156
1157 2018-04-07  Nikita Vasilyev  <nvasilyev@apple.com>
1158
1159         Web Inspector: Errors glyph doesn't fully change to blue when active
1160         https://bugs.webkit.org/show_bug.cgi?id=184389
1161
1162         Reviewed by Joseph Pecoraro.
1163
1164         The dot of the exclamation mark was always black.
1165
1166         * UserInterface/Images/Errors.svg:
1167
1168 2018-04-03  Aaron Chu  <aaron_chu@apple.com>
1169
1170         AX: Add Experimental setting for Accessibility Audit
1171         https://bugs.webkit.org/show_bug.cgi?id=183646
1172         <rdar://problem/38478583>
1173
1174         Reviewed by Brian Burg.
1175
1176         Added experimental feature flag for Accessibility Audit work.
1177
1178         * Localizations/en.lproj/localizedStrings.js:
1179         * UserInterface/Base/Setting.js:
1180         * UserInterface/Views/SettingsTabContentView.js:
1181         (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
1182
1183 2018-04-01  Matt Baker  <mattbaker@apple.com>
1184
1185         Web Inspector: Remove dead TabBrowser/TabContentView code
1186         https://bugs.webkit.org/show_bug.cgi?id=184104
1187
1188         Reviewed by Devin Rousso.
1189
1190         * UserInterface/Base/Main.js:
1191         (WI._tryToRestorePendingTabs):
1192         * UserInterface/Views/NewTabContentView.js:
1193         (WI.NewTabContentView.prototype.shown):
1194         (WI.NewTabContentView.prototype.hidden):
1195         * UserInterface/Views/TabBrowser.js:
1196         (WI.TabBrowser.prototype.addTabForContentView):
1197         (WI.TabBrowser.prototype.showTabForContentView):
1198         (WI.TabBrowser._tabBarItemRemoved):
1199         * UserInterface/Views/TabContentView.js:
1200         (WI.TabContentView.prototype.get parentTabBrowser): Deleted.
1201         (WI.TabContentView.prototype.set parentTabBrowser): Deleted.
1202
1203 2018-03-30  Devin Rousso  <webkit@devinrousso.com>
1204
1205         Web Inspector: tint all pixels drawn by shader program when hovering ShaderProgramTreeElement
1206         https://bugs.webkit.org/show_bug.cgi?id=175223
1207
1208         Reviewed by Matt Baker.
1209
1210         * UserInterface/Models/ShaderProgram.js:
1211         (WI.ShaderProgram):
1212         (WI.ShaderProgram.prototype.showHighlight):
1213         (WI.ShaderProgram.prototype.hideHighlight):
1214
1215         * UserInterface/Views/ShaderProgramTreeElement.js:
1216         (WI.ShaderProgramTreeElement.prototype.onattach):
1217         (WI.ShaderProgramTreeElement.prototype._handleMouseOver):
1218         (WI.ShaderProgramTreeElement.prototype._handleMouseOut):
1219         Whenever a ShaderProgramTreeElement is hovered, highlight the corresponding shader program
1220         by tinting the pixels it draws via a blend.
1221
1222 2018-03-27  Timothy Hatcher  <timothy@apple.com>
1223
1224         Web Inspector: Modernize some utility functions
1225         https://bugs.webkit.org/show_bug.cgi?id=184047
1226
1227         Reviewed by Matt Baker.
1228
1229         * UserInterface/Base/Utilities.js:
1230         (Node.prototype.enclosingNodeOrSelfWithClass): Use parentElement instead of parentNode, so we don't need to check for document.
1231         (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray): Ditto. Also just toUpperCase input, since nodeName is already upper case.
1232         (String.prototype.escapeCharacters): Use Set and string iteration instead of indexOf and charAt.
1233
1234 2018-03-27  Nikita Vasilyev  <nvasilyev@apple.com>
1235
1236         Web Inspector: Command-Shift-left/right arrow keys should not switch tabs when focused on color picker text fields
1237         https://bugs.webkit.org/show_bug.cgi?id=184028
1238
1239         Reviewed by Timothy Hatcher.
1240
1241         * UserInterface/Views/EditingSupport.js:
1242         (WI.isEventTargetAnEditableField):
1243         Detect <input type="number"> as an editable text field.
1244
1245 2018-03-23  Nikita Vasilyev  <nvasilyev@apple.com>
1246
1247         Web Inspector: Styles: don't show checkboxes for invalid properties
1248         https://bugs.webkit.org/show_bug.cgi?id=183951
1249         <rdar://problem/38807602>
1250
1251         Reviewed by Matt Baker.
1252
1253         Since toggling of invalid properties isn't supported by the backend, don't show checkboxes for invalid properties.
1254
1255         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
1256         (.spreadsheet-css-declaration:matches(:hover, :focus) .property:not(:matches(.invalid-name, .invalid-value)) .property-toggle,):
1257         (.spreadsheet-css-declaration:matches(:hover, :focus) .property-toggle,): Deleted.
1258         Don't show checkboxes for invalid properties but still show them for duplicate properties.
1259
1260 2018-03-23  Brian Burg  <bburg@apple.com>
1261
1262         Web Inspector: add WebKitAdditions hooks for WebInspectorUI
1263         https://bugs.webkit.org/show_bug.cgi?id=183940
1264         <rdar://problem/38796310>
1265
1266         Reviewed by Timothy Hatcher.
1267
1268         * Scripts/combine-resources.pl:
1269         (debugLog): Added. Leave in the logging I used to debug this.
1270
1271         (concatenateIncludedFilesMatchingPattern):
1272         (stripIncludedFilesMatchingPattern):
1273         (concatenateFiles): Deleted.
1274         This function tried to do too many things. Split it into
1275         two functions, one for stripping includes and one for concatenating
1276         files referenced by includes.
1277
1278         Lastly, add a negative lookahead clause for 'WebKitAdditions' so includes
1279         containing that string are not combined when no input directory is passed
1280         to the script.
1281
1282         * Scripts/copy-user-interface-resources.pl:
1283         WebKitAdditions is computed either from BUILT_PRODUCTS_DIR or SDKROOT,
1284         depending on the build style. Just try them in order and use the first
1285         one that exists. WebInspectorUI files are in their own directory, so
1286         we can assume there are files to process if that directory exists.
1287
1288         Copy Main.html to derived sources before doing any processing on it.
1289         This makes all combining phases have the same --input-html argument.
1290
1291         (debugLog): Added. Leave in the logging I used to debug this.
1292
1293         (combineOrStripResourcesForWebKitAdditions):
1294         (stripResourcesForWebKitAdditions):
1295         (combineResourcesForWebKitAdditions):
1296         Determine if WebKitAdditions exists and whether there are any
1297         resources for WebInspectorUI present that need to be processed.
1298
1299         * UserInterface/Main.html:
1300         Add stub .js and .css WebKitAdditions files. We can add more later
1301         if it makes sense but this is good enough to validate the build machinery.
1302
1303 2018-03-23  Nikita Vasilyev  <nvasilyev@apple.com>
1304
1305         Web Inspector: Styles Redesign: flashing when switching between nodes
1306         https://bugs.webkit.org/show_bug.cgi?id=179291
1307         <rdar://problem/35352660>
1308
1309         Reviewed by Matt Baker.
1310
1311         Flashing was happening because the layout was a two-step process:
1312         1. Append empty sections.
1313         2. Layout everything inside of the section on requestAnimationFrame.
1314
1315         SpreadsheetRulesStyleDetailsPanel was converted to use layout method,
1316         so both steps happen on requestAnimationFrame.
1317
1318         * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
1319         (WI.SpreadsheetRulesStyleDetailsPanel):
1320         (WI.SpreadsheetRulesStyleDetailsPanel.prototype.refresh):
1321         (WI.SpreadsheetRulesStyleDetailsPanel.prototype.layout):
1322         The removed lines from the refresh method moved to the layout method without any changes.
1323
1324 2018-03-22  Nikita Vasilyev  <nvasilyev@apple.com>
1325
1326         Uncaught Exception: TypeError: this._textEditor.toggleUnexecutedCodeHighlights().then is not a function
1327         https://bugs.webkit.org/show_bug.cgi?id=181912
1328         <rdar://problem/36700022>
1329
1330         Reviewed by Matt Baker.
1331
1332         The uncaught exception was caused by returning `false` instead of a promise object.
1333         This patch only fixes the exception. Further enhancements should be done in <https://webkit.org/b/183887>.
1334
1335         * UserInterface/Views/SourceCodeTextEditor.js:
1336         (WI.SourceCodeTextEditor.prototype.toggleTypeAnnotations):
1337         (WI.SourceCodeTextEditor.prototype.toggleUnexecutedCodeHighlights):
1338
1339 2018-03-20  Nikita Vasilyev  <nvasilyev@apple.com>
1340
1341         Web Inspector: Styles: Loses focus when editing a property while page is being loaded
1342         https://bugs.webkit.org/show_bug.cgi?id=182619
1343         <rdar://problem/37363185>
1344
1345         Reviewed by Matt Baker.
1346
1347         Adding or removing a stylesheet causes SpreadsheetRulesStyleDetailsPanel to refresh, triggering a layout
1348         of all SpreadsheetCSSStyleDeclarationSection child views. This resets the focus, selection, and
1349         auto-completion state.
1350
1351         This patch prevents SpreadsheetCSSStyleDeclarationSection from performing a layout when a property is being edited.
1352
1353         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
1354         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
1355         Allow re-layout after creating a blank CSS property and pasting CSS code.
1356         - _pendingAddBlankPropertyIndexOffset is a number after pasting CSS rules.
1357         - _propertyPendingStartEditing is a property model after creating a new property.
1358
1359 2018-03-20  Devin Rousso  <webkit@devinrousso.com>
1360
1361         Web Inspector: Session dividers are not added when Console tab is not visible
1362         https://bugs.webkit.org/show_bug.cgi?id=168622
1363
1364         Reviewed by Matt Baker.
1365
1366         Restructure `_pendingMessages` to be a `Map [ConsoleSession, ConsoleMessageView]`. Instead
1367         of rendering to the `_currentConsoleGroup`, we now render to the saved `ConsoleSession`.
1368         Also ensure that `_pendingMessages` is cleared when navigating and "Preserve Log" is off.
1369
1370         * UserInterface/Controllers/JavaScriptLogViewController.js:
1371         (WI.JavaScriptLogViewController):
1372         (WI.JavaScriptLogViewController.prototype.startNewSession):
1373         (WI.JavaScriptLogViewController.prototype.consolePromptHistoryDidChange):
1374         (WI.JavaScriptLogViewController.prototype._appendConsoleMessageView):
1375         (WI.JavaScriptLogViewController.prototype.renderPendingMessages):
1376         (WI.JavaScriptLogViewController.prototype.get prompt): Deleted.
1377         (WI.JavaScriptLogViewController.prototype.get currentConsoleGroup): Deleted.
1378
1379 2018-03-20  Nikita Vasilyev  <nvasilyev@apple.com>
1380
1381         Web Inspector: Can't add a new class by editing class attribute in DOM outline
1382         https://bugs.webkit.org/show_bug.cgi?id=180890
1383
1384         Reviewed by Ryosuke Niwa.
1385
1386         Typing "my-foo my-bar" creates a single "my-foo\xA0my-bar" class name because
1387         contentEditable-based attribute editor sometimes inserts non-breaking space characters (\xA0).
1388
1389         Replace all non-breaking space characters with the regular space characters when
1390         commiting attribute change.
1391
1392         * UserInterface/Views/DOMTreeElement.js:
1393
1394 2018-03-16  Nikita Vasilyev  <nvasilyev@apple.com>
1395
1396         Web Inspector: Elements: "Force Print Media Styles" should not persist across Web Inspector sessions
1397         https://bugs.webkit.org/show_bug.cgi?id=183708
1398         <rdar://problem/36452183>
1399
1400         Reviewed by Matt Baker.
1401
1402         * UserInterface/Base/Main.js:
1403         (WI.loaded):
1404         * UserInterface/Views/DOMTreeContentView.js:
1405         (WI.DOMTreeContentView):
1406         (WI.DOMTreeContentView.prototype._showPrintStylesChanged):
1407         (WI.DOMTreeContentView.prototype._togglePrintStyles):
1408         (WI.DOMTreeContentView.prototype._showPrintStylesSettingChanged): Deleted.
1409         (WI.DOMTreeContentView.prototype._togglePrintStylesSetting): Deleted.
1410
1411 2018-03-14  Devin Rousso  <webkit@devinrousso.com>
1412
1413         Web Inspector: Canvas: a recording initiated by the user should be shown immediately on completion
1414         https://bugs.webkit.org/show_bug.cgi?id=183647
1415         <rdar://problem/38479187>
1416
1417         Reviewed by Matt Baker.
1418
1419         When recordings are initiated via `console.record`, we don't want to automatically show the
1420         recording after it's payload is sent to the frontend. We determine whether a recording came
1421         from the console by comparing the recording's associated canvas with the current value of
1422         `_recordingCanvas`. Previously, when stopping a recording, we would always null the value,
1423         which meant that all non-single-frame recordings (single-frame recordings are stopped by
1424         the agent after the first paint or tick after an action is performed) would be categorized
1425         as coming from the console, since `_recordingCanvas` would be null by the time the frontend
1426         recieved the payload.
1427
1428         This patch changes it so that the nulling of `_recordingCanvas` in `stopRecording` is only
1429         done if the agent command errors. It was already the case that `_recordingCanvas` was nulled
1430         in `stopRecording`, so this patch just prevents it from being nulled too early.
1431
1432         * UserInterface/Controllers/CanvasManager.js:
1433         (WI.CanvasManager.prototype.stopRecording):
1434
1435 2018-03-12  Jon Davis  <jond@apple.com>
1436
1437         Web Inspector: Remove redundant tooltips
1438         https://bugs.webkit.org/show_bug.cgi?id=183099
1439
1440         Reviewed by Matt Baker.
1441
1442         * Localizations/en.lproj/localizedStrings.js:
1443         * UserInterface/Base/Main.js:
1444         (WI.contentLoaded):
1445         Instantiate ConsoleDrawer so the keyboard shortcuts for FindBanner are available.
1446
1447         * UserInterface/Views/BreakpointTreeElement.js:
1448         (WI.BreakpointTreeElement):
1449         Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
1450
1451         * UserInterface/Views/ButtonNavigationItem.js:
1452         (WI.ButtonNavigationItem):
1453         Only show tooltips when the button style is an image.
1454
1455         * UserInterface/Views/ConsoleDrawer.js:
1456         (WI.ConsoleDrawer):
1457         (WI.ConsoleDrawer.prototype.toggleButtonShortcutTooltip):
1458         Added helper to set the toggle button keyboard shortcut tooltip.
1459
1460         * UserInterface/Views/DOMBreakpointTreeElement.js:
1461         (WI.DOMBreakpointTreeElement):
1462         Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
1463
1464         * UserInterface/Views/DOMNodeTreeElement.js:
1465         (WI.DOMNodeTreeElement):
1466         Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
1467
1468         * UserInterface/Views/FindBanner.js:
1469         (WI.FindBanner):
1470         * UserInterface/Views/HierarchicalPathComponent.js:
1471         (WI.HierarchicalPathComponent):
1472         (WI.HierarchicalPathComponent.prototype.get tooltip):
1473         (WI.HierarchicalPathComponent.prototype.set tooltip):
1474         (WI.HierarchicalPathComponent.prototype.get hideTooltip):
1475         (WI.HierarchicalPathComponent.prototype.set hideTooltip):
1476         (WI.HierarchicalPathComponent.prototype._updateElementTitleAndText):
1477         Add tooltip management features to manage tooltips separately of the displayName,
1478         and provide a behavior to hide tooltips while retaining the tooltip data.
1479
1480         * UserInterface/Views/HierarchicalPathNavigationItem.js:
1481         (WI.HierarchicalPathNavigationItem.prototype.updateLayout):
1482         Hide tooltips when fully visible, show tooltips for collapsed items.
1483
1484         * UserInterface/Views/PinnedTabBarItem.js:
1485         (WI.PinnedTabBarItem.prototype.titleDidChange):
1486         Set tooltips for pinned tab bar items.
1487
1488         * UserInterface/Views/QuickConsole.js:
1489         (WI.QuickConsole):
1490         Set the ConsoleDrawer toggle button tooltip after the keyboard shortcut is registered.
1491
1492         * UserInterface/Views/StorageTreeElement.js:
1493         (WI.StorageTreeElement):
1494         Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
1495
1496         * UserInterface/Views/TabBarItem.js:
1497         (WI.TabBarItem.prototype.get title):
1498         (WI.TabBarItem.prototype.set title):
1499         (WI.TabBarItem.prototype.titleDidChange):
1500         (WI.TabBarItem):
1501         Add title property management with an overridable titleDidChange handler for
1502         setting tooltips when needed.
1503
1504         * UserInterface/Views/TimelineTreeElement.js:
1505         (WI.TimelineTreeElement):
1506         Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
1507
1508         * UserInterface/Views/ToggleButtonNavigationItem.js:
1509         (WI.ToggleButtonNavigationItem.prototype.set defaultToolTip):
1510         Added a setter for manging the default tooltip of a toggle button.
1511
1512         * UserInterface/Views/XHRBreakpointTreeElement.js:
1513         (WI.XHRBreakpointTreeElement):
1514         Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler.
1515
1516 2018-03-09  Nikita Vasilyev  <nvasilyev@apple.com>
1517
1518         Web Inspector: Sources: Open all resources in Sources tab instead of Resources/Debugger
1519         https://bugs.webkit.org/show_bug.cgi?id=183317
1520         <rdar://problem/38108455>
1521
1522         Reviewed by Matt Baker.
1523
1524         * Localizations/en.lproj/localizedStrings.js:
1525         * UserInterface/Base/Main.js:
1526         * UserInterface/Views/ContextMenuUtilities.js:
1527         (WI.appendContextMenuItemsForURL):
1528         Introduce preferredTabType option instead of listing ignoreResourcesTab, ignoreDebuggerTab, ignoreSearchTab, and ignoreNetworkTab.
1529         The only correct outcome of selecting "Reveal in Sources Tab" context menu is to open Sources tab, not any other tab.
1530
1531         * UserInterface/Views/SourceCodeTextEditor.js:
1532         (WI.SourceCodeTextEditor.prototype.textEditorGutterContextMenu):
1533         * UserInterface/Views/TabBrowser.js:
1534         (WI.TabBrowser.prototype.bestTabContentViewForRepresentedObject):
1535
1536 2018-03-08  Nikita Vasilyev  <nvasilyev@apple.com>
1537
1538         Web Inspector: Sources: add SourcesTabContentView and SourceSidebarPanel classes
1539         https://bugs.webkit.org/show_bug.cgi?id=183316
1540         <rdar://problem/38107639>
1541
1542         Reviewed by Matt Baker.
1543
1544         Add Sources tab and sidebar panel, which are copies of the corresponding Resources classes.
1545         The Sources tab is shown when it's enabled in the experimental settings. This patch doesn't
1546         remove existing Resources and Debugger tabs.
1547
1548         * UserInterface/Base/Main.js:
1549         (WI.contentLoaded):
1550         * UserInterface/Main.html:
1551         * UserInterface/Views/SourcesSidebarPanel.css: Added.
1552         (.sidebar > .panel.navigation.sources > .content):
1553         (.sidebar > .panel.navigation.sources > .navigation-bar):
1554         * UserInterface/Views/SourcesSidebarPanel.js: Added.
1555         (WI.SourcesSidebarPanel):
1556         (WI.SourcesSidebarPanel.shouldPlaceResourcesAtTopLevel):
1557         (WI.SourcesSidebarPanel.prototype.get minimumWidth):
1558         (WI.SourcesSidebarPanel.prototype.closed):
1559         (WI.SourcesSidebarPanel.prototype.showDefaultContentView):
1560         (WI.SourcesSidebarPanel.prototype.treeElementForRepresentedObject.isAncestor):
1561         (WI.SourcesSidebarPanel.prototype.treeElementForRepresentedObject.getParent):
1562         (WI.SourcesSidebarPanel.prototype.treeElementForRepresentedObject):
1563         (WI.SourcesSidebarPanel.prototype.initialLayout):
1564         (WI.SourcesSidebarPanel.prototype.hasCustomFilters):
1565         (WI.SourcesSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
1566         (WI.SourcesSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
1567         (WI.SourcesSidebarPanel.prototype._mainResourceDidChange):
1568         (WI.SourcesSidebarPanel.prototype._mainFrameDidChange):
1569         (WI.SourcesSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork):
1570         (WI.SourcesSidebarPanel.prototype._mainFrameMainResourceDidChange):
1571         (WI.SourcesSidebarPanel.prototype._scriptWasAdded):
1572         (WI.SourcesSidebarPanel.prototype._addScript):
1573         (WI.SourcesSidebarPanel.prototype._scriptWasRemoved):
1574         (WI.SourcesSidebarPanel.prototype._scriptsCleared):
1575         (WI.SourcesSidebarPanel.prototype._styleSheetAdded):
1576         (WI.SourcesSidebarPanel.prototype._addTargetWithMainResource):
1577         (WI.SourcesSidebarPanel.prototype._targetRemoved):
1578         (WI.SourcesSidebarPanel.prototype._treeSelectionDidChange):
1579         (WI.SourcesSidebarPanel.prototype._compareTreeElements):
1580         (WI.SourcesSidebarPanel.prototype._extraDomainsActivated):
1581         (WI.SourcesSidebarPanel.prototype._scopeBarSelectionDidChange):
1582         * UserInterface/Views/SourcesTabContentView.js: Added.
1583         (WI.SourcesTabContentView):
1584         (WI.SourcesTabContentView.tabInfo):
1585         (WI.SourcesTabContentView.isTabAllowed):
1586         (WI.SourcesTabContentView.prototype.get type):
1587         (WI.SourcesTabContentView.prototype.get supportsSplitContentBrowser):
1588         (WI.SourcesTabContentView.prototype.canShowRepresentedObject):
1589
1590 2018-03-07  Devin Rousso  <webkit@devinrousso.com>
1591
1592         Web Inspector: Canvas tab: ensure that the Recording TreeOutline has a specified height for virtualization
1593         https://bugs.webkit.org/show_bug.cgi?id=183015
1594
1595         Reviewed by Matt Baker.
1596
1597         * UserInterface/Views/CanvasSidebarPanel.js:
1598         (WI.CanvasSidebarPanel):
1599
1600         * UserInterface/Views/CanvasSidebarPanel.css:
1601         (.sidebar > .panel.navigation.canvas > .content):
1602         (.sidebar > .panel.navigation.canvas > .content > .navigation-bar):
1603         (.sidebar > .panel.navigation.canvas.has-recordings > .content > .recording-content):
1604         (.sidebar > .panel.navigation.canvas:not(.has-recordings) > .filter-bar,):
1605         (.sidebar > .panel.navigation.canvas > .content > .recording-content > .navigation-bar): Deleted.
1606         (.sidebar > .panel.navigation.canvas.has-recordings > .content > .tree-outline.canvas): Deleted.
1607
1608         * UserInterface/Views/TreeElement.js:
1609         (WI.TreeElement.prototype._detach):
1610
1611 2018-02-26  Devin Rousso  <webkit@devinrousso.com>
1612
1613         Web Inspector: Canvas Tab: Scroll into view / Inspect element if Canvas has DOM node
1614         https://bugs.webkit.org/show_bug.cgi?id=181769
1615
1616         Reviewed by Matt Baker.
1617
1618         * Localizations/en.lproj/localizedStrings.js:
1619
1620         * UserInterface/Images/Markup.svg: Added.
1621
1622         * UserInterface/Views/CanvasContentView.js:
1623         (WI.CanvasContentView):
1624         (WI.CanvasContentView.prototype.initialLayout):
1625         (WI.CanvasContentView.prototype._canvasElementButtonClicked):
1626
1627 2018-02-19  Matt Baker  <mattbaker@apple.com>
1628
1629         Web Inspector: Canvas tab: hide navigation sidebar when viewing the overview
1630         https://bugs.webkit.org/show_bug.cgi?id=182597
1631         <rdar://problem/37341564>
1632
1633         Reviewed by Devin Rousso.
1634
1635         Support showing/hiding the navigation sidebar panel based on the current
1636         represented object. Individual TabContentViews can opt-in to this behavior,
1637         by overriding TabContentView.prototype.managesNavigationSidebarPanel.
1638
1639         * UserInterface/Views/CanvasSidebarPanel.js:
1640         (WI.CanvasSidebarPanel.prototype.canShowRepresentedObject):
1641         * UserInterface/Views/CanvasTabContentView.js:
1642         (WI.CanvasTabContentView.prototype.get managesNavigationSidebarPanel):
1643         Hide the Canvas navigation sidebar when viewing the overview.
1644
1645         * UserInterface/Views/ContentBrowserTabContentView.js:
1646         (WI.ContentBrowserTabContentView):
1647         (WI.ContentBrowserTabContentView.prototype.showNavigationSidebarPanel):
1648         (WI.ContentBrowserTabContentView.prototype._navigationSidebarCollapsedStateDidChange):
1649         (WI.ContentBrowserTabContentView.prototype._contentBrowserCurrentRepresentedObjectsDidChange):
1650
1651         * UserInterface/Views/NavigationSidebarPanel.js:
1652         (WI.NavigationSidebarPanel.prototype.canShowRepresentedObject):
1653         Provide default implementation that just defers to the TabContentView.
1654         This exists so that a NavigationSidebarPanel that implements canShowRepresentedObject
1655         will have a meaningful default to fall back on.
1656
1657         * UserInterface/Views/TabBrowser.js:
1658         (WI.TabBrowser.prototype._sidebarCollapsedStateDidChange):
1659         (WI.TabBrowser.prototype._showNavigationSidebarPanelForTabContentView):
1660
1661         * UserInterface/Views/TabContentView.js:
1662         (WI.TabContentView.prototype.get managesNavigationSidebarPanel):
1663
1664 2018-02-16  Matt Baker  <mattbaker@apple.com>
1665
1666         Web Inspector: TabBar redesign: remove top-level search field and pin the Search tab
1667         https://bugs.webkit.org/show_bug.cgi?id=182353
1668         <rdar://problem/37088644>
1669
1670         Reviewed by Devin Rousso.
1671
1672         * Localizations/en.lproj/localizedStrings.js:
1673
1674         * UserInterface/Base/Main.js:
1675         (WI.contentLoaded):
1676         Create Search UI based on experimental setting. When the new TabBar is
1677         enabled, the Search tab is a pinned tab. Since it is also saveable, it
1678         needs to be added to the TabBrowser (the browser adds the item to the bar).
1679
1680         When restoring saved tabs, make an additional check to prevent a tab
1681         from being added twice. This can occur now that the Search tab is pinned.
1682
1683         * UserInterface/Images/Search.svg:
1684         Update art to better match Safari/macOS. Slightly increase the radius of
1685         the lens, and shorten the length of the handle.
1686
1687         * UserInterface/Views/GoToLineDialog.css:
1688         (.go-to-line-dialog > div::before):
1689         Update styles for new Search icon.
1690
1691         * UserInterface/Views/LegacyTabBar.js:
1692         (WI.LegacyTabBar.prototype.get saveableTabCount):
1693         Backported new TabBar method which is called by TabBrowser.
1694
1695         * UserInterface/Views/OpenResourceDialog.css:
1696         (.open-resource-dialog > .field::before):
1697         Update styles for new Search icon.
1698
1699         * UserInterface/Views/PinnedTabBarItem.js:
1700         (WI.PinnedTabBarItem.prototype.fromTabInfo):
1701         Match GeneralTabBarItem.fromTabInfo.
1702
1703         * UserInterface/Views/SearchTabContentView.js:
1704         (WI.SearchTabContentView):
1705         (WI.SearchTabContentView.tabInfo):
1706         New image (magnifying glass without border) when new TabBar is enabled.
1707
1708         * UserInterface/Views/SettingsTabContentView.js:
1709         (WI.SettingsTabContentView):
1710
1711         * UserInterface/Views/TabBar.js:
1712         (WI.TabBar):
1713         Move creation of the Settings item out of TabBar. The TabBar should
1714         only be concerned with managing tabs.
1715
1716         (WI.TabBar.prototype.get saveableTabCount):
1717         (WI.TabBar.prototype._handleContextMenu):
1718         (WI.TabBar.prototype.get normalNonEphemeralTabCount): Deleted.
1719         Now that the Search tab is pinned, there aren't any normal tabs that
1720         are also ephemeral. For the LegacyTabBar, both the Search and New Tab
1721         tabs are still in this category.
1722
1723         * UserInterface/Views/TabBrowser.js:
1724         (WI.TabBrowser.prototype.addTabForContentView):
1725         (WI.TabBrowser.prototype.closeTabForContentView):
1726         (WI.TabBrowser.prototype._tabBarItemSelected):
1727         (WI.TabBrowser._tabBarItemRemoved):
1728         Recent tab list should be validated against the list of saveable tabs,
1729         since the Search tab is no longer a normal tab (a GeneralTabBarItem),
1730         but is still persisted across Inspector sessions.
1731
1732 2018-02-16  Matt Baker  <mattbaker@apple.com>
1733
1734         Web Inspector: TabBar redesign: TabBarItem close button is incorrectly positioned
1735         https://bugs.webkit.org/show_bug.cgi?id=182844
1736         <rdar://problem/37586749>
1737
1738         Reviewed by Timothy Hatcher.
1739
1740         * UserInterface/Views/GeneralTabBarItem.js:
1741         (WI.GeneralTabBarItem.prototype.set title):
1742         Insert the title before the last flexible space item.
1743
1744         * UserInterface/Views/TabBar.css:
1745         (.tab-bar > .item):
1746         (.tab-bar > .item > .close):
1747         (.tab-bar > .item > .flex-space):
1748         (.tab-bar > .item.ephemeral > .flex-space:last-child):
1749         (.tab-bar.collapsed > .item):
1750         (.tab-bar.collapsed > .item > .flex-space):
1751         (.tab-bar.collapsed > .item > .close):
1752         (.tab-bar.collapsed > .item:hover > .close):
1753         (.tab-bar.collapsed > .item.ephemeral:hover > .icon):
1754         (.tab-bar > .item:hover > .close): Deleted.
1755         (.tab-bar:not(.collapsed) > .item.ephemeral:hover > .icon): Deleted.
1756
1757         * UserInterface/Views/TabBarItem.js:
1758         (WI.TabBarItem):
1759         Restore flexible space items before and after the icon.
1760
1761 2018-02-14  Nikita Vasilyev  <nvasilyev@apple.com>
1762
1763         Web Inspector: Styles: completion popover doesn't hide when switching panels
1764         https://bugs.webkit.org/show_bug.cgi?id=182464
1765         <rdar://problem/37202763>
1766
1767         Reviewed by Timothy Hatcher.
1768
1769         Save the position of the anchor, an element the popover is shown for, and hide the completion popover
1770         when the position changes.
1771
1772         * UserInterface/Views/CompletionSuggestionsView.js:
1773         (WI.CompletionSuggestionsView.prototype.showUntilAnchorMoves):
1774         When the popover is visible, check every 200ms if the anchor moved.
1775
1776         (WI.CompletionSuggestionsView.prototype.hide):
1777         * UserInterface/Views/SpreadsheetTextField.js:
1778         (WI.SpreadsheetTextField.prototype._updateCompletions):
1779         (WI.SpreadsheetTextField.prototype._getCaretRect):
1780         getBoundingClientRect returns {x: 0, y: 0} when it can't determine node's position.
1781         This happens when a node isn't attached to DOM, attached to DOM but not visible, and
1782         a number of odd cases.
1783
1784 2018-02-14  Matt Baker  <mattbaker@apple.com>
1785
1786         Web Inspector: TabBar redesign: only show allowed tabs in the available tabs context menu
1787         https://bugs.webkit.org/show_bug.cgi?id=182721
1788         <rdar://problem/37479019>
1789
1790         Reviewed by Timothy Hatcher.
1791
1792         In addition to only including allowed tabs in the TabBar context menu,
1793         perform a sanity check when setting the selected tab item, since the
1794         serialized selection index could refer to a tab that is no longer allowed.
1795
1796         * UserInterface/Views/LegacyTabBar.js:
1797         (WI.LegacyTabBar.prototype.set selectedTabBarItem):
1798         (WI.LegacyTabBar.prototype._handleContextMenu):
1799
1800         * UserInterface/Views/TabBar.js:
1801         (WI.TabBar.prototype.set selectedTabBarItem):
1802         (WI.TabBar.prototype._handleContextMenu):
1803
1804 2018-02-09  Matt Baker  <mattbaker@apple.com>
1805
1806         Web Inspector: Canvas tab: tree selection abruptly changes when selecting a recording frame
1807         https://bugs.webkit.org/show_bug.cgi?id=182667
1808         <rdar://problem/37412639>
1809
1810         Reviewed by Devin Rousso.
1811
1812         * UserInterface/Views/CanvasSidebarPanel.css:
1813         (.sidebar > .panel.navigation.canvas > .content > .recording-content > .navigation-bar):
1814         (.sidebar > .panel.navigation.canvas:not(.has-recordings) > .filter-bar,):
1815         (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.recording > .icon):
1816         (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.folder-icon > .icon):
1817         (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.folder-icon > .status):
1818         (.sidebar > .panel.navigation.canvas > .content > .navigation-bar): Deleted.
1819         (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.recording > .icon): Deleted.
1820         (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.folder-icon > .icon): Deleted.
1821         (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.folder-icon > .status): Deleted.
1822         Style changes for the additional DOM element required to virtualize the recording tree outline.
1823
1824         * UserInterface/Views/CanvasSidebarPanel.js:
1825         (WI.CanvasSidebarPanel):
1826         In order to be virtualized, the tree must be the only child of its parent.
1827
1828         (WI.CanvasSidebarPanel.prototype.set action):
1829         Ensure that a frame tree element isn't deselected when the last action
1830         in the frame becomes selected in the RecordingContentView.
1831
1832         (WI.CanvasSidebarPanel.prototype.shown):
1833         Refresh the sidebar, as represented objects may have changed while hidden.
1834
1835         (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange):
1836         Unset the recording when no valid represented objects are found, to
1837         prevent a stale recording tree from being shown when viewing the overview.
1838
1839         (WI.CanvasSidebarPanel.prototype._canvasChanged):
1840         (WI.CanvasSidebarPanel.prototype._recordingChanged):
1841         (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
1842         Moved toggling of the "has-recordings" style to _canvasChanged, since
1843         the navigation bar should be hidden when no canvas exists.
1844
1845         * UserInterface/Views/CollectionContentView.js:
1846         (WI.CollectionContentView.prototype.addContentViewForItem):
1847         (WI.CollectionContentView.prototype.removeContentViewForItem):
1848         Drive by fixes for child view visible state.
1849
1850         * UserInterface/Views/TreeOutline.css:
1851         (.tree-outline:not(.large):matches(:focus, .force-focus) .item.selected .status .indeterminate-progress-spinner):
1852         Make spinner easier to see against the selection background color.
1853
1854 2018-02-09  Matt Baker  <mattbaker@apple.com>
1855
1856         Web Inspector: Object.shallowEqual always fails when comparing array property values
1857         https://bugs.webkit.org/show_bug.cgi?id=182634
1858         <rdar://problem/37374639>
1859
1860         Reviewed by Devin Rousso.
1861
1862         Object.shallowEqual should use Array.shallowEqual when comparing property
1863         values, since strictly comparing objects/arrays is only true if both
1864         operands reference the same Object.
1865
1866         * UserInterface/Base/Utilities.js:
1867         (value):
1868
1869 2018-02-08  Matt Baker  <mattbaker@apple.com>
1870
1871         Web Inspector: add listing of Canvases/Programs/Recordings to the NavigationSidebar
1872         https://bugs.webkit.org/show_bug.cgi?id=178744
1873         <rdar://problem/35374379>
1874
1875         Reviewed by Devin Rousso.
1876
1877         * Localizations/en.lproj/localizedStrings.js:
1878
1879         * UserInterface/Images/Canvas2D.svg:
1880         * UserInterface/Images/Canvas3D.svg:
1881         * UserInterface/Images/Recording.svg:
1882         Update canvas icons to be monochrome. Simplified the recording icon.
1883
1884         * UserInterface/Main.html:
1885
1886         * UserInterface/Models/RecordingAction.js:
1887         (WI.RecordingAction.prototype.get state):
1888         (WI.RecordingAction.prototype.set state):
1889         Allow (2D) snapshot state to be associated with the action. Used by
1890         RecordingActionDetailsSidebarPanel to retrieve the snapshot state.
1891
1892         * UserInterface/Views/CanvasContentView.css:
1893         (.content-view.canvas:not(.tab)):
1894         (.content-view.canvas:not(.tab) > .progress): Deleted.
1895         (.content-view.canvas:not(.tab) > .progress > .frame-count): Deleted.
1896
1897         * UserInterface/Views/CanvasContentView.js:
1898         (WI.CanvasContentView):
1899         (WI.CanvasContentView.prototype.get navigationItems):
1900         (WI.CanvasContentView.prototype.layout):
1901         (WI.CanvasContentView.prototype.shown):
1902         (WI.CanvasContentView.prototype._recordingStarted):
1903         (WI.CanvasContentView.prototype._recordingProgress):
1904         (WI.CanvasContentView.prototype._recordingStopped):
1905         (WI.CanvasContentView.prototype._updateRecordNavigationItem):
1906         (WI.CanvasContentView.prototype._updateProgressView):
1907         Replace progress UI with a reusable ProgressView class.
1908         When in the overview, clicking the CanvasContentView shows a dedicated
1909         CanvasContentView for inspecting shaders and recordings. This behavior
1910         is controlled by CollectionContentView, so we need to prevent it when
1911         clicking inside the header and footer elements, which contain clickable UI.
1912
1913         * UserInterface/Views/CanvasDetailsSidebarPanel.js:
1914         (WI.CanvasDetailsSidebarPanel.prototype.inspect):
1915
1916         * UserInterface/Views/CanvasOverviewContentView.css:
1917         (.content-view.canvas-overview .content-view.canvas):
1918         (.content-view.canvas-overview .content-view.canvas.is-recording):
1919         (.content-view.canvas-overview .content-view.canvas > :matches(header, footer)):
1920         (.content-view.canvas-overview .content-view.canvas > header):
1921         (.content-view.canvas-overview .content-view.canvas.is-recording > header):
1922         (.content-view.canvas-overview .content-view.canvas > header > .navigation-bar):
1923         (.content-view.canvas-overview .content-view.canvas:matches(:hover, .is-recording) > header > .navigation-bar):
1924         (.content-view.canvas-overview .content-view.canvas.is-recording > .progress-view,):
1925         (.content-view.canvas-overview .content-view.canvas.is-recording > .preview):
1926         (.content-view.canvas-overview .content-view.canvas > :matches(header, .progress, .preview, footer)): Deleted.
1927         (.content-view.canvas-overview .content-view.canvas.selected > :matches(.progress, .preview, footer),): Deleted.
1928         (.content-view.canvas-overview .content-view.canvas:not(:hover, .is-recording, .selected) > header > .navigation-bar): Deleted.
1929         (.content-view.canvas-overview .content-view.canvas > :matches(.progress, .preview)): Deleted.
1930         (.content-view.canvas-overview .content-view.canvas > .preview): Deleted.
1931         (.content-view.canvas-overview .content-view.canvas > .progress ~ .preview): Deleted.
1932         Clean up styles, and remove selection styles as canvases are no longer selectable in the overview.
1933
1934         * UserInterface/Views/CanvasOverviewContentView.js:
1935         (WI.CanvasOverviewContentView):
1936         (WI.CanvasOverviewContentView.prototype.get navigationItems):
1937         (WI.CanvasOverviewContentView.prototype.attached):
1938         (WI.CanvasOverviewContentView.prototype.detached):
1939         (WI.CanvasOverviewContentView.prototype.get selectionPathComponents): Deleted.
1940         (WI.CanvasOverviewContentView.prototype._changeSelectedItemVertically): Deleted.
1941         (WI.CanvasOverviewContentView.prototype._changeSelectedItemHorizontally): Deleted.
1942         (WI.CanvasOverviewContentView.prototype._selectionPathComponentsChanged): Deleted.
1943         (WI.CanvasOverviewContentView.prototype._handleUp): Deleted.
1944         (WI.CanvasOverviewContentView.prototype._handleRight): Deleted.
1945         (WI.CanvasOverviewContentView.prototype._handleDown): Deleted.
1946         (WI.CanvasOverviewContentView.prototype._handleLeft): Deleted.
1947         (WI.CanvasOverviewContentView.prototype._handleSpace): Deleted.
1948         (WI.CanvasOverviewContentView.prototype._supplementalRepresentedObjectsDidChange): Deleted.
1949         Disable canvas selection. Remove logic for supplemental represented objects,
1950         path components, and selection keyboard shortcuts.
1951
1952         * UserInterface/Views/CanvasSidebarPanel.css: Added.
1953         (.sidebar > .panel.navigation.canvas > .content):
1954         (.sidebar > .panel.navigation.canvas > .navigation-bar > .item.record-start-stop.disabled):
1955         (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.canvas.canvas-2d .icon):
1956         (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.canvas.webgl .icon):
1957         (.sidebar > .panel.navigation.canvas > .content > .navigation-bar):
1958         (.sidebar > .panel.navigation.canvas.has-recordings > .content > .tree-outline.canvas):
1959         (.sidebar > .panel.navigation.canvas:not(.has-recordings) > .filter-bar,):
1960         (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.recording > .icon):
1961         (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.shader-program > .icon):
1962         (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.folder-icon > .icon):
1963         (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.folder-icon > .status):
1964
1965         * UserInterface/Views/CanvasSidebarPanel.js: Added.
1966         (WI.CanvasSidebarPanel):
1967         (WI.CanvasSidebarPanel.prototype.get canvas):
1968         (WI.CanvasSidebarPanel.prototype.set canvas):
1969         (WI.CanvasSidebarPanel.prototype.set recording):
1970         (WI.CanvasSidebarPanel.prototype.set action):
1971         (WI.CanvasSidebarPanel.prototype.shown):
1972         (WI.CanvasSidebarPanel.prototype.hidden):
1973         (WI.CanvasSidebarPanel.prototype.hasCustomFilters):
1974         (WI.CanvasSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
1975         (WI.CanvasSidebarPanel.prototype.initialLayout):
1976         (WI.CanvasSidebarPanel.prototype._recordingAdded):
1977         (WI.CanvasSidebarPanel.prototype._recordingRemoved):
1978         (WI.CanvasSidebarPanel.prototype._scopeBarSelectionChanged):
1979         (WI.CanvasSidebarPanel.prototype._toggleRecording):
1980         (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange):
1981         (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange):
1982         (WI.CanvasSidebarPanel.prototype._canvasChanged):
1983         (WI.CanvasSidebarPanel.prototype._recordingChanged):
1984         (WI.CanvasSidebarPanel.prototype._updateRecordNavigationItem):
1985         (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
1986         Add new navigation sidebar, split into two sections. The upper section
1987         contains a tree with a single element for the current canvas, and child
1988         elements for any shader programs. The maximum height of this section is 50%
1989         of the sidebar's height. The lower section contains a tree for the selected
1990         recording, and a scope bar for choosing between recordings.
1991
1992         * UserInterface/Views/CanvasTabContentView.css:
1993         (.content-view.tab.canvas .navigation-bar > .item .canvas-overview .icon):
1994         (.content-view.tab.canvas .navigation-bar > .item .canvas.canvas-2d .icon):
1995         (.content-view.tab.canvas .navigation-bar > .item .canvas.webgl .icon):
1996         (.content-view.tab.canvas .navigation-bar > .item .shader-program > .icon):
1997         (.content-view.tab.canvas .navigation-bar > .item > .hierarchical-path-component > .icon): Deleted.
1998         (.content-view.tab.canvas .navigation-bar > .item .canvas .icon): Deleted.
1999
2000         * UserInterface/Views/CanvasTabContentView.js:
2001         (WI.CanvasTabContentView):
2002         (WI.CanvasTabContentView.prototype.canShowRepresentedObject):
2003         (WI.CanvasTabContentView.prototype.attached):
2004         (WI.CanvasTabContentView.prototype._addCanvas):
2005         (WI.CanvasTabContentView.prototype._removeCanvas):
2006         (WI.CanvasTabContentView.prototype._canvasTreeOutlineSelectionDidChange):
2007         (WI.CanvasTabContentView.prototype._recordingAdded):
2008         (WI.CanvasTabContentView.prototype._handleSpace):
2009         (WI.CanvasTabContentView.prototype.showRepresentedObject): Deleted.
2010         (WI.CanvasTabContentView.prototype._navigationSidebarTreeOutlineSelectionChanged): Deleted.
2011         (WI.CanvasTabContentView.prototype._recordingActionIndexChanged): Deleted.
2012         (WI.CanvasTabContentView.prototype._updateActionIndex): Deleted.
2013         The canvas tab now maintains a tree outline of all canvases, with an
2014         "Overview" element as the root. The Overview element is always the first
2015         item of content browser's hierarchical path.
2016
2017         * UserInterface/Views/CanvasTreeElement.js:
2018         (WI.CanvasTreeElement.createRecordingTreeElement):
2019         (WI.CanvasTreeElement):
2020         (WI.CanvasTreeElement.prototype.onattach):
2021         (WI.CanvasTreeElement.prototype.onpopulate):
2022         (WI.CanvasTreeElement.prototype._updateStatus):
2023         (WI.CanvasTreeElement.prototype.ondetach): Deleted.
2024         Make it possible to not show recordings under the Canvas element.
2025         Create `isRecording` status element (spinner).
2026
2027         * UserInterface/Views/CollectionContentView.js:
2028         (WI.CollectionContentView.prototype.shown):
2029         (WI.CollectionContentView.prototype.hidden):
2030         Child ContentViews need to be updated when the collection's visibility changes.
2031
2032         * UserInterface/Views/ContentView.js:
2033         (WI.ContentView.isViewable):
2034
2035         * UserInterface/Views/ProgressView.css: Added.
2036         (.progress-view):
2037         (.progress-view > .titles):
2038         (.progress-view > .titles > .title):
2039         (.progress-view > .titles > .subtitle):
2040         (.progress-view > .titles > .subtitle::before):
2041         (.progress-view > .indeterminate-progress-spinner):
2042
2043         * UserInterface/Views/ProgressView.js: Added.
2044         (WI.ProgressView):
2045         (WI.ProgressView.prototype.get title):
2046         (WI.ProgressView.prototype.set title):
2047         (WI.ProgressView.prototype.get subtitle):
2048         (WI.ProgressView.prototype.set subtitle):
2049         (WI.ProgressView.prototype.get visible):
2050         (WI.ProgressView.prototype.set visible):
2051         (WI.ProgressView.prototype.initialLayout):
2052         (WI.ProgressView.prototype._updateTitles):
2053         New view class (not a ContentView) for showing a generic progress message,
2054         with a title, subtitle, and progress spinner.
2055
2056         * UserInterface/Views/RecordingContentView.css:
2057         (.content-view:not(.tab).recording > .preview-container):
2058         Remove unnecessary styles.
2059
2060         * UserInterface/Views/RecordingContentView.js:
2061         (WI.RecordingContentView):
2062         (WI.RecordingContentView.prototype.get navigationItems):
2063         (WI.RecordingContentView.prototype.get supplementalRepresentedObjects):
2064         (WI.RecordingContentView.prototype.updateActionIndex):
2065         (WI.RecordingContentView.prototype.get saveData):
2066         (WI.RecordingContentView.prototype._exportRecording):
2067         Relocate the recording export logic and UI.
2068         (WI.RecordingContentView.prototype.async._generateContentCanvas2D):
2069         (WI.RecordingContentView.prototype.async._generateContentCanvasWebGL):
2070         (WI.RecordingContentView.prototype._sliderChanged):
2071         Refactor logic for notifying the rest of the UI of changes to the action slider.
2072         The selected action is now exposed as a supplemental represented object, and a
2073         corresponding SupplementalRepresentedObjectsDidChange event.
2074
2075         * UserInterface/Views/RecordingStateDetailsSidebarPanel.js:
2076         (WI.RecordingStateDetailsSidebarPanel.prototype.inspect):
2077         (WI.RecordingStateDetailsSidebarPanel.prototype.set action):
2078         (WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):
2079         (WI.RecordingStateDetailsSidebarPanel):
2080         (WI.RecordingStateDetailsSidebarPanel.prototype.updateAction): Deleted.
2081
2082         * UserInterface/Views/RecordingTraceDetailsSidebarPanel.js:
2083         (WI.RecordingTraceDetailsSidebarPanel.prototype.inspect):
2084         (WI.RecordingTraceDetailsSidebarPanel.prototype.set action):
2085         (WI.RecordingTraceDetailsSidebarPanel):
2086         (WI.RecordingTraceDetailsSidebarPanel.prototype.updateAction): Deleted.
2087         Now that the selected action is exposed to the UI as a supplemental
2088         represented object, details sidebars can be more decoupled from the
2089         canvas tab, and be notified of changes to the selection via `inspect()`.
2090
2091         * UserInterface/Views/ResourceIcons.css:
2092         (.canvas > .icon): Deleted.
2093         (.shader-program .icon): Deleted.
2094
2095 2018-02-08  Nikita Vasilyev  <nvasilyev@apple.com>
2096
2097         Web Inspector: Styles: Typing value and quickly moving focus away may display outdated value in UI
2098         https://bugs.webkit.org/show_bug.cgi?id=182588
2099         <rdar://problem/37332161>
2100
2101         Reviewed by Matt Baker.
2102
2103         CSSProperty models were updated with a 250ms delay. Quickly adding a blank property after modifying
2104         an existing property could result in outdated values being shown.
2105
2106         This patch removes the 250ms delay.
2107
2108         * UserInterface/Views/SpreadsheetStyleProperty.js:
2109         (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidChange):
2110
2111 2018-02-07  Matt Baker  <mattbaker@apple.com>
2112
2113         Web Inspector: replace isAncestor with Node.contains() in LegacyTabBar
2114         https://bugs.webkit.org/show_bug.cgi?id=182586
2115
2116         Reviewed by Timothy Hatcher.
2117
2118         * UserInterface/Views/LegacyTabBar.js:
2119
2120 2018-02-07  Nikita Vasilyev  <nvasilyev@apple.com>
2121
2122         Web Inspector: Styles: completion popover doesn't hide when switching panels
2123         https://bugs.webkit.org/show_bug.cgi?id=182464
2124         <rdar://problem/37202763>
2125
2126         Reviewed by Timothy Hatcher.
2127
2128         Hide completion popover by triggering blur event on the focused text field.
2129         Removing text fields from the DOM tree would hide the completion popovers as well,
2130         but switching sidebar panels doesn't remove them from the DOM.
2131
2132         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
2133         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.hidden):
2134         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
2135         (WI.SpreadsheetCSSStyleDeclarationSection.prototype.hidden):
2136         * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
2137         (WI.SpreadsheetRulesStyleDetailsPanel.prototype.hidden):
2138         * UserInterface/Views/SpreadsheetStyleProperty.js:
2139         (WI.SpreadsheetStyleProperty.prototype.hidden):
2140
2141 2018-02-06  Devin Rousso  <webkit@devinrousso.com>
2142
2143         Web Inspector: Replace isAncestor and isDescendant with native DOM contains method
2144         https://bugs.webkit.org/show_bug.cgi?id=182069
2145
2146         Reviewed by Brian Burg.
2147
2148         * UserInterface/Base/Main.js:
2149         (WI.restoreFocusFromElement):
2150         (WI._mouseDown):
2151         (WI._focusedContentBrowser):
2152         (WI._focusedContentView):
2153         * UserInterface/Base/Utilities.js:
2154         (Node.prototype.traverseNextNode):
2155         (Node.prototype.isAncestor): Deleted.
2156         (Node.prototype.isDescendant): Deleted.
2157         (Node.prototype.isSelfOrAncestor): Deleted.
2158         (Node.prototype.isSelfOrDescendant): Deleted.
2159         * UserInterface/Views/BoxModelDetailsSectionRow.js:
2160         (WI.BoxModelDetailsSectionRow.prototype._handleKeyDown):
2161         * UserInterface/Views/CSSStyleDeclarationSection.js:
2162         (WI.CSSStyleDeclarationSection.prototype._handleSelectorPaste):
2163         * UserInterface/Views/DOMTreeOutline.js:
2164         (WI.DOMTreeOutline.prototype._onmouseout):
2165         * UserInterface/Views/DetailsSection.js:
2166         (WI.DetailsSection.prototype._headerElementClicked):
2167         * UserInterface/Views/EditingSupport.js:
2168         (WI.incrementElementValue):
2169         * UserInterface/Views/LogContentView.js:
2170         (WI.LogContentView.prototype._handleContextMenuEvent):
2171         * UserInterface/Views/ShaderProgramTreeElement.js:
2172         (WI.ShaderProgramTreeElement.prototype.selectOnMouseDown):
2173         * UserInterface/Views/SoftContextMenu.js:
2174         (WI.SoftContextMenu.prototype._menuItemMouseOut):
2175         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
2176         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.initialLayout):
2177         * UserInterface/Views/TabBar.js:
2178         (WI.TabBar.prototype.insertTabBarItem):
2179
2180 2018-02-06  Devin Rousso  <webkit@devinrousso.com>
2181
2182         Web Inspector: Elements tab should have "Jump to Layer" functionality
2183         https://bugs.webkit.org/show_bug.cgi?id=181800
2184
2185         Reviewed by Joseph Pecoraro.
2186
2187         * Localizations/en.lproj/localizedStrings.js:
2188
2189         * UserInterface/Base/Main.js:
2190         (WI.isShowingElementsTab):
2191         (WI.showLayersTab):
2192         (WI.isShowingLayersTab):
2193
2194         * UserInterface/Views/ContextMenuUtilities.js:
2195         (WI.appendContextMenuItemsForDOMNode):
2196
2197         * UserInterface/Views/LayersTabContentView.js:
2198         (WI.LayersTabContentView.prototype.selectLayerForNode):
2199
2200         * UserInterface/Views/Layers3DContentView.js:
2201         (WI.Layers3DContentView):
2202         (WI.Layers3DContentView.prototype.selectLayerForNode):
2203         (WI.Layers3DContentView.prototype.layout):
2204
2205         * UserInterface/Views/LayerDetailsSidebarPanel.js:
2206         (WI.LayerDetailsSidebarPanel):
2207         (WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId):
2208         (WI.LayerDetailsSidebarPanel.prototype._updateDataGrid):
2209
2210 2018-02-06  Nikita Vasilyev  <nvasilyev@apple.com>
2211
2212         Web Inspector: Rename String.prototype.trimEnd to avoid conflicts with native trimEnd
2213         https://bugs.webkit.org/show_bug.cgi?id=182545
2214
2215         Reviewed by Brian Burg.
2216
2217         Rename:
2218         - trimEnd to truncateEnd
2219         - trimMiddle to truncateMiddle
2220
2221         * UserInterface/Base/Utilities.js:
2222         (String.prototype.trimMiddle): Deleted.
2223         (String.prototype.trimEnd): Deleted.
2224         (String.prototype.truncateMiddle): Added.
2225         (String.prototype.truncateEnd): Added.
2226         Use strict mode. Scrict mode allows `this` to be a primitive (a string, in our case).
2227         In non-strict mode, `this` is always an object. Without the strict mode,
2228         "a".truncateEnd(42) !== "a", because truncateEnd returns a string object.
2229
2230         * UserInterface/Views/DOMTreeElement.js:
2231         (WI.DOMTreeElement.prototype._buildAttributeDOM):
2232         * UserInterface/Views/DOMTreeElementPathComponent.js:
2233         (WI.DOMTreeElementPathComponent):
2234         * UserInterface/Views/SearchResultTreeElement.js:
2235         Remove an obvious comment.
2236
2237         (WI.SearchResultTreeElement.truncateAndHighlightTitle):
2238         * UserInterface/Views/SpreadsheetStyleProperty.js:
2239         (WI.SpreadsheetStyleProperty.prototype._renderValue):
2240
2241 2018-02-05  Nikita Vasilyev  <nvasilyev@apple.com>
2242
2243         Web Inspector: Add an experimental setting to enable Sources tab
2244         https://bugs.webkit.org/show_bug.cgi?id=182461
2245
2246         Reviewed by Brian Burg.
2247
2248         This patch only adds a setting. It doesn't add the Sources tab.
2249
2250         * Localizations/en.lproj/localizedStrings.js:
2251         * UserInterface/Base/Setting.js:
2252         * UserInterface/Views/SettingsTabContentView.js:
2253
2254 2018-02-02  Devin Rousso  <webkit@devinrousso.com>
2255
2256         Web Inspector: Styles Redesign: Pasting multiple properties should create properties instead of a bad property
2257         https://bugs.webkit.org/show_bug.cgi?id=179622
2258         <rdar://problem/35511170>
2259
2260         Reviewed by Matt Baker.
2261
2262         * UserInterface/Views/SpreadsheetStyleProperty.js:
2263         (WI.SpreadsheetStyleProperty.prototype._remove):
2264         (WI.SpreadsheetStyleProperty.prototype._update):
2265         (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidCommit):
2266         (WI.SpreadsheetStyleProperty.prototype._handleNamePaste):
2267         When the user pastes into the name field, parse the text for a list of name-value pairs and
2268         replace the property being edited with the text of those pairs.
2269
2270         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
2271         (WI.SpreadsheetCSSStyleDeclarationEditor):
2272         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
2273         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.addBlankProperty):
2274         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyFocusMoved):
2275         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyAddBlankPropertySoon):
2276         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyRemoved):
2277         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesChanged):
2278         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetCSSStyleDeclarationEditorFocusMoved): Deleted.
2279         Calling `addBlankProperty` will trigger a layout on the next frame, but that might be before
2280         the CSSAgent has had a chance to finish refreshing, so we need a way to defer the creation
2281         of a new property until after we have finished the next layout (which is after the refresh).
2282         Drive-by: fix naming of some delegate functions.
2283
2284         * UserInterface/Models/CSSProperty.js:
2285         (WI.CSSProperty.prototype.replaceWithText):
2286         Provide a way for replacing the property with new text.
2287
2288 2018-02-02  Matt Baker  <mattbaker@apple.com>
2289
2290         Web Inspector: TabBar redesign: remove New Tab button and add experimental feature flag
2291         https://bugs.webkit.org/show_bug.cgi?id=182342
2292         <rdar://problem/37078662>
2293
2294         Reviewed by Devin Rousso.
2295
2296         This patch adds a new experimental setting group, "User Interface", with
2297         a single setting, "Enable New TabBar". When enabled, the New Tab button is
2298         no longer available in the top-level TabBar. The 'open tabs' context menu
2299         no longer allows the last non-ephemeral open tab to be closed (unchecked).
2300
2301         * Localizations/en.lproj/localizedStrings.js:
2302
2303         * UserInterface/Base/Main.js:
2304         (WI.contentLoaded):
2305         (WI._tryToRestorePendingTabs):
2306         Retain legacy behavior behind experimental feature setting.
2307         (WI.isNewTabWithTypeAllowed):
2308
2309         * UserInterface/Base/Setting.js:
2310         * UserInterface/Main.html:
2311
2312         * UserInterface/Views/CanvasTabContentView.js:
2313         (WI.CanvasTabContentView):
2314         * UserInterface/Views/ConsoleTabContentView.js:
2315         (WI.ConsoleTabContentView):
2316         * UserInterface/Views/DebuggerTabContentView.js:
2317         (WI.DebuggerTabContentView):
2318         * UserInterface/Views/ElementsTabContentView.js:
2319         (WI.ElementsTabContentView):
2320
2321         * UserInterface/Views/GeneralTabBarItem.js:
2322         (WI.GeneralTabBarItem):
2323         (WI.GeneralTabBarItem.prototype.fromTabInfo):
2324         (WI.GeneralTabBarItem.prototype.get isEphemeral):
2325         (WI.GeneralTabBarItem.fromTabContentViewConstructor): Deleted.
2326
2327         * UserInterface/Views/LayersTabContentView.js:
2328         (WI.LayersTabContentView):
2329
2330         * UserInterface/Views/LegacyTabBar.js: Copied from Source/WebInspectorUI/UserInterface/Views/TabBar.js.
2331         (WI.LegacyTabBar):
2332         (WI.LegacyTabBar.prototype.get newTabTabBarItem):
2333         (WI.LegacyTabBar.prototype.updateNewTabTabBarItemState):
2334         (WI.LegacyTabBar.prototype.addTabBarItem):
2335         (WI.LegacyTabBar.prototype.insertTabBarItem.animateTabs):
2336         (WI.LegacyTabBar.prototype.insertTabBarItem.removeStyles):
2337         (WI.LegacyTabBar.prototype.insertTabBarItem):
2338         (WI.LegacyTabBar.prototype.removeTabBarItem.animateTabs):
2339         (WI.LegacyTabBar.prototype.removeTabBarItem.removeStyles):
2340         (WI.LegacyTabBar.prototype.removeTabBarItem):
2341         (WI.LegacyTabBar.prototype.selectPreviousTab):
2342         (WI.LegacyTabBar.prototype.selectNextTab):
2343         (WI.LegacyTabBar.prototype.get selectedTabBarItem):
2344         (WI.LegacyTabBar.prototype.set selectedTabBarItem):
2345         (WI.LegacyTabBar.prototype.get tabBarItems):
2346         (WI.LegacyTabBar.prototype.get normalTabCount):
2347         (WI.LegacyTabBar.prototype.layout.forceItemHidden):
2348         (WI.LegacyTabBar.prototype.layout):
2349         (WI.LegacyTabBar.prototype._tabBarItemsFromLeftToRight):
2350         (WI.LegacyTabBar.prototype._findTabBarItem):
2351         (WI.LegacyTabBar.prototype._hasMoreThanOneNormalTab):
2352         (WI.LegacyTabBar.prototype._openDefaultTab):
2353         (WI.LegacyTabBar.prototype._recordTabBarItemSizesAndPositions):
2354         (WI.LegacyTabBar.prototype._applyTabBarItemSizesAndPositions):
2355         (WI.LegacyTabBar.prototype._clearTabBarItemSizesAndPositions):
2356         (WI.LegacyTabBar.prototype._finishExpandingTabsAfterClose.):
2357         (WI.LegacyTabBar.prototype._finishExpandingTabsAfterClose):
2358         (WI.LegacyTabBar.prototype._handleMouseDown):
2359         (WI.LegacyTabBar.prototype._handleClick):
2360         (WI.LegacyTabBar.prototype._handleMouseMoved):
2361         (WI.LegacyTabBar.prototype._handleMouseUp):
2362         (WI.LegacyTabBar.prototype._handleMouseLeave):
2363         (WI.LegacyTabBar.prototype._handleContextMenu):
2364         (WI.LegacyTabBar.prototype._handleNewTabClick):
2365         (WI.LegacyTabBar.prototype._handleTabPickerTabContextMenu):
2366         (WI.LegacyTabBar.prototype._handleNewTabMouseEnter):
2367
2368         * UserInterface/Views/NetworkTabContentView.js:
2369         (WI.NetworkTabContentView):
2370         * UserInterface/Views/NewTabContentView.js:
2371         (WI.NewTabContentView):
2372         (WI.NewTabContentView.tabInfo):
2373         (WI.NewTabContentView.isEphemeral): Deleted.
2374         * UserInterface/Views/ResourcesTabContentView.js:
2375         (WI.ResourcesTabContentView):
2376         * UserInterface/Views/SearchTabContentView.js:
2377         (WI.SearchTabContentView):
2378         (WI.SearchTabContentView.tabInfo):
2379         (WI.SearchTabContentView.isEphemeral): Deleted.
2380
2381         * UserInterface/Views/SettingsTabContentView.js:
2382         (WI.SettingsTabContentView.tabInfo):
2383         (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
2384         (WI.SettingsTabContentView.isEphemeral): Deleted.
2385
2386         * UserInterface/Views/StorageTabContentView.js:
2387         (WI.StorageTabContentView):
2388
2389         * UserInterface/Views/TabBar.css:
2390         * UserInterface/Views/TabBar.js:
2391         (WI.TabBar):
2392         (WI.TabBar.prototype.insertTabBarItem):
2393         (WI.TabBar.prototype.removeTabBarItem):
2394         (WI.TabBar.prototype.set selectedTabBarItem):
2395         (WI.TabBar.prototype.get normalNonEphemeralTabCount):
2396         (WI.TabBar.prototype._handleMouseDown):
2397         (WI.TabBar.prototype._handleClick):
2398         (WI.TabBar.prototype._handleMouseMoved):
2399         (WI.TabBar.prototype._handleMouseLeave):
2400         (WI.TabBar.prototype._handleContextMenu):
2401         (WI.TabBar.prototype._handleTabPickerTabContextMenu):
2402         (WI.TabBar.prototype.get newTabTabBarItem): Deleted.
2403         (WI.TabBar.prototype.updateNewTabTabBarItemState): Deleted.
2404         (WI.TabBar.prototype._openDefaultTab): Deleted.
2405         (WI.TabBar.prototype._handleNewTabClick): Deleted.
2406         (WI.TabBar.prototype._handleNewTabMouseEnter): Deleted.
2407         Remove support for the New Tab button and default tab. Without a default
2408         tab, there is nothing to display when no tabs are open, so prevent the
2409         last non-pinned tab from being removed.
2410
2411         * UserInterface/Views/TabBrowser.js:
2412         (WI.TabBrowser._tabBarItemRemoved):
2413         * UserInterface/Views/TabContentView.js:
2414         (WI.TabContentView.isEphemeral): Deleted.
2415         * UserInterface/Views/TimelineTabContentView.js:
2416         (WI.TimelineTabContentView):
2417
2418 2018-01-30  Devin Rousso  <webkit@devinrousso.com>
2419
2420         Web Inspector: Replace Object.shallowMerge with ES2018 spread operator
2421         https://bugs.webkit.org/show_bug.cgi?id=182219
2422
2423         Reviewed by Brian Burg.
2424
2425         * UserInterface/Base/Utilities.js:
2426         (Object.shallowMerge): Deleted.
2427         * UserInterface/Base/DOMUtilities.js:
2428         (WI.linkifyNodeReference):
2429         * UserInterface/Base/Main.js:
2430         (WI.handlePossibleLinkClick):
2431         (WI.openURL):
2432         (WI.showSourceCodeLocation):
2433         (WI.showOriginalUnformattedSourceCodeLocation):
2434         (WI.showOriginalOrFormattedSourceCodeLocation):
2435         (WI.showOriginalOrFormattedSourceCodeTextRange):
2436         (WI.linkifyLocation):
2437         * UserInterface/Views/DOMTreeElement.js:
2438         (WI.DOMTreeElement.prototype._insertAdjacentHTML):
2439         * UserInterface/Views/WebSocketContentView.js:
2440         (WI.WebSocketContentView.prototype._addRow):
2441
2442 2018-01-26  Matt Baker  <mattbaker@apple.com>
2443
2444         Web Inspector: Timelines content browser NavigationBar is squashed at narrow heights
2445         https://bugs.webkit.org/show_bug.cgi?id=182196
2446         <rdar://problem/36929899>
2447
2448         Reviewed by Joseph Pecoraro.
2449
2450         * UserInterface/Views/NavigationBar.css:
2451         (.navigation-bar):
2452
2453 2018-01-26  Matt Baker  <mattbaker@apple.com>
2454
2455         Web Inspector: TabBar redesign: improvements to tab layout and resize behavior
2456         https://bugs.webkit.org/show_bug.cgi?id=181468
2457         <rdar://problem/36395439>
2458
2459         Reviewed by Devin Rousso.
2460
2461         * Localizations/en.lproj/localizedStrings.js:
2462
2463         * UserInterface/Images/TabPicker.svg: Added.
2464         New ">>" icon for the tab picker button.
2465
2466         * UserInterface/Views/CanvasTabContentView.js:
2467         (WI.CanvasTabContentView):
2468         * UserInterface/Views/ConsoleTabContentView.js:
2469         (WI.ConsoleTabContentView):
2470         * UserInterface/Views/DebuggerTabContentView.js:
2471         (WI.DebuggerTabContentView):
2472         * UserInterface/Views/ElementsTabContentView.js:
2473         (WI.ElementsTabContentView):
2474
2475         * UserInterface/Views/GeneralTabBarItem.js:
2476         (WI.GeneralTabBarItem):
2477         (WI.GeneralTabBarItem.fromTabContentViewConstructor):
2478         (WI.GeneralTabBarItem.prototype.get title):
2479         Add missing override for getter/setter pair.
2480         (WI.GeneralTabBarItem.prototype.set title):
2481         (WI.GeneralTabBarItem.prototype._handleContextMenuEvent):
2482         Show the close button on ephemeral tabs only (Search, New Tab).
2483         Replace unused `representedObject` parameter with `isEphemeral`, which
2484         determines whether to show a close button for the tab.
2485
2486         * UserInterface/Views/LayersTabContentView.js:
2487         (WI.LayersTabContentView):
2488
2489         * UserInterface/Views/NavigationBar.js:
2490         Remove unused symbol.
2491
2492         * UserInterface/Views/NetworkTabContentView.js:
2493         (WI.NetworkTabContentView):
2494         * UserInterface/Views/NewTabContentView.js:
2495         (WI.NewTabContentView):
2496
2497         * UserInterface/Views/PinnedTabBarItem.js:
2498         (WI.PinnedTabBarItem):
2499         Remove unused parameter.
2500
2501         * UserInterface/Views/ResourcesTabContentView.js:
2502         (WI.ResourcesTabContentView):
2503         * UserInterface/Views/SearchTabContentView.js:
2504         (WI.SearchTabContentView):
2505         * UserInterface/Views/StorageTabContentView.js:
2506         (WI.StorageTabContentView):
2507
2508         * UserInterface/Views/TabBar.css:
2509         (.tab-bar > .item):
2510         (.tab-bar.calculate-width > .item):
2511         (.tab-bar > .item.pinned.tab-picker):
2512         (.tab-bar > .item > .close):
2513         (.tab-bar > .item > .title):
2514         (.tab-bar:not(.collapsed) > .item > .title):
2515         (.tab-bar.collapsed > .item:not(.pinned) > .icon):
2516         (.tab-bar > .item:hover > .close):
2517         (.tab-bar.collapsed > .item:hover > .close):
2518         (.tab-bar:not(.collapsed) > .item.ephemeral:hover > .icon):
2519         (.tab-bar.collapsed > .item.ephemeral:hover > .title):
2520         (body[dir=ltr] .tab-bar > .item > .close): Deleted.
2521         (body[dir=rtl] .tab-bar > .item > .close): Deleted.
2522         (.tab-bar > .item > .flex-space): Deleted.
2523         (.tab-bar > .item:not(.pinned) > .flex-space:last-child): Deleted.
2524         (body[dir=ltr] .tab-bar > .item:not(.pinned) > .flex-space:last-child): Deleted.
2525         (body[dir=rtl] .tab-bar > .item:not(.pinned) > .flex-space:last-child): Deleted.
2526         (body[dir=ltr] .tab-bar > .item > .title): Deleted.
2527         (body[dir=rtl] .tab-bar > .item > .title): Deleted.
2528         (.tab-bar.collapsed > .item): Deleted.
2529         (.tab-bar.collapsed > .item > .flex-space): Deleted.
2530         (.tab-bar.collapsed > .item > .close): Deleted.
2531         (body[dir=ltr] .tab-bar.collapsed > .item > .close): Deleted.
2532         (body[dir=rtl] .tab-bar.collapsed > .item > .close): Deleted.
2533         (.tab-bar.hide-titles > .item > .title): Deleted.
2534         (.tab-bar.collapsed:not(.hide-titles) > .item:not(.pinned):hover > .icon,): Deleted.
2535         (.tab-bar.collapsed:not(.hide-titles) > .item:hover > .close,): Deleted.
2536         Clean up tab styles and prevent tabs from shrinking during flex layout.
2537         Added new `calculate-width` class, to disable flex layout when measuring
2538         the minimum width of the TabBar required to fit all tab items.
2539
2540         * UserInterface/Views/TabBar.js:
2541         (WI.TabBar):
2542         (WI.TabBar.prototype.set selectedTabBarItem):
2543         (WI.TabBar.prototype.layout.forceItemHidden):
2544         (WI.TabBar.prototype.layout):
2545         Perform two layout passes, similar to NavigationBar. The first pass disables
2546         flex layout and measures tab items at full size. If the bar isn't wide enough
2547         to show all the tabs, hide their icons and measure again. If there still isn't
2548         room, hide tabs starting from the end of the bar and display the tab picker.
2549
2550         (WI.TabBar.prototype._handleMouseDown):
2551         (WI.TabBar.prototype._handleTabPickerTabContextMenu):
2552
2553         * UserInterface/Views/TabBarItem.js:
2554         (WI.TabBarItem):
2555
2556         * UserInterface/Views/TimelineTabContentView.js:
2557         (WI.TimelineTabContentView):
2558
2559 2018-01-25  Joseph Pecoraro  <pecoraro@apple.com>
2560
2561         Web Inspector: Network Table: Sort indicator is not displayed when sorted column is hidden and re-shown
2562         https://bugs.webkit.org/show_bug.cgi?id=182164
2563         <rdar://problem/36892619>
2564
2565         Reviewed by Brian Burg.
2566
2567         * UserInterface/Views/Table.js:
2568         (WI.Table.prototype.showColumn):
2569         Re-add the sort classes if the column being shown is the active sort column.
2570
2571 2018-01-25  Joseph Pecoraro  <pecoraro@apple.com>
2572
2573         Web Inspector: Network - Cookies view should behave better at narrow widths, all data is hidden
2574         https://bugs.webkit.org/show_bug.cgi?id=182163
2575         <rdar://problem/36893241>
2576
2577         Reviewed by Brian Burg.
2578
2579         * UserInterface/Views/ResourceCookiesContentView.css:
2580         (.resource-cookies .table):
2581         Give these tables a reasonable minimum size so that if the inspector
2582         is narrow, the content view can still be scrolled to see all of
2583         the table data.
2584
2585         * UserInterface/Views/Table.css:
2586         (.table > .header):
2587         Match the data-container and mark overflow as hidden, otherwise
2588         super narrow widths show header content beyond the edge.
2589
2590 2018-01-25  Joseph Pecoraro  <pecoraro@apple.com>
2591
2592         Web Inspector: "Displayed Columns" should not be displayed in context menu if all columns are required columns
2593         https://bugs.webkit.org/show_bug.cgi?id=182162
2594         <rdar://problem/36893758>
2595
2596         Reviewed by Matt Baker.
2597
2598         * UserInterface/Views/Table.js:
2599         (WI.Table.prototype._handleHeaderContextMenu):
2600         Only add the header column when we know there are hideable columns.
2601
2602 2018-01-24  Joseph Pecoraro  <pecoraro@apple.com>
2603
2604         Web Inspector: Simplify update-LegacyInspectorBackendCommands.rb
2605         https://bugs.webkit.org/show_bug.cgi?id=182067
2606
2607         Reviewed by Brian Burg.
2608
2609         * Scripts/update-LegacyInspectorBackendCommands.rb:
2610         Remove stale dependency_json, it has always been empty for a while now.
2611         Switch to framework WebInspectorUI to generate only the backend commands
2612         and not spend time generating a bunch of cpp files.
2613
2614 2018-01-24  Nikita Vasilyev  <nvasilyev@apple.com>
2615
2616         REGRESSION (r226994): Web Inspector: Styles: Suggestions popover floats in top-left corner of Web Inspector after tabbing
2617         https://bugs.webkit.org/show_bug.cgi?id=182027
2618
2619         Reviewed by Matt Baker.
2620
2621         r226994 added a layout of all properties on property removal. Layout caused
2622         a property element to be removed from DOM right before dislaying the suggestion
2623         popover, resulting in the popover being displayed at the top left corner.
2624
2625         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
2626         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
2627         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyRemoved):
2628         Only update property view indices when a property is removed.
2629
2630         * UserInterface/Views/SpreadsheetStyleProperty.js:
2631         (WI.SpreadsheetStyleProperty):
2632         (WI.SpreadsheetStyleProperty.prototype.set index):
2633
2634         * UserInterface/Views/SpreadsheetTextField.js:
2635         (WI.SpreadsheetTextField.prototype._updateCompletions):
2636         Checking this._element.parentNode to see if the element is attached to the DOM tree is unreliable,
2637         since the element may have a non-null parent node that is detached from the DOM tree. To fix that,
2638         we could traverse element's ancestors, but I used a concise isConnected property instead.
2639
2640 2018-01-24  Joseph Pecoraro  <pecoraro@apple.com>
2641
2642         ReferenceError:​ Can't find variable:​ DOMAgent (at ScriptSyntaxTree.js:​178:​22)​
2643         https://bugs.webkit.org/show_bug.cgi?id=182059
2644
2645         Reviewed by Matt Baker.
2646
2647         * UserInterface/Models/ScriptSyntaxTree.js:
2648         (WI.ScriptSyntaxTree.functionReturnDivot):
2649         DOMAgent won't be available in a ServiceWorker or JSContext inspector. So add
2650         a check for DOMAgent, and assume if DOMAgent doesn't exist that we should fall
2651         back to the latest path (non-iOS 9) target.
2652
2653 2018-01-23  Joseph Pecoraro  <pecoraro@apple.com>
2654
2655         Web Inspector: Network's columns shake when scrolling at non-default zoom level
2656         https://bugs.webkit.org/show_bug.cgi?id=181998
2657         <rdar://problem/36449808>
2658
2659         Reviewed by Matt Baker.
2660
2661         * UserInterface/Views/Table.js:
2662         When zoomed the bounding client rect values were fractional, which was
2663         unexpected by this area of code. Floor the values to get a value we expect
2664         to be able to evenly distribute.
2665
2666 2018-01-22  Nikita Vasilyev  <nvasilyev@apple.com>
2667
2668         Web Inspector: Styles Redesign: data corruption when updating values quickly
2669         https://bugs.webkit.org/show_bug.cgi?id=179461
2670         <rdar://problem/35431882>
2671
2672         Reviewed by Joseph Pecoraro.
2673
2674         Data corruption used to happen because CSSStyleDeclaration.prototype.text didn't
2675         update synchronously. Making two or more quick changes resulted in corrupted data.
2676
2677         Imagine we modify a CSS value 3 times:
2678
2679         Front-end:  (1)-(2)---(3)
2680         Back-end:          (1)-----(2)-(3)
2681
2682         The first response from the backend could happen after the 2nd edit. In this patch,
2683         CSSStyleDeclaration is locked when its view is being edited.
2684
2685         To correctly display invalid and overridden properties, the backend is allowed to update
2686         CSSStyleDeclaration and CSSProperty when they're locked if the text from the backend
2687         matches the model's text. This should happen when the backend is caught up with the
2688         front-end changes.
2689
2690         * UserInterface/Models/CSSProperty.js:
2691         (WI.CSSProperty.prototype.update):
2692         * UserInterface/Models/CSSStyleDeclaration.js:
2693         (WI.CSSStyleDeclaration):
2694         (WI.CSSStyleDeclaration.prototype.get locked):
2695         (WI.CSSStyleDeclaration.prototype.set locked):
2696         (WI.CSSStyleDeclaration.prototype.set text):
2697
2698         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
2699         (WI.SpreadsheetCSSStyleDeclarationEditor):
2700         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.initialLayout):
2701         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.detached):
2702         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.get editing):
2703         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set focused):
2704         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set inlineSwatchActive):
2705         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.stylePropertyInlineSwatchActivated):
2706         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.stylePropertyInlineSwatchDeactivated):
2707         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesChanged):
2708         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._updateStyleLock):
2709         Lock CSSStyleDeclaration when a CSS property name or value is focused or
2710         an inline widget is active.
2711
2712         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
2713         (WI.SpreadsheetCSSStyleDeclarationSection):
2714         (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleMouseDown):
2715         (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleClick):
2716         * UserInterface/Views/SpreadsheetStyleProperty.js:
2717         (WI.SpreadsheetStyleProperty):
2718         (WI.SpreadsheetStyleProperty.prototype._createInlineSwatch):
2719         When selector is focused, clicking on the white-space should not add a new blank property.
2720
2721 2018-01-19  Ross Kirsling  <ross.kirsling@sony.com>
2722
2723         Web Inspector: Layers tab should do away with popovers (if possible)
2724         https://bugs.webkit.org/show_bug.cgi?id=181805
2725
2726         Reviewed by Matt Baker.
2727
2728         * Localizations/en.lproj/localizedStrings.js:
2729         Remove superfluous colon from a string.
2730
2731         * UserInterface/Main.html:
2732         * UserInterface/Views/LayerDetailsSidebarPanel.css:
2733         * UserInterface/Views/Layers3DContentView.css: Added.
2734         Remove popover styling from sidebar, add new file with similar styling for canvas overlay.
2735
2736         * UserInterface/Views/LayerDetailsSidebarPanel.js:
2737         (WI.LayerDetailsSidebarPanel):
2738         (WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId):
2739         (WI.LayerDetailsSidebarPanel.prototype._dataGridSelectedNodeChanged):
2740         (WI.LayerDetailsSidebarPanel.prototype._updateLayers):
2741         (WI.LayerDetailsSidebarPanel.prototype._updateBottomBar):
2742         (WI.LayerDetailsSidebarPanel.prototype.willDismissPopover): Deleted.
2743         (WI.LayerDetailsSidebarPanel.prototype._showPopoverForSelectedNode): Deleted.
2744         (WI.LayerDetailsSidebarPanel.prototype._presentPopover): Deleted.
2745         (WI.LayerDetailsSidebarPanel.prototype._contentForPopover): Deleted.
2746         (WI.LayerDetailsSidebarPanel.prototype._populateListOfCompositingReasons.addReason): Deleted.
2747         (WI.LayerDetailsSidebarPanel.prototype._populateListOfCompositingReasons): Deleted.
2748         * UserInterface/Views/Layers3DContentView.js:
2749         (WI.Layers3DContentView):
2750         (WI.Layers3DContentView.prototype.shown):
2751         (WI.Layers3DContentView.prototype.selectLayerById):
2752         (WI.Layers3DContentView.prototype._canvasMouseDown):
2753         (WI.Layers3DContentView.prototype._buildLayerInfoElement):
2754         (WI.Layers3DContentView.prototype._updateLayerInfoElement):
2755         (WI.Layers3DContentView.prototype._updateReasonsList):
2756         Remove popover from sidebar table, overlay div with same data arrangement on top of the canvas.
2757         Also reverse the fix from r226671 since the visualization is no longer unusable without the sidebar!
2758
2759 2018-01-19  Matt Baker  <mattbaker@apple.com>
2760
2761         Web Inspector: Canvas Tab: Multiple "waiting for frames" messages displayed
2762         https://bugs.webkit.org/show_bug.cgi?id=181865
2763         <rdar://problem/36664737>
2764
2765         Reviewed by Devin Rousso.
2766
2767         * UserInterface/Views/CanvasContentView.js:
2768         (WI.CanvasContentView.prototype._recordingStarted):
2769         (WI.CanvasContentView.prototype._recordingStopped):
2770
2771 2018-01-19  Nikita Vasilyev  <nvasilyev@apple.com>
2772
2773         Web Inspector: Styles Redesign: tabbing on commented out property throws exception
2774         https://bugs.webkit.org/show_bug.cgi?id=180676
2775         <rdar://problem/35981058>
2776
2777         Reviewed by Joseph Pecoraro.
2778
2779         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
2780         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.startEditingFirstProperty):
2781         Tabbing from the selector field should focus on the first editable property.
2782         When no editable properties are present, a new blank property should be added after the commented out ones.
2783
2784         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.startEditingLastProperty):
2785         Shift-tabbing from the selector field should focus on the last editable property of the previous CSS rule.
2786         When no editable properties are present, a new blank property should be added after the commented out ones.
2787
2788         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetCSSStyleDeclarationEditorFocusMoved):
2789         When navigating between properties skip the commented out ones.
2790
2791         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._editablePropertyAfter):
2792         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._editablePropertyBefore):
2793         * UserInterface/Views/SpreadsheetStyleProperty.js:
2794         (WI.SpreadsheetStyleProperty.prototype.get enabled):
2795         (WI.SpreadsheetStyleProperty.prototype._update):
2796
2797 2018-01-19  Nikita Vasilyev  <nvasilyev@apple.com>
2798
2799         Web Inspector: Make styles sidebar always LTR
2800         https://bugs.webkit.org/show_bug.cgi?id=175357
2801         <rdar://problem/33787988>
2802
2803         Reviewed by Joseph Pecoraro.
2804
2805         * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
2806         (WI.SpreadsheetRulesStyleDetailsPanel):
2807
2808 2018-01-19  Keith Miller  <keith_miller@apple.com>
2809
2810         HaveInternalSDK includes should be "#include?"
2811         https://bugs.webkit.org/show_bug.cgi?id=179670
2812
2813         Reviewed by Dan Bernstein.
2814
2815         * Configurations/Base.xcconfig:
2816
2817 2018-01-18  Dan Bernstein  <mitz@apple.com>
2818
2819         [Xcode] Streamline and future-proof target-macOS-version-dependent build setting definitions
2820         https://bugs.webkit.org/show_bug.cgi?id=181803
2821
2822         Reviewed by Tim Horton.
2823
2824         * Configurations/Base.xcconfig: Updated.
2825         * Configurations/DebugRelease.xcconfig: Ditto.
2826         * Configurations/Version.xcconfig: Ditto.
2827
2828 2018-01-18  Devin Rousso  <webkit@devinrousso.com>
2829
2830         Web Inspector: Canvas Tab: record button on canvas card doesn't always show on hover, or is misplaced
2831         https://bugs.webkit.org/show_bug.cgi?id=179183
2832
2833         Reviewed by Joseph Pecoraro.
2834
2835         * UserInterface/Views/CanvasOverviewContentView.css:
2836         (.content-view.canvas-overview .content-view.canvas:not(.is-recording) > header > .navigation-bar > .item.record-start-stop): Deleted.
2837
2838 2018-01-17  Devin Rousso  <webkit@devinrousso.com>
2839
2840         Web Inspector: clicking on a path component that has no siblings should select it
2841         https://bugs.webkit.org/show_bug.cgi?id=181772
2842
2843         Reviewed by Joseph Pecoraro.
2844
2845         * UserInterface/Views/HierarchicalPathComponent.js:
2846         (WI.HierarchicalPathComponent.prototype._updateSelectElement):
2847         (WI.HierarchicalPathComponent.prototype._selectElementMouseDown):
2848
2849 2018-01-17  Joseph Pecoraro  <pecoraro@apple.com>
2850
2851         Web Inspector: Add back localized strings for Styles sidebar panels
2852         https://bugs.webkit.org/show_bug.cgi?id=181748
2853         <rdar://problem/36583184>
2854
2855         Reviewed by Brian Burg.
2856
2857         * Localizations/en.lproj/localizedStrings.js:
2858         * UserInterface/Views/ComputedStyleDetailsSidebarPanel.js:
2859         (WI.ComputedStyleDetailsSidebarPanel):
2860         * UserInterface/Views/RulesStyleDetailsSidebarPanel.js:
2861         (WI.RulesStyleDetailsSidebarPanel):
2862         * UserInterface/Views/VisualStyleDetailsSidebarPanel.js:
2863         (WI.VisualStyleDetailsSidebarPanel):
2864         Add back localized strings for panel titles lost in r225547.
2865
2866 2018-01-17  Joseph Pecoraro  <pecoraro@apple.com>
2867
2868         Web Inspector: Super long URL string causes bad wrapping in Resources detail sidebar
2869         https://bugs.webkit.org/show_bug.cgi?id=181617
2870
2871         Reviewed by Brian Burg.
2872
2873         * UserInterface/Views/DetailsSection.css:
2874         (.details-section > .content > .group > .row.simple > .value):
2875         Set the break to all characters.
2876
2877 2018-01-16  Matt Baker  <mattbaker@apple.com>
2878
2879         Web Inspector: Canvas tab: typing a "space" in the QuickConsole shouldn't trigger a recording
2880         https://bugs.webkit.org/show_bug.cgi?id=181706
2881         <rdar://problem/36558221>
2882
2883         Reviewed by Joseph Pecoraro.
2884
2885         * UserInterface/Views/CanvasOverviewContentView.js:
2886         (WI.CanvasOverviewContentView):
2887         (WI.CanvasOverviewContentView.prototype._handleSpace):
2888
2889 2018-01-16  Joseph Pecoraro  <pecoraro@apple.com>
2890
2891         Web Inspector: Make Console's Execution Context picker stand out when it is non-default
2892         https://bugs.webkit.org/show_bug.cgi?id=181628
2893         <rdar://problem/36492044>
2894
2895         Reviewed by Matt Baker.
2896
2897         * UserInterface/Views/HierarchicalPathComponent.css:
2898         (.hierarchical-path-component > .selector-arrows):
2899         * UserInterface/Views/HierarchicalPathComponent.js:
2900         (WI.HierarchicalPathComponent.prototype.set selectorArrows):
2901         Switch to SVG element so we can style the arrows.
2902
2903         * UserInterface/Views/QuickConsole.css:
2904         (.quick-console > .navigation-bar > .hierarchical-path .execution-context):
2905         (.quick-console > .navigation-bar > .hierarchical-path .execution-context .separator):
2906         (.quick-console > .navigation-bar > .hierarchical-path.non-default-execution-context .execution-context):
2907         (.quick-console > .navigation-bar > .hierarchical-path.non-default-execution-context .execution-context .selector-arrows):
2908         Styles for the execution context picker. We hide the unused separator
2909         and instead use margin so that the selected background and border don't
2910         have an extra 7px on the right/end side.
2911
2912         * UserInterface/Views/QuickConsole.js:
2913         (WI.QuickConsole.prototype._activeExecutionContextChanged):
2914         Toggle the non-default class name on the path.
2915
2916 2018-01-16  Nikita Vasilyev  <nvasilyev@apple.com>
2917
2918         Web Inspector: Styles: pressing down key should select first item from completion list when focusing on empty value
2919         https://bugs.webkit.org/show_bug.cgi?id=181633
2920         <rdar://problem/36501797>
2921
2922         Reviewed by Joseph Pecoraro.
2923
2924         * UserInterface/Views/SpreadsheetTextField.js:
2925         (WI.SpreadsheetTextField.prototype._updateCompletions):
2926
2927 2018-01-16  Nikita Vasilyev  <nvasilyev@apple.com>
2928
2929         Web Inspector: Styles Redesign: Long value causes bad wrapping
2930         https://bugs.webkit.org/show_bug.cgi?id=181618
2931         <rdar://problem/36485175>
2932
2933         Reviewed by Joseph Pecoraro.
2934
2935         Wrap long values only when editing.
2936
2937         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
2938         (.spreadsheet-style-declaration-editor .value.editing):
2939
2940 2018-01-16  Nikita Vasilyev  <nvasilyev@apple.com>
2941
2942         Web Inspector: Styles Redesign: clicking on the white space after the property sometimes places a blank property at the wrong index
2943         https://bugs.webkit.org/show_bug.cgi?id=179585
2944         <rdar://problem/35490780>
2945
2946         Reviewed by Joseph Pecoraro.
2947
2948         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
2949         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyRemoved):
2950         Layout call is needed to update data-property-index attributes on the property views.
2951
2952 2018-01-16  Joseph Pecoraro  <pecoraro@apple.com>
2953
2954         Web Inspector: Network Tab - Export HAR Context Menu not working
2955         https://bugs.webkit.org/show_bug.cgi?id=181694
2956         <rdar://problem/36479197>
2957
2958         Reviewed by Brian Burg.
2959
2960         * UserInterface/Views/NetworkTableContentView.js:
2961         (WI.NetworkTableContentView.prototype.tableCellContextMenuClicked):
2962         Ensure `this` works in the handler.
2963
2964 2018-01-15  Matt Baker  <mattbaker@apple.com>
2965
2966         Web Inspector: TabBar redesign: add context menu to TabBar for toggling available tabs
2967         https://bugs.webkit.org/show_bug.cgi?id=181448
2968         <rdar://problem/36383298>
2969
2970         Reviewed by Devin Rousso.
2971
2972         * UserInterface/Base/Main.js:
2973         (WI.loaded):
2974         (WI.contentLoaded):
2975         Reorder production tab classes and default (open) tabs.
2976         (WI.registerTabClass): Removed.
2977         Not used.
2978
2979         * UserInterface/Base/Object.js:
2980         Remove notification that is no longer used.
2981
2982         * UserInterface/Views/GeneralTabBarItem.js:
2983         (WI.GeneralTabBarItem):
2984         (WI.GeneralTabBarItem.prototype.set title):
2985         (WI.GeneralTabBarItem.prototype._handleContextMenuEvent): Deleted.
2986         Remove per-tab context menu (provided Close Tab and Close Other Tabs).
2987
2988         * UserInterface/Views/NewTabContentView.js:
2989         (WI.NewTabContentView):
2990
2991         * UserInterface/Views/TabBar.js:
2992         (WI.TabBar):
2993         (WI.TabBar.prototype._handleContextMenu):
2994
2995         * UserInterface/Views/TabBrowser.js:
2996         (WI.TabBrowser):
2997         (WI.TabBrowser._handleNewTabContextMenu): Deleted.
2998         No longer needed.
2999
3000 2018-01-13  Nikita Vasilyev  <nvasilyev@apple.com>
3001
3002         Web Inspector: Styles Redesign: properties should never be semitransparent or crossed out while editing
3003         https://bugs.webkit.org/show_bug.cgi?id=180793
3004         <rdar://problem/36038813>
3005
3006         Reviewed by Devin Rousso.
3007
3008         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
3009         (.spreadsheet-style-declaration-editor .value.editing):
3010         (.spreadsheet-style-declaration-editor .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) .content > *):
3011         (.spreadsheet-style-declaration-editor .property.invalid-name:not(.disabled) .content > *):
3012         (.spreadsheet-style-declaration-editor .property.invalid-value:not(.disabled) .content .value):
3013         (.spreadsheet-style-declaration-editor .property.not-inherited .content > *):
3014         * UserInterface/Views/SpreadsheetStyleProperty.js:
3015         (WI.SpreadsheetStyleProperty.prototype._update):
3016
3017 2018-01-12  Joseph Pecoraro  <pecoraro@apple.com>
3018
3019         Web Inspector: Drop support for iOS 7 targets
3020         https://bugs.webkit.org/show_bug.cgi?id=181549
3021         <rdar://problem/36444813>
3022
3023         Reviewed by Brian Burg.
3024
3025         * Versions/Inspector-iOS-7.0.json: Removed.
3026         * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js: Removed.
3027         Remove protocol snapshot and generated commands for iOS 7.
3028
3029         * UserInterface/Base/Main.js:
3030         * UserInterface/Controllers/BreakpointPopoverController.js:
3031         (WI.BreakpointPopoverController.prototype._createPopoverContent):
3032         * UserInterface/Controllers/DebuggerManager.js:
3033         (WI.DebuggerManager.prototype._setBreakpoint):
3034         * UserInterface/Controllers/SourceMapManager.js:
3035         (WI.SourceMapManager.prototype._loadAndParseSourceMap):
3036         * UserInterface/Models/Instrument.js:
3037         (WI.Instrument.startLegacyTimelineAgent):
3038         * UserInterface/Models/ResourceTimingData.js:
3039         * UserInterface/Models/ScriptTimelineRecord.js:
3040         (WI.ScriptTimelineRecord.EventType.displayName):
3041         * UserInterface/Models/SourceMapResource.js:
3042         (WI.SourceMapResource.prototype.requestContentFromBackend):
3043         * UserInterface/Protocol/CSSObserver.js:
3044         (WI.CSSObserver.prototype.regionLayoutUpdated): Deleted.
3045         * UserInterface/Protocol/RemoteObject.js:
3046         (WI.RemoteObject.fromPayload):
3047         Remove code that was only necessary to support iOS 7.
3048
3049 2018-01-12  Joseph Pecoraro  <pecoraro@apple.com>
3050
3051         Web Inspector: Support JSX (React) syntax highlighting
3052         https://bugs.webkit.org/show_bug.cgi?id=181607
3053         <rdar://problem/36442564>
3054
3055         Reviewed by Brian Burg.
3056
3057         * UserInterface/Base/MIMETypeUtilities.js:
3058         (WI.mimeTypeForFileExtension):
3059         (WI.fileExtensionForMIMEType):
3060         * UserInterface/Models/Resource.js:
3061         Support the jsx extension and mime types.
3062
3063         * UserInterface/Main.html:
3064         * Scripts/update-codemirror-resources.rb:
3065         * UserInterface/External/CodeMirror/jsx.js: Added.
3066         Include new mode from CodeMirror@d8926768.
3067
3068 2018-01-11  Joseph Pecoraro  <pecoraro@apple.com>
3069
3070         Web Inspector: Rename "Query String" section as "Query String Parameters" for clarity
3071         https://bugs.webkit.org/show_bug.cgi?id=181464
3072
3073         Reviewed by Darin Adler.
3074
3075         * Localizations/en.lproj/localizedStrings.js:
3076         * UserInterface/Views/ResourceHeadersContentView.js:
3077         (WI.ResourceHeadersContentView.prototype.initialLayout):
3078
3079 2018-01-11  Joseph Pecoraro  <pecoraro@apple.com>
3080
3081         Web Inspector: Remove unused variable in WI.DebuggerSidebarPanel
3082         https://bugs.webkit.org/show_bug.cgi?id=181517
3083
3084         Reviewed by Matt Baker.
3085
3086         * UserInterface/Views/DebuggerSidebarPanel.js:
3087
3088 2018-01-10  Joseph Pecoraro  <pecoraro@apple.com>
3089
3090         REGRESSION(r218975): Web Inspector: Add back NavigationSidebarPanel initialization parameter used by SearchSidebarPanel (top overflow shadow)
3091         https://bugs.webkit.org/show_bug.cgi?id=181518
3092         <rdar://problem/36427197>
3093
3094         Reviewed by Matt Baker.
3095
3096         * UserInterface/Views/NavigationSidebarPanel.css:
3097         (.sidebar > .panel.navigation > .overflow-shadow.top):
3098         * UserInterface/Views/NavigationSidebarPanel.js:
3099         (WI.NavigationSidebarPanel):
3100         Add back the initialization parameter still used by SearchSidebarPanel
3101         and add back its implementation. There were still references to
3102         dynamically update _topOverflowShadowElement in NavigationSidebarPanel.
3103
3104 2018-01-10  Joseph Pecoraro  <pecoraro@apple.com>
3105
3106         Web Inspector: Incorrect check with WI.debuggableType
3107         https://bugs.webkit.org/show_bug.cgi?id=181515
3108         <rdar://problem/36425509>
3109
3110         Reviewed by Brian Burg.
3111
3112         * UserInterface/Base/Main.js:
3113         (WI.contentLoaded):
3114         This moved to WI.sharedApp a while ago.
3115
3116 2018-01-10  Matt Baker  <mattbaker@apple.com>
3117
3118         Web Inspector: Canvas tab: throttle recording slider updates
3119         https://bugs.webkit.org/show_bug.cgi?id=180839
3120         <rdar://problem/36057849>
3121
3122         Reviewed by Joseph Pecoraro
3123
3124         * UserInterface/Base/Utilities.js:
3125         Add Object.throttle and Function.cancelThrottle. Repeated calls to a
3126         function on a throttled object are delayed, so that the function isn't
3127         invoked more frequently than the specified delay value.
3128
3129         For a description of throttling behavior see:
3130           - http://www.chrislondon.co/throttling-vs-debouncing
3131           - http://benalman.com/projects/jquery-throttle-debounce-plugin
3132
3133         * UserInterface/Views/RecordingContentView.js:
3134         (WI.RecordingContentView.prototype.updateActionIndex):
3135         Throttle frequency of canvas snapshot creation to 200ms.
3136         (WI.RecordingContentView.prototype.hidden):
3137         Prevent trailing edge call after hiding the view.
3138
3139 2018-01-10  Joseph Pecoraro  <pecoraro@apple.com>
3140
3141         Web Inspector: Should not try to autocomplete subsections of a string
3142         https://bugs.webkit.org/show_bug.cgi?id=181461
3143         <rdar://problem/36369421>
3144
3145         Reviewed by Brian Burg.
3146
3147         * UserInterface/Controllers/CodeMirrorCompletionController.js:
3148         (WI.CodeMirrorCompletionController.prototype._completeAtCurrentPosition):
3149         Disable autocompletion within strings.
3150
3151 2018-01-09  Joseph Pecoraro  <pecoraro@apple.com>
3152
3153         REGRESSION(r201855): Web Inspector: Should see "length" autocompletion suggestion on a string literal
3154         https://bugs.webkit.org/show_bug.cgi?id=181462
3155         <rdar://problem/36390699>
3156
3157         Reviewed by Matt Baker.
3158
3159         * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
3160         (WI.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.inspectedPage_evalResult_getCompletions):
3161         This is code that runs on the inspected target, which may have an old version of
3162         WebKit/JavaScriptCore, so don't use new syntax like this.
3163
3164         (WI.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded):
3165         We intended to return the result by as a JSON value instead of a RemoteObject.
3166
3167 2018-01-09  Ross Kirsling  <ross.kirsling@sony.com>
3168
3169         Web Inspector: Layers sidebar shows popover on selection even when collapsed
3170         https://bugs.webkit.org/show_bug.cgi?id=181465
3171
3172         Reviewed by Matt Baker.
3173
3174         * UserInterface/Views/LayerDetailsSidebarPanel.js:
3175         (WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId):
3176         Have sidebar show itself if necessary before displaying popover.
3177
3178 2018-01-08  Joseph Pecoraro  <pecoraro@apple.com>
3179
3180         Web Inspector: Find next / previous within a resource content view does not have bouncy highlight when editor scrolls
3181         https://bugs.webkit.org/show_bug.cgi?id=181279
3182         <rdar://problem/36291097>
3183
3184         Reviewed by Brian Burg.
3185
3186         * UserInterface/Views/TextEditor.js:
3187         (WI.TextEditor.prototype._revealSearchResult):
3188         Reposition the bouncy highlight on scroll based on the CodeMirror
3189         line/ch position of the search result.
3190
3191         (WI.TextEditor.prototype._removeBouncyHighlightElementIfNeeded):
3192         Track the bouncy highlight scroll handler in a member variable so that
3193         we always remember to remove it and don't leak scroll handlers.
3194
3195 2018-01-07  David Kilzer  <ddkilzer@apple.com>
3196
3197         Enable -Wcast-qual for WebInspectorUI, WebKitLegacy, WebKit projects
3198         <https://webkit.org/b/181256>
3199         <rdar://problem/36281730>
3200
3201         Reviewed by Darin Adler.
3202
3203         * Configurations/Base.xcconfig:
3204         (WARNING_CFLAGS): Add -Wcast-qual.
3205
3206 2018-01-05  Joseph Pecoraro  <pecoraro@apple.com>
3207
3208         Web Inspector: Add another Protocol Version
3209         https://bugs.webkit.org/show_bug.cgi?id=181354
3210         <rdar://problem/35432817>
3211
3212         Reviewed by Matt Baker.
3213
3214         * UserInterface/Protocol/Legacy/11.3/InspectorBackendCommands.js: Added.
3215         * Versions/Inspector-iOS-11.3.json: Added.
3216
3217 2018-01-04  Devin Rousso  <webkit@devinrousso.com>
3218
3219         Web Inspector: replace HTMLCanvasElement with CanvasRenderingContext for instrumentation logic
3220         https://bugs.webkit.org/show_bug.cgi?id=180770
3221
3222         Reviewed by Joseph Pecoraro.
3223
3224         * UserInterface/Models/Canvas.js:
3225         (WI.Canvas.fromPayload):
3226         (WI.Canvas.prototype.get contextType):
3227         (WI.Canvas.prototype.saveIdentityToCookie):
3228         (WI.Canvas.prototype.get frame): Deleted.
3229
3230 2018-01-04  Joseph Pecoraro  <pecoraro@apple.com>
3231
3232         REGRESSION (r225709): Web Inspector: CSS Source maps not loading
3233         https://bugs.webkit.org/show_bug.cgi?id=181314
3234         <rdar://problem/36177620>
3235
3236         Reviewed by Brian Burg.
3237
3238         * UserInterface/Controllers/SourceMapManager.js:
3239         (WI.SourceMapManager.prototype._loadAndParseSourceMap):
3240         * UserInterface/Models/SourceMapResource.js:
3241         (WI.SourceMapResource.prototype.requestContentFromBackend):
3242         Correct this so that we only fall back to a reasonable frame id
3243         if we couldn't determine a frame id from earlier. Previously this
3244         was incorrectly clearing the frame id if we had gotten it earlier.
3245
3246         * UserInterface/Test.html:
3247         * UserInterface/Test/Test.js:
3248         (WI.loaded):
3249         Add SourceMap related files for tests.
3250
3251 2018-01-04  Brian Burg  <bburg@apple.com>
3252
3253         Web Inspector: Capture Element Screenshot looks fuzzy
3254         https://bugs.webkit.org/show_bug.cgi?id=175734
3255         <rdar://problem/33803377>
3256
3257         Reviewed by Joseph Pecoraro and Simon Fraser.
3258
3259         Spruce up these functions a bit. They now optionally return a promise
3260         if no callback is supplied. They now can take either a WI.DOMNode or a node id.
3261
3262         * UserInterface/Controllers/DOMTreeManager.js:
3263         (WI.DOMTreeManager.prototype.querySelector):
3264         (WI.DOMTreeManager.prototype.querySelectorAll):
3265
3266 2018-01-04  Brian Burg  <bburg@apple.com>
3267
3268         Web Inspector: add RemoteObject.fetchProperties and some basic tests for RemoteObject API
3269         https://bugs.webkit.org/show_bug.cgi?id=180945
3270
3271         Reviewed by Joseph Pecoraro.
3272
3273         Add a new method, fetchProperties, which async fetches an arbitrary list of properties
3274         from a RemoteObject. This is intended for writing tests and other quick evaluations,
3275         so it has some behaviors that are suitable in these situations:
3276         - If the evaluation throws an exception, the result will reject with that exception.
3277         - If there is a protocol error for some reason, the result will reject with an exception.
3278         - Non-string and non-number keys cause an exception, as this is probably not intended.
3279         - Does not accept a callback, returns a promise only. New code should use async.
3280
3281         For full fidelity introspection of property descriptors, clients should use the existing
3282         getOwnPropertyDescriptor[s] class of methods.
3283
3284         * UserInterface/Protocol/RemoteObject.js:
3285         (WI.RemoteObject.prototype.async.fetchProperties): Added.
3286         - Validate specified keys and remove duplicates.
3287         - Request properties one-by-one to avoid fetching all descriptors and dealing with previews.
3288         - Unwrap returned primitive values to avoid unnecessary munging in tests.
3289
3290         (WI.RemoteObject.prototype.getProperty):
3291         - Rework this to return a promise if no callback was supplied.
3292         - Introduce stricter property type checking to avoid unintended mistakes.
3293
3294         (WI.RemoteObject.prototype.callFunction):
3295         - Rework this to return a promise if no callback was supplied.
3296         - Turn thrown exceptions and protocol errors into rejected promises.
3297
3298 2018-01-04  Joseph Pecoraro  <pecoraro@apple.com>
3299
3300         Web Inspector: ⌘G / ⇧⌘G text search does not working after closing find banner
3301         https://bugs.webkit.org/show_bug.cgi?id=181280
3302         <rdar://problem/36291175>
3303
3304         Reviewed by Matt Baker.
3305
3306         * UserInterface/Views/ContentBrowser.js:
3307         (WI.ContentBrowser.prototype._findBannerDidHide):
3308         When the find banner is hidden trigger a new ContentView method,
3309         searchHidden instead of the destructive searchCleared. This allows
3310         most content views (text editors, DOM tree, Network Headers view)
3311         to keep their populated search results.
3312
3313         * UserInterface/Views/ContentView.js:
3314         (WI.ContentView.prototype.searchHidden):
3315         * UserInterface/Views/LogContentView.js:
3316         (WI.LogContentView.prototype.searchHidden):
3317         By default searchHidden does nothing. The Console's LogContentView
3318         treats the find banner differently and clears its search results.
3319
3320         * UserInterface/Views/TextEditor.js:
3321         (WI.TextEditor.prototype.searchCleared):
3322         Modernize some code while working in this area.
3323
3324         * UserInterface/Views/Main.css:
3325         (.bouncy-highlight):
3326         Ensure black text on yellow background in the bouncy highlight. In the
3327         DOM Tree it could have been white if the find banner was closed.
3328
3329 2018-01-03  Ting-Wei Lan  <lantw44@gmail.com>
3330
3331         Replace hard-coded paths in shebangs with #!/usr/bin/env
3332         https://bugs.webkit.org/show_bug.cgi?id=181040
3333
3334         Reviewed by Alex Christensen.
3335
3336         * Scripts/combine-resources.pl:
3337         * Scripts/copy-user-interface-resources-dryrun.rb:
3338         * Scripts/copy-user-interface-resources.pl:
3339         * Scripts/fix-worker-imports-for-optimized-builds.pl:
3340         * Scripts/remove-console-asserts-dryrun.rb:
3341         * Scripts/remove-console-asserts.pl:
3342         * Scripts/update-LegacyInspectorBackendCommands.rb:
3343         * Scripts/update-codemirror-resources.rb:
3344         * WebInspectorUI.vcxproj/build-webinspectorui.pl:
3345
3346 2018-01-03  Joseph Pecoraro  <pecoraro@apple.com>
3347
3348         Web Inspector: "Log Value" context menu is sometimes unavailable
3349         https://bugs.webkit.org/show_bug.cgi?id=181278
3350         <rdar://problem/36281649>
3351
3352         Reviewed by Devin Rousso.
3353
3354         * UserInterface/Views/ObjectPreviewView.css:
3355         (.object-preview > .title):
3356         * UserInterface/Views/ObjectTreeView.css:
3357         (.object-tree.expanded > .title):