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