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