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