Web Inspector: Clicking a frame in the Rendering Frames timeline should select the...
[WebKit-https.git] / Source / WebInspectorUI / ChangeLog
1 2015-07-27  Matt Baker  <mattbaker@apple.com>
2
3         Web Inspector: Clicking a frame in the Rendering Frames timeline should select the corresponding grid row
4         https://bugs.webkit.org/show_bug.cgi?id=147013
5
6         Reviewed by Timothy Hatcher.
7
8         Added ability to select (or highlight) a particular frame by clicking in the overview graph. A tick mark
9         appears above the selected frame inside the ruler, and the frame element's background color changes to a light
10         blue vertical highlight. Frame selection is synced across the timeline view's data grid, overview graph, and
11         navigation bar path components.
12
13         A few behaviors:
14            - Clicking a frame outside the current ruler selection selects the frame.
15            - Clicking the selected frame will deselect it.
16            - Resizing the ruler selection to exclude the selected frame will deselect it.
17
18         * UserInterface/Views/DataGrid.js:
19         (WebInspector.DataGridNode.prototype.select):
20         No need to generate two SelectedNodeChanged events when selecting a node causes
21         the currently selected node to be deselected.
22
23         * UserInterface/Views/LayoutTimelineOverviewGraph.js:
24         (WebInspector.LayoutTimelineOverviewGraph):
25         * UserInterface/Views/NetworkTimelineOverviewGraph.js:
26         (WebInspector.NetworkTimelineOverviewGraph):
27         * UserInterface/Views/ScriptTimelineOverviewGraph.js:
28         (WebInspector.ScriptTimelineOverviewGraph): Set TimelineOverview during construction.
29         Set TimelineOverview during construction.
30
31         * UserInterface/Views/RenderingFrameTimelineOverviewGraph.css:
32         (.timeline-overview-graph.rendering-frame > .frame-marker):
33         (body.window-inactive .timeline-overview-graph.rendering-frame > .frame-marker):
34         Added styles for selected frame marker.
35
36         * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:
37         (WebInspector.RenderingFrameTimelineOverviewGraph):
38         Set TimelineOverview during construction.
39         (WebInspector.RenderingFrameTimelineOverviewGraph.prototype._mouseClicked):
40         Added frame marker element and frame selection via mouse click.
41
42         * UserInterface/Views/RenderingFrameTimelineView.js:
43         (WebInspector.RenderingFrameTimelineView.prototype.treeElementDeselected):
44         Deselect grid node when frame is deselected from the overview graph.
45         (WebInspector.RenderingFrameTimelineView.prototype.filterDidChange): Deleted.
46         Removed unnecessary override.
47
48         * UserInterface/Views/TimelineOverview.js:
49         Added selectRecord method and RecordSelected event.
50         (WebInspector.TimelineOverview):
51         (WebInspector.TimelineOverview.prototype._timelineRulerMouseDown):
52         (WebInspector.TimelineOverview.prototype._timelineRulerMouseClicked):
53         Since timeline ruler specifies pointer-events: all, click events must be forwarded to the
54         underlying overview graph. Click events following changes to the ruler's selection are ignored.
55
56         (WebInspector.TimelineOverview.prototype._timeRangeSelectionChanged):
57         (WebInspector.TimelineOverview.prototype._recordSelected):
58         Forward RecordSelected events from child graphs to clients of the overview.
59
60         * UserInterface/Views/TimelineOverviewGraph.js:
61         Added RecordSelected event.
62         (WebInspector.TimelineOverviewGraph):
63         (WebInspector.TimelineOverviewGraph.prototype.get visible):
64         (WebInspector.TimelineOverviewGraph.prototype.get selectedRecord):
65         (WebInspector.TimelineOverviewGraph.prototype.set selectedRecord):
66         Added property for selecting a record in the graph. Derived graph types can implement record selection
67         and choose how to style the selected record.
68         (WebInspector.TimelineOverviewGraph.prototype.updateLayout):
69         (WebInspector.TimelineOverviewGraph.prototype.needsLayout):
70         Update frame marker during an animation frame.
71         (WebInspector.TimelineOverviewGraph.prototype.dispatchSelectedRecordChangedEvent):
72         Dispatch wrapper to simplify things.
73         (WebInspector.TimelineOverviewGraph.prototype.updateSelectedRecord):
74         (WebInspector.TimelineOverviewGraph.prototype._needsSelectedRecordLayout.update):
75         (WebInspector.TimelineOverviewGraph.prototype._needsSelectedRecordLayout):
76         Inform derived overview graph to optionally style the selected record.
77         (WebInspector.TimelineOverviewGraph.prototype.set timelineOverview): Deleted.
78         No longer needed. TimelineOverview set during construction.
79
80         * UserInterface/Views/TimelineRecordFrame.css:
81         (.timeline-record-frame):
82         (.timeline-record-frame.tall):
83         Limit the "fade out" effect to frames that are >= 95% of the graph height, otherwise the
84         gradient mask is noticeable when selecting a shorter frame.
85         (.timeline-record-frame.selected):
86         (body.window-inactive .timeline-record-frame.selected):
87         (.timeline-record-frame.selected > .frame):
88         Added highlight (and dimmed inactive highlight) for selected frame element.
89
90         * UserInterface/Views/TimelineRecordFrame.js:
91         (WebInspector.TimelineRecordFrame.prototype.get selected):
92         (WebInspector.TimelineRecordFrame.prototype.set selected):
93         Added property for setting selected style.
94
95         * UserInterface/Views/TimelineRecordingContentView.js:
96         (WebInspector.TimelineRecordingContentView):
97         (WebInspector.TimelineRecordingContentView.prototype._contentViewSelectionPathComponentDidChange):
98         Select record in overview in response to changing navigation path.
99         (WebInspector.TimelineRecordingContentView.prototype._recordSelected.get console):
100         (WebInspector.TimelineRecordingContentView.prototype._recordSelected):
101         Update selected tree element in response to changing record selection in the overview graph.
102
103 2015-07-27  Joseph Pecoraro  <pecoraro@apple.com>
104
105         Web Inspector: Revert change to DOMTreeElement.prototype.remove
106         https://bugs.webkit.org/show_bug.cgi?id=147336
107
108         Reviewed by Timothy Hatcher.
109
110         * UserInterface/Views/DOMTreeElement.js:
111         (WebInspector.DOMTreeElement.prototype.remove.removeNodeCallback):
112         This change was accidental, and just resulted in the function calling
113         itself again. It didn't infinite loops because another path would have
114         removed the DOMTreeElement, but lets correct this code.
115
116 2015-07-27  Devin Rousso  <drousso@apple.com>
117
118         Web Inspector: support live editing of rule selectors
119         https://bugs.webkit.org/show_bug.cgi?id=139153
120
121         Reviewed by Timothy Hatcher.
122
123         * UserInterface/Controllers/DOMTreeManager.js:
124         (WebInspector.DOMTreeManager.prototype.highlightSelector):
125         Moved from CSSStyleDeclarationSection.
126
127         * UserInterface/Views/CSSStyleDeclarationSection.js:
128         (WebInspector.CSSStyleDeclarationSection):
129         (WebInspector.CSSStyleDeclarationSection.prototype.get _currentSelectorText):
130         Returns the current selector text, either from the style ownerRule or the selector element text.
131         (WebInspector.CSSStyleDeclarationSection.prototype._highlightNodesWithSelector):
132         Now highlights all nodes matching the current selector instead of the ownerRule's selector.
133         (WebInspector.CSSStyleDeclarationSection.prototype._hideDOMNodeHighlight):
134         (WebInspector.CSSStyleDeclarationSection.prototype._handleMouseOver):
135         (WebInspector.CSSStyleDeclarationSection.prototype._handleMouseOut):
136         (WebInspector.CSSStyleDeclarationSection.prototype._handleKeyDown):
137         If the character is not a tab, highlight all nodes matching the current selector text.
138         (WebInspector.CSSStyleDeclarationSection.prototype._handleKeyUp):
139         (WebInspector.CSSStyleDeclarationSection.prototype._hideHighlightOnNodesWithSelector): Deleted.
140
141 2015-07-27  Nikita Vasilyev  <nvasilyev@apple.com>
142
143         Web Inspector: " = $0" in Elements panel can cause a jerk by pushing nodes below it
144         https://bugs.webkit.org/show_bug.cgi?id=147318
145
146         Reviewed by Timothy Hatcher.
147
148         * UserInterface/Views/DOMTreeOutline.css:
149         (.dom-tree-outline li.selected > span::after):
150
151 2015-07-25  Nikita Vasilyev  <nvasilyev@apple.com>
152
153         Web Inspector: Start using Node.prototype.remove
154         https://bugs.webkit.org/show_bug.cgi?id=147304
155
156         Reviewed by Timothy Hatcher.
157
158         * UserInterface/Base/Main.js:
159         (WebInspector.elementDragStart):
160         (WebInspector.elementDragEnd):
161         (WebInspector.revertDomChanges):
162         * UserInterface/Views/DOMTreeElement.js:
163         (WebInspector.DOMTreeElement.prototype._updateSearchHighlight.updateEntryHide):
164         (WebInspector.DOMTreeElement.prototype._updateSearchHighlight):
165         (WebInspector.DOMTreeElement.prototype.remove.removeNodeCallback):
166         (WebInspector.DOMTreeElement.prototype.remove):
167         * UserInterface/Views/Resizer.js:
168         (WebInspector.Resizer.prototype._resizerMouseDown):
169         (WebInspector.Resizer.prototype._resizerMouseUp):
170         (WebInspector.Resizer):
171
172 2015-07-25  Nikita Vasilyev  <nvasilyev@apple.com>
173
174         Web Inspector: Fix color declaration for not-executed comments
175         https://bugs.webkit.org/show_bug.cgi?id=147305
176
177         Reviewed by Timothy Hatcher.
178
179         * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
180         (.cm-s-default .basic-block-has-not-executed.cm-comment):
181         This was an RGB color mispelled as HSL. Replace "hsl" with "rgb"
182         and convert it to HSL.
183
184 2015-07-25  Nikita Vasilyev  <nvasilyev@apple.com>
185
186         Web Inspector: Start using Node.prototype.replaceWith
187         https://bugs.webkit.org/show_bug.cgi?id=147303
188
189         Reviewed by Timothy Hatcher.
190
191         * UserInterface/Views/Popover.js:
192         (WebInspector.Popover.prototype._update):
193
194 2015-07-25  Nikita Vasilyev  <nvasilyev@apple.com>
195
196         Web Inspector: Start using Node.prototype.append
197         https://bugs.webkit.org/show_bug.cgi?id=147301
198
199         Convert all instances of element.appendChild(document.createTextNode(aString))
200         to element.append(aString).
201
202         Reviewed by Timothy Hatcher.
203
204         * UserInterface/Base/DOMUtilities.js:
205         * UserInterface/Base/Main.js:
206         (WebInspector.linkifyLocation):
207         (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
208         * UserInterface/Models/Breakpoint.js:
209         (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement):
210         * UserInterface/Views/BoxModelDetailsSectionRow.js:
211         (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics):
212         * UserInterface/Views/CSSStyleDeclarationSection.js:
213         (WebInspector.CSSStyleDeclarationSection.prototype.refresh):
214         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
215         (WebInspector.CSSStyleDetailsSidebarPanel):
216         * UserInterface/Views/ChartDetailsSectionRow.js:
217         (WebInspector.ChartDetailsSectionRow.prototype._createLegendItem):
218         * UserInterface/Views/ConsoleMessageView.js:
219         (WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
220         (WebInspector.ConsoleMessageView.prototype._appendFormattedArguments):
221         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
222         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility.accessibilityPropertiesCallback):
223         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility):
224         * UserInterface/Views/DOMTreeElement.js:
225         (WebInspector.DOMTreeElement.prototype._insertInLastAttributePosition):
226         (WebInspector.DOMTreeElement.prototype._buildAttributeDOM):
227         (WebInspector.DOMTreeElement.prototype._buildTagDOM):
228         (WebInspector.DOMTreeElement.prototype._nodeTitleInfo):
229         defaultElement variable is unused, remove it.
230
231         * UserInterface/Views/DataGrid.js:
232         (WebInspector.DataGridNode.prototype.createCell.get if):
233         (WebInspector.DataGridNode.prototype.createCell):
234         * UserInterface/Views/DebuggerDashboardView.js:
235         (WebInspector.DebuggerDashboardView.prototype._rebuildLocation):
236         * UserInterface/Views/EventListenerSectionGroup.js:
237         (WebInspector.EventListenerSectionGroup.prototype._functionTextOrLink):
238         (WebInspector.EventListenerSectionGroup):
239         * UserInterface/Views/FormattedValue.js:
240         (WebInspector.FormattedValue.createLinkifiedElementString):
241         (WebInspector.FormattedValue.createElementForNodePreview):
242         * UserInterface/Views/ObjectPreviewView.js:
243         (WebInspector.ObjectPreviewView.prototype._appendEntryPreviews):
244         (WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
245         * UserInterface/Views/ResourceDetailsSidebarPanel.js:
246         (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestDataSection):
247         (WebInspector.ResourceDetailsSidebarPanel):
248         * UserInterface/Views/RulesStyleDetailsPanel.js:
249         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.addNewRuleButton):
250         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertMediaOrInheritanceLabel):
251         * UserInterface/Views/SearchResultTreeElement.js:
252         (WebInspector.SearchResultTreeElement.truncateAndHighlightTitle):
253         * UserInterface/Views/SyntaxHighlightingSupport.js:
254         (.appendText):
255         (WebInspector.syntaxHighlightStringAsDocumentFragment):
256         * UserInterface/Views/TimelineDataGridNode.js:
257         (WebInspector.TimelineDataGridNode.prototype.createCellContent):
258
259 2015-07-24  Joseph Pecoraro  <pecoraro@apple.com>
260
261         Web Inspector: Add custom parameter lists for new DOM append/prepend/before/after/replaceWith methods
262         https://bugs.webkit.org/show_bug.cgi?id=147257
263
264         Reviewed by Timothy Hatcher.
265
266         * UserInterface/Models/NativeFunctionParameters.js:
267
268 2015-07-23  Matt Baker  <mattbaker@apple.com>
269
270         Web Inspector: jittery cursor when adjusting time interval using timeline grabbers
271         https://bugs.webkit.org/show_bug.cgi?id=147095
272
273         Reviewed by Brian Burg.
274
275         * UserInterface/Views/TimelineRuler.css:
276         (.timeline-ruler.resizing-selection > .selection-drag):
277         Override selection-drag element's cursor when "resizing-selection" selector is applied.
278         (.timeline-ruler.allows-time-range-selection.creating-selection): Deleted.
279         Renamed "creating-selection" selector to "resizing-selection" to reflect its new role.
280
281         * UserInterface/Views/TimelineRuler.js:
282         (WebInspector.TimelineRuler.prototype._handleMouseMove):
283         (WebInspector.TimelineRuler.prototype._handleMouseUp):
284         (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseDown):
285         (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseUp):
286         Toggle cursor styles.
287
288 2015-07-23  Devin Rousso  <drousso@apple.com>
289
290         Web Inspector: Add a function to CSSCompletions to get a list of supported system fonts
291         https://bugs.webkit.org/show_bug.cgi?id=147009
292
293         Reviewed by Joseph Pecoraro.
294
295         * UserInterface/Base/Main.js:
296         (WebInspector.loaded):
297         (WebInspector.activateExtraDomains):
298         * UserInterface/Base/Test.js:
299         (WebInspector.loaded):
300         * UserInterface/Models/CSSCompletions.js:
301         (WebInspector.CSSCompletions.requestCSSCompletions.fontFamilyNamesCallback):
302         (WebInspector.CSSCompletions.requestCSSCompletions):
303         Now also grabs the list of system font family names and adds that list to the existing completion
304         list for both font and font-family in CSSKeywordCompletions.
305         (WebInspector.CSSCompletions.requestCSSNameCompletions): Deleted.
306
307 2015-07-23  Matt Baker  <mattbaker@apple.com>
308
309         Web Inspector: wrong cursor shown when selecting time interval from timeline overview
310         https://bugs.webkit.org/show_bug.cgi?id=147094
311
312         Reviewed by Timothy Hatcher.
313
314         * UserInterface/Views/TimelineRuler.css:
315         (.timeline-ruler.allows-time-range-selection.creating-selection):
316         New cursor style for entire ruler element.
317
318         * UserInterface/Views/TimelineRuler.js:
319         (WebInspector.TimelineRuler.prototype._handleMouseMove):
320         (WebInspector.TimelineRuler.prototype._handleMouseUp):
321         Toggle cursor style when dragging to create a new selection in the overview.
322
323 2015-07-22  Joseph Pecoraro  <pecoraro@apple.com>
324
325         Web Inspector: Timeline should immediately start moving play head when starting a new recording
326         https://bugs.webkit.org/show_bug.cgi?id=147210
327
328         Reviewed by Timothy Hatcher.
329
330         * UserInterface/Protocol/TimelineObserver.js:
331         (WebInspector.TimelineObserver.prototype.recordingStarted):
332         (WebInspector.TimelineObserver.prototype.recordingStopped):
333         Pass on the new timestamps.
334
335         * UserInterface/Controllers/TimelineManager.js:
336         (WebInspector.TimelineManager.prototype.capturingStarted):
337         (WebInspector.TimelineManager.prototype.capturingStopped):
338         Pass on the new timestamps in the events.
339
340         * UserInterface/Views/TimelineRecordingContentView.js:
341         (WebInspector.TimelineRecordingContentView.prototype._capturingStarted):
342         Pass on the new timestamp from the event as it can be used to update the currentTime.
343
344         (WebInspector.TimelineRecordingContentView.prototype._startUpdatingCurrentTime):
345         If provided a startTime we can use that as the new currentTime. Otherwise fallback
346         to determining a good currentTime from the next incoming record for legacy backends.
347
348         (WebInspector.TimelineRecordingContentView.prototype._recordingTimesUpdated):
349         Update the comment, as there is now a solution but this is required for legacy backends.
350
351 2015-07-22  Joseph Pecoraro  <pecoraro@apple.com>
352
353         Web Inspector: Timeline's Current Time does not jump forward to new start time when starting a new recording, causes timeline to appear delayed and broken
354         https://bugs.webkit.org/show_bug.cgi?id=147204
355
356         Reviewed by Timothy Hatcher.
357
358         * UserInterface/Views/TimelineRecordingContentView.js:
359         (WebInspector.TimelineRecordingContentView.prototype._recordingTimesUpdated):
360         We were skipping a timeline, but it might have a new event record with
361         a new start time. This ensures we get an updated current time which makes
362         sense, and we jump forward to that time in the main timeline.
363
364 2015-07-22  Matt Baker  <mattbaker@apple.com>
365
366         Web Inspector: TimelineRuler shouldn't dispatch selection changed event unless it actually changes
367         https://bugs.webkit.org/show_bug.cgi?id=147219
368
369         Reviewed by Timothy Hatcher.
370
371         Moved to a "suppress next" model for suppressing dispatch of TimelineRuler's selection changed event. The
372         ruler's _timeRangeSelectionChanged flag is now reset only when an event is finally dispatched.
373
374         * UserInterface/Views/TimelineRuler.js:
375         (WebInspector.TimelineRuler):
376         (WebInspector.TimelineRuler.prototype._updateSelection):
377         (WebInspector.TimelineRuler.prototype._dispatchTimeRangeSelectionChangedEvent):
378         Check for this._timeRangeSelectionChanged moved into dispatch function.
379         (WebInspector.TimelineRuler.prototype._handleMouseDown):
380         (WebInspector.TimelineRuler.prototype._handleMouseMove):
381         (WebInspector.TimelineRuler.prototype._handleMouseUp):
382         We now suppress the next dispatch only, rather than a toggle.
383
384 2015-07-22  Devin Rousso  <drousso@apple.com>
385
386         Web Inspector: REGRESSION (Safari 7): Pseudo element rules are not labelled with media queries in Styles panel
387         https://bugs.webkit.org/show_bug.cgi?id=147207
388
389         Reviewed by Timothy Hatcher.
390
391         * UserInterface/Views/RulesStyleDetailsPanel.js:
392         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertMediaOrInheritanceLabel):
393         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertAllMatchingPseudoStyles):
394         Now inserts pseudo-styles based on whether their selector specificity is greater than
395         the previous style's selector specificity.
396         (WebInspector.RulesStyleDetailsPanel.prototype.refresh):
397
398 2015-07-22  Nikita Vasilyev  <nvasilyev@apple.com>
399
400         Web Inspector: Change syntax highlighting color for regular expressions to make them more readable
401         https://bugs.webkit.org/show_bug.cgi?id=146956
402
403         Reviewed by Timothy Hatcher.
404
405         * UserInterface/Views/FormattedValue.css:
406         (.formatted-regexp):
407         * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
408         (.syntax-highlighted :matches(.css-string, .javascript-string, .html-attribute-value)):
409         (.syntax-highlighted .javascript-regexp):
410         (.syntax-highlighted :matches(.css-string, .javascript-string, .javascript-regexp, .html-attribute-value)): Deleted.
411
412 2015-07-21  Joseph Pecoraro  <pecoraro@apple.com>
413
414         Web Inspector: console.log("%d", 0) or console.log("%d", "str") show nothing, expected Number or NaN
415         https://bugs.webkit.org/show_bug.cgi?id=147163
416
417         Reviewed by Timothy Hatcher.
418
419         * UserInterface/Views/ConsoleMessageView.js:
420         (WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.append):
421         When appending the result for a substitution formatter, don't check against a
422         falsey value, check against undefined. This will allow falsely values like
423         0 and NaN to be output as expected.
424
425 2015-07-21  Joseph Pecoraro  <pecoraro@apple.com>
426
427         Web Inspector: Total download size doesn't update soon after loading
428         https://bugs.webkit.org/show_bug.cgi?id=147161
429
430         Reviewed by Timothy Hatcher.
431
432         * UserInterface/Models/DefaultDashboard.js:
433         (WebInspector.DefaultDashboard.prototype._mainResourceDidChange):
434         Previously autorecording would always have made us start capturing,
435         however we only autorecord if users are on the Timeline tab. Just
436         reset the time always, a navigation happened and start the timer.
437
438         (WebInspector.DefaultDashboard.prototype._resourceSizeDidChange):
439         Move to a better location within the file.
440
441 2015-07-21  Nikita Vasilyev  <nvasilyev@apple.com>
442
443         Web Inspector: Convert all colors from RGB to HSL color scheme
444         https://bugs.webkit.org/show_bug.cgi?id=147143
445
446         HSL color scheme is more human friendly than RGB.
447
448         RGB -> HSL
449         RGB hex (e.g. #bada55 and #456) -> HSL
450         RGBA -> HSLA
451         Named colors (white, black, lightgoldenrodyellow) are unchanged        
452
453         Reviewed by Timothy Hatcher.
454
455         * UserInterface/Controllers/CodeMirrorGradientEditingController.css:
456         (.gradient-editing-controller > label > input):
457         * UserInterface/Views/BoxModelDetailsSectionRow.css:
458         (.details-section .row.box-model .position):
459         (.details-section .row.box-model .margin):
460         (.details-section .row.box-model .margin.active):
461         (.details-section .row.box-model .border):
462         (.details-section .row.box-model .border.active):
463         (.details-section .row.box-model .padding):
464         (.details-section .row.box-model .padding.active):
465         (.details-section .row.box-model .content):
466         (.details-section .row.box-model .content.active):
467         * UserInterface/Views/Breakpoint.css:
468         (.popover .edit-breakpoint-popover-content > table > tr > th):
469         * UserInterface/Views/BreakpointActionView.css:
470         (.breakpoint-action-remove-button):
471         (.breakpoint-action-append-button):
472         (.breakpoint-action-block-body):
473         (.breakpoint-action-eval-editor):
474         * UserInterface/Views/BreakpointTreeElement.css:
475         (.breakpoint-generic-line-icon .icon > span):
476         (.data-updated.breakpoint-generic-line-icon .icon > span):
477         * UserInterface/Views/ButtonNavigationItem.css:
478         (.navigation-bar .item.button.text-only):
479         (.navigation-bar .item.button.suppress-emboss > .glyph):
480         * UserInterface/Views/ButtonToolbarItem.css:
481         (.toolbar .item.button > .label):
482         (.toolbar.label-only .item.activate.button.activated > .label):
483         * UserInterface/Views/CSSStyleDeclarationSection.css:
484         (.style-declaration-section > .header > .selector):
485         (.style-declaration-section > .header > .origin):
486         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
487         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property:matches(.disabled, .invalid, .other-vendor, .not-inherited, .overridden)):
488         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property.invalid):
489         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .editing-line .css-style-declaration-property:matches(.disabled, .other-vendor, .not-inherited, .overridden)):
490         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch):
491         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch > span):
492         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch:hover > span):
493         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch:active > span):
494         (.css-style-text-editor > .CodeMirror .cm-link):
495         * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
496         (.sidebar > .panel.details.css-style > .content > .pseudo-classes):
497         (.sidebar > .panel.details.css-style > .content > .pseudo-classes > .group > label):
498         (.sidebar > .panel.details.css-style > .content.has-filter-bar + .filter-bar):
499         (.sidebar > .panel.details.css-style > .content.filter-in-progress .filter-matching):
500         (.sidebar > .panel.details.css-style > .content.filter-in-progress .style-declaration-section:not(.filter-section-has-label)):
501         * UserInterface/Views/ChartDetailsSectionRow.css:
502         (.details-section > .content > .group > .row.chart > .title):
503         (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .label > .color-swatch):
504         (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .label):
505         * UserInterface/Views/CodeMirrorOverrides.css:
506         (.CodeMirror .CodeMirror-selected):
507         (.CodeMirror .CodeMirror-lines .CodeMirror-matchingbracket):
508         (.CodeMirror .CodeMirror-lines .CodeMirror-nonmatchingbracket):
509         (.CodeMirror .CodeMirror-gutters):
510         (.CodeMirror .CodeMirror-linenumber):
511         * UserInterface/Views/CompletionSuggestionsView.css:
512         (.completion-suggestions):
513         (.completion-suggestions-container > .item:active):
514         * UserInterface/Views/ConsoleMessageView.css:
515         (.console-user-command.special-user-log > .console-message-text):
516         (.console-message .repeat-count):
517         (.console-message-preview-divider):
518         (.console-message-enclosed):
519         (.console-user-command > .console-message-text):
520         (.console-saved-variable):
521         * UserInterface/Views/DOMStorageContentView.css:
522         (.content-view.dom-storage > .data-grid tr.missing-value td.value-column):
523         (.content-view.dom-storage > .data-grid:focus tr.selected.missing-value td.value-column):
524         * UserInterface/Views/DOMTreeOutline.css:
525         (.dom-tree-outline li.hovered:not(.selected) .selection):
526         (.dom-tree-outline li.selected .selection):
527         (.dom-tree-outline li.elements-drag-over .selection):
528         (.dom-tree-outline:focus li.selected .selection):
529         (.showing-find-banner .dom-tree-outline .search-highlight):
530         * UserInterface/Views/DataGrid.css:
531         (.data-grid .highlight):
532         (.data-grid.inline):
533         (.data-grid th):
534         (body.window-inactive .data-grid th):
535         (.data-grid :matches(th, td):not(:last-child)):
536         (body.window-inactive .data-grid :matches(th, td):not(:last-child)):
537         (.data-grid th.sortable:active):
538         (.data-grid th:matches(.sort-ascending, .sort-descending)):
539         (.data-grid table.data):
540         (.data-grid:matches(:focus, .force-focus) tr.selected td:not(:last-child)):
541         (.data-grid tr.selected):
542         (.data-grid:matches(:focus, .force-focus) tr.selected):
543         (.data-grid td .subtitle):
544         (.data-grid:matches(:focus, .force-focus) tr.selected td .subtitle):
545         (.data-grid td.error):
546         * UserInterface/Views/DatabaseContentView.css:
547         (.storage-view .storage-table-error):
548         (.database-user-query):
549         (.database-query-text):
550         * UserInterface/Views/DebuggerDashboardView.css:
551         (.toolbar .dashboard.debugger):
552         (.dashboard.debugger .navigation-bar .item.button > .glyph):
553         (.dashboard.debugger > .divider):
554         (.dashboard.debugger > .location .function-name):
555         (.dashboard.debugger > .location .go-to-link):
556         * UserInterface/Views/DebuggerSidebarPanel.css:
557         (.sidebar > .panel.navigation.debugger.paused .details-section.scripts):
558         * UserInterface/Views/DefaultDashboardView.css:
559         (.toolbar .dashboard.default > .item.enabled:hover):
560         (.toolbar .dashboard.default > .item.enabled:active):
561         (.toolbar .dashboard.default > .item > div):
562         (.toolbar .dashboard.default > .item.enabled > div):
563         (.toolbar .dashboard.default > .item.enabled:hover > div):
564         (.toolbar .dashboard.default > .errors.enabled > div):
565         (.toolbar .dashboard.default > .errors.enabled:hover > div):
566         (.toolbar .dashboard.default > .issues.enabled > div):
567         (.toolbar .dashboard.default > .issues.enabled:hover > div):
568         * UserInterface/Views/DetailsSection.css:
569         (.details-section):
570         (.details-section .details-section):
571         (.details-section .details-section:first-child):
572         (.details-section > .header):
573         (.details-section .details-section > .header):
574         (.details-section .details-section:not(.collapsed) > .header):
575         (.details-section.computed-style-properties:not(.collapsed) > .header):
576         (.details-section > .header > label):
577         (.details-section > .content > .group):
578         (.details-section > .content > .group:nth-child(even) > .row:matches(.simple:first-child > *, :not(.simple):first-child)):
579         (.details-section > .content > .group > .row.simple > .label):
580         (.details-section > .content .data-grid tr:nth-child(odd)):
581         * UserInterface/Views/DividerNavigationItem.css:
582         (.navigation-bar .item.divider):
583         * UserInterface/Views/Editing.css:
584         (.editing):
585         * UserInterface/Views/FilterBar.css:
586         (.filter-bar):
587         (.filter-bar > input[type="search"]):
588         (.filter-bar > input[type="search"]::-webkit-input-placeholder):
589         * UserInterface/Views/FindBanner.css:
590         (.find-banner):
591         (body.window-inactive .find-banner):
592         (.find-banner > input[type="search"]):
593         (.find-banner > button):
594         (.find-banner > button:active:not(:disabled)):
595         (.find-banner > button:disabled):
596         * UserInterface/Views/FormattedValue.css:
597         (:matches(.formatted-array, .formatted-map, .formatted-set, .formatted-weakmap, .formatted-weakset) > .size):
598         (.formatted-number):
599         (.formatted-boolean):
600         (.formatted-string):
601         (.formatted-regexp):
602         (.formatted-symbol):
603         (.formatted-null, .formatted-undefined):
604         * UserInterface/Views/GoToLineDialog.css:
605         (.go-to-line-dialog):
606         (.go-to-line-dialog > div):
607         (.go-to-line-dialog > div > input):
608         (.go-to-line-dialog > div > input::-webkit-input-placeholder):
609         (.go-to-line-dialog > div > img):
610         (.go-to-line-dialog > div > img:active):
611         * UserInterface/Views/GradientSlider.css:
612         (.gradient-slider):
613         (.gradient-slider-knob > div):
614         * UserInterface/Views/HierarchicalPathComponent.css:
615         (.hierarchical-path-component > .title):
616         * UserInterface/Views/HoverMenu.css:
617         (.hover-menu > svg > :matches(path, rect)):
618         * UserInterface/Views/ImageResourceContentView.css:
619         (.content-view.resource.image):
620         * UserInterface/Views/IndexedDatabaseObjectStoreContentView.css:
621         (.content-view.indexed-database-object-store > .data-grid table.data tr:nth-child(odd)):
622         * UserInterface/Views/LayerTreeDetailsSidebarPanel.css:
623         (.panel.details.layer-tree .name-column :matches(.pseudo-element, .reflection)):
624         (.panel.details.layer-tree tr.selected .name-column :matches(.pseudo-element, .reflection)):
625         (.panel.details.layer-tree .bottom-bar):
626         * UserInterface/Views/LogContentView.css:
627         (.console-item):
628         (.console-session + .console-session):
629         (.console-messages a):
630         (.console-messages a:hover):
631         (.search-bar.log-search-bar > input[type="search"]):
632         (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted):
633         (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted.selected):
634         * UserInterface/Views/Main.css:
635         (body.docked.bottom):
636         (body.docked.right):
637         (body.window-inactive.docked.bottom):
638         (body.window-inactive.docked.right):
639         (#split-content-browser):
640         (body.window-inactive #split-content-browser):
641         (#split-content-browser > .navigation-bar):
642         (#split-content-browser .hierarchical-path-component.log-icon .title):
643         (.message-text-view):
644         (.message-text-view.error):
645         (.go-to-link):
646         (.value-with-clarification .clarification):
647         (.bouncy-highlight):
648         * UserInterface/Views/NavigationBar.css:
649         (.navigation-bar):
650         (body.window-inactive .navigation-bar):
651         * UserInterface/Views/NavigationSidebarPanel.css:
652         (.sidebar > .panel.navigation > .overflow-shadow):
653         (body.window-inactive .sidebar > .panel.navigation > .overflow-shadow):
654         (.sidebar > .panel.navigation > .empty-content-placeholder > .message):
655         (.navigation-sidebar-panel-content-tree-outline .item.selected):
656         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected):
657         (body.window-inactive .navigation-sidebar-panel-content-tree-outline .item.selected):
658         (.navigation-sidebar-panel-content-tree-outline .item .highlighted):
659         (.navigation-sidebar-panel-content-tree-outline .item .subtitle):
660         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .subtitle):
661         * UserInterface/Views/NetworkGridContentView.css:
662         (.content-view.network-grid > .data-grid table.data):
663         * UserInterface/Views/NetworkSidebarPanel.css:
664         (.sidebar > .panel.navigation.network > .title-bar):
665         (body.window-inactive .sidebar > .panel.navigation.network > .title-bar):
666         (.sidebar > .panel.navigation.network.network-grid-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline):
667         * UserInterface/Views/NetworkTimelineOverviewGraph.css:
668         (.timeline-overview-graph.network:nth-child(even) > .graph-row > .timeline-record-bar > .segment:not(.inactive)):
669         * UserInterface/Views/NewTabContentView.css:
670         (.new-tab.tab.content-view):
671         (.new-tab.tab.content-view > .tab-item > .box):
672         * UserInterface/Views/ObjectPreviewView.css:
673         (.object-preview .name):
674         (.object-preview > .size):
675         * UserInterface/Views/ObjectTreeView.css:
676         (.object-tree-outline li .empty-message):
677         * UserInterface/Views/OverviewTimelineView.css:
678         (.timeline-view.overview > .timeline-ruler > .header):
679         (body.window-inactive .timeline-view.overview > .timeline-ruler > .header):
680         (.timeline-view.overview > .data-grid tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar:not(.has-inactive-segment) > .segment):
681         (.timeline-view.overview > .data-grid:focus tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar:not(.has-inactive-segment) > .segment):
682         (.timeline-view.overview > .data-grid tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
683         (.timeline-view.overview > .data-grid:focus tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
684         * UserInterface/Views/ProbeSetDataGrid.css:
685         (.details-section.probe-set .data-grid tr.past-value td):
686         (.details-section.probe-set .data-grid > td.unknown-value):
687         (@-webkit-keyframes blink-frame-highlight):
688         (100%):
689         (.details-section.probe-set .data-grid tr.separator):
690         (@-webkit-keyframes blink-probe-frame):
691         * UserInterface/Views/QuickConsole.css:
692         (.quick-console):
693         (body.window-inactive .quick-console):
694         (.quick-console.showing-log):
695         * UserInterface/Views/RadioButtonNavigationItem.css:
696         (.navigation-bar .item.radio.button.text-only:hover):
697         (.navigation-bar .item.radio.button.text-only.selected):
698         (.navigation-bar .item.radio.button.text-only:active):
699         (.navigation-bar .item.radio.button.text-only.selected:active):
700         * UserInterface/Views/RenderingFrameTimelineOverviewGraph.css:
701         (.timeline-overview-graph.rendering-frame > .divider):
702         (.timeline-overview-graph.rendering-frame > .divider > .label):
703         * UserInterface/Views/ReplayDashboardView.css:
704         (.toolbar .dashboard.replay):
705         * UserInterface/Views/ResourceTreeElement.css:
706         (.item.resource.failed):
707         (.item.resource.failed .subtitle):
708         * UserInterface/Views/RulesStyleDetailsPanel.css:
709         (.sidebar > .panel.details.css-style .rules .label):
710         (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules.filter-non-matching > .no-filter-results > .no-filter-results-message):
711         * UserInterface/Views/ScopeBar.css:
712         (.scope-bar > li):
713         (.scope-bar > li:hover):
714         (.scope-bar > li.selected):
715         (.scope-bar > li:active):
716         (.scope-bar > li.selected:active):
717         * UserInterface/Views/SearchBar.css:
718         (.search-bar > input[type="search"]):
719         (.search-bar > input[type="search"]::-webkit-input-placeholder):
720         * UserInterface/Views/SearchSidebarPanel.css:
721         (.sidebar > .panel.navigation.search > .search-bar):
722         * UserInterface/Views/Sidebar.css:
723         (.sidebar):
724         (.sidebar.left):
725         (.sidebar.right):
726         (body.window-inactive .sidebar.left):
727         (body.window-inactive .sidebar.right):
728         * UserInterface/Views/SourceCodeTextEditor.css:
729         (.source-code.text-editor > .CodeMirror .warning):
730         (.source-code.text-editor > .CodeMirror .error):
731         (.source-code.text-editor > .CodeMirror .issue-widget.warning):
732         (.source-code.text-editor > .CodeMirror .issue-widget.inline.warning):
733         (.source-code.text-editor > .CodeMirror .issue-widget.inline.warning > .arrow):
734         (.source-code.text-editor > .CodeMirror .issue-widget.error):
735         (.source-code.text-editor > .CodeMirror .issue-widget.inline.error):
736         (.source-code.text-editor > .CodeMirror .issue-widget.inline.error > .arrow):
737         (.popover .debugger-popover-content > .body):
738         * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
739         (.syntax-highlighted :matches(.css-comment, .javascript-comment, .html-comment)):
740         (.syntax-highlighted :matches(.css-keyword, .css-tag, .css-at-rule, .css-important, .javascript-keyword, .html-tag)):
741         (.syntax-highlighted :matches(.css-number, .javascript-number)):
742         (.syntax-highlighted :matches(.css-string, .javascript-string, .javascript-regexp, .html-attribute-value)):
743         (.syntax-highlighted :matches(.html-doctype, .html-processing-instruction)):
744         (.syntax-highlighted .html-attribute-name):
745         (.syntax-highlighted a):
746         (.supports-find-banner.showing-find-banner .syntax-highlighted .search-result):
747         (.cm-s-default .basic-block-has-not-executed):
748         (.cm-s-default .basic-block-has-not-executed.cm-m-css:matches(.cm-atom, .cm-meta, .cm-variable-3, .cm-property)):
749         (.cm-s-default .basic-block-has-not-executed:matches(.cm-number, .cm-atom.cm-hex-color)):
750         (.cm-s-default .basic-block-has-not-executed.cm-string):
751         (.cm-s-default .basic-block-has-not-executed.cm-m-xml.cm-meta):
752         * UserInterface/Views/TabBar.css:
753         (.tab-bar):
754         (body.window-inactive .tab-bar):
755         (.tab-bar > .top-border):
756         (body.window-inactive .tab-bar > .top-border):
757         (.tab-bar > .item):
758         (.tab-bar.dragging-tab > .item.selected):
759         (.tab-bar > .item:not(.disabled).selected):
760         (.tab-bar > .item.new-tab-button:not(.disabled):hover):
761         (.tab-bar:not(.animating) > .item:not(.selected, .disabled):hover + .item):
762         (body.window-inactive .tab-bar > .item):
763         (body.window-inactive .tab-bar > .item.selected):
764         (.tab-bar > .item > .close:hover):
765         (.tab-bar > .item > .title):
766         (.tab-bar:not(.animating) > .item:not(.selected):hover > .title):
767         (.tab-bar > .item.selected > .title):
768         (.tab-bar.animating.closing-tab > .item.selected):
769         (body.window-inactive .tab-bar.animating.closing-tab > .item.selected):
770         * UserInterface/Views/TextEditor.css:
771         (.text-editor > .CodeMirror .execution-line):
772         (.text-editor > .CodeMirror .hovered-expression-highlight):
773         (to):
774         * UserInterface/Views/TimelineDataGrid.css:
775         (.data-grid.timeline th):
776         (body.window-inactive .data-grid.timeline th):
777         (.timeline-data-grid-tree-outline .item:hover):
778         (.timeline-data-grid-tree-outline .item .subtitle):
779         * UserInterface/Views/TimelineOverview.css:
780         (.timeline-overview > .graphs-container > .timeline-overview-graph:nth-child(even)):
781         (.timeline-overview > .graphs-container > .timeline-overview-graph:not(:first-child)):
782         * UserInterface/Views/TimelineRecordBar.css:
783         (.timeline-record-bar > .segment):
784         (:matches(:focus, .force-focus) .selected .timeline-record-bar > .segment.inactive):
785         (:matches(:focus, .force-focus) .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
786         (.timeline-record-bar.timeline-record-type-network > .segment):
787         (.timeline-record-bar.timeline-record-type-network > .segment.inactive):
788         (.timeline-record-bar.timeline-record-type-layout > .segment):
789         (.timeline-record-bar.timeline-record-type-layout.layout-timeline-record-composite > .segment):
790         (.timeline-record-bar.timeline-record-type-script > .segment):
791         * UserInterface/Views/TimelineRecordFrame.css:
792         (.timeline-record-frame):
793         (.timeline-record-frame > .frame > .duration):
794         (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-script):
795         (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-layout):
796         (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-paint):
797         * UserInterface/Views/TimelineRecordingContentView.css:
798         (.content-view.timeline-recording > .content-view-container > .timeline-view > .data-grid table.data):
799         * UserInterface/Views/TimelineRuler.css:
800         (.timeline-ruler > .header):
801         (body.window-inactive .timeline-ruler > .header):
802         (.timeline-ruler > .header > .divider):
803         (body.window-inactive .timeline-ruler > .header > .divider):
804         (.timeline-ruler > .header > .divider > .label):
805         (.timeline-ruler > .markers > .divider):
806         (.timeline-ruler > .markers > .marker):
807         (.timeline-ruler > .markers > .marker.load-event):
808         (.timeline-ruler > .markers > .marker.dom-content-event):
809         (.timeline-ruler > .markers > .marker.timestamp):
810         (.timeline-ruler > .selection-handle):
811         (.timeline-ruler > .shaded-area):
812         * UserInterface/Views/TimelineSidebarPanel.css:
813         (.sidebar > .panel.navigation.timeline > .status-bar):
814         (body.window-inactive .sidebar > .panel.navigation.timeline > .status-bar):
815         (.sidebar > .panel.navigation.timeline > .status-bar > .record-status):
816         (.sidebar > .panel.navigation.timeline > .title-bar):
817         (body.window-inactive .sidebar > .panel.navigation.timeline > .title-bar):
818         (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
819         (body.window-inactive .sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
820         (.sidebar > .panel.navigation.timeline > .timelines-content li.item:not(.selected):nth-child(even)):
821         (.sidebar > .panel.navigation.timeline > .timelines-content li.item:not(.selected):not(:first-child)):
822         (.sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item):
823         (body.window-inactive .sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item):
824         (.sidebar > .panel.navigation.timeline > .timelines-content :focus li.item.selected + li.item):
825         * UserInterface/Views/TimelineView.css:
826         (.panel.navigation.timeline.timeline-recording-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline):
827         * UserInterface/Views/Toolbar.css:
828         (.toolbar):
829         (body.window-inactive .toolbar):
830         * UserInterface/Views/TreeElementStatusButton.css:
831         (.item > .status > .status-button > svg .filled):
832         (.item > .status > .status-button > svg .stroked):
833         * UserInterface/Views/TypeTokenView.css:
834         (.type-token-function, .type-token-boolean):
835         (.type-token-number):
836         (.type-token-string):
837         (.type-token-symbol):
838         (.type-token-default):
839         (.type-token-empty):
840         (.type-token-many):
841         * UserInterface/Views/TypeTreeView.css:
842         (.type-tree-outline li .empty-message):
843
844 2015-07-20  Joseph Pecoraro  <pecoraro@apple.com>
845
846         Web Inspector: console.assert(false, "Message") message is not visible in console
847         https://bugs.webkit.org/show_bug.cgi?id=147130
848
849         Reviewed by Timothy Hatcher.
850
851         * Localizations/en.lproj/localizedStrings.js:
852         * UserInterface/Views/ConsoleMessageView.js:
853         (WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
854         We were forgetting to assign the result of args.concat back into args.
855         In re-addressing this, improve the formatting of output if there is
856         a string message or not as the second argument to console.assert(), as
857         that is the common usage.
858
859 2015-07-18  Saam barati  <saambarati1@gmail.com>
860
861         [ES6] Add support for block scope const
862         https://bugs.webkit.org/show_bug.cgi?id=31813
863
864         Reviewed by Filip Pizlo.
865
866         "const" variables do not live on the global object and are only
867         accessible within the "Program" they're defined in. Therefore,
868         the WebInspector global must be defined as "var" and not "const".
869
870         * UserInterface/Base/WebInspector.js:
871
872 2015-07-16  Joseph Pecoraro  <pecoraro@apple.com>
873
874         Web Inspector: REGRESSION (r186218) ScriptTimelineRecord attempts to access null property
875         https://bugs.webkit.org/show_bug.cgi?id=147025
876
877         Reviewed by Timothy Hatcher.
878
879         The issue here was two ScriptTimelineRecord's were created for the same
880         profile payload. When the first ScriptTimelineRecord processed the
881         payload to create a Profile we modified the payload, then when the
882         second ScriptTimelineRecord tries to process the payload the data is
883         in an unexpected state and it crashes.
884
885         The solution here is to stash the result on the payload, so when the
886         payload is shared we can just immediately jump to the resulting Profile.
887         The longer term solution will be to share higher level objects and not
888         attempt to process the payload multiple times. That is tracked by:
889         <https://webkit.org/b/147029> Web Inspector: Better share objects generated from timeline events (Records)
890
891         * UserInterface/Models/ScriptTimelineRecord.js:
892         (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload):
893         When processing the profile payload, store the Profile on the payload
894         so if another ScriptTimelineRecord has that payload they can avoid
895         re-processing it.
896
897 2015-07-16  Joseph Pecoraro  <pecoraro@apple.com>
898
899         Web Inspector: Total Size of Resources number in dashboard is wrong (does not update during load)
900         https://bugs.webkit.org/show_bug.cgi?id=147027
901
902         Reviewed by Timothy Hatcher.
903
904         * UserInterface/Models/DefaultDashboard.js:
905         (WebInspector.DefaultDashboard.prototype._resourceSizeDidChange):
906         Restore implementation of callback from r183328 to update total resource
907         size as resources are downloaded.
908
909 2015-07-16  Andres Gomez  <agomez@igalia.com>
910
911         [GTK] Web Inspector: Further optimize the weight and time icons taken back to the toolbar dashboard for the GTK+ port
912         https://bugs.webkit.org/show_bug.cgi?id=147010
913
914         SVG images optimized with a combination of sed replacements, the
915         usage of the scour tool (http://www.codedread.com/scour/) and a
916         forked version of the svgo tool (https://github.com/tanty/svgo).
917
918         Also, added the class attribute to the shape elements following
919         the convention used in Apple's images.
920
921         Reviewed by Martin Robinson.
922
923         * UserInterface/Images/gtk/Time.svg: Optimized.
924         * UserInterface/Images/gtk/Weight.svg: Optimized.
925
926 2015-07-16  Andres Gomez  <agomez@igalia.com>
927
928         [GTK] Web Inspector: Add new Network icon for the GTK+ port
929         https://bugs.webkit.org/show_bug.cgi?id=147002
930
931         Reviewed by Martin Robinson.
932
933         * UserInterface/Images/gtk/Network.svg: Added.
934         Icon for the new Network tab.
935
936 2015-07-16  Andres Gomez  <agomez@igalia.com>
937
938         [GTK] Web Inspector: Add new composite record icon for the GTK+ port
939         https://bugs.webkit.org/show_bug.cgi?id=146998
940
941         Reviewed by Martin Robinson.
942
943         * UserInterface/Images/gtk/TimelineRecordComposite.svg: Added.
944         New composite record icon.
945
946 2015-07-15  Matt Baker  <mattbaker@apple.com>
947
948         Web Inspector: Resizing TimelineRuler selection on both sides doesn't work with snapping enabled
949         https://bugs.webkit.org/show_bug.cgi?id=146970
950
951         Reviewed by Brian Burg.
952
953         * UserInterface/Views/TimelineRuler.js:
954         (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseMove):
955         Use snapped current time value when setting selection bounds.
956
957 2015-07-14  Nikita Vasilyev  <nvasilyev@apple.com>
958
959         REGRESSION (r186698): Web Inspector: Frame selector is monospace again
960         https://bugs.webkit.org/show_bug.cgi?id=146954
961
962         Reviewed by Joseph Pecoraro.
963
964         * UserInterface/Views/HierarchicalPathComponent.css:
965         (.hierarchical-path-component):
966
967 2015-07-14  Matt Baker  <mattbaker@apple.com>
968
969         Web Inspector: TimelineRuler minimum selection time range should be configurable
970         https://bugs.webkit.org/show_bug.cgi?id=146944
971
972         Reviewed by Joseph Pecoraro.
973
974         * UserInterface/Views/RenderingFrameTimelineOverview.js:
975         Set minimum selection to 1 frame.
976
977         * UserInterface/Views/TimelineOverview.js:
978         (WebInspector.TimelineOverview.prototype.set selectionDuration):
979         Use ruler's minimum duration.
980
981         * UserInterface/Views/TimelineRuler.js:
982         (WebInspector.TimelineRuler):
983         (WebInspector.TimelineRuler.prototype.get minimumSelectionDuration):
984         (WebInspector.TimelineRuler.prototype.set minimumSelectionDuration):
985         (WebInspector.TimelineRuler.prototype._handleMouseUp):
986         (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseMove):
987         Added property for setting minimum selection duration. Default minimum duration is 0.01, which is
988         equal to the old hard-coded minimum selection time range.
989
990 2015-07-13  Joseph Pecoraro  <pecoraro@apple.com>
991
992         Web Inspector: Uncaught exception in inspector for some ConsoleMessages
993         https://bugs.webkit.org/show_bug.cgi?id=146919
994
995         Reviewed by Brian Burg.
996
997         * UserInterface/Views/ConsoleMessageView.js:
998         (WebInspector.ConsoleMessageView.prototype._appendLocationLink):
999         The parameters list may not exist, so null check it before use.
1000
1001 2015-07-13  Nikita Vasilyev  <nvasilyev@apple.com>
1002
1003         Web Inspector: Use -apple-system-monospaced-numbers for line numbers
1004         https://bugs.webkit.org/show_bug.cgi?id=146898
1005
1006         Reviewed by Timothy Hatcher.
1007
1008         * UserInterface/Views/CodeMirrorOverrides.css:
1009         (.CodeMirror .CodeMirror-linenumber): Decrease font-size by 1px to make 4 digit numbers fit.
1010
1011 2015-07-12  Timothy Hatcher  <timothy@apple.com>
1012
1013         Web Inspector: Add -apple-system-monospaced-numbers to font and font-family autocomplete
1014         https://bugs.webkit.org/show_bug.cgi?id=146865
1015
1016         Reviewed by Daniel Bates.
1017
1018         * UserInterface/Models/CSSKeywordCompletions.js:
1019
1020 2015-07-11  Nikita Vasilyev  <nvasilyev@apple.com>
1021
1022         Web Inspector: Inspector should be able to be docked to the bottom of a narrow window
1023         https://bugs.webkit.org/show_bug.cgi?id=146871
1024
1025         Reviewed by Timothy Hatcher.
1026
1027         * UserInterface/Views/Toolbar.css:
1028         (@media (max-width: 539px)): Hide download button to fit search field into the screen.
1029
1030 2015-07-11  Devin Rousso  <drousso@apple.com>
1031
1032         Web Inspector: Improve runtime of pseudo-element sidebar style ordering
1033         https://bugs.webkit.org/show_bug.cgi?id=146866
1034
1035         Reviewed by Timothy Hatcher.
1036
1037         * UserInterface/Models/CSSRule.js:
1038         (WebInspector.CSSRule.prototype.update): Determines the most specific selector and saves it to a variable.
1039         (WebInspector.CSSRule.prototype.get mostSpecificSelector): Returns the most specific selector.
1040         (WebInspector.CSSRule.prototype.selectorIsGreater): Compares the most specific selector to a given selector.
1041         (WebInspector.CSSRule.prototype._determineMostSpecificSelector):
1042         Searches through the selector list to find and return the selector that is the most specific.
1043         (WebInspector.CSSRule):
1044         * UserInterface/Views/RulesStyleDetailsPanel.js:
1045         (WebInspector.RulesStyleDetailsPanel.prototype.refresh):
1046
1047 2015-07-11  Devin Rousso  <drousso@apple.com>
1048
1049         Web Inspector: Warning icon tooltip for numbers with no units could be improved
1050         https://bugs.webkit.org/show_bug.cgi?id=146859
1051
1052         Reviewed by Timothy Hatcher.
1053
1054         * Localizations/en.lproj/localizedStrings.js:
1055         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1056         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded):
1057         If the property's value is incorrect and is comprised of only numbers, that must mean that the value needs
1058         to have units (like "px") after the number.  Added another warning icon case to support this scenario.
1059
1060 2015-07-10  Timothy Hatcher  <timothy@apple.com>
1061
1062         Web Inspector: Use -apple-system instead of -webkit-system-font
1063         https://bugs.webkit.org/show_bug.cgi?id=146860
1064
1065         Remove explicit uses of font-family where inhertance from the body is enough.
1066         Change -webkit-system-font to -apple-system and use -apple-system-monospaced-numbers
1067         for DataGrid and the toolbar dashboard.
1068
1069         Reviewed by Sam Weinig.
1070
1071         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
1072         (.css-style-text-editor > .CodeMirror .CodeMirror-placeholder):
1073         * UserInterface/Views/DataGrid.css:
1074         (.data-grid td):
1075         * UserInterface/Views/DefaultDashboardView.css:
1076         (.toolbar .dashboard.default > .item):
1077         (.toolbar .dashboard.default > :matches(.time, .resourcesSize)):
1078         (.toolbar .dashboard.default > .resourcesSize):
1079         * UserInterface/Views/HierarchicalPathComponent.css:
1080         (.hierarchical-path-component):
1081         * UserInterface/Views/LogContentView.css:
1082         (.console-messages):
1083         * UserInterface/Views/Main.css:
1084         (body):
1085         * UserInterface/Views/ObjectTreeArrayIndexTreeElement.css:
1086         (.object-tree-array-index .index-name):
1087         * UserInterface/Views/ObjectTreePropertyTreeElement.css:
1088         (.object-tree-property .prototype-name):
1089         * UserInterface/Views/ObjectTreeView.css:
1090         (.object-tree-outline li .empty-message):
1091         * UserInterface/Views/RenderingFrameTimelineOverviewGraph.css:
1092         (.timeline-overview-graph.rendering-frame > .divider > .label):
1093         * UserInterface/Views/SourceCodeTextEditor.css:
1094         (.source-code.text-editor > .CodeMirror .issue-widget > .text):
1095         * UserInterface/Views/TypeTreeView.css:
1096         (.type-tree):
1097
1098 2015-07-10  Devin Rousso  <drousso@apple.com>
1099
1100         Web Inspector: Add source links to functions logged in the console
1101         https://bugs.webkit.org/show_bug.cgi?id=146377
1102
1103         Reviewed by Timothy Hatcher.
1104
1105         * UserInterface/Protocol/RemoteObject.js:
1106         (WebInspector.RemoteObject.prototype.findFunctionSourceCodeLocation):
1107         Returns a promise that contains the sourceCodeLocation if the object represents a function and has an objectId.
1108         (WebInspector.RemoteObject.prototype._isFunction):
1109         * UserInterface/Views/ConsoleMessageView.css:
1110         (.console-message .console-message-location):
1111         Added specified values for font sizing and family to ensure that all location links have the same styling.
1112         * UserInterface/Views/ConsoleMessageView.js:
1113         (WebInspector.ConsoleMessageView):
1114         Now creates a link to the source code of the entered text if the message is of the type "result".
1115         (WebInspector.ConsoleMessageView.prototype._appendLocationLink):
1116         (WebInspector.ConsoleMessageView.prototype._createRemoteObjectIfNeeded):
1117         (WebInspector.ConsoleMessageView.prototype._appendFormattedArguments):
1118         (WebInspector.ConsoleMessageView.prototype._linkifyLocation):
1119         (WebInspector.ConsoleMessageView.prototype._linkifyCallFrameLocation):
1120         (WebInspector.ConsoleMessageView.prototype._linkifyCallFrame):
1121
1122 2015-07-10  Timothy Hatcher  <timothy@apple.com>
1123
1124         Web Inspector: Storage tab should have a scope bar in the sidebar
1125         https://bugs.webkit.org/show_bug.cgi?id=146799
1126
1127         Fix a couple typos found post review.
1128
1129         * UserInterface/Views/StorageSidebarPanel.js:
1130         (WebInspector.StorageSidebarPanel):
1131
1132 2015-07-09  Timothy Hatcher  <timothy@apple.com>
1133
1134         Web Inspector: Storage tab should have a scope bar in the sidebar
1135         https://bugs.webkit.org/show_bug.cgi?id=146799
1136
1137         Reviewed by Mark Lam.
1138
1139         * Localizations/en.lproj/localizedStrings.js: Updated.
1140         * UserInterface/Main.html: Added StorageSidebarPanel.css.
1141         * UserInterface/Views/StorageSidebarPanel.css: Added.
1142         * UserInterface/Views/StorageSidebarPanel.js:
1143         (WebInspector.StorageSidebarPanel):
1144         (WebInspector.StorageSidebarPanel.prototype.hasCustomFilters):
1145         (WebInspector.StorageSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
1146         (WebInspector.StorageSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
1147         (WebInspector.StorageSidebarPanel.prototype._scopeBarSelectionDidChange):
1148
1149 2015-07-09  Timothy Hatcher  <timothy@apple.com>
1150
1151         Web Inspector: Make the TabBar work better with AX
1152         https://bugs.webkit.org/show_bug.cgi?id=146806
1153
1154         Reviewed by Joseph Pecoraro.
1155
1156         * UserInterface/Views/TabBar.js:
1157         (WebInspector.TabBar): Set role to tablist and drop tabIndex.
1158         * UserInterface/Views/TabBarItem.js:
1159         (WebInspector.TabBarItem): Set role to tab and tabIndex.
1160         (WebInspector.TabBarItem.prototype.set selected): Toggle aria-selected.
1161
1162 2015-07-09  Devin Rousso  <drousso@apple.com>
1163
1164         Web Inspector: Don't clear the console when navigating to a different page
1165         https://bugs.webkit.org/show_bug.cgi?id=142751
1166
1167         Reviewed by Timothy Hatcher.
1168
1169         * Localizations/en.lproj/localizedStrings.js:
1170         * UserInterface/Controllers/LogManager.js:
1171         (WebInspector.LogManager): No longer distinguishes from page refreshes and page navigations for console clearing.
1172         (WebInspector.LogManager.prototype._delayedMessagesCleared):
1173         (WebInspector.LogManager.prototype._mainResourceDidChange):
1174         * UserInterface/Views/LogContentView.js:
1175         (WebInspector.LogContentView.prototype._sessionStarted):
1176         (WebInspector.LogContentView.prototype._handleContextMenuEvent): Changed context menu keep/clear log text.
1177         (WebInspector.LogContentView.prototype._toggleClearLogOnNavigateSetting):
1178         (WebInspector.LogContentView.prototype._toggleClearLogOnReloadSetting): Deleted.
1179
1180 2015-07-09  Devin Rousso  <drousso@apple.com>
1181
1182         Web Inspector: Pseudo-element style ordering is wrong for pseudo-styles on unique selectors
1183         https://bugs.webkit.org/show_bug.cgi?id=146804
1184
1185         Reviewed by Timothy Hatcher.
1186
1187         * UserInterface/Models/CSSRule.js:
1188         (WebInspector.CSSRule.prototype.selectorIsGreater):
1189         Loops through the selectors in a rule to check if their specificity is greater than a given selector's specificity.
1190         * UserInterface/Models/CSSSelector.js:
1191         (WebInspector.CSSSelector.prototype.isGreaterThan):
1192         Determines if the given selector's specificity is greater than this selector's specificity.
1193         (WebInspector.CSSSelector):
1194         * UserInterface/Views/RulesStyleDetailsPanel.js:
1195         (WebInspector.RulesStyleDetailsPanel.prototype.refresh):
1196         If the pseudo-element selector's specificity is greater than the current selector's
1197         specificity, create the pseudo-element's section and add it before the current style.
1198
1199 2015-07-09  Devin Rousso  <drousso@apple.com>
1200
1201         Web Inspector: Special Logs to Console that do not have an expression should be styled differently, looks like code
1202         https://bugs.webkit.org/show_bug.cgi?id=143840
1203
1204         Reviewed by Timothy Hatcher.
1205
1206         * UserInterface/Controllers/JavaScriptLogViewController.js:
1207         (WebInspector.WebInspector.JavaScriptLogViewController.appendImmediateExecutionWithResult):
1208         Now applies a class to special logs initiated by the user (log element, log object, etc).
1209         * UserInterface/Views/ConsoleCommandView.js:
1210         (WebInspector.ConsoleCommandView): Added className parameter.
1211         * UserInterface/Views/ConsoleMessageView.css:
1212         (.console-user-command.selected-element-log):
1213         (.console-user-command.special-user-log > .console-message-text):
1214         * UserInterface/Views/DOMTreeOutline.js:
1215         (WebInspector.DOMTreeOutline.prototype._populateContextMenu.logElement):
1216         (WebInspector.DOMTreeOutline.prototype._populateContextMenu):
1217         * UserInterface/Views/ObjectPreviewView.js:
1218         (WebInspector.ObjectPreviewView.prototype._contextMenuHandler):
1219         * UserInterface/Views/ObjectTreeBaseTreeElement.js:
1220         (WebInspector.ObjectTreeBaseTreeElement.prototype._logSymbolProperty):
1221         (WebInspector.ObjectTreeBaseTreeElement.prototype._logValue):
1222
1223 2015-07-09  Devin Rousso  <drousso@apple.com>
1224
1225         Web Inspector: Checkbox disappears when unchecking CSS background style
1226         https://bugs.webkit.org/show_bug.cgi?id=146776
1227
1228         Reviewed by Timothy Hatcher.
1229
1230         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1231         (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers.update):
1232         (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers): Now uses _createCommentedCheckboxMarker.
1233         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createCommentedCheckboxMarker):
1234         Scans the content of the given lineHandle for any commented text and adds an unselected checkbox to
1235         the beginning of that lineHandle's line.
1236         (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update):
1237         (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent): Now adds commented checkbox markers.
1238
1239 2015-07-09  Nikita Vasilyev  <nvasilyev@apple.com>
1240
1241         Web Inspector: Align slider knobs in the color picker
1242         https://bugs.webkit.org/show_bug.cgi?id=146778
1243
1244         Also:
1245         - Use half pixel borders on retina
1246         - Remove one pixel white outline to match native OS X color picker more closely
1247
1248         Reviewed by Timothy Hatcher.
1249
1250         * UserInterface/Views/ColorPicker.css:
1251         (.color-picker > .slider > img):
1252         * UserInterface/Views/Slider.css:
1253         (.slider):
1254         (@media (-webkit-min-device-pixel-ratio: 2)):
1255
1256 2015-07-09  Matt Baker  <mattbaker@apple.com>
1257
1258         Web Inspector: Rendering Frame segment colors should match those used in original Timelines graph
1259         https://bugs.webkit.org/show_bug.cgi?id=146777
1260
1261         Reviewed by Brian Burg.
1262
1263         * UserInterface/Views/TimelineRecordFrame.css:
1264         (.timeline-record-frame > .frame > .duration):
1265         (.timeline-record-frame > .frame > .duration:last-child):
1266         (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-script):
1267         (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-layout):
1268         (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-paint):
1269         Use same RGB values as TimelineRecordBar.
1270
1271 2015-07-09  Matt Baker  <mattbaker@apple.com>
1272
1273         Web Inspector: New JavaScript/Probe breakpoint action disappears when clicking continue checkbox
1274         https://bugs.webkit.org/show_bug.cgi?id=146688
1275
1276         Reviewed by Brian Burg.
1277
1278         Delay removal of empty Evaluate and Probe actions until after the breakpoint popover has been dismissed. This
1279         will make the breakpoint editing experience less jarring, by preventing actions from disappearing when clicking
1280         other controls in the popover.
1281
1282         * UserInterface/Models/Breakpoint.js:
1283         (WebInspector.Breakpoint.prototype.didDismissPopover):
1284         Clear empty Evaluate and Probe actions on popover dismissal.
1285
1286         * UserInterface/Views/BreakpointActionView.js:
1287         (WebInspector.BreakpointActionView.prototype._codeMirrorBlurred):
1288         Don't remove actions with empty data on CodeMirror blur.
1289
1290 2015-07-09  Matt Baker  <mattbaker@apple.com>
1291
1292         Web Inspector: new breakpoint action dialog should reuse same action type
1293         https://bugs.webkit.org/show_bug.cgi?id=137255
1294
1295         Reviewed by Brian Burg.
1296
1297         * UserInterface/Views/BreakpointActionView.js:
1298         (WebInspector.BreakpointActionView.prototype._appendActionButtonClicked):
1299         Use the view's action type instead of the default.
1300
1301 2015-07-08  Devin Rousso  <drousso@apple.com>
1302
1303         Web Inspector: Copy Rule in the context menu copies hidden properties in the rule
1304         https://bugs.webkit.org/show_bug.cgi?id=146775
1305
1306         Reviewed by Timothy Hatcher.
1307
1308         * UserInterface/Views/CSSStyleDeclarationSection.js:
1309         (WebInspector.CSSStyleDeclarationSection.prototype._generateCSSRuleString):
1310         Now only uses properties from the rule's visibleProperties list.
1311
1312 2015-07-08  Timothy Hatcher  <timothy@apple.com>
1313
1314         Web Inspector: Add page weight and time back to the toolbar dashboard
1315         https://bugs.webkit.org/show_bug.cgi?id=146755
1316
1317         Revert r183328 which removed the page weight and load time from the dashboard. We have space
1318         in the dashboard, we can put these back since we didn't find a better home for them.
1319
1320         Reviewed by Joseph Pecoraro.
1321
1322         * Localizations/en.lproj/localizedStrings.js: Updated.
1323         * UserInterface/Base/Main.js:
1324         (WebInspector.showNetworkTab):
1325         * UserInterface/Images/Time.svg: Added.
1326         * UserInterface/Images/Weight.svg: Added.
1327         * UserInterface/Images/gtk/Time.svg: Added.
1328         * UserInterface/Images/gtk/Weight.svg: Added.
1329         * UserInterface/Models/DefaultDashboard.js:
1330         (WebInspector.DefaultDashboard):
1331         (WebInspector.DefaultDashboard.prototype.get resourcesSize):
1332         (WebInspector.DefaultDashboard.prototype.set resourcesSize):
1333         (WebInspector.DefaultDashboard.prototype.get time):
1334         (WebInspector.DefaultDashboard.prototype.set time):
1335         (WebInspector.DefaultDashboard.prototype._mainResourceDidChange):
1336         (WebInspector.DefaultDashboard.prototype._capturingStopped):
1337         (WebInspector.DefaultDashboard.prototype._startUpdatingTime):
1338         (WebInspector.DefaultDashboard.prototype._stopUpdatingTime):
1339         (WebInspector.DefaultDashboard.prototype._updateTime):
1340         * UserInterface/Views/DashboardContainerView.css:
1341         (body.web .toolbar .dashboard-container):
1342         (body.javascript .toolbar .dashboard-container):
1343         (.toolbar.collapsed .dashboard-container):
1344         (.toolbar .dashboard-container): Deleted.
1345         * UserInterface/Views/DefaultDashboardView.css:
1346         (body.web .toolbar.collapsed .dashboard.default > :matches(.resourcesSize, .time, .logs)):
1347         (body.javascript .toolbar .dashboard.default > :matches(.resourcesCount, .resourcesSize, .time)):
1348         (.toolbar .dashboard.default > .resourcesSize):
1349         (.toolbar .dashboard.default > .time > img):
1350         (.toolbar .dashboard.default > .resourcesSize > img):
1351         (body.web .toolbar.collapsed .dashboard.default > .item.resourcesCount): Deleted.
1352         (body.javascript .toolbar .dashboard.default > .item.resourcesCount): Deleted.
1353         * UserInterface/Views/DefaultDashboardView.js:
1354         (WebInspector.DefaultDashboardView):
1355         (WebInspector.DefaultDashboardView.prototype._updateDisplay):
1356         (WebInspector.DefaultDashboardView.prototype._networkItemWasClicked):
1357         (WebInspector.DefaultDashboardView.prototype._timelineItemWasClicked):
1358
1359 2015-07-08  Devin Rousso  <drousso@apple.com>
1360
1361         Web Inspector: Style sidebar is showing incorrect strikethroughs
1362         https://bugs.webkit.org/show_bug.cgi?id=146768
1363
1364         Reviewed by Timothy Hatcher.
1365
1366         * UserInterface/Models/DOMNodeStyles.js:
1367         (WebInspector.DOMNodeStyles.prototype._markOverriddenProperties):
1368         No longer sets the effective property as overridden if the overriding property is anonymous (not visible).
1369
1370 2015-07-08  Devin Rousso  <drousso@apple.com>
1371
1372         Web Inspector: Color swatches show up in color names in comments
1373         https://bugs.webkit.org/show_bug.cgi?id=146757
1374
1375         Reviewed by Timothy Hatcher.
1376
1377         * UserInterface/Views/CodeMirrorAdditions.js: Color markers now only appear if the color is in a keyword.
1378
1379 2015-07-08  Timothy Hatcher  <timothy@apple.com>
1380
1381         Web Inspector: Only record a timeline when the Timelines tab is showing
1382         https://bugs.webkit.org/show_bug.cgi?id=146759
1383
1384         Reviewed by Joseph Pecoraro.
1385
1386         * UserInterface/Controllers/TimelineManager.js:
1387         (WebInspector.TimelineManager.prototype.get autoCaptureOnPageLoad):
1388         (WebInspector.TimelineManager.prototype.set autoCaptureOnPageLoad):
1389         (WebInspector.TimelineManager.prototype._startAutoCapturing):
1390         * UserInterface/Views/TimelineTabContentView.js:
1391         (WebInspector.TimelineTabContentView.prototype.shown):
1392         (WebInspector.TimelineTabContentView.prototype.hidden):
1393
1394 2015-07-08  Timothy Hatcher  <timothy@apple.com>
1395
1396         Web Inspector: Details sidebar doesn't activate on first selected resource in Network tab
1397         https://bugs.webkit.org/show_bug.cgi?id=146691
1398
1399         Make sure the SelectionPathComponentsDidChange event is dispatched when the tree elements are selected.
1400         Selecting in the DataGrid selects the TreeElements, but onselect is not fired to avoid an inifinte loop.
1401
1402         Reviewed by Joseph Pecoraro.
1403
1404         * UserInterface/Views/NetworkGridContentView.js:
1405         (WebInspector.NetworkGridContentView): Hook up _treeElementSelected.
1406         (WebInspector.NetworkGridContentView.prototype._treeElementSelected): Added. Moved from
1407         NetworkSidebarPanel and added dispatch of SelectionPathComponentsDidChange event.
1408
1409         * UserInterface/Views/NetworkSidebarPanel.js:
1410         (WebInspector.NetworkSidebarPanel): Removed _treeElementSelected.
1411         (WebInspector.NetworkSidebarPanel.prototype.canShowDifferentContentView): Renamed from _canShowDifferentContentView.
1412         (WebInspector.NetworkSidebarPanel.prototype._canShowDifferentContentView): Deleted.
1413         (WebInspector.NetworkSidebarPanel.prototype._treeElementSelected): Moved to NetworkGridContentView.
1414
1415         * UserInterface/Views/TimelineView.js:
1416         (WebInspector.TimelineView.prototype.treeElementSelected): Dispatch SelectionPathComponentsDidChange event.
1417
1418 2015-07-08  Devin Rousso  <drousso@apple.com>
1419
1420         Web Inspector: Confusingly crossed out properties in .sidebar > .panel.navigation.timeline > .title-bar
1421         https://bugs.webkit.org/show_bug.cgi?id=146727
1422
1423         Reviewed by Timothy Hatcher.
1424
1425         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1426         (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update):
1427         The properties map used for refreshing each property now holds a list of properties for each line to ensure that
1428         if a duplicate property exists, it also gets refreshed.
1429
1430 2015-07-08  Devin Rousso  <drousso@apple.com>
1431
1432         Web Inspector: Can't select last row in the timeline because it's covered by filter selector
1433         https://bugs.webkit.org/show_bug.cgi?id=146603
1434
1435         Reviewed by Timothy Hatcher.
1436
1437         * UserInterface/Views/ScopeBar.js: Now adds a class to the scope bar if the default item is selected.
1438         * UserInterface/Views/LayoutTimelineView.js:
1439         * UserInterface/Views/NetworkTimelineView.js:
1440         * UserInterface/Views/TimelineDataGrid.css:
1441         (.data-grid.timeline > .navigation-bar-container): Deleted.
1442         (.data-grid.timeline.has-non-default-filter > .navigation-bar-container): Deleted.
1443         (.data-grid.timeline:hover > .navigation-bar-container): Deleted.
1444         (.data-grid.timeline > .navigation-bar-container > .navigation-bar): Deleted.
1445         (body.window-inactive .data-grid.timeline > .navigation-bar-container > .navigation-bar): Deleted.
1446         * UserInterface/Views/TimelineDataGrid.js:
1447         (WebInspector.TimelineDataGrid):
1448         (WebInspector.TimelineDataGrid.createColumnScopeBar):
1449         (WebInspector.TimelineDataGrid.prototype.updateLayout): Deleted.
1450         * UserInterface/Views/TimelineRecordingContentView.js:
1451         (WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
1452         * UserInterface/Views/TimelineSidebarPanel.css:
1453         (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
1454         (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events > .title-bar-scope-bar):
1455         (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events > .title-bar-scope-bar > .default-item-selected > .multiple):
1456         (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events > .title-bar-scope-bar > .default-item-selected > .multiple path):
1457         * UserInterface/Views/TimelineSidebarPanel.js:
1458         (WebInspector.TimelineSidebarPanel.set contentTreeOutlineScopeBar):
1459         Clears the title bar scope element and adds the given element as a child node.
1460         * UserInterface/Views/TimelineView.js:
1461         (WebInspector.TimelineView.prototype.get navigationSidebarTreeOutlineScopeBar):
1462         Returns the scope bar element of the current object if it exists.
1463
1464 2015-07-08  Devin Rousso  <drousso@apple.com>
1465
1466         Web Inspector: Clicking style checkbox selects the property name while mouse down
1467         https://bugs.webkit.org/show_bug.cgi?id=146728
1468
1469         Reviewed by Timothy Hatcher.
1470
1471         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1472         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseDown):
1473         Now returns if the click was not at the end of the line.
1474
1475 2015-07-08  Timothy Hatcher  <timothy@apple.com>
1476
1477         REGRESSION (r185629): Web Inspector: Filtering doesn't display any items if folders are used to organize the web page resources
1478         https://bugs.webkit.org/show_bug.cgi?id=146675
1479
1480         Reviewed by Joseph Pecoraro.
1481
1482         * UserInterface/Views/TreeOutline.js:
1483         (WebInspector.TreeElement.prototype.revealed): Added ignoreHidden parameter.
1484         (WebInspector.TreeElement.prototype.traverseNextTreeElement.shouldSkip): Pass true to ignore hidden elements.
1485         (WebInspector.TreeElement.prototype.traverseNextTreeElement): Populate up front like the old traverseNextTreeElement.
1486         This is needed to traverse into lazy populated tree elements. Don't call shouldSkip in the loop.
1487         (WebInspector.TreeElement.prototype.traversePreviousTreeElement.shouldSkip): Pass true to ignore hidden elements.
1488         (WebInspector.TreeElement.prototype.traversePreviousTreeElement): Add some newlines.
1489
1490 2015-07-08  Devin Rousso  <drousso@apple.com>
1491
1492         Web Inspector: Pressing delete in the styles sidebar with no text causes text to become misaligned
1493         https://bugs.webkit.org/show_bug.cgi?id=146715
1494
1495         Reviewed by Timothy Hatcher.
1496
1497         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1498         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleBeforeChange):
1499         Now returns if the change was in the first character of the first line.
1500
1501 2015-07-07  Nikita Vasilyev  <nvasilyev@apple.com>
1502
1503         Web Inspector: Use "hairline" borders on retina screen
1504         https://bugs.webkit.org/show_bug.cgi?id=146619
1505
1506         Reviewed by Timothy Hatcher.
1507
1508         * UserInterface/Views/CSSStyleDeclarationSection.css:
1509         (.style-declaration-section):
1510         (.style-declaration-section.locked):
1511         (.style-declaration-section:not(.locked)):
1512         (.style-declaration-section.last-in-group):
1513         (.style-declaration-section + .style-declaration-section):
1514         (.style-declaration-section.last-in-group + .style-declaration-section):
1515         (@media (-webkit-min-device-pixel-ratio: 2)):
1516         * UserInterface/Views/DetailsSection.css:
1517         (.details-section .details-section):
1518         (.details-section > .content > .group:nth-child(even)):
1519         (@media (-webkit-min-device-pixel-ratio: 2)):
1520         * UserInterface/Views/DividerNavigationItem.css:
1521         (@media (-webkit-min-device-pixel-ratio: 2)):
1522         * UserInterface/Views/RulesStyleDetailsPanel.css:
1523         (.sidebar > .panel.details.css-style .rules .label + .style-declaration-section):
1524         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label.filter-matching-label):
1525         (.sidebar > .panel.details.css-style > .content:not(.filter-in-progress) > .rules > .new-rule + .style-declaration-section):
1526         (.sidebar > .panel.details.css-style > .content:not(.filter-in-progress) > .rules > .new-rule + .label):
1527         (@media (-webkit-min-device-pixel-ratio: 2)):
1528
1529 2015-07-07  Devin Rousso  <drousso@apple.com>
1530
1531         Web Inspector: Pressing tab on a comment in the styles sidebar doesn't highlight the comment
1532         https://bugs.webkit.org/show_bug.cgi?id=146709
1533
1534         Reviewed by Timothy Hatcher.
1535
1536         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1537         (WebInspector.CSSStyleDeclarationTextEditor.prototype.selectFirstProperty):
1538         (WebInspector.CSSStyleDeclarationTextEditor.prototype.selectLastProperty):
1539         (WebInspector.CSSStyleDeclarationTextEditor.prototype._textAtCursorIsComment):
1540         (WebInspector.CSSStyleDeclarationTextEditor.prototype._highlightNextNameOrValue):
1541         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseUp):
1542         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleEnterKey):
1543         (WebInspector.CSSStyleDeclarationTextEditor.prototype._insertNewlineAfterCurrentLine):
1544         Determines if the text at the given cursor position in the given line is a comment.
1545         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey):
1546         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey):
1547
1548 2015-07-07  Devin Rousso  <drousso@apple.com>
1549
1550         Web Inspector: spacebar should pause/resume timeline recording when timelines are open
1551         https://bugs.webkit.org/show_bug.cgi?id=143267
1552
1553         Reviewed by Timothy Hatcher.
1554
1555         * Localizations/en.lproj/localizedStrings.js:
1556         * UserInterface/Views/TimelineTabContentView.js:
1557         (WebInspector.TimelineSidebarPanel): Added two new keyboard shortcuts: space and shift-space.
1558         (WebInspector.TimelineSidebarPanel.prototype.shown): Enables the keyboard shortcuts.
1559         (WebInspector.TimelineSidebarPanel.prototype.hidden): Disables the keyboard shortcuts.
1560         (WebInspector.TimelineSidebarPanel.prototype._toggleRecordingOnSpacebar):
1561         (WebInspector.TimelineSidebarPanel.prototype._toggleNewRecordingOnSpacebar):
1562         (WebInspector.TimelineSidebarPanel.prototype._toggleRecording): Starts/stops recording.
1563
1564 2015-07-07  Joseph Pecoraro  <pecoraro@apple.com>
1565
1566         Web Inspector: Improve names for unprefixed animation events
1567         https://bugs.webkit.org/show_bug.cgi?id=146708
1568
1569         Reviewed by Timothy Hatcher.
1570
1571         * UserInterface/Models/ScriptTimelineRecord.js:
1572
1573 2015-07-07  Timothy Hatcher  <timothy@apple.com>
1574
1575         Web Inspector: Timeline record bars are not white when the row is selected from the sidebar
1576         https://bugs.webkit.org/show_bug.cgi?id=146694
1577
1578         Reviewed by Joseph Pecoraro.
1579
1580         * UserInterface/Views/TimelineRecordBar.css:
1581         (:matches(:focus, .force-focus) .selected .timeline-record-bar > .segment):
1582         (:matches(:focus, .force-focus) .selected .timeline-record-bar > .segment.inactive):
1583         (:matches(:focus, .force-focus) .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
1584
1585 2015-07-07  Devin Rousso  <drousso@apple.com>
1586
1587         Web Inspector: Unnecessary space added after -webkit- prefixed property values
1588         https://bugs.webkit.org/show_bug.cgi?id=146671
1589
1590         Reviewed by Joseph Pecoraro.
1591
1592         * Tools/PrettyPrinting/css-rule-tests/do-not-add-whitespace-before-prefixed-property-value-expected.css: Added.
1593         * Tools/PrettyPrinting/css-rule-tests/do-not-add-whitespace-before-prefixed-property-value.css: Added.
1594         * Tools/PrettyPrinting/index.html:
1595         * UserInterface/Views/CodeMirrorFormatters.js: Now only adds a space if both the current and previous
1596         tokens are a property, value, or atom.
1597
1598 2015-07-07  Matt Baker  <mattbaker@apple.com>
1599
1600         Web Inspector: Pad ruler selection area by 1px in the Rendering Frames timeline overview
1601         https://bugs.webkit.org/show_bug.cgi?id=146248
1602
1603         Reviewed by Timothy Hatcher.
1604
1605         * UserInterface/Views/RenderingFrameTimelineOverview.js:
1606         Enable duration pixel alignment.
1607
1608         * UserInterface/Views/TimelineOverview.css:
1609         (.timeline-overview.frames > .timeline-ruler > .header > .divider):
1610         (.timeline-overview.frames > .timeline-ruler > .selection-handle.right):
1611         (.timeline-overview.frames > .timeline-ruler > .shaded-area.right):
1612         Shift ruler elements 1 pixel to the right, so that selection boundaries and dividers are
1613         positioned inside the gap between frame elements.
1614
1615         * UserInterface/Views/TimelineOverview.js:
1616         (WebInspector.TimelineOverview):
1617         (WebInspector.TimelineOverview.prototype.set secondsPerPixel):
1618         (WebInspector.TimelineOverview.prototype.get pixelAlignDuration):
1619         (WebInspector.TimelineOverview.prototype.set pixelAlignDuration):
1620         (WebInspector.TimelineOverview.prototype._handleWheelEvent):
1621         Added a property to force the overview graph to align duration units on the y-axis to pixel boundaries.
1622         When enabled, frame elements are displayed in integer widths while zooming, preventing subpixel blurring
1623         and maintaining a consistent 1 pixel gap between frames.
1624
1625 2015-07-07  Devin Rousso  <drousso@apple.com>
1626
1627         Web Inspector: Tabbing in the styles sidebar doesn't highlight the next section of text
1628         https://bugs.webkit.org/show_bug.cgi?id=146676
1629
1630         Reviewed by Timothy Hatcher.
1631
1632         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1633         (WebInspector.CSSStyleDeclarationTextEditor.prototype._highlightNextNameOrValue): Modified the logic to only search the
1634         remaining text after the current cursor position.
1635         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey): Now only searches for matches before the colon.
1636
1637 2015-07-07  Devin Rousso  <drousso@apple.com>
1638
1639         Web Inspector: Option+Click not jumping to resource
1640         https://bugs.webkit.org/show_bug.cgi?id=146498
1641
1642         Reviewed by Timothy Hatcher.
1643
1644         * UserInterface/Base/Main.js: Always show the tab which contains the represented object.
1645         (WebInspector._domNodeWasInspected):
1646         (WebInspector._frameWasAdded):
1647         (WebInspector.showConsoleTab):
1648         (WebInspector.showRepresentedObject): Removed forceShowTab parameter.
1649         (WebInspector.showMainFrameDOMTree):
1650         (WebInspector.showContentFlowDOMTree):
1651         (WebInspector.showSourceCodeForFrame):
1652         (WebInspector.showSourceCode):
1653         (WebInspector.showSourceCodeLocation):
1654         (WebInspector.showOriginalUnformattedSourceCodeLocation):
1655         (WebInspector.showOriginalOrFormattedSourceCodeLocation):
1656         (WebInspector.showOriginalOrFormattedSourceCodeTextRange):
1657         (WebInspector.showResourceRequest):
1658         * UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
1659         (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseButtonWasReleasedOverEditor):
1660         * UserInterface/Protocol/InspectorFrontendAPI.js:
1661         (InspectorFrontendAPI.showMainResourceForFrame):
1662         * UserInterface/Views/ComputedStyleDetailsPanel.js:
1663         (WebInspector.ComputedStyleDetailsPanel.prototype._goToContentFlowArrowWasClicked):
1664         (WebInspector.ComputedStyleDetailsPanel):
1665         * UserInterface/Views/ObjectTreeBaseTreeElement.js:
1666         (WebInspector.ObjectTreeBaseTreeElement.prototype._appendMenusItemsForObject):
1667         (WebInspector.ObjectTreeBaseTreeElement):
1668
1669 2015-07-07  Devin Rousso  <drousso@apple.com>
1670
1671         Web Inspector: Regression: CSS autocompletion suggestion applies on pressing delete
1672         https://bugs.webkit.org/show_bug.cgi?id=146672
1673
1674         Reviewed by Timothy Hatcher.
1675
1676         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1677         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleBeforeChange): Now returns if completions are showing.
1678
1679 2015-07-07  Nikita Vasilyev  <nvasilyev@apple.com>
1680
1681         Web Inspector: Properly align checkboxes in the styles sidebar
1682         https://bugs.webkit.org/show_bug.cgi?id=146673
1683
1684         Reviewed by Timothy Hatcher.
1685
1686         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
1687         (.css-style-text-editor > .CodeMirror .CodeMirror-lines input[type=checkbox]):
1688
1689 2015-07-06  Matt Baker  <mattbaker@apple.com>
1690
1691         Web Inspector: Rendering Frame bars appear misaligned and contain gaps when displaying small task segments
1692         https://bugs.webkit.org/show_bug.cgi?id=146475
1693
1694         Reviewed by Timothy Hatcher.
1695
1696         Displaying all task segments within a frame in the Rendering Frames graph is impossible, as very short tasks
1697         would result in a bar with a height of less than 1 pixel. Consecutive small tasks, each less than a visible
1698         pixel, appear as gaps in the frame bar. This patch addresses these shortcomings by introducing a minimum
1699         displayable frame height (3 pixels), and setting the height of every frame to a multiple of the minimum height.
1700
1701         * UserInterface/Base/Utilities.js:
1702         (.value):
1703         Added Math.roundTo to simplify rounding to arbitrary intervals.
1704
1705         * UserInterface/Views/TimelineRecordFrame.css:
1706         (.timeline-record-frame):
1707         (.timeline-record-frame > .frame > .duration):
1708         Enforce 3px min height for frames & segments. TimelineRenderingFrame's segment height calculator
1709         creates segments that are always at least 3px, this is just a precaution.
1710
1711         * UserInterface/Views/TimelineRecordFrame.js:
1712         (WebInspector.TimelineRecordFrame.prototype._calculateFrameDisplayData.updateDurationRemainder):
1713         (WebInspector.TimelineRecordFrame.prototype._calculateFrameDisplayData.pushCurrentSegment):
1714         (WebInspector.TimelineRecordFrame.prototype._calculateFrameDisplayData.invisibleSegments.forEach):
1715         (WebInspector.TimelineRecordFrame.prototype._updateChildElements.createDurationElement): Deleted.
1716         Added algorithm for calculating frame segment heights, rather than simply dividing each task's
1717         duration by the frame duration. Results are cached so the segment heights aren't needlessly
1718         recalculated on every scroll/zoom.
1719
1720 2015-07-06  Timothy Hatcher  <timothy@apple.com>
1721
1722         Web Inspector: Force show Console tab when supportsSplitContentBrowser is false
1723         https://bugs.webkit.org/show_bug.cgi?id=146661
1724
1725         Reviewed by Joseph Pecoraro.
1726
1727         * UserInterface/Base/Main.js:
1728         (WebInspector.showConsoleTab):
1729
1730 2015-07-06  Devin Rousso  <drousso@apple.com>
1731
1732         Web Inspector: Clearing the console does not remove the unread message icon
1733         https://bugs.webkit.org/show_bug.cgi?id=146649
1734
1735         Reviewed by Timothy Hatcher.
1736
1737         * UserInterface/Views/LogContentView.js:
1738         (WebInspector.LogContentView.prototype._clearLog): Removes the "unread" class from all scope bar items.
1739
1740 2015-07-02  Timothy Hatcher  <timothy@apple.com>
1741
1742         Web Inspector: Add a dedicated Network tab that is always live
1743         https://bugs.webkit.org/show_bug.cgi?id=146568
1744
1745         Reviewed by Joseph Pecoraro.
1746
1747         * Localizations/en.lproj/localizedStrings.js: Updated.
1748
1749         * UserInterface/Base/Main.js:
1750         (WebInspector.loaded):
1751         (WebInspector.isTabTypeAllowed):
1752         (WebInspector._tabContentViewForType):
1753         (WebInspector._updateNewTabButtonState):
1754         Add NetworkTabContentView to the right places.
1755
1756         * UserInterface/Controllers/TimelineManager.js:
1757         (WebInspector.TimelineManager):
1758         (WebInspector.TimelineManager.prototype.get persistentNetworkTimeline):
1759         (WebInspector.TimelineManager.prototype._mainResourceDidChange):
1760         (WebInspector.TimelineManager.prototype._resourceWasAdded):
1761         Add a persistent network timeline that always has all resources.
1762
1763         * UserInterface/Images/Network.svg: Added.
1764
1765         * UserInterface/Main.html: Added new files.
1766
1767         * UserInterface/Views/NavigationSidebarPanel.css:
1768         (.sidebar > .panel.navigation > .content):
1769         Drive-by fix. The bottom was off by one. This caused misalignment between sidebar and content view when
1770         scrolled all the way to the bottom of the content view.
1771
1772         * UserInterface/Views/NetworkGridContentView.css: Added.
1773         (.content-view.network-grid > .data-grid):
1774         (.content-view.network-grid > .data-grid th):
1775         (.content-view.network-grid > .data-grid td):
1776         (.content-view.network-grid > .data-grid table.data):
1777         Mostly copied from TimelineView.css and NetworkTimelineView.css.
1778
1779         * UserInterface/Views/NetworkGridContentView.js: Added.
1780         (WebInspector.NetworkGridContentView):
1781         (WebInspector.NetworkGridContentView.prototype.get navigationSidebarTreeOutline):
1782         (WebInspector.NetworkGridContentView.prototype.get selectionPathComponents):
1783         (WebInspector.NetworkGridContentView.prototype.get zeroTime):
1784         (WebInspector.NetworkGridContentView.prototype.shown):
1785         (WebInspector.NetworkGridContentView.prototype.hidden):
1786         (WebInspector.NetworkGridContentView.prototype.closed):
1787         (WebInspector.NetworkGridContentView.prototype.updateLayout):
1788         (WebInspector.NetworkGridContentView.prototype.needsLayout):
1789         (WebInspector.NetworkGridContentView.prototype.reset):
1790         (WebInspector.NetworkGridContentView.prototype._processPendingRecords):
1791         (WebInspector.NetworkGridContentView.prototype._networkTimelineReset):
1792         (WebInspector.NetworkGridContentView.prototype._networkTimelineRecordAdded):
1793         (WebInspector.NetworkGridContentView.prototype._treeElementPathComponentSelected):
1794         (WebInspector.NetworkGridContentView.prototype._dataGridNodeSelected):
1795         Mostly copied from NetworkTimelineView.
1796
1797         * UserInterface/Views/NetworkSidebarPanel.css: Added.
1798         (.sidebar > .panel.navigation.network > :matches(.content, .empty-content-placeholder)):
1799         (.sidebar > .panel.navigation.network > .navigation-bar):
1800         (.sidebar > .panel.navigation.network > .title-bar):
1801         (.sidebar > .panel.navigation.network.network-grid-content-view-showing > .content):
1802         (.sidebar > .panel.navigation.network .item:hover:not(.selected) .status .close.status-button):
1803         (.sidebar > .panel.navigation.network:not(.network-grid-content-view-showing) .status .go-to-arrow.status-button):
1804         (.sidebar > .panel.navigation.network.network-grid-content-view-showing .status .close.status-button):
1805         (.sidebar > .panel.navigation.network.network-grid-content-view-showing .navigation-sidebar-panel-content-tree-outline.network-grid .item .subtitle):
1806         (.sidebar > .panel.navigation.network > .content > .navigation-sidebar-panel-content-tree-outline):
1807         (.sidebar > .panel.navigation.network.network-grid-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline):
1808         Mostly copied from TimelineSidebarPanel.css and NetworkTimelineView.css.
1809
1810         * UserInterface/Views/NetworkSidebarPanel.js: Added.
1811         (WebInspector.NetworkSidebarPanel):
1812         (WebInspector.NetworkSidebarPanel.prototype.closed):
1813         (WebInspector.NetworkSidebarPanel.prototype.showDefaultContentView):
1814         (WebInspector.NetworkSidebarPanel.prototype.saveStateToCookie):
1815         (WebInspector.NetworkSidebarPanel.prototype.restoreStateFromCookie):
1816         (WebInspector.NetworkSidebarPanel.prototype.hasCustomFilters):
1817         (WebInspector.NetworkSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
1818         (WebInspector.NetworkSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
1819         (WebInspector.NetworkSidebarPanel.prototype.treeElementAddedOrChanged):
1820         (WebInspector.NetworkSidebarPanel.prototype._networkTimelineReset):
1821         (WebInspector.NetworkSidebarPanel.prototype._contentBrowserCurrentContentViewDidChange):
1822         (WebInspector.NetworkSidebarPanel.prototype._treeElementGoToArrowWasClicked):
1823         (WebInspector.NetworkSidebarPanel.prototype._treeElementCloseButtonClicked):
1824         (WebInspector.NetworkSidebarPanel.prototype._canShowDifferentContentView):
1825         (WebInspector.NetworkSidebarPanel.prototype._treeElementSelected):
1826         (WebInspector.NetworkSidebarPanel.prototype._scopeBarSelectionDidChange):
1827         A hybrid of ResourceSidebarPanel and TimelineSidebarPanel.
1828
1829         * UserInterface/Views/NetworkTabContentView.js: Added.
1830         (WebInspector.NetworkTabContentView):
1831         (WebInspector.NetworkTabContentView.prototype.get type):
1832         (WebInspector.NetworkTabContentView.prototype.canShowRepresentedObject):
1833
1834         * UserInterface/Views/NewTabContentView.js:
1835         (WebInspector.NewTabContentView): Add Network tab and sort the tabs by their localized name.
1836
1837         * UserInterface/Views/TabBar.js:
1838         (WebInspector.TabBar.prototype._handleNewTabClick):
1839         Drive-by fix. Don't fire the click event if the new tab button is disabled.
1840
1841 2015-07-06  Nikita Vasilyev  <nvasilyev@apple.com>
1842
1843         Web Inspector: Mark console filters that have unseen messages by colored dots
1844         https://bugs.webkit.org/show_bug.cgi?id=146616
1845
1846         Reviewed by Timothy Hatcher.
1847
1848         * UserInterface/Views/LogContentView.css:
1849         (.log-scope-bar > li.unread::before):
1850         (.log-scope-bar > li.unread:hover::before):
1851         (.log-scope-bar > li.unread.errors::before):
1852         (.log-scope-bar > li.unread.warnings::before):
1853         (.log-scope-bar > li.unread.logs::before):
1854         (@keyframes unread-background-pulse):
1855
1856 2015-07-06  Timothy Hatcher  <timothy@apple.com>
1857
1858         Web Inspector: Exceptions in Network timeline when resource updates and filters are applied
1859         https://bugs.webkit.org/show_bug.cgi?id=146609
1860
1861         Reviewed by Joseph Pecoraro.
1862
1863         * UserInterface/Views/DataGrid.js:
1864         (WebInspector.DataGrid.prototype.insertChild):
1865         (WebInspector.DataGrid.prototype.removeChild):
1866         (WebInspector.DataGridNode.prototype.savePosition):
1867         Convert exceptions to asserts and early returns.
1868
1869         * UserInterface/Views/TimelineDataGrid.js:
1870         (WebInspector.TimelineDataGrid.prototype._refreshDirtyDataGridNodes): Add some asserts and checks.
1871
1872         * UserInterface/Views/TreeOutline.js:
1873         (WebInspector.TreeOutline.prototype.appendChild):
1874         (WebInspector.TreeOutline.prototype.insertChild):
1875         (WebInspector.TreeOutline.prototype.removeChildAtIndex):
1876         (WebInspector.TreeOutline.prototype.removeChild):
1877         Convert exceptions to asserts and early returns.
1878
1879 2015-07-05  Timothy Hatcher  <timothy@apple.com>
1880
1881         Web Inspector: Cached resources are missing startTime and size in Network timeline
1882         https://bugs.webkit.org/show_bug.cgi?id=146607
1883
1884         Reviewed by Joseph Pecoraro.
1885
1886         * UserInterface/Controllers/FrameResourceManager.js:
1887         (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache): Pass elapsedTime in the right argument order.
1888         Add missing calls to Resource.increaseSize and Resource.increaseTransferSize.
1889         (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse): Pass elapsedTime in the right argument order.
1890
1891 2015-07-05  Timothy Hatcher  <timothy@apple.com>
1892
1893         Web Inspector: Dim more borders when the window is inactive
1894         https://bugs.webkit.org/show_bug.cgi?id=146608
1895
1896         Reviewed by Joseph Pecoraro.
1897
1898         * UserInterface/Views/DataGrid.css:
1899         (body.window-inactive .data-grid th):
1900         (body.window-inactive .data-grid :matches(th, td):not(:last-child)):
1901         * UserInterface/Views/NavigationSidebarPanel.css:
1902         (body.window-inactive .sidebar > .panel.navigation > .overflow-shadow):
1903         * UserInterface/Views/OverviewTimelineView.css:
1904         (body.window-inactive .timeline-view.overview > .timeline-ruler > .header):
1905         * UserInterface/Views/TimelineDataGrid.css:
1906         (body.window-inactive .data-grid.timeline th):
1907         (body.window-inactive .data-grid.timeline > .navigation-bar-container > .navigation-bar):
1908         * UserInterface/Views/TimelineRuler.css:
1909         (body.window-inactive .timeline-ruler > .header):
1910         (body.window-inactive .timeline-ruler > .header > .divider):
1911         * UserInterface/Views/TimelineSidebarPanel.css:
1912         (body.window-inactive .sidebar > .panel.navigation.timeline > .status-bar):
1913         (body.window-inactive .sidebar > .panel.navigation.timeline > .title-bar):
1914         (body.window-inactive .sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
1915
1916 2015-07-05  Timothy Hatcher  <timothy@apple.com>
1917
1918         Web Inspector: Timeline row selection should have same background color in sidebar and data grid
1919         https://bugs.webkit.org/show_bug.cgi?id=146606
1920
1921         Support a force-focus class name that TreeOutlineDataGridSynchronizer applies when one of the
1922         elements is focused, so the other can look focused too.
1923
1924         Reviewed by Joseph Pecoraro.
1925
1926         * UserInterface/Views/DataGrid.css:
1927         (.data-grid:matches(:focus, .force-focus) tr.selected td:not(:last-child)):
1928         (.data-grid:matches(:focus, .force-focus) tr.parent.selected td.disclosure::before):
1929         (.data-grid:matches(:focus, .force-focus) tr.parent.expanded.selected td.disclosure::before):
1930         (.data-grid:matches(:focus, .force-focus) tr.selected):
1931         (.data-grid:matches(:focus, .force-focus) tr.selected td .subtitle):
1932
1933         * UserInterface/Views/Main.css:
1934         (:matches(:focus, .force-focus) .selected .go-to-arrow):
1935         (:matches(:focus, .force-focus) .selected .go-to-arrow:active):
1936
1937         * UserInterface/Views/NavigationSidebarPanel.css:
1938         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .disclosure-button):
1939         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected.expanded .disclosure-button):
1940         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected):
1941         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .subtitle):
1942
1943         * UserInterface/Views/TreeElementStatusButton.css:
1944         (:matches(:focus, .force-focus) .item.selected > .status > .status-button > svg .filled):
1945         (:matches(:focus, .force-focus) .item.selected > .status > .status-button > svg .stroked):
1946
1947         * UserInterface/Views/TreeOutlineDataGridSynchronizer.js:
1948         (WebInspector.TreeOutlineDataGridSynchronizer):
1949         (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridGainedFocus): Added.
1950         (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridLostFocus): Added.
1951         (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeOutlineGainedFocus): Added.
1952         (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeOutlineLostFocus): Added.
1953
1954 2015-07-05  Devin Rousso  <drousso@apple.com>
1955
1956         Web Inspector: Deleting in the CSS sidebar causes the warning icon to appear mid-word
1957         https://bugs.webkit.org/show_bug.cgi?id=146617
1958
1959         Reviewed by Timothy Hatcher.
1960
1961         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1962         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleBeforeChange): Now removes all marks whenever the user deletes.
1963         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): The invalid marker now calculates
1964         it's position based off of where the semicolon is in the property text.
1965
1966 2015-07-05  Devin Rousso  <drousso@apple.com>
1967
1968         Web Inspector: CSS rule with 2 pseudo-selectors appears twice
1969         https://bugs.webkit.org/show_bug.cgi?id=146576
1970
1971         Reviewed by Timothy Hatcher.
1972
1973         * UserInterface/Views/RulesStyleDetailsPanel.js:
1974         (WebInspector.RulesStyleDetailsPanel.prototype.refresh):
1975         Only adds pseudo-elements if the previous pseudo-element has a different selector.
1976
1977 2015-07-04  Devin Rousso  <drousso@apple.com>
1978
1979         Web Inspector: Wrong cursor position in styles panel when deleting a line break
1980         https://bugs.webkit.org/show_bug.cgi?id=146577
1981
1982         Reviewed by Timothy Hatcher.
1983
1984         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1985         (WebInspector.CSSStyleDeclarationTextEditor):
1986         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleBeforeChange): If the change is a deletion at the beginning of a line,
1987         remove all markers on that line to ensure that there is no blank space on the previous line after deleting.
1988
1989 2015-07-04  Devin Rousso  <drousso@apple.com>
1990
1991         Web Inspector: Pressing tab on a newline in the console should insert a tab character
1992         https://bugs.webkit.org/show_bug.cgi?id=146612
1993
1994         Reviewed by Timothy Hatcher.
1995
1996         * UserInterface/Views/ConsolePrompt.js:
1997         (WebInspector.ConsolePrompt.prototype._handleTabKey): Tabs can now be inserted at the beginning of newlines and before the first
1998         non-space character on any other line.
1999
2000 2015-07-04  Devin Rousso  <drousso@apple.com>
2001
2002         Web Inspector: Pressing enter on a newline in the styles sidebar inserts a semicolon
2003         https://bugs.webkit.org/show_bug.cgi?id=146611
2004
2005         Reviewed by Timothy Hatcher.
2006
2007         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2008         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleEnterKey): Now returns if the line is empty.
2009
2010 2015-07-04  Devin Rousso  <drousso@apple.com>
2011
2012         Web Inspector: Console should indicate if you have unseen messages in console due to filters
2013         https://bugs.webkit.org/show_bug.cgi?id=143166
2014
2015         Reviewed by Timothy Hatcher.
2016
2017         * UserInterface/Controllers/JavaScriptLogViewController.js:
2018         (WebInspector.JavaScriptLogViewController.prototype.updatePreviousMessageRepeatCount): Now returns true/false depending on if
2019         the message count was actually updated.
2020         * UserInterface/Views/LogContentView.css:
2021         (.log-scope-bar > li.unread): Applies the unread-border-pulse keyframe animation.
2022         (.log-scope-bar > li.unread.errors): The pulsing border is colored red.
2023         (.log-scope-bar > li.unread.warnings): The pulsing border is colored yellow(ish).
2024         (.log-scope-bar > li.unread.logs): The pulsing border is colored grey.
2025         (@keyframes unread-border-pulse): Changes the color of the border from transparent to whatever is specificed.
2026         * UserInterface/Views/LogContentView.js:
2027         (WebInspector.LogContentView):
2028         (WebInspector.LogContentView.prototype._determineMessageLevel):
2029         (WebInspector.LogContentView.prototype._pulseScopeBarItemBorder): Adds the class "unread" to the scope bar item whose panel
2030         the newest message belongs to, but only if that panel or the All panel is not visible.
2031         (WebInspector.LogContentView.prototype._messageAdded):
2032         (WebInspector.LogContentView.prototype._previousMessageRepeatCountUpdated):
2033         (WebInspector.LogContentView.prototype._scopeBarSelectionDidChange): Clears the "unread" class on the selected scope bar item.
2034         (WebInspector.LogContentView.prototype._filterMessageElements):
2035         * UserInterface/Views/ScopeBar.js:
2036         (WebInspector.ScopeBar.prototype.get items): Returns a list of all the items in the scope bar.
2037         * UserInterface/Views/ScopeBarItem.js:
2038         (WebInspector.ScopeBarItem): Added another parameter to allow for a custom class name.
2039
2040 2015-07-04  Devin Rousso  <drousso@apple.com>
2041
2042         Web Inspector: Pseudo Styles Ordering and Media Queries
2043         https://bugs.webkit.org/show_bug.cgi?id=145979
2044
2045         Reviewed by Timothy Hatcher.
2046
2047         * UserInterface/Views/RulesStyleDetailsPanel.css:
2048         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label:not(.filter-section-non-matching) + .label.filter-matching-label:not(.filter-section-non-matching)):
2049         Fix filter label styling with pseudo selectors.
2050         * UserInterface/Views/RulesStyleDetailsPanel.js:
2051         (WebInspector.RulesStyleDetailsPanel.prototype.refresh): Pseudo-selector rules will now order directly after the last style that
2052         matches the pseudo-selector without the pseudo-element.  If no rules match, place the pseudo-selector rules above the first
2053         inherited or UserAgent rule (whichever comes first).
2054
2055 2015-07-04  Devin Rousso  <drousso@apple.com>
2056
2057         REGRESSION(r184000): Web Inspector: Multiline CSS in Styles Sidebar is marked as invalid
2058         https://bugs.webkit.org/show_bug.cgi?id=146178
2059
2060         Reviewed by Timothy Hatcher.
2061
2062         First changes made by Tobias Reiss  <tobi+webkit@basecode.de>
2063
2064         * Tools/PrettyPrinting/css-rule-tests/add-whitespace-between-values-expected.css: Added.
2065         * Tools/PrettyPrinting/css-rule-tests/add-whitespace-between-values.css: Added.
2066         * Tools/PrettyPrinting/css-rule-tests/add-whitespace-between-rules-expected.css: Added.
2067         * Tools/PrettyPrinting/css-rule-tests/add-whitespace-between-rules.css: Added.
2068         * Tools/PrettyPrinting/css-rule-tests/remove-newline-between-values-expected.css: Added.
2069         * Tools/PrettyPrinting/css-rule-tests/remove-newline-between-values.css: Added.
2070         * Tools/PrettyPrinting/index.html:
2071         Add regression tests.
2072         * UserInterface/Views/CodeMirrorFormatters.js:
2073         Remove newlines before values that belong in one line and add whitespace between values. 
2074
2075 2015-07-04  Nikita Vasilyev  <nvasilyev@apple.com>
2076
2077         Web Inspector: The arrow that appears for Web Inspector Layout & Rendering records overlaps the category switcher
2078         https://bugs.webkit.org/show_bug.cgi?id=146605
2079
2080         Reviewed by Timothy Hatcher.
2081
2082         * UserInterface/Views/TimelineDataGrid.css:
2083         (.data-grid.timeline > .navigation-bar-container):
2084
2085 2015-07-03  Dan Bernstein  <mitz@apple.com>
2086
2087         [Xcode] Update some build settings as recommended by Xcode 7
2088         https://bugs.webkit.org/show_bug.cgi?id=146597
2089
2090         Reviewed by Sam Weinig.
2091
2092         * Configurations/Base.xcconfig: Enabled CLANG_WARN_UNREACHABLE_CODE and
2093         GCC_NO_COMMON_BLOCKS.
2094         * WebInspectorUI.xcodeproj/project.pbxproj: Updated LastUpgradeCheck.
2095
2096 2015-07-02  Devin Rousso  <drousso@apple.com>
2097
2098         Web Inspector: Show suggest popover on Tab press even if it wasn't showing before
2099         https://bugs.webkit.org/show_bug.cgi?id=146496
2100
2101         Reviewed by Timothy Hatcher.
2102
2103         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2104         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey): Pressing tab will try to autocomplete before trying
2105         to add an ending colon/semicolon or highlight the next section of text.
2106
2107 2015-07-01  Joseph Pecoraro  <pecoraro@apple.com>
2108
2109         Web Inspector: Aggregate profile call information on the backend to drastically reduce profile sizes
2110         https://bugs.webkit.org/show_bug.cgi?id=146536
2111
2112         Reviewed by Timothy Hatcher.
2113
2114         Since we still support legacy backends, the frontend documents where
2115         it is handling legacy backends with compatibility comments.
2116
2117         * UserInterface/Models/ProfileNode.js:
2118         (WebInspector.ProfileNode):
2119         (WebInspector.ProfileNode.prototype.get callInfo):
2120         Handle a ProfileNode created with callInfo or calls. They are mutually exclusive.
2121
2122         * UserInterface/Models/ScriptTimelineRecord.js:
2123         (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload.profileNodeFromPayload):
2124         If the profile has per-call information, construct ProfileNodeCall objects, otherwise
2125         just construct the ProfileNode with the aggregate callInfo value.
2126
2127         * UserInterface/Views/ScriptTimelineDataGridNode.js:
2128         (WebInspector.ScriptTimelineDataGridNode.prototype.get data):
2129         When we have aggregate call information we cannot easily partition a script,
2130         so we instead treat the entire script as one large atomic unit in the timeline.
2131         If the timeline range has any portion of the script, show the entire script.
2132         Users used to be able to select a portion of a script and view the relevant
2133         functions called in just that sliver, but this doesn't appear to be a well
2134         known feature or commonly used. In fact, given the small ranges of time it
2135         could be confusing for users.
2136
2137         * UserInterface/Views/TimelineRecordingContentView.js:
2138         (WebInspector.TimelineRecordingContentView.prototype.matchTreeElementAgainstCustomFilters):
2139         Treat as a discrete unit.
2140
2141 2015-07-01  Devin Rousso  <drousso@apple.com>
2142
2143         Web Inspector: When autocompleting, pressing tab twice shouldn't insert a tab character
2144         https://bugs.webkit.org/show_bug.cgi?id=145885
2145
2146         Reviewed by Timothy Hatcher.
2147
2148         * UserInterface/Controllers/CodeMirrorCompletionController.js:
2149         (WebInspector.CodeMirrorCompletionController):
2150         (WebInspector.CodeMirrorCompletionController.prototype.updateCompletions): Resolves the promise as having completions.
2151         (WebInspector.CodeMirrorCompletionController.prototype.hideCompletions): Resolves the promise as not having completions.
2152         (WebInspector.CodeMirrorCompletionController.prototype.completeAtCurrentPositionIfNeeded): Returns a WrappedPromise that allows
2153         callers of this function to determine if the autocomplete had any values or was instead not shown.
2154         (WebInspector.CodeMirrorCompletionController.prototype._resolveUpdatePromise):
2155         * UserInterface/Main.html: Added WrappedPromise class.
2156         * UserInterface/Models/WrappedPromise.js: Added WrappedPromise object to expose resolve and reject functions.
2157         * UserInterface/Views/ConsolePrompt.js:
2158         (WebInspector.ConsolePrompt.prototype._handleTabKey): Attempts to find completions for current text.  If there are none, beep.
2159
2160 2015-07-01  Devin Rousso  <drousso@apple.com>
2161
2162         Make the first click on a rule section create a newline for easy property addition
2163         https://bugs.webkit.org/show_bug.cgi?id=146490
2164
2165         Reviewed by Timothy Hatcher.
2166
2167         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2168         (WebInspector.CSSStyleDeclarationTextEditor):
2169         (WebInspector.CSSStyleDeclarationTextEditor.prototype._highlightNextNameOrValue):
2170         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleEnterKey): Inserts a semicolon if the line is missing one.
2171         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseDown): If the user clicks on a property with the editor being
2172         unfocused, the name/value containing the cursor will be highlighted.  If instead the user clicks at the end of a line, the
2173         cursor's position is saved for mouseUp.
2174         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseUp): If the mouseDown cursor position was saved and is equal
2175         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.
2176         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey):
2177         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey.highlightNextNameOrValue): Deleted.
2178
2179 2015-06-30  Devin Rousso  <drousso@apple.com>
2180
2181         Web Inspector: add " = $0" hint after selected element in main DOMTreeOutline
2182         https://bugs.webkit.org/show_bug.cgi?id=145739
2183
2184         Reviewed by Timothy Hatcher.
2185
2186         * UserInterface/Views/DOMTreeOutline.css: Adds a semi-opaque " = $0" to the selected element in the DOM tree.
2187         (.dom-tree-outline li.selected > span::after):
2188         (.dom-tree-outline:focus li.selected > span::after):
2189
2190 2015-06-30  Joseph Pecoraro  <pecoraro@apple.com>
2191
2192         Web Inspector: ProfileNode cleanup
2193         https://bugs.webkit.org/show_bug.cgi?id=146472
2194
2195         Reviewed by Timothy Hatcher.
2196
2197         * UserInterface/Models/ProfileNode.js:
2198         (WebInspector.ProfileNode):
2199         Use Array.prototype.every instead of reduce.
2200         Correct the name of a function to be what callers expect!
2201
2202 2015-06-30  Joseph Pecoraro  <pecoraro@apple.com>
2203
2204         Web Inspector: iOS 8: Profile Nodes not showing in JavaScript Timeline
2205         https://bugs.webkit.org/show_bug.cgi?id=146471
2206
2207         Reviewed by Brian Burg.
2208
2209         * UserInterface/Models/ScriptTimelineRecord.js:
2210         (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload.profileNodeCallFromPayload):
2211         For legacy backends, convert the startTime to the proper timestamp type.
2212
2213 2015-06-30  Matt Baker  <mattbaker@apple.com>
2214
2215         Web Inspector: Reduce rendering frames "Other" time by instrumenting compositing
2216         https://bugs.webkit.org/show_bug.cgi?id=146168
2217
2218         Reviewed by Brian Burg.
2219
2220         * Localizations/en.lproj/localizedStrings.js:
2221         * UserInterface/Controllers/TimelineManager.js:
2222         (WebInspector.TimelineManager.prototype._processRecord):
2223         Added handling for new Composite record type. Paint records with a parent Composite record
2224         are flagged to simplify processing after the event hierarchy is unpacked.
2225
2226         * UserInterface/Images/TimelineRecordComposite.svg: Added.
2227         New composite record icon.
2228
2229         * UserInterface/Models/LayoutTimelineRecord.js:
2230         (WebInspector.LayoutTimelineRecord):
2231         (WebInspector.LayoutTimelineRecord.displayNameForEventType):
2232         (WebInspector.LayoutTimelineRecord.prototype.get duringComposite): Added
2233         Composite record support.
2234
2235         * UserInterface/Models/RenderingFrameTimelineRecord.js:
2236         (WebInspector.RenderingFrameTimelineRecord.prototype.durationForTask.get validRecordForTaskType):
2237         Add compositing time when bucketing runloop tasks, ignoring Paint events that are
2238         contained within a Composite event.
2239
2240         * UserInterface/Views/LayoutTimelineOverviewGraph.js:
2241         (WebInspector.LayoutTimelineOverviewGraph.prototype._layoutTimelineRecordAdded):
2242         Add Composite records to paint timeline row.
2243
2244         * UserInterface/Views/RenderingFrameTimelineView.js:
2245         (WebInspector.RenderingFrameTimelineView.prototype._processPendingRecords):
2246         Small unrelated fix.
2247
2248         * UserInterface/Views/TimelineIcons.css:
2249         (.composite-record .icon):
2250         * UserInterface/Views/TimelineRecordBar.css:
2251         (.timeline-record-bar.timeline-record-type-layout.layout-timeline-record-composite > .segment):
2252         * UserInterface/Views/TimelineRecordTreeElement.js:
2253         (WebInspector.TimelineRecordTreeElement):
2254         New styles and tree element icon.
2255
2256 2015-06-30  Joseph Pecoraro  <pecoraro@apple.com>
2257
2258         Web Inspector: iOS 8: Uncaught Exception expanding Object Prototype
2259         https://bugs.webkit.org/show_bug.cgi?id=146427
2260
2261         Reviewed by Timothy Hatcher.
2262
2263         * UserInterface/Views/ObjectTreePropertyTreeElement.js:
2264         (WebInspector.ObjectTreePropertyTreeElement.prototype._updateProperties):
2265         * UserInterface/Views/ObjectTreeView.js:
2266         (WebInspector.ObjectTreeView.prototype._updateProperties):
2267         We are supposed to receive value properties for __proto__ properties
2268         so that we can immediately start showing information about the property.
2269         When that is not the case, which appeared to only be on legacy
2270         backends for the top level prototype, just ignore it.
2271
2272 2015-06-30  Joseph Pecoraro  <pecoraro@apple.com>
2273
2274         Web Inspector: Misc. Timeline cleanup
2275         https://bugs.webkit.org/show_bug.cgi?id=146430
2276
2277         Reviewed by Timothy Hatcher.
2278
2279         * UserInterface/Models/Timeline.js:
2280         (WebInspector.Timeline.prototype.reset):
2281         Nobody listens for this event. Just remove it.
2282
2283         * UserInterface/Models/TimelineRecording.js:
2284         Avoiding doing multiple lookups.
2285
2286         * UserInterface/Views/TimelineDataGridNode.js:
2287         * UserInterface/Views/TimelineRecordingContentView.js:
2288         (WebInspector.TimelineRecordingContentView.prototype._updateTimes):
2289         * UserInterface/Views/TimelineView.js:
2290         (WebInspector.TimelineView.prototype.updateLayout):
2291         Eliminate some unnecessary deletes.
2292
2293 2015-06-29  Nikita Vasilyev  <nvasilyev@apple.com>
2294
2295         Web Inspector: Unable to select the text of an inline error message
2296         https://bugs.webkit.org/show_bug.cgi?id=145813
2297
2298         Reviewed by Timothy Hatcher.
2299
2300         * UserInterface/Views/CodeMirrorOverrides.css:
2301         (.CodeMirror-linewidget):
2302         * UserInterface/Views/TextEditor.js:
2303         (WebInspector.TextEditor.prototype.createWidgetForLine):
2304
2305 2015-06-29  Joseph Pecoraro  <pecoraro@apple.com>
2306
2307         Web Inspector: Remove harmless error for not getting named flows
2308         https://bugs.webkit.org/show_bug.cgi?id=146417
2309
2310         Reviewed by Darin Adler.
2311
2312         * UserInterface/Controllers/DOMTreeManager.js:
2313
2314 2015-06-29  Joseph Pecoraro  <pecoraro@apple.com>
2315
2316         Web Inspector: Network errors (404) are missing location link in console messages
2317         https://bugs.webkit.org/show_bug.cgi?id=146442
2318
2319         Reviewed by Darin Adler.
2320
2321         * UserInterface/Views/ConsoleMessageView.js:
2322         (WebInspector.ConsoleMessageView.prototype._appendLocationLink):
2323         Restore behavior of adding a location link for network messages with urls.
2324
2325 2015-06-29  Joseph Pecoraro  <pecoraro@apple.com>
2326
2327         Web Inspector: iOS 8: Resources Timeline Data does not show up
2328         https://bugs.webkit.org/show_bug.cgi?id=146433
2329
2330         Reviewed by Timothy Hatcher.
2331
2332         There were a couple issues with initializing the legacy base timestamp
2333         for attempting to dynamically compute monotonically increasing timestamps
2334         for timeline events for legacy backends.
2335
2336             * Sometimes legacy timestamps were in seconds since epochs,
2337               sometimes milliseconds. The frontend did not handle both.
2338
2339             * On navigations, even while resetting the base timestamp for
2340               the first new record received, the main resource still had
2341               a will send request time computed from the previous page's
2342               time system. This patch re-uses the original timestamp for
2343               this main resource as the new base and all future records
2344               are computed relative to this.
2345
2346         * UserInterface/Controllers/FrameResourceManager.js:
2347         (WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent):
2348         (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame):
2349         * UserInterface/Models/Resource.js:
2350         (WebInspector.Resource):
2351         (WebInspector.Resource.prototype.get originalRequestWillBeSentTimestamp):
2352         For legacy timestamp calculations, save the original request will be sent
2353         timestamp on the Resource in case it is needed.
2354
2355         * UserInterface/Controllers/TimelineManager.js:
2356         (WebInspector.TimelineManager.prototype._loadNewRecording):
2357         When auto-starting a new recording for a navigation / reload, use the
2358         main resource's request will be sent timestamp as the new base.
2359
2360         * UserInterface/Models/TimelineRecording.js:
2361         Address legacy timeline timestamps by handling both legacy timestamps
2362         that may be seconds / milliseconds.
2363
2364 2015-06-29  Joseph Pecoraro  <pecoraro@apple.com>
2365
2366         REGRESSION: Web Inspector: Jump to Definition is broken
2367         https://bugs.webkit.org/show_bug.cgi?id=146376
2368
2369         Reviewed by Timothy Hatcher.
2370
2371         * UserInterface/Views/ObjectTreeBaseTreeElement.js:
2372         (WebInspector.ObjectTreeBaseTreeElement.prototype._appendMenusItemsForObject):
2373         Allow changing tabs when jumping to function definition.
2374
2375 2015-06-28  Nikita Vasilyev  <nvasilyev@apple.com>
2376
2377         Web Inspector: Wrong border color of console messages when filters are enabled
2378         https://bugs.webkit.org/show_bug.cgi?id=146392
2379
2380         Reviewed by Timothy Hatcher.
2381
2382         * UserInterface/Views/LogContentView.css:
2383         (.console-error-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
2384         (.console-warning-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
2385
2386 2015-06-25  Matt Baker  <mattbaker@apple.com>
2387
2388         Web Inspector: Wrong timeline selected after switching from Rendering Frames to Timelines
2389         https://bugs.webkit.org/show_bug.cgi?id=146331
2390
2391         Reviewed by Timothy Hatcher.
2392
2393         * UserInterface/Views/TimelineSidebarPanel.js:
2394         Set previously selected timeline type to null if no tree element is selected when switching
2395         view mode to Rendering Frames.
2396
2397 2015-06-25  Joseph Pecoraro  <pecoraro@apple.com>
2398
2399         [Mac] Web Inspector: Window dragging on toolbar should behave more like native window dragging
2400         https://bugs.webkit.org/show_bug.cgi?id=146324
2401
2402         Reviewed by Timothy Hatcher.
2403
2404         * UserInterface/Base/Main.js:
2405         On Mac 10.11 transition to using InspectorFrontendHost.startWindowDrag.
2406         For older Macs continue to use InspectorFrontendHost.moveWindowBy.
2407         
2408         * UserInterface/Protocol/InspectorFrontendHostStub.js:
2409         (WebInspector.InspectorFrontendHostStub.prototype.startWindowDrag):
2410         Add the stub for InspectorFrontendHostStub.
2411
2412 2015-06-24  Devin Rousso  <drousso@apple.com>
2413
2414         Web Inspector: Pressing tab in the styles sidebar shouldn't insert a tab character
2415         https://bugs.webkit.org/show_bug.cgi?id=146189
2416
2417         Reviewed by Timothy Hatcher.
2418
2419         * UserInterface/Controllers/CodeMirrorCompletionController.js: Added variable to control whether semicolons are added to the end of autocompleted css values.
2420         (WebInspector.CodeMirrorCompletionController):
2421         (WebInspector.CodeMirrorCompletionController.prototype.set noEndingSemicolon):
2422         (WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions):
2423         * UserInterface/Views/CSSStyleDeclarationSection.js:
2424         (WebInspector.CSSStyleDeclarationSection):
2425         (WebInspector.CSSStyleDeclarationSection.prototype.cssStyleDeclarationTextEditorSwitchRule):
2426         (WebInspector.CSSStyleDeclarationSection.prototype.focusRuleSelector):
2427         (WebInspector.CSSStyleDeclarationSection.prototype.selectLastProperty):
2428         (WebInspector.CSSStyleDeclarationSection.prototype.get selectorLocked):
2429         (WebInspector.CSSStyleDeclarationSection.prototype.get locked):
2430         (WebInspector.CSSStyleDeclarationSection.prototype._handleKeyDown):
2431         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2432         (WebInspector.CSSStyleDeclarationTextEditor): Added functions for "Tab", "Shift-Tab", and "Shift-Enter" keypresses to improve usability.
2433         (WebInspector.CSSStyleDeclarationTextEditor.prototype.selectFirstProperty): Highlights the first property.
2434         (WebInspector.CSSStyleDeclarationTextEditor.prototype.selectLastProperty): Highlights the last property.
2435         (WebInspector.CSSStyleDeclarationTextEditor.prototype._insertNewlineAfterCurrentLine): Inserts a newline after the currently selected line.
2436         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey.switchRule):
2437         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey): Pressing shift-tab will move the cursor to the previous non-word character that is immediately after a word character.
2438         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey.switchRule):
2439         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey.highlightNextNameOrValue):
2440         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey): Pressing tab will move the cursor to each space character until the end of the line is reached, at
2441         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.
2442         * UserInterface/Views/RulesStyleDetailsPanel.js:
2443         (WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionEditorNextRule): Switches the focused rule to the next section.
2444         (WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionEditorPrevRule): Switches the focused rule to the previous section.
2445
2446 2015-06-24  Joseph Pecoraro  <pecoraro@apple.com>
2447
2448         Web Inspector: console.group looks poor in console
2449         https://bugs.webkit.org/show_bug.cgi?id=146295
2450
2451         Reviewed by Timothy Hatcher.
2452
2453         * Localizations/en.lproj/localizedStrings.js:
2454         String for the default group name if you use console.group() without a name parameter.
2455
2456         * UserInterface/Views/LogContentView.css:
2457         (.console-group-title::before):
2458         Tweak the positioning and eliminate the log level ::before image.
2459
2460         * UserInterface/Views/ConsoleMessageView.js:
2461         (WebInspector.ConsoleMessageView):
2462         Reorder a bit to reduce a couple branches.
2463
2464         (WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
2465         Take a very straightforward approach for group names.
2466
2467 2015-06-24  Devin Rousso  <drousso@apple.com>
2468
2469         Web Inspector: Show warning icon for invalid CSS properties and/or values
2470         https://bugs.webkit.org/show_bug.cgi?id=145657
2471
2472         Reviewed by Timothy Hatcher.
2473
2474         * UserInterface/Models/CSSCompletions.js:
2475         (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.
2476         (WebInspector.CSSCompletions.prototype.propertyRequiresWebkitPrefix): Retruns if the property name exists only with a '-webkit-' prefix.
2477         (WebInspector.CSSCompletions):
2478         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
2479         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .invalid-warning-marker):
2480         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .invalid-warning-marker.clickable:hover):
2481         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2482         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded.duplicatePropertyExistsBelow): Determines if there exists a property below (visually) the given property that has the same name.
2483         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded.generateInvalidMarker): Creates a warning icon marker at the given position with the given title.
2484         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded.instancesOfProperty): Returns the number of properties in the rule that have the same name.
2485         (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.
2486
2487 2015-06-24  Devin Rousso  <drousso@apple.com>
2488
2489         Web Inspector: Background of Computed Styles is missing
2490         https://bugs.webkit.org/show_bug.cgi?id=146209
2491
2492         Reviewed by Timothy Hatcher.
2493
2494         * UserInterface/Views/ComputedStyleDetailsPanel.css:
2495         (.computed-style-properties.details-section): Added white background.
2496
2497 2015-06-24  Joseph Pecoraro  <pecoraro@apple.com>
2498
2499         Web Inspector: Right/Left arrow no longer works in console to expand/collapse ObjectTrees
2500         https://bugs.webkit.org/show_bug.cgi?id=141949
2501
2502         Reviewed by Timothy Hatcher.
2503
2504         * UserInterface/Views/ConsoleMessageView.js:
2505         (WebInspector.ConsoleMessageView):
2506         (WebInspector.ConsoleMessageView.prototype.get expandable):
2507         (WebInspector.ConsoleMessageView.prototype.set expandable): Deleted.
2508         (WebInspector.ConsoleMessageView.prototype._appendExtraParameters):
2509         (WebInspector.ConsoleMessageView.prototype._appendStackTrace):
2510         (WebInspector.ConsoleMessageView.prototype._makeExpandable):
2511         Clarify what makes a ConsoleMessageView expandable or not.
2512
2513         (WebInspector.ConsoleMessageView.prototype.expand):
2514         (WebInspector.ConsoleMessageView.prototype.collapse):
2515         Handle the expand/collapse cases which could apply to the
2516         ConsoleMessageView itself or an inner ObjectTreeView if that is all we contain.
2517
2518         (WebInspector.ConsoleMessageView.prototype._formatParameterAsObject):
2519         Delete out of date comment. A console.log("message", obj) will want the
2520         object tree member variable to handle auto expanding/collapsing of the
2521         single object in the message.
2522
2523         * UserInterface/Views/LogContentView.js:
2524         (WebInspector.LogContentView.prototype._leftArrowWasPressed):
2525         (WebInspector.LogContentView.prototype._rightArrowWasPressed):
2526         Use the higher level ConsoleMessageView objects accessible from the element
2527         to call through to expand/collapse.
2528
2529 2015-06-23  Joseph Pecoraro  <pecoraro@apple.com>
2530
2531         Web Inspector: Reduce QuickConsole DidResize events if it did not change
2532         https://bugs.webkit.org/show_bug.cgi?id=146258
2533
2534         Reviewed by Timothy Hatcher.
2535
2536         * UserInterface/Views/QuickConsole.js:
2537         (WebInspector.QuickConsole.prototype.consoleLogVisibilityChanged):
2538         Do not trigger the event unless there was a change in visibility.
2539
2540 2015-06-23  Joseph Pecoraro  <pecoraro@apple.com>
2541
2542         Web Inspector: TextEditor scroll position not correctly restored when switching tabs
2543         https://bugs.webkit.org/show_bug.cgi?id=146254
2544
2545         Reviewed by Timothy Hatcher.
2546
2547         * UserInterface/Views/TextEditor.js:
2548         (WebInspector.TextEditor.prototype.updateLayout):
2549         Workaround a larger issue with ContentView restoration so that
2550         TextEditors restore their scroll position as expected.
2551
2552 2015-06-23  Joseph Pecoraro  <pecoraro@apple.com>
2553
2554         Web Inspector: Some brief previews are incorrectly treated as lossless
2555         https://bugs.webkit.org/show_bug.cgi?id=146247
2556
2557         Reviewed by Timothy Hatcher.
2558
2559         * UserInterface/Views/ObjectPreviewView.js:
2560         (WebInspector.ObjectPreviewView.prototype._appendEntryPreviews):
2561         (WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
2562         When we have a brief preview we may need to override lossless / overflow
2563         if the preview view itself shows less properties than were in the preview.
2564
2565 2015-06-23  Matt Baker  <mattbaker@apple.com>
2566
2567         Web Inspector: Layout & Rendering timeline should show paint and layout records in separate rows
2568         https://bugs.webkit.org/show_bug.cgi?id=146119
2569
2570         Reviewed by Timothy Hatcher.
2571
2572         This patch makes the original Layout & Rendering timeline visually consistent with the Rendering Frames
2573         timeline, which uses green to distinguish Paint from Layout. In order to support having record bars with
2574         different colors in the same overview graph, the timeline has been split into two rows.
2575
2576         * UserInterface/Views/LayoutTimelineOverviewGraph.css:
2577         (.timeline-overview-graph.layout > .graph-row):
2578         (.timeline-overview-graph.layout > .graph-row > .timeline-record-bar):
2579         (.timeline-overview-graph.layout > .graph-row > .timeline-record-bar > .segment):
2580         New row styles.
2581
2582         * UserInterface/Views/LayoutTimelineOverviewGraph.js:
2583         (WebInspector.LayoutTimelineOverviewGraph.prototype.reset.createRecordRow):
2584         (WebInspector.LayoutTimelineOverviewGraph.prototype.reset):
2585         (WebInspector.LayoutTimelineOverviewGraph.prototype.updateLayout):
2586         (WebInspector.LayoutTimelineOverviewGraph.prototype._updateRowLayout.createBar):
2587         (WebInspector.LayoutTimelineOverviewGraph.prototype._updateRowLayout):
2588         (WebInspector.LayoutTimelineOverviewGraph.prototype._layoutTimelineRecordAdded):
2589         (WebInspector.LayoutTimelineOverviewGraph): Deleted.
2590         Added bookkeeping objects for timeline row elements and their associated records.
2591
2592         * UserInterface/Views/TimelineRecordBar.css:
2593         (.timeline-record-bar.timeline-record-type-layout.layout-timeline-record-paint > .segment):
2594         New style for layout record event types.
2595
2596         * UserInterface/Views/TimelineRecordBar.js:
2597         (WebInspector.TimelineRecordBar.prototype.set records):
2598         Add style class for eventType, if present.
2599
2600 2015-06-22  Devin Rousso  <drousso@apple.com>
2601
2602         Web Inspector: gaps between sections of the styles sidebar rules tab confusing, should say "Media: all"
2603         https://bugs.webkit.org/show_bug.cgi?id=142918
2604
2605         Reviewed by Timothy Hatcher.
2606
2607         * UserInterface/Views/RulesStyleDetailsPanel.css:
2608         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label:not(.filter-section-non-matching) ~ .label):
2609         Now properly adds padding to filtered labels.
2610         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label ~ .label): Deleted.
2611         * UserInterface/Views/RulesStyleDetailsPanel.js:
2612         (WebInspector.RulesStyleDetailsPanel.prototype.refresh): If a section of CSS rules has no media or inheritance, add
2613         a label that says "Media: all" above the section.
2614
2615 2015-06-22  Nikita Vasilyev  <nvasilyev@apple.com>
2616
2617         Web Inspector: Consider making read-only style rules have a darker background
2618         https://bugs.webkit.org/show_bug.cgi?id=145983
2619
2620         Reviewed by Timothy Hatcher.
2621
2622         * UserInterface/Views/CSSStyleDeclarationSection.css:
2623         (.style-declaration-section:not(.locked)):
2624         (.style-declaration-section): Deleted.
2625         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
2626         (.css-style-text-editor.read-only > .CodeMirror):
2627
2628 2015-06-22  Nikita Vasilyev  <nvasilyev@apple.com>
2629
2630         Web Inspector: Unable to select text of user input messages in the console
2631         https://bugs.webkit.org/show_bug.cgi?id=145888
2632
2633         Reviewed by Timothy Hatcher.
2634
2635         * UserInterface/Views/ConsoleMessageView.css:
2636         (.console-user-command > .console-message-text):
2637
2638 2015-06-20  Nikita Vasilyev  <nvasilyev@apple.com>
2639
2640         Web Inspector: Unable to select parent element in the DOM tree path bar
2641         https://bugs.webkit.org/show_bug.cgi?id=145810
2642
2643         Reviewed by Timothy Hatcher.
2644
2645         * UserInterface/Views/DOMTreeContentView.js:
2646         (WebInspector.DOMTreeContentView.prototype.get selectionPathComponents):
2647         * UserInterface/Views/HierarchicalPathComponent.js:
2648         (WebInspector.HierarchicalPathComponent.prototype.get selectedPathComponent):
2649         (WebInspector.HierarchicalPathComponent.prototype._selectElementMouseUp):
2650         (WebInspector.HierarchicalPathComponent.prototype._selectElementSelectionChanged):
2651         (WebInspector.HierarchicalPathComponent):
2652         (WebInspector.HierarchicalPathComponent.prototype._selectElementMouseDown): Deleted.
2653
2654 2015-06-19  Joseph Pecoraro  <pecoraro@apple.com>
2655
2656         Web Inspector: Duplication of style attribute in rules panel for shadow content
2657         https://bugs.webkit.org/show_bug.cgi?id=146176
2658
2659         Reviewed by Timothy Hatcher.
2660
2661         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2662         The styleText can be non-empty for a readonly editor if the editor is for
2663         the style attribute of a shadow dom node. Instead of assuming it is empty
2664         we can just clear the editor ourselves and regenerate from properties.
2665
2666 2015-06-19  Devin Rousso  <drousso@apple.com>
2667
2668         Web Inspector: Highlight currently edited CSS selector
2669         https://bugs.webkit.org/show_bug.cgi?id=145658
2670
2671         Reviewed by Joseph Pecoraro.
2672
2673         * UserInterface/Views/CSSStyleDeclarationSection.js:
2674         (WebInspector.CSSStyleDeclarationSection): Added event listeners on the selector text for mouseover and mouseout.
2675         (WebInspector.CSSStyleDeclarationSection.prototype._highlightNodesWithSelector): Selector text mouseover action that highlights all nodes that match the selector string in the corresponding frame.
2676         (WebInspector.CSSStyleDeclarationSection.prototype._hideHighlightOnNodesWithSelector): Selector text mouseout action that clears all highlights on matching nodes.
2677         * UserInterface/Views/DOMNode.js:
2678         (WebInspector.DOMNode): If the payload contains a frameId, then save it.
2679         (WebInspector.DOMNode.frameIdentifier):
2680
2681 2015-06-19  Joseph Pecoraro  <pecoraro@apple.com>
2682
2683         Web Inspector: Overlapping dashboard views causing lots of layers in source view
2684         https://bugs.webkit.org/show_bug.cgi?id=146153
2685
2686         Reviewed by Darin Adler.
2687
2688         * UserInterface/Views/DashboardContainerView.css:
2689         (.toolbar .dashboard:not(.visible)):
2690         Hide non-visible dashboard views. The !important is used
2691         to override more specific toolbar .dashboard.foo styles.
2692
2693 2015-06-19  Devin Rousso  <drousso@apple.com>
2694
2695         Web Inspector: Make rule icon toggle all properties for that selector on and off
2696         https://bugs.webkit.org/show_bug.cgi?id=146031
2697
2698         Reviewed by Timothy Hatcher.
2699
2700         * UserInterface/Views/CSSStyleDeclarationSection.css:
2701         (.style-declaration-section > .header > .icon.toggle-able:hover):
2702         (.style-declaration-section.rule-disabled > .header > .icon):
2703         * UserInterface/Views/CSSStyleDeclarationSection.js:
2704         (WebInspector.CSSStyleDeclarationSection): Added event listener to selector icon to toggle commenting of all properties for that rule.
2705         (WebInspector.CSSStyleDeclarationSection.prototype._toggleRuleOnOff): Adds or removes comments to all properties for that rule.
2706         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2707         (WebInspector.CSSStyleDeclarationTextEditor.prototype.uncommentAllProperties.uncommentProperties):
2708         (WebInspector.CSSStyleDeclarationTextEditor.prototype.uncommentAllProperties): Uncomments all properties.
2709         (WebInspector.CSSStyleDeclarationTextEditor.prototype.commentAllProperties): Comments out all properties.
2710         (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertyCheckboxChanged): Moved comment logic to its own function.
2711         (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertyCommentCheckboxChanged): Moved uncomment logic to its own function.
2712
2713 2015-06-19  Jon Lee  <jonlee@apple.com>
2714
2715         Update font and font-family keyword completions
2716         https://bugs.webkit.org/show_bug.cgi?id=144558
2717         <rdar://problem/20795292>
2718
2719         Reviewed by Timothy Hatcher.
2720
2721         * UserInterface/Models/CSSKeywordCompletions.js: Replace -webkit-system-font and
2722         -apple-system-font with -apple-system, which is the recommended token for getting the
2723         system font. Also add -title{1,2,3} for font, as they were missing, but already exist
2724         in font-family.
2725
2726 2015-06-19  Joseph Pecoraro  <pecoraro@apple.com>
2727
2728         Web Inspector: Avoid getOwnPropertyNames/Symbols on very large lists
2729         https://bugs.webkit.org/show_bug.cgi?id=146141
2730
2731         Reviewed by Timothy Hatcher.
2732
2733         * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
2734         (WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded):
2735         When building completions for a large array, instead of building a list of all the indices
2736         just send a single number back to the frontend and let it generate a list for completion.
2737         We should do even better and avoid building a lookup table here for completion of an index.
2738
2739 2015-06-18  Matt Baker  <mattbaker@apple.com>
2740
2741         Web Inspector: Rendering Frames timeline selection should snap to frame boundaries
2742         https://bugs.webkit.org/show_bug.cgi?id=146120
2743
2744         Reviewed by Timothy Hatcher.
2745
2746         * UserInterface/Views/RenderingFrameTimelineOverview.js:
2747         Enable snapping to frame boundaries.
2748
2749         * UserInterface/Views/TimelineRecordingContentView.js:
2750         (WebInspector.TimelineRecordingContentView.prototype._updateFrameSelection):
2751         Updated filtering to account for ruler snapping.
2752
2753         * UserInterface/Views/TimelineRuler.js:
2754         (WebInspector.TimelineRuler.prototype.get snapInterval):
2755         (WebInspector.TimelineRuler.prototype.set snapInterval):
2756         (WebInspector.TimelineRuler.prototype.set selectionStartTime):
2757         (WebInspector.TimelineRuler.prototype.set selectionEndTime):
2758         (WebInspector.TimelineRuler.prototype._snapValue):
2759         (WebInspector.TimelineRuler.prototype._handleMouseMove):
2760         Added support for snapping to a specified interval.
2761
2762         * UserInterface/Views/TimelineSidebarPanel.js:
2763         Removed unnecessary code.
2764
2765 2015-06-18  Devin Rousso  <drousso@apple.com>
2766
2767         Web Inspector: Add a filter for CSS properties in the Styles sidebar
2768         https://bugs.webkit.org/show_bug.cgi?id=145536
2769
2770         Reviewed by Timothy Hatcher.
2771
2772         * UserInterface/Base/Utilities.js: Added function to Strings that returns an array of all matching indexes of a given string.
2773         (.value):
2774         * UserInterface/Views/CSSStyleDeclarationSection.js:
2775         (WebInspector.CSSStyleDeclarationSection):
2776         (WebInspector.CSSStyleDeclarationSection.prototype.refresh.appendSelector):
2777         (WebInspector.CSSStyleDeclarationSection.prototype.findMatchingPropertiesAndSelectors): Loops through the property list and selectors of each section to find matches to the filtered text.
2778         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2779         (WebInspector.CSSStyleDeclarationTextEditor.prototype.findMatchingProperties): Searches through the properties list to find and highlight all matching properties.
2780         (WebInspector.CSSStyleDeclarationTextEditor.prototype.removeNonMatchingProperties): Removes all properties that do not match and highlights the specific matched text in matching properties.
2781         (WebInspector.CSSStyleDeclarationTextEditor.prototype.resetFilteredProperties): Restores all properties to full visibility and removes any highlighting.
2782         (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).
2783         (WebInspector.CSSStyleDeclarationTextEditor.prototype._iterateOverProperties): If a filter is active, find properties matching the filter instead of all properties.
2784         * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
2785         (.sidebar > .panel.details.css-style > .content.has-filter-bar + .filter-bar):
2786         (.sidebar > .panel.details.css-style > .content:not(.has-filter-bar) + .filter-bar):
2787         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
2788         (WebInspector.CSSStyleDetailsSidebarPanel): Added a filter bar to the CSS sidebar.
2789         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._switchPanels): Switching panels preserves and applies filter bar text.
2790         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._filterDidChange): Function called when the filter bar text changes that calls the current panel's filterDidChange function if it exists.
2791         * UserInterface/Views/FilterBar.js: Added function and variable to check if the text in the filter bar had changed.
2792         * UserInterface/Views/MetricsStyleDetailsPanel.js:
2793         (WebInspector.MetricsStyleDetailsPanel.prototype.refresh): Now calls superclass refresh.
2794         (WebInspector.MetricsStyleDetailsPanel): Added delegate variable to constructor.
2795         * UserInterface/Views/RulesStyleDetailsPanel.css:
2796         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label):
2797         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label ~ .label):
2798         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label.filter-matching-label):
2799         (.sidebar > .panel.details.css-style > .content.filter-in-progress .new-rule):
2800         (.sidebar > .panel.details.css-style > .content.filter-in-progress .style-declaration-section:not(.filter-section-non-matching) ~ .label:not(.filter-section-non-matching)):
2801         (.sidebar > .panel.details.css-style > .content:not(.filter-in-progress) > .rules > .new-rule + .style-declaration-section):
2802         (.sidebar > .panel.details.css-style > .content > .rules:not(.filter-non-matching) > .no-filter-results):
2803         (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules.filter-non-matching > .no-filter-results):
2804         (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules.filter-non-matching > .no-filter-results > .no-filter-results-message):
2805         * UserInterface/Views/RulesStyleDetailsPanel.js:
2806         (WebInspector.RulesStyleDetailsPanel): Added delegate variable to constructor.
2807         (WebInspector.RulesStyleDetailsPanel.prototype.refresh): Now calls superclass refresh.
2808         (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).
2809         (WebInspector.StyleDetailsPanel): Added delegate variable to constructor.
2810         (WebInspector.StyleDetailsPanel.prototype.refresh): Added event dispatch for panel refresh.
2811
2812 2015-06-18  Devin Rousso  <drousso@apple.com>
2813
2814         Web Inspector: Ability to Copy entire CSS Rule from Styles Sidebar
2815         https://bugs.webkit.org/show_bug.cgi?id=138812
2816
2817         Reviewed by Timothy Hatcher.
2818
2819         * Localizations/en.lproj/localizedStrings.js:
2820         * UserInterface/Views/CSSStyleDeclarationSection.js:
2821         (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.
2822         (WebInspector.CSSStyleDeclarationSection.prototype._handleContextMenuEvent): Creates a new context menu to copy the entire CSS rule.
2823         (WebInspector.CSSStyleDeclarationSection.prototype._generateCSSRuleString): Generates a string representing the formatted CSS rule.
2824
2825 2015-06-18  Joseph Pecoraro  <pecoraro@apple.com>
2826
2827         Web Inspector: Improve a few more node preview types
2828         https://bugs.webkit.org/show_bug.cgi?id=146048
2829
2830         Reviewed by Timothy Hatcher.
2831
2832         * UserInterface/Views/FormattedValue.js:
2833         (WebInspector.FormattedValue.createElementForNodePreview):
2834
2835 2015-06-18  Devin Rousso  <drousso@apple.com>
2836
2837         Web Inspector: New Rule button doesn't reveal the newly added rule if not visible upon creation
2838         https://bugs.webkit.org/show_bug.cgi?id=117600
2839
2840         Reviewed by Timothy Hatcher.
2841
2842         * 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.
2843         (WebInspector.RulesStyleDetailsPanel):
2844         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.appendStyleSection):
2845         (WebInspector.RulesStyleDetailsPanel.prototype.nodeStylesRefreshed):
2846         (WebInspector.RulesStyleDetailsPanel.prototype.refresh): Deleted.
2847
2848 2015-06-18  Commit Queue  <commit-queue@webkit.org>
2849
2850         Unreviewed, rolling out r185671.
2851         https://bugs.webkit.org/show_bug.cgi?id=146114
2852
2853         Caused frequent flaky failures on profiler tests (Requested by
2854         ap on #webkit).
2855
2856         Reverted changeset:
2857
2858         "Web Inspector: Improve a few more node preview types"
2859         https://bugs.webkit.org/show_bug.cgi?id=146048
2860         http://trac.webkit.org/changeset/185671
2861
2862 2015-06-17  Joseph Pecoraro  <pecoraro@apple.com>
2863
2864         Web Inspector: Improve a few more node preview types
2865         https://bugs.webkit.org/show_bug.cgi?id=146048
2866
2867         Reviewed by Timothy Hatcher.
2868
2869         * UserInterface/Views/FormattedValue.js:
2870         (WebInspector.FormattedValue.createElementForNodePreview):
2871
2872 2015-06-17  Diego Pino Garcia  <dpino@igalia.com>
2873
2874         Web Inspector: Show/Hide sidebar buttons have inconsistent highlighted state
2875         https://bugs.webkit.org/show_bug.cgi?id=145073
2876
2877         Reviewed by Joseph Pecoraro.
2878
2879         * UserInterface/Views/ContentBrowserTabContentView.js:
2880         (WebInspector.ContentBrowserTabContentView.prototype._detailsSidebarPanelSelected):
2881
2882 2015-06-16  Joseph Pecoraro  <pecoraro@apple.com>
2883
2884         Web Inspector: Inspector Scripts evaluated in the page should not be searchable
2885         https://bugs.webkit.org/show_bug.cgi?id=146040
2886
2887         Reviewed by Darin Adler.
2888
2889         Any script with a __WebInspector source URL will be hidden by the tools.
2890         There were a number of ways the inspector could evaluate script on the page
2891         without getting the sourceURL and therefore not getting hidden. Audit
2892         all cases of Runtime.evaluate, Runtime.callFunctionOn, and
2893         Debugger.evaluateOnCallFrame, to ensure we have an appropriate source URL.
2894
2895         * UserInterface/Base/Utilities.js:
2896         (appendWebInspectorSourceURL):
2897         Helper to append a __WebInspectorInternal__ sourceURL to a string that may
2898         be evaluated directly on the inspected context.
2899
2900         * UserInterface/Controllers/DOMTreeManager.js:
2901         (WebInspector.DOMTreeManager.domNodeResolved):
2902         * UserInterface/Controllers/JavaScriptLogViewController.js:
2903         (WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted): Deleted.
2904         * UserInterface/Controllers/RuntimeManager.js:
2905         * UserInterface/Models/DOMTree.js:
2906         (WebInspector.DOMTree.prototype._requestRootDOMNode):
2907         * UserInterface/Protocol/RemoteObject.js:
2908         (WebInspector.RemoteObject.):
2909         * UserInterface/Views/SourceCodeTextEditor.js:
2910         (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptExpression):
2911         Ensure all cases that evaluate directly on the inspected page / context
2912         have the intenral source URL.
2913
2914 2015-06-16  Matt Baker  <mattbaker@apple.com>
2915
2916         Web Inspector: REGRESSION (r171645): up/down key navigation of timeline sidebar tree elements is broken when scope bar filters are applied
2917         https://bugs.webkit.org/show_bug.cgi?id=142315
2918
2919         Reviewed by Timothy Hatcher.
2920
2921         TreeOutline's element traversal algorithms have been rewritten to correctly skip over unrevealed tree elements.
2922         Previously traversal would halt after encountering a hidden element. We now use an iterative approach, with
2923         each iteration producing the next (or previous) element, with respect to the last candidate element. Iteration
2924         begins with the current node, and halts once a valid element is found or candidate elements are exhausted.
2925
2926         * UserInterface/Views/TreeOutline.js:
2927         (WebInspector.TreeElement.prototype.traverseNextTreeElement.shouldSkip):
2928         (WebInspector.TreeElement.prototype.traverseNextTreeElement):
2929         (WebInspector.TreeElement.prototype.traversePreviousTreeElement.shouldSkip):
2930         (WebInspector.TreeElement.prototype.traversePreviousTreeElement):
2931
2932 2015-06-15  Joseph Pecoraro  <pecoraro@apple.com>
2933
2934         Web Inspector: Stylize Node Previews
2935         https://bugs.webkit.org/show_bug.cgi?id=145990
2936
2937         Reviewed by Timothy Hatcher.
2938
2939         * UserInterface/Views/FormattedValue.js:
2940         (WebInspector.FormattedValue.createElementForNodePreview):
2941         Style a node preview like a DOMNode. It is a simple small snippet.
2942
2943         * UserInterface/Views/ObjectPreviewView.js:
2944         (WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
2945         Use node previews in ObjectPreviewViews.
2946
2947 2015-06-15  Joseph Pecoraro  <pecoraro@apple.com>
2948
2949         Web Inspector: Improve some cases of "Object?" Type Annotations
2950         https://bugs.webkit.org/show_bug.cgi?id=145954
2951
2952         Reviewed by Timothy Hatcher.
2953
2954         * UserInterface/Views/TypeTokenView.js:
2955         (WebInspector.TypeTokenView.prototype._displayTypeName):
2956         The TypeSet inclusions cover all types, so we can use the leastCommonAncestor
2957         name as long as the type set is just object or object and null/undefined.
2958         If the typeset includes other primitives then it will gracefully go down
2959         below to become something like Object or (many). 
2960
2961 2015-06-14  Andres Gomez  <agomez@igalia.com>
2962
2963         [GTK] Web Inspector: Update icon so Rendering Frames timeline distinguish between layout and painting
2964         https://bugs.webkit.org/show_bug.cgi?id=145956
2965
2966         Reviewed by Carlos Garcia Campos.
2967
2968         * UserInterface/Images/gtk/TimelineRecordPaint.svg:
2969         Changed to use green color.
2970
2971 2015-06-13  Joseph Pecoraro  <pecoraro@apple.com>
2972
2973         Web Inspector: console.table() with a list of objects no longer works
2974         https://bugs.webkit.org/show_bug.cgi?id=145952
2975
2976         Reviewed by Timothy Hatcher.
2977
2978         * UserInterface/Views/ConsoleMessageView.js:
2979         (WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
2980         (WebInspector.ConsoleMessageView.prototype._formatParameterAsTable):
2981         Don't allow expanding a cosole.table message, and don't output the total
2982         object even if the table preview was lossless, as the experience is poor.
2983
2984 2015-06-11  Joseph Pecoraro  <pecoraro@apple.com>
2985
2986         Web Inspector: CSS Regions not displaying DOM Trees in inspector
2987         https://bugs.webkit.org/show_bug.cgi?id=145903
2988
2989         Reviewed by Timothy Hatcher.
2990
2991         * UserInterface/Controllers/DOMTreeManager.js:
2992         (WebInspector.DOMTreeManager.prototype._updateContentFlowFromPayload):
2993         Fix function inside the assertion to actually return a value.
2994
2995         * UserInterface/Views/DOMTreeOutline.js:
2996         (WebInspector.DOMTreeOutline.prototype.update):
2997         For DOMTreeOutlines without a root node, don't clear the tree on updates,
2998         since that will clear the nodes that have already been added explicitly.
2999
3000         * UserInterface/Views/ResourceSidebarPanel.js:
3001         (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
3002         * UserInterface/Views/ResourcesTabContentView.js:
3003         (WebInspector.ResourcesTabContentView.prototype.canShowRepresentedObject):
3004         ResourceTab and sidebar can deal with ContentFlow related views.
3005
3006 2015-06-11  Joseph Pecoraro  <pecoraro@apple.com>
3007
3008         Web Inspector: IndexedDB data not showing for MDN example page
3009         https://bugs.webkit.org/show_bug.cgi?id=145851
3010
3011         Reviewed by Anders Carlsson.
3012
3013         * UserInterface/Views/StorageSidebarPanel.js:
3014         (WebInspector.StorageSidebarPanel.prototype._indexedDatabaseWasAdded):
3015         Fix typo in Storage tab refactoring that was causing an
3016         uncaught exception and not showing Indexed DBs.
3017
3018 2015-06-11  Devin Rousso  <drousso@apple.com>
3019
3020         Web Inspector: font-family names interpreted as color
3021         https://bugs.webkit.org/show_bug.cgi?id=123468
3022
3023         Reviewed by Timothy Hatcher.
3024
3025         * UserInterface/Views/CodeMirrorAdditions.js: Added logic to prevent color picker buttons from appearing before colors that come after a quote character (both " and ').
3026
3027 2015-06-11  Matt Baker  <mattbaker@apple.com>
3028
3029         Web Inspector: Rendering Frames timeline should distinguish between layout and painting
3030         https://bugs.webkit.org/show_bug.cgi?id=145856
3031
3032         Reviewed by Timothy Hatcher.
3033
3034         This patch formalizes the runloop task concept in the frontend, adds new Paint task type to the Rendering
3035         Frames timeline, and reorders UI elements such as chart sections and frame "segments" to match the order in
3036         which tasks are executed within the runloop.
3037
3038         We will need to make UI changes to the standard Timelines view in a follow up patch, since tree element icons
3039         for Paint records now use a different color that those of other Layout records.
3040
3041         * UserInterface/Images/TimelineRecordPaint.svg:
3042         Changed to use green color.
3043
3044         * UserInterface/Models/RenderingFrameTimelineRecord.js:
3045         (WebInspector.RenderingFrameTimelineRecord):
3046         (WebInspector.RenderingFrameTimelineRecord.displayNameForTaskType):
3047         (WebInspector.RenderingFrameTimelineRecord.prototype.durationForTask.get validRecordForTaskType):
3048         (WebInspector.RenderingFrameTimelineRecord.prototype.durationForTask.set return):
3049         (WebInspector.RenderingFrameTimelineRecord.prototype.durationForTask):
3050         (WebInspector.RenderingFrameTimelineRecord.prototype.get durationRemainder): Deleted.
3051         (WebInspector.RenderingFrameTimelineRecord.prototype.durationForRecords.get var): Deleted.
3052         Added TaskType enum to decouple runloop task types from timeline record types, and removed duration remainder
3053         support now that "Other" has an associated task type.
3054
3055         * UserInterface/Views/RenderingFrameTimelineDataGridNode.js:
3056         (WebInspector.RenderingFrameTimelineDataGridNode.prototype.get data):
3057         (WebInspector.RenderingFrameTimelineDataGridNode.prototype.createCellContent):
3058         * UserInterface/Views/RenderingFrameTimelineView.js:
3059         (WebInspector.RenderingFrameTimelineView):
3060         Added new grid column for Paint task, reordered columns to be consistent with the rest of the UI.
3061
3062         * UserInterface/Views/TimelineRecordFrame.css:
3063         (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-script):
3064         (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-layout):
3065         (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-paint):
3066         (.timeline-record-frame > .frame > .duration): Deleted.
3067         (.timeline-record-frame > .frame > .duration.timeline-record-type-network): Deleted.
3068         (.timeline-record-frame > .frame > .duration.timeline-record-type-layout): Deleted.
3069         (.timeline-record-frame > .frame > .duration.timeline-record-type-script): Deleted.
3070         Updated styles for Render Frame tasks.
3071
3072         * UserInterface/Views/TimelineRecordFrame.js:
3073         (WebInspector.TimelineRecordFrame.prototype._updateChildElements.createDurationElement):
3074         Updated to use Render Frame task types. Frame segment insertion order is now consistent with the rest of the UI.
3075
3076         * UserInterface/Views/TimelineSidebarPanel.js:
3077         (WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart.chartData.Object.keys.map):
3078         (WebInspector.TimelineSidebarPanel.set this):
3079         (WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart.get this):
3080         (WebInspector.TimelineSidebarPanel): Deleted.
3081         (WebInspector.TimelineSidebarPanel.prototype._refreshFrameSelectionChart.durationForRecordType): Deleted.
3082         (WebInspector.TimelineSidebarPanel.prototype._refreshFrameSelectionChart): Deleted.
3083         Updated to use Render Frame task types.
3084
3085 2015-06-11  Matt Baker  <mattbaker@apple.com>
3086
3087         Web Inspector: Wrong overview graph shown after switching from Frames to Timelines
3088         https://bugs.webkit.org/show_bug.cgi?id=145778
3089
3090         Reviewed by Timothy Hatcher.
3091
3092         TimelineSidebarPanel stores a reference to the selected timeline before switching to the Rendering Frames view,
3093         which is used to restore the tree selection, overview graph, and content views when switching back to the
3094         standard Timelines view. However if another recording is created before switching, the previously selected
3095         timeline tracked by the sidebar cannot be restored, since it doesn't belong to the active recording.
3096
3097         This is addressed by storing the previously selected timeline type, rather than the timeline object itself.
3098         The type is also updated whenever the selected timeline in the tree outline changes, ensuring that the correct
3099         timeline will always be restored.
3100
3101         * UserInterface/Views/TimelineSidebarPanel.js:
3102         (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.get if.get if):
3103         (WebInspector.TimelineSidebarPanel.get else): Deleted.
3104         (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.get if): Deleted.
3105         (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject): Deleted.
3106
3107 2015-06-08  Matt Baker  <mattbaker@apple.com>
3108
3109         Web Inspector: Clearing active Timeline recording should stop capturing
3110         https://bugs.webkit.org/show_bug.cgi?id=145767
3111
3112         Reviewed by Joseph Pecoraro.
3113
3114         * UserInterface/Views/TimelineRecordingContentView.js:
3115         (WebInspector.TimelineRecordingContentView.prototype._clearTimeline):
3116         Stop capturing if necessary.
3117
3118 2015-06-07  Tobias Reiss  <tobi+webkit@basecode.de>
3119
3120         Web Inspector: Add PrettyPrinter CSSRule tests
3121         https://bugs.webkit.org/show_bug.cgi?id=145740
3122
3123         Reviewed by Brian Burg.
3124
3125         * Tools/PrettyPrinting/css-rule-tests/add-whitespace-after-colon-expected.css: Added.
3126         * Tools/PrettyPrinting/css-rule-tests/add-whitespace-after-colon.css: Added.
3127         * Tools/PrettyPrinting/css-rule-tests/add-whitespace-after-comma-expected.css: Added.
3128         * Tools/PrettyPrinting/css-rule-tests/add-whitespace-after-comma.css: Added.
3129         * Tools/PrettyPrinting/css-rule-tests/do-not-append-semicolon-expected.css: Added.
3130         * Tools/PrettyPrinting/css-rule-tests/do-not-append-semicolon.css: Added.
3131         * Tools/PrettyPrinting/css-rule-tests/invalid-property-is-not-removed-expected.css: Added.
3132         * Tools/PrettyPrinting/css-rule-tests/invalid-property-is-not-removed.css: Added.
3133         * Tools/PrettyPrinting/css-rule-tests/keep-prefixed-value-expected.css: Added.
3134         * Tools/PrettyPrinting/css-rule-tests/keep-prefixed-value.css: Added.
3135         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-colon-expected.css: Added.
3136         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-colon.css: Added.
3137         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-comment-expected.css: Added.
3138         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-comment.css: Added.
3139         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-invalid-property-expected.css: Added.
3140         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-invalid-property.css: Added.
3141         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-prefixed-property-expected.css: Added.
3142         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-prefixed-property.css: Added.
3143         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-property-expected.css: Added.
3144         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-property.css: Added.
3145         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-semicolon-expected.css: Added.
3146         * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-semicolon.css: Added.
3147         * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-comment-expected.css: Added.
3148         * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-comment.css: Added.
3149         * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-invalid-property-expected.css: Added.
3150         * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-invalid-property.css: Added.
3151         * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-prefixed-property-expected.css: Added.
3152         * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-prefixed-property.css: Added.
3153         * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-property-expected.css: Added.
3154         * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-property.css: Added.
3155         * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-comment-expected.css: Added.
3156         * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-comment.css: Added.
3157         * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-invalid-property-expected.css: Added.
3158         * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-invalid-property.css: Added.
3159         * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-prefixed-property-expected.css: Added.
3160         * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-prefixed-property.css: Added.
3161         * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-property-expected.css: Added.
3162         * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-property.css: Added.
3163         * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-comment-expected.css: Added.
3164         * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-comment.css: Added.
3165         * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-invalid-property-expected.css: Added.
3166         * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-invalid-property.css: Added.
3167         * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-prefixed-property-expected.css: Added.
3168         * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-prefixed-property.css: Added.
3169         * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-property-expected.css: Added.
3170         * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-property.css: Added.
3171         * Tools/PrettyPrinting/css-rule-tests/split-property-without-semicolon-followed-by-comment-and-property-expected.css: Added.
3172         * Tools/PrettyPrinting/css-rule-tests/split-property-without-semicolon-followed-by-comment-and-property.css: Added.
3173
3174 2015-06-05  Devin Rousso  <drousso@apple.com>
3175
3176         Web Inspector: Fixing code style and adding more limitations for bug 141262
3177         https://bugs.webkit.org/show_bug.cgi?id=145668
3178
3179         Reviewed by Timothy Hatcher.
3180
3181         * UserInterface/Models/CSSCompletions.js:
3182         (WebInspector.CSSCompletions.prototype.isValidPropertyName): Loops through the full property list and returns true only if a property exactly matches the given property name.
3183         (WebInspector.CSSCompletions): Added isValidPropertyName function.
3184         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
3185         (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.
3186
3187 2015-06-05  Devin Rousso  <drousso@apple.com>
3188
3189         Web Inspector: Highlighting a CSS section does not deselect previously highlighted CSS sections
3190         https://bugs.webkit.org/show_bug.cgi?id=145399
3191
3192         Reviewed by Timothy Hatcher.
3193
3194         * UserInterface/Views/CSSStyleDeclarationSection.js:
3195         (WebInspector.CSSStyleDeclarationSection): Added delegate variable to constructor.
3196         (WebInspector.CSSStyleDeclarationSection.prototype.clearSelection):
3197         (WebInspector.CSSStyleDeclarationSection.prototype.cssStyleDeclarationTextEditorFocused):
3198         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
3199         (WebInspector.CSSStyleDeclarationTextEditor): Added event listener to codeMirror on "focus".
3200         (WebInspector.CSSStyleDeclarationTextEditor.prototype.clearSelection): Sets the cursor of the codeMirror to character 0 on line 0.
3201         (WebInspector.CSSStyleDeclarationTextEditor.prototype._editorFocused): Function that calls the delegate function "editorFocused" when the codeMirror is focused
3202         * UserInterface/Views/RulesStyleDetailsPanel.js:
3203         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.appendStyleSection):
3204         (WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionEditorFocused): Loops through all sections except for the ignoredSection (parameter) and clears the selected text in each of them.
3205
3206 2015-06-05  Joseph Pecoraro  <pecoraro@apple.com>
3207
3208         REGRESSION (r185213): TypeError: undefined is not an object (evaluating 'WebInspector.clearLogOnReload.value')
3209         https://bugs.webkit.org/show_bug.cgi?id=145695
3210
3211         Reviewed by Mark Lam.
3212
3213         Move and rename the clear log on reload setting property from
3214         WebInspector (Main.js) to LogManager (shared with tests).
3215
3216         * UserInterface/Base/Main.js:
3217         (WebInspector.loaded): Deleted.
3218         * UserInterface/Controllers/LogManager.js:
3219         (WebInspector.LogManager):
3220         (WebInspector.LogManager.prototype._delayedMessagesCleared):
3221         * UserInterface/Views/LogContentView.js:
3222         (WebInspector.LogContentView.prototype._sessionStarted):
3223         (WebInspector.LogContentView.prototype._handleContextMenuEvent):
3224         (WebInspector.LogContentView.prototype._toggleClearLogOnReloadSetting):
3225
3226 2015-06-05  Nikita Vasilyev  <nvasilyev@apple.com>
3227
3228         Web Inspector: [REGRESSION] Dashboard's resource count does not reset when main resource navigates
3229         https://bugs.webkit.org/show_bug.cgi?id=144553
3230
3231         Add missing _mainResourceDidChange, which was removed after switching to the tabs UI.
3232
3233         Reviewed by Timothy Hatcher.
3234
3235         * UserInterface/Models/DefaultDashboard.js:
3236         (WebInspector.DefaultDashboard):
3237         _waitingForFirstMainResourceToStartTrackingSize is not used anywhere, remove it.
3238
3239         (WebInspector.DefaultDashboard.prototype._mainResourceDidChange): Added.
3240
3241         (WebInspector.DefaultDashboard.prototype._resourceSizeDidChange): Removed.
3242         Unused.
3243
3244 2015-06-05  Matt Baker  <mattbaker@apple.com>
3245
3246         Web Inspector: Switch to doughnut chart and remove idle time in the Rendering Frames timeline
3247         https://bugs.webkit.org/show_bug.cgi?id=145671
3248
3249         Reviewed by Timothy Hatcher.
3250
3251         * Localizations/en.lproj/localizedStrings.js:
3252         "Idle" string no longer used.
3253
3254         * UserInterface/Views/TimelineRecordFrame.js:
3255         Reduced maximum frame width by 2px.
3256