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