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