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