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