Web Inspector: spacebar should pause/resume timeline recording when timelines are...
[WebKit-https.git] / Source / WebInspectorUI / ChangeLog
1 2015-07-07  Devin Rousso  <drousso@apple.com>
2
3         Web Inspector: spacebar should pause/resume timeline recording when timelines are open
4         https://bugs.webkit.org/show_bug.cgi?id=143267
5
6         Reviewed by Timothy Hatcher.
7
8         * Localizations/en.lproj/localizedStrings.js:
9         * UserInterface/Views/TimelineTabContentView.js:
10         (WebInspector.TimelineSidebarPanel): Added two new keyboard shortcuts: space and shift-space.
11         (WebInspector.TimelineSidebarPanel.prototype.shown): Enables the keyboard shortcuts.
12         (WebInspector.TimelineSidebarPanel.prototype.hidden): Disables the keyboard shortcuts.
13         (WebInspector.TimelineSidebarPanel.prototype._toggleRecordingOnSpacebar):
14         (WebInspector.TimelineSidebarPanel.prototype._toggleNewRecordingOnSpacebar):
15         (WebInspector.TimelineSidebarPanel.prototype._toggleRecording): Starts/stops recording.
16
17 2015-07-07  Joseph Pecoraro  <pecoraro@apple.com>
18
19         Web Inspector: Improve names for unprefixed animation events
20         https://bugs.webkit.org/show_bug.cgi?id=146708
21
22         Reviewed by Timothy Hatcher.
23
24         * UserInterface/Models/ScriptTimelineRecord.js:
25
26 2015-07-07  Timothy Hatcher  <timothy@apple.com>
27
28         Web Inspector: Timeline record bars are not white when the row is selected from the sidebar
29         https://bugs.webkit.org/show_bug.cgi?id=146694
30
31         Reviewed by Joseph Pecoraro.
32
33         * UserInterface/Views/TimelineRecordBar.css:
34         (:matches(:focus, .force-focus) .selected .timeline-record-bar > .segment):
35         (:matches(:focus, .force-focus) .selected .timeline-record-bar > .segment.inactive):
36         (:matches(:focus, .force-focus) .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
37
38 2015-07-07  Devin Rousso  <drousso@apple.com>
39
40         Web Inspector: Unnecessary space added after -webkit- prefixed property values
41         https://bugs.webkit.org/show_bug.cgi?id=146671
42
43         Reviewed by Joseph Pecoraro.
44
45         * Tools/PrettyPrinting/css-rule-tests/do-not-add-whitespace-before-prefixed-property-value-expected.css: Added.
46         * Tools/PrettyPrinting/css-rule-tests/do-not-add-whitespace-before-prefixed-property-value.css: Added.
47         * Tools/PrettyPrinting/index.html:
48         * UserInterface/Views/CodeMirrorFormatters.js: Now only adds a space if both the current and previous
49         tokens are a property, value, or atom.
50
51 2015-07-07  Matt Baker  <mattbaker@apple.com>
52
53         Web Inspector: Pad ruler selection area by 1px in the Rendering Frames timeline overview
54         https://bugs.webkit.org/show_bug.cgi?id=146248
55
56         Reviewed by Timothy Hatcher.
57
58         * UserInterface/Views/RenderingFrameTimelineOverview.js:
59         Enable duration pixel alignment.
60
61         * UserInterface/Views/TimelineOverview.css:
62         (.timeline-overview.frames > .timeline-ruler > .header > .divider):
63         (.timeline-overview.frames > .timeline-ruler > .selection-handle.right):
64         (.timeline-overview.frames > .timeline-ruler > .shaded-area.right):
65         Shift ruler elements 1 pixel to the right, so that selection boundaries and dividers are
66         positioned inside the gap between frame elements.
67
68         * UserInterface/Views/TimelineOverview.js:
69         (WebInspector.TimelineOverview):
70         (WebInspector.TimelineOverview.prototype.set secondsPerPixel):
71         (WebInspector.TimelineOverview.prototype.get pixelAlignDuration):
72         (WebInspector.TimelineOverview.prototype.set pixelAlignDuration):
73         (WebInspector.TimelineOverview.prototype._handleWheelEvent):
74         Added a property to force the overview graph to align duration units on the y-axis to pixel boundaries.
75         When enabled, frame elements are displayed in integer widths while zooming, preventing subpixel blurring
76         and maintaining a consistent 1 pixel gap between frames.
77
78 2015-07-07  Devin Rousso  <drousso@apple.com>
79
80         Web Inspector: Tabbing in the styles sidebar doesn't highlight the next section of text
81         https://bugs.webkit.org/show_bug.cgi?id=146676
82
83         Reviewed by Timothy Hatcher.
84
85         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
86         (WebInspector.CSSStyleDeclarationTextEditor.prototype._highlightNextNameOrValue): Modified the logic to only search the
87         remaining text after the current cursor position.
88         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey): Now only searches for matches before the colon.
89
90 2015-07-07  Devin Rousso  <drousso@apple.com>
91
92         Web Inspector: Option+Click not jumping to resource
93         https://bugs.webkit.org/show_bug.cgi?id=146498
94
95         Reviewed by Timothy Hatcher.
96
97         * UserInterface/Base/Main.js: Always show the tab which contains the represented object.
98         (WebInspector._domNodeWasInspected):
99         (WebInspector._frameWasAdded):
100         (WebInspector.showConsoleTab):
101         (WebInspector.showRepresentedObject): Removed forceShowTab parameter.
102         (WebInspector.showMainFrameDOMTree):
103         (WebInspector.showContentFlowDOMTree):
104         (WebInspector.showSourceCodeForFrame):
105         (WebInspector.showSourceCode):
106         (WebInspector.showSourceCodeLocation):
107         (WebInspector.showOriginalUnformattedSourceCodeLocation):
108         (WebInspector.showOriginalOrFormattedSourceCodeLocation):
109         (WebInspector.showOriginalOrFormattedSourceCodeTextRange):
110         (WebInspector.showResourceRequest):
111         * UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
112         (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseButtonWasReleasedOverEditor):
113         * UserInterface/Protocol/InspectorFrontendAPI.js:
114         (InspectorFrontendAPI.showMainResourceForFrame):
115         * UserInterface/Views/ComputedStyleDetailsPanel.js:
116         (WebInspector.ComputedStyleDetailsPanel.prototype._goToContentFlowArrowWasClicked):
117         (WebInspector.ComputedStyleDetailsPanel):
118         * UserInterface/Views/ObjectTreeBaseTreeElement.js:
119         (WebInspector.ObjectTreeBaseTreeElement.prototype._appendMenusItemsForObject):
120         (WebInspector.ObjectTreeBaseTreeElement):
121
122 2015-07-07  Devin Rousso  <drousso@apple.com>
123
124         Web Inspector: Regression: CSS autocompletion suggestion applies on pressing delete
125         https://bugs.webkit.org/show_bug.cgi?id=146672
126
127         Reviewed by Timothy Hatcher.
128
129         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
130         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleBeforeChange): Now returns if completions are showing.
131
132 2015-07-07  Nikita Vasilyev  <nvasilyev@apple.com>
133
134         Web Inspector: Properly align checkboxes in the styles sidebar
135         https://bugs.webkit.org/show_bug.cgi?id=146673
136
137         Reviewed by Timothy Hatcher.
138
139         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
140         (.css-style-text-editor > .CodeMirror .CodeMirror-lines input[type=checkbox]):
141
142 2015-07-06  Matt Baker  <mattbaker@apple.com>
143
144         Web Inspector: Rendering Frame bars appear misaligned and contain gaps when displaying small task segments
145         https://bugs.webkit.org/show_bug.cgi?id=146475
146
147         Reviewed by Timothy Hatcher.
148
149         Displaying all task segments within a frame in the Rendering Frames graph is impossible, as very short tasks
150         would result in a bar with a height of less than 1 pixel. Consecutive small tasks, each less than a visible
151         pixel, appear as gaps in the frame bar. This patch addresses these shortcomings by introducing a minimum
152         displayable frame height (3 pixels), and setting the height of every frame to a multiple of the minimum height.
153
154         * UserInterface/Base/Utilities.js:
155         (.value):
156         Added Math.roundTo to simplify rounding to arbitrary intervals.
157
158         * UserInterface/Views/TimelineRecordFrame.css:
159         (.timeline-record-frame):
160         (.timeline-record-frame > .frame > .duration):
161         Enforce 3px min height for frames & segments. TimelineRenderingFrame's segment height calculator
162         creates segments that are always at least 3px, this is just a precaution.
163
164         * UserInterface/Views/TimelineRecordFrame.js:
165         (WebInspector.TimelineRecordFrame.prototype._calculateFrameDisplayData.updateDurationRemainder):
166         (WebInspector.TimelineRecordFrame.prototype._calculateFrameDisplayData.pushCurrentSegment):
167         (WebInspector.TimelineRecordFrame.prototype._calculateFrameDisplayData.invisibleSegments.forEach):
168         (WebInspector.TimelineRecordFrame.prototype._updateChildElements.createDurationElement): Deleted.
169         Added algorithm for calculating frame segment heights, rather than simply dividing each task's
170         duration by the frame duration. Results are cached so the segment heights aren't needlessly
171         recalculated on every scroll/zoom.
172
173 2015-07-06  Timothy Hatcher  <timothy@apple.com>
174
175         Web Inspector: Force show Console tab when supportsSplitContentBrowser is false
176         https://bugs.webkit.org/show_bug.cgi?id=146661
177
178         Reviewed by Joseph Pecoraro.
179
180         * UserInterface/Base/Main.js:
181         (WebInspector.showConsoleTab):
182
183 2015-07-06  Devin Rousso  <drousso@apple.com>
184
185         Web Inspector: Clearing the console does not remove the unread message icon
186         https://bugs.webkit.org/show_bug.cgi?id=146649
187
188         Reviewed by Timothy Hatcher.
189
190         * UserInterface/Views/LogContentView.js:
191         (WebInspector.LogContentView.prototype._clearLog): Removes the "unread" class from all scope bar items.
192
193 2015-07-02  Timothy Hatcher  <timothy@apple.com>
194
195         Web Inspector: Add a dedicated Network tab that is always live
196         https://bugs.webkit.org/show_bug.cgi?id=146568
197
198         Reviewed by Joseph Pecoraro.
199
200         * Localizations/en.lproj/localizedStrings.js: Updated.
201
202         * UserInterface/Base/Main.js:
203         (WebInspector.loaded):
204         (WebInspector.isTabTypeAllowed):
205         (WebInspector._tabContentViewForType):
206         (WebInspector._updateNewTabButtonState):
207         Add NetworkTabContentView to the right places.
208
209         * UserInterface/Controllers/TimelineManager.js:
210         (WebInspector.TimelineManager):
211         (WebInspector.TimelineManager.prototype.get persistentNetworkTimeline):
212         (WebInspector.TimelineManager.prototype._mainResourceDidChange):
213         (WebInspector.TimelineManager.prototype._resourceWasAdded):
214         Add a persistent network timeline that always has all resources.
215
216         * UserInterface/Images/Network.svg: Added.
217
218         * UserInterface/Main.html: Added new files.
219
220         * UserInterface/Views/NavigationSidebarPanel.css:
221         (.sidebar > .panel.navigation > .content):
222         Drive-by fix. The bottom was off by one. This caused misalignment between sidebar and content view when
223         scrolled all the way to the bottom of the content view.
224
225         * UserInterface/Views/NetworkGridContentView.css: Added.
226         (.content-view.network-grid > .data-grid):
227         (.content-view.network-grid > .data-grid th):
228         (.content-view.network-grid > .data-grid td):
229         (.content-view.network-grid > .data-grid table.data):
230         Mostly copied from TimelineView.css and NetworkTimelineView.css.
231
232         * UserInterface/Views/NetworkGridContentView.js: Added.
233         (WebInspector.NetworkGridContentView):
234         (WebInspector.NetworkGridContentView.prototype.get navigationSidebarTreeOutline):
235         (WebInspector.NetworkGridContentView.prototype.get selectionPathComponents):
236         (WebInspector.NetworkGridContentView.prototype.get zeroTime):
237         (WebInspector.NetworkGridContentView.prototype.shown):
238         (WebInspector.NetworkGridContentView.prototype.hidden):
239         (WebInspector.NetworkGridContentView.prototype.closed):
240         (WebInspector.NetworkGridContentView.prototype.updateLayout):
241         (WebInspector.NetworkGridContentView.prototype.needsLayout):
242         (WebInspector.NetworkGridContentView.prototype.reset):
243         (WebInspector.NetworkGridContentView.prototype._processPendingRecords):
244         (WebInspector.NetworkGridContentView.prototype._networkTimelineReset):
245         (WebInspector.NetworkGridContentView.prototype._networkTimelineRecordAdded):
246         (WebInspector.NetworkGridContentView.prototype._treeElementPathComponentSelected):
247         (WebInspector.NetworkGridContentView.prototype._dataGridNodeSelected):
248         Mostly copied from NetworkTimelineView.
249
250         * UserInterface/Views/NetworkSidebarPanel.css: Added.
251         (.sidebar > .panel.navigation.network > :matches(.content, .empty-content-placeholder)):
252         (.sidebar > .panel.navigation.network > .navigation-bar):
253         (.sidebar > .panel.navigation.network > .title-bar):
254         (.sidebar > .panel.navigation.network.network-grid-content-view-showing > .content):
255         (.sidebar > .panel.navigation.network .item:hover:not(.selected) .status .close.status-button):
256         (.sidebar > .panel.navigation.network:not(.network-grid-content-view-showing) .status .go-to-arrow.status-button):
257         (.sidebar > .panel.navigation.network.network-grid-content-view-showing .status .close.status-button):
258         (.sidebar > .panel.navigation.network.network-grid-content-view-showing .navigation-sidebar-panel-content-tree-outline.network-grid .item .subtitle):
259         (.sidebar > .panel.navigation.network > .content > .navigation-sidebar-panel-content-tree-outline):
260         (.sidebar > .panel.navigation.network.network-grid-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline):
261         Mostly copied from TimelineSidebarPanel.css and NetworkTimelineView.css.
262
263         * UserInterface/Views/NetworkSidebarPanel.js: Added.
264         (WebInspector.NetworkSidebarPanel):
265         (WebInspector.NetworkSidebarPanel.prototype.closed):
266         (WebInspector.NetworkSidebarPanel.prototype.showDefaultContentView):
267         (WebInspector.NetworkSidebarPanel.prototype.saveStateToCookie):
268         (WebInspector.NetworkSidebarPanel.prototype.restoreStateFromCookie):
269         (WebInspector.NetworkSidebarPanel.prototype.hasCustomFilters):
270         (WebInspector.NetworkSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
271         (WebInspector.NetworkSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
272         (WebInspector.NetworkSidebarPanel.prototype.treeElementAddedOrChanged):
273         (WebInspector.NetworkSidebarPanel.prototype._networkTimelineReset):
274         (WebInspector.NetworkSidebarPanel.prototype._contentBrowserCurrentContentViewDidChange):
275         (WebInspector.NetworkSidebarPanel.prototype._treeElementGoToArrowWasClicked):
276         (WebInspector.NetworkSidebarPanel.prototype._treeElementCloseButtonClicked):
277         (WebInspector.NetworkSidebarPanel.prototype._canShowDifferentContentView):
278         (WebInspector.NetworkSidebarPanel.prototype._treeElementSelected):
279         (WebInspector.NetworkSidebarPanel.prototype._scopeBarSelectionDidChange):
280         A hybrid of ResourceSidebarPanel and TimelineSidebarPanel.
281
282         * UserInterface/Views/NetworkTabContentView.js: Added.
283         (WebInspector.NetworkTabContentView):
284         (WebInspector.NetworkTabContentView.prototype.get type):
285         (WebInspector.NetworkTabContentView.prototype.canShowRepresentedObject):
286
287         * UserInterface/Views/NewTabContentView.js:
288         (WebInspector.NewTabContentView): Add Network tab and sort the tabs by their localized name.
289
290         * UserInterface/Views/TabBar.js:
291         (WebInspector.TabBar.prototype._handleNewTabClick):
292         Drive-by fix. Don't fire the click event if the new tab button is disabled.
293
294 2015-07-06  Nikita Vasilyev  <nvasilyev@apple.com>
295
296         Web Inspector: Mark console filters that have unseen messages by colored dots
297         https://bugs.webkit.org/show_bug.cgi?id=146616
298
299         Reviewed by Timothy Hatcher.
300
301         * UserInterface/Views/LogContentView.css:
302         (.log-scope-bar > li.unread::before):
303         (.log-scope-bar > li.unread:hover::before):
304         (.log-scope-bar > li.unread.errors::before):
305         (.log-scope-bar > li.unread.warnings::before):
306         (.log-scope-bar > li.unread.logs::before):
307         (@keyframes unread-background-pulse):
308
309 2015-07-06  Timothy Hatcher  <timothy@apple.com>
310
311         Web Inspector: Exceptions in Network timeline when resource updates and filters are applied
312         https://bugs.webkit.org/show_bug.cgi?id=146609
313
314         Reviewed by Joseph Pecoraro.
315
316         * UserInterface/Views/DataGrid.js:
317         (WebInspector.DataGrid.prototype.insertChild):
318         (WebInspector.DataGrid.prototype.removeChild):
319         (WebInspector.DataGridNode.prototype.savePosition):
320         Convert exceptions to asserts and early returns.
321
322         * UserInterface/Views/TimelineDataGrid.js:
323         (WebInspector.TimelineDataGrid.prototype._refreshDirtyDataGridNodes): Add some asserts and checks.
324
325         * UserInterface/Views/TreeOutline.js:
326         (WebInspector.TreeOutline.prototype.appendChild):
327         (WebInspector.TreeOutline.prototype.insertChild):
328         (WebInspector.TreeOutline.prototype.removeChildAtIndex):
329         (WebInspector.TreeOutline.prototype.removeChild):
330         Convert exceptions to asserts and early returns.
331
332 2015-07-05  Timothy Hatcher  <timothy@apple.com>
333
334         Web Inspector: Cached resources are missing startTime and size in Network timeline
335         https://bugs.webkit.org/show_bug.cgi?id=146607
336
337         Reviewed by Joseph Pecoraro.
338
339         * UserInterface/Controllers/FrameResourceManager.js:
340         (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache): Pass elapsedTime in the right argument order.
341         Add missing calls to Resource.increaseSize and Resource.increaseTransferSize.
342         (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse): Pass elapsedTime in the right argument order.
343
344 2015-07-05  Timothy Hatcher  <timothy@apple.com>
345
346         Web Inspector: Dim more borders when the window is inactive
347         https://bugs.webkit.org/show_bug.cgi?id=146608
348
349         Reviewed by Joseph Pecoraro.
350
351         * UserInterface/Views/DataGrid.css:
352         (body.window-inactive .data-grid th):
353         (body.window-inactive .data-grid :matches(th, td):not(:last-child)):
354         * UserInterface/Views/NavigationSidebarPanel.css:
355         (body.window-inactive .sidebar > .panel.navigation > .overflow-shadow):
356         * UserInterface/Views/OverviewTimelineView.css:
357         (body.window-inactive .timeline-view.overview > .timeline-ruler > .header):
358         * UserInterface/Views/TimelineDataGrid.css:
359         (body.window-inactive .data-grid.timeline th):
360         (body.window-inactive .data-grid.timeline > .navigation-bar-container > .navigation-bar):
361         * UserInterface/Views/TimelineRuler.css:
362         (body.window-inactive .timeline-ruler > .header):
363         (body.window-inactive .timeline-ruler > .header > .divider):
364         * UserInterface/Views/TimelineSidebarPanel.css:
365         (body.window-inactive .sidebar > .panel.navigation.timeline > .status-bar):
366         (body.window-inactive .sidebar > .panel.navigation.timeline > .title-bar):
367         (body.window-inactive .sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
368
369 2015-07-05  Timothy Hatcher  <timothy@apple.com>
370
371         Web Inspector: Timeline row selection should have same background color in sidebar and data grid
372         https://bugs.webkit.org/show_bug.cgi?id=146606
373
374         Support a force-focus class name that TreeOutlineDataGridSynchronizer applies when one of the
375         elements is focused, so the other can look focused too.
376
377         Reviewed by Joseph Pecoraro.
378
379         * UserInterface/Views/DataGrid.css:
380         (.data-grid:matches(:focus, .force-focus) tr.selected td:not(:last-child)):
381         (.data-grid:matches(:focus, .force-focus) tr.parent.selected td.disclosure::before):
382         (.data-grid:matches(:focus, .force-focus) tr.parent.expanded.selected td.disclosure::before):
383         (.data-grid:matches(:focus, .force-focus) tr.selected):
384         (.data-grid:matches(:focus, .force-focus) tr.selected td .subtitle):
385
386         * UserInterface/Views/Main.css:
387         (:matches(:focus, .force-focus) .selected .go-to-arrow):
388         (:matches(:focus, .force-focus) .selected .go-to-arrow:active):
389
390         * UserInterface/Views/NavigationSidebarPanel.css:
391         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .disclosure-button):
392         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected.expanded .disclosure-button):
393         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected):
394         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .subtitle):
395
396         * UserInterface/Views/TreeElementStatusButton.css:
397         (:matches(:focus, .force-focus) .item.selected > .status > .status-button > svg .filled):
398         (:matches(:focus, .force-focus) .item.selected > .status > .status-button > svg .stroked):
399
400         * UserInterface/Views/TreeOutlineDataGridSynchronizer.js:
401         (WebInspector.TreeOutlineDataGridSynchronizer):
402         (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridGainedFocus): Added.
403         (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridLostFocus): Added.
404         (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeOutlineGainedFocus): Added.
405         (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeOutlineLostFocus): Added.
406
407 2015-07-05  Devin Rousso  <drousso@apple.com>
408
409         Web Inspector: Deleting in the CSS sidebar causes the warning icon to appear mid-word
410         https://bugs.webkit.org/show_bug.cgi?id=146617
411
412         Reviewed by Timothy Hatcher.
413
414         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
415         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleBeforeChange): Now removes all marks whenever the user deletes.
416         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): The invalid marker now calculates
417         it's position based off of where the semicolon is in the property text.
418
419 2015-07-05  Devin Rousso  <drousso@apple.com>
420
421         Web Inspector: CSS rule with 2 pseudo-selectors appears twice
422         https://bugs.webkit.org/show_bug.cgi?id=146576
423
424         Reviewed by Timothy Hatcher.
425
426         * UserInterface/Views/RulesStyleDetailsPanel.js:
427         (WebInspector.RulesStyleDetailsPanel.prototype.refresh):
428         Only adds pseudo-elements if the previous pseudo-element has a different selector.
429
430 2015-07-04  Devin Rousso  <drousso@apple.com>
431
432         Web Inspector: Wrong cursor position in styles panel when deleting a line break
433         https://bugs.webkit.org/show_bug.cgi?id=146577
434
435         Reviewed by Timothy Hatcher.
436
437         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
438         (WebInspector.CSSStyleDeclarationTextEditor):
439         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleBeforeChange): If the change is a deletion at the beginning of a line,
440         remove all markers on that line to ensure that there is no blank space on the previous line after deleting.
441
442 2015-07-04  Devin Rousso  <drousso@apple.com>
443
444         Web Inspector: Pressing tab on a newline in the console should insert a tab character
445         https://bugs.webkit.org/show_bug.cgi?id=146612
446
447         Reviewed by Timothy Hatcher.
448
449         * UserInterface/Views/ConsolePrompt.js:
450         (WebInspector.ConsolePrompt.prototype._handleTabKey): Tabs can now be inserted at the beginning of newlines and before the first
451         non-space character on any other line.
452
453 2015-07-04  Devin Rousso  <drousso@apple.com>
454
455         Web Inspector: Pressing enter on a newline in the styles sidebar inserts a semicolon
456         https://bugs.webkit.org/show_bug.cgi?id=146611
457
458         Reviewed by Timothy Hatcher.
459
460         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
461         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleEnterKey): Now returns if the line is empty.
462
463 2015-07-04  Devin Rousso  <drousso@apple.com>
464
465         Web Inspector: Console should indicate if you have unseen messages in console due to filters
466         https://bugs.webkit.org/show_bug.cgi?id=143166
467
468         Reviewed by Timothy Hatcher.
469
470         * UserInterface/Controllers/JavaScriptLogViewController.js:
471         (WebInspector.JavaScriptLogViewController.prototype.updatePreviousMessageRepeatCount): Now returns true/false depending on if
472         the message count was actually updated.
473         * UserInterface/Views/LogContentView.css:
474         (.log-scope-bar > li.unread): Applies the unread-border-pulse keyframe animation.
475         (.log-scope-bar > li.unread.errors): The pulsing border is colored red.
476         (.log-scope-bar > li.unread.warnings): The pulsing border is colored yellow(ish).
477         (.log-scope-bar > li.unread.logs): The pulsing border is colored grey.
478         (@keyframes unread-border-pulse): Changes the color of the border from transparent to whatever is specificed.
479         * UserInterface/Views/LogContentView.js:
480         (WebInspector.LogContentView):
481         (WebInspector.LogContentView.prototype._determineMessageLevel):
482         (WebInspector.LogContentView.prototype._pulseScopeBarItemBorder): Adds the class "unread" to the scope bar item whose panel
483         the newest message belongs to, but only if that panel or the All panel is not visible.
484         (WebInspector.LogContentView.prototype._messageAdded):
485         (WebInspector.LogContentView.prototype._previousMessageRepeatCountUpdated):
486         (WebInspector.LogContentView.prototype._scopeBarSelectionDidChange): Clears the "unread" class on the selected scope bar item.
487         (WebInspector.LogContentView.prototype._filterMessageElements):
488         * UserInterface/Views/ScopeBar.js:
489         (WebInspector.ScopeBar.prototype.get items): Returns a list of all the items in the scope bar.
490         * UserInterface/Views/ScopeBarItem.js:
491         (WebInspector.ScopeBarItem): Added another parameter to allow for a custom class name.
492
493 2015-07-04  Devin Rousso  <drousso@apple.com>
494
495         Web Inspector: Pseudo Styles Ordering and Media Queries
496         https://bugs.webkit.org/show_bug.cgi?id=145979
497
498         Reviewed by Timothy Hatcher.
499
500         * UserInterface/Views/RulesStyleDetailsPanel.css:
501         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label:not(.filter-section-non-matching) + .label.filter-matching-label:not(.filter-section-non-matching)):
502         Fix filter label styling with pseudo selectors.
503         * UserInterface/Views/RulesStyleDetailsPanel.js:
504         (WebInspector.RulesStyleDetailsPanel.prototype.refresh): Pseudo-selector rules will now order directly after the last style that
505         matches the pseudo-selector without the pseudo-element.  If no rules match, place the pseudo-selector rules above the first
506         inherited or UserAgent rule (whichever comes first).
507
508 2015-07-04  Devin Rousso  <drousso@apple.com>
509
510         REGRESSION(r184000): Web Inspector: Multiline CSS in Styles Sidebar is marked as invalid
511         https://bugs.webkit.org/show_bug.cgi?id=146178
512
513         Reviewed by Timothy Hatcher.
514
515         First changes made by Tobias Reiss  <tobi+webkit@basecode.de>
516
517         * Tools/PrettyPrinting/css-rule-tests/add-whitespace-between-values-expected.css: Added.
518         * Tools/PrettyPrinting/css-rule-tests/add-whitespace-between-values.css: Added.
519         * Tools/PrettyPrinting/css-rule-tests/add-whitespace-between-rules-expected.css: Added.
520         * Tools/PrettyPrinting/css-rule-tests/add-whitespace-between-rules.css: Added.
521         * Tools/PrettyPrinting/css-rule-tests/remove-newline-between-values-expected.css: Added.
522         * Tools/PrettyPrinting/css-rule-tests/remove-newline-between-values.css: Added.
523         * Tools/PrettyPrinting/index.html:
524         Add regression tests.
525         * UserInterface/Views/CodeMirrorFormatters.js:
526         Remove newlines before values that belong in one line and add whitespace between values. 
527
528 2015-07-04  Nikita Vasilyev  <nvasilyev@apple.com>
529
530         Web Inspector: The arrow that appears for Web Inspector Layout & Rendering records overlaps the category switcher
531         https://bugs.webkit.org/show_bug.cgi?id=146605
532
533         Reviewed by Timothy Hatcher.
534
535         * UserInterface/Views/TimelineDataGrid.css:
536         (.data-grid.timeline > .navigation-bar-container):
537
538 2015-07-03  Dan Bernstein  <mitz@apple.com>
539
540         [Xcode] Update some build settings as recommended by Xcode 7
541         https://bugs.webkit.org/show_bug.cgi?id=146597
542
543         Reviewed by Sam Weinig.
544
545         * Configurations/Base.xcconfig: Enabled CLANG_WARN_UNREACHABLE_CODE and
546         GCC_NO_COMMON_BLOCKS.
547         * WebInspectorUI.xcodeproj/project.pbxproj: Updated LastUpgradeCheck.
548
549 2015-07-02  Devin Rousso  <drousso@apple.com>
550
551         Web Inspector: Show suggest popover on Tab press even if it wasn't showing before
552         https://bugs.webkit.org/show_bug.cgi?id=146496
553
554         Reviewed by Timothy Hatcher.
555
556         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
557         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey): Pressing tab will try to autocomplete before trying
558         to add an ending colon/semicolon or highlight the next section of text.
559
560 2015-07-01  Joseph Pecoraro  <pecoraro@apple.com>
561
562         Web Inspector: Aggregate profile call information on the backend to drastically reduce profile sizes
563         https://bugs.webkit.org/show_bug.cgi?id=146536
564
565         Reviewed by Timothy Hatcher.
566
567         Since we still support legacy backends, the frontend documents where
568         it is handling legacy backends with compatibility comments.
569
570         * UserInterface/Models/ProfileNode.js:
571         (WebInspector.ProfileNode):
572         (WebInspector.ProfileNode.prototype.get callInfo):
573         Handle a ProfileNode created with callInfo or calls. They are mutually exclusive.
574
575         * UserInterface/Models/ScriptTimelineRecord.js:
576         (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload.profileNodeFromPayload):
577         If the profile has per-call information, construct ProfileNodeCall objects, otherwise
578         just construct the ProfileNode with the aggregate callInfo value.
579
580         * UserInterface/Views/ScriptTimelineDataGridNode.js:
581         (WebInspector.ScriptTimelineDataGridNode.prototype.get data):
582         When we have aggregate call information we cannot easily partition a script,
583         so we instead treat the entire script as one large atomic unit in the timeline.
584         If the timeline range has any portion of the script, show the entire script.
585         Users used to be able to select a portion of a script and view the relevant
586         functions called in just that sliver, but this doesn't appear to be a well
587         known feature or commonly used. In fact, given the small ranges of time it
588         could be confusing for users.
589
590         * UserInterface/Views/TimelineRecordingContentView.js:
591         (WebInspector.TimelineRecordingContentView.prototype.matchTreeElementAgainstCustomFilters):
592         Treat as a discrete unit.
593
594 2015-07-01  Devin Rousso  <drousso@apple.com>
595
596         Web Inspector: When autocompleting, pressing tab twice shouldn't insert a tab character
597         https://bugs.webkit.org/show_bug.cgi?id=145885
598
599         Reviewed by Timothy Hatcher.
600
601         * UserInterface/Controllers/CodeMirrorCompletionController.js:
602         (WebInspector.CodeMirrorCompletionController):
603         (WebInspector.CodeMirrorCompletionController.prototype.updateCompletions): Resolves the promise as having completions.
604         (WebInspector.CodeMirrorCompletionController.prototype.hideCompletions): Resolves the promise as not having completions.
605         (WebInspector.CodeMirrorCompletionController.prototype.completeAtCurrentPositionIfNeeded): Returns a WrappedPromise that allows
606         callers of this function to determine if the autocomplete had any values or was instead not shown.
607         (WebInspector.CodeMirrorCompletionController.prototype._resolveUpdatePromise):
608         * UserInterface/Main.html: Added WrappedPromise class.
609         * UserInterface/Models/WrappedPromise.js: Added WrappedPromise object to expose resolve and reject functions.
610         * UserInterface/Views/ConsolePrompt.js:
611         (WebInspector.ConsolePrompt.prototype._handleTabKey): Attempts to find completions for current text.  If there are none, beep.
612
613 2015-07-01  Devin Rousso  <drousso@apple.com>
614
615         Make the first click on a rule section create a newline for easy property addition
616         https://bugs.webkit.org/show_bug.cgi?id=146490
617
618         Reviewed by Timothy Hatcher.
619
620         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
621         (WebInspector.CSSStyleDeclarationTextEditor):
622         (WebInspector.CSSStyleDeclarationTextEditor.prototype._highlightNextNameOrValue):
623         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleEnterKey): Inserts a semicolon if the line is missing one.
624         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseDown): If the user clicks on a property with the editor being
625         unfocused, the name/value containing the cursor will be highlighted.  If instead the user clicks at the end of a line, the
626         cursor's position is saved for mouseUp.
627         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseUp): If the mouseDown cursor position was saved and is equal
628         to the current cursor's position (the user did not drag), add a newline after the current line and place the cursor on that line.
629         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey):
630         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey.highlightNextNameOrValue): Deleted.
631
632 2015-06-30  Devin Rousso  <drousso@apple.com>
633
634         Web Inspector: add " = $0" hint after selected element in main DOMTreeOutline
635         https://bugs.webkit.org/show_bug.cgi?id=145739
636
637         Reviewed by Timothy Hatcher.
638
639         * UserInterface/Views/DOMTreeOutline.css: Adds a semi-opaque " = $0" to the selected element in the DOM tree.
640         (.dom-tree-outline li.selected > span::after):
641         (.dom-tree-outline:focus li.selected > span::after):
642
643 2015-06-30  Joseph Pecoraro  <pecoraro@apple.com>
644
645         Web Inspector: ProfileNode cleanup
646         https://bugs.webkit.org/show_bug.cgi?id=146472
647
648         Reviewed by Timothy Hatcher.
649
650         * UserInterface/Models/ProfileNode.js:
651         (WebInspector.ProfileNode):
652         Use Array.prototype.every instead of reduce.
653         Correct the name of a function to be what callers expect!
654
655 2015-06-30  Joseph Pecoraro  <pecoraro@apple.com>
656
657         Web Inspector: iOS 8: Profile Nodes not showing in JavaScript Timeline
658         https://bugs.webkit.org/show_bug.cgi?id=146471
659
660         Reviewed by Brian Burg.
661
662         * UserInterface/Models/ScriptTimelineRecord.js:
663         (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload.profileNodeCallFromPayload):
664         For legacy backends, convert the startTime to the proper timestamp type.
665
666 2015-06-30  Matt Baker  <mattbaker@apple.com>
667
668         Web Inspector: Reduce rendering frames "Other" time by instrumenting compositing
669         https://bugs.webkit.org/show_bug.cgi?id=146168
670
671         Reviewed by Brian Burg.
672
673         * Localizations/en.lproj/localizedStrings.js:
674         * UserInterface/Controllers/TimelineManager.js:
675         (WebInspector.TimelineManager.prototype._processRecord):
676         Added handling for new Composite record type. Paint records with a parent Composite record
677         are flagged to simplify processing after the event hierarchy is unpacked.
678
679         * UserInterface/Images/TimelineRecordComposite.svg: Added.
680         New composite record icon.
681
682         * UserInterface/Models/LayoutTimelineRecord.js:
683         (WebInspector.LayoutTimelineRecord):
684         (WebInspector.LayoutTimelineRecord.displayNameForEventType):
685         (WebInspector.LayoutTimelineRecord.prototype.get duringComposite): Added
686         Composite record support.
687
688         * UserInterface/Models/RenderingFrameTimelineRecord.js:
689         (WebInspector.RenderingFrameTimelineRecord.prototype.durationForTask.get validRecordForTaskType):
690         Add compositing time when bucketing runloop tasks, ignoring Paint events that are
691         contained within a Composite event.
692
693         * UserInterface/Views/LayoutTimelineOverviewGraph.js:
694         (WebInspector.LayoutTimelineOverviewGraph.prototype._layoutTimelineRecordAdded):
695         Add Composite records to paint timeline row.
696
697         * UserInterface/Views/RenderingFrameTimelineView.js:
698         (WebInspector.RenderingFrameTimelineView.prototype._processPendingRecords):
699         Small unrelated fix.
700
701         * UserInterface/Views/TimelineIcons.css:
702         (.composite-record .icon):
703         * UserInterface/Views/TimelineRecordBar.css:
704         (.timeline-record-bar.timeline-record-type-layout.layout-timeline-record-composite > .segment):
705         * UserInterface/Views/TimelineRecordTreeElement.js:
706         (WebInspector.TimelineRecordTreeElement):
707         New styles and tree element icon.
708
709 2015-06-30  Joseph Pecoraro  <pecoraro@apple.com>
710
711         Web Inspector: iOS 8: Uncaught Exception expanding Object Prototype
712         https://bugs.webkit.org/show_bug.cgi?id=146427
713
714         Reviewed by Timothy Hatcher.
715
716         * UserInterface/Views/ObjectTreePropertyTreeElement.js:
717         (WebInspector.ObjectTreePropertyTreeElement.prototype._updateProperties):
718         * UserInterface/Views/ObjectTreeView.js:
719         (WebInspector.ObjectTreeView.prototype._updateProperties):
720         We are supposed to receive value properties for __proto__ properties
721         so that we can immediately start showing information about the property.
722         When that is not the case, which appeared to only be on legacy
723         backends for the top level prototype, just ignore it.
724
725 2015-06-30  Joseph Pecoraro  <pecoraro@apple.com>
726
727         Web Inspector: Misc. Timeline cleanup
728         https://bugs.webkit.org/show_bug.cgi?id=146430
729
730         Reviewed by Timothy Hatcher.
731
732         * UserInterface/Models/Timeline.js:
733         (WebInspector.Timeline.prototype.reset):
734         Nobody listens for this event. Just remove it.
735
736         * UserInterface/Models/TimelineRecording.js:
737         Avoiding doing multiple lookups.
738
739         * UserInterface/Views/TimelineDataGridNode.js:
740         * UserInterface/Views/TimelineRecordingContentView.js:
741         (WebInspector.TimelineRecordingContentView.prototype._updateTimes):
742         * UserInterface/Views/TimelineView.js:
743         (WebInspector.TimelineView.prototype.updateLayout):
744         Eliminate some unnecessary deletes.
745
746 2015-06-29  Nikita Vasilyev  <nvasilyev@apple.com>
747
748         Web Inspector: Unable to select the text of an inline error message
749         https://bugs.webkit.org/show_bug.cgi?id=145813
750
751         Reviewed by Timothy Hatcher.
752
753         * UserInterface/Views/CodeMirrorOverrides.css:
754         (.CodeMirror-linewidget):
755         * UserInterface/Views/TextEditor.js:
756         (WebInspector.TextEditor.prototype.createWidgetForLine):
757
758 2015-06-29  Joseph Pecoraro  <pecoraro@apple.com>
759
760         Web Inspector: Remove harmless error for not getting named flows
761         https://bugs.webkit.org/show_bug.cgi?id=146417
762
763         Reviewed by Darin Adler.
764
765         * UserInterface/Controllers/DOMTreeManager.js:
766
767 2015-06-29  Joseph Pecoraro  <pecoraro@apple.com>
768
769         Web Inspector: Network errors (404) are missing location link in console messages
770         https://bugs.webkit.org/show_bug.cgi?id=146442
771
772         Reviewed by Darin Adler.
773
774         * UserInterface/Views/ConsoleMessageView.js:
775         (WebInspector.ConsoleMessageView.prototype._appendLocationLink):
776         Restore behavior of adding a location link for network messages with urls.
777
778 2015-06-29  Joseph Pecoraro  <pecoraro@apple.com>
779
780         Web Inspector: iOS 8: Resources Timeline Data does not show up
781         https://bugs.webkit.org/show_bug.cgi?id=146433
782
783         Reviewed by Timothy Hatcher.
784
785         There were a couple issues with initializing the legacy base timestamp
786         for attempting to dynamically compute monotonically increasing timestamps
787         for timeline events for legacy backends.
788
789             * Sometimes legacy timestamps were in seconds since epochs,
790               sometimes milliseconds. The frontend did not handle both.
791
792             * On navigations, even while resetting the base timestamp for
793               the first new record received, the main resource still had
794               a will send request time computed from the previous page's
795               time system. This patch re-uses the original timestamp for
796               this main resource as the new base and all future records
797               are computed relative to this.
798
799         * UserInterface/Controllers/FrameResourceManager.js:
800         (WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent):
801         (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame):
802         * UserInterface/Models/Resource.js:
803         (WebInspector.Resource):
804         (WebInspector.Resource.prototype.get originalRequestWillBeSentTimestamp):
805         For legacy timestamp calculations, save the original request will be sent
806         timestamp on the Resource in case it is needed.
807
808         * UserInterface/Controllers/TimelineManager.js:
809         (WebInspector.TimelineManager.prototype._loadNewRecording):
810         When auto-starting a new recording for a navigation / reload, use the
811         main resource's request will be sent timestamp as the new base.
812
813         * UserInterface/Models/TimelineRecording.js:
814         Address legacy timeline timestamps by handling both legacy timestamps
815         that may be seconds / milliseconds.
816
817 2015-06-29  Joseph Pecoraro  <pecoraro@apple.com>
818
819         REGRESSION: Web Inspector: Jump to Definition is broken
820         https://bugs.webkit.org/show_bug.cgi?id=146376
821
822         Reviewed by Timothy Hatcher.
823
824         * UserInterface/Views/ObjectTreeBaseTreeElement.js:
825         (WebInspector.ObjectTreeBaseTreeElement.prototype._appendMenusItemsForObject):
826         Allow changing tabs when jumping to function definition.
827
828 2015-06-28  Nikita Vasilyev  <nvasilyev@apple.com>
829
830         Web Inspector: Wrong border color of console messages when filters are enabled
831         https://bugs.webkit.org/show_bug.cgi?id=146392
832
833         Reviewed by Timothy Hatcher.
834
835         * UserInterface/Views/LogContentView.css:
836         (.console-error-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
837         (.console-warning-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
838
839 2015-06-25  Matt Baker  <mattbaker@apple.com>
840
841         Web Inspector: Wrong timeline selected after switching from Rendering Frames to Timelines
842         https://bugs.webkit.org/show_bug.cgi?id=146331
843
844         Reviewed by Timothy Hatcher.
845
846         * UserInterface/Views/TimelineSidebarPanel.js:
847         Set previously selected timeline type to null if no tree element is selected when switching
848         view mode to Rendering Frames.
849
850 2015-06-25  Joseph Pecoraro  <pecoraro@apple.com>
851
852         [Mac] Web Inspector: Window dragging on toolbar should behave more like native window dragging
853         https://bugs.webkit.org/show_bug.cgi?id=146324
854
855         Reviewed by Timothy Hatcher.
856
857         * UserInterface/Base/Main.js:
858         On Mac 10.11 transition to using InspectorFrontendHost.startWindowDrag.
859         For older Macs continue to use InspectorFrontendHost.moveWindowBy.
860         
861         * UserInterface/Protocol/InspectorFrontendHostStub.js:
862         (WebInspector.InspectorFrontendHostStub.prototype.startWindowDrag):
863         Add the stub for InspectorFrontendHostStub.
864
865 2015-06-24  Devin Rousso  <drousso@apple.com>
866
867         Web Inspector: Pressing tab in the styles sidebar shouldn't insert a tab character
868         https://bugs.webkit.org/show_bug.cgi?id=146189
869
870         Reviewed by Timothy Hatcher.
871
872         * UserInterface/Controllers/CodeMirrorCompletionController.js: Added variable to control whether semicolons are added to the end of autocompleted css values.
873         (WebInspector.CodeMirrorCompletionController):
874         (WebInspector.CodeMirrorCompletionController.prototype.set noEndingSemicolon):
875         (WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions):
876         * UserInterface/Views/CSSStyleDeclarationSection.js:
877         (WebInspector.CSSStyleDeclarationSection):
878         (WebInspector.CSSStyleDeclarationSection.prototype.cssStyleDeclarationTextEditorSwitchRule):
879         (WebInspector.CSSStyleDeclarationSection.prototype.focusRuleSelector):
880         (WebInspector.CSSStyleDeclarationSection.prototype.selectLastProperty):
881         (WebInspector.CSSStyleDeclarationSection.prototype.get selectorLocked):
882         (WebInspector.CSSStyleDeclarationSection.prototype.get locked):
883         (WebInspector.CSSStyleDeclarationSection.prototype._handleKeyDown):
884         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
885         (WebInspector.CSSStyleDeclarationTextEditor): Added functions for "Tab", "Shift-Tab", and "Shift-Enter" keypresses to improve usability.
886         (WebInspector.CSSStyleDeclarationTextEditor.prototype.selectFirstProperty): Highlights the first property.
887         (WebInspector.CSSStyleDeclarationTextEditor.prototype.selectLastProperty): Highlights the last property.
888         (WebInspector.CSSStyleDeclarationTextEditor.prototype._insertNewlineAfterCurrentLine): Inserts a newline after the currently selected line.
889         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey.switchRule):
890         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey): Pressing shift-tab will move the cursor to the previous non-word character that is immediately after a word character.
891         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey.switchRule):
892         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey.highlightNextNameOrValue):
893         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey): Pressing tab will move the cursor to each space character until the end of the line is reached, at
894         which point the cursor will move to the beginning of the next line.  Once the cursor is at the last line, pressing tab again will insert a newline.
895         * UserInterface/Views/RulesStyleDetailsPanel.js:
896         (WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionEditorNextRule): Switches the focused rule to the next section.
897         (WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionEditorPrevRule): Switches the focused rule to the previous section.
898
899 2015-06-24  Joseph Pecoraro  <pecoraro@apple.com>
900
901         Web Inspector: console.group looks poor in console
902         https://bugs.webkit.org/show_bug.cgi?id=146295
903
904         Reviewed by Timothy Hatcher.
905
906         * Localizations/en.lproj/localizedStrings.js:
907         String for the default group name if you use console.group() without a name parameter.
908
909         * UserInterface/Views/LogContentView.css:
910         (.console-group-title::before):
911         Tweak the positioning and eliminate the log level ::before image.
912
913         * UserInterface/Views/ConsoleMessageView.js:
914         (WebInspector.ConsoleMessageView):
915         Reorder a bit to reduce a couple branches.
916
917         (WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
918         Take a very straightforward approach for group names.
919
920 2015-06-24  Devin Rousso  <drousso@apple.com>
921
922         Web Inspector: Show warning icon for invalid CSS properties and/or values
923         https://bugs.webkit.org/show_bug.cgi?id=145657
924
925         Reviewed by Timothy Hatcher.
926
927         * UserInterface/Models/CSSCompletions.js:
928         (WebInspector.CSSCompletions.prototype.getClosestPropertyName): Calculates the levenshtein distance between a given property and every existing property name.  Returns the property name with the smallest distance or, in the case of multiple properties having the same distance, the first property in alphabetical order.
929         (WebInspector.CSSCompletions.prototype.propertyRequiresWebkitPrefix): Retruns if the property name exists only with a '-webkit-' prefix.
930         (WebInspector.CSSCompletions):
931         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
932         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .invalid-warning-marker):
933         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .invalid-warning-marker.clickable:hover):
934         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
935         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded.duplicatePropertyExistsBelow): Determines if there exists a property below (visually) the given property that has the same name.
936         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded.generateInvalidMarker): Creates a warning icon marker at the given position with the given title.
937         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded.instancesOfProperty): Returns the number of properties in the rule that have the same name.
938         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): A button with a warning icon is now added to the beginning of an invalid property.  If this button is clicked, the property is replaced with the closest matching property and the autocomplete menu is opened.
939
940 2015-06-24  Devin Rousso  <drousso@apple.com>
941
942         Web Inspector: Background of Computed Styles is missing
943         https://bugs.webkit.org/show_bug.cgi?id=146209
944
945         Reviewed by Timothy Hatcher.
946
947         * UserInterface/Views/ComputedStyleDetailsPanel.css:
948         (.computed-style-properties.details-section): Added white background.
949
950 2015-06-24  Joseph Pecoraro  <pecoraro@apple.com>
951
952         Web Inspector: Right/Left arrow no longer works in console to expand/collapse ObjectTrees
953         https://bugs.webkit.org/show_bug.cgi?id=141949
954
955         Reviewed by Timothy Hatcher.
956
957         * UserInterface/Views/ConsoleMessageView.js:
958         (WebInspector.ConsoleMessageView):
959         (WebInspector.ConsoleMessageView.prototype.get expandable):
960         (WebInspector.ConsoleMessageView.prototype.set expandable): Deleted.
961         (WebInspector.ConsoleMessageView.prototype._appendExtraParameters):
962         (WebInspector.ConsoleMessageView.prototype._appendStackTrace):
963         (WebInspector.ConsoleMessageView.prototype._makeExpandable):
964         Clarify what makes a ConsoleMessageView expandable or not.
965
966         (WebInspector.ConsoleMessageView.prototype.expand):
967         (WebInspector.ConsoleMessageView.prototype.collapse):
968         Handle the expand/collapse cases which could apply to the
969         ConsoleMessageView itself or an inner ObjectTreeView if that is all we contain.
970
971         (WebInspector.ConsoleMessageView.prototype._formatParameterAsObject):
972         Delete out of date comment. A console.log("message", obj) will want the
973         object tree member variable to handle auto expanding/collapsing of the
974         single object in the message.
975
976         * UserInterface/Views/LogContentView.js:
977         (WebInspector.LogContentView.prototype._leftArrowWasPressed):
978         (WebInspector.LogContentView.prototype._rightArrowWasPressed):
979         Use the higher level ConsoleMessageView objects accessible from the element
980         to call through to expand/collapse.
981
982 2015-06-23  Joseph Pecoraro  <pecoraro@apple.com>
983
984         Web Inspector: Reduce QuickConsole DidResize events if it did not change
985         https://bugs.webkit.org/show_bug.cgi?id=146258
986
987         Reviewed by Timothy Hatcher.
988
989         * UserInterface/Views/QuickConsole.js:
990         (WebInspector.QuickConsole.prototype.consoleLogVisibilityChanged):
991         Do not trigger the event unless there was a change in visibility.
992
993 2015-06-23  Joseph Pecoraro  <pecoraro@apple.com>
994
995         Web Inspector: TextEditor scroll position not correctly restored when switching tabs
996         https://bugs.webkit.org/show_bug.cgi?id=146254
997
998         Reviewed by Timothy Hatcher.
999
1000         * UserInterface/Views/TextEditor.js:
1001         (WebInspector.TextEditor.prototype.updateLayout):
1002         Workaround a larger issue with ContentView restoration so that
1003         TextEditors restore their scroll position as expected.
1004
1005 2015-06-23  Joseph Pecoraro  <pecoraro@apple.com>
1006
1007         Web Inspector: Some brief previews are incorrectly treated as lossless
1008         https://bugs.webkit.org/show_bug.cgi?id=146247
1009
1010         Reviewed by Timothy Hatcher.
1011
1012         * UserInterface/Views/ObjectPreviewView.js:
1013         (WebInspector.ObjectPreviewView.prototype._appendEntryPreviews):
1014         (WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
1015         When we have a brief preview we may need to override lossless / overflow
1016         if the preview view itself shows less properties than were in the preview.
1017
1018 2015-06-23  Matt Baker  <mattbaker@apple.com>
1019
1020         Web Inspector: Layout & Rendering timeline should show paint and layout records in separate rows
1021         https://bugs.webkit.org/show_bug.cgi?id=146119
1022
1023         Reviewed by Timothy Hatcher.
1024
1025         This patch makes the original Layout & Rendering timeline visually consistent with the Rendering Frames
1026         timeline, which uses green to distinguish Paint from Layout. In order to support having record bars with
1027         different colors in the same overview graph, the timeline has been split into two rows.
1028
1029         * UserInterface/Views/LayoutTimelineOverviewGraph.css:
1030         (.timeline-overview-graph.layout > .graph-row):
1031         (.timeline-overview-graph.layout > .graph-row > .timeline-record-bar):
1032         (.timeline-overview-graph.layout > .graph-row > .timeline-record-bar > .segment):
1033         New row styles.
1034
1035         * UserInterface/Views/LayoutTimelineOverviewGraph.js:
1036         (WebInspector.LayoutTimelineOverviewGraph.prototype.reset.createRecordRow):
1037         (WebInspector.LayoutTimelineOverviewGraph.prototype.reset):
1038         (WebInspector.LayoutTimelineOverviewGraph.prototype.updateLayout):
1039         (WebInspector.LayoutTimelineOverviewGraph.prototype._updateRowLayout.createBar):
1040         (WebInspector.LayoutTimelineOverviewGraph.prototype._updateRowLayout):
1041         (WebInspector.LayoutTimelineOverviewGraph.prototype._layoutTimelineRecordAdded):
1042         (WebInspector.LayoutTimelineOverviewGraph): Deleted.
1043         Added bookkeeping objects for timeline row elements and their associated records.
1044
1045         * UserInterface/Views/TimelineRecordBar.css:
1046         (.timeline-record-bar.timeline-record-type-layout.layout-timeline-record-paint > .segment):
1047         New style for layout record event types.
1048
1049         * UserInterface/Views/TimelineRecordBar.js:
1050         (WebInspector.TimelineRecordBar.prototype.set records):
1051         Add style class for eventType, if present.
1052
1053 2015-06-22  Devin Rousso  <drousso@apple.com>
1054
1055         Web Inspector: gaps between sections of the styles sidebar rules tab confusing, should say "Media: all"
1056         https://bugs.webkit.org/show_bug.cgi?id=142918
1057
1058         Reviewed by Timothy Hatcher.
1059
1060         * UserInterface/Views/RulesStyleDetailsPanel.css:
1061         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label:not(.filter-section-non-matching) ~ .label):
1062         Now properly adds padding to filtered labels.
1063         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label ~ .label): Deleted.
1064         * UserInterface/Views/RulesStyleDetailsPanel.js:
1065         (WebInspector.RulesStyleDetailsPanel.prototype.refresh): If a section of CSS rules has no media or inheritance, add
1066         a label that says "Media: all" above the section.
1067
1068 2015-06-22  Nikita Vasilyev  <nvasilyev@apple.com>
1069
1070         Web Inspector: Consider making read-only style rules have a darker background
1071         https://bugs.webkit.org/show_bug.cgi?id=145983
1072
1073         Reviewed by Timothy Hatcher.
1074
1075         * UserInterface/Views/CSSStyleDeclarationSection.css:
1076         (.style-declaration-section:not(.locked)):
1077         (.style-declaration-section): Deleted.
1078         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
1079         (.css-style-text-editor.read-only > .CodeMirror):
1080
1081 2015-06-22  Nikita Vasilyev  <nvasilyev@apple.com>
1082
1083         Web Inspector: Unable to select text of user input messages in the console
1084         https://bugs.webkit.org/show_bug.cgi?id=145888
1085
1086         Reviewed by Timothy Hatcher.
1087
1088         * UserInterface/Views/ConsoleMessageView.css:
1089         (.console-user-command > .console-message-text):
1090
1091 2015-06-20  Nikita Vasilyev  <nvasilyev@apple.com>
1092
1093         Web Inspector: Unable to select parent element in the DOM tree path bar
1094         https://bugs.webkit.org/show_bug.cgi?id=145810
1095
1096         Reviewed by Timothy Hatcher.
1097
1098         * UserInterface/Views/DOMTreeContentView.js:
1099         (WebInspector.DOMTreeContentView.prototype.get selectionPathComponents):
1100         * UserInterface/Views/HierarchicalPathComponent.js:
1101         (WebInspector.HierarchicalPathComponent.prototype.get selectedPathComponent):
1102         (WebInspector.HierarchicalPathComponent.prototype._selectElementMouseUp):
1103         (WebInspector.HierarchicalPathComponent.prototype._selectElementSelectionChanged):
1104         (WebInspector.HierarchicalPathComponent):
1105         (WebInspector.HierarchicalPathComponent.prototype._selectElementMouseDown): Deleted.
1106
1107 2015-06-19  Joseph Pecoraro  <pecoraro@apple.com>
1108
1109         Web Inspector: Duplication of style attribute in rules panel for shadow content
1110         https://bugs.webkit.org/show_bug.cgi?id=146176
1111
1112         Reviewed by Timothy Hatcher.
1113
1114         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1115         The styleText can be non-empty for a readonly editor if the editor is for
1116         the style attribute of a shadow dom node. Instead of assuming it is empty
1117         we can just clear the editor ourselves and regenerate from properties.
1118
1119 2015-06-19  Devin Rousso  <drousso@apple.com>
1120
1121         Web Inspector: Highlight currently edited CSS selector
1122         https://bugs.webkit.org/show_bug.cgi?id=145658
1123
1124         Reviewed by Joseph Pecoraro.
1125
1126         * UserInterface/Views/CSSStyleDeclarationSection.js:
1127         (WebInspector.CSSStyleDeclarationSection): Added event listeners on the selector text for mouseover and mouseout.
1128         (WebInspector.CSSStyleDeclarationSection.prototype._highlightNodesWithSelector): Selector text mouseover action that highlights all nodes that match the selector string in the corresponding frame.
1129         (WebInspector.CSSStyleDeclarationSection.prototype._hideHighlightOnNodesWithSelector): Selector text mouseout action that clears all highlights on matching nodes.
1130         * UserInterface/Views/DOMNode.js:
1131         (WebInspector.DOMNode): If the payload contains a frameId, then save it.
1132         (WebInspector.DOMNode.frameIdentifier):
1133
1134 2015-06-19  Joseph Pecoraro  <pecoraro@apple.com>
1135
1136         Web Inspector: Overlapping dashboard views causing lots of layers in source view
1137         https://bugs.webkit.org/show_bug.cgi?id=146153
1138
1139         Reviewed by Darin Adler.
1140
1141         * UserInterface/Views/DashboardContainerView.css:
1142         (.toolbar .dashboard:not(.visible)):
1143         Hide non-visible dashboard views. The !important is used
1144         to override more specific toolbar .dashboard.foo styles.
1145
1146 2015-06-19  Devin Rousso  <drousso@apple.com>
1147
1148         Web Inspector: Make rule icon toggle all properties for that selector on and off
1149         https://bugs.webkit.org/show_bug.cgi?id=146031
1150
1151         Reviewed by Timothy Hatcher.
1152
1153         * UserInterface/Views/CSSStyleDeclarationSection.css:
1154         (.style-declaration-section > .header > .icon.toggle-able:hover):
1155         (.style-declaration-section.rule-disabled > .header > .icon):
1156         * UserInterface/Views/CSSStyleDeclarationSection.js:
1157         (WebInspector.CSSStyleDeclarationSection): Added event listener to selector icon to toggle commenting of all properties for that rule.
1158         (WebInspector.CSSStyleDeclarationSection.prototype._toggleRuleOnOff): Adds or removes comments to all properties for that rule.
1159         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1160         (WebInspector.CSSStyleDeclarationTextEditor.prototype.uncommentAllProperties.uncommentProperties):
1161         (WebInspector.CSSStyleDeclarationTextEditor.prototype.uncommentAllProperties): Uncomments all properties.
1162         (WebInspector.CSSStyleDeclarationTextEditor.prototype.commentAllProperties): Comments out all properties.
1163         (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertyCheckboxChanged): Moved comment logic to its own function.
1164         (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertyCommentCheckboxChanged): Moved uncomment logic to its own function.
1165
1166 2015-06-19  Jon Lee  <jonlee@apple.com>
1167
1168         Update font and font-family keyword completions
1169         https://bugs.webkit.org/show_bug.cgi?id=144558
1170         <rdar://problem/20795292>
1171
1172         Reviewed by Timothy Hatcher.
1173
1174         * UserInterface/Models/CSSKeywordCompletions.js: Replace -webkit-system-font and
1175         -apple-system-font with -apple-system, which is the recommended token for getting the
1176         system font. Also add -title{1,2,3} for font, as they were missing, but already exist
1177         in font-family.
1178
1179 2015-06-19  Joseph Pecoraro  <pecoraro@apple.com>
1180
1181         Web Inspector: Avoid getOwnPropertyNames/Symbols on very large lists
1182         https://bugs.webkit.org/show_bug.cgi?id=146141
1183
1184         Reviewed by Timothy Hatcher.
1185
1186         * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
1187         (WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded):
1188         When building completions for a large array, instead of building a list of all the indices
1189         just send a single number back to the frontend and let it generate a list for completion.
1190         We should do even better and avoid building a lookup table here for completion of an index.
1191
1192 2015-06-18  Matt Baker  <mattbaker@apple.com>
1193
1194         Web Inspector: Rendering Frames timeline selection should snap to frame boundaries
1195         https://bugs.webkit.org/show_bug.cgi?id=146120
1196
1197         Reviewed by Timothy Hatcher.
1198
1199         * UserInterface/Views/RenderingFrameTimelineOverview.js:
1200         Enable snapping to frame boundaries.
1201
1202         * UserInterface/Views/TimelineRecordingContentView.js:
1203         (WebInspector.TimelineRecordingContentView.prototype._updateFrameSelection):
1204         Updated filtering to account for ruler snapping.
1205
1206         * UserInterface/Views/TimelineRuler.js:
1207         (WebInspector.TimelineRuler.prototype.get snapInterval):
1208         (WebInspector.TimelineRuler.prototype.set snapInterval):
1209         (WebInspector.TimelineRuler.prototype.set selectionStartTime):
1210         (WebInspector.TimelineRuler.prototype.set selectionEndTime):
1211         (WebInspector.TimelineRuler.prototype._snapValue):
1212         (WebInspector.TimelineRuler.prototype._handleMouseMove):
1213         Added support for snapping to a specified interval.
1214
1215         * UserInterface/Views/TimelineSidebarPanel.js:
1216         Removed unnecessary code.
1217
1218 2015-06-18  Devin Rousso  <drousso@apple.com>
1219
1220         Web Inspector: Add a filter for CSS properties in the Styles sidebar
1221         https://bugs.webkit.org/show_bug.cgi?id=145536
1222
1223         Reviewed by Timothy Hatcher.
1224
1225         * UserInterface/Base/Utilities.js: Added function to Strings that returns an array of all matching indexes of a given string.
1226         (.value):
1227         * UserInterface/Views/CSSStyleDeclarationSection.js:
1228         (WebInspector.CSSStyleDeclarationSection):
1229         (WebInspector.CSSStyleDeclarationSection.prototype.refresh.appendSelector):
1230         (WebInspector.CSSStyleDeclarationSection.prototype.findMatchingPropertiesAndSelectors): Loops through the property list and selectors of each section to find matches to the filtered text.
1231         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1232         (WebInspector.CSSStyleDeclarationTextEditor.prototype.findMatchingProperties): Searches through the properties list to find and highlight all matching properties.
1233         (WebInspector.CSSStyleDeclarationTextEditor.prototype.removeNonMatchingProperties): Removes all properties that do not match and highlights the specific matched text in matching properties.
1234         (WebInspector.CSSStyleDeclarationTextEditor.prototype.resetFilteredProperties): Restores all properties to full visibility and removes any highlighting.
1235         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): Classes are added to selections of the text editor of that partiular selection contains text which matches the filter (see CSSStyleDetailsSidebarPanel.css for different classes).
1236         (WebInspector.CSSStyleDeclarationTextEditor.prototype._iterateOverProperties): If a filter is active, find properties matching the filter instead of all properties.
1237         * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
1238         (.sidebar > .panel.details.css-style > .content.has-filter-bar + .filter-bar):
1239         (.sidebar > .panel.details.css-style > .content:not(.has-filter-bar) + .filter-bar):
1240         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
1241         (WebInspector.CSSStyleDetailsSidebarPanel): Added a filter bar to the CSS sidebar.
1242         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._switchPanels): Switching panels preserves and applies filter bar text.
1243         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._filterDidChange): Function called when the filter bar text changes that calls the current panel's filterDidChange function if it exists.
1244         * UserInterface/Views/FilterBar.js: Added function and variable to check if the text in the filter bar had changed.
1245         * UserInterface/Views/MetricsStyleDetailsPanel.js:
1246         (WebInspector.MetricsStyleDetailsPanel.prototype.refresh): Now calls superclass refresh.
1247         (WebInspector.MetricsStyleDetailsPanel): Added delegate variable to constructor.
1248         * UserInterface/Views/RulesStyleDetailsPanel.css:
1249         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label):
1250         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label ~ .label):
1251         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label.filter-matching-label):
1252         (.sidebar > .panel.details.css-style > .content.filter-in-progress .new-rule):
1253         (.sidebar > .panel.details.css-style > .content.filter-in-progress .style-declaration-section:not(.filter-section-non-matching) ~ .label:not(.filter-section-non-matching)):
1254         (.sidebar > .panel.details.css-style > .content:not(.filter-in-progress) > .rules > .new-rule + .style-declaration-section):
1255         (.sidebar > .panel.details.css-style > .content > .rules:not(.filter-non-matching) > .no-filter-results):
1256         (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules.filter-non-matching > .no-filter-results):
1257         (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules.filter-non-matching > .no-filter-results > .no-filter-results-message):
1258         * UserInterface/Views/RulesStyleDetailsPanel.js:
1259         (WebInspector.RulesStyleDetailsPanel): Added delegate variable to constructor.
1260         (WebInspector.RulesStyleDetailsPanel.prototype.refresh): Now calls superclass refresh.
1261         (WebInspector.RulesStyleDetailsPanel.prototype.filterDidChange): Function to search through the computed styles list and highlight all matched properties and selectors of the filter bar text, turning all non matching properties slightly opaque (unless a selector for that property is a match).
1262         (WebInspector.StyleDetailsPanel): Added delegate variable to constructor.
1263         (WebInspector.StyleDetailsPanel.prototype.refresh): Added event dispatch for panel refresh.
1264
1265 2015-06-18  Devin Rousso  <drousso@apple.com>
1266
1267         Web Inspector: Ability to Copy entire CSS Rule from Styles Sidebar
1268         https://bugs.webkit.org/show_bug.cgi?id=138812
1269
1270         Reviewed by Timothy Hatcher.
1271
1272         * Localizations/en.lproj/localizedStrings.js:
1273         * UserInterface/Views/CSSStyleDeclarationSection.js:
1274         (WebInspector.CSSStyleDeclarationSection): Right clicking on the header of a rule will replcae the default context menu to allow copying of the entire rule to the clipboard.
1275         (WebInspector.CSSStyleDeclarationSection.prototype._handleContextMenuEvent): Creates a new context menu to copy the entire CSS rule.
1276         (WebInspector.CSSStyleDeclarationSection.prototype._generateCSSRuleString): Generates a string representing the formatted CSS rule.
1277
1278 2015-06-18  Joseph Pecoraro  <pecoraro@apple.com>
1279
1280         Web Inspector: Improve a few more node preview types
1281         https://bugs.webkit.org/show_bug.cgi?id=146048
1282
1283         Reviewed by Timothy Hatcher.
1284
1285         * UserInterface/Views/FormattedValue.js:
1286         (WebInspector.FormattedValue.createElementForNodePreview):
1287
1288 2015-06-18  Devin Rousso  <drousso@apple.com>
1289
1290         Web Inspector: New Rule button doesn't reveal the newly added rule if not visible upon creation
1291         https://bugs.webkit.org/show_bug.cgi?id=117600
1292
1293         Reviewed by Timothy Hatcher.
1294
1295         * UserInterface/Views/RulesStyleDetailsPanel.js: Made previousFocusedSection into a member variable of the RulesStyleDetailsPanel.  This way, when the nodeStyles is refreshed (when a new rule is added), the previousFocusedSection will be scrolled into view.
1296         (WebInspector.RulesStyleDetailsPanel):
1297         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.appendStyleSection):
1298         (WebInspector.RulesStyleDetailsPanel.prototype.nodeStylesRefreshed):
1299         (WebInspector.RulesStyleDetailsPanel.prototype.refresh): Deleted.
1300
1301 2015-06-18  Commit Queue  <commit-queue@webkit.org>
1302
1303         Unreviewed, rolling out r185671.
1304         https://bugs.webkit.org/show_bug.cgi?id=146114
1305
1306         Caused frequent flaky failures on profiler tests (Requested by
1307         ap on #webkit).
1308
1309         Reverted changeset:
1310
1311         "Web Inspector: Improve a few more node preview types"
1312         https://bugs.webkit.org/show_bug.cgi?id=146048
1313         http://trac.webkit.org/changeset/185671
1314
1315 2015-06-17  Joseph Pecoraro  <pecoraro@apple.com>
1316
1317         Web Inspector: Improve a few more node preview types
1318         https://bugs.webkit.org/show_bug.cgi?id=146048
1319
1320         Reviewed by Timothy Hatcher.
1321
1322         * UserInterface/Views/FormattedValue.js:
1323         (WebInspector.FormattedValue.createElementForNodePreview):
1324
1325 2015-06-17  Diego Pino Garcia  <dpino@igalia.com>
1326
1327         Web Inspector: Show/Hide sidebar buttons have inconsistent highlighted state
1328         https://bugs.webkit.org/show_bug.cgi?id=145073
1329
1330         Reviewed by Joseph Pecoraro.
1331
1332         * UserInterface/Views/ContentBrowserTabContentView.js:
1333         (WebInspector.ContentBrowserTabContentView.prototype._detailsSidebarPanelSelected):
1334
1335 2015-06-16  Joseph Pecoraro  <pecoraro@apple.com>
1336
1337         Web Inspector: Inspector Scripts evaluated in the page should not be searchable
1338         https://bugs.webkit.org/show_bug.cgi?id=146040
1339
1340         Reviewed by Darin Adler.
1341
1342         Any script with a __WebInspector source URL will be hidden by the tools.
1343         There were a number of ways the inspector could evaluate script on the page
1344         without getting the sourceURL and therefore not getting hidden. Audit
1345         all cases of Runtime.evaluate, Runtime.callFunctionOn, and
1346         Debugger.evaluateOnCallFrame, to ensure we have an appropriate source URL.
1347
1348         * UserInterface/Base/Utilities.js:
1349         (appendWebInspectorSourceURL):
1350         Helper to append a __WebInspectorInternal__ sourceURL to a string that may
1351         be evaluated directly on the inspected context.
1352
1353         * UserInterface/Controllers/DOMTreeManager.js:
1354         (WebInspector.DOMTreeManager.domNodeResolved):
1355         * UserInterface/Controllers/JavaScriptLogViewController.js:
1356         (WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted): Deleted.
1357         * UserInterface/Controllers/RuntimeManager.js:
1358         * UserInterface/Models/DOMTree.js:
1359         (WebInspector.DOMTree.prototype._requestRootDOMNode):
1360         * UserInterface/Protocol/RemoteObject.js:
1361         (WebInspector.RemoteObject.):
1362         * UserInterface/Views/SourceCodeTextEditor.js:
1363         (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptExpression):
1364         Ensure all cases that evaluate directly on the inspected page / context
1365         have the intenral source URL.
1366
1367 2015-06-16  Matt Baker  <mattbaker@apple.com>
1368
1369         Web Inspector: REGRESSION (r171645): up/down key navigation of timeline sidebar tree elements is broken when scope bar filters are applied
1370         https://bugs.webkit.org/show_bug.cgi?id=142315
1371
1372         Reviewed by Timothy Hatcher.
1373
1374         TreeOutline's element traversal algorithms have been rewritten to correctly skip over unrevealed tree elements.
1375         Previously traversal would halt after encountering a hidden element. We now use an iterative approach, with
1376         each iteration producing the next (or previous) element, with respect to the last candidate element. Iteration
1377         begins with the current node, and halts once a valid element is found or candidate elements are exhausted.
1378
1379         * UserInterface/Views/TreeOutline.js:
1380         (WebInspector.TreeElement.prototype.traverseNextTreeElement.shouldSkip):
1381         (WebInspector.TreeElement.prototype.traverseNextTreeElement):
1382         (WebInspector.TreeElement.prototype.traversePreviousTreeElement.shouldSkip):
1383         (WebInspector.TreeElement.prototype.traversePreviousTreeElement):
1384
1385 2015-06-15  Joseph Pecoraro  <pecoraro@apple.com>
1386
1387         Web Inspector: Stylize Node Previews
1388         https://bugs.webkit.org/show_bug.cgi?id=145990
1389
1390         Reviewed by Timothy Hatcher.
1391
1392         * UserInterface/Views/FormattedValue.js:
1393         (WebInspector.FormattedValue.createElementForNodePreview):
1394         Style a node preview like a DOMNode. It is a simple small snippet.
1395
1396         * UserInterface/Views/ObjectPreviewView.js:
1397         (WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
1398         Use node previews in ObjectPreviewViews.
1399
1400 2015-06-15  Joseph Pecoraro  <pecoraro@apple.com>
1401
1402         Web Inspector: Improve some cases of "Object?" Type Annotations
1403         https://bugs.webkit.org/show_bug.cgi?id=145954
1404
1405         Reviewed by Timothy Hatcher.
1406
1407         * UserInterface/Views/TypeTokenView.js:
1408         (WebInspector.TypeTokenView.prototype._displayTypeName):
1409         The TypeSet inclusions cover all types, so we can use the leastCommonAncestor
1410         name as long as the type set is just object or object and null/undefined.
1411         If the typeset includes other primitives then it will gracefully go down
1412         below to become something like Object or (many). 
1413
1414 2015-06-14  Andres Gomez  <agomez@igalia.com>
1415
1416         [GTK] Web Inspector: Update icon so Rendering Frames timeline distinguish between layout and painting
1417         https://bugs.webkit.org/show_bug.cgi?id=145956
1418
1419         Reviewed by Carlos Garcia Campos.
1420
1421         * UserInterface/Images/gtk/TimelineRecordPaint.svg:
1422         Changed to use green color.
1423
1424 2015-06-13  Joseph Pecoraro  <pecoraro@apple.com>
1425
1426         Web Inspector: console.table() with a list of objects no longer works
1427         https://bugs.webkit.org/show_bug.cgi?id=145952
1428
1429         Reviewed by Timothy Hatcher.
1430
1431         * UserInterface/Views/ConsoleMessageView.js:
1432         (WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
1433         (WebInspector.ConsoleMessageView.prototype._formatParameterAsTable):
1434         Don't allow expanding a cosole.table message, and don't output the total
1435         object even if the table preview was lossless, as the experience is poor.
1436
1437 2015-06-11  Joseph Pecoraro  <pecoraro@apple.com>
1438
1439         Web Inspector: CSS Regions not displaying DOM Trees in inspector
1440         https://bugs.webkit.org/show_bug.cgi?id=145903
1441
1442         Reviewed by Timothy Hatcher.
1443
1444         * UserInterface/Controllers/DOMTreeManager.js:
1445         (WebInspector.DOMTreeManager.prototype._updateContentFlowFromPayload):
1446         Fix function inside the assertion to actually return a value.
1447
1448         * UserInterface/Views/DOMTreeOutline.js:
1449         (WebInspector.DOMTreeOutline.prototype.update):
1450         For DOMTreeOutlines without a root node, don't clear the tree on updates,
1451         since that will clear the nodes that have already been added explicitly.
1452
1453         * UserInterface/Views/ResourceSidebarPanel.js:
1454         (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
1455         * UserInterface/Views/ResourcesTabContentView.js:
1456         (WebInspector.ResourcesTabContentView.prototype.canShowRepresentedObject):
1457         ResourceTab and sidebar can deal with ContentFlow related views.
1458
1459 2015-06-11  Joseph Pecoraro  <pecoraro@apple.com>
1460
1461         Web Inspector: IndexedDB data not showing for MDN example page
1462         https://bugs.webkit.org/show_bug.cgi?id=145851
1463
1464         Reviewed by Anders Carlsson.
1465
1466         * UserInterface/Views/StorageSidebarPanel.js:
1467         (WebInspector.StorageSidebarPanel.prototype._indexedDatabaseWasAdded):
1468         Fix typo in Storage tab refactoring that was causing an
1469         uncaught exception and not showing Indexed DBs.
1470
1471 2015-06-11  Devin Rousso  <drousso@apple.com>
1472
1473         Web Inspector: font-family names interpreted as color
1474         https://bugs.webkit.org/show_bug.cgi?id=123468
1475
1476         Reviewed by Timothy Hatcher.
1477
1478         * UserInterface/Views/CodeMirrorAdditions.js: Added logic to prevent color picker buttons from appearing before colors that come after a quote character (both " and ').
1479
1480 2015-06-11  Matt Baker  <mattbaker@apple.com>
1481
1482         Web Inspector: Rendering Frames timeline should distinguish between layout and painting
1483         https://bugs.webkit.org/show_bug.cgi?id=145856
1484
1485         Reviewed by Timothy Hatcher.
1486
1487         This patch formalizes the runloop task concept in the frontend, adds new Paint task type to the Rendering
1488         Frames timeline, and reorders UI elements such as chart sections and frame "segments" to match the order in
1489         which tasks are executed within the runloop.
1490
1491         We will need to make UI changes to the standard Timelines view in a follow up patch, since tree element icons
1492         for Paint records now use a different color that those of other Layout records.
1493
1494         * UserInterface/Images/TimelineRecordPaint.svg:
1495         Changed to use green color.
1496
1497         * UserInterface/Models/RenderingFrameTimelineRecord.js:
1498         (WebInspector.RenderingFrameTimelineRecord):
1499         (WebInspector.RenderingFrameTimelineRecord.displayNameForTaskType):
1500         (WebInspector.RenderingFrameTimelineRecord.prototype.durationForTask.get validRecordForTaskType):
1501         (WebInspector.RenderingFrameTimelineRecord.prototype.durationForTask.set return):
1502         (WebInspector.RenderingFrameTimelineRecord.prototype.durationForTask):
1503         (WebInspector.RenderingFrameTimelineRecord.prototype.get durationRemainder): Deleted.
1504         (WebInspector.RenderingFrameTimelineRecord.prototype.durationForRecords.get var): Deleted.
1505         Added TaskType enum to decouple runloop task types from timeline record types, and removed duration remainder
1506         support now that "Other" has an associated task type.
1507
1508         * UserInterface/Views/RenderingFrameTimelineDataGridNode.js:
1509         (WebInspector.RenderingFrameTimelineDataGridNode.prototype.get data):
1510         (WebInspector.RenderingFrameTimelineDataGridNode.prototype.createCellContent):
1511         * UserInterface/Views/RenderingFrameTimelineView.js:
1512         (WebInspector.RenderingFrameTimelineView):
1513         Added new grid column for Paint task, reordered columns to be consistent with the rest of the UI.
1514
1515         * UserInterface/Views/TimelineRecordFrame.css:
1516         (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-script):
1517         (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-layout):
1518         (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-paint):
1519         (.timeline-record-frame > .frame > .duration): Deleted.
1520         (.timeline-record-frame > .frame > .duration.timeline-record-type-network): Deleted.
1521         (.timeline-record-frame > .frame > .duration.timeline-record-type-layout): Deleted.
1522         (.timeline-record-frame > .frame > .duration.timeline-record-type-script): Deleted.
1523         Updated styles for Render Frame tasks.
1524
1525         * UserInterface/Views/TimelineRecordFrame.js:
1526         (WebInspector.TimelineRecordFrame.prototype._updateChildElements.createDurationElement):
1527         Updated to use Render Frame task types. Frame segment insertion order is now consistent with the rest of the UI.
1528
1529         * UserInterface/Views/TimelineSidebarPanel.js:
1530         (WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart.chartData.Object.keys.map):
1531         (WebInspector.TimelineSidebarPanel.set this):
1532         (WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart.get this):
1533         (WebInspector.TimelineSidebarPanel): Deleted.
1534         (WebInspector.TimelineSidebarPanel.prototype._refreshFrameSelectionChart.durationForRecordType): Deleted.
1535         (WebInspector.TimelineSidebarPanel.prototype._refreshFrameSelectionChart): Deleted.
1536         Updated to use Render Frame task types.
1537
1538 2015-06-11  Matt Baker  <mattbaker@apple.com>
1539
1540         Web Inspector: Wrong overview graph shown after switching from Frames to Timelines
1541         https://bugs.webkit.org/show_bug.cgi?id=145778
1542
1543         Reviewed by Timothy Hatcher.
1544
1545         TimelineSidebarPanel stores a reference to the selected timeline before switching to the Rendering Frames view,
1546         which is used to restore the tree selection, overview graph, and content views when switching back to the
1547         standard Timelines view. However if another recording is created before switching, the previously selected
1548         timeline tracked by the sidebar cannot be restored, since it doesn't belong to the active recording.
1549
1550         This is addressed by storing the previously selected timeline type, rather than the timeline object itself.
1551         The type is also updated whenever the selected timeline in the tree outline changes, ensuring that the correct
1552         timeline will always be restored.
1553
1554         * UserInterface/Views/TimelineSidebarPanel.js:
1555         (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.get if.get if):
1556         (WebInspector.TimelineSidebarPanel.get else): Deleted.
1557         (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.get if): Deleted.
1558         (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject): Deleted.
1559
1560 2015-06-08  Matt Baker  <mattbaker@apple.com>
1561
1562         Web Inspector: Clearing active Timeline recording should stop capturing
1563         https://bugs.webkit.org/show_bug.cgi?id=145767
1564
1565         Reviewed by Joseph Pecoraro.
1566
1567         * UserInterface/Views/TimelineRecordingContentView.js:
1568         (WebInspector.TimelineRecordingContentView.prototype._clearTimeline):
1569         Stop capturing if necessary.
1570
1571 2015-06-07  Tobias Reiss  <tobi+webkit@basecode.de>
1572
1573         Web Inspector: Add PrettyPrinter CSSRule tests
1574         https://bugs.webkit.org/show_bug.cgi?id=145740
1575
1576         Reviewed by Brian Burg.
1577
1578         * Tools/PrettyPrinting/css-rule-tests/add-whitespace-after-colon-expected.css: Added.
1579         * Tools/PrettyPrinting/css-rule-tests/add-whitespace-after-colon.css: Added.
1580         * Tools/PrettyPrinting/css-rule-tests/add-whitespace-after-comma-expected.css: Added.
1581         * Tools/PrettyPrinting/css-rule-tests/add-whitespace-after-comma.css: Added.
1582         * Tools/PrettyPrinting/css-rule-tests/do-not-append-semicolon-expected.css: Added.
1583         * Tools/PrettyPrinting/css-rule-tests/do-not-append-semicolon.css: Added.
1584         * Tools/PrettyPrinting/css-rule-tests/invalid-property-is-not-removed-expected.css: Added.
1585         * Tools/PrettyPrinting/css-rule-tests/invalid-property-is-not-removed.css: Added.
1586         * Tools/PrettyPrinting/css-rule-tests/keep-prefixed-value-expected.css: Added.
1587         * Tools/PrettyPrinting/css-rule-tests/keep-prefixed-value.css: Added.
1588         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-colon-expected.css: Added.
1589         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-colon.css: Added.
1590         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-comment-expected.css: Added.
1591         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-comment.css: Added.
1592         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-invalid-property-expected.css: Added.
1593         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-invalid-property.css: Added.
1594         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-prefixed-property-expected.css: Added.
1595         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-prefixed-property.css: Added.
1596         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-property-expected.css: Added.
1597         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-property.css: Added.
1598         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-semicolon-expected.css: Added.
1599         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-semicolon.css: Added.
1600         * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-comment-expected.css: Added.
1601         * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-comment.css: Added.
1602         * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-invalid-property-expected.css: Added.
1603         * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-invalid-property.css: Added.
1604         * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-prefixed-property-expected.css: Added.
1605         * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-prefixed-property.css: Added.
1606         * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-property-expected.css: Added.
1607         * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-property.css: Added.
1608         * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-comment-expected.css: Added.
1609         * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-comment.css: Added.
1610         * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-invalid-property-expected.css: Added.
1611         * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-invalid-property.css: Added.
1612         * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-prefixed-property-expected.css: Added.
1613         * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-prefixed-property.css: Added.
1614         * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-property-expected.css: Added.
1615         * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-property.css: Added.
1616         * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-comment-expected.css: Added.
1617         * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-comment.css: Added.
1618         * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-invalid-property-expected.css: Added.
1619         * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-invalid-property.css: Added.
1620         * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-prefixed-property-expected.css: Added.
1621         * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-prefixed-property.css: Added.
1622         * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-property-expected.css: Added.
1623         * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-property.css: Added.
1624         * Tools/PrettyPrinting/css-rule-tests/split-property-without-semicolon-followed-by-comment-and-property-expected.css: Added.
1625         * Tools/PrettyPrinting/css-rule-tests/split-property-without-semicolon-followed-by-comment-and-property.css: Added.
1626
1627 2015-06-05  Devin Rousso  <drousso@apple.com>
1628
1629         Web Inspector: Fixing code style and adding more limitations for bug 141262
1630         https://bugs.webkit.org/show_bug.cgi?id=145668
1631
1632         Reviewed by Timothy Hatcher.
1633
1634         * UserInterface/Models/CSSCompletions.js:
1635         (WebInspector.CSSCompletions.prototype.isValidPropertyName): Loops through the full property list and returns true only if a property exactly matches the given property name.
1636         (WebInspector.CSSCompletions): Added isValidPropertyName function.
1637         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1638         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): Added logic to limit the invalid class marker to only the property value if the property name is an actual property and to prevent invalid style from being applied incorrectly.
1639
1640 2015-06-05  Devin Rousso  <drousso@apple.com>
1641
1642         Web Inspector: Highlighting a CSS section does not deselect previously highlighted CSS sections
1643         https://bugs.webkit.org/show_bug.cgi?id=145399
1644
1645         Reviewed by Timothy Hatcher.
1646
1647         * UserInterface/Views/CSSStyleDeclarationSection.js:
1648         (WebInspector.CSSStyleDeclarationSection): Added delegate variable to constructor.
1649         (WebInspector.CSSStyleDeclarationSection.prototype.clearSelection):
1650         (WebInspector.CSSStyleDeclarationSection.prototype.cssStyleDeclarationTextEditorFocused):
1651         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1652         (WebInspector.CSSStyleDeclarationTextEditor): Added event listener to codeMirror on "focus".
1653         (WebInspector.CSSStyleDeclarationTextEditor.prototype.clearSelection): Sets the cursor of the codeMirror to character 0 on line 0.
1654         (WebInspector.CSSStyleDeclarationTextEditor.prototype._editorFocused): Function that calls the delegate function "editorFocused" when the codeMirror is focused
1655         * UserInterface/Views/RulesStyleDetailsPanel.js:
1656         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.appendStyleSection):
1657         (WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionEditorFocused): Loops through all sections except for the ignoredSection (parameter) and clears the selected text in each of them.
1658
1659 2015-06-05  Joseph Pecoraro  <pecoraro@apple.com>
1660
1661         REGRESSION (r185213): TypeError: undefined is not an object (evaluating 'WebInspector.clearLogOnReload.value')
1662         https://bugs.webkit.org/show_bug.cgi?id=145695
1663
1664         Reviewed by Mark Lam.
1665
1666         Move and rename the clear log on reload setting property from
1667         WebInspector (Main.js) to LogManager (shared with tests).
1668
1669         * UserInterface/Base/Main.js:
1670         (WebInspector.loaded): Deleted.
1671         * UserInterface/Controllers/LogManager.js:
1672         (WebInspector.LogManager):
1673         (WebInspector.LogManager.prototype._delayedMessagesCleared):
1674         * UserInterface/Views/LogContentView.js:
1675         (WebInspector.LogContentView.prototype._sessionStarted):
1676         (WebInspector.LogContentView.prototype._handleContextMenuEvent):
1677         (WebInspector.LogContentView.prototype._toggleClearLogOnReloadSetting):
1678
1679 2015-06-05  Nikita Vasilyev  <nvasilyev@apple.com>
1680
1681         Web Inspector: [REGRESSION] Dashboard's resource count does not reset when main resource navigates
1682         https://bugs.webkit.org/show_bug.cgi?id=144553
1683
1684         Add missing _mainResourceDidChange, which was removed after switching to the tabs UI.
1685
1686         Reviewed by Timothy Hatcher.
1687
1688         * UserInterface/Models/DefaultDashboard.js:
1689         (WebInspector.DefaultDashboard):
1690         _waitingForFirstMainResourceToStartTrackingSize is not used anywhere, remove it.
1691
1692         (WebInspector.DefaultDashboard.prototype._mainResourceDidChange): Added.
1693
1694         (WebInspector.DefaultDashboard.prototype._resourceSizeDidChange): Removed.
1695         Unused.
1696
1697 2015-06-05  Matt Baker  <mattbaker@apple.com>
1698
1699         Web Inspector: Switch to doughnut chart and remove idle time in the Rendering Frames timeline
1700         https://bugs.webkit.org/show_bug.cgi?id=145671
1701
1702         Reviewed by Timothy Hatcher.
1703
1704         * Localizations/en.lproj/localizedStrings.js:
1705         "Idle" string no longer used.
1706
1707         * UserInterface/Views/TimelineRecordFrame.js:
1708         Reduced maximum frame width by 2px.
1709
1710         * UserInterface/Views/TimelineSidebarPanel.js:
1711         (WebInspector.TimelineSidebarPanel):
1712         (WebInspector.TimelineSidebarPanel.prototype._refreshFrameSelectionChart):
1713         Added inner radius to chart and removed "Idle" value.
1714
1715 2015-06-04  Joseph Pecoraro  <pecoraro@apple.com>
1716
1717         Web Inspector: Class constructor appearing as Object Tree property does not include parameters
1718         https://bugs.webkit.org/show_bug.cgi?id=145661
1719
1720         Reviewed by Timothy Hatcher.
1721
1722         * UserInterface/Protocol/RemoteObject.js:
1723         (WebInspector.RemoteObject):
1724         (WebInspector.RemoteObject.fromPrimitiveValue):
1725         (WebInspector.RemoteObject.fromPayload):
1726         (WebInspector.RemoteObject.prototype.get functionDescription):
1727         Include the className as only use it for "class" types to override
1728         the normal description string. Stash the actual function description
1729         in a property we can access later.
1730
1731         * UserInterface/Views/ObjectTreePropertyTreeElement.js:
1732         (WebInspector.ObjectTreePropertyTreeElement.prototype._functionParameterString):
1733         Even if this property is a "class" we want to specifically parse it's
1734         function description string. So use functionDescription.
1735
1736 2015-06-04  Nikita Vasilyev  <nvasilyev@apple.com>
1737
1738         Web Inspector: Close and open tabs on mouseup, not mousedown
1739         https://bugs.webkit.org/show_bug.cgi?id=145656
1740
1741         Match Safari's behaviour.
1742
1743         Reviewed by Timothy Hatcher.
1744
1745         * UserInterface/Views/TabBar.js:
1746         (WebInspector.TabBar):
1747         (WebInspector.TabBar.prototype.set newTabItem):
1748         (WebInspector.TabBar.prototype._handleMouseDown):
1749         (WebInspector.TabBar.prototype._handleClick): Added.
1750         (WebInspector.TabBar.prototype._handleMouseUp):
1751         (WebInspector.TabBar.prototype._handleNewTabClick): Added.
1752         (WebInspector.TabBar.prototype._handleMouseMoved):
1753
1754 2015-06-04  Nikita Vasilyev  <nvasilyev@apple.com>
1755
1756         Web Inspector: Decrease tabs height to match Safari's tabs height
1757         https://bugs.webkit.org/show_bug.cgi?id=145647
1758
1759         Reviewed by Timothy Hatcher.
1760
1761         * UserInterface/Views/TabBar.css:
1762         (.tab-bar):
1763
1764 2015-06-04  Tobias Reiss  <tobi+webkit@basecode.de>
1765         
1766         Web Inspector: Activity Viewer does not update on "Clear Log on reload"
1767         https://bugs.webkit.org/show_bug.cgi?id=145466
1768         
1769         Reviewed by Joseph Pecoraro.
1770
1771         1. Isolate logic within LogManager and remove hacks/logic from all other files
1772         2. Within LogManager: Differentiate "messagesCleared" calls
1773          a) that happen as a result of a "requested clear" by Frontend (e.g. Button)
1774          b) that happen on page reload and install "clear/keep-on-page-reload" logic
1775          c) that happen on frame navigated, console.clear() or clear()
1776         3. Unify "ActiveLogCleared" and "Cleared" events to "Cleared"
1777         
1778         For step 2b and 2c it is important to delay the handling and wait until
1779         "_mainResourceDidChange" has determined whether a page reload happened or
1780         not.
1781         
1782         * UserInterface/Base/Main.js:
1783         (WebInspector.loaded):
1784         Store "clear-log-on-reload" setting globally.
1785         
1786         * UserInterface/Controllers/IssueManager.js:
1787         (WebInspector.IssueManager):
1788         * UserInterface/Models/DefaultDashboard.js:
1789         (WebInspector.DefaultDashboard): Deleted.
1790         * UserInterface/Views/ObjectTreeView.js:
1791         (WebInspector.ObjectTreeView.prototype._trackWeakEntries): Deleted.
1792         (WebInspector.ObjectTreeView.prototype._untrackWeakEntries): Deleted.
1793         (WebInspector.ObjectTreeView): Deleted.
1794         Remove deleted events.
1795         
1796         * UserInterface/Controllers/JavaScriptLogViewController.js:
1797         (WebInspector.JavaScriptLogViewController.prototype._handleClearShortcut):
1798         (WebInspector.JavaScriptLogViewController.prototype.clear): Deleted.
1799         Remove delegate function call and call LogManager directly.
1800         
1801         * UserInterface/Controllers/LogManager.js:
1802         (WebInspector.LogManager):
1803         (WebInspector.LogManager.prototype.messagesCleared):
1804         (WebInspector.LogManager.prototype._delayedMessagesCleared):
1805         (WebInspector.LogManager.prototype.requestClearMessages):
1806         (WebInspector.LogManager.prototype._mainResourceDidChange):
1807         Isolate "clear log" logic, especially clear/keep-log-on-reload logic.
1808         
1809         * UserInterface/Views/LogContentView.js:
1810         (WebInspector.LogContentView):
1811         (WebInspector.LogContentView.prototype._sessionStarted):
1812         (WebInspector.LogContentView.prototype._handleContextMenuEvent):
1813         (WebInspector.LogContentView.prototype._logCleared):
1814         (WebInspector.LogContentView.prototype._toggleClearLogOnReloadSetting):
1815         (WebInspector.LogContentView.prototype._clearLog):
1816         (WebInspector.LogContentView.prototype.didClearMessages): Deleted.
1817         (WebInspector.LogContentView.prototype._sessionsCleared): Deleted.
1818         (WebInspector.LogContentView.prototype._activeLogCleared): Deleted.
1819         (WebInspector.LogContentView.prototype._clearLogIgnoringClearMessages): Deleted.
1820         Make it a consumer of LogManager and remove special hacks. Simplify code.
1821
1822 2015-06-03  Devin Rousso  <drousso@apple.com>
1823
1824         Web Inspector: if a known CSS property has an unsupported value, only strikethrough the value
1825         https://bugs.webkit.org/show_bug.cgi?id=141262
1826
1827         Reviewed by Timothy Hatcher.
1828
1829         * UserInterface/Models/CSSCompletions.js:
1830         (WebInspector.CSSCompletions.prototype.nameMatchesValidPropertyExactly): Loops through the full property list and returns true only if a property exactly matches the given property name.
1831         (WebInspector.CSSCompletions): Added nameMatchesValidPropertyExactly function.
1832         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1833         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): Added logic to limit the invalid class marker to only the property value if the property name is an actual property.
1834
1835 2015-06-03  Nikita Vasilyev  <nvasilyev@apple.com>
1836
1837         Web Inspector: Search field bottom border doesn't match the rest of the toolbar
1838         https://bugs.webkit.org/show_bug.cgi?id=145611
1839
1840         Reviewed by Timothy Hatcher.
1841
1842         * UserInterface/Views/Toolbar.css:
1843         (body:not(.unknown-mac) .toolbar .search-bar > input[type="search"]):
1844
1845 2015-06-03  Joseph Pecoraro  <pecoraro@apple.com>
1846
1847         Web Inspector: Uncaught exception starting a NavigationBar drag and mousing over a different NavigationBar
1848         https://bugs.webkit.org/show_bug.cgi?id=145589
1849
1850         Reviewed by Timothy Hatcher.
1851
1852         * UserInterface/Views/NavigationBar.js:
1853         (WebInspector.NavigationBar.prototype._mouseDown):
1854         (WebInspector.NavigationBar.prototype._mouseUp):
1855         When mouse dragging for navigation bars, only match against navigation
1856         bar items inside this navigation bar. Also, fix horizontal detection
1857         of navigation bar items by scanning in the middle of the navigation
1858         bar instead of the top, which missed the items.
1859
1860 2015-06-03  Joseph Pecoraro  <pecoraro@apple.com>
1861
1862         Web Inspector: Debugger Popover for Node object should have go-to-arrow to show the node in DOM tree
1863         https://bugs.webkit.org/show_bug.cgi?id=145594
1864
1865         Reviewed by Timothy Hatcher.
1866
1867         * UserInterface/Controllers/DOMTreeManager.js:
1868         (WebInspector.DOMTreeManager.prototype.inspectElement):
1869         Previously we could get an exception later on if we tried to
1870         inspect an element that was not in the DOM. Bail if the node
1871         is not in the DOM or not.
1872
1873         * UserInterface/Views/SourceCodeTextEditor.css:
1874         (.popover .debugger-popover-content > .title > .go-to-arrow):
1875         * UserInterface/Views/SourceCodeTextEditor.js:
1876         (WebInspector.SourceCodeTextEditor.prototype._showPopoverForObject.data.pushNodeToFrontend):
1877         (WebInspector.SourceCodeTextEditor.prototype._showPopoverForObject):
1878         For a node type, add a go-to-arrow in the popover if it is in the DOM or not.
1879
1880 2015-06-02  Joseph Pecoraro  <pecoraro@apple.com>
1881
1882         Web Inspector: Remove uses of delete in Sidebar related code
1883         https://bugs.webkit.org/show_bug.cgi?id=145592
1884
1885         Reviewed by Timothy Hatcher.
1886
1887         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
1888         (WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh):
1889         Clear value instead of deleting.
1890
1891         * UserInterface/Views/SearchSidebarPanel.js:
1892         (WebInspector.SearchSidebarPanel.prototype.performSearch):
1893         Just clear the search identifier. Also assert it (a required string) is always non-falsey.
1894
1895         * UserInterface/Views/Sidebar.js:
1896         (WebInspector.Sidebar.prototype.resizerDragEnded): Deleted.
1897         This entire callback is unnecessary because whenever we start
1898         a drag we save the value.
1899
1900 2015-06-02  Joseph Pecoraro  <pecoraro@apple.com>
1901
1902         Web Inspector: Sidebar and sometimes ContentView scroll position is lost when switching between tabs
1903         https://bugs.webkit.org/show_bug.cgi?id=145591
1904
1905         Reviewed by Timothy Hatcher.
1906
1907         * UserInterface/Views/Sidebar.js:
1908         (WebInspector.Sidebar.prototype.removeSidebarPanel):
1909         When removing a sidebar panel, ensure we call hidden if it was the visible panel.
1910
1911         * UserInterface/Views/SidebarPanel.js:
1912         (WebInspector.SidebarPanel):
1913         (WebInspector.SidebarPanel.prototype.shown):
1914         (WebInspector.SidebarPanel.prototype.hidden):
1915         Save and restore content element scroll position when sidebar panels are shown / hidden.
1916
1917         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
1918         (WebInspector.CSSStyleDetailsSidebarPanel.prototype.visibilityDidChange):
1919         * UserInterface/Views/ComputedStyleDetailsPanel.js:
1920         (WebInspector.ComputedStyleDetailsPanel.prototype.shown):
1921         * UserInterface/Views/DetailsSidebarPanel.js:
1922         (WebInspector.DetailsSidebarPanel.prototype.shown):
1923         * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
1924         (WebInspector.LayerTreeDetailsSidebarPanel.prototype.shown):
1925         (WebInspector.LayerTreeDetailsSidebarPanel.prototype.hidden):
1926         Cleanup. Since sidebar panels are using ES6 classes, have super class calls use `super`!
1927
1928 2015-06-02  Nikita Vasilyev  <nvasilyev@apple.com>
1929
1930         Web Inspector: Use non-monospace font for the frame selector
1931         https://bugs.webkit.org/show_bug.cgi?id=145586
1932
1933         Reviewed by Timothy Hatcher.
1934
1935         * UserInterface/Views/HierarchicalPathComponent.css:
1936         (.hierarchical-path-component):
1937
1938 2015-06-02  Nikita Vasilyev  <nvasilyev@apple.com>
1939
1940         Web Inspector: Dashboard arrow icon on the right is overlapped by a long function/file name
1941         https://bugs.webkit.org/show_bug.cgi?id=145540
1942
1943         Also, increase clickable area of the arrow icon.
1944
1945         Reviewed by Timothy Hatcher.
1946
1947         * UserInterface/Views/DashboardContainerView.css:
1948         (.dashboard-container .advance-arrow):
1949         (.dashboard-container .advance-arrow.advance-forward):
1950         (.dashboard-container .advance-arrow.advance-backward):
1951         * UserInterface/Views/DebuggerDashboardView.css:
1952         (.dashboard.debugger > .location):
1953         (.toolbar .dashboard.debugger):
1954         Increase padding on the right so the content of the dashboard would be never be overlayed by the arrow.
1955
1956 2015-06-02  Joseph Pecoraro  <pecoraro@apple.com>
1957
1958         Web Inspector: Shift + Cmd + Left/Right shouldn't switch tabs while editing text
1959         https://bugs.webkit.org/show_bug.cgi?id=145562
1960
1961         Reviewed by Timothy Hatcher.
1962
1963         * UserInterface/Views/TabBrowser.js:
1964         (WebInspector.TabBrowser):
1965         Only these keyboard shortcuts should check if we are in an editable field.
1966         Remove the implicit prevent default so they can fall back to system behavior
1967         if necessary.
1968
1969         (WebInspector.TabBrowser.prototype._showNextTabCheckingForEditableField):
1970         (WebInspector.TabBrowser.prototype._showPreviousTabCheckingForEditableField):
1971         Bail if we are in an editable field. Otherwise perform the action and prevent default.
1972
1973 2015-06-02  Joseph Pecoraro  <pecoraro@apple.com>
1974
1975         Web Inspector: ⌘F no longer brings up the find-in-page bar after typing in the quick console
1976         https://bugs.webkit.org/show_bug.cgi?id=145546
1977
1978         Reviewed by Timothy Hatcher.
1979
1980         Scope ContentBrowser keyboard events within the ContentBrowser instead
1981         of global, where they might conflict between ContentBrowsers. The scoped
1982         shortcuts now no longer need to be enabled/disabled.
1983
1984         * UserInterface/Views/ContentBrowser.js:
1985         (WebInspector.ContentBrowser):
1986         Scope the keyboard shortcuts.
1987
1988         (WebInspector.ContentBrowser.prototype.shown):
1989         (WebInspector.ContentBrowser.prototype.hidden):
1990         No longer need to control enabling / disabling these non-global shortcuts.
1991
1992 2015-06-01  Jono Wells  <jonowells@apple.com>
1993
1994         Web Inspector: Type token text descenders touch bottom of container
1995         https://bugs.webkit.org/show_bug.cgi?id=145544
1996
1997         Reviewed by Timothy Hatcher.
1998
1999         Move 1px padding from top to bottom of token.
2000
2001         * UserInterface/Views/TypeTokenView.css:
2002         (.type-token):
2003
2004 2015-06-01  Joseph Pecoraro  <pecoraro@apple.com>
2005
2006         Web Inspector: Better handle keyboard events in the quick console prompt
2007         https://bugs.webkit.org/show_bug.cgi?id=145548
2008
2009         Reviewed by Timothy Hatcher.
2010
2011         * UserInterface/Base/Main.js:
2012         (WebInspector.saveDataToFile):
2013         Move generic InspectorFrontendHost code here.
2014
2015         * UserInterface/Views/ContentBrowser.js:
2016         (WebInspector.ContentBrowser.prototype._save):
2017         (WebInspector.ContentBrowser.prototype._saveAs):
2018         (WebInspector.ContentBrowser.prototype._saveDataToFile): Deleted.
2019         Use the generic save code.
2020
2021         * UserInterface/Controllers/JavaScriptLogViewController.js:
2022         (WebInspector.JavaScriptLogViewController):
2023         (WebInspector.JavaScriptLogViewController.prototype._save):
2024         (WebInspector.JavaScriptLogViewController.prototype._saveAs):
2025         Handle save keyboard shortcuts while the prompt is focused.
2026
2027         * UserInterface/Views/LogContentView.js:
2028         (WebInspector.LogContentView.prototype.focusSearchBar):
2029         (WebInspector.LogContentView.prototype.save):
2030         (WebInspector.LogContentView.prototype.saveAs):
2031         Better handle keyboard shortcut cases in the console prompt for cases
2032         like a collapsed or split console view.
2033
2034 2015-06-01  Nikita Vasilyev  <nvasilyev@apple.com>
2035
2036         Web Inspector: Pause/resume button in the debugger dashboard is vertically misaligned
2037         https://bugs.webkit.org/show_bug.cgi?id=145534
2038
2039         Reviewed by Timothy Hatcher.
2040
2041         * UserInterface/Views/ButtonNavigationItem.css:
2042         (.navigation-bar .item.button.suppress-emboss):
2043         Never show borders for the pause/resume button.
2044
2045         * UserInterface/Views/DebuggerDashboardView.css:
2046         (.dashboard.debugger .navigation-bar .item.button):
2047
2048 2015-05-31  Yusuke Suzuki  <utatane.tea@gmail.com>
2049
2050         Web Inspector: Drop forEach from WeakMap / WeakSet native member function maps
2051         https://bugs.webkit.org/show_bug.cgi?id=145497
2052
2053         Reviewed by Sam Weinig.
2054
2055         WeakMap / WeakSet don't have forEach method.
2056         This patch drops it from the native prototype function parameters map.
2057
2058         * UserInterface/Models/NativeFunctionParameters.js:
2059
2060 2015-05-29  Timothy Hatcher  <timothy@apple.com>
2061
2062         Web Inspector: Resources tab navigation sidebar should have a type filter header
2063         https://bugs.webkit.org/show_bug.cgi?id=145474
2064
2065         Reviewed by Joseph Pecoraro.
2066
2067         * Localizations/en.lproj/localizedStrings.js: Updated.
2068
2069         * UserInterface/Images/UpDownArrows.svg: Make styleable.
2070
2071         * UserInterface/Main.html: Added new files.
2072
2073         * UserInterface/Views/LogContentView.js:
2074         (WebInspector.LogContentView): Drive-by fix. Mark All as exclusive.
2075
2076         * UserInterface/Views/MultipleScopeBarItem.js: Added.
2077         (WebInspector.MultipleScopeBarItem):
2078         (WebInspector.MultipleScopeBarItem.prototype.get element):
2079         (WebInspector.MultipleScopeBarItem.prototype.get exclusive):
2080         (WebInspector.MultipleScopeBarItem.prototype.get scopeBarItems):
2081         (WebInspector.MultipleScopeBarItem.set scopeBarItems.createOption):
2082         (WebInspector.MultipleScopeBarItem.prototype.set scopeBarItems):
2083         (WebInspector.MultipleScopeBarItem.prototype.get selected):
2084         (WebInspector.MultipleScopeBarItem.prototype.set selected):
2085         (WebInspector.MultipleScopeBarItem.prototype.get selectedScopeBarItem):
2086         (WebInspector.MultipleScopeBarItem.prototype.set selectedScopeBarItem):
2087         (WebInspector.MultipleScopeBarItem.prototype._clicked):
2088         (WebInspector.MultipleScopeBarItem.prototype._selectElementSelectionChanged):
2089         (WebInspector.MultipleScopeBarItem.prototype._itemSelectionDidChange):
2090
2091         * UserInterface/Views/NavigationSidebarPanel.js:
2092         (WebInspector.NavigationSidebarPanel.prototype.matchTreeElementAgainstFilterFunctions):
2093         (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.matchTextFilter):
2094         (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.makeVisible):
2095         (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement):
2096         (WebInspector.NavigationSidebarPanel.prototype._updateFilter):
2097         (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
2098         Improve filtering so non-text filters can choose to auto-expand the tree.
2099
2100         * UserInterface/Views/ResourceSidebarPanel.css: Added.
2101         (.sidebar > .panel.navigation.resource > :matches(.content, .empty-content-placeholder)):
2102         (.sidebar > .panel.navigation.resource > .navigation-bar):
2103
2104         * UserInterface/Views/ResourceSidebarPanel.js:
2105         (WebInspector.ResourceSidebarPanel):
2106         (WebInspector.ResourceSidebarPanel.prototype.hasCustomFilters):
2107         (WebInspector.ResourceSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
2108         (WebInspector.ResourceSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
2109         (WebInspector.ResourceSidebarPanel.prototype._scopeBarSelectionDidChange):
2110         Make a ScopeBar and make it filter the TreeOutline when needed.
2111
2112         * UserInterface/Views/ScopeBar.css:
2113         (.scope-bar > li.multiple):
2114         (.scope-bar > li.multiple > select):
2115         (.scope-bar > li.multiple.selected > select):
2116         (.scope-bar > li.multiple > .arrows):
2117         (.scope-bar > li.multiple:matches(.selected, :hover, :active) > .arrows svg .filled):
2118         (.scope-bar > li.multiple:matches(.selected, :hover, :active) > .arrows svg .stroked):
2119
2120         * UserInterface/Views/ScopeBar.js:
2121         (WebInspector.ScopeBar): Support shouldGroupNonExclusiveItems which will use MultipleScopeBarItem.
2122         (WebInspector.ScopeBar.prototype._populate):
2123         (WebInspector.ScopeBar.prototype._itemSelectionDidChange):
2124         (WebInspector.ScopeBar.prototype.updateLayout): Deleted. Not needed for our current styles.
2125
2126         * UserInterface/Views/ScopeBarItem.js:
2127         (WebInspector.ScopeBarItem):
2128         (WebInspector.ScopeBarItem.prototype.get id):
2129         (WebInspector.ScopeBarItem.prototype.get label):
2130         (WebInspector.ScopeBarItem.prototype.get exclusive):
2131         (WebInspector.ScopeBarItem.prototype.setSelected):
2132         (WebInspector.ScopeBarItem.prototype._clicked):
2133         (WebInspector.ScopeBarItem.prototype.get element): Deleted.
2134         (WebInspector.ScopeBarItem.prototype._markElementSelected): Deleted.
2135         Cleaned up and modernized a bit.
2136
2137 2015-05-29  Tobias Reiss  <tobi+webkit@basecode.de>
2138
2139         Web Inspector: Activity Viewer does not update on "clear all console messages"
2140         https://bugs.webkit.org/show_bug.cgi?id=144681
2141
2142         Reviewed by Joseph Pecoraro.
2143
2144         Do not apply "ignoreDidClearMessages" hack on "Clear log" Button and Context menu.
2145
2146         * UserInterface/Views/LogContentView.js:
2147         (WebInspector.LogContentView.prototype._sessionStarted):
2148         (WebInspector.LogContentView.prototype._clearLogIgnoringClearMessages):
2149         (WebInspector.LogContentView.prototype._clearLog): Deleted.
2150
2151 2015-05-29  Matt Baker  <mattbaker@apple.com>
2152
2153         Web Inspector: Remove unused expandTreeElementsWhenArrowing property from TreeOutline
2154         https://bugs.webkit.org/show_bug.cgi?id=145470
2155
2156         Reviewed by Joseph Pecoraro.
2157
2158         * UserInterface/Views/TreeOutline.js:
2159         (WebInspector.TreeOutline.prototype._treeKeyDown):
2160         Replaced uses of removed property with boolean literal.
2161
2162 2015-05-29  Joseph Pecoraro  <pecoraro@apple.com>
2163
2164         Web Inspector: Tabs should have Context Menus
2165         https://bugs.webkit.org/show_bug.cgi?id=144208
2166
2167         Reviewed by Timothy Hatcher.
2168
2169         Give non-pinned tabs "Close Tab" and "Close Other Tabs" context
2170         menu items to affect other non-pinned tabs.
2171
2172         * Localizations/en.lproj/localizedStrings.js:
2173         * UserInterface/Views/TabBarItem.js:
2174         (WebInspector.TabBarItem):
2175         (WebInspector.TabBarItem.prototype._handleContextMenuEvent.closeTab):
2176         (WebInspector.TabBarItem.prototype._handleContextMenuEvent.closeOtherTabs):
2177         (WebInspector.TabBarItem.prototype._handleContextMenuEvent):
2178
2179 2015-05-29  Matt Baker  <mattbaker@apple.com>
2180
2181         Web Inspector: Restoring the last selected DOM node fails on reload (DOMAgent: No node with given path found)
2182         https://bugs.webkit.org/show_bug.cgi?id=144231
2183
2184         Reviewed by Timothy Hatcher.
2185
2186         Removed _restoreSelectedNodeIsAllowed flag from DOMTreeContentView. The frontend receives two documentUpdated
2187         events from the DOM Agent during page reload, and the flag was preventing DOMTreeContentView from restoring
2188         the previous selection in response to the second event.
2189
2190         * UserInterface/Views/DOMTreeContentView.js:
2191         (WebInspector.DOMTreeContentView.prototype.selectLastSelectedNode):
2192         (WebInspector.DOMTreeContentView.prototype._restoreSelectedNodeAfterUpdate):
2193
2194 2015-05-28  Nikita Vasilyev  <nvasilyev@apple.com>
2195
2196         Web Inspector: Update toolbar styles
2197         https://bugs.webkit.org/show_bug.cgi?id=145419
2198
2199         Also, use hairline borders (1 phisical pixel) on retina (DPI >= 2).
2200
2201         Reviewed by Timothy Hatcher.
2202
2203         * UserInterface/Views/ButtonToolbarItem.css:
2204         (.toolbar .item.button): Deleted.
2205         (.toolbar.icon-and-label-vertical .item.button): Deleted.
2206         (.toolbar.icon-and-label-horizontal .item.button): Deleted.
2207         (.toolbar .item.button > .glyph): Deleted.
2208         (.toolbar.small-size .item.button > .glyph): Deleted.
2209         * UserInterface/Views/DashboardContainerView.css:
2210         (.toolbar .dashboard-container): Deleted.
2211         (.toolbar.collapsed .dashboard-container): Deleted.
2212         (.toolbar.small-size:matches(.icon-only, .icon-and-label-vertical, .icon-and-label-horizontal) .dashboard-container): Deleted.
2213         (.toolbar .dashboard.slide-out-down): Deleted.
2214         (.toolbar .dashboard.slide-in-up): Deleted.
2215         * UserInterface/Views/Toolbar.css:
2216         (.toolbar .search-bar > input[type="search"]):
2217         (.toolbar .search-bar > input[type="search"]::-webkit-textfield-decoration-container):
2218         (body:not(.unknown-mac) .toolbar .dashboard-container):
2219         (body:not(.unknown-mac) .toolbar .search-bar > input[type="search"]):
2220         (body:not(.unknown-mac) .toolbar .search-bar > input[type="search"]:focus):
2221         (body:not(.unknown-mac) .toolbar .item.button:active):
2222         (body.window-inactive:not(.unknown-mac) .toolbar .dashboard-container):
2223         (body.unknown-mac .toolbar .dashboard-container):
2224         (body.unknown-mac .toolbar .search-bar > input[type="search"]):
2225         (body.unknown-mac .toolbar .search-bar > input[type="search"]:focus):
2226         (@media (-webkit-min-device-pixel-ratio: 2)):
2227         (body.unknown-mac .toolbar .item.button:active):
2228         (body.unknown-mac.window-inactive .toolbar .dashboard-container):
2229
2230 2015-05-28  Devin Rousso  <drousso@apple.com>
2231
2232         Web Inspector: Jump from a computed style to the rule it came from
2233         https://bugs.webkit.org/show_bug.cgi?id=120640
2234
2235         Reviewed by Timothy Hatcher.
2236
2237         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2238         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded):
2239         If the delegate of CSSStyleDeclarationTextEditor has cssStyleDeclarationTextEditorShouldAddPropertyGoToArrows set to true, add a goToArrow to all CSS property entries.
2240         (WebInspector.CSSStyleDeclarationTextEditor.prototype.highlightProperty.propertiesMatch):
2241         (WebInspector.CSSStyleDeclarationTextEditor.prototype.highlightProperty.hasMatchingLonghandProperty):
2242         (WebInspector.CSSStyleDeclarationTextEditor.prototype.highlightProperty):
2243         Determines if a given CSS property is in the CSS style section and if so, select that CSS property, focus on the section containing that CSS property, and return true.
2244         * UserInterface/Views/CSSStyleDeclarationSection.js:
2245         (WebInspector.CSSStyleDeclarationSection.prototype.highlightProperty):
2246         Searches through the properties of the section for a given property and scrolls to it if found.
2247         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
2248         (WebInspector.CSSStyleDetailsSidebarPanel.prototype.computedStyleDetailsPanelShowProperty):
2249         Switches to the rulesStyleDetailsPanel and scrolls to and hightlights a given property in that panel.
2250         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._navigationItemSelected):
2251         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._switchPanels):
2252         Moved this function out of _navigationItemSelected for better reusablity.
2253         * UserInterface/Views/ComputedStyleDetailsPanel.js:
2254         (WebInspector.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorShowProperty):
2255         Function that calls the delegate (which should be CSSStyleDetailsSidebarPanel) function computedStyleDetailsPanelShowProperty.
2256         * UserInterface/Views/RulesStyleDetailsPanel.js:
2257         (WebInspector.RulesStyleDetailsPanel):
2258         (WebInspector.RulesStyleDetailsPanel.prototype.refresh):
2259         (WebInspector.RulesStyleDetailsPanel.prototype.scrollToSectionAndHighlightProperty):
2260         Searches through all the sections of the RulesStyleDetailsPanel for a given CSS property.
2261         (WebInspector.RulesStyleDetailsPanel.prototype.shown):
2262         (WebInspector.RulesStyleDetailsPanel.prototype.hidden):
2263         (WebInspector.RulesStyleDetailsPanel.prototype.nodeStylesRefreshed):
2264         Added a flag to this function that will highlight and scroll to a given property (_propertyToSelectAndHighlight) if set on load.
2265         * UserInterface/Views/StyleDetailsPanel.js:
2266         (WebInspector.StyleDetailsPanel.prototype.markAsNeedsRefresh):
2267         (WebInspector.StyleDetailsPanel.prototype.nodeStylesRefreshed):
2268         Made into protected function to allow it to be overridden.
2269         (WebInspector.StyleDetailsPanel.prototype._nodeStylesRefreshed): Deleted.
2270
2271 2015-05-28  Joseph Pecoraro  <pecoraro@apple.com>
2272
2273         Web Inspector: Should have a keyboard shortcut to switch between inspector tabs
2274         https://bugs.webkit.org/show_bug.cgi?id=144207
2275
2276         Reviewed by Timothy Hatcher.
2277
2278         These keyboard shortcuts work well in an undocked inspector window.
2279         Be careful that some keyboard shortcuts, when used inside a text
2280         editor / text field are just text actions. However, some keyboard
2281         shortcuts will work no matter where you trigger them.
2282
2283         * UserInterface/Models/KeyboardShortcut.js:
2284         * UserInterface/Views/TabBar.js:
2285         (WebInspector.TabBar.prototype.selectPreviousTab):
2286         (WebInspector.TabBar.prototype.selectNextTab):
2287         * UserInterface/Views/TabBrowser.js:
2288         (WebInspector.TabBrowser):
2289         (WebInspector.TabBrowser.prototype._showPreviousTab):
2290         (WebInspector.TabBrowser.prototype._showNextTab):
2291
2292 2015-05-28  Joseph Pecoraro  <pecoraro@apple.com>
2293
2294         Web Inspector: NewTabContentView should update button disabled state as other tabs are added/removed
2295         https://bugs.webkit.org/show_bug.cgi?id=145448
2296
2297         Reviewed by Timothy Hatcher.
2298
2299         * UserInterface/Views/NewTabContentView.js:
2300         (WebInspector.NewTabContentView):
2301         Always add a click listener and add the type as a private property on the element.
2302
2303         (WebInspector.NewTabContentView.prototype.shown):
2304         (WebInspector.NewTabContentView.prototype.hidden):
2305         Add / remove event listeners for tab changes. Also update the view when shown.
2306         
2307         (WebInspector.NewTabContentView.prototype._createNewTab):
2308         A disabled button an now be clicked. Do nothing if a new tab of this type is not allowed.
2309
2310         (WebInspector.NewTabContentView.prototype._updateTabItems):
2311         Refresh the disabled state for each of the buttons.
2312
2313 2015-05-27  Joseph Pecoraro  <pecoraro@apple.com>
2314
2315         Web Inspector: Show Page Source does not switch to Resources tab if inspector was closed
2316         https://bugs.webkit.org/show_bug.cgi?id=145423
2317
2318         Reviewed by Timothy Hatcher.
2319
2320         * UserInterface/Base/Main.js:
2321         (WebInspector._frameWasAdded.delayedWork):
2322         (WebInspector._frameWasAdded):
2323         In the special case where we are holding to show a frame's source code when
2324         the frame becomes available (_frameIdentifierToShowSourceCodeWhenAvailable)
2325         we should be forcing to show the tab.
2326
2327 2015-05-27  Joseph Pecoraro  <pecoraro@apple.com>
2328
2329         Web Inspector: Toggling an inherited property sometimes stops working
2330         https://bugs.webkit.org/show_bug.cgi?id=145416
2331
2332         Reviewed by Timothy Hatcher.
2333
2334         * UserInterface/Models/DOMNodeStyles.js:
2335         (WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload):
2336         Ensure we update the existing model objects with the new state information
2337         before possibly bailing. This may produce changed events that update
2338         parts of the inspector appropriately.
2339
2340 2015-05-27  Joseph Pecoraro  <pecoraro@apple.com>
2341
2342         Web Inspector: REGRESSION(r179286) Editing Style Metrics Values no longer works
2343         https://bugs.webkit.org/show_bug.cgi?id=143164
2344
2345         Reviewed by Brian Burg.
2346
2347         * UserInterface/Views/BoxModelDetailsSectionRow.js:
2348         (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics.createElement):
2349         (WebInspector.BoxModelDetailsSectionRow.prototype._applyUserInput.resolvedNode.toggleInlineStyleProperty):
2350         (WebInspector.BoxModelDetailsSectionRow.prototype._applyUserInput.resolvedNode.didToggle):
2351         (WebInspector.BoxModelDetailsSectionRow.prototype._applyUserInput.resolvedNode):
2352         (WebInspector.BoxModelDetailsSectionRow.prototype._applyUserInput):
2353         Make it so editing in the metrics pane just evaluates elem.style.setProperty
2354         on the inspected page. Use "!important" to try and give the maximum priority
2355         possible, which is a change from older behavior. Finally, refresh the sidebar
2356         to update all values, and update the UI if bad input didn't change styles.
2357
2358 2015-05-26  Joseph Pecoraro  <pecoraro@apple.com>
2359
2360         Web Inspector: Function parameter string parsing improperly handles empty parameter list
2361         https://bugs.webkit.org/show_bug.cgi?id=145391
2362
2363         Reviewed by Darin Adler.
2364
2365         * UserInterface/Views/ObjectTreePropertyTreeElement.js:
2366         (WebInspector.ObjectTreePropertyTreeElement.prototype._functionParameterString):
2367
2368 2015-05-26  Joseph Pecoraro  <pecoraro@apple.com>
2369
2370         Web Inspector: Add Array.prototype.copyWithin parameter list
2371         https://bugs.webkit.org/show_bug.cgi?id=145388
2372
2373         Reviewed by Darin Adler.
2374
2375         * UserInterface/Models/NativeFunctionParameters.js:
2376
2377 2015-05-26  Nikita Vasilyev  <nvasilyev@apple.com>
2378
2379         Web Inspector: focus outline of a search field should have a radius
2380         https://bugs.webkit.org/show_bug.cgi?id=145383
2381
2382         Add a focus outline animation to roughly mimic the default focus outline of OS X.
2383
2384         Reviewed by Timothy Hatcher.
2385
2386         * UserInterface/Views/Toolbar.css:
2387         (.toolbar .search-bar > input[type="search"]):
2388         -webkit-focus-ring-color doesn't follow element's curvature (e.g. border-radius)
2389         and it cannot be animated. Replace it with box-shadow.
2390
2391         (.toolbar .search-bar > input[type="search"]:focus):
2392
2393 2015-05-26  Nikita Vasilyev  <nvasilyev@apple.com>
2394
2395         Web Inspector: The bottom part "debugger" is clipped in the tab’s title
2396         https://bugs.webkit.org/show_bug.cgi?id=145381
2397
2398         Reviewed by Timothy Hatcher.
2399
2400         * UserInterface/Views/TabBar.css:
2401         (.tab-bar > .item):
2402         Set line-height to fit "debugger". Setting line-height to 16px, which is the
2403         size of the tabs icons, moves the text one pixel up, so set it to 15px.
2404
2405 2015-05-26  Dan Bernstein  <mitz@apple.com>
2406
2407         <rdar://problem/21104551> Update build settings
2408
2409         Reviewed by Anders Carlsson.
2410
2411         * Configurations/Base.xcconfig:
2412         * Configurations/DebugRelease.xcconfig:
2413         * Configurations/Version.xcconfig:
2414
2415 2015-05-23  Dan Bernstein  <mitz@apple.com>
2416
2417         Remove unused definitions of WEBKIT_VERSION_MIN_REQUIRED
2418         https://bugs.webkit.org/show_bug.cgi?id=145345
2419
2420         Reviewed by Sam Weinig.
2421
2422         * Configurations/Base.xcconfig:
2423
2424 2015-05-23  Joseph Pecoraro  <pecoraro@apple.com>
2425
2426         Web Inspector: Remove code related with unused style classes
2427         https://bugs.webkit.org/show_bug.cgi?id=145332
2428
2429         Reviewed by Timothy Hatcher.
2430
2431         * UserInterface/Views/ConsoleMessageView.js:
2432         (WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.append):
2433         (WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString):
2434         The "type-string" class has no styles associated with it. So the entire span can be removed.
2435
2436         * UserInterface/Views/DOMTreeElement.js:
2437         Both of these style classes have no styles associated with them. Remove the class names.
2438
2439 2015-05-23  Joseph Pecoraro  <pecoraro@apple.com>
2440
2441         Web Inspector: Improve native parameter lists a bit
2442         https://bugs.webkit.org/show_bug.cgi?id=145338
2443
2444         Reviewed by Timothy Hatcher.
2445
2446         * UserInterface/Models/NativeFunctionParameters.js:
2447         * UserInterface/Views/ObjectTreePropertyTreeElement.js:
2448         (WebInspector.ObjectTreePropertyTreeElement.prototype._functionParameterString):
2449
2450 2015-05-23  Joseph Pecoraro  <pecoraro@apple.com>
2451
2452         Web Inspector: Update CSS Autocompletion properties and values
2453         https://bugs.webkit.org/show_bug.cgi?id=145341
2454
2455         Reviewed by Timothy Hatcher.
2456
2457         * UserInterface/Models/CSSKeywordCompletions.js:
2458
2459 2015-05-22  Joseph Pecoraro  <pecoraro@apple.com>
2460
2461         Web Inspector: Adopt Object.setPrototypeOf
2462         https://bugs.webkit.org/show_bug.cgi?id=145335
2463
2464         Reviewed by Timothy Hatcher.
2465
2466         For a case that won't easily move to ES6 classes use Object.setPrototypeOf.
2467
2468         * UserInterface/Protocol/InspectorBackend.js:
2469         (InspectorBackend.Command.create):
2470
2471 2015-05-22  Joseph Pecoraro  <pecoraro@apple.com>
2472
2473         Web Inspector: Inline use once class names and remove some unused class names
2474         https://bugs.webkit.org/show_bug.cgi?id=145334
2475
2476         Reviewed by Timothy Hatcher.
2477
2478         * UserInterface/Views/ApplicationCacheFrameContentView.js:
2479         (WebInspector.ApplicationCacheFrameContentView):
2480         * UserInterface/Views/BoxModelDetailsSectionRow.js:
2481         (WebInspector.BoxModelDetailsSectionRow):
2482         * UserInterface/Views/CSSStyleDeclarationSection.js:
2483         (WebInspector.CSSStyleDeclarationSection):
2484         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
2485         (WebInspector.CSSStyleDetailsSidebarPanel):
2486         * UserInterface/Views/ClusterContentView.js:
2487         (WebInspector.ClusterContentView):
2488         * UserInterface/Views/CompletionSuggestionsView.js:
2489         (WebInspector.CompletionSuggestionsView):
2490         * UserInterface/Views/ConsolePrompt.js:
2491         (WebInspector.ConsolePrompt):
2492         * UserInterface/Views/ContentBrowser.js:
2493         (WebInspector.ContentBrowser):
2494         * UserInterface/Views/ContentFlowTreeElement.js:
2495         (WebInspector.ContentFlowTreeElement):
2496         * UserInterface/Views/ContentView.js:
2497         (WebInspector.ContentView):
2498         * UserInterface/Views/ContentViewContainer.js:
2499         (WebInspector.ContentViewContainer):
2500         * UserInterface/Views/CookieStorageContentView.js:
2501         (WebInspector.CookieStorageContentView):
2502         * UserInterface/Views/CookieStorageTreeElement.js:
2503         (WebInspector.CookieStorageTreeElement):
2504         * UserInterface/Views/DOMStorageContentView.js:
2505         (WebInspector.DOMStorageContentView):
2506         * UserInterface/Views/DOMTreeContentView.js:
2507         (WebInspector.DOMTreeContentView):
2508         * UserInterface/Views/DashboardView.js:
2509         (WebInspector.DashboardView):
2510         * UserInterface/Views/DatabaseTableContentView.js:
2511         (WebInspector.DatabaseTableContentView):
2512         * UserInterface/Views/DebuggerDashboardView.js:
2513         (WebInspector.DebuggerDashboardView):
2514         (WebInspector.DebuggerDashboardView.prototype._rebuildLocation):
2515         * UserInterface/Views/DetailsSection.js:
2516         (WebInspector.DetailsSection):
2517         * UserInterface/Views/DetailsSectionSimpleRow.js:
2518         * UserInterface/Views/FontResourceContentView.js:
2519         (WebInspector.FontResourceContentView):
2520         (WebInspector.FontResourceContentView.prototype.createMetricElement):
2521         (WebInspector.FontResourceContentView.prototype.contentAvailable):
2522         * UserInterface/Views/HierarchicalPathComponent.js:
2523         (WebInspector.HierarchicalPathComponent):
2524         (WebInspector.HierarchicalPathComponent.prototype.set selectorArrows):
2525         * UserInterface/Views/IndexedDatabaseObjectStoreContentView.js:
2526         * UserInterface/Views/LayoutTimelineOverviewGraph.js:
2527         (WebInspector.LayoutTimelineOverviewGraph):
2528         * UserInterface/Views/NetworkTimelineOverviewGraph.js:
2529         (WebInspector.NetworkTimelineOverviewGraph):
2530         * UserInterface/Views/OverviewTimelineView.js:
2531         * UserInterface/Views/ProbeSetDetailsSection.js:
2532         * UserInterface/Views/QuickConsole.js:
2533         * UserInterface/Views/ReplayDashboardView.js:
2534         * UserInterface/Views/ScriptContentView.js:
2535         (WebInspector.ScriptContentView):
2536         * UserInterface/Views/ScriptTimelineOverviewGraph.js:
2537         (WebInspector.ScriptTimelineOverviewGraph):
2538         * UserInterface/Views/TextContentView.js:
2539         (WebInspector.TextContentView):
2540         * UserInterface/Views/TimelineOverview.js:
2541         (WebInspector.TimelineOverview):
2542         * UserInterface/Views/TimelineOverviewGraph.js:
2543         (WebInspector.TimelineOverviewGraph):
2544         * UserInterface/Views/TimelineRecordBar.js:
2545         (WebInspector.TimelineRecordBar):
2546         * UserInterface/Views/TimelineRecordFrame.js:
2547         (WebInspector.TimelineRecordFrame):
2548         * UserInterface/Views/TimelineRecordingContentView.js:
2549         (WebInspector.TimelineRecordingContentView):
2550         * UserInterface/Views/TimelineRuler.js:
2551         (WebInspector.TimelineRuler):
2552         (WebInspector.TimelineRuler.prototype.set allowsTimeRangeSelection):
2553
2554 2015-05-22  Joseph Pecoraro  <pecoraro@apple.com>
2555
2556         Web Inspector: DOMTree Keyboard Shortcut 'H' to toggle element visibility is not working
2557         https://bugs.webkit.org/show_bug.cgi?id=145331
2558
2559         Reviewed by Brian Burg.
2560
2561         We no longer have CSSProperty.value setters. Instead of attempting
2562         to toggle and clobber inline style values on the element we:
2563         
2564           1. inject a <style> on the page like ".WebInspectorHide { visibility:hidden }"
2565           2. toggle the WebInspectorHide class on the selected element
2566
2567         This approach is inspired by the original WebKit change in the
2568         old inspector frontend: <https://webkit.org/b/110641>.
2569
2570         The old approach toggled a few properties (opacity and pointer events)
2571         while the new approach uses visibility, matching other browsers.
2572
2573         * UserInterface/Views/DOMTreeOutline.js:
2574         (WebInspector.DOMTreeOutline.prototype._hideElement.resolvedNode.injectStyleAndToggleClass):
2575         (WebInspector.DOMTreeOutline.prototype._hideElement.resolvedNode):
2576         (WebInspector.DOMTreeOutline.prototype._hideElement):
2577         (WebInspector.DOMTreeOutline.prototype._hideElement.toggleProperties): Deleted.
2578
2579 2015-05-21  Joseph Pecoraro  <pecoraro@apple.com>
2580
2581         Web Inspector: Give Toolbar buttons an active style
2582         https://bugs.webkit.org/show_bug.cgi?id=145292
2583
2584         Reviewed by Timothy Hatcher.
2585
2586         * UserInterface/Views/ButtonToolbarItem.css:
2587         (.toolbar .item.button:active):
2588
2589 2015-05-21  Nikita Vasilyev  <nvasilyev@apple.com>
2590
2591         Web Inspector: Dashboard debugger information can be clipped
2592         https://bugs.webkit.org/show_bug.cgi?id=144209
2593
2594         Reviewed by Timothy Hatcher.
2595
2596         * UserInterface/Views/DashboardContainerView.css:
2597         (.toolbar .dashboard-container):
2598         Make dashboard flexible by using vw (viewport width units).
2599
2600         * UserInterface/Views/DefaultDashboardView.css:
2601         (.toolbar .dashboard.default):
2602         Center default dashboard icons in the middle, don't spread them along the dashboard.
2603
2604 2015-05-21  Joseph Pecoraro  <pecoraro@apple.com>
2605
2606         Web Inspector: Improve the UI of the type profiler popover
2607         https://bugs.webkit.org/show_bug.cgi?id=140737
2608
2609         Reviewed by Timothy Hatcher.
2610
2611         Display TypeDescriptions in a Tree similiar to ObjectTrees.
2612         Currently the only information we have in a TypeDescription
2613         is the property names, and not their types, so all we can
2614         display in the tree are names.
2615
2616         * Localizations/en.lproj/localizedStrings.js:
2617         * UserInterface/Controllers/TypeTokenAnnotator.js:
2618         (WebInspector.TypeTokenAnnotator.prototype._insertTypeToken):
2619         * UserInterface/Main.html:
2620         * UserInterface/Models/ScriptSyntaxTree.js:
2621         (WebInspector.ScriptSyntaxTree.prototype.updateTypes):
2622         * UserInterface/Models/StructureDescription.js: Added.
2623         (WebInspector.StructureDescription):
2624         (WebInspector.StructureDescription.fromPayload):
2625         (WebInspector.StructureDescription.prototype.get fields):
2626         (WebInspector.StructureDescription.prototype.get optionalFields):
2627         (WebInspector.StructureDescription.prototype.get constructorName):
2628         (WebInspector.StructureDescription.prototype.get prototypeStructure):
2629         (WebInspector.StructureDescription.prototype.get imprecise):
2630         * UserInterface/Models/TypeDescription.js: Added.
2631         (WebInspector.TypeDescription):
2632         (WebInspector.TypeDescription.fromPayload):
2633         (WebInspector.TypeDescription.prototype.get leastCommonAncestor):
2634         (WebInspector.TypeDescription.prototype.get typeSet):
2635         (WebInspector.TypeDescription.prototype.get structures):
2636         (WebInspector.TypeDescription.prototype.get valid):
2637         (WebInspector.TypeDescription.prototype.get truncated):
2638         * UserInterface/Models/TypeSet.js:
2639         (WebInspector.TypeSet):
2640         (WebInspector.TypeSet.prototype.get primitiveTypeNames):
2641         * UserInterface/Views/ObjectTreeView.js:
2642         (WebInspector.ObjectTreeView.prototype._updateChildren):
2643         * UserInterface/Views/Section.css: Removed.
2644         * UserInterface/Views/Section.js: Removed.
2645         * UserInterface/Views/SourceCodeTextEditor.css:
2646         (.popover .expandable):
2647         * UserInterface/Views/SourceCodeTextEditor.js:
2648         (WebInspector.SourceCodeTextEditor):
2649         (WebInspector.SourceCodeTextEditor.prototype.showPopoverForTypes):
2650         (WebInspector.SourceCodeTextEditor.prototype._populateWithScriptContent):
2651         (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptTypeInformation.handler):
2652         (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptTypeInformation):
2653         (WebInspector.SourceCodeTextEditor.prototype._showPopoverForObject):
2654         * UserInterface/Views/TypePropertiesSection.js: Removed.
2655         * UserInterface/Views/TypeTokenView.js:
2656         (WebInspector.TypeTokenView):
2657         (WebInspector.TypeTokenView.titleForPopover):
2658         (WebInspector.TypeTokenView.prototype.update):
2659         (WebInspector.TypeTokenView.prototype._setUpMouseoverHandlers):
2660         (WebInspector.TypeTokenView.prototype._shouldShowPopover):
2661         (WebInspector.TypeTokenView.prototype._displayTypeName):
2662         * UserInterface/Views/TypeTreeElement.css: Added.
2663         (.type-tree-element):
2664         (.type-tree-element > .titles):
2665         (.type-tree-element > .disclosure-button):
2666         (.type-tree-element.parent > .disclosure-button):
2667         (.type-tree-element.parent.expanded > .disclosure-button):
2668         (.type-tree-element > .icon):
2669         (.type-tree-element.prototype):
2670         (.type-tree-element.prototype:focus):
2671         (.type-tree-element.prototype + ol):
2672         * UserInterface/Views/TypeTreeElement.js: Added.
2673         (WebInspector.TypeTreeElement):
2674         (WebInspector.TypeTreeElement.prototype.get name):
2675         (WebInspector.TypeTreeElement.prototype.get isPrototype):
2676         (WebInspector.TypeTreeElement.prototype.onpopulate):
2677         (WebInspector.TypeTreeElement.prototype.onexpand):
2678         * UserInterface/Views/TypeTreeView.css: Renamed from Source/WebInspectorUI/UserInterface/Views/PropertiesSection.js.
2679         (.type-tree):
2680         (.type-tree-outline):
2681         (.type-tree-outline li):
2682         (.type-tree-outline ol):
2683         (.type-tree-outline ol.expanded):
2684         (.type-tree-outline li .empty-message):
2685         * UserInterface/Views/TypeTreeView.js: Added.
2686         (WebInspector.TypeTreeView):
2687         (WebInspector.TypeTreeView.prototype.get typeDescription):
2688         (WebInspector.TypeTreeView.prototype.get element):
2689         (WebInspector.TypeTreeView.prototype.get treeOutline):
2690         (WebInspector.TypeTreeView.prototype._populate):
2691
2692 2015-05-20  Joseph Pecoraro  <pecoraro@apple.com>
2693
2694         Web Inspector: Fix WebInspector.StackTrace style
2695         https://bugs.webkit.org/show_bug.cgi?id=145240
2696
2697         Reviewed by Timothy Hatcher.
2698
2699         * UserInterface/Models/StackTrace.js:
2700         Reorder and add our usual marker comments.
2701
2702 2015-05-19  Joseph Pecoraro  <pecoraro@apple.com>
2703
2704         Web Inspector: Improve Preview for NodeList / array like collections
2705         https://bugs.webkit.org/show_bug.cgi?id=145177
2706
2707         Reviewed by Timothy Hatcher.
2708
2709         * UserInterface/Views/ObjectPreviewView.js:
2710         (WebInspector.ObjectPreviewView.prototype._appendPreview):
2711         Show the class name for a non-basic-Array, but still hide
2712         it for a basic Array.
2713
2714 2015-05-19  Nikita Vasilyev  <nvasilyev@apple.com>
2715
2716         Web Inspector: Convert stackTrace from raw payload data to an array of CallFrames
2717         https://bugs.webkit.org/show_bug.cgi?id=144982
2718
2719         Reviewed by Joseph Pecoraro.
2720
2721         * UserInterface/Controllers/LogManager.js:
2722         * UserInterface/Main.html:
2723         * UserInterface/Models/CallFrame.js:
2724         (WebInspector.CallFrame.fromPayload):
2725         Consider an empty string url as a native code as it was in 
2726         WebInspector.ConsoleMessageView.prototype._firstNonNativeCallFrame
2727
2728         * UserInterface/Models/ConsoleMessage.js:
2729         (WebInspector.ConsoleMessage):
2730         Convert _stackTrace from an array of payload objects to WebInspector.StackTrace model.
2731
2732         * UserInterface/Models/StackTrace.js: Added.
2733         (WebInspector.StackTrace):
2734         (WebInspector.StackTrace.prototype.get callFrames):
2735         (WebInspector.StackTrace.prototype.get firstNonNativeCallFrame): Added.
2736         (WebInspector.StackTrace.fromPayload):
2737         * UserInterface/Test.html:
2738         * UserInterface/Views/CallFrameView.js:
2739         (WebInspector.CallFrameView):
2740         Don't show a URL when sourceCodeLocation is missing, fix webkit.org/b/145071.
2741
2742         * UserInterface/Views/ConsoleMessageView.js:
2743         (WebInspector.ConsoleMessageView):
2744         (WebInspector.ConsoleMessageView.prototype.toClipboardString):
2745         (WebInspector.ConsoleMessageView.prototype._appendLocationLink):
2746         (WebInspector.ConsoleMessageView.prototype._appendStackTrace):
2747         (WebInspector.ConsoleMessageView.prototype._shouldShowStackTrace):
2748         (WebInspector.ConsoleMessageView.prototype._linkifyCallFrame):
2749         (WebInspector.ConsoleMessageView.prototype._firstNonNativeCallFrame): Deleted.
2750
2751 2015-05-18  Joseph Pecoraro  <pecoraro@apple.com>
2752
2753         Web Inspector: Improve Reliability of Closing and Reopening Elements Tab
2754         https://bugs.webkit.org/show_bug.cgi?id=145139
2755
2756         Reviewed by Timothy Hatcher.
2757
2758         * UserInterface/Views/DOMTreeElement.js:
2759         (WebInspector.DOMTreeElement.prototype.highlightSearchResults):
2760         (WebInspector.DOMTreeElement.prototype.hideSearchHighlights):
2761         (WebInspector.DOMTreeElement.prototype.emphasizeSearchHighlight.animationEnded):
2762         (WebInspector.DOMTreeElement.prototype.emphasizeSearchHighlight):
2763         (WebInspector.DOMTreeElement.prototype._updateChildren):
2764         (WebInspector.DOMTreeElement.prototype.adjustCollapsedRange):
2765         (WebInspector.DOMTreeElement.prototype._startEditingAsHTML.dispose):
2766         (WebInspector.DOMTreeElement.prototype._startEditingAsHTML):
2767         (WebInspector.DOMTreeElement.prototype.updateTitle):
2768         Stop using the `delete` operator.
2769
2770         * UserInterface/Views/DOMTreeOutline.js:
2771         (WebInspector.DOMTreeOutline.prototype.setVisible):
2772         Trigger an update when the outline is made visible.
2773
2774         * UserInterface/Views/FrameDOMTreeContentView.js:
2775         (WebInspector.FrameDOMTreeContentView.prototype._rootDOMNodeAvailable):
2776         Provide a reasonable default selection if there is no body or document element.
2777         For example in an augmented DOM tree.
2778
2779 2015-05-18  Joseph Pecoraro  <pecoraro@apple.com>
2780
2781         Web Inspector: Tab Restoration incorrectly makes ContentViews "shown" in background tabs
2782         https://bugs.webkit.org/show_bug.cgi?id=145080
2783
2784         Reviewed by Timothy Hatcher.
2785
2786         Many tabs have their own content browser / navigation sidebar. During
2787         state restoration, each tab would immediately try to restore an
2788         appropriate ContentView after the load / navigation. However, in doing
2789         so, we weren't respecting whether or not the Tab the ContentBrowser
2790         was in was hidden or not, so ContentViews in background tags were
2791         still being treated as shown/visible.
2792
2793         This patch changes state restoration to only affect the foreground
2794         tab, and be delayed on all background tabs until that tab is shown.
2795         This reduces the amount of work on load and navigation to just a
2796         single tab instead of all tabs. Most importantly, it avoids having
2797         performing work on ContentBrowsers that are non-visible, so state
2798         restoration only happens for visible ContentBrowsers.
2799
2800         For simplicity, in the case of a delayed tab restoration triggered
2801         by the user switching tabs, we don't try twice (like we occasionally
2802         do on load/reload). We could add back some hueristic here if needed.
2803
2804         * UserInterface/Base/Main.js:
2805         (WebInspector.contentLoaded):
2806         (WebInspector.activateExtraDomains):
2807         (WebInspector._mainResourceDidChange):
2808         (WebInspector._restoreCookieForOpenTabs):
2809         * UserInterface/Views/NavigationSidebarPanel.js:
2810
2811         * UserInterface/Views/TabContentView.js:
2812         (WebInspector.TabContentView.prototype.shown):
2813         (WebInspector.TabContentView.prototype.restoreStateFromCookie):
2814         (WebInspector.TabContentView.prototype.saveStateToCookie):
2815         When asked to restore state, save that logic until the next time the tab is shown.
2816
2817         * UserInterface/Views/TextEditor.js:
2818         (WebInspector.TextEditor.prototype.get visible):
2819         * UserInterface/Views/SourceCodeTextEditor.js:
2820         (WebInspector.SourceCodeTextEditor.prototype.editingControllerDidStartEditing):
2821         (WebInspector.SourceCodeTextEditor.prototype._setTypeTokenAnnotatorEnabledState): Deleted.
2822         Although this didn't actually catch the issue, it could potentially
2823         catch other issues in the future. We don't want to enable the annotators
2824         in a non-visible text editor, as it could be a performance issue.
2825
2826 2015-05-15  Matt Baker  <mattbaker@apple.com>
2827
2828         Web Inspector: empty timeline should not use previous timeline's zoom interval
2829         https://bugs.webkit.org/show_bug.cgi?id=132754
2830
2831         Reviewed by Joseph Pecoraro.
2832
2833         When a timeline recording is started in response to a provisional load, TimelineManager should check whether
2834         the main resource url is changing before loading a new timeline recording. If the main resource is changing,
2835         set the selection start, selection duration, and duration-per-pixel settings of the TimelineOverview to their
2836         default values.
2837
2838         * UserInterface/Controllers/TimelineManager.js:
2839         (WebInspector.TimelineManager):
2840         (WebInspector.TimelineManager.prototype.isCapturingPageReload):
2841         (WebInspector.TimelineManager.prototype.capturingStopped):
2842         (WebInspector.TimelineManager.prototype.pageDidLoad):
2843         (WebInspector.TimelineManager.prototype._startAutoCapturing):
2844         Added a property for checking whether auto capture was triggered by a page reload.
2845
2846         * UserInterface/Views/LinearTimelineOverview.js:
2847         (WebInspector.LinearTimelineOverview):
2848         Increase default selection time to 15 seconds.
2849
2850         * UserInterface/Views/TimelineOverview.js:
2851         (WebInspector.TimelineOverview):
2852         Reset selection and zoom if TimelineManager isn't capturing in response to a page reload.
2853
2854         (WebInspector.TimelineOverview.prototype.reset):
2855         Reset selection and zoom.
2856
2857         (WebInspector.TimelineOverview.prototype._timeRangeSelectionChanged):
2858         (WebInspector.TimelineOverview.prototype._resetSelection):
2859         Added a helper function for resetting selection and zoom to their default values.
2860
2861 2015-05-15  Matt Baker  <mattbaker@apple.com>
2862
2863         Web Inspector: Timeline data grid displays wrong records after switching between Timelines/Frames mode
2864         https://bugs.webkit.org/show_bug.cgi?id=145084
2865
2866         Reviewed by Timothy Hatcher.
2867
2868         Update timeline sidebar filter whenever the view mode changes.
2869
2870         * UserInterface/Views/TimelineSidebarPanel.js:
2871         (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.get if.get if):
2872         (WebInspector.TimelineSidebarPanel.get else):
2873         (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.get if):
2874         (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject):
2875
2876 2015-05-15  Joseph Pecoraro  <pecoraro@apple.com>
2877
2878         Web Inspector: Bump image format number to force image regeneration
2879         https://bugs.webkit.org/show_bug.cgi?id=145074
2880
2881         Reviewed by Timothy Hatcher.
2882
2883         * UserInterface/Base/ImageUtilities.js:
2884
2885 2015-05-15  Joseph Pecoraro  <pecoraro@apple.com>
2886
2887         Web Inspector: Reduce type annotation update frequency
2888         https://bugs.webkit.org/show_bug.cgi?id=145066
2889
2890         Reviewed by Timothy Hatcher.
2891
2892         * UserInterface/Controllers/TypeTokenAnnotator.js:
2893         Reduce the frequency which could commonly be 16-24ms
2894         to a minimum of 100ms and maximum of 2000ms.
2895
2896 2015-05-15  Joseph Pecoraro  <pecoraro@apple.com>
2897
2898         Web Inspector: Fix some possible event listener leakers in content views
2899         https://bugs.webkit.org/show_bug.cgi?id=145068
2900
2901         Reviewed by Timothy Hatcher.
2902
2903         Now that some content views can be closed that weren't closable before, ensure
2904         we clean up after global event listeners that may strongly reference "this".
2905
2906         * UserInterface/Views/DOMTreeContentView.js:
2907         (WebInspector.DOMTreeContentView.prototype.closed):
2908         * UserInterface/Views/DOMTreeOutline.js:
2909         (WebInspector.DOMTreeOutline.prototype.close):
2910         * UserInterface/Views/LayoutTimelineView.js:
2911         (WebInspector.LayoutTimelineView.prototype.closed):
2912         * UserInterface/Views/NetworkTimelineView.js:
2913         (WebInspector.NetworkTimelineView.prototype.closed):
2914         * UserInterface/Views/RenderingFrameTimelineView.js:
2915         (WebInspector.RenderingFrameTimelineView.prototype.closed):
2916         * UserInterface/Views/ScriptContentView.js:
2917         (WebInspector.ScriptContentView.prototype.closed):
2918         * UserInterface/Views/ScriptTimelineView.js:
2919         (WebInspector.ScriptTimelineView.prototype.closed):
2920         * UserInterface/Views/SourceCodeTextEditor.js:
2921         (WebInspector.SourceCodeTextEditor.prototype.close):
2922         * UserInterface/Views/TextResourceContentView.js:
2923         (WebInspector.TextResourceContentView.prototype.closed):
2924         * UserInterface/Views/TimelineDataGrid.js:
2925         (WebInspector.TimelineDataGrid.prototype.closed):
2926         (WebInspector.TimelineDataGrid.prototype.handleEvent):
2927
2928 2015-05-15  Joseph Pecoraro  <pecoraro@apple.com>
2929
2930         Web Inspector: Initiator Popovers no longer work in Layout Timeline
2931         https://bugs.webkit.org/show_bug.cgi?id=145067
2932
2933         Reviewed by Timothy Hatcher.
2934
2935         * UserInterface/Views/LayoutTimelineDataGrid.js:
2936         (WebInspector.LayoutTimelineDataGrid.prototype.callFramePopoverAnchorElement):
2937         Update the column name, which changed in r183134.
2938
2939 2015-05-14  Joseph Pecoraro  <pecoraro@apple.com>
2940
2941         Web Inspector: Update the New Tab button disabled state after extra domains are activated
2942         https://bugs.webkit.org/show_bug.cgi?id=145028
2943
2944         Reviewed by Timothy Hatcher.
2945
2946         * UserInterface/Base/Main.js:
2947         (WebInspector.activateExtraDomains):
2948
2949 2015-05-14  Matt Baker  <mattbaker@apple.com>
2950
2951         Web Inspector: Current time marker is always at zero in Rendering Frames ruler
2952         https://bugs.webkit.org/show_bug.cgi?id=144518
2953
2954         Reviewed by Timothy Hatcher.
2955
2956         The current and end time values for the rendering frame timeline overview should always be equal to the frame
2957         number of the last record in the rendering frames timeline.
2958
2959         * UserInterface/Views/TimelineOverview.js:
2960         (WebInspector.TimelineOverview):
2961         (WebInspector.TimelineOverview.prototype.updateLayout):
2962         * UserInterface/Views/TimelineRecordingContentView.js:
2963         (WebInspector.TimelineRecordingContentView.prototype._updateTimes):
2964         (WebInspector.TimelineRecordingContentView.prototype._recordingTimesUpdated):
2965
2966 2015-05-11  Brent Fulgham  <bfulgham@apple.com>
2967
2968         [Win] Move Windows build target to Windows 7 (or newer)
2969         https://bugs.webkit.org/show_bug.cgi?id=144890
2970         <rdar://problem/20707307>
2971
2972         Reviewed by Anders Carlsson.
2973
2974         Update linked SDK and minimal Windows level to be compatible with
2975         Windows 7 or newer.
2976
2977         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
2978
2979 2015-05-11  Timothy Hatcher  <timothy@apple.com>
2980
2981         Web Inspector: REGRESSION (Tabs): Issues reloading a resource with breakpoints
2982         https://bugs.webkit.org/show_bug.cgi?id=144650
2983
2984         Fix a number of issues with Debugger tab and navigation/reloading:
2985         - Close old content views in the Debugger tab when main frame navigates.
2986         - Prune old resource tree elements before attempting to restore a cookie that might match an old resource.
2987         - Allow breakpoint selections to be restored from a saved cookie.
2988         - Fix an assert when closing a content view that isn't the current index, but is the current view.
2989         - Avoid calling closed() multiple times when a ContentView is in the back/forward list more than once.
2990         - Make restoreStateFromCookie properly set and use the causedByNavigation argument for a longer restore delay.
2991         - Create a new cookie object per tab instead of it being cumulative from the previous cookie.
2992
2993         Reviewed by Brian Burg.
2994
2995         * UserInterface/Base/Main.js:
2996         (WebInspector._mainResourceDidChange): Delay calling _restoreCookieForOpenTabs to give time for sidebars
2997         and tabs to respond to the main resource change.
2998         (WebInspector._restoreCookieForOpenTabs): Rename causedByReload to causedByNavigation. Nothing special about
2999         reload since we restore on all navigation.
3000
3001         * UserInterface/Views/ContentView.js:
3002         (WebInspector.ContentView): Support Breakpoint as a represented object, which happens during a cookie restore.
3003         (WebInspector.ContentView.isViewable): Ditto.
3004
3005         * UserInterface/Views/ContentViewContainer.js:
3006         (WebInspector.ContentViewContainer.prototype.closeAllContentViews): Disassociate if the view is current and not just
3007         the current entry index. This matches other close functions. This fixes an assert in _disassociateFromContentView.
3008         (WebInspector.ContentViewContainer.prototype._disassociateFromContentView): Don't disassociate multiple times. This
3009         avoids calling the closed() function on a view more than once.
3010
3011         * UserInterface/Views/DebuggerSidebarPanel.js:
3012         (WebInspector.DebuggerSidebarPanel.prototype.saveStateToCookie):
3013         (WebInspector.DebuggerSidebarPanel.prototype._mainResourceDidChange): Renamed from _mainResourceChanged.
3014         Close all content views if this is the main frame. Also prune all old resources. Doing this now avoids a flash
3015         of having old and new resources in the tree caused by the default delay in NavigationSidebarPanel's _checkForOldResources.
3016
3017         * UserInterface/Views/NavigationSidebarPanel.js:
3018         (WebInspector.NavigationSidebarPanel): Set _autoPruneOldTopLevelResourceTreeElements for later.
3019         (WebInspector.NavigationSidebarPanel.prototype.get contentTreeOutlineToAutoPrune): Deleted.
3020         (WebInspector.NavigationSidebarPanel.prototype.showDefaultContentView): Fix typo.
3021         (WebInspector.NavigationSidebarPanel.prototype.showDefaultContentViewForTreeElement): Fix whitespace.
3022         (WebInspector.NavigationSidebarPanel.prototype.pruneOldResourceTreeElements): Added. Broken out from
3023         _checkForOldResources.delayedWork so it can be called manually. Also check all visible tree outlines.
3024         (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged): Pass treeElement in an array.
3025         (WebInspector.NavigationSidebarPanel.prototype._checkForOldResourcesIfNeeded): Added.
3026         (WebInspector.NavigationSidebarPanel.prototype._checkForOldResources): Call pruneOldResourceTreeElements on a delay.
3027         (WebInspector.NavigationSidebarPanel.prototype._checkForOldResources.delayedWork): Deleted.
3028         (WebInspector.NavigationSidebarPanel.prototype._checkOutlinesForPendingViewStateCookie): Call _checkForOldResourcesIfNeeded.
3029         (WebInspector.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie): Remove array folding code.
3030
3031         * UserInterface/Views/TabContentView.js:
3032         (WebInspector.TabContentView.prototype.restoreStateFromCookie): Rename causedByReload to causedByNavigation.
3033         (WebInspector.TabContentView.prototype.saveStateToCookie): Don't allow the cookie to build on the old cookie.
3034
3035 2015-05-11  Timothy Hatcher  <timothy@apple.com>
3036
3037         Web Inspector: NavigationSidebarPanel leaks some event listeners
3038         https://bugs.webkit.org/show_bug.cgi?id=144523
3039
3040         Reviewed by Joseph Pecoraro.
3041
3042         * UserInterface/Views/NavigationSidebarPanel.js:
3043         (WebInspector.NavigationSidebarPanel):
3044         (WebInspector.NavigationSidebarPanel.prototype.closed):
3045         * UserInterface/Views/ResourceSidebarPanel.js:
3046         (WebInspector.ResourceSidebarPanel.prototype.closed):
3047         * UserInterface/Views/SearchSidebarPanel.js:
3048         (WebInspector.SearchSidebarPanel.prototype.closed):
3049         * UserInterface/Views/StorageSidebarPanel.js:
3050         (WebInspector.StorageSidebarPanel.prototype.closed):
3051         * UserInterface/Views/TimelineSidebarPanel.js:
3052         (WebInspector.TimelineSidebarPanel.prototype.closed):
3053
3054 2015-05-10  Nikita Vasilyev  <nvasilyev@apple.com>
3055
3056         Web Inspector: In the console, show function name next to the source link
3057         https://bugs.webkit.org/show_bug.cgi?id=144372
3058
3059         Introduce CallFrameView to display counsole message source links. It looks like this:
3060
3061             [f] functionName - filename.js:42
3062
3063         Reviewed by Timothy Hatcher.
3064
3065         * UserInterface/Base/Main.js:
3066         (WebInspector.createSourceCodeLocationLink):
3067         (WebInspector.linkifyLocation):
3068         (.showSourceCodeLocation):
3069         (WebInspector.linkifyElement):
3070         Abstract this out as it's used in WebInspector.CallFrameView and WebInspector.createSourceCodeLocationLink.
3071
3072         (WebInspector.sourceCodeForURL):
3073         Move this code from Timeline to Main.js as it's used by Console too.
3074
3075         (WebInspector.linkifyURLAsNode):
3076         Remove tooltipText argument as it is never used.
3077
3078         * UserInterface/Controllers/TimelineManager.js:
3079         (WebInspector.TimelineManager.prototype._callFramesFromPayload):
3080         * UserInterface/Main.html:
3081         * UserInterface/Models/CallFrame.js:
3082         (WebInspector.CallFrame.fromPayload):
3083         Abstract this out as it's used in WebInspector.TimelineManager.prototype._callFramesFromPayload and
3084         WebInspector.ConsoleMessageView._appendLocationLink.
3085
3086         (WebInspector.CallFrame):
3087         * UserInterface/Views/CallFrameTreeElement.js:
3088         (WebInspector.CallFrameTreeElement):
3089         Move it to WebInspector.CallFrameView.iconForCallFrame.
3090
3091         * UserInterface/Views/CallFrameView.css: Added.
3092         (.call-frame):
3093         (.call-frame .icon):
3094         (.call-frame .titles):
3095         (.call-frame .title):
3096         (.call-frame .source-link):
3097         (.call-frame .title + .subtitle > .source-link):
3098         (.call-frame .subtitle .source-link):
3099         (.call-frame:focus .subtitle .source-link):
3100         (.call-frame .subtitle:empty):
3101         (.call-frame .subtitle):
3102         (.call-frame .colon):
3103         (.call-frame .title + .subtitle::before):
3104         * UserInterface/Views/CallFrameView.js: Added.
3105         (WebInspector.CallFrameView):
3106         (WebInspector.CallFrameView.iconClassNameForCallFrame):
3107         * UserInterface/Views/ConsoleMessageView.css:
3108         (.console-message .console-message-location):
3109         (.console-message .call-frame):
3110         (.console-message .go-to-link):
3111         (.console-message .go-to-link:focus):
3112         (.console-message .console-message-url::before):
3113         (.console-saved-variable): Deleted.
3114         * UserInterface/Views/ConsoleMessageView.js:
3115         (WebInspector.ConsoleMessageView.prototype._appendLocationLink):
3116         * UserInterface/Views/DebuggerDashboardView.js:
3117         * UserInterface/Views/Main.css:
3118         (.hidden): Deleted.
3119         * UserInterface/Views/ProfileNodeTreeElement.js:
3120         (WebInspector.ProfileNodeTreeElement):
3121         * UserInterface/Views/TimelineDataGridNode.js:
3122         (WebInspector.TimelineDataGridNode.prototype.createCellContent):
3123
3124 2015-05-08  Tobias Reiss  <tobi+webkit@basecode.de>
3125
3126         Web Inspector: Styles sidebar editing with incomplete property looks poor in UI
3127         https://bugs.webkit.org/show_bug.cgi?id=141692
3128
3129         Reviewed by Timothy Hatcher.
3130
3131         Add "css-rule" Formatter that breaks CSS declarations into multiple lines,
3132         keeps comments and invalid styles and adds whitespace.
3133
3134         * Tools/PrettyPrinting/css-rule-tests/*.css: Added.
3135         Add test cases.
3136
3137         * Tools/PrettyPrinting/index.html:
3138         Enable Test setup to be able to run "css-rule" Formatter tests.
3139
3140         * UserInterface/Controllers/Formatter.js:
3141         (Formatter.prototype._handleToken):
3142         * UserInterface/Controllers/FormatterContentBuilder.js:
3143         (FormatterContentBuilder.prototype.removeLastNewline):
3144         (FormatterContentBuilder.prototype.removeLastWhitespace):
3145         (FormatterContentBuilder.prototype._popFormattedContent):
3146         (FormatterContentBuilder.prototype._popNewLine): Deleted.
3147         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
3148         (WebInspector.CSSStyleDeclarationTextEditor.prototype._formattedContentFromEditor):
3149         (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update.set this):
3150         (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update.get this):
3151         (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update):
3152         (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent):
3153         (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update.countNewLineCharacters): Deleted.
3154         (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update.else): Deleted.
3155         * UserInterface/Views/CodeMirrorFormatters.js:
3156
3157 2015-05-07  Joseph Pecoraro  <pecoraro@apple.com>
3158
3159         Web Inspector: Expanding Object with only __proto__ looks poor should have a label
3160         https://bugs.webkit.org/show_bug.cgi?id=144755
3161
3162         Reviewed by Timothy Hatcher.
3163
3164         Better handle cases where expanding an object has only a __proto__
3165         and no other properties.
3166
3167         * UserInterface/Views/ObjectTreePropertyTreeElement.js:
3168         (WebInspector.ObjectTreePropertyTreeElement.mode.prototype.this.children.length):
3169         (WebInspector.ObjectTreePropertyTreeElement):
3170         * UserInterface/Views/ObjectTreeView.css:
3171         (.object-tree-outline li .empty-message):
3172         * UserInterface/Views/ObjectTreeView.js:
3173         (WebInspector.ObjectTreeView.createEmptyMessageElement):
3174         (WebInspector.ObjectTreeView.comparePropertyDescriptors):
3175         (WebInspector.ObjectTreeView.prototype._updateProperties):
3176
3177 2015-05-07  Joseph Pecoraro  <pecoraro@apple.com>
3178
3179         Web Inspector: Fix querySelector in ResourceContentView.js, caught by assertion
3180         https://bugs.webkit.org/show_bug.cgi?id=144756
3181
3182         Reviewed by Timothy Hatcher.
3183
3184         * UserInterface/Views/ResourceContentView.js:
3185         (WebInspector.ResourceContentView.prototype._hasContent):
3186         Ensure querySelector call is using the class name correctly.
3187
3188 2015-05-06  Joseph Pecoraro  <pecoraro@apple.com>
3189
3190         Web Inspector: Docking Toolbar Buttons do not respect Docking Availability
3191         https://bugs.webkit.org/show_bug.cgi?id=144714
3192
3193         Reviewed by Timothy Hatcher.
3194
3195         * UserInterface/Base/Main.js:
3196         (WebInspector.contentLoaded):
3197         (WebInspector.updateDockingAvailability):
3198         (WebInspector._updateDockNavigationItems):
3199         Update the Toolbar UI based on docking availability.
3200         Assume docking is unavailable by default.
3201
3202         * UserInterface/Protocol/InspectorFrontendAPI.js:
3203         (InspectorFrontendAPI.setDockingUnavailable):
3204         Add back this API as the backend may be calling it when
3205         docking availability changes. This just calls out to
3206         global WebInspector functions to update the Toolbar UI.
3207
3208         * UserInterface/Base/Test.js:
3209         (WebInspector.updateDockedState):
3210         (WebInspector.updateDockingAvailability):
3211         Do nothing in tests.
3212
3213 2015-05-06  Matt Baker  <mattbaker@apple.com>
3214
3215         Web Inspector: The text in the left pane overlaps the "Filter Time Events" field in the Timeline after the Web Inspector is resized
3216         https://bugs.webkit.org/show_bug.cgi?id=144720
3217
3218         Reviewed by Timothy Hatcher.
3219
3220         * UserInterface/Views/FilterBar.css:
3221         (.filter-bar):
3222         (.filter-bar > .navigation-bar):
3223         (.filter-bar > input[type="search"]):
3224         (.filter-bar > .navigation-bar > .item): Deleted.
3225         Filter bar now has opaque background and height updated to the ubiquitous 29px.
3226
3227 2015-05-06  Joseph Pecoraro  <pecoraro@apple.com>
3228
3229         Web Inspector: DOMStorage exception and issue with sessionStorage
3230         https://bugs.webkit.org/show_bug.cgi?id=144646
3231
3232         Reviewed by Timothy Hatcher.
3233
3234         * UserInterface/Views/DOMStorageContentView.js:
3235         (WebInspector.DOMStorageContentView):
3236         (WebInspector.DOMStorageContentView.prototype._populate):
3237         (WebInspector.DOMStorageContentView.prototype.reset): Deleted.
3238         Always have the datagrid be available with a default sort.
3239
3240         (WebInspector.DOMStorageContentView.prototype._sortDataGrid.comparator):
3241         (WebInspector.DOMStorageContentView.prototype._sortDataGrid):
3242         Simplify and correct the order.
3243
3244         (WebInspector.DOMStorageContentView.prototype.cleanup):
3245         Cleanup some uses of delete.
3246
3247         * UserInterface/Views/DataGrid.js:
3248         (WebInspector.DataGrid.prototype.sortNodesImmediately):
3249         Provide a way to sort immediately without a visible delay.
3250
3251         (WebInspector.DataGrid.prototype._sortNodesCallback):
3252         Cleanup some dead code to simplify sorting.
3253
3254         (WebInspector.DataGridNode.prototype._attach):
3255         When sorting, the children list does not match the child node list,
3256         so ensure that placeholder nodes are added to the end.
3257
3258         (WebInspector.PlaceholderDataGridNode.prototype.makeNormal):
3259         Cleanup some uses of delete.
3260
3261 2015-05-06  Joseph Pecoraro  <pecoraro@apple.com>
3262
3263         Web Inspector: SourceCodeTextEditor shows "undefined" instead of resource content when pausing during resource load
3264         https://bugs.webkit.org/show_bug.cgi?id=144662
3265
3266         Reviewed by Timothy Hatcher.
3267
3268         * UserInterface/Protocol/InspectorBackend.js:
3269         (InspectorBackend.Command.prototype.promise):
3270         Start standardizing on rejecting Promises with Error objects.
3271
3272         * UserInterface/Views/ResourceContentView.js:
3273         (WebInspector.ResourceContentView):
3274         (WebInspector.ResourceContentView.prototype._protocolError):
3275         When there is a protocol error, show a nice UI string for the error.
3276
3277         (WebInspector.ResourceContentView.prototype._contentAvailable):
3278         (WebInspector.ResourceContentView.prototype._contentError):
3279         (WebInspector.ResourceContentView.prototype._hasContent):
3280         Whenever we hit an error case in ResourceContentView, check to make sure
3281         that a subclass hasn't already populated the content view with content.
3282         This can happen when a TextResourceContentView populates a Resource with
3283         Script content while paused, because the Resource content would be
3284         unavailable. We check that content has loaded by checking that the
3285         indeterminate spinner is no longer showing.
3286
3287 2015-05-05  Andres Gomez  <agomez@igalia.com>
3288
3289         [GTK] Web Inspector: Further optimize SVG images
3290         https://bugs.webkit.org/show_bug.cgi?id=144441
3291
3292         SVG images optimized with a combination of sed replacements, the
3293         usage of the scour tool (http://www.codedread.com/scour/) and a
3294         forked version of the svgo tool (https://github.com/tanty/svgo).
3295
3296         Also, added the class attribute to the shape elements following
3297         the convention used in Apple's images.
3298
3299         Reviewed by Joseph Pecoraro.
3300
3301         * UserInterface/Images/gtk/BackArrow.svg: Optimized.
3302         * UserInterface/Images/gtk/BreakpointActionAdd.svg: Optimized.
3303         * UserInterface/Images/gtk/BreakpointActionRemove.svg: Optimized.
3304         * UserInterface/Images/gtk/BreakpointButton.svg: Optimized.
3305         * UserInterface/Images/gtk/BreakpointInactiveButton.svg: Optimized.
3306         * UserInterface/Images/gtk/Breakpoints.svg: Optimized.
3307         * UserInterface/Images/gtk/Checkers.svg: Optimized.
3308         * UserInterface/Images/gtk/Circle.svg: Optimized.
3309         * UserInterface/Images/gtk/Close.svg: Optimized.
3310         * UserInterface/Images/gtk/CloseLarge.svg: Optimized.
3311         * UserInterface/Images/gtk/CloseWhite.svg: Optimized.
3312         * UserInterface/Images/gtk/ContentFlow.svg: Optimized.
3313         * UserInterface/Images/gtk/Crosshair.svg: Optimized.
3314         * UserInterface/Images/gtk/DOMCharacterData.svg: Optimized.
3315         * UserInterface/Images/gtk/DOMComment.svg: Optimized.
3316         * UserInterface/Images/gtk/DOMDocument.svg: Optimized.
3317         * UserInterface/Images/gtk/DOMDocumentType.svg: Optimized.
3318         * UserInterface/Images/gtk/DOMElement.svg: Optimized.
3319         * UserInterface/Images/gtk/DOMNode.svg: Optimized.
3320         * UserInterface/Images/gtk/DOMTextNode.svg: Optimized.
3321         * UserInterface/Images/gtk/DisclosureTriangleSmallClosed.svg: Optimized.
3322         * UserInterface/Images/gtk/DisclosureTriangleSmallOpen.svg: Optimized.
3323         * UserInterface/Images/gtk/DisclosureTriangleTinyClosed.svg: Optimized.
3324         * UserInterface/Images/gtk/DisclosureTriangleTinyOpen.svg: Optimized.
3325         * UserInterface/Images/gtk/DockBottom.svg: Optimized.
3326         * UserInterface/Images/gtk/DockRight.svg: Optimized.
3327         * UserInterface/Images/gtk/DownloadArrow.svg: Optimized.
3328         * UserInterface/Images/gtk/Error.svg: Optimized.
3329         * UserInterface/Images/gtk/Errors.svg: Optimized.
3330         * UserInterface/Images/gtk/ErrorsEnabled.svg: Optimized.
3331         * UserInterface/Images/gtk/EventListener.svg: Optimized.
3332         * UserInterface/Images/gtk/Exception.svg: Optimized.
3333         * UserInterface/Images/gtk/Eye.svg: Optimized.
3334         * UserInterface/Images/gtk/FilterFieldGlyph.svg: Optimized.
3335         * UserInterface/Images/gtk/ForwardArrow.svg: Optimized.
3336         * UserInterface/Images/gtk/Function.svg: Optimized.
3337         * UserInterface/Images/gtk/GoToArrow.svg: Optimized.
3338         * UserInterface/Images/gtk/HierarchicalNavigationItemChevron.svg: Optimized.
3339         * UserInterface/Images/gtk/IndeterminateProgressSpinner1.svg: Optimized.
3340         * UserInterface/Images/gtk/IndeterminateProgressSpinner10.svg: Optimized.
3341         * UserInterface/Images/gtk/IndeterminateProgressSpinner11.svg: Optimized.
3342         * UserInterface/Images/gtk/IndeterminateProgressSpinner12.svg: Optimized.
3343         * UserInterface/Images/gtk/IndeterminateProgressSpinner2.svg: Optimized.
3344         * UserInterface/Images/gtk/IndeterminateProgressSpinner3.svg: Optimized.
3345         * UserInterface/Images/gtk/IndeterminateProgressSpinner4.svg: Optimized.
3346         * UserInterface/Images/gtk/IndeterminateProgressSpinner5.svg: Optimized.
3347         * UserInterface/Images/gtk/IndeterminateProgressSpinner6.svg: Optimized.
3348         * UserInterface/Images/gtk/IndeterminateProgressSpinner7.svg: Optimized.
3349         * UserInterface/Images/gtk/IndeterminateProgressSpinner8.svg: Optimized.
3350         * UserInterface/Images/gtk/IndeterminateProgressSpinner9.svg: Optimized.
3351         * UserInterface/Images/gtk/Issues.svg: Optimized.
3352         * UserInterface/Images/gtk/IssuesEnabled.svg: Optimized.
3353         * UserInterface/Images/gtk/LayerBorders.svg: Optimized.
3354         * UserInterface/Images/gtk/Locked.svg: Optimized.
3355         * UserInterface/Images/gtk/Logs.svg: Optimized.
3356         * UserInterface/Images/gtk/Native.svg: Optimized.
3357         * UserInterface/Images/gtk/NavigationItemCurleyBraces.svg: Optimized.
3358         * UserInterface/Images/gtk/NavigationItemTrash.svg: Optimized.
3359         * UserInterface/Images/gtk/NavigationItemTypes.svg: Optimized.
3360         * UserInterface/Images/gtk/PaintFlashing.svg: Optimized.
3361         * UserInterface/Images/gtk/Pause.svg: Optimized.
3362         * UserInterface/Images/gtk/PausedBreakpoint.svg: Optimized.
3363         * UserInterface/Images/gtk/Pencil.svg: Optimized.
3364         * UserInterface/Images/gtk/Plus.svg: Optimized. Text element
3365         converted into a shape.
3366         * UserInterface/Images/gtk/PseudoElement.svg: Optimized.
3367         * UserInterface/Images/gtk/Record.svg: Optimized.
3368         * UserInterface/Images/gtk/Reflection.svg: Optimized.
3369         * UserInterface/Images/gtk/ReloadFull.svg: Optimized.
3370         * UserInterface/Images/gtk/ReplayPauseButton.svg: Optimized.
3371         * UserInterface/Images/gtk/ReplayPlayButton.svg: Optimized.
3372         * UserInterface/Images/gtk/ReplayRecordingButton.svg: Optimized.
3373         * UserInterface/Images/gtk/Request.svg: Optimized.
3374         * UserInterface/Images/gtk/Resources.svg: Optimized.
3375         * UserInterface/Images/gtk/Response.svg: Optimized.
3376         * UserInterface/Images/gtk/ResultLine.svg: Optimized.
3377         * UserInterface/Images/gtk/Resume.svg: Optimized.
3378         * UserInterface/Images/gtk/ShadowDOM.svg: Optimized.
3379         * UserInterface/Images/gtk/SortIndicatorDownArrow.svg: Optimized.
3380         * UserInterface/Images/gtk/SortIndicatorUpArrow.svg: Optimized.
3381         * UserInterface/Images/gtk/SplitToggleUp.svg: Optimized.
3382         * UserInterface/Images/gtk/StepInto.svg: Optimized.
3383         * UserInterface/Images/gtk/StepOut.svg: Optimized.
3384         * UserInterface/Images/gtk/StepOver.svg: Optimized.
3385         * UserInterface/Images/gtk/Stop.svg: Optimized.
3386         * UserInterface/Images/gtk/StyleRuleAuthor.svg: Optimized.
3387         * UserInterface/Images/gtk/StyleRuleInherited.svg: Optimized.
3388         * UserInterface/Images/gtk/StyleRuleInheritedElement.svg: Optimized.
3389         * UserInterface/Images/gtk/StyleRuleInspector.svg: Optimized.
3390         * UserInterface/Images/gtk/StyleRuleUser.svg: Optimized.
3391         * UserInterface/Images/gtk/StyleRuleUserAgent.svg: Optimized.
3392         * UserInterface/Images/gtk/TimelineRecordAnimation.svg: Optimized.
3393         * UserInterface/Images/gtk/TimelineRecordConsoleProfile.svg: Optimized.
3394         * UserInterface/Images/gtk/TimelineRecordEvent.svg: Optimized.
3395         * UserInterface/Images/gtk/TimelineRecordLayout.svg: Optimized.
3396         * UserInterface/Images/gtk/TimelineRecordPaint.svg: Optimized.
3397         * UserInterface/Images/gtk/TimelineRecordProbeSampled.svg: Optimized.
3398         * UserInterface/Images/gtk/TimelineRecordScriptEvaluated.svg: Optimized.
3399         * UserInterface/Images/gtk/TimelineRecordStyle.svg: Optimized.
3400         * UserInterface/Images/gtk/TimelineRecordTimer.svg: Optimized.
3401         * UserInterface/Images/gtk/TypeBoolean.svg: Optimized.
3402         * UserInterface/Images/gtk/TypeNull.svg: Optimized.
3403         * UserInterface/Images/gtk/TypeNumber.svg: Optimized.
3404         * UserInterface/Images/gtk/TypeObject.svg: Optimized.
3405         * UserInterface/Images/gtk/TypeRegex.svg: Optimized. Removed
3406         mistaken extra shape.
3407         * UserInterface/Images/gtk/TypeString.svg: Optimized.
3408         * UserInterface/Images/gtk/TypeSymbol.svg: Optimized. Removed
3409         mistaken extra shape.
3410         * UserInterface/Images/gtk/TypeUndefined.svg: Optimized.
3411         * UserInterface/Images/gtk/Undock.svg: Optimized.
3412         * UserInterface/Images/gtk/UpDownArrows.svg: Optimized.
3413         * UserInterface/Images/gtk/UserInputPrompt.svg: Optimized.
3414         * UserInterface/Images/gtk/UserInputPromptPrevious.svg: Optimized.
3415         * UserInterface/Images/gtk/UserInputResult.svg: Optimized.
3416         * UserInterface/Images/gtk/Warning.svg: Optimized.
3417
3418 2015-05-05  Timothy Hatcher  <timothy@apple.com>
3419
3420         REGRESSION: Web Inspector: no way to navigate to a resource/source location from overview timeline view
3421         https://bugs.webkit.org/show_bug.cgi?id=144539
3422
3423         Reviewed by Brian Burg.
3424
3425         * UserInterface/Views/GeneralTreeElement.js:
3426         (WebInspector.GeneralTreeElement.prototype.set status): Call didChange() so the onchange event fires. This allows
3427         TimelineSidebarPanel to update the status element when it goes from a spinner to empty for ResourceTreeElements.
3428         (WebInspector.GeneralTreeElement.prototype.onattach): Don't call _updateStatusElement, just append it if needed.
3429         Calling _updateStatusElement caused DOMNodeFragments as status elements to be appended a second time and fail.
3430         * UserInterface/Views/NavigationSidebarPanel.js:
3431         (WebInspector.NavigationSidebarPanel.prototype.treeElementAddedOrChanged):
3432         (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
3433         * UserInterface/Views/NetworkTimelineView.js:
3434         (WebInspector.NetworkTimelineView.prototype.canShowContentViewForTreeElement):
3435         (WebInspector.NetworkTimelineView.prototype.showContentViewForTreeElement):
3436         (WebInspector.NetworkTimelineView.prototype.treeElementSelected):
3437         (WebInspector.NetworkTimelineView.prototype._dataGridNodeSelected):
3438         (WebInspector.NetworkTimelineView.prototype._updateTreeElementWithCloseButton): Deleted.
3439         (WebInspector.NetworkTimelineView.prototype._closeStatusButtonClicked): Deleted.
3440         * UserInterface/Views/OverviewTimelineView.js:
3441         (WebInspector.OverviewTimelineView.prototype.canShowContentViewForTreeElement):
3442         (WebInspector.OverviewTimelineView.prototype.showContentViewForTreeElement):
3443         (WebInspector.OverviewTimelineView.prototype._dataGridNodeSelected):
3444         (WebInspector.OverviewTimelineView.prototype._treeElementDeselected): Deleted.
3445         (WebInspector.OverviewTimelineView.prototype._treeElementSelected): Deleted.
3446         (WebInspector.OverviewTimelineView.prototype._updateTreeElementWithCloseButton): Deleted.
3447         (WebInspector.OverviewTimelineView.prototype._closeStatusButtonClicked): Deleted.
3448         * UserInterface/Views/RenderingFrameTimelineView.js:
3449         (WebInspector.RenderingFrameTimelineView.prototype.canShowContentViewForTreeElement):
3450         (WebInspector.RenderingFrameTimelineView.prototype.showContentViewForTreeElement):
3451         * UserInterface/Views/ResourceTimelineDataGridNode.js:
3452         (WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent): Don't show a go-to arrow in the Domain column.
3453         (WebInspector.ResourceTimelineDataGridNode.prototype._goToResource): Deleted.
3454         * UserInterface/Views/ScriptTimelineView.js:
3455         (WebInspector.ScriptTimelineView.prototype.canShowContentViewForTreeElement):
3456         (WebInspector.ScriptTimelineView.prototype.showContentViewForTreeElement):
3457         (WebInspector.ScriptTimelineView.prototype.treeElementSelected):
3458         * UserInterface/Views/TimelineRecordTreeElement.js:
3459         (WebInspector.TimelineRecordTreeElement.prototype.get sourceCodeLocation):
3460         * UserInterface/Views/TimelineSidebarPanel.css:
3461         (.sidebar > .panel.navigation.timeline .item:hover:not(.selected) .status .close.status-button):
3462         (.sidebar > .panel.navigation.timeline:not(.timeline-recording-content-view-showing) .status .go-to-arrow.status-button):
3463         (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .status .close.status-button):
3464         * UserInterface/Views/TimelineSidebarPanel.js:
3465         (WebInspector.TimelineSidebarPanel.prototype.treeElementAddedOrChanged): Added.
3466         (WebInspector.TimelineSidebarPanel.prototype.canShowDifferentContentView):
3467         (WebInspector.TimelineSidebarPanel.prototype._treeElementGoToArrowWasClicked): Added.
3468         (WebInspector.TimelineSidebarPanel.prototype._treeElementCloseButtonClicked): Added.
3469         * UserInterface/Views/TimelineView.js:
3470         (WebInspector.TimelineView):
3471         (WebInspector.TimelineView.prototype.canShowContentViewForTreeElement):
3472         (WebInspector.TimelineView.prototype.showContentViewForTreeElement):
3473         (WebInspector.TimelineView.prototype.treeElementDeselected):
3474         (WebInspector.TimelineView.prototype.treeElementSelected):
3475         (WebInspector.TimelineView.prototype.needsLayout):
3476         (WebInspector.TimelineView.prototype._closeStatusButtonClicked): Deleted.
3477         (WebInspector.TimelineView.prototype._updateTreeElementWithCloseButton): Deleted.
3478         * UserInterface/Views/TreeElementStatusButton.css:
3479         (.item > .status > .status-button): Fix an alignment issue with close and go-to arrows being side-by-side.
3480         Does not happen in the final patch because they are mutually exclusive, but still good to fix.
3481
3482 2015-05-05  Timothy Hatcher  <timothy@apple.com>
3483
3484         Web Inspector: Fix some issues with Search tabs
3485         https://bugs.webkit.org/show_bug.cgi?id=144531
3486
3487         Reviewed by Darin Adler.
3488
3489         * UserInterface/Views/ContentView.js:
3490         (WebInspector.ContentView):
3491         (WebInspector.ContentView.isViewable):
3492         Support DOMSearchMatchObject and SourceCodeSearchMatchObject representedObjects. These are usually
3493         handled at a higher level, but cookie restoring requires ContentView to handle them.
3494
3495         * UserInterface/Views/DOMTreeContentView.js:
3496         (WebInspector.DOMTreeContentView):
3497         (WebInspector.DOMTreeContentView.prototype.selectAndRevealDOMNode):
3498         (WebInspector.DOMTreeContentView.prototype.selectLastSelectedNode):
3499         (WebInspector.DOMTreeContentView.prototype._restoreSelectedNodeAfterUpdate):
3500         Don't allow restoring the previous selected node when another not has already been selected.
3501
3502         * UserInterface/Views/SearchTabContentView.js:
3503         (WebInspector.SearchTabContentView.prototype.canShowRepresentedObject):
3504         Allow Script objects to be shown in the Search tab.
3505
3506 2015-05-05  Timothy Hatcher  <timothy@apple.com>
3507
3508         Web Inspector: Source/WebInspectorUI/UserInterface/Images/Logs.svg has unknown attribute "fille"
3509         https://bugs.webkit.org/show_bug.cgi?id=144627
3510
3511         Reviewed by Darin Adler.
3512
3513         * UserInterface/Images/Logs.svg: Change "fille" to "fill".
3514
3515 2015-05-05  Andres Gomez  <agomez@igalia.com>
3516
3517         [GTK] Web Inspector: New Images added in r183339, r183338, r183332, r183323, r182660, and r182186
3518         https://bugs.webkit.org/show_bug.cgi?id=144329
3519
3520         Reviewed by Joseph Pecoraro.
3521
3522         * UserInterface/Images/gtk/Console.svg: Added.
3523         * UserInterface/Images/gtk/Debugger.svg: Added.
3524         * UserInterface/Images/gtk/Elements.svg: Added.
3525         * UserInterface/Images/gtk/Gear.svg: Added.
3526         * UserInterface/Images/gtk/NewTab.svg: Added.
3527         * UserInterface/Images/gtk/NewTabPlus.svg: Added.
3528         * UserInterface/Images/gtk/ReloadToolbar.svg: Added.
3529         * UserInterface/Images/gtk/SearchResults.svg: Added.
3530         * UserInterface/Images/gtk/Storage.svg: Added.
3531         * UserInterface/Images/gtk/Timeline.svg: Added.
3532         * UserInterface/Images/gtk/TimelineRecordRenderingFrame.svg: Added.
3533         * UserInterface/Images/gtk/ToggleLeftSidebar.svg: Added.
3534         * UserInterface/Images/gtk/ToggleRightSidebar.svg: Added.
3535
3536 2015-05-05  Andres Gomez  <agomez@igalia.com>
3537
3538         [GTK] Web Inspector: icons for console.info() messages
3539         https://bugs.webkit.org/show_bug.cgi?id=144461
3540
3541         Reviewed by Joseph Pecoraro.
3542
3543         * UserInterface/Images/gtk/Debug.svg: Added.
3544         * UserInterface/Images/gtk/Info.svg: Added.
3545         * UserInterface/Images/gtk/Log.svg: Added.
3546
3547 2015-05-04  Joseph Pecoraro  <pecoraro@apple.com>
3548
3549         Web Inspector: Always expand initial top level DOM tree nodes when not including the root (frame views)
3550         https://bugs.webkit.org/show_bug.cgi?id=144607
3551
3552         Reviewed by Timothy Hatcher.
3553
3554         * UserInterface/Views/DOMTreeOutline.js:
3555         (WebInspector.DOMTreeOutline.prototype.update):
3556
3557 2015-05-04  Timothy Hatcher  <timothy@apple.com>
3558
3559         Web Inspector: Allow closing and reopening the Debugger tab
3560         https://bugs.webkit.org/show_bug.cgi?id=144536
3561
3562         Reviewed by Joseph Pecoraro.
3563
3564         * UserInterface/Base/Main.js:
3565         (WebInspector._updateNewTabButtonState):
3566         * UserInterface/Views/DebuggerSidebarPanel.js:
3567         (WebInspector.DebuggerSidebarPanel):
3568         (WebInspector.DebuggerSidebarPanel.prototype.closed):
3569         (WebInspector.DebuggerSidebarPanel.prototype._addIssuesForSourceCode):
3570         (WebInspector.DebuggerSidebarPanel.prototype._addResourcesRecursivelyForFrame):
3571         (WebInspector.DebuggerSidebarPanel.prototype._resourceAdded):
3572         (WebInspector.DebuggerSidebarPanel.prototype._addResource):
3573         (WebInspector.DebuggerSidebarPanel.prototype._mainResourceChanged):
3574         (WebInspector.DebuggerSidebarPanel.prototype._scriptAdded):
3575         (WebInspector.DebuggerSidebarPanel.prototype._addScript):
3576         * UserInterface/Views/DebuggerTabContentView.js:
3577         (WebInspector.DebuggerTabContentView):
3578         * UserInterface/Views/NewTabContentView.js:
3579         (WebInspector.NewTabContentView):
3580
3581 2015-05-04  Timothy Hatcher  <timothy@apple.com>
3582
3583         REGRESSION: Web Inspector: FrameTreeElement does not folders properly when loading a page
3584         https://bugs.webkit.org/show_bug.cgi?id=144535
3585
3586         Reviewed by Joseph Pecoraro.
3587
3588         * UserInterface/Views/FolderizedTreeElement.js:
3589         (WebInspector.FolderizedTreeElement.prototype.addChildForRepresentedObject): Fix an exception if not in a tree.
3590         (WebInspector.FolderizedTreeElement.prototype.prepareToPopulate):
3591         (WebInspector.FolderizedTreeElement.prototype._populateFromNewChildQueue):
3592
3593 2015-05-04  Timothy Hatcher  <timothy@apple.com>
3594
3595         Web Inspector: Allow closing and reopening the Timelines tab
3596         https://bugs.webkit.org/show_bug.cgi?id=144520
3597
3598         Reviewed by Joseph Pecoraro.
3599
3600         * UserInterface/Base/Main.js:
3601         (WebInspector._updateNewTabButtonState):
3602         * UserInterface/Controllers/TimelineManager.js:
3603         (WebInspector.TimelineManager): No need for a delay now. Call reset().
3604         (WebInspector.TimelineManager.prototype.reset):
3605         (WebInspector.TimelineManager.delayedWork): Deleted.
3606         * UserInterface/Views/ContentBrowserTabContentView.js:
3607         (WebInspector.ContentBrowserTabContentView):
3608         (WebInspector.ContentBrowserTabContentView.prototype.closed):
3609         * UserInterface/Views/LayoutTimelineView.js:
3610         (WebInspector.LayoutTimelineView.prototype.closed): Added. Fixed leak.
3611         * UserInterface/Views/NetworkTimelineView.js:
3612         (WebInspector.NetworkTimelineView.prototype.closed): Added. Fixed leak.
3613         * UserInterface/Views/NewTabContentView.js:
3614         (WebInspector.NewTabContentView): Added Timelines.
3615         * UserInterface/Views/OverviewTimelineView.js:
3616         (WebInspector.OverviewTimelineView.prototype.closed): Added. Fixed leak.
3617         * UserInterface/Views/RenderingFrameTimelineView.js:
3618         (WebInspector.RenderingFrameTimelineView.prototype.closed): Added. Fixed leak.
3619         * UserInterface/Views/ScriptTimelineView.js:
3620         (WebInspector.ScriptTimelineView.prototype.closed):
3621         * UserInterface/Views/SearchTabContentView.js:
3622         (WebInspector.SearchTabContentView.prototype.closed): Deleted. Made generic
3623         in ContentBrowserTabContentView.prototype.closed.
3624         * UserInterface/Views/TabBrowser.js:
3625         (WebInspector.TabBrowser.prototype._tabBarItemSelected): Fix a potential exception
3626         when selectedTabBarItem is null.
3627         * UserInterface/Views/TimelineSidebarPanel.js:
3628         (WebInspector.TimelineSidebarPanel):
3629         (WebInspector.TimelineSidebarPanel.prototype.closed):
3630         (WebInspector.TimelineSidebarPanel._recordingCreated): Call _addRecording.
3631         (WebInspector.TimelineSidebarPanel._addRecording): Added.
3632         * UserInterface/Views/TimelineTabContentView.js:
3633         (WebInspector.TimelineTabContentView):
3634
3635 2015-05-04  Timothy Hatcher  <timothy@apple.com>
3636
3637         Web Inspector: Switching recordings in the Timeline navigation bar is broken
3638         https://bugs.webkit.org/show_bug.cgi?id=144519
3639
3640         Reviewed by Joseph Pecoraro.
3641
3642         * UserInterface/Views/ContentBrowser.js:
3643         (WebInspector.ContentBrowser.prototype._hierarchicalPathComponentWasSelected): Use revealAndSelect
3644         on the TreeElement instead of showing the representedObject directly. This fixes an exception in
3645         TimelineRecordingContentView where it wouldn't be initialized with the TimelineSidebarPanel extra argument.
3646         * UserInterface/Views/TimelineOverview.js:
3647         (WebInspector.TimelineOverview.prototype.get visibleDuration): Fix an annoying assert. We show the view
3648         early in construction, before it is in the document. Future updateLayout calls work and fix this.
3649         * UserInterface/Views/TimelineRecordingContentView.js:
3650         (WebInspector.TimelineRecordingContentView.prototype.shown): Call _currentContentViewDidChange
3651         to trigger the sidebar to update when this recording view is shown.
3652         * UserInterface/Views/TimelineSidebarPanel.js:
3653         (WebInspector.TimelineSidebarPanel.prototype._recordingsTreeElementSelected): Moved code from here...
3654         (WebInspector.TimelineSidebarPanel.prototype._recordingSelected): ... to here. Take two different paths
3655         to state restoration here. If the view existed before, use its state. If now, use the current state that
3656         is captured by the cookie logic and explicitly restore it.
3657
3658 2015-05-03  Timothy Hatcher  <timothy@apple.com>
3659
3660         Web Inspector: Exception under ContentViewContainer _disassociateFromContentView
3661         https://bugs.webkit.org/show_bug.cgi?id=144546
3662
3663         Reviewed by Brian Burg.
3664
3665         * UserInterface/Views/ContentViewContainer.js:
3666         (WebInspector.ContentViewContainer.prototype.showContentView):
3667         Make sure to pass the ContentView to _disassociateFromContentView. Also negate the result
3668         of the _backForwardList.some(), since we don't want to dissociate if the content view is
3669         still in the back-forward list.
3670
3671 2015-05-02  Matt Baker  <mattbaker@apple.com>
3672
3673         Web Inspector: Relocate the selected range details in the Rendering Frames timeline UI
3674         https://bugs.webkit.org/show_bug.cgi?id=144346
3675
3676         This patch removes the details sidebar used by the rendering frames view, and relocates the frame selection
3677         chart the Timelines navigation sidebar.
3678
3679         Reviewed by Timothy Hatcher.
3680
3681         * Localizations/en.lproj/localizedStrings.js:
3682         * UserInterface/Base/Main.js:
3683         (WebInspector.contentLoaded):
3684         RenderingFramesDetailsSidebar is no longer used.
3685
3686         * UserInterface/Controllers/TimelineManager.js:
3687         (WebInspector.TimelineManager.prototype._loadNewRecording):
3688         Reordered timelines.
3689
3690         * UserInterface/Main.html:
3691         Removed references to deleted files.
3692
3693         * UserInterface/Views/ChartDetailsSectionLegendRow.js: Removed.
3694         No longer used. The legend is now a child element of the chart.
3695
3696         * UserInterface/Views/ChartDetailsSectionRow.css:
3697         (.details-section > .content > .group > .row.chart > .title):
3698         (.details-section > .content > .group > .row.chart > .chart-content):
3699         (.details-section > .content > .group > .row.chart > .chart-content > .legend):
3700         (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item):
3701         (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .label > .color-swatch):
3702         (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .label):
3703         (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .value):
3704         (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > *):
3705         New chart and legend styles.
3706
3707         * UserInterface/Views/ChartDetailsSectionRow.js:
3708         (WebInspector.ChartDetailsSectionRow):
3709         (WebInspector.ChartDetailsSectionRow.prototype.set title):
3710         (WebInspector.ChartDetailsSectionRow.prototype.set innerLabel):
3711         (WebInspector.ChartDetailsSectionRow.prototype.set innerRadius):
3712         (WebInspector.ChartDetailsSectionRow.prototype.get total):
3713         (WebInspector.ChartDetailsSectionRow.set data):
3714         (WebInspector.ChartDetailsSectionRow.prototype.set data):
3715         (WebInspector.ChartDetailsSectionRow.prototype._createLegendItem):
3716         (WebInspector.ChartDetailsSectionRow.prototype._refresh):
3717
3718         A few changes have been made to the appearance and behavior of the chart. A chart title can now be set,
3719         and the legend appears to the right of the chart rather than in a separate details group.
3720
3721         The chart now has better support for adding empty data points, ensuring that a meaningful legend is shown even
3722         when no rendering frames are selected in the timeline overview graph. This ensures that the task associated
3723         with each colored frame segment is apparent, without having to make a selection or record a timeline.
3724
3725         * UserInterface/Views/RenderingFrameDetailsSidebarPanel.js: Removed.
3726         No longer used.
3727
3728         * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:
3729         Reduced maximum timeline height to increase the height of short frames.
3730
3731         * UserInterface/Views/RenderingFrameTimelineView.js:
3732         (WebInspector.RenderingFrameTimelineView.prototype.shown):
3733         (WebInspector.RenderingFrameTimelineView.prototype.hidden):
3734         RenderingFramesDetailsSidebar is no longer used.
3735
3736         * UserInterface/Views/TimelineRecordingContentView.js:
3737         (WebInspector.TimelineRecordingContentView):
3738         (WebInspector.TimelineRecordingContentView.prototype._updateTimes):
3739         (WebInspector.TimelineRecordingContentView.prototype._updateTimelineOverviewHeight):
3740         (WebInspector.TimelineRecordingContentView.prototype._timelineRemoved):
3741         (WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged):
3742         (WebInspector.TimelineRecordingContentView.prototype._updateFrameSelection):
3743         Improved logic for updating the frame selection.
3744
3745         * UserInterface/Views/TimelineSidebarPanel.css:
3746         (.sidebar > .panel.navigation.timeline > .timelines-content > .details-section > div.header):
3747         (.sidebar > .panel.navigation.timeline > .timelines-content > .details-section > .content > .group > .row.chart):
3748         (.sidebar > .panel.navigation.timeline > .timelines-content > .details-section > .content > .group > .row.chart > .chart-content > .chart):
3749         (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing > .content): Deleted.
3750         New chart styles.
3751
3752         * UserInterface/Views/TimelineSidebarPanel.js:
3753         (WebInspector.TimelineSidebarPanel):
3754         (WebInspector.TimelineSidebarPanel.prototype.shown):
3755         (WebInspector.TimelineSidebarPanel._timelineAdded.set this):
3756         (WebInspector.TimelineSidebarPanel.this._timelineTreeElementMap.get select):
3757         (WebInspector.TimelineSidebarPanel.get else):
3758         (WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart.getSelectedRecords.get var):
3759         (WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart.getSelectedRecords):
3760         (WebInspector.TimelineSidebarPanel.showTimelineViewForTimeline.this._timelineTreeElementMap.get select):
3761         (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.get if.get if):
3762         (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.get if):
3763         (WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart.durationForRecordType):
3764         (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject):
3765         (WebInspector.TimelineSidebarPanel.set contentTreeOutlineLabel): Deleted.
3766         (WebInspector.TimelineSidebarPanel._recordingCreated.set this): Deleted.
3767         (WebInspector.TimelineSidebarPanel.get this): Deleted.
3768         Moved the selected frames chart to the navigation sidebar.
3769
3770         * UserInterface/Views/TimelineTabContentView.js:
3771         (WebInspector.TimelineTabContentView):
3772         RenderingFramesDetailsSidebar is no longer used.
3773
3774         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
3775         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
3776         Removed references to deleted files.
3777
3778 2015-05-02  Timothy Hatcher  <timothy@apple.com>
3779
3780         Web Inspector: Allow closing and reopening the Resources tab
3781         https://bugs.webkit.org/show_bug.cgi?id=144513
3782
3783         Reviewed by Joseph Pecoraro.
3784
3785         * UserInterface/Base/Main.js:
3786         (WebInspector._updateNewTabButtonState):
3787         * UserInterface/Views/NewTabContentView.js:
3788         (WebInspector.NewTabContentView):
3789         * UserInterface/Views/ResourceSidebarPanel.js:
3790         (WebInspector.ResourceSidebarPanel):
3791         (WebInspector.ResourceSidebarPanel.prototype.closed):
3792         * UserInterface/Views/ResourcesTabContentView.js: