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