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