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