0f8109ab0a85402c09b4428e0247cda381fe85ba
[WebKit-https.git] / Source / WebInspectorUI / ChangeLog
1 2015-08-14  Matt Baker  <mattbaker@apple.com>
2
3         Web Inspector: NavigationBar.updateLayoutSoon should use requestAnimationFrame
4         https://bugs.webkit.org/show_bug.cgi?id=148010
5
6         Reviewed by Brian Burg.
7
8         NavigationBar.updateLayoutSoon now uses requestAnimationFrame instead of setTimeout.
9
10         * UserInterface/Views/NavigationBar.js:
11         (WebInspector.NavigationBar):
12         (WebInspector.NavigationBar.prototype.updateLayoutSoon.update):
13         (WebInspector.NavigationBar.prototype.updateLayoutSoon):
14         (WebInspector.NavigationBar.prototype.updateLayout):
15
16 2015-08-14  Devin Rousso  <drousso@apple.com>
17
18         Web Inspector: Add VisualStyleDetailsPanel
19         https://bugs.webkit.org/show_bug.cgi?id=147570
20
21         Reviewed by Timothy Hatcher.
22
23         Added VisualStyleDetailsPanel and inclusions to forthcoming classes
24         that will be used in this visual sidebar panel.
25
26         * Localizations/en.lproj/localizedStrings.js:
27         * UserInterface/Main.html:
28         Added files for all new classes used in the VisualStyleDetailsPanel.
29
30         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
31         (WebInspector.CSSStyleDetailsSidebarPanel):
32         * UserInterface/Views/DetailsSection.js:
33         (WebInspector.DetailsSection):
34         (WebInspector.DetailsSection.prototype.set collapsed):
35         (WebInspector.DetailsSection.prototype.get expandedByUser):
36         (WebInspector.DetailsSection.prototype._headerElementClicked):
37         Track whether or not the expanded state was caused by the user.
38
39         * UserInterface/Views/VisualStyleDetailsPanel.css: Added.
40         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .header):
41         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .header > .visual-style-section-clear):
42         (.sidebar > .panel.details.css-style .visual > .details-section .details-section:not(.modified) > .header > .visual-style-section-clear):
43         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .header > span):
44         (.sidebar > .panel.details.css-style .visual > .details-section .details-section.modified > .header > span::after):
45         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content):
46         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row):
47         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row:last-child):
48         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row.visual-style-separated-row):
49         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row > .visual-style-property-container > .visual-style-property-title):
50         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row > .visual-style-property-container:not(.layout-reversed):last-child):
51         (.sidebar > .panel.details.css-style .visual.disabled > .details-section:not(.visual-style-selector-section)):
52         (.sidebar > .panel.details.css-style .visual.disabled > .details-section:not(.visual-style-selector-section) input):
53
54         * UserInterface/Views/VisualStyleDetailsPanel.js: Added.
55         (WebInspector.VisualStyleDetailsPanel):
56         (WebInspector.VisualStyleDetailsPanel.prototype.refresh):
57         (WebInspector.VisualStyleDetailsPanel.prototype._generateSection.replaceDashWithCapital):
58         (WebInspector.VisualStyleDetailsPanel.prototype._generateSection.createOptionsElement):
59         (WebInspector.VisualStyleDetailsPanel.prototype._generateSection):
60         (WebInspector.VisualStyleDetailsPanel.prototype._prepareForChange):
61         (WebInspector.VisualStyleDetailsPanel.prototype._updateSections):
62         (WebInspector.VisualStyleDetailsPanel.prototype._updateProperties):
63         (WebInspector.VisualStyleDetailsPanel.prototype._updateAutocompleteCompatiblePropertyEditor):
64         (WebInspector.VisualStyleDetailsPanel.prototype._sectionModified):
65         (WebInspector.VisualStyleDetailsPanel.prototype._clearModifiedSection):
66         (WebInspector.VisualStyleDetailsPanel.prototype.get _initialTextList):
67         (WebInspector.VisualStyleDetailsPanel.prototype._initialPropertyTextModified):
68         (WebInspector.VisualStyleDetailsPanel.prototype._populateSection):
69         (WebInspector.VisualStyleDetailsPanel.prototype._populateDisplaySection):
70         (WebInspector.VisualStyleDetailsPanel.prototype._generateMetricSectionRows):
71         (WebInspector.VisualStyleDetailsPanel.prototype._populatePositionSection):
72         (WebInspector.VisualStyleDetailsPanel.prototype._populateFloatSection):
73         (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners.onEditorMouseover):
74         (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners.onEditorMouseout):
75         (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners):
76         (WebInspector.VisualStyleDetailsPanel.prototype._populateDimensionsSection):
77         (WebInspector.VisualStyleDetailsPanel.prototype._populateMarginSection):
78         (WebInspector.VisualStyleDetailsPanel.prototype._populatePaddingSection):
79         (WebInspector.VisualStyleDetailsPanel.prototype._populateFlexboxSection):
80         (WebInspector.VisualStyleDetailsPanel.prototype._populateTextStyleSection):
81         (WebInspector.VisualStyleDetailsPanel.prototype._populateFontSection):
82         (WebInspector.VisualStyleDetailsPanel.prototype._populateTextSpacingSection):
83         (WebInspector.VisualStyleDetailsPanel.prototype._populateTextShadowSection):
84         (WebInspector.VisualStyleDetailsPanel.prototype._populateBackgroundStyleSection):
85         (WebInspector.VisualStyleDetailsPanel.prototype._populateBorderSection):
86         (WebInspector.VisualStyleDetailsPanel.prototype._populateOutlineSection):
87         (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.noRemainingTreeItems):
88         (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.selectedBoxShadowItemValueChanged):
89         (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.boxShadowItemSelected):
90         (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection):
91         (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.noRemainingTreeItems):
92         (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.selectedtransitionItemValueChanged):
93         (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.transitionItemSelected):
94         (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection):
95
96 2015-08-14  Devin Rousso  <drousso@apple.com>
97
98         Web Inspector: Highlight DOM node attribute changes in parallel, not sequentially
99         https://bugs.webkit.org/show_bug.cgi?id=148019
100
101         Reviewed by Brian Burg.
102
103         * UserInterface/Views/DOMTreeElement.js:
104         (WebInspector.DOMTreeElement.prototype._markNodeChanged):
105         (WebInspector.DOMTreeElement.prototype._nodeChangedAnimationEnd):
106         Now removes the animated element from the updated list once the animation ends.
107
108 2015-08-14  Matt Baker  <mattbaker@apple.com>
109
110         Web Inspector: Long delay when row selection changes in timeline data grids
111         https://bugs.webkit.org/show_bug.cgi?id=148005
112
113         Reviewed by Brian Burg.
114
115         Selecting a tree element in the Timelines sidebar generates multiple
116         WebInspector.ContentView.SelectionPathComponentsDidChange events, each of which
117         causes NavigationBar to update its layout (which is extremely expensive).
118
119         * UserInterface/Views/ContentBrowser.js:
120         (WebInspector.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange):
121         Call updateLayoutSoon instead of updateLayout to coalesce layout requests.
122
123         * UserInterface/Views/TimelineRecordingContentView.js:
124         (WebInspector.TimelineRecordingContentView.prototype._recordSelected):
125         When the selected record changes in the overview graph, make sure the record's tree element
126         isn't already selected. Reselecting the tree element results in an extra NavigationBar layout.
127
128 2015-08-14  Matt Baker  <mattbaker@apple.com>
129
130         Web Inspector: REGRESSION (r188396): Rendering Frames timeline ruler dividers are off by 1px
131         https://bugs.webkit.org/show_bug.cgi?id=148040
132
133         Reviewed by Brian Burg.
134
135         * UserInterface/Views/TimelineOverview.css:
136         (.timeline-overview.frames > .timeline-ruler > .markers > .divider):
137         (.timeline-overview.frames > .timeline-ruler > .header > .divider): Deleted.
138         All ruler dividers should be translated by the same amount.
139
140 2015-08-14  Devin Rousso  <drousso@apple.com>
141
142         Web Inspector: Style changes to Visual sidebar editors
143         https://bugs.webkit.org/show_bug.cgi?id=148021
144
145         Reviewed by Brian Burg.
146
147         Various style fixes and feature enhancements in some of the Visual style property editors.
148
149         * UserInterface/Views/VisualStyleColorPicker.css:
150         (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch):
151         (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > input):
152         (.visual-style-property-container.input-color-picker.multiple > .visual-style-property-value-container > .visual-style-multiple-property-placeholder):
153
154         * UserInterface/Views/VisualStyleKeywordCheckbox.css:
155         (.visual-style-property-container.keyword-checkbox.font-variant > .visual-style-property-value-container > input):
156         (.visual-style-property-container.keyword-checkbox.font-variant > .visual-style-property-value-container > input::before):
157         (.visual-style-property-container.keyword-checkbox > .visual-style-property-value-container > input): Deleted.
158         (.visual-style-property-container.keyword-checkbox > .visual-style-property-value-container > div): Deleted.
159         Replaced the SVG image before the checkbox with a :before pseudo-element with content.
160
161         * UserInterface/Views/VisualStyleKeywordCheckbox.js:
162         (WebInspector.VisualStyleKeywordCheckbox):
163         Removed the SVG image before the checkbox.
164
165         * UserInterface/Views/VisualStyleKeywordPicker.js:
166         (WebInspector.VisualStyleKeywordPicker.prototype.get value):
167         (WebInspector.VisualStyleKeywordPicker.prototype.set value):
168         (WebInspector.VisualStyleKeywordPicker.prototype.set placeholder):
169         (WebInspector.VisualStyleKeywordPicker.prototype.get synthesizedValue):
170         (WebInspector.VisualStyleKeywordPicker.prototype._getValue):
171         (WebInspector.VisualStyleKeywordPicker.prototype._setValue):
172         (WebInspector.VisualStyleKeywordPicker.prototype._generateSynthesizedValue):
173         (WebInspector.VisualStyleKeywordPicker.prototype._handleKeywordChanged):
174         Due to a current bug (https://webkit.org/b/147064), you cannot extend ES6 getters/setters.  In order to work
175         around this, a member function was added that performs the same action as the getter/setter, but can be extended.
176
177         * UserInterface/Views/VisualStylePropertyEditorLink.css:
178         (.visual-style-property-editor-link.linked > .visual-style-property-editor-link-border):
179         (.visual-style-property-editor-link > .visual-style-property-editor-link-icon > .unlinked-icon):
180
181         * UserInterface/Views/VisualStyleRelativeNumberSlider.js:
182         (WebInspector.VisualStyleRelativeNumberSlider):
183         (WebInspector.VisualStyleRelativeNumberSlider.prototype._resetSlider):
184         (WebInspector.VisualStyleRelativeNumberSlider.prototype._sliderChanged):
185
186         * UserInterface/Views/VisualStyleSelectorTreeItem.css:
187         (.item.visual-style-selector-item > input[type="checkbox"]):
188         (.item.visual-style-selector-item.selected > input[type="checkbox"]::before):
189         (.item.visual-style-selector-item.modified > .icon):
190         (.item.visual-style-selector-item:not(.dom-element-icon).editable > .titles > .title:focus):
191
192         * UserInterface/Views/VisualStyleSelectorTreeItem.js:
193         (WebInspector.VisualStyleSelectorTreeItem.prototype._handleContextMenuEvent):
194         (WebInspector.VisualStyleSelectorTreeItem.prototype._handleMainTitleMouseDown):
195         Added another context menu item to show the source location for the selected rule.
196
197 2015-08-14  Devin Rousso  <drousso@apple.com>
198
199         Web Inspector: Add visual editors for CSS properties
200         https://bugs.webkit.org/show_bug.cgi?id=147576
201
202         Added parent class for property editors in the Visual style
203         details panel in the CSS sidebar.
204
205         Reviewed by Timothy Hatcher.
206
207         * UserInterface/Views/VisualStylePropertyCombiner.js: Added.
208         (WebInspector.VisualStylePropertyCombiner):
209         (WebInspector.VisualStylePropertyCombiner.prototype.get style):
210         (WebInspector.VisualStylePropertyCombiner.prototype.get synthesizedValue):
211         (WebInspector.VisualStylePropertyCombiner.prototype.modifyPropertyText):
212         (WebInspector.VisualStylePropertyCombiner.prototype.update):
213         (WebInspector.VisualStylePropertyCombiner.prototype.updateValuesFromText.updateCompatibleEditor):
214         (WebInspector.VisualStylePropertyCombiner.prototype.updateValuesFromText):
215         (WebInspector.VisualStylePropertyCombiner.prototype.propertyMissing):
216         (WebInspector.VisualStylePropertyCombiner.prototype.resetEditorValues):
217         (WebInspector.VisualStylePropertyCombiner.prototype._markEditors):
218         (WebInspector.VisualStylePropertyCombiner.prototype._handlePropertyEditorValueChanged):
219
220         * UserInterface/Views/VisualStylePropertyEditor.css: Added.
221         (.visual-style-property-container):
222         (.visual-style-property-container > .visual-style-property-title):
223         (.visual-style-property-container > .visual-style-property-title > .property-reference-info):
224         (.visual-style-property-container.disabled > .visual-style-property-title > :not(.property-reference-info)):
225         (.visual-style-property-container > .visual-style-property-value-container):
226         (.visual-style-property-container.disabled > .visual-style-property-value-container):
227         (.visual-style-property-container > .visual-style-property-value-container select):
228         (.visual-style-property-container > .visual-style-property-value-container input):
229         (.visual-style-property-container.disabled > .visual-style-property-value-container input):
230         (.visual-style-property-container.layout-reversed > .visual-style-property-title):
231         (.visual-style-property-container > .visual-style-property-value-container > .visual-style-special-property-placeholder):
232         (.visual-style-property-info-popover):
233         (.visual-style-property-info-popover > h3):
234
235         * UserInterface/Views/VisualStylePropertyEditor.js: Added.
236         (WebInspector.VisualStylePropertyEditor.canonicalizeValues):
237         (WebInspector.VisualStylePropertyEditor):
238         (WebInspector.VisualStylePropertyEditor.prototype.get element):
239         (WebInspector.VisualStylePropertyEditor.prototype.get style):
240         (WebInspector.VisualStylePropertyEditor.prototype.get value):
241         (WebInspector.VisualStylePropertyEditor.prototype.set value):
242         (WebInspector.VisualStylePropertyEditor.prototype.get units):
243         (WebInspector.VisualStylePropertyEditor.prototype.set units):
244         (WebInspector.VisualStylePropertyEditor.prototype.get placeholder):
245         (WebInspector.VisualStylePropertyEditor.prototype.set placeholder):
246         (WebInspector.VisualStylePropertyEditor.prototype.get synthesizedValue):
247         (WebInspector.VisualStylePropertyEditor.prototype.set suppressStyleTextUpdate):
248         (WebInspector.VisualStylePropertyEditor.prototype.set masterProperty):
249         (WebInspector.VisualStylePropertyEditor.prototype.get masterProperty):
250         (WebInspector.VisualStylePropertyEditor.prototype.set optionalProperty):
251         (WebInspector.VisualStylePropertyEditor.prototype.get optionalProperty):
252         (WebInspector.VisualStylePropertyEditor.prototype.set colorProperty):
253         (WebInspector.VisualStylePropertyEditor.prototype.get colorProperty):
254         (WebInspector.VisualStylePropertyEditor.prototype.get propertyReferenceName):
255         (WebInspector.VisualStylePropertyEditor.prototype.set propertyReferenceName):
256         (WebInspector.VisualStylePropertyEditor.prototype.set disabled):
257         (WebInspector.VisualStylePropertyEditor.prototype.get disabled):
258         (WebInspector.VisualStylePropertyEditor.prototype.update):
259         (WebInspector.VisualStylePropertyEditor.prototype.updateEditorValues):
260         (WebInspector.VisualStylePropertyEditor.prototype.resetEditorValues):
261         (WebInspector.VisualStylePropertyEditor.prototype.modifyPropertyText):
262         (WebInspector.VisualStylePropertyEditor.prototype.getValuesFromText):
263         (WebInspector.VisualStylePropertyEditor.prototype.propertyMissing):
264         (WebInspector.VisualStylePropertyEditor.prototype.valueIsCompatible):
265         (WebInspector.VisualStylePropertyEditor.prototype.valueIsSupportedKeyword):
266         (WebInspector.VisualStylePropertyEditor.prototype.valueIsSupportedUnit):
267         (WebInspector.VisualStylePropertyEditor.prototype.get contentElement):
268         (WebInspector.VisualStylePropertyEditor.prototype.get specialPropertyPlaceholderElement):
269         (WebInspector.VisualStylePropertyEditor.prototype.parseValue):
270         (WebInspector.VisualStylePropertyEditor.prototype._valueIsSupportedAdvancedKeyword):
271         (WebInspector.VisualStylePropertyEditor.prototype._valueIsSupportedAdvancedUnit):
272         (WebInspector.VisualStylePropertyEditor.prototype._canonicalizedKeywordForKey):
273         (WebInspector.VisualStylePropertyEditor.prototype._keyForKeyword):
274         (WebInspector.VisualStylePropertyEditor.prototype._valueDidChange):
275         (WebInspector.VisualStylePropertyEditor.prototype._replaceShorthandPropertyWithLonghandProperties):
276         (WebInspector.VisualStylePropertyEditor.prototype._titleElementPrepareForClick):
277         (WebInspector.VisualStylePropertyEditor.prototype._titleElementMouseOver):
278         (WebInspector.VisualStylePropertyEditor.prototype._titleElementMouseOut):
279         (WebInspector.VisualStylePropertyEditor.prototype._titleElementClick):
280         (WebInspector.VisualStylePropertyEditor.prototype._hasMultipleConflictingValues):
281         (WebInspector.VisualStylePropertyEditor.prototype._showPropertyInfoPopover):
282         (WebInspector.VisualStylePropertyEditor.prototype._toggleTabbingOfSelectableElements):
283
284         * UserInterface/Views/VisualStyleTabbedPropertiesRow.css: Added.
285         (.visual-style-tabbed-properties-row ~ :not(.visible)):
286         (.visual-style-tabbed-properties-row > .visual-style-tabbed-properties-row-container):
287         (.visual-style-tabbed-properties-row > .visual-style-tabbed-properties-row-container > button):
288         (.visual-style-tabbed-properties-row > .visual-style-tabbed-properties-row-container > button.selected):
289         (.visual-style-tabbed-properties-row > .visual-style-tabbed-properties-row-container > button:not(.selected):hover):
290
291         * UserInterface/Views/VisualStyleTabbedPropertiesRow.js: Added.
292         (WebInspector.VisualStyleTabbedPropertiesRow):
293         (WebInspector.VisualStyleTabbedPropertiesRow.prototype._handleButtonClicked):
294
295 2015-08-14  Devin Rousso  <drousso@apple.com>
296
297         Web Inspector: Add Visual editors for CSS properties with comma separated values
298         https://bugs.webkit.org/show_bug.cgi?id=147578
299
300         Reviewed by Timothy Hatcher.
301
302         Displays comma separated CSS property values as a tree outline list.
303
304         * UserInterface/Images/Minus.svg: Added.
305         * UserInterface/Views/TreeOutline.js:
306         (WebInspector.TreeOutline.prototype.get selectedTreeElementIndex):
307         (WebInspector.TreeOutline):
308
309         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css: Added.
310         (.visual-style-property-container.comma-separated-keyword-editor):
311         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container):
312         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list):
313         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item):
314         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item:nth-child(odd)):
315         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item.selected):
316         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item > :matches(button, img)):
317         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item > .titles):
318         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item.visual-style-font-family-list-item.selected:not(.editor-hidden) > .titles > *):
319         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item.visual-style-font-family-list-item > .visual-style-comma-separated-keyword-item-editor):
320         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item.visual-style-font-family-list-item.editor-hidden > .visual-style-comma-separated-keyword-item-editor):
321         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item > .titles > .subtitle):
322         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item:not(.no-value) > .titles > .subtitle):
323         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-controls):
324         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-controls > div):
325         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-controls > .visual-style-remove-comma-separated-keyword):
326
327         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js: Added.
328         (WebInspector.VisualStyleCommaSeparatedKeywordEditor):
329         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.set selectedTreeElementValue):
330         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.get value):
331         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.set value):
332         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.get synthesizedValue):
333         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._treeElementSelected):
334         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._treeItemIsEmpty):
335         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._addEmptyCommaSeparatedKeyword):
336         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._removeSelectedCommaSeparatedKeyword):
337         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._removeEmptyCommaSeparatedKeywords):
338         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._addCommaSeparatedKeyword):
339         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._removeCommaSeparatedKeyword):
340         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._createNewTreeElement):
341
342         * UserInterface/Views/VisualStyleFontFamilyListEditor.js: Added.
343         (WebInspector.VisualStyleFontFamilyListEditor):
344         (WebInspector.VisualStyleFontFamilyListEditor.prototype.visualStyleCompletionsControllerCustomizeCompletionElement):
345         (WebInspector.VisualStyleFontFamilyListEditor.prototype.get hasCompletions):
346         (WebInspector.VisualStyleFontFamilyListEditor.prototype.set completions):
347         (WebInspector.VisualStyleFontFamilyListEditor.prototype._modifyCommaSeparatedKeyword):
348         (WebInspector.VisualStyleFontFamilyListEditor.prototype._addCommaSeparatedKeyword):
349         (WebInspector.VisualStyleFontFamilyListEditor.prototype._addEmptyCommaSeparatedKeyword):
350         (WebInspector.VisualStyleFontFamilyListEditor.prototype._completionClicked):
351         (WebInspector.VisualStyleFontFamilyListEditor.prototype._treeElementKeyDown):
352         (WebInspector.VisualStyleFontFamilyListEditor.prototype._treeElementKeywordChanged):
353         (WebInspector.VisualStyleFontFamilyListEditor.prototype._hideCompletions):
354         (WebInspector.VisualStyleFontFamilyListEditor.prototype._createNewTreeElement):
355
356         * UserInterface/Views/VisualStyleFontFamilyTreeElement.js: Added.
357         (WebInspector.VisualStyleFontFamilyTreeElement):
358         (WebInspector.VisualStyleFontFamilyTreeElement.prototype.editorBounds):
359         (WebInspector.VisualStyleFontFamilyTreeElement.prototype.updateMainTitle):
360         (WebInspector.VisualStyleFontFamilyTreeElement.prototype.showKeywordEditor):
361         (WebInspector.VisualStyleFontFamilyTreeElement.prototype.hideKeywordEditor):
362         (WebInspector.VisualStyleFontFamilyTreeElement.prototype.get keywordEditorHidden):
363         (WebInspector.VisualStyleFontFamilyTreeElement.prototype.onattach):
364         (WebInspector.VisualStyleFontFamilyTreeElement.prototype.ondeselect):
365         (WebInspector.VisualStyleFontFamilyTreeElement.prototype._keywordEditorKeyDown):
366         (WebInspector.VisualStyleFontFamilyTreeElement.prototype._keywordEditorKeyUp):
367         (WebInspector.VisualStyleFontFamilyTreeElement.prototype._keywordEditorBlurred):
368
369 2015-08-14  Devin Rousso  <drousso@apple.com>
370
371         Web Inspector: Add autocomplete controller for Visual property editors
372         https://bugs.webkit.org/show_bug.cgi?id=147579
373
374         Reviewed by Timothy Hatcher.
375
376         * UserInterface/Controllers/VisualStyleCompletionsController.js: Added.
377         (WebInspector.VisualStyleCompletionsController):
378         Takes in a CSSCompletions and displays a list of suggestions based on a given prefix in a popover.
379         (WebInspector.VisualStyleCompletionsController.prototype.get visible):
380         (WebInspector.VisualStyleCompletionsController.prototype.get hasCompletions):
381         (WebInspector.VisualStyleCompletionsController.prototype.get currentCompletion):
382         (WebInspector.VisualStyleCompletionsController.prototype.set completions):
383         (WebInspector.VisualStyleCompletionsController.prototype.completionSuggestionsViewCustomizeCompletionElement):
384         (WebInspector.VisualStyleCompletionsController.prototype.previous):
385         (WebInspector.VisualStyleCompletionsController.prototype.next):
386         (WebInspector.VisualStyleCompletionsController.prototype.update):
387         (WebInspector.VisualStyleCompletionsController.prototype.show):
388         (WebInspector.VisualStyleCompletionsController.prototype.hide):
389
390         * UserInterface/Models/CSSKeywordCompletions.js:
391         (WebInspector.CSSKeywordCompletions.forProperty):
392         Make sure that the cssNameCompletions exist before trying to add them.
393
394         * UserInterface/Views/CompletionSuggestionsView.js:
395         (WebInspector.CompletionSuggestionsView.prototype.update):
396         Allow the delegate to modify the newly created completion suggestion item.
397
398 2015-08-14  Devin Rousso  <drousso@apple.com>
399
400         Web Inspector: Add a visual editor for timing functions
401         https://bugs.webkit.org/show_bug.cgi?id=148022
402
403         Reviewed by Timothy Hatcher.
404
405         Uses the existing bezier editor and the Visual keyword picker to make an editor for timing functions.
406
407         * UserInterface/Views/VisualStyleTimingEditor.css: Added.
408         (.visual-style-property-container.timing-editor > .visual-style-property-value-container):
409         (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .keyword-picker-select):
410         (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .bezier-editor):
411         (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .bezier-editor:hover):
412         (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .bezier-editor:active):
413
414         * UserInterface/Views/VisualStyleTimingEditor.js: Added.
415         (WebInspector.VisualStyleTimingEditor):
416         (WebInspector.VisualStyleTimingEditor.prototype.parseValue):
417         (WebInspector.VisualStyleTimingEditor.prototype.get bezierValue):
418         (WebInspector.VisualStyleTimingEditor.prototype.set bezierValue):
419         (WebInspector.VisualStyleTimingEditor.prototype._getValue):
420         (WebInspector.VisualStyleTimingEditor.prototype._setValue):
421         (WebInspector.VisualStyleTimingEditor.prototype._generateSynthesizedValue):
422         (WebInspector.VisualStyleTimingEditor.prototype._bezierMarkerClicked):
423         (WebInspector.VisualStyleTimingEditor.prototype._handleKeywordChanged):
424
425 2015-08-13  Nikita Vasilyev  <nvasilyev@apple.com>
426
427         Web Inspector: Can't resize split console when window is too narrow
428         https://bugs.webkit.org/show_bug.cgi?id=147924
429
430         Make some items inside of the navigation bar click-through to incsease
431         the draggable area.
432
433         Reviewed by Timothy Hatcher.
434
435         * UserInterface/Views/Main.css:
436         (#split-content-browser > .navigation-bar > :matches(.hierarchical-path, .log-search-bar, .log-scope-bar)):
437         (#split-content-browser > .navigation-bar > :matches(.log-search-bar, .log-scope-bar) > :matches(li, input)):
438
439 2015-08-13  Devin Rousso  <drousso@apple.com>
440
441         Web Inspector: Flash DOM node attribute on change
442         https://bugs.webkit.org/show_bug.cgi?id=147973
443
444         Reviewed by Timothy Hatcher.
445
446         Whenever an attribute on a DOM node changes, flash the attribute value.
447         If that value doesn't exist, flash the attribute name instead.
448
449         * UserInterface/Views/DOMTreeElement.js:
450         (WebInspector.DOMTreeElement):
451         (WebInspector.DOMTreeElement.prototype.nodeChanged):
452         (WebInspector.DOMTreeElement.prototype._buildAttributeDOM):
453         If the node has been marked with a general change, mark the attribute element for animation.
454         (WebInspector.DOMTreeElement.prototype._markNodeChanged.animationEnd):
455         (WebInspector.DOMTreeElement.prototype._markNodeChanged):
456         Adds a class to the given element that applies a simple background flash animation.
457         (WebInspector.DOMTreeElement.prototype._fireDidChange):
458         Add the animation class once all building of the represented DOM object for that node is done.
459
460         * UserInterface/Views/DOMTreeOutline.css:
461         (@keyframes node-state-changed):
462         Applies a semi-transparent background that fades to default.
463         (.node-state-changed):
464
465         * UserInterface/Views/DOMTreeUpdater.js:
466         (WebInspector.DOMTreeUpdater.prototype._attributesUpdated):
467         Now passes along the name of the modified attribute.
468         (WebInspector.DOMTreeUpdater.prototype._updateModifiedNodes):
469         If the modified node object has an attribute member, mark the node as being generally changed.
470
471 2015-08-13  Devin Rousso  <drousso@apple.com>
472
473         REGRESSION (r184000): Web Inspector: Stripped whitespace after editing CSS in Styles sidebar
474         https://bugs.webkit.org/show_bug.cgi?id=145679
475
476         Reviewed by Timothy Hatcher.
477
478         The formatter will now calculate the number of beginning spaces before the first line in a rule
479         and duplicate them in front of every other line.  If there is no new line at the beginning or are
480         no spaces, assume 4 spaces and a new line for each property.
481         Also cleaned up the code for _resetContent a bit.
482
483         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
484         (WebInspector.CSSStyleDeclarationTextEditor):
485         (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update.set get this):
486         (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update.get this):
487         (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update):
488         (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent):
489
490 2015-08-13  Matt Baker  <mattbaker@apple.com>
491
492         Web Inspector: Skip rendering frame records without children
493         https://bugs.webkit.org/show_bug.cgi?id=147993
494
495         Reviewed by Reviewed by Joseph Pecoraro.
496
497         This became an issue for frames which include an IndexedDB "success" event. This caused the
498         payload to pass the "has children" test, but resulted in model objects with no child records.
499
500         * UserInterface/Controllers/TimelineManager.js:
501         (WebInspector.TimelineManager.prototype.eventRecorded):
502         Fixed record type check and moved rendering frame index assignment.
503
504         * UserInterface/Models/RenderingFrameTimelineRecord.js:
505         (WebInspector.RenderingFrameTimelineRecord):
506         (WebInspector.RenderingFrameTimelineRecord.prototype.setupFrameIndex):
507         Frame index is now set externally, and can only be set once.
508
509         * UserInterface/Views/RenderingFrameTimelineView.js:
510         (WebInspector.RenderingFrameTimelineView.prototype._renderingFrameTimelineRecordAdded):
511         Added assertion.
512
513 2015-08-13  Joseph Pecoraro  <pecoraro@apple.com>
514
515         Web Inspector: Watch Expressions
516         https://bugs.webkit.org/show_bug.cgi?id=147904
517
518         Reviewed by Brian Burg.
519
520         * UserInterface/Protocol/RemoteObject.js:
521         (WebInspector.RemoteObject):
522         A RemoteObject's description string is optional, but we always
523         assume it exists and is a string, so default to the empty string.
524
525         * UserInterface/Controllers/RuntimeManager.js:
526         (WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow.evalCallback):
527         Include the object group in the DidEvaluate event.
528
529         (WebInspector.RemoteObject.fakeRemoteObject):
530         (WebInspector.RemoteObject.prototype.getDisplayablePropertyDescriptors):
531         (WebInspector.RemoteObject.prototype.deprecatedGetDisplayableProperties.get return):
532         (WebInspector.RemoteObject.prototype.deprecatedGetDisplayableProperties):
533         (WebInspector.RemoteObject.prototype._isFakeObject):
534         (WebInspector.RemoteObject.prototype._getPropertyDescriptors):
535         (WebInspector.RemoteObject.prototype._deprecatedGetProperties):
536         Support a fake RemoteObject. We use this fake RemoteObject to
537         back a ObjectTreeView where we add custom Properties which are of the form
538         "Expressions => RemoteObject" instead of "Object Property => RemoteObject".
539         Ensure a fake remote object is not used in unexpected ways.
540
541         * UserInterface/Views/Popover.js:
542         (WebInspector.Popover.prototype.update):
543         Default a popover update to animate, but allow not animating.
544
545         (WebInspector.Popover.prototype.handleEvent):
546         Vend a class that other content can use so that the Popover won't
547         dismiss if content with that class is scrolled. For example, a
548         completions list may be showing over a popover, if that scrolls
549         it should not dismiss the popover.
550
551         * UserInterface/Views/CompletionSuggestionsView.js:
552         (WebInspector.CompletionSuggestionsView):
553         Adopt the Popover ignore class so a popover won't dismiss if the
554         completion suggestions view is scrolled.
555
556         * UserInterface/Views/ObjectTreeBaseTreeElement.js:
557         (WebInspector.ObjectTreeBaseTreeElement.prototype.createGetterElement.get return):
558         (WebInspector.ObjectTreeBaseTreeElement.prototype.createGetterElement):
559         Allow modifying the context menu on an ObjectTreeView by looking for a delegate
560         on the TreeOutline.
561
562         * UserInterface/Views/ScopeChainDetailsSidebarPanel.css: Added.
563         (.details-section.watch-expressions .options > *):
564         (.details-section.watch-expressions .options > *:active):
565         (.details-section.watch-expressions .options > .watch-expression-add):
566         (.details-section.watch-expressions .options > .watch-expression-clear):
567         (.details-section.watch-expressions .options > .watch-expression-refresh):
568         (.popover .watch-expression):
569         (.watch-expression-editor):
570         (.watch-expression-editor > .CodeMirror):
571         (.watch-expression-editor > .CodeMirror-scroll):
572         Styles for the new Watch Expressions section, buttons, popover, and editor.
573
574         * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
575         (WebInspector.ScopeChainDetailsSidebarPanel):
576         (WebInspector.ScopeChainDetailsSidebarPanel.prototype.inspect):
577         (WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh):
578         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateCallFramesSection):
579         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateWatchExpressionsSection):
580         Because we update the UI after a delay, to allow ObjectTreeView's to asynchronously
581         expand and fetch their list of properties, we convert updating the watch expression
582         and call frame sections asynchronously and return a promise. This lets us visually
583         update the UI after both sections have updated.
584
585         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpression):
586         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._removeWatchExpression):
587         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._clearAllWatchExpressions):
588         Modify the saved list of watch expressions.
589
590         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpressionButtonClicked.presentPopoverOverTargetElement):
591         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpressionButtonClicked.this._codeMirror.addKeyMap):
592         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpressionButtonClicked):
593         (WebInspector.ScopeChainDetailsSidebarPanel.prototype.willDismissPopover):
594         Handle presenting and dismissing the add watch expression popover.
595
596         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._refreshAllWatchExpressionsButtonClicked):
597         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._clearAllWatchExpressionsButtonClicked):
598         Other button handlers.
599
600         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._mainResourceDidChange):
601         Refresh the sidebar on navigation, as the watch expressions may change value (`location.href`).
602
603         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._objectTreeElementAddContextMenuItems):
604         Add our own context menu items to watch expression ObjectTreeView tree elements to
605         allow removing a watch expression.
606
607         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._propertyPathIdentifierForTreeElement):
608         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._objectTreeAddHandler):
609         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._objectTreeExpandHandler):
610         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._objectTreeCollapseHandler):
611         Convert code to use `let`.
612
613         * Localizations/en.lproj/localizedStrings.js:
614         * UserInterface/Main.html:
615         Misc. changes.
616
617 2015-08-13  Joseph Pecoraro  <pecoraro@apple.com>
618
619         Web Inspector: A {Map, WeakMap, Set, WeakSet} object contains itself will hang the console
620         https://bugs.webkit.org/show_bug.cgi?id=147966
621
622         Reviewed by Timothy Hatcher.
623
624         * UserInterface/Views/ObjectPreviewView.js:
625         (WebInspector.ObjectPreviewView.prototype._appendEntryPreviews):
626         (WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
627         For empty overflow previews, don't show ", ..." if we didn't show any
628         values; just show "..." in these cases.
629
630 2015-08-13  Matt Baker  <mattbaker@apple.com>
631
632         Web Inspector: Hide child rows for filtered tasks in the Rendering Frames data grid
633         https://bugs.webkit.org/show_bug.cgi?id=147960
634
635         Reviewed by Timothy Hatcher.
636
637         * UserInterface/Models/RenderingFrameTimelineRecord.js:
638         (WebInspector.RenderingFrameTimelineRecord.taskTypeForTimelineRecord):
639         New static method for mapping TimelineRecords to rendering frame tasks.
640         (WebInspector.RenderingFrameTimelineRecord.prototype.durationForTask):
641         Refactored to use taskTypeForTimelineRecord.
642
643         * UserInterface/Views/TimelineSidebarPanel.js:
644         (WebInspector.TimelineSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
645         Task filtering is applied to children of the frame record only. Parent frame
646         record is hidden by default, and visible by virtue of having unfiltered children.
647
648 2015-08-13  Matt Baker  <mattbaker@apple.com>
649
650         Web Inspector: Clearing frames timeline doesn't remove current time marker
651         https://bugs.webkit.org/show_bug.cgi?id=147650
652
653         Reviewed by Timothy Hatcher.
654
655         The rendering frames timeline offsets all markers by 1px to align them on frame
656         boundaries, which causes the current time marker to be visible even with left: 0px.
657         We can exclude the current time marker without it being noticable during recording.
658
659         * UserInterface/Views/TimelineOverview.css:
660
661 2015-08-13  Nikita Vasilyev  <nvasilyev@apple.com>
662
663         REGRESSION (r188325): Web Inspector: Fix vertical spacing in CodeMirror
664         https://bugs.webkit.org/show_bug.cgi?id=147971
665
666         r188325 inceased line-height by 2px. Remove top and bottom 1px padding
667         to compensate for line-height changes.
668
669         In the feature we may highlight the backgroud of text tokens (e.g. for the
670         heatmap profiler) so we would want to get rid of the gaps between the lines
671         (caused by the paddind) regardless of this regression.
672
673         Reviewed by Timothy Hatcher.
674
675         * UserInterface/Views/CodeMirrorOverrides.css:
676         (.CodeMirror pre):
677
678 2015-08-12  Joseph Pecoraro  <pecoraro@apple.com>
679
680         Web Inspector: Sometimes CSS resources don't update after editing via Styles panel
681         https://bugs.webkit.org/show_bug.cgi?id=143244
682
683         Reviewed by Timothy Hatcher.
684
685         * UserInterface/Models/SourceCode.js:
686         (WebInspector.SourceCode.prototype._processContent):
687         This code is brittle and we should move off of putting the
688         possibly stale content in the Promise result.
689
690         * UserInterface/Views/ResourceContentView.js:
691         (WebInspector.ResourceContentView.prototype._contentAvailable):
692         * UserInterface/Views/SourceCodeTextEditor.js:
693         (WebInspector.SourceCodeTextEditor.prototype._contentAvailable):
694         * UserInterface/Models/Script.js:
695         (WebInspector.Script.prototype.requestScriptSyntaxTree):
696         Use the current source code's content.
697
698 2015-08-12  Joseph Pecoraro  <pecoraro@apple.com>
699
700         Web Inspector: Fix Poor Class Names
701         https://bugs.webkit.org/show_bug.cgi?id=147958
702
703         Reviewed by Timothy Hatcher.
704
705         * UserInterface/Views/ClusterContentView.js:
706         * UserInterface/Views/ResourceContentView.js:
707
708 2015-08-12  Devin Rousso  <drousso@apple.com>
709
710         Web Inspector: Opening the Elements tab without a selected sidebar panel causes a crash
711         https://bugs.webkit.org/show_bug.cgi?id=147965
712
713         Reviewed by Timothy Hatcher.
714
715         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
716         (WebInspector.CSSStyleDetailsSidebarPanel):
717         If the saved setting for the selectedPanel does not exist, default to the rules panel.
718
719         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._switchPanels):
720         Only save the new navigationItem info if the selectedPanel exists.
721
722 2015-08-12  Matt Baker  <mattbaker@apple.com>
723
724         Web Inspector: Remove clamp and adopt Number.constrain
725         https://bugs.webkit.org/show_bug.cgi?id=147952
726
727         Reviewed by Timothy Hatcher.
728
729         * UserInterface/Base/Utilities.js:
730         Removed clamp function.
731
732         * UserInterface/Views/BezierEditor.js:
733         (WebInspector.BezierEditor.prototype._updateControlPointsForMouseEvent):
734         * UserInterface/Views/ProfileNodeDataGridNode.js:
735         (WebInspector.ProfileNodeDataGridNode.prototype.updateRangeTimes):
736         * UserInterface/Views/ScriptTimelineDataGridNode.js:
737         (WebInspector.ScriptTimelineDataGridNode.prototype.updateRangeTimes):
738         * UserInterface/Views/TimelineRuler.js:
739         (WebInspector.TimelineRuler.prototype._updateSelection):
740         Replaced instances of clamp with Number.constrain.
741
742 2015-08-12  Joseph Pecoraro  <pecoraro@apple.com>
743
744         Web Inspector: DOM Node should have context menu to scroll it into view on the inspected page
745         https://bugs.webkit.org/show_bug.cgi?id=147913
746
747         Reviewed by Timothy Hatcher.
748
749         * Localizations/en.lproj/localizedStrings.js:
750         * UserInterface/Views/DOMTreeElement.js:
751         (WebInspector.DOMTreeElement.prototype._updateChildren.set continue):
752         (WebInspector.DOMTreeElement.prototype._populateNodeContextMenu):
753         Add a context menu item to scroll into view for element nodes.
754
755         (WebInspector.DOMTreeElement.prototype._scrollIntoView.resolvedNode.scrollIntoView):
756         (WebInspector.DOMTreeElement.prototype._scrollIntoView.resolvedNode):
757         (WebInspector.DOMTreeElement.prototype._scrollIntoView):
758         Call scrollIntoViewIfNeeded on the real Node.
759
760         * UserInterface/Views/DOMTreeOutline.js:
761         (WebInspector.DOMTreeOutline.prototype.populateContextMenu):
762         Remove unused parameter.
763
764         * UserInterface/Views/ObjectTreeBaseTreeElement.js:
765         (WebInspector.ObjectTreeBaseTreeElement.prototype._appendMenusItemsForObject):
766         Add context menu for Nodes in ObjectTrees.
767
768 2015-08-12  Dan Bernstein  <mitz@apple.com>
769
770         Removed the executable bit from non-executable source.
771
772         * UserInterface/External/CodeMirror/LICENSE: Removed property svn:executable.
773         * UserInterface/External/CodeMirror/clojure.js: Removed property svn:executable.
774         * UserInterface/External/CodeMirror/closebrackets.js: Removed property svn:executable.
775         * UserInterface/External/CodeMirror/codemirror.css: Removed property svn:executable.
776         * UserInterface/External/CodeMirror/codemirror.js: Removed property svn:executable.
777         * UserInterface/External/CodeMirror/coffeescript.js: Removed property svn:executable.
778         * UserInterface/External/CodeMirror/comment.js: Removed property svn:executable.
779         * UserInterface/External/CodeMirror/css.js: Removed property svn:executable.
780         * UserInterface/External/CodeMirror/htmlmixed.js: Removed property svn:executable.
781         * UserInterface/External/CodeMirror/javascript.js: Removed property svn:executable.
782         * UserInterface/External/CodeMirror/livescript.js: Removed property svn:executable.
783         * UserInterface/External/CodeMirror/matchbrackets.js: Removed property svn:executable.
784         * UserInterface/External/CodeMirror/overlay.js: Removed property svn:executable.
785         * UserInterface/External/CodeMirror/placeholder.js: Removed property svn:executable.
786         * UserInterface/External/CodeMirror/runmode.js: Removed property svn:executable.
787         * UserInterface/External/CodeMirror/sass.js: Removed property svn:executable.
788         * UserInterface/External/CodeMirror/searchcursor.js: Removed property svn:executable.
789         * UserInterface/External/CodeMirror/sql.js: Removed property svn:executable.
790         * UserInterface/External/CodeMirror/xml.js: Removed property svn:executable.
791
792 2015-08-11  Matt Baker  <mattbaker@apple.com>
793
794         Web Inspector: TimelineView data not cleared when recording is reset
795         https://bugs.webkit.org/show_bug.cgi?id=147916
796
797         Reviewed by Timothy Hatcher.
798
799         Each derived timeline view maintains a separate array of timeline records. These weren't
800         cleared on reset, so switching to a timeline view after clearing the recording caused
801         the view to populate its tree outline.
802
803         * UserInterface/Views/LayoutTimelineView.js:
804         (WebInspector.LayoutTimelineView.set columns):
805         (WebInspector.LayoutTimelineView):
806         * UserInterface/Views/NetworkTimelineView.js:
807         (WebInspector.NetworkTimelineView.set columns):
808         (WebInspector.NetworkTimelineView):
809         * UserInterface/Views/OverviewTimelineView.js:
810         (WebInspector.OverviewTimelineView.prototype.reset):
811         (WebInspector.OverviewTimelineView.prototype._processPendingRepresentedObjects):
812         * UserInterface/Views/RenderingFrameTimelineView.js:
813         (WebInspector.RenderingFrameTimelineView.prototype.reset):
814         * UserInterface/Views/ScriptTimelineView.js:
815         (WebInspector.ScriptTimelineView.prototype.reset):
816
817 2015-08-11  Matt Baker  <mattbaker@apple.com>
818
819         Web Inspector: Dragging a timeline ruler handle when both handles clamped is broken
820         https://bugs.webkit.org/show_bug.cgi?id=147912
821
822         Reviewed by Timothy Hatcher.
823
824         When clamped handles overlap, the handle nearest in time to the ruler's edge should be visible and
825         clickable, and the other should be hidden. This change ensures that clicking and dragging a ruler
826         handle to modify a selection outside the visible area works correctly.
827
828         * UserInterface/Views/TimelineOverview.css:
829         (.timeline-overview.frames > .timeline-ruler:not(.both-handles-clamped) > .selection-handle.right):
830         Style adjustment for rendering frames, which offsets the right handle by 5px instead of 4px.
831         (.timeline-overview.frames > .timeline-ruler:not(.both-handles-clamped) > .shaded-area.right):
832         Style adjustment for rendering frames, which offsets the right shaded area by 1px.
833         (.timeline-overview.frames > .timeline-ruler > .selection-handle.right): Deleted.
834         (.timeline-overview.frames > .timeline-ruler > .shaded-area.right): Deleted.
835
836         * UserInterface/Views/TimelineRuler.css:
837         (.timeline-ruler.both-handles-clamped > .selection-handle):
838         Updated handle style when both are clamped.
839         (.timeline-ruler > .selection-handle.clamped.hidden):
840         Hide the clamped handle that is beneath the other clamped handle.
841
842         * UserInterface/Views/TimelineRuler.js:
843         (WebInspector.TimelineRuler.prototype._updateSelection):
844
845
846 2015-08-11  Devin Rousso  <drousso@apple.com>
847
848         Web Inspector: Disabling attribute styles should not be possible
849         https://bugs.webkit.org/show_bug.cgi?id=147922
850
851         Reviewed by Timothy Hatcher.
852
853         * UserInterface/Views/CSSStyleDeclarationSection.js:
854         (WebInspector.CSSStyleDeclarationSection):
855         Increases the specificity of the if statement that adds rule disable state toggling to the icon.
856
857 2015-08-11  Devin Rousso  <drousso@apple.com>
858
859         Web Inspector: Update to CodeMirror 5.5 or later
860         https://bugs.webkit.org/show_bug.cgi?id=147109
861
862         Reviewed by Timothy Hatcher.
863
864         Updated CodeMirror to version 5.5, as well as the extension files for CodeMirror
865         that are currently used in WebInspector.
866
867         * Localizations/en.lproj/localizedStrings.js:
868         * Tools/PrettyPrinting/FormatterDebug.js:
869         Added WebInspector namespace for formatters.
870
871         * Tools/PrettyPrinting/index.html:
872         Added WebInspector namespace for formatters.
873
874         * UserInterface/External/CodeMirror/LICENSE:
875         * UserInterface/External/CodeMirror/clojure.js:
876         * UserInterface/External/CodeMirror/closebrackets.js:
877         * UserInterface/External/CodeMirror/codemirror.css:
878         * UserInterface/External/CodeMirror/codemirror.js:
879         * UserInterface/External/CodeMirror/coffeescript.js:
880         * UserInterface/External/CodeMirror/comment.js:
881         * UserInterface/External/CodeMirror/css.js:
882         * UserInterface/External/CodeMirror/htmlmixed.js:
883         * UserInterface/External/CodeMirror/javascript.js:
884         * UserInterface/External/CodeMirror/livescript.js:
885         * UserInterface/External/CodeMirror/matchbrackets.js:
886         * UserInterface/External/CodeMirror/overlay.js:
887         * UserInterface/External/CodeMirror/sass.js:
888         * UserInterface/External/CodeMirror/searchcursor.js:
889         * UserInterface/External/CodeMirror/sql.js:
890         * UserInterface/External/CodeMirror/xml.js:
891         * UserInterface/Views/CodeMirrorFormatters.js:
892         Now uses the new token in CodeMirror for media query parenthesis.
893
894         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
895         (.css-style-text-editor > .CodeMirror pre):
896         Removed the additional vertical padding.
897
898         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
899         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseDown):
900         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseUp):
901         Clicking on the end of a line in a style will now correctly insert a new line.
902
903         * UserInterface/Views/ComputedStyleDetailsPanel.css:
904         (.details-section > .content > .group > .row .CodeMirror-code pre .go-to-arrow):
905         The go-to arrow now has the proper dimensions.
906
907         * UserInterface/Views/HoverMenu.css:
908         (.hover-menu > img):
909         * UserInterface/Views/SourceCodeTextEditor.css:
910         (.hover-menu.color > img):
911
912 2015-08-11  Matt Baker  <mattbaker@apple.com>
913
914         Web Inspector: Add the ability to filter out tasks in the Rendering Frames timeline
915         https://bugs.webkit.org/show_bug.cgi?id=147389
916
917         Reviewed by Timothy Hatcher.
918
919         Added filtering by task type to the Rendering Frames timeline view. Legend item checkboxes
920         in the timeline sidebar toggle filtering for the corresponding task. The "Other" category
921         cannot be filtered, since all rendering frame records include some "other" time in addition to
922         child records from at least one additional task type.
923
924         A row is filtered (hidden) from the data grid when the corresponding rendering frame has no
925         unfiltered child records.
926
927         * UserInterface/Base/Main.js:
928         (WebInspector._windowFocused):
929         (WebInspector._windowBlurred):
930         Added inactive style for docked window.
931
932         * UserInterface/Views/ChartDetailsSectionRow.css:
933         (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > label > .color-key):
934         (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > label):
935         (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > label > input[type=checkbox]):
936         (body.window-inactive .details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > label > input[type=checkbox]):
937         (.details-section > .content > .group > .row.chart > .defs-only):
938         (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .label > .color-swatch): Deleted.
939         (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .label): Deleted.
940         Switched to label elements, added checkbox styles, and updated color swatch style for non-checkbox items.
941
942         * UserInterface/Views/ChartDetailsSectionRow.js:
943         (WebInspector.ChartDetailsSectionRow):
944         Added svg filter container and style sheet element.
945         (WebInspector.ChartDetailsSectionRow.prototype.set data):
946         (WebInspector.ChartDetailsSectionRow.prototype._createLegend.createGammaPrimitive):
947         (WebInspector.ChartDetailsSectionRow.prototype._createLegend.createCheckboxFilterElement):
948         Helper function to create an svg:filter to blend legend key color over the native checkbox element.
949         Filter assumes grayscale input, and each checkbox requires a separate filter.
950         (WebInspector.ChartDetailsSectionRow.prototype._createLegend):
951         Creates legend items, svg filters, and checkbox style sheet.
952         (WebInspector.ChartDetailsSectionRow.prototype._legendItemCheckboxValueChanged):
953         Repackage and forward checkbox changed event.
954         (WebInspector.ChartDetailsSectionRow.prototype._createLegendItem): Deleted.
955         Logic moved to WebInspector.ChartDetailsSectionRow.prototype._createLegend.
956
957         * UserInterface/Views/TimelineSidebarPanel.js:
958         Added set of rendering frame task types against which tree elements can be filtered.
959         (WebInspector.TimelineSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
960         If filter is not empty, check ancestor rendering frame record for unfiltered data.
961         (WebInspector.TimelineSidebarPanel.prototype._frameSelectionLegendItemChecked):
962         Update task filter in response when legend items are checked/unchecked.
963
964 2015-08-11  Brent Fulgham  <bfulgham@apple.com>
965
966         [Win] Switch Windows build to Visual Studio 2015
967         https://bugs.webkit.org/show_bug.cgi?id=147887
968         <rdar://problem/22235098>
969
970         Reviewed by Alex Christensen.
971
972         Update Visual Studio project file settings to use the current Visual
973         Studio and compiler. Continue targeting binaries to run on our minimum
974         supported configuration of Windows 7.
975
976         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
977
978 2015-08-11  Brian Burg  <bburg@apple.com>
979
980         Web Inspector: Agent commands do not actually return a promise when expected
981         https://bugs.webkit.org/show_bug.cgi?id=138665
982
983         Reviewed by Timothy Hatcher.
984
985         This patch unifies the handling of different invocation and dispatch modes in the
986         InspectorBackend protocol system. Command responses are dispatched to a provided
987         callback function; if no function was provided, then the command returns a promise.
988
989         Rather than awkwardly converting between promises and callbacks at invocation and
990         response dispatch time, the backend now stores the callback or promise thunks and
991         knows how to invoke each when the response comes. This mirrors how response handling
992         works in ProtocolTestStub.js. InspectorBackend includes more machinery to support Agent
993         objects and various debug flags.
994
995         Performanace impact is expected to be negligible, because there are relatively
996         few commands issued by the inspector frontend and returned promises are short-lived.
997
998         Remove all uses of Command.prototype.promise, since it is no longer necessary.
999
1000         * UserInterface/Base/Test.js:
1001         (InspectorTest.reloadPage):
1002         * UserInterface/Controllers/ReplayManager.js:
1003         (WebInspector.ReplayManager.prototype.getSession.get var):
1004         (WebInspector.ReplayManager.getSegment.get var):
1005         * UserInterface/Models/ReplaySession.js:
1006         (WebInspector.ReplaySession.prototype.segmentsChanged):
1007         * UserInterface/Models/Resource.js:
1008         (WebInspector.Resource.prototype.requestContentFromBackend):
1009         * UserInterface/Models/Script.js:
1010         (WebInspector.Script.prototype.requestContentFromBackend):
1011         * UserInterface/Models/SourceMapResource.js:
1012         (WebInspector.SourceMapResource.prototype.requestContentFromBackend):
1013         * UserInterface/Protocol/InspectorBackend.js:
1014         (InspectorBackendClass):
1015         (InspectorBackendClass.prototype.dispatch):
1016         (InspectorBackendClass.prototype.runAfterPendingDispatches):
1017         (InspectorBackendClass.prototype._sendCommandToBackendWithCallback.set this):
1018         (InspectorBackendClass.set this):
1019         (InspectorBackendClass.prototype._sendCommandToBackendWithCallback):
1020         (InspectorBackendClass.prototype._dispatchResponseToCallback):
1021         (InspectorBackendClass.prototype._dispatchResponseToPromise):
1022         (InspectorBackendClass.prototype._flushPendingScripts):
1023         (InspectorBackend.Command.prototype.invoke):
1024         (InspectorBackend.Command.prototype._invokeWithArguments):
1025         (InspectorBackendClass.prototype._willSendMessageToBackend.set return): Deleted.
1026         (InspectorBackendClass._dispatchCallback.get if): Deleted.
1027         (InspectorBackendClass.prototype._willSendMessageToBackend): Deleted.
1028         (InspectorBackendClass.prototype._invokeCommand): Deleted.
1029         (.callable): Deleted.
1030         (InspectorBackend.Command.create): Deleted.
1031         (InspectorBackend.Command.prototype.promise): Deleted.
1032
1033 2015-08-11  Devin Rousso  <drousso@apple.com>
1034
1035         Web Inspector: Hovering over an element in the Elements tab should highlight the whole line
1036         https://bugs.webkit.org/show_bug.cgi?id=147855
1037
1038         Reviewed by Brian Burg.
1039
1040         * UserInterface/Views/DOMTreeOutline.css:
1041         (.dom-tree-outline li.hovered:not(.selected) .selection):
1042         Removed the horizontal positioning and border radius.
1043
1044 2015-08-10  Devin Rousso  <drousso@apple.com>
1045
1046         Web Inspector: Add numerical input and slider based Visual editors for CSS properties
1047         https://bugs.webkit.org/show_bug.cgi?id=147712
1048
1049         Reviewed by Brian Burg.
1050
1051         Added editors for CSS properties with numerical values for use in the Visual style
1052         details panel in the CSS sidebar, in the form of a combined select and input or an
1053         input range.  Also added optional visual linkages to sync values between multiple
1054         editors of this type.
1055
1056         * UserInterface/Images/VisualStylePropertyLinked.svg: Added.
1057         * UserInterface/Images/VisualStylePropertyUnlinked.svg: Added.
1058
1059         * UserInterface/Views/VisualStyleNumberInputBox.css: Added.
1060         (.visual-style-property-container > .visual-style-property-value-container.focused > .focus-ring):
1061         (.visual-style-property-container > .visual-style-property-value-container > .number-input-keyword-select):
1062         (.visual-style-property-container > .visual-style-property-value-container > .number-input-container):
1063         (.visual-style-property-container > .visual-style-property-value-container:not(.number-input-editable) > .number-input-container):
1064         (.visual-style-property-container > .visual-style-property-value-container > .number-input-container > .number-input-value):
1065         (.visual-style-property-container > .visual-style-property-value-container > .number-input-container > span):
1066
1067         * UserInterface/Views/VisualStyleNumberInputBox.js: Added.
1068         (WebInspector.VisualStyleNumberInputBox):
1069         (WebInspector.VisualStyleNumberInputBox.prototype.get value):
1070         (WebInspector.VisualStyleNumberInputBox.prototype.set value):
1071         (WebInspector.VisualStyleNumberInputBox.prototype.get units):
1072         (WebInspector.VisualStyleNumberInputBox.prototype.set units):
1073         (WebInspector.VisualStyleNumberInputBox.prototype.get placeholder):
1074         (WebInspector.VisualStyleNumberInputBox.prototype.set placeholder):
1075         (WebInspector.VisualStyleNumberInputBox.prototype.get synthesizedValue):
1076         (WebInspector.VisualStyleNumberInputBox.prototype.get numberInputEditable):
1077         (WebInspector.VisualStyleNumberInputBox.prototype.updateValueFromText):
1078         (WebInspector.VisualStyleNumberInputBox.prototype.parseValue):
1079         (WebInspector.VisualStyleNumberInputBox.prototype._keywordChanged):
1080         (WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputKeyDown.shiftValue):
1081         (WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputKeyDown):
1082         (WebInspector.VisualStyleNumberInputBox.prototype._numberInputChanged):
1083         (WebInspector.VisualStyleNumberInputBox.prototype._keywordSelectMouseDown):
1084         (WebInspector.VisualStyleNumberInputBox.prototype._createValueOptions):
1085         (WebInspector.VisualStyleNumberInputBox.prototype._createUnitOptions):
1086         (WebInspector.VisualStyleNumberInputBox.prototype._addAdvancedUnits):
1087         (WebInspector.VisualStyleNumberInputBox.prototype._removeAdvancedUnits):
1088         (WebInspector.VisualStyleNumberInputBox.prototype._focusContentElement):
1089         (WebInspector.VisualStyleNumberInputBox.prototype._blurContentElement):
1090         (WebInspector.VisualStyleNumberInputBox.prototype._toggleTabbingOfSelectableElements):
1091
1092         * UserInterface/Views/VisualStylePropertyEditorLink.css: Added.
1093         (.visual-style-property-editor-link):
1094         (.visual-style-property-editor-link.disabled):
1095         (.visual-style-property-editor-link.link-all):
1096         (.visual-style-property-editor-link.link-all.linked):
1097         (.visual-style-property-editor-link > .visual-style-property-editor-link-border):
1098         (.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-icon:hover + .visual-style-property-editor-link-border.right):
1099         (.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-border.left):
1100         (.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-border.right):
1101         (.visual-style-property-editor-link.linked > .visual-style-property-editor-link-border):
1102         (.visual-style-property-editor-link > .visual-style-property-editor-link-border.left):
1103         (.visual-style-property-editor-link > .visual-style-property-editor-link-border.right):
1104         (.visual-style-property-editor-link:not(.link-all) > .visual-style-property-editor-link-border):
1105         (.visual-style-property-editor-link:not(.link-all).linked > .visual-style-property-editor-link-border):
1106         (.visual-style-property-editor-link > .visual-style-property-editor-link-icon):
1107         (.visual-style-property-editor-link > .visual-style-property-editor-link-icon > .unlinked-icon):
1108         (.visual-style-property-editor-link > .visual-style-property-editor-link-icon > .unlinked-icon svg .filled):
1109         (.visual-style-property-editor-link > .visual-style-property-editor-link-icon > .unlinked-icon svg .stroked):
1110         (.visual-style-property-editor-link:not(.link-all) > .visual-style-property-editor-link-icon):
1111         (.visual-style-property-editor-link.link-all > .visual-style-property-editor-link-icon):
1112
1113         * UserInterface/Views/VisualStylePropertyEditorLink.js: Added.
1114         (WebInspector.VisualStylePropertyEditorLink):
1115         (WebInspector.VisualStylePropertyEditorLink.prototype.get element):
1116         (WebInspector.VisualStylePropertyEditorLink.prototype.set disabled):
1117         (WebInspector.VisualStylePropertyEditorLink.prototype._linkedPropertyValueChanged):
1118         (WebInspector.VisualStylePropertyEditorLink.prototype._updateLinkedEditors):
1119         (WebInspector.VisualStylePropertyEditorLink.prototype._iconMouseover):
1120         (WebInspector.VisualStylePropertyEditorLink.prototype._iconMouseout):
1121         (WebInspector.VisualStylePropertyEditorLink.prototype._iconClicked):
1122
1123         * UserInterface/Views/VisualStyleRelativeNumberSlider.css: Added.
1124         (.visual-style-property-container.number-input-box.relative-number-slider > .visual-style-property-title):
1125         (.visual-style-property-container.number-input-box.relative-number-slider > .visual-style-property-value-container):
1126         (.visual-style-property-container.number-input-box.relative-number-slider.disabled > .relative-slider):
1127         (.visual-style-property-container.number-input-box.relative-number-slider > .visual-style-property-value-container.no-values.no-units):
1128         (.visual-style-property-container.number-input-box.relative-number-slider > .relative-slider):
1129
1130         * UserInterface/Views/VisualStyleRelativeNumberSlider.js: Added.
1131         (WebInspector.VisualStyleRelativeNumberSlider):
1132         (WebInspector.VisualStyleRelativeNumberSlider.prototype.set scale):
1133         (WebInspector.VisualStyleRelativeNumberSlider.prototype.updateEditorValues):
1134         (WebInspector.VisualStyleRelativeNumberSlider.prototype._resetSlider):
1135         (WebInspector.VisualStyleRelativeNumberSlider.prototype._sliderChanged):
1136         (WebInspector.VisualStyleRelativeNumberSlider.prototype._numberInputChanged):
1137
1138 2015-08-10  Devin Rousso  <drousso@apple.com>
1139
1140         Web Inspector: Add different types of non-numerical Visual editors for CSS properties
1141         https://bugs.webkit.org/show_bug.cgi?id=147711
1142
1143         Added editors for keyword based CSS properties for use in the Visual style
1144         details panel in the CSS sidebar.  Also added images for keyword values that
1145         are simple enough to be conveyed in an image.
1146
1147         Reviewed by Brian Burg.
1148
1149         * UserInterface/Images/ClearBoth.svg: Added.
1150         * UserInterface/Images/ClearLeft.svg: Added.
1151         * UserInterface/Images/ClearRight.svg: Added.
1152         * UserInterface/Images/FloatLeft.svg: Added.
1153         * UserInterface/Images/FloatRight.svg: Added.
1154         * UserInterface/Images/FontStyleItalic.svg: Added.
1155         * UserInterface/Images/FontStyleNormal.svg: Added.
1156         * UserInterface/Images/FontVariantSmallCaps.svg: Added.
1157         * UserInterface/Images/TextAlignCenter.svg: Added.
1158         * UserInterface/Images/TextAlignJustify.svg: Added.
1159         * UserInterface/Images/TextAlignLeft.svg: Added.
1160         * UserInterface/Images/TextAlignRight.svg: Added.
1161         * UserInterface/Images/TextDecorationLineThrough.svg: Added.
1162         * UserInterface/Images/TextDecorationOverline.svg: Added.
1163         * UserInterface/Images/TextDecorationUnderline.svg: Added.
1164         * UserInterface/Images/TextTransformCapitalize.svg: Added.
1165         * UserInterface/Images/TextTransformLowercase.svg: Added.
1166         * UserInterface/Images/TextTransformUppercase.svg: Added.
1167         * UserInterface/Images/VisualStyleNone.svg: Added.
1168         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1169         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches.update):
1170         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
1171         Changed color swatch title.
1172
1173         * UserInterface/Views/Slider.js:
1174         (WebInspector.Slider):
1175         (WebInspector.Slider.prototype.set value):
1176         (WebInspector.Slider.prototype.set knobX):
1177         (WebInspector.Slider.prototype.get maxX):
1178         If the given value is below 0, reset it to 0.
1179         (WebInspector.Slider.prototype._handleMousedown):
1180         (WebInspector.Slider.prototype._handleMousemove):
1181         (WebInspector.Slider.prototype.get _maxX): Deleted.
1182
1183         * UserInterface/Views/VisualStyleColorPicker.css: Added.
1184         (.visual-style-property-container.input-color-picker > .visual-style-property-value-container):
1185         (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .visual-style-special-property-placeholder):
1186         (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch):
1187         (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch:hover):
1188         (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch:active):
1189         (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch > span):
1190         (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > input):
1191         (.visual-style-property-container.input-color-picker.multiple > .visual-style-property-value-container > .visual-style-multiple-property-placeholder):
1192
1193         * UserInterface/Views/VisualStyleColorPicker.js: Added.
1194         (WebInspector.VisualStyleColorPicker):
1195         (WebInspector.VisualStyleColorPicker.prototype.get value):
1196         (WebInspector.VisualStyleColorPicker.prototype.set value):
1197         (WebInspector.VisualStyleColorPicker.prototype.get placeholder):
1198         (WebInspector.VisualStyleColorPicker.prototype.set placeholder):
1199         (WebInspector.VisualStyleColorPicker.prototype.get synthesizedValue):
1200         (WebInspector.VisualStyleColorPicker.prototype.get hasCompletions):
1201         (WebInspector.VisualStyleColorPicker.prototype.set completions):
1202         (WebInspector.VisualStyleColorPicker.prototype._updateColorSwatch):
1203         (WebInspector.VisualStyleColorPicker.prototype._colorSwatchClicked):
1204         (WebInspector.VisualStyleColorPicker.prototype._colorPickerColorDidChange):
1205         (WebInspector.VisualStyleColorPicker.prototype._completionClicked):
1206         (WebInspector.VisualStyleColorPicker.prototype._textInputKeyDown):
1207         (WebInspector.VisualStyleColorPicker.prototype._textInputKeyUp):
1208         (WebInspector.VisualStyleColorPicker.prototype._showCompletionsIfAble):
1209         (WebInspector.VisualStyleColorPicker.prototype._hideCompletions):
1210         (WebInspector.VisualStyleColorPicker.prototype._toggleTabbingOfSelectableElements):
1211
1212         * UserInterface/Views/VisualStyleKeywordCheckbox.css: Added.
1213         (.visual-style-property-container.keyword-checkbox > .visual-style-property-value-container):
1214         (.visual-style-property-container.keyword-checkbox > .visual-style-property-value-container > input):
1215         (.visual-style-property-container.keyword-checkbox > .visual-style-property-value-container > div):
1216
1217         * UserInterface/Views/VisualStyleKeywordCheckbox.js: Added.
1218         (WebInspector.VisualStyleKeywordCheckbox):
1219         (WebInspector.VisualStyleKeywordCheckbox.prototype.get value):
1220         (WebInspector.VisualStyleKeywordCheckbox.prototype.set value):
1221         (WebInspector.VisualStyleKeywordCheckbox.prototype.get synthesizedValue):
1222         (WebInspector.VisualStyleKeywordCheckbox.prototype._toggleTabbingOfSelectableElements):
1223
1224         * UserInterface/Views/VisualStyleKeywordIconList.css: Added.
1225         (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container):
1226         (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container):
1227         (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon):
1228         (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:first-child):
1229         (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:last-child):
1230         (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:matches(.computed, .selected)):
1231         (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon.selected):
1232         (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon.selected svg .stroked):
1233         (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon.selected svg .filled):
1234         (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:matches(.computed, .selected) + .keyword-icon):
1235         (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon > div):
1236         (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:not(.selected) > div):
1237
1238         * UserInterface/Views/VisualStyleKeywordIconList.js: Added.
1239         (WebInspector.VisualStyleKeywordIconList.dashToCapital):
1240         (WebInspector.VisualStyleKeywordIconList.createListItem):
1241         (WebInspector.VisualStyleKeywordIconList):
1242         (WebInspector.VisualStyleKeywordIconList.prototype.get value):
1243         (WebInspector.VisualStyleKeywordIconList.prototype.set value):
1244         (WebInspector.VisualStyleKeywordIconList.prototype.get synthesizedValue):
1245         (WebInspector.VisualStyleKeywordIconList.prototype._handleKeywordChanged):
1246
1247         * UserInterface/Views/VisualStyleKeywordPicker.js: Added.
1248         (WebInspector.VisualStyleKeywordPicker):
1249         (WebInspector.VisualStyleKeywordPicker.prototype.get value):
1250         (WebInspector.VisualStyleKeywordPicker.prototype.set value):
1251         (WebInspector.VisualStyleKeywordPicker.prototype.set placeholder):
1252         (WebInspector.VisualStyleKeywordPicker.prototype.get synthesizedValue):
1253         (WebInspector.VisualStyleKeywordPicker.prototype.updateEditorValues):
1254         (WebInspector.VisualStyleKeywordPicker.prototype._handleKeywordChanged):
1255         (WebInspector.VisualStyleKeywordPicker.prototype._keywordSelectMouseDown):
1256         (WebInspector.VisualStyleKeywordPicker.prototype._addValues):
1257         (WebInspector.VisualStyleKeywordPicker.prototype._addAdvancedValues):
1258         (WebInspector.VisualStyleKeywordPicker.prototype._removeAdvancedValues):
1259         (WebInspector.VisualStyleKeywordPicker.prototype._toggleTabbingOfSelectableElements):
1260
1261         * UserInterface/Views/VisualStylePropertyNameInput.js: Added.
1262         (WebInspector.VisualStylePropertyNameInput):
1263         (WebInspector.VisualStylePropertyNameInput.prototype.get value):
1264         (WebInspector.VisualStylePropertyNameInput.prototype.set value):
1265         (WebInspector.VisualStylePropertyNameInput.prototype.get synthesizedValue):
1266         (WebInspector.VisualStylePropertyNameInput.prototype.get hasCompletions):
1267         (WebInspector.VisualStylePropertyNameInput.prototype.set completions):
1268         (WebInspector.VisualStylePropertyNameInput.prototype._completionClicked):
1269         (WebInspector.VisualStylePropertyNameInput.prototype._inputKeyDown):
1270         (WebInspector.VisualStylePropertyNameInput.prototype._inputKeyUp):
1271         (WebInspector.VisualStylePropertyNameInput.prototype._hideCompletions):
1272         (WebInspector.VisualStylePropertyNameInput.prototype._toggleTabbingOfSelectableElements):
1273
1274         * UserInterface/Views/VisualStyleURLInput.js: Added.
1275         (WebInspector.VisualStyleURLInput):
1276         (WebInspector.VisualStyleURLInput.prototype.set get value):
1277         (WebInspector.VisualStyleURLInput.prototype.parseValue):
1278
1279         * UserInterface/Views/VisualStyleUnitSlider.css: Added.
1280         (.visual-style-property-container.unit-slider > .visual-style-property-value-container > .slider):
1281         (.visual-style-property-container.unit-slider > .visual-style-property-value-container > .slider > img):
1282         (.visual-style-property-container.unit-slider.opacity > .visual-style-property-value-container > .slider):
1283
1284         * UserInterface/Views/VisualStyleUnitSlider.js: Added.
1285         (WebInspector.VisualStyleUnitSlider):
1286         (WebInspector.VisualStyleUnitSlider.prototype.set value):
1287         (WebInspector.VisualStyleUnitSlider.prototype.get value):
1288         (WebInspector.VisualStyleUnitSlider.prototype.get synthesizedValue):
1289         (WebInspector.VisualStyleUnitSlider.prototype.sliderValueDidChange):
1290
1291 2015-08-10  Devin Rousso  <drousso@apple.com>
1292
1293         Web Inspector: Add VisualStyleSelectorSection
1294         https://bugs.webkit.org/show_bug.cgi?id=147572
1295
1296         Reviewed by Brian Burg.
1297
1298         Adds a section to the new Visual style sidebar panel that contains the list of
1299         styles for the currently selected node.
1300
1301         * UserInterface/Models/CSSRule.js:
1302         (WebInspector.CSSRule.prototype.get mediaText):
1303         Returns a string containing the list of media queries.
1304
1305         * UserInterface/Models/CSSStyleDeclaration.js:
1306         (WebInspector.CSSStyleDeclaration):
1307         (WebInspector.CSSStyleDeclaration.prototype.set text):
1308         (WebInspector.CSSStyleDeclaration.prototype.get modified):
1309         (WebInspector.CSSStyleDeclaration.prototype.resetText):
1310         (WebInspector.CSSStyleDeclaration.prototype.generateCSSRuleString):
1311         Generates a formatted string of the style text.
1312
1313         * UserInterface/Views/CSSStyleDeclarationSection.js:
1314         (WebInspector.CSSStyleDeclarationSection.prototype._handleContextMenuEvent):
1315         (WebInspector.CSSStyleDeclarationSection.prototype._generateCSSRuleString): Deleted.
1316
1317         * UserInterface/Views/VisualStyleSelectorSection.css: Added.
1318         (.details-section.visual-style-selector-section > .header):
1319         (.details-section.visual-style-selector-section:not(.collapsed) > .header):
1320         (@media (-webkit-min-device-pixel-ratio: 2)):
1321         (.details-section.visual-style-selector-section > .header > .current-selector):
1322         (.visual-style-selector-section.details-section:not(.collapsed) > .header > .current-selector):
1323         (.details-section.visual-style-selector-section > .header > .current-selector > .icon):
1324         (.details-section.visual-style-selector-section > .header > .current-selector > span):
1325         (.details-section.visual-style-selector-section > .header > .controls):
1326         (.details-section.visual-style-selector-section.collapsed > .header > .controls):
1327         (.details-section.visual-style-selector-section > .header > .controls > .visual-style-selector-section-add-rule):
1328         (.details-section.visual-style-selector-section > .content > .selectors):
1329         (.details-section.visual-style-selector-section > .content > .selectors > .selector-list):
1330         (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .visual-style-selector-item:nth-child(odd)):
1331         (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider):
1332         (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider > .icon):
1333         (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider > :matches(.disclosure-button, .icon)):
1334         (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider > .titles > .title):
1335         (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider ~ .visual-style-selector-item:nth-child(even)):
1336         (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider ~ .visual-style-selector-item:nth-child(odd)):
1337
1338         * UserInterface/Views/VisualStyleSelectorSection.js: Added.
1339         (WebInspector.VisualStyleSelectorSection):
1340         (WebInspector.VisualStyleSelectorSection.prototype.update.createSelectorItem):
1341         (WebInspector.VisualStyleSelectorSection.prototype.update.uniqueOrderedRules):
1342         (WebInspector.VisualStyleSelectorSection.prototype.update.insertAllMatchingPseudoRules):
1343         (WebInspector.VisualStyleSelectorSection.prototype.update):
1344         (WebInspector.VisualStyleSelectorSection.prototype.currentStyle):
1345         (WebInspector.VisualStyleSelectorSection.prototype._selectorChanged):
1346         (WebInspector.VisualStyleSelectorSection.prototype._styleTextReset):
1347         (WebInspector.VisualStyleSelectorSection.prototype._addNewRule):
1348         (WebInspector.VisualStyleSelectorSection.prototype._treeElementCheckboxToggled):
1349         (WebInspector.VisualStyleSelectorSection.prototype._handleMouseOver):
1350         (WebInspector.VisualStyleSelectorSection.prototype._handleMouseOut):
1351
1352         * UserInterface/Views/VisualStyleSelectorTreeItem.css:
1353         (.item.visual-style-selector-item):
1354         (.item.visual-style-selector-item.selected):
1355         (.item.visual-style-selector-item > .disclosure-button):
1356         (.item.visual-style-selector-item > input[type="checkbox"]):
1357         (.item.visual-style-selector-item > .icon):
1358         (.item.visual-style-selector-item.modified > .icon):
1359         (.item.visual-style-selector-item.selector-invalid > .icon):
1360         (.item.visual-style-selector-item.selector-invalid > .titles > .title):
1361         (.item.visual-style-selector-item.selector-invalid > .titles > .title::before):
1362         (.item.visual-style-selector-item > .titles):
1363         (.item.visual-style-selector-item:not(.dom-element-icon) > .titles > .title):
1364         (.item.visual-style-selector-item:not(.dom-element-icon).editable > .titles > .title):
1365         (.item.visual-style-selector-item:not(.dom-element-icon).editable > .titles > .title:focus):
1366         (.item.visual-style-selector-item > .titles > .subtitle::before):
1367         (.item.visual-style-selector-item > .titles > .subtitle):
1368
1369         * UserInterface/Views/VisualStyleSelectorTreeItem.js:
1370         (WebInspector.VisualStyleSelectorTreeItem):
1371         (WebInspector.VisualStyleSelectorTreeItem.prototype.get iconClassName):
1372         (WebInspector.VisualStyleSelectorTreeItem.prototype.get selectorText):
1373         (WebInspector.VisualStyleSelectorTreeItem.prototype.onattach):
1374         (WebInspector.VisualStyleSelectorTreeItem.prototype.ondeselect):
1375         (WebInspector.VisualStyleSelectorTreeItem.prototype._highlightNodesWithSelector):
1376         (WebInspector.VisualStyleSelectorTreeItem.prototype._hideDOMNodeHighlight):
1377         (WebInspector.VisualStyleSelectorTreeItem.prototype._handleContextMenuEvent):
1378         (WebInspector.VisualStyleSelectorTreeItem.prototype._handleCheckboxChanged):
1379         (WebInspector.VisualStyleSelectorTreeItem.prototype._updateCheckboxTitle):
1380         (WebInspector.VisualStyleSelectorTreeItem.prototype._handleMainTitleMouseDown):
1381         (WebInspector.VisualStyleSelectorTreeItem.prototype._handleMainTitleKeyDown):
1382         (WebInspector.VisualStyleSelectorTreeItem.prototype._commitSelector):
1383         (WebInspector.VisualStyleSelectorTreeItem.prototype._styleTextModified):
1384         (WebInspector.VisualStyleSelectorTreeItem.prototype._selectorChanged):
1385
1386 2015-08-10  Joseph Pecoraro  <pecoraro@apple.com>
1387
1388         Web Inspector: TDZ in ProbeSetDataGrid construction
1389         https://bugs.webkit.org/show_bug.cgi?id=147834
1390
1391         Reviewed by Timothy Hatcher.
1392
1393         * UserInterface/Views/ProbeSetDataGrid.js:
1394         (WebInspector.ProbeSetDataGrid):
1395         Do not use "this" before calling super.
1396
1397 2015-08-08  Devin Rousso  <drousso@apple.com>
1398
1399         Web Inspector: Timeline ruler handle tooltip shows wrong value when handles overlap
1400         https://bugs.webkit.org/show_bug.cgi?id=147652
1401
1402         Reviewed by Timothy Hatcher.
1403
1404         * UserInterface/Views/TimelineRuler.js:
1405         (WebInspector.TimelineRuler.prototype._updateSelection):
1406         Now changes the title depending on whether the selection start/end is clamped.
1407
1408 2015-08-08  Devin Rousso  <drousso@apple.com>
1409
1410         Web Inspector: Don't show "No Filter Results" when timeline is empty
1411         https://bugs.webkit.org/show_bug.cgi?id=147662
1412
1413         Reviewed by Timothy Hatcher.
1414
1415         * UserInterface/Views/TimelineView.js:
1416         (WebInspector.TimelineView.prototype.reset):
1417         Now hides the empty content placeholder on timeline clear.
1418
1419 2015-08-07  Devin Rousso  <drousso@apple.com>
1420
1421         Web Inspector: Decrease the padding of each rule in the Rules sidebar to allow more content to show
1422         https://bugs.webkit.org/show_bug.cgi?id=147360
1423
1424         Reviewed by Timothy Hatcher.
1425
1426         Generally tightened the padding around each section in the rules panel, as well as the
1427         content inside each section. Also moved the new rule button to be next to the filter bar.
1428
1429         * UserInterface/Views/CSSStyleDeclarationSection.css:
1430         (.style-declaration-section):
1431         (.style-declaration-section.last-in-group):
1432         (.style-declaration-section.last-in-group + .style-declaration-section): Deleted.
1433         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
1434         (.css-style-text-editor):
1435         * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
1436         (.sidebar > .panel.details.css-style > .content > .pseudo-classes):
1437         (.sidebar > .panel.details.css-style > .content + .options-container):
1438         (.sidebar > .panel.details.css-style > .content:not(.supports-new-rule, .has-filter-bar) + .options-container):
1439         (.sidebar > .panel.details.css-style > .content + .options-container > .new-rule):
1440         (.sidebar > .panel.details.css-style > .content + .options-container > .filter-bar):
1441         (.sidebar > .panel.details.css-style > .content:not(.has-filter-bar) + .options-container > .filter-bar):
1442         (.sidebar > .panel.details.css-style > .content.has-filter-bar + .filter-bar): Deleted.
1443         (.sidebar > .panel.details.css-style > .content:not(.has-filter-bar) + .filter-bar): Deleted.
1444         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
1445         (WebInspector.CSSStyleDetailsSidebarPanel):
1446         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._switchPanels):
1447         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._newRuleButtonClicked):
1448         * UserInterface/Views/RulesStyleDetailsPanel.css:
1449         (.sidebar > .panel.details.css-style .rules .label):
1450         * UserInterface/Views/RulesStyleDetailsPanel.js:
1451         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertMediaOrInheritanceLabel):
1452         (WebInspector.RulesStyleDetailsPanel.prototype.newRuleButtonClicked):
1453         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.addNewRuleButton): Deleted.
1454         (WebInspector.RulesStyleDetailsPanel.prototype.refresh): Deleted.
1455         (WebInspector.RulesStyleDetailsPanel.prototype._newRuleClicked): Deleted.
1456
1457 2015-08-07  Devin Rousso  <drousso@apple.com>
1458
1459         Web Inspector: Don't include zero-width space into a copied text from the console
1460         https://bugs.webkit.org/show_bug.cgi?id=147767
1461
1462         Reviewed by Timothy Hatcher.
1463
1464         Now removes work break characters in generated javascript text when copying
1465         to the clipboard.  Also replaced var with let in the modified functions.
1466
1467         * UserInterface/Views/ConsoleCommandView.js:
1468         (WebInspector.ConsoleCommandView.prototype.toClipboardString):
1469         (WebInspector.ConsoleCommandView):
1470         * UserInterface/Views/ConsoleMessageView.js:
1471         (WebInspector.ConsoleMessageView.prototype.toClipboardString):
1472
1473 2015-08-07  Nikita Vasilyev  <nvasilyev@apple.com>
1474
1475         Web Inspector: Simplify OS-specific CSS class names
1476         https://bugs.webkit.org/show_bug.cgi?id=147794
1477
1478         Replace "body:not(.el-capitan)" with ".legacy-mac".
1479         Replace "body.el-capitan" with ".latest-mac".
1480
1481         Reviewed by Timothy Hatcher.
1482
1483         * UserInterface/Base/Main.js:
1484         (WebInspector.contentLoaded):
1485         * UserInterface/Views/Toolbar.css:
1486         (body.legacy-mac .toolbar .dashboard-container):
1487         (body.legacy-mac .toolbar .search-bar > input[type="search"]):
1488         (body.legacy-mac .toolbar .search-bar > input[type="search"]:focus):
1489         (body.legacy-mac .toolbar .item.button:active):
1490         (body.window-inactive.legacy-mac .toolbar .dashboard-container):
1491         (body.latest-mac .toolbar .dashboard-container):
1492         (body.latest-mac .toolbar .search-bar > input[type="search"]):
1493         (body.latest-mac .toolbar .search-bar > input[type="search"]:focus):
1494         (@media (-webkit-min-device-pixel-ratio: 2)):
1495         (body.latest-mac .toolbar .item.button:active):
1496         (body.latest-mac.window-inactive .toolbar .dashboard-container):
1497         (body:not(.el-capitan) .toolbar .dashboard-container): Deleted.
1498         (body:not(.el-capitan) .toolbar .search-bar > input[type="search"]): Deleted.
1499         (body:not(.el-capitan) .toolbar .search-bar > input[type="search"]:focus): Deleted.
1500         (body:not(.el-capitan) .toolbar .item.button:active): Deleted.
1501         (body.window-inactive:not(.el-capitan) .toolbar .dashboard-container): Deleted.
1502         (body.el-capitan .toolbar .dashboard-container): Deleted.
1503         (body.el-capitan .toolbar .search-bar > input[type="search"]): Deleted.
1504         (body.el-capitan .toolbar .search-bar > input[type="search"]:focus): Deleted.
1505         (body.el-capitan .toolbar .item.button:active): Deleted.
1506         (body.el-capitan.window-inactive .toolbar .dashboard-container): Deleted.
1507
1508 2015-08-07  Devin Rousso  <drousso@apple.com>
1509
1510         Web Inspector: Option+Up/Down arrow keys should increment/decrement numbers in HTML and SVG attributes
1511         https://bugs.webkit.org/show_bug.cgi?id=147317
1512
1513         Reviewed by Timothy Hatcher.
1514
1515         If the value under the cursor in an HTML element attribute is a number, pressing alt and
1516         up/down will increment/decrement the number value and apply that change to the element.
1517
1518         * UserInterface/Views/BoxModelDetailsSectionRow.js:
1519         (WebInspector.BoxModelDetailsSectionRow.prototype._alteredFloatNumber):
1520         (WebInspector.BoxModelDetailsSectionRow.prototype._handleKeyDown):
1521         * UserInterface/Views/DOMTreeElement.js:
1522         (WebInspector.DOMTreeElement.prototype._startEditingAttribute):
1523         (WebInspector.DOMTreeElement.prototype._attributeEditingCommitted):
1524         (WebInspector.DOMTreeElement.prototype._attributeNumberEditingCommitted):
1525         * UserInterface/Views/EditingSupport.js:
1526         (WebInspector.EditingConfig.prototype.setNumberCommitHandler):
1527         (WebInspector.startEditing.defaultFinishHandler):
1528         (WebInspector.startEditing.handleEditingResult):
1529
1530 2015-08-05  Devin Rousso  <drousso@apple.com>
1531
1532         Web Inspector: Move the Metrics style sidebar panel into Computed
1533         https://bugs.webkit.org/show_bug.cgi?id=147715
1534
1535         Reviewed by Timothy Hatcher.
1536
1537         Deleted the Metrics sidebar panel and moved its contents into the Computed sidebar panel.
1538         In addition, not hovering over the Metrics section will display the colors of each box.
1539
1540         * UserInterface/Main.html:
1541         * UserInterface/Views/BoxModelDetailsSectionRow.css:
1542         (.details-section .row.box-model :matches(.position, .margin, .border, .padding, .content)):
1543         (.details-section .row.box-model .position):
1544         (.details-section .row.box-model .margin):
1545         (.details-section .row.box-model .border):
1546         (.details-section .row.box-model .padding):
1547         (.details-section .row.box-model :matches(.content span, .top, .right, .bottom, .left)):
1548         (.details-section .row.box-model :matches(.right, .left)):
1549         (.details-section .row.box-model .content): Deleted.
1550         (.details-section .row.box-model .content span): Deleted.
1551         (.details-section .row.box-model .left): Deleted.
1552         (.details-section .row.box-model .right): Deleted.
1553         (.details-section .row.box-model .top): Deleted.
1554         (.details-section .row.box-model .bottom): Deleted.
1555
1556         * UserInterface/Views/BoxModelDetailsSectionRow.js:
1557         (WebInspector.BoxModelDetailsSectionRow.prototype._highlightDOMNode):
1558         If no metric box is hovered, apply a class to the entire section.
1559
1560         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
1561         (WebInspector.CSSStyleDetailsSidebarPanel):
1562         Removed the usage of MetricsStyleDetailsPanel.
1563
1564         * UserInterface/Views/ComputedStyleDetailsPanel.css:
1565         (.details-section.style-box-model:not(.collapsed) > :matches(.header, .content)):
1566         Give the metrics section in the Computed panel a white background.
1567
1568         * UserInterface/Views/ComputedStyleDetailsPanel.js:
1569         (WebInspector.ComputedStyleDetailsPanel):
1570         (WebInspector.ComputedStyleDetailsPanel.prototype.refresh):
1571         Don't refresh the content unless the change is significant (without this, you cannot edit
1572         metrics values using the arrow keys).
1573
1574         * UserInterface/Views/MetricsStyleDetailsPanel.js: Removed.
1575
1576 2015-08-05  Devin Rousso  <drousso@apple.com>
1577
1578         Web Inspector: Bezier curve visual editor
1579         https://bugs.webkit.org/show_bug.cgi?id=134501
1580
1581         Reviewed by Timothy Hatcher.
1582
1583         Added a visual Cubic Bezier curve editor that is usable in both
1584         the CSS sidebar and the resources panel.
1585
1586         * Localizations/en.lproj/localizedStrings.js:
1587         * UserInterface/Base/DOMUtilities.js:
1588         (createSVGElement):
1589         * UserInterface/Controllers/CodeMirrorBezierEditingController.js:
1590         (WebInspector.CodeMirrorBezierEditingController):
1591         (WebInspector.CodeMirrorBezierEditingController.prototype.get initialValue):
1592         (WebInspector.CodeMirrorBezierEditingController.prototype.get cssClassName):
1593         (WebInspector.CodeMirrorBezierEditingController.prototype.popoverWillPresent):
1594         (WebInspector.CodeMirrorBezierEditingController.prototype.popoverDidPresent):
1595         (WebInspector.CodeMirrorBezierEditingController.prototype._bezierEditorBezierChanged):
1596         * UserInterface/Images/CubicBezier.svg: Added.
1597         * UserInterface/Main.html:
1598         * UserInterface/Models/Geometry.js:
1599         (WebInspector.Point.prototype.distance):
1600         (WebInspector.Point):
1601         (WebInspector.CubicBezier):
1602         (WebInspector.CubicBezier.fromPoints):
1603         (WebInspector.CubicBezier.fromString):
1604         (WebInspector.CubicBezier.prototype.get inPoint):
1605         (WebInspector.CubicBezier.prototype.get outPoint):
1606         (WebInspector.CubicBezier.prototype.copy):
1607         (WebInspector.CubicBezier.prototype.toString):
1608         (WebInspector.CubicBezier.prototype.solve):
1609         (WebInspector.CubicBezier.prototype._sampleCurveX):
1610         (WebInspector.CubicBezier.prototype._sampleCurveY):
1611         (WebInspector.CubicBezier.prototype._sampleCurveDerivativeX):
1612         (WebInspector.CubicBezier.prototype._solveCurveX):
1613         * UserInterface/Models/TextMarker.js:
1614         * UserInterface/Models/UnitBezier.js: Removed.
1615         * UserInterface/Views/BezierEditor.css: Added.
1616         (.bezier-editor):
1617         (.bezier-editor > .bezier-preview):
1618         (.bezier-editor > .bezier-preview > div):
1619         (.bezier-editor > .bezier-preview-timing):
1620         (.bezier-editor > .bezier-preview-timing.animate):
1621         (.bezier-editor > .bezier-container):
1622         (@keyframes bezierPreview):
1623         (.bezier-editor > .bezier-container):
1624         (.bezier-editor > .bezier-container .linear-curve):
1625         (.bezier-editor > .bezier-container .bezier-curve):
1626         (.bezier-editor > .bezier-container .control-line):
1627         (.bezier-editor > .bezier-container .control-handle):
1628         * UserInterface/Views/BezierEditor.js: Added.
1629         (WebInspector.BezierEditor.createControl):
1630         (WebInspector.BezierEditor):
1631         (WebInspector.BezierEditor.prototype.get element):
1632         (WebInspector.BezierEditor.prototype.set bezier):
1633         (WebInspector.BezierEditor.prototype.get bezier):
1634         (WebInspector.BezierEditor.prototype.handleEvent):
1635         (WebInspector.BezierEditor.prototype._handleMousedown):
1636         (WebInspector.BezierEditor.prototype._handleMousemove):
1637         (WebInspector.BezierEditor.prototype._handleMouseup):
1638         (WebInspector.BezierEditor.prototype._updateControlPointsForMouseEvent):
1639         (WebInspector.BezierEditor.prototype._updateValue.round):
1640         (WebInspector.BezierEditor.prototype._updateValue):
1641         (WebInspector.BezierEditor.prototype._updateBezier):
1642         (WebInspector.BezierEditor.prototype._updateControl):
1643         (WebInspector.BezierEditor.prototype._triggerPreviewAnimation):
1644         (WebInspector.BezierEditor.prototype._resetPreviewAnimation):
1645         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
1646         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .cubic-bezier-marker):
1647         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .cubic-bezier-marker:hover):
1648         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .cubic-bezier-marker:active):
1649         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1650         (WebInspector.CSSStyleDeclarationTextEditor.prototype.didDismissPopover):
1651         (WebInspector.CSSStyleDeclarationTextEditor.prototype._contentChanged):
1652         (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers.update):
1653         (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers):
1654         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches.update):
1655         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
1656         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createBezierEditors.update):
1657         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createBezierEditors):
1658         (WebInspector.CSSStyleDeclarationTextEditor.prototype._commentProperty.update):
1659         (WebInspector.CSSStyleDeclarationTextEditor.prototype._commentProperty):
1660         (WebInspector.CSSStyleDeclarationTextEditor.prototype._uncommentRange.update):
1661         (WebInspector.CSSStyleDeclarationTextEditor.prototype._uncommentRange):
1662         (WebInspector.CSSStyleDeclarationTextEditor.prototype._cubicBezierMarkerClicked.updateCodeMirror.update):
1663         (WebInspector.CSSStyleDeclarationTextEditor.prototype._cubicBezierMarkerClicked.updateCodeMirror):
1664         (WebInspector.CSSStyleDeclarationTextEditor.prototype._cubicBezierMarkerClicked):
1665         (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update):
1666         (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent):
1667         * UserInterface/Views/CodeMirrorAdditions.js:
1668         * UserInterface/Views/CodeMirrorTextMarkers.js: Added.
1669         (createCodeMirrorTextMarkers):
1670         (createCodeMirrorColorTextMarkers):
1671         (createCodeMirrorGradientTextMarkers):
1672         (createCodeMirrorCubicBezierTextMarkers):
1673         * UserInterface/Views/Popover.js:
1674         (WebInspector.Popover.prototype._animateFrame):
1675         * UserInterface/Views/SourceCodeTextEditor.js:
1676         (WebInspector.SourceCodeTextEditor.prototype._updateEditableMarkers):
1677         (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression):
1678         * UserInterface/Views/TextEditor.js:
1679         (WebInspector.TextEditor.prototype.createColorMarkers):
1680         (WebInspector.TextEditor.prototype.createGradientMarkers):
1681         (WebInspector.TextEditor.prototype.createCubicBezierMarkers):
1682         (WebInspector.TextEditor.prototype.editingControllerForMarker):
1683
1684 2015-08-05  Nikita Vasilyev  <nvasilyev@apple.com>
1685
1686         Web Inspector: Logging error objects should have a better UI
1687         https://bugs.webkit.org/show_bug.cgi?id=143853
1688
1689         Previously, an error object looked like any other object, which wasn't very useful.
1690         Source links couldn't be clicked and stacktraces were unreadable.
1691
1692         Unify console.trace, caught and uncaught exceptions. The following examples use
1693         the same StaceTraceView:
1694         - ({}).x.y
1695         - try { ({}).x.y } catch (e) { console.log(e); }
1696         - console.trace()
1697
1698         Reviewed by Brian Burg.
1699
1700         * UserInterface/Main.html:
1701         * UserInterface/Models/CallFrame.js:
1702         (WebInspector.CallFrame.fromPayload):
1703         (WebInspector.CallFrame):
1704         * UserInterface/Protocol/RemoteObject.js:
1705         (WebInspector.RemoteObject.prototype.getOwnPropertyDescriptorsAsObject):
1706         * UserInterface/Test.html:
1707         * UserInterface/Views/CallFrameView.css:
1708         (.call-frame .separator):
1709         (.call-frame .subtitle .source-link): Deleted.
1710         (.call-frame:focus .subtitle .source-link): Deleted.
1711         (.call-frame .subtitle:empty): Deleted.
1712         (.call-frame .subtitle): Deleted.
1713         * UserInterface/Views/CallFrameView.js:
1714         (WebInspector.CallFrameView):
1715         - Start usind CallFrameView in stacktraces.
1716         - Introduce showFunctionName optional argument. In stacktraces anonymous functions
1717         are shown as "(anonymous function)" but in console message location
1718         links (the ones on the right side of a console message) we omit them.
1719         - Dash was a pseudo-element and it couldn't be copied to the clipboard.
1720         Make it an actual HTML element.
1721
1722         * UserInterface/Views/ConsoleMessageView.css:
1723         (.console-message-location.call-frame):
1724         (.console-message-location.call-frame > .title):
1725         (.console-message-location.call-frame > .subtitle > .source-link):
1726         Since .call-frame rules are now used in stacktraces, move console message
1727         specific rules from CallFrameView.css to ConsoleMessageView.css.
1728
1729         * UserInterface/Views/ConsoleMessageView.js:
1730         (WebInspector.ConsoleMessageView.prototype._appendLocationLink):
1731         (WebInspector.ConsoleMessageView.prototype._appendStackTrace):
1732         (WebInspector.ConsoleMessageView.prototype._formatParameter):
1733         (WebInspector.ConsoleMessageView.prototype._formatParameterAsError): Added.
1734         Format errors differently from other objects.
1735
1736         * UserInterface/Views/ErrorObjectView.css: Added.
1737         (.error-object::before):
1738         (.error-object.expanded::before):
1739         (.error-object-link-container):
1740         (.error-object.expanded > .formatted-error > .error-object-link-container):
1741         (.error-object:not(.expanded) .error-object-outline):
1742         (.error-object-outline):
1743         * UserInterface/Views/ErrorObjectView.js: Added.
1744         (WebInspector.ErrorObjectView):
1745         (WebInspector.ErrorObjectView.parseStackTrace):
1746         (WebInspector.ErrorObjectView.makeSourceLinkWithPrefix):
1747         (WebInspector.ErrorObjectView.prototype.get object):
1748         (WebInspector.ErrorObjectView.prototype.get element):
1749         (WebInspector.ErrorObjectView.prototype.get treeOutline):
1750         (WebInspector.ErrorObjectView.prototype.get expanded):
1751         (WebInspector.ErrorObjectView.prototype.update):
1752         (WebInspector.ErrorObjectView.prototype.expand):
1753         (WebInspector.ErrorObjectView.prototype.collapse):
1754         (WebInspector.ErrorObjectView.prototype._handlePreviewOrTitleElementClick):
1755         (WebInspector.ErrorObjectView.prototype._buildStackTrace):
1756         ErrorObjectView is used to log caught exceptions, e.g.:
1757         try { i.dont.exist++ } catch (e) { console.log(e) }
1758
1759         * UserInterface/Views/FormattedValue.js:
1760         (WebInspector.FormattedValue.createElementForError): Added.
1761         Create error preview.
1762
1763         (WebInspector.FormattedValue.createElementForTypesAndValue):
1764         Fix typo.
1765
1766         (WebInspector.FormattedValue.createObjectPreviewOrFormattedValueForRemoteObject):
1767         Format errors differently from other objects.
1768
1769 2015-08-05  Matt Baker  <mattbaker@apple.com>
1770
1771         Web Inspector: REGRESSION (r187634): Script time is missing from the frames timeline
1772         https://bugs.webkit.org/show_bug.cgi?id=147654
1773
1774         Reviewed by Brian Burg.
1775
1776         Use the current stack entry's parent record when pushing a new stack entry, if no
1777         TimelineRecord was generated from the parent record payload.
1778
1779         * UserInterface/Controllers/TimelineManager.js:
1780         (WebInspector.TimelineManager.prototype.eventRecorded):
1781         Don't create a stack entry when record payload children array is empty.
1782
1783 2015-08-05  Matt Baker  <mattbaker@apple.com>
1784
1785         Web Inspector: REGRESSION (r187900): Breakpoint context menu is broken in Debugger tab
1786         https://bugs.webkit.org/show_bug.cgi?id=147699
1787
1788         Reviewed by Timothy Hatcher.
1789
1790         * UserInterface/Views/SourceCodeTextEditor.js:
1791         Skip only the separator and "Reveal in Debugger tab" menu items.
1792
1793 2015-08-05  Brian Burg  <bburg@apple.com>
1794
1795         Web Inspector: use super calls in more places
1796         https://bugs.webkit.org/show_bug.cgi?id=147696
1797
1798         Reviewed by Timothy Hatcher.
1799
1800         A few opportunities for super calls were overlooked when converting to classes.
1801
1802         * UserInterface/Views/BreakpointTreeElement.js:
1803         (WebInspector.BreakpointTreeElement.prototype.onattach):
1804         (WebInspector.BreakpointTreeElement.prototype.ondetach):
1805         * UserInterface/Views/CallFrameTreeElement.js:
1806         (WebInspector.CallFrameTreeElement.prototype.onattach):
1807         (WebInspector.CallFrameTreeElement):
1808         * UserInterface/Views/DebuggerTabContentView.js:
1809         (WebInspector.DebuggerTabContentView.prototype.showDetailsSidebarPanels):
1810         * UserInterface/Views/ProfileNodeTreeElement.js:
1811         (WebInspector.ProfileNodeTreeElement.prototype.onattach):
1812         * UserInterface/Views/SourceCodeTextEditor.js:
1813         (WebInspector.SourceCodeTextEditor.prototype.shown):
1814         (WebInspector.SourceCodeTextEditor.prototype.hidden):
1815         (WebInspector.SourceCodeTextEditor.prototype.canBeFormatted):
1816         * UserInterface/Views/SourceCodeTreeElement.js:
1817         (WebInspector.SourceCodeTreeElement.prototype.onattach):
1818         * UserInterface/Views/TimelineRecordTreeElement.js:
1819         (WebInspector.TimelineRecordTreeElement.prototype.onattach):
1820         (WebInspector.TimelineRecordTreeElement):
1821
1822 2015-08-05  Brian Burg  <bburg@apple.com>
1823
1824         Web Inspector: remove unused Object.deprecatedAddConstructorFunctions
1825         https://bugs.webkit.org/show_bug.cgi?id=147690
1826
1827         Reviewed by Timothy Hatcher.
1828
1829         This is no longer used following the conversion to ES6 classes.
1830
1831         * UserInterface/Base/Object.js:
1832         (WebInspector.Object.deprecatedAddConstructorFunctions): Deleted.
1833
1834 2015-08-05  Brian Burg  <bburg@apple.com>
1835
1836         Web Inspector: Convert miscellaneous view widgets to use ES6 classes
1837         https://bugs.webkit.org/show_bug.cgi?id=147658
1838
1839         Reviewed by Joseph Pecoraro.
1840
1841         Along the way, inline a few style class names.
1842
1843         Elided mechanical changes from the Changelog.
1844
1845         * UserInterface/Base/Test.js:
1846         * UserInterface/Views/CSSStyleDeclarationSection.js:
1847         * UserInterface/Views/ConsolePrompt.js:
1848         * UserInterface/Views/ContentBrowser.js:
1849         * UserInterface/Views/ContentViewContainer.js:
1850         * UserInterface/Views/DOMTreeDataGridNode.js:
1851         * UserInterface/Views/IndeterminateProgressSpinner.js:
1852         * UserInterface/Views/NavigationBar.js:
1853         * UserInterface/Views/ProbeSetDataGridNode.js:
1854         * UserInterface/Views/QuickConsoleNavigationBar.js:
1855         * UserInterface/Views/Toolbar.js:
1856
1857 2015-08-05  Brian Burg  <bburg@apple.com>
1858
1859         Web Inspector: Convert remaining ContentViews to use ES6 classes
1860         https://bugs.webkit.org/show_bug.cgi?id=147534
1861
1862         Reviewed by Joseph Pecoraro.
1863
1864         Along the way, inline a few style class names.
1865
1866         Elided mechanical changes from the Changelog.
1867
1868         * UserInterface/Views/ApplicationCacheFrameContentView.js:
1869         * UserInterface/Views/ClusterContentView.js:
1870         * UserInterface/Views/ConsoleTabContentView.js:
1871         * UserInterface/Views/ContentBrowserTabContentView.js: Rearrange initialization
1872         of the tab's content browser to comply with TDZ rules for using `this`.
1873         * UserInterface/Views/ContentFlowDOMTreeContentView.js:
1874         * UserInterface/Views/ContentView.js:
1875         * UserInterface/Views/ContentViewContainer.js:
1876         * UserInterface/Views/CookieStorageContentView.js:
1877         * UserInterface/Views/DOMStorageContentView.js:
1878         * UserInterface/Views/DOMTreeContentView.js:
1879         * UserInterface/Views/DatabaseContentView.js:
1880         * UserInterface/Views/DatabaseTableContentView.js:
1881         * UserInterface/Views/DebuggerTabContentView.js:
1882         * UserInterface/Views/ElementsTabContentView.js:
1883         * UserInterface/Views/FontResourceContentView.js:
1884         * UserInterface/Views/FrameDOMTreeContentView.js:
1885         * UserInterface/Views/GenericResourceContentView.js:
1886         * UserInterface/Views/ImageResourceContentView.js:
1887         * UserInterface/Views/IndexedDatabaseObjectStoreContentView.js:
1888         * UserInterface/Views/LogContentView.js:
1889         * UserInterface/Views/NetworkGridContentView.js:
1890         * UserInterface/Views/NetworkTabContentView.js:
1891         * UserInterface/Views/NewTabContentView.js:
1892         * UserInterface/Views/ResourceClusterContentView.js:
1893         * UserInterface/Views/ResourceContentView.js:
1894         * UserInterface/Views/ResourcesTabContentView.js:
1895         * UserInterface/Views/ScriptContentView.js:
1896         * UserInterface/Views/SearchTabContentView.js:
1897         * UserInterface/Views/SettingsTabContentView.js:
1898         * UserInterface/Views/StorageTabContentView.js:
1899         * UserInterface/Views/TabContentView.js:
1900         * UserInterface/Views/TextContentView.js:
1901         * UserInterface/Views/TextResourceContentView.js:
1902         * UserInterface/Views/TimelineRecordingContentView.js:
1903
1904 2015-08-05  Devin Rousso  <drousso@apple.com>
1905
1906         Web Inspector: Allow users to duplicate rules in the Rules sidebar panel
1907         https://bugs.webkit.org/show_bug.cgi?id=147361
1908
1909         Reviewed by Timothy Hatcher.
1910
1911         Adds context menu option to non-inherited rules that, when clicked, creates
1912         a new rule with the same selector and no properties, and then focuses it.
1913
1914         * Localizations/en.lproj/localizedStrings.js:
1915         * UserInterface/Models/DOMNodeStyles.js:
1916         (WebInspector.DOMNodeStyles.prototype.addRuleWithSelector.addedRule):
1917         (WebInspector.DOMNodeStyles.prototype.addRuleWithSelector):
1918         * UserInterface/Views/CSSStyleDeclarationSection.js:
1919         (WebInspector.CSSStyleDeclarationSection.prototype.get _currentSelectorText):
1920         (WebInspector.CSSStyleDeclarationSection.prototype._handleContextMenuEvent):
1921         * UserInterface/Views/RulesStyleDetailsPanel.js:
1922         (WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionFocusNextNewInspectorRule):
1923
1924 2015-08-04  Matt Baker  <mattbaker@apple.com>
1925
1926         Web Inspector: Layout & Rendering timeline grid should show TimelineRecord parent/child relationships
1927         https://bugs.webkit.org/show_bug.cgi?id=147468
1928
1929         Reviewed by Brian Burg.
1930
1931         Layout timeline data grid now shows record nesting for Layout and Composite events.
1932
1933         * UserInterface/Controllers/TimelineManager.js:
1934         (WebInspector.TimelineManager.prototype.eventRecorded):
1935         * UserInterface/Models/TimelineRecord.js:
1936         (WebInspector.TimelineRecord.prototype.get parent):
1937         (WebInspector.TimelineRecord.prototype.set parent):
1938         Preserve timeline record parent/child relationship.
1939
1940         * UserInterface/Views/LayoutTimelineView.js:
1941         (WebInspector.LayoutTimelineView):
1942         Style change for disclosure triangle support.
1943         (WebInspector.LayoutTimelineView.prototype._layoutTimelineRecordAdded):
1944         Only process immediate children of the rendering frame record.
1945
1946 2015-08-04  Devin Rousso  <drousso@apple.com>
1947
1948         Web Inspector: "No Filter Results" overlaps other UI elements when docked Inspector is small
1949         https://bugs.webkit.org/show_bug.cgi?id=147659
1950
1951         Reviewed by Timothy Hatcher.
1952
1953         Hide overflow of empty content label containers in navigation sidebars.
1954
1955         * UserInterface/Views/NavigationSidebarPanel.css:
1956         (.sidebar > .panel.navigation > .empty-content-placeholder):
1957
1958 2015-08-04  Joseph Pecoraro  <pecoraro@apple.com>
1959
1960         Improve some LayoutTests/inspector flakey output for tests with InspectorTest.reloadPage
1961         https://bugs.webkit.org/show_bug.cgi?id=147655
1962
1963         Reviewed by Timothy Hatcher.
1964
1965         * UserInterface/Base/Test.js:
1966         (InspectorTest.reloadPage):
1967         Immediately mark the page as reloading so that any logs that may happen
1968         before the callback for PageAgent.reload wait to be sent after the page
1969         load. What was happening in flakey results was that the logs were
1970         happening before this callback, and therefore getting logged and then
1971         resent after page load and getting relogged.
1972
1973 2015-08-04  Devin Rousso  <drousso@apple.com>
1974
1975         Web Inspector: Existing text after completions do not have their completion style removed once hint is applied
1976         https://bugs.webkit.org/show_bug.cgi?id=147536
1977
1978         Reviewed by Timothy Hatcher.
1979
1980         No longer applies a class to the text after the completion hint.
1981
1982         * UserInterface/Controllers/CodeMirrorCompletionController.css:
1983         (.CodeMirror .CodeMirror-lines .completion-hint):
1984         * UserInterface/Controllers/CodeMirrorCompletionController.js:
1985         (WebInspector.CodeMirrorCompletionController.prototype._applyCompletionHint.update):
1986         (WebInspector.CodeMirrorCompletionController.prototype._applyCompletionHint):
1987         (WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint.clearMarker):
1988         (WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint.update):
1989         (WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint):
1990
1991 2015-08-04  Matt Baker  <mattbaker@apple.com>
1992
1993         Web Inspector: Don't show 'Reveal In Debugger Tab' menu item if already in Debugger tab
1994         https://bugs.webkit.org/show_bug.cgi?id=147554
1995
1996         Reviewed by Timothy Hatcher.
1997
1998         Check current tab before appending context menu items.
1999
2000         * UserInterface/Base/Main.js:
2001         (WebInspector.isShowingDebuggerTab):
2002         * UserInterface/Views/SourceCodeTextEditor.js:
2003
2004 2015-08-04  Devin Rousso  <drousso@apple.com>
2005
2006         Web Inspector: buttons in new tab screen lack hover styles
2007         https://bugs.webkit.org/show_bug.cgi?id=145355
2008
2009         Reviewed by Timothy Hatcher.
2010
2011         Added hover brightness filter to new tab buttons.
2012
2013         * UserInterface/Views/NewTabContentView.css:
2014         (.new-tab.tab.content-view > .tab-item:not(.disabled):hover > .box):
2015         (.new-tab.tab.content-view > .tab-item:not(.disabled):active > .box):
2016
2017 2015-08-04  Devin Rousso  <drousso@apple.com>
2018
2019         Web Inspector: Merge the styles sidebar navigation bar into a selectable item in the elements sidebar
2020         https://bugs.webkit.org/show_bug.cgi?id=146878
2021
2022         Reviewed by Timothy Hatcher.
2023
2024         Replaced the default navigationItem of the CSSStyleDetailsSidebarPanel with a
2025         ScopeRadioButtonNavigationItem that will open a select element containing the labels
2026         of each style sidebar when reselected.
2027
2028         * Localizations/en.lproj/localizedStrings.js:
2029         * UserInterface/Main.html:
2030         * UserInterface/Views/ComputedStyleDetailsPanel.js:
2031         (WebInspector.ComputedStyleDetailsPanel):
2032         * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
2033         (.sidebar > .panel.details.css-style > .content):
2034         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
2035         (WebInspector.CSSStyleDetailsSidebarPanel):
2036         (WebInspector.CSSStyleDetailsSidebarPanel.prototype.computedStyleDetailsPanelShowProperty):
2037         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._panelMatchingIdentifier):
2038         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._handleSelectedItemChanged):
2039         (WebInspector.CSSStyleDetailsSidebarPanel.prototype.visibilityDidChange):
2040         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._navigationItemSelected): Deleted.
2041         * UserInterface/Views/DOMDetailsSidebarPanel.js:
2042         (WebInspector.DOMDetailsSidebarPanel):
2043         * UserInterface/Views/DetailsSidebarPanel.js:
2044         (WebInspector.DetailsSidebarPanel):
2045         * UserInterface/Views/MetricsStyleDetailsPanel.js:
2046         (WebInspector.MetricsStyleDetailsPanel):
2047         * UserInterface/Views/NavigationBar.js:
2048         (WebInspector.NavigationBar.prototype._mouseDown):
2049         * UserInterface/Views/RulesStyleDetailsPanel.js:
2050         (WebInspector.RulesStyleDetailsPanel):
2051         * UserInterface/Views/ScopeRadioButtonNavigationItem.css: Added.
2052         * UserInterface/Views/ScopeRadioButtonNavigationItem.js: Added.
2053         * UserInterface/Views/SidebarPanel.js:
2054         (WebInspector.SidebarPanel):
2055         * UserInterface/Views/StyleDetailsPanel.js:
2056         (WebInspector.StyleDetailsPanel):
2057
2058 2015-08-04  Matt Baker  <mattbaker@apple.com>
2059
2060         Web Inspector: timeline overview should visually distinguish selection bounds outside the visible duration
2061         https://bugs.webkit.org/show_bug.cgi?id=132764
2062
2063         Reviewed by Brian Burg.
2064
2065         * UserInterface/Views/TimelineRuler.css:
2066         (.timeline-ruler > .selection-handle.clamped):
2067         Added style for selection handle outside visible range.
2068         * UserInterface/Views/TimelineRuler.js:
2069         (WebInspector.TimelineRuler.prototype._updateSelection):
2070         Toggle style class and add tool tip showing the handle's value when outside the visible range.
2071
2072 2015-08-04  Brian J. Burg  <bburg@apple.com>
2073
2074         Web Inspector: Convert DataGrid and DataGridNode classes to ES6 classes
2075         https://bugs.webkit.org/show_bug.cgi?id=147439
2076
2077         Reviewed by Joseph Pecoraro.
2078
2079         Along the way, inline a few style class names.
2080
2081         Elided mechanical changes from the Changelog.
2082
2083         * UserInterface/Views/DOMTreeDataGrid.js:
2084         * UserInterface/Views/DataGrid.js:
2085         * UserInterface/Views/DatabaseTableContentView.js:
2086         * UserInterface/Views/IndexedDatabaseEntryDataGridNode.js:
2087         * UserInterface/Views/LayerTreeDataGridNode.js:
2088         * UserInterface/Views/LayoutTimelineDataGrid.js:
2089         * UserInterface/Views/LayoutTimelineDataGridNode.js:
2090         * UserInterface/Views/ProbeSetDataGrid.js:
2091         * UserInterface/Views/ProfileNodeDataGridNode.js:
2092         * UserInterface/Views/RenderingFrameTimelineDataGridNode.js:
2093         * UserInterface/Views/ResourceTimelineDataGridNode.js:
2094         * UserInterface/Views/ScriptTimelineDataGrid.js:
2095         * UserInterface/Views/ScriptTimelineDataGridNode.js:
2096         * UserInterface/Views/SourceCodeTimelineTimelineDataGridNode.js:
2097         * UserInterface/Views/TimelineDataGrid.js:
2098         * UserInterface/Views/TimelineDataGridNode.js: Move a function definition out
2099         of an else branch, since this is not allowed in ES6 strict mode.
2100
2101 2015-08-04  Brian J. Burg  <burg@cs.washington.edu>
2102
2103         Web Inspector: console error when clicking AppCache folder tree element
2104         https://bugs.webkit.org/show_bug.cgi?id=130042
2105
2106         Reviewed by Joseph Pecoraro.
2107
2108         * UserInterface/Views/StorageSidebarPanel.js:
2109         (WebInspector.StorageSidebarPanel._treeElementSelected): Don't try to
2110         create a content view for ApplicationCacheManifestTreeElement. We can
2111         only create a content view for AppCache frames.
2112
2113 2015-08-04  Andres Gomez  <agomez@igalia.com>
2114
2115         [GTK] Add gtk icon to remove comma separated values from CSS properties
2116         https://bugs.webkit.org/show_bug.cgi?id=147623
2117
2118         Reviewed by Carlos Garcia Campos.
2119
2120         * UserInterface/Images/gtk/Minus.svg: Added.
2121
2122 2015-08-03  Matt Baker  <mattbaker@apple.com>
2123
2124         Web Inspector: REGRESSION (r187708): Breakpoint dialog script action editing broken
2125         https://bugs.webkit.org/show_bug.cgi?id=147553
2126
2127         Reviewed by Joseph Pecoraro.
2128
2129         Passing a widget to CodeMirror.setBookmark generates a viewportChange event, causing the
2130         BreakpointActionView to update the popup for the breakpoint. The spurious update dismisses
2131         the suggestion list, removes the CodeMirror completion hint, and causes other problems.
2132
2133         Now we ignore viewportChange events unless the viewport size changes. We still want to update
2134         the popup when a carriage return or text wrap modifies the viewport.
2135
2136         * UserInterface/Views/BreakpointActionView.js:
2137         (WebInspector.BreakpointActionView.prototype._updateBody):
2138         Evaluate and Probe actions store the current viewport size.
2139         (WebInspector.BreakpointActionView.prototype._codeMirrorViewportChanged):
2140         Check if viewport size has changed since last event.
2141
2142 2015-08-03  Brian J. Burg  <burg@cs.washington.edu>
2143
2144         Web Inspector: Application cache DataGrid has incorrect column heading styles
2145         https://bugs.webkit.org/show_bug.cgi?id=147531
2146
2147         Reviewed by Joseph Pecoraro.
2148
2149         * UserInterface/Views/ApplicationCacheFrameContentView.js:
2150         (WebInspector.ApplicationCacheFrameContentView): Remove erroneous
2151         "storage-view" class, which is intended for databases, not AppCache.
2152
2153 2015-08-02  Matt Baker  <mattbaker@apple.com>
2154
2155         Web Inspector: Unnamespaced Formatter classes break CSSStyleDeclarationTextEditor
2156         https://bugs.webkit.org/show_bug.cgi?id=147544
2157
2158         Reviewed by Brian Burg.
2159
2160         Added Formatter and FormatterContentBuilder to WebInspector namespace.
2161
2162         * UserInterface/Controllers/Formatter.js:
2163         * UserInterface/Controllers/FormatterContentBuilder.js:
2164         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2165         (WebInspector.CSSStyleDeclarationTextEditor.prototype._formattedContentFromEditor):
2166         * UserInterface/Views/TextEditor.js:
2167         (WebInspector.TextEditor.prototype.prettyPrint.prettyPrintAndUpdateEditor):
2168         (WebInspector.TextEditor.prototype.prettyPrint):
2169
2170 2015-08-02  Matt Baker  <mattbaker@apple.com>
2171
2172         Web Inspector: REGRESSION (r187689): Timeline overview graph layout is broken
2173         https://bugs.webkit.org/show_bug.cgi?id=147539
2174
2175         Reviewed by Brian Burg.
2176
2177         Removed timeline argument being passed to TimelineOverviewGraph constructor.
2178
2179         * UserInterface/Views/LayoutTimelineOverviewGraph.js:
2180         (WebInspector.LayoutTimelineOverviewGraph):
2181         * UserInterface/Views/NetworkTimelineOverviewGraph.js:
2182         (WebInspector.NetworkTimelineOverviewGraph):
2183         * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:
2184         (WebInspector.RenderingFrameTimelineOverviewGraph):
2185         * UserInterface/Views/ScriptTimelineOverviewGraph.js:
2186         (WebInspector.ScriptTimelineOverviewGraph):
2187
2188 2015-08-01  Nikita Vasilyev  <nvasilyev@apple.com>
2189
2190         Web Inspector: Replace "unknown-mac" CSS class with "el-capitan"
2191         https://bugs.webkit.org/show_bug.cgi?id=147524
2192
2193         Reviewed by Timothy Hatcher.
2194
2195         * UserInterface/Base/Platform.js:
2196         No need to repeat WebInspector.Platform.version.release for every possible case.
2197
2198         * UserInterface/Views/Toolbar.css:
2199         (body:not(.el-capitan) .toolbar .dashboard-container):
2200         (body:not(.el-capitan) .toolbar .search-bar > input[type="search"]):
2201         (body:not(.el-capitan) .toolbar .search-bar > input[type="search"]:focus):
2202         (body:not(.el-capitan) .toolbar .item.button:active):
2203         (body.window-inactive:not(.el-capitan) .toolbar .dashboard-container):
2204         (body.el-capitan .toolbar .dashboard-container):
2205         (body.el-capitan .toolbar .search-bar > input[type="search"]):
2206         (body.el-capitan .toolbar .search-bar > input[type="search"]:focus):
2207         (@media (-webkit-min-device-pixel-ratio: 2)):
2208         (body.el-capitan .toolbar .item.button:active):
2209         (body.el-capitan.window-inactive .toolbar .dashboard-container):
2210         (body:not(.unknown-mac) .toolbar .dashboard-container): Deleted.
2211         (body:not(.unknown-mac) .toolbar .search-bar > input[type="search"]): Deleted.
2212         (body:not(.unknown-mac) .toolbar .search-bar > input[type="search"]:focus): Deleted.
2213         (body:not(.unknown-mac) .toolbar .item.button:active): Deleted.
2214         (body.window-inactive:not(.unknown-mac) .toolbar .dashboard-container): Deleted.
2215         (body.unknown-mac .toolbar .dashboard-container): Deleted.
2216         (body.unknown-mac .toolbar .search-bar > input[type="search"]): Deleted.
2217         (body.unknown-mac .toolbar .search-bar > input[type="search"]:focus): Deleted.
2218         (body.unknown-mac .toolbar .item.button:active): Deleted.
2219         (body.unknown-mac.window-inactive .toolbar .dashboard-container): Deleted.
2220
2221 2015-07-31  Devin Rousso  <drousso@apple.com>
2222
2223         Web Inspector: inherited CSS rules disappear from Styles sidebar while editing
2224         https://bugs.webkit.org/show_bug.cgi?id=147441
2225
2226         Reviewed by Timothy Hatcher.
2227
2228         If the user edits a style declaration such that it would dissapear mid-edit, prevent
2229         the rules panel from refreshing until that editor is blurred.
2230
2231         * UserInterface/Views/CSSStyleDeclarationSection.js:
2232         (WebInspector.CSSStyleDeclarationSection):
2233         (WebInspector.CSSStyleDeclarationSection.prototype.get editorActive):
2234         (WebInspector.CSSStyleDeclarationSection.prototype.get _hasInvalidSelector):
2235         (WebInspector.CSSStyleDeclarationSection.prototype._editorContentChanged):
2236         (WebInspector.CSSStyleDeclarationSection.prototype._editorBlurred):
2237         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2238         (WebInspector.CSSStyleDeclarationTextEditor.prototype._editorBlured):
2239         (WebInspector.CSSStyleDeclarationTextEditor.prototype._contentChanged):
2240         * UserInterface/Views/RulesStyleDetailsPanel.js:
2241         (WebInspector.RulesStyleDetailsPanel):
2242         (WebInspector.RulesStyleDetailsPanel.prototype._removeSectionWithActiveEditor):
2243         * UserInterface/Views/StyleDetailsPanel.js:
2244         (WebInspector.StyleDetailsPanel.prototype._refreshPreservingScrollPosition):
2245
2246 2015-07-31  Devin Rousso  <drousso@apple.com>
2247
2248         Web Inspector: Autocomplete: Undo (Cmd+Z) doesn't work as expected
2249         https://bugs.webkit.org/show_bug.cgi?id=147316
2250
2251         Reviewed by Timothy Hatcher.
2252
2253         Instead of replacing the text for a completion, which messes up the undo history, add
2254         a unique marker that contains the remaining text for the current completion.
2255
2256         * UserInterface/Controllers/CodeMirrorCompletionController.js:
2257         (WebInspector.CodeMirrorCompletionController.prototype._createCompletionHintMarker):
2258         (WebInspector.CodeMirrorCompletionController.prototype._applyCompletionHint.update):
2259         (WebInspector.CodeMirrorCompletionController.prototype._applyCompletionHint):
2260         (WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint.update):
2261         (WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint):
2262
2263 2015-07-31  Devin Rousso  <drousso@apple.com>
2264
2265         Web Inspector: Scrolling "jumps" in console
2266         https://bugs.webkit.org/show_bug.cgi?id=147482
2267
2268         Reviewed by Joseph Pecoraro.
2269
2270         Removed focus call on messageElement.
2271
2272         * UserInterface/Views/LogContentView.js:
2273         (WebInspector.LogContentView):
2274         (WebInspector.LogContentView.prototype._mousedown): Deleted.
2275         (WebInspector.LogContentView.prototype._didFocus): Deleted.
2276         (WebInspector.LogContentView.prototype._didBlur): Deleted.
2277
2278 2015-07-31  Joseph Pecoraro  <pecoraro@apple.com>
2279
2280         Web Inspector: Unskip / Unflake inspector tests after r187627
2281         https://bugs.webkit.org/show_bug.cgi?id=147503
2282
2283         Reviewed by Brian Burg.
2284
2285         * UserInterface/Base/Test.js:
2286         (InspectorTest.completeTest):
2287         (InspectorTest.completeTest.signalCompletionToTestPage): Deleted.
2288         (InspectorTest.testPageDidLoad):
2289         Instead of immediately resending results if completeTest was called
2290         during a reload before the load has completed, we just set a flag
2291         to complete the test when the load completes. This consistently
2292         resends the output to the new page for test output.
2293         
2294         (InspectorTest._resendResults):
2295         Delete clear results. If the page had logged anything directly on
2296         the page side (using InspectorTestProxy) this clearMessages would
2297         have deleted those messages and not been able to recreate them.
2298         Clearing messages wasn't really serving a purpose.
2299
2300 2015-07-31  Brian J. Burg  <burg@cs.washington.edu>
2301
2302         Web Inspector: Convert timeline view classes to ES6 classes
2303         https://bugs.webkit.org/show_bug.cgi?id=147381
2304
2305         Reviewed by Joseph Pecoraro.
2306
2307         Along the way, inline a few style class names.
2308
2309         Elided mechanical changes from the Changelog.
2310
2311         * UserInterface/Views/LayoutTimelineOverviewGraph.js:
2312         * UserInterface/Views/LayoutTimelineView.js:
2313         * UserInterface/Views/LinearTimelineOverview.js:
2314         * UserInterface/Views/NetworkTimelineOverviewGraph.js:
2315         * UserInterface/Views/NetworkTimelineView.js:
2316         * UserInterface/Views/OverviewTimelineView.js:
2317         * UserInterface/Views/RenderingFrameTimelineOverview.js:
2318         * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:
2319         * UserInterface/Views/RenderingFrameTimelineView.js:
2320         * UserInterface/Views/ScriptTimelineOverviewGraph.js:
2321         * UserInterface/Views/ScriptTimelineView.js:
2322         * UserInterface/Views/TimelineOverview.js:
2323         * UserInterface/Views/TimelineOverviewGraph.js:
2324         * UserInterface/Views/TimelineRecordBar.js:
2325         * UserInterface/Views/TimelineRecordFrame.js:
2326         * UserInterface/Views/TimelineRecordingContentView.js:
2327         * UserInterface/Views/TimelineRuler.js:
2328         * UserInterface/Views/TimelineTabContentView.js:
2329         * UserInterface/Views/TimelineView.js:
2330
2331 2015-07-30  Matt Baker  <mattbaker@apple.com>
2332
2333         Web Inspector: Better share objects generated from timeline events (Records)
2334         https://bugs.webkit.org/show_bug.cgi?id=147029
2335
2336         Reviewed by Brian Burg.
2337
2338         This patch changes the way TimelineManager processes events, preserving the event hierarchy after
2339         converting payloads to TimelineRecord objects by retaining parent-child relationships between records.
2340         This eliminates the need for RenderingFrameTimelineRecord objects to create a separate copy of their child
2341         records, and provides richer data for the Timelines UI.
2342
2343         * UserInterface/Controllers/TimelineManager.js:
2344         (WebInspector.TimelineManager.prototype.eventRecorded):
2345         Track the parent TimelineRecord as child record payloads are unpacked, and create
2346         a hierarchy of TimelineRecords that mirrors the original event payload hierarchy.
2347         (WebInspector.TimelineManager.prototype._processRecord):
2348         RenderingFrameTimelineRecord is now processed like any other event.
2349         (WebInspector.TimelineManager.prototype._processNestedRecords): Deleted.
2350         Reverted back to a single pass over the incoming timeline event payload.
2351
2352         * UserInterface/Models/LayoutTimelineRecord.js:
2353         (WebInspector.LayoutTimelineRecord):
2354         (WebInspector.LayoutTimelineRecord.prototype.get duringComposite): Deleted.
2355         Removed duringComposite property and constructor parameter. No longer needed.
2356
2357         * UserInterface/Models/RenderingFrameTimelineRecord.js:
2358         (WebInspector.RenderingFrameTimelineRecord.prototype.get children): Deleted.
2359         Removed children property. It now exists on the base class TimelineRecord.
2360         Also removed code that was needed to prevent paint time from being added twice.
2361
2362         * UserInterface/Models/ScriptTimelineRecord.js:
2363         (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload):
2364         (WebInspector.ScriptTimelineRecord):
2365         Removed workaround added in:
2366         <https://webkit.org/b/147025> Web Inspector: REGRESSION (r186218) ScriptTimelineRecord attempts to access null property
2367
2368         * UserInterface/Models/TimelineRecord.js:
2369         (WebInspector.TimelineRecord):
2370         (WebInspector.TimelineRecord.prototype.get children):
2371         Added children property.
2372
2373         * UserInterface/Views/RenderingFrameTimelineView.js:
2374         (WebInspector.RenderingFrameTimelineView.prototype._processPendingRecords):
2375         Now that we preserve the frame's child record hierarchy, we process the entire tree,
2376         yielding richer data grid output:
2377
2378            Frame X
2379               Styles Recalculated
2380                  Layout Invalidated
2381               Composite
2382                  Paint
2383                  Paint
2384
2385         Compared to the previous output:
2386
2387            Frame X
2388               Styles Recalculated
2389               Layout Invalidated
2390               Composite
2391               Paint
2392               Paint
2393
2394 2015-07-30  Devin Rousso  <drousso@apple.com>
2395
2396         Web Inspector: Support smart-pasting in the Rules sidebar panel
2397         https://bugs.webkit.org/show_bug.cgi?id=147362
2398
2399         Reviewed by Timothy Hatcher.
2400
2401         When pasting over the selector, if the pasted text matches CSS rule
2402         formatting, replace the selected rule with the selector and text in
2403         the pasted data.
2404
2405         * UserInterface/Models/DOMNodeStyles.js:
2406         (WebInspector.DOMNodeStyles.prototype.changeRule.changeCompleted):
2407         (WebInspector.DOMNodeStyles.prototype.changeRule.styleChanged):
2408         (WebInspector.DOMNodeStyles.prototype.changeRule.changeText):
2409         (WebInspector.DOMNodeStyles.prototype.changeRule.ruleSelectorChanged):
2410         (WebInspector.DOMNodeStyles.prototype.changeRule):
2411         * UserInterface/Views/CSSStyleDeclarationSection.js:
2412         (WebInspector.CSSStyleDeclarationSection.prototype._handleSelectorPaste.parseTextForRule):
2413         (WebInspector.CSSStyleDeclarationSection.prototype._handleSelectorPaste):
2414         (WebInspector.CSSStyleDeclarationSection):
2415
2416 2015-07-30  Matt Baker  <mattbaker@apple.com>
2417
2418         Web Inspector: Fix typo in frame duration filtering console.assert message
2419         https://bugs.webkit.org/show_bug.cgi?id=147458
2420
2421         Rubber-stamped by Joseph Pecoraro.
2422
2423         * UserInterface/Views/RenderingFrameTimelineView.js:
2424         (WebInspector.RenderingFrameTimelineView.displayNameForDurationFilter):
2425
2426 2015-07-30  Nikita Vasilyev  <nvasilyev@apple.com>
2427
2428         Web Inspector: Regression: %c is broken for console.group
2429         https://bugs.webkit.org/show_bug.cgi?id=147436
2430
2431         Reviewed by Timothy Hatcher.
2432
2433         * UserInterface/Views/ConsoleMessageView.js:
2434         (WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
2435
2436 2015-07-30  Devin Rousso  <drousso@apple.com>
2437
2438         Web Inspector: Add special case for deleting the next character when editing rules in the CSS Sidebar
2439         https://bugs.webkit.org/show_bug.cgi?id=147442
2440
2441         Reviewed by Timothy Hatcher.
2442
2443         If the cursor is on the first position of the first line in a CSS Rule and that line
2444         has no content, delete the line instead of doing nothing.
2445
2446         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2447         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleBeforeChange):
2448
2449 2015-07-29  Nikita Vasilyev  <nvasilyev@apple.com>
2450
2451         Web Inspector: Improve styles of debugger popovers
2452         https://bugs.webkit.org/show_bug.cgi?id=147437
2453
2454         Reviewed by Timothy Hatcher.
2455
2456         Use non-monospace font and improve spacing.
2457
2458         * UserInterface/Views/SourceCodeTextEditor.css:
2459         (.popover .debugger-popover-content > .title):
2460         (.popover .debugger-popover-content > .body):
2461
2462 2015-07-29  Nikita Vasilyev  <nvasilyev@apple.com>
2463
2464         Web Inspector: Border line in the debug popover should be semi-transparent black, not dark yellow
2465         https://bugs.webkit.org/show_bug.cgi?id=147435
2466
2467         Reviewed by Timothy Hatcher.
2468
2469         * UserInterface/Views/SourceCodeTextEditor.css:
2470         (.popover .debugger-popover-content > .body):
2471         (@media (-webkit-min-device-pixel-ratio: 2)): Use hairline borders on retina.
2472
2473 2015-07-29  Nikita Vasilyev  <nvasilyev@apple.com>
2474
2475         Web Inspector: " = $0" text in the Elements panel should anti-aliased
2476         https://bugs.webkit.org/show_bug.cgi?id=147432
2477
2478         Reviewed by Timothy Hatcher.
2479
2480         * UserInterface/Views/DOMTreeOutline.css:
2481         (.dom-tree-outline li.selected > span::after):
2482         (.dom-tree-outline:focus li.selected > span::after):
2483         Decrease the opacity just slightly to make " = $0" more distinct from DOM nodes.
2484
2485 2015-07-29  Matt Baker  <mattbaker@apple.com>
2486
2487         Web Inspector: Allow record filtering by frame duration in Rendering Frames timeline
2488         https://bugs.webkit.org/show_bug.cgi?id=147419
2489
2490         Reviewed by Timothy Hatcher.
2491
2492         * Localizations/en.lproj/localizedStrings.js:
2493         New scope bar item labels.
2494
2495         * UserInterface/Views/RenderingFrameTimelineView.js:
2496         (WebInspector.RenderingFrameTimelineView):
2497         New scope bar for frame duration filtering.
2498         (WebInspector.RenderingFrameTimelineView.displayNameForDurationFilter):
2499         (WebInspector.RenderingFrameTimelineView.prototype.matchTreeElementAgainstCustomFilters):
2500         Overridden for view specific filtering. Filtering applies to RenderingFrameTimelineRecords only.
2501         (WebInspector.RenderingFrameTimelineView.prototype._scopeBarSelectionDidChange):
2502         Force sidebar filtering when duration filter changes.
2503
2504 2015-07-28  Joseph Pecoraro  <pecoraro@apple.com>
2505
2506         Web Inspector: console.groupEnd causes negative indent when no group is active
2507         https://bugs.webkit.org/show_bug.cgi?id=147375
2508
2509         Reviewed by Timothy Hatcher.
2510
2511         * UserInterface/Views/LogContentView.js:
2512         (WebInspector.LogContentView.prototype.didAppendConsoleMessageView):
2513
2514 2015-07-28  Brian J. Burg  <burg@cs.washington.edu>
2515
2516         Web Inspector: Convert NavigationItem subclasses to ES6
2517         https://bugs.webkit.org/show_bug.cgi?id=147364
2518
2519         Reviewed by Timothy Hatcher.
2520
2521         Convert remaining NavigationItem subclasses to use ES6 class.
2522
2523         Also promote the _additionalClassNames to be a protected getter,
2524         and inline the style class names that are only used in one place.
2525
2526         Mechanical changes are elided from the changelog.
2527
2528         * UserInterface/Views/ActivateButtonNavigationItem.js:
2529         (WebInspector.ActivateButtonNavigationItem):
2530         (WebInspector.ActivateButtonNavigationItem.prototype.get additionalClassNames):
2531         * UserInterface/Views/ActivateButtonToolbarItem.js:
2532         (WebInspector.ActivateButtonToolbarItem):
2533         * UserInterface/Views/ButtonNavigationItem.js:
2534         (WebInspector.ButtonNavigationItem):
2535         (WebInspector.ButtonNavigationItem.prototype.get additionalClassNames):
2536         * UserInterface/Views/ButtonToolbarItem.js:
2537         (WebInspector.ButtonToolbarItem):
2538         * UserInterface/Views/ControlToolbarItem.js:
2539         (WebInspector.ControlToolbarItem):
2540         (WebInspector.ControlToolbarItem.prototype.get additionalClassNames):
2541         * UserInterface/Views/DividerNavigationItem.js:
2542         (WebInspector.DividerNavigationItem):
2543         (WebInspector.DividerNavigationItem.prototype.get additionalClassNames):
2544         * UserInterface/Views/FlexibleSpaceNavigationItem.js:
2545         (WebInspector.FlexibleSpaceNavigationItem):
2546         (WebInspector.FlexibleSpaceNavigationItem.prototype.get additionalClassNames):
2547         * UserInterface/Views/HierarchicalPathNavigationItem.js:
2548         (WebInspector.HierarchicalPathNavigationItem.prototype.get additionalClassNames):
2549         (WebInspector.HierarchicalPathNavigationItem.prototype.get _additionalClassNames): Deleted.
2550         * UserInterface/Views/NavigationItem.js:
2551         (WebInspector.NavigationItem):
2552         (WebInspector.NavigationItem.prototype.get _classNames):
2553         * UserInterface/Views/RadioButtonNavigationItem.js:
2554         (WebInspector.RadioButtonNavigationItem):
2555         (WebInspector.RadioButtonNavigationItem.prototype.get additionalClassNames):
2556         * UserInterface/Views/ToggleButtonNavigationItem.js:
2557         (WebInspector.ToggleButtonNavigationItem):
2558         (WebInspector.ToggleButtonNavigationItem.prototype.get additionalClassNames):
2559         * UserInterface/Views/ToggleControlToolbarItem.js:
2560         (WebInspector.ToggleControlToolbarItem):
2561         (WebInspector.ToggleControlToolbarItem.prototype.get additionalClassNames):
2562
2563 2015-07-28  Joseph Pecoraro  <pecoraro@apple.com>
2564
2565         Web Inspector: Include <template> node content in DOM Tree
2566         https://bugs.webkit.org/show_bug.cgi?id=147335
2567
2568         Reviewed by Timothy Hatcher.
2569
2570         * UserInterface/Controllers/DOMTreeManager.js:
2571         (WebInspector.DOMTreeManager.prototype._unbind):
2572         Cleanup templateContent when DOMNodes get removed.
2573
2574         * UserInterface/Models/DOMNode.js:
2575         (WebInspector.DOMNode.prototype.templateContent):
2576         Create a DOMNode from the payload's templateContent.
2577
2578         * UserInterface/Views/DOMTreeElement.js:
2579         (WebInspector.DOMTreeElement.prototype._singleTextChild):
2580         (WebInspector.DOMTreeElement.prototype._hasVisibleChildren):
2581         (WebInspector.DOMTreeElement.prototype._visibleChildren):
2582         A DOMTreeElement has children if the DOMNode has template content.
2583
2584 2015-07-28  Devin Rousso  <drousso@apple.com>
2585
2586         Web Inspector: Invalid selectors can be applied to the stylesheet
2587         https://bugs.webkit.org/show_bug.cgi?id=147230
2588
2589         Reviewed by Timothy Hatcher.
2590
2591         * Localizations/en.lproj/localizedStrings.js:
2592
2593         * UserInterface/Models/CSSRule.js:
2594         (WebInspector.CSSRule.prototype.set selectorText):
2595         Fires an event with data stating if the newly applied selector was valid or not.
2596         (WebInspector.CSSRule.prototype._selectorRejected):
2597         (WebInspector.CSSRule.prototype._selectorResolved):
2598         (WebInspector.CSSRule):
2599
2600         * UserInterface/Models/DOMNodeStyles.js:
2601         (WebInspector.DOMNodeStyles.prototype.changeRuleSelector.ruleSelectorChanged):
2602         (WebInspector.DOMNodeStyles.prototype.changeRuleSelector):
2603         Now returns a promise that will reject if CSSAgent.setRuleSelector has an
2604         error, such as if the selector is invalid, and resolve otherwise.
2605
2606         * UserInterface/Views/CSSStyleDeclarationSection.css:
2607         (.style-declaration-section:not(.invalid-selector) > .header > .icon.toggle-able:hover):
2608         (.style-declaration-section:not(.invalid-selector).rule-disabled > .header > .icon):
2609         (.style-declaration-section.invalid-selector > .header > .icon):
2610         (.style-declaration-section.invalid-selector > .header > .selector > *):
2611         (.style-declaration-section > .header > .icon.toggle-able:hover): Deleted.
2612         (.style-declaration-section.rule-disabled > .header > .icon): Deleted.
2613
2614         * UserInterface/Views/CSSStyleDeclarationSection.js:
2615         (WebInspector.CSSStyleDeclarationSection):
2616         (WebInspector.CSSStyleDeclarationSection.prototype._toggleRuleOnOff):
2617         Only allow rule toggling if the selector is valid.
2618         (WebInspector.CSSStyleDeclarationSection.prototype._markSelector):
2619         If the new selector is valid, refresh the section. Otherwise, apply a class
2620         to the section element that marks the selector as being invalid.
2621         (WebInspector.CSSStyleDeclarationSection.prototype.get _hasInvalidSelector):
2622
2623 2015-07-28  Joseph Pecoraro  <pecoraro@apple.com>
2624
2625         Web Inspector: Show Pseudo Elements in DOM Tree
2626         https://bugs.webkit.org/show_bug.cgi?id=139612
2627
2628         Reviewed by Timothy Hatcher.
2629
2630         * UserInterface/Controllers/DOMTreeManager.js:
2631         (WebInspector.DOMTreeManager.prototype._pseudoElementAdded):
2632         Hook up the new pseudo element DOMNode to the parent.
2633
2634         (WebInspector.DOMTreeManager.prototype._pseudoElementRemoved):
2635         Unhook the pseudo element from its parent.
2636
2637         (WebInspector.DOMTreeManager.prototype._unbind):
2638         When unbinding, unbind any pseudo element children we may have had.
2639
2640         * UserInterface/Models/DOMNode.js:
2641         (WebInspector.DOMNode.prototype.isPseudoElement):
2642         (WebInspector.DOMNode.prototype.pseudoType):
2643         (WebInspector.DOMNode.prototype.hasPseudoElements):
2644         (WebInspector.DOMNode.prototype.pseudoElements):
2645         New state of a DOMNode may include pseudo elements.
2646
2647         (WebInspector.DOMNode.prototype.appropriateSelectorFor):
2648         A selector for this node includes the selector for the node above it.
2649
2650         * UserInterface/Protocol/DOMObserver.js:
2651         (WebInspector.DOMObserver.prototype.pseudoElementAdded):
2652         (WebInspector.DOMObserver.prototype.pseudoElementRemoved):
2653         Pass the message on to DOMTreeManager.
2654
2655         * UserInterface/Views/DOMTreeElement.js:
2656         (WebInspector.DOMTreeElement.prototype.get editable):
2657         Pseudo element nodes are not editable.
2658
2659         (WebInspector.DOMTreeElement.prototype.showChildNode):
2660         (WebInspector.DOMTreeElement.prototype.onpopulate):
2661         (WebInspector.DOMTreeElement.prototype.updateChildren):
2662         (WebInspector.DOMTreeElement.prototype._nodeTitleInfo):
2663         (WebInspector.DOMTreeElement.prototype._singleTextChild):
2664         (WebInspector.DOMTreeElement.prototype._hasVisibleChildren):
2665         (WebInspector.DOMTreeElement.prototype._visibleChildren):
2666         (WebInspector.DOMTreeElement.prototype._updateChildren):
2667         (WebInspector.DOMTreeElement.prototype.adjustCollapsedRange):
2668         (WebInspector.DOMTreeElement.prototype.handleLoadAllChildren):
2669         A DOMTreeElement's children are no longer 1-to-1 to DOMNode's children.
2670         Instead a DOMNode may have a before/after pseudo element child that
2671         are not included in the children list. Update parts of DOMTreeElement
2672         to respect this list of visible children.
2673
2674         * UserInterface/Views/DOMTreeElementPathComponent.js:
2675         (WebInspector.DOMTreeElementPathComponent):
2676         * UserInterface/Views/PathComponentIcons.css:
2677         (.dom-pseudo-element-icon .icon):
2678         Styling for the path component when a pseudo element is selected.
2679
2680         * UserInterface/Views/DOMTreeOutline.css:
2681         (.dom-tree-outline .html-pseudo-element):
2682         (.dom-tree-outline .html-fragment.shadow):
2683         (.webkit-html-fragment.shadow): Deleted.
2684         Styles for pseudo elements in the DOM tree.
2685
2686         * UserInterface/Views/DOMTreeOutline.js:
2687         (WebInspector.DOMTreeOutline.prototype._hideElement):
2688         Make the hide element selector hide the host element.
2689
2690         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
2691         (WebInspector.CSSStyleDetailsSidebarPanel.prototype.addEventListeners):
2692         (WebInspector.CSSStyleDetailsSidebarPanel.prototype.removeEventListeners):
2693         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._forcedPseudoClassCheckboxChanged):
2694         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._updatePseudoClassCheckboxes):
2695         Pseudo class changes won't happen on pseudo elements, but will
2696         happen on their host element, so listen to and make pseudo class
2697         changes to the host element.
2698
2699         * UserInterface/Views/RulesStyleDetailsPanel.css:
2700         (.sidebar > .panel.details.css-style .rules > *:first-child:matches(.new-rule)):
2701         Since a pseudo element does not have a style attribute,
2702         give some margin in the style sidebar above the "New Rule"
2703         button so it looks better.
2704
2705 2015-07-27  Matt Baker  <mattbaker@apple.com>
2706
2707         Web Inspector: Record button in Timelines view is clipped on non-retina. Hovering over the dot draws it correctly.
2708         https://bugs.webkit.org/show_bug.cgi?id=147346
2709
2710         Reviewed by Joseph Pecoraro.
2711
2712         Since the hovered button isn't clipped (-webkit-filter is applied in that case), add a filter that
2713         doesn't alter the button's appearance to the non-hovered selector.
2714
2715         * UserInterface/Views/TimelineSidebarPanel.css:
2716         (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph):
2717         Added brightness 100% filter to non-hovered selector.
2718
2719 2015-07-27  Matt Baker  <mattbaker@apple.com>
2720
2721         Web Inspector: Clicking a frame in the Rendering Frames timeline should select the corresponding grid row
2722         https://bugs.webkit.org/show_bug.cgi?id=147013
2723
2724         Reviewed by Timothy Hatcher.
2725
2726         Added ability to select (or highlight) a particular frame by clicking in the overview graph. A tick mark
2727         appears above the selected frame inside the ruler, and the frame element's background color changes to a light
2728         blue vertical highlight. Frame selection is synced across the timeline view's data grid, overview graph, and
2729         navigation bar path components.
2730
2731         A few behaviors:
2732            - Clicking a frame outside the current ruler selection selects the frame.
2733            - Clicking the selected frame will deselect it.
2734            - Resizing the ruler selection to exclude the selected frame will deselect it.
2735
2736         * UserInterface/Views/DataGrid.js:
2737         (WebInspector.DataGridNode.prototype.select):
2738         No need to generate two SelectedNodeChanged events when selecting a node causes
2739         the currently selected node to be deselected.
2740
2741         * UserInterface/Views/LayoutTimelineOverviewGraph.js:
2742         (WebInspector.LayoutTimelineOverviewGraph):
2743         * UserInterface/Views/NetworkTimelineOverviewGraph.js:
2744         (WebInspector.NetworkTimelineOverviewGraph):
2745         * UserInterface/Views/ScriptTimelineOverviewGraph.js:
2746         (WebInspector.ScriptTimelineOverviewGraph): Set TimelineOverview during construction.
2747         Set TimelineOverview during construction.
2748
2749         * UserInterface/Views/RenderingFrameTimelineOverviewGraph.css:
2750         (.timeline-overview-graph.rendering-frame > .frame-marker):
2751         (body.window-inactive .timeline-overview-graph.rendering-frame > .frame-marker):
2752         Added styles for selected frame marker.
2753
2754         * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:
2755         (WebInspector.RenderingFrameTimelineOverviewGraph):
2756         Set TimelineOverview during construction.
2757         (WebInspector.RenderingFrameTimelineOverviewGraph.prototype._mouseClicked):
2758         Added frame marker element and frame selection via mouse click.
2759
2760         * UserInterface/Views/RenderingFrameTimelineView.js:
2761         (WebInspector.RenderingFrameTimelineView.prototype.treeElementDeselected):
2762         Deselect grid node when frame is deselected from the overview graph.
2763         (WebInspector.RenderingFrameTimelineView.prototype.filterDidChange): Deleted.
2764         Removed unnecessary override.
2765
2766         * UserInterface/Views/TimelineOverview.js:
2767         Added selectRecord method and RecordSelected event.
2768         (WebInspector.TimelineOverview):
2769         (WebInspector.TimelineOverview.prototype._timelineRulerMouseDown):
2770         (WebInspector.TimelineOverview.prototype._timelineRulerMouseClicked):
2771         Since timeline ruler specifies pointer-events: all, click events must be forwarded to the
2772         underlying overview graph. Click events following changes to the ruler's selection are ignored.
2773
2774         (WebInspector.TimelineOverview.prototype._timeRangeSelectionChanged):
2775         (WebInspector.TimelineOverview.prototype._recordSelected):
2776         Forward RecordSelected events from child graphs to clients of the overview.
2777
2778         * UserInterface/Views/TimelineOverviewGraph.js:
2779         Added RecordSelected event.
2780         (WebInspector.TimelineOverviewGraph):
2781         (WebInspector.TimelineOverviewGraph.prototype.get visible):
2782         (WebInspector.TimelineOverviewGraph.prototype.get selectedRecord):
2783         (WebInspector.TimelineOverviewGraph.prototype.set selectedRecord):
2784         Added property for selecting a record in the graph. Derived graph types can implement record selection
2785         and choose how to style the selected record.
2786         (WebInspector.TimelineOverviewGraph.prototype.updateLayout):
2787         (WebInspector.TimelineOverviewGraph.prototype.needsLayout):
2788         Update frame marker during an animation frame.
2789         (WebInspector.TimelineOverviewGraph.prototype.dispatchSelectedRecordChangedEvent):
2790         Dispatch wrapper to simplify things.
2791         (WebInspector.TimelineOverviewGraph.prototype.updateSelectedRecord):
2792         (WebInspector.TimelineOverviewGraph.prototype._needsSelectedRecordLayout.update):
2793         (WebInspector.TimelineOverviewGraph.prototype._needsSelectedRecordLayout):
2794         Inform derived overview graph to optionally style the selected record.
2795         (WebInspector.TimelineOverviewGraph.prototype.set timelineOverview): Deleted.
2796         No longer needed. TimelineOverview set during construction.
2797
2798         * UserInterface/Views/TimelineRecordFrame.css:
2799         (.timeline-record-frame):
2800         (.timeline-record-frame.tall):
2801         Limit the "fade out" effect to frames that are >= 95% of the graph height, otherwise the
2802         gradient mask is noticeable when selecting a shorter frame.
2803         (.timeline-record-frame.selected):
2804         (body.window-inactive .timeline-record-frame.selected):
2805         (.timeline-record-frame.selected > .frame):
2806         Added highlight (and dimmed inactive highlight) for selected frame element.
2807
2808         * UserInterface/Views/TimelineRecordFrame.js:
2809         (WebInspector.TimelineRecordFrame.prototype.get selected):
2810         (WebInspector.TimelineRecordFrame.prototype.set selected):
2811         Added property for setting selected style.
2812
2813         * UserInterface/Views/TimelineRecordingContentView.js:
2814         (WebInspector.TimelineRecordingContentView):
2815         (WebInspector.TimelineRecordingContentView.prototype._contentViewSelectionPathComponentDidChange):
2816         Select record in overview in response to changing navigation path.
2817         (WebInspector.TimelineRecordingContentView.prototype._recordSelected.get console):
2818         (WebInspector.TimelineRecordingContentView.prototype._recordSelected):
2819         Update selected tree element in response to changing record selection in the overview graph.
2820
2821 2015-07-27  Joseph Pecoraro  <pecoraro@apple.com>
2822
2823         Web Inspector: Revert change to DOMTreeElement.prototype.remove
2824         https://bugs.webkit.org/show_bug.cgi?id=147336
2825
2826         Reviewed by Timothy Hatcher.
2827
2828         * UserInterface/Views/DOMTreeElement.js:
2829         (WebInspector.DOMTreeElement.prototype.remove.removeNodeCallback):
2830         This change was accidental, and just resulted in the function calling
2831         itself again. It didn't infinite loops because another path would have
2832         removed the DOMTreeElement, but lets correct this code.
2833
2834 2015-07-27  Devin Rousso  <drousso@apple.com>
2835
2836         Web Inspector: support live editing of rule selectors
2837         https://bugs.webkit.org/show_bug.cgi?id=139153
2838
2839         Reviewed by Timothy Hatcher.
2840
2841         * UserInterface/Controllers/DOMTreeManager.js:
2842         (WebInspector.DOMTreeManager.prototype.highlightSelector):
2843         Moved from CSSStyleDeclarationSection.
2844
2845         * UserInterface/Views/CSSStyleDeclarationSection.js:
2846         (WebInspector.CSSStyleDeclarationSection):
2847         (WebInspector.CSSStyleDeclarationSection.prototype.get _currentSelectorText):
2848         Returns the current selector text, either from the style ownerRule or the selector element text.
2849         (WebInspector.CSSStyleDeclarationSection.prototype._highlightNodesWithSelector):
2850         Now highlights all nodes matching the current selector instead of the ownerRule's selector.
2851         (WebInspector.CSSStyleDeclarationSection.prototype._hideDOMNodeHighlight):
2852         (WebInspector.CSSStyleDeclarationSection.prototype._handleMouseOver):
2853         (WebInspector.CSSStyleDeclarationSection.prototype._handleMouseOut):
2854         (WebInspector.CSSStyleDeclarationSection.prototype._handleKeyDown):
2855         If the character is not a tab, highlight all nodes matching the current selector text.
2856         (WebInspector.CSSStyleDeclarationSection.prototype._handleKeyUp):
2857         (WebInspector.CSSStyleDeclarationSection.prototype._hideHighlightOnNodesWithSelector): Deleted.
2858
2859 2015-07-27  Nikita Vasilyev  <nvasilyev@apple.com>
2860
2861         Web Inspector: " = $0" in Elements panel can cause a jerk by pushing nodes below it
2862         https://bugs.webkit.org/show_bug.cgi?id=147318
2863
2864         Reviewed by Timothy Hatcher.
2865
2866         * UserInterface/Views/DOMTreeOutline.css:
2867         (.dom-tree-outline li.selected > span::after):
2868
2869 2015-07-25  Nikita Vasilyev  <nvasilyev@apple.com>
2870
2871         Web Inspector: Start using Node.prototype.remove
2872         https://bugs.webkit.org/show_bug.cgi?id=147304
2873
2874         Reviewed by Timothy Hatcher.
2875
2876         * UserInterface/Base/Main.js:
2877         (WebInspector.elementDragStart):
2878         (WebInspector.elementDragEnd):
2879         (WebInspector.revertDomChanges):
2880         * UserInterface/Views/DOMTreeElement.js:
2881         (WebInspector.DOMTreeElement.prototype._updateSearchHighlight.updateEntryHide):
2882         (WebInspector.DOMTreeElement.prototype._updateSearchHighlight):
2883         (WebInspector.DOMTreeElement.prototype.remove.removeNodeCallback):
2884         (WebInspector.DOMTreeElement.prototype.remove):
2885         * UserInterface/Views/Resizer.js:
2886         (WebInspector.Resizer.prototype._resizerMouseDown):
2887         (WebInspector.Resizer.prototype._resizerMouseUp):
2888         (WebInspector.Resizer):
2889
2890 2015-07-25  Nikita Vasilyev  <nvasilyev@apple.com>
2891
2892         Web Inspector: Fix color declaration for not-executed comments
2893         https://bugs.webkit.org/show_bug.cgi?id=147305
2894
2895         Reviewed by Timothy Hatcher.
2896
2897         * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
2898         (.cm-s-default .basic-block-has-not-executed.cm-comment):
2899         This was an RGB color mispelled as HSL. Replace "hsl" with "rgb"
2900         and convert it to HSL.
2901
2902 2015-07-25  Nikita Vasilyev  <nvasilyev@apple.com>
2903
2904         Web Inspector: Start using Node.prototype.replaceWith
2905         https://bugs.webkit.org/show_bug.cgi?id=147303
2906
2907         Reviewed by Timothy Hatcher.
2908
2909         * UserInterface/Views/Popover.js:
2910         (WebInspector.Popover.prototype._update):
2911
2912 2015-07-25  Nikita Vasilyev  <nvasilyev@apple.com>
2913
2914         Web Inspector: Start using Node.prototype.append
2915         https://bugs.webkit.org/show_bug.cgi?id=147301
2916
2917         Convert all instances of element.appendChild(document.createTextNode(aString))
2918         to element.append(aString).
2919
2920         Reviewed by Timothy Hatcher.
2921
2922         * UserInterface/Base/DOMUtilities.js:
2923         * UserInterface/Base/Main.js:
2924         (WebInspector.linkifyLocation):
2925         (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
2926         * UserInterface/Models/Breakpoint.js:
2927         (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement):
2928         * UserInterface/Views/BoxModelDetailsSectionRow.js:
2929         (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics):
2930         * UserInterface/Views/CSSStyleDeclarationSection.js:
2931         (WebInspector.CSSStyleDeclarationSection.prototype.refresh):
2932         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
2933         (WebInspector.CSSStyleDetailsSidebarPanel):
2934         * UserInterface/Views/ChartDetailsSectionRow.js:
2935         (WebInspector.ChartDetailsSectionRow.prototype._createLegendItem):
2936         * UserInterface/Views/ConsoleMessageView.js:
2937         (WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
2938         (WebInspector.ConsoleMessageView.prototype._appendFormattedArguments):
2939         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
2940         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility.accessibilityPropertiesCallback):
2941         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility):
2942         * UserInterface/Views/DOMTreeElement.js:
2943         (WebInspector.DOMTreeElement.prototype._insertInLastAttributePosition):
2944         (WebInspector.DOMTreeElement.prototype._buildAttributeDOM):
2945         (WebInspector.DOMTreeElement.prototype._buildTagDOM):
2946         (WebInspector.DOMTreeElement.prototype._nodeTitleInfo):
2947         defaultElement variable is unused, remove it.
2948
2949         * UserInterface/Views/DataGrid.js:
2950         (WebInspector.DataGridNode.prototype.createCell.get if):
2951         (WebInspector.DataGridNode.prototype.createCell):
2952         * UserInterface/Views/DebuggerDashboardView.js:
2953         (WebInspector.DebuggerDashboardView.prototype._rebuildLocation):
2954         * UserInterface/Views/EventListenerSectionGroup.js:
2955         (WebInspector.EventListenerSectionGroup.prototype._functionTextOrLink):
2956         (WebInspector.EventListenerSectionGroup):
2957         * UserInterface/Views/FormattedValue.js:
2958         (WebInspector.FormattedValue.createLinkifiedElementString):
2959         (WebInspector.FormattedValue.createElementForNodePreview):
2960         * UserInterface/Views/ObjectPreviewView.js:
2961         (WebInspector.ObjectPreviewView.prototype._appendEntryPreviews):
2962         (WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
2963         * UserInterface/Views/ResourceDetailsSidebarPanel.js:
2964         (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestDataSection):
2965         (WebInspector.ResourceDetailsSidebarPanel):
2966         * UserInterface/Views/RulesStyleDetailsPanel.js:
2967         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.addNewRuleButton):
2968         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertMediaOrInheritanceLabel):
2969         * UserInterface/Views/SearchResultTreeElement.js:
2970         (WebInspector.SearchResultTreeElement.truncateAndHighlightTitle):
2971         * UserInterface/Views/SyntaxHighlightingSupport.js:
2972         (.appendText):
2973         (WebInspector.syntaxHighlightStringAsDocumentFragment):
2974         * UserInterface/Views/TimelineDataGridNode.js:
2975         (WebInspector.TimelineDataGridNode.prototype.createCellContent):
2976
2977 2015-07-24  Joseph Pecoraro  <pecoraro@apple.com>
2978
2979         Web Inspector: Add custom parameter lists for new DOM append/prepend/before/after/replaceWith methods
2980         https://bugs.webkit.org/show_bug.cgi?id=147257
2981
2982         Reviewed by Timothy Hatcher.
2983
2984         * UserInterface/Models/NativeFunctionParameters.js:
2985
2986 2015-07-23  Matt Baker  <mattbaker@apple.com>
2987
2988         Web Inspector: jittery cursor when adjusting time interval using timeline grabbers
2989         https://bugs.webkit.org/show_bug.cgi?id=147095
2990
2991         Reviewed by Brian Burg.
2992
2993         * UserInterface/Views/TimelineRuler.css:
2994         (.timeline-ruler.resizing-selection > .selection-drag):
2995         Override selection-drag element's cursor when "resizing-selection" selector is applied.
2996         (.timeline-ruler.allows-time-range-selection.creating-selection): Deleted.
2997         Renamed "creating-selection" selector to "resizing-selection" to reflect its new role.
2998
2999         * UserInterface/Views/TimelineRuler.js:
3000         (WebInspector.TimelineRuler.prototype._handleMouseMove):
3001         (WebInspector.TimelineRuler.prototype._handleMouseUp):
3002         (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseDown):
3003         (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseUp):
3004         Toggle cursor styles.
3005
3006 2015-07-23  Devin Rousso  <drousso@apple.com>
3007
3008         Web Inspector: Add a function to CSSCompletions to get a list of supported system fonts
3009         https://bugs.webkit.org/show_bug.cgi?id=147009
3010
3011         Reviewed by Joseph Pecoraro.
3012
3013         * UserInterface/Base/Main.js:
3014         (WebInspector.loaded):
3015         (WebInspector.activateExtraDomains):
3016         * UserInterface/Base/Test.js:
3017         (WebInspector.loaded):
3018         * UserInterface/Models/CSSCompletions.js:
3019         (WebInspector.CSSCompletions.requestCSSCompletions.fontFamilyNamesCallback):
3020         (WebInspector.CSSCompletions.requestCSSCompletions):
3021         Now also grabs the list of system font family names and adds that list to the existing completion
3022         list for both font and font-family in CSSKeywordCompletions.
3023         (WebInspector.CSSCompletions.requestCSSNameCompletions): Deleted.
3024
3025 2015-07-23  Matt Baker  <mattbaker@apple.com>
3026
3027         Web Inspector: wrong cursor shown when selecting time interval from timeline overview
3028         https://bugs.webkit.org/show_bug.cgi?id=147094
3029
3030         Reviewed by Timothy Hatcher.
3031
3032         * UserInterface/Views/TimelineRuler.css:
3033         (.timeline-ruler.allows-time-range-selection.creating-selection):
3034         New cursor style for entire ruler element.
3035
3036         * UserInterface/Views/TimelineRuler.js:
3037         (WebInspector.TimelineRuler.prototype._handleMouseMove):
3038         (WebInspector.TimelineRuler.prototype._handleMouseUp):
3039         Toggle cursor style when dragging to create a new selection in the overview.
3040
3041 2015-07-22  Joseph Pecoraro  <pecoraro@apple.com>
3042
3043         Web Inspector: Timeline should immediately start moving play head when starting a new recording
3044         https://bugs.webkit.org/show_bug.cgi?id=147210
3045
3046         Reviewed by Timothy Hatcher.
3047
3048         * UserInterface/Protocol/TimelineObserver.js:
3049         (WebInspector.TimelineObserver.prototype.recordingStarted):
3050         (WebInspector.TimelineObserver.prototype.recordingStopped):
3051         Pass on the new timestamps.
3052
3053         * UserInterface/Controllers/TimelineManager.js:
3054         (WebInspector.TimelineManager.prototype.capturingStarted):
3055         (WebInspector.TimelineManager.prototype.capturingStopped):
3056         Pass on the new timestamps in the events.
3057
3058         * UserInterface/Views/TimelineRecordingContentView.js:
3059         (WebInspector.TimelineRecordingContentView.prototype._capturingStarted):
3060         Pass on the new timestamp from the event as it can be used to update the currentTime.
3061
3062         (WebInspector.TimelineRecordingContentView.prototype._startUpdatingCurrentTime):
3063         If provided a startTime we can use that as the new currentTime. Otherwise fallback
3064         to determining a good currentTime from the next incoming record for legacy backends.
3065
3066         (WebInspector.TimelineRecordingContentView.prototype._recordingTimesUpdated):
3067         Update the comment, as there is now a solution but this is required for legacy backends.
3068
3069 2015-07-22  Joseph Pecoraro  <pecoraro@apple.com>
3070
3071         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
3072         https://bugs.webkit.org/show_bug.cgi?id=147204
3073
3074         Reviewed by Timothy Hatcher.
3075
3076         * UserInterface/Views/TimelineRecordingContentView.js:
3077         (WebInspector.TimelineRecordingContentView.prototype._recordingTimesUpdated):
3078         We were skipping a timeline, but it might have a new event record with
3079         a new start time. This ensures we get an updated current time which makes
3080         sense, and we jump forward to that time in the main timeline.
3081
3082 2015-07-22  Matt Baker  <mattbaker@apple.com>
3083
3084         Web Inspector: TimelineRuler shouldn't dispatch selection changed event unless it actually changes
3085         https://bugs.webkit.org/show_bug.cgi?id=147219
3086
3087         Reviewed by Timothy Hatcher.
3088
3089         Moved to a "suppress next" model for suppressing dispatch of TimelineRuler's selection changed event. The
3090         ruler's _timeRangeSelectionChanged flag is now reset only when an event is finally dispatched.
3091
3092         * UserInterface/Views/TimelineRuler.js:
3093         (WebInspector.TimelineRuler):
3094         (WebInspector.TimelineRuler.prototype._updateSelection):
3095         (WebInspector.TimelineRuler.prototype._dispatchTimeRangeSelectionChangedEvent):
3096         Check for this._timeRangeSelectionChanged moved into dispatch function.
3097         (WebInspector.TimelineRuler.prototype._handleMouseDown):
3098         (WebInspector.TimelineRuler.prototype._handleMouseMove):
3099         (WebInspector.TimelineRuler.prototype._handleMouseUp):
3100         We now suppress the next dispatch only, rather than a toggle.
3101
3102 2015-07-22  Devin Rousso  <drousso@apple.com>
3103
3104         Web Inspector: REGRESSION (Safari 7): Pseudo element rules are not labelled with media queries in Styles panel
3105         https://bugs.webkit.org/show_bug.cgi?id=147207
3106
3107         Reviewed by Timothy Hatcher.
3108
3109         * UserInterface/Views/RulesStyleDetailsPanel.js:
3110         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertMediaOrInheritanceLabel):
3111         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertAllMatchingPseudoStyles):
3112         Now inserts pseudo-styles based on whether their selector specificity is greater than
3113         the previous style's selector specificity.
3114         (WebInspector.RulesStyleDetailsPanel.prototype.refresh):
3115
3116 2015-07-22  Nikita Vasilyev  <nvasilyev@apple.com>
3117
3118         Web Inspector: Change syntax highlighting color for regular expressions to make them more readable
3119         https://bugs.webkit.org/show_bug.cgi?id=146956
3120
3121         Reviewed by Timothy Hatcher.
3122
3123         * UserInterface/Views/FormattedValue.css:
3124         (.formatted-regexp):
3125         * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
3126         (.syntax-highlighted :matches(.css-string, .javascript-string, .html-attribute-value)):
3127         (.syntax-highlighted .javascript-regexp):
3128         (.syntax-highlighted :matches(.css-string, .javascript-string, .javascript-regexp, .html-attribute-value)): Deleted.
3129
3130 2015-07-21  Joseph Pecoraro  <pecoraro@apple.com>
3131
3132         Web Inspector: console.log("%d", 0) or console.log("%d", "str") show nothing, expected Number or NaN
3133         https://bugs.webkit.org/show_bug.cgi?id=147163
3134
3135         Reviewed by Timothy Hatcher.
3136
3137         * UserInterface/Views/ConsoleMessageView.js:
3138         (WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.append):
3139         When appending the result for a substitution formatter, don't check against a
3140         falsey value, check against undefined. This will allow falsely values like
3141         0 and NaN to be output as expected.
3142
3143 2015-07-21  Joseph Pecoraro  <pecoraro@apple.com>
3144
3145         Web Inspector: Total download size doesn't update soon after loading
3146         https://bugs.webkit.org/show_bug.cgi?id=147161
3147
3148         Reviewed by Timothy Hatcher.
3149
3150         * UserInterface/Models/DefaultDashboard.js:
3151         (WebInspector.DefaultDashboard.prototype._mainResourceDidChange):
3152         Previously autorecording would always have made us start capturing,
3153         however we only autorecord if users are on the Timeline tab. Just
3154         reset the time always, a navigation happened and start the timer.
3155
3156         (WebInspector.DefaultDashboard.prototype._resourceSizeDidChange):
3157         Move to a better location within the file.
3158
3159 2015-07-21  Nikita Vasilyev  <nvasilyev@apple.com>
3160
3161         Web Inspector: Convert all colors from RGB to HSL color scheme
3162         https://bugs.webkit.org/show_bug.cgi?id=147143
3163
3164         HSL color scheme is more human friendly than RGB.
3165
3166         RGB -> HSL
3167         RGB hex (e.g. #bada55 and #456) -> HSL
3168         RGBA -> HSLA
3169         Named colors (white, black, lightgoldenrodyellow) are unchanged        
3170
3171         Reviewed by Timothy Hatcher.
3172
3173         * UserInterface/Controllers/CodeMirrorGradientEditingController.css:
3174         (.gradient-editing-controller > label > input):
3175         * UserInterface/Views/BoxModelDetailsSectionRow.css:
3176         (.details-section .row.box-model .position):
3177         (.details-section .row.box-model .margin):
3178         (.details-section .row.box-model .margin.active):
3179         (.details-section .row.box-model .border):
3180         (.details-section .row.box-model .border.active):
3181         (.details-section .row.box-model .padding):
3182         (.details-section .row.box-model .padding.active):
3183         (.details-section .row.box-model .content):
3184         (.details-section .row.box-model .content.active):
3185         * UserInterface/Views/Breakpoint.css:
3186         (.popover .edit-breakpoint-popover-content > table > tr > th):
3187         * UserInterface/Views/BreakpointActionView.css:
3188         (.breakpoint-action-remove-button):
3189         (.breakpoint-action-append-button):
3190         (.breakpoint-action-block-body):
3191         (.breakpoint-action-eval-editor):
3192         * UserInterface/Views/BreakpointTreeElement.css:
3193         (.breakpoint-generic-line-icon .icon > span):
3194         (.data-updated.breakpoint-generic-line-icon .icon > span):
3195         * UserInterface/Views/ButtonNavigationItem.css:
3196         (.navigation-bar .item.button.text-only):
3197         (.navigation-bar .item.button.suppress-emboss > .glyph):
3198         * UserInterface/Views/ButtonToolbarItem.css:
3199         (.toolbar .item.button > .label):
3200         (.toolbar.label-only .item.activate.button.activated > .label):
3201         * UserInterface/Views/CSSStyleDeclarationSection.css:
3202         (.style-declaration-section > .header > .selector):
3203         (.style-declaration-section > .header > .origin):
3204         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
3205         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property:matches(.disabled, .invalid, .other-vendor, .not-inherited, .overridden)):
3206         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property.invalid):
3207         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .editing-line .css-style-declaration-property:matches(.disabled, .other-vendor, .not-inherited, .overridden)):
3208         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch):
3209         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch > span):
3210         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch:hover > span):
3211         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch:active > span):
3212         (.css-style-text-editor > .CodeMirror .cm-link):
3213         * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
3214         (.sidebar > .panel.details.css-style > .content > .pseudo-classes):
3215         (.sidebar > .panel.details.css-style > .content > .pseudo-classes > .group > label):
3216         (.sidebar > .panel.details.css-style > .content.has-filter-bar + .filter-bar):
3217         (.sidebar > .panel.details.css-style > .content.filter-in-progress .filter-matching):
3218         (.sidebar > .panel.details.css-style > .content.filter-in-progress .style-declaration-section:not(.filter-section-has-label)):
3219         * UserInterface/Views/ChartDetailsSectionRow.css:
3220         (.details-section > .content > .group > .row.chart > .title):
3221         (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .label > .color-swatch):
3222         (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .label):
3223         * UserInterface/Views/CodeMirrorOverrides.css:
3224         (.CodeMirror .CodeMirror-selected):
3225         (.CodeMirror .CodeMirror-lines .CodeMirror-matchingbracket):
3226         (.CodeMirror .CodeMirror-lines .CodeMirror-nonmatchingbracket):
3227         (.CodeMirror .CodeMirror-gutters):
3228         (.CodeMirror .CodeMirror-linenumber):
3229         * UserInterface/Views/CompletionSuggestionsView.css:
3230         (.completion-suggestions):
3231         (.completion-suggestions-container > .item:active):
3232         * UserInterface/Views/ConsoleMessageView.css:
3233         (.console-user-command.special-user-log > .console-message-text):
3234         (.console-message .repeat-count):
3235         (.console-message-preview-divider):
3236         (.console-message-enclosed):
3237         (.console-user-command > .console-message-text):
3238         (.console-saved-variable):
3239         * UserInterface/Views/DOMStorageContentView.css:
3240         (.content-view.dom-storage > .data-grid tr.missing-value td.value-column):
3241         (.content-view.dom-storage > .data-grid:focus tr.selected.missing-value td.value-column):
3242         * UserInterface/Views/DOMTreeOutline.css:
3243         (.dom-tree-outline li.hovered:not(.selected) .selection):
3244         (.dom-tree-outline li.selected .selection):
3245         (.dom-tree-outline li.elements-drag-over .selection):
3246         (.dom-tree-outline:focus li.selected .selection):
3247         (.showing-find-banner .dom-tree-outline .search-highlight):
3248         * UserInterface/Views/DataGrid.css:
3249         (.data-grid .highlight):
3250         (.data-grid.inline):
3251         (.data-grid th):
3252         (body.window-inactive .data-grid th):
3253         (.data-grid :matches(th, td):not(:last-child)):
3254         (body.window-inactive .data-grid :matches(th, td):not(:last-child)):
3255         (.data-grid th.sortable:active):
3256         (.data-grid th:matches(.sort-ascending, .sort-descending)):
3257         (.data-grid table.data):
3258         (.data-grid:matches(:focus, .force-focus) tr.selected td:not(:last-child)):
3259         (.data-grid tr.selected):
3260         (.data-grid:matches(:focus, .force-focus) tr.selected):
3261         (.data-grid td .subtitle):
3262         (.data-grid:matches(:focus, .force-focus) tr.selected td .subtitle):
3263         (.data-grid td.error):
3264         * UserInterface/Views/DatabaseContentView.css:
3265         (.storage-view .storage-table-error):
3266         (.database-user-query):
3267         (.database-query-text):
3268         * UserInterface/Views/DebuggerDashboardView.css:
3269         (.toolbar .dashboard.debugger):
3270         (.dashboard.debugger .navigation-bar .item.button > .glyph):
3271         (.dashboard.debugger > .divider):
3272         (.dashboard.debugger > .location .function-name):
3273         (.dashboard.debugger > .location .go-to-link):
3274         * UserInterface/Views/DebuggerSidebarPanel.css:
3275         (.sidebar > .panel.navigation.debugger.paused .details-section.scripts):
3276         * UserInterface/Views/DefaultDashboardView.css:
3277         (.toolbar .dashboard.default > .item.enabled:hover):
3278         (.toolbar .dashboard.default > .item.enabled:active):
3279         (.toolbar .dashboard.default > .item > div):
3280         (.toolbar .dashboard.default > .item.enabled > div):
3281         (.toolbar .dashboard.default > .item.enabled:hover > div):
3282         (.toolbar .dashboard.default > .errors.enabled > div):
3283         (.toolbar .dashboard.default > .errors.enabled:hover > div):
3284         (.toolbar .dashboard.default > .issues.enabled > div):
3285         (.toolbar .dashboard.default > .issues.enabled:hover > div):
3286         * UserInterface/Views/DetailsSection.css:
3287         (.details-section):
3288         (.details-section .details-section):
3289         (.details-section .details-section:first-child):
3290         (.details-section > .header):
3291         (.details-section .details-section > .header):
3292         (.details-section .details-section:not(.collapsed) > .header):
3293         (.details-section.computed-style-properties:not(.collapsed) > .header):
3294         (.details-section > .header > label):
3295         (.details-section > .content > .group):
3296         (.details-section > .content > .group:nth-child(even) > .row:matches(.simple:first-child > *, :not(.simple):first-child)):
3297         (.details-section > .content > .group > .row.simple > .label):
3298         (.details-section > .content .data-grid tr:nth-child(odd)):
3299         * UserInterface/Views/DividerNavigationItem.css:
3300         (.navigation-bar .item.divider):
3301         * UserInterface/Views/Editing.css:
3302         (.editing):
3303         * UserInterface/Views/FilterBar.css:
3304         (.filter-bar):
3305         (.filter-bar > input[type="search"]):
3306         (.filter-bar > input[type="search"]::-webkit-input-placeholder):
3307         * UserInterface/Views/FindBanner.css:
3308         (.find-banner):
3309         (body.window-inactive .find-banner):
3310         (.find-banner > input[type="search"]):
3311         (.find-banner > button):
3312         (.find-banner > button:active:not(:disabled)):
3313         (.find-banner > button:disabled):
3314         * UserInterface/Views/FormattedValue.css:
3315         (:matches(.formatted-array, .formatted-map, .formatted-set, .formatted-weakmap, .formatted-weakset) > .size):
3316         (.formatted-number):
3317         (.formatted-boolean):
3318         (.formatted-string):
3319         (.formatted-regexp):
3320         (.formatted-symbol):
3321         (.formatted-null, .formatted-undefined):
3322         * UserInterface/Views/GoToLineDialog.css:
3323         (.go-to-line-dialog):
3324         (.go-to-line-dialog > div):
3325         (.go-to-line-dialog > div > input):
3326         (.go-to-line-dialog > div > input::-webkit-input-placeholder):
3327         (.go-to-line-dialog > div > img):
3328         (.go-to-line-dialog > div > img:active):
3329         * UserInterface/Views/GradientSlider.css:
3330         (.gradient-slider):
3331         (.gradient-slider-knob > div):
3332         * UserInterface/Views/HierarchicalPathComponent.css:
3333         (.hierarchical-path-component > .title):
3334         * UserInterface/Views/HoverMenu.css:
3335         (.hover-menu > svg > :matches(path, rect)):
3336         * UserInterface/Views/ImageResourceContentView.css:
3337         (.content-view.resource.image):
3338         * UserInterface/Views/IndexedDatabaseObjectStoreContentView.css:
3339         (.content-view.indexed-database-object-store > .data-grid table.data tr:nth-child(odd)):
3340         * UserInterface/Views/LayerTreeDetailsSidebarPanel.css:
3341         (.panel.details.layer-tree .name-column :matches(.pseudo-element, .reflection)):
3342         (.panel.details.layer-tree tr.selected .name-column :matches(.pseudo-element, .reflection)):
3343         (.panel.details.layer-tree .bottom-bar):
3344         * UserInterface/Views/LogContentView.css:
3345         (.console-item):
3346         (.console-session + .console-session):
3347         (.console-messages a):
3348         (.console-messages a:hover):
3349         (.search-bar.log-search-bar > input[type="search"]):
3350         (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted):
3351         (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted.selected):
3352         * UserInterface/Views/Main.css:
3353         (body.docked.bottom):
3354         (body.docked.right):
3355         (body.window-inactive.docked.bottom):
3356         (body.window-inactive.docked.right):
3357         (#split-content-browser):
3358         (body.window-inactive #split-content-browser):
3359         (#split-content-browser > .navigation-bar):
3360         (#split-content-browser .hierarchical-path-component.log-icon .title):
3361         (.message-text-view):
3362         (.message-text-view.error):
3363         (.go-to-link):
3364         (.value-with-clarification .clarification):
3365         (.bouncy-highlight):
3366         * UserInterface/Views/NavigationBar.css:
3367         (.navigation-bar):
3368         (body.window-inactive .navigation-bar):
3369         * UserInterface/Views/NavigationSidebarPanel.css:
3370         (.sidebar > .panel.navigation > .overflow-shadow):
3371         (body.window-inactive .sidebar > .panel.navigation > .overflow-shadow):
3372         (.sidebar > .panel.navigation > .empty-content-placeholder > .message):
3373         (.navigation-sidebar-panel-content-tree-outline .item.selected):
3374         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected):
3375         (body.window-inactive .navigation-sidebar-panel-content-tree-outline .item.selected):
3376         (.navigation-sidebar-panel-content-tree-outline .item .highlighted):
3377         (.navigation-sidebar-panel-content-tree-outline .item .subtitle):
3378         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .subtitle):
3379         * UserInterface/Views/NetworkGridContentView.css:
3380         (.content-view.network-grid > .data-grid table.data):
3381         * UserInterface/Views/NetworkSidebarPanel.css:
3382         (.sidebar > .panel.navigation.network > .title-bar):
3383         (body.window-inactive .sidebar > .panel.navigation.network > .title-bar):
3384         (.sidebar > .panel.navigation.network.network-grid-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline):
3385         * UserInterface/Views/NetworkTimelineOverviewGraph.css:
3386         (.timeline-overview-graph.network:nth-child(even) > .graph-row > .timeline-record-bar > .segment:not(.inactive)):
3387         * UserInterface/Views/NewTabContentView.css:
3388         (.new-tab.tab.content-view):
3389         (.new-tab.tab.content-view > .tab-item > .box):
3390         * UserInterface/Views/ObjectPreviewView.css:
3391         (.object-preview .name):
3392         (.object-preview > .size):
3393         * UserInterface/Views/ObjectTreeView.css:
3394         (.object-tree-outline li .empty-message):
3395         * UserInterface/Views/OverviewTimelineView.css:
3396         (.timeline-view.overview > .timeline-ruler > .header):
3397         (body.window-inactive .timeline-view.overview > .timeline-ruler > .header):
3398         (.timeline-view.overview > .data-grid tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar:not(.has-inactive-segment) > .segment):
3399         (.timeline-view.overview > .data-grid:focus tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar:not(.has-inactive-segment) > .segment):
3400         (.timeline-view.overview > .data-grid tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
3401         (.timeline-view.overview > .data-grid:focus tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
3402         * UserInterface/Views/ProbeSetDataGrid.css:
3403         (.details-section.probe-set .data-grid tr.past-value td):
3404         (.details-section.probe-set .data-grid > td.unknown-value):
3405         (@-webkit-keyframes blink-frame-highlight):
3406         (100%):
3407         (.details-section.probe-set .data-grid tr.separator):
3408         (@-webkit-keyframes blink-probe-frame):
3409         * UserInterface/Views/QuickConsole.css:
3410         (.quick-console):
3411         (body.window-inactive .quick-console):
3412         (.quick-console.showing-log):
3413         * UserInterface/Views/RadioButtonNavigationItem.css:
3414         (.navigation-bar .item.radio.button.text-only:hover):
3415         (.navigation-bar .item.radio.button.text-only.selected):
3416         (.navigation-bar .item.radio.button.text-only:active):
3417         (.navigation-bar .item.radio.button.text-only.selected:active):
3418         * UserInterface/Views/RenderingFrameTimelineOverviewGraph.css:
3419         (.timeline-overview-graph.rendering-frame > .divider):
3420         (.timeline-overview-graph.rendering-frame > .divider > .label):
3421         * UserInterface/Views/ReplayDashboardView.css:
3422         (.toolbar .dashboard.replay):
3423         * UserInterface/Views/ResourceTreeElement.css:
3424         (.item.resource.failed):
3425         (.item.resource.failed .subtitle):
3426         * UserInterface/Views/RulesStyleDetailsPanel.css:
3427         (.sidebar > .panel.details.css-style .rules .label):
3428         (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules.filter-non-matching > .no-filter-results > .no-filter-results-message):
3429         * UserInterface/Views/ScopeBar.css:
3430         (.scope-bar > li):
3431         (.scope-bar > li:hover):
3432         (.scope-bar > li.selected):
3433         (.scope-bar > li:active):
3434         (.scope-bar > li.selected:active):
3435         * UserInterface/Views/SearchBar.css:
3436         (.search-bar > input[type="search"]):
3437         (.search-bar > input[type="search"]::-webkit-input-placeholder):
3438         * UserInterface/Views/SearchSidebarPanel.css:
3439         (.sidebar > .panel.navigation.search > .search-bar):
3440         * UserInterface/Views/Sidebar.css:
3441         (.sidebar):
3442         (.sidebar.left):
3443         (.sidebar.right):
3444         (body.window-inactive .sidebar.left):
3445         (body.window-inactive .sidebar.right):
3446         * UserInterface/Views/SourceCodeTextEditor.css:
3447         (.source-code.text-editor > .CodeMirror .warning):
3448         (.source-code.text-editor > .CodeMirror .error):
3449         (.source-code.text-editor > .CodeMirror .issue-widget.warning):
3450         (.source-code.text-editor > .CodeMirror .issue-widget.inline.warning):
3451         (.source-code.text-editor > .CodeMirror .issue-widget.inline.warning > .arrow):
3452         (.source-code.text-editor > .CodeMirror .issue-widget.error):
3453         (.source-code.text-editor > .CodeMirror .issue-widget.inline.error):
3454         (.source-code.text-editor > .CodeMirror .issue-widget.inline.error > .arrow):
3455         (.popover .debugger-popover-content > .body):
3456         * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
3457         (.syntax-highlighted :matches(.css-comment, .javascript-comment, .html-comment)):
3458         (.syntax-highlighted :matches(.css-keyword, .css-tag, .css-at-rule, .css-important, .javascript-keyword, .html-tag)):
3459         (.syntax-highlighted :matches(.css-number, .javascript-number)):
3460         (.syntax-highlighted :matches(.css-string, .javascript-string, .javascript-regexp, .html-attribute-value)):
3461         (.syntax-highlighted :matches(.html-doctype, .html-processing-instruction)):
3462         (.syntax-highlighted .html-attribute-name):
3463         (.syntax-highlighted a):
3464         (.supports-find-banner.showing-find-banner .syntax-highlighted .search-result):
3465         (.cm-s-default .basic-block-has-not-executed):
3466         (.cm-s-default .basic-block-has-not-executed.cm-m-css:matches(.cm-atom, .cm-meta, .cm-variable-3, .cm-property)):
3467         (.cm-s-default .basic-block-has-not-executed:matches(.cm-number, .cm-atom.cm-hex-color)):
3468         (.cm-s-default .basic-block-has-not-executed.cm-string):
3469         (.cm-s-default .basic-block-has-not-executed.cm-m-xml.cm-meta):
3470         * UserInterface/Views/TabBar.css:
3471         (.tab-bar):
3472         (body.window-inactive .tab-bar):
3473         (.tab-bar > .top-border):
3474         (body.window-inactive .tab-bar > .top-border):
3475         (.tab-bar > .item):
3476         (.tab-bar.dragging-tab > .item.selected):
3477         (.tab-bar > .item:not(.disabled).selected):
3478         (.tab-bar > .item.new-tab-button:not(.disabled):hover):
3479         (.tab-bar:not(.animating) > .item:not(.selected, .disabled):hover + .item):
3480         (body.window-inactive .tab-bar > .item):
3481         (body.window-inactive .tab-bar > .item.selected):
3482         (.tab-bar > .item > .close:hover):
3483         (.tab-bar > .item > .title):
3484         (.tab-bar:not(.animating) > .item:not(.selected):hover > .title):
3485         (.tab-bar > .item.selected > .title):
3486         (.tab-bar.animating.closing-tab > .item.selected):
3487         (body.window-inactive .tab-bar.animating.closing-tab > .item.selected):
3488         * UserInterface/Views/TextEditor.css:
3489         (.text-editor > .CodeMirror .execution-line):
3490         (.text-editor > .CodeMirror .hovered-expression-highlight):
3491         (to):
3492         * UserInterface/Views/TimelineDataGrid.css:
3493         (.data-grid.timeline th):
3494         (body.window-inactive .data-grid.timeline th):
3495         (.timeline-data-grid-tree-outline .item:hover):
3496         (.timeline-data-grid-tree-outline .item .subtitle):
3497         * UserInterface/Views/TimelineOverview.css:
3498         (.timeline-overview > .graphs-container > .timeline-overview-graph:nth-child(even)):
3499         (.timeline-overview > .graphs-container > .timeline-overview-graph:not(:first-child)):
3500         * UserInterface/Views/TimelineRecordBar.css:
3501         (.timeline-record-bar > .segment):
3502         (:matches(:focus, .force-focus) .selected .timeline-record-bar > .segment.inactive):
3503         (:matches(:focus, .force-focus) .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
3504         (.timeline-record-bar.timeline-record-type-network > .segment):
3505         (.timeline-record-bar.timeline-record-type-network > .segment.inactive):
3506         (.timeline-record-bar.timeline-record-type-layout > .segment):
3507         (.timeline-record-bar.timeline-record-type-layout.layout-timeline-record-composite > .segment):
3508         (.timeline-record-bar.timeline-record-type-script > .segment):
3509         * UserInterface/Views/TimelineRecordFrame.css:
3510         (.timeline-record-frame):
3511         (.timeline-record-frame > .frame > .duration):
3512         (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-script):
3513         (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-layout):
3514         (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-paint):
3515         * UserInterface/Views/TimelineRecordingContentView.css:
3516         (.content-view.timeline-recording > .content-view-container > .timeline-view > .data-grid table.data):
3517         * UserInterface/Views/TimelineRuler.css:
3518         (.timeline-ruler > .header):
3519         (body.window-inactive .timeline-ruler > .header):
3520         (.timeline-ruler > .header > .divider):
3521         (body.window-inactive .timeline-ruler > .header > .divider):
3522         (.timeline-ruler > .header > .divider > .label):
3523         (.timeline-ruler > .markers > .divider):
3524         (.timeline-ruler > .markers > .marker):
3525         (.timeline-ruler > .markers > .marker.load-event):
3526         (.timeline-ruler > .markers > .marker.dom-content-event):
3527         (.timeline-ruler > .markers > .marker.timestamp):
3528         (.timeline-ruler > .selection-handle):
3529         (.timeline-ruler > .shaded-area):
3530         * UserInterface/Views/TimelineSidebarPanel.css:
3531         (.sidebar > .panel.navigation.timeline > .status-bar):
3532         (body.window-inactive .sidebar > .panel.navigation.timeline > .status-bar):
3533         (.sidebar > .panel.navigation.timeline > .status-bar > .record-status):
3534         (.sidebar > .panel.navigation.timeline > .title-bar):
3535         (body.window-inactive .sidebar > .panel.navigation.timeline > .title-bar):
3536         (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
3537         (body.window-inactive .sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
3538         (.sidebar > .panel.navigation.timeline > .timelines-content li.item:not(.selected):nth-child(even)):
3539         (.sidebar > .panel.navigation.timeline > .timelines-content li.item:not(.selected):not(:first-child)):
3540         (.sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item):
3541         (body.window-inactive .sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item):
3542         (.sidebar > .panel.navigation.timeline > .timelines-content :focus li.item.selected + li.item):
3543         * UserInterface/Views/TimelineView.css:
3544         (.panel.navigation.timeline.timeline-recording-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline):
3545         * UserInterface/Views/Toolbar.css:
3546         (.toolbar):
3547         (body.window-inactive .toolbar):
3548         * UserInterface/Views/TreeElementStatusButton.css:
3549         (.item > .status > .status-button > svg .filled):
3550         (.item > .status > .status-button > svg .stroked):
3551         * UserInterface/Views/TypeTokenView.css:
3552         (.type-token-function, .type-token-boolean):
3553         (.type-token-number):
3554         (.type-token-string):
3555         (.type-token-symbol):
3556         (.type-token-default):
3557         (.type-token-empty):
3558         (.type-token-many):
3559         * UserInterface/Views/TypeTreeView.css:
3560         (.type-tree-outline li .empty-message):
3561
3562 2015-07-20  Joseph Pecoraro  <pecoraro@apple.com>
3563
3564         Web Inspector: console.assert(false, "Message") message is not visible in console
3565         https://bugs.webkit.org/show_bug.cgi?id=147130
3566
3567         Reviewed by Timothy Hatcher.
3568
3569         * Localizations/en.lproj/localizedStrings.js:
3570         * UserInterface/Views/ConsoleMessageView.js:
3571         (WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
3572         We were forgetting to assign the result of args.concat back into args.
3573         In re-addressing this, improve the formatting of output if there is
3574         a string message or not as the second argument to console.assert(), as
3575         that is the common usage.
3576
3577 2015-07-18  Saam barati  <saambarati1@gmail.com>
3578
3579         [ES6] Add support for block scope const
3580         https://bugs.webkit.org/show_bug.cgi?id=31813
3581
3582         Reviewed by Filip Pizlo.
3583
3584         "const" variables do not live on the global object and are only
3585         accessible within the "Program" they're defined in. Therefore,
3586         the WebInspector global must be defined as "var" and not "const".
3587
3588         * UserInterface/Base/WebInspector.js:
3589
3590 2015-07-16  Joseph Pecoraro  <pecoraro@apple.com>
3591
3592         Web Inspector: REGRESSION (r186218) ScriptTimelineRecord attempts to access null property
3593         https://bugs.webkit.org/show_bug.cgi?id=147025
3594
3595         Reviewed by Timothy Hatcher.
3596
3597         The issue here was two ScriptTimelineRecord's were created for the same
3598         profile payload. When the first ScriptTimelineRecord processed the
3599         payload to create a Profile we modified the payload, then when the
3600         second ScriptTimelineRecord tries to process the payload the data is
3601         in an unexpected state and it crashes.
3602
3603         The solution here is to stash the result on the payload, so when the
3604         payload is shared we can just immediately jump to the resulting Profile.
3605         The longer term solution will be to share higher level objects and not
3606         attempt to process the payload multiple times. That is tracked by:
3607         <https://webkit.org/b/147029> Web Inspector: Better share objects generated from timeline events (Records)
3608
3609         * UserInterface/Models/ScriptTimelineRecord.js:
3610         (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload):
3611         When processing the profile payload, store the Profile on the payload
3612         so if another ScriptTimelineRecord has that payload they can avoid
3613         re-processing it.
3614
3615 2015-07-16  Joseph Pecoraro  <pecoraro@apple.com>
3616
3617         Web Inspector: Total Size of Resources number in dashboard is wrong (does not update during load)
3618         https://bugs.webkit.org/show_bug.cgi?id=147027
3619
3620         Reviewed by Timothy Hatcher.
3621
3622         * UserInterface/Models/DefaultDashboard.js:
3623         (WebInspector.DefaultDashboard.prototype._resourceSizeDidChange):
3624         Restore implementation of callback from r183328 to update total resource
3625         size as resources are downloaded.
3626
3627 2015-07-16  Andres Gomez  <agomez@igalia.com>
3628
3629         [GTK] Web Inspector: Further optimize the weight and time icons taken back to the toolbar dashboard for the GTK+ port
3630         https://bugs.webkit.org/show_bug.cgi?id=147010
3631
3632         SVG images optimized with a combination of sed replacements, the
3633         usage of the scour tool (http://www.codedread.com/scour/) and a
3634         forked version of the svgo tool (https://github.com/tanty/svgo).
3635
3636         Also, added the class attribute to the shape elements following
3637         the convention used in Apple's images.
3638
3639         Reviewed by Martin Robinson.
3640
3641         * UserInterface/Images/gtk/Time.svg: Optimized.
3642         * UserInterface/Images/gtk/Weight.svg: Optimized.
3643
3644 2015-07-16  Andres Gomez  <agomez@igalia.com>
3645
3646         [GTK] Web Inspector: Add new Network icon for the GTK+ port
3647         https://bugs.webkit.org/show_bug.cgi?id=147002
3648
3649         Reviewed by Martin Robinson.
3650
3651         * UserInterface/Images/gtk/Network.svg: Added.
3652         Icon for the new Network tab.
3653
3654 2015-07-16  Andres Gomez  <agomez@igalia.com>
3655
3656         [GTK] Web Inspector: Add new composite record icon for the GTK+ port
3657         https://bugs.webkit.org/show_bug.cgi?id=146998
3658
3659         Reviewed by Martin Robinson.
3660
3661         * UserInterface/Images/gtk/TimelineRecordComposite.svg: Added.
3662         New composite record icon.
3663
3664 2015-07-15  Matt Baker  <mattbaker@apple.com>
3665
3666         Web Inspector: Resizing TimelineRuler selection on both sides doesn't work with snapping enabled
3667         https://bugs.webkit.org/show_bug.cgi?id=146970
3668
3669         Reviewed by Brian Burg.
3670
3671         * UserInterface/Views/TimelineRuler.js:
3672         (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseMove):
3673         Use snapped current time value when setting selection bounds.
3674
3675 2015-07-14  Nikita Vasilyev  <nvasilyev@apple.com>
3676
3677         REGRESSION (r186698): Web Inspector: Frame selector is monospace again
3678         https://bugs.webkit.org/show_bug.cgi?id=146954
3679
3680         Reviewed by Joseph Pecoraro.
3681
3682         * UserInterface/Views/HierarchicalPathComponent.css:
3683         (.hierarchical-path-component):
3684
3685 2015-07-14  Matt Baker  <mattbaker@apple.com>
3686
3687         Web Inspector: TimelineRuler minimum selection time range should be configurable
3688         https://bugs.webkit.org/show_bug.cgi?id=146944
3689
3690         Reviewed by Joseph Pecoraro.
3691
3692         * UserInterface/Views/RenderingFrameTimelineOverview.js:
3693         Set minimum selection to 1 frame.
3694
3695         * UserInterface/Views/TimelineOverview.js:
3696         (WebInspector.TimelineOverview.prototype.set selectionDuration):
3697         Use ruler's minimum duration.
3698
3699         * UserInterface/Views/TimelineRuler.js:
3700         (WebInspector.TimelineRuler):
3701         (WebInspector.TimelineRuler.prototype.get minimumSelectionDuration):
3702         (WebInspector.TimelineRuler.prototype.set minimumSelectionDuration):
3703         (WebInspector.TimelineRuler.prototype._handleMouseUp):
3704         (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseMove):
3705         Added property for setting minimum selection duration. Default minimum duration is 0.01, which is
3706         equal to the old hard-coded minimum selection time range.
3707
3708 2015-07-13  Joseph Pecoraro  <pecoraro@apple.com>
3709
3710         Web Inspector: Uncaught exception in inspector for some ConsoleMessages
3711         https://bugs.webkit.org/show_bug.cgi?id=146919
3712
3713         Reviewed by Brian Burg.
3714
3715         * UserInterface/Views/ConsoleMessageView.js:
3716         (WebInspector.ConsoleMessageView.prototype._appendLocationLink):
3717         The parameters list may not exist, so null check it before use.
3718
3719 2015-07-13  Nikita Vasilyev  <nvasilyev@apple.com>
3720
3721         Web Inspector: Use -apple-system-monospaced-numbers for line numbers
3722         https://bugs.webkit.org/show_bug.cgi?id=146898
3723
3724         Reviewed by Timothy Hatcher.
3725
3726         * UserInterface/Views/CodeMirrorOverrides.css:
3727         (.CodeMirror .CodeMirror-linenumber): Decrease font-size by 1px to make 4 digit numbers fit.
3728
3729 2015-07-12  Timothy Hatcher  <timothy@apple.com>
3730
3731         Web Inspector: Add -apple-system-monospaced-numbers to font and font-family autocomplete
3732         https://bugs.webkit.org/show_bug.cgi?id=146865
3733
3734         Reviewed by Daniel Bates.
3735
3736         * UserInterface/Models/CSSKeywordCompletions.js:
3737
3738 2015-07-11  Nikita Vasilyev  <nvasilyev@apple.com>
3739
3740         Web Inspector: Inspector should be able to be docked to the bottom of a narrow window
3741         https://bugs.webkit.org/show_bug.cgi?id=146871
3742
3743         Reviewed by Timothy Hatcher.
3744
3745         * UserInterface/Views/Toolbar.css:
3746         (@media (max-width: 539px)): Hide download button to fit search field into the screen.
3747
3748 2015-07-11  Devin Rousso  <drousso@apple.com>
3749
3750         Web Inspector: Improve runtime of pseudo-element sidebar style ordering
3751         https://bugs.webkit.org/show_bug.cgi?id=146866
3752
3753         Reviewed by Timothy Hatcher.
3754
3755         * UserInterface/Models/CSSRule.js:
3756         (WebInspector.CSSRule.prototype.update): Determines the most specific selector and saves it to a variable.
3757         (WebInspector.CSSRule.prototype.get mostSpecificSelector): Returns the most specific selector.
3758         (WebInspector.CSSRule.prototype.selectorIsGreater): Compares the most specific selector to a given selector.
3759         (WebInspector.CSSRule.prototype._determineMostSp