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