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