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