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