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