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