42560808684e43df130ea89cee6686dff738cee6
[WebKit-https.git] / Source / WebInspectorUI / ChangeLog
1 2015-11-05  Matt Baker  <mattbaker@apple.com>
2
3         Web Inspector: Convert remaining ContentViews to View base class
4         https://bugs.webkit.org/show_bug.cgi?id=150729
5
6         Reviewed by Brian Burg.
7
8         Refactor content views to reuse View features: remove updateLayout and
9         element getters, and use View.prototype.addSubview and removeSubview
10         where appropriate.
11
12         * UserInterface/Views/ApplicationCacheFrameContentView.js:
13         (WebInspector.ApplicationCacheFrameContentView.prototype._createDataGrid):
14         * UserInterface/Views/ClusterContentView.js:
15         (WebInspector.ClusterContentView):
16         (WebInspector.ClusterContentView.prototype.updateLayout): Deleted.
17         * UserInterface/Views/CookieStorageContentView.js:
18         (WebInspector.CookieStorageContentView.prototype._rebuildTable):
19         (WebInspector.CookieStorageContentView.prototype.updateLayout): Deleted.
20         * UserInterface/Views/DOMStorageContentView.js:
21         (WebInspector.DOMStorageContentView):
22         (WebInspector.DOMStorageContentView.prototype.updateLayout): Deleted.
23         * UserInterface/Views/DOMTreeContentView.js:
24         (WebInspector.DOMTreeContentView.prototype.layout):
25         (WebInspector.DOMTreeContentView.prototype.updateLayout): Deleted.
26         * UserInterface/Views/DatabaseTableContentView.js:
27         (WebInspector.DatabaseTableContentView):
28         (WebInspector.DatabaseTableContentView.prototype._queryFinished):
29         (WebInspector.DatabaseTableContentView.prototype._queryError):
30         * UserInterface/Views/FontResourceContentView.js:
31         (WebInspector.FontResourceContentView.prototype.layout):
32         (WebInspector.FontResourceContentView):
33         (WebInspector.FontResourceContentView.prototype.updateLayout): Deleted.
34         * UserInterface/Views/IndexedDatabaseObjectStoreContentView.js:
35         (WebInspector.IndexedDatabaseObjectStoreContentView):
36         (WebInspector.IndexedDatabaseObjectStoreContentView.prototype.updateLayout): Deleted.
37         * UserInterface/Views/LogContentView.js:
38         (WebInspector.LogContentView.prototype.layout):
39         (WebInspector.LogContentView.prototype.updateLayout): Deleted.
40         * UserInterface/Views/NetworkGridContentView.js:
41         (WebInspector.NetworkGridContentView):
42         (WebInspector.NetworkGridContentView.prototype.needsLayout):
43         (WebInspector.NetworkGridContentView.prototype.layout):
44         (WebInspector.NetworkGridContentView.prototype.updateLayout): Deleted.
45         * UserInterface/Views/OverviewTimelineView.js:
46         (WebInspector.OverviewTimelineView):
47         (WebInspector.OverviewTimelineView.prototype.layout): Deleted.
48         * UserInterface/Views/ScriptContentView.js:
49         (WebInspector.ScriptContentView.prototype._contentWillPopulate):
50         (WebInspector.ScriptContentView.prototype.updateLayout): Deleted.
51         * UserInterface/Views/TextContentView.js:
52         (WebInspector.TextContentView):
53         (WebInspector.TextContentView.prototype.updateLayout): Deleted.
54         * UserInterface/Views/TextEditor.js:
55         (WebInspector.TextEditor):
56         (WebInspector.TextEditor.prototype.layout):
57         (WebInspector.TextEditor.prototype.get element): Deleted.
58         (WebInspector.TextEditor.prototype.updateLayout): Deleted.
59         * UserInterface/Views/TimelineRecordingContentView.js:
60         (WebInspector.TimelineRecordingContentView):
61         (WebInspector.TimelineRecordingContentView.prototype.layout):
62         (WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
63         (WebInspector.TimelineRecordingContentView.prototype.updateLayout): Deleted.
64
65 2015-11-05  Nikita Vasilyev  <nvasilyev@apple.com>
66
67         Web Inspector: Pretty print falsely triggers on some JS that wasn't minified
68         https://bugs.webkit.org/show_bug.cgi?id=150876
69
70         Change the minification detection heuristic. Look for the ratio of whitespace to
71         non-whitespace characters in the first 5000 characters.
72
73         The previous heuristic looked for lines longer than 500 characters. Not only it was
74         slower on large unminified files, it also had a false positive on unminified codemirror.js.
75
76         Reviewed by Timothy Hatcher.
77
78         * UserInterface/Views/SourceCodeTextEditor.js:
79         (WebInspector.SourceCodeTextEditor.prototype._contentWillPopulate):
80         (WebInspector.SourceCodeTextEditor.prototype._isLikelyMinified):
81         Exit early if whitespace to non-whitespace ratio drops below 5%.
82
83 2015-11-05  Matt Baker  <mattbaker@apple.com>
84
85         Web Inspector: Convert TimelineRuler to View base class
86         https://bugs.webkit.org/show_bug.cgi?id=150703
87
88         Reviewed by Brian Burg.
89
90         Convert TimelineRuler to View base class. Ruler markers and selection elements
91         can be updated independent from its main layout. The logic for these additional
92         layouts is implemented as an override of View.prototype.needsLayout, and remains
93         largely unchanged.
94
95         * UserInterface/Views/OverviewTimelineView.js:
96         (WebInspector.OverviewTimelineView):
97         Add ruler as a subview.
98         (WebInspector.OverviewTimelineView.prototype.layout): Deleted.
99         Separate ruler layout no longer needed.
100
101         * UserInterface/Views/TimelineRuler.js:
102         (WebInspector.TimelineRuler):
103         (WebInspector.TimelineRuler.prototype.set allowsClippedLabels):
104         (WebInspector.TimelineRuler.prototype.set formatLabelCallback):
105         (WebInspector.TimelineRuler.prototype.set allowsTimeRangeSelection):
106         (WebInspector.TimelineRuler.prototype.set zeroTime):
107         (WebInspector.TimelineRuler.prototype.set startTime):
108         (WebInspector.TimelineRuler.prototype.set duration):
109         (WebInspector.TimelineRuler.prototype.get endTime):
110         (WebInspector.TimelineRuler.prototype.set endTime):
111         (WebInspector.TimelineRuler.prototype.get secondsPerPixel):
112         (WebInspector.TimelineRuler.prototype.set secondsPerPixel):
113         (WebInspector.TimelineRuler.prototype.updateLayoutIfNeeded):
114         (WebInspector.TimelineRuler.prototype.needsLayout):
115         (WebInspector.TimelineRuler.prototype.layout):
116         (WebInspector.TimelineRuler.prototype._needsMarkerLayout):
117         (WebInspector.TimelineRuler.prototype._needsSelectionLayout):
118         (WebInspector.TimelineRuler.prototype._recalculate):
119         (WebInspector.TimelineRuler.prototype._updateMarkers):
120         (WebInspector.TimelineRuler.prototype._updateSelection):
121         (WebInspector.TimelineRuler.prototype._handleMouseDown):
122         (WebInspector.TimelineRuler.prototype._handleMouseMove):
123         (WebInspector.TimelineRuler.prototype._handleMouseUp):
124         (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseDown):
125         (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseMove):
126         (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseUp):
127         Renamed methods to match new View.prototype methods and cleaned up
128         some code to use let, for...of.
129         (WebInspector.TimelineRuler.prototype.get element): Deleted.
130         No longer needed.
131         (WebInspector.TimelineRuler.prototype.updateLayout): Deleted.
132         Renamed to layout, overrides View.prototype.layout.
133         (WebInspector.TimelineRuler.prototype._needsLayout): Deleted.
134         Renamed to needsLayout, overrides View.prototype.needsLayout.
135         (WebInspector.TimelineRuler.prototype._needsMarkerLayout.update): Deleted.
136         (WebInspector.TimelineRuler.prototype._needsSelectionLayout.update): Deleted.
137
138         * UserInterface/Views/View.js:
139         (WebInspector.View.prototype.get isLayoutPending):
140         Added getter to check for pending layout.
141
142 2015-11-05  Joseph Pecoraro  <pecoraro@apple.com>
143
144         Web Inspector: ⌥⌘C sometimes ends ups up opening inspector without console prompt focused
145         https://bugs.webkit.org/show_bug.cgi?id=150916
146
147         Reviewed by Timothy Hatcher.
148
149         When first opening the inspector we hide the window until the document
150         is mostly ready / loaded. However once displaying the window WK2 would
151         set the initial focus, clearing what we already had and focusing the
152         first natural element (tabindex dictates the toolbar). Workaround this
153         by detecting when the document becomes visible and then focusing the
154         console prompt.
155
156         * UserInterface/Protocol/InspectorFrontendAPI.js:
157         (InspectorFrontendAPI.showConsole):
158         (InspectorFrontendAPI.handleEvent):
159
160 2015-11-05  Joseph Pecoraro  <pecoraro@apple.com>
161
162         Web Inspector: Toolbar "Inspect Node" button not highlighting when active
163         https://bugs.webkit.org/show_bug.cgi?id=150938
164
165         Reviewed by Timothy Hatcher.
166
167         * UserInterface/Views/ButtonToolbarItem.css:
168         (.toolbar .item.button:not(.disabled):matches(:focus, .activate.activated) > .glyph):
169         (.toolbar .item.button:not(.disabled):active:matches(:focus, .activate.activated) > .glyph):
170         Copy the navigation-bar button activated styles to toolbar.
171
172 2015-11-04  Matt Baker  <mattbaker@apple.com>
173
174         Web Inspector: Load markers persist in timeline ruler after resetting recording
175         https://bugs.webkit.org/show_bug.cgi?id=150918
176
177         Reviewed by Joseph Pecoraro.
178
179         * UserInterface/Views/OverviewTimelineView.js:
180         (WebInspector.OverviewTimelineView):
181         (WebInspector.OverviewTimelineView.prototype._recordingReset):
182         Clears ruler markers on recording reset. Adds current time marker back.
183
184         * UserInterface/Views/TimelineOverview.js:
185         (WebInspector.TimelineOverview):
186         (WebInspector.TimelineOverview.prototype._recordingReset):
187         Clears ruler markers on recording reset. Adds current time marker back.
188
189         * UserInterface/Views/TimelineRuler.js:
190         (WebInspector.TimelineRuler.prototype.clearMarkers):
191         Added method to clear markers and marker elements.
192
193 2015-11-04  Matt Baker  <mattbaker@apple.com>
194
195         Web Inspector: Uncaught Exception opening inspector - TypeError: Attempted to assign to readonly property.
196         https://bugs.webkit.org/show_bug.cgi?id=150913
197
198         Reviewed by Timothy Hatcher.
199
200         Fix invalid call to BackForwardEntry.prototype.contentView set.
201
202         * UserInterface/Views/ContentViewContainer.js:
203         (WebInspector.ContentViewContainer.prototype.replaceContentView):
204         Replace each BackForwardEntry matching the old content view with a new entry.
205
206 2015-11-04  Nikita Vasilyev  <nvasilyev@apple.com>
207
208         Web Inspector: Uncaught exception mousing over CSS resource
209         https://bugs.webkit.org/show_bug.cgi?id=150917
210
211         Reviewed by Joseph Pecoraro.
212
213         * UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
214         (WebInspector.CodeMirrorTokenTrackingController.prototype._processMarkedToken): Add missing parameter.
215
216 2015-11-04  Joseph Pecoraro  <pecoraro@apple.com>
217
218         Web Inspector: WebInspector.Color should support #rgba and #rrggbbaa syntax
219         https://bugs.webkit.org/show_bug.cgi?id=150894
220
221         Reviewed by Timothy Hatcher.
222
223         Support for hex with alpha color syntax.
224
225         * UserInterface/Models/Color.js:
226         (WebInspector.Color.fromString):
227         (WebInspector.Color.prototype.nextFormat):
228         (WebInspector.Color.prototype.copy):
229         (WebInspector.Color.prototype.toString):
230         (WebInspector.Color.prototype._toShortHEXAlphaString):
231         (WebInspector.Color.prototype._toHEXAlphaString):
232         Add support for new hex syntax. Address some minor issues
233         like case insensitivity and extra comma separate values.
234
235         * UserInterface/Views/CodeMirrorTextMarkers.js:
236         This prevent trailing hex characters from showing up
237         when cycling through color variants.
238
239         * UserInterface/Views/CodeMirrorAdditions.js:
240         When CodeMirror stops treating the new values as error
241         this will give them our hex-color styles.
242
243 2015-11-03  Matt Baker  <mattbaker@apple.com>
244
245         Web Inspector: REGRESSION (r191612): Storage sidebar panel tree outline is broken
246         https://bugs.webkit.org/show_bug.cgi?id=150862
247
248         Reviewed by Joseph Pecoraro.
249
250         * UserInterface/Views/ApplicationCacheFrameContentView.js:
251         Inherit from ContentView.
252
253         * UserInterface/Views/StorageSidebarPanel.js:
254         (WebInspector.StorageSidebarPanel.prototype._addDatabase):
255         Fixed syntax error.
256         (WebInspector.StorageSidebarPanel.prototype._addIndexedDatabase):
257         (WebInspector.StorageSidebarPanel.prototype._addFrameManifest):
258         WebInspector.TreeOutline.append doesn't exist; changed to appendChild.
259
260 2015-11-03  Matt Baker  <mattbaker@apple.com>
261
262         Web Inspector: Create View base class, refactor some core view classes
263         https://bugs.webkit.org/show_bug.cgi?id=149186
264
265         Reviewed by Brian Burg and Timothy Hatcher.
266
267         This patch introduces a new View base class, which encapsulates DOM element creation,
268         layout scheduling, and subview management. The View class constructor accepts an optional
269         element parameter, allowing an existing DOM element to be associated with the View object,
270         rather than dynamically creating a new element. View also adds a `__view` property to its
271         associated DOM element to facilitate debugging the Inspector UI.
272
273         For the view classes refactored in this patch, the changes are largely mechanical. Dynamically
274         created DOM elements and redundant element getters have been removed. needsLayout has replaced
275         updateLayoutIfNeeded where appropriate. updateLayout has been removed entirely for views that
276         performed no layout other than to cascade layouts to their children.
277
278         * UserInterface/Base/Main.js:
279         Moved TabBar layout updates out of TabBrowser and into Main.js.
280
281         * UserInterface/Main.html:
282         * UserInterface/Views/ConsolePrompt.js:
283         (WebInspector.ConsolePrompt):
284         (WebInspector.ConsolePrompt.prototype.layout):
285         (WebInspector.ConsolePrompt.prototype.get element): Deleted.
286         (WebInspector.ConsolePrompt.prototype.updateLayout): Deleted.
287         * UserInterface/Views/ContentBrowser.js:
288         (WebInspector.ContentBrowser):
289         (WebInspector.ContentBrowser.prototype.get element): Deleted.
290         (WebInspector.ContentBrowser.prototype.updateLayout): Deleted.
291         * UserInterface/Views/ContentBrowserTabContentView.js:
292         (WebInspector.ContentBrowserTabContentView):
293         (WebInspector.ContentBrowserTabContentView.prototype.updateLayout): Deleted.
294         * UserInterface/Views/ContentView.js:
295         (WebInspector.ContentView):
296         (WebInspector.ContentView.prototype.get element): Deleted.
297         (WebInspector.ContentView.prototype.updateLayout): Deleted.
298         * UserInterface/Views/ContentViewContainer.js:
299         (WebInspector.ContentViewContainer):
300         (WebInspector.ContentViewContainer.prototype._showEntry):
301         (WebInspector.ContentViewContainer.prototype._hideEntry):
302         (WebInspector.ContentViewContainer.prototype.get element): Deleted.
303         (WebInspector.ContentViewContainer.prototype.updateLayout): Deleted.
304         (WebInspector.ContentViewContainer.prototype._addContentViewElement): Deleted.
305         (WebInspector.ContentViewContainer.prototype._removeContentViewElement): Deleted.
306         * UserInterface/Views/DataGrid.js:
307         (WebInspector.DataGrid.prototype.autoSizeColumns):
308         (WebInspector.DataGrid.prototype.layout):
309         (WebInspector.DataGrid.prototype.applyColumnWidthsMap):
310         (WebInspector.DataGrid): Deleted.
311         (WebInspector.DataGrid.prototype.updateLayout): Deleted.
312         (WebInspector.DataGrid.prototype.resizerDragging): Deleted.
313         (WebInspector.DataGrid.prototype.resizerDragEnded): Deleted.
314         * UserInterface/Views/HierarchicalPathNavigationItem.js:
315         (WebInspector.HierarchicalPathNavigationItem.prototype.set components):
316         * UserInterface/Views/LayoutTimelineView.js:
317         (WebInspector.LayoutTimelineView):
318         (WebInspector.LayoutTimelineView.prototype.layout):
319         (WebInspector.LayoutTimelineView.prototype.updateLayout): Deleted.
320         * UserInterface/Views/NavigationBar.js:
321         (WebInspector.NavigationBar):
322         (WebInspector.NavigationBar.prototype.insertNavigationItem):
323         (WebInspector.NavigationBar.prototype.removeNavigationItem):
324         (WebInspector.NavigationBar.prototype.get minimumWidth):
325         (WebInspector.NavigationBar.prototype.layout):
326         (WebInspector.NavigationBar.prototype._mouseDown):
327         (WebInspector.NavigationBar.prototype._mouseMoved):
328         (WebInspector.NavigationBar.prototype._mouseUp):
329         (WebInspector.NavigationBar.prototype._calculateMinimumWidth):
330         (WebInspector.NavigationBar.prototype.updateLayoutSoon.update): Deleted.
331         (WebInspector.NavigationBar.prototype.updateLayoutSoon): Deleted.
332         (WebInspector.NavigationBar.prototype.updateLayout): Deleted.
333         (WebInspector.NavigationBar.prototype.get element): Deleted.
334         * UserInterface/Views/NavigationItem.js:
335         (WebInspector.NavigationItem.prototype.set hidden):
336         * UserInterface/Views/NetworkTimelineView.js:
337         (WebInspector.NetworkTimelineView):
338         (WebInspector.NetworkTimelineView.prototype.layout):
339         (WebInspector.NetworkTimelineView.prototype.updateLayout): Deleted.
340         * UserInterface/Views/OverviewTimelineView.js:
341         (WebInspector.OverviewTimelineView):
342         (WebInspector.OverviewTimelineView.prototype.layout):
343         (WebInspector.OverviewTimelineView.prototype.updateLayout): Deleted.
344         * UserInterface/Views/QuickConsole.js:
345         (WebInspector.QuickConsole):
346         (WebInspector.QuickConsole.prototype.layout):
347         (WebInspector.QuickConsole.prototype.get element): Deleted.
348         (WebInspector.QuickConsole.prototype.updateLayout): Deleted.
349         * UserInterface/Views/RenderingFrameTimelineView.js:
350         (WebInspector.RenderingFrameTimelineView):
351         (WebInspector.RenderingFrameTimelineView.prototype.layout):
352         (WebInspector.RenderingFrameTimelineView.prototype.updateLayout): Deleted.
353         * UserInterface/Views/ScriptTimelineView.js:
354         (WebInspector.ScriptTimelineView):
355         (WebInspector.ScriptTimelineView.prototype.layout):
356         (WebInspector.ScriptTimelineView.prototype.updateLayout): Deleted.
357         * UserInterface/Views/TabBar.js:
358         (WebInspector.TabBar):
359         (WebInspector.TabBar.prototype.insertTabBarItem.animateTabs):
360         (WebInspector.TabBar.prototype.insertTabBarItem.removeStyles):
361         (WebInspector.TabBar.prototype.insertTabBarItem):
362         (WebInspector.TabBar.prototype.removeTabBarItem.animateTabs):
363         (WebInspector.TabBar.prototype.removeTabBarItem.removeStyles):
364         (WebInspector.TabBar.prototype.removeTabBarItem):
365         (WebInspector.TabBar.prototype.hasNormalTab):
366         (WebInspector.TabBar.prototype.layout):
367         (WebInspector.TabBar.prototype._recordTabBarItemSizesAndPositions):
368         (WebInspector.TabBar.prototype._finishExpandingTabsAfterClose.):
369         (WebInspector.TabBar.prototype._finishExpandingTabsAfterClose):
370         (WebInspector.TabBar.prototype._handleClick):
371         (WebInspector.TabBar.prototype._handleMouseMoved):
372         (WebInspector.TabBar.prototype._handleMouseUp):
373         (WebInspector.TabBar.prototype._handleMouseLeave):
374         (WebInspector.TabBar.prototype._handleNewTabMouseEnter):
375         (WebInspector.TabBar.prototype.updateLayoutSoon.update): Deleted.
376         (WebInspector.TabBar.prototype.updateLayoutSoon): Deleted.
377         (WebInspector.TabBar.prototype.updateLayout): Deleted.
378         (WebInspector.TabBar.prototype.get element): Deleted.
379         * UserInterface/Views/TabBrowser.js:
380         (WebInspector.TabBrowser):
381         (WebInspector.TabBrowser.prototype.get element): Deleted.
382         (WebInspector.TabBrowser.prototype.updateLayout): Deleted.
383         * UserInterface/Views/TimelineView.js:
384         (WebInspector.TimelineView.prototype.filterUpdated):
385         (WebInspector.TimelineView.prototype.needsLayout):
386         (WebInspector.TimelineView.prototype.updateLayout): Deleted.
387         (WebInspector.TimelineView.prototype.updateLayoutIfNeeded): Deleted.
388         (WebInspector.TimelineView): Deleted.
389
390         * UserInterface/Views/Toolbar.js:
391         (WebInspector.Toolbar):
392         (WebInspector.Toolbar.prototype.set displayMode):
393         (WebInspector.Toolbar.prototype.set sizeMode):
394         (WebInspector.Toolbar.prototype.addToolbarItem):
395         (WebInspector.Toolbar.prototype.layout):
396         (WebInspector.Toolbar.prototype.customUpdateLayout): Deleted.
397         Renamed to layout. This eliminated a layering violation in NavigationBar,
398         where the function previously known as updateLayout checked for a
399         a `customUpdateLayout` function property, and would call it instead of its
400         own layout logic if found.
401
402         * UserInterface/Views/View.js: Added.
403         (WebInspector.View):
404         (WebInspector.View.prototype.get element):
405         (WebInspector.View.prototype.get subviews):
406         (WebInspector.View.prototype.addSubview):
407         Appends a view to the end of the subview list.
408         (WebInspector.View.prototype.insertSubviewBefore):
409         Inserts a view into subview list before another subview.
410         (WebInspector.View.prototype.removeSubview):
411         (WebInspector.View.prototype.replaceSubview):
412         (WebInspector.View.prototype.updateLayout):
413         No longer overridden by subclasses.
414         (WebInspector.View.prototype.updateLayoutIfNeeded):
415         Forces a layout if one has been scheduled, otherwise does nothing.
416         (WebInspector.View.prototype.needsLayout):
417         Schedules a layout for the view.
418         (WebInspector.View.prototype.layout):
419         Overridden by views that require special layout logic. Layouts
420         cascade to child views automatically.
421         (WebInspector.View.prototype._layoutSubtree):
422         Main layout entry point. Called by requestAnimationFrame via needsLayut, by
423         updateLayout when forcing a synchronous layout, and called recursively during
424         subview traversal.
425
426 2015-11-03  Joseph Pecoraro  <pecoraro@apple.com>
427
428         Web Inspector: Handle or Remove ParseHTML Timeline Event Records
429         https://bugs.webkit.org/show_bug.cgi?id=150689
430
431         Reviewed by Timothy Hatcher.
432
433         * UserInterface/Controllers/TimelineManager.js:
434         (WebInspector.TimelineManager.prototype._processRecord):
435
436 2015-11-02  Andy Estes  <aestes@apple.com>
437
438         [Cocoa] Add tvOS and watchOS to SUPPORTED_PLATFORMS
439         https://bugs.webkit.org/show_bug.cgi?id=150819
440
441         Reviewed by Dan Bernstein.
442
443         This tells Xcode to include these platforms in its Devices dropdown, making it possible to build in the IDE.
444
445         * Configurations/Base.xcconfig:
446
447 2015-10-30  Timothy Hatcher  <timothy@apple.com>
448
449         Web Inspector: Unexpected background color behind the Continue button in the DebuggerDashboardView
450         https://bugs.webkit.org/show_bug.cgi?id=150734
451
452         Reviewed by Brian Burg.
453
454         * UserInterface/Views/DebuggerDashboardView.css:
455         (.dashboard.debugger .navigation-bar .item.button):
456         (.dashboard.debugger .navigation-bar .item.button > .glyph):
457
458 2015-10-29  Joseph Pecoraro  <pecoraro@apple.com>
459
460         Web Inspector: Make use of other Timer details in Timeline (timeout, singleShot)
461         https://bugs.webkit.org/show_bug.cgi?id=150697
462
463         Reviewed by Timothy Hatcher.
464
465         * Localizations/en.lproj/localizedStrings.js:
466         * UserInterface/Controllers/TimelineManager.js:
467         (WebInspector.TimelineManager.prototype._processRecord):
468         Create a small object for timer details.
469
470         * UserInterface/Models/ScriptTimelineRecord.js:
471         (WebInspector.ScriptTimelineRecord.EventType.displayName):
472         New details object requires new path to timer identifier.
473
474         * UserInterface/Views/ScriptTimelineView.css:
475         (.sidebar > .panel.navigation.timeline:not(.timeline-recording-content-view-showing) .navigation-sidebar-panel-content-tree-outline.script .item .alternate-subtitle):
476         (.navigation-sidebar-panel-content-tree-outline .item .alternate-subtitle):
477         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .alternate-subtitle):
478         (.navigation-sidebar-panel-content-tree-outline .item.small:not(.two-line) .alternate-subtitle::before):
479         Styles for an alternate-subtitle, a subtitle to show when the timeline
480         content view is showing and not a resource content view.
481
482         * UserInterface/Views/TimelineRecordTreeElement.js:
483         (WebInspector.TimelineRecordTreeElement):
484         Create alternate subtitle for Timers with the timeout millisecond details.
485         Differentiate between setTimeout / setInterval.
486
487         * UserInterface/Views/ScriptTimelineDataGridNode.js:
488         (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent): Deleted.
489         (WebInspector.ScriptTimelineDataGridNode): Deleted.
490         Remove dead code. Normally there would be a filter / scope bar for an eventType
491         column but no such column exists.
492
493 2015-10-29  Joseph Pecoraro  <pecoraro@apple.com>
494
495         Web Inspector: Display console.timeStamp(title) title in timeline markers
496         https://bugs.webkit.org/show_bug.cgi?id=150691
497
498         Reviewed by Timothy Hatcher.
499
500         * Localizations/en.lproj/localizedStrings.js:
501         * UserInterface/Controllers/TimelineManager.js:
502         (WebInspector.TimelineManager.prototype._processRecord):
503         (WebInspector.TimelineManager.prototype._processEvent):
504         Detect unused timeline records.
505
506         * UserInterface/Models/TimelineMarker.js:
507         (WebInspector.TimelineMarker):
508         (WebInspector.TimelineMarker.prototype.get details):
509         Give markers an optional details argument.
510
511         * UserInterface/Views/TimelineRuler.js:
512         (WebInspector.TimelineRuler.prototype.addMarker):
513         When a marker is a TimeStamp, use the details title in
514         the tooltip if one is available.
515
516         * UserInterface/Views/TimelineSidebarPanel.js:
517         (WebInspector.TimelineSidebarPanel.prototype._refreshFrameSelectionChart):
518         Used \u in localized string. Kept this an endash since it is a range.
519
520 2015-10-29  Timothy Hatcher  <timothy@apple.com>
521
522         Web Inspector: Navigation bar icons are missing
523         https://bugs.webkit.org/show_bug.cgi?id=150677
524
525         Reviewed by Joseph Pecoraro.
526
527         The glyph width and height were not being set correctly and it broke NavigationBar buttons.
528         The width and height attribute was being set on a div, when it should have used the style property.
529         Also remove the suppressEmboss flag, which is no longer used but the clients and subclasses still did.
530
531         * UserInterface/Base/ImageUtilities.js:
532         (useSVGSymbol): Use style property instead of setting width and height. The attributes
533         didn't accomplish the same thing in all cases. Use title and className property on the
534         wrapper element and remove the comments, which applied when there wasn't a wrapper.
535
536         * UserInterface/Views/ActivateButtonNavigationItem.js:
537         (WebInspector.ActivateButtonNavigationItem): Remove suppressEmboss.
538         * UserInterface/Views/ActivateButtonToolbarItem.js:
539         (WebInspector.ActivateButtonToolbarItem): Remove suppressEmboss.
540
541         * UserInterface/Views/ButtonNavigationItem.js:
542         (WebInspector.ButtonNavigationItem): Remove suppressEmboss.
543         (WebInspector.ButtonNavigationItem.prototype.set image): Use style property instead of setting
544         width and height attributes. This assumed the SVG element was the glyph element, which changed
545         at one point without me remembering to fix this client.
546
547         * UserInterface/Views/ButtonToolbarItem.js:
548         (WebInspector.ButtonToolbarItem):  Remove suppressEmboss.
549         * UserInterface/Views/DebuggerDashboardView.js:
550         (WebInspector.DebuggerDashboardView): Remove suppressEmboss use.
551         * UserInterface/Views/FilterBar.js:
552         (WebInspector.FilterBar.prototype.addFilterBarButton): Remove suppressEmboss.
553         * UserInterface/Views/FilterBarButton.js:
554         (WebInspector.FilterBarButton): Remove suppressEmboss.
555         * UserInterface/Views/TimelineSidebarPanel.js:
556         (WebInspector.TimelineSidebarPanel):  Remove suppressEmboss use.
557         * UserInterface/Views/ToggleButtonNavigationItem.js:
558         (WebInspector.ToggleButtonNavigationItem): Remove suppressEmboss.
559
560 2015-10-29  Joseph Pecoraro  <pecoraro@apple.com>
561
562         Web Inspector: Clean up and audit TimelineRecordFactory records
563         https://bugs.webkit.org/show_bug.cgi?id=150660
564
565         Reviewed by Brian Burg.
566
567         * Localizations/en.lproj/localizedStrings.js:
568         * UserInterface/Controllers/TimelineManager.js:
569         (WebInspector.TimelineManager.prototype._processRecord):
570         (WebInspector.TimelineManager.prototype._processEvent):
571         Add FIXME for payload data which we are not yet using but could.
572         Fix typo in some rAF records where we were mistakenly using "timerId"
573         instead of "id" for the request identifier.
574
575         * UserInterface/Models/ScriptTimelineRecord.js:
576         (WebInspector.ScriptTimelineRecord.EventType.displayName):
577         Display the now correctly accessed rAF identifier in the Scripts timeline.
578
579 2015-10-28  Joseph Pecoraro  <pecoraro@apple.com>
580
581         Web Inspector: Add "revert" to CSS value autocompletion
582         https://bugs.webkit.org/show_bug.cgi?id=150652
583
584         Reviewed by Timothy Hatcher.
585
586         * UserInterface/Models/CSSCompletions.js:
587         * UserInterface/Models/CSSKeywordCompletions.js:
588         (WebInspector.CSSKeywordCompletions.forProperty):
589         * UserInterface/Views/VisualStyleDetailsPanel.js:
590         (WebInspector.VisualStyleDetailsPanel):
591         (WebInspector.VisualStyleDetailsPanel.prototype._populateDisplaySection):
592         (WebInspector.VisualStyleDetailsPanel.prototype._populateAlignmentSection):
593         Treat "revert" like initial and unset. It is valid on all properties.
594
595 2015-10-28  Nikita Vasilyev  <nvasilyev@apple.com>
596
597         REGRESSION(r191071): Web Inspector: Can't resize split console when the window is too narrow
598         https://bugs.webkit.org/show_bug.cgi?id=150492
599
600         Reviewed by Timothy Hatcher.
601
602         Make some items inside of the navigation bar click-through to incsease the draggable area.
603
604         * UserInterface/Views/Main.css:
605         (#split-content-browser > .navigation-bar > :matches(.hierarchical-path, .log-scope-bar)):
606
607 2015-10-28  Joseph Pecoraro  <pecoraro@apple.com>
608
609         Web Inspector: Show Timeline Markers again (DOMContentLoaded, Load, console.timeStamp)
610         https://bugs.webkit.org/show_bug.cgi?id=150612
611
612         Reviewed by Timothy Hatcher.
613
614         * Localizations/en.lproj/localizedStrings.js:
615         Tooltip strings for the timeline markers.
616
617         * UserInterface/Models/TimelineRecording.js:
618         (WebInspector.TimelineRecording.prototype.addEventMarker):
619         Dispatch an event so the views listening to this recording can add the markers.
620
621         * UserInterface/Views/OverviewTimelineView.js:
622         (WebInspector.OverviewTimelineView):
623         (WebInspector.OverviewTimelineView.prototype._markerAdded):
624         Add the marker to the OverviewTimelineView's ruler.
625
626         * UserInterface/Views/TimelineOverview.js:
627         (WebInspector.TimelineOverview):
628         (WebInspector.TimelineOverview.prototype._markerAdded):
629         (WebInspector.TimelineOverview.prototype.addMarker): Deleted.
630         Add the marker to the TimelineOverview's ruler. Remove the unused method.
631
632         * UserInterface/Views/TimelineRuler.js:
633         (WebInspector.TimelineRuler.prototype.addMarker):
634         Give some marker's a tooltip based on their type.
635
636         * UserInterface/Views/TimelineOverview.css:
637         (.timeline-overview > .timeline-ruler > .markers):
638         (.timeline-overview.frames > .timeline-ruler > .markers > .marker:not(.current-time)):
639         Correct the height of markers in the timeline overview.
640         Hide markers non-current-time markers in the rendering frames view.
641
642         * UserInterface/Views/TimelineRuler.css:
643         (.timeline-ruler > .markers > .marker):
644         (.timeline-ruler > .markers > .marker::before):
645         Give markers a bit of width to make it easier to trigger their tooltip.
646
647         (.timeline-ruler > .markers > .marker.load-event):
648         (.timeline-ruler > .markers > .marker.dom-content-event):
649         (.timeline-ruler > .markers > .marker.timestamp):
650         Adjust coloring of the markers. hsla(0.5) was causing bleeding
651         with width 1px to 2px. hsl() with opacity it was always 1px.
652
653 2015-10-28  Timothy Hatcher  <timothy@apple.com>
654
655         Web Inspector: Zoom never goes back to 100% size
656         https://bugs.webkit.org/show_bug.cgi?id=150637
657
658         Add and subtract 20% from the zoom level so the zoom factor can return
659         to the 1 starting zoom factor if you go back the other direction.
660
661         Reviewed by Joseph Pecoraro.
662
663         * UserInterface/Base/Main.js:
664         (WebInspector._increaseZoom): Add 0.2 instead of multiplying 1.2.
665         (WebInspector._decreaseZoom): Subtract 0.2 instead of multiplying 0.8.
666
667 2015-10-28  Matt Baker  <mattbaker@apple.com>
668
669         Web Inspector: Rendering Frames pie chart does not update during initial selection of a timeline range
670         https://bugs.webkit.org/show_bug.cgi?id=150630
671
672         Reviewed by Geoffrey Garen.
673
674         No longer suppress selection changed events while dragging to create a new selection.
675         We dispatch selection changed events when adjusting an existing selection, so it makes
676         sense to treat both cases identically.
677
678         * UserInterface/Views/TimelineRuler.js:
679         (WebInspector.TimelineRuler): Deleted.
680         (WebInspector.TimelineRuler.prototype._dispatchTimeRangeSelectionChangedEvent): Deleted.
681         (WebInspector.TimelineRuler.prototype._handleMouseMove): Deleted.
682
683 2015-10-27  Timothy Hatcher  <timothy@apple.com>
684
685         Web Inspector: Remove image generators and use SVG directly
686         https://bugs.webkit.org/show_bug.cgi?id=150602
687
688         Reviewed by Brian Burg.
689
690         This removes the code used to generate button image states as various canvas bitmaps.
691         With the simplification of the UI in Yosemite, we can now just style SVG images to change
692         the color used by the glyphs in these images. To do that we use the special "currentColor"
693         color keyword. That keyword represents the current value of the applied CSS text color.
694         This approach was used since it works across shadow DOM boundaries, which are there with
695         our new use of the SVG <use> element to import glyphs. This allows us to eliminate the
696         "stroked" and "filled" classes that were used to style some images that used the old
697         wrappedSVGDocument image utility.
698
699         Some of the SVG images had to be recreated -- specifically the removal of <clipPath> and
700         <text> elements. Those elements do not work or work well with the <use> element. We can
701         now only use graphical elements like <path>, <rect>, <circle>, etc.
702
703         * UserInterface/Images/*.svg: Added id to the top level for most images. Use currentColor instead of black. Sorted attributes.
704         * UserInterface/Images/gtk/*.svg: Added id to the top level for most images. Filed bug 150603 to track adopting currentColor.
705
706         * UserInterface/Base/ImageUtilities.js:
707         (useSVGSymbol): Added.
708         (catch): Deleted.
709         (_devicePixelRatioChanged): Deleted.
710         (_registerGeneratedImageUpdateFunction): Deleted.
711         (_logSQLError): Deleted.
712         (_logSQLTransactionError): Deleted.
713         (_prefetchCachedImagesAndUpdate): Deleted.
714         (_prefetchCachedImagesAndUpdate.): Deleted.
715         (else.): Deleted.
716         (restoreImageFromStorage): Deleted.
717         (imageLoaded): Deleted.
718         (ensureImageIsLoaded): Deleted.
719         (restoreImages.restoreActiveImages): Deleted.
720         (restoreImages): Deleted.
721         (restoreImage): Deleted.
722         (update): Deleted.
723         (generateImages.generateActiveImages): Deleted.
724         (generateImages): Deleted.
725         (generateImage): Deleted.
726         (_drawImageShadow): Deleted.
727         (_invertMaskImage): Deleted.
728         (_applyImageMask): Deleted.
729         (generateEmbossedImages): Deleted.
730         (invokeCallbackWithDocument): Deleted.
731         (imageLoad): Deleted.
732         (imageError): Deleted.
733         (wrappedSVGDocument): Deleted.
734         * UserInterface/Views/ActivateButtonNavigationItem.js:
735         (WebInspector.ActivateButtonNavigationItem.prototype.set activated):
736         (WebInspector.ActivateButtonNavigationItem.prototype.generateStyleText): Deleted.
737         * UserInterface/Views/ButtonNavigationItem.css:
738         (.navigation-bar .item.button):
739         (.navigation-bar .item.button > .glyph):
740         (.navigation-bar .item.button:not(.disabled):active > .glyph):
741         (.navigation-bar .item.button:not(.disabled):matches(:focus, .activate.activated, .radio.selected) > .glyph):
742         (.navigation-bar .item.button:not(.disabled):active:matches(:focus, .activate.activated, .radio.selected) > .glyph):
743         (body.window-inactive .navigation-bar .item.button > .glyph):
744         (.navigation-bar .item.button.disabled > .glyph):
745         (body.window-inactive .navigation-bar .item.button.disabled > .glyph):
746         (.navigation-bar .item.button.text-only): Deleted.
747         (body.window-inactive .navigation-bar .item.button:not(.suppress-emboss) > .glyph): Deleted.
748         (body.window-inactive .navigation-bar .item.button.disabled:not(.suppress-emboss) > .glyph): Deleted.
749         (.navigation-bar .item.button.suppress-emboss): Deleted.
750         (.navigation-bar .item.button.suppress-emboss > .glyph): Deleted.
751         (.navigation-bar .item.button.suppress-emboss:active > .glyph): Deleted.
752         (.navigation-bar .item.button.suppress-emboss.disabled > .glyph): Deleted.
753         * UserInterface/Views/ButtonNavigationItem.js:
754         (WebInspector.ButtonNavigationItem.prototype.set image):
755         (WebInspector.ButtonNavigationItem): Deleted.
756         (WebInspector.ButtonNavigationItem.prototype.get suppressBezel): Deleted.
757         (WebInspector.ButtonNavigationItem.prototype.set suppressBezel): Deleted.
758         (WebInspector.ButtonNavigationItem.prototype.generateStyleText): Deleted.
759         (WebInspector.ButtonNavigationItem.prototype._canvasIdentifier): Deleted.
760         (WebInspector.ButtonNavigationItem.prototype._updateImage): Deleted.
761         (WebInspector.ButtonNavigationItem.prototype._generateImages): Deleted.
762         * UserInterface/Views/ButtonToolbarItem.css:
763         (.toolbar .item.button > .glyph):
764         (.toolbar .item.button:not(.disabled):active > .glyph):
765         * UserInterface/Views/ControlToolbarItem.css:
766         (.toolbar .item.control):
767         (.toolbar .item.control:hover):
768         * UserInterface/Views/MultipleScopeBarItem.js:
769         (WebInspector.MultipleScopeBarItem):
770         * UserInterface/Views/NavigationBar.js:
771         (WebInspector.NavigationBar.prototype.updateLayoutSoon.update):
772         (WebInspector.NavigationBar.prototype.updateLayoutSoon):
773         (WebInspector.NavigationBar): Deleted.
774         (WebInspector.NavigationBar.prototype.insertNavigationItem): Deleted.
775         (WebInspector.NavigationBar.prototype.removeNavigationItem): Deleted.
776         (WebInspector.NavigationBar.prototype.updateLayout): Deleted.
777         (WebInspector.NavigationBar.prototype._updateStyle): Deleted.
778         * UserInterface/Views/NetworkSidebarPanel.js:
779         (WebInspector.NetworkSidebarPanel.prototype.treeElementAddedOrChanged):
780         * UserInterface/Views/RadioButtonNavigationItem.js:
781         (WebInspector.RadioButtonNavigationItem.prototype.set active):
782         (WebInspector.RadioButtonNavigationItem.prototype.generateStyleText): Deleted.
783         * UserInterface/Views/ScopeBar.css:
784         (.scope-bar > li.multiple:matches(.selected, :hover, :active) > .arrows):
785         (.scope-bar > li.multiple:matches(.selected, :hover, :active) > .arrows svg .filled): Deleted.
786         (.scope-bar > li.multiple:matches(.selected, :hover, :active) > .arrows svg .stroked): Deleted.
787         * UserInterface/Views/ScopeBarItem.js:
788         (WebInspector.ScopeBarItem):
789         * UserInterface/Views/ScopeRadioButtonNavigationItem.css:
790         (.scope-radio-button-navigation-item:hover > .arrows):
791         (.scope-radio-button-navigation-item.selected > .arrows > svg .stroked): Deleted.
792         * UserInterface/Views/ScopeRadioButtonNavigationItem.js:
793         (WebInspector.ScopeRadioButtonNavigationItem):
794         * UserInterface/Views/TimelineSidebarPanel.css:
795         (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events > .title-bar-scope-bar > .default-item-selected > .multiple .arrows):
796         (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events > .title-bar-scope-bar > .default-item-selected > .multiple svg .filled): Deleted.
797         (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events > .title-bar-scope-bar > .default-item-selected > .multiple svg .stroked): Deleted.
798         * UserInterface/Views/TimelineSidebarPanel.js:
799         (WebInspector.TimelineSidebarPanel.prototype.treeElementAddedOrChanged):
800         (WebInspector.TimelineSidebarPanel.prototype._timelineAdded):
801         * UserInterface/Views/ToggleButtonNavigationItem.js:
802         (WebInspector.ToggleButtonNavigationItem): Deleted.
803         * UserInterface/Views/TreeElementStatusButton.css:
804         (.item > .status > .status-button):
805         (:matches(:focus, .force-focus) .item.selected > .status > .status-button):
806         (.item > .status > .status-button > svg .filled): Deleted.
807         (:matches(:focus, .force-focus) .item.selected > .status > .status-button > svg .filled): Deleted.
808         (.item > .status > .status-button > svg .stroked): Deleted.
809         (:matches(:focus, .force-focus) .item.selected > .status > .status-button > svg .stroked): Deleted.
810         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
811         (WebInspector.VisualStyleCommaSeparatedKeywordEditor):
812         * UserInterface/Views/VisualStyleDetailsPanel.css:
813         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .header > .visual-style-section-clear):
814         * UserInterface/Views/VisualStyleKeywordIconList.css:
815         (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon.selected):
816         (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:not(.selected) > div):
817         (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon.selected svg .stroked): Deleted.
818         (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon.selected svg .filled): Deleted.
819         * UserInterface/Views/VisualStyleKeywordIconList.js:
820         (WebInspector.VisualStyleKeywordIconList.createListItem):
821         (WebInspector.VisualStyleKeywordIconList):
822         * UserInterface/Views/VisualStylePropertyEditorLink.css:
823         (.visual-style-property-editor-link > .visual-style-property-editor-link-icon > :matches(.linked-icon, .unlinked-icon)):
824         (.visual-style-property-editor-link:not(.linked) > .visual-style-property-editor-link-icon > :matches(.linked-icon, .unlinked-icon)):
825         (.visual-style-property-editor-link > .visual-style-property-editor-link-icon): Deleted.
826         (.visual-style-property-editor-link > .visual-style-property-editor-link-icon > .unlinked-icon svg .filled): Deleted.
827         (.visual-style-property-editor-link > .visual-style-property-editor-link-icon > .unlinked-icon svg .stroked): Deleted.
828         * UserInterface/Views/VisualStylePropertyEditorLink.js:
829         (WebInspector.VisualStylePropertyEditorLink):
830         * UserInterface/Views/VisualStyleSelectorSection.css:
831         (.details-section.visual-style-selector-section > .header > .controls > .visual-style-selector-section-add-rule):
832         * UserInterface/Views/VisualStyleSelectorSection.js:
833         (WebInspector.VisualStyleSelectorSection):
834
835 2015-10-28  Timothy Hatcher  <timothy@apple.com>
836
837         Web Inspector: jsmin.py mistakenly removes whitespace from template literal strings
838         https://bugs.webkit.org/show_bug.cgi?id=148728
839
840         Reviewed by Joseph Pecoraro.
841
842         * Scripts/jsmin.py:
843         (JavascriptMinify.minify): Make backtick a quoting character.
844
845 2015-10-28  Joseph Pecoraro  <pecoraro@apple.com>
846
847         Web Inspector: Timeline recording start button missing when WEB_REPLAY disabled (no ReplayAgent)
848         https://bugs.webkit.org/show_bug.cgi?id=150633
849
850         Reviewed by Timothy Hatcher.
851
852         * UserInterface/Views/TimelineSidebarPanel.js:
853         (WebInspector.TimelineSidebarPanel.prototype._updateReplayInterfaceVisibility):
854         Ensure we pass a boolean to classList.toggle.
855
856 2015-10-27  Joseph Pecoraro  <pecoraro@apple.com>
857
858         Web Inspector: Remove Timeline MarkDOMContent and MarkLoad, data is already available
859         https://bugs.webkit.org/show_bug.cgi?id=150615
860
861         Reviewed by Timothy Hatcher.
862
863         * UserInterface/Controllers/TimelineManager.js:
864         (WebInspector.TimelineManager.prototype._processEvent):
865         Remove the now unneed mark event handling.
866
867         (WebInspector.TimelineManager.prototype.pageDOMContentLoadedEventFired):
868         (WebInspector.TimelineManager.prototype.pageLoadEventFired):
869         Update the main frame and create markers for the current recording.
870
871         * UserInterface/Protocol/PageObserver.js:
872         (WebInspector.PageObserver.prototype.domContentEventFired):
873         (WebInspector.PageObserver.prototype.loadEventFired):
874         Forward to TimelineManager.
875
876 2015-10-27  Joseph Pecoraro  <pecoraro@apple.com>
877
878         Web Inspector: Remove unused / duplicated XHR timeline instrumentation
879         https://bugs.webkit.org/show_bug.cgi?id=150605
880
881         Reviewed by Timothy Hatcher.
882
883         * UserInterface/Controllers/TimelineManager.js:
884         (WebInspector.TimelineManager.prototype._processRecord):
885         Remove unused events and add an assert that we don't miss
886         any script embedders.
887
888 2015-10-27  Matt Baker  <mattbaker@apple.com>
889
890         REGRESSION: Web Inspector: DOM path bar blinks when modifying inline styles
891         https://bugs.webkit.org/show_bug.cgi?id=149258
892
893         Reviewed by Timothy Hatcher.
894
895         Now that Object now longer spams constructor event listeners, ContentBrowser can safely
896         update the NavigationBar synchronously. This fixes the issue, with zero impact on layout
897         responsiveness when selecting Rendering Frames tree elements.
898
899         * UserInterface/Views/ContentBrowser.js:
900         (WebInspector.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange):
901         Force NavigationBar to update synchronously.
902
903 2015-10-27  Joseph Pecoraro  <pecoraro@apple.com>
904
905         Web Inspector: Timeline current time marker does not start moving when starting recording after just opening inspector
906         https://bugs.webkit.org/show_bug.cgi?id=150178
907
908         Reviewed by Brian Burg.
909
910         * UserInterface/Controllers/TimelineManager.js:
911         (WebInspector.TimelineManager.prototype.capturingStarted):
912         * UserInterface/Models/TimelineRecording.js:
913         (WebInspector.TimelineRecording.prototype.initializeTimeBoundsIfNecessary):
914         For a recording to start updating current time the recording itself
915         must have a start time. Provide a setter so that the start time can
916         be set without waiting for a timeline record. For example the
917         timestamp that the frontend receives when it starts a recording.
918
919         * UserInterface/Views/TimelineRecordingContentView.js:
920         (WebInspector.TimelineRecordingContentView.prototype._startUpdatingCurrentTime):
921         When we have a startTime number (new backends) always use it as the current time.
922         Previously we were only doing this if current time was NaN, which would be when
923         re-starting a recording after it had stopped, but not for the initial recording
924         after opening the inspector.
925
926         * UserInterface/Views/TimelineRuler.js:
927         (WebInspector.TimelineRuler.prototype.updateLayout):
928         Even if we do not need to create new time dividers we may need to perform
929         other updates like update the current time marker. So do work before bailing.
930
931 2015-10-26  Matt Baker  <mattbaker@apple.com>
932
933         Web Inspector: WebInspector.Object can dispatch constructor-level events multiple times
934         https://bugs.webkit.org/show_bug.cgi?id=150579
935
936         Reviewed by Timothy Hatcher.
937
938         Use `hasOwnProperty` when checking for constructor event listeners when walking the
939         prototype chain. This prevents listeners registered with a base class constructor
940         from being dispatched multiple times by getting picked up higher in the prototype chain.
941
942         * UserInterface/Base/Object.js:
943         (WebInspector.Object.prototype.dispatchEventToListeners.dispatch):
944         (WebInspector.Object.prototype.dispatchEventToListeners):
945         (WebInspector.Object):
946
947 2015-10-26  Matt Baker  <mattbaker@apple.com>
948
949         Web Inspector: Hundreds of failed assertions after switching to Rendering Frames after recording complete
950         https://bugs.webkit.org/show_bug.cgi?id=150568
951
952         Reviewed by Timothy Hatcher.
953
954         When the TimelineRecordingContentView responds to the current content view changing,
955         the TimelineOverview may be swapped out (if switching from a Timelines content view to a
956         Rendering Frames content view). This patch installs a new overview (if it's changing) prior
957         to setting the TimelineSidebarPanel's tree outline, as setting the tree outline forces
958         filters to run.
959
960         Filtering tree elements requires that the timeline overview is up to date, which was the
961         cause the assertion deluge.
962
963         * UserInterface/Views/TimelineRecordingContentView.js:
964         (WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
965
966 2015-10-26  Joseph Pecoraro  <pecoraro@apple.com>
967
968         Web Inspector: Spacebar to start recording should not cause system beep
969         https://bugs.webkit.org/show_bug.cgi?id=150573
970
971         Reviewed by Timothy Hatcher.
972
973         * UserInterface/Views/TimelineSidebarPanel.js:
974         (WebInspector.TimelineSidebarPanel.prototype._toggleRecordingOnSpacebar):
975         (WebInspector.TimelineSidebarPanel.prototype._toggleNewRecordingOnSpacebar):
976         The keyboard shortcuts do not implicitly prevent default because they may bail.
977         So in cases where they do handle the key, prevent default to prevent system beeps.
978
979 2015-10-26  Matt Baker  <mattbaker@apple.com>
980
981         Web Inspector: Cleanup sidebar panels, reduce `delete` and use Maps instead of objects
982         https://bugs.webkit.org/show_bug.cgi?id=150548
983
984         Reviewed by Timothy Hatcher.
985
986         * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
987         (WebInspector.LayerTreeDetailsSidebarPanel):
988         (WebInspector.LayerTreeDetailsSidebarPanel.prototype._updateDataGrid):
989         (WebInspector.LayerTreeDetailsSidebarPanel.prototype._dataGridNodeForLayer):
990
991         * UserInterface/Views/NavigationSidebarPanel.js:
992         (WebInspector.NavigationSidebarPanel):
993         (WebInspector.NavigationSidebarPanel.restoreStateFromCookie.finalAttemptToRestoreViewStateFromCookie):
994         (WebInspector.NavigationSidebarPanel.restoreStateFromCookie):
995         (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement):
996         (WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
997         (WebInspector.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie):
998         Switched to using Symbol() to set external properties on tree elements.
999
1000         * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
1001         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateCallFramesSection):
1002
1003         * UserInterface/Views/StorageSidebarPanel.js:
1004         (WebInspector.StorageSidebarPanel):
1005         (WebInspector.StorageSidebarPanel.prototype._addDatabase):
1006         (WebInspector.StorageSidebarPanel.prototype._addIndexedDatabase):
1007         (WebInspector.StorageSidebarPanel.prototype._addFrameManifest):
1008         (WebInspector.StorageSidebarPanel.prototype._storageCleared):
1009
1010 2015-10-24  Nikita Vasilyev  <nvasilyev@apple.com>
1011
1012         Unreviewed, rolling out r191419.
1013         https://bugs.webkit.org/show_bug.cgi?id=150537
1014
1015         Reverted changeset:
1016
1017         "Web Inspector: Autocompletion previews in the CSS sidebar do not apply"
1018         https://bugs.webkit.org/show_bug.cgi?id=147720
1019         http://trac.webkit.org/changeset/191419
1020
1021 2015-10-23  Joseph Pecoraro  <pecoraro@apple.com>
1022
1023         Web Inspector: Remove unused ScrollLayer Timeline EventType
1024         https://bugs.webkit.org/show_bug.cgi?id=150518
1025
1026         Reviewed by Timothy Hatcher.
1027
1028         * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
1029         * UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
1030         * UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js:
1031         * Versions/Inspector-iOS-7.0.json:
1032         * Versions/Inspector-iOS-8.0.json:
1033         * Versions/Inspector-iOS-9.0.json:
1034
1035 2015-10-23  Joseph Pecoraro  <pecoraro@apple.com>
1036
1037         Web Inspector: xlink:href should be linkified
1038         https://bugs.webkit.org/show_bug.cgi?id=150505
1039
1040         Reviewed by Timothy Hatcher.
1041
1042         * UserInterface/Base/Main.js:
1043         When opening a URL with a fragment, prefer opening a resource
1044         that has the same URL without the fragment, otherwise this would
1045         open in a new tab.
1046
1047         * UserInterface/Base/URLUtilities.js:
1048         (absoluteURL):
1049         Better handling absoluteURL("#frag", baseURL).
1050
1051         * UserInterface/Views/CodeMirrorAdditions.js:
1052         * UserInterface/Views/DOMTreeElement.js:
1053         (WebInspector.DOMTreeElement.prototype._buildAttributeDOM):
1054         Allow for more "href" style attributes, such as XML namespaced
1055         "xlink:href" attribute names.
1056
1057 2015-10-23  Nikita Vasilyev  <nvasilyev@apple.com>
1058
1059         Web Inspector: Command-Enter in Debugger should show a popover with evaluation result
1060         https://bugs.webkit.org/show_bug.cgi?id=149195
1061
1062         Currenty, the only way to display the popover is to hover over the text with a mouse cursor.
1063         Provide a way to display it via a keyboard shortcut.
1064
1065         Reviewed by Timothy Hatcher.
1066
1067         * UserInterface/Controllers/CodeMirrorCompletionController.js:
1068         (WebInspector.CodeMirrorCompletionController): Deleted.
1069         (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions): Deleted.
1070         Don't evaluate selected text from Debugger or Sources in the console.
1071
1072         * UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
1073         (WebInspector.CodeMirrorTokenTrackingController):
1074         (WebInspector.CodeMirrorTokenTrackingController.prototype._handleCommandEnterKey):
1075         (WebInspector.CodeMirrorTokenTrackingController.prototype._hidePopover):
1076         Cmd-Enter triggers the popover, Esc hides it.
1077
1078         (WebInspector.CodeMirrorTokenTrackingController.prototype.set mode):
1079         (WebInspector.CodeMirrorTokenTrackingController.prototype.removeHighlightedRange):
1080         Don't use delete.
1081
1082         (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseMovedWithMarkedText):
1083         When a token isn't hovered, hide it only when it was triggered not by the keyboard.
1084
1085         (WebInspector.CodeMirrorTokenTrackingController.prototype._markedTextIsNoLongerHovered):
1086         Don't use delete.
1087
1088         (WebInspector.CodeMirrorTokenTrackingController.prototype._updateHoveredTokenInfo):
1089         (WebInspector.CodeMirrorTokenTrackingController.prototype._getTokenInfoForPosition):
1090         Abstract out a no side effects _getTokenInfoForPosition method, which is also used by _handleCommandEnterKey.
1091
1092         (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseMovedOutOfEditor):
1093         (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseButtonWasReleasedOverEditor):
1094         Don't use delete.
1095
1096         (WebInspector.CodeMirrorTokenTrackingController.prototype._processNewHoveredToken):
1097         (WebInspector.CodeMirrorTokenTrackingController.prototype._processNonSymbolToken):
1098         (WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
1099         Pass tokenInfo as an argument to explicitly state that these methods require it.
1100
1101         (WebInspector.CodeMirrorTokenTrackingController.prototype._resetTrackingStates):
1102         Don't use delete.
1103
1104         * UserInterface/Views/SourceCodeTextEditor.js:
1105         (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerHighlightedRangeReleased):
1106         Allow to hide the popover regardless of mouse position. Used when the text cursor moves or
1107         when Esc key is pressed.
1108
1109 2015-10-23  Devin Rousso  <dcrousso+webkit@gmail.com>
1110
1111         Web Inspector: Visual sidebar should support multiple backgrounds
1112         https://bugs.webkit.org/show_bug.cgi?id=148310
1113
1114         Reviewed by Timothy Hatcher.
1115
1116         Changes the layout of the Background - Style section in the Visual sidebar
1117         to be a list instead of a single editable field for a background-image URL.
1118         Allows for comma-separated background properties (both shorthand and
1119         longhand) and displays them all in a single list for editing.
1120
1121         * Localizations/en.lproj/localizedStrings.js:
1122         * UserInterface/Views/VisualStyleColorPicker.js:
1123         (WebInspector.VisualStyleColorPicker):
1124         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css:
1125         (.visual-style-property-container.comma-separated-keyword-editor):
1126         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
1127         (WebInspector.VisualStyleCommaSeparatedKeywordEditor):
1128         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._generateTextFromLonghandProperties.propertyValue):
1129         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._generateTextFromLonghandProperties):
1130         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.modifyPropertyText):
1131         Comma separated properties will now try to assemble a value from related longhand
1132         properties so that a single shorthand property with commas may be used.
1133
1134         * UserInterface/Views/VisualStyleDetailsPanel.css:
1135         (.sidebar > .panel.details.css-style .visual > .details-section.background .details-section.background-style .visual-style-property-container.comma-separated-keyword-editor.background):
1136         * UserInterface/Views/VisualStyleDetailsPanel.js:
1137         (WebInspector.VisualStyleDetailsPanel.prototype._populateBackgroundStyleSection):
1138         (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection):
1139         (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection):
1140         (WebInspector.VisualStyleDetailsPanel.prototype._noRemainingCommaSeparatedEditorItems):
1141         (WebInspector.VisualStyleDetailsPanel.prototype._selectedCommaSeparatedEditorItemValueChanged):
1142         (WebInspector.VisualStyleDetailsPanel.prototype._commaSeparatedEditorTreeItemSelected):
1143         (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.noRemainingTreeItems): Deleted.
1144         (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.selectedBoxShadowItemValueChanged): Deleted.
1145         (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.boxShadowItemSelected): Deleted.
1146         (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.noRemainingTreeItems): Deleted.
1147         (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.selectedtransitionItemValueChanged): Deleted.
1148         (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.transitionItemSelected): Deleted.
1149         Made the "background-image" property into a comma separated editor.
1150
1151         * UserInterface/Views/VisualStyleFontFamilyListEditor.js:
1152         (WebInspector.VisualStyleFontFamilyListEditor):
1153         * UserInterface/Views/VisualStyleKeywordIconList.js:
1154         (WebInspector.VisualStyleKeywordIconList.prototype.set value):
1155         (WebInspector.VisualStyleKeywordIconList.prototype._handleKeywordChanged):
1156         (WebInspector.VisualStyleKeywordIconList):
1157         * UserInterface/Views/VisualStyleKeywordPicker.js:
1158         (WebInspector.VisualStyleKeywordPicker.prototype.updateEditorValues):
1159         (WebInspector.VisualStyleKeywordPicker.prototype._setValue):
1160         * UserInterface/Views/VisualStyleNumberInputBox.js:
1161         (WebInspector.VisualStyleNumberInputBox.prototype.set value):
1162         * UserInterface/Views/VisualStylePropertyCombiner.js:
1163         (WebInspector.VisualStylePropertyCombiner):
1164         (WebInspector.VisualStylePropertyCombiner.prototype.updateValuesFromText.updateCompatibleEditor):
1165         (WebInspector.VisualStylePropertyCombiner.prototype.updateValuesFromText):
1166         * UserInterface/Views/VisualStylePropertyEditor.js:
1167         (WebInspector.VisualStylePropertyEditor):
1168         (WebInspector.VisualStylePropertyEditor.prototype.update):
1169         (WebInspector.VisualStylePropertyEditor.prototype.getValuesFromText):
1170         (WebInspector.VisualStylePropertyEditor.prototype.get propertyMissing):
1171         (WebInspector.VisualStylePropertyEditor.prototype._valueDidChange):
1172         Moved "propertyMissing" into a member variable for better access.
1173
1174         * UserInterface/Views/VisualStyleURLInput.js:
1175         (WebInspector.VisualStyleURLInput):
1176         (WebInspector.VisualStyleURLInput.prototype.get synthesizedValue):
1177         (WebInspector.VisualStyleURLInput.prototype.parseValue):
1178         Added support for specific keywords to be used in the input field.
1179
1180 2015-10-22  Timothy Hatcher  <timothy@apple.com>
1181
1182         Web Inspector: Remove generateColoredImagesForCSS and its clients
1183         https://bugs.webkit.org/show_bug.cgi?id=150474
1184
1185         Reviewed by Joseph Pecoraro.
1186
1187         * UserInterface/Base/ImageUtilities.js:
1188         (generateColoredImage): Deleted.
1189         (imageLoaded): Deleted.
1190         (ensureImageIsLoaded): Deleted.
1191         (restoreImages.restoreActiveImages): Deleted.
1192         (restoreImages): Deleted.
1193         (restoreImage): Deleted.
1194         (update): Deleted.
1195         (generateImage): Deleted.
1196         (generateColoredImagesForCSS): Deleted.
1197
1198         * UserInterface/Base/Main.js:
1199         (WebInspector.loaded): Deleted call to _generateDisclosureTriangleImages.
1200         (WebInspector._generateDisclosureTriangleImages): Deleted.
1201         (WebInspector.createGoToArrowButton): Deleted code to generate the states.
1202
1203         * UserInterface/Images/BackArrow.svg: Removed.
1204         * UserInterface/Images/BackForwardArrows.svg: Added.
1205         * UserInterface/Images/DisclosureTriangleSmallClosed.svg: Removed.
1206         * UserInterface/Images/DisclosureTriangleSmallOpen.svg: Removed.
1207         * UserInterface/Images/DisclosureTriangleTinyClosed.svg: Removed.
1208         * UserInterface/Images/DisclosureTriangleTinyOpen.svg: Removed.
1209         * UserInterface/Images/DisclosureTriangles.svg: Added.
1210         * UserInterface/Images/ForwardArrow.svg: Removed.
1211         * UserInterface/Images/GoToArrow.svg:
1212         * UserInterface/Images/Locked.svg: Moved fill color here.
1213         * UserInterface/Images/SortIndicatorArrows.svg: Added.
1214         * UserInterface/Images/SortIndicatorDownArrow.svg: Removed.
1215         * UserInterface/Images/SortIndicatorUpArrow.svg: Removed.
1216         * UserInterface/Images/gtk/BackArrow.svg: Removed.
1217         * UserInterface/Images/gtk/BackForwardArrows.svg: Added.
1218         * UserInterface/Images/gtk/DisclosureTriangleSmallClosed.svg: Removed.
1219         * UserInterface/Images/gtk/DisclosureTriangleSmallOpen.svg: Removed.
1220         * UserInterface/Images/gtk/DisclosureTriangleTinyClosed.svg: Removed.
1221         * UserInterface/Images/gtk/DisclosureTriangleTinyOpen.svg: Removed.
1222         * UserInterface/Images/gtk/DisclosureTriangles.svg: Added.
1223         * UserInterface/Images/gtk/ForwardArrow.svg: Removed.
1224         * UserInterface/Images/gtk/GoToArrow.svg:
1225         * UserInterface/Images/gtk/Locked.svg: Moved fill color here.
1226         * UserInterface/Images/gtk/SortIndicatorArrows.svg: Added.
1227         * UserInterface/Images/gtk/SortIndicatorDownArrow.svg: Removed.
1228         * UserInterface/Images/gtk/SortIndicatorUpArrow.svg: Removed.
1229
1230         * UserInterface/Views/CSSStyleDeclarationSection.css:
1231         (.style-declaration-section.locked > .header::before):
1232
1233         * UserInterface/Views/CSSStyleDeclarationSection.js:
1234         (WebInspector.CSSStyleDeclarationSection): Deleted.
1235
1236         * UserInterface/Views/ConsoleMessageView.css:
1237         (.console-message.expandable .console-top-level-message::before):
1238         (.console-message.expandable.expanded .console-top-level-message::before):
1239
1240         * UserInterface/Views/ContentBrowser.js:
1241         (WebInspector.ContentBrowser): Use BackForwardArrows.svg.
1242
1243         * UserInterface/Views/DOMTreeOutline.css:
1244         (.dom-tree-outline li.parent::before):
1245         (.dom-tree-outline:focus li.parent.selected::before):
1246         (.dom-tree-outline li.parent.expanded::before):
1247         (.dom-tree-outline:focus li.parent.expanded.selected::before):
1248
1249         * UserInterface/Views/DataGrid.css:
1250         (.data-grid th.sort-ascending > div:first-child::after):
1251         (.data-grid th.sort-descending > div:first-child::after):
1252         (.data-grid tr.parent td.disclosure::before):
1253         (.data-grid tr.parent.expanded td.disclosure::before):
1254         (.data-grid:matches(:focus, .force-focus) tr.parent.selected td.disclosure::before):
1255         (.data-grid:matches(:focus, .force-focus) tr.parent.expanded.selected td.disclosure::before):
1256
1257         * UserInterface/Views/DataGrid.js:
1258         (WebInspector.DataGrid): Deleted call to _generateSortIndicatorImagesIfNeeded.
1259         (WebInspector.DataGrid.prototype._generateSortIndicatorImagesIfNeeded): Deleted.
1260
1261         * UserInterface/Views/DetailsSection.css:
1262         (.details-section > .header::before):
1263         (.details-section > .header:not(.mouse-over-options-element):active::before):
1264         (.details-section.collapsed > .header::before):
1265         (.details-section.collapsed > .header:not(.mouse-over-options-element):active::before):
1266
1267         * UserInterface/Views/DetailsSection.js:
1268         (WebInspector.DetailsSection): Deleted call to _generateDisclosureTrianglesIfNeeded.
1269         (WebInspector.DetailsSection.prototype._generateDisclosureTrianglesIfNeeded): Deleted.
1270
1271         * UserInterface/Views/ErrorObjectView.css:
1272         (.error-object > .formatted-error::before):
1273         (.error-object.expanded > .formatted-error::before):
1274
1275         * UserInterface/Views/FindBanner.css:
1276         (.find-banner > button.segmented.left > .glyph):
1277         (.find-banner > button.segmented.left:active:not(:disabled) > .glyph):
1278         (.find-banner > button.segmented.right > .glyph):
1279         (.find-banner > button.segmented.right:active:not(:disabled) > .glyph):
1280
1281         * UserInterface/Views/FindBanner.js:
1282         (WebInspector.FindBanner): Deleted call to _generateButtonsGlyphsIfNeeded.
1283         (WebInspector.FindBanner.prototype._generateButtonsGlyphsIfNeeded): Deleted.
1284
1285         * UserInterface/Views/LogContentView.css:
1286         (.console-group-title::before):
1287         (.console-group.collapsed .console-group-title::before):
1288
1289         * UserInterface/Views/Main.css:
1290         (.go-to-arrow):
1291         (.go-to-arrow:active):
1292         (:matches(:focus, .force-focus) .selected .go-to-arrow):
1293         (:matches(:focus, .force-focus) .selected .go-to-arrow:active):
1294
1295         * UserInterface/Views/NavigationSidebarPanel.css:
1296         (.navigation-sidebar-panel-content-tree-outline .item .disclosure-button):
1297         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .disclosure-button):
1298         (.navigation-sidebar-panel-content-tree-outline .item.expanded .disclosure-button):
1299         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected.expanded .disclosure-button):
1300
1301         * UserInterface/Views/NavigationSidebarPanel.js:
1302         (WebInspector.NavigationSidebarPanel): Deleted call to _generateDisclosureTrianglesIfNeeded.
1303         (WebInspector.NavigationSidebarPanel.prototype._generateDisclosureTrianglesIfNeeded): Deleted.
1304
1305         * UserInterface/Views/ObjectTreePropertyTreeElement.css:
1306         (.object-tree-property.parent > .disclosure-button):
1307         (.object-tree-property.parent.expanded > .disclosure-button):
1308         (.object-tree-property .read-only): Deleted.
1309
1310         * UserInterface/Views/ObjectTreeView.css:
1311         (.object-tree > :matches(.title, .object-preview)::before):
1312         (.object-tree.expanded > :matches(.title, .object-preview)::before):
1313
1314         * UserInterface/Views/TypeTreeElement.css:
1315         (.type-tree-element.parent > .disclosure-button):
1316         (.type-tree-element.parent.expanded > .disclosure-button):
1317
1318 2015-10-22  Matt Baker  <mattbaker@apple.com>
1319
1320         Web Inspector: CSS Data URIs count against page weight twice
1321         https://bugs.webkit.org/show_bug.cgi?id=150101
1322
1323         Reviewed by Timothy Hatcher.
1324
1325         * UserInterface/Models/DefaultDashboard.js:
1326         (WebInspector.DefaultDashboard.prototype._resourceSizeDidChange):
1327         Exclude resources with a data URI from the total page weight.
1328
1329         * UserInterface/Models/Resource.js:
1330         (WebInspector.Resource):
1331         (WebInspector.Resource.prototype.updateForRedirectResponse):
1332         (WebInspector.Resource.prototype.updateForResponse):
1333         (WebInspector.Resource.prototype.markAsFinished):
1334         Removed uses of `delete`.
1335
1336 2015-10-22  Joseph Pecoraro  <pecoraro@apple.com>
1337
1338         Web Inspector: Remove unused Timeline GCEvent Record type
1339         https://bugs.webkit.org/show_bug.cgi?id=150477
1340
1341         Reviewed by Timothy Hatcher.
1342
1343         iOS backends never emitted a GCEvent timeline event.
1344
1345         * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
1346         * UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
1347         * UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js:
1348         * Versions/Inspector-iOS-7.0.json:
1349         * Versions/Inspector-iOS-8.0.json:
1350         * Versions/Inspector-iOS-9.0.json:
1351
1352 2015-10-22  Joseph Pecoraro  <pecoraro@apple.com>
1353
1354         Web Inspector: srcset attributes should have hyperlinks to the resources
1355         https://bugs.webkit.org/show_bug.cgi?id=150409
1356
1357         Reviewed by Timothy Hatcher.
1358
1359         Follow-up tweaks and fixes that were intended to be landed.
1360
1361         * UserInterface/Views/CodeMirrorAdditions.js:
1362         (tokenizeSrcSetString):
1363         Multiline parsing has issues recovering the state CodeMirror
1364         expects, so we just bail in those cases. Leading whitespace
1365         is also handled poorly, but expected to be rare.
1366
1367         * UserInterface/Views/DOMTreeElement.js:
1368         (WebInspector.DOMTreeElement.prototype._buildAttributeDOM):
1369         Trim to eliminate leading whitespace.
1370
1371 2015-10-22  Joseph Pecoraro  <pecoraro@apple.com>
1372
1373         Web Inspector: Restore :not(:placeholder-shown) behavior on search bars with comments
1374         https://bugs.webkit.org/show_bug.cgi?id=150452
1375
1376         Reviewed by Timothy Hatcher.
1377
1378         * UserInterface/Views/FindBanner.css:
1379         (.find-banner.console-find-banner > input[type="search"]:not(:placeholder-shown)):
1380         * UserInterface/Views/SearchBar.css:
1381         (.search-bar > input[type="search"]:not(:placeholder-shown)):
1382         Add back the placeholder-shown related styles and add a comment about what they are for.
1383
1384 2015-10-22  Devin Rousso  <dcrousso+webkit@gmail.com>
1385
1386         Web Inspector: Tabbing over CSS properties prepended by * doesn't move the highlighted range
1387         https://bugs.webkit.org/show_bug.cgi?id=150294
1388
1389         Reviewed by Timothy Hatcher.
1390
1391         Moving the selected text when tabbing and shift-tabbing now relies upon
1392         the last index of ";" if it exists instead of whether the line ends with it.
1393
1394         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1395         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey):
1396         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey):
1397
1398 2015-10-21  Joseph Pecoraro  <pecoraro@apple.com>
1399
1400         Web Inspector: srcset attributes should have hyperlinks to the resources
1401         https://bugs.webkit.org/show_bug.cgi?id=150409
1402
1403         Reviewed by Timothy Hatcher.
1404
1405         The "srcset" attribute parsing is a simplification of:
1406         https://html.spec.whatwg.org/multipage/embedded-content.html#attr-img-srcset
1407
1408         The "srcset" attribute value is expected to be in comma
1409         separated groups. Within each group we always expect a link,
1410         and an optional descriptor. We want to linkify the link.
1411
1412         * UserInterface/Views/CodeMirrorAdditions.js:
1413         (tokenizeSrcSetString):
1414         (extendedXMLToken):
1415         When parsing srcset attribute, parse links as link tokens
1416         so that they are linkified in resource content views.
1417
1418         * UserInterface/Views/DOMTreeElement.js:
1419         (WebInspector.DOMTreeElement.prototype._buildAttributeDOM):
1420         When creating the DOMTree DOM for srcset attributes,
1421         create link elements for the link values of attribute value.
1422
1423 2015-10-21  Devin Rousso  <dcrousso+webkit@gmail.com>
1424
1425         Web Inspector: Autocompletion previews in the CSS sidebar do not apply
1426         https://bugs.webkit.org/show_bug.cgi?id=147720
1427
1428         Reviewed by Timothy Hatcher.
1429
1430         When autocompletion hints are added to styles or the console, the history
1431         object used by CodeMirror was edited to remove the last entry. Instead of
1432         using this method (which caused glitchy behaviour when undo-ing), call
1433         CodeMirror.undo() and adjust accordingly. In addition, a marker was being
1434         used as the completion hint instead of applying text, whereas these
1435         changes use actual text, ensuring that completions are previewed in the page.
1436
1437         * UserInterface/Controllers/CodeMirrorCompletionController.js:
1438         (WebInspector.CodeMirrorCompletionController):
1439         (WebInspector.CodeMirrorCompletionController.prototype.close):
1440         (WebInspector.CodeMirrorCompletionController.prototype._applyCompletionHint.update):
1441         (WebInspector.CodeMirrorCompletionController.prototype._commitCompletionHint.update):
1442         (WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint.update):
1443         (WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint):
1444         (WebInspector.CodeMirrorCompletionController.prototype._handleBeforeChange):
1445         (WebInspector.CodeMirrorCompletionController.prototype._createCompletionHintMarker): Deleted.
1446         (WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint.clearMarker): Deleted.
1447
1448 2015-10-21  Devin Rousso  <dcrousso+webkit@gmail.com>
1449
1450         Web Inspector: Add forgotten WebInspector.UIString from r190521
1451         https://bugs.webkit.org/show_bug.cgi?id=150425
1452
1453         Reviewed by Timothy Hatcher.
1454
1455         * Localizations/en.lproj/localizedStrings.js:
1456         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1457         (UserInterface/Views/CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded)
1458
1459 2015-10-21  Devin Rousso  <dcrousso+webkit@gmail.com>
1460
1461         Web Inspector: Adjust usages of classList.toggle to ensure a true/false value instead of undefined
1462         https://bugs.webkit.org/show_bug.cgi?id=150424
1463
1464         Reviewed by Timothy Hatcher.
1465
1466         Adds "!!" in front of force parameters in classList.toggle calls that
1467         could possibly be undefined (thereby breaking the UI).
1468
1469         * UserInterface/Views/ScopeBarItem.js:
1470         (WebInspector.ScopeBarItem):
1471         * UserInterface/Views/VisualStyleDetailsPanel.js:
1472         (WebInspector.VisualStyleDetailsPanel.prototype._updateSections):
1473         * UserInterface/Views/VisualStylePropertyEditor.js:
1474         (WebInspector.VisualStylePropertyEditor):
1475
1476 2015-10-21  Devin Rousso  <dcrousso+webkit@gmail.com>
1477
1478         Web Inspector: Option-Up doesn't increment certain attribute values
1479         https://bugs.webkit.org/show_bug.cgi?id=149257
1480
1481         Reviewed by Brian Burg.
1482
1483         If the user tries to modify a numerical attribute in HTML and the cursor
1484         was at the beginning of the attribute value, the range of the selection
1485         was within a sibling element instead of the text node containin the value.
1486         This patch fixes this issue and ensures that the correct text is selected.
1487
1488         * UserInterface/Views/EditingSupport.js:
1489         (WebInspector.startEditing.handleEditingResult):
1490         Replaced var with let.
1491
1492 2015-10-21  Joseph Pecoraro  <pecoraro@apple.com>
1493
1494         Web Inspector: Use some CSS Variables in Web Inspector
1495         https://bugs.webkit.org/show_bug.cgi?id=150405
1496
1497         Reviewed by Timothy Hatcher.
1498
1499         * UserInterface/Main.html:
1500         Include the new variables stylesheet.
1501
1502         * UserInterface/Views/Variables.css: Added.
1503         (:root):
1504         Introduce new global variables.
1505
1506         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
1507         (.css-style-text-editor > .CodeMirror .cm-link):
1508         * UserInterface/Views/ConsoleMessageView.css:
1509         (.console-message-preview-divider):
1510         (.console-message-enclosed):
1511         (.console-message .console-message-extra-parameters-container > li::before):
1512         (.console-saved-variable):
1513         * UserInterface/Views/DOMTreeOutline.css:
1514         (.dom-tree-outline li.selected > span::after):
1515         * UserInterface/Views/FormattedValue.css:
1516         (:matches(.formatted-array, .formatted-map, .formatted-set, .formatted-weakmap, .formatted-weakset) > .size):
1517         (.formatted-number):
1518         (.formatted-boolean):
1519         (.formatted-string):
1520         (.formatted-regexp):
1521         (.formatted-symbol):
1522         * UserInterface/Views/ObjectPreviewView.css:
1523         (.object-preview > .size):
1524         * UserInterface/Views/ObjectTreeArrayIndexTreeElement.css:
1525         (.object-tree-array-index .index-name):
1526         * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
1527         (.syntax-highlighted :matches(.css-keyword, .css-tag, .css-at-rule, .css-important, .javascript-keyword, .html-tag)):
1528         (.syntax-highlighted :matches(.css-number, .javascript-number)):
1529         (.syntax-highlighted :matches(.css-string, .javascript-string, .html-attribute-value)):
1530         (.syntax-highlighted .javascript-regexp):
1531         * UserInterface/Views/TypeTokenView.css:
1532         (.type-token-symbol):
1533         Make use of variables.
1534
1535 2015-10-21  Nikita Vasilyev  <nvasilyev@apple.com>
1536
1537         Web Inspector: Typo in a property name: style.inerhited
1538         https://bugs.webkit.org/show_bug.cgi?id=150391
1539
1540         Reviewed by Csaba Osztrogonác.
1541
1542         * UserInterface/Views/RulesStyleDetailsPanel.js:
1543         (WebInspector.RulesStyleDetailsPanel.prototype.refresh):
1544
1545 2015-10-20  Nikita Vasilyev  <nvasilyev@apple.com>
1546
1547         Web Inspector: Pressing Command-S while focused on the styles sidebar should save CSS file
1548         https://bugs.webkit.org/show_bug.cgi?id=150298
1549
1550         Reviewed by Timothy Hatcher.
1551
1552         * UserInterface/Views/CSSStyleDeclarationSection.js:
1553         (WebInspector.CSSStyleDeclarationSection):
1554         Beep when saving didn't work. Inline CSS and CSS in style attributes aren't curently supported.
1555
1556 2015-10-20  Joseph Pecoraro  <pecoraro@apple.com>
1557
1558         Web Inspector: JavaScriptCore should parse sourceURL and sourceMappingURL directives
1559         https://bugs.webkit.org/show_bug.cgi?id=150096
1560
1561         Reviewed by Geoffrey Garen.
1562
1563         * UserInterface/Test/InspectorProtocol.js:
1564         (InspectorProtocol._sendMessage):
1565         (InspectorProtocol.dispatchMessageFromBackend):
1566         This is only used for tests, so avoid console.log
1567         and just dump directly to the system console.
1568
1569 2015-10-19  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1570
1571         [Streams API] Add skeleton for initial WritableStream support
1572         https://bugs.webkit.org/show_bug.cgi?id=149951
1573
1574         Reviewed by Darin Adler.
1575
1576         * UserInterface/Models/NativeFunctionParameters.js: Added support for WritableStream.
1577
1578 2015-10-19  James Craig  <jcraig@apple.com>
1579
1580         Web Inspector: AX: console list 'input'/'output' markers are not perceivable
1581         https://bugs.webkit.org/show_bug.cgi?id=133045
1582
1583         Enabling WebKit Web Inspector console pseudo-element labels using the new CSS4 'alt' property.
1584
1585         Reviewed by Brian Burg.
1586
1587         * UserInterface/Views/LogContentView.css: 
1588         (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted.selected):
1589         (.console-messages:focus .console-item.selected .console-user-command-result.console-log-level::before):
1590         (@media reader): Deleted.
1591
1592 2015-10-18  Joseph Pecoraro  <pecoraro@apple.com>
1593
1594         Web Inspector: Console Search should update when console is cleared
1595         https://bugs.webkit.org/show_bug.cgi?id=150141
1596
1597         Reviewed by Brian Burg.
1598
1599         * UserInterface/Views/LogContentView.js:
1600         (WebInspector.LogContentView.prototype._logCleared):
1601         Reperform the search if there is a search query.
1602
1603         (WebInspector.LogContentView.prototype._filterMessageElements):
1604         Reperform the current search.
1605
1606 2015-10-16  Joseph Pecoraro  <pecoraro@apple.com>
1607
1608         Web Inspector: Add "unset" to CSS value autocompletion
1609         https://bugs.webkit.org/show_bug.cgi?id=127616
1610
1611         Reviewed by Brian Burg.
1612
1613         * UserInterface/Models/CSSCompletions.js:
1614         * UserInterface/Models/CSSKeywordCompletions.js:
1615         (WebInspector.CSSKeywordCompletions.forProperty):
1616         Treat "unset" similiar to "initial". Also, no need for "initial"
1617         in an individual property's list. We always include it.
1618
1619         * UserInterface/Views/VisualStyleDetailsPanel.js:
1620         (WebInspector.VisualStyleDetailsPanel):
1621         (WebInspector.VisualStyleDetailsPanel.prototype._populateDisplaySection):
1622         (WebInspector.VisualStyleDetailsPanel.prototype._populateAlignmentSection):
1623         Add "Unset" alongside "Initial".
1624
1625 2015-10-14  Joseph Pecoraro  <pecoraro@apple.com>
1626
1627         Web Inspector: Include Garbage Collection Event in Timeline
1628         https://bugs.webkit.org/show_bug.cgi?id=142510
1629
1630         Reviewed by Geoffrey Garen and Brian Burg.
1631
1632         * UserInterface/Base/Utilities.js:
1633         (Array.prototype.partition):
1634         Helper to partition an Array into two arrays.
1635
1636         * Localizations/en.lproj/localizedStrings.js:
1637         * UserInterface/Base/Main.js:
1638         (WebInspector.loaded):
1639         * UserInterface/Test.html:
1640         * UserInterface/Test/Test.js:
1641         (WebInspector.loaded):
1642         * UserInterface/Protocol/HeapObserver.js: Added.
1643         (WebInspector.HeapObserver.prototype.garbageCollected):
1644         (WebInspector.HeapObserver):
1645         Create the new observer and manager.
1646
1647         * UserInterface/Models/GarbageCollection.js: Added.
1648         (WebInspector.GarbageCollection):
1649         (WebInspector.GarbageCollection.fromPayload):
1650         (WebInspector.GarbageCollection.prototype.get type):
1651         (WebInspector.GarbageCollection.prototype.get startTime):
1652         (WebInspector.GarbageCollection.prototype.get endTime):
1653         (WebInspector.GarbageCollection.prototype.get duration):
1654         Model object for Heap.GarbageCollection.
1655
1656         * UserInterface/Controllers/HeapManager.js: Added.
1657         (WebInspector.HeapManager):
1658         (WebInspector.HeapManager.prototype.garbageCollected):
1659         Dispatch events with the GC object.
1660
1661         * UserInterface/Controllers/TimelineManager.js:
1662         (WebInspector.TimelineManager):
1663         (WebInspector.TimelineManager.prototype._garbageCollected):
1664         Include new GC Timeline Events as Script events.
1665
1666         * UserInterface/Views/ScriptTimelineOverviewGraph.js:
1667         (WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout):
1668         For the Script overview, make two sets of bars, one for Scripts and one for GCs.
1669         The GCs bar will be overlaid on top of the the Scripts bar. This is particularly
1670         useful since a GC can happen during script execution.
1671
1672         * UserInterface/Images/TimelineRecordGarbageCollection.svg: Added.
1673         * UserInterface/Main.html:
1674         * UserInterface/Models/ScriptTimelineRecord.js:
1675         (WebInspector.ScriptTimelineRecord.prototype.isGarbageCollection):
1676         (WebInspector.ScriptTimelineRecord.EventType.displayName):
1677         * UserInterface/Views/ScriptTimelineDataGridNode.js:
1678         (WebInspector.ScriptTimelineDataGridNode.prototype.get data):
1679         (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent):
1680         (WebInspector.ScriptTimelineDataGridNode):
1681         * UserInterface/Views/ScriptTimelineView.js:
1682         (WebInspector.ScriptTimelineView.prototype._processPendingRecords):
1683         * UserInterface/Views/SourceCodeTimelineTreeElement.js:
1684         (WebInspector.SourceCodeTimelineTreeElement):
1685         * UserInterface/Views/TimelineIcons.css:
1686         (.garbage-collection-profile-record .icon):
1687         * UserInterface/Views/TimelineRecordBar.css:
1688         (.timeline-record-bar.timeline-record-type-script.script-timeline-record-garbage-collected > .segment):
1689         UI for GC events.
1690
1691         * UserInterface/Views/TimelineRecordBar.js:
1692         (WebInspector.TimelineRecordBar.createCombinedBars):
1693         Simplify by storing start time into a variable.
1694
1695         * UserInterface/Views/TimelineRecordTreeElement.js:
1696         (WebInspector.TimelineRecordTreeElement):
1697         Icon for GC events.
1698
1699 2015-10-15  Commit Queue  <commit-queue@webkit.org>
1700
1701         Unreviewed, rolling out r191135.
1702         https://bugs.webkit.org/show_bug.cgi?id=150197
1703
1704         This patch causes 50+ LayoutTest crashes related to the
1705         inspector (Requested by ryanhaddad on #webkit).
1706
1707         Reverted changeset:
1708
1709         "Web Inspector: JavaScriptCore should parse sourceURL and
1710         sourceMappingURL directives"
1711         https://bugs.webkit.org/show_bug.cgi?id=150096
1712         http://trac.webkit.org/changeset/191135
1713
1714 2015-10-15  Joseph Pecoraro  <pecoraro@apple.com>
1715
1716         Web Inspector: JavaScriptCore should parse sourceURL and sourceMappingURL directives
1717         https://bugs.webkit.org/show_bug.cgi?id=150096
1718
1719         Reviewed by Geoffrey Garen.
1720
1721         * UserInterface/Test/InspectorProtocol.js:
1722         (InspectorProtocol._sendMessage):
1723         (InspectorProtocol.dispatchMessageFromBackend):
1724         This is only used for tests, so avoid console.log
1725         and just dump directly to the system console.
1726
1727 2015-10-13  João Oliveira  <hello@jxs.pt>
1728
1729         Web Inspector: Console SearchBar should work more like ContentBrowser FindBanner
1730         https://bugs.webkit.org/show_bug.cgi?id=149505
1731
1732         Reviewed by Joseph Pecoraro.
1733
1734         Console tab now uses findBanner, adapted LogContentView to use findBanner,
1735         and findBanner to be more agnostic to both usecases, either as fixed, on console tab,
1736         and hideable on other inspector tabs.
1737
1738         * UserInterface/Views/FindBanner.css:
1739         (.find-banner.console-find-banner):
1740         (.find-banner.console-findbanner input[type="search"]):
1741         * UserInterface/Views/FindBanner.js:
1742         (WebInspector.FindBanner):
1743         (WebInspector.FindBanner.set targetElement.delayedWork):
1744         (WebInspector.FindBanner.prototype.set targetElement):
1745         (WebInspector.FindBanner.prototype.get showing):
1746         (WebInspector.FindBanner.prototype.focus):
1747         (WebInspector.FindBanner.prototype._clearAndBlur):
1748         (WebInspector.FindBanner.prototype.show.delayedWork):
1749         (WebInspector.FindBanner.prototype.show):
1750         (WebInspector.FindBanner.prototype.hide):
1751         (WebInspector.FindBanner.prototype.get element): Deleted.
1752         (WebInspector.FindBanner.prototype._inputFieldSearch): Deleted.
1753         * UserInterface/Views/LogContentView.js:
1754         (WebInspector.LogContentView):
1755         (WebInspector.LogContentView.prototype.get navigationItems):
1756         (WebInspector.LogContentView.prototype.handleFindEvent):
1757         (WebInspector.LogContentView.prototype.findBannerRevealPreviousResult):
1758         (WebInspector.LogContentView.prototype.findBannerRevealNextResult):
1759         (WebInspector.LogContentView.prototype._filterMessageElements):
1760         (WebInspector.LogContentView.prototype.findBannerPerformSearch):
1761         (WebInspector.LogContentView.prototype.findBannerSearchCleared):
1762         (WebInspector.LogContentView.prototype.revealNextSearchResult):
1763         (WebInspector.LogContentView.prototype.revealPreviousSearchResult):
1764         (WebInspector.LogContentView.prototype._performSearch):
1765         (WebInspector.LogContentView.prototype.searchBarDidActivate): Deleted.
1766         (WebInspector.LogContentView.prototype._searchTextDidChange): Deleted.
1767
1768 2015-10-13  Nikita Vasilyev  <nvasilyev@apple.com>
1769
1770         REGRESSION(r189567): Web Inspector: Clipped filter icons when debugger sidebar is narrow
1771         https://bugs.webkit.org/show_bug.cgi?id=150023
1772
1773         r189567 changed flexbox items' default min-width from 0 to auto.
1774         Explicitly set it to 0 in CSS.
1775
1776         Reviewed by Brian Burg.
1777
1778         * UserInterface/Views/FilterBar.css:
1779         (.filter-bar > input[type="search"]):
1780
1781 2015-10-13  Yusuke Suzuki  <utatane.tea@gmail.com>
1782
1783         Web Inspector: Don't shadow global Object constructor in WebInspector.Object class definition
1784         https://bugs.webkit.org/show_bug.cgi?id=150093
1785
1786         Reviewed by Joseph Pecoraro.
1787
1788         Currently, class expression does not define any variables. So even in `class Object { }`,
1789         we were able to touch the global Object constructor (like `Object.keys`).
1790         However, that is a bug. After https://bugs.webkit.org/show_bug.cgi?id=150089 fixes that bug,
1791         the global `Object` is shadowed by the user-defined `class Object` name.
1792
1793         To solve this issue, we changed the `class Object` to `class WebInspectorObject`.
1794         And we expose this class as a `WebInspector.Object`.
1795
1796         * UserInterface/Base/Object.js:
1797
1798 2015-10-10  Nikita Vasilyev  <nvasilyev@apple.com>
1799
1800         Web Inspector: Improve error messages for internal Inspector code
1801         https://bugs.webkit.org/show_bug.cgi?id=149995
1802
1803         Don't log "error.stack" since the error view already includes a nicely formatted stacktrace.
1804
1805         Reviewed by Timothy Hatcher.
1806
1807         * UserInterface/Protocol/InspectorBackend.js:
1808         (InspectorBackendClass.prototype._dispatchResponseToCallback):
1809         (InspectorBackendClass.prototype._dispatchEvent):
1810
1811 2015-10-08  Nikita Vasilyev  <nvasilyev@apple.com>
1812
1813         Web Inspector: Stack trace view doesn't properly display lines without function names
1814         https://bugs.webkit.org/show_bug.cgi?id=149922
1815
1816         Reviewed by Timothy Hatcher.
1817
1818         * UserInterface/Models/StackTrace.js:
1819         (WebInspector.StackTrace._parseStackTrace):
1820         (WebInspector.StackTrace._parseLocation): Added.
1821
1822 2015-10-08  Nikita Vasilyev  <nvasilyev@apple.com>
1823
1824         Web Inspector: An error view doesn't get expanded by clicking on the expand arrow
1825         https://bugs.webkit.org/show_bug.cgi?id=149917
1826
1827         Reviewed by Timothy Hatcher.
1828
1829         * UserInterface/Views/ErrorObjectView.css:
1830         (.error-object > .formatted-error::before):
1831         (.error-object.expanded > .formatted-error::before):
1832         (.error-object::before): Deleted.
1833         (.error-object.expanded::before): Deleted.
1834
1835 2015-10-06  Nikita Vasilyev  <nvasilyev@apple.com>
1836
1837         Web Inspector: Clicking on a stack trace link does not navigate to the corresponding line
1838         https://bugs.webkit.org/show_bug.cgi?id=149405
1839
1840         lineNumber should be a number type but it was a string.
1841
1842         Reviewed by Timothy Hatcher.
1843
1844         * UserInterface/Base/Main.js:
1845         (WebInspector.openURL):
1846         (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
1847         Keep lineNumber undefined when it isn't present in the string.
1848         WebInspector.linkifyStringAsFragmentWithCustomLinkifier is only used by
1849         WebInspector.linkifyStringAsFragment and it expects lineNumber to be undefined
1850         when it wasn't found in the parsed string.
1851
1852 2015-10-06  Devin Rousso  <dcrousso+webkit@gmail.com>
1853
1854         Web Inspector: Fix spacing of FindBanner prev/next buttons
1855         https://bugs.webkit.org/show_bug.cgi?id=149717
1856
1857         Reviewed by Darin Adler.
1858
1859         The sizing and spacing of the previous and next buttons in the FindBanner
1860         is slightly off and should be readjusted to ensure that both buttons are
1861         the same size and have the same spacing.
1862
1863         * UserInterface/Views/FindBanner.css:
1864         (.find-banner > button.segmented.right > .glyph):
1865         (.find-banner > button.segmented):
1866         (.find-banner > button.segmented > .glyph):
1867         (.find-banner > button.segmented.left): Deleted.
1868         (.find-banner > button.segmented.left > .glyph): Deleted.
1869         (.find-banner > button.segmented.right): Deleted.
1870
1871 2015-10-06  Joseph Pecoraro  <pecoraro@apple.com>
1872
1873         Web Inspector: Simplify TimelineRecordBar a bit
1874         https://bugs.webkit.org/show_bug.cgi?id=149733
1875
1876         Reviewed by Timothy Hatcher.
1877
1878         * UserInterface/Views/TimelineRecordBar.js:
1879         (WebInspector.TimelineRecordBar.prototype.set records):
1880
1881 2015-10-05  Nikita Vasilyev  <nvasilyev@apple.com>
1882
1883         Web Inspector: Error displayed as an object when passed as a second argument to console.log
1884         https://bugs.webkit.org/show_bug.cgi?id=149799
1885
1886         Reviewed by Joseph Pecoraro.
1887
1888         * UserInterface/Views/ConsoleMessageView.js:
1889         (WebInspector.ConsoleMessageView.prototype._appendExtraParameters):
1890         Don't format errors as objects.
1891
1892         (WebInspector.ConsoleMessageView.prototype._formatParameter):
1893         (WebInspector.ConsoleMessageView.prototype._formatParameterAsValue):
1894         (WebInspector.ConsoleMessageView.prototype._formatParameterAsString):
1895         (WebInspector.ConsoleMessageView.prototype._formatParameterAsNode):
1896         (WebInspector.ConsoleMessageView.prototype._formatParameterAsObject):
1897         (WebInspector.ConsoleMessageView.prototype._formatParameterAsError):
1898         (WebInspector.ConsoleMessageView.prototype._formatParameterAsArray):
1899         Replace an unnecessary span element with a document fragment.
1900
1901         * UserInterface/Views/ErrorObjectView.css:
1902         (.error-object):
1903         Display an error object on the same line as a list bullet.
1904
1905 2015-10-05  Myles C. Maxfield  <mmaxfield@apple.com>
1906
1907         Unprefix -webkit-font-feature-settings
1908         https://bugs.webkit.org/show_bug.cgi?id=149722
1909
1910         Reviewed by Sam Weinig.
1911
1912         * UserInterface/Models/CSSKeywordCompletions.js:
1913
1914 2015-10-04  Nikita Vasilyev  <nvasilyev@apple.com>
1915
1916         Web Inspector: Wrong column numbers in error object views
1917         https://bugs.webkit.org/show_bug.cgi?id=149795
1918
1919         Convert columnNumber and lineNumber properties from strings to numbers
1920         to prevent accidental string concatenations.
1921
1922         Reviewed by Timothy Hatcher.
1923
1924         * UserInterface/Models/StackTrace.js:
1925         (WebInspector.StackTrace._parseStackTrace):
1926
1927 2015-10-02  Matt Baker  <mattbaker@apple.com>
1928
1929         Web Inspector: Add breakpoint option to ignore n times before stopping
1930         https://bugs.webkit.org/show_bug.cgi?id=147664
1931
1932         Reviewed by Timothy Hatcher.
1933
1934         * Localizations/en.lproj/localizedStrings.js:
1935         New strings for breakpoint popover labels.
1936
1937         * UserInterface/Controllers/BreakpointPopoverController.js:
1938         (WebInspector.BreakpointPopoverController.prototype._createPopoverContent):
1939         Add ignoreCount UI to popover, if backend support exists. UI based on same
1940         feature in Xcode's breakpoint editing dialog.
1941         (WebInspector.BreakpointPopoverController.prototype._popoverIgnoreInputChanged):
1942         User input sanity checks on numeric input.
1943
1944         * UserInterface/Controllers/DebuggerManager.js:
1945         Listen for changes to breakpoint ignoreCount property.
1946
1947         * UserInterface/Models/Breakpoint.js:
1948         (WebInspector.Breakpoint):
1949         (WebInspector.Breakpoint.prototype.get ignoreCount):
1950         (WebInspector.Breakpoint.prototype.set ignoreCount):
1951         New property for ignoreCount.
1952         (WebInspector.Breakpoint.prototype.get options):
1953         Added ignoreCount to options object.
1954         (WebInspector.Breakpoint.prototype.get info):
1955         Added ignoreCount to info object.
1956
1957         * UserInterface/Views/BreakpointPopoverController.css:
1958         (#edit-breakpoint-popover-ignore):
1959         New styles for breakpoint popover.
1960
1961 2015-10-02  Matt Baker  <mattbaker@apple.com>
1962
1963         Web Inspector: Cleanup DebuggerManager, reduce `delete` and use Maps instead of objects
1964         https://bugs.webkit.org/show_bug.cgi?id=149760
1965
1966         Reviewed by Joseph Pecoraro.
1967
1968         Replaced objects used as hashmaps with Map.
1969
1970         * UserInterface/Controllers/DebuggerManager.js:
1971         (WebInspector.DebuggerManager.prototype.breakpointsForSourceCode):
1972         (WebInspector.DebuggerManager.prototype.breakpointForIdentifier):
1973         (WebInspector.DebuggerManager.prototype.scriptForIdentifier):
1974         (WebInspector.DebuggerManager.prototype.scriptsForURL):
1975         (WebInspector.DebuggerManager.prototype.get knownNonResourceScripts):
1976         (WebInspector.DebuggerManager.prototype.removeBreakpoint):
1977         (WebInspector.DebuggerManager.prototype.breakpointResolved):
1978         (WebInspector.DebuggerManager.prototype.reset):
1979         (WebInspector.DebuggerManager.prototype.scriptDidParse):
1980         (WebInspector.DebuggerManager.prototype._sourceCodeLocationFromPayload):
1981         (WebInspector.DebuggerManager.prototype._setBreakpoint.didSetBreakpoint):
1982         (WebInspector.DebuggerManager.prototype._setBreakpoint):
1983         (WebInspector.DebuggerManager.prototype._removeBreakpoint.didRemoveBreakpoint):
1984         (WebInspector.DebuggerManager.prototype._removeBreakpoint):
1985
1986 2015-10-02  Devin Rousso  <dcrousso+webkit@gmail.com>
1987
1988         Web Inspector: Copying inline style text puts "undefined" in the pasteboard
1989         https://bugs.webkit.org/show_bug.cgi?id=149155
1990
1991         Reviewed by Brian Burg.
1992
1993         CSSStyleDeclarations for inline styles do not have a owner CSSRule, which means
1994         that they do not have a selector or media list. CSS strings must have a selector
1995         and, for inline styles without an owner rule and selector, this was a problem.
1996
1997         * UserInterface/Models/CSSStyleDeclaration.js:
1998         (WebInspector.CSSStyleDeclaration.prototype.get mediaList):
1999         (WebInspector.CSSStyleDeclaration.prototype.get selectorText):
2000         (WebInspector.CSSStyleDeclaration.prototype.generateCSSRuleString):
2001         Added getters for the list of media queries and selector text with fallbacks
2002         for CSSStyleDeclarations that do not have an owner CSSRule (inline styles).
2003
2004         * UserInterface/Test.html:
2005         Added CSSMedia include for new inspector/css/generate-css-rule-string.html test.
2006
2007         * UserInterface/Views/VisualStyleSelectorTreeItem.js:
2008         (WebInspector.VisualStyleSelectorTreeItem.prototype._handleContextMenuEvent):
2009         Removed parameter that no longer exists.
2010
2011 2015-10-02  Joseph Pecoraro  <pecoraro@apple.com>
2012
2013         Unreviewed, rolling out r190520, some tests assert / crash.
2014
2015         * Localizations/en.lproj/localizedStrings.js:
2016         * UserInterface/Base/Main.js:
2017         (WebInspector.loaded): Deleted.
2018         * UserInterface/Base/Utilities.js:
2019         (value): Deleted.
2020         * UserInterface/Controllers/HeapManager.js: Removed.
2021         * UserInterface/Controllers/TimelineManager.js:
2022         (WebInspector.TimelineManager): Deleted.
2023         (WebInspector.TimelineManager.prototype._garbageCollected): Deleted.
2024         * UserInterface/Images/TimelineRecordGarbageCollection.svg: Removed.
2025         * UserInterface/Main.html:
2026         * UserInterface/Models/GarbageCollection.js: Removed.
2027         * UserInterface/Models/ScriptTimelineRecord.js:
2028         (WebInspector.ScriptTimelineRecord.EventType.displayName):
2029         (WebInspector.ScriptTimelineRecord.prototype.isGarbageCollection): Deleted.
2030         * UserInterface/Protocol/HeapObserver.js: Removed.
2031         * UserInterface/Test.html:
2032         * UserInterface/Test/Test.js:
2033         (WebInspector.loaded): Deleted.
2034         * UserInterface/Views/ScriptTimelineDataGridNode.js:
2035         (WebInspector.ScriptTimelineDataGridNode.prototype.get data):
2036         (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent): Deleted.
2037         (WebInspector.ScriptTimelineDataGridNode): Deleted.
2038         * UserInterface/Views/ScriptTimelineOverviewGraph.js:
2039         (WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout):
2040         * UserInterface/Views/ScriptTimelineView.js:
2041         (WebInspector.ScriptTimelineView.prototype._processPendingRecords):
2042         * UserInterface/Views/SourceCodeTimelineTreeElement.js:
2043         (WebInspector.SourceCodeTimelineTreeElement):
2044         * UserInterface/Views/TimelineIcons.css:
2045         (.garbage-collection-profile-record .icon): Deleted.
2046         * UserInterface/Views/TimelineRecordBar.css:
2047         (.timeline-record-bar.timeline-record-type-script.script-timeline-record-garbage-collected > .segment): Deleted.
2048         * UserInterface/Views/TimelineRecordBar.js:
2049         (WebInspector.TimelineRecordBar.createCombinedBars):
2050         * UserInterface/Views/TimelineRecordTreeElement.js:
2051         (WebInspector.TimelineRecordTreeElement):
2052
2053 2015-10-02  Devin Rousso  <dcrousso+webkit@gmail.com>
2054
2055         Web Inspector: Option-Click on a property name in the Computed view should jump to resource view
2056         https://bugs.webkit.org/show_bug.cgi?id=149521
2057
2058         Reviewed by Timothy Hatcher.
2059
2060         * UserInterface/Models/DOMNodeStyles.js:
2061         (WebInspector.DOMNodeStyles.prototype.effectivePropertyForName):
2062         Now tries to search for a non-canonical property before falling back to
2063         the canonical version.
2064
2065         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2066         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded):
2067         If the user option-clicks the goto arrow, it shows the source for the
2068         property instead.
2069
2070         * UserInterface/Views/ComputedStyleDetailsPanel.js:
2071         (WebInspector.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorShowProperty.delegateShowProperty):
2072         (WebInspector.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorShowProperty):
2073         Attempts to show the source of the given property. Will fallback to
2074         highlighting the property in the rules panel.
2075
2076 2015-10-02  Joseph Pecoraro  <pecoraro@apple.com>
2077
2078         Web Inspector: Include Garbage Collection Event in Timeline
2079         https://bugs.webkit.org/show_bug.cgi?id=142510
2080
2081         Reviewed by Geoffrey Garen.
2082
2083         * UserInterface/Base/Utilities.js:
2084         (Array.prototype.parition):
2085         Helper to partition an Array into two arrays.
2086
2087         * UserInterface/Main.html:
2088         * Localizations/en.lproj/localizedStrings.js:
2089         * UserInterface/Base/Main.js:
2090         (WebInspector.loaded):
2091         * UserInterface/Test.html:
2092         * UserInterface/Test/Test.js:
2093         (WebInspector.loaded):
2094         * UserInterface/Protocol/HeapObserver.js:
2095         (WebInspector.HeapObserver.prototype.garbageCollected):
2096         (WebInspector.HeapObserver):
2097         Create the new observer and manager.
2098
2099         * UserInterface/Models/GarbageCollection.js:
2100         (WebInspector.GarbageCollection):
2101         (WebInspector.GarbageCollection.fromPayload):
2102         (WebInspector.GarbageCollection.prototype.get type):
2103         (WebInspector.GarbageCollection.prototype.get startTime):
2104         (WebInspector.GarbageCollection.prototype.get endTime):
2105         (WebInspector.GarbageCollection.prototype.get duration):
2106         Model object for Heap.GarbageCollection.
2107
2108         * UserInterface/Controllers/HeapManager.js:
2109         (WebInspector.HeapManager):
2110         (WebInspector.HeapManager.prototype.garbageCollected):
2111         Dispatch events with.
2112
2113         * UserInterface/Controllers/TimelineManager.js:
2114         (WebInspector.TimelineManager):
2115         (WebInspector.TimelineManager.prototype._garbageCollected):
2116         Include new GC Timeline Events as Script events.
2117
2118         * UserInterface/Views/ScriptTimelineOverviewGraph.js:
2119         (WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout):
2120         For the Script overview, make two sets of bars, one for Scripts and one for GCs.
2121         The GCs bar will be on top of the the Scripts bar. This is particularly useful
2122         since a GC can happen during script execution.
2123
2124         * UserInterface/Views/ScriptTimelineDataGridNode.js:
2125         (WebInspector.ScriptTimelineDataGridNode.prototype.get data):
2126         (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent):
2127         (WebInspector.ScriptTimelineDataGridNode):
2128         Give a NaN call count to top level Script DataGridNodes.
2129         In the UI, display the empty placeholder for NaN call counts.
2130
2131         * UserInterface/Images/TimelineRecordGarbageCollection.svg: Added.
2132         * UserInterface/Models/ScriptTimelineRecord.js:
2133         (WebInspector.ScriptTimelineRecord.prototype.isGarbageCollection):
2134         (WebInspector.ScriptTimelineRecord.EventType.displayName):
2135         * UserInterface/Views/ScriptTimelineView.js:
2136         (WebInspector.ScriptTimelineView.prototype._processPendingRecords):
2137         * UserInterface/Views/SourceCodeTimelineTreeElement.js:
2138         (WebInspector.SourceCodeTimelineTreeElement):
2139         * UserInterface/Views/TimelineIcons.css:
2140         (.garbage-collection-profile-record .icon):
2141         * UserInterface/Views/TimelineRecordBar.css:
2142         (.timeline-record-bar.timeline-record-type-script.script-timeline-record-garbage-collected > .segment):
2143         UI for GC events.
2144
2145         * UserInterface/Views/TimelineRecordBar.js:
2146         (WebInspector.TimelineRecordBar.createCombinedBars):
2147         Simplify by storing start time into a variable.
2148
2149         * UserInterface/Views/TimelineRecordTreeElement.js:
2150         (WebInspector.TimelineRecordTreeElement):
2151         Icon for GC events.
2152
2153 2015-10-02  Nikita Vasilyev  <nvasilyev@apple.com>
2154
2155         Web Inspector: Fix indentation of console message parameters
2156         https://bugs.webkit.org/show_bug.cgi?id=149740
2157
2158         Reviewed by Darin Adler.
2159
2160         * UserInterface/Views/ConsoleMessageView.css:
2161         (.console-message .console-message-stack-trace-container > li):
2162         (.console-message .console-message-extra-parameters-container > li::before):
2163
2164 2015-10-02  Andres Gomez  <agomez@igalia.com>
2165
2166         [GTK] Web Inspector: Add GTK+ icons for new plus icons in the style sidebar
2167         https://bugs.webkit.org/show_bug.cgi?id=149227
2168
2169         Reviewed by Carlos Garcia Campos.
2170
2171         * UserInterface/Images/gtk/NewTabPlus.svg: Updated.
2172         * UserInterface/Images/gtk/Plus13.svg: Copied from Source/WebInspectorUI/UserInterface/Images/gtk/Plus.svg.
2173         * UserInterface/Images/gtk/Plus15.svg: Renamed from Source/WebInspectorUI/UserInterface/Images/gtk/Plus.svg.
2174
2175 2015-10-01  Joseph Pecoraro  <pecoraro@apple.com>
2176
2177         Web Inspector: Simplify filterableData processing
2178         https://bugs.webkit.org/show_bug.cgi?id=149730
2179
2180         Reviewed by Timothy Hatcher.
2181
2182         * UserInterface/Views/BreakpointTreeElement.js:
2183         (WebInspector.BreakpointTreeElement.prototype.get filterableData):
2184         * UserInterface/Views/NavigationSidebarPanel.js:
2185         (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.matchTextFilter):
2186         * UserInterface/Views/ResourceTreeElement.js:
2187         (WebInspector.ResourceTreeElement.prototype.get filterableData):
2188         * UserInterface/Views/ScriptTimelineView.js:
2189         (WebInspector.ScriptTimelineView.prototype.matchTreeElementAgainstCustomFilters): Deleted.
2190         * UserInterface/Views/SearchResultTreeElement.js:
2191         (WebInspector.SearchResultTreeElement.prototype.get filterableData):
2192         (WebInspector.SearchResultTreeElement):
2193
2194 2015-10-01  Joseph Pecoraro  <pecoraro@apple.com>
2195
2196         Web Inspector: Do not immediately create all ProfileNodeTreeElements when showing JavaScript and Events timeline
2197         https://bugs.webkit.org/show_bug.cgi?id=149726
2198
2199         Reviewed by Timothy Hatcher.
2200
2201         * UserInterface/Views/NavigationSidebarPanel.js:
2202         (WebInspector.NavigationSidebarPanel.prototype.shouldFilterPopulate):
2203         (WebInspector.NavigationSidebarPanel.prototype._updateFilter):
2204         (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
2205         We were populating during filtering if there were any custom filters.
2206         However the TimelineSidebarPanel has custom filters (based on time and type)
2207         but those don't need to trigger population. Delay population until it
2208         would actually be needed (like a text search).
2209
2210         * UserInterface/Views/TimelineSidebarPanel.js:
2211         (WebInspector.TimelineSidebarPanel.prototype.shouldFilterPopulate):
2212         Do not populate on filter via this custom filters.
2213
2214 2015-10-01  Matt Baker  <mattbaker@apple.com>
2215
2216         Web Inspector: REGRESSION (r189567): Toolbar collapses when inspector at minimum height with console open
2217         https://bugs.webkit.org/show_bug.cgi?id=149725
2218
2219         Reviewed by Timothy Hatcher.
2220
2221         CSS Flexible Box Layout Module Level 1 introduces a new `auto` initial value for the min-{width|height}
2222         of flex box items, breaking some areas of the inspector UI. This is fixed by setting a min-height of
2223         zero for the #main <div>.
2224
2225         * UserInterface/Views/Main.css:
2226         (#main):
2227
2228 2015-10-01  Nikita Vasilyev  <nvasilyev@apple.com>
2229
2230         Web Inspector: Clip string previews
2231         https://bugs.webkit.org/show_bug.cgi?id=149708
2232
2233         Only show first 140 characters in strings previews.
2234
2235         Reviewed by Joseph Pecoraro.
2236
2237         * UserInterface/Base/Utilities.js:
2238         (String.prototype.truncate): Added.
2239         A smart trancate function that doesn't split words.
2240
2241         * UserInterface/Views/ConsoleMessageView.js:
2242         (WebInspector.ConsoleMessageView.prototype._shouldConsiderObjectLossless):
2243         * UserInterface/Views/FormattedValue.js:
2244         (WebInspector.FormattedValue.createElementForTypesAndValue):
2245
2246 2015-09-30  João Oliveira  <hello@jxs.pt>
2247
2248         Web Inspector: Adjust font size of Developer Tools using Command,+ or Command,-
2249         https://bugs.webkit.org/show_bug.cgi?id=149590
2250
2251         Reviewed by Joseph Pecoraro.
2252
2253         Patch by João Oliveira and Brian Burg.
2254
2255         * UserInterface/Base/Main.js:
2256         (WebInspector.contentLoaded): Add global keyboard shortcuts for zoom in and zoom out.
2257
2258 2015-10-01  Andres Gomez  <agomez@igalia.com>
2259
2260         [GTK] Web Inspector: Add GTK+ icons for the numerical input and slider based Visual editors for CSS properties
2261         https://bugs.webkit.org/show_bug.cgi?id=147847
2262
2263         Reviewed by Carlos Garcia Campos.
2264
2265         * UserInterface/Images/gtk/VisualStylePropertyLinked.svg: Added.
2266         * UserInterface/Images/gtk/VisualStylePropertyUnlinked.svg: Added.
2267
2268 2015-10-01  Andres Gomez  <agomez@igalia.com>
2269
2270         [GTK] Web Inspector: Add GTK+ icons for the different types of non-numerical Visual editors for CSS properties
2271         https://bugs.webkit.org/show_bug.cgi?id=147846
2272
2273         Reviewed by Carlos Garcia Campos.
2274
2275         * UserInterface/Images/gtk/AUTHORS: Updated.
2276         * UserInterface/Images/gtk/ClearBoth.svg: Added.
2277         * UserInterface/Images/gtk/ClearLeft.svg: Added.
2278         * UserInterface/Images/gtk/ClearRight.svg: Added.
2279         * UserInterface/Images/gtk/CubicBezier.svg: Updated.
2280         * UserInterface/Images/gtk/FloatLeft.svg: Added.
2281         * UserInterface/Images/gtk/FloatRight.svg: Added.
2282         * UserInterface/Images/gtk/FontStyleItalic.svg: Added.
2283         * UserInterface/Images/gtk/FontStyleNormal.svg: Added.
2284         * UserInterface/Images/gtk/FontVariantSmallCaps.svg: Added.
2285         * UserInterface/Images/gtk/TextAlignCenter.svg: Added.
2286         * UserInterface/Images/gtk/TextAlignJustify.svg: Added.
2287         * UserInterface/Images/gtk/TextAlignLeft.svg: Added.
2288         * UserInterface/Images/gtk/TextAlignRight.svg: Added.
2289         * UserInterface/Images/gtk/TextDecorationLineThrough.svg: Added.
2290         * UserInterface/Images/gtk/TextDecorationOverline.svg: Added.
2291         * UserInterface/Images/gtk/TextDecorationUnderline.svg: Added.
2292         * UserInterface/Images/gtk/TextTransformCapitalize.svg: Added.
2293         * UserInterface/Images/gtk/TextTransformLowercase.svg: Added.
2294         * UserInterface/Images/gtk/TextTransformUppercase.svg: Added.
2295         * UserInterface/Images/gtk/VisualStyleNone.svg: Added.
2296
2297 2015-09-30  Joseph Pecoraro  <pecoraro@apple.com>
2298
2299         Web Inspector: Reduce `delete` in Timeline related classes
2300         https://bugs.webkit.org/show_bug.cgi?id=149686
2301
2302         Reviewed by Timothy Hatcher.
2303
2304         * UserInterface/Controllers/TimelineManager.js:
2305         (WebInspector.TimelineManager.prototype.capturingStopped):
2306         * UserInterface/Views/TimelineDataGrid.js:
2307         (WebInspector.TimelineDataGrid.prototype._refreshDirtyDataGridNodes):
2308         (WebInspector.TimelineDataGrid.prototype._sort):
2309         (WebInspector.TimelineDataGrid.prototype._updatePopoverForSelectedNode):
2310         * UserInterface/Views/TimelineOverview.js:
2311         (WebInspector.TimelineOverview.prototype.updateLayout):
2312         (WebInspector.TimelineOverview.prototype._handleScrollEvent):
2313         * UserInterface/Views/TreeOutlineDataGridSynchronizer.js:
2314         (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeOutlineScrolled):
2315         (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridScrolled):
2316
2317         * UserInterface/Views/ProbeSetDataGrid.js:
2318         (WebInspector.ProbeSetDataGrid):
2319         (WebInspector.ProbeSetDataGrid.prototype._teardownData):
2320         Remove an unused member variable as well.
2321
2322 2015-09-30  Joseph Pecoraro  <pecoraro@apple.com>
2323
2324         Web Inspector: Thousands of timers fire after switching to JavaScript and Events timeline
2325         https://bugs.webkit.org/show_bug.cgi?id=149682
2326
2327         Reviewed by Timothy Hatcher.
2328
2329         Setting the status element of a GeneralTreeElement was triggering a
2330         TreeOutline.onchange event. For TreeOutlines with lots of tree elements
2331         (JavaScript & Events with profile nodes) this could result in thousands
2332         of onchange events that causes lots of unnecessary work and blocks
2333         future timers (like scroll synchronization) from firing.
2334
2335         This change eliminates TreeOutline change events for tree element
2336         changes that are not interesting.
2337
2338         * UserInterface/Views/GeneralTreeElement.js:
2339         (WebInspector.GeneralTreeElement.prototype.set status): Deleted.
2340         * UserInterface/Views/TreeOutline.js:
2341         (WebInspector.TreeElement.prototype.set tooltip): Deleted.
2342
2343 2015-09-30  Joseph Pecoraro  <pecoraro@apple.com>
2344
2345         Web Inspector: Reduce `delete` in TreeElements and DataGridNodes
2346         https://bugs.webkit.org/show_bug.cgi?id=149680
2347
2348         Reviewed by Timothy Hatcher.
2349
2350         * UserInterface/Views/BreakpointTreeElement.js:
2351         (WebInspector.BreakpointTreeElement):
2352         (WebInspector.BreakpointTreeElement.prototype._removeProbeSet):
2353         * UserInterface/Views/DataGrid.js:
2354         (WebInspector.DataGrid.prototype._editingCommitted.moveToNextCell):
2355         (WebInspector.DataGrid.prototype._editingCommitted):
2356         (WebInspector.DataGrid.prototype._editingCancelled):
2357         (WebInspector.DataGrid.prototype.removeColumn):
2358         (WebInspector.DataGridNode.prototype.refreshIfNeeded):
2359         (WebInspector.DataGridNode.prototype.refresh):
2360         (WebInspector.DataGridNode.prototype.expand):
2361         (WebInspector.DataGridNode.prototype.restorePosition):
2362         (WebInspector.DataGridNode):
2363         * UserInterface/Views/GeneralTreeElement.js:
2364         (WebInspector.GeneralTreeElement.prototype.ondetach):
2365         * UserInterface/Views/ResourceTimelineDataGridNode.js:
2366         (WebInspector.ResourceTimelineDataGridNode.prototype.refresh):
2367         * UserInterface/Views/TreeOutline.js:
2368         (WebInspector.TreeElement.prototype._fireDidChange):
2369         (WebInspector.TreeElement.prototype.expand):
2370
2371 2015-09-30  Andres Gomez  <agomez@igalia.com>
2372
2373         [GTK] Web Inspector: Add GTK+ icon for the Bezier curve visual editor
2374         https://bugs.webkit.org/show_bug.cgi?id=147681
2375
2376         Reviewed by Joseph Pecoraro.
2377
2378         * UserInterface/Images/gtk/CubicBezier.svg: Added.
2379
2380 2015-09-29  Joseph Pecoraro  <pecoraro@apple.com>
2381
2382         Web Inspector: Console completion suggestions should include properties on Object (hasOwnProperty, toString, etc)
2383         https://bugs.webkit.org/show_bug.cgi?id=149649
2384
2385         Reviewed by Darin Adler.
2386
2387         * UserInterface/Base/Utilities.js:
2388         (value):
2389         Since keySets in this instance are often used as hash maps with the
2390         `in` operator, create a blank object that won't have Object.prototype
2391         functions that would be seen by `in`.
2392
2393         * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
2394         (WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.receivedPropertyNames.compare):
2395         Sort __defineGetter__ and __lookupGetter__ and friends last, since they
2396         are rarely used properties.
2397
2398 2015-09-29  Joseph Pecoraro  <pecoraro@apple.com>
2399
2400         Web Inspector: Missing completions for Symbol objects, console.error warning
2401         https://bugs.webkit.org/show_bug.cgi?id=149641
2402
2403         Reviewed by Darin Adler.
2404
2405         * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
2406         (WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.getCompletions):
2407         (WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.evaluated):
2408         Include completions for symbol types.
2409
2410 2015-09-28  Joseph Pecoraro  <pecoraro@apple.com>
2411
2412         Web Inspector: Hitting ESC while editing element tag name leaves element in bad state
2413         https://bugs.webkit.org/show_bug.cgi?id=149506
2414
2415         Reviewed by Timothy Hatcher.
2416
2417         * UserInterface/Views/DOMTreeElement.js:
2418         (WebInspector.DOMTreeElement.prototype._startEditingTagName.editingCancelled):
2419         (WebInspector.DOMTreeElement.prototype._startEditingTagName):
2420         When cancelling editing of a tag name, revert any changes we had
2421         been making to the closing tag name.
2422
2423 2015-09-28  João Oliveira  <hello@jxs.pt>
2424
2425         Web Inspector: search shortcut in split console moves focus to search box, but doesn't show caret
2426         https://bugs.webkit.org/show_bug.cgi?id=149223
2427
2428         Reviewed by Timothy Hatcher.
2429
2430         When pressing console find shortcut (CMD+F) SearchBar now checks if there's text on _searchInput
2431         if so text is selected, if the textbox is empty, textbox gains focus.
2432
2433         * UserInterface/Views/SearchBar.js:
2434         (WebInspector.SearchBar.prototype.focus):
2435
2436 2015-09-25  Joseph Pecoraro  <pecoraro@apple.com>
2437
2438         Web Inspector: Reloading the page causes the inspector tab to switch back to "Resources" tab
2439         https://bugs.webkit.org/show_bug.cgi?id=148732
2440
2441         Reviewed by Darin Adler.
2442
2443         * UserInterface/Views/ResourceSidebarPanel.js:
2444         (WebInspector.ResourceSidebarPanel.prototype._scriptsCleared):
2445         Suppress selection of sibiling tree elements when removing extra folders.
2446
2447 2015-09-24  Ryosuke Niwa  <rniwa@webkit.org>
2448
2449         Ran sort-Xcode-project-file.
2450
2451         * WebInspectorUI.xcodeproj/project.pbxproj:
2452
2453 2015-09-23  Saam barati  <sbarati@apple.com>
2454
2455         Fix broken inspector tests.
2456
2457         Reviewed by Joseph Pecoraro and Brian Burg.
2458
2459         We can't redeclare a "let" variable and "var" variable using the same
2460         identifier at the top-level of a function.
2461
2462         * UserInterface/Test/InspectorProtocol.js:
2463         (InspectorProtocol.sendCommand):
2464         (InspectorProtocol.addEventListener):
2465         (InspectorProtocol.dispatchMessageFromBackend):
2466
2467 2015-09-23  Saam barati  <sbarati@apple.com>
2468
2469         Web Inspector: Don't use bind() when creating internal AST, instead, pass in "this" parameter to map()
2470         https://bugs.webkit.org/show_bug.cgi?id=149483
2471
2472         Reviewed by Joseph Pecoraro.
2473
2474         * UserInterface/Models/ScriptSyntaxTree.js:
2475         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
2476         (WebInspector.ScriptSyntaxTree):
2477
2478 2015-09-23  Saam barati  <sbarati@apple.com>
2479
2480         Web Inspector: Type bubbles missing for computed methods and methods on object literals
2481         https://bugs.webkit.org/show_bug.cgi?id=148562
2482
2483         Reviewed by Joseph Pecoraro.
2484
2485         This patch makes sure that computed methods are working
2486         for both classes and object literals. Also, methods now
2487         work on object literals. This patch also cleans up the
2488         "isGetterOrSetter" and "getterOrSetterRange" fields.
2489         Basically, we used this as a way to ask the type profiler
2490         for the return types of a function. Now, we just have
2491         a field called "typeProfilingReturnDivot" that is set
2492         on all functions so we don't need to conditionally ask
2493         if it's a getter or setter.
2494
2495         * UserInterface/Controllers/TypeTokenAnnotator.js:
2496         (WebInspector.TypeTokenAnnotator.prototype._insertTypeToken):
2497         * UserInterface/Models/ScriptSyntaxTree.js:
2498         (WebInspector.ScriptSyntaxTree.functionReturnDivot):
2499         (WebInspector.ScriptSyntaxTree.prototype._recurseArray):
2500         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
2501         (WebInspector.ScriptSyntaxTree):
2502
2503 2015-09-22  Devin Rousso  <dcrousso+webkit@gmail.com>
2504
2505         Web Inspector: The right sidebar always opens up on breakpoint
2506         https://bugs.webkit.org/show_bug.cgi?id=149261
2507
2508         Reviewed by Timothy Hatcher.
2509
2510         Whenever the debugger was paused, the sidebar was being forced to open.
2511         This has been removed in favor of letting the user decide.
2512
2513         * UserInterface/Base/Main.js:
2514         (WebInspector._debuggerDidPause):
2515
2516 2015-09-22  Saam barati  <sbarati@apple.com>
2517
2518         Web Inspector: [ES6] Improve Type Profiler Support for Arrow Functions
2519         https://bugs.webkit.org/show_bug.cgi?id=143171
2520
2521         Reviewed by Joseph Pecoraro.
2522
2523         Esprima and JSC both support arrow functions. We just
2524         need to support it in our AST and do the right things
2525         to include support in the type profiler bits.
2526
2527         * UserInterface/Controllers/TypeTokenAnnotator.js:
2528         (WebInspector.TypeTokenAnnotator.prototype._insertTypeToken):
2529         (WebInspector.TypeTokenAnnotator.prototype._translateToOffsetAfterFunctionParameterList.isLineTerminator):
2530         (WebInspector.TypeTokenAnnotator.prototype._translateToOffsetAfterFunctionParameterList):
2531         * UserInterface/Models/ScriptSyntaxTree.js:
2532         (WebInspector.ScriptSyntaxTree.prototype.containsNonEmptyReturnStatement.removeFunctionsFilter):
2533         (WebInspector.ScriptSyntaxTree.prototype.containsNonEmptyReturnStatement):
2534         (WebInspector.ScriptSyntaxTree.functionReturnDivot):
2535         (WebInspector.ScriptSyntaxTree.prototype._recurse):
2536         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
2537         (WebInspector.ScriptSyntaxTree):
2538
2539 2015-09-22  Saam barati  <sbarati@apple.com>
2540
2541         Web Inspector: update Esprima to latest version
2542         https://bugs.webkit.org/show_bug.cgi?id=148960
2543
2544         Reviewed by Joseph Pecoraro.
2545
2546         Esprima version 2.6 further supports ES6. We're
2547         updating to it so we can support more ES6 features
2548         in our script syntax tree.
2549
2550         * UserInterface/External/Esprima/LICENSE:
2551         * UserInterface/External/Esprima/esprima.js:
2552         * UserInterface/Models/ScriptSyntaxTree.js:
2553         (WebInspector.ScriptSyntaxTree.prototype._gatherIdentifiersInDeclaration.gatherIdentifiers):
2554         (WebInspector.ScriptSyntaxTree.prototype._gatherIdentifiersInDeclaration):
2555         (WebInspector.ScriptSyntaxTree.prototype._recurse):
2556         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
2557         (WebInspector.ScriptSyntaxTree):
2558
2559 2015-09-21  Matt Baker  <mattbaker@apple.com>
2560
2561         Web Inspector: requestAnimationFrame continues to be called after stopping the timeline recording
2562         https://bugs.webkit.org/show_bug.cgi?id=149390
2563
2564         Reviewed by Brian Burg.
2565
2566         * UserInterface/Views/TimelineRecordingContentView.js:
2567         (WebInspector.TimelineRecordingContentView.prototype._update):
2568         Stop calling requestAnimationFrame if this._updating is false and recording end time is NaN.
2569
2570 2015-09-17  Joseph Pecoraro  <pecoraro@apple.com>
2571
2572         Web Inspector: Simplify some functional callbacks
2573         https://bugs.webkit.org/show_bug.cgi?id=149333
2574
2575         Reviewed by Brian Burg.
2576
2577         * UserInterface/Controllers/LogManager.js:
2578         (WebInspector.LogManager.prototype.messageWasAdded):
2579         * UserInterface/Models/Color.js:
2580         (WebInspector.Color):
2581         * UserInterface/Models/Geometry.js:
2582         (WebInspector.CubicBezier.fromCoordinates):
2583         * UserInterface/Models/ObjectPreview.js:
2584         (WebInspector.ObjectPreview.fromPayload):
2585         * UserInterface/Models/TypeDescription.js:
2586         (WebInspector.TypeDescription.fromPayload):
2587         * UserInterface/Protocol/RemoteObject.js:
2588         (WebInspector.RemoteObject.prototype.getCollectionEntries):
2589         (WebInspector.RemoteObject.prototype.getCollectionEntries.): Deleted.
2590         * UserInterface/Views/TextEditor.js:
2591         (WebInspector.TextEditor.prototype.get markers):
2592         (WebInspector.TextEditor.prototype.markersAtPosition):
2593
2594 2015-09-17  Joseph Pecoraro  <pecoraro@apple.com>
2595
2596         Web Inspector: Remove unused canClearBrowserCookies / canClearBrowserCache protocol methods
2597         https://bugs.webkit.org/show_bug.cgi?id=149307
2598
2599         Reviewed by Brian Burg.
2600
2601         * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
2602         * UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
2603         * UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js:
2604         * Versions/Inspector-iOS-7.0.json:
2605         * Versions/Inspector-iOS-8.0.json:
2606         * Versions/Inspector-iOS-9.0.json:
2607         Retroactively remove the protocol methods as they were unused
2608         in these earlier versions as well.
2609
2610 2015-09-17  Joseph Pecoraro  <pecoraro@apple.com>
2611
2612         REGRESSION: Web Inspector: Double clicking on an attribute second time doesn't work
2613         https://bugs.webkit.org/show_bug.cgi?id=149259
2614
2615         Reviewed by Timothy Hatcher.
2616
2617         * UserInterface/Views/DOMTreeElement.js:
2618         Be sure to clear the editing state when committed, even if the value did not change.
2619
2620 2015-09-17  Joseph Pecoraro  <pecoraro@apple.com>
2621
2622         Web Inspector: Make Find / Save keyboard shortcuts work better globally
2623         https://bugs.webkit.org/show_bug.cgi?id=149198
2624
2625         Reviewed by Brian Burg.
2626
2627         Previously find/save keyboard shortcuts required the user have the
2628         ContentView in the ContentBrowser focused. That means nothing would
2629         happen if you clicked / focused in the Sidebars. This change considers
2630         the keyboard shortcuts globally, like Copy.
2631
2632         * UserInterface/Base/Main.js:
2633         (WebInspector.contentLoaded):
2634         Add global find and save keyboard shortcuts.
2635
2636         (WebInspector._focusChanged):
2637         It is often useful to have the currentFocusedElement know if it is
2638         in a TextEditor or other CodeMirror editor. When editable the <textarea>
2639         is selected and not updating focused element. 
2640
2641         (WebInspector._focusedContentBrowser):
2642         (WebInspector._focusedContentView):
2643         Provide helpers for getting a good approximation of the current focused
2644         or visible content view that users would expect to be interacting with.
2645         Since the focus event may not fire when clicking around to elements
2646         like the <body>. Rather than make it explicitly focusable, check the
2647         document.activeElement, and if it is body aim for the main content
2648         browser instead of the currentFocusedElement which may be stale.
2649         Likewise, if the QuickConsole is focused and the split console is
2650         showing, treat it like the split browser is focused.
2651
2652         (WebInspector._focusedOrVisibleContentBrowser):
2653         (WebInspector._focusedOrVisibleContentView):
2654         If nothing is focused, default to the main content browser.
2655
2656         (WebInspector._find):
2657         Pass on to the ContentView which typically handles Find
2658         by showing its find banner.
2659
2660         (WebInspector._save):
2661         (WebInspector._saveAs):
2662         Check and save the current ContentView if supported.
2663
2664         * UserInterface/Views/LogContentView.js:
2665         (WebInspector.LogContentView.prototype.get supportsSearch):
2666         (WebInspector.LogContentView.prototype.handleFindEvent):
2667         Add custom find handling for LogContentView from the routed through the
2668         BrowserController instead of special event handlers in the controller.
2669
2670         (WebInspector.LogContentView.prototype.get supportsSave):
2671         (WebInspector.LogContentView.prototype.save): Deleted.
2672         (WebInspector.LogContentView.prototype.saveAs): Deleted.
2673         * UserInterface/Controllers/JavaScriptLogViewController.js:
2674         (WebInspector.JavaScriptLogViewController): Deleted.
2675         (WebInspector.JavaScriptLogViewController.prototype._handleFindShortcut): Deleted.
2676         (WebInspector.JavaScriptLogViewController.prototype._save): Deleted.
2677         (WebInspector.JavaScriptLogViewController.prototype._saveAs): Deleted.
2678         Special save handling is no longer needed in the log view controller.
2679
2680         * UserInterface/Views/ContentBrowser.js:
2681         (WebInspector.ContentBrowser.prototype.handleFindEvent):
2682         (WebInspector.ContentBrowser): Deleted.
2683         (WebInspector.ContentBrowser.prototype._save): Deleted.
2684         (WebInspector.ContentBrowser.prototype._saveAs): Deleted.
2685         (WebInspector.ContentBrowser.prototype._showFindBanner): Deleted.
2686         Save functionality moved globally, find functionality moved to a
2687         public method called like copy event handling.
2688
2689 2015-09-17  Joseph Pecoraro  <pecoraro@apple.com>
2690
2691         Web Inspector: Inactive window may cause many layers to be created due to Dashboard opacity
2692         https://bugs.webkit.org/show_bug.cgi?id=149274
2693
2694         Reviewed by Brian Burg.
2695
2696         The dashboard container gets an opacity when the window is inactive. Combined
2697         with the animating debugger continue button this caused a cascade of slightly
2698         overlapping content causing a cascade of a lot of small layers. The simple
2699         approach taken here is to stop the slight pulse animation when the window
2700         is inactive.
2701
2702         * UserInterface/Views/DebuggerDashboardView.css:
2703         (body.window-inactive .dashboard.debugger .navigation-bar .item.button > .glyph):
2704
2705 2015-09-17  Devin Rousso  <dcrousso+webkit@gmail.com>
2706
2707         REGRESSION(r188427): Web Inspector: Extra whitespace left behind in styles sidebar after clicking in and out
2708         https://bugs.webkit.org/show_bug.cgi?id=149197
2709
2710         Reviewed by Timothy Hatcher.
2711
2712         In r188427, logic was added to preserve the leading whitespace of styles in a CSS file.
2713         An unfortunate side effect of this was that extra newlines in between CSS properties
2714         were treated as valid and left where they were.  This is undesired behaviour and often
2715         clutters the styles sidebar.  These changes remove the extra newlines.
2716
2717         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2718         (WebInspector.CSSStyleDeclarationTextEditor.prototype._formattedContent):
2719
2720 2015-09-16  Joseph Pecoraro  <pecoraro@apple.com>
2721
2722         Web Inspector: Reduce Annotation Update Frequency
2723         https://bugs.webkit.org/show_bug.cgi?id=149250
2724
2725         Reviewed by Saam Barati.
2726
2727         * UserInterface/Controllers/BasicBlockAnnotator.js:
2728         (WebInspector.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges):
2729         * UserInterface/Controllers/TypeTokenAnnotator.js:
2730         (WebInspector.BasicBlockAnnotator.prototype.insertAnnotations):
2731         Set a lower bound of 500ms on update frequency for both annotators.
2732
2733 2015-09-16  Joseph Pecoraro  <pecoraro@apple.com>
2734
2735         Web Inspector: Fix common typo "supress" => "suppress"
2736         https://bugs.webkit.org/show_bug.cgi?id=149199
2737
2738         Reviewed by Gyuyoung Kim.
2739
2740         * UserInterface/Views/DataGrid.js:
2741         (WebInspector.DataGridNode.prototype.select):
2742         (WebInspector.DataGridNode.prototype.deselect):
2743         * UserInterface/Views/SearchBar.js:
2744         (WebInspector.SearchBar):
2745
2746 2015-09-16  Joseph Pecoraro  <pecoraro@apple.com>
2747
2748         Web Inspector: Turn off line wrapping in resource text editors
2749         https://bugs.webkit.org/show_bug.cgi?id=149121
2750
2751         Reviewed by Darin Adler.
2752
2753         * UserInterface/Views/TextEditor.js:
2754         (WebInspector.TextEditor):
2755
2756 2015-09-15  Devin Rousso  <dcrousso+webkit@gmail.com>
2757
2758         Web Inspector: Picking unchanged for font-size does not reset back to the unchanged value
2759         https://bugs.webkit.org/show_bug.cgi?id=148351
2760
2761         Reviewed by Brian Burg.
2762
2763         Visual number editors now save any new values in the special placeholder element
2764         to display it whenever the "Unchanged" option is selected by the user.
2765
2766         * UserInterface/Views/VisualStyleNumberInputBox.js:
2767         (WebInspector.VisualStyleNumberInputBox.prototype.set value):
2768         (WebInspector.VisualStyleNumberInputBox.prototype.set units):
2769         (WebInspector.VisualStyleNumberInputBox.prototype._setNumberInputIsEditable):
2770         (WebInspector.VisualStyleNumberInputBox.prototype._keywordChanged):
2771         (WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputKeyDown.adjustValue):
2772         (WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputKeyDown):
2773
2774 2015-09-15  Brian Burg  <bburg@apple.com>
2775
2776         Web Inspector: command-click in NewTabContentView should open new tab without switching to it
2777         https://bugs.webkit.org/show_bug.cgi?id=149173
2778
2779         Reviewed by Joseph Pecoraro.
2780
2781         To allow a user to quickly restore tabs, it should be possible to command-click
2782         all the tabs that are desired without going back through the [+] tab button.
2783
2784         * UserInterface/Base/Main.js:
2785         (WebInspector.createNewTabWithType): Renamed.
2786
2787             Use an options object and split creating the tab from deleting the
2788             replaced tab and showing the new tab. Add better error checking.
2789
2790         (WebInspector.createNewTab): Deleted.
2791         * UserInterface/Views/NewTabContentView.js:
2792         (WebInspector.NewTabContentView):
2793         (WebInspector.NewTabContentView.prototype._createNewTabWithType): Renamed.
2794
2795             If the meta key is pressed, don't switch to the new tab or remove this view
2796             unless there are no more tabs that can be created beyond the current one.
2797
2798         (WebInspector.NewTabContentView.prototype._allowableTabTypes): Added.
2799         (WebInspector.NewTabContentView.prototype._createNewTab): Deleted.
2800
2801 2015-09-15  Joseph Pecoraro  <pecoraro@apple.com>
2802
2803         Web Inspector: Watch Expressions uncaught exceptions on page reload
2804         https://bugs.webkit.org/show_bug.cgi?id=149150
2805
2806         Reviewed by Brian Burg.
2807
2808         Instead of waiting 50ms to Resume, when the page navigates
2809         Resume immediately. This ensures nobody is using a stale
2810         activeCallFrame after the navigation.
2811
2812         Also clean up the manager a bit by removing some deletes.
2813
2814         * UserInterface/Controllers/DebuggerManager.js:
2815         (WebInspector.DebuggerManager.restoreBreakpointsSoon):
2816         (WebInspector.DebuggerManager.prototype.reset):
2817         (WebInspector.DebuggerManager.prototype.debuggerDidPause):
2818         (WebInspector.DebuggerManager.prototype.debuggerDidResume):
2819         (WebInspector.DebuggerManager.prototype._mainResourceDidChange):
2820         (WebInspector.DebuggerManager.prototype._didResumeInternal):
2821         (WebInspector.DebuggerManager.prototype._associateBreakpointsWithSourceCode):
2822         (WebInspector.DebuggerManager.prototype.debuggerDidResume.delayedWork): Deleted.
2823
2824 2015-09-15  Joseph Pecoraro  <pecoraro@apple.com>
2825
2826         Web Inspector: Closing the final inspector tab should be allowed
2827         https://bugs.webkit.org/show_bug.cgi?id=149130
2828
2829         Reviewed by Brian Burg.
2830
2831         Previously we did not allow closing the last inspector tab. Now, we
2832         will allow closing all inspector tabs, and when the last is closed,
2833         present an unclosable New Tab tab, which would then be used to create
2834         a new tab.
2835
2836         * UserInterface/Base/Main.js:
2837         (WebInspector.contentLoaded):
2838         If we have no tabs to restore, show the New Tab tab.
2839
2840         (WebInspector._openDefaultTab):
2841         When the last tab is closed, the tab bar requests we open a default tab.
2842         Open the New Tab tab.
2843
2844         (WebInspector.TabBar.prototype._handleClick):
2845         Disallow closing the single default tab.
2846
2847         (WebInspector._newTabItemClicked):
2848         (WebInspector.showNewTabTab):
2849         Share logic for showing the New Tab tab.
2850
2851         * UserInterface/Views/NewTabContentView.js:
2852         (WebInspector.NewTabContentView):
2853         Mark the new tab's tab bar item as the "default" tab bar item. It gets
2854         special behavior when it is the single normal tab (cannot be closed).
2855
2856         * UserInterface/Views/TabBar.css:
2857         (body:not(.window-inactive) .tab-bar > .item:hover > .close):
2858         (body:not(.window-inactive) .tab-bar.single-tab > .item.default-tab:hover > .close):
2859         (.tab-bar.single-tab > .item.default-tab > .close):
2860         (body:not(.window-inactive) .tab-bar:not(.single-tab) > .item:not(.hide-close-button):hover > .close): Deleted.
2861         (.tab-bar > .item.hide-close-button > .close): Deleted.
2862         Update styles to only disable the close button on the
2863         "default-tab" when it is the "single-tab" open. Otherwise
2864         always allow closing tabs.
2865
2866         * UserInterface/Views/TabBar.js:
2867         (WebInspector.TabBar.prototype.removeTabBarItem):
2868         (WebInspector.TabBar.prototype.hasNormalTab):
2869         (WebInspector.TabBar.prototype._openDefaultTab):
2870         When removing the last normal tab, send an event to open
2871         the default tab.
2872
2873         * UserInterface/Views/TabBarItem.js:
2874         (WebInspector.TabBarItem.prototype.get default):
2875         (WebInspector.TabBarItem.prototype.get isDefaultTab):
2876         (WebInspector.TabBarItem.prototype.set isDefaultTab):
2877         (WebInspector.TabBarItem.prototype.get hideCloseButton): Deleted.
2878         (WebInspector.TabBarItem.prototype.set hideCloseButton): Deleted.
2879         Switch to marking a tab bar item as the default tab. This tab
2880         will be allowed when it is the single remaining tab. Currently
2881         the default tab is always the "New Tab" tab.
2882
2883 2015-09-15  Brian Burg  <bburg@apple.com>
2884
2885         Web Inspector: new tab content view should disallow split console
2886         https://bugs.webkit.org/show_bug.cgi?id=149164
2887
2888         Reviewed by Joseph Pecoraro.
2889
2890         * UserInterface/Views/NewTabContentView.js:
2891         (WebInspector.NewTabContentView.prototype.get supportsSplitContentBrowser):
2892
2893 2015-09-14  Brian Burg  <bburg@apple.com>
2894
2895         Web Inspector: tab bar stutters when moving mouse after closing tab
2896         https://bugs.webkit.org/show_bug.cgi?id=149138
2897
2898         Reviewed by Joseph Pecoraro.
2899
2900         The tab bar lacked the 'static-layout' class between when the Promise microtask
2901         ran and the beginning of the requestAnimationFrame. This caused a flash of
2902         tabs that are way too wide.
2903
2904         Re-add the static-layout class immediately after measuring the 'after' tab size.
2905         This code should probably just manually compute tab sizes since flexbox
2906         layout is quite slow and our measurement code here forces layout several times.
2907
2908         * UserInterface/Views/TabBar.js:
2909
2910 2015-09-14  Brian Burg  <bburg@apple.com>
2911
2912         Web Inspector: backend command promises are not rejected when a protocol error occurs
2913         https://bugs.webkit.org/show_bug.cgi?id=141403
2914
2915         Reviewed by Joseph Pecoraro.
2916
2917         Fix a few corner cases for how InspectorBackend delivers command failures.
2918
2919         * UserInterface/Protocol/InspectorBackend.js:
2920         (InspectorBackend.Command.prototype.deliverFailure): Added.
2921         (InspectorBackend.Command.prototype._invokeWithArguments):
2922
2923             If argument-checking fails, return a rejected promise or invoke the supplied callback
2924             on a zero-delay setTimeout to ensure that the reply is asynchronous.
2925
2926 2015-09-14  Brian Burg  <bburg@apple.com>
2927
2928         Web Inspector: middle-clicking a tab in the tab bar should close it
2929         https://bugs.webkit.org/show_bug.cgi?id=149135
2930
2931         Reviewed by Joseph Pecoraro.
2932
2933         This matches the behavior of the tab bar in Safari and other browsers.
2934
2935         * UserInterface/Views/TabBar.js:
2936         (WebInspector.TabBar.prototype._handleMouseDown):
2937         (WebInspector.TabBar.prototype._handleClick):
2938
2939 2015-09-14  Nikita Vasilyev  <nvasilyev@apple.com>
2940
2941         Web Inspector: Border under the styles filter field is clipped
2942         https://bugs.webkit.org/show_bug.cgi?id=149115
2943
2944         Reviewed by Darin Adler.
2945
2946         * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
2947         (.sidebar > .panel.details.css-style > .content + .options-container > .filter-bar):
2948
2949 2015-09-11  Nan Wang  <n_wang@apple.com>
2950
2951         AX: ARIA 1.1 @aria-current
2952         https://bugs.webkit.org/show_bug.cgi?id=146012
2953
2954         Reviewed by Chris Fleizach.
2955
2956         Added support for ARIA 1.1 aria-current.
2957
2958         * Localizations/en.lproj/localizedStrings.js:
2959         * UserInterface/Models/DOMNode.js:
2960         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
2961
2962 2015-09-10  Devin Rousso  <dcrousso+webkit@gmail.com>
2963
2964         Web Inspector: Styles sidebar says Media: all when it should say Media: screen
2965         https://bugs.webkit.org/show_bug.cgi?id=148436
2966
2967         Reviewed by Timothy Hatcher.
2968
2969         Removed filter that prevented "Media: screen" from being displayed.
2970
2971         * UserInterface/Views/RulesStyleDetailsPanel.js:
2972         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertMediaOrInheritanceLabel):
2973         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.filteredMediaList): Deleted.
2974
2975 2015-09-10  Matt Baker  <mattbaker@apple.com>
2976
2977         Web Inspector: Prefer calling ContentViewContainer.updateLayout directly
2978         https://bugs.webkit.org/show_bug.cgi?id=149041
2979
2980         Reviewed by Timothy Hatcher.
2981
2982         Cleaned up two places where a parent view duplicated logic encapsulated by ContentViewContainer.
2983
2984         * UserInterface/Views/ClusterContentView.js:
2985         (WebInspector.ClusterContentView.prototype.updateLayout):
2986         * UserInterface/Views/TimelineRecordingContentView.js:
2987         (WebInspector.TimelineRecordingContentView.prototype.updateLayout):
2988
2989 2015-09-08  Matt Baker  <mattbaker@apple.com>
2990
2991         Web Inspector: REGRESSION (r189189): Missing breakpoint context menu for debugger sidebar tree elements
2992         https://bugs.webkit.org/show_bug.cgi?id=148651
2993
2994         Reviewed by Timothy Hatcher.
2995
2996         * UserInterface/Base/Main.js:
2997         (WebInspector.contentLoaded):
2998         Create BreakpointPopoverController singleton, expose as public property of global WebInspector object.
2999
3000         * UserInterface/Views/BreakpointTreeElement.js:
3001         (WebInspector.BreakpointTreeElement.prototype.oncontextmenu):
3002         Use BreakpointPopoverController singleton.
3003
3004         * UserInterface/Views/SourceCodeTextEditor.js:
3005         (WebInspector.SourceCodeTextEditor):
3006         Don't create BreakpointPopoverController instance.
3007         (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu):
3008         Use BreakpointPopoverController singleton.
3009
3010 2015-09-08  Joseph Pecoraro  <pecoraro@apple.com>
3011
3012         Fix inspector/codemirror tests.
3013
3014         Rubber-stamped by Brian Burg.
3015
3016         * UserInterface/Test.html:
3017         Reorder includes to be more like Main.html. This ensures that CodeMirror
3018         resources are loaded before Inspector sources use it, like CodeMirrorAdditions
3019         which gets merged into TestCombined.js.
3020
3021 2015-09-08  Joseph Pecoraro  <pecoraro@apple.com>
3022
3023         Web Inspector: Move PrettyPrinting tests into LayoutTests
3024         https://bugs.webkit.org/show_bug.cgi?id=148698
3025
3026         Reviewed by Timothy Hatcher.
3027
3028         * Tools/PrettyPrinting/index.html:
3029         Modify the relative path to the tests which are now in LayoutTests.
3030
3031         * UserInterface/Test.html:
3032         Load CodeMirror and related resources for Formatting.
3033
3034 2015-09-06  Andy Estes  <aestes@apple.com>
3035
3036         WebKit.xcworkspace should be be able to build iOS platforms
3037         https://bugs.webkit.org/show_bug.cgi?id=148881
3038
3039         Reviewed by Daniel Bates.
3040
3041         Since we don't want to create platform-specific schemes, all projects in the workspace's schemes need to build
3042         for all supported platforms.
3043
3044         * Configurations/Base.xcconfig: Included iphoneos and iphonesimulator in SUPPORTED_PLATFORMS.
3045         * Configurations/WebInspectorUIFramework.xcconfig: Skipped installing on iOS.
3046
3047 2015-09-04  Brian Burg  <bburg@apple.com>
3048
3049         Web Inspector: combine Test.html resources to make tests run faster
3050         https://bugs.webkit.org/show_bug.cgi?id=148726
3051
3052         Reviewed by Timothy Hatcher.
3053
3054         In an attempt to make inspector tests run faster, always combine resources
3055         on the Test.html page. This cuts down from 110+ resource loads to 5 loads.
3056
3057         To avoid name clashes, add the 'Combined' suffix to files that would clash
3058         with uncombined Test resources, and add the 'Test' prefix when combining
3059         or minifying files that would clash with production minification. So, it
3060         would be possible for Main.html and Test.html to have different minified
3061         versions of CodeMirror or other external libraries if they use different
3062         subsets.
3063
3064         Combining is unlikely to make debugging tests more difficult, since almost
3065         all test code is marshalled and eval'd into existence anyway.
3066
3067         * Configurations/WebInspectorUIFramework.xcconfig:
3068         * Scripts/combine-resources.pl: Drive-by spelling.
3069         (concatenateFiles):
3070         (concatinateFiles): Deleted.
3071         * Scripts/copy-user-interface-resources-dryrun.rb:
3072         * Scripts/copy-user-interface-resources.pl:
3073
3074             Drive-by spelling. Add a new code path for combining Test resources, which
3075             doesn't require minification or handling CSS, images, or most externals.
3076
3077         * WebInspectorUI.vcxproj/build-webinspectorui.pl:
3078
3079             Always combine Test.html, but also ditto everything into place for
3080             engineering builds.
3081
3082 2015-09-04  Joseph Pecoraro  <pecoraro@apple.com>
3083
3084         Web Inspector: Test Runtime.saveResult and $n values
3085         https://bugs.webkit.org/show_bug.cgi?id=148837
3086
3087         Reviewed by Timothy Hatcher.
3088
3089         * UserInterface/Protocol/InspectorBackend.js:
3090         (InspectorBackendClass):
3091         Initialize the dump logging function different if we are in tests or not.
3092         When in tests, using console.log as well as dumping system activity to
3093         the system console results in an infinite loop of logging!
3094
3095         (InspectorBackendClass.prototype.dispatch):
3096         (InspectorBackendClass.prototype._sendCommandToBackendWithCallback):
3097         Use the logging function we figured out earlier.
3098
3099 2015-09-04  Joseph Pecoraro  <pecoraro@apple.com>
3100
3101         Web Inspector: Clean up and modernize DOMTreeManager
3102         https://bugs.webkit.org/show_bug.cgi?id=148821
3103
3104         Reviewed by Timothy Hatcher.
3105
3106         * UserInterface/Controllers/DOMTreeManager.js:
3107         (WebInspector.DOMTreeManager.prototype.requestDocument.onDocumentAvailable):
3108         (WebInspector.DOMTreeManager.prototype.requestDocument):
3109         (WebInspector.DOMTreeManager.prototype.pushNodeByPathToFrontend):
3110         (WebInspector.DOMTreeManager.prototype._wrapClientCallback):
3111         (WebInspector.DOMTreeManager.prototype._attributeModified):
3112         (WebInspector.DOMTreeManager.prototype._attributeRemoved):
3113         (WebInspector.DOMTreeManager.prototype._inlineStyleInvalidated):
3114         (WebInspector.DOMTreeManager.prototype._loadNodeAttributes):
3115         (WebInspector.DOMTreeManager.prototype.cancelSearch):
3116         (WebInspector.DOMTreeManager.prototype.querySelector):
3117         (WebInspector.DOMTreeManager.prototype.querySelectorAll):
3118         (WebInspector.DOMTreeManager.prototype.highlightDOMNode):
3119         (WebInspector.DOMTreeManager.prototype._buildHighlightConfig):
3120         Cleanup and modernize where appropriate.
3121
3122         * UserInterface/Views/SearchSidebarPanel.js:
3123         (WebInspector.SearchSidebarPanel.prototype.performSearch):
3124         Callback is now required.
3125
3126 2015-09-04  Matt Baker  <mattbaker@apple.com>
3127
3128         Web Inspector: Render Frames "Other" task filter checkbox misaligned with text
3129         https://bugs.webkit.org/show_bug.cgi?id=148788
3130
3131         Reviewed by Timothy Hatcher.
3132
3133         * UserInterface/Views/ChartDetailsSectionRow.css:
3134         (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > label > .color-key):
3135         Adjust "fake" checkbox margin to align with label text.
3136
3137 2015-09-04  Joseph Pecoraro  <pecoraro@apple.com>
3138
3139         Web Inspector: Expand Console domain test coverage
3140         https://bugs.webkit.org/show_bug.cgi?id=148740
3141
3142         Reviewed by Brian Burg.
3143
3144         * UserInterface/Protocol/RemoteObject.js:
3145         Add a few helpers for checking the RemoteObject type.
3146
3147 2015-09-02  Commit Queue  <commit-queue@webkit.org>
3148
3149         Unreviewed, rolling out r189241.
3150         https://bugs.webkit.org/show_bug.cgi?id=148703
3151
3152         These tests crash with assertions (Requested by ap on
3153         #webkit).
3154
3155         Reverted changeset:
3156
3157         "Web Inspector: Move PrettyPrinting tests into LayoutTests"
3158         https://bugs.webkit.org/show_bug.cgi?id=148698
3159         http://trac.webkit.org/changeset/189241
3160
3161 2015-09-01  Joseph Pecoraro  <pecoraro@apple.com>
3162
3163         Web Inspector: Move PrettyPrinting tests into LayoutTests
3164         https://bugs.webkit.org/show_bug.cgi?id=148698
3165
3166         Reviewed by Timothy Hatcher.
3167
3168         * Tools/PrettyPrinting/index.html:
3169         Modify the relative path to the tests which are now in LayoutTests.
3170
3171         * UserInterface/Test.html:
3172         Load CodeMirror and related resources for Formatting.
3173
3174 2015-09-01  Matt Baker  <mattbaker@apple.com>
3175
3176         Web Inspector: REGRESSION (r187873): Location column icon is missing in timeline data grids
3177         https://bugs.webkit.org/show_bug.cgi?id=148691
3178
3179         Reviewed by Timothy Hatcher.
3180
3181         * UserInterface/Views/TimelineDataGridNode.js:
3182         (WebInspector.TimelineDataGridNode.prototype.createCellContent):
3183         Added "icon" class name. Was using removed class variable (class="undefined").
3184
3185 2015-09-01  Matt Baker  <mattbaker@apple.com>
3186
3187         Web Inspector: Show layout/paint pixel area in the Rendering Frames tree outline
3188         https://bugs.webkit.org/show_bug.cgi?id=148674
3189
3190         Reviewed by Brian Burg.
3191
3192         * Localizations/en.lproj/localizedStrings.js:
3193         New UI string.
3194
3195         * UserInterface/Views/RenderingFrameTimelineView.css:
3196         (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.rendering-frame .item:not(.paint-record):not(.layout-record) .subtitle):
3197         (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.rendering-frame .item .subtitle): Deleted.
3198         Show subtitles for layout and paint records only. We still want to hide script record subtitles,
3199         since that information is already in the 'Location' column.
3200
3201         * UserInterface/Views/RenderingFrameTimelineView.js:
3202         (WebInspector.RenderingFrameTimelineView.prototype._processPendingRecords):
3203         Add tree element subtitle for LayoutTimelineRecords that specify width and height.
3204
3205 2015-09-01  Matt Baker  <mattbaker@apple.com>
3206
3207         Web Inspector: Reorder columns in the Rendering Frames data grid by importance
3208         https://bugs.webkit.org/show_bug.cgi?id=148672
3209
3210         Reviewed by Timothy Hatcher.
3211
3212         * UserInterface/Views/RenderingFrameTimelineView.js:
3213         (WebInspector.RenderingFrameTimelineView):
3214         Updated column order, rearranged the column object setup code to match.
3215
3216 2015-09-01  Brian Burg  <bburg@apple.com>
3217
3218         Web Inspector: rewrite inspector/console/command-line-api.html to use AsyncTestSuite
3219         https://bugs.webkit.org/show_bug.cgi?id=148637
3220
3221         Reviewed by Darin Adler.
3222
3223         * UserInterface/Base/Object.js:
3224         (WebInspector.Object.singleFireEventListener):
3225         (WebInspector.Object.singleFireEventListener.let.wrappedCallback): Arrow.
3226
3227 2015-09-01  Devin Rousso  <drousso@apple.com>
3228
3229         Web Inspector: New rule button in the style sidebar is blurry and too dark
3230         https://bugs.webkit.org/show_bug.cgi?id=148108
3231
3232         Reviewed by Timothy Hatcher.
3233
3234         Added support for Plus and Minus icons on non-retina screens.
3235         Also removed some CSS rules that no longer apply to anything.
3236
3237         * UserInterface/Images/Minus.svg:
3238         * UserInterface/Images/NewTabPlus.svg:
3239         * UserInterface/Images/Plus.svg: Removed.
3240         * UserInterface/Images/Plus13.svg: Copied from Source/WebInspectorUI/UserInterface/Images/Plus.svg.
3241         * UserInterface/Images/Plus15.svg: Copied from Source/WebInspectorUI/UserInterface/Images/Plus.svg.
3242
3243         * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
3244         (.sidebar > .panel.details.css-style > .content + .options-container):
3245         (.sidebar > .panel.details.css-style > .content + .options-container > .new-rule):
3246
3247         * UserInterface/Views/ProbeDetailsSidebarPanel.css:
3248         (.details-section.probe-set .options > .probe-add):
3249
3250         * UserInterface/Views/RulesStyleDetailsPanel.css:
3251         (.sidebar > .panel.details.css-style .rules .new-rule): Deleted.
3252         (.sidebar > .panel.details.css-style .rules > *:first-child:matches(.new-rule)): Deleted.
3253         (.sidebar > .panel.details.css-style > .content.filter-in-progress .new-rule): Deleted.
3254         (.sidebar > .panel.details.css-style > .content:not(.filter-in-progress) > .rules > .new-rule + .style-declaration-section): Deleted.
3255         (.sidebar > .panel.details.css-style > .content:not(.filter-in-progress) > .rules > .new-rule + .label): Deleted.
3256         (.sidebar > .panel.details.css-style .rules .new-rule img): Deleted.
3257         (.sidebar > .panel.details.css-style .rules .new-rule:hover): Deleted.
3258         (.sidebar > .panel.details.css-style .rules .new-rule:active): Deleted.
3259         (@media (-webkit-min-device-pixel-ratio: 2)): Deleted.
3260         Removed CSS rules that no longer apply.  The new rule button was moved to the Styles sidebar.
3261
3262         * UserInterface/Views/ScopeChainDetailsSidebarPanel.css:
3263         (.details-section.watch-expressions .options > .watch-expression-add):
3264
3265         * UserInterface/Views/TabBar.css:
3266         (.tab-bar > .item.new-tab-button > .icon):
3267
3268         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css:
3269         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-controls > div):
3270
3271         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
3272         (WebInspector.VisualStyleCommaSeparatedKeywordEditor):
3273
3274         * UserInterface/Views/VisualStyleSelectorSection.js:
3275         (WebInspector.VisualStyleSelectorSection):
3276
3277 2015-09-01  Brian Burg  <bburg@apple.com>
3278
3279         Web Inspector: add TestSuite hooks for per-testcase setup and teardown actions
3280         https://bugs.webkit.org/show_bug.cgi?id=148641
3281
3282         Reviewed by Timothy Hatcher.
3283
3284         It should be possible to run setup and teardown actions for each test case.
3285         The use case here is to add listeners, set up testcase-specific state, etc.
3286         To match how test functions work in each suite, the sync and async implementations
3287         take functions with no arguments and(resolve, reject), respectively.
3288
3289         * UserInterface/Test/TestSuite.js:
3290         (TestSuite.prototype.addTestCase):
3291         (TestSuite.messageFromThrownObject):
3292         (TestSuite):
3293         (AsyncTestSuite.prototype.runTestCases): Stick the extra functions in the chain.
3294         (AsyncTestSuite):
3295         (SyncTestSuite.prototype.runTestCases):
3296         (SyncTestSuite):
3297
3298 2015-09-01  Matt Baker  <mattbaker@apple.com>
3299
3300         Web Inspector: Visual style editor shouldn't allow alpha characters in numeric input fields
3301         https://bugs.webkit.org/show_bug.cgi?id=148580
3302
3303         Reviewed by Brian Burg.
3304
3305         * UserInterface/Views/VisualStyleNumberInputBox.js:
3306         (WebInspector.VisualStyleNumberInputBox):
3307         Added input element "changed" handler, renamed "keyup" handler to match "keydown" handler.
3308         (WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputChanged):
3309         Validate input in response to changed event.
3310
3311 2015-08-31  Nikita Vasilyev  <nvasilyev@apple.com>
3312
3313         Web Inspector: Command-Enter for selected JS in Debugger/Sources shouldn't change the focus
3314         https://bugs.webkit.org/show_bug.cgi?id=148613
3315
3316         Reviewed by Timothy Hatcher.
3317
3318         * UserInterface/Views/ConsoleTabContentView.js:
3319         (WebInspector.ConsoleTabContentView.prototype.shown):
3320         Always focus on the console prompt when the console tab get selected.
3321
3322         * UserInterface/Views/LogContentView.js:
3323         (WebInspector.LogContentView.prototype.shown): Deleted.
3324
3325 2015-08-31  Joseph Pecoraro  <pecoraro@apple.com>
3326
3327         Web Inspector: Debugger Popovers should work for object literal shorthand variables
3328         https://bugs.webkit.org/show_bug.cgi?id=148603
3329
3330         Reviewed by Timothy Hatcher.
3331
3332         * UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
3333         (WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
3334         Allow debugger popovers for object property shorthands, because they
3335         are actually variables that have values. Previously we ignored property
3336         name literals, because they were just property names until ES6.
3337
3338         * UserInterface/Views/CodeMirrorAdditions.js:
3339         Add a helper for walking through token types from a start position. It may be useful elsewhere.
3340
3341 2015-08-31  Matt Baker  <mattbaker@apple.com>
3342
3343         Web Inspector: Move the Popover code out of the Breakpoint model object
3344         https://bugs.webkit.org/show_bug.cgi?id=127328
3345
3346         Reviewed by Timothy Hatcher.
3347
3348         * UserInterface/Controllers/BreakpointPopoverController.js: Added.
3349         (WebInspector.BreakpointPopoverController):
3350         (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.editBreakpoint):
3351         (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.removeBreakpoint):
3352         (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.toggleBreakpoint):
3353         (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.toggleAutoContinue):
3354         (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.revealOriginalSourceCodeLocation):
3355         (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems):
3356         (WebInspector.BreakpointPopoverController.prototype.showEditBreakpointPopover):
3357         (WebInspector.BreakpointPopoverController.prototype._createPopoverContent):
3358         (WebInspector.BreakpointPopoverController.prototype._popoverToggleEnabledCheckboxChanged):
3359         (WebInspector.BreakpointPopoverController.prototype._popoverConditionInputChanged):
3360         (WebInspector.BreakpointPopoverController.prototype._popoverToggleAutoContinueCheckboxChanged):
3361         (WebInspector.BreakpointPopoverController.prototype._popoverConditionInputKeyDown):
3362         (WebInspector.BreakpointPopoverController.prototype._popoverActionsCreateAddActionButton):
3363         (WebInspector.BreakpointPopoverController.prototype._popoverActionsAddActionButtonClicked):
3364         (WebInspector.BreakpointPopoverController.prototype._popoverActionsInsertBreakpointActionView):
3365         (WebInspector.BreakpointPopoverController.prototype.breakpointActionViewAppendActionView):
3366         (WebInspector.BreakpointPopoverController.prototype.breakpointActionViewRemoveActionView):
3367         (WebInspector.BreakpointPopoverController.prototype.breakpointActionViewResized):
3368         (WebInspector.BreakpointPopoverController.prototype.willDismissPopover):
3369         (WebInspector.BreakpointPopoverController.prototype.didDismissPopover):
3370         Added controller class to encapsulate view logic previously located in WebInspector.Breakpoint.
3371
3372         * UserInterface/Main.html:
3373         Added and updated file paths.
3374
3375         * UserInterface/Models/Breakpoint.js:
3376         (WebInspector.Breakpoint.prototype.appendContextMenuItems.editBreakpoint): Deleted.
3377         (WebInspector.Breakpoint.prototype.appendContextMenuItems.removeBreakpoint): Deleted.
3378         (WebInspector.Breakpoint.prototype.appendContextMenuItems.toggleBreakpoint): Deleted.
3379         (WebInspector.Breakpoint.prototype.appendContextMenuItems.toggleAutoContinue): Deleted.
3380         (WebInspector.Breakpoint.prototype.appendContextMenuItems.revealOriginalSourceCodeLocation): Deleted.
3381         (WebInspector.Breakpoint.prototype.appendContextMenuItems): Deleted.
3382         (WebInspector.Breakpoint.prototype._popoverToggleEnabledCheckboxChanged): Deleted.
3383         (WebInspector.Breakpoint.prototype._popoverConditionInputChanged): Deleted.
3384         (WebInspector.Breakpoint.prototype._popoverToggleAutoContinueCheckboxChanged): Deleted.
3385         (WebInspector.Breakpoint.prototype._popoverConditionInputKeyDown): Deleted.
3386         (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement): Deleted.
3387         (WebInspector.Breakpoint.prototype._popoverActionsCreateAddActionButton): Deleted.
3388         (WebInspector.Breakpoint.prototype._popoverActionsAddActionButtonClicked): Deleted.
3389         (WebInspector.Breakpoint.prototype._popoverActionsInsertBreakpointActionView): Deleted.
3390         (WebInspector.Breakpoint.prototype.breakpointActionViewAppendActionView): Deleted.
3391         (WebInspector.Breakpoint.prototype.breakpointActionViewRemoveActionView): Deleted.
3392         (WebInspector.Breakpoint.prototype.breakpointActionViewResized): Deleted.
3393         (WebInspector.Breakpoint.prototype.willDismissPopover): Deleted.
3394         (WebInspector.Breakpoint.prototype.didDismissPopover): Deleted.
3395         (WebInspector.Breakpoint.prototype._showEditBreakpointPopover): Deleted.
3396         Removed view logic.
3397
3398         * UserInterface/Views/BreakpointPopoverController.css: Renamed from Source/WebInspectorUI/UserInterface/Views/Breakpoint.css.
3399         (.popover .edit-breakpoint-popover-content):
3400         (.popover .edit-breakpoint-popover-content.wide):
3401         (.popover .edit-breakpoint-popover-content > label.toggle):
3402         (.popover .edit-breakpoint-popover-content > table):
3403         (.popover .edit-breakpoint-popover-content > table > tr > th):
3404         (.popover .edit-breakpoint-popover-content > table > tr > td):
3405         (#edit-breakpoint-popover-condition):
3406         (#edit-breakpoint-popoover-auto-continue):
3407
3408         * UserInterface/Views/SourceCodeTextEditor.js:
3409         (WebInspector.SourceCodeTextEditor):
3410         Creates a BreakpointPopoverController instance. The lifetime of the 'Edit Breakpoint' view is internal to the
3411         controller, and can't be initiated outside of a context menu item click.
3412
3413 2015-08-31  Matt Baker  <mattbaker@apple.com>
3414
3415         Web Inspector: Rendering Frame tasks making up < 1% of the selection don't appear in the pie chart
3416         https://bugs.webkit.org/show_bug.cgi?id=148549
3417
3418         Reviewed by Timothy Hatcher.
3419
3420         Small data points can be invisible or difficult to see in the pie chart. This patch introduces
3421         a minimum slice size of 1.5% (determined by visual inspection) for chart items.
3422
3423         Legend items continue to show the original data point values, not the adjusted values used to
3424         draw the chart slices.
3425
3426         * UserInterface/Views/ChartDetailsSectionRow.js:
3427         (WebInspector.ChartDetailsSectionRow):
3428         (WebInspector.ChartDetailsSectionRow.prototype._updateLayout):
3429         Adjust display values up or down as needed, so no data point is less than the
3430         minimum and all chart slices still total 100%.
3431
3432 2015-08-28  Joseph Pecoraro  <pecoraro@apple.com>
3433
3434         Web Inspector: "animationEnd" event names should be "animationend" (broken dashboard animation after pause)
3435         https://bugs.webkit.org/show_bug.cgi?id=148604
3436
3437         Reviewed by Timothy Hatcher.
3438
3439         * UserInterface/Views/DOMTreeElement.js:
3440         (WebInspector.DOMTreeElement.prototype.emphasizeSearchHighlight):
3441         * UserInterface/Views/DashboardContainerView.js:
3442         (WebInspector.DashboardContainerView.prototype._showDashboardView.animationEnded):
3443         (WebInspector.DashboardContainerView.prototype._showDashboardView):
3444         (WebInspector.DashboardContainerView.prototype._hideDashboardView.animationEnded):
3445         (WebInspector.DashboardContainerView.prototype._hideDashboardView):
3446         * UserInterface/Views/DefaultDashboardView.js:
3447         (WebInspector.DefaultDashboardView.prototype._setConsoleItemValue.animationEnded):
3448         (WebInspector.DefaultDashboardView.prototype._setConsoleItemValue):
3449         * UserInterface/Views/TextEditor.js:
3450         (WebInspector.TextEditor.prototype._revealSearchResult):
3451
3452 2015-08-28  Joseph Pecoraro  <pecoraro@apple.com>
3453
3454         Web Inspector: Resource.prototype.associateWithScript assertions firing
3455         https://bugs.webkit.org/show_bug.cgi?id=148601
3456
3457         Reviewed by Timothy Hatcher.
3458
3459         * UserInterface/Models/Resource.js:
3460         (WebInspector.Resource.prototype.associateWithScript):
3461         Restore the code that was here before it was converted to asserts.
3462         It looked as if it was iOS 6 only but it was not.
3463
3464 2015-08-28  Joseph Pecoraro  <pecoraro@apple.com>
3465
3466         Web Inspector: Improve ScriptSyntaxTree a bit
3467         https://bugs.webkit.org/show_bug.cgi?id=148563
3468
3469         Reviewed by Timothy Hatcher.
3470
3471         * UserInterface/Models/ScriptSyntaxTree.js:
3472         (WebInspector.ScriptSyntaxTree.prototype._recurse):
3473         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
3474         Share and fix ClassDeclaration and ClassExpression recursion to visit
3475         the identifier (node.id). Include the kind with a VariableDeclaration
3476         ("var", "let", "const").
3477
3478 2015-08-28  Joseph Pecoraro  <pecoraro@apple.com>
3479
3480         Web Inspector: Separate creating a style sheet from adding a new rule in the protocol
3481         https://bugs.webkit.org/show_bug.cgi?id=148502
3482
3483         Reviewed by Timothy Hatcher.
3484
3485         The backend allows creating multiple stylesheets. This patch makes
3486         the frontend have a preferred InspectorStyleSheet per-frame.
3487
3488         * UserInterface/Base/Object.js:
3489         (WebInspector.Object.singleFireEventListener):
3490         Return the wrapped listener so it can be removed if needed.
3491
3492         * UserInterface/Models/CSSStyleSheet.js:
3493         (WebInspector.CSSStyleSheet.prototype.isInspectorStyleSheet):
3494         Helper to check if the current stylesheet is an inspector created stylesheet.
3495
3496         * UserInterface/Controllers/CSSStyleManager.js:
3497         (WebInspector.CSSStyleManager.prototype.preferredInspectorStyleSheetForFrame):
3498         (WebInspector.CSSStyleManager.prototype.preferredInspectorStyleSheetForFrame.documentNodeAvailable):
3499         (WebInspector.CSSStyleManager.prototype.preferredInspectorStyleSheetForFrame.bodyNodeAvailable):
3500         (WebInspector.CSSStyleManager.prototype.preferredInspectorStyleSheetForFrame.cssRuleAvailable):
3501         (WebInspector.CSSStyleManager.prototype._inspectorStyleSheetsForFrame):
3502         Lookup the inspector stylesheet for a particular frame. If one doesn't exist create it.
3503         For legacy backends, exploit "addRule" to create the inspector stylesheet.
3504
3505         * UserInterface/Models/DOMNode.js:
3506         * UserInterface/Models/DOMNodeStyles.js:
3507         (WebInspector.DOMNodeStyles.prototype.addEmptyRule.inspectorStyleSheetAvailable):
3508         (WebInspector.DOMNodeStyles.prototype.addEmptyRule):
3509         Currently add all new rules to the inspector stylesheet.
3510
3511 2015-08-28  Joseph Pecoraro  <pecoraro@apple.com>
3512
3513         Web Inspector: Type Profiler does not understand Functions within Default Argument Expressions
3514         https://bugs.webkit.org/show_bug.cgi?id=148557
3515
3516         Reviewed by Timothy Hatcher.
3517
3518         * UserInterface/Models/ScriptSyntaxTree.js:
3519         (WebInspector.ScriptSyntaxTree.prototype._recurse):
3520         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
3521         (WebInspector.ScriptSyntaxTree):
3522         Add support for abstracting and recursing through the default parameter
3523         expressions Esprima has on function expressions and declarations.
3524
3525 2015-08-28  Joseph Pecoraro  <pecoraro@apple.com>
3526
3527         Web Inspector: Type Profiler does not understand Functions inside Template Strings (ScriptSyntaxTree warnings)
3528         https://bugs.webkit.org/show_bug.cgi?id=148556
3529
3530         Reviewed by Timothy Hatcher.
3531
3532         * UserInterface/Models/ScriptSyntaxTree.js:
3533         (WebInspector.ScriptSyntaxTree.prototype._recurse):
3534         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
3535         (WebInspector.ScriptSyntaxTree):
3536         Add support for abstracting and recursing through the Esprima template nodes.
3537
3538 2015-08-27  Joseph Pecoraro  <pecoraro@apple.com>
3539
3540         Web Inspector: Standardize on CSSStyleSheet.Type enum and move more protocol enum conversion to the manager
3541         https://bugs.webkit.org/show_bug.cgi?id=148515
3542
3543         Reviewed by Brian Burg.
3544
3545         * UserInterface/Controllers/CSSStyleManager.js:
3546         (WebInspector.CSSStyleManager.protocolStyleSheetOriginToEnum):
3547         (WebInspector.CSSStyleManager.protocolMediaSourceToEnum):
3548         Protocol enum to frontend enum conversion.
3549
3550         * UserInterface/Models/DOMNodeStyles.js:
3551         (WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle):
3552         (WebInspector.DOMNodeStyles.prototype.refresh):
3553         (WebInspector.DOMNodeStyles.prototype._parseRulePayload):
3554         (WebInspector.DOMNodeStyles.prototype._collectStylesInCascadeOrder):
3555         Use the manager to convert from a protocol payload enum to frontend num for css types.
3556
3557         * UserInterface/Models/CSSRule.js:
3558         (WebInspector.CSSRule.prototype.get editable):
3559         * UserInterface/Views/CSSStyleDeclarationSection.js:
3560         (WebInspector.CSSStyleDeclarationSection):
3561         (WebInspector.CSSStyleDeclarationSection.prototype.refresh):
3562         * UserInterface/Views/RulesStyleDetailsPanel.js:
3563         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.appendStyleSection):
3564         (WebInspector.RulesStyleDetailsPanel.prototype.refresh):
3565         * UserInterface/Views/VisualStyleSelectorSection.js:
3566         (WebInspector.VisualStyleSelectorSection.prototype.update.createSelectorItem):
3567         (WebInspector.VisualStyleSelectorSection.prototype.update.uniqueOrderedRules.set return):
3568         (WebInspector.VisualStyleSelectorSection.prototype.update.uniqueOrderedRules):
3569         (WebInspector.VisualStyleSelectorSection.prototype.update):
3570         * UserInterface/Views/VisualStyleSelectorTreeItem.js:
3571         (WebInspector.VisualStyleSelectorTreeItem):
3572         Update enum use.
3573
3574 2015-08-26  Nikita Vasilyev  <nvasilyev@apple.com>
3575
3576         Web Inspector: [Regression] [Mavericks]: Undocked Web Inspector toolbar is two different colors and has extra space
3577         https://bugs.webkit.org/show_bug.cgi?id=148510
3578
3579         Make body element transparent and remove extra padding above the toolbar only for OS X Mavericks.
3580
3581         Reviewed by Timothy Hatcher.
3582
3583         * UserInterface/Base/Main.js:
3584         (WebInspector.contentLoaded):
3585         * UserInterface/Views/Main.css:
3586         (body:not(.mavericks)):
3587         (body): Deleted.
3588         * UserInterface/Views/Toolbar.css:
3589         (body:not(.mavericks) .toolbar):
3590         (body.window-inactive:not(.mavericks) .toolbar):
3591         (body.mac-platform:not(.docked, .mavericks) .toolbar):
3592         (.toolbar): Deleted.
3593         (body.window-inactive .toolbar): Deleted.
3594         (body.mac-platform:not(.docked) .toolbar): Deleted.
3595
3596 2015-08-26  Joseph Pecoraro  <pecoraro@apple.com>
3597
3598         Web Inspector: Uncaught exception in CSS Completion - TypeError: undefined is not an object (evaluating 'this._values[middleIndex].startsWith')
3599         https://bugs.webkit.org/show_bug.cgi?id=148508
3600
3601         Reviewed by Timothy Hatcher.
3602
3603         * UserInterface/Models/CSSCompletions.js:
3604         (WebInspector.CSSCompletions):
3605         Add a comment explaining that the constructor may be called with
3606         a list of strings or a list of objects from the protocol. Add
3607         a fast path for when this is constructed with a list of strings.
3608
3609 2015-08-26  Matt Baker  <mattbaker@apple.com>
3610
3611         Web Inspector: Rendering Frames timeline pie chart should use SVG instead of 2D canvas
3612         https://bugs.webkit.org/show_bug.cgi?id=148457
3613
3614         Reviewed by Timothy Hatcher.
3615
3616         * UserInterface/Views/ChartDetailsSectionRow.css:
3617         (.details-section > .content > .group > .row.chart > .chart-content > svg > path.hidden):
3618         (.details-section > .content > .group > .row.chart > .chart-content > svg > path.chart-segment):
3619         (.details-section > .content > .group > .row.chart > .chart-content > svg > path.empty-chart):
3620         New styles for SVG chart elements.
3621
3622         * UserInterface/Views/ChartDetailsSectionRow.js:
3623         (WebInspector.ChartDetailsSectionRow):
3624         Calculate radii and create SVG chart elements.
3625         (WebInspector.ChartDetailsSectionRow.prototype.clearItems):
3626         Remove chart segment path elements.
3627         (WebInspector.ChartDetailsSectionRow.prototype._needsLayout):
3628         (WebInspector.ChartDetailsSectionRow.prototype._updateLayout.createSegmentPathData):
3629         Helper function that creates path data for a single pie chart segment.
3630         (WebInspector.ChartDetailsSectionRow.prototype._updateLayout):
3631         Creates path elements as needed, and updates path data for for non-zero data points.
3632         (WebInspector.ChartDetailsSectionRow.prototype.set innerLabel): Deleted.
3633         (WebInspector.ChartDetailsSectionRow.prototype.set innerRadius): Deleted.
3634         These properties are now set during construction.
3635         (WebInspector.ChartDetailsSectionRow.prototype.updateLayout): Deleted.
3636         Renamed to _updateLayout.
3637
3638         * UserInterface/Views/TimelineSidebarPanel.js:
3639         Chart size and inner radius passed to chart constructor.
3640
3641 2015-08-26  Joseph Pecoraro  <pecoraro@apple.com>
3642
3643         Web Inspector: Implement tracking of active stylesheets in the frontend
3644         https://bugs.webkit.org/show_bug.cgi?id=105828
3645
3646         Reviewed by Timothy Hatcher.
3647
3648         * UserInterface/Models/CSSStyleSheet.js:
3649         (WebInspector.CSSStyleSheet):
3650         (WebInspector.CSSStyleSheet.prototype.get origin):
3651         (WebInspector.CSSStyleSheet.prototype.updateInfo):
3652         Add a new origin attribute that has been sent from the backend for a while.
3653
3654         * UserInterface/Controllers/CSSStyleManager.js:
3655         (WebInspector.CSSStyleManager.prototype.styleSheetAdded):
3656         (WebInspector.CSSStyleManager.prototype.styleSheetRemoved):
3657         Handle the new events by managing the new CSSStyleSheets.
3658         
3659         (WebInspector.CSSStyleManager):
3660         (WebInspector.CSSStyleManager.prototype._mainResourceDidChange):
3661         Reset the legacy fetching flag. Fetching is only needed for legacy backends.
3662
3663         (WebInspector.CSSStyleManager.prototype._fetchInfoForAllStyleSheets):
3664         Include the new origin property in the legacy updateInfo path.
3665
3666         * UserInterface/Protocol/CSSObserver.js:
3667         (WebInspector.CSSObserver.prototype.styleSheetAdded):
3668         (WebInspector.CSSObserver.prototype.styleSheetRemoved):
3669         Forward to the manager.
3670
3671         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
3672         (WebInspector.CSSStyleDetailsSidebarPanel):
3673         Refresh the sidebar when stylesheets are added / removed, as that
3674         may affect the style of the select element.
3675
3676 2015-08-26  Joseph Pecoraro  <pecoraro@apple.com>
3677
3678         Web Inspector: Drop iOS 6 Legacy Remote Inspector Support
3679         https://bugs.webkit.org/show_bug.cgi?id=148456
3680
3681         Reviewed by Timothy Hatcher.
3682
3683         * UserInterface/Base/Main.js:
3684         (WebInspector.loaded):
3685         (WebInspector._updateReloadToolbarButton):
3686         (WebInspector._updateDownloadToolbarButton):
3687         (WebInspector.canArchiveMainFrame):
3688         * UserInterface/Controllers/CSSStyleManager.js:
3689         (WebInspector.CSSStyleManager.prototype._frameURLMapKey):
3690         (WebInspector.CSSStyleManager.prototype._lookupStyleSheet.styleSheetsFetched):
3691         (WebInspector.CSSStyleManager._updateResourceContent.fetchedStyleSheetContent):
3692         (WebInspector.CSSStyleManager.prototype._clearStyleSheetsForResource): Deleted.
3693         * UserInterface/Controllers/DOMTreeManager.js:
3694         (WebInspector.DOMTreeManager.prototype.highlightSelector):
3695         * UserInterface/Controllers/DebuggerManager.js:
3696         (WebInspector.DebuggerManager.prototype._setBreakpoint):
3697         * UserInterface/Controllers/JavaScriptLogViewController.js:
3698         * UserInterface/Controllers/RuntimeManager.js:
3699         (WebInspector.RuntimeManager):
3700         (WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):
3701         * UserInterface/Controllers/SourceMapManager.js:
3702         (WebInspector.SourceMapManager.prototype._loadAndParseSourceMap):
3703         * UserInterface/Controllers/StorageManager.js:
3704         (WebInspector.StorageManager):
3705         (WebInspector.StorageManager.prototype._addDOMStorageIfNeeded):
3706         (WebInspector.StorageManager.prototype.domStorageWasUpdated): Deleted.
3707         (WebInspector.StorageManager.prototype._domStorageForIdentifier): Deleted.
3708         (WebInspector.StorageManager.prototype._extraDomainsActivated): Deleted.
3709         * UserInterface/Controllers/TimelineManager.js:
3710         (WebInspector.TimelineManager.prototype._processRecord):
3711         * UserInterface/Models/Breakpoint.js:
3712         (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement):
3713         * UserInterface/Models/CSSCompletions.js:
3714         (WebInspector.CSSCompletions):
3715         (WebInspector.CSSCompletions.requestCSSCompletions):
3716         * UserInterface/Models/CSSKeywordCompletions.js:
3717         (WebInspector.CSSKeywordCompletions.addCustomCompletions): Deleted.
3718         * UserInterface/Models/CSSProperty.js:
3719         (WebInspector.CSSProperty):
3720         (WebInspector.CSSProperty.prototype.update):
3721         * UserInterface/Models/CSSRule.js:
3722         (WebInspector.CSSRule.prototype.get matchedSelectors): Deleted.
3723         (WebInspector.CSSRule.prototype.get matchedSelectorText): Deleted.
3724         * UserInterface/Models/DOMNodeStyles.js:
3725         (WebInspector.DOMNodeStyles.prototype.refresh.parseRuleMatchArrayPayload):
3726         (WebInspector.DOMNodeStyles.prototype.refresh.fetchedMatchedStyles):
3727         (WebInspector.DOMNodeStyles.prototype.changeRule.changeText):
3728         (WebInspector.DOMNodeStyles.prototype.changeStyleText):
3729         (WebInspector.DOMNodeStyles.prototype._parseStylePropertyPayload):
3730         (WebInspector.DOMNodeStyles.prototype._parseRulePayload):
3731         (WebInspector.DOMNodeStyles.prototype.changeStyleText.attributeChanged): Deleted.
3732         (WebInspector.DOMNodeStyles.prototype.changeStyleText.fetchedStyleSheetContent.contentDidChange): Deleted.
3733         (WebInspector.DOMNodeStyles.prototype.changeStyleText.fetchedStyleSheetContent): Deleted.
3734         (WebInspector.DOMNodeStyles.prototype._parseSourceRangePayload): Deleted.
3735         (WebInspector.DOMNodeStyles.prototype._parseSelectorListPayload): Deleted.
3736         * UserInterface/Models/DOMStorageObject.js:
3737         * UserInterface/Models/DOMTree.js:
3738         (WebInspector.DOMTree.prototype.requestRootDOMNode):
3739         (WebInspector.DOMTree.prototype._requestRootDOMNode):
3740         * UserInterface/Models/DatabaseObject.js:
3741         (WebInspector.DatabaseObject.prototype.executeSQL.queryCallback):
3742         (WebInspector.DatabaseObject.prototype.executeSQL):
3743         (WebInspector.DatabaseObject):
3744         (WebInspector.DatabaseObject.prototype.executeSQL.callback): Deleted.
3745         * UserInterface/Models/ExecutionContext.js:
3746         (WebInspector.ExecutionContext.supported): Deleted.
3747         * UserInterface/Models/IssueMessage.js:
3748         (WebInspector.IssueMessage): Deleted.
3749         * UserInterface/Models/LayoutTimelineRecord.js:
3750         (WebInspector.LayoutTimelineRecord):
3751         (WebInspector.LayoutTimelineRecord.prototype.get width):
3752         (WebInspector.LayoutTimelineRecord.prototype.get height):
3753         (WebInspector.LayoutTimelineRecord.prototype.get area):
3754         (WebInspector.LayoutTimelineRecord.prototype.get x): Deleted.
3755         (WebInspector.LayoutTimelineRecord.prototype.get y): Deleted.
3756         (WebInspector.LayoutTimelineRecord.prototype.get rect): Deleted.
3757         * UserInterface/Models/ProfileNode.js:
3758         * UserInterface/Models/Resource.js:
3759         (WebInspector.Resource.prototype.associateWithScript):
3760         * UserInterface/Models/ScriptTimelineRecord.js:
3761         (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload.profileNodeFromPayload):
3762         * UserInterface/Models/SourceMapResource.js:
3763         (WebInspector.SourceMapResource.prototype.requestContentFromBackend):
3764         * UserInterface/Models/TextRange.js:
3765         (WebInspector.TextRange.prototype.resolveLinesAndColumns.countNewLineCharacters): Deleted.
3766         (WebInspector.TextRange.prototype.resolveLinesAndColumns): Deleted.
3767         * UserInterface/Models/TimelineRecording.js:
3768         * UserInterface/Protocol/ConsoleObserver.js:
3769         (WebInspector.ConsoleObserver.prototype.messageAdded): Deleted.
3770         * UserInterface/Protocol/DOMStorageObserver.js:
3771         (WebInspector.DOMStorageObserver.prototype.addDOMStorage): Deleted.
3772         (WebInspector.DOMStorageObserver.prototype.updateDOMStorage): Deleted.
3773         * UserInterface/Protocol/DatabaseObserver.js:
3774         (WebInspector.DatabaseObserver.prototype.sqlTransactionSucceeded): Deleted.
3775         (WebInspector.DatabaseObserver.prototype.sqlTransactionFailed): Deleted.
3776         (WebInspector.DatabaseObserver): Deleted.
3777         * UserInterface/Protocol/Legacy/6.0/InspectorBackendCommands.js: Removed.
3778         * UserInterface/Views/CookieStorageContentView.js:
3779         (WebInspector.CookieStorageContentView.prototype._deleteCallback):
3780         (WebInspector.CookieStorageContentView):
3781         * UserInterface/Views/DOMTreeContentView.js:
3782         (WebInspector.DOMTreeContentView.prototype._updateCompositingBordersButtonToMatchPageSettings): Deleted.
3783         * UserInterface/Views/EventListenerSectionGroup.js:
3784         (WebInspector.EventListenerSectionGroup.prototype._functionTextOrLink):
3785         (WebInspector.EventListenerSectionGroup):
3786         * UserInterface/Views/LayoutTimelineView.js:
3787         (WebInspector.LayoutTimelineView.prototype._showHighlightForRecord):
3788         * UserInterface/Views/QuickConsole.js:
3789         (WebInspector.QuickConsole):
3790         (WebInspector.QuickConsole.prototype._createExecutionContextPathComponentFromFrame):
3791         (WebInspector.QuickConsole.prototype._frameAdded): Deleted.
3792         (WebInspector.QuickConsole.prototype._frameRemoved): Deleted.
3793         (WebInspector.QuickConsole.prototype._frameMainResourceChanged): Deleted.
3794         * UserInterface/Views/ScriptTimelineDataGridNode.js:
3795         (WebInspector.ScriptTimelineDataGridNode.prototype.get data):
3796         * UserInterface/Views/SourceCodeTextEditor.js:
3797         (WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenAnnotator):
3798         (WebInspector.SourceCodeTextEditor.prototype._makeBasicBlockAnnotator):
3799         * Versions/Inspector-iOS-6.0.json: Removed.
3800         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
3801         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
3802
3803 2015-08-26  Nikita Vasilyev  <nvasilyev@apple.com>
3804
3805         Web Inspector: Command-Enter should evaluate selected JS in Debugger/Sources
3806         https://bugs.webkit.org/show_bug.cgi?id=148368
3807
3808         Reviewed by Timothy Hatcher.
3809
3810         * UserInterface/Controllers/CodeMirrorCompletionController.js:
3811         (WebInspector.CodeMirrorCompletionController):
3812         (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions):
3813         Evaluate selected text in the console only for JS and HTML resources. HTML resources
3814         should be allowed because they can have commented out (inside <!-- -->) and
3815         inline (onclick="") JavaScript.
3816
3817 2015-08-25  Brian Burg  <bburg@apple.com>
3818
3819         Web Inspector: no need to allocate protocolErrors array for every dispatched backend command
3820         https://bugs.webkit.org/show_bug.cgi?id=146466
3821
3822         Reviewed by Joseph Pecoraro.
3823
3824         * UserInterface/TestStub.html: Fix a typo, this property exists on ProtocolTest.
3825
3826 2015-08-26  Matt Baker  <mattbaker@apple.com>
3827
3828         Web Inspector: Rendering Frames legend item checkbox colors are too light
3829         https://bugs.webkit.org/show_bug.cgi?id=148465
3830
3831         Reviewed by Timothy Hatcher.
3832
3833         * UserInterface/Views/ChartDetailsSectionRow.js:
3834         (WebInspector.ChartDetailsSectionRow.prototype._addCheckboxColorFilter):
3835         Gamma primitive should use an "exponent" attribute instead of "value".
3836         Increased gamma exponent to 1.4.
3837
3838 2015-08-26  Nikita Vasilyev  <nvasilyev@apple.com>
3839
3840         Web Inspector: Make DOM node attribute changes highlighting less obnoxious
3841         https://bugs.webkit.org/show_bug.cgi?id=148050
3842
3843         Reviewed by Timothy Hatcher.
3844
3845         * UserInterface/Views/DOMTreeOutline.css:
3846         (@keyframes node-state-changed): Change color to a light green.
3847         (.node-state-changed): Add a slight ease-in for the animation function.
3848
3849 2015-08-26  Joseph Pecoraro  <pecoraro@apple.com>
3850
3851         Web Inspector: Add Refresh button to Cookie Content View
3852         https://bugs.webkit.org/show_bug.cgi?id=148468
3853
3854         Reviewed by Timothy Hatcher.
3855
3856         * UserInterface/Views/CookieStorageContentView.js:
3857         (WebInspector.CookieStorageContentView):
3858         (WebInspector.CookieStorageContentView.prototype.get navigationItems):
3859         (WebInspector.CookieStorageContentView.prototype._refreshButtonClicked):
3860
3861 2015-08-25  Brian Burg  <bburg@apple.com>
3862
3863         Web Inspector: message dispatch metrics should use high-resolution timing data
3864         https://bugs.webkit.org/show_bug.cgi?id=135467
3865
3866         Reviewed by Timothy Hatcher.
3867
3868         Use performance.now if it's available, otherwise fallback to Date.now().
3869         Format timestamps with fixed decimal point, and sprinkle some ES6.
3870
3871         * UserInterface/Base/Utilities.js:
3872         (timestamp): Added.
3873         * UserInterface/Protocol/InspectorBackend.js:
3874         (InspectorBackendClass):
3875         (InspectorBackendClass.prototype._sendCommandToBackendWithCallback):
3876         (InspectorBackendClass.prototype._dispatchEvent):
3877         * UserInterface/Protocol/MessageDispatcher.js:
3878         (WebInspector.dispatchNextQueuedMessageFromBackend):
3879         (WebInspector.dispatchMessageFromBackend): Be consistent about using `this`.
3880
3881 2015-08-25  Matt Baker  <mattbaker@apple.com>
3882
3883         Web Inspector: Rendering Frames pie chart should use the needsLayout/updateLayout idiom