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