bb6c332c93c78933d19e66fc84f211c69c2df220
[WebKit-https.git] / Source / WebInspectorUI / ChangeLog
1 2018-02-02  Matt Baker  <mattbaker@apple.com>
2
3         Web Inspector: TabBar redesign: remove New Tab button and add experimental feature flag
4         https://bugs.webkit.org/show_bug.cgi?id=182342
5         <rdar://problem/37078662>
6
7         Reviewed by Devin Rousso.
8
9         This patch adds a new experimental setting group, "User Interface", with
10         a single setting, "Enable New TabBar". When enabled, the New Tab button is
11         no longer available in the top-level TabBar. The 'open tabs' context menu
12         no longer allows the last non-ephemeral open tab to be closed (unchecked).
13
14         * Localizations/en.lproj/localizedStrings.js:
15
16         * UserInterface/Base/Main.js:
17         (WI.contentLoaded):
18         (WI._tryToRestorePendingTabs):
19         Retain legacy behavior behind experimental feature setting.
20         (WI.isNewTabWithTypeAllowed):
21
22         * UserInterface/Base/Setting.js:
23         * UserInterface/Main.html:
24
25         * UserInterface/Views/CanvasTabContentView.js:
26         (WI.CanvasTabContentView):
27         * UserInterface/Views/ConsoleTabContentView.js:
28         (WI.ConsoleTabContentView):
29         * UserInterface/Views/DebuggerTabContentView.js:
30         (WI.DebuggerTabContentView):
31         * UserInterface/Views/ElementsTabContentView.js:
32         (WI.ElementsTabContentView):
33
34         * UserInterface/Views/GeneralTabBarItem.js:
35         (WI.GeneralTabBarItem):
36         (WI.GeneralTabBarItem.prototype.fromTabInfo):
37         (WI.GeneralTabBarItem.prototype.get isEphemeral):
38         (WI.GeneralTabBarItem.fromTabContentViewConstructor): Deleted.
39
40         * UserInterface/Views/LayersTabContentView.js:
41         (WI.LayersTabContentView):
42
43         * UserInterface/Views/LegacyTabBar.js: Copied from Source/WebInspectorUI/UserInterface/Views/TabBar.js.
44         (WI.LegacyTabBar):
45         (WI.LegacyTabBar.prototype.get newTabTabBarItem):
46         (WI.LegacyTabBar.prototype.updateNewTabTabBarItemState):
47         (WI.LegacyTabBar.prototype.addTabBarItem):
48         (WI.LegacyTabBar.prototype.insertTabBarItem.animateTabs):
49         (WI.LegacyTabBar.prototype.insertTabBarItem.removeStyles):
50         (WI.LegacyTabBar.prototype.insertTabBarItem):
51         (WI.LegacyTabBar.prototype.removeTabBarItem.animateTabs):
52         (WI.LegacyTabBar.prototype.removeTabBarItem.removeStyles):
53         (WI.LegacyTabBar.prototype.removeTabBarItem):
54         (WI.LegacyTabBar.prototype.selectPreviousTab):
55         (WI.LegacyTabBar.prototype.selectNextTab):
56         (WI.LegacyTabBar.prototype.get selectedTabBarItem):
57         (WI.LegacyTabBar.prototype.set selectedTabBarItem):
58         (WI.LegacyTabBar.prototype.get tabBarItems):
59         (WI.LegacyTabBar.prototype.get normalTabCount):
60         (WI.LegacyTabBar.prototype.layout.forceItemHidden):
61         (WI.LegacyTabBar.prototype.layout):
62         (WI.LegacyTabBar.prototype._tabBarItemsFromLeftToRight):
63         (WI.LegacyTabBar.prototype._findTabBarItem):
64         (WI.LegacyTabBar.prototype._hasMoreThanOneNormalTab):
65         (WI.LegacyTabBar.prototype._openDefaultTab):
66         (WI.LegacyTabBar.prototype._recordTabBarItemSizesAndPositions):
67         (WI.LegacyTabBar.prototype._applyTabBarItemSizesAndPositions):
68         (WI.LegacyTabBar.prototype._clearTabBarItemSizesAndPositions):
69         (WI.LegacyTabBar.prototype._finishExpandingTabsAfterClose.):
70         (WI.LegacyTabBar.prototype._finishExpandingTabsAfterClose):
71         (WI.LegacyTabBar.prototype._handleMouseDown):
72         (WI.LegacyTabBar.prototype._handleClick):
73         (WI.LegacyTabBar.prototype._handleMouseMoved):
74         (WI.LegacyTabBar.prototype._handleMouseUp):
75         (WI.LegacyTabBar.prototype._handleMouseLeave):
76         (WI.LegacyTabBar.prototype._handleContextMenu):
77         (WI.LegacyTabBar.prototype._handleNewTabClick):
78         (WI.LegacyTabBar.prototype._handleTabPickerTabContextMenu):
79         (WI.LegacyTabBar.prototype._handleNewTabMouseEnter):
80
81         * UserInterface/Views/NetworkTabContentView.js:
82         (WI.NetworkTabContentView):
83         * UserInterface/Views/NewTabContentView.js:
84         (WI.NewTabContentView):
85         (WI.NewTabContentView.tabInfo):
86         (WI.NewTabContentView.isEphemeral): Deleted.
87         * UserInterface/Views/ResourcesTabContentView.js:
88         (WI.ResourcesTabContentView):
89         * UserInterface/Views/SearchTabContentView.js:
90         (WI.SearchTabContentView):
91         (WI.SearchTabContentView.tabInfo):
92         (WI.SearchTabContentView.isEphemeral): Deleted.
93
94         * UserInterface/Views/SettingsTabContentView.js:
95         (WI.SettingsTabContentView.tabInfo):
96         (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
97         (WI.SettingsTabContentView.isEphemeral): Deleted.
98
99         * UserInterface/Views/StorageTabContentView.js:
100         (WI.StorageTabContentView):
101
102         * UserInterface/Views/TabBar.css:
103         * UserInterface/Views/TabBar.js:
104         (WI.TabBar):
105         (WI.TabBar.prototype.insertTabBarItem):
106         (WI.TabBar.prototype.removeTabBarItem):
107         (WI.TabBar.prototype.set selectedTabBarItem):
108         (WI.TabBar.prototype.get normalNonEphemeralTabCount):
109         (WI.TabBar.prototype._handleMouseDown):
110         (WI.TabBar.prototype._handleClick):
111         (WI.TabBar.prototype._handleMouseMoved):
112         (WI.TabBar.prototype._handleMouseLeave):
113         (WI.TabBar.prototype._handleContextMenu):
114         (WI.TabBar.prototype._handleTabPickerTabContextMenu):
115         (WI.TabBar.prototype.get newTabTabBarItem): Deleted.
116         (WI.TabBar.prototype.updateNewTabTabBarItemState): Deleted.
117         (WI.TabBar.prototype._openDefaultTab): Deleted.
118         (WI.TabBar.prototype._handleNewTabClick): Deleted.
119         (WI.TabBar.prototype._handleNewTabMouseEnter): Deleted.
120         Remove support for the New Tab button and default tab. Without a default
121         tab, there is nothing to display when no tabs are open, so prevent the
122         last non-pinned tab from being removed.
123
124         * UserInterface/Views/TabBrowser.js:
125         (WI.TabBrowser._tabBarItemRemoved):
126         * UserInterface/Views/TabContentView.js:
127         (WI.TabContentView.isEphemeral): Deleted.
128         * UserInterface/Views/TimelineTabContentView.js:
129         (WI.TimelineTabContentView):
130
131 2018-01-30  Devin Rousso  <webkit@devinrousso.com>
132
133         Web Inspector: Replace Object.shallowMerge with ES2018 spread operator
134         https://bugs.webkit.org/show_bug.cgi?id=182219
135
136         Reviewed by Brian Burg.
137
138         * UserInterface/Base/Utilities.js:
139         (Object.shallowMerge): Deleted.
140         * UserInterface/Base/DOMUtilities.js:
141         (WI.linkifyNodeReference):
142         * UserInterface/Base/Main.js:
143         (WI.handlePossibleLinkClick):
144         (WI.openURL):
145         (WI.showSourceCodeLocation):
146         (WI.showOriginalUnformattedSourceCodeLocation):
147         (WI.showOriginalOrFormattedSourceCodeLocation):
148         (WI.showOriginalOrFormattedSourceCodeTextRange):
149         (WI.linkifyLocation):
150         * UserInterface/Views/DOMTreeElement.js:
151         (WI.DOMTreeElement.prototype._insertAdjacentHTML):
152         * UserInterface/Views/WebSocketContentView.js:
153         (WI.WebSocketContentView.prototype._addRow):
154
155 2018-01-26  Matt Baker  <mattbaker@apple.com>
156
157         Web Inspector: Timelines content browser NavigationBar is squashed at narrow heights
158         https://bugs.webkit.org/show_bug.cgi?id=182196
159         <rdar://problem/36929899>
160
161         Reviewed by Joseph Pecoraro.
162
163         * UserInterface/Views/NavigationBar.css:
164         (.navigation-bar):
165
166 2018-01-26  Matt Baker  <mattbaker@apple.com>
167
168         Web Inspector: TabBar redesign: improvements to tab layout and resize behavior
169         https://bugs.webkit.org/show_bug.cgi?id=181468
170         <rdar://problem/36395439>
171
172         Reviewed by Devin Rousso.
173
174         * Localizations/en.lproj/localizedStrings.js:
175
176         * UserInterface/Images/TabPicker.svg: Added.
177         New ">>" icon for the tab picker button.
178
179         * UserInterface/Views/CanvasTabContentView.js:
180         (WI.CanvasTabContentView):
181         * UserInterface/Views/ConsoleTabContentView.js:
182         (WI.ConsoleTabContentView):
183         * UserInterface/Views/DebuggerTabContentView.js:
184         (WI.DebuggerTabContentView):
185         * UserInterface/Views/ElementsTabContentView.js:
186         (WI.ElementsTabContentView):
187
188         * UserInterface/Views/GeneralTabBarItem.js:
189         (WI.GeneralTabBarItem):
190         (WI.GeneralTabBarItem.fromTabContentViewConstructor):
191         (WI.GeneralTabBarItem.prototype.get title):
192         Add missing override for getter/setter pair.
193         (WI.GeneralTabBarItem.prototype.set title):
194         (WI.GeneralTabBarItem.prototype._handleContextMenuEvent):
195         Show the close button on ephemeral tabs only (Search, New Tab).
196         Replace unused `representedObject` parameter with `isEphemeral`, which
197         determines whether to show a close button for the tab.
198
199         * UserInterface/Views/LayersTabContentView.js:
200         (WI.LayersTabContentView):
201
202         * UserInterface/Views/NavigationBar.js:
203         Remove unused symbol.
204
205         * UserInterface/Views/NetworkTabContentView.js:
206         (WI.NetworkTabContentView):
207         * UserInterface/Views/NewTabContentView.js:
208         (WI.NewTabContentView):
209
210         * UserInterface/Views/PinnedTabBarItem.js:
211         (WI.PinnedTabBarItem):
212         Remove unused parameter.
213
214         * UserInterface/Views/ResourcesTabContentView.js:
215         (WI.ResourcesTabContentView):
216         * UserInterface/Views/SearchTabContentView.js:
217         (WI.SearchTabContentView):
218         * UserInterface/Views/StorageTabContentView.js:
219         (WI.StorageTabContentView):
220
221         * UserInterface/Views/TabBar.css:
222         (.tab-bar > .item):
223         (.tab-bar.calculate-width > .item):
224         (.tab-bar > .item.pinned.tab-picker):
225         (.tab-bar > .item > .close):
226         (.tab-bar > .item > .title):
227         (.tab-bar:not(.collapsed) > .item > .title):
228         (.tab-bar.collapsed > .item:not(.pinned) > .icon):
229         (.tab-bar > .item:hover > .close):
230         (.tab-bar.collapsed > .item:hover > .close):
231         (.tab-bar:not(.collapsed) > .item.ephemeral:hover > .icon):
232         (.tab-bar.collapsed > .item.ephemeral:hover > .title):
233         (body[dir=ltr] .tab-bar > .item > .close): Deleted.
234         (body[dir=rtl] .tab-bar > .item > .close): Deleted.
235         (.tab-bar > .item > .flex-space): Deleted.
236         (.tab-bar > .item:not(.pinned) > .flex-space:last-child): Deleted.
237         (body[dir=ltr] .tab-bar > .item:not(.pinned) > .flex-space:last-child): Deleted.
238         (body[dir=rtl] .tab-bar > .item:not(.pinned) > .flex-space:last-child): Deleted.
239         (body[dir=ltr] .tab-bar > .item > .title): Deleted.
240         (body[dir=rtl] .tab-bar > .item > .title): Deleted.
241         (.tab-bar.collapsed > .item): Deleted.
242         (.tab-bar.collapsed > .item > .flex-space): Deleted.
243         (.tab-bar.collapsed > .item > .close): Deleted.
244         (body[dir=ltr] .tab-bar.collapsed > .item > .close): Deleted.
245         (body[dir=rtl] .tab-bar.collapsed > .item > .close): Deleted.
246         (.tab-bar.hide-titles > .item > .title): Deleted.
247         (.tab-bar.collapsed:not(.hide-titles) > .item:not(.pinned):hover > .icon,): Deleted.
248         (.tab-bar.collapsed:not(.hide-titles) > .item:hover > .close,): Deleted.
249         Clean up tab styles and prevent tabs from shrinking during flex layout.
250         Added new `calculate-width` class, to disable flex layout when measuring
251         the minimum width of the TabBar required to fit all tab items.
252
253         * UserInterface/Views/TabBar.js:
254         (WI.TabBar):
255         (WI.TabBar.prototype.set selectedTabBarItem):
256         (WI.TabBar.prototype.layout.forceItemHidden):
257         (WI.TabBar.prototype.layout):
258         Perform two layout passes, similar to NavigationBar. The first pass disables
259         flex layout and measures tab items at full size. If the bar isn't wide enough
260         to show all the tabs, hide their icons and measure again. If there still isn't
261         room, hide tabs starting from the end of the bar and display the tab picker.
262
263         (WI.TabBar.prototype._handleMouseDown):
264         (WI.TabBar.prototype._handleTabPickerTabContextMenu):
265
266         * UserInterface/Views/TabBarItem.js:
267         (WI.TabBarItem):
268
269         * UserInterface/Views/TimelineTabContentView.js:
270         (WI.TimelineTabContentView):
271
272 2018-01-25  Joseph Pecoraro  <pecoraro@apple.com>
273
274         Web Inspector: Network Table: Sort indicator is not displayed when sorted column is hidden and re-shown
275         https://bugs.webkit.org/show_bug.cgi?id=182164
276         <rdar://problem/36892619>
277
278         Reviewed by Brian Burg.
279
280         * UserInterface/Views/Table.js:
281         (WI.Table.prototype.showColumn):
282         Re-add the sort classes if the column being shown is the active sort column.
283
284 2018-01-25  Joseph Pecoraro  <pecoraro@apple.com>
285
286         Web Inspector: Network - Cookies view should behave better at narrow widths, all data is hidden
287         https://bugs.webkit.org/show_bug.cgi?id=182163
288         <rdar://problem/36893241>
289
290         Reviewed by Brian Burg.
291
292         * UserInterface/Views/ResourceCookiesContentView.css:
293         (.resource-cookies .table):
294         Give these tables a reasonable minimum size so that if the inspector
295         is narrow, the content view can still be scrolled to see all of
296         the table data.
297
298         * UserInterface/Views/Table.css:
299         (.table > .header):
300         Match the data-container and mark overflow as hidden, otherwise
301         super narrow widths show header content beyond the edge.
302
303 2018-01-25  Joseph Pecoraro  <pecoraro@apple.com>
304
305         Web Inspector: "Displayed Columns" should not be displayed in context menu if all columns are required columns
306         https://bugs.webkit.org/show_bug.cgi?id=182162
307         <rdar://problem/36893758>
308
309         Reviewed by Matt Baker.
310
311         * UserInterface/Views/Table.js:
312         (WI.Table.prototype._handleHeaderContextMenu):
313         Only add the header column when we know there are hideable columns.
314
315 2018-01-24  Joseph Pecoraro  <pecoraro@apple.com>
316
317         Web Inspector: Simplify update-LegacyInspectorBackendCommands.rb
318         https://bugs.webkit.org/show_bug.cgi?id=182067
319
320         Reviewed by Brian Burg.
321
322         * Scripts/update-LegacyInspectorBackendCommands.rb:
323         Remove stale dependency_json, it has always been empty for a while now.
324         Switch to framework WebInspectorUI to generate only the backend commands
325         and not spend time generating a bunch of cpp files.
326
327 2018-01-24  Nikita Vasilyev  <nvasilyev@apple.com>
328
329         REGRESSION (r226994): Web Inspector: Styles: Suggestions popover floats in top-left corner of Web Inspector after tabbing
330         https://bugs.webkit.org/show_bug.cgi?id=182027
331
332         Reviewed by Matt Baker.
333
334         r226994 added a layout of all properties on property removal. Layout caused
335         a property element to be removed from DOM right before dislaying the suggestion
336         popover, resulting in the popover being displayed at the top left corner.
337
338         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
339         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
340         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyRemoved):
341         Only update property view indices when a property is removed.
342
343         * UserInterface/Views/SpreadsheetStyleProperty.js:
344         (WI.SpreadsheetStyleProperty):
345         (WI.SpreadsheetStyleProperty.prototype.set index):
346
347         * UserInterface/Views/SpreadsheetTextField.js:
348         (WI.SpreadsheetTextField.prototype._updateCompletions):
349         Checking this._element.parentNode to see if the element is attached to the DOM tree is unreliable,
350         since the element may have a non-null parent node that is detached from the DOM tree. To fix that,
351         we could traverse element's ancestors, but I used a concise isConnected property instead.
352
353 2018-01-24  Joseph Pecoraro  <pecoraro@apple.com>
354
355         ReferenceError:​ Can't find variable:​ DOMAgent (at ScriptSyntaxTree.js:​178:​22)​
356         https://bugs.webkit.org/show_bug.cgi?id=182059
357
358         Reviewed by Matt Baker.
359
360         * UserInterface/Models/ScriptSyntaxTree.js:
361         (WI.ScriptSyntaxTree.functionReturnDivot):
362         DOMAgent won't be available in a ServiceWorker or JSContext inspector. So add
363         a check for DOMAgent, and assume if DOMAgent doesn't exist that we should fall
364         back to the latest path (non-iOS 9) target.
365
366 2018-01-23  Joseph Pecoraro  <pecoraro@apple.com>
367
368         Web Inspector: Network's columns shake when scrolling at non-default zoom level
369         https://bugs.webkit.org/show_bug.cgi?id=181998
370         <rdar://problem/36449808>
371
372         Reviewed by Matt Baker.
373
374         * UserInterface/Views/Table.js:
375         When zoomed the bounding client rect values were fractional, which was
376         unexpected by this area of code. Floor the values to get a value we expect
377         to be able to evenly distribute.
378
379 2018-01-22  Nikita Vasilyev  <nvasilyev@apple.com>
380
381         Web Inspector: Styles Redesign: data corruption when updating values quickly
382         https://bugs.webkit.org/show_bug.cgi?id=179461
383         <rdar://problem/35431882>
384
385         Reviewed by Joseph Pecoraro.
386
387         Data corruption used to happen because CSSStyleDeclaration.prototype.text didn't
388         update synchronously. Making two or more quick changes resulted in corrupted data.
389
390         Imagine we modify a CSS value 3 times:
391
392         Front-end:  (1)-(2)---(3)
393         Back-end:          (1)-----(2)-(3)
394
395         The first response from the backend could happen after the 2nd edit. In this patch,
396         CSSStyleDeclaration is locked when its view is being edited.
397
398         To correctly display invalid and overridden properties, the backend is allowed to update
399         CSSStyleDeclaration and CSSProperty when they're locked if the text from the backend
400         matches the model's text. This should happen when the backend is caught up with the
401         front-end changes.
402
403         * UserInterface/Models/CSSProperty.js:
404         (WI.CSSProperty.prototype.update):
405         * UserInterface/Models/CSSStyleDeclaration.js:
406         (WI.CSSStyleDeclaration):
407         (WI.CSSStyleDeclaration.prototype.get locked):
408         (WI.CSSStyleDeclaration.prototype.set locked):
409         (WI.CSSStyleDeclaration.prototype.set text):
410
411         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
412         (WI.SpreadsheetCSSStyleDeclarationEditor):
413         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.initialLayout):
414         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.detached):
415         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.get editing):
416         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set focused):
417         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set inlineSwatchActive):
418         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.stylePropertyInlineSwatchActivated):
419         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.stylePropertyInlineSwatchDeactivated):
420         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesChanged):
421         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._updateStyleLock):
422         Lock CSSStyleDeclaration when a CSS property name or value is focused or
423         an inline widget is active.
424
425         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
426         (WI.SpreadsheetCSSStyleDeclarationSection):
427         (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleMouseDown):
428         (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleClick):
429         * UserInterface/Views/SpreadsheetStyleProperty.js:
430         (WI.SpreadsheetStyleProperty):
431         (WI.SpreadsheetStyleProperty.prototype._createInlineSwatch):
432         When selector is focused, clicking on the white-space should not add a new blank property.
433
434 2018-01-19  Ross Kirsling  <ross.kirsling@sony.com>
435
436         Web Inspector: Layers tab should do away with popovers (if possible)
437         https://bugs.webkit.org/show_bug.cgi?id=181805
438
439         Reviewed by Matt Baker.
440
441         * Localizations/en.lproj/localizedStrings.js:
442         Remove superfluous colon from a string.
443
444         * UserInterface/Main.html:
445         * UserInterface/Views/LayerDetailsSidebarPanel.css:
446         * UserInterface/Views/Layers3DContentView.css: Added.
447         Remove popover styling from sidebar, add new file with similar styling for canvas overlay.
448
449         * UserInterface/Views/LayerDetailsSidebarPanel.js:
450         (WI.LayerDetailsSidebarPanel):
451         (WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId):
452         (WI.LayerDetailsSidebarPanel.prototype._dataGridSelectedNodeChanged):
453         (WI.LayerDetailsSidebarPanel.prototype._updateLayers):
454         (WI.LayerDetailsSidebarPanel.prototype._updateBottomBar):
455         (WI.LayerDetailsSidebarPanel.prototype.willDismissPopover): Deleted.
456         (WI.LayerDetailsSidebarPanel.prototype._showPopoverForSelectedNode): Deleted.
457         (WI.LayerDetailsSidebarPanel.prototype._presentPopover): Deleted.
458         (WI.LayerDetailsSidebarPanel.prototype._contentForPopover): Deleted.
459         (WI.LayerDetailsSidebarPanel.prototype._populateListOfCompositingReasons.addReason): Deleted.
460         (WI.LayerDetailsSidebarPanel.prototype._populateListOfCompositingReasons): Deleted.
461         * UserInterface/Views/Layers3DContentView.js:
462         (WI.Layers3DContentView):
463         (WI.Layers3DContentView.prototype.shown):
464         (WI.Layers3DContentView.prototype.selectLayerById):
465         (WI.Layers3DContentView.prototype._canvasMouseDown):
466         (WI.Layers3DContentView.prototype._buildLayerInfoElement):
467         (WI.Layers3DContentView.prototype._updateLayerInfoElement):
468         (WI.Layers3DContentView.prototype._updateReasonsList):
469         Remove popover from sidebar table, overlay div with same data arrangement on top of the canvas.
470         Also reverse the fix from r226671 since the visualization is no longer unusable without the sidebar!
471
472 2018-01-19  Matt Baker  <mattbaker@apple.com>
473
474         Web Inspector: Canvas Tab: Multiple "waiting for frames" messages displayed
475         https://bugs.webkit.org/show_bug.cgi?id=181865
476         <rdar://problem/36664737>
477
478         Reviewed by Devin Rousso.
479
480         * UserInterface/Views/CanvasContentView.js:
481         (WI.CanvasContentView.prototype._recordingStarted):
482         (WI.CanvasContentView.prototype._recordingStopped):
483
484 2018-01-19  Nikita Vasilyev  <nvasilyev@apple.com>
485
486         Web Inspector: Styles Redesign: tabbing on commented out property throws exception
487         https://bugs.webkit.org/show_bug.cgi?id=180676
488         <rdar://problem/35981058>
489
490         Reviewed by Joseph Pecoraro.
491
492         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
493         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.startEditingFirstProperty):
494         Tabbing from the selector field should focus on the first editable property.
495         When no editable properties are present, a new blank property should be added after the commented out ones.
496
497         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.startEditingLastProperty):
498         Shift-tabbing from the selector field should focus on the last editable property of the previous CSS rule.
499         When no editable properties are present, a new blank property should be added after the commented out ones.
500
501         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetCSSStyleDeclarationEditorFocusMoved):
502         When navigating between properties skip the commented out ones.
503
504         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._editablePropertyAfter):
505         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._editablePropertyBefore):
506         * UserInterface/Views/SpreadsheetStyleProperty.js:
507         (WI.SpreadsheetStyleProperty.prototype.get enabled):
508         (WI.SpreadsheetStyleProperty.prototype._update):
509
510 2018-01-19  Nikita Vasilyev  <nvasilyev@apple.com>
511
512         Web Inspector: Make styles sidebar always LTR
513         https://bugs.webkit.org/show_bug.cgi?id=175357
514         <rdar://problem/33787988>
515
516         Reviewed by Joseph Pecoraro.
517
518         * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
519         (WI.SpreadsheetRulesStyleDetailsPanel):
520
521 2018-01-19  Keith Miller  <keith_miller@apple.com>
522
523         HaveInternalSDK includes should be "#include?"
524         https://bugs.webkit.org/show_bug.cgi?id=179670
525
526         Reviewed by Dan Bernstein.
527
528         * Configurations/Base.xcconfig:
529
530 2018-01-18  Dan Bernstein  <mitz@apple.com>
531
532         [Xcode] Streamline and future-proof target-macOS-version-dependent build setting definitions
533         https://bugs.webkit.org/show_bug.cgi?id=181803
534
535         Reviewed by Tim Horton.
536
537         * Configurations/Base.xcconfig: Updated.
538         * Configurations/DebugRelease.xcconfig: Ditto.
539         * Configurations/Version.xcconfig: Ditto.
540
541 2018-01-18  Devin Rousso  <webkit@devinrousso.com>
542
543         Web Inspector: Canvas Tab: record button on canvas card doesn't always show on hover, or is misplaced
544         https://bugs.webkit.org/show_bug.cgi?id=179183
545
546         Reviewed by Joseph Pecoraro.
547
548         * UserInterface/Views/CanvasOverviewContentView.css:
549         (.content-view.canvas-overview .content-view.canvas:not(.is-recording) > header > .navigation-bar > .item.record-start-stop): Deleted.
550
551 2018-01-17  Devin Rousso  <webkit@devinrousso.com>
552
553         Web Inspector: clicking on a path component that has no siblings should select it
554         https://bugs.webkit.org/show_bug.cgi?id=181772
555
556         Reviewed by Joseph Pecoraro.
557
558         * UserInterface/Views/HierarchicalPathComponent.js:
559         (WI.HierarchicalPathComponent.prototype._updateSelectElement):
560         (WI.HierarchicalPathComponent.prototype._selectElementMouseDown):
561
562 2018-01-17  Joseph Pecoraro  <pecoraro@apple.com>
563
564         Web Inspector: Add back localized strings for Styles sidebar panels
565         https://bugs.webkit.org/show_bug.cgi?id=181748
566         <rdar://problem/36583184>
567
568         Reviewed by Brian Burg.
569
570         * Localizations/en.lproj/localizedStrings.js:
571         * UserInterface/Views/ComputedStyleDetailsSidebarPanel.js:
572         (WI.ComputedStyleDetailsSidebarPanel):
573         * UserInterface/Views/RulesStyleDetailsSidebarPanel.js:
574         (WI.RulesStyleDetailsSidebarPanel):
575         * UserInterface/Views/VisualStyleDetailsSidebarPanel.js:
576         (WI.VisualStyleDetailsSidebarPanel):
577         Add back localized strings for panel titles lost in r225547.
578
579 2018-01-17  Joseph Pecoraro  <pecoraro@apple.com>
580
581         Web Inspector: Super long URL string causes bad wrapping in Resources detail sidebar
582         https://bugs.webkit.org/show_bug.cgi?id=181617
583
584         Reviewed by Brian Burg.
585
586         * UserInterface/Views/DetailsSection.css:
587         (.details-section > .content > .group > .row.simple > .value):
588         Set the break to all characters.
589
590 2018-01-16  Matt Baker  <mattbaker@apple.com>
591
592         Web Inspector: Canvas tab: typing a "space" in the QuickConsole shouldn't trigger a recording
593         https://bugs.webkit.org/show_bug.cgi?id=181706
594         <rdar://problem/36558221>
595
596         Reviewed by Joseph Pecoraro.
597
598         * UserInterface/Views/CanvasOverviewContentView.js:
599         (WI.CanvasOverviewContentView):
600         (WI.CanvasOverviewContentView.prototype._handleSpace):
601
602 2018-01-16  Joseph Pecoraro  <pecoraro@apple.com>
603
604         Web Inspector: Make Console's Execution Context picker stand out when it is non-default
605         https://bugs.webkit.org/show_bug.cgi?id=181628
606         <rdar://problem/36492044>
607
608         Reviewed by Matt Baker.
609
610         * UserInterface/Views/HierarchicalPathComponent.css:
611         (.hierarchical-path-component > .selector-arrows):
612         * UserInterface/Views/HierarchicalPathComponent.js:
613         (WI.HierarchicalPathComponent.prototype.set selectorArrows):
614         Switch to SVG element so we can style the arrows.
615
616         * UserInterface/Views/QuickConsole.css:
617         (.quick-console > .navigation-bar > .hierarchical-path .execution-context):
618         (.quick-console > .navigation-bar > .hierarchical-path .execution-context .separator):
619         (.quick-console > .navigation-bar > .hierarchical-path.non-default-execution-context .execution-context):
620         (.quick-console > .navigation-bar > .hierarchical-path.non-default-execution-context .execution-context .selector-arrows):
621         Styles for the execution context picker. We hide the unused separator
622         and instead use margin so that the selected background and border don't
623         have an extra 7px on the right/end side.
624
625         * UserInterface/Views/QuickConsole.js:
626         (WI.QuickConsole.prototype._activeExecutionContextChanged):
627         Toggle the non-default class name on the path.
628
629 2018-01-16  Nikita Vasilyev  <nvasilyev@apple.com>
630
631         Web Inspector: Styles: pressing down key should select first item from completion list when focusing on empty value
632         https://bugs.webkit.org/show_bug.cgi?id=181633
633         <rdar://problem/36501797>
634
635         Reviewed by Joseph Pecoraro.
636
637         * UserInterface/Views/SpreadsheetTextField.js:
638         (WI.SpreadsheetTextField.prototype._updateCompletions):
639
640 2018-01-16  Nikita Vasilyev  <nvasilyev@apple.com>
641
642         Web Inspector: Styles Redesign: Long value causes bad wrapping
643         https://bugs.webkit.org/show_bug.cgi?id=181618
644         <rdar://problem/36485175>
645
646         Reviewed by Joseph Pecoraro.
647
648         Wrap long values only when editing.
649
650         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
651         (.spreadsheet-style-declaration-editor .value.editing):
652
653 2018-01-16  Nikita Vasilyev  <nvasilyev@apple.com>
654
655         Web Inspector: Styles Redesign: clicking on the white space after the property sometimes places a blank property at the wrong index
656         https://bugs.webkit.org/show_bug.cgi?id=179585
657         <rdar://problem/35490780>
658
659         Reviewed by Joseph Pecoraro.
660
661         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
662         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyRemoved):
663         Layout call is needed to update data-property-index attributes on the property views.
664
665 2018-01-16  Joseph Pecoraro  <pecoraro@apple.com>
666
667         Web Inspector: Network Tab - Export HAR Context Menu not working
668         https://bugs.webkit.org/show_bug.cgi?id=181694
669         <rdar://problem/36479197>
670
671         Reviewed by Brian Burg.
672
673         * UserInterface/Views/NetworkTableContentView.js:
674         (WI.NetworkTableContentView.prototype.tableCellContextMenuClicked):
675         Ensure `this` works in the handler.
676
677 2018-01-15  Matt Baker  <mattbaker@apple.com>
678
679         Web Inspector: TabBar redesign: add context menu to TabBar for toggling available tabs
680         https://bugs.webkit.org/show_bug.cgi?id=181448
681         <rdar://problem/36383298>
682
683         Reviewed by Devin Rousso.
684
685         * UserInterface/Base/Main.js:
686         (WI.loaded):
687         (WI.contentLoaded):
688         Reorder production tab classes and default (open) tabs.
689         (WI.registerTabClass): Removed.
690         Not used.
691
692         * UserInterface/Base/Object.js:
693         Remove notification that is no longer used.
694
695         * UserInterface/Views/GeneralTabBarItem.js:
696         (WI.GeneralTabBarItem):
697         (WI.GeneralTabBarItem.prototype.set title):
698         (WI.GeneralTabBarItem.prototype._handleContextMenuEvent): Deleted.
699         Remove per-tab context menu (provided Close Tab and Close Other Tabs).
700
701         * UserInterface/Views/NewTabContentView.js:
702         (WI.NewTabContentView):
703
704         * UserInterface/Views/TabBar.js:
705         (WI.TabBar):
706         (WI.TabBar.prototype._handleContextMenu):
707
708         * UserInterface/Views/TabBrowser.js:
709         (WI.TabBrowser):
710         (WI.TabBrowser._handleNewTabContextMenu): Deleted.
711         No longer needed.
712
713 2018-01-13  Nikita Vasilyev  <nvasilyev@apple.com>
714
715         Web Inspector: Styles Redesign: properties should never be semitransparent or crossed out while editing
716         https://bugs.webkit.org/show_bug.cgi?id=180793
717         <rdar://problem/36038813>
718
719         Reviewed by Devin Rousso.
720
721         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
722         (.spreadsheet-style-declaration-editor .value.editing):
723         (.spreadsheet-style-declaration-editor .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) .content > *):
724         (.spreadsheet-style-declaration-editor .property.invalid-name:not(.disabled) .content > *):
725         (.spreadsheet-style-declaration-editor .property.invalid-value:not(.disabled) .content .value):
726         (.spreadsheet-style-declaration-editor .property.not-inherited .content > *):
727         * UserInterface/Views/SpreadsheetStyleProperty.js:
728         (WI.SpreadsheetStyleProperty.prototype._update):
729
730 2018-01-12  Joseph Pecoraro  <pecoraro@apple.com>
731
732         Web Inspector: Drop support for iOS 7 targets
733         https://bugs.webkit.org/show_bug.cgi?id=181549
734         <rdar://problem/36444813>
735
736         Reviewed by Brian Burg.
737
738         * Versions/Inspector-iOS-7.0.json: Removed.
739         * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js: Removed.
740         Remove protocol snapshot and generated commands for iOS 7.
741
742         * UserInterface/Base/Main.js:
743         * UserInterface/Controllers/BreakpointPopoverController.js:
744         (WI.BreakpointPopoverController.prototype._createPopoverContent):
745         * UserInterface/Controllers/DebuggerManager.js:
746         (WI.DebuggerManager.prototype._setBreakpoint):
747         * UserInterface/Controllers/SourceMapManager.js:
748         (WI.SourceMapManager.prototype._loadAndParseSourceMap):
749         * UserInterface/Models/Instrument.js:
750         (WI.Instrument.startLegacyTimelineAgent):
751         * UserInterface/Models/ResourceTimingData.js:
752         * UserInterface/Models/ScriptTimelineRecord.js:
753         (WI.ScriptTimelineRecord.EventType.displayName):
754         * UserInterface/Models/SourceMapResource.js:
755         (WI.SourceMapResource.prototype.requestContentFromBackend):
756         * UserInterface/Protocol/CSSObserver.js:
757         (WI.CSSObserver.prototype.regionLayoutUpdated): Deleted.
758         * UserInterface/Protocol/RemoteObject.js:
759         (WI.RemoteObject.fromPayload):
760         Remove code that was only necessary to support iOS 7.
761
762 2018-01-12  Joseph Pecoraro  <pecoraro@apple.com>
763
764         Web Inspector: Support JSX (React) syntax highlighting
765         https://bugs.webkit.org/show_bug.cgi?id=181607
766         <rdar://problem/36442564>
767
768         Reviewed by Brian Burg.
769
770         * UserInterface/Base/MIMETypeUtilities.js:
771         (WI.mimeTypeForFileExtension):
772         (WI.fileExtensionForMIMEType):
773         * UserInterface/Models/Resource.js:
774         Support the jsx extension and mime types.
775
776         * UserInterface/Main.html:
777         * Scripts/update-codemirror-resources.rb:
778         * UserInterface/External/CodeMirror/jsx.js: Added.
779         Include new mode from CodeMirror@d8926768.
780
781 2018-01-11  Joseph Pecoraro  <pecoraro@apple.com>
782
783         Web Inspector: Rename "Query String" section as "Query String Parameters" for clarity
784         https://bugs.webkit.org/show_bug.cgi?id=181464
785
786         Reviewed by Darin Adler.
787
788         * Localizations/en.lproj/localizedStrings.js:
789         * UserInterface/Views/ResourceHeadersContentView.js:
790         (WI.ResourceHeadersContentView.prototype.initialLayout):
791
792 2018-01-11  Joseph Pecoraro  <pecoraro@apple.com>
793
794         Web Inspector: Remove unused variable in WI.DebuggerSidebarPanel
795         https://bugs.webkit.org/show_bug.cgi?id=181517
796
797         Reviewed by Matt Baker.
798
799         * UserInterface/Views/DebuggerSidebarPanel.js:
800
801 2018-01-10  Joseph Pecoraro  <pecoraro@apple.com>
802
803         REGRESSION(r218975): Web Inspector: Add back NavigationSidebarPanel initialization parameter used by SearchSidebarPanel (top overflow shadow)
804         https://bugs.webkit.org/show_bug.cgi?id=181518
805         <rdar://problem/36427197>
806
807         Reviewed by Matt Baker.
808
809         * UserInterface/Views/NavigationSidebarPanel.css:
810         (.sidebar > .panel.navigation > .overflow-shadow.top):
811         * UserInterface/Views/NavigationSidebarPanel.js:
812         (WI.NavigationSidebarPanel):
813         Add back the initialization parameter still used by SearchSidebarPanel
814         and add back its implementation. There were still references to
815         dynamically update _topOverflowShadowElement in NavigationSidebarPanel.
816
817 2018-01-10  Joseph Pecoraro  <pecoraro@apple.com>
818
819         Web Inspector: Incorrect check with WI.debuggableType
820         https://bugs.webkit.org/show_bug.cgi?id=181515
821         <rdar://problem/36425509>
822
823         Reviewed by Brian Burg.
824
825         * UserInterface/Base/Main.js:
826         (WI.contentLoaded):
827         This moved to WI.sharedApp a while ago.
828
829 2018-01-10  Matt Baker  <mattbaker@apple.com>
830
831         Web Inspector: Canvas tab: throttle recording slider updates
832         https://bugs.webkit.org/show_bug.cgi?id=180839
833         <rdar://problem/36057849>
834
835         Reviewed by Joseph Pecoraro
836
837         * UserInterface/Base/Utilities.js:
838         Add Object.throttle and Function.cancelThrottle. Repeated calls to a
839         function on a throttled object are delayed, so that the function isn't
840         invoked more frequently than the specified delay value.
841
842         For a description of throttling behavior see:
843           - http://www.chrislondon.co/throttling-vs-debouncing
844           - http://benalman.com/projects/jquery-throttle-debounce-plugin
845
846         * UserInterface/Views/RecordingContentView.js:
847         (WI.RecordingContentView.prototype.updateActionIndex):
848         Throttle frequency of canvas snapshot creation to 200ms.
849         (WI.RecordingContentView.prototype.hidden):
850         Prevent trailing edge call after hiding the view.
851
852 2018-01-10  Joseph Pecoraro  <pecoraro@apple.com>
853
854         Web Inspector: Should not try to autocomplete subsections of a string
855         https://bugs.webkit.org/show_bug.cgi?id=181461
856         <rdar://problem/36369421>
857
858         Reviewed by Brian Burg.
859
860         * UserInterface/Controllers/CodeMirrorCompletionController.js:
861         (WI.CodeMirrorCompletionController.prototype._completeAtCurrentPosition):
862         Disable autocompletion within strings.
863
864 2018-01-09  Joseph Pecoraro  <pecoraro@apple.com>
865
866         REGRESSION(r201855): Web Inspector: Should see "length" autocompletion suggestion on a string literal
867         https://bugs.webkit.org/show_bug.cgi?id=181462
868         <rdar://problem/36390699>
869
870         Reviewed by Matt Baker.
871
872         * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
873         (WI.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.inspectedPage_evalResult_getCompletions):
874         This is code that runs on the inspected target, which may have an old version of
875         WebKit/JavaScriptCore, so don't use new syntax like this.
876
877         (WI.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded):
878         We intended to return the result by as a JSON value instead of a RemoteObject.
879
880 2018-01-09  Ross Kirsling  <ross.kirsling@sony.com>
881
882         Web Inspector: Layers sidebar shows popover on selection even when collapsed
883         https://bugs.webkit.org/show_bug.cgi?id=181465
884
885         Reviewed by Matt Baker.
886
887         * UserInterface/Views/LayerDetailsSidebarPanel.js:
888         (WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId):
889         Have sidebar show itself if necessary before displaying popover.
890
891 2018-01-08  Joseph Pecoraro  <pecoraro@apple.com>
892
893         Web Inspector: Find next / previous within a resource content view does not have bouncy highlight when editor scrolls
894         https://bugs.webkit.org/show_bug.cgi?id=181279
895         <rdar://problem/36291097>
896
897         Reviewed by Brian Burg.
898
899         * UserInterface/Views/TextEditor.js:
900         (WI.TextEditor.prototype._revealSearchResult):
901         Reposition the bouncy highlight on scroll based on the CodeMirror
902         line/ch position of the search result.
903
904         (WI.TextEditor.prototype._removeBouncyHighlightElementIfNeeded):
905         Track the bouncy highlight scroll handler in a member variable so that
906         we always remember to remove it and don't leak scroll handlers.
907
908 2018-01-07  David Kilzer  <ddkilzer@apple.com>
909
910         Enable -Wcast-qual for WebInspectorUI, WebKitLegacy, WebKit projects
911         <https://webkit.org/b/181256>
912         <rdar://problem/36281730>
913
914         Reviewed by Darin Adler.
915
916         * Configurations/Base.xcconfig:
917         (WARNING_CFLAGS): Add -Wcast-qual.
918
919 2018-01-05  Joseph Pecoraro  <pecoraro@apple.com>
920
921         Web Inspector: Add another Protocol Version
922         https://bugs.webkit.org/show_bug.cgi?id=181354
923         <rdar://problem/35432817>
924
925         Reviewed by Matt Baker.
926
927         * UserInterface/Protocol/Legacy/11.3/InspectorBackendCommands.js: Added.
928         * Versions/Inspector-iOS-11.3.json: Added.
929
930 2018-01-04  Devin Rousso  <webkit@devinrousso.com>
931
932         Web Inspector: replace HTMLCanvasElement with CanvasRenderingContext for instrumentation logic
933         https://bugs.webkit.org/show_bug.cgi?id=180770
934
935         Reviewed by Joseph Pecoraro.
936
937         * UserInterface/Models/Canvas.js:
938         (WI.Canvas.fromPayload):
939         (WI.Canvas.prototype.get contextType):
940         (WI.Canvas.prototype.saveIdentityToCookie):
941         (WI.Canvas.prototype.get frame): Deleted.
942
943 2018-01-04  Joseph Pecoraro  <pecoraro@apple.com>
944
945         REGRESSION (r225709): Web Inspector: CSS Source maps not loading
946         https://bugs.webkit.org/show_bug.cgi?id=181314
947         <rdar://problem/36177620>
948
949         Reviewed by Brian Burg.
950
951         * UserInterface/Controllers/SourceMapManager.js:
952         (WI.SourceMapManager.prototype._loadAndParseSourceMap):
953         * UserInterface/Models/SourceMapResource.js:
954         (WI.SourceMapResource.prototype.requestContentFromBackend):
955         Correct this so that we only fall back to a reasonable frame id
956         if we couldn't determine a frame id from earlier. Previously this
957         was incorrectly clearing the frame id if we had gotten it earlier.
958
959         * UserInterface/Test.html:
960         * UserInterface/Test/Test.js:
961         (WI.loaded):
962         Add SourceMap related files for tests.
963
964 2018-01-04  Brian Burg  <bburg@apple.com>
965
966         Web Inspector: Capture Element Screenshot looks fuzzy
967         https://bugs.webkit.org/show_bug.cgi?id=175734
968         <rdar://problem/33803377>
969
970         Reviewed by Joseph Pecoraro and Simon Fraser.
971
972         Spruce up these functions a bit. They now optionally return a promise
973         if no callback is supplied. They now can take either a WI.DOMNode or a node id.
974
975         * UserInterface/Controllers/DOMTreeManager.js:
976         (WI.DOMTreeManager.prototype.querySelector):
977         (WI.DOMTreeManager.prototype.querySelectorAll):
978
979 2018-01-04  Brian Burg  <bburg@apple.com>
980
981         Web Inspector: add RemoteObject.fetchProperties and some basic tests for RemoteObject API
982         https://bugs.webkit.org/show_bug.cgi?id=180945
983
984         Reviewed by Joseph Pecoraro.
985
986         Add a new method, fetchProperties, which async fetches an arbitrary list of properties
987         from a RemoteObject. This is intended for writing tests and other quick evaluations,
988         so it has some behaviors that are suitable in these situations:
989         - If the evaluation throws an exception, the result will reject with that exception.
990         - If there is a protocol error for some reason, the result will reject with an exception.
991         - Non-string and non-number keys cause an exception, as this is probably not intended.
992         - Does not accept a callback, returns a promise only. New code should use async.
993
994         For full fidelity introspection of property descriptors, clients should use the existing
995         getOwnPropertyDescriptor[s] class of methods.
996
997         * UserInterface/Protocol/RemoteObject.js:
998         (WI.RemoteObject.prototype.async.fetchProperties): Added.
999         - Validate specified keys and remove duplicates.
1000         - Request properties one-by-one to avoid fetching all descriptors and dealing with previews.
1001         - Unwrap returned primitive values to avoid unnecessary munging in tests.
1002
1003         (WI.RemoteObject.prototype.getProperty):
1004         - Rework this to return a promise if no callback was supplied.
1005         - Introduce stricter property type checking to avoid unintended mistakes.
1006
1007         (WI.RemoteObject.prototype.callFunction):
1008         - Rework this to return a promise if no callback was supplied.
1009         - Turn thrown exceptions and protocol errors into rejected promises.
1010
1011 2018-01-04  Joseph Pecoraro  <pecoraro@apple.com>
1012
1013         Web Inspector: ⌘G / ⇧⌘G text search does not working after closing find banner
1014         https://bugs.webkit.org/show_bug.cgi?id=181280
1015         <rdar://problem/36291175>
1016
1017         Reviewed by Matt Baker.
1018
1019         * UserInterface/Views/ContentBrowser.js:
1020         (WI.ContentBrowser.prototype._findBannerDidHide):
1021         When the find banner is hidden trigger a new ContentView method,
1022         searchHidden instead of the destructive searchCleared. This allows
1023         most content views (text editors, DOM tree, Network Headers view)
1024         to keep their populated search results.
1025
1026         * UserInterface/Views/ContentView.js:
1027         (WI.ContentView.prototype.searchHidden):
1028         * UserInterface/Views/LogContentView.js:
1029         (WI.LogContentView.prototype.searchHidden):
1030         By default searchHidden does nothing. The Console's LogContentView
1031         treats the find banner differently and clears its search results.
1032
1033         * UserInterface/Views/TextEditor.js:
1034         (WI.TextEditor.prototype.searchCleared):
1035         Modernize some code while working in this area.
1036
1037         * UserInterface/Views/Main.css:
1038         (.bouncy-highlight):
1039         Ensure black text on yellow background in the bouncy highlight. In the
1040         DOM Tree it could have been white if the find banner was closed.
1041
1042 2018-01-03  Ting-Wei Lan  <lantw44@gmail.com>
1043
1044         Replace hard-coded paths in shebangs with #!/usr/bin/env
1045         https://bugs.webkit.org/show_bug.cgi?id=181040
1046
1047         Reviewed by Alex Christensen.
1048
1049         * Scripts/combine-resources.pl:
1050         * Scripts/copy-user-interface-resources-dryrun.rb:
1051         * Scripts/copy-user-interface-resources.pl:
1052         * Scripts/fix-worker-imports-for-optimized-builds.pl:
1053         * Scripts/remove-console-asserts-dryrun.rb:
1054         * Scripts/remove-console-asserts.pl:
1055         * Scripts/update-LegacyInspectorBackendCommands.rb:
1056         * Scripts/update-codemirror-resources.rb:
1057         * WebInspectorUI.vcxproj/build-webinspectorui.pl:
1058
1059 2018-01-03  Joseph Pecoraro  <pecoraro@apple.com>
1060
1061         Web Inspector: "Log Value" context menu is sometimes unavailable
1062         https://bugs.webkit.org/show_bug.cgi?id=181278
1063         <rdar://problem/36281649>
1064
1065         Reviewed by Devin Rousso.
1066
1067         * UserInterface/Views/ObjectPreviewView.css:
1068         (.object-preview > .title):
1069         * UserInterface/Views/ObjectTreeView.css:
1070         (.object-tree.expanded > .title):
1071         Make the expanded object title information 16px tall to match ObjectTree
1072         tree element row heights. This eliminates the floating console message
1073         location from overlapping the first ObjectTree's TreeElement and causing
1074         truncation and other behavior issues (like Context Menu identification).
1075
1076 2018-01-03  Joseph Pecoraro  <pecoraro@apple.com>
1077
1078         Web Inspector: RTL - DOM Tree Element selection doesn't work
1079         https://bugs.webkit.org/show_bug.cgi?id=181275
1080         <rdar://problem/36290450>
1081
1082         Reviewed by Devin Rousso.
1083
1084         * UserInterface/Views/TreeOutline.js:
1085         (WI.TreeOutline.prototype.treeElementFromEvent):
1086         Provide a better explanation for why we are making the `x` adjustment here,
1087         to detect the inner most tree element along the horizontal. Fix the algorithm
1088         for RTL, since the intent is to adjust to the trailing edge of the container
1089         which is on the opposite side in RTL.
1090
1091 2018-01-03  Joseph Pecoraro  <pecoraro@apple.com>
1092
1093         Web Inspector: Find banner sometimes does not work (when already populated and shown for first time on resource)
1094         https://bugs.webkit.org/show_bug.cgi?id=181255
1095         <rdar://problem/36248855>
1096
1097         Reviewed by Matt Baker.
1098
1099         * UserInterface/Views/TextEditor.js:
1100         (WI.TextEditor.prototype.set string):
1101         Defer any early searches until the initial content of a TextEditor has been set.
1102         Such searches can happen when the FindBanner already has content when a
1103         ContentView is first opened and needs to load its content from the backend.
1104         Further, even though the content may be loaded from the backend before the
1105         search results, microtask hops might cause the content to get to the TextEditor
1106         after the search results.
1107
1108 2018-01-03  Joseph Pecoraro  <pecoraro@apple.com>
1109
1110         REGRESSION: Web Inspector: Debugger tab doesn't restore selected resource on reload
1111         https://bugs.webkit.org/show_bug.cgi?id=181253
1112         <rdar://problem/36280564>
1113
1114         Reviewed by Matt Baker.
1115
1116         * UserInterface/Views/DebuggerSidebarPanel.js:
1117         (WI.DebuggerSidebarPanel.prototype.restoreStateFromCookie):
1118         Add braces to ensure the trailing else is actually trailing the outer
1119         chain as it was intended to be.
1120
1121 2018-01-02  Joseph Pecoraro  <pecoraro@apple.com>
1122
1123         Web Inspector: Clicking source location link in Console unexpectedly jumps to Network tab
1124         https://bugs.webkit.org/show_bug.cgi?id=181229
1125         <rdar://problem/36075219>
1126
1127         Reviewed by Matt Baker.
1128
1129         * UserInterface/Base/Main.js:
1130         Cleanup linkifyURLAsNode. Ignore Search tab in generic handlePossibleLinkClick
1131         when not already in the Search tab.
1132
1133         * UserInterface/Views/CallFrameView.js:
1134         (WI.CallFrameView):
1135         Ignore Search and Network tab in CallFrame links.
1136
1137         * UserInterface/Views/TabBrowser.js:
1138         (WI.TabBrowser.prototype.bestTabContentViewForRepresentedObject):
1139         Improve style.
1140
1141 == Rolled over to ChangeLog-2018-01-01 ==