f2b2a5f5d93a60744e623aa8243ccaf1a88fea7d
[WebKit-https.git] / Source / WebInspectorUI / ChangeLog
1 2017-06-27  Joseph Pecoraro  <pecoraro@apple.com>
2
3         Web Inspector: Remove unused Inspector domain events
4         https://bugs.webkit.org/show_bug.cgi?id=173905
5
6         Reviewed by Matt Baker.
7
8         * UserInterface/Protocol/InspectorObserver.js:
9         (WebInspector.InspectorObserver.prototype.detached): Deleted.
10
11         * UserInterface/Protocol/Legacy/10.0/InspectorBackendCommands.js:
12         * UserInterface/Protocol/Legacy/10.3/InspectorBackendCommands.js:
13         * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
14         * UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
15         * UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js:
16         * UserInterface/Protocol/Legacy/9.3/InspectorBackendCommands.js:
17         * Versions/Inspector-iOS-10.0.json:
18         * Versions/Inspector-iOS-10.3.json:
19         * Versions/Inspector-iOS-7.0.json:
20         * Versions/Inspector-iOS-8.0.json:
21         * Versions/Inspector-iOS-9.0.json:
22         * Versions/Inspector-iOS-9.3.json:
23         Remove from legacy backends as well since they did not send it.
24
25 2017-06-27  Matt Baker  <mattbaker@apple.com>
26
27         Web Inspector: no discoverable way to dismiss the split console
28         https://bugs.webkit.org/show_bug.cgi?id=167034
29         <rdar://problem/30023436>
30
31         Reviewed by Devin Rousso.
32
33         This patch adds an Xcode-style toggle button to the left of the
34         split console navigation bar. Additionally, the split console code
35         has been broken out into it's own class to reduce the clutter in
36         Main.js/css, and simplify future console maintenance.
37
38         * Localizations/en.lproj/localizedStrings.js:
39
40         * UserInterface/Base/Main.js:
41         (WebInspector.loaded):
42         Replace the "split" ContentBrowser with a new ConsoleDrawer class,
43         which encapsulates the drawer height setting and resize behavior.
44         (WebInspector.contentLoaded):
45         The console drawer manages its own height.
46
47         * UserInterface/Images/HideConsoleDrawer.svg: Added.
48         * UserInterface/Images/ShowConsoleDrawer.svg: Added.
49         Console drawer toggle button images. Styled after corresponding Xcode button.
50
51         * UserInterface/Main.html:
52
53         * UserInterface/Views/ConsoleDrawer.css: Added.
54         Moved old #split-content-browser styles over from Main.css.
55         (.console-drawer):
56         (.console-drawer > .navigation-bar):
57         (.console-drawer > .navigation-bar > .item.button:not(.clear-log)):
58         Make button spacing less cramped.
59         (.console-drawer > .navigation-bar > .item:not(.flexible-space)):
60         (.console-drawer > .navigation-bar > :matches(.item.button, .log-scope-bar)):
61         (.console-drawer > .navigation-bar > .item > .glyph,):
62
63         * UserInterface/Views/ConsoleDrawer.js: Added.
64         New class responsible for console drawer expand / collapse and resizer
65         dragging, which was previously part of Main.js. The console drawer toolbar
66         now has a toggle button, debugging controls, and a call frames path item.
67         The "Show Console Tab" button has been removed.
68
69         (WebInspector.ConsoleDrawer):
70         (WebInspector.ConsoleDrawer.prototype.get collapsed):
71         (WebInspector.ConsoleDrawer.prototype.set collapsed):
72         (WebInspector.ConsoleDrawer.prototype.get height):
73         (WebInspector.ConsoleDrawer.prototype.shown):
74         (WebInspector.ConsoleDrawer.prototype.layout):
75         (WebInspector.ConsoleDrawer.prototype._consoleResizerMouseDown.dockedResizerDrag):
76         (WebInspector.ConsoleDrawer.prototype._consoleResizerMouseDown.dockedResizerDragEnd):
77         (WebInspector.ConsoleDrawer.prototype._consoleResizerMouseDown):
78         (WebInspector.ConsoleDrawer.prototype._restoreDrawerHeight):
79         (WebInspector.ConsoleDrawer.prototype._updateDrawerHeight):
80         (WebInspector.ConsoleDrawer.prototype._selectedTabContentViewDidChange):
81         When switching to a tab that doesn't support showing the console drawer,
82         hide it without altering the collapsed state.
83
84         * UserInterface/Views/LogContentView.js:
85         (WebInspector.LogContentView.prototype.get navigationItems):
86
87         * UserInterface/Views/Main.css:
88         Renamed #split-content-browser to #console-drawer, and moved related
89         styles to ConsoleDrawer.css.
90
91         (#split-content-browser): Deleted.
92         (#split-content-browser > .navigation-bar): Deleted.
93         (#split-content-browser > .navigation-bar :matches(.find-banner, .find-banner + .divider)): Deleted.
94         (#split-content-browser > .navigation-bar .item): Deleted.
95         (#split-content-browser > .navigation-bar .item:not(.flexible-space)): Deleted.
96         (#split-content-browser .hierarchical-path-component.log-icon .icon): Deleted.
97         (#split-content-browser .hierarchical-path-component.log-icon .title): Deleted.
98         (#split-content-browser .hierarchical-path-component.log-icon select): Deleted.
99         (#split-content-browser > .navigation-bar > :matches(.hierarchical-path, .log-scope-bar)): Deleted.
100         (#split-content-browser > .navigation-bar > .log-scope-bar > li): Deleted.
101
102         * UserInterface/Views/QuickConsole.js:
103         (WebInspector.QuickConsole):
104         (WebInspector.QuickConsole.prototype._toggleOrFocus):
105         (WebInspector.QuickConsole.prototype._updateStyles):
106         Update top border style in response to change in selected TabBrowser
107         tab or the console drawer collapsed state.
108
109         (WebInspector.QuickConsole.prototype.consoleLogVisibilityChanged): Deleted.
110         (WebInspector.QuickConsole.prototype.set keyboardShortcutDisabled): Deleted.
111
112 2017-06-24  Joseph Pecoraro  <pecoraro@apple.com>
113
114         Remove Reflect.enumerate
115         https://bugs.webkit.org/show_bug.cgi?id=173806
116
117         Reviewed by Yusuke Suzuki.
118
119         * UserInterface/Models/NativeFunctionParameters.js:
120
121 2017-06-23  Joseph Pecoraro  <pecoraro@apple.com>
122
123         Web Inspector: Script Timeline bubbles sometimes appear to miss large events
124         https://bugs.webkit.org/show_bug.cgi?id=173746
125         <rdar://problem/32950808>
126
127         Reviewed by Brian Burg.
128
129         * UserInterface/Models/Timeline.js:
130         (WebInspector.Timeline.prototype.addRecord):
131         (WebInspector.Timeline.prototype._tryInsertInSortedOrder):
132         The list of records is assumed to be sorted by the code that draws bubbles
133         however the order in which we receive them may not be sorted. Make a quick
134         effort to sort recent records so that as we are drawing the timeline it is
135         more accurate.
136
137 2017-06-23  Brian Burg  <bburg@apple.com>
138
139         Web Inspector: RTL: flip all go-to-arrow instances
140         https://bugs.webkit.org/show_bug.cgi?id=173794
141         <rdar://problem/32221912>
142
143         Reviewed by Joseph Pecoraro.
144
145         Move the flipping transform so it applies to all go-to arrows.
146
147         * UserInterface/Views/DataGrid.css:
148         (body[dir=rtl] .data-grid td .go-to-arrow):
149         * UserInterface/Views/Main.css:
150         (body[dir=rtl] .go-to-arrow):
151
152 2017-06-22  Joseph Pecoraro  <pecoraro@apple.com>
153
154         Web Inspector: Pausing with a deep call stack can be very slow, avoid eagerly generating object previews
155         https://bugs.webkit.org/show_bug.cgi?id=173698
156
157         Reviewed by Matt Baker.
158
159         Introduce RemoteObject.prototype.updatePreview which can be used to update
160         the preview of a RemoteObject with a current view for the object. Currently
161         we only use this to fetch the preview that we did not have for the `thisObject`
162         in the scope chain sidebar. However this could be used generically to update
163         a RemoteObject's preview (ObjectPreview) at any time.
164
165         * UserInterface/Protocol/RemoteObject.js:
166         (WebInspector.RemoteObject.prototype.canLoadPreview):
167         (WebInspector.RemoteObject.prototype.updatePreview):
168         Allow a RemoteObject to update its preview property. Since this only makes
169         sense on certain Object values include a helper to know when it is appropriate
170         to fetch a preview.
171
172         * UserInterface/Views/ObjectTreePropertyTreeElement.js:
173         (WebInspector.ObjectTreePropertyTreeElement.prototype._createTitlePropertyStyle):
174         (WebInspector.ObjectTreePropertyTreeElement.prototype._loadPreviewLazilyIfNeeded):
175         If the object being shown in the sidebar does not have a preview but can load a
176         preview then attempt to load it lazily. This is the case for the `thisObject`
177         which is injected into an ObjectTree in the scope chain sidebar.
178
179 2017-06-22  Fujii Hironori  <Hironori.Fujii@sony.com>
180
181         [GTK] Web Inspector: Add icon for Canvas.svg
182         https://bugs.webkit.org/show_bug.cgi?id=173580
183
184         Reviewed by Carlos Garcia Campos.
185
186         * UserInterface/Images/gtk/Canvas.svg: Added.
187
188 2017-06-21  Fujii Hironori  <Hironori.Fujii@sony.com>
189
190         [GTK] Web Inspector: Add NavigationItemCheckers.svg
191         https://bugs.webkit.org/show_bug.cgi?id=173692
192
193         Reviewed by Carlos Garcia Campos.
194
195         * UserInterface/Images/gtk/NavigationItemCheckers.svg: Added.
196
197 2017-06-20  Devin Rousso  <drousso@apple.com>
198
199         Web Inspector: change the selected ScopeBarItem on mousedown instead of click
200         https://bugs.webkit.org/show_bug.cgi?id=173586
201
202         Reviewed by Matt Baker.
203
204         Both the Tab bar and Sidebar navigation bar switch the active item on "mousedown" instead of
205         on "click". ScopeBarItem should follow this pattern, as it is faster and keeps consistency.
206
207         * UserInterface/Views/MultipleScopeBarItem.js:
208         (WebInspector.MultipleScopeBarItem):
209         (WebInspector.MultipleScopeBarItem.prototype._handleMouseDown):
210         (WebInspector.MultipleScopeBarItem.prototype._clicked): Deleted.
211         * UserInterface/Views/ScopeBarItem.js:
212         (WebInspector.ScopeBarItem):
213         (WebInspector.ScopeBarItem.prototype._handleMouseDown):
214         (WebInspector.ScopeBarItem.prototype._clicked): Deleted.
215
216 2017-06-20  Devin Rousso  <drousso@apple.com>
217
218         Web Inspector: Send context attributes for tracked canvases
219         https://bugs.webkit.org/show_bug.cgi?id=173327
220
221         Reviewed by Joseph Pecoraro.
222
223         * UserInterface/Models/Canvas.js:
224         (WebInspector.Canvas.fromPayload):
225         (WebInspector.Canvas.prototype.get contextAttributes):
226         * UserInterface/Views/CanvasDetailsSidebarPanel.js:
227         (WebInspector.CanvasDetailsSidebarPanel.prototype.initialLayout):
228         (WebInspector.CanvasDetailsSidebarPanel.prototype.layout):
229         (WebInspector.CanvasDetailsSidebarPanel.prototype.sizeDidChange):
230         (WebInspector.CanvasDetailsSidebarPanel.prototype._refreshAttributesSection):
231
232         * UserInterface/Views/DataGridNode.js:
233         (WebInspector.DataGridNode.prototype.createCellContent):
234         Instead of checking if the value of the cell is falsy, check that the key exists in the data.
235         This allows values like `false` to be displayed.
236
237 2017-06-19  Devin Rousso  <drousso@apple.com>
238
239         Web Inspector: create canvas content view and details sidebar panel
240         https://bugs.webkit.org/show_bug.cgi?id=138941
241         <rdar://problem/19051672>
242
243         Reviewed by Joseph Pecoraro.
244
245         * UserInterface/Models/Canvas.js:
246         (WebInspector.Canvas):
247         (WebInspector.Canvas.fromPayload):
248         (WebInspector.Canvas.prototype.get displayName):
249         (WebInspector.Canvas.requestNode): Added.
250         (WebInspector.Canvas.prototype.requestContent): Added.
251         (WebInspector.Canvas.prototype.saveIdentityToCookie):
252
253         * UserInterface/Controllers/CanvasManager.js:
254         (WebInspector.CanvasManager.prototype.canvasAdded):
255         (WebInspector.CanvasManager.prototype.canvasRemoved):
256         * UserInterface/Models/Collection.js:
257         * UserInterface/Models/Frame.js:
258         (WebInspector.Frame):
259         (WebInspector.Frame.prototype.get canvasCollection):
260         (WebInspector.Frame.prototype.commitProvisionalLoad):
261         Create a Collection for Canvas in each Frame, and modify it when canvas events are fired.
262
263         * UserInterface/Views/CanvasContentView.css: Added.
264         (.content-view.canvas > .preview):
265         (.content-view.canvas > .preview > img):
266         * UserInterface/Views/CanvasContentView.js: Added.
267         (WebInspector.CanvasContentView):
268         (WebInspector.CanvasContentView.prototype.get navigationItems):
269         (WebInspector.CanvasContentView.prototype.shown):
270         (WebInspector.CanvasContentView.prototype.hidden):
271         (WebInspector.CanvasContentView.prototype._showPreview):
272         (WebInspector.CanvasContentView.prototype._updateImageGrid):
273         (WebInspector.CanvasContentView.prototype._showGridButtonClicked):
274         * UserInterface/Views/CanvasDetailsSidebarPanel.js: Added.
275         (WebInspector.CanvasDetailsSidebarPanel):
276         (WebInspector.CanvasDetailsSidebarPanel.prototype.inspect):
277         (WebInspector.CanvasDetailsSidebarPanel.prototype.get canvas):
278         (WebInspector.CanvasDetailsSidebarPanel.prototype.set canvas):
279         (WebInspector.CanvasDetailsSidebarPanel.prototype.initialLayout):
280         (WebInspector.CanvasDetailsSidebarPanel.prototype.layout):
281         (WebInspector.CanvasDetailsSidebarPanel.prototype._refreshIdentitySection):
282         (WebInspector.CanvasDetailsSidebarPanel.prototype._refreshSourceSection.this._canvas.requestNode.):
283         (WebInspector.CanvasDetailsSidebarPanel.prototype._refreshSourceSection):
284         * UserInterface/Views/CanvasTreeElement.js: Added.
285         (WebInspector.CanvasTreeElement):
286
287         * UserInterface/Views/FrameTreeElement.js:
288         (WebInspector.FrameTreeElement.prototype.onattach):
289         (WebInspector.FrameTreeElement.prototype.ondetach):
290         (WebInspector.FrameTreeElement.prototype.onpopulate):
291         (WebInspector.FrameTreeElement.prototype._canvasWasAdded):
292         (WebInspector.FrameTreeElement.prototype._canvasWasRemoved):
293         (WebInspector.FrameTreeElement):
294         * UserInterface/Base/Main.js:
295         * UserInterface/Views/ContentView.js:
296         (WebInspector.ContentView.createFromRepresentedObject):
297         (WebInspector.ContentView.isViewable):
298         * UserInterface/Views/ResourceSidebarPanel.js:
299         (WebInspector.ResourceSidebarPanel):
300         (WebInspector.ResourceSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
301         (WebInspector.ResourceSidebarPanel.prototype._treeSelectionDidChange):
302         * UserInterface/Views/ResourcesTabContentView.js:
303         (WebInspector.ResourcesTabContentView):
304         (WebInspector.ResourcesTabContentView.prototype.canShowRepresentedObject):
305         Show Canvas objects and tie them to the correct ContentView and TreeElement subclasses.
306
307         * Localizations/en.lproj/localizedStrings.js:
308         * UserInterface/Main.html:
309         * UserInterface/Images/Canvas.svg: Added.
310         * UserInterface/Views/ResourceIcons.css:
311         (.canvas .icon):
312         Added new files/rules/strings related to Canvas UI.
313
314         * UserInterface/Views/SettingsTabContentView.css:
315         (.content-view.settings .navigation-bar):
316
317         * UserInterface/Base/Setting.js:
318         * UserInterface/Views/SettingsTabContentView.js:
319         (WebInspector.SettingsTabContentView.prototype.initialLayout):
320         (WebInspector.SettingsTabContentView.prototype._createGeneralSettingsView):
321         (WebInspector.SettingsTabContentView.prototype._createDebugSettingsView):
322         Add an experimental settings toggle in the Debug view for showing canvas contexts.
323
324         * UserInterface/Views/FolderizedTreeElement.js:
325         (WebInspector.FolderizedTreeElement.prototype._compareTreeElementsByMainTitle):
326         Drive-by fix: ensure that sorting also includes numbers, so that 1 < 2 < 10.
327
328         * UserInterface/Views/ImageResourceContentView.js:
329         (WebInspector.ImageResourceContentView.prototype.shown):
330         (WebInspector.ImageResourceContentView.prototype.hidden):
331         (WebInspector.ImageResourceContentView.prototype._updateImageGrid):
332         (WebInspector.ImageResourceContentView.prototype._showGridButtonClicked):
333         (WebInspector.ImageResourceContentView):
334         Drive-by fix: change the activated state of the Show Grid navigation item if it changes
335         in another view.
336
337 2017-06-19  Devin Rousso  <drousso@apple.com>
338
339         Web Inspector: Unify contextmenu items for all node links/previews
340         https://bugs.webkit.org/show_bug.cgi?id=173187
341
342         Reviewed by Joseph Pecoraro.
343
344         * Localizations/en.lproj/localizedStrings.js:
345         * UserInterface/Views/ContextMenuUtilities.js:
346         (WebInspector.appendContextMenuItemsForDOMNode.didGetFunctionDetails): Added.
347         (WebInspector.appendContextMenuItemsForDOMNode.didGetProperty): Added.
348         (WebInspector.appendContextMenuItemsForDOMNode.didResolveNode): Added.
349         (WebInspector.appendContextMenuItemsForDOMNode): Added.
350         * UserInterface/Views/DOMTreeElement.js:
351         (WebInspector.DOMTreeElement.prototype._populateTagContextMenu):
352         (WebInspector.DOMTreeElement.prototype._populateNodeContextMenu):
353         (WebInspector.DOMTreeElement.prototype._showCustomElementDefinition): Deleted.
354         * UserInterface/Views/DOMTreeOutline.js:
355         (WebInspector.DOMTreeOutline.prototype.populateContextMenu):
356         (WebInspector.DOMTreeOutline.prototype._populateContextMenu.revealElement): Deleted.
357         (WebInspector.DOMTreeOutline.prototype._populateContextMenu.logElement): Deleted.
358         (WebInspector.DOMTreeOutline.prototype._populateContextMenu): Deleted.
359         * UserInterface/Views/RulesStyleDetailsPanel.js:
360         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertMediaOrInheritanceLabel):
361         Unify common DOM node context menu actions into a single helper function.
362
363         * UserInterface/Base/DOMUtilities.js:
364         (WebInspector.linkifyNodeReference):
365         (WebInspector.linkifyNodeReferenceElement):
366         Rework parameters to use options dictionary.
367
368 2017-06-16  Matt Baker  <mattbaker@apple.com>
369
370         Web Inspector: Instrument 2D/WebGL canvas contexts in the backend
371         https://bugs.webkit.org/show_bug.cgi?id=172623
372         <rdar://problem/32415986>
373
374         Reviewed by Devin Rousso and Joseph Pecoraro.
375
376         * UserInterface/Base/Main.js:
377         (WebInspector.loaded):
378
379         * UserInterface/Controllers/CanvasManager.js: Added.
380         New frontend manager for the Canvas domain.
381         (WebInspector.CanvasManager):
382         (WebInspector.CanvasManager.prototype.get canvases):
383         (WebInspector.CanvasManager.prototype.canvasAdded):
384         (WebInspector.CanvasManager.prototype.canvasRemoved):
385         (WebInspector.CanvasManager.prototype._mainResourceDidChange):
386
387         * UserInterface/Main.html:
388         New files.
389
390         * UserInterface/Models/Canvas.js: Added.
391         (WebInspector.Canvas):
392         (WebInspector.Canvas.fromPayload):
393         (WebInspector.Canvas.displayNameForContextType):
394         Get displayable text "2D" or "WebGL" based on context type.
395         (WebInspector.Canvas.resetUniqueDisplayNameNumbers):
396         Called by CanvasManager when canvases are cleared.
397         (WebInspector.Canvas.prototype.get identifier):
398         (WebInspector.Canvas.prototype.get contextType):
399         (WebInspector.Canvas.prototype.get frame):
400         (WebInspector.Canvas.prototype.get cssCanvasName):
401         For CSS canvases, the identifier passed to getCSSCanvasContext.
402         (WebInspector.Canvas.prototype.get displayName):
403         Get displayable canvas name. The name depends on how the canvas was
404         created, and the information available:
405           - getCSSCanvasContext: "CSS Canvas <identifier>"
406           - getContext: "Canvas #<DOM id attribute value>"
407           - Otherwise: "Canvas 1", "Canvas 2", ...
408
409         (WebInspector.Canvas.saveIdentityToCookie):
410
411         * UserInterface/Protocol/CanvasObserver.js: Added.
412         (WebInspector.CanvasObserver.prototype.canvasAdded):
413         (WebInspector.CanvasObserver.prototype.canvasRemoved):
414         (WebInspector.CanvasObserver):
415
416         * UserInterface/Test.html:
417         * UserInterface/Test/Test.js:
418         (WebInspector.loaded):
419
420 2017-06-16  Matt Lewis  <jlewis3@apple.com>
421
422         Unreviewed, rolling out r218376.
423
424         The patch cause multiple Layout Test Crashes.
425
426         Reverted changeset:
427
428         "Web Inspector: Instrument 2D/WebGL canvas contexts in the
429         backend"
430         https://bugs.webkit.org/show_bug.cgi?id=172623
431         http://trac.webkit.org/changeset/218376
432
433 2017-06-15  Matt Baker  <mattbaker@apple.com>
434
435         Web Inspector: Instrument 2D/WebGL canvas contexts in the backend
436         https://bugs.webkit.org/show_bug.cgi?id=172623
437         <rdar://problem/32415986>
438
439         Reviewed by Devin Rousso.
440
441         * UserInterface/Base/Main.js:
442         (WebInspector.loaded):
443
444         * UserInterface/Controllers/CanvasManager.js: Added.
445         New frontend manager for the Canvas domain.
446         (WebInspector.CanvasManager):
447         (WebInspector.CanvasManager.prototype.get canvases):
448         (WebInspector.CanvasManager.prototype.canvasAdded):
449         (WebInspector.CanvasManager.prototype.canvasRemoved):
450         (WebInspector.CanvasManager.prototype._mainResourceDidChange):
451
452         * UserInterface/Main.html:
453         New files.
454
455         * UserInterface/Models/Canvas.js: Added.
456         (WebInspector.Canvas):
457         (WebInspector.Canvas.fromPayload):
458         (WebInspector.Canvas.displayNameForContextType):
459         Get displayable text "2D" or "WebGL" based on context type.
460         (WebInspector.Canvas.resetUniqueDisplayNameNumbers):
461         Called by CanvasManager when canvases are cleared.
462         (WebInspector.Canvas.prototype.get identifier):
463         (WebInspector.Canvas.prototype.get contextType):
464         (WebInspector.Canvas.prototype.get frame):
465         (WebInspector.Canvas.prototype.get cssCanvasName):
466         For CSS canvases, the identifier passed to getCSSCanvasContext.
467         (WebInspector.Canvas.prototype.get displayName):
468         Get displayable canvas name. The name depends on how the canvas was
469         created, and the information available:
470           - getCSSCanvasContext: "CSS Canvas <identifier>"
471           - getContext: "Canvas #<DOM id attribute value>"
472           - Otherwise: "Canvas 1", "Canvas 2", ...
473
474         (WebInspector.Canvas.saveIdentityToCookie):
475
476         * UserInterface/Protocol/CanvasObserver.js: Added.
477         (WebInspector.CanvasObserver.prototype.canvasAdded):
478         (WebInspector.CanvasObserver.prototype.canvasRemoved):
479         (WebInspector.CanvasObserver):
480
481         * UserInterface/Test.html:
482         * UserInterface/Test/Test.js:
483         (WebInspector.loaded):
484
485 2017-06-15  Joseph Pecoraro  <pecoraro@apple.com>
486
487         Web Inspector: Search highlight doesn't show up in resources when paused
488         https://bugs.webkit.org/show_bug.cgi?id=173438
489         <rdar://problem/32800114>
490
491         Reviewed by Matt Baker.
492
493         * UserInterface/Views/TextEditor.js:
494         (WebInspector.TextEditor.prototype.revealPosition.revealAndHighlightLine):
495         Previously we were bailing if executionLineNumber was NaN, which means that when
496         we were paused we were incorrectly disabling highlights in any resource that does
497         not have the active callframe. Relax this and make it match the intended behavior
498         of only disabling highlights if the highlight line matches the execution line.
499
500 2017-06-15  Joseph Pecoraro  <pecoraro@apple.com>
501
502         Uncaught Exception: TypeError: null is not an object (evaluating 'this.contentBrowser.contentViewForRepresentedObject')
503         https://bugs.webkit.org/show_bug.cgi?id=173425
504         <rdar://problem/32744172>
505
506         Reviewed by Devin Rousso.
507
508         * UserInterface/Views/ContentBrowserTabContentView.js:
509         (WebInspector.ContentBrowserTabContentView.prototype.shown):
510         Reorder slightly so the NavigationSidebar has its ContentBrowser set
511         before anyone tries to restore views in the sidebar.
512
513         * UserInterface/Views/DebuggerSidebarPanel.js:
514         (WebInspector.DebuggerSidebarPanel.prototype.showDefaultContentView):
515         Try to select a script/resource content view instead of nothing.
516
517         (WebInspector.DebuggerSidebarPanel.prototype.saveStateToCookie):
518         When a resource is selected, save it using the normal path.
519
520         * UserInterface/Views/NetworkSidebarPanel.js:
521         (WebInspector.NetworkSidebarPanel.prototype.canShowDifferentContentView):
522         Remove a reference to an unused / stale member variable.
523
524 2017-06-14  Nikita Vasilyev  <nvasilyev@apple.com>
525
526         Web Inspector: Pretty print / type info / code coverage buttons disappear after switching tabs
527         https://bugs.webkit.org/show_bug.cgi?id=162515
528         <rdar://problem/28455322>
529
530         Reviewed by Joseph Pecoraro.
531
532         Each ContentView owns a list of NavigationItems. When the ContentView moves across
533         Tabs (ContentBrowsers) it removes its NavigationItems from the old Tab's NavigationBar
534         and adds them to the new Tab's NavigationBar. When switching back to the original tab
535         the ContentView is restored, but its NavigationItems are not carried back.
536
537         * UserInterface/Views/ContentBrowser.js:
538         (WebInspector.ContentBrowser.prototype._updateContentViewNavigationItems):
539         Add a forceUpdate parameter that is needed when navigationItems are unchanged but navigationBar is
540         different.
541
542         (WebInspector.ContentBrowser.prototype._removeAllNavigationItems):
543         Remove navigation items even when their navigationBar is no longer a current navigationBar,
544         e.g. a navigationBar of the previous tab.
545
546         (WebInspector.ContentBrowser.prototype._contentViewNavigationItemsDidChange):
547         * UserInterface/Views/ContentViewContainer.js:
548         (WebInspector.ContentViewContainer.prototype._takeOwnershipOfContentView):
549
550 2017-06-14  Devin Rousso  <drousso@apple.com>
551
552         Web Inspector: REGRESSION: SVG files and favicon don't display properly
553         https://bugs.webkit.org/show_bug.cgi?id=173389
554         <rdar://problem/32774281>
555
556         Reviewed by Joseph Pecoraro.
557
558         * UserInterface/Views/ImageResourceContentView.css:
559         (.content-view.resource.image img):
560         Don't set a `min-width` as it has odd interactions with flexbox.
561
562 2017-06-13  Nikita Vasilyev  <nvasilyev@apple.com>
563
564         Web Inspector: Console: Message icons overlay source location
565         https://bugs.webkit.org/show_bug.cgi?id=173291
566
567         Reviewed by Matt Baker.
568
569         * UserInterface/Views/ConsoleMessageView.css:
570         (.console-message-location.call-frame):
571         This should be a safe change since a method name and a source link already have
572         max-width set to 20vw and 30vw respectively.
573
574 2017-06-13  Nikita Vasilyev  <nvasilyev@apple.com>
575
576         Web Inspector: Don't use -webkit-user-modify CSS property
577         https://bugs.webkit.org/show_bug.cgi?id=173232
578
579         Reviewed by Devin Rousso.
580
581         Replace -webkit-user-modify CSS property with contentEditable HTML attribute.
582
583         * UserInterface/Views/Editing.css:
584         (.editing):
585         * UserInterface/Views/EditingSupport.js:
586         (cleanUpAfterEditing):
587         * UserInterface/Views/VisualStyleSelectorTreeItem.css:
588         (.item.visual-style-selector-item:not(.dom-element-icon).editable > .titles > .title):
589         * UserInterface/Views/VisualStyleSelectorTreeItem.js:
590         (WebInspector.VisualStyleSelectorTreeItem.prototype.ondeselect):
591         (WebInspector.VisualStyleSelectorTreeItem.prototype._handleMainTitleMouseDown):
592         (WebInspector.VisualStyleSelectorTreeItem.prototype._commitSelector):
593
594 2017-06-13  Sam Weinig  <sam@webkit.org>
595
596         Rename JSDOMWindowShell to JSDOMWindowProxy to match the HTML5 spec.
597         https://bugs.webkit.org/show_bug.cgi?id=80733
598
599         Reviewed by Chris Dumez.
600
601         * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js:
602         (HeapSnapshot.prototype._isNodeGlobalObject):
603
604 2017-06-12  Devin Rousso  <drousso@apple.com>
605
606         Web Inspector: Add grid to images to clarify transparency and image size
607         https://bugs.webkit.org/show_bug.cgi?id=173184
608
609         Reviewed by Matt Baker.
610
611         * Localizations/en.lproj/localizedStrings.js:
612
613         * UserInterface/Base/Setting.js:
614         Add setting for controlling the image grid.
615
616         * UserInterface/Images/NavigationItemCheckers.svg: Added.
617
618         * UserInterface/Views/ImageResourceContentView.css:
619         (.content-view.resource.image):
620         (.content-view.resource.image img):
621         Replace the border spacing around the image with padding on the container.  This is required
622         because a border will extend the area that is effected by `background-image`, meaning that
623         the checkerboard would appear in that area as well, giving misleading information as to the
624         size of the image.
625
626         * UserInterface/Views/ImageResourceContentView.js:
627         (WebInspector.ImageResourceContentView):
628         (WebInspector.ImageResourceContentView.prototype.get navigationItems): Added.
629         (WebInspector.ImageResourceContentView.prototype.contentAvailable):
630         (WebInspector.ImageResourceContentView.prototype.shown): Added.
631         (WebInspector.ImageResourceContentView.prototype._toggleImageGrid): Added.
632         (WebInspector.ImageResourceContentView.prototype._showGridButtonClicked): Added.
633         (WebInspector.ImageResourceContentView.prototype.get imageElement): Deleted.
634         Apply the CSS class for showing the grid when the added navigation item is activated.
635
636         * UserInterface/Views/Main.css:
637         (img.show-grid):
638         Generates a checkerboard pattern via `background-image` using the following process:
639          - four `linear-gradients` are drawn, one in each corner
640          - each draws one half of a 20x20 square, specified by `background-size`
641          - they are then repositioned using `background-position` so that the two halfs align
642             +------+      \--2
643             |1 /\ 2|      |\ |
644             | /  \ |  =>  | \|
645             |/    \|  =>  4--\
646             |\    /|  =>      1--/
647             | \  / |  =>      | /|
648             |4 \/ 3|          |/ |
649             +------+          /--3
650
651 2017-06-10  Dan Bernstein  <mitz@apple.com>
652
653         Reverted r218056 because it made the IDE reindex constantly.
654
655         * Configurations/DebugRelease.xcconfig:
656
657 2017-06-10  Dan Bernstein  <mitz@apple.com>
658
659         [Xcode] With Xcode 9 developer beta, everything rebuilds when switching between command-line and IDE
660         https://bugs.webkit.org/show_bug.cgi?id=173223
661
662         Reviewed by Sam Weinig.
663
664         The rebuilds were happening due to a difference in the compiler options that the IDE and
665         xcodebuild were specifying. Only the IDE was passing the -index-store-path option. To make
666         xcodebuild pass that option, too, set CLANG_INDEX_STORE_ENABLE to YES if it is unset, and
667         specify an appropriate path in CLANG_INDEX_STORE_PATH.
668
669         * Configurations/DebugRelease.xcconfig:
670
671 2017-06-10  Devin Rousso  <drousso@apple.com>
672
673         Web Inspector: REGRESSION(r217749): Event listeners are removed even if they haven't been added
674         https://bugs.webkit.org/show_bug.cgi?id=173185
675
676         Reviewed by Joseph Pecoraro.
677
678         * UserInterface/Views/ResourceDetailsSidebarPanel.js:
679         (WebInspector.ResourceDetailsSidebarPanel):
680         (WebInspector.ResourceDetailsSidebarPanel.prototype.set resource):
681         (WebInspector.ResourceDetailsSidebarPanel.prototype._applyResourceEventListeners):
682         Maintain a member variable flag such that event listeners are only removed if it is true.
683         It is only set to true once the event listeners are added.
684
685 2017-06-09  Devin Rousso  <drousso@apple.com>
686
687         Web Inspector: REGRESSION(r217258): Misspelled variable names
688         https://bugs.webkit.org/show_bug.cgi?id=173189
689
690         Reviewed by Joseph Pecoraro.
691
692         * UserInterface/Base/Main.js:
693         (WebInspector.tabContentViewClassForRepresentedObject):
694         * UserInterface/Views/ResourceIcons.css:
695         (.large :matches(.resource-icon.resource-type-stylesheet, .stylesheet-icon) .icon):
696         (.large .resource-icon.resource-type-stylesheet .icon): Deleted.
697
698 2017-06-09  Joseph Pecoraro  <pecoraro@apple.com>
699
700         Web Inspector: Web inspector does not show non-shadow children of an element with a shadow root (e.g. <video>)
701         https://bugs.webkit.org/show_bug.cgi?id=173121
702         <rdar://problem/30948943>
703
704         Reviewed by Matt Baker.
705
706         * UserInterface/Models/DOMNode.js:
707         (WebInspector.DOMNode):
708         Only populate _children when we have both the shadowRoots and
709         actual children payloads. Backends always send shadowRoots but
710         only send children when requested. So if we have shadowRoots
711         but expect actual children, don't populate _children until we
712         request the child nodes.
713
714 2017-06-07  Carlos Garcia Campos  <cgarcia@igalia.com>
715
716         Remove legacy INSPECTOR_SERVER implementation
717         https://bugs.webkit.org/show_bug.cgi?id=172966
718
719         Reviewed by Žan Doberšek.
720
721         Remove InspectorFrontendHostStub and thr web sockets initialization.
722
723         * UserInterface/Base/InspectorFrontendHostStub.js: Removed.
724         * UserInterface/Base/Main.js:
725         (WebInspector.loaded):
726         * UserInterface/Main.html:
727         * UserInterface/Test.html:
728         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
729         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
730
731 2017-06-07  Devin Rousso  <drousso@apple.com>
732
733         Web Inspector: Add ContextMenu item to log WebSocket object to console
734         https://bugs.webkit.org/show_bug.cgi?id=172878
735
736         Reviewed by Joseph Pecoraro.
737
738         * Localizations/en.lproj/localizedStrings.js:
739
740         * UserInterface/Protocol/RemoteObject.js:
741         (WebInspector.RemoteObject.resolveWebSocket):
742
743         * UserInterface/Views/ResourceTreeElement.js:
744         (WebInspector.ResourceTreeElement.prototype.populateContextMenu):
745
746 2017-06-07  Devin Rousso  <drousso@apple.com>
747
748         Web Inspector: Allow user to choose stylesheet when creating new rules
749         https://bugs.webkit.org/show_bug.cgi?id=172487
750
751         Reviewed by Joseph Pecoraro.
752
753         * Localizations/en.lproj/localizedStrings.js:
754         * UserInterface/Models/DOMNodeStyles.js:
755         (WebInspector.DOMNodeStyles.prototype.addRule.inspectorStyleSheetAvailable):
756         (WebInspector.DOMNodeStyles.prototype.addRule):
757         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
758         (WebInspector.CSSStyleDetailsSidebarPanel.prototype.initialLayout):
759         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._newRuleButtonContextMenu):
760         * UserInterface/Views/RulesStyleDetailsPanel.js:
761         (WebInspector.RulesStyleDetailsPanel.prototype.newRuleButtonClicked):
762         (WebInspector.RulesStyleDetailsPanel.prototype.newRuleButtonContextMenu):
763         * UserInterface/Views/VisualStyleSelectorSection.js:
764         (WebInspector.VisualStyleSelectorSection):
765         (WebInspector.VisualStyleSelectorSection.prototype._addNewRuleContextMenu):
766         (WebInspector.VisualStyleSelectorSection.prototype._addNewRule): Renamed _addNewRuleClick.
767
768 2017-06-06  Joseph Pecoraro  <pecoraro@apple.com>
769
770         Unreviewed rollout r217807. Caused a test to crash.
771
772         * UserInterface/Proxies/HeapSnapshotNodeProxy.js:
773         (WebInspector.HeapSnapshotNodeProxy):
774         (WebInspector.HeapSnapshotNodeProxy.deserialize):
775         * UserInterface/Views/HeapSnapshotClassDataGridNode.js:
776         (WebInspector.HeapSnapshotClassDataGridNode.prototype.createCellContent):
777         * UserInterface/Views/HeapSnapshotClusterContentView.js:
778         (WebInspector.HeapSnapshotClusterContentView.iconStyleClassNameForClassName):
779         * UserInterface/Views/HeapSnapshotDataGridTree.js:
780         (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.populateTopLevel):
781         * UserInterface/Views/HeapSnapshotInstanceDataGridNode.js:
782         (WebInspector.HeapSnapshotInstanceDataGridNode.prototype.createCellContent):
783         (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._mouseoverHandler.appendPathRow):
784         * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js:
785         (HeapSnapshot):
786         (HeapSnapshot.updateCategoriesAndMetadata):
787         (HeapSnapshot.prototype.serializeNode):
788         (HeapSnapshot.prototype._gcRootPathes.visitNode):
789         (HeapSnapshot.prototype._gcRootPathes):
790
791 2017-06-05  Joseph Pecoraro  <pecoraro@apple.com>
792
793         Web Inspector: Improve ES6 Class instances in Heap Snapshot instances view
794         https://bugs.webkit.org/show_bug.cgi?id=172848
795         <rdar://problem/25709212>
796
797         Reviewed by Saam Barati.
798
799         * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js:
800         (HeapSnapshot):
801         Support the new snapshot version. The only thing that changes are the
802         node flags, and its actually completely compatible with version 1.
803
804         (HeapSnapshot.updateCategoriesAndMetadata):
805         List the count of object type instances in each class category.
806
807         (HeapSnapshot.prototype.serializeNode):
808         Include whether or not the node is an object type.
809
810         * UserInterface/Proxies/HeapSnapshotNodeProxy.js:
811         (WebInspector.HeapSnapshotNodeProxy):
812         (WebInspector.HeapSnapshotNodeProxy.deserialize):
813         Add a new Node isObjectType property based on the new data.
814
815         * UserInterface/Views/HeapSnapshotClassDataGridNode.js:
816         (WebInspector.HeapSnapshotClassDataGridNode.prototype.createCellContent):
817         * UserInterface/Views/HeapSnapshotClusterContentView.js:
818         (WebInspector.HeapSnapshotClusterContentView.iconStyleClassNameForClassName):
819         If a class contains 50% or more object type instances then it as such
820         instead of defaulting to native.
821
822         * UserInterface/Views/HeapSnapshotDataGridTree.js:
823         (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.populateTopLevel):
824         * UserInterface/Views/HeapSnapshotInstanceDataGridNode.js:
825         (WebInspector.HeapSnapshotInstanceDataGridNode.prototype.createCellContent):
826         We can be more specific than the default if the individual instance is
827         known to be an object type.
828
829 2017-06-02  Devin Rousso  <drousso@apple.com>
830
831         Web Inspector: Don't create NavigationSidebarPanel classes until they are needed by a Tab
832         https://bugs.webkit.org/show_bug.cgi?id=172621
833
834         Reviewed by Timothy Hatcher.
835
836         * UserInterface/Views/ContentBrowserTabContentView.js:
837         (WebInspector.ContentBrowserTabContentView):
838         (WebInspector.ContentBrowserTabContentView.prototype.shown):
839         * UserInterface/Views/TabContentView.js:
840         (WebInspector.TabContentView):
841         (WebInspector.TabContentView.prototype.get navigationSidebarPanel):
842
843         * UserInterface/Views/NetworkTabContentView.js:
844         (WebInspector.NetworkTabContentView.prototype.canShowRepresentedObject):
845         * UserInterface/Views/SearchTabContentView.js:
846         (WebInspector.SearchTabContentView.prototype.canShowRepresentedObject):
847         Use public getter for navigationSidebarPanel.
848
849         * UserInterface/Views/ResourceSidebarPanel.js:
850         (WebInspector.ResourceSidebarPanel):
851         (WebInspector.ResourceSidebarPanel.prototype.initialLayout): Added.
852         Load information about the current frame once the sidebar panel is displayed.
853
854 2017-06-02  Devin Rousso  <drousso@apple.com>
855
856         Web Inspector: Use initialLayout for DetailsSidebarPanel classes
857         https://bugs.webkit.org/show_bug.cgi?id=172381
858
859         Reviewed by Timothy Hatcher.
860
861         * UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js:
862         (WebInspector.ApplicationCacheDetailsSidebarPanel):
863         (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.initialLayout): Added.
864         (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.layout):
865         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
866         (WebInspector.DOMNodeDetailsSidebarPanel):
867         (WebInspector.DOMNodeDetailsSidebarPanel.prototype.initialLayout): Added.
868         (WebInspector.DOMNodeDetailsSidebarPanel.prototype.layout):
869         * UserInterface/Views/IndexedDatabaseDetailsSidebarPanel.js:
870         (WebInspector.IndexedDatabaseDetailsSidebarPanel):
871         (WebInspector.IndexedDatabaseDetailsSidebarPanel.prototype.initialLayout): Added.
872         (WebInspector.IndexedDatabaseDetailsSidebarPanel.prototype.layout):
873         * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
874         (WebInspector.LayerTreeDetailsSidebarPanel):
875         (WebInspector.LayerTreeDetailsSidebarPanel.prototype.initialLayout): Added.
876         (WebInspector.LayerTreeDetailsSidebarPanel.prototype.layout):
877         * UserInterface/Views/ProbeDetailsSidebarPanel.js:
878         (WebInspector.ProbeDetailsSidebarPanel):
879         (WebInspector.ProbeDetailsSidebarPanel.prototype.initialLayout): Added.
880         * UserInterface/Views/ResourceDetailsSidebarPanel.js:
881         (WebInspector.ResourceDetailsSidebarPanel):
882         (WebInspector.ResourceDetailsSidebarPanel.prototype.set resource):
883         (WebInspector.ResourceDetailsSidebarPanel.prototype.initialLayout): Added.
884         (WebInspector.ResourceDetailsSidebarPanel.prototype.layout):
885         (WebInspector.ResourceDetailsSidebarPanel.prototype._applyResourceEventListeners):
886
887 2017-06-02  Devin Rousso  <drousso@apple.com>
888
889         Web Inspector: The CodeMirror instance in the ConsolePrompt does't need to be refreshed each time it is shown
890         https://bugs.webkit.org/show_bug.cgi?id=172608
891
892         Reviewed by Timothy Hatcher.
893
894         * UserInterface/Views/ConsolePrompt.js:
895         (WebInspector.ConsolePrompt.prototype.shown): Deleted.
896         * UserInterface/Views/DatabaseContentView.js:
897         (WebInspector.DatabaseContentView.prototype.shown): Deleted.
898         * UserInterface/Views/QuickConsole.js:
899         (WebInspector.QuickConsole):
900
901 2017-06-02  Devin Rousso  <drousso@apple.com>
902
903         Web Inspector: Attributes table in Node Details Sidebar should have editable keys and values
904         https://bugs.webkit.org/show_bug.cgi?id=167076
905         <rdar://problem/30033629>
906
907         Reviewed by Timothy Hatcher.
908
909         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
910         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAttributes):
911         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._attributeNodeValueChanged):
912         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._createAttributesDataGrid): Deleted.
913         Rework creation of the attributes DataGrid so that it is only created once and cleared for
914         new content. Nodes in the DataGrid are now EditableDataGridNode instances so that attribute
915         names and values can be changed from within the sidebar. The DataGrid is also sorted based
916         on attribute name, to make finding attributes easier.
917
918         * UserInterface/Views/DataGrid.css:
919         (.data-grid tr.editable .cell-content > input):
920         (body:not(.window-inactive, .window-docked-inactive) .data-grid:matches(:focus, .force-focus) tr.editable.selected .cell-content > input):
921
922         * UserInterface/Views/DetailsSection.css:
923         (.details-section > .content .data-grid tr:not(.editable) td.value-column):
924         (.details-section > .content .data-grid tr:not(.editable) td.value-column > div):
925         (.details-section > .content .data-grid td.value-column): Deleted.
926         (.details-section > .content .data-grid td.value-column > div): Deleted.
927
928         * UserInterface/Main.html:
929         * UserInterface/Views/EditableDataGridNode.js: Added.
930         (WebInspector.EditableDataGridNode):
931         (WebInspector.EditableDataGridNode.prototype.get element):
932         (WebInspector.EditableDataGridNode.prototype.createCellContent):
933         (WebInspector.EditableDataGridNode.prototype._handleKeyPress):
934         (WebInspector.EditableDataGridNode.prototype._handleBlur):
935         (WebInspector.EditableDataGridNode.prototype._notifyInputElementValueChanged):
936         Special type of DataGridNode that wraps the content of each cell in an <input>.
937
938 2017-06-02  Devin Rousso  <drousso@apple.com>
939
940         Web Inspector: Existing query in Search tab doesn't perform search on reload
941         https://bugs.webkit.org/show_bug.cgi?id=172663
942
943         Reviewed by Timothy Hatcher.
944
945         * Localizations/en.lproj/localizedStrings.js:
946
947         * UserInterface/Views/SearchSidebarPanel.css:
948         (.sidebar > .panel.navigation.search.changed > .banner):
949         (.sidebar > .panel.navigation.search.changed > .banner > a):
950         (.sidebar > .panel.navigation.search.changed > :matches(.content, .empty-content-placeholder)):
951
952         * UserInterface/Views/SearchSidebarPanel.js:
953         (WebInspector.SearchSidebarPanel.prototype.performSearch.resourcesCallback):
954         (WebInspector.SearchSidebarPanel.prototype._mainResourceDidChange):
955         (WebInspector.SearchSidebarPanel.prototype._contentChanged):
956         Listen for any "resource added" event, and show the content changed banner when one occurs.
957
958 2017-06-02  Devin Rousso  <drousso@apple.com>
959
960         Web Inspector: Should see active Web Sockets when opening Web Inspector
961         https://bugs.webkit.org/show_bug.cgi?id=172312
962
963         Reviewed by Joseph Pecoraro.
964
965         * UserInterface/Controllers/FrameResourceManager.js:
966         (WebInspector.FrameResourceManager.prototype.webSocketHandshakeResponseReceived):
967         (WebInspector.FrameResourceManager.prototype.initialize): Removed.
968         Rework order of agent enable calls to ensure that the main frame is initialized before any
969         websocket events are dispatched.
970
971         * UserInterface/Models/WebSocketResource.js:
972         (WebInspector.WebSocketResource.ReadyState):
973         Change symbol strings in enum for better printing in tests.
974
975 2017-06-01  Ryan Haddad  <ryanhaddad@apple.com>
976
977         Unreviewed, rolling out r217691.
978
979         This change broke the Windows build.
980
981         Reverted changeset:
982
983         "Web Inspector: Should see active Web Sockets when opening Web
984         Inspector"
985         https://bugs.webkit.org/show_bug.cgi?id=172312
986         http://trac.webkit.org/changeset/217691
987
988 2017-06-01  Devin Rousso  <drousso@apple.com>
989
990         Web Inspector: Should see active Web Sockets when opening Web Inspector
991         https://bugs.webkit.org/show_bug.cgi?id=172312
992
993         Reviewed by Joseph Pecoraro.
994
995         * UserInterface/Controllers/FrameResourceManager.js:
996         (WebInspector.FrameResourceManager.prototype.webSocketHandshakeResponseReceived):
997         (WebInspector.FrameResourceManager.prototype.initialize): Removed.
998         Rework order of agent enable calls to ensure that the main frame is initialized before any
999         websocket events are dispatched.
1000
1001         * UserInterface/Models/WebSocketResource.js:
1002         (WebInspector.WebSocketResource.ReadyState):
1003         Change symbol strings in enum for better printing in tests.
1004
1005 2017-06-01  Nikita Vasilyev  <nvasilyev@apple.com>
1006
1007         Web Inspector: Web Sockets: Unable to inspect a WebSocket that receives >50 messages per second
1008         https://bugs.webkit.org/show_bug.cgi?id=171904
1009         <rdar://problem/32095863>
1010
1011         Reviewed by Matt Baker.
1012
1013         Every size increase of a resource causes a sidebar item to be re-attached to the DOM. Sending or
1014         receiving a WebSocket message causes a size increase. When size increase happens too frequently,
1015         the go-to arrow starts to flicker and becomes unclickable. This patch makes sure a sidebar item gets
1016         re-attached only when its position (index) changes.
1017
1018         * UserInterface/Views/NetworkSidebarPanel.js:
1019         Add the go-to arrow and close buttons when treeElement.status is a spinner element.
1020
1021         (WebInspector.NetworkSidebarPanel.prototype.treeElementAddedOrChanged):
1022         * UserInterface/Views/ResourceTreeElement.js:
1023         (WebInspector.ResourceTreeElement.prototype._updateStatus):
1024         Setting status to "" removes the go-to arrow and close buttons in the Network tab.
1025         Only set status to "" to remove the spinner.
1026
1027         * UserInterface/Views/TimelineDataGrid.js:
1028         (WebInspector.TimelineDataGrid.prototype._refreshDirtyDataGridNodes):
1029         * UserInterface/Views/TreeOutline.js:
1030         (WebInspector.TreeOutline.prototype.reattachIfIndexChanged): Added.
1031
1032 2017-05-31  Devin Rousso  <drousso@apple.com>
1033
1034         Web Inspector: Add Debug view to Settings tab for debug settings and experimental features
1035         https://bugs.webkit.org/show_bug.cgi?id=172477
1036
1037         Reviewed by Joseph Pecoraro.
1038
1039         * UserInterface/Base/Setting.js:
1040         Add three new settings:
1041          - autoLogProtocolMessages
1042          - autoLogTimeStats
1043          - enableUncaughtExceptionReporter
1044
1045         * UserInterface/Debug/Bootstrap.js:
1046         (WebInspector.runBootstrapOperations):
1047         Update toolbar item state when editor in Settings tab is changed.
1048
1049         * UserInterface/Debug/UncaughtExceptionReporter.js:
1050         (handleUncaughtExceptionRecord):
1051         Return if the setting controlling the uncaught exception reporter is disabled.
1052
1053         * UserInterface/Protocol/InspectorBackend.js:
1054         (InspectorBackendClass):
1055         (InspectorBackendClass.prototype.set dumpInspectorProtocolMessages):
1056         (InspectorBackendClass.prototype.get dumpInspectorProtocolMessages):
1057         (InspectorBackendClass.prototype.set dumpInspectorTimeStats):
1058         (InspectorBackendClass.prototype.get dumpInspectorTimeStats):
1059         Replace member variables and private Setting objects with items on WebInspector.settings.
1060
1061         * UserInterface/Main.html:
1062         * UserInterface/Views/GeneralSettingsView.js: Removed.
1063         Consolidated into SettingsTabContentView.
1064
1065         * UserInterface/Views/SettingsTabContentView.js:
1066         (WebInspector.SettingsTabContentView):
1067         (WebInspector.SettingsTabContentView.prototype.initialLayout):
1068         (WebInspector.SettingsTabContentView.prototype._createGeneralSettingsView):
1069         (WebInspector.SettingsTabContentView.prototype._createDebugSettingsView):
1070         (WebInspector.SettingsTabContentView.prototype._updateDebugSettingsViewVisibility):
1071
1072         * UserInterface/Views/SettingsView.js:
1073         (WebInspector.SettingsView.prototype.addGroupWithCustomSetting):
1074
1075 2017-05-31  Fujii Hironori  <Hironori.Fujii@sony.com>
1076
1077         [GTK] Web Inspector: BackForwardArrows.svg is not shown
1078         https://bugs.webkit.org/show_bug.cgi?id=172741
1079
1080         Reviewed by Carlos Garcia Campos.
1081
1082         * UserInterface/Images/gtk/BackForwardArrows.svg: Renamed id names to match with Apple's images.
1083
1084 2017-05-30  Joseph Pecoraro  <pecoraro@apple.com>
1085
1086         Web Inspector: images dragged from Inspector to Desktop are named "Unknown.png"
1087         https://bugs.webkit.org/show_bug.cgi?id=141515
1088         <rdar://problem/9251308>
1089
1090         Reviewed by Wenson Hsieh.
1091
1092         * UserInterface/Views/ImageResourceContentView.js:
1093         (WebInspector.ImageResourceContentView.prototype.contentAvailable):
1094         Set a non-standard "filename" attribute to provide a suggested filename
1095         for this <img> containing data: or blob: content.
1096
1097 2017-05-30  Fujii Hironori  <Hironori.Fujii@sony.com>
1098
1099         [GTK] Web Inspector: Add DOM breakpoint image for GTK+
1100         https://bugs.webkit.org/show_bug.cgi?id=169326
1101
1102         Reviewed by Carlos Garcia Campos.
1103
1104         * UserInterface/Images/gtk/DOMBreakpoint.svg: Added.
1105
1106 2017-05-28  Dan Bernstein  <mitz@apple.com>
1107
1108         [Xcode] ALWAYS_SEARCH_USER_PATHS is set to YES
1109         https://bugs.webkit.org/show_bug.cgi?id=172691
1110
1111         Reviewed by Tim Horton.
1112
1113         * Configurations/Base.xcconfig: Set ALWAYS_SEARCH_USER_PATHS to NO.
1114
1115 2017-05-26  Devin Rousso  <drousso@apple.com>
1116
1117         Web Inspector: Reloading the page after switching from the Resource tab switches back
1118         https://bugs.webkit.org/show_bug.cgi?id=172622
1119
1120         Reviewed by Joseph Pecoraro.
1121
1122         * UserInterface/Views/DebuggerSidebarPanel.js:
1123         (WebInspector.DebuggerSidebarPanel.prototype._treeSelectionDidChange):
1124         * UserInterface/Views/ResourceSidebarPanel.js:
1125         (WebInspector.ResourceSidebarPanel.prototype._treeSelectionDidChange):
1126         * UserInterface/Views/SearchSidebarPanel.js:
1127         (WebInspector.SearchSidebarPanel.prototype._treeSelectionDidChange):
1128         Don't show the newly selected tree element's represented object if the sidebar is not visible.
1129
1130 2017-05-26  Devin Rousso  <drousso@apple.com>
1131
1132         Web Inspector: New Tab contents have extra vertical spacing when wrapped
1133         https://bugs.webkit.org/show_bug.cgi?id=172530
1134
1135         Reviewed by Joseph Pecoraro.
1136
1137         * UserInterface/Views/NewTabContentView.css:
1138         (.new-tab.tab.content-view):
1139
1140 2017-05-26  Fujii Hironori  <Hironori.Fujii@sony.com>
1141
1142         [GTK] Web Inspector: Add new GTK+ icons for Web Sockets
1143         https://bugs.webkit.org/show_bug.cgi?id=172296
1144
1145         Reviewed by Carlos Garcia Campos.
1146
1147         Add more free icons for the Web Inspector of GTK+ port.
1148
1149         * UserInterface/Images/gtk/WebSocket.png: Added.
1150         * UserInterface/Images/gtk/WebSocket@2x.png: Added.
1151         * UserInterface/Images/gtk/WebSocketLarge.png: Added.
1152         * UserInterface/Images/gtk/WebSocketLarge@2x.png: Added.
1153         * UserInterface/Views/ResourceIcons.css:
1154         (.resource-icon.resource-type-websocket .icon):
1155         (.large .resource-icon.resource-type-websocket .icon):
1156         (body:matches(.mac-platform, .windows-platform) .resource-icon.resource-type-websocket .icon): Deleted.
1157         (body:matches(.mac-platform, .windows-platform) .large .resource-icon.resource-type-websocket .icon): Deleted.
1158
1159 2017-05-25  Devin Rousso  <drousso@apple.com>
1160
1161         Web Inspector: Don't create DetailsSidebarPanel classes until they are needed by a Tab
1162         https://bugs.webkit.org/show_bug.cgi?id=172393
1163
1164         Reviewed by Joseph Pecoraro.
1165
1166         * UserInterface/Base/Main.js:
1167         (WebInspector.contentLoaded):
1168         Remove global instantiation of all DetailsSidebarPanel objects.
1169
1170         (WebInspector.instanceForClass):
1171         Utility function for creating and accessing an instance of a given class.
1172
1173         * UserInterface/Views/ContentBrowserTabContentView.js:
1174         (WebInspector.ContentBrowserTabContentView):
1175         * UserInterface/Views/DebuggerTabContentView.js:
1176         (WebInspector.DebuggerTabContentView):
1177         (WebInspector.DebuggerTabContentView.prototype.showDetailsSidebarPanels):
1178         * UserInterface/Views/ElementsTabContentView.js:
1179         (WebInspector.ElementsTabContentView):
1180         * UserInterface/Views/NetworkTabContentView.js:
1181         (WebInspector.NetworkTabContentView):
1182         * UserInterface/Views/ResourcesTabContentView.js:
1183         (WebInspector.ResourcesTabContentView):
1184         * UserInterface/Views/SearchTabContentView.js:
1185         (WebInspector.SearchTabContentView):
1186         * UserInterface/Views/StorageTabContentView.js:
1187         (WebInspector.StorageTabContentView):
1188         * UserInterface/Views/TabContentView.js:
1189         (WebInspector.TabContentView):
1190         (WebInspector.TabContentView.prototype.get detailsSidebarPanels):
1191         * UserInterface/Views/TimelineTabContentView.js:
1192         (WebInspector.TimelineTabContentView):
1193         Now accepts an array of DetailsSidebarPanel classes that are all instantiated when they are
1194         about to be added to the DetailsSidebar.
1195
1196 2017-05-25  Devin Rousso  <drousso@apple.com>
1197
1198         Web Inspector: Changing the width of a Sidebar when it's collapsed shouldn't trigger a layout
1199         https://bugs.webkit.org/show_bug.cgi?id=172606
1200
1201         Reviewed by Matt Baker.
1202
1203         * UserInterface/Views/Sidebar.js:
1204         (WebInspector.Sidebar.prototype._recalculateWidth):
1205
1206 2017-05-25  Fujii Hironori  <Hironori.Fujii@sony.com>
1207
1208         [GTK] Web Inspector: Add ListStylePositionInside.svg and ListStylePositionOutside.svg
1209         https://bugs.webkit.org/show_bug.cgi?id=172574
1210
1211         Reviewed by Michael Catanzaro.
1212
1213         Add more free icons for the Web Inspector of GTK+ port.
1214
1215         * UserInterface/Images/gtk/ListStylePositionInside.svg: Added.
1216         * UserInterface/Images/gtk/ListStylePositionOutside.svg: Added.
1217
1218 2017-05-25  Fujii Hironori  <Hironori.Fujii@sony.com>
1219
1220         [GTK] Web Inspector: Add new icons AnimationPlayStatePaused.svg and AnimationPlayStateRunning.svg
1221         https://bugs.webkit.org/show_bug.cgi?id=172579
1222
1223         Reviewed by Michael Catanzaro.
1224
1225         Add more free icons for the Web Inspector of GTK+ port.
1226
1227         * UserInterface/Images/gtk/AnimationPlayStatePaused.svg: Added.
1228         * UserInterface/Images/gtk/AnimationPlayStateRunning.svg: Added.
1229
1230 2017-05-24  Fujii Hironori  <Hironori.Fujii@sony.com>
1231
1232         [GTK] Web Inspector: Add new GTK+ icons for garbage collect and clean buttons in Console
1233         https://bugs.webkit.org/show_bug.cgi?id=167356
1234
1235         Reviewed by Michael Catanzaro.
1236
1237         * UserInterface/Images/gtk/NavigationItemClear.svg: Aligned for 16x16 dimension.
1238         * UserInterface/Images/gtk/NavigationItemGarbageCollect.svg: Added.
1239         * UserInterface/Views/LogContentView.js:
1240         (WebInspector.LogContentView): Removed the Clear image dimension's conditional expression.
1241         * UserInterface/Views/NetworkGridContentView.js:
1242         (WebInspector.NetworkGridContentView): Ditto.
1243         * UserInterface/Views/TimelineRecordingContentView.js:
1244         (WebInspector.TimelineRecordingContentView): Ditto.
1245
1246 2017-05-24  Devin Rousso  <drousso@apple.com>
1247
1248         Web Inspector: Don't load the active recording until a Timeline view needs to be shown
1249         https://bugs.webkit.org/show_bug.cgi?id=172467
1250
1251         Reviewed by Joseph Pecoraro.
1252
1253         * UserInterface/Views/TimelineTabContentView.js:
1254         (WebInspector.TimelineTabContentView):
1255         (WebInspector.TimelineTabContentView.prototype.restoreFromCookie):
1256         (WebInspector.TimelineTabContentView.prototype._showTimelineViewForType):
1257         Move the call to `_recordingLoaded` to when a timeline view needs to be shown and only if
1258         `_displayedRecording` isn't already set. This delays the creation of the content view for
1259         the recording to right before it needs to be displayed.
1260
1261
1262 2017-05-23  Matt Baker  <mattbaker@apple.com>
1263
1264         Web Inspector: content views are not restored on reload if its tree element is filtered out
1265         https://bugs.webkit.org/show_bug.cgi?id=165744
1266         <rdar://problem/27461323>
1267
1268         Reviewed by Devin Rousso.
1269
1270         By default, NavigationSidebar should get the selected represented object
1271         from its content browser, instead of relying on the tree selection. This
1272         allows a filtered tree selection to persist across page loads.
1273
1274         * UserInterface/Views/NavigationSidebarPanel.js:
1275         (WebInspector.NavigationSidebarPanel.prototype.get currentRepresentedObject):
1276         (WebInspector.NavigationSidebarPanel.prototype.saveStateToCookie):
1277         Get the represented object from the content browser instead of relying
1278         on the tree selection (which can be filtered out).
1279
1280         (WebInspector.NavigationSidebarPanel.prototype._updateFilter):
1281         (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
1282         (WebInspector.NavigationSidebarPanel.prototype._treeElementWasFiltered):
1283         Reselect the represented object's tree element when it is shown due
1284         to a change in the filter state.
1285
1286         (WebInspector.NavigationSidebarPanel.prototype.get hasSelectedElement): Deleted.
1287         Not used.
1288         (WebInspector.NavigationSidebarPanel.prototype.representedObjectWasFiltered): Deleted.
1289         Not used. Replaced by _treeElementWasFiltered.
1290
1291 2017-05-23  Matt Baker  <mattbaker@apple.com>
1292
1293         Web Inspector: Cannot delete a disabled XHR breakpoint
1294         https://bugs.webkit.org/show_bug.cgi?id=171971
1295         <rdar://problem/32129527>
1296
1297         Reviewed by Devin Rousso.
1298
1299         * UserInterface/Controllers/DOMDebuggerManager.js:
1300         (WebInspector.DOMDebuggerManager.prototype.removeXHRBreakpoint):
1301         Dispatch XHRBreakpointRemoved event before removing the breakpoint from
1302         the backend. A disabled breakpoint will have already been removed, and
1303         an enabled breakpoint that fails to get removed from the backend should
1304         be removed from the frontend, to prevent it being resolved in the future.
1305         Drive-by fix: remove spurious dispatch of DOMBreakpointRemoved event.
1306
1307         (WebInspector.DOMDebuggerManager.prototype._detachXHRBreakpoint): Deleted.
1308         Merged with removeXHRBreakpoint to simplify implementation.
1309
1310 2017-05-23  Devin Rousso  <drousso@apple.com>
1311
1312         Web Inspector: use initialLayout for NetworkSidebarPanel
1313         https://bugs.webkit.org/show_bug.cgi?id=172470
1314
1315         Reviewed by Joseph Pecoraro.
1316
1317         * UserInterface/Views/NetworkSidebarPanel.js:
1318         (WebInspector.NetworkSidebarPanel):
1319         (WebInspector.NetworkSidebarPanel.prototype.showDefaultContentView):
1320         (WebInspector.NetworkSidebarPanel.prototype.initialLayout):
1321         Don't create NetworkGridContentView until right before it is shown.
1322
1323 2017-05-23  Fujii Hironori  <Hironori.Fujii@sony.com>
1324
1325         [GTK] Web Inspector: Add a new icon DockLeft.svg
1326         https://bugs.webkit.org/show_bug.cgi?id=172492
1327
1328         Reviewed by Carlos Garcia Campos.
1329
1330         * UserInterface/Images/gtk/DockLeft.svg: Added.
1331
1332 2017-05-23  Fujii Hironori  <Hironori.Fujii@sony.com>
1333
1334         [GTK] Web Inspector: Add a new icon CSSVariable.svg
1335         https://bugs.webkit.org/show_bug.cgi?id=172491
1336
1337         Reviewed by Carlos Garcia Campos.
1338
1339         * UserInterface/Images/gtk/CSSVariable.svg: Added.
1340
1341 2017-05-22  Devin Rousso  <drousso@apple.com>
1342
1343         Web Inspector: Changes are not applied in CSS sidebar when switching to Resources tab without blurring editor
1344         https://bugs.webkit.org/show_bug.cgi?id=172388
1345
1346         Reviewed by Joseph Pecoraro.
1347
1348         * UserInterface/Views/CSSStyleDeclarationSection.js:
1349         (WebInspector.CSSStyleDeclarationSection.prototype.refreshEditor):
1350         * UserInterface/Views/RulesStyleDetailsPanel.js:
1351         (WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionEditorFocused):
1352         (WebInspector.RulesStyleDetailsPanel.prototype.shown):
1353         When showing the StyleDetailsPanel, if there is an active editor, which is now saved each
1354         time one becomes focused, force an update of that editor's content.
1355
1356 2017-05-22  Joseph Pecoraro  <pecoraro@apple.com>
1357
1358         Web Inspector: New Tab contents not centered vertically
1359         https://bugs.webkit.org/show_bug.cgi?id=172486
1360
1361         Reviewed by Devin Rousso.
1362
1363         * UserInterface/Views/NewTabContentView.css:
1364         (.new-tab.tab.content-view):
1365         Use align-items instead of align-content.
1366
1367 2017-05-22  Devin Rousso  <drousso@apple.com>
1368
1369         Web Inspector: New CSS Rules should go into a new Stylesheet Resource that can be viewed/edited/saved
1370         https://bugs.webkit.org/show_bug.cgi?id=138810
1371
1372         Reviewed by Joseph Pecoraro.
1373
1374         * Localizations/en.lproj/localizedStrings.js:
1375
1376         * UserInterface/Controllers/CSSStyleManager.js:
1377         (WebInspector.CSSStyleManager):
1378         (WebInspector.CSSStyleManager.prototype.preferredInspectorStyleSheetForFrame):
1379         (WebInspector.CSSStyleManager.prototype._updateResourceContent.fetchedStyleSheetContent):
1380         Manually dispatch a change event for modifications to CSSStyleSheet objects since they are
1381         not covered by the listener for Resource changes.
1382
1383         * UserInterface/Main.html:
1384         Include WebInspector.CSSStyleSheetTreeElement.
1385
1386         * UserInterface/Models/Collection.js:
1387         (WebInspector.Collection.TypeVerifier):
1388         * UserInterface/Models/ResourceCollection.js:
1389         (WebInspector.ResourceCollection.TypeVerifier.Stylesheet):
1390         Add TypeVerifier for CSSStyleSheet.
1391
1392         * UserInterface/Models/DOMNodeStyles.js:
1393         (WebInspector.DOMNodeStyles.prototype._parseRulePayload):
1394         Manually create a SourceCodeLocation object for Inspector Style Sheets.
1395
1396         * UserInterface/Views/CSSStyleSheetTreeElement.js: Added.
1397         (WebInspector.CSSStyleSheetTreeElement):
1398
1399         * UserInterface/Views/ResourceIcons.css:
1400         (:matches(.resource-icon.resource-type-stylesheet, .stylessheet-icon) .icon):
1401
1402         * UserInterface/Views/FrameTreeElement.js:
1403         (WebInspector.FrameTreeElement.forwardingConstructor):
1404         (WebInspector.FrameTreeElement):
1405         (WebInspector.FrameTreeElement.prototype.onattach):
1406         (WebInspector.FrameTreeElement.prototype.ondetach):
1407         (WebInspector.FrameTreeElement.prototype.onpopulate):
1408         (WebInspector.FrameTreeElement.prototype._styleSheetAdded):
1409         * UserInterface/Views/ResourceSidebarPanel.js:
1410         (WebInspector.ResourceSidebarPanel):
1411         (WebInspector.ResourceSidebarPanel.prototype._styleSheetAdded):
1412         (WebInspector.ResourceSidebarPanel.prototype._treeSelectionDidChange):
1413         Listen for the creation of CSSStyleSheet objects and add them to the sidebar if they are an
1414         Inspector Style Sheet.  Regular style sheets are added via their respective resources.
1415
1416         * UserInterface/Views/NavigationSidebarPanel.js:
1417         (WebInspector.NavigationSidebarPanel.prototype._isTreeElementWithoutRepresentedObject):
1418         Prevent CSSStyleSheetTreeElement instances from attempting to save state to a cookie.
1419
1420         * UserInterface/Base/Main.js:
1421         (WebInspector.tabContentViewClassForRepresentedObject):
1422         (WebInspector.createSourceCodeLocationLink):
1423         * UserInterface/Views/ContentView.js:
1424         (WebInspector.ContentView.createFromRepresentedObject):
1425         (WebInspector.ContentView.isViewable):
1426         * UserInterface/Views/CSSStyleDeclarationSection.js:
1427         (WebInspector.CSSStyleDeclarationSection.prototype.refresh):
1428         * UserInterface/Views/ResourcesTabContentView.js:
1429         (WebInspector.ResourcesTabContentView.prototype.canShowRepresentedObject):
1430         * UserInterface/Views/ResourceContentView.js:
1431         (WebInspector.ResourceContentView):
1432         * UserInterface/Views/SourceCodeTextEditor.js:
1433         (WebInspector.SourceCodeTextEditor.prototype._prepareEditorForInitialContent):
1434         (WebInspector.SourceCodeTextEditor.prototype._looselyMatchesSourceCodeLocation):
1435         (WebInspector.SourceCodeTextEditor.prototype._matchesSourceCodeLocation):
1436         * UserInterface/Views/TextResourceContentView.js:
1437         (WebInspector.TextResourceContentView):
1438         (WebInspector.TextResourceContentView.prototype.get supportsSave):
1439         (WebInspector.TextResourceContentView.prototype.get saveData):
1440         (WebInspector.TextResourceContentView.prototype._contentWillPopulate):
1441         (WebInspector.TextResourceContentView.prototype._shouldBeEditable):
1442         Support editing and saving an Inspector Style Sheet via its CSSStyleSheet object.
1443
1444 2017-05-22  Brian Burg  <bburg@apple.com>
1445
1446         Web Inspector: webkit reload policy should match default behavior
1447         https://bugs.webkit.org/show_bug.cgi?id=171385
1448         <rdar://problem/31871515>
1449
1450         Reviewed by Joseph Pecoraro.
1451
1452         * UserInterface/Base/Main.js:
1453         Use PageAgent.reload.invoke to make the reload options more explicit.
1454
1455         * UserInterface/Test/FrontendTestHarness.js:
1456         (FrontendTestHarness.prototype.reloadPage):
1457         Convert this method to take an options dictionary rather than positional
1458         boolean arguments. Update call sites to pass correct options.
1459
1460         When running tests, we want to revalidate unexpired resources, as there
1461         does not seem to be another reliable way to trigger revalidated cached
1462         resources from a Web Inspector layout test. Make this behavior the default.
1463
1464 2017-05-22  Simon Fraser  <simon.fraser@apple.com>
1465
1466         Support transform-box to switch sizing box in SVG
1467         https://bugs.webkit.org/show_bug.cgi?id=145783
1468
1469         Reviewed by Dean Jackson.
1470
1471         Add transform-box to the list of autocompletions.
1472
1473         * UserInterface/External/CodeMirror/css.js:
1474
1475 2017-05-22  Brian Burg  <bburg@apple.com>
1476
1477         Web Inspector: RTL: In Timelines > JavaScript & Events, digits for sample count are not localized
1478         https://bugs.webkit.org/show_bug.cgi?id=171819
1479
1480         Reviewed by Matt Baker.
1481
1482         * UserInterface/Views/ScriptTimelineDataGridNode.js:
1483         (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent):
1484
1485 2017-05-22  Nikita Vasilyev  <nvasilyev@apple.com>
1486
1487         Web Inspector: RTL: Text in autocomplete popover should be aligned left
1488         https://bugs.webkit.org/show_bug.cgi?id=171998
1489
1490         Reviewed by Brian Burg.
1491
1492         Autocomplete popover is only used for CSS and JavaScript, and
1493         these should always be shown as LTR text.
1494
1495         * UserInterface/Views/CompletionSuggestionsView.css:
1496         (.completion-suggestions):
1497
1498 2017-05-22  Fujii Hironori  <Hironori.Fujii@sony.com>
1499
1500         [GTK] Web Inspector: Add active call frame indicator image
1501         https://bugs.webkit.org/show_bug.cgi?id=161987
1502         <rdar://problem/28307419>
1503
1504         Reviewed by Carlos Garcia Campos.
1505
1506         Add a free icon for the Web Inspector of GTK port.
1507
1508         * UserInterface/Images/gtk/ActiveCallFrame.svg: Added.
1509
1510 2017-05-19  Devin Rousso  <drousso@apple.com>
1511
1512         Web Inspector: Use initialLayout for Settings tab
1513         https://bugs.webkit.org/show_bug.cgi?id=172304
1514
1515         Reviewed by Matt Baker.
1516
1517         * UserInterface/Views/GeneralSettingsView.js:
1518         (WebInspector.GeneralSettingsView.prototype.initialLayout):
1519         Move listener for zoom factor to only update that editor.
1520
1521         * UserInterface/Views/SettingsTabContentView.js:
1522         (WebInspector.SettingsTabContentView):
1523         (WebInspector.SettingsTabContentView.prototype.initialLayout): Added.
1524         It is not necessary to create the UI for editing settings until the Settings tab is shown.
1525         Use initialLayout to ensure UI gets created exactly once, after the tab is selected.
1526
1527 2017-05-18  Devin Rousso  <drousso@apple.com>
1528
1529         REGRESSION (r?): Web Inspector: Shift-click on color square in Styles sidebar should not select text
1530         https://bugs.webkit.org/show_bug.cgi?id=171902
1531
1532         Reviewed by Matt Baker.
1533
1534         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1535         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseUp):
1536         Do not attempt to select text if the element being clicked is a bookmark (such as a swatch).
1537
1538 2017-05-18  Joseph Pecoraro  <pecoraro@apple.com>
1539
1540         Web Inspector: Web Socket Document Icon
1541         https://bugs.webkit.org/show_bug.cgi?id=170023
1542
1543         Reviewed by Matt Baker.
1544
1545         Icons made by Jon Davis.
1546
1547         * UserInterface/Images/WebSocket.png: Added.
1548         * UserInterface/Images/WebSocket@2x.png: Added.
1549         * UserInterface/Images/WebSocketLarge.png: Added.
1550         * UserInterface/Images/WebSocketLarge@2x.png: Added.
1551         New icons for Web Socket resources.
1552
1553         * UserInterface/Views/ResourceIcons.css:
1554         (body:matches(.mac-platform, .windows-platform) .resource-icon.resource-type-websocket .icon):
1555         (body:matches(.mac-platform, .windows-platform) .large .resource-icon.resource-type-websocket .icon):
1556         Use the icon.
1557
1558 2017-05-18  Fujii Hironori  <Hironori.Fujii@sony.com>
1559
1560         Web Inspector: [GTK] Adopt currentColor for mask SVG images
1561         https://bugs.webkit.org/show_bug.cgi?id=150603
1562
1563         Reviewed by Carlos Garcia Campos.
1564
1565         * UserInterface/Images/gtk/Circle.svg:
1566         * UserInterface/Images/gtk/ClearBoth.svg:
1567         * UserInterface/Images/gtk/ClearLeft.svg:
1568         * UserInterface/Images/gtk/ClearRight.svg:
1569         * UserInterface/Images/gtk/Close.svg:
1570         * UserInterface/Images/gtk/CloseLarge.svg:
1571         * UserInterface/Images/gtk/Console.svg:
1572         * UserInterface/Images/gtk/Debugger.svg:
1573         * UserInterface/Images/gtk/DockBottom.svg:
1574         * UserInterface/Images/gtk/DockRight.svg:
1575         * UserInterface/Images/gtk/DownloadArrow.svg:
1576         * UserInterface/Images/gtk/Elements.svg:
1577         * UserInterface/Images/gtk/Errors.svg:
1578         * UserInterface/Images/gtk/Eye.svg:
1579         * UserInterface/Images/gtk/FloatLeft.svg:
1580         * UserInterface/Images/gtk/FloatRight.svg:
1581         * UserInterface/Images/gtk/FontStyleItalic.svg:
1582         * UserInterface/Images/gtk/FontStyleNormal.svg:
1583         * UserInterface/Images/gtk/Gear.svg:
1584         * UserInterface/Images/gtk/Issues.svg:
1585         * UserInterface/Images/gtk/Logs.svg:
1586         * UserInterface/Images/gtk/Minus.svg:
1587         * UserInterface/Images/gtk/NavigationItemClear.svg:
1588         * UserInterface/Images/gtk/NavigationItemTrash.svg:
1589         * UserInterface/Images/gtk/Network.svg:
1590         * UserInterface/Images/gtk/NewTab.svg:
1591         * UserInterface/Images/gtk/NewTabPlus.svg:
1592         * UserInterface/Images/gtk/Pause.svg:
1593         * UserInterface/Images/gtk/Pencil.svg:
1594         * UserInterface/Images/gtk/Plus13.svg:
1595         * UserInterface/Images/gtk/Plus15.svg:
1596         * UserInterface/Images/gtk/ReloadFull.svg:
1597         * UserInterface/Images/gtk/ReloadToolbar.svg:
1598         * UserInterface/Images/gtk/Resources.svg:
1599         * UserInterface/Images/gtk/Search.svg:
1600         * UserInterface/Images/gtk/SearchResults.svg:
1601         * UserInterface/Images/gtk/SplitToggleUp.svg:
1602         * UserInterface/Images/gtk/StepInto.svg:
1603         * UserInterface/Images/gtk/StepOut.svg:
1604         * UserInterface/Images/gtk/StepOver.svg:
1605         * UserInterface/Images/gtk/Stop.svg:
1606         * UserInterface/Images/gtk/Storage.svg:
1607         * UserInterface/Images/gtk/TextAlignCenter.svg:
1608         * UserInterface/Images/gtk/TextAlignJustify.svg:
1609         * UserInterface/Images/gtk/TextAlignLeft.svg:
1610         * UserInterface/Images/gtk/TextAlignRight.svg:
1611         * UserInterface/Images/gtk/TextDecorationLineThrough.svg:
1612         * UserInterface/Images/gtk/TextDecorationOverline.svg:
1613         * UserInterface/Images/gtk/TextDecorationUnderline.svg:
1614         * UserInterface/Images/gtk/TextTransformCapitalize.svg:
1615         * UserInterface/Images/gtk/TextTransformLowercase.svg:
1616         * UserInterface/Images/gtk/TextTransformUppercase.svg:
1617         * UserInterface/Images/gtk/Time.svg:
1618         * UserInterface/Images/gtk/Timeline.svg:
1619         * UserInterface/Images/gtk/Undock.svg:
1620         * UserInterface/Images/gtk/VisualStyleNone.svg:
1621         * UserInterface/Images/gtk/VisualStylePropertyLinked.svg:
1622         * UserInterface/Images/gtk/VisualStylePropertyUnlinked.svg:
1623         * UserInterface/Images/gtk/Weight.svg:
1624
1625 2017-05-15  Fujii Hironori  <Hironori.Fujii@sony.com>
1626
1627         [GTK] Web Inspector: Add new GTK+ icons for Search icon of Quick Open dialog
1628         https://bugs.webkit.org/show_bug.cgi?id=172110
1629
1630         Reviewed by Michael Catanzaro.
1631
1632         Add a free icon for the Web Inspector in GTK+.
1633
1634         * UserInterface/Images/gtk/Search.svg: Added.
1635
1636 2017-05-15  Fujii Hironori  <Hironori.Fujii@sony.com>
1637
1638         [GTK] Web Inspector: Add new GTK+ icons for Worker Scripts / Web Sockets
1639         https://bugs.webkit.org/show_bug.cgi?id=164138
1640
1641         Reviewed by Michael Catanzaro.
1642
1643         Add more free icons for the Web Inspector in GTK+.
1644
1645         * UserInterface/Images/gtk/WorkerScript.png: Added.
1646         * UserInterface/Images/gtk/WorkerScript@2x.png: Added.
1647         * UserInterface/Images/gtk/WorkerScriptLarge.png: Added.
1648         * UserInterface/Images/gtk/WorkerScriptLarge@2x.png: Added.
1649         * UserInterface/Views/ResourceIcons.css:
1650         (.script.worker-icon .icon):
1651         (.large .script.worker-icon .icon):
1652         (body:matches(.mac-platform, .windows-platform) .script.worker-icon .icon): Deleted.
1653         (body:matches(.mac-platform, .windows-platform) .large .script.worker-icon .icon): Deleted.
1654
1655 2017-05-11  Nikita Vasilyev  <nvasilyev@apple.com>
1656
1657         Web Inspector: RTL: "Elements > Styles - Rules" rule and media query headers should be left aligned
1658         https://bugs.webkit.org/show_bug.cgi?id=171954
1659         <rdar://problem/31961976>
1660
1661         Reviewed by Matt Baker.
1662
1663         * UserInterface/Views/CSSStyleDeclarationSection.css:
1664         (.style-declaration-section > .header):
1665         (.style-declaration-section.locked > .header > .locked-icon):
1666         (.style-declaration-section > .header > .icon):
1667         (.style-declaration-section > .header > textarea):
1668         (.style-declaration-section.invalid-selector > .header > .icon):
1669         (body[dir=ltr] .style-declaration-section > .header): Deleted.
1670         (body[dir=rtl] .style-declaration-section > .header): Deleted.
1671         (body[dir=ltr] .style-declaration-section.locked > .header > .locked-icon): Deleted.
1672         (body[dir=rtl] .style-declaration-section.locked > .header > .locked-icon): Deleted.
1673         (body[dir=ltr] .style-declaration-section > .header > .icon): Deleted.
1674         (body[dir=rtl] .style-declaration-section > .header > .icon): Deleted.
1675         (body[dir=ltr] .style-declaration-section > .header > textarea): Deleted.
1676         (body[dir=rtl] .style-declaration-section > .header > textarea): Deleted.
1677         Remove RTL rules.
1678
1679         * UserInterface/Views/CSSStyleDeclarationSection.js:
1680         (WebInspector.CSSStyleDeclarationSection):
1681         Set dir="ltr" so selector's textareas work correctly.
1682
1683         * UserInterface/Views/RulesStyleDetailsPanel.css:
1684         (.sidebar > .panel.details.css-style .rules):
1685
1686 2017-05-11  Matt Baker  <mattbaker@apple.com>
1687
1688         Web Inspector: Error trying to delete DOM breakpoints from the Debugger tab
1689         https://bugs.webkit.org/show_bug.cgi?id=171970
1690         <rdar://problem/32129262>
1691
1692         Reviewed by Brian Burg.
1693
1694         In the Debugger sidebar, DOM breakpoints can be cleared from a DOM node
1695         in two ways: by using the DOM node tree element's context menu, or by
1696         pressing the delete key while the element is selected. Each method used
1697         a different code path, and the latter had an error which caused it to fail.
1698
1699         Add a `removeDOMBreakpointsForNode` method to DOMDebuggerManager to make
1700         the operation convenient, and call it from both event handlers.
1701
1702         * UserInterface/Controllers/DOMBreakpointTreeController.js:
1703         (WebInspector.DOMBreakpointTreeController.appendBreakpointContextMenuItems):
1704         Use convenience method.
1705
1706         * UserInterface/Controllers/DOMDebuggerManager.js:
1707         (WebInspector.DOMDebuggerManager.prototype.removeDOMBreakpointsForNode):
1708         Helper function for removing all of a node's breakpoints.
1709
1710         * UserInterface/Views/DOMNodeTreeElement.js:
1711         (WebInspector.DOMNodeTreeElement.prototype.ondelete):
1712         Use convenience method.
1713
1714 2017-05-11  Fujii Hironori  <Hironori.Fujii@sony.com>
1715
1716         [GTK] Web Inspector: Add new GTK+ icons for resources in large sizes (32px @ 1x/2x)
1717         https://bugs.webkit.org/show_bug.cgi?id=155802
1718         <rdar://problem/25320686>
1719
1720         Reviewed by Carlos Garcia Campos.
1721
1722         Add more free icons for the Web Inspector in GTK+.
1723
1724         * UserInterface/Images/gtk/ClippingCSSLarge.png: Added.
1725         * UserInterface/Images/gtk/ClippingCSSLarge@2x.png: Added.
1726         * UserInterface/Images/gtk/ClippingGenericLarge.png: Added.
1727         * UserInterface/Images/gtk/ClippingGenericLarge@2x.png: Added.
1728         * UserInterface/Images/gtk/ClippingJSLarge.png: Added.
1729         * UserInterface/Images/gtk/ClippingJSLarge@2x.png: Added.
1730         * UserInterface/Images/gtk/DocumentCSSLarge.png: Added.
1731         * UserInterface/Images/gtk/DocumentCSSLarge@2x.png: Added.
1732         * UserInterface/Images/gtk/DocumentFontLarge.png: Added.
1733         * UserInterface/Images/gtk/DocumentFontLarge@2x.png: Added.
1734         * UserInterface/Images/gtk/DocumentGenericLarge.png: Added.
1735         * UserInterface/Images/gtk/DocumentGenericLarge@2x.png: Added.
1736         * UserInterface/Images/gtk/DocumentImageLarge.png: Added.
1737         * UserInterface/Images/gtk/DocumentImageLarge@2x.png: Added.
1738         * UserInterface/Images/gtk/DocumentJSLarge.png: Added.
1739         * UserInterface/Images/gtk/DocumentJSLarge@2x.png: Added.
1740         * UserInterface/Images/gtk/DocumentMarkupLarge.png: Added.
1741         * UserInterface/Images/gtk/DocumentMarkupLarge@2x.png: Added.
1742
1743 2017-05-10  Brian Burg  <bburg@apple.com>
1744
1745         Web Inspector: RTL: in Timelines > JavaScript & Events, digits for timer and animation frame number are not localized
1746         https://bugs.webkit.org/show_bug.cgi?id=171818
1747
1748         Reviewed by Joseph Pecoraro.
1749
1750         These numbers need to be formatted with %d, not %s.
1751
1752         * Localizations/en.lproj/localizedStrings.js:
1753         * UserInterface/Models/ScriptTimelineRecord.js:
1754         (WebInspector.ScriptTimelineRecord.EventType.displayName):
1755
1756 2017-05-10  Brian Burg  <bburg@apple.com>
1757
1758         Web Inspector: remove dead code for switching Toolbar display options
1759         https://bugs.webkit.org/show_bug.cgi?id=170738
1760
1761         Reviewed by Joseph Pecoraro.
1762
1763         * Localizations/en.lproj/localizedStrings.js:
1764         * UserInterface/Base/Main.js:
1765         (WebInspector.contentLoaded):
1766         * UserInterface/Views/ButtonToolbarItem.css:
1767         (.toolbar .item.button > .glyph):
1768         (.toolbar .item.button > .label):
1769         (.toolbar.icon-and-label-vertical .item.button): Deleted.
1770         (.toolbar.icon-and-label-horizontal .item.button): Deleted.
1771         (.toolbar.small-size .item.button > .glyph): Deleted.
1772         (.toolbar.label-only .item.button > .glyph): Deleted.
1773         (.toolbar.label-only .item.activate.button.activated > .label): Deleted.
1774         (.toolbar.icon-and-label-horizontal .item.button > .label): Deleted.
1775         (.toolbar.icon-only .item.button > .label): Deleted.
1776         * UserInterface/Views/ControlToolbarItem.css:
1777         (.toolbar .item.control):
1778         (.toolbar:matches(.icon-and-label-horizontal, .icon-only) .item.control): Deleted.
1779         * UserInterface/Views/DashboardContainerView.css:
1780         (.toolbar .dashboard-container):
1781         (.toolbar.icon-and-label-vertical:matches(.small-size, .normal-size) .dashboard-container): Deleted.
1782         (.toolbar.label-only .dashboard-container,): Deleted.
1783         (.toolbar.normal-size:matches(.icon-only, .icon-and-label-vertical, .icon-and-label-horizontal) .dashboard-container): Deleted.
1784         (.toolbar.label-only .dashboard-container .advance-arrow): Deleted.
1785         (body[dir=ltr] .toolbar.label-only .dashboard-container .advance-arrow): Deleted.
1786         (body[dir=rtl] .toolbar.label-only .dashboard-container .advance-arrow): Deleted.
1787         * UserInterface/Views/DefaultDashboardView.css:
1788         (.toolbar .dashboard.default > .item):
1789         (.toolbar.label-only .dashboard.default > .item,): Deleted.
1790         (.toolbar.normal-size:matches(.icon-only, .icon-and-label-vertical, .icon-and-label-horizontal) .dashboard.default > .item): Deleted.
1791         * UserInterface/Views/ReplayDashboardView.css:
1792         (.toolbar .dashboard.replay .item.button > .glyph):
1793         (.toolbar.label-only .dashboard.replay .item.button > .glyph): Deleted.
1794         * UserInterface/Views/Toolbar.css:
1795         (.toolbar .control-section):
1796         (.toolbar:matches(.icon-and-label-horizontal.small-size, .icon-only.small-size, .label-only) .control-section): Deleted.
1797         * UserInterface/Views/Toolbar.js:
1798         (WebInspector.Toolbar):
1799         (WebInspector.Toolbar.prototype.layout):
1800         (WebInspector.Toolbar.prototype.get displayMode): Deleted.
1801         (WebInspector.Toolbar.prototype.set displayMode): Deleted.
1802         (WebInspector.Toolbar.prototype.get sizeMode): Deleted.
1803         (WebInspector.Toolbar.prototype.set sizeMode): Deleted.
1804         (WebInspector.Toolbar.prototype._handleContextMenuEvent): Deleted.
1805         (WebInspector.Toolbar.prototype._changeDisplayMode): Deleted.
1806         (WebInspector.Toolbar.prototype._toggleSmallIcons): Deleted.
1807
1808 2017-05-10  Ross Kirsling  <ross.kirsling@sony.com>
1809
1810         Web Inspector: Copy to clipboard fails via InspectorFrontendHostStub
1811         https://bugs.webkit.org/show_bug.cgi?id=171907
1812
1813         Reviewed by Joseph Pecoraro.
1814
1815         * UserInterface/Base/InspectorFrontendHostStub.js:
1816         (WebInspector.InspectorFrontendHostStub.prototype.copyText):
1817         Actually make a text selection before attempting to copy to clipboard.
1818
1819 2017-05-09  Joseph Pecoraro  <pecoraro@apple.com>
1820
1821         Web Inspector: Provide resource load error reason text in details sidebar
1822         https://bugs.webkit.org/show_bug.cgi?id=171901
1823         <rdar://problem/29850995>
1824
1825         Reviewed by Brian Burg.
1826
1827         * Localizations/en.lproj/localizedStrings.js:
1828         * UserInterface/Controllers/FrameResourceManager.js:
1829         (WebInspector.FrameResourceManager.prototype.resourceRequestDidFailLoading):
1830         * UserInterface/Models/Resource.js:
1831         (WebInspector.Resource):
1832         (WebInspector.Resource.prototype.get failureReasonText):
1833         (WebInspector.Resource.prototype.markAsFailed):
1834         * UserInterface/Protocol/NetworkObserver.js:
1835         (WebInspector.NetworkObserver.prototype.loadingFailed):
1836         Include the error text we got from the backend. In most cases this should
1837         be a localized error description.
1838
1839         * UserInterface/Views/ResourceDetailsSidebarPanel.js:
1840         (WebInspector.ResourceDetailsSidebarPanel.prototype.set resource):
1841         (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshErrorReason):
1842         (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestAndResponse):
1843         Include an Error field alongside the status code section when there was an error.
1844
1845 2017-05-09  Fujii Hironori  <Hironori.Fujii@sony.com>
1846
1847         [GTK][Win] Web Inspector: Cann't open "Quick Open" dialog by pressing Ctrl+Shift+O
1848         https://bugs.webkit.org/show_bug.cgi?id=171798
1849
1850         Reviewed by Michael Catanzaro.
1851
1852         PC can't input the shortcut keys Command+Shift+O and Command+P.
1853
1854         * UserInterface/Base/Main.js:
1855         (WebInspector.contentLoaded): Use CommandOrControl instead of Command.
1856
1857 2017-05-09  Brian Burg  <bburg@apple.com>
1858
1859         Web Inspector: Assertion failed: Cannot select item with unexpected parent bar. (at NavigationBar.js:132)
1860         https://bugs.webkit.org/show_bug.cgi?id=171885
1861
1862         Reviewed by Matt Baker.
1863
1864         This new assertion revealed a real misuse of the NavigationBar API.
1865
1866         * UserInterface/Views/NavigationBar.js:
1867         (WebInspector.NavigationBar.prototype.set selectedNavigationItem):
1868         Improve this to be an assertion so it can be paused at using the debugger.
1869
1870         * UserInterface/Views/TimelineTabContentView.js:
1871         (WebInspector.TimelineTabContentView.prototype._changeViewMode):
1872         We need to set a NavigationItem as the selected item, not its identifier.
1873         Look up the corresponding item for the identifier that we received (the view mode).
1874
1875 2017-05-08  Brian Burg  <bburg@apple.com>
1876
1877         Web Inspector: RTL: box model labels have bad alignment
1878         https://bugs.webkit.org/show_bug.cgi?id=171817
1879
1880         Reviewed by Joseph Pecoraro.
1881
1882         * UserInterface/Views/BoxModelDetailsSectionRow.css:
1883         (.details-section .row.box-model .label):
1884         (body[dir=ltr] .details-section .row.box-model .label):
1885         (body[dir=rtl] .details-section .row.box-model .label):
1886         We can't just use a mirrored leading margin because all the
1887         text here is center-aligned. Just hardcode a reasonable value.
1888
1889 2017-05-08  Joseph Pecoraro  <pecoraro@apple.com>
1890
1891         Web Inspector: Request/Response toggles not working
1892         https://bugs.webkit.org/show_bug.cgi?id=171833
1893         <rdar://problem/31341637>
1894
1895         Reviewed by Brian Burg.
1896
1897         * UserInterface/Views/HierarchicalPathNavigationItem.js:
1898         (WebInspector.HierarchicalPathNavigationItem.set components.let.componentsEqual):
1899         (WebInspector.HierarchicalPathNavigationItem.prototype.set components):
1900         If the new components being set were shallowly equal, then they wouldn't
1901         actually be updated even if ultimately they are different. In this case
1902         the Path Components with values "request" / "response" would not update
1903         between different resources because the path components had equivalent
1904         simple values. Provide a different discriminator (comparisonData) which
1905         can be an object so these path components compare as necessarily different.
1906
1907         * UserInterface/Views/HeapSnapshotClusterContentView.js:
1908         (WebInspector.HeapSnapshotClusterContentView.createPathComponent):
1909         (WebInspector.HeapSnapshotClusterContentView):
1910         * UserInterface/Views/ResourceClusterContentView.js:
1911         (WebInspector.ResourceClusterContentView.createPathComponent):
1912         (WebInspector.ResourceClusterContentView):
1913         (WebInspector.ResourceClusterContentView.prototype._resourceTypeDidChange):
1914         * UserInterface/Views/SVGImageResourceClusterContentView.js:
1915         (WebInspector.SVGImageResourceClusterContentView):
1916         * UserInterface/Views/ScriptClusterTimelineView.js:
1917         (WebInspector.ScriptClusterTimelineView.createPathComponent):
1918         (WebInspector.ScriptClusterTimelineView):
1919         Provide comparisonData for path components cases that would need it.
1920
1921 2017-05-08  Chris Dumez  <cdumez@apple.com>
1922
1923         Drop non-standard Element.scrollByLines() / scrollByPages()
1924         https://bugs.webkit.org/show_bug.cgi?id=171820
1925
1926         Reviewed by Simon Fraser.
1927
1928         Drop non-standard Element.scrollByLines() / scrollByPages() from
1929         WebInspector code.
1930
1931         * UserInterface/Models/NativeFunctionParameters.js:
1932
1933 2017-05-08  Matt Baker  <mattbaker@apple.com>
1934
1935         Web Inspector: Make it easy to dynamically show/hide a SettingsView
1936         https://bugs.webkit.org/show_bug.cgi?id=171765
1937         <rdar://problem/32031280>
1938
1939         Reviewed by Brian Burg.
1940
1941         This patch adds SettingsTabContentView.prototype.setSettingsViewVisible,
1942         for dynamically showing/hiding a child view (and its NavigationBar item).
1943         The following new behavior is relevant when more that one child SettingsView
1944         exist in the Settings tab:
1945          - Hiding the selected view will cause a new view to become selected.
1946            The previous visible view is selected, if it exists. Otherwise the
1947            next visible view is used.
1948          - Showing a view when no views are selected cause the view to be selected.
1949
1950         As the Settings tab currently has only one child view, the behavior above
1951         was tested by adding a handful of vanilla SettingsView objects to the tab
1952         and toggling their visibility.
1953
1954         * UserInterface/Views/NavigationBar.js:
1955         Simplify overloaded parameter `navigationItemOrIdentifierOrIndex`, which
1956         is used in a few places and is always an instance of NavigationItem.
1957
1958         (WebInspector.NavigationBar):
1959         (WebInspector.NavigationBar.prototype.removeNavigationItem):
1960         (WebInspector.NavigationBar.prototype.get selectedNavigationItem):
1961         (WebInspector.NavigationBar.prototype.set selectedNavigationItem):
1962         (WebInspector.NavigationBar.prototype.findNavigationItem):
1963         Lookup a navigation item by its identifier.
1964         (WebInspector.NavigationBar.prototype._findNavigationItem): Deleted.
1965         Replaced overloaded private method with new public method.
1966
1967         * UserInterface/Views/NavigationItem.js:
1968         Cleanup.
1969         (WebInspector.NavigationItem):
1970         (WebInspector.NavigationItem.prototype.get identifier):
1971         (WebInspector.NavigationItem.prototype.get element):
1972         (WebInspector.NavigationItem.prototype.get minimumWidth):
1973         (WebInspector.NavigationItem.prototype.get parentNavigationBar):
1974
1975         * UserInterface/Views/SettingsTabContentView.css:
1976         Use `visibility: hidden` instead of `display: none` when hiding the
1977         NavigationBar, so that the selected view's top position stays the same.
1978
1979         (.content-view.settings):
1980         (.content-view.settings .navigation-bar.invisible):
1981
1982         * UserInterface/Views/SettingsTabContentView.js:
1983         (WebInspector.SettingsTabContentView):
1984         Switch to an array of SettingsViews instead of a map. Fast lookup isn't
1985         a concern due to the small number of items, and having indices simplifies
1986         traversing the previous/next items in `setSettingsViewVisible`.
1987
1988         (WebInspector.SettingsTabContentView.prototype.set selectedSettingsView):
1989         Rename `page` to `settingsView`.
1990         (WebInspector.SettingsTabContentView.prototype.addSettingsView):
1991         (WebInspector.SettingsTabContentView.prototype.setSettingsViewVisible):
1992         Shows/hides the specified view. Hiding the selected SettingsView will
1993         cause another visible view to become selected, if one exists.
1994
1995         (WebInspector.SettingsTabContentView.prototype._updateNavigationBarVisibility):
1996         Helper for updating navigation bar visibility after making a change
1997         to the navigation items.
1998
1999         (WebInspector.SettingsTabContentView.prototype._navigationItemSelected):
2000
2001 2017-05-08  Myles C. Maxfield  <mmaxfield@apple.com>
2002
2003         Unprefix unicode-bidi CSS values
2004         https://bugs.webkit.org/show_bug.cgi?id=171761
2005
2006         Reviewed by Simon Fraser.
2007
2008         * UserInterface/Models/CSSKeywordCompletions.js:
2009
2010 2017-05-08  Fujii Hironori  <Hironori.Fujii@sony.com>
2011
2012         [GTK] Web Inspector: Add new GTK+ icon for timeline recording stopwatch
2013         https://bugs.webkit.org/show_bug.cgi?id=154088
2014
2015         Reviewed by Carlos Garcia Campos.
2016
2017         Add a free icon and remove some unused ones for the Web Inspector
2018         in GTK+.
2019
2020         * UserInterface/Images/gtk/Stopwatch.png: Removed.
2021         * UserInterface/Images/gtk/Stopwatch.svg: Added.
2022         * UserInterface/Images/gtk/Stopwatch@2x.png: Removed.
2023         * UserInterface/Views/TimelineIcons.css:
2024         (body:not(.mac-platform, .windows-platform) .stopwatch-icon .icon): Deleted.
2025
2026 2017-05-05  Nikita Vasilyev  <nvasilyev@apple.com>
2027
2028         REGRESSION (r212998): Web Inspector: bad spacing of go-to arrow for HTTP POST request data
2029         https://bugs.webkit.org/show_bug.cgi?id=171674
2030
2031         Reviewed by Matt Baker.
2032
2033         * UserInterface/Views/DetailsSection.css:
2034         (body[dir=ltr] .details-section > .content > .group > .row.simple > .value .go-to-arrow):
2035         (body[dir=rtl] .details-section > .content > .group > .row.simple > .value .go-to-arrow):
2036         Swap margin-left and margin-right. This regressed when RTL support was added.
2037
2038 2017-05-03  Devin Rousso  <webkit@devinrousso.com>
2039
2040         REGRESSION (r215630): Web Inspector: Option-Click on URL in Styles sidebar does not work
2041         https://bugs.webkit.org/show_bug.cgi?id=171569
2042
2043         Reviewed by Joseph Pecoraro.
2044
2045         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2046         (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked):
2047         Add missing `frame` parameter to `WebInspector.openURL`.
2048
2049 2017-05-03  Nikita Vasilyev  <nvasilyev@apple.com>
2050
2051         Uncaught Exception: Can't make a ContentView for an unknown representedObject of type: IndexedDatabase
2052         https://bugs.webkit.org/show_bug.cgi?id=167473
2053         <rdar://problem/30249715>
2054
2055         Reviewed by Matt Baker.
2056
2057         When an indexed database is selected in the Storage navigation sidebar, show its host, security origin, and version.
2058
2059         Previously, selecting an indexed database didn't change the content view. It could lead to a misleading state
2060         when an indexed database is selected in the sidebar, but the content view showed previously selected item such as
2061         Cookies or Local Storage.
2062
2063         * UserInterface/Main.html:
2064         * UserInterface/Views/ContentView.css:
2065         (.content-view .details-section):
2066         (.content-view .details-section > .content):
2067         (.content-view .details-section > .content > .group > .row.simple > .label):
2068         (.content-view .details-section:last-child):
2069         * UserInterface/Views/ContentView.js:
2070         (WebInspector.ContentView.createFromRepresentedObject):
2071         (WebInspector.ContentView.isViewable):
2072         * UserInterface/Views/IndexedDatabaseContentView.css: Added.
2073         (.indexed-database.content-view):
2074         (.indexed-database.content-view .indexed-database-details):
2075         (.indexed-database.content-view .details-section > .header):
2076         * UserInterface/Views/IndexedDatabaseContentView.js: Added.
2077         (WebInspector.IndexedDatabaseContentView):
2078         * UserInterface/Views/IndexedDatabaseDetailsSidebarPanel.js:
2079         (WebInspector.IndexedDatabaseDetailsSidebarPanel.prototype.inspect):
2080         Don't show the details sidebar for IndexedDB top level item since it has the same content as the content view.
2081
2082         * UserInterface/Views/StorageSidebarPanel.js:
2083         (WebInspector.StorageSidebarPanel._treeSelectionDidChange):
2084         * UserInterface/Views/StorageTabContentView.js:
2085         (WebInspector.StorageTabContentView.prototype.canShowRepresentedObject):
2086         (WebInspector.StorageTabContentView):
2087
2088 2017-05-03  Joseph Pecoraro  <pecoraro@apple.com>
2089
2090         Web Inspector: 404 Image Load does not appear as a failure in Web Inspector
2091         https://bugs.webkit.org/show_bug.cgi?id=171587
2092         <rdar://problem/13222846>
2093
2094         Reviewed by Matt Baker.
2095
2096         * UserInterface/Models/Resource.js:
2097         (WebInspector.Resource.prototype.createObjectURL):
2098         This may return null if the data is not a Blob. This can happen if we
2099         loaded non-base64Encoded text content for an Image. Such as a 404 response.
2100
2101         (WebInspector.Resource.prototype.hadLoadingError):
2102         Consistent way to check for any kind of loading error.
2103
2104         (WebInspector.Resource.prototype.getImageSize):
2105         Handle failure to create an object URL.
2106
2107         * UserInterface/Views/FontResourceContentView.js:
2108         (WebInspector.FontResourceContentView.prototype.contentAvailable):
2109         * UserInterface/Views/ImageResourceContentView.js:
2110         (WebInspector.ImageResourceContentView.prototype.contentAvailable):
2111         Handle failure to create an object URL.
2112 :
2113         * UserInterface/Views/ResourceContentView.js:
2114         (WebInspector.ResourceContentView):
2115         (WebInspector.ResourceContentView.prototype.showGenericErrorMessage):
2116         (WebInspector.ResourceContentView.prototype._protocolError): Deleted.
2117         Provide a way for subclasses to show a generic resource loading error.
2118
2119         * UserInterface/Views/ResourceTimelineDataGridNode.js:
2120         (WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent):
2121         * UserInterface/Views/ResourceTreeElement.js:
2122         (WebInspector.ResourceTreeElement.prototype._updateStatus):
2123         Use the consistent helper for denoting loading errors.
2124
2125 2017-05-02  Fujii Hironori  <Hironori.Fujii@sony.com>
2126
2127         [GTK] Web Inspector: Remove GTK+ icon FontVariantSmallCaps.svg
2128         https://bugs.webkit.org/show_bug.cgi?id=171542
2129
2130         Reviewed by Carlos Garcia Campos.
2131
2132         This image is not used and Apple's one was removed in Bug 148720.
2133
2134         * UserInterface/Images/gtk/FontVariantSmallCaps.svg: Removed.
2135
2136 2017-05-02  Fujii Hironori  <Hironori.Fujii@sony.com>
2137
2138         [GTK] Web Inspector: Remove GTK+ icons AnimationPlayStatePaused.svg and AnimationPlayStateRunning.svg
2139         https://bugs.webkit.org/show_bug.cgi?id=171540
2140
2141         Reviewed by Carlos Garcia Campos.
2142
2143         These images aren't used since r204152 (Bug 160566). Instead,
2144         Plus13.svg and Minus.svg are used.
2145
2146         * UserInterface/Images/gtk/BreakpointActionAdd.svg: Removed.
2147         * UserInterface/Images/gtk/BreakpointActionRemove.svg: Removed.
2148
2149 2017-04-30  Chris Dumez  <cdumez@apple.com>
2150
2151         Drop support for legacy ClientRect / ClientRectList
2152         https://bugs.webkit.org/show_bug.cgi?id=171418
2153
2154         Reviewed by Sam Weinig.
2155
2156         Drop ClientRectList-related code.
2157
2158         * UserInterface/Models/NativeFunctionParameters.js:
2159
2160 2017-04-27  Fujii Hironori  <Hironori.Fujii@sony.com>
2161
2162         [GTK] Web Inspector: Add new GTK+ icons for different Script Timeline Views (Events and Call Trees)
2163         https://bugs.webkit.org/show_bug.cgi?id=155077
2164
2165         Reviewed by Joseph Pecoraro.
2166
2167         * UserInterface/Images/gtk/CallTrees.svg: Added.
2168         * UserInterface/Images/gtk/Events.svg: Added.
2169         * UserInterface/Views/PathComponentIcons.css:
2170         (body:not(.mac-platform, .windows-platform) .heap-snapshot-record .icon,):
2171         (body:not(.mac-platform, .windows-platform) .events-icon .icon,): Deleted.
2172
2173 2017-04-27  Nikita Vasilyev  <nvasilyev@apple.com>
2174
2175         Web Inspector: Remove unused ToggleControlToolbarItem.js
2176         https://bugs.webkit.org/show_bug.cgi?id=171401
2177
2178         Reviewed by Joseph Pecoraro.
2179
2180         * UserInterface/Main.html:
2181         * UserInterface/Views/ToggleControlToolbarItem.js: Removed.
2182
2183 2017-04-27  Brian Burg  <bburg@apple.com>
2184
2185         Web Inspector: RTL: inherit system layout direction by default
2186         https://bugs.webkit.org/show_bug.cgi?id=171402
2187         <rdar://problem/30753626>
2188
2189         Reviewed by Joseph Pecoraro.
2190
2191         Web Inspector's layout direction should follow the system layout direction
2192         by default now that most RTL bugs seem to be fixed. We are ready for more
2193         feedback.
2194
2195         * UserInterface/Base/Main.js:
2196         * UserInterface/Base/Setting.js:
2197         Rename the existing "layout-direction" setting so that the new default
2198         value is set properly even for people who have overridden the layout
2199         direction while the setting was exposed to everyone.
2200
2201         * UserInterface/Views/GeneralSettingsView.js:
2202         (WebInspector.GeneralSettingsView.prototype.initialLayout):
2203         (WebInspector.GeneralSettingsView.prototype.layout):
2204         (WebInspector.GeneralSettingsView):
2205         Make the layout direction override setting only visible when DebugUI
2206         is turned on. This remains only for engineers to quickly check layout bugs.
2207
2208         * UserInterface/Views/SettingsView.js:
2209         (WebInspector.SettingsView.prototype.addGroupWithCustomSetting):
2210         (WebInspector.SettingsView.prototype.addCustomSetting): Deleted.
2211         Refactor the convenience method to return both the group and the
2212         custom setting. This allows us to toggle .hidden on the entire
2213         row for the Layout Direction setting (label and editor).
2214
2215         * Localizations/en.lproj/localizedStrings.js:
2216         Unlocalize the setting strings since they are only shown in engineering builds now.
2217
2218 2017-04-27  Brian Burg  <bburg@apple.com>
2219
2220         Web Inspector: RTL: fix alignment of "truncated call stack" message
2221         https://bugs.webkit.org/show_bug.cgi?id=170477
2222
2223         Reviewed by Devin Rousso.
2224
2225         * UserInterface/Views/ThreadTreeElement.css:
2226         (.tree-outline > .item.thread + ol > .item.truncated-call-frames):
2227         (body[dir=ltr] .tree-outline > .item.thread + ol > .item.truncated-call-frames):
2228         (body[dir=rtl] .tree-outline > .item.thread + ol > .item.truncated-call-frames):
2229         (.tree-outline > .item.thread + ol > .item.truncated-call-frames .icon):
2230         (body[dir=ltr] .tree-outline > .item.thread + ol > .item.truncated-call-frames .icon):
2231         (body[dir=rtl] .tree-outline > .item.thread + ol > .item.truncated-call-frames .icon):
2232
2233 2017-04-27  Brian Burg  <bburg@apple.com>
2234
2235         Web Inspector: RTL: layout issues in Open Resource Dialog
2236         https://bugs.webkit.org/show_bug.cgi?id=170551
2237
2238         Reviewed by Matt Baker.
2239
2240         We need to flip the cancel and search icons, and flip padding
2241         in the tree outline that contains search results.
2242
2243         I am still not happy with the title/subtitle ordering
2244         (i.e., the domain vs the resource name), but this issue will
2245         be solved primarily in the navigation sidebar first and then
2246         adjusted for Open Resource Dialog if those changes are not
2247         sufficient.
2248
2249         * UserInterface/Views/OpenResourceDialog.css:
2250         (.open-resource-dialog > .field):
2251         (body[dir=ltr] .open-resource-dialog > .field):
2252         (body[dir=rtl] .open-resource-dialog > .field):
2253         (.open-resource-dialog > .field::before):
2254         (body[dir=ltr] .open-resource-dialog > .field::before):
2255         (body[dir=rtl] .open-resource-dialog > .field::before):
2256         (.open-resource-dialog > .field > input):
2257         (body[dir=ltr] .open-resource-dialog > .field > input):
2258         (body[dir=rtl] .open-resource-dialog > .field > input):
2259         (.open-resource-dialog > .field > img):
2260         (body[dir=ltr] .open-resource-dialog > .field > img):
2261         (body[dir=rtl] .open-resource-dialog > .field > img):
2262         (.open-resource-dialog > .tree-outline .item):
2263         (body[dir=ltr] .open-resource-dialog > .tree-outline .item):
2264         (body[dir=rtl] .open-resource-dialog > .tree-outline .item):
2265
2266 2017-04-27  Brian Burg  <bburg@apple.com>
2267
2268         Web Inspector: fix tooltip wording for Reload button
2269         https://bugs.webkit.org/show_bug.cgi?id=171073
2270         <rdar://problem/31378524>
2271
2272         Reviewed by Joseph Pecoraro.
2273
2274         * Localizations/en.lproj/localizedStrings.js:
2275         * UserInterface/Base/Main.js:
2276         (WebInspector.contentLoaded):
2277
2278 2017-04-27  Fujii Hironori  <Hironori.Fujii@sony.com>
2279
2280         [GTK] Web Inspector: Add new GTK+ icons for instrument icons
2281         https://bugs.webkit.org/show_bug.cgi?id=153892
2282         <rdar://problem/24510460>
2283
2284         Reviewed by Joseph Pecoraro.
2285
2286         Add more free icons from art-libre symbolic and removed some
2287         unused ones for the Web Inspector in GTK+.
2288
2289         * UserInterface/Images/gtk/Colors.png: Removed.
2290         * UserInterface/Images/gtk/Colors@2x.png: Removed.
2291         * UserInterface/Images/gtk/ColorsLarge.png: Removed.
2292         * UserInterface/Images/gtk/ColorsLarge@2x.png: Removed.
2293         * UserInterface/Images/gtk/Frames.png: Removed.
2294         * UserInterface/Images/gtk/Frames@2x.png: Removed.
2295         * UserInterface/Images/gtk/HeapAllocationsInstrument.svg: Added.
2296         * UserInterface/Images/gtk/LayoutInstrument.svg: Added.
2297         * UserInterface/Images/gtk/MemoryInstrument.svg: Added.
2298         * UserInterface/Images/gtk/Network.png: Removed.
2299         * UserInterface/Images/gtk/Network@2x.png: Removed.
2300         * UserInterface/Images/gtk/NetworkInstrument.svg: Added.
2301         * UserInterface/Images/gtk/NetworkLarge.png: Removed.
2302         * UserInterface/Images/gtk/NetworkLarge@2x.png: Removed.
2303         * UserInterface/Images/gtk/RenderingFramesInstrument.svg: Added.
2304         * UserInterface/Images/gtk/Script.png: Removed.
2305         * UserInterface/Images/gtk/Script@2x.png: Removed.
2306         * UserInterface/Images/gtk/ScriptLarge.png: Removed.
2307         * UserInterface/Images/gtk/ScriptLarge@2x.png: Removed.
2308         * UserInterface/Images/gtk/ScriptsInstrument.svg: Added.
2309         * UserInterface/Views/TimelineIcons.css:
2310         (body:not(.mac-platform, .windows-platform) .network-icon .icon): Deleted.
2311         (body:not(.mac-platform, .windows-platform) .network-icon.large .icon): Deleted.
2312         (body:not(.mac-platform, .windows-platform) .layout-icon .icon): Deleted.
2313         (body:not(.mac-platform, .windows-platform) .layout-icon.large .icon): Deleted.
2314         (body:not(.mac-platform, .windows-platform) .script-icon .icon): Deleted.
2315         (body:not(.mac-platform, .windows-platform) .script-icon.large .icon): Deleted.
2316         (body:not(.mac-platform, .windows-platform) .rendering-frame-icon .icon): Deleted.
2317         (body:not(.mac-platform, .windows-platform) .memory-icon .icon): Deleted.
2318         (body:not(.mac-platform, .windows-platform) .heap-allocations-icon .icon): Deleted.
2319
2320 2017-04-27  Fujii Hironori  <Hironori.Fujii@sony.com>
2321
2322         [GTK] Web Inspector: gtk/NavigationItemCurleyBraces.svg is licensed under NonCommercial CC
2323         https://bugs.webkit.org/show_bug.cgi?id=170902
2324
2325         Reviewed by Michael Catanzaro.
2326
2327         * UserInterface/Images/gtk/NavigationItemCurleyBraces.svg:
2328         Replaced with new one created by me.
2329
2330 2017-04-27  Fujii Hironori  <Hironori.Fujii@sony.com>
2331
2332         [GTK] Web Inspector: some SVG images are specified 'currentColor' incorrectly
2333         https://bugs.webkit.org/show_bug.cgi?id=170977
2334
2335         Reviewed by Michael Catanzaro.
2336
2337         The keyword 'currentColor' is specifed manually in Bug 150602.
2338         But, some SVG images are specified incorrectly.
2339
2340         * UserInterface/Images/gtk/NavigationItemTypes.svg: Do not stroke
2341         with currentColor, but fill.
2342         * UserInterface/Images/gtk/UpDownArrows.svg: Ditto.
2343
2344 2017-04-27  Carlos Garcia Campos  <cgarcia@igalia.com>
2345
2346         [GTK] Remote inspector should support inspecting targets with previous version of backend commands
2347         https://bugs.webkit.org/show_bug.cgi?id=171267
2348
2349         Reviewed by Michael Catanzaro.
2350
2351         Allow to use data URLs for script-src.
2352
2353         * UserInterface/Main.html:
2354
2355 2017-04-25  Nikita Vasilyev  <nvasilyev@apple.com>
2356
2357         REGRESSION (r209882): Web Inspector: Command-G does not work in the console
2358         https://bugs.webkit.org/show_bug.cgi?id=170555
2359         <rdar://problem/31481247>
2360
2361         Reviewed by Brian Burg.
2362
2363         Command-G didn't work in the console when the console content view was in focus. It only
2364         worked when the search input field was focused.
2365
2366         * UserInterface/Views/LogContentView.js:
2367         (WebInspector.LogContentView.prototype.findBannerRevealPreviousResult):
2368         (WebInspector.LogContentView.prototype.highlightPreviousSearchMatch): Added.
2369         (WebInspector.LogContentView.prototype.findBannerRevealNextResult):
2370         (WebInspector.LogContentView.prototype.highlightNextSearchMatch): Added.
2371         Re-introduce highlightPreviousSearchMatch and highlightNextSearchMatch methods that were
2372         removed in r209882.
2373
2374 2017-04-25  Joseph Pecoraro  <pecoraro@apple.com>
2375
2376         Web Inspector: Network Tab - Sorting by Priority Column hides all rows in the datagrid (uncaught exception)
2377         https://bugs.webkit.org/show_bug.cgi?id=171312
2378         <rdar://problem/31828554>
2379
2380         Reviewed by Brian Burg.
2381
2382         * UserInterface/Models/Resource.js:
2383         (WebInspector.Resource.comparePriority):
2384         Provide a helper for compariting NetworkPriority enum values.
2385
2386         * UserInterface/Views/NetworkGridContentView.js:
2387         (WebInspector.NetworkGridContentView):
2388         (WebInspector.NetworkGridContentView.prototype.dataGridSortComparator):
2389         * UserInterface/Views/NetworkTimelineView.js:
2390         (WebInspector.NetworkTimelineView.prototype.dataGridSortComparator):
2391         Custom sort handler for priority.
2392
2393 2017-04-25  Nikita Vasilyev  <nvasilyev@apple.com>
2394
2395         REGRESSION (r214863): Web Inspector: Uncaught Exception when losing focus from a selector field
2396         https://bugs.webkit.org/show_bug.cgi?id=171254
2397         <rdar://problem/31813959>
2398
2399         Reviewed by Joseph Pecoraro.
2400
2401         The event.relatedTarget of a blur event contains the element where focus moved to.
2402         In some cases this can be null, such as if the user leaves the application window.
2403         For example Command+Tab to switch to another application.
2404
2405         * UserInterface/Views/CSSStyleDeclarationSection.js:
2406         (WebInspector.CSSStyleDeclarationSection.prototype._handleSelectorPaste):
2407
2408 2017-04-25  Nikita Vasilyev  <nvasilyev@apple.com>
2409
2410         Web Inspector: Open the new bug page in the new tab
2411         https://bugs.webkit.org/show_bug.cgi?id=171253
2412
2413         Reviewed by Joseph Pecoraro.
2414
2415         * UserInterface/Debug/UncaughtExceptionReporter.js:
2416         (createErrorSheet):
2417
2418 2017-04-25  Joseph Pecoraro  <pecoraro@apple.com>
2419
2420         Web Inspector: "Space" localized string is not loaded in combined and minified builds
2421         https://bugs.webkit.org/show_bug.cgi?id=171283
2422         <rdar://problem/30871371>
2423
2424         Reviewed by Brian Burg.
2425
2426         In combined and minified builds, the document.write() to load the
2427         localized strings script doesn't happen before the KeyboardShortcut
2428         global code in Main.js evaluates, so there is no UIString because
2429         window.localizedStrings hasn't populated yet. Since this is the only
2430         instance, populate the display UIString lazily and provide warnings
2431         in minified builds if this happens.
2432
2433         * UserInterface/Base/LoadLocalizedStrings.js:
2434         (WebInspector.UIString):
2435         Provide a warning if a UIString was attempted before the strings have loaded.
2436
2437         * UserInterface/Base/Main.js:
2438         (WebInspector.loaded):
2439         For this rare instance, populate the display name of the string when we are
2440         sure strings have loaded.
2441
2442         * UserInterface/Models/KeyboardShortcut.js:
2443         Revert the UIString here, but note that it will be populated later.
2444
2445         * UserInterface/Models/Resource.js:
2446         (WebInspector.Resource.prototype.setCachedResponseBodySize):
2447         * UserInterface/Views/DOMTreeElement.js:
2448         (WebInspector.DOMTreeElement.prototype._statusImageContextmenu):
2449         Address console.asserts not ending in semicolon warnings produced during
2450         optimized builds. Without semicolons they are not stripped.
2451
2452 2017-04-25  Fujii Hironori  <Hironori.Fujii@sony.com>
2453
2454         Web Inspector: TypeError:​ sourceCodeLocation.populateLiveDisplayLocationTooltip is not a function
2455         https://bugs.webkit.org/show_bug.cgi?id=171259
2456
2457         Reviewed by Joseph Pecoraro.
2458
2459         The first argument of WebInspector.createSourceCodeLocationLink
2460         should be SourceCodeLocation type.
2461
2462         * UserInterface/Views/TimelineDataGridNode.js:
2463         (WebInspector.TimelineDataGridNode.prototype.createCellContent):
2464         Pass 'callFrame.sourceCodeLocation' instead of 'value' to the
2465         first argument.
2466
2467 2017-04-24  Matt Baker  <mattbaker@apple.com>
2468
2469         Web Inspector: DOM/XHR breakpoint sections should be collapsed by default
2470         https://bugs.webkit.org/show_bug.cgi?id=170931
2471
2472         Reviewed by Brian Burg.
2473
2474         Set the default collapsed parameter for DOM / XHR Breakpoints sections,
2475         and auto-expand the DOM Breakpoints when a breakpoint is added.
2476
2477         * UserInterface/Views/DebuggerSidebarPanel.js:
2478         (WebInspector.DebuggerSidebarPanel):
2479         (WebInspector.DebuggerSidebarPanel.prototype._domBreakpointAddedOrRemoved):
2480
2481 2017-04-21  Devin Rousso  <webkit@devinrousso.com>
2482
2483         Web Inspector: Add titles to Network grid items for easier reading when text overflows
2484         https://bugs.webkit.org/show_bug.cgi?id=170792
2485
2486         Reviewed by Brian Burg.
2487
2488         * UserInterface/Views/NetworkGridContentView.js:
2489         (WebInspector.NetworkGridContentView):
2490         * UserInterface/Views/ResourceTimelineDataGridNode.js:
2491         (WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent):
2492         (WebInspector.ResourceTimelineDataGridNode.prototype._cachedCellContent):
2493         Do not add a title if the text is an em-dash, as that title will not convey any information.
2494
2495 2017-04-21  Devin Rousso  <dcrousso+webkit@gmail.com>
2496
2497         Web Inspector: Don't show the Search tab if it's open and matches the representedObject
2498         https://bugs.webkit.org/show_bug.cgi?id=168709
2499
2500         Reviewed by Brian Burg.
2501
2502         * UserInterface/Base/Main.js:
2503         (WebInspector.handlePossibleLinkClick):
2504         (WebInspector.openURL):
2505         (WebInspector.showSourceCode):
2506         (WebInspector.showOriginalUnformattedSourceCodeLocation):
2507         (WebInspector.showOriginalOrFormattedSourceCodeLocation):
2508         (WebInspector.showOriginalOrFormattedSourceCodeTextRange):
2509         (WebInspector._frameWasAdded):
2510         (WebInspector.createSourceCodeLocationLink):
2511         (WebInspector.linkifyLocation):
2512         (WebInspector.linkifyElement):
2513         Add `options` parameter to provide greater customization.  Also fix some style issues.
2514
2515         * UserInterface/Views/NetworkGridContentView.js:
2516         (WebInspector.NetworkGridContentView.prototype.hasRepresentedObject): Deleted.
2517         * UserInterface/Views/NetworkSidebarPanel.js:
2518         (WebInspector.NetworkSidebarPanel.prototype.hasRepresentedObject): Deleted.
2519         * UserInterface/Views/NetworkTabContentView.js:
2520         (WebInspector.NetworkTabContentView.prototype.canShowRepresentedObject):
2521         * UserInterface/Views/SearchTabContentView.js:
2522         (WebInspector.SearchTabContentView.prototype.canShowRepresentedObject):
2523         Ensure that the Search tab can only display resources that it has entries for in its view.
2524         Also rework the way in which this is determined.
2525
2526         * UserInterface/Controllers/BreakpointPopoverController.js:
2527         (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems):
2528         * UserInterface/Protocol/InspectorFrontendAPI.js:
2529         (InspectorFrontendAPI.showMainResourceForFrame):
2530         * UserInterface/Views/CSSStyleDeclarationSection.js:
2531         (WebInspector.CSSStyleDeclarationSection.prototype.refresh):
2532         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2533         (WebInspector.CSSStyleDeclarationTextEditor.tokenTrackingControllerHighlightedRangeWasClicked.showRangeInSourceCode):
2534         (WebInspector.CSSStyleDeclarationTextEditor.tokenTrackingControllerHighlightedRangeWasClicked):
2535         * UserInterface/Views/ComputedStyleDetailsPanel.js:
2536         (WebInspector.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorShowProperty):
2537         * UserInterface/Views/ConsoleMessageView.js:
2538         (WebInspector.ConsoleMessageView.prototype._linkifyLocation):
2539         * UserInterface/Views/DOMDetailsSidebarPanel.js:
2540         (WebInspector.DOMDetailsSidebarPanel.prototype._mouseWasClicked):
2541         * UserInterface/Views/DOMTreeContentView.js:
2542         (WebInspector.DOMTreeContentView.prototype._mouseWasClicked.followLink):
2543         * UserInterface/Views/DOMTreeElement.js:
2544         (WebInspector.DOMTreeElement.prototype._showCustomElementDefinition):
2545         * UserInterface/Views/DebuggerDashboardView.js:
2546         (WebInspector.DebuggerDashboardView.prototype._rebuildLocation):
2547         * UserInterface/Views/DebuggerSidebarPanel.js:
2548         (WebInspector.DebuggerSidebarPanel.prototype._treeSelectionDidChange):
2549         (WebInspector.DebuggerSidebarPanel.prototype._updatePauseReasonGotoArrow):
2550         * UserInterface/Views/ErrorObjectView.js:
2551         (WebInspector.ErrorObjectView.makeSourceLinkWithPrefix):
2552         * UserInterface/Views/EventListenerSectionGroup.js:
2553         (WebInspector.EventListenerSectionGroup.prototype._functionTextOrLink):
2554         * UserInterface/Views/HeapSnapshotInstanceDataGridNode.js:
2555         (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._populatePreview):
2556         (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._mouseoverHandler.appendPathRow):
2557         * UserInterface/Views/ObjectTreeBaseTreeElement.js:
2558         (WebInspector.ObjectTreeBaseTreeElement.prototype._appendMenusItemsForObject):
2559         (WebInspector.ObjectTreeBaseTreeElement):
2560         * UserInterface/Views/ProbeSetDetailsSection.js:
2561         (WebInspector.ProbeSetDetailsSection.prototype._updateLinkElement):
2562         * UserInterface/Views/ProfileDataGridNode.js:
2563         (WebInspector.ProfileDataGridNode.prototype._displayContent):
2564         * UserInterface/Views/ResourceDetailsSidebarPanel.js:
2565         (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRelatedResourcesSection):
2566         (WebInspector.ResourceDetailsSidebarPanel.prototype._goToRequestDataClicked):
2567         * UserInterface/Views/ResourceSidebarPanel.js:
2568         (WebInspector.ResourceSidebarPanel.prototype._treeSelectionDidChange):
2569         * UserInterface/Views/ResourceTimelineDataGridNode.js:
2570         (WebInspector.ResourceTimelineDataGridNode.prototype._dataGridNodeGoToArrowClicked):
2571         * UserInterface/Views/RulesStyleDetailsPanel.js:
2572         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertMediaOrInheritanceLabel):
2573         * UserInterface/Views/SearchSidebarPanel.js:
2574         (WebInspector.SearchSidebarPanel.prototype._treeElementDoubleClick):
2575         * UserInterface/Views/SourceCodeTextEditor.js:
2576         (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked):
2577         * UserInterface/Views/SourceCodeTimelineTimelineDataGridNode.js:
2578         (WebInspector.SourceCodeTimelineTimelineDataGridNode.prototype._createNameCellContent):
2579         * UserInterface/Views/TimelineDataGrid.js:
2580         (WebInspector.TimelineDataGrid.prototype._popoverCallStackTreeSelectionDidChange):
2581         * UserInterface/Views/TimelineDataGridNode.js:
2582         (WebInspector.TimelineDataGridNode.prototype.createCellContent):
2583         * UserInterface/Views/VisualStyleSelectorTreeItem.js:
2584         (WebInspector.VisualStyleSelectorTreeItem.prototype.populateContextMenu):
2585         Ensure that the Search tab is never shown from links generated by these functions.
2586         Also do the same for the Network tab in some cases.
2587
2588         * UserInterface/Views/NetworkTimelineView.js:
2589         (WebInspector.NetworkTimelineView.prototype.canShowContentViewForTreeElement): Deleted.
2590         (WebInspector.NetworkTimelineView.prototype.showContentViewForTreeElement): Deleted.
2591         Drive-by cleanup: remove dead code.
2592
2593 2017-04-20  Matt Baker  <mattbaker@apple.com>
2594
2595         Web Inspector: Add regular expression support to XHR breakpoints
2596         https://bugs.webkit.org/show_bug.cgi?id=170099
2597         <rdar://problem/31558082>
2598
2599         Reviewed by Joseph Pecoraro.
2600
2601         * Localizations/en.lproj/localizedStrings.js:
2602         New strings for the Add XHR Breakpoint popover.
2603
2604         * UserInterface/Controllers/DOMDebuggerManager.js:
2605         (WebInspector.DOMDebuggerManager):
2606         (WebInspector.DOMDebuggerManager.prototype.addXHRBreakpoint):
2607         Update for new XHRBreakpoint constructor.
2608         (WebInspector.DOMDebuggerManager.prototype._updateXHRBreakpoint):
2609         Set `isRegex` flag.
2610
2611         * UserInterface/Main.html:
2612         New files for CodeMirror mode and breakpoint popover.
2613
2614         * UserInterface/Models/XHRBreakpoint.js:
2615         Breakpoint can be of type Text or RegularExpression.
2616         (WebInspector.XHRBreakpoint):
2617         (WebInspector.XHRBreakpoint.prototype.get type):
2618         (WebInspector.XHRBreakpoint.prototype.get serializableInfo):
2619
2620         * UserInterface/Views/CodeMirrorRegexMode.css: Added.
2621         (.cm-s-default .cm-regex-character-set):
2622         (.cm-s-default .cm-regex-character-set-negate):
2623         (.cm-s-default :matches(.cm-regex-escape, .cm-regex-escape-2, .cm-regex-escape-3)):
2624         (.cm-s-default :matches(.cm-regex-group, .cm-regex-lookahead)):
2625         (.cm-s-default .cm-regex-quantifier):
2626         (.cm-s-default :matches(.cm-regex-literal, .cm-regex-special, .cm-regex-backreference)):
2627         Colors for regular expression syntax highlighting. The regex mode emits
2628         more class names than we have separate colors for, allowing for further
2629         customization in the future.
2630
2631         * UserInterface/Views/CodeMirrorRegexMode.js: Added.
2632         (characterSetTokenizer):
2633         (consumeEscapeSequence):
2634         (tokenBase):
2635         New CodeMirror mode for highlighting "text/x-regex" content.
2636
2637         * UserInterface/Views/DebuggerSidebarPanel.js:
2638         Use new popover type for creating XHR breakpoints.
2639         (WebInspector.DebuggerSidebarPanel.prototype._addXHRBreakpointButtonClicked):
2640         (WebInspector.DebuggerSidebarPanel.prototype.willDismissPopover):
2641         (WebInspector.DebuggerSidebarPanel):
2642
2643         * UserInterface/Views/XHRBreakpointPopover.css: Added.
2644         (.popover .xhr-breakpoint-content):
2645         (.popover .xhr-breakpoint-content > .editor-wrapper):
2646         (.popover .xhr-breakpoint-content > .editor-wrapper > .editor):
2647         (body[dir=ltr] .popover .xhr-breakpoint-content > .editor-wrapper > .editor):
2648         (body[dir=rtl] .popover .xhr-breakpoint-content > .editor-wrapper > .editor):
2649         (.popover .xhr-breakpoint-content > .editor-wrapper > .editor > .CodeMirror):
2650         (.popover .xhr-breakpoint-content > .editor-wrapper > .editor > .CodeMirror-scroll):
2651         Styles for new popover.
2652
2653         * UserInterface/Views/XHRBreakpointPopover.js: Added.
2654         New popover class. Includes a picker for selecting breakpoint type
2655         (Text or RegularExpression), and has an improved popover caption. Input
2656         field style and placeholder text changes based on the breakpoint type.
2657
2658         (WebInspector.XHRBreakpointPopover):
2659         (WebInspector.XHRBreakpointPopover.prototype.get result):
2660         (WebInspector.XHRBreakpointPopover.prototype.get type):
2661         (WebInspector.XHRBreakpointPopover.prototype.get value):
2662         (WebInspector.XHRBreakpointPopover.prototype.show.addOption):
2663         (WebInspector.XHRBreakpointPopover.prototype.show):
2664         (WebInspector.XHRBreakpointPopover.prototype._createEditor):
2665         (WebInspector.XHRBreakpointPopover.prototype._updateEditor):
2666         (WebInspector.XHRBreakpointPopover.prototype._presentOverTargetElement):
2667
2668         * UserInterface/Views/XHRBreakpointTreeElement.js:
2669         (WebInspector.XHRBreakpointTreeElement):
2670         Differentiate breakpoint type by enclosing subtitle in either double quotes
2671         or regex-literal delimiters, depending on the type of breakpoint.
2672
2673 2017-04-19  Nikita Vasilyev  <nvasilyev@apple.com>
2674
2675         REGRESSION (r209882): Web Inspector: Console's filter bar has text search field, but the next/previous buttons don't do anything
2676         https://bugs.webkit.org/show_bug.cgi?id=170556
2677         <rdar://problem/31481755>
2678
2679         Reviewed by Matt Baker.
2680
2681         * UserInterface/Views/LogContentView.js:
2682         (WebInspector.LogContentView.prototype.performSearch):
2683         Update numberOfResults setter, which sets "disabled" attribute to false when numberOfResults > 0.
2684
2685 2017-04-18  Matt Baker  <mattbaker@apple.com>
2686
2687         Web Inspector: XHR breakpoints shouldn't be cleared from the sidebar on reload
2688         https://bugs.webkit.org/show_bug.cgi?id=170930
2689
2690         Reviewed by Joseph Pecoraro.
2691
2692         XHR breakpoints aren't associated with the main resource, and shouldn't
2693         be cleared from the manager or sidebar UI When the main resource changes.
2694
2695         * UserInterface/Controllers/DOMDebuggerManager.js:
2696         (WebInspector.DOMDebuggerManager.prototype._mainResourceDidChange):
2697         * UserInterface/Controllers/XHRBreakpointTreeController.js:
2698         (WebInspector.XHRBreakpointTreeController):
2699         (WebInspector.XHRBreakpointTreeController.prototype._mainResourceDidChange): Deleted.
2700
2701 2017-04-17  Joseph Pecoraro  <pecoraro@apple.com>
2702
2703         Web Inspector: Network columns don't get saved when Web Inspector is closed
2704         https://bugs.webkit.org/show_bug.cgi?id=170373
2705         <rdar://problem/31386336>
2706
2707         Reviewed by Matt Baker.
2708
2709         * UserInterface/Views/DataGrid.js:
2710         (WebInspector.DataGrid.prototype.setColumnVisible):
2711         (WebInspector.DataGrid.prototype._contextMenuInHeader):
2712         The context menu was often passing `undefined` as the visible value
2713         which would cause the setting to not be saved appropriately. Ensure
2714         we always get an explicit boolean.
2715
2716 2017-04-17  Nikita Vasilyev  <nvasilyev@apple.com>
2717
2718         Web Inspector: Use `text-align: start` for DataGrid headers
2719         https://bugs.webkit.org/show_bug.cgi?id=170871
2720
2721         Reviewed by Matt Baker.
2722
2723         `text-align: start` didn't work for th elements.
2724         It was fixed in <webkit.org/b/141417>.
2725
2726         * UserInterface/Views/DataGrid.css:
2727         (.data-grid th):
2728         (body[dir=ltr] .data-grid th): Deleted.
2729         (body[dir=rtl] .data-grid th): Deleted.
2730
2731 2017-04-17  Joseph Pecoraro  <pecoraro@apple.com>
2732
2733         Web Inspector: Doesn't show size of compressed content correctly
2734         https://bugs.webkit.org/show_bug.cgi?id=155112
2735         <rdar://problem/25006728>
2736
2737         Reviewed by Alex Christensen and Timothy Hatcher.
2738
2739         * UserInterface/Controllers/FrameResourceManager.js:
2740         (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache):
2741         Set an exact size.
2742
2743         * UserInterface/Models/Resource.js:
2744         (WebInspector.Resource):
2745         (WebInspector.Resource.prototype.get requestHeadersTransferSize):
2746         (WebInspector.Resource.prototype.get requestBodyTransferSize):
2747         (WebInspector.Resource.prototype.get responseHeadersTransferSize):
2748         (WebInspector.Resource.prototype.get responseBodyTransferSize):
2749         (WebInspector.Resource.prototype.get cachedResponseBodySize):
2750         (WebInspector.Resource.prototype.get size):
2751         (WebInspector.Resource.prototype.get networkEncodedSize):
2752         (WebInspector.Resource.prototype.get networkDecodedSize):
2753         (WebInspector.Resource.prototype.get networkTotalTransferSize):
2754         (WebInspector.Resource.prototype.get estimatedNetworkEncodedSize):
2755         (WebInspector.Resource.prototype.get estimatedTotalTransferSize):
2756         (WebInspector.Resource.prototype.get compressed):
2757         (WebInspector.Resource.prototype.updateForResponse):
2758         (WebInspector.Resource.prototype.updateWithMetrics):
2759         (WebInspector.Resource.prototype.setCachedResponseBodySize):
2760         (WebInspector.Resource.prototype.increaseSize):
2761         (WebInspector.Resource.prototype.increaseTransferSize):
2762         (WebInspector.Resource.prototype.get encodedSize): Deleted.
2763         (WebInspector.Resource.prototype.get transferSize): Deleted.
2764         Be more explicit with size getters.
2765
2766         (WebInspector.Resource.prototype.updateWithMetrics):
2767         If we receive the size metrics, update the specific metric values.
2768
2769         * UserInterface/Views/ResourceDetailsSidebarPanel.js:
2770         (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshCompressed):
2771         (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshDecodedSize):
2772         (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshTransferSize):
2773         * UserInterface/Views/ResourceTimelineDataGridNode.js:
2774         (WebInspector.ResourceTimelineDataGridNode.prototype.get data):
2775         Show exact values if we have them, otherwise fall back to the calculated
2776         values during loading.
2777
2778 2017-04-17  Jon Davis  <jond@apple.com>
2779
2780         Web Inspector: new icon for Disable Caches button in Network Tab
2781         https://bugs.webkit.org/show_bug.cgi?id=170196
2782
2783         Reviewed by Joseph Pecoraro.
2784
2785         * UserInterface/Images/IgnoreCaches.svg: Added.
2786         Added new art for the Disable Caches button. 
2787
2788         * UserInterface/Images/gtk/IgnoreCaches.svg: Added.
2789         Used GTK's StepOver.svg for fallback art for GTK.
2790         
2791         * UserInterface/Images/NavigationItemClear.svg:
2792         Improved artwork for Clear Console button icon to match the weight and 
2793         style of the Disable Caches button icon.
2794         
2795         * UserInterface/Views/NetworkGridContentView.js:
2796         (WebInspector.NetworkGridContentView):
2797         
2798 2017-04-17  Matt Baker  <mattbaker@apple.com>
2799
2800         Web Inspector: Enabled state of "All Requests" XHR breakpoint not restored correctly
2801         https://bugs.webkit.org/show_bug.cgi?id=170916
2802
2803         Reviewed by Joseph Pecoraro.
2804
2805         * UserInterface/Controllers/DOMDebuggerManager.js:
2806         (WebInspector.DOMDebuggerManager):
2807         Set breakpoint with backend agent, if enabled.
2808
2809 2017-04-17  Matt Baker  <mattbaker@apple.com>
2810
2811         Web Inspector: Show pause reason for "All Requests" XHR breakpoint
2812         https://bugs.webkit.org/show_bug.cgi?id=170895
2813
2814         Reviewed by Joseph Pecoraro.
2815
2816         * Localizations/en.lproj/localizedStrings.js:
2817         Add generic pause reason text: "Requesting: <url>".
2818
2819         * UserInterface/Controllers/DOMDebuggerManager.js:
2820         (WebInspector.DOMDebuggerManager.prototype.xhrBreakpointForURL):
2821         Relocated helper method from the sidebar.
2822
2823         * UserInterface/Views/DebuggerSidebarPanel.js:
2824         (WebInspector.DebuggerSidebarPanel.prototype._updatePauseReasonSection):
2825         Add an XHR breakpoint tree element when pause data contains a breakpoint
2826         URL, otherwise just add a generic text row.
2827
2828 2017-04-17  Matt Baker  <mattbaker@apple.com>
2829
2830         Web Inspector: XHR breakpoints restored from settings do not appear in the sidebar
2831         https://bugs.webkit.org/show_bug.cgi?id=170890
2832
2833         Reviewed by Joseph Pecoraro.
2834
2835         Need to check for existing breakpoints when XHRBreakpointTreeController
2836         is constructed, instead of just listening for added breakpoints.
2837
2838         * UserInterface/Controllers/XHRBreakpointTreeController.js:
2839         (WebInspector.XHRBreakpointTreeController):
2840         (WebInspector.XHRBreakpointTreeController.prototype._xhrBreakpointAdded):
2841         (WebInspector.XHRBreakpointTreeController.prototype._addTreeElement):
2842
2843 2017-04-14  Nikita Vasilyev  <nvasilyev@apple.com>
2844
2845         Web Inspector: WebSockets: messages with non-latin letters are displayed incorrectly
2846         https://bugs.webkit.org/show_bug.cgi?id=170760
2847
2848         Reviewed by Joseph Pecoraro.
2849
2850         Add payloadLength property, which is used to display size. When payloadLength is unavailable,
2851         it is calculated from payloadData by Web Inspector frontend.
2852
2853         This fixes <webkit.org/b/170609> Web Inspector: WebSockets: Transferred size is incorrect.
2854
2855         * UserInterface/Controllers/FrameResourceManager.js:
2856         (WebInspector.FrameResourceManager.prototype._webSocketFrameReceivedOrSent):
2857         * UserInterface/Models/WebSocketResource.js:
2858         (WebInspector.WebSocketResource.prototype.addFrame):
2859
2860 2017-04-13  Devin Rousso  <webkit@devinrousso.com>
2861
2862         Web Inspector: Implement autocompletion for CSS variables
2863         https://bugs.webkit.org/show_bug.cgi?id=154441
2864
2865         Reviewed by Joseph Pecoraro.
2866
2867         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2868         (WebInspector.CSSStyleDeclarationTextEditor.prototype.completionControllerCompletionsNeeded):
2869         Add CSS variables to the list of matching completions based on those defined in the current
2870         node's computed style.
2871
2872 2017-04-13  Ross Kirsling  <ross.kirsling@sony.com>
2873
2874         Web Inspector: No context menu available via ENABLE_INSPECTOR_SERVER
2875         https://bugs.webkit.org/show_bug.cgi?id=170705
2876
2877         Reviewed by Joseph Pecoraro.
2878
2879         Reintroduce old SoftContextMenu class (removed in r157278) and apply various fixes:
2880         - Remove legacy globals and prototype extensions.
2881         - Align JS/CSS style with current front-end code.
2882         - Update UI and fix UX to replicate the macOS native context menu.
2883
2884         * Scripts/copy-user-interface-resources.pl:
2885         Add copyright line for Sony Interactive Entertainment.
2886         
2887         * UserInterface/Base/InspectorFrontendHostStub.js:
2888         (WebInspector.InspectorFrontendHostStub.prototype.showContextMenu):
2889         Use SoftContextMenu.
2890         
2891         * UserInterface/Main.html:
2892         Include SoftContextMenu.
2893
2894         * UserInterface/Views/SoftContextMenu.css: Added.
2895         (.soft-context-menu-glass-pane):
2896         (.soft-context-menu):
2897         (.soft-context-menu > .item):
2898         (.soft-context-menu > .item.disabled):
2899         (.soft-context-menu > .item.highlighted):
2900         (.soft-context-menu > .item > .checkmark):
2901         (.soft-context-menu > .item > .label):
2902         (.soft-context-menu > .item > .submenu-arrow):
2903         (.soft-context-menu > .separator):
2904         (.soft-context-menu > .separator > .line):
2905
2906         * UserInterface/Views/SoftContextMenu.js: Added.
2907         (WebInspector.SoftContextMenu):
2908         (WebInspector.SoftContextMenu.prototype.show):
2909         (WebInspector.SoftContextMenu.prototype._consumeEvent):
2910         (WebInspector.SoftContextMenu.prototype._parentGlassPaneElement):
2911         (WebInspector.SoftContextMenu.prototype._createMenuItem):
2912         (WebInspector.SoftContextMenu.prototype._createSeparator):
2913         (WebInspector.SoftContextMenu.prototype._repositionMenuOnScreen):
2914         (WebInspector.SoftContextMenu.prototype._showSubMenu):
2915         (WebInspector.SoftContextMenu.prototype._hideSubMenu):
2916         (WebInspector.SoftContextMenu.prototype._menuItemContextMenu):
2917         (WebInspector.SoftContextMenu.prototype._menuItemMouseDown):
2918         (WebInspector.SoftContextMenu.prototype._menuItemMouseUp):
2919         (WebInspector.SoftContextMenu.prototype._menuItemMouseOver):
2920         (WebInspector.SoftContextMenu.prototype._menuItemMouseOut):
2921         (WebInspector.SoftContextMenu.prototype._menuKeyDown):
2922         (WebInspector.SoftContextMenu.prototype._glassPaneMouseDown):
2923         (WebInspector.SoftContextMenu.prototype._focus):
2924         (WebInspector.SoftContextMenu.prototype._triggerAction):
2925         (WebInspector.SoftContextMenu.prototype._highlightMenuItem):
2926         (WebInspector.SoftContextMenu.prototype._highlightPrevious):
2927         (WebInspector.SoftContextMenu.prototype._highlightNext):
2928         (WebInspector.SoftContextMenu.prototype._discardMenu):
2929         (WebInspector.SoftContextMenu.prototype._discardSubMenus):
2930
2931 2017-04-13  Brian Burg  <bburg@apple.com>
2932
2933         Web Inspector: RTL: goto arrow is floated to the wrong side
2934         https://bugs.webkit.org/show_bug.cgi?id=170816
2935
2936         Reviewed by Matt Baker.
2937
2938         Float it to the other side if necessary.
2939
2940         * UserInterface/Views/Main.css:
2941         (.go-to-link):
2942         (body[dir=ltr] .go-to-link:not(.dont-float)):
2943         (body[dir=rtl] .go-to-link:not(.dont-float)):
2944
2945 2017-04-12  Dan Bernstein  <mitz@apple.com>
2946
2947         [Mac] Future-proof .xcconfig files
2948         https://bugs.webkit.org/show_bug.cgi?id=170802
2949
2950         Reviewed by Tim Horton.
2951
2952         * Configurations/Base.xcconfig:
2953         * Configurations/DebugRelease.xcconfig:
2954         * Configurations/Version.xcconfig:
2955
2956 2017-04-11  Matt Baker  <mattbaker@apple.com>
2957
2958         Web Inspector: checkboxes in Settings screen use inappropriate layout
2959         https://bugs.webkit.org/show_bug.cgi?id=166993
2960         <rdar://problem/30002272>
2961
2962         Reviewed by Devin Rousso.
2963
2964         * Localizations/en.lproj/localizedStrings.js:
2965         New checkbox setting strings.
2966
2967         * UserInterface/Main.html:
2968         New settings view classes.
2969
2970         * UserInterface/Views/GeneralSettingsView.js: Added.
2971         (WebInspector.GeneralSettingsView):
2972         (WebInspector.GeneralSettingsView.prototype.initialLayout):
2973         Move settings UI creation from SettingsTabContentView.
2974
2975         * UserInterface/Views/SettingEditor.js: Added.
2976         Basic setting editor UI for the following input types: checkbox,
2977         number, and select. In the future it may be useful to include
2978         additional types, such as radio buttons.
2979
2980         (WebInspector.SettingEditor):
2981         (WebInspector.SettingEditor.createForSetting):
2982         (WebInspector.SettingEditor.prototype.get element):
2983         (WebInspector.SettingEditor.prototype.get type):
2984         (WebInspector.SettingEditor.prototype.get label):
2985         (WebInspector.SettingEditor.prototype.get value):
2986         (WebInspector.SettingEditor.prototype.set value):
2987         (WebInspector.SettingEditor.prototype._createEditorElement):
2988
2989         * UserInterface/Views/SettingsGroup.js: Added.
2990         A container holding editors for one or more WebInspector.Settings.
2991         Every editor belongs to a group. SettingsView provides convenience
2992         methods for adding settings and groups, so create instances directly
2993         shouldn't normally be necessary.
2994
2995         (WebInspector.SettingsGroup):
2996         (WebInspector.SettingsGroup.prototype.get element):
2997         (WebInspector.SettingsGroup.prototype.addSetting):
2998         (WebInspector.SettingsGroup.prototype.addCustomSetting):
2999
3000         * UserInterface/Views/SettingsTabContentView.css:
3001         Refactored styles to more closely match Xcode settings UI.
3002         Eliminated redundant use of "setting" from CSS class names.
3003
3004         (.content-view.settings):
3005         (.content-view.settings .navigation-bar .item.radio.button.text-only):
3006         (.content-view.settings .navigation-bar .item.radio.button.text-only.selected):
3007         (.content-view.settings > .settings-view > .separator):
3008         (.content-view.settings > .settings-view > .container):
3009         (.content-view.settings > .settings-view > .container > .title):
3010         (body[dir=ltr] .content-view.settings > .settings-view > .container > .title):
3011         (body[dir=rtl] .content-view.settings > .settings-view > .container > .title):
3012         (.content-view.settings > .settings-view > .container > .editor-group):
3013         (.content-view.settings > .settings-view > .container > .editor-group > .editor input):
3014         (.content-view.settings > .settings-view > .container > .editor-group > .editor input[type="checkbox"]):
3015         (body[dir=ltr] .content-view.settings > .settings-view > .container > .editor-group > .editor input[type="checkbox"]):
3016         (body[dir=rtl] .content-view.settings > .settings-view > .container > .editor-group > .editor input[type="checkbox"]):
3017         (.content-view.settings > .settings-view > .container > .editor-group > .editor select):
3018         (.content-view.settings > .settings-view > .container > .editor-group > .editor input[type="number"]):
3019         (body[dir=ltr] .content-view.settings > .settings-view > .container > .editor-group > .editor input[type="number"]):
3020         (body[dir=rtl] .content-view.settings > .settings-view > .container > .editor-group > .editor input[type="number"]):
3021         (.content-view.settings > .header): Deleted.
3022         (.content-view.settings > .separator): Deleted.
3023         (.content-view.settings > .setting-container): Deleted.
3024         (.content-view.settings > .setting-container.combined): Deleted.
3025         (.content-view.settings > .setting-container > .setting-name): Deleted.
3026         (body[dir=ltr] .content-view.settings > .setting-container > .setting-name): Deleted.
3027         (body[dir=rtl] .content-view.settings > .setting-container > .setting-name): Deleted.
3028         (.content-view.settings > .setting-container > .setting-value-controller): Deleted.
3029         (.content-view.settings > .setting-container > .setting-value-controller input): Deleted.
3030         (.content-view.settings > .setting-container > .setting-value-controller input[type="checkbox"]): Deleted.
3031         (body[dir=ltr] .content-view.settings > .setting-container > .setting-value-controller input[type="checkbox"]): Deleted.
3032         (body[dir=rtl] .content-view.settings > .setting-container > .setting-value-controller input[type="checkbox"]): Deleted.
3033         (.content-view.settings > .setting-container > .setting-value-controller select): Deleted.
3034         (.content-view.settings > .setting-container > .setting-value-controller input[type="number"]): Deleted.
3035         (body[dir=ltr] .content-view.settings > .setting-container > .setting-value-controller input[type="number"]): Deleted.
3036         (body[dir=rtl] .content-view.settings > .setting-container > .setting-value-controller input[type="number"]): Deleted.
3037
3038         * UserInterface/Views/SettingsTabContentView.js:
3039         To better organize the growing number of settings, multiple settings views
3040         are now supported, with a navigation bar for switching between them. For
3041         now there is a single "General" setting view, and and the navigation bar
3042         is hidden. Adding a second view will cause the bar to be shown.
3043
3044         (WebInspector.SettingsTabContentView):
3045         (WebInspector.SettingsTabContentView.prototype.get type):
3046         (WebInspector.SettingsTabContentView.prototype.get selectedSettingsView):
3047         (WebInspector.SettingsTabContentView.prototype.set selectedSettingsView):
3048         (WebInspector.SettingsTabContentView.prototype.addSettingsView):
3049         (WebInspector.SettingsTabContentView.prototype._navigationItemSelected):
3050         (WebInspector.SettingsTabContentView.prototype.layout): Deleted.
3051         No longer needed.
3052
3053         * UserInterface/Views/SettingsView.js: Added.
3054         Base class for displaying editing UI for a collection of related
3055         WebInspector.Setting objects.
3056
3057         (WebInspector.SettingsView):
3058         (WebInspector.SettingsView.prototype.get identifier):
3059         (WebInspector.SettingsView.prototype.get displayName):
3060         A string suitable for display in a NavigationBar showing a list of
3061         SettingsViews (e.g. "General", "Text Editing", "Fonts & Colors", etc).
3062
3063         (WebInspector.SettingsView.prototype.addSetting):
3064         Add UI for a setting, consisting of a title, an editor appropriate for
3065         the setting's value type, and optional label and formatting options.
3066         For example:
3067
3068             addSetting("Setting 1:", new WebInspector.Setting(…, true), "Item one")
3069             addSetting("Setting 2:", new WebInspector.Setting(…, 1), "units")
3070
3071         will create a checkbox and number input field:
3072
3073             Setting 1: [x] Item one
3074             Setting 2: [  1] units
3075
3076         (WebInspector.SettingsView.prototype.addCustomSetting):
3077         Add UI for a specific editor type, with optional formatting options.
3078         A setting can be updated in response to changes in the editor's value.
3079
3080         (WebInspector.SettingsView.prototype.addGroup):
3081         Add a group, for listing multiple settings under one title. For example:
3082
3083            group = addGroup("Title:")
3084            group.addSetting(new WebInspector.Setting(…, true), "Item one")
3085            group.addSetting(new WebInspector.Setting(…, false), "Item two")
3086
3087         will create two checkboxes under the same title:
3088
3089            Title: [x] Item one
3090                   [ ] Item two
3091
3092         (WebInspector.SettingsView.prototype.addSeparator):
3093         Add vertical space between two settings or groups.
3094
3095 2017-04-10  Nikita Vasilyev  <nvasilyev@apple.com>
3096
3097         Web Inspector: WebSockets: Don't clip data in the data grid
3098         https://bugs.webkit.org/show_bug.cgi?id=170559
3099
3100         Reviewed by Timothy Hatcher.
3101
3102         Long lines without spaces should be broken down into several lines instead of being ellipsized.
3103
3104         * UserInterface/Views/WebSocketContentView.css:
3105         (.web-socket.content-view > .data-grid td.data-column,):
3106
3107 2017-04-10  Nikita Vasilyev  <nvasilyev@apple.com>
3108
3109         Web Inspector: Placeholder text is clipped in the 'Enter Class Name' field at the bottom of Rules style sidebar in some localizations
3110         https://bugs.webkit.org/show_bug.cgi?id=167641
3111         <rdar://problem/26541953>
3112
3113         Reviewed by Joseph Pecoraro.
3114
3115         Make the "Enter Class Name" text field span the entire width of the Styles sidebar.
3116
3117         * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
3118         (.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class):
3119         (.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class > .class-name-input):
3120         (.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class > input[type="checkbox"]): Deleted.
3121         (.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class > .add-class-icon): Deleted.
3122         (.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class.active > .add-class-icon,): Deleted.
3123         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
3124         (WebInspector.CSSStyleDetailsSidebarPanel.prototype.initialLayout):
3125         Remove the checkbox, which didn't do anything, and the plus icon. Make the "Enter Class Name" text field visible by default.
3126
3127 2017-04-10  Jon Lee  <jonlee@apple.com>
3128
3129         Update localizable strings to "full screen" from "fullscreen"
3130         https://bugs.webkit.org/show_bug.cgi?id=170675
3131         rdar://problem/28207034
3132
3133         Reviewed by Antoine Quint.
3134
3135         * UserInterface/Models/ScriptTimelineRecord.js:
3136         (WebInspector.ScriptTimelineRecord.EventType.displayName): For localizable strings, it should consistently be
3137         "full screen" instead of "fullscreen".
3138
3139 2017-04-09  Devin Rousso  <webkit@devinrousso.com>
3140
3141         Web Inspector: tabbing in Styles sidebar is broken when additional ":" and ";" are in the property value
3142         https://bugs.webkit.org/show_bug.cgi?id=170184
3143
3144         Reviewed by Matt Baker.
3145
3146         New tests:
3147         - inspector/unit-tests/text-utilities.html
3148
3149         * UserInterface/Base/TextUtilities.js: Added.
3150         (WebInspector.rangeForNextCSSNameOrValue):
3151         Consolidate logic for finding the next range to highlight in a CSS string given a starting index.
3152
3153         * UserInterface/Main.html:
3154         * UserInterface/Test.html:
3155         Include TextUtilities.
3156
3157         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
3158         (WebInspector.CSSStyleDeclarationTextEditor.prototype._highlightNextNameOrValue):
3159         (WebInspector.CSSStyleDeclarationTextEditor.prototype._rangeForNextNameOrValue):
3160         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseUp):
3161         Utilize TextUtilities for range-finding logic.
3162
3163 2017-04-08  Simon Fraser  <simon.fraser@apple.com>
3164
3165         Unprefix CSS cursor values grab and grabbing
3166         https://bugs.webkit.org/show_bug.cgi?id=170543
3167
3168         Reviewed by Jon Lee.
3169
3170         Sort the cursor autosuggestions to match the order in the spec, and add the unprefixed
3171         grab and grabbing values.
3172
3173         * UserInterface/Models/CSSKeywordCompletions.js:
3174
3175 2017-04-07  Matt Baker  <mattbaker@apple.com>
3176
3177         Web Inspector: DOM/XHR breakpoint tree elements shouldn't persist their represented objects
3178         https://bugs.webkit.org/show_bug.cgi?id=170611
3179         <rdar://problem/31506161>
3180
3181         Reviewed by Joseph Pecoraro.
3182
3183         Prevent tree elements for DOM and XHR breakpoints from persisting their
3184         represented objects.
3185
3186         * UserInterface/Views/ContentView.js:
3187         (WebInspector.ContentView.createFromRepresentedObject):
3188         * UserInterface/Views/NavigationSidebarPanel.js:
3189         (WebInspector.NavigationSidebarPanel.prototype._isTreeElementWithoutRepresentedObject):
3190
3191 2017-04-06  Joseph Pecoraro  <pecoraro@apple.com>
3192
3193         Web Inspector: Source Map Resources should show up in the Debugger Sources list
3194         https://bugs.webkit.org/show_bug.cgi?id=170581
3195         <rdar://problem/31269140>
3196
3197         Reviewed by Matt Baker.
3198
3199         * UserInterface/Views/DebuggerSidebarPanel.js:
3200         (WebInspector.DebuggerSidebarPanel):
3201         Include SourceMapResources in the DebuggerSidebar's Sources tree outline.
3202
3203 2017-04-06  Joseph Pecoraro  <pecoraro@apple.com>
3204
3205         Web Inspector: Show all headers in the Request Headers section of the Resource details sidebar
3206         https://bugs.webkit.org/show_bug.cgi?id=16531
3207         <rdar://problem/5712895>
3208
3209         Reviewed by Timothy Hatcher.
3210
3211         * UserInterface/Models/Resource.js:
3212         (WebInspector.Resource.prototype.updateWithMetrics):
3213         Update request headers if provided in metrics.
3214
3215 2017-04-06  Matt Baker  <mattbaker@apple.com>
3216
3217         Web Inspector: Reorder Debugger tab sidebar panels: Scope Chain, Resource, Probes
3218         https://bugs.webkit.org/show_bug.cgi?id=170418
3219         <rdar://problem/31410771>
3220
3221         Reviewed by Timothy Hatcher.
3222
3223         Maintain the sidebar panel order defined by TabContentView when adding
3224         and removing panels.
3225
3226         * UserInterface/Views/ContentBrowserTabContentView.js:
3227         (WebInspector.ContentBrowserTabContentView.prototype.showDetailsSidebarPanels):
3228         Insert sidebar panel based on the panel order defined by TabContentView.
3229
3230         * UserInterface/Views/DebuggerTabContentView.js:
3231         (WebInspector.DebuggerTabContentView):
3232
3233         * UserInterface/Views/Sidebar.js:
3234         (WebInspector.Sidebar.prototype.addSidebarPanel):
3235         Implemented as an insert at the end.
3236         (WebInspector.Sidebar.prototype.insertSidebarPanel):
3237         Allow inserting into the sidebar panel collection.
3238         (WebInspector.Sidebar.prototype.removeSidebarPanel):
3239         Remove unused return value.
3240
3241 2017-04-05  Matt Baker  <mattbaker@apple.com>
3242
3243         Web Inspector: Probe values not showing in sidebar
3244         https://bugs.webkit.org/show_bug.cgi?id=170143
3245
3246         Reviewed by Joseph Pecoraro.
3247
3248         Force the DataGrid to refresh its layout after adding a probe sample.
3249
3250         * UserInterface/Views/ProbeSetDataGrid.css:
3251         (.details-section.probe-set .data-grid tr.data-updated):
3252         (.details-section.probe-set .data-grid > tr.data-updated): Deleted.
3253         Drive-by fix: selector didn't match any rows.
3254
3255         * UserInterface/Views/ProbeSetDataGrid.js:
3256         (WebInspector.ProbeSetDataGrid.prototype._updateNodeForFrame):
3257
3258 2017-04-05  Matt Baker  <mattbaker@apple.com>
3259
3260         Web Inspector: XHR breakpoints should be global
3261         https://bugs.webkit.org/show_bug.cgi?id=170033
3262
3263         Reviewed by Joseph Pecoraro.
3264
3265         * Localizations/en.lproj/localizedStrings.js:
3266         Shorten XHR breakpoint tree element "URL contains:" title to "URL".
3267
3268         * UserInterface/Controllers/DOMDebuggerManager.js:
3269         Change storage of XHR breakpoints from a map to a simple array.
3270         (WebInspector.DOMDebuggerManager):
3271         (WebInspector.DOMDebuggerManager.prototype.get xhrBreakpoints):
3272         (WebInspector.DOMDebuggerManager.prototype.addXHRBreakpoint):
3273         Dispatch the "breakpoint added" event immediately after adding the
3274         breakpoint, rather than waiting for it to resolve.
3275
3276         (WebInspector.DOMDebuggerManager.prototype.removeXHRBreakpoint):
3277         (WebInspector.DOMDebuggerManager.prototype._speculativelyResolveBreakpoints):
3278         (WebInspector.DOMDebuggerManager.prototype._resolveXHRBreakpoint):
3279         (WebInspector.DOMDebuggerManager.prototype._saveXHRBreakpoints):
3280         (WebInspector.DOMDebuggerManager.prototype._mainResourceDidChange):
3281
3282         * UserInterface/Models/XHRBreakpoint.js:
3283         An XHR breakpoint should not be associated with a particular document.
3284         (WebInspector.XHRBreakpoint):
3285         (WebInspector.XHRBreakpoint.prototype.get serializableInfo):
3286         (WebInspector.XHRBreakpoint.prototype.saveIdentityToCookie):
3287         (WebInspector.XHRBreakpoint.prototype.get documentURL): Deleted.
3288
3289         * UserInterface/Views/DebuggerSidebarPanel.css:
3290         Use default emdash-separated title/subtitle style instead of the
3291         custom "URL contains:" labeling.
3292
3293         (.sidebar > .panel.navigation.debugger .details-section.xhr-breakpoints .item.breakpoint .subtitle):
3294         (.sidebar > .panel.navigation.debugger .details-section.xhr-breakpoints .item.breakpoint .subtitle:before): Deleted.
3295         (body[dir=ltr] .sidebar > .panel.navigation.debugger .details-section.xhr-breakpoints .item.breakpoint .subtitle): Deleted.
3296         (body[dir=rtl] .sidebar > .panel.navigation.debugger .details-section.xhr-breakpoints .item.breakpoint .subtitle): Deleted.
3297
3298         * UserInterface/Views/DebuggerSidebarPanel.js:
3299         (WebInspector.DebuggerSidebarPanel.prototype.willDismissPopover):
3300         (WebInspector.DebuggerSidebarPanel):
3301
3302         * UserInterface/Views/XHRBreakpointTreeElement.js:
3303         (WebInspector.XHRBreakpointTreeElement):
3304
3305 2017-04-04  Brian Burg  <bburg@apple.com>
3306
3307         Web Inspector: RTL: layout issues in Type Profiler popovers
3308         https://bugs.webkit.org/show_bug.cgi?id=170467
3309
3310         Reviewed by Timothy Hatcher.
3311
3312         Flip some margins and padding. Remove the -1px leading margin for
3313         the prototype disclosure button, as it is unnecessary and looks
3314         (more) wrong when in RTL.
3315
3316         * UserInterface/Views/TypeTreeElement.css:
3317         (.item.type-tree-element > .disclosure-button):
3318         (.item.type-tree-element.prototype):
3319         (body[dir=ltr] .item.type-tree-element.prototype):
3320         (body[dir=rtl] .item.type-tree-element.prototype):
3321         * UserInterface/Views/TypeTreeView.css:
3322         (.tree-outline.type):
3323         (body[dir=ltr] .tree-outline.type):
3324         (body[dir=rtl] .tree-outline.type):
3325         (.tree-outline.type li .empty-message):
3326         (body[dir=ltr] .tree-outline.type li .empty-message):
3327         (body[dir=rtl] .tree-outline.type li .empty-message):
3328
3329 2017-04-04  Joseph Pecoraro  <pecoraro@apple.com>
3330
3331         Web Inspector: Include more Network information in Resource Details Sidebar
3332         https://bugs.webkit.org/show_bug.cgi?id=170470
3333
3334         Reviewed by Brian Burg.
3335
3336         * Localizations/en.lproj/localizedStrings.js:
3337         Updated localized strings.
3338
3339         * UserInterface/Models/Resource.js:
3340         (WebInspector.Resource.displayNameForProtocol):
3341         (WebInspector.Resource.displayNameForPriority):
3342         Aggregate all display name helpers here.
3343
3344         * UserInterface/Views/DetailsSectionSimpleRow.js:
3345         (WebInspector.DetailsSectionSimpleRow.prototype.get tooltip):
3346         (WebInspector.DetailsSectionSimpleRow.prototype.set tooltip):
3347         Allow setting a tooltip on the value.
3348
3349         * UserInterface/Views/NetworkGridContentView.css:
3350         (.cache-type):
3351         Cache type shows up in multiple places. Simplify the CSS to apply anywhere.
3352
3353         * UserInterface/Views/NetworkGridContentView.js:
3354         (WebInspector.NetworkGridContentView):
3355         * UserInterface/Views/NetworkTimelineView.js:
3356         (WebInspector.NetworkTimelineView):
3357         Updated column names.
3358
3359         * UserInterface/Views/ResourceDetailsSidebarPanel.js:
3360         (WebInspector.ResourceDetailsSidebarPanel):
3361         (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestAndResponse):
3362         (WebInspector.ResourceDetailsSidebarPanel.prototype._cachedRowValue):
3363         Include more detail information in the sidebar.
3364
3365         * UserInterface/Views/ResourceTimelineDataGridNode.js:
3366         (WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent):
3367         (WebInspector.ResourceTimelineDataGridNode.prototype._displayNameForPriority): Deleted.
3368         Use shared code for display names.
3369
3370 2017-04-04  Brian Burg  <bburg@apple.com>
3371
3372         Web Inspector: RTL: fix alignment of close button shown while docked
3373         https://bugs.webkit.org/show_bug.cgi?id=170472
3374
3375         Reviewed by Matt Baker.
3376
3377         * UserInterface/Views/Toolbar.css:
3378         (.toolbar .control-section):
3379         (body[dir=ltr] .toolbar .control-section):
3380         (body[dir=rtl] .toolbar .control-section):
3381
3382 2017-04-04  Brian Burg  <bburg@apple.com>
3383
3384         Web Inspector: RTL: layout issues in debugger dashboard, arrows are on wrong side
3385         https://bugs.webkit.org/show_bug.cgi?id=170425
3386
3387         Reviewed by Devin Rousso.
3388
3389         We need to move the up/down dashboard arrows to the trailing side for RTL.
3390         Clean up some messy spacing rules so that the source location does not
3391         overlap the arrows or get too close to the function icon.
3392
3393         * UserInterface/Views/DashboardContainerView.css:
3394         (.toolbar .dashboard):
3395         (body[dir=ltr] .toolbar .dashboard):
3396         (body[dir=rtl] .toolbar .dashboard):
3397         (.dashboard-container .advance-arrow):
3398         (body[dir=ltr] .dashboard-container .advance-arrow):
3399         (body[dir=rtl] .dashboard-container .advance-arrow):
3400         (.toolbar.label-only .dashboard-container .advance-arrow):
3401         (body[dir=ltr] .toolbar.label-only .dashboard-container .advance-arrow):
3402         (body[dir=rtl] .toolbar.label-only .dashboard-container .advance-arrow):
3403         * UserInterface/Views/DebuggerDashboardView.css:
3404         (.toolbar .dashboard.debugger):
3405         (body[dir=ltr] .toolbar .dashboard.debugger):
3406         (body[dir=rtl] .toolbar .dashboard.debugger):
3407         (.dashboard.debugger .navigation-bar):
3408         (body[dir=ltr] .dashboard.debugger .navigation-bar):
3409         (body[dir=rtl] .dashboard.debugger .navigation-bar):
3410         (.dashboard.debugger > .location):
3411         (.dashboard.debugger > .location > :first-child):
3412         (body[dir=ltr] .dashboard.debugger > .location > :last-child):
3413         (body[dir=rtl] .dashboard.debugger > .location > :last-child):
3414         (.dashboard.debugger > .location .function-icon):
3415         (body[dir=ltr] .dashboard.debugger > .location .function-icon):
3416         (body[dir=rtl] .dashboard.debugger > .location .function-icon):
3417         (.dashboard.debugger > .location .go-to-link):
3418
3419 2017-04-03  Brian Burg  <bburg@apple.com>
3420
3421         Web Inspector: RTL: results in Search navigation sidebar have misplaced highlights
3422         https://bugs.webkit.org/show_bug.cgi?id=170292
3423
3424         Reviewed by Timothy Hatcher.
3425
3426         * UserInterface/Models/SourceCodeSearchMatchObject.js:
3427         (WebInspector.SourceCodeSearchMatchObject.prototype.get className):
3428         * UserInterface/Views/SearchIcons.css:
3429         (.source-code-match .icon):
3430         (.source-code-match-icon .icon): Deleted.
3431         Remove -icon suffix from the class name since the class is attached to a result
3432         and is not specific to the icon displayed within the result <li>.
3433
3434         * UserInterface/Views/SearchResultTreeElement.js:
3435         (WebInspector.SearchResultTreeElement.truncateAndHighlightTitle):
3436         Flip the leading and trailing context in RTL so that the highlight is not overflowed
3437         to the left when too much context is included on the right side. Less context must be
3438         used in RTL because we must not overflow to the right, as it may hide the result. And,
3439         we don't know the exact starting character either as it may be overflowed to the right
3440         as the user resizes the expanded sidebar larger or smaller. So show less context to
3441         be conservative about never overflowing the highlighted result string.
3442
3443         * UserInterface/Views/SearchSidebarPanel.css:
3444         (.sidebar > .panel.navigation.search .item.source-code-match .title):
3445         When in RTL, show source code matches as LTR with text-align to right.
3446
3447 2017-04-03  Devin Rousso  <webkit@devinrousso.com>
3448
3449         Web Inspector: clicking on the body of a CSS rule after editing the selector causes the section to disappear
3450         https://bugs.webkit.org/show_bug.cgi?id=169803
3451
3452         Reviewed by Timothy Hatcher.
3453
3454         * UserInterface/Views/CSSStyleDeclarationSection.js:
3455         (WebInspector.CSSStyleDeclarationSection.prototype._handleKeyDown):
3456         (WebInspector.CSSStyleDeclarationSection.prototype._handleBlur):
3457         Keep the section marked as `_editorActive` if the action taken would still place focus
3458         within the section (selector or properties).  Doing so will prevent it from being removed.
3459
3460 2017-04-03  Brian Burg  <bburg@apple.com>
3461
3462         Web Inspector: RTL: hierarchical path component labels should guess directionality based on content
3463         https://bugs.webkit.org/show_bug.cgi?id=170298
3464
3465         Reviewed by Timothy Hatcher.
3466
3467         * UserInterface/Views/HierarchicalPathComponent.js:
3468         (WebInspector.HierarchicalPathComponent):
3469         Use dir="auto" since this will properly set 'unicode-bidi:isolate' for form elements too.
3470         This is applied to the title label and to the <select> for the path component.
3471
3472 2017-04-03  Matt Baker  <mattbaker@apple.com>
3473
3474         Web Inspector: Show additional pause reason details for DOM "subtree modified" breakpoint
3475         https://bugs.webkit.org/show_bug.cgi?id=169479
3476
3477         Reviewed by Timothy Hatcher.
3478
3479         * Localizations/en.lproj/localizedStrings.js:
3480         New Pause Reason UI strings.
3481
3482         * UserInterface/Views/DebuggerSidebarPanel.js:
3483         (WebInspector.DebuggerSidebarPanel.prototype._updatePauseReasonSection):
3484         Include a link for the target node when breaking for subtree modifications.
3485         This is either the parent of a node being inserted, or a node that is
3486         being removed.
3487
3488 2017-04-03  Devin Rousso  <webkit@devinrousso.com>
3489
3490         Web Inspector: showing the Find banner doesn't immediately focus it
3491         https://bugs.webkit.org/show_bug.cgi?id=169804
3492
3493         Reviewed by Matt Baker.
3494
3495         * UserInterface/Base/Main.js:
3496         (WebInspector._focusChanged):
3497         Slightly change the logic from <https://webkit.org/b/168119> (r213689) to not prevent a new
3498         selection if the focus change target is an element from WebInspector.startEditing.
3499
3500 2017-04-03  Nikita Vasilyev  <nvasilyev@apple.com>
3501
3502         Web Inspector: WebSockets: Don't store binary frames in memory since they are never shown
3503         https://bugs.webkit.org/show_bug.cgi?id=169649
3504         <rdar://problem/31053069>
3505
3506         Reviewed by Brian Burg.
3507
3508         * UserInterface/Models/WebSocketResource.js:
3509         (WebInspector.WebSocketResource.prototype.addFrame):
3510
3511 2017-04-03  Devin Rousso  <webkit@devinrousso.com>
3512
3513         Web Inspector: Preference for Auto Showing Scope Chain sidebar on pause
3514         https://bugs.webkit.org/show_bug.cgi?id=149487
3515
3516         Reviewed by Timothy Hatcher.
3517
3518         * Localizations/en.lproj/localizedStrings.js:
3519
3520         * UserInterface/Base/Setting.js:
3521         * UserInterface/Views/SettingsTabContentView.js:
3522         (WebInspector.SettingsTabContentView.prototype.layout):
3523         Add WebInspector.Setting for showing Scope Chain on pause.
3524
3525         * UserInterface/Base/Main.js:
3526         (WebInspector.showDebuggerTab):
3527         (WebInspector._debuggerDidPause):
3528         * UserInterface/Views/SourceCodeTextEditor.js:
3529         (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu):
3530         Modify parameters to use a dictionary of options instead of just a single value.  In doing
3531         so, add support for a value that will show the Scope Chain sidebar.
3532
3533         * UserInterface/Views/SettingsTabContentView.css:
3534         (.content-view.settings):
3535         (.content-view.settings > .header):
3536         Drive-by: add padding to bottom of Settings tab so that additional scroll space is mirrored.
3537
3538 2017-04-03  Brian Burg  <bburg@apple.com>
3539
3540         Web Inspector: RTL: layout issues in call frame tree elements and async call stacks
3541         https://bugs.webkit.org/show_bug.cgi?id=170419
3542
3543         Reviewed by Matt Baker.
3544
3545         * UserInterface/Views/CallFrameTreeElement.css:
3546         (.tree-outline .item.call-frame .status):
3547         (body[dir=ltr] .tree-outline .item.call-frame .status):
3548         (body[dir=rtl] .tree-outline .item.call-frame .status):
3549         Flip the current call frame indicator and make sure it sticks to the leading edge.
3550
3551         (.tree-outline .item.call-frame.async-boundary):
3552         (body[dir=ltr] .tree-outline:not(.single-thread) > .children > .item.call-frame.async-boundary):
3553         (body[dir=rtl] .tree-outline:not(.single-thread) > .children > .item.call-frame.async-boundary):
3554         (.tree-outline .item.call-frame.async-boundary .icon):
3555         (body[dir=ltr] .tree-outline .item.call-frame.async-boundary .icon):
3556         (body[dir=rtl] .tree-outline .item.call-frame.async-boundary .icon):
3557         Flip the icon's padding.
3558
3559         (.tree-outline .item.call-frame.async-boundary::after):
3560         (body[dir=ltr] .tree-outline .item.call-frame.async-boundary::after):
3561         (body[dir=rtl] .tree-outline .item.call-frame.async-boundary::after):
3562         (.tree-outline .item.call-frame.async-boundary::before):
3563         (body[dir=ltr] .tree-outline .item.call-frame.async-boundary::before):
3564         (body[dir=rtl] .tree-outline .item.call-frame.async-boundary::before):
3565         (.tree-outline:not(.single-thread) > .children > .item.call-frame.async-boundary): Deleted.
3566         Fix the leading and trailing horizontal rules so they have correct spacing.
3567
3568         * UserInterface/Views/CallFrameView.css:
3569         (.call-frame .icon): Remove redundant property.
3570
3571         * UserInterface/Views/DebuggerSidebarPanel.css:
3572         (.sidebar > .panel.navigation.debugger .tree-outline.single-thread):
3573         (body[dir=ltr] .sidebar > .panel.navigation.debugger .tree-outline.single-thread):
3574         (body[dir=rtl] .sidebar > .panel.navigation.debugger .tree-outline.single-thread):
3575         Fix the leading unindent for call tree frame elements.
3576
3577 2017-04-03  Matt Baker  <mattbaker@apple.com>
3578
3579         Web Inspector: Elements tab: show indicators for hidden DOM breakpoints
3580         https://bugs.webkit.org/show_bug.cgi?id=168761
3581
3582         Reviewed by Timothy Hatcher.
3583
3584         * Localizations/en.lproj/localizedStrings.js:
3585         New DOM breakpoint content menu item.
3586
3587         * UserInterface/Views/DOMTreeContentView.css:
3588         (.content-view.dom-tree .tree-outline.dom li .status-image.breakpoint.subtree):
3589         (.content-view.dom-tree .tree-outline.dom li.expanded .status-image.breakpoint.subtree):
3590         New styles for collapsed breakpoint marker.
3591
3592         * UserInterface/Views/DOMTreeElement.js:
3593         (WebInspector.DOMTreeElement):
3594         (WebInspector.DOMTreeElement.prototype.set breakpointStatus):
3595         If the status change indicates the only breakpoint was added or removed,
3596         update subtree breakpoint counts on the element's parent chain.
3597
3598         (WebInspector.DOMTreeElement.prototype.revealAndHighlight):
3599         Reveal the tree element, and add a highlighted line animation
3600         identical to the one used used by TextEditor.
3601
3602         (WebInspector.DOMTreeElement.prototype.subtreeBreakpointCountDidChange):
3603         (WebInspector.DOMTreeElement.prototype.updateSelectionArea):
3604         Selection area should be updated when animating the element highlight.
3605         (WebInspector.DOMTreeElement.prototype.onreveal):
3606         Animate highlight if needed.
3607         (WebInspector.DOMTreeElement.prototype._updateBreakpointStatus):
3608         (WebInspector.DOMTreeElement.prototype._statusImageClicked):
3609         Do nothing when clicking the collapsed breakpoint marker.
3610         (WebInspector.DOMTreeElement.prototype._statusImageContextmenu):
3611         Add "Reveal Breakpoint" menu item. Reveals the first descendant
3612         with at least one breakpoint.
3613
3614         (WebInspector.DOMTreeElement.prototype._highlightAnimationEnd):
3615
3616         * UserInterface/Views/DOMTreeOutline.css:
3617         (@keyframes dom-tree-outline-highlight-fadeout):
3618         (.highlight .selection-area):
3619         Styles for highlight fade animation.
3620
3621         * UserInterface/Views/TreeElement.js:
3622         (WebInspector.TreeElement.prototype.selfOrDescendant):
3623         * UserInterface/Views/TreeOutline.js:
3624         (WebInspector.TreeOutline.prototype.selfOrDescendant):
3625         Find a node matching a predicate.
3626
3627 2017-04-03  Matt Baker  <mattbaker@apple.com>
3628
3629         Web Inspector: DetailsSection should hide header "options" when collapsed
3630         https://bugs.webkit.org/show_bug.cgi?id=170029
3631
3632         Reviewed by Timothy Hatcher.
3633
3634         * UserInterface/Views/DOMNodeDetailsSidebarPanel.css:
3635         (.sidebar > .panel.dom-node-details .details-section.dom-node-event-listeners > .header > .filter):
3636         (.sidebar > .panel.dom-node-details .details-section.dom-node-event-listeners.collapsed > .header > .filter): Deleted.
3637         DetailsSection is responsible for hiding options when collapsed.
3638
3639         * UserInterface/Views/DebuggerSidebarPanel.css:
3640         (.sidebar > .panel.navigation.debugger .details-section.paused-reason.collapsed > .header > .options):
3641
3642         * UserInterface/Views/DetailsSection.css:
3643         (body[dir=ltr] .details-section > .header > .options,):
3644         (body[dir=ltr] .details-section > .header::before,):
3645         (.details-section.collapsed  > .header > .options):
3646         (body[dir=ltr] .details-section > .header > :matches(label, .node-link, .go-to-arrow),): Deleted.
3647         (.details-section.collapsed  > .header > label): Deleted.
3648         Removed unnecessary rules. The "options" class covers these cases.
3649
3650         * UserInterface/Views/DetailsSection.js:
3651         (WebInspector.DetailsSection.prototype.get titleElement):
3652         (WebInspector.DetailsSection.prototype.set titleElement):
3653         Added title element customization so that the hack used by ProbeSetDetailsSection
3654         to get a link into the title can be removed. Yuck!
3655
3656         * UserInterface/Views/ProbeSetDetailsSection.js:
3657         (WebInspector.ProbeSetDetailsSection):
3658         (WebInspector.ProbeSetDetailsSection.prototype._updateLinkElement):
3659         Use the new DetailsSection title element setter.
3660
3661         * UserInterface/Views/VisualStyleDetailsPanel.css:
3662         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .header > .options):
3663         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .header > .visual-style-section-clear): Deleted.
3664         (.sidebar > .panel.details.css-style .visual > .details-section .details-section.collapsed > .header > .visual-style-section-clear,): Deleted.
3665         Remove the "visual-style-section-clear" class, as it's no longer needed.
3666
3667         * UserInterface/Views/VisualStyleDetailsPanel.js:
3668         (WebInspector.VisualStyleDetailsPanel.prototype._generateSection.createOptionsElement):
3669         (WebInspector.VisualStyleDetailsPanel.prototype._generateSection):
3670
3671 2017-04-03  Joseph Pecoraro  <pecoraro@apple.com>
3672
3673         Web Inspector: "Space" is not localizable in Timelines record button tooltips
3674         https://bugs.webkit.org/show_bug.cgi?id=170420
3675         <rdar://problem/30871371>
3676
3677         Reviewed by Timothy Hatcher.
3678
3679         * UserInterface/Base/LoadLocalizedStrings.js:
3680         (WebInspector.unlocalizedString):
3681         (WebInspector.UIString):
3682         * UserInterface/Base/Main.js:
3683         Move UIString / unlocalizedString to LoadLocalizedString.js.
3684         They may be needed before Main.js has introduced it.
3685
3686         * UserInterface/Test/Test.js:
3687         Provide a default implementaiton of unlocalizedString.
3688
3689         * Localizations/en.lproj/localizedStrings.js:
3690         * UserInterface/Models/KeyboardShortcut.js:
3691         Most keys use a symbol to represent the key. "Space" was the one
3692         exception, so use a localized string.
3693
3694 2017-04-03  Joseph Pecoraro  <pecoraro@apple.com>
3695
3696         Web Inspector: Tooltip for close tab button should match Safari
3697         https://bugs.webkit.org/show_bug.cgi?id=170417
3698         <rdar://problem/31378423>
3699
3700         Reviewed by Matt Baker.
3701
3702         * Localizations/en.lproj/localizedStrings.js:
3703         * UserInterface/Views/GeneralTabBarItem.js:
3704         (WebInspector.GeneralTabBarItem):
3705         Updated tooltip to match Safari's most descriptive tooltip.
3706
3707 2017-04-03  Devin Rousso  <webkit@devinrousso.com>
3708
3709         REGRESSION (r214354): Web Inspector: WebSocket connection icon obscures close content view icon
3710         https://bugs.webkit.org/show_bug.cgi?id=170104
3711
3712         Reviewed by Joseph Pecoraro.
3713
3714         * UserInterface/Views/ResourceTreeElement.css:
3715         (.item.resource.resource-type-websocket .status > .ready-state):
3716         (.item.resource.resource-type-websocket:not(.selected) .status .ready-state.open):
3717         (.tree-outline:not(:focus, .force-focus) .item.resource.resource-type-websocket.selected .status .ready-state.open):
3718         (body:matches(.window-inactive, .window-docked-inactive) .item.resource.resource-type-websocket.selected .status .ready-state.open):
3719         (.item.resource.resource-type-websocket:not(.selected) .status .ready-state.connecting):
3720         (.tree-outline:not(:focus, .force-focus) .item.resource.resource-type-websocket.selected .status .ready-state.connecting):
3721         (body:matches(.window-inactive, .window-docked-inactive) .item.resource.resource-type-websocket.selected .status .ready-state.connecting):
3722         (.item.resource.resource-type-websocket .status > div): Deleted.
3723         (.item.resource.resource-type-websocket:not(.selected) .status .open): Deleted.
3724         (.tree-outline:not(:focus, .force-focus) .item.resource.resource-type-websocket.selected .status .open): Deleted.
3725         (body:matches(.window-inactive, .window-docked-inactive) .item.resource.resource-type-websocket.selected .status .open): Deleted.
3726         (.item.resource.resource-type-websocket:not(.selected) .status .connecting): Deleted.
3727         (.tree-outline:not(:focus, .force-focus) .item.resource.resource-type-websocket.selected .status .connecting): Deleted.
3728         (body:matches(.window-inactive, .window-docked-inactive) .item.resource.resource-type-websocket.selected .status .connecting): Deleted.
3729
3730         * UserInterface/Views/WebSocketResourceTreeElement.js:
3731         (WebInspector.WebSocketResourceTreeElement.prototype._updateConnectionStatus):
3732         Apply an additional CSS class to the connection indicator element so that the styles can be
3733         applied more specifically to just that element.
3734
3735 2017-04-01  Jon Lee  <jonlee@apple.com>
3736
3737         Add missing text styles
3738         https://bugs.webkit.org/show_bug.cgi?id=170295
3739         rdar://problem/30219503
3740
3741         Reviewed by Dean Jackson.
3742
3743         * UserInterface/Models/CSSKeywordCompletions.js: Update keyword completions
3744
3745 2017-04-01  Dan Bernstein  <mitz@apple.com>
3746
3747         Localizable strings files are out of date
3748         https://bugs.webkit.org/show_bug.cgi?id=170383
3749
3750         Reviewed by Tim Horton.
3751
3752         Ran update-webkit-localizable-strings.
3753
3754         * Localizations/en.lproj/localizedStrings.js:
3755
3756 2017-03-30  Matt Baker  <mattbaker@apple.com>
3757
3758         Web Inspector: Styles sidebar warning icon appears inside property value text
3759         https://bugs.webkit.org/show_bug.cgi?id=170281
3760
3761         Reviewed by Timothy Hatcher.
3762
3763         Style rule warning icon should always come before the property name,
3764         regardless of which property part (name/value) the error is for. This
3765         information is conveyed by the red strikethrough, which is applied to
3766         the property name, value, or both.
3767
3768         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
3769
3770 2017-03-29  Nikita Vasilyev  <nvasilyev@apple.com>
3771
3772         Web Inspector: WebSockets: Messages log should remain being scrolled to the bottom when a new message is added
3773         https://bugs.webkit.org/show_bug.cgi?id=170090
3774
3775         Reviewed by Matt Baker.
3776
3777         Adding many Web Socket messages quickly can create a performance bottleneck. Batch addition of DataGrid nodes
3778         using requestAnimationFrame, and scroll to the bottom of the DataGrid at most once per a batch update.
3779
3780         * UserInterface/Views/WebSocketContentView.js:
3781         (WebInspector.WebSocketContentView):
3782         (WebInspector.WebSocketContentView.prototype.shown):
3783         (WebInspector.WebSocketContentView.prototype.hidden):
3784         (WebInspector.WebSocketContentView.prototype._updateFramesSoon):
3785         Batch WebSocketContentView DOM modifications using requestAnimationFrame.
3786
3787         (WebInspector.WebSocketContentView.prototype._updateFrames):
3788         (WebInspector.WebSocketContentView.prototype._addFrame):
3789         (WebInspector.WebSocketContentView.prototype.addFrame): Deleted.
3790         Make addFrame method private since it isn't used anywhere outside of this class.
3791
3792         (WebInspector.WebSocketContentView.prototype._updateState): Deleted.
3793         Make _updateState a part of _updateFramesSoon.
3794
3795 2017-03-29  Sam Brodkin  <isam@apple.com>
3796
3797         Web Inspector: Network tab content view is blank after reload
3798         https://bugs.webkit.org/show_bug.cgi?id=168029
3799
3800         Reviewed by Brian Burg.
3801
3802         * UserInterface/Views/NetworkSidebarPanel.js:
3803         (WebInspector.NetworkSidebarPanel.prototype._networkTimelineReset):
3804         showDefaultContentView() which shows networkGridView in the contentView was not being called
3805         when the NetworkSidebarPanel was not visible. Removing the if statement always shows the
3806         networkGridView which fixes the bug. This wouldn't be easy to regression test.
3807
3808 2017-03-28  Brian Burg  <bburg@apple.com>
3809
3810         Web Inspector: RTL: keyboard shortcuts with directionality need to be flipped (forward/back, etc)
3811         https://bugs.webkit.org/show_bug.cgi?id=165761
3812
3813         Reviewed by Matt Baker.
3814
3815         Original patch by Devin Rousso.
3816
3817         * UserInterface/Views/ContentBrowser.js:
3818         (WebInspector.ContentBrowser):
3819         * UserInterface/Views/TabBrowser.js:
3820         (WebInspector.TabBrowser):
3821         Flip the functionality of keyboard shortcuts when in RTL so that the action of
3822         pressing the left or right arrows/curly braces matches what happens when the
3823         corresponding left or right buttons are clicked.
3824
3825         * UserInterface/Views/DataGrid.js:
3826         (WebInspector.DataGrid.prototype._keyDown):
3827         * UserInterface/Views/LogContentView.js:
3828         (WebInspector.LogContentView.prototype._keyDown):
3829         * UserInterface/Views/TreeOutline.js:
3830         (WebInspector.TreeOutline.prototype._treeKeyDown):
3831         Flip the Left and Right keyboard shortcuts to expand/collapse the selected item when in RTL.
3832
3833 2017-03-28  Brian Burg  <bburg@apple.com>
3834
3835         Web Inspector: Add "Disable Caches" option that only applies to the inspected page while Web Inspector is open
3836         https://bugs.webkit.org/show_bug.cgi?id=169865
3837         <rdar://problem/31250573>
3838
3839         Reviewed by Joseph Pecoraro.
3840
3841         Hook up a button in the Network tab to WebCore::Page's resourceCachingDisabled flag.
3842         If it is active, resource loads are subject to a cache policy that never uses a cached response.
3843
3844         * Localizations/en.lproj/localizedStrings.js:
3845         Add localized strings.
3846
3847         * UserInterface/Base/Main.js:
3848         (WebInspector.loaded):
3849         Add a setting for whether to disable resource caching and inform the backend
3850         of our preference. If someone changes the setting, tell the backend again.
3851
3852         * UserInterface/Views/NetworkGridContentView.js:
3853         (WebInspector.NetworkGridContentView):
3854         (WebInspector.NetworkGridContentView.prototype.get navigationItems):
3855         (WebInspector.NetworkGridContentView.prototype._resourceCachingDisabledSettingChanged):
3856         (WebInspector.NetworkGridContentView.prototype._toggleDisableResourceCache):
3857         Add a new activatable navigation item that toggles disableResourceCaching for the inspected page.
3858
3859         * UserInterface/Protocol/Legacy/10.0/InspectorBackendCommands.js:
3860         * UserInterface/Protocol/Legacy/10.3/InspectorBackendCommands.js:
3861         * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
3862         * UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
3863         * UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js:
3864         * UserInterface/Protocol/Legacy/9.3/InspectorBackendCommands.js:
3865         * Versions/Inspector-iOS-10.0.json:
3866         * Versions/Inspector-iOS-10.3.json:
3867         * Versions/Inspector-iOS-7.0.json:
3868         * Versions/Inspector-iOS-8.0.json:
3869         * Versions/Inspector-iOS-9.0.json:
3870         * Versions/Inspector-iOS-9.3.json:
3871         Update legacy backend commands to remove the old/broken Network.setCacheDisabled command.
3872
3873 2017-03-28  Joseph Pecoraro  <pecoraro@apple.com>
3874
3875         Web Inspector: Inspecting a Main Resource that is JS/JSON does not format / syntax highlight it properly
3876         https://bugs.webkit.org/show_bug.cgi?id=166862
3877         <rdar://problem/29835977>
3878
3879         Reviewed by Brian Burg.
3880
3881         * UserInterface/Models/Resource.js:
3882         (WebInspector.Resource.prototype.get syntheticMIMEType):
3883         Don't override the mime type for Document resources. They should always
3884         have a mime type and we should use whatever it is.
3885
3886 2017-03-28  Joseph Pecoraro  <pecoraro@apple.com>
3887
3888         Web Inspector: Unable to Format JSON Request Data
3889         https://bugs.webkit.org/show_bug.cgi?id=170189
3890
3891         Reviewed by Matt Baker.
3892
3893         * UserInterface/Views/TextEditor.js:
3894         (WebInspector.TextEditor.prototype._startWorkerPrettyPrint):
3895         When we are viewing request data we are looking at a TextResourceContentView
3896         which has a TextEditor without a delegate. In these cases we can just assume
3897         a JavaScript Program. In the majority of cases this will typically be JSON
3898         data, and either Program or Module will highlight and format as expected.