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