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