Web Inspector: Show layout/paint pixel area in the Rendering Frames tree outline
[WebKit-https.git] / Source / WebInspectorUI / ChangeLog
1 2015-09-01  Matt Baker  <mattbaker@apple.com>
2
3         Web Inspector: Show layout/paint pixel area in the Rendering Frames tree outline
4         https://bugs.webkit.org/show_bug.cgi?id=148674
5
6         Reviewed by Brian Burg.
7
8         * Localizations/en.lproj/localizedStrings.js:
9         New UI string.
10
11         * UserInterface/Views/RenderingFrameTimelineView.css:
12         (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.rendering-frame .item:not(.paint-record):not(.layout-record) .subtitle):
13         (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.rendering-frame .item .subtitle): Deleted.
14         Show subtitles for layout and paint records only. We still want to hide script record subtitles,
15         since that information is already in the 'Location' column.
16
17         * UserInterface/Views/RenderingFrameTimelineView.js:
18         (WebInspector.RenderingFrameTimelineView.prototype._processPendingRecords):
19         Add tree element subtitle for LayoutTimelineRecords that specify width and height.
20
21 2015-09-01  Matt Baker  <mattbaker@apple.com>
22
23         Web Inspector: Reorder columns in the Rendering Frames data grid by importance
24         https://bugs.webkit.org/show_bug.cgi?id=148672
25
26         Reviewed by Timothy Hatcher.
27
28         * UserInterface/Views/RenderingFrameTimelineView.js:
29         (WebInspector.RenderingFrameTimelineView):
30         Updated column order, rearranged the column object setup code to match.
31
32 2015-09-01  Brian Burg  <bburg@apple.com>
33
34         Web Inspector: rewrite inspector/console/command-line-api.html to use AsyncTestSuite
35         https://bugs.webkit.org/show_bug.cgi?id=148637
36
37         Reviewed by Darin Adler.
38
39         * UserInterface/Base/Object.js:
40         (WebInspector.Object.singleFireEventListener):
41         (WebInspector.Object.singleFireEventListener.let.wrappedCallback): Arrow.
42
43 2015-09-01  Devin Rousso  <drousso@apple.com>
44
45         Web Inspector: New rule button in the style sidebar is blurry and too dark
46         https://bugs.webkit.org/show_bug.cgi?id=148108
47
48         Reviewed by Timothy Hatcher.
49
50         Added support for Plus and Minus icons on non-retina screens.
51         Also removed some CSS rules that no longer apply to anything.
52
53         * UserInterface/Images/Minus.svg:
54         * UserInterface/Images/NewTabPlus.svg:
55         * UserInterface/Images/Plus.svg: Removed.
56         * UserInterface/Images/Plus13.svg: Copied from Source/WebInspectorUI/UserInterface/Images/Plus.svg.
57         * UserInterface/Images/Plus15.svg: Copied from Source/WebInspectorUI/UserInterface/Images/Plus.svg.
58
59         * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
60         (.sidebar > .panel.details.css-style > .content + .options-container):
61         (.sidebar > .panel.details.css-style > .content + .options-container > .new-rule):
62
63         * UserInterface/Views/ProbeDetailsSidebarPanel.css:
64         (.details-section.probe-set .options > .probe-add):
65
66         * UserInterface/Views/RulesStyleDetailsPanel.css:
67         (.sidebar > .panel.details.css-style .rules .new-rule): Deleted.
68         (.sidebar > .panel.details.css-style .rules > *:first-child:matches(.new-rule)): Deleted.
69         (.sidebar > .panel.details.css-style > .content.filter-in-progress .new-rule): Deleted.
70         (.sidebar > .panel.details.css-style > .content:not(.filter-in-progress) > .rules > .new-rule + .style-declaration-section): Deleted.
71         (.sidebar > .panel.details.css-style > .content:not(.filter-in-progress) > .rules > .new-rule + .label): Deleted.
72         (.sidebar > .panel.details.css-style .rules .new-rule img): Deleted.
73         (.sidebar > .panel.details.css-style .rules .new-rule:hover): Deleted.
74         (.sidebar > .panel.details.css-style .rules .new-rule:active): Deleted.
75         (@media (-webkit-min-device-pixel-ratio: 2)): Deleted.
76         Removed CSS rules that no longer apply.  The new rule button was moved to the Styles sidebar.
77
78         * UserInterface/Views/ScopeChainDetailsSidebarPanel.css:
79         (.details-section.watch-expressions .options > .watch-expression-add):
80
81         * UserInterface/Views/TabBar.css:
82         (.tab-bar > .item.new-tab-button > .icon):
83
84         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css:
85         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-controls > div):
86
87         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
88         (WebInspector.VisualStyleCommaSeparatedKeywordEditor):
89
90         * UserInterface/Views/VisualStyleSelectorSection.js:
91         (WebInspector.VisualStyleSelectorSection):
92
93 2015-09-01  Brian Burg  <bburg@apple.com>
94
95         Web Inspector: add TestSuite hooks for per-testcase setup and teardown actions
96         https://bugs.webkit.org/show_bug.cgi?id=148641
97
98         Reviewed by Timothy Hatcher.
99
100         It should be possible to run setup and teardown actions for each test case.
101         The use case here is to add listeners, set up testcase-specific state, etc.
102         To match how test functions work in each suite, the sync and async implementations
103         take functions with no arguments and(resolve, reject), respectively.
104
105         * UserInterface/Test/TestSuite.js:
106         (TestSuite.prototype.addTestCase):
107         (TestSuite.messageFromThrownObject):
108         (TestSuite):
109         (AsyncTestSuite.prototype.runTestCases): Stick the extra functions in the chain.
110         (AsyncTestSuite):
111         (SyncTestSuite.prototype.runTestCases):
112         (SyncTestSuite):
113
114 2015-09-01  Matt Baker  <mattbaker@apple.com>
115
116         Web Inspector: Visual style editor shouldn't allow alpha characters in numeric input fields
117         https://bugs.webkit.org/show_bug.cgi?id=148580
118
119         Reviewed by Brian Burg.
120
121         * UserInterface/Views/VisualStyleNumberInputBox.js:
122         (WebInspector.VisualStyleNumberInputBox):
123         Added input element "changed" handler, renamed "keyup" handler to match "keydown" handler.
124         (WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputChanged):
125         Validate input in response to changed event.
126
127 2015-08-31  Nikita Vasilyev  <nvasilyev@apple.com>
128
129         Web Inspector: Command-Enter for selected JS in Debugger/Sources shouldn't change the focus
130         https://bugs.webkit.org/show_bug.cgi?id=148613
131
132         Reviewed by Timothy Hatcher.
133
134         * UserInterface/Views/ConsoleTabContentView.js:
135         (WebInspector.ConsoleTabContentView.prototype.shown):
136         Always focus on the console prompt when the console tab get selected.
137
138         * UserInterface/Views/LogContentView.js:
139         (WebInspector.LogContentView.prototype.shown): Deleted.
140
141 2015-08-31  Joseph Pecoraro  <pecoraro@apple.com>
142
143         Web Inspector: Debugger Popovers should work for object literal shorthand variables
144         https://bugs.webkit.org/show_bug.cgi?id=148603
145
146         Reviewed by Timothy Hatcher.
147
148         * UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
149         (WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
150         Allow debugger popovers for object property shorthands, because they
151         are actually variables that have values. Previously we ignored property
152         name literals, because they were just property names until ES6.
153
154         * UserInterface/Views/CodeMirrorAdditions.js:
155         Add a helper for walking through token types from a start position. It may be useful elsewhere.
156
157 2015-08-31  Matt Baker  <mattbaker@apple.com>
158
159         Web Inspector: Move the Popover code out of the Breakpoint model object
160         https://bugs.webkit.org/show_bug.cgi?id=127328
161
162         Reviewed by Timothy Hatcher.
163
164         * UserInterface/Controllers/BreakpointPopoverController.js: Added.
165         (WebInspector.BreakpointPopoverController):
166         (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.editBreakpoint):
167         (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.removeBreakpoint):
168         (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.toggleBreakpoint):
169         (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.toggleAutoContinue):
170         (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.revealOriginalSourceCodeLocation):
171         (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems):
172         (WebInspector.BreakpointPopoverController.prototype.showEditBreakpointPopover):
173         (WebInspector.BreakpointPopoverController.prototype._createPopoverContent):
174         (WebInspector.BreakpointPopoverController.prototype._popoverToggleEnabledCheckboxChanged):
175         (WebInspector.BreakpointPopoverController.prototype._popoverConditionInputChanged):
176         (WebInspector.BreakpointPopoverController.prototype._popoverToggleAutoContinueCheckboxChanged):
177         (WebInspector.BreakpointPopoverController.prototype._popoverConditionInputKeyDown):
178         (WebInspector.BreakpointPopoverController.prototype._popoverActionsCreateAddActionButton):
179         (WebInspector.BreakpointPopoverController.prototype._popoverActionsAddActionButtonClicked):
180         (WebInspector.BreakpointPopoverController.prototype._popoverActionsInsertBreakpointActionView):
181         (WebInspector.BreakpointPopoverController.prototype.breakpointActionViewAppendActionView):
182         (WebInspector.BreakpointPopoverController.prototype.breakpointActionViewRemoveActionView):
183         (WebInspector.BreakpointPopoverController.prototype.breakpointActionViewResized):
184         (WebInspector.BreakpointPopoverController.prototype.willDismissPopover):
185         (WebInspector.BreakpointPopoverController.prototype.didDismissPopover):
186         Added controller class to encapsulate view logic previously located in WebInspector.Breakpoint.
187
188         * UserInterface/Main.html:
189         Added and updated file paths.
190
191         * UserInterface/Models/Breakpoint.js:
192         (WebInspector.Breakpoint.prototype.appendContextMenuItems.editBreakpoint): Deleted.
193         (WebInspector.Breakpoint.prototype.appendContextMenuItems.removeBreakpoint): Deleted.
194         (WebInspector.Breakpoint.prototype.appendContextMenuItems.toggleBreakpoint): Deleted.
195         (WebInspector.Breakpoint.prototype.appendContextMenuItems.toggleAutoContinue): Deleted.
196         (WebInspector.Breakpoint.prototype.appendContextMenuItems.revealOriginalSourceCodeLocation): Deleted.
197         (WebInspector.Breakpoint.prototype.appendContextMenuItems): Deleted.
198         (WebInspector.Breakpoint.prototype._popoverToggleEnabledCheckboxChanged): Deleted.
199         (WebInspector.Breakpoint.prototype._popoverConditionInputChanged): Deleted.
200         (WebInspector.Breakpoint.prototype._popoverToggleAutoContinueCheckboxChanged): Deleted.
201         (WebInspector.Breakpoint.prototype._popoverConditionInputKeyDown): Deleted.
202         (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement): Deleted.
203         (WebInspector.Breakpoint.prototype._popoverActionsCreateAddActionButton): Deleted.
204         (WebInspector.Breakpoint.prototype._popoverActionsAddActionButtonClicked): Deleted.
205         (WebInspector.Breakpoint.prototype._popoverActionsInsertBreakpointActionView): Deleted.
206         (WebInspector.Breakpoint.prototype.breakpointActionViewAppendActionView): Deleted.
207         (WebInspector.Breakpoint.prototype.breakpointActionViewRemoveActionView): Deleted.
208         (WebInspector.Breakpoint.prototype.breakpointActionViewResized): Deleted.
209         (WebInspector.Breakpoint.prototype.willDismissPopover): Deleted.
210         (WebInspector.Breakpoint.prototype.didDismissPopover): Deleted.
211         (WebInspector.Breakpoint.prototype._showEditBreakpointPopover): Deleted.
212         Removed view logic.
213
214         * UserInterface/Views/BreakpointPopoverController.css: Renamed from Source/WebInspectorUI/UserInterface/Views/Breakpoint.css.
215         (.popover .edit-breakpoint-popover-content):
216         (.popover .edit-breakpoint-popover-content.wide):
217         (.popover .edit-breakpoint-popover-content > label.toggle):
218         (.popover .edit-breakpoint-popover-content > table):
219         (.popover .edit-breakpoint-popover-content > table > tr > th):
220         (.popover .edit-breakpoint-popover-content > table > tr > td):
221         (#edit-breakpoint-popover-condition):
222         (#edit-breakpoint-popoover-auto-continue):
223
224         * UserInterface/Views/SourceCodeTextEditor.js:
225         (WebInspector.SourceCodeTextEditor):
226         Creates a BreakpointPopoverController instance. The lifetime of the 'Edit Breakpoint' view is internal to the
227         controller, and can't be initiated outside of a context menu item click.
228
229 2015-08-31  Matt Baker  <mattbaker@apple.com>
230
231         Web Inspector: Rendering Frame tasks making up < 1% of the selection don't appear in the pie chart
232         https://bugs.webkit.org/show_bug.cgi?id=148549
233
234         Reviewed by Timothy Hatcher.
235
236         Small data points can be invisible or difficult to see in the pie chart. This patch introduces
237         a minimum slice size of 1.5% (determined by visual inspection) for chart items.
238
239         Legend items continue to show the original data point values, not the adjusted values used to
240         draw the chart slices.
241
242         * UserInterface/Views/ChartDetailsSectionRow.js:
243         (WebInspector.ChartDetailsSectionRow):
244         (WebInspector.ChartDetailsSectionRow.prototype._updateLayout):
245         Adjust display values up or down as needed, so no data point is less than the
246         minimum and all chart slices still total 100%.
247
248 2015-08-28  Joseph Pecoraro  <pecoraro@apple.com>
249
250         Web Inspector: "animationEnd" event names should be "animationend" (broken dashboard animation after pause)
251         https://bugs.webkit.org/show_bug.cgi?id=148604
252
253         Reviewed by Timothy Hatcher.
254
255         * UserInterface/Views/DOMTreeElement.js:
256         (WebInspector.DOMTreeElement.prototype.emphasizeSearchHighlight):
257         * UserInterface/Views/DashboardContainerView.js:
258         (WebInspector.DashboardContainerView.prototype._showDashboardView.animationEnded):
259         (WebInspector.DashboardContainerView.prototype._showDashboardView):
260         (WebInspector.DashboardContainerView.prototype._hideDashboardView.animationEnded):
261         (WebInspector.DashboardContainerView.prototype._hideDashboardView):
262         * UserInterface/Views/DefaultDashboardView.js:
263         (WebInspector.DefaultDashboardView.prototype._setConsoleItemValue.animationEnded):
264         (WebInspector.DefaultDashboardView.prototype._setConsoleItemValue):
265         * UserInterface/Views/TextEditor.js:
266         (WebInspector.TextEditor.prototype._revealSearchResult):
267
268 2015-08-28  Joseph Pecoraro  <pecoraro@apple.com>
269
270         Web Inspector: Resource.prototype.associateWithScript assertions firing
271         https://bugs.webkit.org/show_bug.cgi?id=148601
272
273         Reviewed by Timothy Hatcher.
274
275         * UserInterface/Models/Resource.js:
276         (WebInspector.Resource.prototype.associateWithScript):
277         Restore the code that was here before it was converted to asserts.
278         It looked as if it was iOS 6 only but it was not.
279
280 2015-08-28  Joseph Pecoraro  <pecoraro@apple.com>
281
282         Web Inspector: Improve ScriptSyntaxTree a bit
283         https://bugs.webkit.org/show_bug.cgi?id=148563
284
285         Reviewed by Timothy Hatcher.
286
287         * UserInterface/Models/ScriptSyntaxTree.js:
288         (WebInspector.ScriptSyntaxTree.prototype._recurse):
289         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
290         Share and fix ClassDeclaration and ClassExpression recursion to visit
291         the identifier (node.id). Include the kind with a VariableDeclaration
292         ("var", "let", "const").
293
294 2015-08-28  Joseph Pecoraro  <pecoraro@apple.com>
295
296         Web Inspector: Separate creating a style sheet from adding a new rule in the protocol
297         https://bugs.webkit.org/show_bug.cgi?id=148502
298
299         Reviewed by Timothy Hatcher.
300
301         The backend allows creating multiple stylesheets. This patch makes
302         the frontend have a preferred InspectorStyleSheet per-frame.
303
304         * UserInterface/Base/Object.js:
305         (WebInspector.Object.singleFireEventListener):
306         Return the wrapped listener so it can be removed if needed.
307
308         * UserInterface/Models/CSSStyleSheet.js:
309         (WebInspector.CSSStyleSheet.prototype.isInspectorStyleSheet):
310         Helper to check if the current stylesheet is an inspector created stylesheet.
311
312         * UserInterface/Controllers/CSSStyleManager.js:
313         (WebInspector.CSSStyleManager.prototype.preferredInspectorStyleSheetForFrame):
314         (WebInspector.CSSStyleManager.prototype.preferredInspectorStyleSheetForFrame.documentNodeAvailable):
315         (WebInspector.CSSStyleManager.prototype.preferredInspectorStyleSheetForFrame.bodyNodeAvailable):
316         (WebInspector.CSSStyleManager.prototype.preferredInspectorStyleSheetForFrame.cssRuleAvailable):
317         (WebInspector.CSSStyleManager.prototype._inspectorStyleSheetsForFrame):
318         Lookup the inspector stylesheet for a particular frame. If one doesn't exist create it.
319         For legacy backends, exploit "addRule" to create the inspector stylesheet.
320
321         * UserInterface/Models/DOMNode.js:
322         * UserInterface/Models/DOMNodeStyles.js:
323         (WebInspector.DOMNodeStyles.prototype.addEmptyRule.inspectorStyleSheetAvailable):
324         (WebInspector.DOMNodeStyles.prototype.addEmptyRule):
325         Currently add all new rules to the inspector stylesheet.
326
327 2015-08-28  Joseph Pecoraro  <pecoraro@apple.com>
328
329         Web Inspector: Type Profiler does not understand Functions within Default Argument Expressions
330         https://bugs.webkit.org/show_bug.cgi?id=148557
331
332         Reviewed by Timothy Hatcher.
333
334         * UserInterface/Models/ScriptSyntaxTree.js:
335         (WebInspector.ScriptSyntaxTree.prototype._recurse):
336         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
337         (WebInspector.ScriptSyntaxTree):
338         Add support for abstracting and recursing through the default parameter
339         expressions Esprima has on function expressions and declarations.
340
341 2015-08-28  Joseph Pecoraro  <pecoraro@apple.com>
342
343         Web Inspector: Type Profiler does not understand Functions inside Template Strings (ScriptSyntaxTree warnings)
344         https://bugs.webkit.org/show_bug.cgi?id=148556
345
346         Reviewed by Timothy Hatcher.
347
348         * UserInterface/Models/ScriptSyntaxTree.js:
349         (WebInspector.ScriptSyntaxTree.prototype._recurse):
350         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
351         (WebInspector.ScriptSyntaxTree):
352         Add support for abstracting and recursing through the Esprima template nodes.
353
354 2015-08-27  Joseph Pecoraro  <pecoraro@apple.com>
355
356         Web Inspector: Standardize on CSSStyleSheet.Type enum and move more protocol enum conversion to the manager
357         https://bugs.webkit.org/show_bug.cgi?id=148515
358
359         Reviewed by Brian Burg.
360
361         * UserInterface/Controllers/CSSStyleManager.js:
362         (WebInspector.CSSStyleManager.protocolStyleSheetOriginToEnum):
363         (WebInspector.CSSStyleManager.protocolMediaSourceToEnum):
364         Protocol enum to frontend enum conversion.
365
366         * UserInterface/Models/DOMNodeStyles.js:
367         (WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle):
368         (WebInspector.DOMNodeStyles.prototype.refresh):
369         (WebInspector.DOMNodeStyles.prototype._parseRulePayload):
370         (WebInspector.DOMNodeStyles.prototype._collectStylesInCascadeOrder):
371         Use the manager to convert from a protocol payload enum to frontend num for css types.
372
373         * UserInterface/Models/CSSRule.js:
374         (WebInspector.CSSRule.prototype.get editable):
375         * UserInterface/Views/CSSStyleDeclarationSection.js:
376         (WebInspector.CSSStyleDeclarationSection):
377         (WebInspector.CSSStyleDeclarationSection.prototype.refresh):
378         * UserInterface/Views/RulesStyleDetailsPanel.js:
379         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.appendStyleSection):
380         (WebInspector.RulesStyleDetailsPanel.prototype.refresh):
381         * UserInterface/Views/VisualStyleSelectorSection.js:
382         (WebInspector.VisualStyleSelectorSection.prototype.update.createSelectorItem):
383         (WebInspector.VisualStyleSelectorSection.prototype.update.uniqueOrderedRules.set return):
384         (WebInspector.VisualStyleSelectorSection.prototype.update.uniqueOrderedRules):
385         (WebInspector.VisualStyleSelectorSection.prototype.update):
386         * UserInterface/Views/VisualStyleSelectorTreeItem.js:
387         (WebInspector.VisualStyleSelectorTreeItem):
388         Update enum use.
389
390 2015-08-26  Nikita Vasilyev  <nvasilyev@apple.com>
391
392         Web Inspector: [Regression] [Mavericks]: Undocked Web Inspector toolbar is two different colors and has extra space
393         https://bugs.webkit.org/show_bug.cgi?id=148510
394
395         Make body element transparent and remove extra padding above the toolbar only for OS X Mavericks.
396
397         Reviewed by Timothy Hatcher.
398
399         * UserInterface/Base/Main.js:
400         (WebInspector.contentLoaded):
401         * UserInterface/Views/Main.css:
402         (body:not(.mavericks)):
403         (body): Deleted.
404         * UserInterface/Views/Toolbar.css:
405         (body:not(.mavericks) .toolbar):
406         (body.window-inactive:not(.mavericks) .toolbar):
407         (body.mac-platform:not(.docked, .mavericks) .toolbar):
408         (.toolbar): Deleted.
409         (body.window-inactive .toolbar): Deleted.
410         (body.mac-platform:not(.docked) .toolbar): Deleted.
411
412 2015-08-26  Joseph Pecoraro  <pecoraro@apple.com>
413
414         Web Inspector: Uncaught exception in CSS Completion - TypeError: undefined is not an object (evaluating 'this._values[middleIndex].startsWith')
415         https://bugs.webkit.org/show_bug.cgi?id=148508
416
417         Reviewed by Timothy Hatcher.
418
419         * UserInterface/Models/CSSCompletions.js:
420         (WebInspector.CSSCompletions):
421         Add a comment explaining that the constructor may be called with
422         a list of strings or a list of objects from the protocol. Add
423         a fast path for when this is constructed with a list of strings.
424
425 2015-08-26  Matt Baker  <mattbaker@apple.com>
426
427         Web Inspector: Rendering Frames timeline pie chart should use SVG instead of 2D canvas
428         https://bugs.webkit.org/show_bug.cgi?id=148457
429
430         Reviewed by Timothy Hatcher.
431
432         * UserInterface/Views/ChartDetailsSectionRow.css:
433         (.details-section > .content > .group > .row.chart > .chart-content > svg > path.hidden):
434         (.details-section > .content > .group > .row.chart > .chart-content > svg > path.chart-segment):
435         (.details-section > .content > .group > .row.chart > .chart-content > svg > path.empty-chart):
436         New styles for SVG chart elements.
437
438         * UserInterface/Views/ChartDetailsSectionRow.js:
439         (WebInspector.ChartDetailsSectionRow):
440         Calculate radii and create SVG chart elements.
441         (WebInspector.ChartDetailsSectionRow.prototype.clearItems):
442         Remove chart segment path elements.
443         (WebInspector.ChartDetailsSectionRow.prototype._needsLayout):
444         (WebInspector.ChartDetailsSectionRow.prototype._updateLayout.createSegmentPathData):
445         Helper function that creates path data for a single pie chart segment.
446         (WebInspector.ChartDetailsSectionRow.prototype._updateLayout):
447         Creates path elements as needed, and updates path data for for non-zero data points.
448         (WebInspector.ChartDetailsSectionRow.prototype.set innerLabel): Deleted.
449         (WebInspector.ChartDetailsSectionRow.prototype.set innerRadius): Deleted.
450         These properties are now set during construction.
451         (WebInspector.ChartDetailsSectionRow.prototype.updateLayout): Deleted.
452         Renamed to _updateLayout.
453
454         * UserInterface/Views/TimelineSidebarPanel.js:
455         Chart size and inner radius passed to chart constructor.
456
457 2015-08-26  Joseph Pecoraro  <pecoraro@apple.com>
458
459         Web Inspector: Implement tracking of active stylesheets in the frontend
460         https://bugs.webkit.org/show_bug.cgi?id=105828
461
462         Reviewed by Timothy Hatcher.
463
464         * UserInterface/Models/CSSStyleSheet.js:
465         (WebInspector.CSSStyleSheet):
466         (WebInspector.CSSStyleSheet.prototype.get origin):
467         (WebInspector.CSSStyleSheet.prototype.updateInfo):
468         Add a new origin attribute that has been sent from the backend for a while.
469
470         * UserInterface/Controllers/CSSStyleManager.js:
471         (WebInspector.CSSStyleManager.prototype.styleSheetAdded):
472         (WebInspector.CSSStyleManager.prototype.styleSheetRemoved):
473         Handle the new events by managing the new CSSStyleSheets.
474         
475         (WebInspector.CSSStyleManager):
476         (WebInspector.CSSStyleManager.prototype._mainResourceDidChange):
477         Reset the legacy fetching flag. Fetching is only needed for legacy backends.
478
479         (WebInspector.CSSStyleManager.prototype._fetchInfoForAllStyleSheets):
480         Include the new origin property in the legacy updateInfo path.
481
482         * UserInterface/Protocol/CSSObserver.js:
483         (WebInspector.CSSObserver.prototype.styleSheetAdded):
484         (WebInspector.CSSObserver.prototype.styleSheetRemoved):
485         Forward to the manager.
486
487         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
488         (WebInspector.CSSStyleDetailsSidebarPanel):
489         Refresh the sidebar when stylesheets are added / removed, as that
490         may affect the style of the select element.
491
492 2015-08-26  Joseph Pecoraro  <pecoraro@apple.com>
493
494         Web Inspector: Drop iOS 6 Legacy Remote Inspector Support
495         https://bugs.webkit.org/show_bug.cgi?id=148456
496
497         Reviewed by Timothy Hatcher.
498
499         * UserInterface/Base/Main.js:
500         (WebInspector.loaded):
501         (WebInspector._updateReloadToolbarButton):
502         (WebInspector._updateDownloadToolbarButton):
503         (WebInspector.canArchiveMainFrame):
504         * UserInterface/Controllers/CSSStyleManager.js:
505         (WebInspector.CSSStyleManager.prototype._frameURLMapKey):
506         (WebInspector.CSSStyleManager.prototype._lookupStyleSheet.styleSheetsFetched):
507         (WebInspector.CSSStyleManager._updateResourceContent.fetchedStyleSheetContent):
508         (WebInspector.CSSStyleManager.prototype._clearStyleSheetsForResource): Deleted.
509         * UserInterface/Controllers/DOMTreeManager.js:
510         (WebInspector.DOMTreeManager.prototype.highlightSelector):
511         * UserInterface/Controllers/DebuggerManager.js:
512         (WebInspector.DebuggerManager.prototype._setBreakpoint):
513         * UserInterface/Controllers/JavaScriptLogViewController.js:
514         * UserInterface/Controllers/RuntimeManager.js:
515         (WebInspector.RuntimeManager):
516         (WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):
517         * UserInterface/Controllers/SourceMapManager.js:
518         (WebInspector.SourceMapManager.prototype._loadAndParseSourceMap):
519         * UserInterface/Controllers/StorageManager.js:
520         (WebInspector.StorageManager):
521         (WebInspector.StorageManager.prototype._addDOMStorageIfNeeded):
522         (WebInspector.StorageManager.prototype.domStorageWasUpdated): Deleted.
523         (WebInspector.StorageManager.prototype._domStorageForIdentifier): Deleted.
524         (WebInspector.StorageManager.prototype._extraDomainsActivated): Deleted.
525         * UserInterface/Controllers/TimelineManager.js:
526         (WebInspector.TimelineManager.prototype._processRecord):
527         * UserInterface/Models/Breakpoint.js:
528         (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement):
529         * UserInterface/Models/CSSCompletions.js:
530         (WebInspector.CSSCompletions):
531         (WebInspector.CSSCompletions.requestCSSCompletions):
532         * UserInterface/Models/CSSKeywordCompletions.js:
533         (WebInspector.CSSKeywordCompletions.addCustomCompletions): Deleted.
534         * UserInterface/Models/CSSProperty.js:
535         (WebInspector.CSSProperty):
536         (WebInspector.CSSProperty.prototype.update):
537         * UserInterface/Models/CSSRule.js:
538         (WebInspector.CSSRule.prototype.get matchedSelectors): Deleted.
539         (WebInspector.CSSRule.prototype.get matchedSelectorText): Deleted.
540         * UserInterface/Models/DOMNodeStyles.js:
541         (WebInspector.DOMNodeStyles.prototype.refresh.parseRuleMatchArrayPayload):
542         (WebInspector.DOMNodeStyles.prototype.refresh.fetchedMatchedStyles):
543         (WebInspector.DOMNodeStyles.prototype.changeRule.changeText):
544         (WebInspector.DOMNodeStyles.prototype.changeStyleText):
545         (WebInspector.DOMNodeStyles.prototype._parseStylePropertyPayload):
546         (WebInspector.DOMNodeStyles.prototype._parseRulePayload):
547         (WebInspector.DOMNodeStyles.prototype.changeStyleText.attributeChanged): Deleted.
548         (WebInspector.DOMNodeStyles.prototype.changeStyleText.fetchedStyleSheetContent.contentDidChange): Deleted.
549         (WebInspector.DOMNodeStyles.prototype.changeStyleText.fetchedStyleSheetContent): Deleted.
550         (WebInspector.DOMNodeStyles.prototype._parseSourceRangePayload): Deleted.
551         (WebInspector.DOMNodeStyles.prototype._parseSelectorListPayload): Deleted.
552         * UserInterface/Models/DOMStorageObject.js:
553         * UserInterface/Models/DOMTree.js:
554         (WebInspector.DOMTree.prototype.requestRootDOMNode):
555         (WebInspector.DOMTree.prototype._requestRootDOMNode):
556         * UserInterface/Models/DatabaseObject.js:
557         (WebInspector.DatabaseObject.prototype.executeSQL.queryCallback):
558         (WebInspector.DatabaseObject.prototype.executeSQL):
559         (WebInspector.DatabaseObject):
560         (WebInspector.DatabaseObject.prototype.executeSQL.callback): Deleted.
561         * UserInterface/Models/ExecutionContext.js:
562         (WebInspector.ExecutionContext.supported): Deleted.
563         * UserInterface/Models/IssueMessage.js:
564         (WebInspector.IssueMessage): Deleted.
565         * UserInterface/Models/LayoutTimelineRecord.js:
566         (WebInspector.LayoutTimelineRecord):
567         (WebInspector.LayoutTimelineRecord.prototype.get width):
568         (WebInspector.LayoutTimelineRecord.prototype.get height):
569         (WebInspector.LayoutTimelineRecord.prototype.get area):
570         (WebInspector.LayoutTimelineRecord.prototype.get x): Deleted.
571         (WebInspector.LayoutTimelineRecord.prototype.get y): Deleted.
572         (WebInspector.LayoutTimelineRecord.prototype.get rect): Deleted.
573         * UserInterface/Models/ProfileNode.js:
574         * UserInterface/Models/Resource.js:
575         (WebInspector.Resource.prototype.associateWithScript):
576         * UserInterface/Models/ScriptTimelineRecord.js:
577         (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload.profileNodeFromPayload):
578         * UserInterface/Models/SourceMapResource.js:
579         (WebInspector.SourceMapResource.prototype.requestContentFromBackend):
580         * UserInterface/Models/TextRange.js:
581         (WebInspector.TextRange.prototype.resolveLinesAndColumns.countNewLineCharacters): Deleted.
582         (WebInspector.TextRange.prototype.resolveLinesAndColumns): Deleted.
583         * UserInterface/Models/TimelineRecording.js:
584         * UserInterface/Protocol/ConsoleObserver.js:
585         (WebInspector.ConsoleObserver.prototype.messageAdded): Deleted.
586         * UserInterface/Protocol/DOMStorageObserver.js:
587         (WebInspector.DOMStorageObserver.prototype.addDOMStorage): Deleted.
588         (WebInspector.DOMStorageObserver.prototype.updateDOMStorage): Deleted.
589         * UserInterface/Protocol/DatabaseObserver.js:
590         (WebInspector.DatabaseObserver.prototype.sqlTransactionSucceeded): Deleted.
591         (WebInspector.DatabaseObserver.prototype.sqlTransactionFailed): Deleted.
592         (WebInspector.DatabaseObserver): Deleted.
593         * UserInterface/Protocol/Legacy/6.0/InspectorBackendCommands.js: Removed.
594         * UserInterface/Views/CookieStorageContentView.js:
595         (WebInspector.CookieStorageContentView.prototype._deleteCallback):
596         (WebInspector.CookieStorageContentView):
597         * UserInterface/Views/DOMTreeContentView.js:
598         (WebInspector.DOMTreeContentView.prototype._updateCompositingBordersButtonToMatchPageSettings): Deleted.
599         * UserInterface/Views/EventListenerSectionGroup.js:
600         (WebInspector.EventListenerSectionGroup.prototype._functionTextOrLink):
601         (WebInspector.EventListenerSectionGroup):
602         * UserInterface/Views/LayoutTimelineView.js:
603         (WebInspector.LayoutTimelineView.prototype._showHighlightForRecord):
604         * UserInterface/Views/QuickConsole.js:
605         (WebInspector.QuickConsole):
606         (WebInspector.QuickConsole.prototype._createExecutionContextPathComponentFromFrame):
607         (WebInspector.QuickConsole.prototype._frameAdded): Deleted.
608         (WebInspector.QuickConsole.prototype._frameRemoved): Deleted.
609         (WebInspector.QuickConsole.prototype._frameMainResourceChanged): Deleted.
610         * UserInterface/Views/ScriptTimelineDataGridNode.js:
611         (WebInspector.ScriptTimelineDataGridNode.prototype.get data):
612         * UserInterface/Views/SourceCodeTextEditor.js:
613         (WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenAnnotator):
614         (WebInspector.SourceCodeTextEditor.prototype._makeBasicBlockAnnotator):
615         * Versions/Inspector-iOS-6.0.json: Removed.
616         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
617         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
618
619 2015-08-26  Nikita Vasilyev  <nvasilyev@apple.com>
620
621         Web Inspector: Command-Enter should evaluate selected JS in Debugger/Sources
622         https://bugs.webkit.org/show_bug.cgi?id=148368
623
624         Reviewed by Timothy Hatcher.
625
626         * UserInterface/Controllers/CodeMirrorCompletionController.js:
627         (WebInspector.CodeMirrorCompletionController):
628         (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions):
629         Evaluate selected text in the console only for JS and HTML resources. HTML resources
630         should be allowed because they can have commented out (inside <!-- -->) and
631         inline (onclick="") JavaScript.
632
633 2015-08-25  Brian Burg  <bburg@apple.com>
634
635         Web Inspector: no need to allocate protocolErrors array for every dispatched backend command
636         https://bugs.webkit.org/show_bug.cgi?id=146466
637
638         Reviewed by Joseph Pecoraro.
639
640         * UserInterface/TestStub.html: Fix a typo, this property exists on ProtocolTest.
641
642 2015-08-26  Matt Baker  <mattbaker@apple.com>
643
644         Web Inspector: Rendering Frames legend item checkbox colors are too light
645         https://bugs.webkit.org/show_bug.cgi?id=148465
646
647         Reviewed by Timothy Hatcher.
648
649         * UserInterface/Views/ChartDetailsSectionRow.js:
650         (WebInspector.ChartDetailsSectionRow.prototype._addCheckboxColorFilter):
651         Gamma primitive should use an "exponent" attribute instead of "value".
652         Increased gamma exponent to 1.4.
653
654 2015-08-26  Nikita Vasilyev  <nvasilyev@apple.com>
655
656         Web Inspector: Make DOM node attribute changes highlighting less obnoxious
657         https://bugs.webkit.org/show_bug.cgi?id=148050
658
659         Reviewed by Timothy Hatcher.
660
661         * UserInterface/Views/DOMTreeOutline.css:
662         (@keyframes node-state-changed): Change color to a light green.
663         (.node-state-changed): Add a slight ease-in for the animation function.
664
665 2015-08-26  Joseph Pecoraro  <pecoraro@apple.com>
666
667         Web Inspector: Add Refresh button to Cookie Content View
668         https://bugs.webkit.org/show_bug.cgi?id=148468
669
670         Reviewed by Timothy Hatcher.
671
672         * UserInterface/Views/CookieStorageContentView.js:
673         (WebInspector.CookieStorageContentView):
674         (WebInspector.CookieStorageContentView.prototype.get navigationItems):
675         (WebInspector.CookieStorageContentView.prototype._refreshButtonClicked):
676
677 2015-08-25  Brian Burg  <bburg@apple.com>
678
679         Web Inspector: message dispatch metrics should use high-resolution timing data
680         https://bugs.webkit.org/show_bug.cgi?id=135467
681
682         Reviewed by Timothy Hatcher.
683
684         Use performance.now if it's available, otherwise fallback to Date.now().
685         Format timestamps with fixed decimal point, and sprinkle some ES6.
686
687         * UserInterface/Base/Utilities.js:
688         (timestamp): Added.
689         * UserInterface/Protocol/InspectorBackend.js:
690         (InspectorBackendClass):
691         (InspectorBackendClass.prototype._sendCommandToBackendWithCallback):
692         (InspectorBackendClass.prototype._dispatchEvent):
693         * UserInterface/Protocol/MessageDispatcher.js:
694         (WebInspector.dispatchNextQueuedMessageFromBackend):
695         (WebInspector.dispatchMessageFromBackend): Be consistent about using `this`.
696
697 2015-08-25  Matt Baker  <mattbaker@apple.com>
698
699         Web Inspector: Rendering Frames pie chart should use the needsLayout/updateLayout idiom
700         https://bugs.webkit.org/show_bug.cgi?id=148412
701
702         Reviewed by Timothy Hatcher.
703
704         * UserInterface/Views/ChartDetailsSectionRow.js:
705         (WebInspector.ChartDetailsSectionRow):
706         (WebInspector.ChartDetailsSectionRow.prototype.set innerLabel):
707         (WebInspector.ChartDetailsSectionRow.prototype.set innerRadius):
708         Schedule a layout.
709         (WebInspector.ChartDetailsSectionRow.prototype.set data): Deleted.
710         Replaced by addItem, setItemValue, and clearItems.
711         (WebInspector.ChartDetailsSectionRow.prototype.addItem):
712         (WebInspector.ChartDetailsSectionRow.prototype.setItemValue):
713         (WebInspector.ChartDetailsSectionRow.prototype.clearItems):
714         Add/update data points and schedule a layout.
715         (WebInspector.ChartDetailsSectionRow.prototype._needsLayout):
716         (WebInspector.ChartDetailsSectionRow.prototype.updateLayout):
717         Update legend and draw pie chart.
718         (WebInspector.ChartDetailsSectionRow.prototype._createLegend): Deleted.
719         Refactored as _updateLegend.
720         (WebInspector.ChartDetailsSectionRow.prototype._refresh): Deleted.
721         Refactored as updateLayout.
722
723         * UserInterface/Views/TimelineSidebarPanel.js:
724         (WebInspector.TimelineSidebarPanel):
725         Add chart data points once.
726         (WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart):
727         Update chart values.
728
729 2015-08-24  Brian Burg  <bburg@apple.com>
730
731         Web Inspector: add protocol test for existing error handling performed by the backend
732         https://bugs.webkit.org/show_bug.cgi?id=147097
733
734         Reviewed by Joseph Pecoraro.
735
736         Add a way to send raw messages to the backend while still awaiting on responses.
737         This is necessary to test protocol error handling in the inspector backend.
738
739         * UserInterface/Test/InspectorProtocol.js:
740         (InspectorProtocol.sendCommand):
741         (InspectorProtocol.awaitCommand): Use awaitMessage internally.
742         (InspectorProtocol.awaitMessage): Added. Use a dummy requestId if none is supplied.
743         (InspectorProtocol._sendMessage): Added.
744         (InspectorProtocol.dispatchMessageFromBackend):
745         Reject with the error object instead of the error message, so error code/data can be checked.
746         (InspectorProtocol.sendMessage): Deleted, it is now a private method.
747
748 2015-08-24  Timothy Hatcher  <timothy@apple.com>
749
750         Web Inspector: Change webkitAnimationEnd use, should be animationEnd
751         https://bugs.webkit.org/show_bug.cgi?id=148385
752
753         Reviewed by Joseph Pecoraro.
754
755         * UserInterface/Views/DOMTreeElement.js:
756         (WebInspector.DOMTreeElement.prototype.emphasizeSearchHighlight):
757         * UserInterface/Views/DashboardContainerView.js:
758         (WebInspector.DashboardContainerView.prototype._showDashboardView.animationEnded):
759         (WebInspector.DashboardContainerView.prototype._showDashboardView):
760         (WebInspector.DashboardContainerView.prototype._hideDashboardView.animationEnded):
761         (WebInspector.DashboardContainerView.prototype._hideDashboardView):
762         * UserInterface/Views/DefaultDashboardView.js:
763         (WebInspector.DefaultDashboardView.prototype._setConsoleItemValue.animationEnded):
764         (WebInspector.DefaultDashboardView.prototype._setConsoleItemValue):
765         * UserInterface/Views/TextEditor.js:
766         (WebInspector.TextEditor.prototype.revealPosition.revealAndHighlightLine):
767         (WebInspector.TextEditor.prototype.revealPosition):
768         (WebInspector.TextEditor.prototype._revealSearchResult):
769
770 2015-08-24  Nikita Vasilyev  <nvasilyev@apple.com>
771
772         REGRESSION (r188581): Web Inspector: Console user command isn't visible when it's expected to be
773         https://bugs.webkit.org/show_bug.cgi?id=148283
774
775         One of the improvements of r188581 "Option-Enter should commit console command
776         without erasing the prompt" was not to show a console user command if it's the
777         same as the previous one.
778
779         However, there could be a lot of other messages between the last two user
780         commands - console.log, CSS warnings, etc. In that case we should show a console
781         user command again by resetting _lastCommitted.
782
783         Reviewed by Timothy Hatcher.
784
785         * UserInterface/Controllers/JavaScriptLogViewController.js:
786         (WebInspector.JavaScriptLogViewController):
787         (WebInspector.JavaScriptLogViewController.prototype.startNewSession):
788         (WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessageView):
789         Reset _lastCommitted for all messages except for user commands and use command results.
790
791 2015-08-24  Matt Baker  <mattbaker@apple.com>
792
793         Web Inspector: Rendering Frames filter checkboxes all become checked during recording
794         https://bugs.webkit.org/show_bug.cgi?id=148375
795
796         Reviewed by Timothy Hatcher.
797
798         * UserInterface/Views/ChartDetailsSectionRow.js:
799         (WebInspector.ChartDetailsSectionRow.prototype._createLegend):
800         Removed incorrect code that forced checked to true.
801
802         * UserInterface/Views/TimelineSidebarPanel.js:
803         (WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart):
804         Persist legend item checkbox state when updating the chart.
805
806 2015-08-23  Matt Baker  <mattbaker@apple.com>
807
808         Web Inspector: Filtered style not applied to graph elements during timeline recording
809         https://bugs.webkit.org/show_bug.cgi?id=148339
810
811         Reviewed by Brian Burg.
812
813         * UserInterface/Views/NavigationSidebarPanel.js:
814         (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
815         Check for hidden state change when applying filters to newly added tree elements.
816
817 2015-08-23  Timothy Hatcher  <timothy@apple.com>
818
819         Web Inspector: Drop webkit prefixes from animation, keyframes and transform
820         https://bugs.webkit.org/show_bug.cgi?id=148364
821
822         Reviewed by Darin Adler.
823
824         * UserInterface/Views/BreakpointTreeElement.css:
825         (.breakpoint-generic-line-icon .icon > span):
826         (.data-updated.breakpoint-generic-line-icon .icon > span):
827         * UserInterface/Views/ColorPicker.css:
828         (.color-picker > .slider):
829         * UserInterface/Views/DashboardContainerView.css:
830         (.toolbar .dashboard):
831         (.toolbar .dashboard.slide-out-up):
832         (.toolbar .dashboard.slide-out-down):
833         (.toolbar .dashboard.slide-in-up):
834         (.toolbar .dashboard.slide-in-down):
835         (@keyframes slide-top-edge):
836         (@keyframes slide-bottom-edge):
837         (@-webkit-keyframes slide-top-edge): Deleted.
838         (@-webkit-keyframes slide-bottom-edge): Deleted.
839         * UserInterface/Views/DebuggerDashboardView.css:
840         (.dashboard.debugger .navigation-bar .item.button > .glyph):
841         (@keyframes pulse-pause-button):
842         (@-webkit-keyframes pulse-pause-button): Deleted.
843         * UserInterface/Views/DefaultDashboardView.css:
844         (.toolbar .dashboard.default > .item.pulsing):
845         (@keyframes console-item-pulse):
846         (@-webkit-keyframes console-item-pulse): Deleted.
847         * UserInterface/Views/GoToLineDialog.css:
848         (.go-to-line-dialog):
849         * UserInterface/Views/HoverMenu.css:
850         (.hover-menu):
851         * UserInterface/Views/IndeterminateProgressSpinner.css:
852         (@keyframes discrete-spinner):
853         (.indeterminate-progress-spinner):
854         (@-webkit-keyframes discrete-spinner): Deleted.
855         * UserInterface/Views/Main.css:
856         (.bouncy-highlight):
857         (@keyframes bouncy-highlight-animation):
858         (@-webkit-keyframes bouncy-highlight-animation): Deleted.
859         * UserInterface/Views/ProbeSetDataGrid.css:
860         (.details-section.probe-set .data-grid tr.revealed.highlighted):
861         (@keyframes blink-frame-highlight):
862         (.details-section.probe-set .data-grid > tr.data-updated):
863         (@keyframes blink-probe-frame):
864         (@-webkit-keyframes blink-frame-highlight): Deleted.
865         (@-webkit-keyframes blink-probe-frame): Deleted.
866         * UserInterface/Views/TextEditor.css:
867         (.text-editor > .CodeMirror .highlighted):
868         (@keyframes text-editor-highlight-fadeout):
869         (.text-editor > .CodeMirror .hovered-expression-highlight):
870         (@keyframes text-editor-hovered-expression-highlight-fadeout):
871         (@-webkit-keyframes text-editor-highlight-fadeout): Deleted.
872         (@-webkit-keyframes text-editor-hovered-expression-highlight-fadeout): Deleted.
873         * UserInterface/Views/TimelineOverview.css:
874         (.timeline-overview.frames > .timeline-ruler > .markers > .divider):
875         (.timeline-overview.frames > .timeline-ruler:not(.both-handles-clamped) > .selection-handle.right):
876         (.timeline-overview.frames > .timeline-ruler:not(.both-handles-clamped) > .shaded-area.right):
877         * UserInterface/Views/TimelineRuler.css:
878         (.timeline-ruler > .header > .divider):
879         (.timeline-ruler > .markers > .divider):
880         (.timeline-ruler > .markers > .marker):
881         (.timeline-ruler > .selection-handle.left):
882         (.timeline-ruler > .selection-handle.right):
883
884 2015-08-21  Saam barati  <sbarati@apple.com>
885
886         Web Inspector: Type profiler shows 'Undefined' annotation for functions with no return statements
887         https://bugs.webkit.org/show_bug.cgi?id=146882
888
889         Reviewed by Joseph Pecoraro.
890
891         * UserInterface/Controllers/TypeTokenAnnotator.js:
892         (WebInspector.TypeTokenAnnotator.prototype._insertTypeToken):
893         * UserInterface/Models/ScriptSyntaxTree.js:
894         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
895         (WebInspector.ScriptSyntaxTree):
896
897 2015-08-21  Joseph Pecoraro  <pecoraro@apple.com>
898
899         Web Inspector: WebInspector.domTreeManager.regionLayoutUpdated does not exist
900         https://bugs.webkit.org/show_bug.cgi?id=148348
901
902         Reviewed by Timothy Hatcher.
903
904         * UserInterface/Protocol/CSSObserver.js:
905         (WebInspector.CSSObserver.prototype.regionLayoutUpdated):
906         Just do the same as the new event name.
907
908 2015-08-21  Brian Burg  <bburg@apple.com>
909
910         Web Inspector: clean up uses of `new` with zero-argument constructors and factory methods
911         https://bugs.webkit.org/show_bug.cgi?id=148311
912
913         Reviewed by Timothy Hatcher.
914
915         * UserInterface/Protocol/InspectorFrontendHostStub.js:
916         * UserInterface/Views/ClusterContentView.js:
917         (WebInspector.ClusterContentView):
918         * UserInterface/Views/ColorPicker.js:
919         (WebInspector.ColorPicker):
920         * UserInterface/Views/ContentView.js:
921         (WebInspector.ContentView.createFromRepresentedObject): This was causing a console assertion
922         when a breakpoint tree element was selected and the inspector tried to restore the view state
923         after a reload or back/forward navigation.
924
925         * UserInterface/Views/NavigationSidebarPanel.js:
926         (WebInspector.NavigationSidebarPanel):
927         * UserInterface/Views/TimelineRecordingContentView.js:
928         (WebInspector.TimelineRecordingContentView):
929
930 2015-08-20  Brian Burg  <bburg@apple.com>
931
932         Web Inspector: add a regression test for the fix introduced in r188679
933         https://bugs.webkit.org/show_bug.cgi?id=148223
934
935         Reviewed by Joseph Pecoraro.
936
937         Turns out that we were possibly leaking a single DOMTree on reload.
938         Always clear the main frame's DOMTree as well as those of sub-frames.
939
940         * UserInterface/Base/Object.js: Add back single-fire listeners.
941         (WebInspector.Object.singleFireEventListener.let.wrappedCallback):
942         (WebInspector.Object.singleFireEventListener):
943         (WebInspector.Object.retainedObjectsWithPrototype):
944         (WebInspector.Object.prototype.singleFireEventListener):
945         (WebInspector.Object.prototype.retainedObjectsWithPrototype):
946         * UserInterface/Models/Frame.js:
947         (WebInspector.Frame.prototype.removeAllChildFrames): Clear own tree too.
948
949 2015-08-20  Joseph Pecoraro  <pecoraro@apple.com>
950
951         Web Inspector: Better Remember open tab types and order if using JSContext inspector
952         https://bugs.webkit.org/show_bug.cgi?id=148285
953
954         Reviewed by Timothy Hatcher.
955
956         * UserInterface/Base/Main.js:
957         (WebInspector.contentLoaded):
958         (WebInspector.activateExtraDomains):
959         Save and restore extra domain related tabs at the expected saved index.
960
961         (WebInspector._rememberOpenTabs):
962         Keep unsupported tab types in the setting so when they are supported they open.
963
964         * UserInterface/Base/Utilities.js:
965         Add a helper for inserting a single object into an array.
966
967 2015-08-20  Nikita Vasilyev  <nvasilyev@apple.com>
968
969         Web Inspector: inline errors/warnings are taller than the line height
970         https://bugs.webkit.org/show_bug.cgi?id=148232
971
972         Reviewed by Timothy Hatcher.
973
974         * UserInterface/Views/SourceCodeTextEditor.css:
975         (.source-code.text-editor > .CodeMirror .issue-widget.inline):
976         (.source-code.text-editor > .CodeMirror .issue-widget.inline > .text):
977
978 2015-08-20  Joseph Pecoraro  <pecoraro@apple.com>
979
980         JSContext Inspector: Uncaught Exception opening Search Tab
981         https://bugs.webkit.org/show_bug.cgi?id=148284
982
983         Reviewed by Timothy Hatcher.
984
985         * UserInterface/Views/SearchSidebarPanel.js:
986         (WebInspector.SearchSidebarPanel):
987         This is copied / pasted code that shouldn't apply to the Search tab.
988         We want to show results under Resources in the Search tab.
989
990 2015-08-20  Nikita Vasilyev  <nvasilyev@apple.com>
991
992         Web Inspector: Truncate data URIs
993         https://bugs.webkit.org/show_bug.cgi?id=148212
994
995         Reviewed by Timothy Hatcher.
996
997         * UserInterface/Base/URLUtilities.js:
998         (parseURL):
999         Exit early to avoid an expensive RegExp match on a potentially very large data URI.
1000
1001         (parseQueryString):
1002         Fix typo.
1003
1004         (WebInspector.displayNameForURL):
1005         (WebInspector.truncateURL):
1006         By default, only show first and last 3 characters of data URIs.
1007
1008         * UserInterface/Models/Resource.js:
1009         (WebInspector.Resource.prototype.get displayURL):
1010         For tooltips, show first and last 32 characters of data URIs.
1011
1012         * UserInterface/Models/SourceCodeLocation.js:
1013         (WebInspector.SourceCodeLocation.prototype._locationString):
1014         * UserInterface/Views/ResourceTreeElement.js:
1015         (WebInspector.ResourceTreeElement.prototype._updateToolTip):
1016
1017 2015-08-20  Devin Rousso  <drousso@apple.com>
1018
1019         Web Inspector: Add flex alignment section to Visual sidebar
1020         https://bugs.webkit.org/show_bug.cgi?id=148243
1021
1022         Reviewed by Timothy Hatcher.
1023
1024         Uses select keyword pickers to contain the list of possible values.  Also supports
1025         the upcoming Grid layout keywords in the advanced keyword list.
1026
1027         * Localizations/en.lproj/localizedStrings.js:
1028         * UserInterface/Views/VisualStyleDetailsPanel.js:
1029         (WebInspector.VisualStyleDetailsPanel):
1030         (WebInspector.VisualStyleDetailsPanel.prototype._populateFlexboxSection):
1031         (WebInspector.VisualStyleDetailsPanel.prototype._populateAlignmentSection):
1032
1033 2015-08-20  Devin Rousso  <drousso@apple.com>
1034
1035         Web Inspector: Labels in the computed panel are shifted when a filter is applieds
1036         https://bugs.webkit.org/show_bug.cgi?id=148250
1037
1038         Reviewed by Timothy Hatcher.
1039
1040         Added to the selectors for filtering to ensure they only apply to the rules panel.
1041
1042         * UserInterface/Views/RulesStyleDetailsPanel.css:
1043         (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules .label):
1044         (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules .label:not(.filter-section-non-matching) ~ .label):
1045         (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules .label.filter-matching-label):
1046         (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules .label:not(.filter-section-non-matching) + .label.filter-matching-label:not(.filter-section-non-matching)):
1047         (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules .new-rule):
1048         (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules .style-declaration-section:not(.filter-section-non-matching) ~ .label:not(.filter-section-non-matching)):
1049         (@media (-webkit-min-device-pixel-ratio: 2)):
1050         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label): Deleted.
1051         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label:not(.filter-section-non-matching) ~ .label): Deleted.
1052         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label.filter-matching-label): Deleted.
1053         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label:not(.filter-section-non-matching) + .label.filter-matching-label:not(.filter-section-non-matching)): Deleted.
1054         (.sidebar > .panel.details.css-style > .content.filter-in-progress .new-rule): Deleted.
1055         (.sidebar > .panel.details.css-style > .content.filter-in-progress .style-declaration-section:not(.filter-section-non-matching) ~ .label:not(.filter-section-non-matching)): Deleted.
1056
1057 2015-08-20  Devin Rousso  <drousso@apple.com>
1058
1059         Web Inspector: Fix "attempted to assign to readonly property" in Visual editor links
1060         https://bugs.webkit.org/show_bug.cgi?id=148264
1061
1062         Reviewed by Timothy Hatcher.
1063
1064         * UserInterface/Views/VisualStylePropertyEditorLink.js:
1065         (WebInspector.VisualStylePropertyEditorLink.prototype.set linked):
1066         No longer attempts to set the "hidden" attribute of the link icons before they exist.
1067
1068 2015-08-20  Devin Rousso  <drousso@apple.com>
1069
1070         Web Inspector: Visual editor adds extra spaces to styles with no properties
1071         https://bugs.webkit.org/show_bug.cgi?id=148242
1072
1073         Reviewed by Timothy Hatcher.
1074
1075         * UserInterface/Models/CSSStyleDeclaration.js:
1076         (WebInspector.CSSStyleDeclaration.prototype.set text):
1077         Now trims the text and, if the resulting string has no length or the style is inline,
1078         replaces the text to be set with the trimmed text.
1079
1080         * UserInterface/Views/VisualStylePropertyCombiner.js:
1081         (WebInspector.VisualStylePropertyCombiner.prototype.modifyPropertyText):
1082         Removed unnecessary trim.
1083
1084 2015-08-20  Devin Rousso  <drousso@apple.com>
1085
1086         Web Inspector: Font size between computed and set value is off in visual styles popups
1087         https://bugs.webkit.org/show_bug.cgi?id=148226
1088
1089         Reviewed by Timothy Hatcher.
1090
1091         * UserInterface/Views/VisualStylePropertyEditor.css:
1092         (.visual-style-property-container > .visual-style-property-value-container > .visual-style-special-property-placeholder):
1093         Increased font-size to match the font-size of the overlaid select element.
1094
1095 2015-08-20  Matt Baker  <mattbaker@apple.com>
1096
1097         Web Inspector: Filtered frames shouldn't be selectable in the Rendering Frames overview graph
1098         https://bugs.webkit.org/show_bug.cgi?id=148253
1099
1100         Reviewed by Timothy Hatcher.
1101
1102         * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:
1103         Check record's filtered state before setting new frame selection.
1104
1105 2015-08-20  Devin Rousso  <drousso@apple.com>
1106
1107         Web Inspector: visual style number inputs don't style the units correctly
1108         https://bugs.webkit.org/show_bug.cgi?id=148222
1109
1110         Reviewed by Timothy Hatcher.
1111
1112         * UserInterface/Views/VisualStyleNumberInputBox.js:
1113         (WebInspector.VisualStyleNumberInputBox.prototype.set value):
1114         Added extra checks to see if the number input has a value when setting the value on the editor.
1115
1116 2015-08-20  Matt Baker  <mattbaker@apple.com>
1117
1118         Web Inspector: Filtered frames should be styled differently in the Rendering Frames overview graph
1119         https://bugs.webkit.org/show_bug.cgi?id=147421
1120
1121         Reviewed by Timothy Hatcher.
1122
1123         * UserInterface/Views/NavigationSidebarPanel.js:
1124         (WebInspector.NavigationSidebarPanel.prototype.representedObjectWasFiltered):
1125         (WebInspector.NavigationSidebarPanel.prototype._updateFilter):
1126         Inform derived sidebar of tree element filter state changes.
1127
1128         * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:
1129         (WebInspector.RenderingFrameTimelineOverviewGraph.prototype.recordWasFiltered):
1130         (WebInspector.RenderingFrameTimelineOverviewGraph.prototype.updateLayout):
1131         Update filtered frame style when a record's state changes, and during layout.
1132
1133         * UserInterface/Views/TimelineOverview.js:
1134         * UserInterface/Views/TimelineOverviewGraph.js:
1135         (WebInspector.TimelineOverviewGraph.prototype.recordWasFiltered):
1136         Allow setting a record's filtered state for a given timeline in the overview.
1137
1138         * UserInterface/Views/TimelineRecordFrame.css:
1139         (.timeline-record-frame.filtered > .frame):
1140         New filtered frame style.
1141
1142         * UserInterface/Views/TimelineRecordFrame.js:
1143         (WebInspector.TimelineRecordFrame.prototype.get filtered):
1144         (WebInspector.TimelineRecordFrame.prototype.set filtered):
1145
1146         * UserInterface/Views/TimelineRecordingContentView.js:
1147         (WebInspector.TimelineRecordingContentView.prototype.recordWasFiltered):
1148
1149         * UserInterface/Views/TimelineSidebarPanel.js:
1150         (WebInspector.TimelineSidebarPanel.prototype.representedObjectWasFiltered):
1151         (WebInspector.TimelineSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
1152         Apply task filters to RenderingFrameTimelineRecords and their immediate children.
1153
1154 2015-08-20  Brian Burg  <bburg@apple.com>
1155
1156         Web Inspector: console assertion when hitting breakpoint after auto-recording ends
1157         https://bugs.webkit.org/show_bug.cgi?id=148225
1158
1159         Reviewed by Timothy Hatcher.
1160
1161         Add checks for the precondition to starting/stopping time updates.
1162
1163         * UserInterface/Views/TimelineRecordingContentView.js:
1164         (WebInspector.TimelineRecordingContentView.prototype._capturingStarted):
1165         (WebInspector.TimelineRecordingContentView.prototype._debuggerPaused):
1166         (WebInspector.TimelineRecordingContentView.prototype._debuggerResumed):
1167
1168 2015-08-19  Brian Burg  <bburg@apple.com>
1169
1170         Web Inspector: add TestHarness option to tee all commands to system console
1171         https://bugs.webkit.org/show_bug.cgi?id=148181
1172
1173         Reviewed by Joseph Pecoraro.
1174
1175         It is currently difficult to trace what's going on when a test times out
1176         on a buildbot instance. The existing option for forcing debug logging can
1177         still drop messages that don't make it from the inspector to the test page.
1178
1179         This patch adds an option which logs all TestHarness commands directly to
1180         stderr in the Inspector instance using InspectorFrontendHost::unbufferedLog.
1181
1182         Clean up how existing harness logging code calls into each other. Extract
1183         the stringifying code that is duplicated everywhere.
1184
1185         * UserInterface/Test.html: Reorganize options and add new option.
1186         * UserInterface/Test/FrontendTestHarness.js:
1187         (FrontendTestHarness.prototype.completeTest):
1188         (FrontendTestHarness.prototype.addResult):
1189         (FrontendTestHarness.prototype.debugLog):
1190         (FrontendTestHarness.prototype.testPageDidLoad):
1191         (FrontendTestHarness.prototype._resendResults):
1192         (FrontendTestHarness):
1193         * UserInterface/Test/ProtocolTestHarness.js:
1194         (ProtocolTestHarness.prototype.completeTest):
1195         (ProtocolTestHarness.prototype.addResult):
1196         (ProtocolTestHarness.prototype.debugLog):
1197         * UserInterface/Test/TestHarness.js:
1198         (TestHarness.prototype.log):
1199         (TestHarness.prototype.assert):
1200         (TestHarness.prototype.expectThat):
1201         (TestHarness.messageAsString):
1202         (TestHarness):
1203         * UserInterface/TestStub.html: Reorganize options and add new option.
1204
1205 2015-08-20  Joseph Pecoraro  <pecoraro@apple.com>
1206
1207         Web Inspector: Remove unused temporary variable
1208         https://bugs.webkit.org/show_bug.cgi?id=148215
1209
1210         Reviewed by Timothy Hatcher.
1211
1212         * UserInterface/Views/VisualStyleDetailsPanel.js:
1213         (WebInspector.VisualStyleDetailsPanel):
1214
1215 2015-08-19  Devin Rousso  <drousso@apple.com>
1216
1217         Web Inspector: Visual styles panel does not work with pseudo-elements
1218         https://bugs.webkit.org/show_bug.cgi?id=148187
1219
1220         Reviewed by Timothy Hatcher.
1221
1222         If the inline style does not exist, such as for pseudo-elements, default to the first matched rule.
1223
1224         * UserInterface/Views/VisualStyleSelectorSection.js:
1225         (WebInspector.VisualStyleSelectorSection.prototype.update):
1226
1227 2015-08-19  Joseph Pecoraro  <pecoraro@apple.com>
1228
1229         Web Inspector: DOMTree leaks on main resource changes
1230         https://bugs.webkit.org/show_bug.cgi?id=148158
1231
1232         Reviewed by Timothy Hatcher.
1233
1234         * UserInterface/Models/DOMTree.js:
1235         (WebInspector.DOMTree.prototype.disconnect):
1236         Add a way to disconnect the DOMTree and allow it to get garbage collected.
1237
1238         (WebInspector.DOMTree.prototype.invalidate.performInvalidate):
1239         (WebInspector.DOMTree.prototype.invalidate):
1240         (WebInspector.DOMTree.prototype._requestRootDOMNode):
1241         (WebInspector.DOMTree.prototype._framePageExecutionContextChanged):
1242         Remove some uses of the delete operator.
1243
1244         * UserInterface/Models/Frame.js:
1245         (WebInspector.Frame.prototype.removeChildFrame):
1246         (WebInspector.Frame.prototype.removeAllChildFrames):
1247         (WebInspector.Frame.prototype._detachFromParentFrame):
1248         When a frame gets removed from its parent, disconnect its DOMTree.
1249
1250 2015-08-19  Devin Rousso  <drousso@apple.com>
1251
1252         Web Inspector: The first style in the Rules panel for pseudo-elements needs padding
1253         https://bugs.webkit.org/show_bug.cgi?id=148207
1254
1255         Reviewed by Timothy Hatcher.
1256
1257         * UserInterface/Views/RulesStyleDetailsPanel.css:
1258         (.sidebar > .panel.details.css-style .rules .label:first-child):
1259         If the first element in the Rules panel is a label, add some top padding.
1260
1261 2015-08-19  Devin Rousso  <drousso@apple.com>
1262
1263         Web Inspector: Committing a valid selector in the styles sidebar replaces the new selector with the old one
1264         https://bugs.webkit.org/show_bug.cgi?id=148206
1265
1266         Reviewed by Timothy Hatcher.
1267
1268         * UserInterface/Views/CSSStyleDeclarationSection.js:
1269         (WebInspector.CSSStyleDeclarationSection.prototype._markSelector):
1270         No longer unnecessarily refreshes the section if the selector is valid.
1271
1272 2015-08-19  Joseph Pecoraro  <pecoraro@apple.com>
1273
1274         Web Inspector: Uncaught Exceptions regarding PseudoElements / TemplateContent
1275         https://bugs.webkit.org/show_bug.cgi?id=148190
1276
1277         Reviewed by Brian Burg.
1278
1279         * UserInterface/Controllers/DOMTreeManager.js:
1280         (WebInspector.DOMTreeManager.prototype._unbind):
1281         Iterate over the values in the map, not the iterator pairs.
1282
1283         * UserInterface/Models/DOMNode.js:
1284         When removing a pseudo element, don't assume this._children
1285         exists, it may be null. So separate the two paths.
1286
1287 2015-08-19  Devin Rousso  <drousso@apple.com>
1288
1289         Web Inspector: long selectors in the visual editor sidebar can overflow
1290         https://bugs.webkit.org/show_bug.cgi?id=148185
1291
1292         Reviewed by Timothy Hatcher.
1293
1294         Selectors in the Visual editor sidebar are now clipped and use ellipses.
1295
1296         * UserInterface/Views/VisualStyleSelectorSection.css:
1297         (.details-section.visual-style-selector-section > .header > .current-selector):
1298         (.details-section.visual-style-selector-section:not(.collapsed) > .content):
1299         (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider > .titles):
1300         (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider > .titles > .title): Deleted.
1301
1302         * UserInterface/Views/VisualStyleSelectorTreeItem.css:
1303         (.item.visual-style-selector-item):
1304         (.item.visual-style-selector-item > .titles):
1305         (.item.visual-style-selector-item > input[type="checkbox"]):
1306         (.item.visual-style-selector-item > .icon):
1307
1308 2015-08-19  Joseph Pecoraro  <pecoraro@apple.com>
1309
1310         Web Inspector: Include Legacy Inspector JSON for iOS 9
1311         https://bugs.webkit.org/show_bug.cgi?id=148200
1312
1313         Reviewed by Timothy Hatcher.
1314
1315         * UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js: Added.
1316         * Versions/Inspector-iOS-9.0.json: Added.
1317
1318 2015-08-19  Joseph Pecoraro  <pecoraro@apple.com>
1319
1320         Web Inspector: Update Copyright in minified / combined output
1321         https://bugs.webkit.org/show_bug.cgi?id=148201
1322
1323         Reviewed by Timothy Hatcher.
1324
1325         * Scripts/copy-user-interface-resources.pl:
1326         Include copyright comments from missing 2014 and 2015 contributors
1327         in the comment in the minified / combined Main.js.
1328
1329 2015-08-19  Joseph Pecoraro  <pecoraro@apple.com>
1330
1331         Web Inspector: Uncaught exception in inspector page while handling event DOMStorage.domStorageItemRemoved
1332         https://bugs.webkit.org/show_bug.cgi?id=148191
1333
1334         Reviewed by Brian Burg.
1335
1336         * UserInterface/Controllers/StorageManager.js:
1337         (WebInspector.StorageManager.prototype.itemsCleared):
1338         (WebInspector.StorageManager.prototype.itemRemoved):
1339         (WebInspector.StorageManager.prototype.itemAdded):
1340         (WebInspector.StorageManager.prototype.itemUpdated):
1341         Check if the DOMStorage for the identifier actually exists.
1342         Due to how the backend emits events, the page may have already
1343         navigated when we get a storage update for the previous page.
1344         In that case, we don't want to create a DOMStorage for the
1345         previous page if it doesn't exist.
1346
1347 2015-08-19  Brian Burg  <bburg@apple.com>
1348
1349         Web Inspector: use unprefixed CSS property 'filter' instead of '-webkit-filter'
1350         https://bugs.webkit.org/show_bug.cgi?id=148186
1351
1352         Reviewed by Dean Jackson.
1353
1354         * UserInterface/Views/BreakpointActionView.css:
1355         (.breakpoint-action-remove-button:active):
1356         * UserInterface/Views/CSSStyleDeclarationSection.css:
1357         (.style-declaration-section:not(.invalid-selector) > .header > .icon.toggle-able:hover):
1358         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
1359         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .invalid-warning-marker.clickable:hover):
1360         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .cubic-bezier-marker:hover):
1361         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .cubic-bezier-marker:active):
1362         * UserInterface/Views/ChartDetailsSectionRow.css:
1363         (body.window-inactive .details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > label > input[type=checkbox]):
1364         * UserInterface/Views/ChartDetailsSectionRow.js:
1365         (WebInspector.ChartDetailsSectionRow.prototype._addCheckboxColorFilter):
1366         * UserInterface/Views/NewTabContentView.css:
1367         (.new-tab.tab.content-view > .tab-item.disabled):
1368         (.new-tab.tab.content-view > .tab-item:not(.disabled):hover > .box):
1369         (.new-tab.tab.content-view > .tab-item:not(.disabled):active > .box):
1370         * UserInterface/Views/TimelineSidebarPanel.css:
1371         (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph):
1372         (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:hover):
1373         (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:active):
1374         * UserInterface/Views/VisualStyleKeywordIconList.css:
1375         (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:not(.selected) > div):
1376         * UserInterface/Views/VisualStyleSelectorSection.css:
1377         (.details-section.visual-style-selector-section > .header > .controls > .visual-style-selector-section-add-rule):
1378
1379 2015-08-19  Joseph Pecoraro  <pecoraro@apple.com>
1380
1381         Web Inspector: Uncaught Exception while handling event DOM.pseudoElementRemoved reloading twitter pages
1382         https://bugs.webkit.org/show_bug.cgi?id=148180
1383
1384         Reviewed by Brian Burg.
1385
1386         * UserInterface/Views/DOMTreeElement.js:
1387         (WebInspector.DOMTreeElement.prototype._visibleChildren):
1388         DOMNode.children can be null before it is filled in.
1389
1390 2015-08-19  Brian Burg  <bburg@apple.com>
1391
1392         Web Inspector: InspectorTest should be a subclass of TestHarness
1393         https://bugs.webkit.org/show_bug.cgi?id=148079
1394
1395         Reviewed by Timothy Hatcher.
1396
1397         Extract the frontend test harness into a subclass. Delete some code that
1398         is now redundant. Sprinkle some ES6 syntax where possible.
1399
1400         Rewrite the code that redirects the Inspector page's console messages to
1401         the test page, since it didn't appear to work any more.
1402
1403         * UserInterface/Test.html: Add debug options here, and a wiki link.
1404         * UserInterface/Test/FrontendTestHarness.js: Added.
1405         (FrontendTestHarness):
1406         (FrontendTestHarness.prototype.completeTest):
1407         (FrontendTestHarness.prototype.addResult):
1408         (FrontendTestHarness.prototype.debugLog):
1409         (FrontendTestHarness.prototype.evaluateInPage):
1410         (FrontendTestHarness.prototype.expectNoError):
1411         (FrontendTestHarness.prototype.testPageDidLoad):
1412         (FrontendTestHarness.prototype.reloadPage):
1413         (FrontendTestHarness.prototype.redirectConsoleToTestOutput.createProxyConsoleHandler):
1414         (FrontendTestHarness.prototype.redirectConsoleToTestOutput):
1415         (FrontendTestHarness.prototype.reportUncaughtException):
1416         (FrontendTestHarness.prototype._resendResults):
1417         * UserInterface/Test/Test.js:
1418         (WebInspector.loaded):
1419         (WebInspector.UIString): Arrow it.
1420         (WebInspector.updateDockedState): Arrow it.
1421         (WebInspector.updateDockingAvailability): Arrow it.
1422         (InspectorTest.EventDispatcher.prototype.dispatchEvent): Deleted.
1423         (InspectorTest.EventDispatcher): Deleted.
1424         (InspectorTest.log): Deleted.
1425         (InspectorTest.assert): Deleted.
1426         (InspectorTest.expectThat): Deleted.
1427         (InspectorTest.debugLog): Deleted.
1428         (InspectorTest.expectNoError): Deleted.
1429         (InspectorTest.completeTest): Deleted.
1430         (InspectorTest.evaluateInPage): Deleted.
1431         (InspectorTest.addResult): Deleted.
1432         (InspectorTest._resendResults): Deleted.
1433         (InspectorTest.testPageDidLoad): Deleted.
1434         (InspectorTest.reloadPage): Deleted.
1435         (InspectorTest.reportUncaughtException): Deleted.
1436         * UserInterface/Test/TestSuite.js: Clean an unnecessary self = this.
1437         (SyncTestSuite.prototype.runTestCases):
1438         (SyncTestSuite):
1439         * UserInterface/TestStub.html: Add matching link to wiki.
1440
1441 2015-08-19  Brian Burg  <bburg@apple.com>
1442
1443         Web Inspector: split TestStub.js into multiple files and modernize it
1444         https://bugs.webkit.org/show_bug.cgi?id=148077
1445
1446         Reviewed by Timothy Hatcher.
1447  
1448         Since we want to share files between the two harnesses, split some of the parts
1449         into different files so not everything has to be included at once.
1450
1451         Rename InjectedTestHarness to just TestHarness. Update some code to use
1452         ES6 features where appropriate. Put test classes into Test/ directory.
1453
1454         * UserInterface/Base/TestStub.js: Removed.
1455         * UserInterface/Test.html:
1456         * UserInterface/Test/InspectorProtocol.js: Added.
1457         (InspectorProtocol.sendCommand):
1458         (InspectorProtocol.awaitCommand):
1459         (InspectorProtocol.awaitEvent.):
1460         (InspectorProtocol.awaitEvent):
1461         (InspectorProtocol.addEventListener):
1462         (InspectorProtocol.sendMessage):
1463         (InspectorProtocol.checkForError):
1464         (InspectorProtocol.dispatchMessageFromBackend):
1465         * UserInterface/Test/ProtocolTestHarness.js: Added.
1466         (ProtocolTestHarness.prototype.completeTest):
1467         (ProtocolTestHarness.prototype.addResult):
1468         (ProtocolTestHarness.prototype.debugLog):
1469         (ProtocolTestHarness.prototype.evaluateInPage):
1470         (ProtocolTestHarness):
1471         * UserInterface/Test/Test.js: Renamed from Source/WebInspectorUI/UserInterface/Base/Test.js.
1472         (WebInspector.loaded):
1473         (WebInspector.contentLoaded):
1474         (WebInspector.UIString):
1475         (WebInspector.updateDockedState):
1476         (WebInspector.updateDockingAvailability):
1477         (InspectorTest.EventDispatcher.prototype.dispatchEvent):
1478         (InspectorTest.EventDispatcher):
1479         (InspectorTest.log):
1480         (InspectorTest.assert):
1481         (InspectorTest.expectThat):
1482         (InspectorTest.debugLog):
1483         (InspectorTest.expectNoError):
1484         (InspectorTest.completeTest):
1485         (InspectorTest.evaluateInPage):
1486         (InspectorTest.addResult):
1487         (InspectorTest._resendResults):
1488         (InspectorTest.testPageDidLoad):
1489         (InspectorTest.reloadPage):
1490         (InspectorTest.reportUncaughtException):
1491         * UserInterface/Test/TestHarness.js: Added.
1492         (TestHarness):
1493         (TestHarness.prototype.completeTest):
1494         (TestHarness.prototype.addResult):
1495         (TestHarness.prototype.debugLog):
1496         (TestHarness.prototype.evaluateInPage):
1497         (TestHarness.prototype.createAsyncSuite):
1498         (TestHarness.prototype.createSyncSuite):
1499         (TestHarness.prototype.get logCount):
1500         (TestHarness.prototype.log):
1501         (TestHarness.prototype.assert):
1502         (TestHarness.prototype.expectThat):
1503         * UserInterface/Test/TestStub.js: Added.
1504         * UserInterface/Test/TestSuite.js: Added.
1505         (TestSuite):
1506         (TestSuite.prototype.runTestCasesAndFinish):
1507         (TestSuite.prototype.runTestCases):
1508         (TestSuite.prototype.get passCount):
1509         (TestSuite.prototype.get skipCount):
1510         (TestSuite.prototype.addTestCase):
1511         (AsyncTestSuite.prototype.runTestCasesAndFinish.finish):
1512         (AsyncTestSuite.prototype.runTestCasesAndFinish):
1513         (AsyncTestSuite.prototype.runTestCases):
1514         (AsyncTestSuite):
1515         (SyncTestSuite.prototype.runTestCasesAndFinish):
1516         (SyncTestSuite.prototype.runTestCases):
1517         (SyncTestSuite):
1518         * UserInterface/TestStub.html:
1519
1520 2015-08-19  Nikita Vasilyev  <nvasilyev@apple.com>
1521
1522         Web Inspector: Pressing Command-Enter should re-evaluate selected console user command
1523         https://bugs.webkit.org/show_bug.cgi?id=147918
1524
1525         Reviewed by Timothy Hatcher.
1526
1527         * UserInterface/Views/LogContentView.js:
1528         (WebInspector.LogContentView.prototype._keyDown):
1529         (WebInspector.LogContentView.prototype._commandEnterWasPressed):
1530         Only re-evaluate one selected user command.
1531
1532 2015-08-19  Nikita Vasilyev  <nvasilyev@apple.com>
1533
1534         REGRESSION (r188581): Web Inspector: Console user command isn't visible after reloading the page
1535         https://bugs.webkit.org/show_bug.cgi?id=148166
1536
1537         Reviewed by Timothy Hatcher.
1538
1539         * UserInterface/Controllers/JavaScriptLogViewController.js:
1540         (WebInspector.JavaScriptLogViewController.prototype.startNewSession):
1541
1542 2015-08-19  Nikita Vasilyev  <nvasilyev@apple.com>
1543
1544         REGRESSION (r188581): Web Inspector: Option-Enter no longer inserts a new line in the console
1545         https://bugs.webkit.org/show_bug.cgi?id=148165
1546
1547         Make Option-Enter insert a new line, as it was before r188581.
1548         Make Command-Enter keep executed command in the prompt.
1549
1550         Reviewed by Timothy Hatcher.
1551
1552         * UserInterface/Views/ConsolePrompt.js:
1553         (WebInspector.ConsolePrompt): Deleted.
1554         (WebInspector.ConsolePrompt.prototype._handleCommandEnterKey):
1555         (WebInspector.ConsolePrompt.prototype._handleOptionEnterKey): Deleted.
1556         (WebInspector.ConsolePrompt.prototype._handleCommandOptionEnterKey): Deleted.
1557
1558 2015-08-18  Joseph Pecoraro  <pecoraro@apple.com>
1559
1560         Web Inspector: Links for rules in <style> are incorrect, do not account for <style> offset in the document
1561         https://bugs.webkit.org/show_bug.cgi?id=148141
1562
1563         Reviewed by Brian Burg.
1564
1565         * UserInterface/Controllers/CSSStyleManager.js:
1566         (WebInspector.CSSStyleManager):
1567         (WebInspector.CSSStyleManager.prototype.get styleSheets):
1568         (WebInspector.CSSStyleManager.prototype.fetchStyleSheetsIfNeeded):
1569         (WebInspector.CSSStyleManager.prototype.styleSheetForIdentifier):
1570         (WebInspector.CSSStyleManager.prototype._mainResourceDidChange):
1571         Update more information about a StyleSheet when fetched.
1572
1573         * UserInterface/Models/CSSRule.js:
1574         (WebInspector.CSSRule.prototype.update):
1575         Eliminate usage of `delete`.
1576
1577         * UserInterface/Models/CSSStyleSheet.js:
1578         (WebInspector.CSSStyleSheet):
1579         (WebInspector.CSSStyleSheet.prototype.get startLineNumber):
1580         (WebInspector.CSSStyleSheet.prototype.get startColumnNumber):
1581         (WebInspector.CSSStyleSheet.prototype.hasInfo):
1582         (WebInspector.CSSStyleSheet.prototype.isInlineStyleTag):
1583         (WebInspector.CSSStyleSheet.prototype.updateInfo):
1584         Include more information about this stylesheet.
1585
1586         (WebInspector.CSSStyleSheet.prototype.offsetSourceCodeLocation):
1587         Include helper API to offset a source code location by the startLine/Column
1588         of this stylesheet itself, if it was an inline style.
1589
1590         (WebInspector.CSSStyleSheet.prototype.isInlineStyleAttributeStyleSheet):
1591         (WebInspector.CSSStyleSheet.prototype.markAsInlineStyleAttributeStyleSheet):
1592         (WebInspector.CSSStyleSheet.isInlineStyle): Deleted.
1593         (WebInspector.CSSStyleSheet.prototype.markAsInlineStyle): Deleted.
1594         Rename for clarity.
1595
1596         * UserInterface/Models/DOMNodeStyles.js:
1597         (WebInspector.DOMNodeStyles.prototype.refresh):
1598         Fetch stylesheet header information eagerly, so we have them early on.
1599
1600         (WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload):
1601         (WebInspector.DOMNodeStyles.prototype._parseRulePayload):
1602         Offset sourceCodeLocations for CSSRules based on the StyleSheet offset.
1603
1604         * UserInterface/Models/SourceCodeLocation.js:
1605         (WebInspector.SourceCodeLocation.prototype.update):
1606         Improve coding style.
1607
1608 2015-08-18  Devin Rousso  <drousso@apple.com>
1609
1610         Web Inspector: Add proper formatting for editing styles in the Visual Panel
1611         https://bugs.webkit.org/show_bug.cgi?id=148147
1612
1613         Reviewed by Timothy Hatcher.
1614
1615         Editing styles in the Visual styles panel now preserves whitespace in the related resource file.
1616
1617         * UserInterface/Views/VisualStylePropertyCombiner.js:
1618         (WebInspector.VisualStylePropertyCombiner):
1619         (WebInspector.VisualStylePropertyCombiner.prototype.modifyPropertyText):
1620
1621         * UserInterface/Views/VisualStylePropertyEditor.js:
1622         (WebInspector.VisualStylePropertyEditor):
1623         (WebInspector.VisualStylePropertyEditor.generateFormattedTextForNewProperty):
1624         (WebInspector.VisualStylePropertyEditor.prototype.modifyPropertyText):
1625
1626 2015-08-18  Devin Rousso  <drousso@apple.com>
1627
1628         Web Inspector: Add support for positioning Visual editors on non-retina displays
1629         https://bugs.webkit.org/show_bug.cgi?id=148160
1630
1631         Reviewed by Timothy Hatcher.
1632
1633         Cleans up the positioning, dimensions, and widths of the
1634         Visual editors on non-retina displays.
1635
1636         * UserInterface/Views/VisualStyleColorPicker.css:
1637         (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > input):
1638
1639         * UserInterface/Views/VisualStyleDetailsPanel.css:
1640         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row.visual-style-separated-row):
1641         (@media (-webkit-min-device-pixel-ratio: 2)):
1642
1643         * UserInterface/Views/VisualStyleDetailsPanel.js:
1644         (WebInspector.VisualStyleDetailsPanel.prototype._clearModifiedSection):
1645
1646         * UserInterface/Views/VisualStylePropertyEditorLink.css:
1647         (.visual-style-property-editor-link):
1648         (.visual-style-property-editor-link > .visual-style-property-editor-link-border.left):
1649         (.visual-style-property-editor-link.link-all > .visual-style-property-editor-link-border.left):
1650         (.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-border):
1651         (.visual-style-property-editor-link > .visual-style-property-editor-link-icon):
1652         (.visual-style-property-editor-link:not(.link-all) > .visual-style-property-editor-link-icon):
1653         (@media (-webkit-min-device-pixel-ratio: 2)):
1654         (.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-border.left):
1655         (.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-icon:hover + .visual-style-property-editor-link-border.right): Deleted.
1656         (.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-border.right): Deleted.
1657         (.visual-style-property-editor-link.link-all > .visual-style-property-editor-link-icon): Deleted.
1658
1659         * UserInterface/Views/VisualStyleSelectorTreeItem.css:
1660         (.item.visual-style-selector-item > input[type="checkbox"]):
1661         (.item.visual-style-selector-item > .icon):
1662         (.item.visual-style-selector-item.selector-invalid > .titles > .title::before):
1663         (@media (-webkit-min-device-pixel-ratio: 2)):
1664         (.item.visual-style-selector-item > .titles):
1665         (.item.visual-style-selector-item.selector-invalid > .icon): Deleted.
1666
1667         * UserInterface/Views/VisualStyleTimingEditor.css:
1668         (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .bezier-editor):
1669         (@media (-webkit-min-device-pixel-ratio: 2)):
1670
1671
1672
1673 2015-08-18  Devin Rousso  <drousso@apple.com>
1674
1675         Web Inspector: Show the computed value in an overlay for numerical Visual Editors
1676         https://bugs.webkit.org/show_bug.cgi?id=148161
1677
1678         Reviewed by Timothy Hatcher.
1679
1680         Adds an "Unchanged" option to the number-based Visual editors that shows the
1681         computed value if it is not a number (it would therefore be a keyword).
1682
1683         * UserInterface/Views/VisualStyleNumberInputBox.css:
1684         (.visual-style-property-container > .visual-style-property-value-container > .number-input-container):
1685         (.visual-style-property-container > .visual-style-property-value-container > .number-input-container:not(.has-value) > span):
1686
1687         * UserInterface/Views/VisualStyleNumberInputBox.js:
1688         (WebInspector.VisualStyleNumberInputBox):
1689         (WebInspector.VisualStyleNumberInputBox.prototype.set value):
1690         (WebInspector.VisualStyleNumberInputBox.prototype.get units):
1691         (WebInspector.VisualStyleNumberInputBox.prototype.set units):
1692         (WebInspector.VisualStyleNumberInputBox.prototype.set placeholder):
1693         (WebInspector.VisualStyleNumberInputBox.prototype.get synthesizedValue):
1694         (WebInspector.VisualStyleNumberInputBox.prototype.set _unitsElementTextContent):
1695         (WebInspector.VisualStyleNumberInputBox.prototype._markUnitsContainerIfInputHasValue):
1696         (WebInspector.VisualStyleNumberInputBox.prototype._keywordChanged):
1697         (WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputKeyDown):
1698         (WebInspector.VisualStyleNumberInputBox.prototype._numberInputChanged):
1699
1700 2015-08-18  Devin Rousso  <drousso@apple.com>
1701
1702         Web Inspector: Small Caps variant checkbox should be to the left of the Small Caps label
1703         https://bugs.webkit.org/show_bug.cgi?id=148102
1704
1705         Reviewed by Timothy Hatcher.
1706
1707         * UserInterface/Views/VisualStyleKeywordCheckbox.css:
1708         (.visual-style-property-container.keyword-checkbox.font-variant > .visual-style-property-value-container > input): Deleted.
1709         (.visual-style-property-container.keyword-checkbox.font-variant > .visual-style-property-value-container > input::after):
1710         (.visual-style-property-container.keyword-checkbox.font-variant > .visual-style-property-value-container > input::before): Deleted.
1711
1712 2015-08-18  Devin Rousso  <drousso@apple.com>
1713
1714         Web Inspector: Visual editor links should unlink when switching styles
1715         https://bugs.webkit.org/show_bug.cgi?id=148153
1716
1717         Reviewed by Timothy Hatcher.
1718
1719         Visual editor links are now deactivated when switching rules/nodes.
1720
1721         * UserInterface/Images/VisualStylePropertyUnlinked.svg:
1722         * UserInterface/Views/VisualStyleDetailsPanel.js:
1723         (WebInspector.VisualStyleDetailsPanel.prototype._updateProperties):
1724         (WebInspector.VisualStyleDetailsPanel.prototype._generateMetricSectionRows):
1725
1726         * UserInterface/Views/VisualStylePropertyEditorLink.js:
1727         (WebInspector.VisualStylePropertyEditorLink.prototype.set linked):
1728         (WebInspector.VisualStylePropertyEditorLink.prototype._iconClicked):
1729         (WebInspector.VisualStylePropertyEditorLink):
1730
1731 2015-08-18  Devin Rousso  <drousso@apple.com>
1732
1733         Web Inspector: Consider showing style summary on collapsed visual sidebar sections
1734         https://bugs.webkit.org/show_bug.cgi?id=148104
1735
1736         Reviewed by Timothy Hatcher.
1737
1738         The blue indicator dot on a section now means that that section has at least one set value.
1739         If a section has been modified, it will display a trash can that will clear those modifications.
1740
1741         * UserInterface/Views/VisualStyleDetailsPanel.css:
1742         (.sidebar > .panel.details.css-style .visual > .details-section .details-section.has-set-property > .header > span::after):
1743         (.sidebar > .panel.details.css-style .visual > .details-section .details-section.modified > .header > span::after): Deleted.
1744
1745         * UserInterface/Views/VisualStyleDetailsPanel.js:
1746         (WebInspector.VisualStyleDetailsPanel.prototype._updateProperties):
1747         (WebInspector.VisualStyleDetailsPanel.prototype._sectionModified):
1748         (WebInspector.VisualStyleDetailsPanel.prototype._groupHasSetProperty):
1749
1750 2015-08-18  Devin Rousso  <drousso@apple.com>
1751
1752         Web Inspector: round sub-pixel values we get from computed style in visual sidebar
1753         https://bugs.webkit.org/show_bug.cgi?id=148105
1754
1755         Reviewed by Timothy Hatcher.
1756
1757         * UserInterface/Views/VisualStyleNumberInputBox.js:
1758         (WebInspector.VisualStyleNumberInputBox.prototype.set value):
1759         (WebInspector.VisualStyleNumberInputBox.prototype.set placeholder):
1760         Now rounds the value and placeholder to the nearest 100th.
1761
1762 2015-08-18  Joseph Pecoraro  <pecoraro@apple.com>
1763
1764         Web Inspector: transparent color swatches have lopsided checkered background on non-retina
1765         https://bugs.webkit.org/show_bug.cgi?id=148150
1766
1767         Reviewed by Timothy Hatcher.
1768
1769         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
1770         (@media (-webkit-max-device-pixel-ratio: 1)):
1771         Make color and bezier widgets slightly smaller, but evenly sized so the
1772         checkered background is not lopsided and the curve is a little less blurry.
1773
1774 2015-08-18  Joseph Pecoraro  <pecoraro@apple.com>
1775
1776         Web Inspector: Modernize CSSStyleManager
1777         https://bugs.webkit.org/show_bug.cgi?id=148143
1778
1779         Reviewed by Brian Burg.
1780
1781         * UserInterface/Controllers/CSSStyleManager.js:
1782           - Eliminate `delete` operator use.
1783           - Move from using Objects as hashmaps to Map.
1784           - Fix typos.
1785
1786 2015-08-18  Brian Burg  <bburg@apple.com>
1787
1788         Web Inspector: load ProtocolTestStub from the WebInspectorUI bundle
1789         https://bugs.webkit.org/show_bug.cgi?id=147955
1790
1791         Reviewed by Timothy Hatcher.
1792
1793         Move ProtocolTestStub.{html,js} into the actual WebInspectorUI project.
1794
1795         * UserInterface/Base/TestStub.js: Renamed from LayoutTests/http/tests/inspector/resources/ProtocolTestStub.js.
1796         * UserInterface/TestStub.html: Renamed from LayoutTests/http/tests/inspector/resources/ProtocolTestStub.html.
1797
1798 2015-08-18  Devin Rousso  <drousso@apple.com>
1799
1800         Web Inspector: Better keyboard shortcut to focus on the console prompt
1801         https://bugs.webkit.org/show_bug.cgi?id=147927
1802
1803         Reviewed by Brian Burg.
1804
1805         * UserInterface/Base/Main.js:
1806         (WebInspector.contentLoaded):
1807         (WebInspector._focusConsolePrompt):
1808         Added a Control-Tilde keyboard shortcut to focus the console prompt.
1809
1810 2015-08-18  Nikita Vasilyev  <nvasilyev@apple.com>
1811
1812         Web Inspector: Option-Enter should commit console command without erasing the prompt
1813         https://bugs.webkit.org/show_bug.cgi?id=148123
1814
1815         Also, don't append a console command if it's the same as the last one.
1816
1817         Reviewed by Timothy Hatcher.
1818
1819         * UserInterface/Controllers/JavaScriptLogViewController.js:
1820         (WebInspector.JavaScriptLogViewController):
1821         * UserInterface/Views/ConsolePrompt.js:
1822         (WebInspector.ConsolePrompt):
1823         (WebInspector.ConsolePrompt.prototype._handleEnterKey.commitTextOrInsertNewLine):
1824         (WebInspector.ConsolePrompt.prototype._handleEnterKey):
1825         (WebInspector.ConsolePrompt.prototype._handleOptionEnterKey):
1826         (WebInspector.ConsolePrompt.prototype._handleCommandOptionEnterKey):
1827
1828 2015-08-17  Commit Queue  <commit-queue@webkit.org>
1829
1830         Unreviewed, rolling out r188539, r188544, r188552, and
1831         r188564.
1832         https://bugs.webkit.org/show_bug.cgi?id=148122
1833
1834         Broke tests and some build styles (Requested by ap on
1835         #webkit).
1836
1837         Reverted changesets:
1838
1839         "Web Inspector: load ProtocolTestStub from the WebInspectorUI
1840         bundle"
1841         https://bugs.webkit.org/show_bug.cgi?id=147955
1842         http://trac.webkit.org/changeset/188539
1843
1844         "Web Inspector: split TestStub.js into multiple files and
1845         modernize it"
1846         https://bugs.webkit.org/show_bug.cgi?id=148077
1847         http://trac.webkit.org/changeset/188544
1848
1849         "Web Inspector: InspectorTest should be a subclass of
1850         TestHarness"
1851         https://bugs.webkit.org/show_bug.cgi?id=148079
1852         http://trac.webkit.org/changeset/188552
1853
1854         "Unreviewed internal build fix attempt after r188539."
1855         http://trac.webkit.org/changeset/188564
1856
1857 2015-08-17  Nikita Vasilyev  <nvasilyev@apple.com>
1858
1859         Web Inspector: Allow typing command when a console message is selected
1860         https://bugs.webkit.org/show_bug.cgi?id=148121
1861
1862         Reviewed by Timothy Hatcher.
1863
1864         * UserInterface/Views/LogContentView.js:
1865         (WebInspector.LogContentView):
1866         (WebInspector.LogContentView.prototype._keyPress):
1867         Command-C should still copy the selected message.
1868
1869 2015-08-17  Nikita Vasilyev  <nvasilyev@apple.com>
1870
1871         Web Inspector: Update slider styles
1872         https://bugs.webkit.org/show_bug.cgi?id=148120
1873
1874         Reviewed by Timothy Hatcher.
1875
1876         * UserInterface/Views/Main.css:
1877         (input[type=range]):
1878         (input[type=range]::-webkit-slider-runnable-track::before):
1879
1880 2015-08-17  Devin Rousso  <drousso@apple.com>
1881
1882         Web Inspector: font-family list is backwards in visual sidebar
1883         https://bugs.webkit.org/show_bug.cgi?id=148101
1884
1885         Reviewed by Timothy Hatcher.
1886
1887         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
1888         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._addCommaSeparatedKeyword):
1889         Now appends new children if the current index is not set instead of inserting them.
1890
1891 2015-08-17  Devin Rousso  <drousso@apple.com>
1892
1893         Web Inspector: Style changes to Visual sidebar selector items
1894         https://bugs.webkit.org/show_bug.cgi?id=148114
1895
1896         Reviewed by Timothy Hatcher.
1897
1898         * Localizations/en.lproj/localizedStrings.js:
1899         * UserInterface/Views/GeneralTreeElement.js:
1900         (WebInspector.GeneralTreeElement.prototype._updateTitleElements):
1901         (WebInspector.GeneralTreeElement.prototype._updateTitleTooltip):
1902         Moved the code to update the item tooltip to its own function.
1903
1904         * UserInterface/Views/VisualStyleDetailsPanel.js:
1905         (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners.editorMouseover):
1906         (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners.editorMouseout):
1907         (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners):
1908         (WebInspector.VisualStyleDetailsPanel.prototype._generateMetricSectionRows):
1909         (WebInspector.VisualStyleDetailsPanel.prototype._populateMarginSection):
1910         (WebInspector.VisualStyleDetailsPanel.prototype._populatePaddingSection):
1911         (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners.onEditorMouseover): Deleted.
1912         (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners.onEditorMouseout): Deleted.
1913         Added on-hover node/selector highlighting to margin and padding editor links.
1914
1915         * UserInterface/Views/VisualStyleNumberInputBox.js:
1916         (WebInspector.VisualStyleNumberInputBox):
1917         Replaced "No Units" with "Number" for better clarity.
1918
1919         * UserInterface/Views/VisualStyleSelectorTreeItem.css:
1920         (body:not(.window-inactive, .window-docked-inactive) .item.visual-style-selector-item.selected > input[type="checkbox"]:checked::before):
1921         (.item.visual-style-selector-item.selected > input[type="checkbox"]::before): Deleted.
1922         Removes the white border when the window is inactive and when the checkbox is unchecked.
1923
1924         * UserInterface/Views/VisualStyleSelectorTreeItem.js:
1925         (WebInspector.VisualStyleSelectorTreeItem.prototype._commitSelector):
1926         Now updates the title of the item when the selector changes.
1927
1928 2015-08-17  Devin Rousso  <drousso@apple.com>
1929
1930         Web Inspector: delete key should work on multi-values visual sidebar grid sections
1931         https://bugs.webkit.org/show_bug.cgi?id=148110
1932
1933         Reviewed by Timothy Hatcher.
1934
1935         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
1936         (WebInspector.VisualStyleCommaSeparatedKeywordEditor):
1937         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._listElementKeyDown):
1938         If the backspace/delete key is pressed when focus is within the list element, delete
1939         the selected list item if it is not currently being edited (if it has an editor).
1940
1941         * UserInterface/Views/VisualStyleFontFamilyTreeElement.js:
1942         (WebInspector.VisualStyleFontFamilyTreeElement.prototype.get currentlyEditing):
1943
1944 2015-08-17  Devin Rousso  <drousso@apple.com>
1945
1946         Web Inspector: web fonts or unknown fonts show up as Times in visual sidebar
1947         https://bugs.webkit.org/show_bug.cgi?id=148103
1948
1949         Reviewed by Timothy Hatcher.
1950
1951         * UserInterface/Views/VisualStyleFontFamilyTreeElement.js:
1952         (WebInspector.VisualStyleFontFamilyTreeElement.prototype.updateMainTitle):
1953         Fonts now fall back to sans-serif and -apple-system if they do not exist.
1954
1955 2015-08-17  Myles C. Maxfield  <mmaxfield@apple.com>
1956
1957         Implement IntegerHasher
1958         https://bugs.webkit.org/show_bug.cgi?id=147866
1959
1960         Reviewed by Darin Adler and Anders Carlsson.
1961
1962         Update comment.
1963
1964         * UserInterface/Base/Utilities.js:
1965
1966 2015-08-17  Brian Burg  <bburg@apple.com>
1967
1968         Web Inspector: InspectorTest should be a subclass of TestHarness
1969         https://bugs.webkit.org/show_bug.cgi?id=148079
1970
1971         Reviewed by Timothy Hatcher.
1972
1973         Extract the frontend test harness into a subclass. Delete some code that
1974         is now redundant. Sprinkle some ES6 syntax where possible.
1975
1976         Rewrite the code that redirects the Inspector page's console messages to
1977         the test page, since it didn't appear to work any more.
1978
1979         * UserInterface/Test.html:
1980         * UserInterface/Test/FrontendTestHarness.js: Added.
1981         (FrontendTestHarness):
1982         (FrontendTestHarness.prototype.completeTest):
1983         (FrontendTestHarness.prototype.addResult):
1984         (FrontendTestHarness.prototype.debugLog):
1985         (FrontendTestHarness.prototype.evaluateInPage):
1986         (FrontendTestHarness.prototype.expectNoError):
1987         (FrontendTestHarness.prototype.testPageDidLoad):
1988         (FrontendTestHarness.prototype.reloadPage):
1989         (FrontendTestHarness.prototype.redirectConsoleToTestOutput.createProxyConsoleHandler):
1990         (FrontendTestHarness.prototype.redirectConsoleToTestOutput):
1991         (FrontendTestHarness.prototype.reportUncaughtException):
1992         (FrontendTestHarness.prototype._resendResults):
1993         * UserInterface/Test/Test.js:
1994         (InspectorTest.EventDispatcher.prototype.dispatchEvent): Deleted.
1995         (InspectorTest.EventDispatcher): Deleted.
1996         (InspectorTest.log): Deleted.
1997         (InspectorTest.assert): Deleted.
1998         (InspectorTest.expectThat): Deleted.
1999         (InspectorTest.debugLog): Deleted.
2000         (InspectorTest.expectNoError): Deleted.
2001         (InspectorTest.completeTest): Deleted.
2002         (InspectorTest.evaluateInPage): Deleted.
2003         (InspectorTest.addResult): Deleted.
2004         (InspectorTest._resendResults): Deleted.
2005         (InspectorTest.testPageDidLoad): Deleted.
2006         (InspectorTest.reloadPage): Deleted.
2007         (InspectorTest.reportUncaughtException): Deleted.
2008
2009 2015-08-17  Saam barati  <sbarati@apple.com>
2010
2011         Web Inspector: Type profiler return types aren't showing up
2012         https://bugs.webkit.org/show_bug.cgi?id=147348
2013
2014         Reviewed by Brian Burg.
2015
2016         Bug #145995 changed the starting offset of a function to 
2017         be the open parenthesis of the function's parameter list.
2018         This broke the type profiler's text offset based protocol with JSC.
2019         The text offset used in the protocol is now the first letter of the 
2020         function/get/set/method name.  So "f" in "function a() {}", "s" in "set foo(){}", etc.
2021
2022         * UserInterface/Models/ScriptSyntaxTree.js:
2023         (WebInspector.ScriptSyntaxTree.prototype.containsNonEmptyReturnStatement):
2024         (WebInspector.ScriptSyntaxTree.functionReturnDivot):
2025
2026 2015-08-17  Brian Burg  <bburg@apple.com>
2027
2028         Web Inspector: REGRESSION: spurious console.assert inside ResourceContentView._contentAvailable
2029         https://bugs.webkit.org/show_bug.cgi?id=147886
2030
2031         Reviewed by Joseph Pecoraro.
2032
2033         * UserInterface/Views/ResourceContentView.js:
2034         (WebInspector.ResourceContentView.prototype._hasContent): Fix the style class name.
2035
2036 2015-08-17  Brian Burg  <bburg@apple.com>
2037
2038         Web Inspector: split TestStub.js into multiple files and modernize it
2039         https://bugs.webkit.org/show_bug.cgi?id=148077
2040
2041         Reviewed by Timothy Hatcher.
2042  
2043         Since we want to share files between the two harnesses, split some of the parts
2044         into different files so not everything has to be included at once.
2045
2046         Rename InjectedTestHarness to just TestHarness. Update some code to use
2047         ES6 features where appropriate. Put test classes into Test/ directory.
2048
2049         * UserInterface/Base/TestStub.js: Removed.
2050         * UserInterface/Test.html:
2051         * UserInterface/Test/InspectorProtocol.js: Added.
2052         (InspectorProtocol.sendCommand):
2053         (InspectorProtocol.awaitCommand):
2054         (InspectorProtocol.awaitEvent.):
2055         (InspectorProtocol.awaitEvent):
2056         (InspectorProtocol.addEventListener):
2057         (InspectorProtocol.sendMessage):
2058         (InspectorProtocol.checkForError):
2059         (InspectorProtocol.dispatchMessageFromBackend):
2060         * UserInterface/Test/ProtocolTestHarness.js: Added.
2061         (ProtocolTestHarness.prototype.completeTest):
2062         (ProtocolTestHarness.prototype.addResult):
2063         (ProtocolTestHarness.prototype.debugLog):
2064         (ProtocolTestHarness.prototype.evaluateInPage):
2065         (ProtocolTestHarness):
2066         * UserInterface/Test/Test.js: Renamed from Source/WebInspectorUI/UserInterface/Base/Test.js.
2067         (WebInspector.loaded):
2068         (WebInspector.contentLoaded):
2069         (WebInspector.UIString):
2070         (WebInspector.updateDockedState):
2071         (WebInspector.updateDockingAvailability):
2072         (InspectorTest.EventDispatcher.prototype.dispatchEvent):
2073         (InspectorTest.EventDispatcher):
2074         (InspectorTest.log):
2075         (InspectorTest.assert):
2076         (InspectorTest.expectThat):
2077         (InspectorTest.debugLog):
2078         (InspectorTest.expectNoError):
2079         (InspectorTest.completeTest):
2080         (InspectorTest.evaluateInPage):
2081         (InspectorTest.addResult):
2082         (InspectorTest._resendResults):
2083         (InspectorTest.testPageDidLoad):
2084         (InspectorTest.reloadPage):
2085         (InspectorTest.reportUncaughtException):
2086         * UserInterface/Test/TestHarness.js: Added.
2087         (TestHarness):
2088         (TestHarness.prototype.completeTest):
2089         (TestHarness.prototype.addResult):
2090         (TestHarness.prototype.debugLog):
2091         (TestHarness.prototype.evaluateInPage):
2092         (TestHarness.prototype.createAsyncSuite):
2093         (TestHarness.prototype.createSyncSuite):
2094         (TestHarness.prototype.get logCount):
2095         (TestHarness.prototype.log):
2096         (TestHarness.prototype.assert):
2097         (TestHarness.prototype.expectThat):
2098         * UserInterface/Test/TestStub.js: Added.
2099         * UserInterface/Test/TestSuite.js: Added.
2100         (TestSuite):
2101         (TestSuite.prototype.runTestCasesAndFinish):
2102         (TestSuite.prototype.runTestCases):
2103         (TestSuite.prototype.get passCount):
2104         (TestSuite.prototype.get skipCount):
2105         (TestSuite.prototype.addTestCase):
2106         (AsyncTestSuite.prototype.runTestCasesAndFinish.finish):
2107         (AsyncTestSuite.prototype.runTestCasesAndFinish):
2108         (AsyncTestSuite.prototype.runTestCases):
2109         (AsyncTestSuite):
2110         (SyncTestSuite.prototype.runTestCasesAndFinish):
2111         (SyncTestSuite.prototype.runTestCases):
2112         (SyncTestSuite):
2113         * UserInterface/TestStub.html:
2114
2115 2015-08-17  Brian Burg  <bburg@apple.com>
2116
2117         Web Inspector: load ProtocolTestStub from the WebInspectorUI bundle
2118         https://bugs.webkit.org/show_bug.cgi?id=147955
2119
2120         Reviewed by Timothy Hatcher.
2121
2122         Move ProtocolTestStub.{html,js} into the actual WebInspectorUI project.
2123
2124         * UserInterface/Base/TestStub.js: Renamed from LayoutTests/http/tests/inspector/resources/ProtocolTestStub.js.
2125         * UserInterface/TestStub.html: Renamed from LayoutTests/http/tests/inspector/resources/ProtocolTestStub.html.
2126
2127 2015-08-17  Simon Fraser  <simon.fraser@apple.com>
2128
2129         will-change should sometimes trigger compositing
2130         https://bugs.webkit.org/show_bug.cgi?id=148072
2131
2132         Reviewed by Tim Horton.
2133         
2134         Have the web inspector show a correct compositing reason for will-change.
2135         This could be improved to indicate which specific value in will-change triggered
2136         the compositing.
2137
2138         * Localizations/en.lproj/localizedStrings.js:
2139         * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
2140         (WebInspector.LayerTreeDetailsSidebarPanel.prototype._populateListOfCompositingReasons):
2141         (WebInspector.LayerTreeDetailsSidebarPanel):
2142
2143 2015-08-14  Matt Baker  <mattbaker@apple.com>
2144
2145         Web Inspector: NavigationBar.updateLayoutSoon should use requestAnimationFrame
2146         https://bugs.webkit.org/show_bug.cgi?id=148010
2147
2148         Reviewed by Brian Burg.
2149
2150         NavigationBar.updateLayoutSoon now uses requestAnimationFrame instead of setTimeout.
2151
2152         * UserInterface/Views/NavigationBar.js:
2153         (WebInspector.NavigationBar):
2154         (WebInspector.NavigationBar.prototype.updateLayoutSoon.update):
2155         (WebInspector.NavigationBar.prototype.updateLayoutSoon):
2156         (WebInspector.NavigationBar.prototype.updateLayout):
2157
2158 2015-08-14  Devin Rousso  <drousso@apple.com>
2159
2160         Web Inspector: Add VisualStyleDetailsPanel
2161         https://bugs.webkit.org/show_bug.cgi?id=147570
2162
2163         Reviewed by Timothy Hatcher.
2164
2165         Added VisualStyleDetailsPanel and inclusions to forthcoming classes
2166         that will be used in this visual sidebar panel.
2167
2168         * Localizations/en.lproj/localizedStrings.js:
2169         * UserInterface/Main.html:
2170         Added files for all new classes used in the VisualStyleDetailsPanel.
2171
2172         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
2173         (WebInspector.CSSStyleDetailsSidebarPanel):
2174         * UserInterface/Views/DetailsSection.js:
2175         (WebInspector.DetailsSection):
2176         (WebInspector.DetailsSection.prototype.set collapsed):
2177         (WebInspector.DetailsSection.prototype.get expandedByUser):
2178         (WebInspector.DetailsSection.prototype._headerElementClicked):
2179         Track whether or not the expanded state was caused by the user.
2180
2181         * UserInterface/Views/VisualStyleDetailsPanel.css: Added.
2182         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .header):
2183         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .header > .visual-style-section-clear):
2184         (.sidebar > .panel.details.css-style .visual > .details-section .details-section:not(.modified) > .header > .visual-style-section-clear):
2185         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .header > span):
2186         (.sidebar > .panel.details.css-style .visual > .details-section .details-section.modified > .header > span::after):
2187         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content):
2188         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row):
2189         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row:last-child):
2190         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row.visual-style-separated-row):
2191         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row > .visual-style-property-container > .visual-style-property-title):
2192         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row > .visual-style-property-container:not(.layout-reversed):last-child):
2193         (.sidebar > .panel.details.css-style .visual.disabled > .details-section:not(.visual-style-selector-section)):
2194         (.sidebar > .panel.details.css-style .visual.disabled > .details-section:not(.visual-style-selector-section) input):
2195
2196         * UserInterface/Views/VisualStyleDetailsPanel.js: Added.
2197         (WebInspector.VisualStyleDetailsPanel):
2198         (WebInspector.VisualStyleDetailsPanel.prototype.refresh):
2199         (WebInspector.VisualStyleDetailsPanel.prototype._generateSection.replaceDashWithCapital):
2200         (WebInspector.VisualStyleDetailsPanel.prototype._generateSection.createOptionsElement):
2201         (WebInspector.VisualStyleDetailsPanel.prototype._generateSection):
2202         (WebInspector.VisualStyleDetailsPanel.prototype._prepareForChange):
2203         (WebInspector.VisualStyleDetailsPanel.prototype._updateSections):
2204         (WebInspector.VisualStyleDetailsPanel.prototype._updateProperties):
2205         (WebInspector.VisualStyleDetailsPanel.prototype._updateAutocompleteCompatiblePropertyEditor):
2206         (WebInspector.VisualStyleDetailsPanel.prototype._sectionModified):
2207         (WebInspector.VisualStyleDetailsPanel.prototype._clearModifiedSection):
2208         (WebInspector.VisualStyleDetailsPanel.prototype.get _initialTextList):
2209         (WebInspector.VisualStyleDetailsPanel.prototype._initialPropertyTextModified):
2210         (WebInspector.VisualStyleDetailsPanel.prototype._populateSection):
2211         (WebInspector.VisualStyleDetailsPanel.prototype._populateDisplaySection):
2212         (WebInspector.VisualStyleDetailsPanel.prototype._generateMetricSectionRows):
2213         (WebInspector.VisualStyleDetailsPanel.prototype._populatePositionSection):
2214         (WebInspector.VisualStyleDetailsPanel.prototype._populateFloatSection):
2215         (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners.onEditorMouseover):
2216         (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners.onEditorMouseout):
2217         (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners):
2218         (WebInspector.VisualStyleDetailsPanel.prototype._populateDimensionsSection):
2219         (WebInspector.VisualStyleDetailsPanel.prototype._populateMarginSection):
2220         (WebInspector.VisualStyleDetailsPanel.prototype._populatePaddingSection):
2221         (WebInspector.VisualStyleDetailsPanel.prototype._populateFlexboxSection):
2222         (WebInspector.VisualStyleDetailsPanel.prototype._populateTextStyleSection):
2223         (WebInspector.VisualStyleDetailsPanel.prototype._populateFontSection):
2224         (WebInspector.VisualStyleDetailsPanel.prototype._populateTextSpacingSection):
2225         (WebInspector.VisualStyleDetailsPanel.prototype._populateTextShadowSection):
2226         (WebInspector.VisualStyleDetailsPanel.prototype._populateBackgroundStyleSection):
2227         (WebInspector.VisualStyleDetailsPanel.prototype._populateBorderSection):
2228         (WebInspector.VisualStyleDetailsPanel.prototype._populateOutlineSection):
2229         (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.noRemainingTreeItems):
2230         (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.selectedBoxShadowItemValueChanged):
2231         (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.boxShadowItemSelected):
2232         (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection):
2233         (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.noRemainingTreeItems):
2234         (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.selectedtransitionItemValueChanged):
2235         (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.transitionItemSelected):
2236         (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection):
2237
2238 2015-08-14  Devin Rousso  <drousso@apple.com>
2239
2240         Web Inspector: Highlight DOM node attribute changes in parallel, not sequentially
2241         https://bugs.webkit.org/show_bug.cgi?id=148019
2242
2243         Reviewed by Brian Burg.
2244
2245         * UserInterface/Views/DOMTreeElement.js:
2246         (WebInspector.DOMTreeElement.prototype._markNodeChanged):
2247         (WebInspector.DOMTreeElement.prototype._nodeChangedAnimationEnd):
2248         Now removes the animated element from the updated list once the animation ends.
2249
2250 2015-08-14  Matt Baker  <mattbaker@apple.com>
2251
2252         Web Inspector: Long delay when row selection changes in timeline data grids
2253         https://bugs.webkit.org/show_bug.cgi?id=148005
2254
2255         Reviewed by Brian Burg.
2256
2257         Selecting a tree element in the Timelines sidebar generates multiple
2258         WebInspector.ContentView.SelectionPathComponentsDidChange events, each of which
2259         causes NavigationBar to update its layout (which is extremely expensive).
2260
2261         * UserInterface/Views/ContentBrowser.js:
2262         (WebInspector.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange):
2263         Call updateLayoutSoon instead of updateLayout to coalesce layout requests.
2264
2265         * UserInterface/Views/TimelineRecordingContentView.js:
2266         (WebInspector.TimelineRecordingContentView.prototype._recordSelected):
2267         When the selected record changes in the overview graph, make sure the record's tree element
2268         isn't already selected. Reselecting the tree element results in an extra NavigationBar layout.
2269
2270 2015-08-14  Matt Baker  <mattbaker@apple.com>
2271
2272         Web Inspector: REGRESSION (r188396): Rendering Frames timeline ruler dividers are off by 1px
2273         https://bugs.webkit.org/show_bug.cgi?id=148040
2274
2275         Reviewed by Brian Burg.
2276
2277         * UserInterface/Views/TimelineOverview.css:
2278         (.timeline-overview.frames > .timeline-ruler > .markers > .divider):
2279         (.timeline-overview.frames > .timeline-ruler > .header > .divider): Deleted.
2280         All ruler dividers should be translated by the same amount.
2281
2282 2015-08-14  Devin Rousso  <drousso@apple.com>
2283
2284         Web Inspector: Style changes to Visual sidebar editors
2285         https://bugs.webkit.org/show_bug.cgi?id=148021
2286
2287         Reviewed by Brian Burg.
2288
2289         Various style fixes and feature enhancements in some of the Visual style property editors.
2290
2291         * UserInterface/Views/VisualStyleColorPicker.css:
2292         (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch):
2293         (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > input):
2294         (.visual-style-property-container.input-color-picker.multiple > .visual-style-property-value-container > .visual-style-multiple-property-placeholder):
2295
2296         * UserInterface/Views/VisualStyleKeywordCheckbox.css:
2297         (.visual-style-property-container.keyword-checkbox.font-variant > .visual-style-property-value-container > input):
2298         (.visual-style-property-container.keyword-checkbox.font-variant > .visual-style-property-value-container > input::before):
2299         (.visual-style-property-container.keyword-checkbox > .visual-style-property-value-container > input): Deleted.
2300         (.visual-style-property-container.keyword-checkbox > .visual-style-property-value-container > div): Deleted.
2301         Replaced the SVG image before the checkbox with a :before pseudo-element with content.
2302
2303         * UserInterface/Views/VisualStyleKeywordCheckbox.js:
2304         (WebInspector.VisualStyleKeywordCheckbox):
2305         Removed the SVG image before the checkbox.
2306
2307         * UserInterface/Views/VisualStyleKeywordPicker.js:
2308         (WebInspector.VisualStyleKeywordPicker.prototype.get value):
2309         (WebInspector.VisualStyleKeywordPicker.prototype.set value):
2310         (WebInspector.VisualStyleKeywordPicker.prototype.set placeholder):
2311         (WebInspector.VisualStyleKeywordPicker.prototype.get synthesizedValue):
2312         (WebInspector.VisualStyleKeywordPicker.prototype._getValue):
2313         (WebInspector.VisualStyleKeywordPicker.prototype._setValue):
2314         (WebInspector.VisualStyleKeywordPicker.prototype._generateSynthesizedValue):
2315         (WebInspector.VisualStyleKeywordPicker.prototype._handleKeywordChanged):
2316         Due to a current bug (https://webkit.org/b/147064), you cannot extend ES6 getters/setters.  In order to work
2317         around this, a member function was added that performs the same action as the getter/setter, but can be extended.
2318
2319         * UserInterface/Views/VisualStylePropertyEditorLink.css:
2320         (.visual-style-property-editor-link.linked > .visual-style-property-editor-link-border):
2321         (.visual-style-property-editor-link > .visual-style-property-editor-link-icon > .unlinked-icon):
2322
2323         * UserInterface/Views/VisualStyleRelativeNumberSlider.js:
2324         (WebInspector.VisualStyleRelativeNumberSlider):
2325         (WebInspector.VisualStyleRelativeNumberSlider.prototype._resetSlider):
2326         (WebInspector.VisualStyleRelativeNumberSlider.prototype._sliderChanged):
2327
2328         * UserInterface/Views/VisualStyleSelectorTreeItem.css:
2329         (.item.visual-style-selector-item > input[type="checkbox"]):
2330         (.item.visual-style-selector-item.selected > input[type="checkbox"]::before):
2331         (.item.visual-style-selector-item.modified > .icon):
2332         (.item.visual-style-selector-item:not(.dom-element-icon).editable > .titles > .title:focus):
2333
2334         * UserInterface/Views/VisualStyleSelectorTreeItem.js:
2335         (WebInspector.VisualStyleSelectorTreeItem.prototype._handleContextMenuEvent):
2336         (WebInspector.VisualStyleSelectorTreeItem.prototype._handleMainTitleMouseDown):
2337         Added another context menu item to show the source location for the selected rule.
2338
2339 2015-08-14  Devin Rousso  <drousso@apple.com>
2340
2341         Web Inspector: Add visual editors for CSS properties
2342         https://bugs.webkit.org/show_bug.cgi?id=147576
2343
2344         Added parent class for property editors in the Visual style
2345         details panel in the CSS sidebar.
2346
2347         Reviewed by Timothy Hatcher.
2348
2349         * UserInterface/Views/VisualStylePropertyCombiner.js: Added.
2350         (WebInspector.VisualStylePropertyCombiner):
2351         (WebInspector.VisualStylePropertyCombiner.prototype.get style):
2352         (WebInspector.VisualStylePropertyCombiner.prototype.get synthesizedValue):
2353         (WebInspector.VisualStylePropertyCombiner.prototype.modifyPropertyText):
2354         (WebInspector.VisualStylePropertyCombiner.prototype.update):
2355         (WebInspector.VisualStylePropertyCombiner.prototype.updateValuesFromText.updateCompatibleEditor):
2356         (WebInspector.VisualStylePropertyCombiner.prototype.updateValuesFromText):
2357         (WebInspector.VisualStylePropertyCombiner.prototype.propertyMissing):
2358         (WebInspector.VisualStylePropertyCombiner.prototype.resetEditorValues):
2359         (WebInspector.VisualStylePropertyCombiner.prototype._markEditors):
2360         (WebInspector.VisualStylePropertyCombiner.prototype._handlePropertyEditorValueChanged):
2361
2362         * UserInterface/Views/VisualStylePropertyEditor.css: Added.
2363         (.visual-style-property-container):
2364         (.visual-style-property-container > .visual-style-property-title):
2365         (.visual-style-property-container > .visual-style-property-title > .property-reference-info):
2366         (.visual-style-property-container.disabled > .visual-style-property-title > :not(.property-reference-info)):
2367         (.visual-style-property-container > .visual-style-property-value-container):
2368         (.visual-style-property-container.disabled > .visual-style-property-value-container):
2369         (.visual-style-property-container > .visual-style-property-value-container select):
2370         (.visual-style-property-container > .visual-style-property-value-container input):
2371         (.visual-style-property-container.disabled > .visual-style-property-value-container input):
2372         (.visual-style-property-container.layout-reversed > .visual-style-property-title):
2373         (.visual-style-property-container > .visual-style-property-value-container > .visual-style-special-property-placeholder):
2374         (.visual-style-property-info-popover):
2375         (.visual-style-property-info-popover > h3):
2376
2377         * UserInterface/Views/VisualStylePropertyEditor.js: Added.
2378         (WebInspector.VisualStylePropertyEditor.canonicalizeValues):
2379         (WebInspector.VisualStylePropertyEditor):
2380         (WebInspector.VisualStylePropertyEditor.prototype.get element):
2381         (WebInspector.VisualStylePropertyEditor.prototype.get style):
2382         (WebInspector.VisualStylePropertyEditor.prototype.get value):
2383         (WebInspector.VisualStylePropertyEditor.prototype.set value):
2384         (WebInspector.VisualStylePropertyEditor.prototype.get units):
2385         (WebInspector.VisualStylePropertyEditor.prototype.set units):
2386         (WebInspector.VisualStylePropertyEditor.prototype.get placeholder):
2387         (WebInspector.VisualStylePropertyEditor.prototype.set placeholder):
2388         (WebInspector.VisualStylePropertyEditor.prototype.get synthesizedValue):
2389         (WebInspector.VisualStylePropertyEditor.prototype.set suppressStyleTextUpdate):
2390         (WebInspector.VisualStylePropertyEditor.prototype.set masterProperty):
2391         (WebInspector.VisualStylePropertyEditor.prototype.get masterProperty):
2392         (WebInspector.VisualStylePropertyEditor.prototype.set optionalProperty):
2393         (WebInspector.VisualStylePropertyEditor.prototype.get optionalProperty):
2394         (WebInspector.VisualStylePropertyEditor.prototype.set colorProperty):
2395         (WebInspector.VisualStylePropertyEditor.prototype.get colorProperty):
2396         (WebInspector.VisualStylePropertyEditor.prototype.get propertyReferenceName):
2397         (WebInspector.VisualStylePropertyEditor.prototype.set propertyReferenceName):
2398         (WebInspector.VisualStylePropertyEditor.prototype.set disabled):
2399         (WebInspector.VisualStylePropertyEditor.prototype.get disabled):
2400         (WebInspector.VisualStylePropertyEditor.prototype.update):
2401         (WebInspector.VisualStylePropertyEditor.prototype.updateEditorValues):
2402         (WebInspector.VisualStylePropertyEditor.prototype.resetEditorValues):
2403         (WebInspector.VisualStylePropertyEditor.prototype.modifyPropertyText):
2404         (WebInspector.VisualStylePropertyEditor.prototype.getValuesFromText):
2405         (WebInspector.VisualStylePropertyEditor.prototype.propertyMissing):
2406         (WebInspector.VisualStylePropertyEditor.prototype.valueIsCompatible):
2407         (WebInspector.VisualStylePropertyEditor.prototype.valueIsSupportedKeyword):
2408         (WebInspector.VisualStylePropertyEditor.prototype.valueIsSupportedUnit):
2409         (WebInspector.VisualStylePropertyEditor.prototype.get contentElement):
2410         (WebInspector.VisualStylePropertyEditor.prototype.get specialPropertyPlaceholderElement):
2411         (WebInspector.VisualStylePropertyEditor.prototype.parseValue):
2412         (WebInspector.VisualStylePropertyEditor.prototype._valueIsSupportedAdvancedKeyword):
2413         (WebInspector.VisualStylePropertyEditor.prototype._valueIsSupportedAdvancedUnit):
2414         (WebInspector.VisualStylePropertyEditor.prototype._canonicalizedKeywordForKey):
2415         (WebInspector.VisualStylePropertyEditor.prototype._keyForKeyword):
2416         (WebInspector.VisualStylePropertyEditor.prototype._valueDidChange):
2417         (WebInspector.VisualStylePropertyEditor.prototype._replaceShorthandPropertyWithLonghandProperties):
2418         (WebInspector.VisualStylePropertyEditor.prototype._titleElementPrepareForClick):
2419         (WebInspector.VisualStylePropertyEditor.prototype._titleElementMouseOver):
2420         (WebInspector.VisualStylePropertyEditor.prototype._titleElementMouseOut):
2421         (WebInspector.VisualStylePropertyEditor.prototype._titleElementClick):
2422         (WebInspector.VisualStylePropertyEditor.prototype._hasMultipleConflictingValues):
2423         (WebInspector.VisualStylePropertyEditor.prototype._showPropertyInfoPopover):
2424         (WebInspector.VisualStylePropertyEditor.prototype._toggleTabbingOfSelectableElements):
2425
2426         * UserInterface/Views/VisualStyleTabbedPropertiesRow.css: Added.
2427         (.visual-style-tabbed-properties-row ~ :not(.visible)):
2428         (.visual-style-tabbed-properties-row > .visual-style-tabbed-properties-row-container):
2429         (.visual-style-tabbed-properties-row > .visual-style-tabbed-properties-row-container > button):
2430         (.visual-style-tabbed-properties-row > .visual-style-tabbed-properties-row-container > button.selected):
2431         (.visual-style-tabbed-properties-row > .visual-style-tabbed-properties-row-container > button:not(.selected):hover):
2432
2433         * UserInterface/Views/VisualStyleTabbedPropertiesRow.js: Added.
2434         (WebInspector.VisualStyleTabbedPropertiesRow):
2435         (WebInspector.VisualStyleTabbedPropertiesRow.prototype._handleButtonClicked):
2436
2437 2015-08-14  Devin Rousso  <drousso@apple.com>
2438
2439         Web Inspector: Add Visual editors for CSS properties with comma separated values
2440         https://bugs.webkit.org/show_bug.cgi?id=147578
2441
2442         Reviewed by Timothy Hatcher.
2443
2444         Displays comma separated CSS property values as a tree outline list.
2445
2446         * UserInterface/Images/Minus.svg: Added.
2447         * UserInterface/Views/TreeOutline.js:
2448         (WebInspector.TreeOutline.prototype.get selectedTreeElementIndex):
2449         (WebInspector.TreeOutline):
2450
2451         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css: Added.
2452         (.visual-style-property-container.comma-separated-keyword-editor):
2453         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container):
2454         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list):
2455         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item):
2456         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item:nth-child(odd)):
2457         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item.selected):
2458         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item > :matches(button, img)):
2459         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item > .titles):
2460         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item.visual-style-font-family-list-item.selected:not(.editor-hidden) > .titles > *):
2461         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item.visual-style-font-family-list-item > .visual-style-comma-separated-keyword-item-editor):
2462         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item.visual-style-font-family-list-item.editor-hidden > .visual-style-comma-separated-keyword-item-editor):
2463         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item > .titles > .subtitle):
2464         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item:not(.no-value) > .titles > .subtitle):
2465         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-controls):
2466         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-controls > div):
2467         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-controls > .visual-style-remove-comma-separated-keyword):
2468
2469         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js: Added.
2470         (WebInspector.VisualStyleCommaSeparatedKeywordEditor):
2471         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.set selectedTreeElementValue):
2472         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.get value):
2473         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.set value):
2474         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.get synthesizedValue):
2475         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._treeElementSelected):
2476         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._treeItemIsEmpty):
2477         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._addEmptyCommaSeparatedKeyword):
2478         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._removeSelectedCommaSeparatedKeyword):
2479         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._removeEmptyCommaSeparatedKeywords):
2480         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._addCommaSeparatedKeyword):
2481         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._removeCommaSeparatedKeyword):
2482         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._createNewTreeElement):
2483
2484         * UserInterface/Views/VisualStyleFontFamilyListEditor.js: Added.
2485         (WebInspector.VisualStyleFontFamilyListEditor):
2486         (WebInspector.VisualStyleFontFamilyListEditor.prototype.visualStyleCompletionsControllerCustomizeCompletionElement):
2487         (WebInspector.VisualStyleFontFamilyListEditor.prototype.get hasCompletions):
2488         (WebInspector.VisualStyleFontFamilyListEditor.prototype.set completions):
2489         (WebInspector.VisualStyleFontFamilyListEditor.prototype._modifyCommaSeparatedKeyword):
2490         (WebInspector.VisualStyleFontFamilyListEditor.prototype._addCommaSeparatedKeyword):
2491         (WebInspector.VisualStyleFontFamilyListEditor.prototype._addEmptyCommaSeparatedKeyword):
2492         (WebInspector.VisualStyleFontFamilyListEditor.prototype._completionClicked):
2493         (WebInspector.VisualStyleFontFamilyListEditor.prototype._treeElementKeyDown):
2494         (WebInspector.VisualStyleFontFamilyListEditor.prototype._treeElementKeywordChanged):
2495         (WebInspector.VisualStyleFontFamilyListEditor.prototype._hideCompletions):
2496         (WebInspector.VisualStyleFontFamilyListEditor.prototype._createNewTreeElement):
2497
2498         * UserInterface/Views/VisualStyleFontFamilyTreeElement.js: Added.
2499         (WebInspector.VisualStyleFontFamilyTreeElement):
2500         (WebInspector.VisualStyleFontFamilyTreeElement.prototype.editorBounds):
2501         (WebInspector.VisualStyleFontFamilyTreeElement.prototype.updateMainTitle):
2502         (WebInspector.VisualStyleFontFamilyTreeElement.prototype.showKeywordEditor):
2503         (WebInspector.VisualStyleFontFamilyTreeElement.prototype.hideKeywordEditor):
2504         (WebInspector.VisualStyleFontFamilyTreeElement.prototype.get keywordEditorHidden):
2505         (WebInspector.VisualStyleFontFamilyTreeElement.prototype.onattach):
2506         (WebInspector.VisualStyleFontFamilyTreeElement.prototype.ondeselect):
2507         (WebInspector.VisualStyleFontFamilyTreeElement.prototype._keywordEditorKeyDown):
2508         (WebInspector.VisualStyleFontFamilyTreeElement.prototype._keywordEditorKeyUp):
2509         (WebInspector.VisualStyleFontFamilyTreeElement.prototype._keywordEditorBlurred):
2510
2511 2015-08-14  Devin Rousso  <drousso@apple.com>
2512
2513         Web Inspector: Add autocomplete controller for Visual property editors
2514         https://bugs.webkit.org/show_bug.cgi?id=147579
2515
2516         Reviewed by Timothy Hatcher.
2517
2518         * UserInterface/Controllers/VisualStyleCompletionsController.js: Added.
2519         (WebInspector.VisualStyleCompletionsController):
2520         Takes in a CSSCompletions and displays a list of suggestions based on a given prefix in a popover.
2521         (WebInspector.VisualStyleCompletionsController.prototype.get visible):
2522         (WebInspector.VisualStyleCompletionsController.prototype.get hasCompletions):
2523         (WebInspector.VisualStyleCompletionsController.prototype.get currentCompletion):
2524         (WebInspector.VisualStyleCompletionsController.prototype.set completions):
2525         (WebInspector.VisualStyleCompletionsController.prototype.completionSuggestionsViewCustomizeCompletionElement):
2526         (WebInspector.VisualStyleCompletionsController.prototype.previous):
2527         (WebInspector.VisualStyleCompletionsController.prototype.next):
2528         (WebInspector.VisualStyleCompletionsController.prototype.update):
2529         (WebInspector.VisualStyleCompletionsController.prototype.show):
2530         (WebInspector.VisualStyleCompletionsController.prototype.hide):
2531
2532         * UserInterface/Models/CSSKeywordCompletions.js:
2533         (WebInspector.CSSKeywordCompletions.forProperty):
2534         Make sure that the cssNameCompletions exist before trying to add them.
2535
2536         * UserInterface/Views/CompletionSuggestionsView.js:
2537         (WebInspector.CompletionSuggestionsView.prototype.update):
2538         Allow the delegate to modify the newly created completion suggestion item.
2539
2540 2015-08-14  Devin Rousso  <drousso@apple.com>
2541
2542         Web Inspector: Add a visual editor for timing functions
2543         https://bugs.webkit.org/show_bug.cgi?id=148022
2544
2545         Reviewed by Timothy Hatcher.
2546
2547         Uses the existing bezier editor and the Visual keyword picker to make an editor for timing functions.
2548
2549         * UserInterface/Views/VisualStyleTimingEditor.css: Added.
2550         (.visual-style-property-container.timing-editor > .visual-style-property-value-container):
2551         (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .keyword-picker-select):
2552         (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .bezier-editor):
2553         (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .bezier-editor:hover):
2554         (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .bezier-editor:active):
2555
2556         * UserInterface/Views/VisualStyleTimingEditor.js: Added.
2557         (WebInspector.VisualStyleTimingEditor):
2558         (WebInspector.VisualStyleTimingEditor.prototype.parseValue):
2559         (WebInspector.VisualStyleTimingEditor.prototype.get bezierValue):
2560         (WebInspector.VisualStyleTimingEditor.prototype.set bezierValue):
2561         (WebInspector.VisualStyleTimingEditor.prototype._getValue):
2562         (WebInspector.VisualStyleTimingEditor.prototype._setValue):
2563         (WebInspector.VisualStyleTimingEditor.prototype._generateSynthesizedValue):
2564         (WebInspector.VisualStyleTimingEditor.prototype._bezierMarkerClicked):
2565         (WebInspector.VisualStyleTimingEditor.prototype._handleKeywordChanged):
2566
2567 2015-08-13  Nikita Vasilyev  <nvasilyev@apple.com>
2568
2569         Web Inspector: Can't resize split console when window is too narrow
2570         https://bugs.webkit.org/show_bug.cgi?id=147924
2571
2572         Make some items inside of the navigation bar click-through to incsease
2573         the draggable area.
2574
2575         Reviewed by Timothy Hatcher.
2576
2577         * UserInterface/Views/Main.css:
2578         (#split-content-browser > .navigation-bar > :matches(.hierarchical-path, .log-search-bar, .log-scope-bar)):
2579         (#split-content-browser > .navigation-bar > :matches(.log-search-bar, .log-scope-bar) > :matches(li, input)):
2580
2581 2015-08-13  Devin Rousso  <drousso@apple.com>
2582
2583         Web Inspector: Flash DOM node attribute on change
2584         https://bugs.webkit.org/show_bug.cgi?id=147973
2585
2586         Reviewed by Timothy Hatcher.
2587
2588         Whenever an attribute on a DOM node changes, flash the attribute value.
2589         If that value doesn't exist, flash the attribute name instead.
2590
2591         * UserInterface/Views/DOMTreeElement.js:
2592         (WebInspector.DOMTreeElement):
2593         (WebInspector.DOMTreeElement.prototype.nodeChanged):
2594         (WebInspector.DOMTreeElement.prototype._buildAttributeDOM):
2595         If the node has been marked with a general change, mark the attribute element for animation.
2596         (WebInspector.DOMTreeElement.prototype._markNodeChanged.animationEnd):
2597         (WebInspector.DOMTreeElement.prototype._markNodeChanged):
2598         Adds a class to the given element that applies a simple background flash animation.
2599         (WebInspector.DOMTreeElement.prototype._fireDidChange):
2600         Add the animation class once all building of the represented DOM object for that node is done.
2601
2602         * UserInterface/Views/DOMTreeOutline.css:
2603         (@keyframes node-state-changed):
2604         Applies a semi-transparent background that fades to default.
2605         (.node-state-changed):
2606
2607         * UserInterface/Views/DOMTreeUpdater.js:
2608         (WebInspector.DOMTreeUpdater.prototype._attributesUpdated):
2609         Now passes along the name of the modified attribute.
2610         (WebInspector.DOMTreeUpdater.prototype._updateModifiedNodes):
2611         If the modified node object has an attribute member, mark the node as being generally changed.
2612
2613 2015-08-13  Devin Rousso  <drousso@apple.com>
2614
2615         REGRESSION (r184000): Web Inspector: Stripped whitespace after editing CSS in Styles sidebar
2616         https://bugs.webkit.org/show_bug.cgi?id=145679
2617
2618         Reviewed by Timothy Hatcher.
2619
2620         The formatter will now calculate the number of beginning spaces before the first line in a rule
2621         and duplicate them in front of every other line.  If there is no new line at the beginning or are
2622         no spaces, assume 4 spaces and a new line for each property.
2623         Also cleaned up the code for _resetContent a bit.
2624
2625         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2626         (WebInspector.CSSStyleDeclarationTextEditor):
2627         (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update.set get this):
2628         (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update.get this):
2629         (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update):
2630         (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent):
2631
2632 2015-08-13  Matt Baker  <mattbaker@apple.com>
2633
2634         Web Inspector: Skip rendering frame records without children
2635         https://bugs.webkit.org/show_bug.cgi?id=147993
2636
2637         Reviewed by Reviewed by Joseph Pecoraro.
2638
2639         This became an issue for frames which include an IndexedDB "success" event. This caused the
2640         payload to pass the "has children" test, but resulted in model objects with no child records.
2641
2642         * UserInterface/Controllers/TimelineManager.js:
2643         (WebInspector.TimelineManager.prototype.eventRecorded):
2644         Fixed record type check and moved rendering frame index assignment.
2645
2646         * UserInterface/Models/RenderingFrameTimelineRecord.js:
2647         (WebInspector.RenderingFrameTimelineRecord):
2648         (WebInspector.RenderingFrameTimelineRecord.prototype.setupFrameIndex):
2649         Frame index is now set externally, and can only be set once.
2650
2651         * UserInterface/Views/RenderingFrameTimelineView.js:
2652         (WebInspector.RenderingFrameTimelineView.prototype._renderingFrameTimelineRecordAdded):
2653         Added assertion.
2654
2655 2015-08-13  Joseph Pecoraro  <pecoraro@apple.com>
2656
2657         Web Inspector: Watch Expressions
2658         https://bugs.webkit.org/show_bug.cgi?id=147904
2659
2660         Reviewed by Brian Burg.
2661
2662         * UserInterface/Protocol/RemoteObject.js:
2663         (WebInspector.RemoteObject):
2664         A RemoteObject's description string is optional, but we always
2665         assume it exists and is a string, so default to the empty string.
2666
2667         * UserInterface/Controllers/RuntimeManager.js:
2668         (WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow.evalCallback):
2669         Include the object group in the DidEvaluate event.
2670
2671         (WebInspector.RemoteObject.fakeRemoteObject):
2672         (WebInspector.RemoteObject.prototype.getDisplayablePropertyDescriptors):
2673         (WebInspector.RemoteObject.prototype.deprecatedGetDisplayableProperties.get return):
2674         (WebInspector.RemoteObject.prototype.deprecatedGetDisplayableProperties):
2675         (WebInspector.RemoteObject.prototype._isFakeObject):
2676         (WebInspector.RemoteObject.prototype._getPropertyDescriptors):
2677         (WebInspector.RemoteObject.prototype._deprecatedGetProperties):
2678         Support a fake RemoteObject. We use this fake RemoteObject to
2679         back a ObjectTreeView where we add custom Properties which are of the form
2680         "Expressions => RemoteObject" instead of "Object Property => RemoteObject".
2681         Ensure a fake remote object is not used in unexpected ways.
2682
2683         * UserInterface/Views/Popover.js:
2684         (WebInspector.Popover.prototype.update):
2685         Default a popover update to animate, but allow not animating.
2686
2687         (WebInspector.Popover.prototype.handleEvent):
2688         Vend a class that other content can use so that the Popover won't
2689         dismiss if content with that class is scrolled. For example, a
2690         completions list may be showing over a popover, if that scrolls
2691         it should not dismiss the popover.
2692
2693         * UserInterface/Views/CompletionSuggestionsView.js:
2694         (WebInspector.CompletionSuggestionsView):
2695         Adopt the Popover ignore class so a popover won't dismiss if the
2696         completion suggestions view is scrolled.
2697
2698         * UserInterface/Views/ObjectTreeBaseTreeElement.js:
2699         (WebInspector.ObjectTreeBaseTreeElement.prototype.createGetterElement.get return):
2700         (WebInspector.ObjectTreeBaseTreeElement.prototype.createGetterElement):
2701         Allow modifying the context menu on an ObjectTreeView by looking for a delegate
2702         on the TreeOutline.
2703
2704         * UserInterface/Views/ScopeChainDetailsSidebarPanel.css: Added.
2705         (.details-section.watch-expressions .options > *):
2706         (.details-section.watch-expressions .options > *:active):
2707         (.details-section.watch-expressions .options > .watch-expression-add):
2708         (.details-section.watch-expressions .options > .watch-expression-clear):
2709         (.details-section.watch-expressions .options > .watch-expression-refresh):
2710         (.popover .watch-expression):
2711         (.watch-expression-editor):
2712         (.watch-expression-editor > .CodeMirror):
2713         (.watch-expression-editor > .CodeMirror-scroll):
2714         Styles for the new Watch Expressions section, buttons, popover, and editor.
2715
2716         * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
2717         (WebInspector.ScopeChainDetailsSidebarPanel):
2718         (WebInspector.ScopeChainDetailsSidebarPanel.prototype.inspect):
2719         (WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh):
2720         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateCallFramesSection):
2721         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateWatchExpressionsSection):
2722         Because we update the UI after a delay, to allow ObjectTreeView's to asynchronously
2723         expand and fetch their list of properties, we convert updating the watch expression
2724         and call frame sections asynchronously and return a promise. This lets us visually
2725         update the UI after both sections have updated.
2726
2727         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpression):
2728         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._removeWatchExpression):
2729         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._clearAllWatchExpressions):
2730         Modify the saved list of watch expressions.
2731
2732         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpressionButtonClicked.presentPopoverOverTargetElement):
2733         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpressionButtonClicked.this._codeMirror.addKeyMap):
2734         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpressionButtonClicked):
2735         (WebInspector.ScopeChainDetailsSidebarPanel.prototype.willDismissPopover):
2736         Handle presenting and dismissing the add watch expression popover.
2737
2738         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._refreshAllWatchExpressionsButtonClicked):
2739         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._clearAllWatchExpressionsButtonClicked):
2740         Other button handlers.
2741
2742         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._mainResourceDidChange):
2743         Refresh the sidebar on navigation, as the watch expressions may change value (`location.href`).
2744
2745         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._objectTreeElementAddContextMenuItems):
2746         Add our own context menu items to watch expression ObjectTreeView tree elements to
2747         allow removing a watch expression.
2748
2749         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._propertyPathIdentifierForTreeElement):
2750         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._objectTreeAddHandler):
2751         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._objectTreeExpandHandler):
2752         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._objectTreeCollapseHandler):
2753         Convert code to use `let`.
2754
2755         * Localizations/en.lproj/localizedStrings.js:
2756         * UserInterface/Main.html:
2757         Misc. changes.
2758
2759 2015-08-13  Joseph Pecoraro  <pecoraro@apple.com>
2760
2761         Web Inspector: A {Map, WeakMap, Set, WeakSet} object contains itself will hang the console
2762         https://bugs.webkit.org/show_bug.cgi?id=147966
2763
2764         Reviewed by Timothy Hatcher.
2765
2766         * UserInterface/Views/ObjectPreviewView.js:
2767         (WebInspector.ObjectPreviewView.prototype._appendEntryPreviews):
2768         (WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
2769         For empty overflow previews, don't show ", ..." if we didn't show any
2770         values; just show "..." in these cases.
2771
2772 2015-08-13  Matt Baker  <mattbaker@apple.com>
2773
2774         Web Inspector: Hide child rows for filtered tasks in the Rendering Frames data grid
2775         https://bugs.webkit.org/show_bug.cgi?id=147960
2776
2777         Reviewed by Timothy Hatcher.
2778
2779         * UserInterface/Models/RenderingFrameTimelineRecord.js:
2780         (WebInspector.RenderingFrameTimelineRecord.taskTypeForTimelineRecord):
2781         New static method for mapping TimelineRecords to rendering frame tasks.
2782         (WebInspector.RenderingFrameTimelineRecord.prototype.durationForTask):
2783         Refactored to use taskTypeForTimelineRecord.
2784
2785         * UserInterface/Views/TimelineSidebarPanel.js:
2786         (WebInspector.TimelineSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
2787         Task filtering is applied to children of the frame record only. Parent frame
2788         record is hidden by default, and visible by virtue of having unfiltered children.
2789
2790 2015-08-13  Matt Baker  <mattbaker@apple.com>
2791
2792         Web Inspector: Clearing frames timeline doesn't remove current time marker
2793         https://bugs.webkit.org/show_bug.cgi?id=147650
2794
2795         Reviewed by Timothy Hatcher.
2796
2797         The rendering frames timeline offsets all markers by 1px to align them on frame
2798         boundaries, which causes the current time marker to be visible even with left: 0px.
2799         We can exclude the current time marker without it being noticable during recording.
2800
2801         * UserInterface/Views/TimelineOverview.css:
2802
2803 2015-08-13  Nikita Vasilyev  <nvasilyev@apple.com>
2804
2805         REGRESSION (r188325): Web Inspector: Fix vertical spacing in CodeMirror
2806         https://bugs.webkit.org/show_bug.cgi?id=147971
2807
2808         r188325 inceased line-height by 2px. Remove top and bottom 1px padding
2809         to compensate for line-height changes.
2810
2811         In the feature we may highlight the backgroud of text tokens (e.g. for the
2812         heatmap profiler) so we would want to get rid of the gaps between the lines
2813         (caused by the paddind) regardless of this regression.
2814
2815         Reviewed by Timothy Hatcher.
2816
2817         * UserInterface/Views/CodeMirrorOverrides.css:
2818         (.CodeMirror pre):
2819
2820 2015-08-12  Joseph Pecoraro  <pecoraro@apple.com>
2821
2822         Web Inspector: Sometimes CSS resources don't update after editing via Styles panel
2823         https://bugs.webkit.org/show_bug.cgi?id=143244
2824
2825         Reviewed by Timothy Hatcher.
2826
2827         * UserInterface/Models/SourceCode.js:
2828         (WebInspector.SourceCode.prototype._processContent):
2829         This code is brittle and we should move off of putting the
2830         possibly stale content in the Promise result.
2831
2832         * UserInterface/Views/ResourceContentView.js:
2833         (WebInspector.ResourceContentView.prototype._contentAvailable):
2834         * UserInterface/Views/SourceCodeTextEditor.js:
2835         (WebInspector.SourceCodeTextEditor.prototype._contentAvailable):
2836         * UserInterface/Models/Script.js:
2837         (WebInspector.Script.prototype.requestScriptSyntaxTree):
2838         Use the current source code's content.
2839
2840 2015-08-12  Joseph Pecoraro  <pecoraro@apple.com>
2841
2842         Web Inspector: Fix Poor Class Names
2843         https://bugs.webkit.org/show_bug.cgi?id=147958
2844
2845         Reviewed by Timothy Hatcher.
2846
2847         * UserInterface/Views/ClusterContentView.js:
2848         * UserInterface/Views/ResourceContentView.js:
2849
2850 2015-08-12  Devin Rousso  <drousso@apple.com>
2851
2852         Web Inspector: Opening the Elements tab without a selected sidebar panel causes a crash
2853         https://bugs.webkit.org/show_bug.cgi?id=147965
2854
2855         Reviewed by Timothy Hatcher.
2856
2857         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
2858         (WebInspector.CSSStyleDetailsSidebarPanel):
2859         If the saved setting for the selectedPanel does not exist, default to the rules panel.
2860
2861         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._switchPanels):
2862         Only save the new navigationItem info if the selectedPanel exists.
2863
2864 2015-08-12  Matt Baker  <mattbaker@apple.com>
2865
2866         Web Inspector: Remove clamp and adopt Number.constrain
2867         https://bugs.webkit.org/show_bug.cgi?id=147952
2868
2869         Reviewed by Timothy Hatcher.
2870
2871         * UserInterface/Base/Utilities.js:
2872         Removed clamp function.
2873
2874         * UserInterface/Views/BezierEditor.js:
2875         (WebInspector.BezierEditor.prototype._updateControlPointsForMouseEvent):
2876         * UserInterface/Views/ProfileNodeDataGridNode.js:
2877         (WebInspector.ProfileNodeDataGridNode.prototype.updateRangeTimes):
2878         * UserInterface/Views/ScriptTimelineDataGridNode.js:
2879         (WebInspector.ScriptTimelineDataGridNode.prototype.updateRangeTimes):
2880         * UserInterface/Views/TimelineRuler.js:
2881         (WebInspector.TimelineRuler.prototype._updateSelection):
2882         Replaced instances of clamp with Number.constrain.
2883
2884 2015-08-12  Joseph Pecoraro  <pecoraro@apple.com>
2885
2886         Web Inspector: DOM Node should have context menu to scroll it into view on the inspected page
2887         https://bugs.webkit.org/show_bug.cgi?id=147913
2888
2889         Reviewed by Timothy Hatcher.
2890
2891         * Localizations/en.lproj/localizedStrings.js:
2892         * UserInterface/Views/DOMTreeElement.js:
2893         (WebInspector.DOMTreeElement.prototype._updateChildren.set continue):
2894         (WebInspector.DOMTreeElement.prototype._populateNodeContextMenu):
2895         Add a context menu item to scroll into view for element nodes.
2896
2897         (WebInspector.DOMTreeElement.prototype._scrollIntoView.resolvedNode.scrollIntoView):
2898         (WebInspector.DOMTreeElement.prototype._scrollIntoView.resolvedNode):
2899         (WebInspector.DOMTreeElement.prototype._scrollIntoView):
2900         Call scrollIntoViewIfNeeded on the real Node.
2901
2902         * UserInterface/Views/DOMTreeOutline.js:
2903         (WebInspector.DOMTreeOutline.prototype.populateContextMenu):
2904         Remove unused parameter.
2905
2906         * UserInterface/Views/ObjectTreeBaseTreeElement.js:
2907         (WebInspector.ObjectTreeBaseTreeElement.prototype._appendMenusItemsForObject):
2908         Add context menu for Nodes in ObjectTrees.
2909
2910 2015-08-12  Dan Bernstein  <mitz@apple.com>
2911
2912         Removed the executable bit from non-executable source.
2913
2914         * UserInterface/External/CodeMirror/LICENSE: Removed property svn:executable.
2915         * UserInterface/External/CodeMirror/clojure.js: Removed property svn:executable.
2916         * UserInterface/External/CodeMirror/closebrackets.js: Removed property svn:executable.
2917         * UserInterface/External/CodeMirror/codemirror.css: Removed property svn:executable.
2918         * UserInterface/External/CodeMirror/codemirror.js: Removed property svn:executable.
2919         * UserInterface/External/CodeMirror/coffeescript.js: Removed property svn:executable.
2920         * UserInterface/External/CodeMirror/comment.js: Removed property svn:executable.
2921         * UserInterface/External/CodeMirror/css.js: Removed property svn:executable.
2922         * UserInterface/External/CodeMirror/htmlmixed.js: Removed property svn:executable.
2923         * UserInterface/External/CodeMirror/javascript.js: Removed property svn:executable.
2924         * UserInterface/External/CodeMirror/livescript.js: Removed property svn:executable.
2925         * UserInterface/External/CodeMirror/matchbrackets.js: Removed property svn:executable.
2926         * UserInterface/External/CodeMirror/overlay.js: Removed property svn:executable.
2927         * UserInterface/External/CodeMirror/placeholder.js: Removed property svn:executable.
2928         * UserInterface/External/CodeMirror/runmode.js: Removed property svn:executable.
2929         * UserInterface/External/CodeMirror/sass.js: Removed property svn:executable.
2930         * UserInterface/External/CodeMirror/searchcursor.js: Removed property svn:executable.
2931         * UserInterface/External/CodeMirror/sql.js: Removed property svn:executable.
2932         * UserInterface/External/CodeMirror/xml.js: Removed property svn:executable.
2933
2934 2015-08-11  Matt Baker  <mattbaker@apple.com>
2935
2936         Web Inspector: TimelineView data not cleared when recording is reset
2937         https://bugs.webkit.org/show_bug.cgi?id=147916
2938
2939         Reviewed by Timothy Hatcher.
2940
2941         Each derived timeline view maintains a separate array of timeline records. These weren't
2942         cleared on reset, so switching to a timeline view after clearing the recording caused
2943         the view to populate its tree outline.
2944
2945         * UserInterface/Views/LayoutTimelineView.js:
2946         (WebInspector.LayoutTimelineView.set columns):
2947         (WebInspector.LayoutTimelineView):
2948         * UserInterface/Views/NetworkTimelineView.js:
2949         (WebInspector.NetworkTimelineView.set columns):
2950         (WebInspector.NetworkTimelineView):
2951         * UserInterface/Views/OverviewTimelineView.js:
2952         (WebInspector.OverviewTimelineView.prototype.reset):
2953         (WebInspector.OverviewTimelineView.prototype._processPendingRepresentedObjects):
2954         * UserInterface/Views/RenderingFrameTimelineView.js:
2955         (WebInspector.RenderingFrameTimelineView.prototype.reset):
2956         * UserInterface/Views/ScriptTimelineView.js:
2957         (WebInspector.ScriptTimelineView.prototype.reset):
2958
2959 2015-08-11  Matt Baker  <mattbaker@apple.com>
2960
2961         Web Inspector: Dragging a timeline ruler handle when both handles clamped is broken
2962         https://bugs.webkit.org/show_bug.cgi?id=147912
2963
2964         Reviewed by Timothy Hatcher.
2965
2966         When clamped handles overlap, the handle nearest in time to the ruler's edge should be visible and
2967         clickable, and the other should be hidden. This change ensures that clicking and dragging a ruler
2968         handle to modify a selection outside the visible area works correctly.
2969
2970         * UserInterface/Views/TimelineOverview.css:
2971         (.timeline-overview.frames > .timeline-ruler:not(.both-handles-clamped) > .selection-handle.right):
2972         Style adjustment for rendering frames, which offsets the right handle by 5px instead of 4px.
2973         (.timeline-overview.frames > .timeline-ruler:not(.both-handles-clamped) > .shaded-area.right):
2974         Style adjustment for rendering frames, which offsets the right shaded area by 1px.
2975         (.timeline-overview.frames > .timeline-ruler > .selection-handle.right): Deleted.
2976         (.timeline-overview.frames > .timeline-ruler > .shaded-area.right): Deleted.
2977
2978         * UserInterface/Views/TimelineRuler.css:
2979         (.timeline-ruler.both-handles-clamped > .selection-handle):
2980         Updated handle style when both are clamped.
2981         (.timeline-ruler > .selection-handle.clamped.hidden):
2982         Hide the clamped handle that is beneath the other clamped handle.
2983
2984         * UserInterface/Views/TimelineRuler.js:
2985         (WebInspector.TimelineRuler.prototype._updateSelection):
2986
2987
2988 2015-08-11  Devin Rousso  <drousso@apple.com>
2989
2990         Web Inspector: Disabling attribute styles should not be possible
2991         https://bugs.webkit.org/show_bug.cgi?id=147922
2992
2993         Reviewed by Timothy Hatcher.
2994
2995         * UserInterface/Views/CSSStyleDeclarationSection.js:
2996         (WebInspector.CSSStyleDeclarationSection):
2997         Increases the specificity of the if statement that adds rule disable state toggling to the icon.
2998
2999 2015-08-11  Devin Rousso  <drousso@apple.com>
3000
3001         Web Inspector: Update to CodeMirror 5.5 or later
3002         https://bugs.webkit.org/show_bug.cgi?id=147109
3003
3004         Reviewed by Timothy Hatcher.
3005
3006         Updated CodeMirror to version 5.5, as well as the extension files for CodeMirror
3007         that are currently used in WebInspector.
3008
3009         * Localizations/en.lproj/localizedStrings.js:
3010         * Tools/PrettyPrinting/FormatterDebug.js:
3011         Added WebInspector namespace for formatters.
3012
3013         * Tools/PrettyPrinting/index.html:
3014         Added WebInspector namespace for formatters.
3015
3016         * UserInterface/External/CodeMirror/LICENSE:
3017         * UserInterface/External/CodeMirror/clojure.js:
3018         * UserInterface/External/CodeMirror/closebrackets.js:
3019         * UserInterface/External/CodeMirror/codemirror.css:
3020         * UserInterface/External/CodeMirror/codemirror.js:
3021         * UserInterface/External/CodeMirror/coffeescript.js:
3022         * UserInterface/External/CodeMirror/comment.js:
3023         * UserInterface/External/CodeMirror/css.js:
3024         * UserInterface/External/CodeMirror/htmlmixed.js:
3025         * UserInterface/External/CodeMirror/javascript.js:
3026         * UserInterface/External/CodeMirror/livescript.js:
3027         * UserInterface/External/CodeMirror/matchbrackets.js:
3028         * UserInterface/External/CodeMirror/overlay.js:
3029         * UserInterface/External/CodeMirror/sass.js:
3030         * UserInterface/External/CodeMirror/searchcursor.js:
3031         * UserInterface/External/CodeMirror/sql.js:
3032         * UserInterface/External/CodeMirror/xml.js:
3033         * UserInterface/Views/CodeMirrorFormatters.js:
3034         Now uses the new token in CodeMirror for media query parenthesis.
3035
3036         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
3037         (.css-style-text-editor > .CodeMirror pre):
3038         Removed the additional vertical padding.
3039
3040         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
3041         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseDown):
3042         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseUp):
3043         Clicking on the end of a line in a style will now correctly insert a new line.
3044
3045         * UserInterface/Views/ComputedStyleDetailsPanel.css:
3046         (.details-section > .content > .group > .row .CodeMirror-code pre .go-to-arrow):
3047         The go-to arrow now has the proper dimensions.
3048
3049         * UserInterface/Views/HoverMenu.css:
3050         (.hover-menu > img):
3051         * UserInterface/Views/SourceCodeTextEditor.css:
3052         (.hover-menu.color > img):
3053
3054 2015-08-11  Matt Baker  <mattbaker@apple.com>
3055
3056         Web Inspector: Add the ability to filter out tasks in the Rendering Frames timeline
3057         https://bugs.webkit.org/show_bug.cgi?id=147389
3058
3059         Reviewed by Timothy Hatcher.
3060
3061         Added filtering by task type to the Rendering Frames timeline view. Legend item checkboxes
3062         in the timeline sidebar toggle filtering for the corresponding task. The "Other" category
3063         cannot be filtered, since all rendering frame records include some "other" time in addition to
3064         child records from at least one additional task type.
3065
3066         A row is filtered (hidden) from the data grid when the corresponding rendering frame has no
3067         unfiltered child records.
3068
3069         * UserInterface/Base/Main.js:
3070         (WebInspector._windowFocused):
3071         (WebInspector._windowBlurred):
3072         Added inactive style for docked window.
3073
3074         * UserInterface/Views/ChartDetailsSectionRow.css:
3075         (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > label > .color-key):
3076         (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > label):
3077         (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > label > input[type=checkbox]):
3078         (body.window-inactive .details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > label > input[type=checkbox]):
3079         (.details-section > .content > .group > .row.chart > .defs-only):
3080         (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .label > .color-swatch): Deleted.
3081         (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .label): Deleted.
3082         Switched to label elements, added checkbox styles, and updated color swatch style for non-checkbox items.
3083
3084         * UserInterface/Views/ChartDetailsSectionRow.js:
3085         (WebInspector.ChartDetailsSectionRow):
3086         Added svg filter container and style sheet element.
3087         (WebInspector.ChartDetailsSectionRow.prototype.set data):
3088         (WebInspector.ChartDetailsSectionRow.prototype._createLegend.createGammaPrimitive):
3089         (WebInspector.ChartDetailsSectionRow.prototype._createLegend.createCheckboxFilterElement):
3090         Helper function to create an svg:filter to blend legend key color over the native checkbox element.
3091         Filter assumes grayscale input, and each checkbox requires a separate filter.
3092         (WebInspector.ChartDetailsSectionRow.prototype._createLegend):
3093         Creates legend items, svg filters, and checkbox style sheet.
3094         (WebInspector.ChartDetailsSectionRow.prototype._legendItemCheckboxValueChanged):
3095         Repackage and forward checkbox changed event.
3096         (WebInspector.ChartDetailsSectionRow.prototype._createLegendItem): Deleted.
3097         Logic moved to WebInspector.ChartDetailsSectionRow.prototype._createLegend.
3098
3099         * UserInterface/Views/TimelineSidebarPanel.js:
3100         Added set of rendering frame task types against which tree elements can be filtered.
3101         (WebInspector.TimelineSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
3102         If filter is not empty, check ancestor rendering frame record for unfiltered data.
3103         (WebInspector.TimelineSidebarPanel.prototype._frameSelectionLegendItemChecked):
3104         Update task filter in response when legend items are checked/unchecked.
3105
3106 2015-08-11  Brent Fulgham  <bfulgham@apple.com>
3107
3108         [Win] Switch Windows build to Visual Studio 2015
3109         https://bugs.webkit.org/show_bug.cgi?id=147887
3110         <rdar://problem/22235098>
3111
3112         Reviewed by Alex Christensen.
3113
3114         Update Visual Studio project file settings to use the current Visual
3115         Studio and compiler. Continue targeting binaries to run on our minimum
3116         supported configuration of Windows 7.
3117
3118         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
3119
3120 2015-08-11  Brian Burg  <bburg@apple.com>
3121
3122         Web Inspector: Agent commands do not actually return a promise when expected
3123         https://bugs.webkit.org/show_bug.cgi?id=138665
3124
3125         Reviewed by Timothy Hatcher.
3126
3127         This patch unifies the handling of different invocation and dispatch modes in the
3128         InspectorBackend protocol system. Command responses are dispatched to a provided
3129         callback function; if no function was provided, then the command returns a promise.
3130
3131         Rather than awkwardly converting between promises and callbacks at invocation and
3132         response dispatch time, the backend now stores the callback or promise thunks and
3133         knows how to invoke each when the response comes. This mirrors how response handling
3134         works in ProtocolTestStub.js. InspectorBackend includes more machinery to support Agent
3135         objects and various debug flags.
3136
3137         Performanace impact is expected to be negligible, because there are relatively
3138         few commands issued by the inspector frontend and returned promises are short-lived.
3139
3140         Remove all uses of Command.prototype.promise, since it is no longer necessary.
3141
3142         * UserInterface/Base/Test.js:
3143         (InspectorTest.reloadPage):
3144         * UserInterface/Controllers/ReplayManager.js:
3145         (WebInspector.ReplayManager.prototype.getSession.get var):
3146         (WebInspector.ReplayManager.getSegment.get var):
3147         * UserInterface/Models/ReplaySession.js:
3148         (WebInspector.ReplaySession.prototype.segmentsChanged):
3149         * UserInterface/Models/Resource.js:
3150         (WebInspector.Resource.prototype.requestContentFromBackend):
3151         * UserInterface/Models/Script.js:
3152         (WebInspector.Script.prototype.requestContentFromBackend):
3153         * UserInterface/Models/SourceMapResource.js:
3154         (WebInspector.SourceMapResource.prototype.requestContentFromBackend):
3155         * UserInterface/Protocol/InspectorBackend.js:
3156         (InspectorBackendClass):
3157         (InspectorBackendClass.prototype.dispatch):
3158         (InspectorBackendClass.prototype.runAfterPendingDispatches):
3159         (InspectorBackendClass.prototype._sendCommandToBackendWithCallback.set this):
3160         (InspectorBackendClass.set this):
3161         (InspectorBackendClass.prototype._sendCommandToBackendWithCallback):
3162         (InspectorBackendClass.prototype._dispatchResponseToCallback):
3163         (InspectorBackendClass.prototype._dispatchResponseToPromise):
3164         (InspectorBackendClass.prototype._flushPendingScripts):
3165         (InspectorBackend.Command.prototype.invoke):
3166         (InspectorBackend.Command.prototype._invokeWithArguments):
3167         (InspectorBackendClass.prototype._willSendMessageToBackend.set return): Deleted.
3168         (InspectorBackendClass._dispatchCallback.get if): Deleted.
3169         (InspectorBackendClass.prototype._willSendMessageToBackend): Deleted.
3170         (InspectorBackendClass.prototype._invokeCommand): Deleted.
3171         (.callable): Deleted.
3172         (InspectorBackend.Command.create): Deleted.
3173         (InspectorBackend.Command.prototype.promise): Deleted.
3174
3175 2015-08-11  Devin Rousso  <drousso@apple.com>
3176
3177         Web Inspector: Hovering over an element in the Elements tab should highlight the whole line
3178         https://bugs.webkit.org/show_bug.cgi?id=147855
3179
3180         Reviewed by Brian Burg.
3181
3182         * UserInterface/Views/DOMTreeOutline.css:
3183         (.dom-tree-outline li.hovered:not(.selected) .selection):
3184         Removed the horizontal positioning and border radius.
3185
3186 2015-08-10  Devin Rousso  <drousso@apple.com>
3187
3188         Web Inspector: Add numerical input and slider based Visual editors for CSS properties
3189         https://bugs.webkit.org/show_bug.cgi?id=147712
3190
3191         Reviewed by Brian Burg.
3192
3193         Added editors for CSS properties with numerical values for use in the Visual style
3194         details panel in the CSS sidebar, in the form of a combined select and input or an
3195         input range.  Also added optional visual linkages to sync values between multiple
3196         editors of this type.
3197
3198         * UserInterface/Images/VisualStylePropertyLinked.svg: Added.
3199         * UserInterface/Images/VisualStylePropertyUnlinked.svg: Added.
3200
3201         * UserInterface/Views/VisualStyleNumberInputBox.css: Added.
3202         (.visual-style-property-container > .visual-style-property-value-container.focused > .focus-ring):
3203         (.visual-style-property-container > .visual-style-property-value-container > .number-input-keyword-select):
3204         (.visual-style-property-container > .visual-style-property-value-container > .number-input-container):
3205         (.visual-style-property-container > .visual-style-property-value-container:not(.number-input-editable) > .number-input-container):
3206         (.visual-style-property-container > .visual-style-property-value-container > .number-input-container > .number-input-value):
3207         (.visual-style-property-container > .visual-style-property-value-container > .number-input-container > span):
3208
3209         * UserInterface/Views/VisualStyleNumberInputBox.js: Added.
3210         (WebInspector.VisualStyleNumberInputBox):
3211         (WebInspector.VisualStyleNumberInputBox.prototype.get value):
3212         (WebInspector.VisualStyleNumberInputBox.prototype.set value):
3213         (WebInspector.VisualStyleNumberInputBox.prototype.get units):
3214         (WebInspector.VisualStyleNumberInputBox.prototype.set units):
3215         (WebInspector.VisualStyleNumberInputBox.prototype.get placeholder):
3216         (WebInspector.VisualStyleNumberInputBox.prototype.set placeholder):
3217         (WebInspector.VisualStyleNumberInputBox.prototype.get synthesizedValue):
3218         (WebInspector.VisualStyleNumberInputBox.prototype.get numberInputEditable):
3219         (WebInspector.VisualStyleNumberInputBox.prototype.updateValueFromText):
3220         (WebInspector.VisualStyleNumberInputBox.prototype.parseValue):
3221         (WebInspector.VisualStyleNumberInputBox.prototype._keywordChanged):
3222         (WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputKeyDown.shiftValue):
3223         (WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputKeyDown):
3224         (WebInspector.VisualStyleNumberInputBox.prototype._numberInputChanged):
3225         (WebInspector.VisualStyleNumberInputBox.prototype._keywordSelectMouseDown):
3226         (WebInspector.VisualStyleNumberInputBox.prototype._createValueOptions):
3227         (WebInspector.VisualStyleNumberInputBox.prototype._createUnitOptions):
3228         (WebInspector.VisualStyleNumberInputBox.prototype._addAdvancedUnits):
3229         (WebInspector.VisualStyleNumberInputBox.prototype._removeAdvancedUnits):
3230         (WebInspector.VisualStyleNumberInputBox.prototype._focusContentElement):
3231         (WebInspector.VisualStyleNumberInputBox.prototype._blurContentElement):
3232         (WebInspector.VisualStyleNumberInputBox.prototype._toggleTabbingOfSelectableElements):
3233
3234         * UserInterface/Views/VisualStylePropertyEditorLink.css: Added.
3235         (.visual-style-property-editor-link):
3236         (.visual-style-property-editor-link.disabled):
3237         (.visual-style-property-editor-link.link-all):
3238         (.visual-style-property-editor-link.link-all.linked):
3239         (.visual-style-property-editor-link > .visual-style-property-editor-link-border):
3240         (.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-icon:hover + .visual-style-property-editor-link-border.right):
3241         (.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-border.left):
3242         (.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-border.right):
3243         (.visual-style-property-editor-link.linked > .visual-style-property-editor-link-border):
3244         (.visual-style-property-editor-link > .visual-style-property-editor-link-border.left):
3245         (.visual-style-property-editor-link > .visual-style-property-editor-link-border.right):
3246         (.visual-style-property-editor-link:not(.link-all) > .visual-style-property-editor-link-border):
3247         (.visual-style-property-editor-link:not(.link-all).linked > .visual-style-property-editor-link-border):
3248         (.visual-style-property-editor-link > .visual-style-property-editor-link-icon):
3249         (.visual-style-property-editor-link > .visual-style-property-editor-link-icon > .unlinked-icon):
3250         (.visual-style-property-editor-link > .visual-style-property-editor-link-icon > .unlinked-icon svg .filled):
3251         (.visual-style-property-editor-link > .visual-style-property-editor-link-icon > .unlinked-icon svg .stroked):
3252         (.visual-style-property-editor-link:not(.link-all) > .visual-style-property-editor-link-icon):
3253         (.visual-style-property-editor-link.link-all > .visual-style-property-editor-link-icon):
3254
3255         * UserInterface/Views/VisualStylePropertyEditorLink.js: Added.
3256         (WebInspector.VisualStylePropertyEditorLink):
3257         (WebInspector.VisualStylePropertyEditorLink.prototype.get element):
3258         (WebInspector.VisualStylePropertyEditorLink.prototype.set disabled):
3259         (WebInspector.VisualStylePropertyEditorLink.prototype._linkedPropertyValueChanged):
3260         (WebInspector.VisualStylePropertyEditorLink.prototype._updateLinkedEditors):
3261         (WebInspector.VisualStylePropertyEditorLink.prototype._iconMouseover):
3262         (WebInspector.VisualStylePropertyEditorLink.prototype._iconMouseout):
3263         (WebInspector.VisualStylePropertyEditorLink.prototype._iconClicked):
3264
3265         * UserInterface/Views/VisualStyleRelativeNumberSlider.css: Added.
3266         (.visual-style-property-container.number-input-box.relative-number-slider > .visual-style-property-title):
3267         (.visual-style-property-container.number-input-box.relative-number-slider > .visual-style-property-value-container):
3268         (.visual-style-property-container.number-input-box.relative-number-slider.disabled > .relative-slider):
3269         (.visual-style-property-container.number-input-box.relative-number-slider > .visual-style-property-value-container.no-values.no-units):
3270         (.visual-style-property-container.number-input-box.relative-number-slider > .relative-slider):
3271
3272         * UserInterface/Views/VisualStyleRelativeNumberSlider.js: Added.
3273         (WebInspector.VisualStyleRelativeNumberSlider):
3274         (WebInspector.VisualStyleRelativeNumberSlider.prototype.set scale):
3275         (WebInspector.VisualStyleRelativeNumberSlider.prototype.updateEditorValues):
3276         (WebInspector.VisualStyleRelativeNumberSlider.prototype._resetSlider):
3277         (WebInspector.VisualStyleRelativeNumberSlider.prototype._sliderChanged):
3278         (WebInspector.VisualStyleRelativeNumberSlider.prototype._numberInputChanged):
3279
3280 2015-08-10  Devin Rousso  <drousso@apple.com>
3281
3282         Web Inspector: Add different types of non-numerical Visual editors for CSS properties
3283         https://bugs.webkit.org/show_bug.cgi?id=147711
3284
3285         Added editors for keyword based CSS properties for use in the Visual style
3286   &nb