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