551e4ea5ec43417d7ecf937f4815212c10d8f63f
[WebKit-https.git] / Source / WebInspectorUI / ChangeLog
1 2015-10-04  Nikita Vasilyev  <nvasilyev@apple.com>
2
3         Web Inspector: Wrong column numbers in error object views
4         https://bugs.webkit.org/show_bug.cgi?id=149795
5
6         Convert columnNumber and lineNumber properties from strings to numbers
7         to prevent accidental string concatenations.
8
9         Reviewed by Timothy Hatcher.
10
11         * UserInterface/Models/StackTrace.js:
12         (WebInspector.StackTrace._parseStackTrace):
13
14 2015-10-02  Matt Baker  <mattbaker@apple.com>
15
16         Web Inspector: Add breakpoint option to ignore n times before stopping
17         https://bugs.webkit.org/show_bug.cgi?id=147664
18
19         Reviewed by Timothy Hatcher.
20
21         * Localizations/en.lproj/localizedStrings.js:
22         New strings for breakpoint popover labels.
23
24         * UserInterface/Controllers/BreakpointPopoverController.js:
25         (WebInspector.BreakpointPopoverController.prototype._createPopoverContent):
26         Add ignoreCount UI to popover, if backend support exists. UI based on same
27         feature in Xcode's breakpoint editing dialog.
28         (WebInspector.BreakpointPopoverController.prototype._popoverIgnoreInputChanged):
29         User input sanity checks on numeric input.
30
31         * UserInterface/Controllers/DebuggerManager.js:
32         Listen for changes to breakpoint ignoreCount property.
33
34         * UserInterface/Models/Breakpoint.js:
35         (WebInspector.Breakpoint):
36         (WebInspector.Breakpoint.prototype.get ignoreCount):
37         (WebInspector.Breakpoint.prototype.set ignoreCount):
38         New property for ignoreCount.
39         (WebInspector.Breakpoint.prototype.get options):
40         Added ignoreCount to options object.
41         (WebInspector.Breakpoint.prototype.get info):
42         Added ignoreCount to info object.
43
44         * UserInterface/Views/BreakpointPopoverController.css:
45         (#edit-breakpoint-popover-ignore):
46         New styles for breakpoint popover.
47
48 2015-10-02  Matt Baker  <mattbaker@apple.com>
49
50         Web Inspector: Cleanup DebuggerManager, reduce `delete` and use Maps instead of objects
51         https://bugs.webkit.org/show_bug.cgi?id=149760
52
53         Reviewed by Joseph Pecoraro.
54
55         Replaced objects used as hashmaps with Map.
56
57         * UserInterface/Controllers/DebuggerManager.js:
58         (WebInspector.DebuggerManager.prototype.breakpointsForSourceCode):
59         (WebInspector.DebuggerManager.prototype.breakpointForIdentifier):
60         (WebInspector.DebuggerManager.prototype.scriptForIdentifier):
61         (WebInspector.DebuggerManager.prototype.scriptsForURL):
62         (WebInspector.DebuggerManager.prototype.get knownNonResourceScripts):
63         (WebInspector.DebuggerManager.prototype.removeBreakpoint):
64         (WebInspector.DebuggerManager.prototype.breakpointResolved):
65         (WebInspector.DebuggerManager.prototype.reset):
66         (WebInspector.DebuggerManager.prototype.scriptDidParse):
67         (WebInspector.DebuggerManager.prototype._sourceCodeLocationFromPayload):
68         (WebInspector.DebuggerManager.prototype._setBreakpoint.didSetBreakpoint):
69         (WebInspector.DebuggerManager.prototype._setBreakpoint):
70         (WebInspector.DebuggerManager.prototype._removeBreakpoint.didRemoveBreakpoint):
71         (WebInspector.DebuggerManager.prototype._removeBreakpoint):
72
73 2015-10-02  Devin Rousso  <dcrousso+webkit@gmail.com>
74
75         Web Inspector: Copying inline style text puts "undefined" in the pasteboard
76         https://bugs.webkit.org/show_bug.cgi?id=149155
77
78         Reviewed by Brian Burg.
79
80         CSSStyleDeclarations for inline styles do not have a owner CSSRule, which means
81         that they do not have a selector or media list. CSS strings must have a selector
82         and, for inline styles without an owner rule and selector, this was a problem.
83
84         * UserInterface/Models/CSSStyleDeclaration.js:
85         (WebInspector.CSSStyleDeclaration.prototype.get mediaList):
86         (WebInspector.CSSStyleDeclaration.prototype.get selectorText):
87         (WebInspector.CSSStyleDeclaration.prototype.generateCSSRuleString):
88         Added getters for the list of media queries and selector text with fallbacks
89         for CSSStyleDeclarations that do not have an owner CSSRule (inline styles).
90
91         * UserInterface/Test.html:
92         Added CSSMedia include for new inspector/css/generate-css-rule-string.html test.
93
94         * UserInterface/Views/VisualStyleSelectorTreeItem.js:
95         (WebInspector.VisualStyleSelectorTreeItem.prototype._handleContextMenuEvent):
96         Removed parameter that no longer exists.
97
98 2015-10-02  Joseph Pecoraro  <pecoraro@apple.com>
99
100         Unreviewed, rolling out r190520, some tests assert / crash.
101
102         * Localizations/en.lproj/localizedStrings.js:
103         * UserInterface/Base/Main.js:
104         (WebInspector.loaded): Deleted.
105         * UserInterface/Base/Utilities.js:
106         (value): Deleted.
107         * UserInterface/Controllers/HeapManager.js: Removed.
108         * UserInterface/Controllers/TimelineManager.js:
109         (WebInspector.TimelineManager): Deleted.
110         (WebInspector.TimelineManager.prototype._garbageCollected): Deleted.
111         * UserInterface/Images/TimelineRecordGarbageCollection.svg: Removed.
112         * UserInterface/Main.html:
113         * UserInterface/Models/GarbageCollection.js: Removed.
114         * UserInterface/Models/ScriptTimelineRecord.js:
115         (WebInspector.ScriptTimelineRecord.EventType.displayName):
116         (WebInspector.ScriptTimelineRecord.prototype.isGarbageCollection): Deleted.
117         * UserInterface/Protocol/HeapObserver.js: Removed.
118         * UserInterface/Test.html:
119         * UserInterface/Test/Test.js:
120         (WebInspector.loaded): Deleted.
121         * UserInterface/Views/ScriptTimelineDataGridNode.js:
122         (WebInspector.ScriptTimelineDataGridNode.prototype.get data):
123         (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent): Deleted.
124         (WebInspector.ScriptTimelineDataGridNode): Deleted.
125         * UserInterface/Views/ScriptTimelineOverviewGraph.js:
126         (WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout):
127         * UserInterface/Views/ScriptTimelineView.js:
128         (WebInspector.ScriptTimelineView.prototype._processPendingRecords):
129         * UserInterface/Views/SourceCodeTimelineTreeElement.js:
130         (WebInspector.SourceCodeTimelineTreeElement):
131         * UserInterface/Views/TimelineIcons.css:
132         (.garbage-collection-profile-record .icon): Deleted.
133         * UserInterface/Views/TimelineRecordBar.css:
134         (.timeline-record-bar.timeline-record-type-script.script-timeline-record-garbage-collected > .segment): Deleted.
135         * UserInterface/Views/TimelineRecordBar.js:
136         (WebInspector.TimelineRecordBar.createCombinedBars):
137         * UserInterface/Views/TimelineRecordTreeElement.js:
138         (WebInspector.TimelineRecordTreeElement):
139
140 2015-10-02  Devin Rousso  <dcrousso+webkit@gmail.com>
141
142         Web Inspector: Option-Click on a property name in the Computed view should jump to resource view
143         https://bugs.webkit.org/show_bug.cgi?id=149521
144
145         Reviewed by Timothy Hatcher.
146
147         * UserInterface/Models/DOMNodeStyles.js:
148         (WebInspector.DOMNodeStyles.prototype.effectivePropertyForName):
149         Now tries to search for a non-canonical property before falling back to
150         the canonical version.
151
152         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
153         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded):
154         If the user option-clicks the goto arrow, it shows the source for the
155         property instead.
156
157         * UserInterface/Views/ComputedStyleDetailsPanel.js:
158         (WebInspector.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorShowProperty.delegateShowProperty):
159         (WebInspector.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorShowProperty):
160         Attempts to show the source of the given property. Will fallback to
161         highlighting the property in the rules panel.
162
163 2015-10-02  Joseph Pecoraro  <pecoraro@apple.com>
164
165         Web Inspector: Include Garbage Collection Event in Timeline
166         https://bugs.webkit.org/show_bug.cgi?id=142510
167
168         Reviewed by Geoffrey Garen.
169
170         * UserInterface/Base/Utilities.js:
171         (Array.prototype.parition):
172         Helper to partition an Array into two arrays.
173
174         * UserInterface/Main.html:
175         * Localizations/en.lproj/localizedStrings.js:
176         * UserInterface/Base/Main.js:
177         (WebInspector.loaded):
178         * UserInterface/Test.html:
179         * UserInterface/Test/Test.js:
180         (WebInspector.loaded):
181         * UserInterface/Protocol/HeapObserver.js:
182         (WebInspector.HeapObserver.prototype.garbageCollected):
183         (WebInspector.HeapObserver):
184         Create the new observer and manager.
185
186         * UserInterface/Models/GarbageCollection.js:
187         (WebInspector.GarbageCollection):
188         (WebInspector.GarbageCollection.fromPayload):
189         (WebInspector.GarbageCollection.prototype.get type):
190         (WebInspector.GarbageCollection.prototype.get startTime):
191         (WebInspector.GarbageCollection.prototype.get endTime):
192         (WebInspector.GarbageCollection.prototype.get duration):
193         Model object for Heap.GarbageCollection.
194
195         * UserInterface/Controllers/HeapManager.js:
196         (WebInspector.HeapManager):
197         (WebInspector.HeapManager.prototype.garbageCollected):
198         Dispatch events with.
199
200         * UserInterface/Controllers/TimelineManager.js:
201         (WebInspector.TimelineManager):
202         (WebInspector.TimelineManager.prototype._garbageCollected):
203         Include new GC Timeline Events as Script events.
204
205         * UserInterface/Views/ScriptTimelineOverviewGraph.js:
206         (WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout):
207         For the Script overview, make two sets of bars, one for Scripts and one for GCs.
208         The GCs bar will be on top of the the Scripts bar. This is particularly useful
209         since a GC can happen during script execution.
210
211         * UserInterface/Views/ScriptTimelineDataGridNode.js:
212         (WebInspector.ScriptTimelineDataGridNode.prototype.get data):
213         (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent):
214         (WebInspector.ScriptTimelineDataGridNode):
215         Give a NaN call count to top level Script DataGridNodes.
216         In the UI, display the empty placeholder for NaN call counts.
217
218         * UserInterface/Images/TimelineRecordGarbageCollection.svg: Added.
219         * UserInterface/Models/ScriptTimelineRecord.js:
220         (WebInspector.ScriptTimelineRecord.prototype.isGarbageCollection):
221         (WebInspector.ScriptTimelineRecord.EventType.displayName):
222         * UserInterface/Views/ScriptTimelineView.js:
223         (WebInspector.ScriptTimelineView.prototype._processPendingRecords):
224         * UserInterface/Views/SourceCodeTimelineTreeElement.js:
225         (WebInspector.SourceCodeTimelineTreeElement):
226         * UserInterface/Views/TimelineIcons.css:
227         (.garbage-collection-profile-record .icon):
228         * UserInterface/Views/TimelineRecordBar.css:
229         (.timeline-record-bar.timeline-record-type-script.script-timeline-record-garbage-collected > .segment):
230         UI for GC events.
231
232         * UserInterface/Views/TimelineRecordBar.js:
233         (WebInspector.TimelineRecordBar.createCombinedBars):
234         Simplify by storing start time into a variable.
235
236         * UserInterface/Views/TimelineRecordTreeElement.js:
237         (WebInspector.TimelineRecordTreeElement):
238         Icon for GC events.
239
240 2015-10-02  Nikita Vasilyev  <nvasilyev@apple.com>
241
242         Web Inspector: Fix indentation of console message parameters
243         https://bugs.webkit.org/show_bug.cgi?id=149740
244
245         Reviewed by Darin Adler.
246
247         * UserInterface/Views/ConsoleMessageView.css:
248         (.console-message .console-message-stack-trace-container > li):
249         (.console-message .console-message-extra-parameters-container > li::before):
250
251 2015-10-02  Andres Gomez  <agomez@igalia.com>
252
253         [GTK] Web Inspector: Add GTK+ icons for new plus icons in the style sidebar
254         https://bugs.webkit.org/show_bug.cgi?id=149227
255
256         Reviewed by Carlos Garcia Campos.
257
258         * UserInterface/Images/gtk/NewTabPlus.svg: Updated.
259         * UserInterface/Images/gtk/Plus13.svg: Copied from Source/WebInspectorUI/UserInterface/Images/gtk/Plus.svg.
260         * UserInterface/Images/gtk/Plus15.svg: Renamed from Source/WebInspectorUI/UserInterface/Images/gtk/Plus.svg.
261
262 2015-10-01  Joseph Pecoraro  <pecoraro@apple.com>
263
264         Web Inspector: Simplify filterableData processing
265         https://bugs.webkit.org/show_bug.cgi?id=149730
266
267         Reviewed by Timothy Hatcher.
268
269         * UserInterface/Views/BreakpointTreeElement.js:
270         (WebInspector.BreakpointTreeElement.prototype.get filterableData):
271         * UserInterface/Views/NavigationSidebarPanel.js:
272         (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.matchTextFilter):
273         * UserInterface/Views/ResourceTreeElement.js:
274         (WebInspector.ResourceTreeElement.prototype.get filterableData):
275         * UserInterface/Views/ScriptTimelineView.js:
276         (WebInspector.ScriptTimelineView.prototype.matchTreeElementAgainstCustomFilters): Deleted.
277         * UserInterface/Views/SearchResultTreeElement.js:
278         (WebInspector.SearchResultTreeElement.prototype.get filterableData):
279         (WebInspector.SearchResultTreeElement):
280
281 2015-10-01  Joseph Pecoraro  <pecoraro@apple.com>
282
283         Web Inspector: Do not immediately create all ProfileNodeTreeElements when showing JavaScript and Events timeline
284         https://bugs.webkit.org/show_bug.cgi?id=149726
285
286         Reviewed by Timothy Hatcher.
287
288         * UserInterface/Views/NavigationSidebarPanel.js:
289         (WebInspector.NavigationSidebarPanel.prototype.shouldFilterPopulate):
290         (WebInspector.NavigationSidebarPanel.prototype._updateFilter):
291         (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
292         We were populating during filtering if there were any custom filters.
293         However the TimelineSidebarPanel has custom filters (based on time and type)
294         but those don't need to trigger population. Delay population until it
295         would actually be needed (like a text search).
296
297         * UserInterface/Views/TimelineSidebarPanel.js:
298         (WebInspector.TimelineSidebarPanel.prototype.shouldFilterPopulate):
299         Do not populate on filter via this custom filters.
300
301 2015-10-01  Matt Baker  <mattbaker@apple.com>
302
303         Web Inspector: REGRESSION (r189567): Toolbar collapses when inspector at minimum height with console open
304         https://bugs.webkit.org/show_bug.cgi?id=149725
305
306         Reviewed by Timothy Hatcher.
307
308         CSS Flexible Box Layout Module Level 1 introduces a new `auto` initial value for the min-{width|height}
309         of flex box items, breaking some areas of the inspector UI. This is fixed by setting a min-height of
310         zero for the #main <div>.
311
312         * UserInterface/Views/Main.css:
313         (#main):
314
315 2015-10-01  Nikita Vasilyev  <nvasilyev@apple.com>
316
317         Web Inspector: Clip string previews
318         https://bugs.webkit.org/show_bug.cgi?id=149708
319
320         Only show first 140 characters in strings previews.
321
322         Reviewed by Joseph Pecoraro.
323
324         * UserInterface/Base/Utilities.js:
325         (String.prototype.truncate): Added.
326         A smart trancate function that doesn't split words.
327
328         * UserInterface/Views/ConsoleMessageView.js:
329         (WebInspector.ConsoleMessageView.prototype._shouldConsiderObjectLossless):
330         * UserInterface/Views/FormattedValue.js:
331         (WebInspector.FormattedValue.createElementForTypesAndValue):
332
333 2015-09-30  João Oliveira  <hello@jxs.pt>
334
335         Web Inspector: Adjust font size of Developer Tools using Command,+ or Command,-
336         https://bugs.webkit.org/show_bug.cgi?id=149590
337
338         Reviewed by Joseph Pecoraro.
339
340         Patch by João Oliveira and Brian Burg.
341
342         * UserInterface/Base/Main.js:
343         (WebInspector.contentLoaded): Add global keyboard shortcuts for zoom in and zoom out.
344
345 2015-10-01  Andres Gomez  <agomez@igalia.com>
346
347         [GTK] Web Inspector: Add GTK+ icons for the numerical input and slider based Visual editors for CSS properties
348         https://bugs.webkit.org/show_bug.cgi?id=147847
349
350         Reviewed by Carlos Garcia Campos.
351
352         * UserInterface/Images/gtk/VisualStylePropertyLinked.svg: Added.
353         * UserInterface/Images/gtk/VisualStylePropertyUnlinked.svg: Added.
354
355 2015-10-01  Andres Gomez  <agomez@igalia.com>
356
357         [GTK] Web Inspector: Add GTK+ icons for the different types of non-numerical Visual editors for CSS properties
358         https://bugs.webkit.org/show_bug.cgi?id=147846
359
360         Reviewed by Carlos Garcia Campos.
361
362         * UserInterface/Images/gtk/AUTHORS: Updated.
363         * UserInterface/Images/gtk/ClearBoth.svg: Added.
364         * UserInterface/Images/gtk/ClearLeft.svg: Added.
365         * UserInterface/Images/gtk/ClearRight.svg: Added.
366         * UserInterface/Images/gtk/CubicBezier.svg: Updated.
367         * UserInterface/Images/gtk/FloatLeft.svg: Added.
368         * UserInterface/Images/gtk/FloatRight.svg: Added.
369         * UserInterface/Images/gtk/FontStyleItalic.svg: Added.
370         * UserInterface/Images/gtk/FontStyleNormal.svg: Added.
371         * UserInterface/Images/gtk/FontVariantSmallCaps.svg: Added.
372         * UserInterface/Images/gtk/TextAlignCenter.svg: Added.
373         * UserInterface/Images/gtk/TextAlignJustify.svg: Added.
374         * UserInterface/Images/gtk/TextAlignLeft.svg: Added.
375         * UserInterface/Images/gtk/TextAlignRight.svg: Added.
376         * UserInterface/Images/gtk/TextDecorationLineThrough.svg: Added.
377         * UserInterface/Images/gtk/TextDecorationOverline.svg: Added.
378         * UserInterface/Images/gtk/TextDecorationUnderline.svg: Added.
379         * UserInterface/Images/gtk/TextTransformCapitalize.svg: Added.
380         * UserInterface/Images/gtk/TextTransformLowercase.svg: Added.
381         * UserInterface/Images/gtk/TextTransformUppercase.svg: Added.
382         * UserInterface/Images/gtk/VisualStyleNone.svg: Added.
383
384 2015-09-30  Joseph Pecoraro  <pecoraro@apple.com>
385
386         Web Inspector: Reduce `delete` in Timeline related classes
387         https://bugs.webkit.org/show_bug.cgi?id=149686
388
389         Reviewed by Timothy Hatcher.
390
391         * UserInterface/Controllers/TimelineManager.js:
392         (WebInspector.TimelineManager.prototype.capturingStopped):
393         * UserInterface/Views/TimelineDataGrid.js:
394         (WebInspector.TimelineDataGrid.prototype._refreshDirtyDataGridNodes):
395         (WebInspector.TimelineDataGrid.prototype._sort):
396         (WebInspector.TimelineDataGrid.prototype._updatePopoverForSelectedNode):
397         * UserInterface/Views/TimelineOverview.js:
398         (WebInspector.TimelineOverview.prototype.updateLayout):
399         (WebInspector.TimelineOverview.prototype._handleScrollEvent):
400         * UserInterface/Views/TreeOutlineDataGridSynchronizer.js:
401         (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeOutlineScrolled):
402         (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridScrolled):
403
404         * UserInterface/Views/ProbeSetDataGrid.js:
405         (WebInspector.ProbeSetDataGrid):
406         (WebInspector.ProbeSetDataGrid.prototype._teardownData):
407         Remove an unused member variable as well.
408
409 2015-09-30  Joseph Pecoraro  <pecoraro@apple.com>
410
411         Web Inspector: Thousands of timers fire after switching to JavaScript and Events timeline
412         https://bugs.webkit.org/show_bug.cgi?id=149682
413
414         Reviewed by Timothy Hatcher.
415
416         Setting the status element of a GeneralTreeElement was triggering a
417         TreeOutline.onchange event. For TreeOutlines with lots of tree elements
418         (JavaScript & Events with profile nodes) this could result in thousands
419         of onchange events that causes lots of unnecessary work and blocks
420         future timers (like scroll synchronization) from firing.
421
422         This change eliminates TreeOutline change events for tree element
423         changes that are not interesting.
424
425         * UserInterface/Views/GeneralTreeElement.js:
426         (WebInspector.GeneralTreeElement.prototype.set status): Deleted.
427         * UserInterface/Views/TreeOutline.js:
428         (WebInspector.TreeElement.prototype.set tooltip): Deleted.
429
430 2015-09-30  Joseph Pecoraro  <pecoraro@apple.com>
431
432         Web Inspector: Reduce `delete` in TreeElements and DataGridNodes
433         https://bugs.webkit.org/show_bug.cgi?id=149680
434
435         Reviewed by Timothy Hatcher.
436
437         * UserInterface/Views/BreakpointTreeElement.js:
438         (WebInspector.BreakpointTreeElement):
439         (WebInspector.BreakpointTreeElement.prototype._removeProbeSet):
440         * UserInterface/Views/DataGrid.js:
441         (WebInspector.DataGrid.prototype._editingCommitted.moveToNextCell):
442         (WebInspector.DataGrid.prototype._editingCommitted):
443         (WebInspector.DataGrid.prototype._editingCancelled):
444         (WebInspector.DataGrid.prototype.removeColumn):
445         (WebInspector.DataGridNode.prototype.refreshIfNeeded):
446         (WebInspector.DataGridNode.prototype.refresh):
447         (WebInspector.DataGridNode.prototype.expand):
448         (WebInspector.DataGridNode.prototype.restorePosition):
449         (WebInspector.DataGridNode):
450         * UserInterface/Views/GeneralTreeElement.js:
451         (WebInspector.GeneralTreeElement.prototype.ondetach):
452         * UserInterface/Views/ResourceTimelineDataGridNode.js:
453         (WebInspector.ResourceTimelineDataGridNode.prototype.refresh):
454         * UserInterface/Views/TreeOutline.js:
455         (WebInspector.TreeElement.prototype._fireDidChange):
456         (WebInspector.TreeElement.prototype.expand):
457
458 2015-09-30  Andres Gomez  <agomez@igalia.com>
459
460         [GTK] Web Inspector: Add GTK+ icon for the Bezier curve visual editor
461         https://bugs.webkit.org/show_bug.cgi?id=147681
462
463         Reviewed by Joseph Pecoraro.
464
465         * UserInterface/Images/gtk/CubicBezier.svg: Added.
466
467 2015-09-29  Joseph Pecoraro  <pecoraro@apple.com>
468
469         Web Inspector: Console completion suggestions should include properties on Object (hasOwnProperty, toString, etc)
470         https://bugs.webkit.org/show_bug.cgi?id=149649
471
472         Reviewed by Darin Adler.
473
474         * UserInterface/Base/Utilities.js:
475         (value):
476         Since keySets in this instance are often used as hash maps with the
477         `in` operator, create a blank object that won't have Object.prototype
478         functions that would be seen by `in`.
479
480         * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
481         (WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.receivedPropertyNames.compare):
482         Sort __defineGetter__ and __lookupGetter__ and friends last, since they
483         are rarely used properties.
484
485 2015-09-29  Joseph Pecoraro  <pecoraro@apple.com>
486
487         Web Inspector: Missing completions for Symbol objects, console.error warning
488         https://bugs.webkit.org/show_bug.cgi?id=149641
489
490         Reviewed by Darin Adler.
491
492         * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
493         (WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.getCompletions):
494         (WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.evaluated):
495         Include completions for symbol types.
496
497 2015-09-28  Joseph Pecoraro  <pecoraro@apple.com>
498
499         Web Inspector: Hitting ESC while editing element tag name leaves element in bad state
500         https://bugs.webkit.org/show_bug.cgi?id=149506
501
502         Reviewed by Timothy Hatcher.
503
504         * UserInterface/Views/DOMTreeElement.js:
505         (WebInspector.DOMTreeElement.prototype._startEditingTagName.editingCancelled):
506         (WebInspector.DOMTreeElement.prototype._startEditingTagName):
507         When cancelling editing of a tag name, revert any changes we had
508         been making to the closing tag name.
509
510 2015-09-28  João Oliveira  <hello@jxs.pt>
511
512         Web Inspector: search shortcut in split console moves focus to search box, but doesn't show caret
513         https://bugs.webkit.org/show_bug.cgi?id=149223
514
515         Reviewed by Timothy Hatcher.
516
517         When pressing console find shortcut (CMD+F) SearchBar now checks if there's text on _searchInput
518         if so text is selected, if the textbox is empty, textbox gains focus.
519
520         * UserInterface/Views/SearchBar.js:
521         (WebInspector.SearchBar.prototype.focus):
522
523 2015-09-25  Joseph Pecoraro  <pecoraro@apple.com>
524
525         Web Inspector: Reloading the page causes the inspector tab to switch back to "Resources" tab
526         https://bugs.webkit.org/show_bug.cgi?id=148732
527
528         Reviewed by Darin Adler.
529
530         * UserInterface/Views/ResourceSidebarPanel.js:
531         (WebInspector.ResourceSidebarPanel.prototype._scriptsCleared):
532         Suppress selection of sibiling tree elements when removing extra folders.
533
534 2015-09-24  Ryosuke Niwa  <rniwa@webkit.org>
535
536         Ran sort-Xcode-project-file.
537
538         * WebInspectorUI.xcodeproj/project.pbxproj:
539
540 2015-09-23  Saam barati  <sbarati@apple.com>
541
542         Fix broken inspector tests.
543
544         Reviewed by Joseph Pecoraro and Brian Burg.
545
546         We can't redeclare a "let" variable and "var" variable using the same
547         identifier at the top-level of a function.
548
549         * UserInterface/Test/InspectorProtocol.js:
550         (InspectorProtocol.sendCommand):
551         (InspectorProtocol.addEventListener):
552         (InspectorProtocol.dispatchMessageFromBackend):
553
554 2015-09-23  Saam barati  <sbarati@apple.com>
555
556         Web Inspector: Don't use bind() when creating internal AST, instead, pass in "this" parameter to map()
557         https://bugs.webkit.org/show_bug.cgi?id=149483
558
559         Reviewed by Joseph Pecoraro.
560
561         * UserInterface/Models/ScriptSyntaxTree.js:
562         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
563         (WebInspector.ScriptSyntaxTree):
564
565 2015-09-23  Saam barati  <sbarati@apple.com>
566
567         Web Inspector: Type bubbles missing for computed methods and methods on object literals
568         https://bugs.webkit.org/show_bug.cgi?id=148562
569
570         Reviewed by Joseph Pecoraro.
571
572         This patch makes sure that computed methods are working
573         for both classes and object literals. Also, methods now
574         work on object literals. This patch also cleans up the
575         "isGetterOrSetter" and "getterOrSetterRange" fields.
576         Basically, we used this as a way to ask the type profiler
577         for the return types of a function. Now, we just have
578         a field called "typeProfilingReturnDivot" that is set
579         on all functions so we don't need to conditionally ask
580         if it's a getter or setter.
581
582         * UserInterface/Controllers/TypeTokenAnnotator.js:
583         (WebInspector.TypeTokenAnnotator.prototype._insertTypeToken):
584         * UserInterface/Models/ScriptSyntaxTree.js:
585         (WebInspector.ScriptSyntaxTree.functionReturnDivot):
586         (WebInspector.ScriptSyntaxTree.prototype._recurseArray):
587         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
588         (WebInspector.ScriptSyntaxTree):
589
590 2015-09-22  Devin Rousso  <dcrousso+webkit@gmail.com>
591
592         Web Inspector: The right sidebar always opens up on breakpoint
593         https://bugs.webkit.org/show_bug.cgi?id=149261
594
595         Reviewed by Timothy Hatcher.
596
597         Whenever the debugger was paused, the sidebar was being forced to open.
598         This has been removed in favor of letting the user decide.
599
600         * UserInterface/Base/Main.js:
601         (WebInspector._debuggerDidPause):
602
603 2015-09-22  Saam barati  <sbarati@apple.com>
604
605         Web Inspector: [ES6] Improve Type Profiler Support for Arrow Functions
606         https://bugs.webkit.org/show_bug.cgi?id=143171
607
608         Reviewed by Joseph Pecoraro.
609
610         Esprima and JSC both support arrow functions. We just
611         need to support it in our AST and do the right things
612         to include support in the type profiler bits.
613
614         * UserInterface/Controllers/TypeTokenAnnotator.js:
615         (WebInspector.TypeTokenAnnotator.prototype._insertTypeToken):
616         (WebInspector.TypeTokenAnnotator.prototype._translateToOffsetAfterFunctionParameterList.isLineTerminator):
617         (WebInspector.TypeTokenAnnotator.prototype._translateToOffsetAfterFunctionParameterList):
618         * UserInterface/Models/ScriptSyntaxTree.js:
619         (WebInspector.ScriptSyntaxTree.prototype.containsNonEmptyReturnStatement.removeFunctionsFilter):
620         (WebInspector.ScriptSyntaxTree.prototype.containsNonEmptyReturnStatement):
621         (WebInspector.ScriptSyntaxTree.functionReturnDivot):
622         (WebInspector.ScriptSyntaxTree.prototype._recurse):
623         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
624         (WebInspector.ScriptSyntaxTree):
625
626 2015-09-22  Saam barati  <sbarati@apple.com>
627
628         Web Inspector: update Esprima to latest version
629         https://bugs.webkit.org/show_bug.cgi?id=148960
630
631         Reviewed by Joseph Pecoraro.
632
633         Esprima version 2.6 further supports ES6. We're
634         updating to it so we can support more ES6 features
635         in our script syntax tree.
636
637         * UserInterface/External/Esprima/LICENSE:
638         * UserInterface/External/Esprima/esprima.js:
639         * UserInterface/Models/ScriptSyntaxTree.js:
640         (WebInspector.ScriptSyntaxTree.prototype._gatherIdentifiersInDeclaration.gatherIdentifiers):
641         (WebInspector.ScriptSyntaxTree.prototype._gatherIdentifiersInDeclaration):
642         (WebInspector.ScriptSyntaxTree.prototype._recurse):
643         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
644         (WebInspector.ScriptSyntaxTree):
645
646 2015-09-21  Matt Baker  <mattbaker@apple.com>
647
648         Web Inspector: requestAnimationFrame continues to be called after stopping the timeline recording
649         https://bugs.webkit.org/show_bug.cgi?id=149390
650
651         Reviewed by Brian Burg.
652
653         * UserInterface/Views/TimelineRecordingContentView.js:
654         (WebInspector.TimelineRecordingContentView.prototype._update):
655         Stop calling requestAnimationFrame if this._updating is false and recording end time is NaN.
656
657 2015-09-17  Joseph Pecoraro  <pecoraro@apple.com>
658
659         Web Inspector: Simplify some functional callbacks
660         https://bugs.webkit.org/show_bug.cgi?id=149333
661
662         Reviewed by Brian Burg.
663
664         * UserInterface/Controllers/LogManager.js:
665         (WebInspector.LogManager.prototype.messageWasAdded):
666         * UserInterface/Models/Color.js:
667         (WebInspector.Color):
668         * UserInterface/Models/Geometry.js:
669         (WebInspector.CubicBezier.fromCoordinates):
670         * UserInterface/Models/ObjectPreview.js:
671         (WebInspector.ObjectPreview.fromPayload):
672         * UserInterface/Models/TypeDescription.js:
673         (WebInspector.TypeDescription.fromPayload):
674         * UserInterface/Protocol/RemoteObject.js:
675         (WebInspector.RemoteObject.prototype.getCollectionEntries):
676         (WebInspector.RemoteObject.prototype.getCollectionEntries.): Deleted.
677         * UserInterface/Views/TextEditor.js:
678         (WebInspector.TextEditor.prototype.get markers):
679         (WebInspector.TextEditor.prototype.markersAtPosition):
680
681 2015-09-17  Joseph Pecoraro  <pecoraro@apple.com>
682
683         Web Inspector: Remove unused canClearBrowserCookies / canClearBrowserCache protocol methods
684         https://bugs.webkit.org/show_bug.cgi?id=149307
685
686         Reviewed by Brian Burg.
687
688         * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
689         * UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
690         * UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js:
691         * Versions/Inspector-iOS-7.0.json:
692         * Versions/Inspector-iOS-8.0.json:
693         * Versions/Inspector-iOS-9.0.json:
694         Retroactively remove the protocol methods as they were unused
695         in these earlier versions as well.
696
697 2015-09-17  Joseph Pecoraro  <pecoraro@apple.com>
698
699         REGRESSION: Web Inspector: Double clicking on an attribute second time doesn't work
700         https://bugs.webkit.org/show_bug.cgi?id=149259
701
702         Reviewed by Timothy Hatcher.
703
704         * UserInterface/Views/DOMTreeElement.js:
705         Be sure to clear the editing state when committed, even if the value did not change.
706
707 2015-09-17  Joseph Pecoraro  <pecoraro@apple.com>
708
709         Web Inspector: Make Find / Save keyboard shortcuts work better globally
710         https://bugs.webkit.org/show_bug.cgi?id=149198
711
712         Reviewed by Brian Burg.
713
714         Previously find/save keyboard shortcuts required the user have the
715         ContentView in the ContentBrowser focused. That means nothing would
716         happen if you clicked / focused in the Sidebars. This change considers
717         the keyboard shortcuts globally, like Copy.
718
719         * UserInterface/Base/Main.js:
720         (WebInspector.contentLoaded):
721         Add global find and save keyboard shortcuts.
722
723         (WebInspector._focusChanged):
724         It is often useful to have the currentFocusedElement know if it is
725         in a TextEditor or other CodeMirror editor. When editable the <textarea>
726         is selected and not updating focused element. 
727
728         (WebInspector._focusedContentBrowser):
729         (WebInspector._focusedContentView):
730         Provide helpers for getting a good approximation of the current focused
731         or visible content view that users would expect to be interacting with.
732         Since the focus event may not fire when clicking around to elements
733         like the <body>. Rather than make it explicitly focusable, check the
734         document.activeElement, and if it is body aim for the main content
735         browser instead of the currentFocusedElement which may be stale.
736         Likewise, if the QuickConsole is focused and the split console is
737         showing, treat it like the split browser is focused.
738
739         (WebInspector._focusedOrVisibleContentBrowser):
740         (WebInspector._focusedOrVisibleContentView):
741         If nothing is focused, default to the main content browser.
742
743         (WebInspector._find):
744         Pass on to the ContentView which typically handles Find
745         by showing its find banner.
746
747         (WebInspector._save):
748         (WebInspector._saveAs):
749         Check and save the current ContentView if supported.
750
751         * UserInterface/Views/LogContentView.js:
752         (WebInspector.LogContentView.prototype.get supportsSearch):
753         (WebInspector.LogContentView.prototype.handleFindEvent):
754         Add custom find handling for LogContentView from the routed through the
755         BrowserController instead of special event handlers in the controller.
756
757         (WebInspector.LogContentView.prototype.get supportsSave):
758         (WebInspector.LogContentView.prototype.save): Deleted.
759         (WebInspector.LogContentView.prototype.saveAs): Deleted.
760         * UserInterface/Controllers/JavaScriptLogViewController.js:
761         (WebInspector.JavaScriptLogViewController): Deleted.
762         (WebInspector.JavaScriptLogViewController.prototype._handleFindShortcut): Deleted.
763         (WebInspector.JavaScriptLogViewController.prototype._save): Deleted.
764         (WebInspector.JavaScriptLogViewController.prototype._saveAs): Deleted.
765         Special save handling is no longer needed in the log view controller.
766
767         * UserInterface/Views/ContentBrowser.js:
768         (WebInspector.ContentBrowser.prototype.handleFindEvent):
769         (WebInspector.ContentBrowser): Deleted.
770         (WebInspector.ContentBrowser.prototype._save): Deleted.
771         (WebInspector.ContentBrowser.prototype._saveAs): Deleted.
772         (WebInspector.ContentBrowser.prototype._showFindBanner): Deleted.
773         Save functionality moved globally, find functionality moved to a
774         public method called like copy event handling.
775
776 2015-09-17  Joseph Pecoraro  <pecoraro@apple.com>
777
778         Web Inspector: Inactive window may cause many layers to be created due to Dashboard opacity
779         https://bugs.webkit.org/show_bug.cgi?id=149274
780
781         Reviewed by Brian Burg.
782
783         The dashboard container gets an opacity when the window is inactive. Combined
784         with the animating debugger continue button this caused a cascade of slightly
785         overlapping content causing a cascade of a lot of small layers. The simple
786         approach taken here is to stop the slight pulse animation when the window
787         is inactive.
788
789         * UserInterface/Views/DebuggerDashboardView.css:
790         (body.window-inactive .dashboard.debugger .navigation-bar .item.button > .glyph):
791
792 2015-09-17  Devin Rousso  <dcrousso+webkit@gmail.com>
793
794         REGRESSION(r188427): Web Inspector: Extra whitespace left behind in styles sidebar after clicking in and out
795         https://bugs.webkit.org/show_bug.cgi?id=149197
796
797         Reviewed by Timothy Hatcher.
798
799         In r188427, logic was added to preserve the leading whitespace of styles in a CSS file.
800         An unfortunate side effect of this was that extra newlines in between CSS properties
801         were treated as valid and left where they were.  This is undesired behaviour and often
802         clutters the styles sidebar.  These changes remove the extra newlines.
803
804         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
805         (WebInspector.CSSStyleDeclarationTextEditor.prototype._formattedContent):
806
807 2015-09-16  Joseph Pecoraro  <pecoraro@apple.com>
808
809         Web Inspector: Reduce Annotation Update Frequency
810         https://bugs.webkit.org/show_bug.cgi?id=149250
811
812         Reviewed by Saam Barati.
813
814         * UserInterface/Controllers/BasicBlockAnnotator.js:
815         (WebInspector.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges):
816         * UserInterface/Controllers/TypeTokenAnnotator.js:
817         (WebInspector.BasicBlockAnnotator.prototype.insertAnnotations):
818         Set a lower bound of 500ms on update frequency for both annotators.
819
820 2015-09-16  Joseph Pecoraro  <pecoraro@apple.com>
821
822         Web Inspector: Fix common typo "supress" => "suppress"
823         https://bugs.webkit.org/show_bug.cgi?id=149199
824
825         Reviewed by Gyuyoung Kim.
826
827         * UserInterface/Views/DataGrid.js:
828         (WebInspector.DataGridNode.prototype.select):
829         (WebInspector.DataGridNode.prototype.deselect):
830         * UserInterface/Views/SearchBar.js:
831         (WebInspector.SearchBar):
832
833 2015-09-16  Joseph Pecoraro  <pecoraro@apple.com>
834
835         Web Inspector: Turn off line wrapping in resource text editors
836         https://bugs.webkit.org/show_bug.cgi?id=149121
837
838         Reviewed by Darin Adler.
839
840         * UserInterface/Views/TextEditor.js:
841         (WebInspector.TextEditor):
842
843 2015-09-15  Devin Rousso  <dcrousso+webkit@gmail.com>
844
845         Web Inspector: Picking unchanged for font-size does not reset back to the unchanged value
846         https://bugs.webkit.org/show_bug.cgi?id=148351
847
848         Reviewed by Brian Burg.
849
850         Visual number editors now save any new values in the special placeholder element
851         to display it whenever the "Unchanged" option is selected by the user.
852
853         * UserInterface/Views/VisualStyleNumberInputBox.js:
854         (WebInspector.VisualStyleNumberInputBox.prototype.set value):
855         (WebInspector.VisualStyleNumberInputBox.prototype.set units):
856         (WebInspector.VisualStyleNumberInputBox.prototype._setNumberInputIsEditable):
857         (WebInspector.VisualStyleNumberInputBox.prototype._keywordChanged):
858         (WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputKeyDown.adjustValue):
859         (WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputKeyDown):
860
861 2015-09-15  Brian Burg  <bburg@apple.com>
862
863         Web Inspector: command-click in NewTabContentView should open new tab without switching to it
864         https://bugs.webkit.org/show_bug.cgi?id=149173
865
866         Reviewed by Joseph Pecoraro.
867
868         To allow a user to quickly restore tabs, it should be possible to command-click
869         all the tabs that are desired without going back through the [+] tab button.
870
871         * UserInterface/Base/Main.js:
872         (WebInspector.createNewTabWithType): Renamed.
873
874             Use an options object and split creating the tab from deleting the
875             replaced tab and showing the new tab. Add better error checking.
876
877         (WebInspector.createNewTab): Deleted.
878         * UserInterface/Views/NewTabContentView.js:
879         (WebInspector.NewTabContentView):
880         (WebInspector.NewTabContentView.prototype._createNewTabWithType): Renamed.
881
882             If the meta key is pressed, don't switch to the new tab or remove this view
883             unless there are no more tabs that can be created beyond the current one.
884
885         (WebInspector.NewTabContentView.prototype._allowableTabTypes): Added.
886         (WebInspector.NewTabContentView.prototype._createNewTab): Deleted.
887
888 2015-09-15  Joseph Pecoraro  <pecoraro@apple.com>
889
890         Web Inspector: Watch Expressions uncaught exceptions on page reload
891         https://bugs.webkit.org/show_bug.cgi?id=149150
892
893         Reviewed by Brian Burg.
894
895         Instead of waiting 50ms to Resume, when the page navigates
896         Resume immediately. This ensures nobody is using a stale
897         activeCallFrame after the navigation.
898
899         Also clean up the manager a bit by removing some deletes.
900
901         * UserInterface/Controllers/DebuggerManager.js:
902         (WebInspector.DebuggerManager.restoreBreakpointsSoon):
903         (WebInspector.DebuggerManager.prototype.reset):
904         (WebInspector.DebuggerManager.prototype.debuggerDidPause):
905         (WebInspector.DebuggerManager.prototype.debuggerDidResume):
906         (WebInspector.DebuggerManager.prototype._mainResourceDidChange):
907         (WebInspector.DebuggerManager.prototype._didResumeInternal):
908         (WebInspector.DebuggerManager.prototype._associateBreakpointsWithSourceCode):
909         (WebInspector.DebuggerManager.prototype.debuggerDidResume.delayedWork): Deleted.
910
911 2015-09-15  Joseph Pecoraro  <pecoraro@apple.com>
912
913         Web Inspector: Closing the final inspector tab should be allowed
914         https://bugs.webkit.org/show_bug.cgi?id=149130
915
916         Reviewed by Brian Burg.
917
918         Previously we did not allow closing the last inspector tab. Now, we
919         will allow closing all inspector tabs, and when the last is closed,
920         present an unclosable New Tab tab, which would then be used to create
921         a new tab.
922
923         * UserInterface/Base/Main.js:
924         (WebInspector.contentLoaded):
925         If we have no tabs to restore, show the New Tab tab.
926
927         (WebInspector._openDefaultTab):
928         When the last tab is closed, the tab bar requests we open a default tab.
929         Open the New Tab tab.
930
931         (WebInspector.TabBar.prototype._handleClick):
932         Disallow closing the single default tab.
933
934         (WebInspector._newTabItemClicked):
935         (WebInspector.showNewTabTab):
936         Share logic for showing the New Tab tab.
937
938         * UserInterface/Views/NewTabContentView.js:
939         (WebInspector.NewTabContentView):
940         Mark the new tab's tab bar item as the "default" tab bar item. It gets
941         special behavior when it is the single normal tab (cannot be closed).
942
943         * UserInterface/Views/TabBar.css:
944         (body:not(.window-inactive) .tab-bar > .item:hover > .close):
945         (body:not(.window-inactive) .tab-bar.single-tab > .item.default-tab:hover > .close):
946         (.tab-bar.single-tab > .item.default-tab > .close):
947         (body:not(.window-inactive) .tab-bar:not(.single-tab) > .item:not(.hide-close-button):hover > .close): Deleted.
948         (.tab-bar > .item.hide-close-button > .close): Deleted.
949         Update styles to only disable the close button on the
950         "default-tab" when it is the "single-tab" open. Otherwise
951         always allow closing tabs.
952
953         * UserInterface/Views/TabBar.js:
954         (WebInspector.TabBar.prototype.removeTabBarItem):
955         (WebInspector.TabBar.prototype.hasNormalTab):
956         (WebInspector.TabBar.prototype._openDefaultTab):
957         When removing the last normal tab, send an event to open
958         the default tab.
959
960         * UserInterface/Views/TabBarItem.js:
961         (WebInspector.TabBarItem.prototype.get default):
962         (WebInspector.TabBarItem.prototype.get isDefaultTab):
963         (WebInspector.TabBarItem.prototype.set isDefaultTab):
964         (WebInspector.TabBarItem.prototype.get hideCloseButton): Deleted.
965         (WebInspector.TabBarItem.prototype.set hideCloseButton): Deleted.
966         Switch to marking a tab bar item as the default tab. This tab
967         will be allowed when it is the single remaining tab. Currently
968         the default tab is always the "New Tab" tab.
969
970 2015-09-15  Brian Burg  <bburg@apple.com>
971
972         Web Inspector: new tab content view should disallow split console
973         https://bugs.webkit.org/show_bug.cgi?id=149164
974
975         Reviewed by Joseph Pecoraro.
976
977         * UserInterface/Views/NewTabContentView.js:
978         (WebInspector.NewTabContentView.prototype.get supportsSplitContentBrowser):
979
980 2015-09-14  Brian Burg  <bburg@apple.com>
981
982         Web Inspector: tab bar stutters when moving mouse after closing tab
983         https://bugs.webkit.org/show_bug.cgi?id=149138
984
985         Reviewed by Joseph Pecoraro.
986
987         The tab bar lacked the 'static-layout' class between when the Promise microtask
988         ran and the beginning of the requestAnimationFrame. This caused a flash of
989         tabs that are way too wide.
990
991         Re-add the static-layout class immediately after measuring the 'after' tab size.
992         This code should probably just manually compute tab sizes since flexbox
993         layout is quite slow and our measurement code here forces layout several times.
994
995         * UserInterface/Views/TabBar.js:
996
997 2015-09-14  Brian Burg  <bburg@apple.com>
998
999         Web Inspector: backend command promises are not rejected when a protocol error occurs
1000         https://bugs.webkit.org/show_bug.cgi?id=141403
1001
1002         Reviewed by Joseph Pecoraro.
1003
1004         Fix a few corner cases for how InspectorBackend delivers command failures.
1005
1006         * UserInterface/Protocol/InspectorBackend.js:
1007         (InspectorBackend.Command.prototype.deliverFailure): Added.
1008         (InspectorBackend.Command.prototype._invokeWithArguments):
1009
1010             If argument-checking fails, return a rejected promise or invoke the supplied callback
1011             on a zero-delay setTimeout to ensure that the reply is asynchronous.
1012
1013 2015-09-14  Brian Burg  <bburg@apple.com>
1014
1015         Web Inspector: middle-clicking a tab in the tab bar should close it
1016         https://bugs.webkit.org/show_bug.cgi?id=149135
1017
1018         Reviewed by Joseph Pecoraro.
1019
1020         This matches the behavior of the tab bar in Safari and other browsers.
1021
1022         * UserInterface/Views/TabBar.js:
1023         (WebInspector.TabBar.prototype._handleMouseDown):
1024         (WebInspector.TabBar.prototype._handleClick):
1025
1026 2015-09-14  Nikita Vasilyev  <nvasilyev@apple.com>
1027
1028         Web Inspector: Border under the styles filter field is clipped
1029         https://bugs.webkit.org/show_bug.cgi?id=149115
1030
1031         Reviewed by Darin Adler.
1032
1033         * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
1034         (.sidebar > .panel.details.css-style > .content + .options-container > .filter-bar):
1035
1036 2015-09-11  Nan Wang  <n_wang@apple.com>
1037
1038         AX: ARIA 1.1 @aria-current
1039         https://bugs.webkit.org/show_bug.cgi?id=146012
1040
1041         Reviewed by Chris Fleizach.
1042
1043         Added support for ARIA 1.1 aria-current.
1044
1045         * Localizations/en.lproj/localizedStrings.js:
1046         * UserInterface/Models/DOMNode.js:
1047         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
1048
1049 2015-09-10  Devin Rousso  <dcrousso+webkit@gmail.com>
1050
1051         Web Inspector: Styles sidebar says Media: all when it should say Media: screen
1052         https://bugs.webkit.org/show_bug.cgi?id=148436
1053
1054         Reviewed by Timothy Hatcher.
1055
1056         Removed filter that prevented "Media: screen" from being displayed.
1057
1058         * UserInterface/Views/RulesStyleDetailsPanel.js:
1059         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertMediaOrInheritanceLabel):
1060         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.filteredMediaList): Deleted.
1061
1062 2015-09-10  Matt Baker  <mattbaker@apple.com>
1063
1064         Web Inspector: Prefer calling ContentViewContainer.updateLayout directly
1065         https://bugs.webkit.org/show_bug.cgi?id=149041
1066
1067         Reviewed by Timothy Hatcher.
1068
1069         Cleaned up two places where a parent view duplicated logic encapsulated by ContentViewContainer.
1070
1071         * UserInterface/Views/ClusterContentView.js:
1072         (WebInspector.ClusterContentView.prototype.updateLayout):
1073         * UserInterface/Views/TimelineRecordingContentView.js:
1074         (WebInspector.TimelineRecordingContentView.prototype.updateLayout):
1075
1076 2015-09-08  Matt Baker  <mattbaker@apple.com>
1077
1078         Web Inspector: REGRESSION (r189189): Missing breakpoint context menu for debugger sidebar tree elements
1079         https://bugs.webkit.org/show_bug.cgi?id=148651
1080
1081         Reviewed by Timothy Hatcher.
1082
1083         * UserInterface/Base/Main.js:
1084         (WebInspector.contentLoaded):
1085         Create BreakpointPopoverController singleton, expose as public property of global WebInspector object.
1086
1087         * UserInterface/Views/BreakpointTreeElement.js:
1088         (WebInspector.BreakpointTreeElement.prototype.oncontextmenu):
1089         Use BreakpointPopoverController singleton.
1090
1091         * UserInterface/Views/SourceCodeTextEditor.js:
1092         (WebInspector.SourceCodeTextEditor):
1093         Don't create BreakpointPopoverController instance.
1094         (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu):
1095         Use BreakpointPopoverController singleton.
1096
1097 2015-09-08  Joseph Pecoraro  <pecoraro@apple.com>
1098
1099         Fix inspector/codemirror tests.
1100
1101         Rubber-stamped by Brian Burg.
1102
1103         * UserInterface/Test.html:
1104         Reorder includes to be more like Main.html. This ensures that CodeMirror
1105         resources are loaded before Inspector sources use it, like CodeMirrorAdditions
1106         which gets merged into TestCombined.js.
1107
1108 2015-09-08  Joseph Pecoraro  <pecoraro@apple.com>
1109
1110         Web Inspector: Move PrettyPrinting tests into LayoutTests
1111         https://bugs.webkit.org/show_bug.cgi?id=148698
1112
1113         Reviewed by Timothy Hatcher.
1114
1115         * Tools/PrettyPrinting/index.html:
1116         Modify the relative path to the tests which are now in LayoutTests.
1117
1118         * UserInterface/Test.html:
1119         Load CodeMirror and related resources for Formatting.
1120
1121 2015-09-06  Andy Estes  <aestes@apple.com>
1122
1123         WebKit.xcworkspace should be be able to build iOS platforms
1124         https://bugs.webkit.org/show_bug.cgi?id=148881
1125
1126         Reviewed by Daniel Bates.
1127
1128         Since we don't want to create platform-specific schemes, all projects in the workspace's schemes need to build
1129         for all supported platforms.
1130
1131         * Configurations/Base.xcconfig: Included iphoneos and iphonesimulator in SUPPORTED_PLATFORMS.
1132         * Configurations/WebInspectorUIFramework.xcconfig: Skipped installing on iOS.
1133
1134 2015-09-04  Brian Burg  <bburg@apple.com>
1135
1136         Web Inspector: combine Test.html resources to make tests run faster
1137         https://bugs.webkit.org/show_bug.cgi?id=148726
1138
1139         Reviewed by Timothy Hatcher.
1140
1141         In an attempt to make inspector tests run faster, always combine resources
1142         on the Test.html page. This cuts down from 110+ resource loads to 5 loads.
1143
1144         To avoid name clashes, add the 'Combined' suffix to files that would clash
1145         with uncombined Test resources, and add the 'Test' prefix when combining
1146         or minifying files that would clash with production minification. So, it
1147         would be possible for Main.html and Test.html to have different minified
1148         versions of CodeMirror or other external libraries if they use different
1149         subsets.
1150
1151         Combining is unlikely to make debugging tests more difficult, since almost
1152         all test code is marshalled and eval'd into existence anyway.
1153
1154         * Configurations/WebInspectorUIFramework.xcconfig:
1155         * Scripts/combine-resources.pl: Drive-by spelling.
1156         (concatenateFiles):
1157         (concatinateFiles): Deleted.
1158         * Scripts/copy-user-interface-resources-dryrun.rb:
1159         * Scripts/copy-user-interface-resources.pl:
1160
1161             Drive-by spelling. Add a new code path for combining Test resources, which
1162             doesn't require minification or handling CSS, images, or most externals.
1163
1164         * WebInspectorUI.vcxproj/build-webinspectorui.pl:
1165
1166             Always combine Test.html, but also ditto everything into place for
1167             engineering builds.
1168
1169 2015-09-04  Joseph Pecoraro  <pecoraro@apple.com>
1170
1171         Web Inspector: Test Runtime.saveResult and $n values
1172         https://bugs.webkit.org/show_bug.cgi?id=148837
1173
1174         Reviewed by Timothy Hatcher.
1175
1176         * UserInterface/Protocol/InspectorBackend.js:
1177         (InspectorBackendClass):
1178         Initialize the dump logging function different if we are in tests or not.
1179         When in tests, using console.log as well as dumping system activity to
1180         the system console results in an infinite loop of logging!
1181
1182         (InspectorBackendClass.prototype.dispatch):
1183         (InspectorBackendClass.prototype._sendCommandToBackendWithCallback):
1184         Use the logging function we figured out earlier.
1185
1186 2015-09-04  Joseph Pecoraro  <pecoraro@apple.com>
1187
1188         Web Inspector: Clean up and modernize DOMTreeManager
1189         https://bugs.webkit.org/show_bug.cgi?id=148821
1190
1191         Reviewed by Timothy Hatcher.
1192
1193         * UserInterface/Controllers/DOMTreeManager.js:
1194         (WebInspector.DOMTreeManager.prototype.requestDocument.onDocumentAvailable):
1195         (WebInspector.DOMTreeManager.prototype.requestDocument):
1196         (WebInspector.DOMTreeManager.prototype.pushNodeByPathToFrontend):
1197         (WebInspector.DOMTreeManager.prototype._wrapClientCallback):
1198         (WebInspector.DOMTreeManager.prototype._attributeModified):
1199         (WebInspector.DOMTreeManager.prototype._attributeRemoved):
1200         (WebInspector.DOMTreeManager.prototype._inlineStyleInvalidated):
1201         (WebInspector.DOMTreeManager.prototype._loadNodeAttributes):
1202         (WebInspector.DOMTreeManager.prototype.cancelSearch):
1203         (WebInspector.DOMTreeManager.prototype.querySelector):
1204         (WebInspector.DOMTreeManager.prototype.querySelectorAll):
1205         (WebInspector.DOMTreeManager.prototype.highlightDOMNode):
1206         (WebInspector.DOMTreeManager.prototype._buildHighlightConfig):
1207         Cleanup and modernize where appropriate.
1208
1209         * UserInterface/Views/SearchSidebarPanel.js:
1210         (WebInspector.SearchSidebarPanel.prototype.performSearch):
1211         Callback is now required.
1212
1213 2015-09-04  Matt Baker  <mattbaker@apple.com>
1214
1215         Web Inspector: Render Frames "Other" task filter checkbox misaligned with text
1216         https://bugs.webkit.org/show_bug.cgi?id=148788
1217
1218         Reviewed by Timothy Hatcher.
1219
1220         * UserInterface/Views/ChartDetailsSectionRow.css:
1221         (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > label > .color-key):
1222         Adjust "fake" checkbox margin to align with label text.
1223
1224 2015-09-04  Joseph Pecoraro  <pecoraro@apple.com>
1225
1226         Web Inspector: Expand Console domain test coverage
1227         https://bugs.webkit.org/show_bug.cgi?id=148740
1228
1229         Reviewed by Brian Burg.
1230
1231         * UserInterface/Protocol/RemoteObject.js:
1232         Add a few helpers for checking the RemoteObject type.
1233
1234 2015-09-02  Commit Queue  <commit-queue@webkit.org>
1235
1236         Unreviewed, rolling out r189241.
1237         https://bugs.webkit.org/show_bug.cgi?id=148703
1238
1239         These tests crash with assertions (Requested by ap on
1240         #webkit).
1241
1242         Reverted changeset:
1243
1244         "Web Inspector: Move PrettyPrinting tests into LayoutTests"
1245         https://bugs.webkit.org/show_bug.cgi?id=148698
1246         http://trac.webkit.org/changeset/189241
1247
1248 2015-09-01  Joseph Pecoraro  <pecoraro@apple.com>
1249
1250         Web Inspector: Move PrettyPrinting tests into LayoutTests
1251         https://bugs.webkit.org/show_bug.cgi?id=148698
1252
1253         Reviewed by Timothy Hatcher.
1254
1255         * Tools/PrettyPrinting/index.html:
1256         Modify the relative path to the tests which are now in LayoutTests.
1257
1258         * UserInterface/Test.html:
1259         Load CodeMirror and related resources for Formatting.
1260
1261 2015-09-01  Matt Baker  <mattbaker@apple.com>
1262
1263         Web Inspector: REGRESSION (r187873): Location column icon is missing in timeline data grids
1264         https://bugs.webkit.org/show_bug.cgi?id=148691
1265
1266         Reviewed by Timothy Hatcher.
1267
1268         * UserInterface/Views/TimelineDataGridNode.js:
1269         (WebInspector.TimelineDataGridNode.prototype.createCellContent):
1270         Added "icon" class name. Was using removed class variable (class="undefined").
1271
1272 2015-09-01  Matt Baker  <mattbaker@apple.com>
1273
1274         Web Inspector: Show layout/paint pixel area in the Rendering Frames tree outline
1275         https://bugs.webkit.org/show_bug.cgi?id=148674
1276
1277         Reviewed by Brian Burg.
1278
1279         * Localizations/en.lproj/localizedStrings.js:
1280         New UI string.
1281
1282         * UserInterface/Views/RenderingFrameTimelineView.css:
1283         (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.rendering-frame .item:not(.paint-record):not(.layout-record) .subtitle):
1284         (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.rendering-frame .item .subtitle): Deleted.
1285         Show subtitles for layout and paint records only. We still want to hide script record subtitles,
1286         since that information is already in the 'Location' column.
1287
1288         * UserInterface/Views/RenderingFrameTimelineView.js:
1289         (WebInspector.RenderingFrameTimelineView.prototype._processPendingRecords):
1290         Add tree element subtitle for LayoutTimelineRecords that specify width and height.
1291
1292 2015-09-01  Matt Baker  <mattbaker@apple.com>
1293
1294         Web Inspector: Reorder columns in the Rendering Frames data grid by importance
1295         https://bugs.webkit.org/show_bug.cgi?id=148672
1296
1297         Reviewed by Timothy Hatcher.
1298
1299         * UserInterface/Views/RenderingFrameTimelineView.js:
1300         (WebInspector.RenderingFrameTimelineView):
1301         Updated column order, rearranged the column object setup code to match.
1302
1303 2015-09-01  Brian Burg  <bburg@apple.com>
1304
1305         Web Inspector: rewrite inspector/console/command-line-api.html to use AsyncTestSuite
1306         https://bugs.webkit.org/show_bug.cgi?id=148637
1307
1308         Reviewed by Darin Adler.
1309
1310         * UserInterface/Base/Object.js:
1311         (WebInspector.Object.singleFireEventListener):
1312         (WebInspector.Object.singleFireEventListener.let.wrappedCallback): Arrow.
1313
1314 2015-09-01  Devin Rousso  <drousso@apple.com>
1315
1316         Web Inspector: New rule button in the style sidebar is blurry and too dark
1317         https://bugs.webkit.org/show_bug.cgi?id=148108
1318
1319         Reviewed by Timothy Hatcher.
1320
1321         Added support for Plus and Minus icons on non-retina screens.
1322         Also removed some CSS rules that no longer apply to anything.
1323
1324         * UserInterface/Images/Minus.svg:
1325         * UserInterface/Images/NewTabPlus.svg:
1326         * UserInterface/Images/Plus.svg: Removed.
1327         * UserInterface/Images/Plus13.svg: Copied from Source/WebInspectorUI/UserInterface/Images/Plus.svg.
1328         * UserInterface/Images/Plus15.svg: Copied from Source/WebInspectorUI/UserInterface/Images/Plus.svg.
1329
1330         * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
1331         (.sidebar > .panel.details.css-style > .content + .options-container):
1332         (.sidebar > .panel.details.css-style > .content + .options-container > .new-rule):
1333
1334         * UserInterface/Views/ProbeDetailsSidebarPanel.css:
1335         (.details-section.probe-set .options > .probe-add):
1336
1337         * UserInterface/Views/RulesStyleDetailsPanel.css:
1338         (.sidebar > .panel.details.css-style .rules .new-rule): Deleted.
1339         (.sidebar > .panel.details.css-style .rules > *:first-child:matches(.new-rule)): Deleted.
1340         (.sidebar > .panel.details.css-style > .content.filter-in-progress .new-rule): Deleted.
1341         (.sidebar > .panel.details.css-style > .content:not(.filter-in-progress) > .rules > .new-rule + .style-declaration-section): Deleted.
1342         (.sidebar > .panel.details.css-style > .content:not(.filter-in-progress) > .rules > .new-rule + .label): Deleted.
1343         (.sidebar > .panel.details.css-style .rules .new-rule img): Deleted.
1344         (.sidebar > .panel.details.css-style .rules .new-rule:hover): Deleted.
1345         (.sidebar > .panel.details.css-style .rules .new-rule:active): Deleted.
1346         (@media (-webkit-min-device-pixel-ratio: 2)): Deleted.
1347         Removed CSS rules that no longer apply.  The new rule button was moved to the Styles sidebar.
1348
1349         * UserInterface/Views/ScopeChainDetailsSidebarPanel.css:
1350         (.details-section.watch-expressions .options > .watch-expression-add):
1351
1352         * UserInterface/Views/TabBar.css:
1353         (.tab-bar > .item.new-tab-button > .icon):
1354
1355         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css:
1356         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-controls > div):
1357
1358         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
1359         (WebInspector.VisualStyleCommaSeparatedKeywordEditor):
1360
1361         * UserInterface/Views/VisualStyleSelectorSection.js:
1362         (WebInspector.VisualStyleSelectorSection):
1363
1364 2015-09-01  Brian Burg  <bburg@apple.com>
1365
1366         Web Inspector: add TestSuite hooks for per-testcase setup and teardown actions
1367         https://bugs.webkit.org/show_bug.cgi?id=148641
1368
1369         Reviewed by Timothy Hatcher.
1370
1371         It should be possible to run setup and teardown actions for each test case.
1372         The use case here is to add listeners, set up testcase-specific state, etc.
1373         To match how test functions work in each suite, the sync and async implementations
1374         take functions with no arguments and(resolve, reject), respectively.
1375
1376         * UserInterface/Test/TestSuite.js:
1377         (TestSuite.prototype.addTestCase):
1378         (TestSuite.messageFromThrownObject):
1379         (TestSuite):
1380         (AsyncTestSuite.prototype.runTestCases): Stick the extra functions in the chain.
1381         (AsyncTestSuite):
1382         (SyncTestSuite.prototype.runTestCases):
1383         (SyncTestSuite):
1384
1385 2015-09-01  Matt Baker  <mattbaker@apple.com>
1386
1387         Web Inspector: Visual style editor shouldn't allow alpha characters in numeric input fields
1388         https://bugs.webkit.org/show_bug.cgi?id=148580
1389
1390         Reviewed by Brian Burg.
1391
1392         * UserInterface/Views/VisualStyleNumberInputBox.js:
1393         (WebInspector.VisualStyleNumberInputBox):
1394         Added input element "changed" handler, renamed "keyup" handler to match "keydown" handler.
1395         (WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputChanged):
1396         Validate input in response to changed event.
1397
1398 2015-08-31  Nikita Vasilyev  <nvasilyev@apple.com>
1399
1400         Web Inspector: Command-Enter for selected JS in Debugger/Sources shouldn't change the focus
1401         https://bugs.webkit.org/show_bug.cgi?id=148613
1402
1403         Reviewed by Timothy Hatcher.
1404
1405         * UserInterface/Views/ConsoleTabContentView.js:
1406         (WebInspector.ConsoleTabContentView.prototype.shown):
1407         Always focus on the console prompt when the console tab get selected.
1408
1409         * UserInterface/Views/LogContentView.js:
1410         (WebInspector.LogContentView.prototype.shown): Deleted.
1411
1412 2015-08-31  Joseph Pecoraro  <pecoraro@apple.com>
1413
1414         Web Inspector: Debugger Popovers should work for object literal shorthand variables
1415         https://bugs.webkit.org/show_bug.cgi?id=148603
1416
1417         Reviewed by Timothy Hatcher.
1418
1419         * UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
1420         (WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
1421         Allow debugger popovers for object property shorthands, because they
1422         are actually variables that have values. Previously we ignored property
1423         name literals, because they were just property names until ES6.
1424
1425         * UserInterface/Views/CodeMirrorAdditions.js:
1426         Add a helper for walking through token types from a start position. It may be useful elsewhere.
1427
1428 2015-08-31  Matt Baker  <mattbaker@apple.com>
1429
1430         Web Inspector: Move the Popover code out of the Breakpoint model object
1431         https://bugs.webkit.org/show_bug.cgi?id=127328
1432
1433         Reviewed by Timothy Hatcher.
1434
1435         * UserInterface/Controllers/BreakpointPopoverController.js: Added.
1436         (WebInspector.BreakpointPopoverController):
1437         (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.editBreakpoint):
1438         (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.removeBreakpoint):
1439         (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.toggleBreakpoint):
1440         (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.toggleAutoContinue):
1441         (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.revealOriginalSourceCodeLocation):
1442         (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems):
1443         (WebInspector.BreakpointPopoverController.prototype.showEditBreakpointPopover):
1444         (WebInspector.BreakpointPopoverController.prototype._createPopoverContent):
1445         (WebInspector.BreakpointPopoverController.prototype._popoverToggleEnabledCheckboxChanged):
1446         (WebInspector.BreakpointPopoverController.prototype._popoverConditionInputChanged):
1447         (WebInspector.BreakpointPopoverController.prototype._popoverToggleAutoContinueCheckboxChanged):
1448         (WebInspector.BreakpointPopoverController.prototype._popoverConditionInputKeyDown):
1449         (WebInspector.BreakpointPopoverController.prototype._popoverActionsCreateAddActionButton):
1450         (WebInspector.BreakpointPopoverController.prototype._popoverActionsAddActionButtonClicked):
1451         (WebInspector.BreakpointPopoverController.prototype._popoverActionsInsertBreakpointActionView):
1452         (WebInspector.BreakpointPopoverController.prototype.breakpointActionViewAppendActionView):
1453         (WebInspector.BreakpointPopoverController.prototype.breakpointActionViewRemoveActionView):
1454         (WebInspector.BreakpointPopoverController.prototype.breakpointActionViewResized):
1455         (WebInspector.BreakpointPopoverController.prototype.willDismissPopover):
1456         (WebInspector.BreakpointPopoverController.prototype.didDismissPopover):
1457         Added controller class to encapsulate view logic previously located in WebInspector.Breakpoint.
1458
1459         * UserInterface/Main.html:
1460         Added and updated file paths.
1461
1462         * UserInterface/Models/Breakpoint.js:
1463         (WebInspector.Breakpoint.prototype.appendContextMenuItems.editBreakpoint): Deleted.
1464         (WebInspector.Breakpoint.prototype.appendContextMenuItems.removeBreakpoint): Deleted.
1465         (WebInspector.Breakpoint.prototype.appendContextMenuItems.toggleBreakpoint): Deleted.
1466         (WebInspector.Breakpoint.prototype.appendContextMenuItems.toggleAutoContinue): Deleted.
1467         (WebInspector.Breakpoint.prototype.appendContextMenuItems.revealOriginalSourceCodeLocation): Deleted.
1468         (WebInspector.Breakpoint.prototype.appendContextMenuItems): Deleted.
1469         (WebInspector.Breakpoint.prototype._popoverToggleEnabledCheckboxChanged): Deleted.
1470         (WebInspector.Breakpoint.prototype._popoverConditionInputChanged): Deleted.
1471         (WebInspector.Breakpoint.prototype._popoverToggleAutoContinueCheckboxChanged): Deleted.
1472         (WebInspector.Breakpoint.prototype._popoverConditionInputKeyDown): Deleted.
1473         (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement): Deleted.
1474         (WebInspector.Breakpoint.prototype._popoverActionsCreateAddActionButton): Deleted.
1475         (WebInspector.Breakpoint.prototype._popoverActionsAddActionButtonClicked): Deleted.
1476         (WebInspector.Breakpoint.prototype._popoverActionsInsertBreakpointActionView): Deleted.
1477         (WebInspector.Breakpoint.prototype.breakpointActionViewAppendActionView): Deleted.
1478         (WebInspector.Breakpoint.prototype.breakpointActionViewRemoveActionView): Deleted.
1479         (WebInspector.Breakpoint.prototype.breakpointActionViewResized): Deleted.
1480         (WebInspector.Breakpoint.prototype.willDismissPopover): Deleted.
1481         (WebInspector.Breakpoint.prototype.didDismissPopover): Deleted.
1482         (WebInspector.Breakpoint.prototype._showEditBreakpointPopover): Deleted.
1483         Removed view logic.
1484
1485         * UserInterface/Views/BreakpointPopoverController.css: Renamed from Source/WebInspectorUI/UserInterface/Views/Breakpoint.css.
1486         (.popover .edit-breakpoint-popover-content):
1487         (.popover .edit-breakpoint-popover-content.wide):
1488         (.popover .edit-breakpoint-popover-content > label.toggle):
1489         (.popover .edit-breakpoint-popover-content > table):
1490         (.popover .edit-breakpoint-popover-content > table > tr > th):
1491         (.popover .edit-breakpoint-popover-content > table > tr > td):
1492         (#edit-breakpoint-popover-condition):
1493         (#edit-breakpoint-popoover-auto-continue):
1494
1495         * UserInterface/Views/SourceCodeTextEditor.js:
1496         (WebInspector.SourceCodeTextEditor):
1497         Creates a BreakpointPopoverController instance. The lifetime of the 'Edit Breakpoint' view is internal to the
1498         controller, and can't be initiated outside of a context menu item click.
1499
1500 2015-08-31  Matt Baker  <mattbaker@apple.com>
1501
1502         Web Inspector: Rendering Frame tasks making up < 1% of the selection don't appear in the pie chart
1503         https://bugs.webkit.org/show_bug.cgi?id=148549
1504
1505         Reviewed by Timothy Hatcher.
1506
1507         Small data points can be invisible or difficult to see in the pie chart. This patch introduces
1508         a minimum slice size of 1.5% (determined by visual inspection) for chart items.
1509
1510         Legend items continue to show the original data point values, not the adjusted values used to
1511         draw the chart slices.
1512
1513         * UserInterface/Views/ChartDetailsSectionRow.js:
1514         (WebInspector.ChartDetailsSectionRow):
1515         (WebInspector.ChartDetailsSectionRow.prototype._updateLayout):
1516         Adjust display values up or down as needed, so no data point is less than the
1517         minimum and all chart slices still total 100%.
1518
1519 2015-08-28  Joseph Pecoraro  <pecoraro@apple.com>
1520
1521         Web Inspector: "animationEnd" event names should be "animationend" (broken dashboard animation after pause)
1522         https://bugs.webkit.org/show_bug.cgi?id=148604
1523
1524         Reviewed by Timothy Hatcher.
1525
1526         * UserInterface/Views/DOMTreeElement.js:
1527         (WebInspector.DOMTreeElement.prototype.emphasizeSearchHighlight):
1528         * UserInterface/Views/DashboardContainerView.js:
1529         (WebInspector.DashboardContainerView.prototype._showDashboardView.animationEnded):
1530         (WebInspector.DashboardContainerView.prototype._showDashboardView):
1531         (WebInspector.DashboardContainerView.prototype._hideDashboardView.animationEnded):
1532         (WebInspector.DashboardContainerView.prototype._hideDashboardView):
1533         * UserInterface/Views/DefaultDashboardView.js:
1534         (WebInspector.DefaultDashboardView.prototype._setConsoleItemValue.animationEnded):
1535         (WebInspector.DefaultDashboardView.prototype._setConsoleItemValue):
1536         * UserInterface/Views/TextEditor.js:
1537         (WebInspector.TextEditor.prototype._revealSearchResult):
1538
1539 2015-08-28  Joseph Pecoraro  <pecoraro@apple.com>
1540
1541         Web Inspector: Resource.prototype.associateWithScript assertions firing
1542         https://bugs.webkit.org/show_bug.cgi?id=148601
1543
1544         Reviewed by Timothy Hatcher.
1545
1546         * UserInterface/Models/Resource.js:
1547         (WebInspector.Resource.prototype.associateWithScript):
1548         Restore the code that was here before it was converted to asserts.
1549         It looked as if it was iOS 6 only but it was not.
1550
1551 2015-08-28  Joseph Pecoraro  <pecoraro@apple.com>
1552
1553         Web Inspector: Improve ScriptSyntaxTree a bit
1554         https://bugs.webkit.org/show_bug.cgi?id=148563
1555
1556         Reviewed by Timothy Hatcher.
1557
1558         * UserInterface/Models/ScriptSyntaxTree.js:
1559         (WebInspector.ScriptSyntaxTree.prototype._recurse):
1560         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
1561         Share and fix ClassDeclaration and ClassExpression recursion to visit
1562         the identifier (node.id). Include the kind with a VariableDeclaration
1563         ("var", "let", "const").
1564
1565 2015-08-28  Joseph Pecoraro  <pecoraro@apple.com>
1566
1567         Web Inspector: Separate creating a style sheet from adding a new rule in the protocol
1568         https://bugs.webkit.org/show_bug.cgi?id=148502
1569
1570         Reviewed by Timothy Hatcher.
1571
1572         The backend allows creating multiple stylesheets. This patch makes
1573         the frontend have a preferred InspectorStyleSheet per-frame.
1574
1575         * UserInterface/Base/Object.js:
1576         (WebInspector.Object.singleFireEventListener):
1577         Return the wrapped listener so it can be removed if needed.
1578
1579         * UserInterface/Models/CSSStyleSheet.js:
1580         (WebInspector.CSSStyleSheet.prototype.isInspectorStyleSheet):
1581         Helper to check if the current stylesheet is an inspector created stylesheet.
1582
1583         * UserInterface/Controllers/CSSStyleManager.js:
1584         (WebInspector.CSSStyleManager.prototype.preferredInspectorStyleSheetForFrame):
1585         (WebInspector.CSSStyleManager.prototype.preferredInspectorStyleSheetForFrame.documentNodeAvailable):
1586         (WebInspector.CSSStyleManager.prototype.preferredInspectorStyleSheetForFrame.bodyNodeAvailable):
1587         (WebInspector.CSSStyleManager.prototype.preferredInspectorStyleSheetForFrame.cssRuleAvailable):
1588         (WebInspector.CSSStyleManager.prototype._inspectorStyleSheetsForFrame):
1589         Lookup the inspector stylesheet for a particular frame. If one doesn't exist create it.
1590         For legacy backends, exploit "addRule" to create the inspector stylesheet.
1591
1592         * UserInterface/Models/DOMNode.js:
1593         * UserInterface/Models/DOMNodeStyles.js:
1594         (WebInspector.DOMNodeStyles.prototype.addEmptyRule.inspectorStyleSheetAvailable):
1595         (WebInspector.DOMNodeStyles.prototype.addEmptyRule):
1596         Currently add all new rules to the inspector stylesheet.
1597
1598 2015-08-28  Joseph Pecoraro  <pecoraro@apple.com>
1599
1600         Web Inspector: Type Profiler does not understand Functions within Default Argument Expressions
1601         https://bugs.webkit.org/show_bug.cgi?id=148557
1602
1603         Reviewed by Timothy Hatcher.
1604
1605         * UserInterface/Models/ScriptSyntaxTree.js:
1606         (WebInspector.ScriptSyntaxTree.prototype._recurse):
1607         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
1608         (WebInspector.ScriptSyntaxTree):
1609         Add support for abstracting and recursing through the default parameter
1610         expressions Esprima has on function expressions and declarations.
1611
1612 2015-08-28  Joseph Pecoraro  <pecoraro@apple.com>
1613
1614         Web Inspector: Type Profiler does not understand Functions inside Template Strings (ScriptSyntaxTree warnings)
1615         https://bugs.webkit.org/show_bug.cgi?id=148556
1616
1617         Reviewed by Timothy Hatcher.
1618
1619         * UserInterface/Models/ScriptSyntaxTree.js:
1620         (WebInspector.ScriptSyntaxTree.prototype._recurse):
1621         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
1622         (WebInspector.ScriptSyntaxTree):
1623         Add support for abstracting and recursing through the Esprima template nodes.
1624
1625 2015-08-27  Joseph Pecoraro  <pecoraro@apple.com>
1626
1627         Web Inspector: Standardize on CSSStyleSheet.Type enum and move more protocol enum conversion to the manager
1628         https://bugs.webkit.org/show_bug.cgi?id=148515
1629
1630         Reviewed by Brian Burg.
1631
1632         * UserInterface/Controllers/CSSStyleManager.js:
1633         (WebInspector.CSSStyleManager.protocolStyleSheetOriginToEnum):
1634         (WebInspector.CSSStyleManager.protocolMediaSourceToEnum):
1635         Protocol enum to frontend enum conversion.
1636
1637         * UserInterface/Models/DOMNodeStyles.js:
1638         (WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle):
1639         (WebInspector.DOMNodeStyles.prototype.refresh):
1640         (WebInspector.DOMNodeStyles.prototype._parseRulePayload):
1641         (WebInspector.DOMNodeStyles.prototype._collectStylesInCascadeOrder):
1642         Use the manager to convert from a protocol payload enum to frontend num for css types.
1643
1644         * UserInterface/Models/CSSRule.js:
1645         (WebInspector.CSSRule.prototype.get editable):
1646         * UserInterface/Views/CSSStyleDeclarationSection.js:
1647         (WebInspector.CSSStyleDeclarationSection):
1648         (WebInspector.CSSStyleDeclarationSection.prototype.refresh):
1649         * UserInterface/Views/RulesStyleDetailsPanel.js:
1650         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.appendStyleSection):
1651         (WebInspector.RulesStyleDetailsPanel.prototype.refresh):
1652         * UserInterface/Views/VisualStyleSelectorSection.js:
1653         (WebInspector.VisualStyleSelectorSection.prototype.update.createSelectorItem):
1654         (WebInspector.VisualStyleSelectorSection.prototype.update.uniqueOrderedRules.set return):
1655         (WebInspector.VisualStyleSelectorSection.prototype.update.uniqueOrderedRules):
1656         (WebInspector.VisualStyleSelectorSection.prototype.update):
1657         * UserInterface/Views/VisualStyleSelectorTreeItem.js:
1658         (WebInspector.VisualStyleSelectorTreeItem):
1659         Update enum use.
1660
1661 2015-08-26  Nikita Vasilyev  <nvasilyev@apple.com>
1662
1663         Web Inspector: [Regression] [Mavericks]: Undocked Web Inspector toolbar is two different colors and has extra space
1664         https://bugs.webkit.org/show_bug.cgi?id=148510
1665
1666         Make body element transparent and remove extra padding above the toolbar only for OS X Mavericks.
1667
1668         Reviewed by Timothy Hatcher.
1669
1670         * UserInterface/Base/Main.js:
1671         (WebInspector.contentLoaded):
1672         * UserInterface/Views/Main.css:
1673         (body:not(.mavericks)):
1674         (body): Deleted.
1675         * UserInterface/Views/Toolbar.css:
1676         (body:not(.mavericks) .toolbar):
1677         (body.window-inactive:not(.mavericks) .toolbar):
1678         (body.mac-platform:not(.docked, .mavericks) .toolbar):
1679         (.toolbar): Deleted.
1680         (body.window-inactive .toolbar): Deleted.
1681         (body.mac-platform:not(.docked) .toolbar): Deleted.
1682
1683 2015-08-26  Joseph Pecoraro  <pecoraro@apple.com>
1684
1685         Web Inspector: Uncaught exception in CSS Completion - TypeError: undefined is not an object (evaluating 'this._values[middleIndex].startsWith')
1686         https://bugs.webkit.org/show_bug.cgi?id=148508
1687
1688         Reviewed by Timothy Hatcher.
1689
1690         * UserInterface/Models/CSSCompletions.js:
1691         (WebInspector.CSSCompletions):
1692         Add a comment explaining that the constructor may be called with
1693         a list of strings or a list of objects from the protocol. Add
1694         a fast path for when this is constructed with a list of strings.
1695
1696 2015-08-26  Matt Baker  <mattbaker@apple.com>
1697
1698         Web Inspector: Rendering Frames timeline pie chart should use SVG instead of 2D canvas
1699         https://bugs.webkit.org/show_bug.cgi?id=148457
1700
1701         Reviewed by Timothy Hatcher.
1702
1703         * UserInterface/Views/ChartDetailsSectionRow.css:
1704         (.details-section > .content > .group > .row.chart > .chart-content > svg > path.hidden):
1705         (.details-section > .content > .group > .row.chart > .chart-content > svg > path.chart-segment):
1706         (.details-section > .content > .group > .row.chart > .chart-content > svg > path.empty-chart):
1707         New styles for SVG chart elements.
1708
1709         * UserInterface/Views/ChartDetailsSectionRow.js:
1710         (WebInspector.ChartDetailsSectionRow):
1711         Calculate radii and create SVG chart elements.
1712         (WebInspector.ChartDetailsSectionRow.prototype.clearItems):
1713         Remove chart segment path elements.
1714         (WebInspector.ChartDetailsSectionRow.prototype._needsLayout):
1715         (WebInspector.ChartDetailsSectionRow.prototype._updateLayout.createSegmentPathData):
1716         Helper function that creates path data for a single pie chart segment.
1717         (WebInspector.ChartDetailsSectionRow.prototype._updateLayout):
1718         Creates path elements as needed, and updates path data for for non-zero data points.
1719         (WebInspector.ChartDetailsSectionRow.prototype.set innerLabel): Deleted.
1720         (WebInspector.ChartDetailsSectionRow.prototype.set innerRadius): Deleted.
1721         These properties are now set during construction.
1722         (WebInspector.ChartDetailsSectionRow.prototype.updateLayout): Deleted.
1723         Renamed to _updateLayout.
1724
1725         * UserInterface/Views/TimelineSidebarPanel.js:
1726         Chart size and inner radius passed to chart constructor.
1727
1728 2015-08-26  Joseph Pecoraro  <pecoraro@apple.com>
1729
1730         Web Inspector: Implement tracking of active stylesheets in the frontend
1731         https://bugs.webkit.org/show_bug.cgi?id=105828
1732
1733         Reviewed by Timothy Hatcher.
1734
1735         * UserInterface/Models/CSSStyleSheet.js:
1736         (WebInspector.CSSStyleSheet):
1737         (WebInspector.CSSStyleSheet.prototype.get origin):
1738         (WebInspector.CSSStyleSheet.prototype.updateInfo):
1739         Add a new origin attribute that has been sent from the backend for a while.
1740
1741         * UserInterface/Controllers/CSSStyleManager.js:
1742         (WebInspector.CSSStyleManager.prototype.styleSheetAdded):
1743         (WebInspector.CSSStyleManager.prototype.styleSheetRemoved):
1744         Handle the new events by managing the new CSSStyleSheets.
1745         
1746         (WebInspector.CSSStyleManager):
1747         (WebInspector.CSSStyleManager.prototype._mainResourceDidChange):
1748         Reset the legacy fetching flag. Fetching is only needed for legacy backends.
1749
1750         (WebInspector.CSSStyleManager.prototype._fetchInfoForAllStyleSheets):
1751         Include the new origin property in the legacy updateInfo path.
1752
1753         * UserInterface/Protocol/CSSObserver.js:
1754         (WebInspector.CSSObserver.prototype.styleSheetAdded):
1755         (WebInspector.CSSObserver.prototype.styleSheetRemoved):
1756         Forward to the manager.
1757
1758         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
1759         (WebInspector.CSSStyleDetailsSidebarPanel):
1760         Refresh the sidebar when stylesheets are added / removed, as that
1761         may affect the style of the select element.
1762
1763 2015-08-26  Joseph Pecoraro  <pecoraro@apple.com>
1764
1765         Web Inspector: Drop iOS 6 Legacy Remote Inspector Support
1766         https://bugs.webkit.org/show_bug.cgi?id=148456
1767
1768         Reviewed by Timothy Hatcher.
1769
1770         * UserInterface/Base/Main.js:
1771         (WebInspector.loaded):
1772         (WebInspector._updateReloadToolbarButton):
1773         (WebInspector._updateDownloadToolbarButton):
1774         (WebInspector.canArchiveMainFrame):
1775         * UserInterface/Controllers/CSSStyleManager.js:
1776         (WebInspector.CSSStyleManager.prototype._frameURLMapKey):
1777         (WebInspector.CSSStyleManager.prototype._lookupStyleSheet.styleSheetsFetched):
1778         (WebInspector.CSSStyleManager._updateResourceContent.fetchedStyleSheetContent):
1779         (WebInspector.CSSStyleManager.prototype._clearStyleSheetsForResource): Deleted.
1780         * UserInterface/Controllers/DOMTreeManager.js:
1781         (WebInspector.DOMTreeManager.prototype.highlightSelector):
1782         * UserInterface/Controllers/DebuggerManager.js:
1783         (WebInspector.DebuggerManager.prototype._setBreakpoint):
1784         * UserInterface/Controllers/JavaScriptLogViewController.js:
1785         * UserInterface/Controllers/RuntimeManager.js:
1786         (WebInspector.RuntimeManager):
1787         (WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):
1788         * UserInterface/Controllers/SourceMapManager.js:
1789         (WebInspector.SourceMapManager.prototype._loadAndParseSourceMap):
1790         * UserInterface/Controllers/StorageManager.js:
1791         (WebInspector.StorageManager):
1792         (WebInspector.StorageManager.prototype._addDOMStorageIfNeeded):
1793         (WebInspector.StorageManager.prototype.domStorageWasUpdated): Deleted.
1794         (WebInspector.StorageManager.prototype._domStorageForIdentifier): Deleted.
1795         (WebInspector.StorageManager.prototype._extraDomainsActivated): Deleted.
1796         * UserInterface/Controllers/TimelineManager.js:
1797         (WebInspector.TimelineManager.prototype._processRecord):
1798         * UserInterface/Models/Breakpoint.js:
1799         (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement):
1800         * UserInterface/Models/CSSCompletions.js:
1801         (WebInspector.CSSCompletions):
1802         (WebInspector.CSSCompletions.requestCSSCompletions):
1803         * UserInterface/Models/CSSKeywordCompletions.js:
1804         (WebInspector.CSSKeywordCompletions.addCustomCompletions): Deleted.
1805         * UserInterface/Models/CSSProperty.js:
1806         (WebInspector.CSSProperty):
1807         (WebInspector.CSSProperty.prototype.update):
1808         * UserInterface/Models/CSSRule.js:
1809         (WebInspector.CSSRule.prototype.get matchedSelectors): Deleted.
1810         (WebInspector.CSSRule.prototype.get matchedSelectorText): Deleted.
1811         * UserInterface/Models/DOMNodeStyles.js:
1812         (WebInspector.DOMNodeStyles.prototype.refresh.parseRuleMatchArrayPayload):
1813         (WebInspector.DOMNodeStyles.prototype.refresh.fetchedMatchedStyles):
1814         (WebInspector.DOMNodeStyles.prototype.changeRule.changeText):
1815         (WebInspector.DOMNodeStyles.prototype.changeStyleText):
1816         (WebInspector.DOMNodeStyles.prototype._parseStylePropertyPayload):
1817         (WebInspector.DOMNodeStyles.prototype._parseRulePayload):
1818         (WebInspector.DOMNodeStyles.prototype.changeStyleText.attributeChanged): Deleted.
1819         (WebInspector.DOMNodeStyles.prototype.changeStyleText.fetchedStyleSheetContent.contentDidChange): Deleted.
1820         (WebInspector.DOMNodeStyles.prototype.changeStyleText.fetchedStyleSheetContent): Deleted.
1821         (WebInspector.DOMNodeStyles.prototype._parseSourceRangePayload): Deleted.
1822         (WebInspector.DOMNodeStyles.prototype._parseSelectorListPayload): Deleted.
1823         * UserInterface/Models/DOMStorageObject.js:
1824         * UserInterface/Models/DOMTree.js:
1825         (WebInspector.DOMTree.prototype.requestRootDOMNode):
1826         (WebInspector.DOMTree.prototype._requestRootDOMNode):
1827         * UserInterface/Models/DatabaseObject.js:
1828         (WebInspector.DatabaseObject.prototype.executeSQL.queryCallback):
1829         (WebInspector.DatabaseObject.prototype.executeSQL):
1830         (WebInspector.DatabaseObject):
1831         (WebInspector.DatabaseObject.prototype.executeSQL.callback): Deleted.
1832         * UserInterface/Models/ExecutionContext.js:
1833         (WebInspector.ExecutionContext.supported): Deleted.
1834         * UserInterface/Models/IssueMessage.js:
1835         (WebInspector.IssueMessage): Deleted.
1836         * UserInterface/Models/LayoutTimelineRecord.js:
1837         (WebInspector.LayoutTimelineRecord):
1838         (WebInspector.LayoutTimelineRecord.prototype.get width):
1839         (WebInspector.LayoutTimelineRecord.prototype.get height):
1840         (WebInspector.LayoutTimelineRecord.prototype.get area):
1841         (WebInspector.LayoutTimelineRecord.prototype.get x): Deleted.
1842         (WebInspector.LayoutTimelineRecord.prototype.get y): Deleted.
1843         (WebInspector.LayoutTimelineRecord.prototype.get rect): Deleted.
1844         * UserInterface/Models/ProfileNode.js:
1845         * UserInterface/Models/Resource.js:
1846         (WebInspector.Resource.prototype.associateWithScript):
1847         * UserInterface/Models/ScriptTimelineRecord.js:
1848         (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload.profileNodeFromPayload):
1849         * UserInterface/Models/SourceMapResource.js:
1850         (WebInspector.SourceMapResource.prototype.requestContentFromBackend):
1851         * UserInterface/Models/TextRange.js:
1852         (WebInspector.TextRange.prototype.resolveLinesAndColumns.countNewLineCharacters): Deleted.
1853         (WebInspector.TextRange.prototype.resolveLinesAndColumns): Deleted.
1854         * UserInterface/Models/TimelineRecording.js:
1855         * UserInterface/Protocol/ConsoleObserver.js:
1856         (WebInspector.ConsoleObserver.prototype.messageAdded): Deleted.
1857         * UserInterface/Protocol/DOMStorageObserver.js:
1858         (WebInspector.DOMStorageObserver.prototype.addDOMStorage): Deleted.
1859         (WebInspector.DOMStorageObserver.prototype.updateDOMStorage): Deleted.
1860         * UserInterface/Protocol/DatabaseObserver.js:
1861         (WebInspector.DatabaseObserver.prototype.sqlTransactionSucceeded): Deleted.
1862         (WebInspector.DatabaseObserver.prototype.sqlTransactionFailed): Deleted.
1863         (WebInspector.DatabaseObserver): Deleted.
1864         * UserInterface/Protocol/Legacy/6.0/InspectorBackendCommands.js: Removed.
1865         * UserInterface/Views/CookieStorageContentView.js:
1866         (WebInspector.CookieStorageContentView.prototype._deleteCallback):
1867         (WebInspector.CookieStorageContentView):
1868         * UserInterface/Views/DOMTreeContentView.js:
1869         (WebInspector.DOMTreeContentView.prototype._updateCompositingBordersButtonToMatchPageSettings): Deleted.
1870         * UserInterface/Views/EventListenerSectionGroup.js:
1871         (WebInspector.EventListenerSectionGroup.prototype._functionTextOrLink):
1872         (WebInspector.EventListenerSectionGroup):
1873         * UserInterface/Views/LayoutTimelineView.js:
1874         (WebInspector.LayoutTimelineView.prototype._showHighlightForRecord):
1875         * UserInterface/Views/QuickConsole.js:
1876         (WebInspector.QuickConsole):
1877         (WebInspector.QuickConsole.prototype._createExecutionContextPathComponentFromFrame):
1878         (WebInspector.QuickConsole.prototype._frameAdded): Deleted.
1879         (WebInspector.QuickConsole.prototype._frameRemoved): Deleted.
1880         (WebInspector.QuickConsole.prototype._frameMainResourceChanged): Deleted.
1881         * UserInterface/Views/ScriptTimelineDataGridNode.js:
1882         (WebInspector.ScriptTimelineDataGridNode.prototype.get data):
1883         * UserInterface/Views/SourceCodeTextEditor.js:
1884         (WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenAnnotator):
1885         (WebInspector.SourceCodeTextEditor.prototype._makeBasicBlockAnnotator):
1886         * Versions/Inspector-iOS-6.0.json: Removed.
1887         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
1888         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
1889
1890 2015-08-26  Nikita Vasilyev  <nvasilyev@apple.com>
1891
1892         Web Inspector: Command-Enter should evaluate selected JS in Debugger/Sources
1893         https://bugs.webkit.org/show_bug.cgi?id=148368
1894
1895         Reviewed by Timothy Hatcher.
1896
1897         * UserInterface/Controllers/CodeMirrorCompletionController.js:
1898         (WebInspector.CodeMirrorCompletionController):
1899         (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions):
1900         Evaluate selected text in the console only for JS and HTML resources. HTML resources
1901         should be allowed because they can have commented out (inside <!-- -->) and
1902         inline (onclick="") JavaScript.
1903
1904 2015-08-25  Brian Burg  <bburg@apple.com>
1905
1906         Web Inspector: no need to allocate protocolErrors array for every dispatched backend command
1907         https://bugs.webkit.org/show_bug.cgi?id=146466
1908
1909         Reviewed by Joseph Pecoraro.
1910
1911         * UserInterface/TestStub.html: Fix a typo, this property exists on ProtocolTest.
1912
1913 2015-08-26  Matt Baker  <mattbaker@apple.com>
1914
1915         Web Inspector: Rendering Frames legend item checkbox colors are too light
1916         https://bugs.webkit.org/show_bug.cgi?id=148465
1917
1918         Reviewed by Timothy Hatcher.
1919
1920         * UserInterface/Views/ChartDetailsSectionRow.js:
1921         (WebInspector.ChartDetailsSectionRow.prototype._addCheckboxColorFilter):
1922         Gamma primitive should use an "exponent" attribute instead of "value".
1923         Increased gamma exponent to 1.4.
1924
1925 2015-08-26  Nikita Vasilyev  <nvasilyev@apple.com>
1926
1927         Web Inspector: Make DOM node attribute changes highlighting less obnoxious
1928         https://bugs.webkit.org/show_bug.cgi?id=148050
1929
1930         Reviewed by Timothy Hatcher.
1931
1932         * UserInterface/Views/DOMTreeOutline.css:
1933         (@keyframes node-state-changed): Change color to a light green.
1934         (.node-state-changed): Add a slight ease-in for the animation function.
1935
1936 2015-08-26  Joseph Pecoraro  <pecoraro@apple.com>
1937
1938         Web Inspector: Add Refresh button to Cookie Content View
1939         https://bugs.webkit.org/show_bug.cgi?id=148468
1940
1941         Reviewed by Timothy Hatcher.
1942
1943         * UserInterface/Views/CookieStorageContentView.js:
1944         (WebInspector.CookieStorageContentView):
1945         (WebInspector.CookieStorageContentView.prototype.get navigationItems):
1946         (WebInspector.CookieStorageContentView.prototype._refreshButtonClicked):
1947
1948 2015-08-25  Brian Burg  <bburg@apple.com>
1949
1950         Web Inspector: message dispatch metrics should use high-resolution timing data
1951         https://bugs.webkit.org/show_bug.cgi?id=135467
1952
1953         Reviewed by Timothy Hatcher.
1954
1955         Use performance.now if it's available, otherwise fallback to Date.now().
1956         Format timestamps with fixed decimal point, and sprinkle some ES6.
1957
1958         * UserInterface/Base/Utilities.js:
1959         (timestamp): Added.
1960         * UserInterface/Protocol/InspectorBackend.js:
1961         (InspectorBackendClass):
1962         (InspectorBackendClass.prototype._sendCommandToBackendWithCallback):
1963         (InspectorBackendClass.prototype._dispatchEvent):
1964         * UserInterface/Protocol/MessageDispatcher.js:
1965         (WebInspector.dispatchNextQueuedMessageFromBackend):
1966         (WebInspector.dispatchMessageFromBackend): Be consistent about using `this`.
1967
1968 2015-08-25  Matt Baker  <mattbaker@apple.com>
1969
1970         Web Inspector: Rendering Frames pie chart should use the needsLayout/updateLayout idiom
1971         https://bugs.webkit.org/show_bug.cgi?id=148412
1972
1973         Reviewed by Timothy Hatcher.
1974
1975         * UserInterface/Views/ChartDetailsSectionRow.js:
1976         (WebInspector.ChartDetailsSectionRow):
1977         (WebInspector.ChartDetailsSectionRow.prototype.set innerLabel):
1978         (WebInspector.ChartDetailsSectionRow.prototype.set innerRadius):
1979         Schedule a layout.
1980         (WebInspector.ChartDetailsSectionRow.prototype.set data): Deleted.
1981         Replaced by addItem, setItemValue, and clearItems.
1982         (WebInspector.ChartDetailsSectionRow.prototype.addItem):
1983         (WebInspector.ChartDetailsSectionRow.prototype.setItemValue):
1984         (WebInspector.ChartDetailsSectionRow.prototype.clearItems):
1985         Add/update data points and schedule a layout.
1986         (WebInspector.ChartDetailsSectionRow.prototype._needsLayout):
1987         (WebInspector.ChartDetailsSectionRow.prototype.updateLayout):
1988         Update legend and draw pie chart.
1989         (WebInspector.ChartDetailsSectionRow.prototype._createLegend): Deleted.
1990         Refactored as _updateLegend.
1991         (WebInspector.ChartDetailsSectionRow.prototype._refresh): Deleted.
1992         Refactored as updateLayout.
1993
1994         * UserInterface/Views/TimelineSidebarPanel.js:
1995         (WebInspector.TimelineSidebarPanel):
1996         Add chart data points once.
1997         (WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart):
1998         Update chart values.
1999
2000 2015-08-24  Brian Burg  <bburg@apple.com>
2001
2002         Web Inspector: add protocol test for existing error handling performed by the backend
2003         https://bugs.webkit.org/show_bug.cgi?id=147097
2004
2005         Reviewed by Joseph Pecoraro.
2006
2007         Add a way to send raw messages to the backend while still awaiting on responses.
2008         This is necessary to test protocol error handling in the inspector backend.
2009
2010         * UserInterface/Test/InspectorProtocol.js:
2011         (InspectorProtocol.sendCommand):
2012         (InspectorProtocol.awaitCommand): Use awaitMessage internally.
2013         (InspectorProtocol.awaitMessage): Added. Use a dummy requestId if none is supplied.
2014         (InspectorProtocol._sendMessage): Added.
2015         (InspectorProtocol.dispatchMessageFromBackend):
2016         Reject with the error object instead of the error message, so error code/data can be checked.
2017         (InspectorProtocol.sendMessage): Deleted, it is now a private method.
2018
2019 2015-08-24  Timothy Hatcher  <timothy@apple.com>
2020
2021         Web Inspector: Change webkitAnimationEnd use, should be animationEnd
2022         https://bugs.webkit.org/show_bug.cgi?id=148385
2023
2024         Reviewed by Joseph Pecoraro.
2025
2026         * UserInterface/Views/DOMTreeElement.js:
2027         (WebInspector.DOMTreeElement.prototype.emphasizeSearchHighlight):
2028         * UserInterface/Views/DashboardContainerView.js:
2029         (WebInspector.DashboardContainerView.prototype._showDashboardView.animationEnded):
2030         (WebInspector.DashboardContainerView.prototype._showDashboardView):
2031         (WebInspector.DashboardContainerView.prototype._hideDashboardView.animationEnded):
2032         (WebInspector.DashboardContainerView.prototype._hideDashboardView):
2033         * UserInterface/Views/DefaultDashboardView.js:
2034         (WebInspector.DefaultDashboardView.prototype._setConsoleItemValue.animationEnded):
2035         (WebInspector.DefaultDashboardView.prototype._setConsoleItemValue):
2036         * UserInterface/Views/TextEditor.js:
2037         (WebInspector.TextEditor.prototype.revealPosition.revealAndHighlightLine):
2038         (WebInspector.TextEditor.prototype.revealPosition):
2039         (WebInspector.TextEditor.prototype._revealSearchResult):
2040
2041 2015-08-24  Nikita Vasilyev  <nvasilyev@apple.com>
2042
2043         REGRESSION (r188581): Web Inspector: Console user command isn't visible when it's expected to be
2044         https://bugs.webkit.org/show_bug.cgi?id=148283
2045
2046         One of the improvements of r188581 "Option-Enter should commit console command
2047         without erasing the prompt" was not to show a console user command if it's the
2048         same as the previous one.
2049
2050         However, there could be a lot of other messages between the last two user
2051         commands - console.log, CSS warnings, etc. In that case we should show a console
2052         user command again by resetting _lastCommitted.
2053
2054         Reviewed by Timothy Hatcher.
2055
2056         * UserInterface/Controllers/JavaScriptLogViewController.js:
2057         (WebInspector.JavaScriptLogViewController):
2058         (WebInspector.JavaScriptLogViewController.prototype.startNewSession):
2059         (WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessageView):
2060         Reset _lastCommitted for all messages except for user commands and use command results.
2061
2062 2015-08-24  Matt Baker  <mattbaker@apple.com>
2063
2064         Web Inspector: Rendering Frames filter checkboxes all become checked during recording
2065         https://bugs.webkit.org/show_bug.cgi?id=148375
2066
2067         Reviewed by Timothy Hatcher.
2068
2069         * UserInterface/Views/ChartDetailsSectionRow.js:
2070         (WebInspector.ChartDetailsSectionRow.prototype._createLegend):
2071         Removed incorrect code that forced checked to true.
2072
2073         * UserInterface/Views/TimelineSidebarPanel.js:
2074         (WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart):
2075         Persist legend item checkbox state when updating the chart.
2076
2077 2015-08-23  Matt Baker  <mattbaker@apple.com>
2078
2079         Web Inspector: Filtered style not applied to graph elements during timeline recording
2080         https://bugs.webkit.org/show_bug.cgi?id=148339
2081
2082         Reviewed by Brian Burg.
2083
2084         * UserInterface/Views/NavigationSidebarPanel.js:
2085         (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
2086         Check for hidden state change when applying filters to newly added tree elements.
2087
2088 2015-08-23  Timothy Hatcher  <timothy@apple.com>
2089
2090         Web Inspector: Drop webkit prefixes from animation, keyframes and transform
2091         https://bugs.webkit.org/show_bug.cgi?id=148364
2092
2093         Reviewed by Darin Adler.
2094
2095         * UserInterface/Views/BreakpointTreeElement.css:
2096         (.breakpoint-generic-line-icon .icon > span):
2097         (.data-updated.breakpoint-generic-line-icon .icon > span):
2098         * UserInterface/Views/ColorPicker.css:
2099         (.color-picker > .slider):
2100         * UserInterface/Views/DashboardContainerView.css:
2101         (.toolbar .dashboard):
2102         (.toolbar .dashboard.slide-out-up):
2103         (.toolbar .dashboard.slide-out-down):
2104         (.toolbar .dashboard.slide-in-up):
2105         (.toolbar .dashboard.slide-in-down):
2106         (@keyframes slide-top-edge):
2107         (@keyframes slide-bottom-edge):
2108         (@-webkit-keyframes slide-top-edge): Deleted.
2109         (@-webkit-keyframes slide-bottom-edge): Deleted.
2110         * UserInterface/Views/DebuggerDashboardView.css:
2111         (.dashboard.debugger .navigation-bar .item.button > .glyph):
2112         (@keyframes pulse-pause-button):
2113         (@-webkit-keyframes pulse-pause-button): Deleted.
2114         * UserInterface/Views/DefaultDashboardView.css:
2115         (.toolbar .dashboard.default > .item.pulsing):
2116         (@keyframes console-item-pulse):
2117         (@-webkit-keyframes console-item-pulse): Deleted.
2118         * UserInterface/Views/GoToLineDialog.css:
2119         (.go-to-line-dialog):
2120         * UserInterface/Views/HoverMenu.css:
2121         (.hover-menu):
2122         * UserInterface/Views/IndeterminateProgressSpinner.css:
2123         (@keyframes discrete-spinner):
2124         (.indeterminate-progress-spinner):
2125         (@-webkit-keyframes discrete-spinner): Deleted.
2126         * UserInterface/Views/Main.css:
2127         (.bouncy-highlight):
2128         (@keyframes bouncy-highlight-animation):
2129         (@-webkit-keyframes bouncy-highlight-animation): Deleted.
2130         * UserInterface/Views/ProbeSetDataGrid.css:
2131         (.details-section.probe-set .data-grid tr.revealed.highlighted):
2132         (@keyframes blink-frame-highlight):
2133         (.details-section.probe-set .data-grid > tr.data-updated):
2134         (@keyframes blink-probe-frame):
2135         (@-webkit-keyframes blink-frame-highlight): Deleted.
2136         (@-webkit-keyframes blink-probe-frame): Deleted.
2137         * UserInterface/Views/TextEditor.css:
2138         (.text-editor > .CodeMirror .highlighted):
2139         (@keyframes text-editor-highlight-fadeout):
2140         (.text-editor > .CodeMirror .hovered-expression-highlight):
2141         (@keyframes text-editor-hovered-expression-highlight-fadeout):
2142         (@-webkit-keyframes text-editor-highlight-fadeout): Deleted.
2143         (@-webkit-keyframes text-editor-hovered-expression-highlight-fadeout): Deleted.
2144         * UserInterface/Views/TimelineOverview.css:
2145         (.timeline-overview.frames > .timeline-ruler > .markers > .divider):
2146         (.timeline-overview.frames > .timeline-ruler:not(.both-handles-clamped) > .selection-handle.right):
2147         (.timeline-overview.frames > .timeline-ruler:not(.both-handles-clamped) > .shaded-area.right):
2148         * UserInterface/Views/TimelineRuler.css:
2149         (.timeline-ruler > .header > .divider):
2150         (.timeline-ruler > .markers > .divider):
2151         (.timeline-ruler > .markers > .marker):
2152         (.timeline-ruler > .selection-handle.left):
2153         (.timeline-ruler > .selection-handle.right):
2154
2155 2015-08-21  Saam barati  <sbarati@apple.com>
2156
2157         Web Inspector: Type profiler shows 'Undefined' annotation for functions with no return statements
2158         https://bugs.webkit.org/show_bug.cgi?id=146882
2159
2160         Reviewed by Joseph Pecoraro.
2161
2162         * UserInterface/Controllers/TypeTokenAnnotator.js:
2163         (WebInspector.TypeTokenAnnotator.prototype._insertTypeToken):
2164         * UserInterface/Models/ScriptSyntaxTree.js:
2165         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
2166         (WebInspector.ScriptSyntaxTree):
2167
2168 2015-08-21  Joseph Pecoraro  <pecoraro@apple.com>
2169
2170         Web Inspector: WebInspector.domTreeManager.regionLayoutUpdated does not exist
2171         https://bugs.webkit.org/show_bug.cgi?id=148348
2172
2173         Reviewed by Timothy Hatcher.
2174
2175         * UserInterface/Protocol/CSSObserver.js:
2176         (WebInspector.CSSObserver.prototype.regionLayoutUpdated):
2177         Just do the same as the new event name.
2178
2179 2015-08-21  Brian Burg  <bburg@apple.com>
2180
2181         Web Inspector: clean up uses of `new` with zero-argument constructors and factory methods
2182         https://bugs.webkit.org/show_bug.cgi?id=148311
2183
2184         Reviewed by Timothy Hatcher.
2185
2186         * UserInterface/Protocol/InspectorFrontendHostStub.js:
2187         * UserInterface/Views/ClusterContentView.js:
2188         (WebInspector.ClusterContentView):
2189         * UserInterface/Views/ColorPicker.js:
2190         (WebInspector.ColorPicker):
2191         * UserInterface/Views/ContentView.js:
2192         (WebInspector.ContentView.createFromRepresentedObject): This was causing a console assertion
2193         when a breakpoint tree element was selected and the inspector tried to restore the view state
2194         after a reload or back/forward navigation.
2195
2196         * UserInterface/Views/NavigationSidebarPanel.js:
2197         (WebInspector.NavigationSidebarPanel):
2198         * UserInterface/Views/TimelineRecordingContentView.js:
2199         (WebInspector.TimelineRecordingContentView):
2200
2201 2015-08-20  Brian Burg  <bburg@apple.com>
2202
2203         Web Inspector: add a regression test for the fix introduced in r188679
2204         https://bugs.webkit.org/show_bug.cgi?id=148223
2205
2206         Reviewed by Joseph Pecoraro.
2207
2208         Turns out that we were possibly leaking a single DOMTree on reload.
2209         Always clear the main frame's DOMTree as well as those of sub-frames.
2210
2211         * UserInterface/Base/Object.js: Add back single-fire listeners.
2212         (WebInspector.Object.singleFireEventListener.let.wrappedCallback):
2213         (WebInspector.Object.singleFireEventListener):
2214         (WebInspector.Object.retainedObjectsWithPrototype):
2215         (WebInspector.Object.prototype.singleFireEventListener):
2216         (WebInspector.Object.prototype.retainedObjectsWithPrototype):
2217         * UserInterface/Models/Frame.js:
2218         (WebInspector.Frame.prototype.removeAllChildFrames): Clear own tree too.
2219
2220 2015-08-20  Joseph Pecoraro  <pecoraro@apple.com>
2221
2222         Web Inspector: Better Remember open tab types and order if using JSContext inspector
2223         https://bugs.webkit.org/show_bug.cgi?id=148285
2224
2225         Reviewed by Timothy Hatcher.
2226
2227         * UserInterface/Base/Main.js:
2228         (WebInspector.contentLoaded):
2229         (WebInspector.activateExtraDomains):
2230         Save and restore extra domain related tabs at the expected saved index.
2231
2232         (WebInspector._rememberOpenTabs):
2233         Keep unsupported tab types in the setting so when they are supported they open.
2234
2235         * UserInterface/Base/Utilities.js:
2236         Add a helper for inserting a single object into an array.
2237
2238 2015-08-20  Nikita Vasilyev  <nvasilyev@apple.com>
2239
2240         Web Inspector: inline errors/warnings are taller than the line height
2241         https://bugs.webkit.org/show_bug.cgi?id=148232
2242
2243         Reviewed by Timothy Hatcher.
2244
2245         * UserInterface/Views/SourceCodeTextEditor.css:
2246         (.source-code.text-editor > .CodeMirror .issue-widget.inline):
2247         (.source-code.text-editor > .CodeMirror .issue-widget.inline > .text):
2248
2249 2015-08-20  Joseph Pecoraro  <pecoraro@apple.com>
2250
2251         JSContext Inspector: Uncaught Exception opening Search Tab
2252         https://bugs.webkit.org/show_bug.cgi?id=148284
2253
2254         Reviewed by Timothy Hatcher.
2255
2256         * UserInterface/Views/SearchSidebarPanel.js:
2257         (WebInspector.SearchSidebarPanel):
2258         This is copied / pasted code that shouldn't apply to the Search tab.
2259         We want to show results under Resources in the Search tab.
2260
2261 2015-08-20  Nikita Vasilyev  <nvasilyev@apple.com>
2262
2263         Web Inspector: Truncate data URIs
2264         https://bugs.webkit.org/show_bug.cgi?id=148212
2265
2266         Reviewed by Timothy Hatcher.
2267
2268         * UserInterface/Base/URLUtilities.js:
2269         (parseURL):
2270         Exit early to avoid an expensive RegExp match on a potentially very large data URI.
2271
2272         (parseQueryString):
2273         Fix typo.
2274
2275         (WebInspector.displayNameForURL):
2276         (WebInspector.truncateURL):
2277         By default, only show first and last 3 characters of data URIs.
2278
2279         * UserInterface/Models/Resource.js:
2280         (WebInspector.Resource.prototype.get displayURL):
2281         For tooltips, show first and last 32 characters of data URIs.
2282
2283         * UserInterface/Models/SourceCodeLocation.js:
2284         (WebInspector.SourceCodeLocation.prototype._locationString):
2285         * UserInterface/Views/ResourceTreeElement.js:
2286         (WebInspector.ResourceTreeElement.prototype._updateToolTip):
2287
2288 2015-08-20  Devin Rousso  <drousso@apple.com>
2289
2290         Web Inspector: Add flex alignment section to Visual sidebar
2291         https://bugs.webkit.org/show_bug.cgi?id=148243
2292
2293         Reviewed by Timothy Hatcher.
2294
2295         Uses select keyword pickers to contain the list of possible values.  Also supports
2296         the upcoming Grid layout keywords in the advanced keyword list.
2297
2298         * Localizations/en.lproj/localizedStrings.js:
2299         * UserInterface/Views/VisualStyleDetailsPanel.js:
2300         (WebInspector.VisualStyleDetailsPanel):
2301         (WebInspector.VisualStyleDetailsPanel.prototype._populateFlexboxSection):
2302         (WebInspector.VisualStyleDetailsPanel.prototype._populateAlignmentSection):
2303
2304 2015-08-20  Devin Rousso  <drousso@apple.com>
2305
2306         Web Inspector: Labels in the computed panel are shifted when a filter is applieds
2307         https://bugs.webkit.org/show_bug.cgi?id=148250
2308
2309         Reviewed by Timothy Hatcher.
2310
2311         Added to the selectors for filtering to ensure they only apply to the rules panel.
2312
2313         * UserInterface/Views/RulesStyleDetailsPanel.css:
2314         (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules .label):
2315         (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules .label:not(.filter-section-non-matching) ~ .label):
2316         (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules .label.filter-matching-label):
2317         (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules .label:not(.filter-section-non-matching) + .label.filter-matching-label:not(.filter-section-non-matching)):
2318         (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules .new-rule):
2319         (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules .style-declaration-section:not(.filter-section-non-matching) ~ .label:not(.filter-section-non-matching)):
2320         (@media (-webkit-min-device-pixel-ratio: 2)):
2321         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label): Deleted.
2322         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label:not(.filter-section-non-matching) ~ .label): Deleted.
2323         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label.filter-matching-label): Deleted.
2324         (.sidebar > .panel.details.css-style > .content.filter-in-progress .label:not(.filter-section-non-matching) + .label.filter-matching-label:not(.filter-section-non-matching)): Deleted.
2325         (.sidebar > .panel.details.css-style > .content.filter-in-progress .new-rule): Deleted.
2326         (.sidebar > .panel.details.css-style > .content.filter-in-progress .style-declaration-section:not(.filter-section-non-matching) ~ .label:not(.filter-section-non-matching)): Deleted.
2327
2328 2015-08-20  Devin Rousso  <drousso@apple.com>
2329
2330         Web Inspector: Fix "attempted to assign to readonly property" in Visual editor links
2331         https://bugs.webkit.org/show_bug.cgi?id=148264
2332
2333         Reviewed by Timothy Hatcher.
2334
2335         * UserInterface/Views/VisualStylePropertyEditorLink.js:
2336         (WebInspector.VisualStylePropertyEditorLink.prototype.set linked):
2337         No longer attempts to set the "hidden" attribute of the link icons before they exist.
2338
2339 2015-08-20  Devin Rousso  <drousso@apple.com>
2340
2341         Web Inspector: Visual editor adds extra spaces to styles with no properties
2342         https://bugs.webkit.org/show_bug.cgi?id=148242
2343
2344         Reviewed by Timothy Hatcher.
2345
2346         * UserInterface/Models/CSSStyleDeclaration.js:
2347         (WebInspector.CSSStyleDeclaration.prototype.set text):
2348         Now trims the text and, if the resulting string has no length or the style is inline,
2349         replaces the text to be set with the trimmed text.
2350
2351         * UserInterface/Views/VisualStylePropertyCombiner.js:
2352         (WebInspector.VisualStylePropertyCombiner.prototype.modifyPropertyText):
2353         Removed unnecessary trim.
2354
2355 2015-08-20  Devin Rousso  <drousso@apple.com>
2356
2357         Web Inspector: Font size between computed and set value is off in visual styles popups
2358         https://bugs.webkit.org/show_bug.cgi?id=148226
2359
2360         Reviewed by Timothy Hatcher.
2361
2362         * UserInterface/Views/VisualStylePropertyEditor.css:
2363         (.visual-style-property-container > .visual-style-property-value-container > .visual-style-special-property-placeholder):
2364         Increased font-size to match the font-size of the overlaid select element.
2365
2366 2015-08-20  Matt Baker  <mattbaker@apple.com>
2367
2368         Web Inspector: Filtered frames shouldn't be selectable in the Rendering Frames overview graph
2369         https://bugs.webkit.org/show_bug.cgi?id=148253
2370
2371         Reviewed by Timothy Hatcher.
2372
2373         * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:
2374         Check record's filtered state before setting new frame selection.
2375
2376 2015-08-20  Devin Rousso  <drousso@apple.com>
2377
2378         Web Inspector: visual style number inputs don't style the units correctly
2379         https://bugs.webkit.org/show_bug.cgi?id=148222
2380
2381         Reviewed by Timothy Hatcher.
2382
2383         * UserInterface/Views/VisualStyleNumberInputBox.js:
2384         (WebInspector.VisualStyleNumberInputBox.prototype.set value):
2385         Added extra checks to see if the number input has a value when setting the value on the editor.
2386
2387 2015-08-20  Matt Baker  <mattbaker@apple.com>
2388
2389         Web Inspector: Filtered frames should be styled differently in the Rendering Frames overview graph
2390         https://bugs.webkit.org/show_bug.cgi?id=147421
2391
2392         Reviewed by Timothy Hatcher.
2393
2394         * UserInterface/Views/NavigationSidebarPanel.js:
2395         (WebInspector.NavigationSidebarPanel.prototype.representedObjectWasFiltered):
2396         (WebInspector.NavigationSidebarPanel.prototype._updateFilter):
2397         Inform derived sidebar of tree element filter state changes.
2398
2399         * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:
2400         (WebInspector.RenderingFrameTimelineOverviewGraph.prototype.recordWasFiltered):
2401         (WebInspector.RenderingFrameTimelineOverviewGraph.prototype.updateLayout):
2402         Update filtered frame style when a record's state changes, and during layout.
2403
2404         * UserInterface/Views/TimelineOverview.js:
2405         * UserInterface/Views/TimelineOverviewGraph.js:
2406         (WebInspector.TimelineOverviewGraph.prototype.recordWasFiltered):
2407         Allow setting a record's filtered state for a given timeline in the overview.
2408
2409         * UserInterface/Views/TimelineRecordFrame.css:
2410         (.timeline-record-frame.filtered > .frame):
2411         New filtered frame style.
2412
2413         * UserInterface/Views/TimelineRecordFrame.js:
2414         (WebInspector.TimelineRecordFrame.prototype.get filtered):
2415         (WebInspector.TimelineRecordFrame.prototype.set filtered):
2416
2417         * UserInterface/Views/TimelineRecordingContentView.js:
2418         (WebInspector.TimelineRecordingContentView.prototype.recordWasFiltered):
2419
2420         * UserInterface/Views/TimelineSidebarPanel.js:
2421         (WebInspector.TimelineSidebarPanel.prototype.representedObjectWasFiltered):
2422         (WebInspector.TimelineSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
2423         Apply task filters to RenderingFrameTimelineRecords and their immediate children.
2424
2425 2015-08-20  Brian Burg  <bburg@apple.com>
2426
2427         Web Inspector: console assertion when hitting breakpoint after auto-recording ends
2428         https://bugs.webkit.org/show_bug.cgi?id=148225
2429
2430         Reviewed by Timothy Hatcher.
2431
2432         Add checks for the precondition to starting/stopping time updates.
2433
2434         * UserInterface/Views/TimelineRecordingContentView.js:
2435         (WebInspector.TimelineRecordingContentView.prototype._capturingStarted):
2436         (WebInspector.TimelineRecordingContentView.prototype._debuggerPaused):
2437         (WebInspector.TimelineRecordingContentView.prototype._debuggerResumed):
2438
2439 2015-08-19  Brian Burg  <bburg@apple.com>
2440
2441         Web Inspector: add TestHarness option to tee all commands to system console
2442         https://bugs.webkit.org/show_bug.cgi?id=148181
2443
2444         Reviewed by Joseph Pecoraro.
2445
2446         It is currently difficult to trace what's going on when a test times out
2447         on a buildbot instance. The existing option for forcing debug logging can
2448         still drop messages that don't make it from the inspector to the test page.
2449
2450         This patch adds an option which logs all TestHarness commands directly to
2451         stderr in the Inspector instance using InspectorFrontendHost::unbufferedLog.
2452
2453         Clean up how existing harness logging code calls into each other. Extract
2454         the stringifying code that is duplicated everywhere.
2455
2456         * UserInterface/Test.html: Reorganize options and add new option.
2457         * UserInterface/Test/FrontendTestHarness.js:
2458         (FrontendTestHarness.prototype.completeTest):
2459         (FrontendTestHarness.prototype.addResult):
2460         (FrontendTestHarness.prototype.debugLog):
2461         (FrontendTestHarness.prototype.testPageDidLoad):
2462         (FrontendTestHarness.prototype._resendResults):
2463         (FrontendTestHarness):
2464         * UserInterface/Test/ProtocolTestHarness.js:
2465         (ProtocolTestHarness.prototype.completeTest):
2466         (ProtocolTestHarness.prototype.addResult):
2467         (ProtocolTestHarness.prototype.debugLog):
2468         * UserInterface/Test/TestHarness.js:
2469         (TestHarness.prototype.log):
2470         (TestHarness.prototype.assert):
2471         (TestHarness.prototype.expectThat):
2472         (TestHarness.messageAsString):
2473         (TestHarness):
2474         * UserInterface/TestStub.html: Reorganize options and add new option.
2475
2476 2015-08-20  Joseph Pecoraro  <pecoraro@apple.com>
2477
2478         Web Inspector: Remove unused temporary variable
2479         https://bugs.webkit.org/show_bug.cgi?id=148215
2480
2481         Reviewed by Timothy Hatcher.
2482
2483         * UserInterface/Views/VisualStyleDetailsPanel.js:
2484         (WebInspector.VisualStyleDetailsPanel):
2485
2486 2015-08-19  Devin Rousso  <drousso@apple.com>
2487
2488         Web Inspector: Visual styles panel does not work with pseudo-elements
2489         https://bugs.webkit.org/show_bug.cgi?id=148187
2490
2491         Reviewed by Timothy Hatcher.
2492
2493         If the inline style does not exist, such as for pseudo-elements, default to the first matched rule.
2494
2495         * UserInterface/Views/VisualStyleSelectorSection.js:
2496         (WebInspector.VisualStyleSelectorSection.prototype.update):
2497
2498 2015-08-19  Joseph Pecoraro  <pecoraro@apple.com>
2499
2500         Web Inspector: DOMTree leaks on main resource changes
2501         https://bugs.webkit.org/show_bug.cgi?id=148158
2502
2503         Reviewed by Timothy Hatcher.
2504
2505         * UserInterface/Models/DOMTree.js:
2506         (WebInspector.DOMTree.prototype.disconnect):
2507         Add a way to disconnect the DOMTree and allow it to get garbage collected.
2508
2509         (WebInspector.DOMTree.prototype.invalidate.performInvalidate):
2510         (WebInspector.DOMTree.prototype.invalidate):
2511         (WebInspector.DOMTree.prototype._requestRootDOMNode):
2512         (WebInspector.DOMTree.prototype._framePageExecutionContextChanged):
2513         Remove some uses of the delete operator.
2514
2515         * UserInterface/Models/Frame.js:
2516         (WebInspector.Frame.prototype.removeChildFrame):
2517         (WebInspector.Frame.prototype.removeAllChildFrames):
2518         (WebInspector.Frame.prototype._detachFromParentFrame):
2519         When a frame gets removed from its parent, disconnect its DOMTree.
2520
2521 2015-08-19  Devin Rousso  <drousso@apple.com>
2522
2523         Web Inspector: The first style in the Rules panel for pseudo-elements needs padding
2524         https://bugs.webkit.org/show_bug.cgi?id=148207
2525
2526         Reviewed by Timothy Hatcher.
2527
2528         * UserInterface/Views/RulesStyleDetailsPanel.css:
2529         (.sidebar > .panel.details.css-style .rules .label:first-child):
2530         If the first element in the Rules panel is a label, add some top padding.
2531
2532 2015-08-19  Devin Rousso  <drousso@apple.com>
2533
2534         Web Inspector: Committing a valid selector in the styles sidebar replaces the new selector with the old one
2535         https://bugs.webkit.org/show_bug.cgi?id=148206
2536
2537         Reviewed by Timothy Hatcher.
2538
2539         * UserInterface/Views/CSSStyleDeclarationSection.js:
2540         (WebInspector.CSSStyleDeclarationSection.prototype._markSelector):
2541         No longer unnecessarily refreshes the section if the selector is valid.
2542
2543 2015-08-19  Joseph Pecoraro  <pecoraro@apple.com>
2544
2545         Web Inspector: Uncaught Exceptions regarding PseudoElements / TemplateContent
2546         https://bugs.webkit.org/show_bug.cgi?id=148190
2547
2548         Reviewed by Brian Burg.
2549
2550         * UserInterface/Controllers/DOMTreeManager.js:
2551         (WebInspector.DOMTreeManager.prototype._unbind):
2552         Iterate over the values in the map, not the iterator pairs.
2553
2554         * UserInterface/Models/DOMNode.js:
2555         When removing a pseudo element, don't assume this._children
2556         exists, it may be null. So separate the two paths.
2557
2558 2015-08-19  Devin Rousso  <drousso@apple.com>
2559
2560         Web Inspector: long selectors in the visual editor sidebar can overflow
2561         https://bugs.webkit.org/show_bug.cgi?id=148185
2562
2563         Reviewed by Timothy Hatcher.
2564
2565         Selectors in the Visual editor sidebar are now clipped and use ellipses.
2566
2567         * UserInterface/Views/VisualStyleSelectorSection.css:
2568         (.details-section.visual-style-selector-section > .header > .current-selector):
2569         (.details-section.visual-style-selector-section:not(.collapsed) > .content):
2570         (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider > .titles):
2571         (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider > .titles > .title): Deleted.
2572
2573         * UserInterface/Views/VisualStyleSelectorTreeItem.css:
2574         (.item.visual-style-selector-item):
2575         (.item.visual-style-selector-item > .titles):
2576         (.item.visual-style-selector-item > input[type="checkbox"]):
2577         (.item.visual-style-selector-item > .icon):
2578
2579 2015-08-19  Joseph Pecoraro  <pecoraro@apple.com>
2580
2581         Web Inspector: Include Legacy Inspector JSON for iOS 9
2582         https://bugs.webkit.org/show_bug.cgi?id=148200
2583
2584         Reviewed by Timothy Hatcher.
2585
2586         * UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js: Added.
2587         * Versions/Inspector-iOS-9.0.json: Added.
2588
2589 2015-08-19  Joseph Pecoraro  <pecoraro@apple.com>
2590
2591         Web Inspector: Update Copyright in minified / combined output
2592         https://bugs.webkit.org/show_bug.cgi?id=148201
2593
2594         Reviewed by Timothy Hatcher.
2595
2596         * Scripts/copy-user-interface-resources.pl:
2597         Include copyright comments from missing 2014 and 2015 contributors
2598         in the comment in the minified / combined Main.js.
2599
2600 2015-08-19  Joseph Pecoraro  <pecoraro@apple.com>
2601
2602         Web Inspector: Uncaught exception in inspector page while handling event DOMStorage.domStorageItemRemoved
2603         https://bugs.webkit.org/show_bug.cgi?id=148191
2604
2605         Reviewed by Brian Burg.
2606
2607         * UserInterface/Controllers/StorageManager.js:
2608         (WebInspector.StorageManager.prototype.itemsCleared):
2609         (WebInspector.StorageManager.prototype.itemRemoved):
2610         (WebInspector.StorageManager.prototype.itemAdded):
2611         (WebInspector.StorageManager.prototype.itemUpdated):
2612         Check if the DOMStorage for the identifier actually exists.
2613         Due to how the backend emits events, the page may have already
2614         navigated when we get a storage update for the previous page.
2615         In that case, we don't want to create a DOMStorage for the
2616         previous page if it doesn't exist.
2617
2618 2015-08-19  Brian Burg  <bburg@apple.com>
2619
2620         Web Inspector: use unprefixed CSS property 'filter' instead of '-webkit-filter'
2621         https://bugs.webkit.org/show_bug.cgi?id=148186
2622
2623         Reviewed by Dean Jackson.
2624
2625         * UserInterface/Views/BreakpointActionView.css:
2626         (.breakpoint-action-remove-button:active):
2627         * UserInterface/Views/CSSStyleDeclarationSection.css:
2628         (.style-declaration-section:not(.invalid-selector) > .header > .icon.toggle-able:hover):
2629         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
2630         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .invalid-warning-marker.clickable:hover):
2631         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .cubic-bezier-marker:hover):
2632         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .cubic-bezier-marker:active):
2633         * UserInterface/Views/ChartDetailsSectionRow.css:
2634         (body.window-inactive .details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > label > input[type=checkbox]):
2635         * UserInterface/Views/ChartDetailsSectionRow.js:
2636         (WebInspector.ChartDetailsSectionRow.prototype._addCheckboxColorFilter):
2637         * UserInterface/Views/NewTabContentView.css:
2638         (.new-tab.tab.content-view > .tab-item.disabled):
2639         (.new-tab.tab.content-view > .tab-item:not(.disabled):hover > .box):
2640         (.new-tab.tab.content-view > .tab-item:not(.disabled):active > .box):
2641         * UserInterface/Views/TimelineSidebarPanel.css:
2642         (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph):
2643         (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:hover):
2644         (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:active):
2645         * UserInterface/Views/VisualStyleKeywordIconList.css:
2646         (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:not(.selected) > div):
2647         * UserInterface/Views/VisualStyleSelectorSection.css:
2648         (.details-section.visual-style-selector-section > .header > .controls > .visual-style-selector-section-add-rule):
2649
2650 2015-08-19  Joseph Pecoraro  <pecoraro@apple.com>
2651
2652         Web Inspector: Uncaught Exception while handling event DOM.pseudoElementRemoved reloading twitter pages
2653         https://bugs.webkit.org/show_bug.cgi?id=148180
2654
2655         Reviewed by Brian Burg.
2656
2657         * UserInterface/Views/DOMTreeElement.js:
2658         (WebInspector.DOMTreeElement.prototype._visibleChildren):
2659         DOMNode.children can be null before it is filled in.
2660
2661 2015-08-19  Brian Burg  <bburg@apple.com>
2662
2663         Web Inspector: InspectorTest should be a subclass of TestHarness
2664         https://bugs.webkit.org/show_bug.cgi?id=148079
2665
2666         Reviewed by Timothy Hatcher.
2667
2668         Extract the frontend test harness into a subclass. Delete some code that
2669         is now redundant. Sprinkle some ES6 syntax where possible.
2670
2671         Rewrite the code that redirects the Inspector page's console messages to
2672         the test page, since it didn't appear to work any more.
2673
2674         * UserInterface/Test.html: Add debug options here, and a wiki link.
2675         * UserInterface/Test/FrontendTestHarness.js: Added.
2676         (FrontendTestHarness):
2677         (FrontendTestHarness.prototype.completeTest):
2678         (FrontendTestHarness.prototype.addResult):
2679         (FrontendTestHarness.prototype.debugLog):
2680         (FrontendTestHarness.prototype.evaluateInPage):
2681         (FrontendTestHarness.prototype.expectNoError):
2682         (FrontendTestHarness.prototype.testPageDidLoad):
2683         (FrontendTestHarness.prototype.reloadPage):
2684         (FrontendTestHarness.prototype.redirectConsoleToTestOutput.createProxyConsoleHandler):
2685         (FrontendTestHarness.prototype.redirectConsoleToTestOutput):
2686         (FrontendTestHarness.prototype.reportUncaughtException):
2687         (FrontendTestHarness.prototype._resendResults):
2688         * UserInterface/Test/Test.js:
2689         (WebInspector.loaded):
2690         (WebInspector.UIString): Arrow it.
2691         (WebInspector.updateDockedState): Arrow it.
2692         (WebInspector.updateDockingAvailability): Arrow it.
2693         (InspectorTest.EventDispatcher.prototype.dispatchEvent): Deleted.
2694         (InspectorTest.EventDispatcher): Deleted.
2695         (InspectorTest.log): Deleted.
2696         (InspectorTest.assert): Deleted.
2697         (InspectorTest.expectThat): Deleted.
2698         (InspectorTest.debugLog): Deleted.
2699         (InspectorTest.expectNoError): Deleted.
2700         (InspectorTest.completeTest): Deleted.
2701         (InspectorTest.evaluateInPage): Deleted.
2702         (InspectorTest.addResult): Deleted.
2703         (InspectorTest._resendResults): Deleted.
2704         (InspectorTest.testPageDidLoad): Deleted.
2705         (InspectorTest.reloadPage): Deleted.
2706         (InspectorTest.reportUncaughtException): Deleted.
2707         * UserInterface/Test/TestSuite.js: Clean an unnecessary self = this.
2708         (SyncTestSuite.prototype.runTestCases):
2709         (SyncTestSuite):
2710         * UserInterface/TestStub.html: Add matching link to wiki.
2711
2712 2015-08-19  Brian Burg  <bburg@apple.com>
2713
2714         Web Inspector: split TestStub.js into multiple files and modernize it
2715         https://bugs.webkit.org/show_bug.cgi?id=148077
2716
2717         Reviewed by Timothy Hatcher.
2718  
2719         Since we want to share files between the two harnesses, split some of the parts
2720         into different files so not everything has to be included at once.
2721
2722         Rename InjectedTestHarness to just TestHarness. Update some code to use
2723         ES6 features where appropriate. Put test classes into Test/ directory.
2724
2725         * UserInterface/Base/TestStub.js: Removed.
2726         * UserInterface/Test.html:
2727         * UserInterface/Test/InspectorProtocol.js: Added.
2728         (InspectorProtocol.sendCommand):
2729         (InspectorProtocol.awaitCommand):
2730         (InspectorProtocol.awaitEvent.):
2731         (InspectorProtocol.awaitEvent):
2732         (InspectorProtocol.addEventListener):
2733         (InspectorProtocol.sendMessage):
2734         (InspectorProtocol.checkForError):
2735         (InspectorProtocol.dispatchMessageFromBackend):
2736         * UserInterface/Test/ProtocolTestHarness.js: Added.
2737         (ProtocolTestHarness.prototype.completeTest):
2738         (ProtocolTestHarness.prototype.addResult):
2739         (ProtocolTestHarness.prototype.debugLog):
2740         (ProtocolTestHarness.prototype.evaluateInPage):
2741         (ProtocolTestHarness):
2742         * UserInterface/Test/Test.js: Renamed from Source/WebInspectorUI/UserInterface/Base/Test.js.
2743         (WebInspector.loaded):
2744         (WebInspector.contentLoaded):
2745         (WebInspector.UIString):
2746         (WebInspector.updateDockedState):
2747         (WebInspector.updateDockingAvailability):
2748         (InspectorTest.EventDispatcher.prototype.dispatchEvent):
2749         (InspectorTest.EventDispatcher):
2750         (InspectorTest.log):
2751         (InspectorTest.assert):
2752         (InspectorTest.expectThat):
2753         (InspectorTest.debugLog):
2754         (InspectorTest.expectNoError):
2755         (InspectorTest.completeTest):
2756         (InspectorTest.evaluateInPage):
2757         (InspectorTest.addResult):
2758         (InspectorTest._resendResults):
2759         (InspectorTest.testPageDidLoad):
2760         (InspectorTest.reloadPage):
2761         (InspectorTest.reportUncaughtException):
2762         * UserInterface/Test/TestHarness.js: Added.
2763         (TestHarness):
2764         (TestHarness.prototype.completeTest):
2765         (TestHarness.prototype.addResult):
2766         (TestHarness.prototype.debugLog):
2767         (TestHarness.prototype.evaluateInPage):
2768         (TestHarness.prototype.createAsyncSuite):
2769         (TestHarness.prototype.createSyncSuite):
2770         (TestHarness.prototype.get logCount):
2771         (TestHarness.prototype.log):
2772         (TestHarness.prototype.assert):
2773         (TestHarness.prototype.expectThat):
2774         * UserInterface/Test/TestStub.js: Added.
2775         * UserInterface/Test/TestSuite.js: Added.
2776         (TestSuite):
2777         (TestSuite.prototype.runTestCasesAndFinish):
2778         (TestSuite.prototype.runTestCases):
2779         (TestSuite.prototype.get passCount):
2780         (TestSuite.prototype.get skipCount):
2781         (TestSuite.prototype.addTestCase):
2782         (AsyncTestSuite.prototype.runTestCasesAndFinish.finish):
2783         (AsyncTestSuite.prototype.runTestCasesAndFinish):
2784         (AsyncTestSuite.prototype.runTestCases):
2785         (AsyncTestSuite):
2786         (SyncTestSuite.prototype.runTestCasesAndFinish):
2787         (SyncTestSuite.prototype.runTestCases):
2788         (SyncTestSuite):
2789         * UserInterface/TestStub.html:
2790
2791 2015-08-19  Nikita Vasilyev  <nvasilyev@apple.com>
2792
2793         Web Inspector: Pressing Command-Enter should re-evaluate selected console user command
2794         https://bugs.webkit.org/show_bug.cgi?id=147918
2795
2796         Reviewed by Timothy Hatcher.
2797
2798         * UserInterface/Views/LogContentView.js:
2799         (WebInspector.LogContentView.prototype._keyDown):
2800         (WebInspector.LogContentView.prototype._commandEnterWasPressed):
2801         Only re-evaluate one selected user command.
2802
2803 2015-08-19  Nikita Vasilyev  <nvasilyev@apple.com>
2804
2805         REGRESSION (r188581): Web Inspector: Console user command isn't visible after reloading the page
2806         https://bugs.webkit.org/show_bug.cgi?id=148166
2807
2808         Reviewed by Timothy Hatcher.
2809
2810         * UserInterface/Controllers/JavaScriptLogViewController.js:
2811         (WebInspector.JavaScriptLogViewController.prototype.startNewSession):
2812
2813 2015-08-19  Nikita Vasilyev  <nvasilyev@apple.com>
2814
2815         REGRESSION (r188581): Web Inspector: Option-Enter no longer inserts a new line in the console
2816         https://bugs.webkit.org/show_bug.cgi?id=148165
2817
2818         Make Option-Enter insert a new line, as it was before r188581.
2819         Make Command-Enter keep executed command in the prompt.
2820
2821         Reviewed by Timothy Hatcher.
2822
2823         * UserInterface/Views/ConsolePrompt.js:
2824         (WebInspector.ConsolePrompt): Deleted.
2825         (WebInspector.ConsolePrompt.prototype._handleCommandEnterKey):
2826         (WebInspector.ConsolePrompt.prototype._handleOptionEnterKey): Deleted.
2827         (WebInspector.ConsolePrompt.prototype._handleCommandOptionEnterKey): Deleted.
2828
2829 2015-08-18  Joseph Pecoraro  <pecoraro@apple.com>
2830
2831         Web Inspector: Links for rules in <style> are incorrect, do not account for <style> offset in the document
2832         https://bugs.webkit.org/show_bug.cgi?id=148141
2833
2834         Reviewed by Brian Burg.
2835
2836         * UserInterface/Controllers/CSSStyleManager.js:
2837         (WebInspector.CSSStyleManager):
2838         (WebInspector.CSSStyleManager.prototype.get styleSheets):
2839         (WebInspector.CSSStyleManager.prototype.fetchStyleSheetsIfNeeded):
2840         (WebInspector.CSSStyleManager.prototype.styleSheetForIdentifier):
2841         (WebInspector.CSSStyleManager.prototype._mainResourceDidChange):
2842         Update more information about a StyleSheet when fetched.
2843
2844         * UserInterface/Models/CSSRule.js:
2845         (WebInspector.CSSRule.prototype.update):
2846         Eliminate usage of `delete`.
2847
2848         * UserInterface/Models/CSSStyleSheet.js:
2849         (WebInspector.CSSStyleSheet):
2850         (WebInspector.CSSStyleSheet.prototype.get startLineNumber):
2851         (WebInspector.CSSStyleSheet.prototype.get startColumnNumber):
2852         (WebInspector.CSSStyleSheet.prototype.hasInfo):
2853         (WebInspector.CSSStyleSheet.prototype.isInlineStyleTag):
2854         (WebInspector.CSSStyleSheet.prototype.updateInfo):
2855         Include more information about this stylesheet.
2856
2857         (WebInspector.CSSStyleSheet.prototype.offsetSourceCodeLocation):
2858         Include helper API to offset a source code location by the startLine/Column
2859         of this stylesheet itself, if it was an inline style.
2860
2861         (WebInspector.CSSStyleSheet.prototype.isInlineStyleAttributeStyleSheet):
2862         (WebInspector.CSSStyleSheet.prototype.markAsInlineStyleAttributeStyleSheet):
2863         (WebInspector.CSSStyleSheet.isInlineStyle): Deleted.
2864         (WebInspector.CSSStyleSheet.prototype.markAsInlineStyle): Deleted.
2865         Rename for clarity.
2866
2867         * UserInterface/Models/DOMNodeStyles.js:
2868         (WebInspector.DOMNodeStyles.prototype.refresh):
2869         Fetch stylesheet header information eagerly, so we have them early on.
2870
2871         (WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload):
2872         (WebInspector.DOMNodeStyles.prototype._parseRulePayload):
2873         Offset sourceCodeLocations for CSSRules based on the StyleSheet offset.
2874
2875         * UserInterface/Models/SourceCodeLocation.js:
2876         (WebInspector.SourceCodeLocation.prototype.update):
2877         Improve coding style.
2878
2879 2015-08-18  Devin Rousso  <drousso@apple.com>
2880
2881         Web Inspector: Add proper formatting for editing styles in the Visual Panel
2882         https://bugs.webkit.org/show_bug.cgi?id=148147
2883
2884         Reviewed by Timothy Hatcher.
2885
2886         Editing styles in the Visual styles panel now preserves whitespace in the related resource file.
2887
2888         * UserInterface/Views/VisualStylePropertyCombiner.js:
2889         (WebInspector.VisualStylePropertyCombiner):
2890         (WebInspector.VisualStylePropertyCombiner.prototype.modifyPropertyText):
2891
2892         * UserInterface/Views/VisualStylePropertyEditor.js:
2893         (WebInspector.VisualStylePropertyEditor):
2894         (WebInspector.VisualStylePropertyEditor.generateFormattedTextForNewProperty):
2895         (WebInspector.VisualStylePropertyEditor.prototype.modifyPropertyText):
2896
2897 2015-08-18  Devin Rousso  <drousso@apple.com>
2898
2899         Web Inspector: Add support for positioning Visual editors on non-retina displays
2900         https://bugs.webkit.org/show_bug.cgi?id=148160
2901
2902         Reviewed by Timothy Hatcher.
2903
2904         Cleans up the positioning, dimensions, and widths of the
2905         Visual editors on non-retina displays.
2906
2907         * UserInterface/Views/VisualStyleColorPicker.css:
2908         (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > input):
2909
2910         * UserInterface/Views/VisualStyleDetailsPanel.css:
2911         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row.visual-style-separated-row):
2912         (@media (-webkit-min-device-pixel-ratio: 2)):
2913
2914         * UserInterface/Views/VisualStyleDetailsPanel.js:
2915         (WebInspector.VisualStyleDetailsPanel.prototype._clearModifiedSection):
2916
2917         * UserInterface/Views/VisualStylePropertyEditorLink.css:
2918         (.visual-style-property-editor-link):
2919         (.visual-style-property-editor-link > .visual-style-property-editor-link-border.left):
2920         (.visual-style-property-editor-link.link-all > .visual-style-property-editor-link-border.left):
2921         (.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-border):
2922         (.visual-style-property-editor-link > .visual-style-property-editor-link-icon):
2923         (.visual-style-property-editor-link:not(.link-all) > .visual-style-property-editor-link-icon):
2924         (@media (-webkit-min-device-pixel-ratio: 2)):
2925         (.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-border.left):
2926         (.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-icon:hover + .visual-style-property-editor-link-border.right): Deleted.
2927         (.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-border.right): Deleted.
2928         (.visual-style-property-editor-link.link-all > .visual-style-property-editor-link-icon): Deleted.
2929
2930         * UserInterface/Views/VisualStyleSelectorTreeItem.css:
2931         (.item.visual-style-selector-item > input[type="checkbox"]):
2932         (.item.visual-style-selector-item > .icon):
2933         (.item.visual-style-selector-item.selector-invalid > .titles > .title::before):
2934         (@media (-webkit-min-device-pixel-ratio: 2)):
2935         (.item.visual-style-selector-item > .titles):
2936         (.item.visual-style-selector-item.selector-invalid > .icon): Deleted.
2937
2938         * UserInterface/Views/VisualStyleTimingEditor.css:
2939         (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .bezier-editor):
2940         (@media (-webkit-min-device-pixel-ratio: 2)):
2941
2942
2943
2944 2015-08-18  Devin Rousso  <drousso@apple.com>
2945
2946         Web Inspector: Show the computed value in an overlay for numerical Visual Editors
2947         https://bugs.webkit.org/show_bug.cgi?id=148161
2948
2949         Reviewed by Timothy Hatcher.
2950
2951         Adds an "Unchanged" option to the number-based Visual editors that shows the
2952         computed value if it is not a number (it would therefore be a keyword).
2953
2954         * UserInterface/Views/VisualStyleNumberInputBox.css:
2955         (.visual-style-property-container > .visual-style-property-value-container > .number-input-container):
2956         (.visual-style-property-container > .visual-style-property-value-container > .number-input-container:not(.has-value) > span):
2957
2958         * UserInterface/Views/VisualStyleNumberInputBox.js:
2959         (WebInspector.VisualStyleNumberInputBox):
2960         (WebInspector.VisualStyleNumberInputBox.prototype.set value):
2961         (WebInspector.VisualStyleNumberInputBox.prototype.get units):
2962         (WebInspector.VisualStyleNumberInputBox.prototype.set units):
2963         (WebInspector.VisualStyleNumberInputBox.prototype.set placeholder):
2964         (WebInspector.VisualStyleNumberInputBox.prototype.get synthesizedValue):
2965         (WebInspector.VisualStyleNumberInputBox.prototype.set _unitsElementTextContent):
2966         (WebInspector.VisualStyleNumberInputBox.prototype._markUnitsContainerIfInputHasValue):
2967         (WebInspector.VisualStyleNumberInputBox.prototype._keywordChanged):
2968         (WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputKeyDown):
2969         (WebInspector.VisualStyleNumberInputBox.prototype._numberInputChanged):
2970
2971 2015-08-18  Devin Rousso  <drousso@apple.com>
2972
2973         Web Inspector: Small Caps variant checkbox should be to the left of the Small Caps label
2974         https://bugs.webkit.org/show_bug.cgi?id=148102
2975
2976         Reviewed by Timothy Hatcher.
2977
2978         * UserInterface/Views/VisualStyleKeywordCheckbox.css:
2979         (.visual-style-property-container.keyword-checkbox.font-variant > .visual-style-property-value-container > input): Deleted.
2980         (.visual-style-property-container.keyword-checkbox.font-variant > .visual-style-property-value-container > input::after):
2981         (.visual-style-property-container.keyword-checkbox.font-variant > .visual-style-property-value-container > input::before): Deleted.
2982
2983 2015-08-18  Devin Rousso  <drousso@apple.com>
2984
2985         Web Inspector: Visual editor links should unlink when switching styles
2986         https://bugs.webkit.org/show_bug.cgi?id=148153
2987
2988         Reviewed by Timothy Hatcher.
2989
2990         Visual editor links are now deactivated when switching rules/nodes.
2991
2992         * UserInterface/Images/VisualStylePropertyUnlinked.svg:
2993         * UserInterface/Views/VisualStyleDetailsPanel.js:
2994         (WebInspector.VisualStyleDetailsPanel.prototype._updateProperties):
2995         (WebInspector.VisualStyleDetailsPanel.prototype._generateMetricSectionRows):
2996
2997         * UserInterface/Views/VisualStylePropertyEditorLink.js:
2998         (WebInspector.VisualStylePropertyEditorLink.prototype.set linked):
2999         (WebInspector.VisualStylePropertyEditorLink.prototype._iconClicked):
3000         (WebInspector.VisualStylePropertyEditorLink):
3001
3002 2015-08-18  Devin Rousso  <drousso@apple.com>
3003
3004         Web Inspector: Consider showing style summary on collapsed visual sidebar sections
3005         https://bugs.webkit.org/show_bug.cgi?id=148104
3006
3007         Reviewed by Timothy Hatcher.
3008
3009         The blue indicator dot on a section now means that that section has at least one set value.
3010         If a section has been modified, it will display a trash can that will clear those modifications.
3011
3012         * UserInterface/Views/VisualStyleDetailsPanel.css:
3013         (.sidebar > .panel.details.css-style .visual > .details-section .details-section.has-set-property > .header > span::after):
3014         (.sidebar > .panel.details.css-style .visual > .details-section .details-section.modified > .header > span::after): Deleted.
3015
3016         * UserInterface/Views/VisualStyleDetailsPanel.js:
3017         (WebInspector.VisualStyleDetailsPanel.prototype._updateProperties):
3018         (WebInspector.VisualStyleDetailsPanel.prototype._sectionModified):
3019         (WebInspector.VisualStyleDetailsPanel.prototype._groupHasSetProperty):
3020
3021 2015-08-18  Devin Rousso  <drousso@apple.com>
3022
3023         Web Inspector: round sub-pixel values we get from computed style in visual sidebar
3024         https://bugs.webkit.org/show_bug.cgi?id=148105
3025
3026         Reviewed by Timothy Hatcher.
3027
3028         * UserInterface/Views/VisualStyleNumberInputBox.js:
3029         (WebInspector.VisualStyleNumberInputBox.prototype.set value):
3030         (WebInspector.VisualStyleNumberInputBox.prototype.set placeholder):
3031         Now rounds the value and placeholder to the nearest 100th.
3032
3033 2015-08-18  Joseph Pecoraro  <pecoraro@apple.com>
3034
3035         Web Inspector: transparent color swatches have lopsided checkered background on non-retina
3036         https://bugs.webkit.org/show_bug.cgi?id=148150
3037
3038         Reviewed by Timothy Hatcher.
3039
3040         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
3041         (@media (-webkit-max-device-pixel-ratio: 1)):
3042         Make color and bezier widgets slightly smaller, but evenly sized so the
3043         checkered background is not lopsided and the curve is a little less blurry.
3044
3045 2015-08-18  Joseph Pecoraro  <pecoraro@apple.com>
3046
3047         Web Inspector: Modernize CSSStyleManager
3048         https://bugs.webkit.org/show_bug.cgi?id=148143
3049
3050         Reviewed by Brian Burg.
3051
3052         * UserInterface/Controllers/CSSStyleManager.js:
3053           - Eliminate `delete` operator use.
3054           - Move from using Objects as hashmaps to Map.
3055           - Fix typos.
3056
3057 2015-08-18  Brian Burg  <bburg@apple.com>
3058
3059         Web Inspector: load ProtocolTestStub from the WebInspectorUI bundle
3060         https://bugs.webkit.org/show_bug.cgi?id=147955
3061
3062         Reviewed by Timothy Hatcher.
3063
3064         Move ProtocolTestStub.{html,js} into the actual WebInspectorUI project.
3065
3066         * UserInterface/Base/TestStub.js: Renamed from LayoutTests/http/tests/inspector/resources/ProtocolTestStub.js.
3067         * UserInterface/TestStub.html: Renamed from LayoutTests/http/tests/inspector/resources/ProtocolTestStub.html.
3068
3069 2015-08-18  Devin Rousso  <drousso@apple.com>
3070
3071         Web Inspector: Better keyboard shortcut to focus on the console prompt
3072         https://bugs.webkit.org/show_bug.cgi?id=147927
3073
3074         Reviewed by Brian Burg.
3075
3076         * UserInterface/Base/Main.js:
3077         (WebInspector.contentLoaded):
3078         (WebInspector._focusConsolePrompt):
3079         Added a Control-Tilde keyboard shortcut to focus the console prompt.
3080
3081 2015-08-18  Nikita Vasilyev  <nvasilyev@apple.com>
3082
3083         Web Inspector: Option-Enter should commit console command without erasing the prompt
3084         https://bugs.webkit.org/show_bug.cgi?id=148123
3085
3086         Also, don't append a console command if it's the same as the last one.
3087
3088         Reviewed by Timothy Hatcher.
3089
3090         * UserInterface/Controllers/JavaScriptLogViewController.js:
3091         (WebInspector.JavaScriptLogViewController):
3092         * UserInterface/Views/ConsolePrompt.js:
3093         (WebInspector.ConsolePrompt):
3094         (WebInspector.ConsolePrompt.prototype._handleEnterKey.commitTextOrInsertNewLine):
3095         (WebInspector.ConsolePrompt.prototype._handleEnterKey):
3096         (WebInspector.ConsolePrompt.prototype._handleOptionEnterKey):
3097         (WebInspector.ConsolePrompt.prototype._handleCommandOptionEnterKey):
3098
3099 2015-08-17  Commit Queue  <commit-queue@webkit.org>
3100
3101         Unreviewed, rolling out r188539, r188544, r188552, and
3102         r188564.
3103         https://bugs.webkit.org/show_bug.cgi?id=148122
3104
3105         Broke tests and some build styles (Requested by ap on
3106         #webkit).
3107
3108         Reverted changesets:
3109
3110         "Web Inspector: load ProtocolTestStub from the WebInspectorUI
3111         bundle"
3112         https://bugs.webkit.org/show_bug.cgi?id=147955
3113         http://trac.webkit.org/changeset/188539
3114
3115         "Web Inspector: split TestStub.js into multiple files and
3116         modernize it"
3117         https://bugs.webkit.org/show_bug.cgi?id=148077
3118         http://trac.webkit.org/changeset/188544
3119
3120         "Web Inspector: InspectorTest should be a subclass of
3121         TestHarness"
3122         https://bugs.webkit.org/show_bug.cgi?id=148079
3123         http://trac.webkit.org/changeset/188552
3124
3125         "Unreviewed internal build fix attempt after r188539."
3126         http://trac.webkit.org/changeset/188564
3127
3128 2015-08-17  Nikita Vasilyev  <nvasilyev@apple.com>
3129
3130         Web Inspector: Allow typing command when a console message is selected
3131         https://bugs.webkit.org/show_bug.cgi?id=148121
3132
3133         Reviewed by Timothy Hatcher.
3134
3135         * UserInterface/Views/LogContentView.js:
3136         (WebInspector.LogContentView):
3137         (WebInspector.LogContentView.prototype._keyPress):
3138         Command-C should still copy the selected message.
3139
3140 2015-08-17  Nikita Vasilyev  <nvasilyev@apple.com>
3141
3142         Web Inspector: Update slider styles
3143         https://bugs.webkit.org/show_bug.cgi?id=148120
3144
3145         Reviewed by Timothy Hatcher.
3146
3147         * UserInterface/Views/Main.css:
3148         (input[type=range]):
3149         (input[type=range]::-webkit-slider-runnable-track::before):
3150
3151 2015-08-17  Devin Rousso  <drousso@apple.com>
3152
3153         Web Inspector: font-family list is backwards in visual sidebar
3154         https://bugs.webkit.org/show_bug.cgi?id=148101
3155
3156         Reviewed by Timothy Hatcher.
3157
3158         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
3159         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._addCommaSeparatedKeyword):
3160         Now appends new children if the current index is not set instead of inserting them.
3161
3162 2015-08-17  Devin Rousso  <drousso@apple.com>
3163
3164         Web Inspector: Style changes to Visual sidebar selector items
3165         https://bugs.webkit.org/show_bug.cgi?id=148114
3166
3167         Reviewed by Timothy Hatcher.
3168
3169         * Localizations/en.lproj/localizedStrings.js:
3170         * UserInterface/Views/GeneralTreeElement.js:
3171         (WebInspector.GeneralTreeElement.prototype._updateTitleElements):
3172         (WebInspector.GeneralTreeElement.prototype._updateTitleTooltip):
3173         Moved the code to update the item tooltip to its own function.
3174
3175         * UserInterface/Views/VisualStyleDetailsPanel.js:
3176         (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners.editorMouseover):
3177         (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners.editorMouseout):
3178         (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners):
3179         (WebInspector.VisualStyleDetailsPanel.prototype._generateMetricSectionRows):
3180         (WebInspector.VisualStyleDetailsPanel.prototype._populateMarginSection):
3181         (WebInspector.VisualStyleDetailsPanel.prototype._populatePaddingSection):
3182         (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners.onEditorMouseover): Deleted.
3183         (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners.onEditorMouseout): Deleted.
3184         Added on-hover node/selector highlighting to margin and padding editor links.
3185
3186         * UserInterface/Views/VisualStyleNumberInputBox.js:
3187         (WebInspector.VisualStyleNumberInputBox):
3188         Replaced "No Units" with "Number" for better clarity.
3189
3190         * UserInterface/Views/VisualStyleSelectorTreeItem.css:
3191         (body:not(.window-inactive, .window-docked-inactive) .item.visual-style-selector-item.selected > input[type="checkbox"]:checked::before):
3192         (.item.visual-style-selector-item.selected > input[type="checkbox"]::before): Deleted.
3193         Removes the white border when the window is inactive and when the checkbox is unchecked.
3194
3195         * UserInterface/Views/VisualStyleSelectorTreeItem.js:
3196         (WebInspector.VisualStyleSelectorTreeItem.prototype._commitSelector):
3197         Now updates the title of the item when the selector changes.
3198
3199 2015-08-17  Devin Rousso  <drousso@apple.com>
3200
3201         Web Inspector: delete key should work on multi-values visual sidebar grid sections
3202         https://bugs.webkit.org/show_bug.cgi?id=148110
3203
3204         Reviewed by Timothy Hatcher.
3205
3206         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
3207         (WebInspector.VisualStyleCommaSeparatedKeywordEditor):
3208         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._listElementKeyDown):
3209         If the backspace/delete key is pressed when focus is within the list element, delete
3210         the selected list item if it is not currently being edited (if it has an editor).
3211
3212         * UserInterface/Views/VisualStyleFontFamilyTreeElement.js:
3213         (WebInspector.VisualStyleFontFamilyTreeElement.prototype.get currentlyEditing):
3214
3215 2015-08-17  Devin Rousso  <drousso@apple.com>
3216
3217         Web Inspector: web fonts or unknown fonts show up as Times in visual sidebar
3218         https://bugs.webkit.org/show_bug.cgi?id=148103
3219
3220         Reviewed by Timothy Hatcher.
3221
3222         * UserInterface/Views/VisualStyleFontFamilyTreeElement.js:
3223         (WebInspector.VisualStyleFontFamilyTreeElement.prototype.updateMainTitle):
3224         Fonts now fall back to sans-serif and -apple-system if they do not exist.
3225
3226 2015-08-17  Myles C. Maxfield  <mmaxfield@apple.com>
3227
3228         Implement IntegerHasher
3229         https://bugs.webkit.org/show_bug.cgi?id=147866
3230
3231         Reviewed by Darin Adler and Anders Carlsson.
3232
3233         Update comment.
3234
3235         * UserInterface/Base/Utilities.js:
3236
3237 2015-08-17  Brian Burg  <bburg@apple.com>
3238
3239         Web Inspector: InspectorTest should be a subclass of TestHarness
3240         https://bugs.webkit.org/show_bug.cgi?id=148079
3241
3242         Reviewed by Timothy Hatcher.
3243
3244         Extract the frontend test harness into a subclass. Delete some code that
3245         is now redundant. Sprinkle some ES6 syntax where possible.
3246
3247         Rewrite the code that redirects the Inspector page's console messages to
3248         the test page, since it didn't appear to work any more.
3249
3250         * UserInterface/Test.html:
3251         * UserInterface/Test/FrontendTestHarness.js: Added.
3252         (FrontendTestHarness):
3253         (FrontendTestHarness.prototype.completeTest):
3254         (FrontendTestHarness.prototype.addResult):
3255         (FrontendTestHarness.prototype.debugLog):
3256         (FrontendTestHarness.prototype.evaluateInPage):
3257         (FrontendTestHarness.prototype.expectNoError):
3258         (FrontendTestHarness.prototype.testPageDidLoad):
3259         (FrontendTestHarness.prototype.reloadPage):
3260         (FrontendTestHarness.prototype.redirectConsoleToTestOutput.createProxyConsoleHandler):
3261         (FrontendTestHarness.prototype.redirectConsoleToTestOutput):
3262         (FrontendTestHarness.prototype.reportUncaughtException):
3263         (FrontendTestHarness.prototype._resendResults):
3264         * UserInterface/Test/Test.js:
3265         (InspectorTest.EventDispatcher.prototype.dispatchEvent): Deleted.
3266         (InspectorTest.EventDispatcher): Deleted.
3267         (InspectorTest.log): Deleted.
3268         (InspectorTest.assert): Deleted.
3269         (InspectorTest.expectThat): Deleted.
3270         (InspectorTest.debugLog): Deleted.
3271         (InspectorTest.expectNoError): Deleted.
3272         (InspectorTest.completeTest): Deleted.
3273         (InspectorTest.evaluateInPage): Deleted.
3274         (InspectorTest.addResult): Deleted.
3275         (InspectorTest._resendResults): Deleted.
3276         (InspectorTest.testPageDidLoad): Deleted.
3277         (InspectorTest.reloadPage): Deleted.
3278         (InspectorTest.reportUncaughtException): Deleted.
3279
3280 2015-08-17  Saam barati  <sbarati@apple.com>
3281
3282         Web Inspector: Type profiler return types aren't showing up
3283         https://bugs.webkit.org/show_bug.cgi?id=147348
3284
3285         Reviewed by Brian Burg.
3286
3287         Bug #145995 changed the starting offset of a function to 
3288         be the open parenthesis of the function's parameter list.
3289         This broke the type profiler's text offset based protocol with JSC.
3290         The text offset used in the protocol is now the first letter of the 
3291         function/get/set/method name.  So "f" in "function a() {}", "s" in "set foo(){}", etc.
3292
3293         * UserInterface/Models/ScriptSyntaxTree.js:
3294         (WebInspector.ScriptSyntaxTree.prototype.containsNonEmptyReturnStatement):
3295         (WebInspector.ScriptSyntaxTree.functionReturnDivot):
3296
3297 2015-08-17  Brian Burg  <bburg@apple.com>
3298
3299         Web Inspector: REGRESSION: spurious console.assert inside ResourceContentView._contentAvailable
3300         https://bugs.webkit.org/show_bug.cgi?id=147886
3301
3302         Reviewed by Joseph Pecoraro.
3303
3304         * UserInterface/Views/ResourceContentView.js:
3305         (WebInspector.ResourceContentView.prototype._hasContent): Fix the style class name.
3306
3307 2015-08-17  Brian Burg  <bburg@apple.com>
3308
3309         Web Inspector: split TestStub.js into multiple files and modernize it
3310         https://bugs.webkit.org/show_bug.cgi?id=148077
3311
3312         Reviewed by Timothy Hatcher.
3313  
3314         Since we want to share files between the two harnesses, split some of the parts
3315         into different files so not everything has to be included at once.
3316
3317         Rename InjectedTestHarness to just TestHarness. Update some code to use
3318         ES6 features where appropriate. Put test classes into Test/ directory.
3319
3320         * UserInterface/Base/TestStub.js: Removed.
3321         * UserInterface/Test.html:
3322         * UserInterface/Test/InspectorProtocol.js: Added.
3323         (InspectorProtocol.sendCommand):
3324         (InspectorProtocol.awaitCommand):
3325         (InspectorProtocol.awaitEvent.):
3326         (InspectorProtocol.awaitEvent):
3327         (InspectorProtocol.addEventListener):
3328         (InspectorProtocol.sendMessage):
3329         (InspectorProtocol.checkForError):
3330         (InspectorProtocol.dispatchMessageFromBackend):
3331         * UserInterface/Test/ProtocolTestHarness.js: Added.
3332         (ProtocolTestHarness.prototype.completeTest):
3333         (ProtocolTestHarness.prototype.addResult):
3334         (ProtocolTestHarness.prototype.debugLog):
3335         (ProtocolTestHarness.prototype.evaluateInPage):
3336         (ProtocolTestHarness):
3337         * UserInterface/Test/Test.js: Renamed from Source/WebInspectorUI/UserInterface/Base/Test.js.
3338         (WebInspector.loaded):
3339         (WebInspector.contentLoaded):
3340         (WebInspector.UIString):
3341         (WebInspector.updateDockedState):
3342         (WebInspector.updateDockingAvailability):
3343         (InspectorTest.EventDispatcher.prototype.dispatchEvent):
3344         (InspectorTest.EventDispatcher):
3345         (InspectorTest.log):
3346         (InspectorTest.assert):
3347         (InspectorTest.expectThat):
3348         (InspectorTest.debugLog):
3349         (InspectorTest.expectNoError):
3350         (InspectorTest.completeTest):
3351         (InspectorTest.evaluateInPage):
3352         (InspectorTest.addResult):
3353         (InspectorTest._resendResults):
3354         (InspectorTest.testPageDidLoad):
3355         (InspectorTest.reloadPage):
3356         (InspectorTest.reportUncaughtException):
3357         * UserInterface/Test/TestHarness.js: Added.
3358         (TestHarness):
3359         (TestHarness.prototype.completeTest):
3360         (TestHarness.prototype.addResult):
3361         (TestHarness.prototype.debugLog):
3362         (TestHarness.prototype.evaluateInPage):
3363         (TestHarness.prototype.createAsyncSuite):
3364         (TestHarness.prototype.createSyncSuite):
3365         (TestHarness.prototype.get logCount):
3366         (TestHarness.prototype.log):
3367         (TestHarness.prototype.assert):
3368         (TestHarness.prototype.expectThat):
3369         * UserInterface/Test/TestStub.js: Added.
3370         * UserInterface/Test/TestSuite.js: Added.
3371         (TestSuite):
3372         (TestSuite.prototype.runTestCasesAndFinish):
3373         (TestSuite.prototype.runTestCases):
3374         (TestSuite.prototype.get passCount):
3375         (TestSuite.prototype.get skipCount):
3376         (TestSuite.prototype.addTestCase):
3377         (AsyncTestSuite.prototype.runTestCasesAndFinish.finish):
3378         (AsyncTestSuite.prototype.runTestCasesAndFinish):
3379         (AsyncTestSuite.prototype.runTestCases):
3380         (AsyncTestSuite):
3381         (SyncTestSuite.prototype.runTestCasesAndFinish):
3382         (SyncTestSuite.prototype.runTestCases):
3383         (SyncTestSuite):
3384         * UserInterface/TestStub.html:
3385
3386 2015-08-17  Brian Burg  <bburg@apple.com>
3387
3388         Web Inspector: load ProtocolTestStub from the WebInspectorUI bundle
3389         https://bugs.webkit.org/show_bug.cgi?id=147955
3390
3391         Reviewed by Timothy Hatcher.
3392
3393         Move ProtocolTestStub.{html,js} into the actual WebInspectorUI project.
3394
3395         * UserInterface/Base/TestStub.js: Renamed from LayoutTests/http/tests/inspector/resources/ProtocolTestStub.js.
3396         * UserInterface/TestStub.html: Renamed from LayoutTests/http/tests/inspector/resources/ProtocolTestStub.html.
3397
3398 2015-08-17  Simon Fraser  <simon.fraser@apple.com>
3399
3400         will-change should sometimes trigger compositing
3401         https://bugs.webkit.org/show_bug.cgi?id=148072
3402
3403         Reviewed by Tim Horton.
3404         
3405         Have the web inspector show a correct compositing reason for will-change.
3406         This could be improved to indicate which specific value in will-change triggered
3407         the compositing.
3408
3409         * Localizations/en.lproj/localizedStrings.js:
3410         * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
3411         (WebInspector.LayerTreeDetailsSidebarPanel.prototype._populateListOfCompositingReasons):
3412         (WebInspector.LayerTreeDetailsSidebarPanel):
3413
3414 2015-08-14  Matt Baker  <mattbaker@apple.com>
3415
3416         Web Inspector: NavigationBar.updateLayoutSoon should use requestAnimationFrame
3417         https://bugs.webkit.org/show_bug.cgi?id=148010
3418
3419         Reviewed by Brian Burg.
3420
3421         NavigationBar.updateLayoutSoon now uses requestAnimationFrame instead of setTimeout.
3422
3423         * UserInterface/Views/NavigationBar.js:
3424         (WebInspector.NavigationBar):
3425         (WebInspector.NavigationBar.prototype.updateLayoutSoon.update):
3426         (WebInspector.NavigationBar.prototype.updateLayoutSoon):
3427         (WebInspector.NavigationBar.prototype.updateLayout):
3428
3429 2015-08-14  Devin Rousso  <drousso@apple.com>
3430
3431         Web Inspector: Add VisualStyleDetailsPanel
3432         https://bugs.webkit.org/show_bug.cgi?id=147570
3433
3434         Reviewed by Timothy Hatcher.
3435
3436         Added VisualStyleDetailsPanel and inclusions to forthcoming classes
3437         that will be used in this visual sidebar panel.
3438
3439         * Localizations/en.lproj/localizedStrings.js:
3440         * UserInterface/Main.html:
3441         Added files for all new classes used in the VisualStyleDetailsPanel.
3442
3443         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
3444         (WebInspector.CSSStyleDetailsSidebarPanel):
3445         * UserInterface/Views/DetailsSection.js:
3446         (WebInspector.DetailsSection):
3447         (WebInspector.DetailsSection.prototype.set collapsed):
3448         (WebInspector.DetailsSection.prototype.get expandedByUser):
3449         (WebInspector.DetailsSection.prototype._headerElementClicked):
3450         Track whether or not the expanded state was caused by the user.
3451
3452         * UserInterface/Views/VisualStyleDetailsPanel.css: Added.
3453         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .header):
3454         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .header > .visual-style-section-clear):
3455         (.sidebar > .panel.details.css-style .visual > .details-section .details-section:not(.modified) > .header > .visual-style-section-clear):
3456         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .header > span):
3457         (.sidebar > .panel.details.css-style .visual > .details-section .details-section.modified > .header > span::after):
3458         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content):
3459         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row):
3460         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row:last-child):
3461         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row.visual-style-separated-row):
3462         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row > .visual-style-property-container > .visual-style-property-title):
3463         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row > .visual-style-property-container:not(.layout-reversed):last-child):
3464         (.sidebar > .panel.details.css-style .visual.disabled > .details-section:not(.visual-style-selector-section)):
3465         (.sidebar > .panel.details.css-style .visual.disabled > .details-section:not(.visual-style-selector-section) input):
3466
3467         * UserInterface/Views/VisualStyleDetailsPanel.js: Added.
3468         (WebInspector.VisualStyleDetailsPanel):
3469         (WebInspector.VisualStyleDetailsPanel.prototype.refresh):
3470         (WebInspector.VisualStyleDetailsPanel.prototype._generateSection.replaceDashWithCapital):
3471         (WebInspector.VisualStyleDetailsPanel.prototype._generateSection.createOptionsElement):
3472         (WebInspector.VisualStyleDetailsPanel.prototype._generateSection):
3473         (WebInspector.VisualStyleDetailsPanel.prototype._prepareForChange):
3474         (WebInspector.VisualStyleDetailsPanel.prototype._updateSections):
3475         (WebInspector.VisualStyleDetailsPanel.prototype._updateProperties):
3476         (WebInspector.VisualStyleDetailsPanel.prototype._updateAutocompleteCompatiblePropertyEditor):
3477         (WebInspector.VisualStyleDetailsPanel.prototype._sectionModified):
3478         (WebInspector.VisualStyleDetailsPanel.prototype._clearModifiedSection):
3479         (WebInspector.VisualStyleDetailsPanel.prototype.get _initialTextList):
3480         (WebInspector.VisualStyleDetailsPanel.prototype._initialPropertyTextModified):
3481         (WebInspector.VisualStyleDetailsPanel.prototype._populateSection):
3482         (WebInspector.VisualStyleDetailsPanel.prototype._populateDisplaySection):
3483         (WebInspector.VisualStyleDetailsPanel.prototype._generateMetricSectionRows):
3484         (WebInspector.VisualStyleDetailsPanel.prototype._populatePositionSection):
3485         (WebInspector.VisualStyleDetailsPanel.prototype._populateFloatSection):
3486         (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners.onEditorMouseover):
3487         (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners.onEditorMouseout):
3488         (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners):
3489         (WebInspector.VisualStyleDetailsPanel.prototype._populateDimensionsSection):
3490         (WebInspector.VisualStyleDetailsPanel.prototype._populateMarginSection):
3491         (WebInspector.VisualStyleDetailsPanel.prototype._populatePaddingSection):
3492         (WebInspector.VisualStyleDetailsPanel.prototype._populateFlexboxSection):
3493         (WebInspector.VisualStyleDetailsPanel.prototype._populateTextStyleSection):
3494         (WebInspector.VisualStyleDetailsPanel.prototype._populateFontSection):
3495         (WebInspector.VisualStyleDetailsPanel.prototype._populateTextSpacingSection):
3496         (WebInspector.VisualStyleDetailsPanel.prototype._populateTextShadowSection):
3497         (WebInspector.VisualStyleDetailsPanel.prototype._populateBackgroundStyleSection):
3498         (WebInspector.VisualStyleDetailsPanel.prototype._populateBorderSection):
3499         (WebInspector.VisualStyleDetailsPanel.prototype._populateOutlineSection):
3500         (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.noRemainingTreeItems):
3501         (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.selectedBoxShadowItemValueChanged):
3502         (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.boxShadowItemSelected):
3503         (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection):
3504         (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.noRemainingTreeItems):
3505         (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.selectedtransitionItemValueChanged):
3506         (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.transitionItemSelected):
3507         (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection):
3508
3509 2015-08-14  Devin Rousso  <drousso@apple.com>
3510
3511         Web Inspector: Highlight DOM node attribute changes in parallel, not sequentially
3512         https://bugs.webkit.org/show_bug.cgi?id=148019
3513
3514         Reviewed by Brian Burg.
3515
3516         * UserInterface/Views/DOMTreeElement.js:
3517         (WebInspector.DOMTreeElement.prototype._markNodeChanged):
3518         (WebInspector.DOMTreeElement.prototype._nodeChangedAnimationEnd):
3519         Now removes the animated element from the updated list once the animation ends.
3520
3521 2015-08-14  Matt Baker  <mattbaker@apple.com>
3522
3523         Web Inspector: Long delay when row selection changes in timeline data grids
3524         https://bugs.webkit.org/show_bug.cgi?id=148005
3525
3526         Reviewed by Brian Burg.
3527
3528         Selecting a tree element in the Timelines sidebar generates multiple
3529         WebInspector.ContentView.SelectionPathComponentsDidChange events, each of which
3530         causes NavigationBar to update its layout (which is extremely expensive).
3531
3532         * UserInterface/Views/ContentBrowser.js:
3533         (WebInspector.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange):
3534         Call updateLayoutSoon instead of updateLayout to coalesce layout requests.
3535
3536         * UserInterface/Views/TimelineRecordingContentView.js:
3537         (WebInspector.TimelineRecordingContentView.prototype._recordSelected):
3538         When the selected record changes in the overview graph, make sure the record's tree element
3539         isn't already selected. Reselecting the tree element results in an extra NavigationBar layout.
3540
3541 2015-08-14  Matt Baker  <mattbaker@apple.com>
3542
3543         Web Inspector: REGRESSION (r188396): Rendering Frames timeline ruler dividers are off by 1px
3544         https://bugs.webkit.org/show_bug.cgi?id=148040
3545
3546         Reviewed by Brian Burg.
3547
3548         * UserInterface/Views/TimelineOverview.css:
3549         (.timeline-overview.frames > .timeline-ruler > .markers > .divider):
3550         (.timeline-overview.frames > .timeline-ruler > .header > .divider): Deleted.
3551         All ruler dividers should be translated by the same amount.
3552
3553 2015-08-14  Devin Rousso  <drousso@apple.com>
3554
3555         Web Inspector: Style changes to Visual sidebar editors
3556         https://bugs.webkit.org/show_bug.cgi?id=148021
3557
3558         Reviewed by Brian Burg.
3559
3560         Various style fixes and feature enhancements in some of the Visual style property editors.
3561
3562         * UserInterface/Views/VisualStyleColorPicker.css:
3563         (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch):
3564         (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > input):
3565         (.visual-style-property-container.input-color-picker.multiple > .visual-style-property-value-container > .visual-style-multiple-property-placeholder):
3566
3567         * UserInterface/Views/VisualStyleKeywordCheckbox.css:
3568         (.visual-style-property-container.keyword-checkbox.font-variant > .visual-style-property-value-container > input):
3569         (.visual-style-property-container.keyword-checkbox.font-variant > .visual-style-property-value-container > input::before):
3570         (.visual-style-property-container.keyword-checkbox > .visual-style-property-value-container > input): Deleted.
3571         (.visual-style-property-container.keyword-checkbox > .visual-style-property-value-container > div): Deleted.
3572         Replaced the SVG image before the checkbox with a :before pseudo-element with content.
3573
3574         * UserInterface/Views/VisualStyleKeywordCheckbox.js:
3575         (WebInspector.VisualStyleKeywordCheckbox):
3576         Removed the SVG image before the checkbox.
3577
3578         * UserInterface/Views/VisualStyleKeywordPicker.js:
3579         (WebInspector.VisualStyleKeywordPicker.prototype.get value):
3580         (WebInspector.VisualStyleKeywordPicker.prototype.set value):
3581         (WebInspector.VisualStyleKeywordPicker.prototype.set placeholder):
3582         (WebInspector.VisualStyleKeywordPicker.prototype.get synthesizedValue):
3583         (WebInspector.VisualStyleKeywordPicker.prototype._getValue):
3584         (WebInspector.VisualStyleKeywordPicker.prototype._setValue):
3585         (WebInspector.VisualStyleKeywordPicker.prototype._generateSynthesizedValue):
3586         (WebInspector.VisualStyleKeywordPicker.prototype._handleKeywordChanged):
3587         Due to a current bug (https://webkit.org/b/147064), you cannot extend ES6 getters/setters.  In order to work
3588         around this, a member function was added that performs the same action as the getter/setter, but can be extended.
3589
3590         * UserInterface/Views/VisualStylePropertyEditorLink.css:
3591         (.visual-style-property-editor-link.linked > .visual-style-property-editor-link-border):
3592         (.visual-style-property-editor-link > .visual-style-property-editor-link-icon > .unlinked-icon):
3593
3594         * UserInterface/Views/VisualStyleRelativeNumberSlider.js:
3595         (WebInspector.VisualStyleRelativeNumberSlider):
3596         (WebInspector.VisualStyleRelativeNumberSlider.prototype._resetSlider):
3597         (WebInspector.VisualStyleRelativeNumberSlider.prototype._sliderChanged):
3598
3599         * UserInterface/Views/VisualStyleSelectorTreeItem.css:
3600         (.item.visual-style-selector-item > input[type="checkbox"]):
3601         (.item.visual-style-selector-item.selected > input[type="checkbox"]::before):
3602         (.item.visual-style-selector-item.modified > .icon):
3603         (.item.visual-style-selector-item:not(.dom-element-icon).editable > .titles > .title:focus):
3604
3605         * UserInterface/Views/VisualStyleSelectorTreeItem.js:
3606         (WebInspector.VisualStyleSelectorTreeItem.prototype._handleContextMenuEvent):
3607         (WebInspector.VisualStyleSelectorTreeItem.prototype._handleMainTitleMouseDown):
3608         Added another context menu item to show the source location for the selected rule.
3609
3610 2015-08-14  Devin Rousso  <drousso@apple.com>
3611
3612         Web Inspector: Add visual editors for CSS properties
3613         https://bugs.webkit.org/show_bug.cgi?id=147576
3614
3615         Added parent class for property editors in the Visual style
3616         details panel in the CSS sidebar.
3617
3618         Reviewed by Timothy Hatcher.
3619
3620         * UserInterface/Views/VisualStylePropertyCombiner.js: Added.
3621         (WebInspector.VisualStylePropertyCombiner):
3622         (WebInspector.VisualStylePropertyCombiner.prototype.get style):
3623         (WebInspector.VisualStylePropertyCombiner.prototype.get synthesizedValue):
3624         (WebInspector.VisualStylePropertyCombiner.prototype.modifyPropertyText):
3625         (WebInspector.VisualStylePropertyCombiner.prototype.update):
3626         (WebInspector.VisualStylePropertyCombiner.prototype.updateValuesFromText.updateCompatibleEditor):
3627         (WebInspector.VisualStylePropertyCombiner.prototype.updateValuesFromText):
3628         (WebInspector.VisualStylePropertyCombiner.prototype.propertyMissing):
3629         (WebInspector.VisualStylePropertyCombiner.prototype.resetEditorValues):
3630         (WebInspector.VisualStylePropertyCombiner.prototype._markEditors):
3631         (WebInspector.VisualStylePropertyCombiner.prototype._handlePropertyEditorValueChanged):
3632
3633         * UserInterface/Views/VisualStylePropertyEditor.css: Added.
3634         (.visual-style-property-container):
3635         (.visual-style-property-container > .visual-style-property-title):
3636         (.visual-style-property-container > .visual-style-property-title > .property-reference-info):
3637         (.visual-style-property-container.disabled > .visual-style-property-title > :not(.property-reference-info)):
3638         (.visual-style-property-container > .visual-style-property-value-container):
3639         (.visual-style-property-container.disabled > .visual-style-property-value-container):
3640         (.visual-style-property-container > .visual-style-property-value-container select):
3641         (.visual-style-property-container > .visual-style-property-value-container input):
3642         (.visual-style-property-container.disabled > .visual-style-property-value-container input):
3643         (.visual-style-property-container.layout-reversed > .visual-style-property-title):
3644         (.visual-style-property-container > .visual-style-property-value-container > .visual-style-special-property-placeholder):
3645         (.visual-style-property-info-popover):
3646         (.visual-style-property-info-popover > h3):
3647
3648         * UserInterface/Views/VisualStylePropertyEditor.js: Added.
3649         (WebInspector.VisualStylePropertyEditor.canonicalizeValues):
3650         (WebInspector.VisualStylePropertyEditor):
3651         (WebInspector.VisualStylePropertyEditor.prototype.get element):
3652         (WebInspector.VisualStylePropertyEditor.prototype.get style):
3653         (WebInspector.VisualStylePropertyEditor.prototype.get value):
3654         (WebInspector.VisualStylePropertyEditor.prototype.set value):
3655         (WebInspector.VisualStylePropertyEditor.prototype.get units):
3656         (WebInspector.VisualStylePropertyEditor.prototype.set units):
3657         (WebInspector.VisualStylePropertyEditor.prototype.get placeholder):
3658         (WebInspector.VisualStylePropertyEditor.prototype.set placeholder):
3659         (WebInspector.VisualStylePropertyEditor.prototype.get synthesizedValue):
3660         (WebInspector.VisualStylePropertyEditor.prototype.set suppressStyleTextUpdate):
3661         (WebInspector.VisualStylePropertyEditor.prototype.set masterProperty):
3662         (WebInspector.VisualStylePropertyEditor.prototype.get masterProperty):
3663         (WebInspector.VisualStylePropertyEditor.prototype.set optionalProperty):
3664         (WebInspector.VisualStylePropertyEditor.prototype.get optionalProperty):
3665         (WebInspector.VisualStylePropertyEditor.prototype.set colorProperty):
3666         (WebInspector.VisualStylePropertyEditor.prototype.get colorProperty):
3667         (WebInspector.VisualStylePropertyEditor.prototype.get propertyReferenceName):
3668         (WebInspector.VisualStylePropertyEditor.prototype.set propertyReferenceName):
3669         (WebInspector.VisualStylePropertyEditor.prototype.set disabled):
3670         (WebInspector.VisualStylePropertyEditor.prototype.get disabled):
3671         (WebInspector.VisualStylePropertyEditor.prototype.update):
3672         (WebInspector.VisualStylePropertyEditor.prototype.updateEditorValues):
3673         (WebInspector.VisualStylePropertyEditor.prototype.resetEditorValues):
3674         (WebInspector.VisualStylePropertyEditor.prototype.modifyPropertyText):
3675         (WebInspector.VisualStylePropertyEditor.prototype.getValuesFromText):
3676         (WebInspector.VisualStylePropertyEditor.prototype.propertyMissing):
3677         (WebInspector.VisualStylePropertyEditor.prototype.valueIsCompatible):
3678         (WebInspector.VisualStylePropertyEditor.prototype.valueIsSupportedKeyword):
3679         (WebInspector.VisualStylePropertyEditor.prototype.valueIsSupportedUnit):
3680         (WebInspector.VisualStylePropertyEditor.prototype.get contentElement):
3681         (WebInspector.VisualStylePropertyEditor.prototype.get specialPropertyPlaceholderElement):
3682         (WebInspector.VisualStylePropertyEditor.prototype.parseValue):
3683         (WebInspector.VisualStylePropertyEditor.prototype._valueIsSupportedAdvancedKeyword):
3684         (WebInspector.VisualStylePropertyEditor.prototype._valueIsSupportedAdvancedUnit):
3685         (WebInspector.VisualStylePropertyEditor.prototype._canonicalizedKeywordForKey):
3686         (WebInspector.VisualStylePropertyEditor.prototype._keyForKeyword):
3687         (WebInspector.VisualStylePropertyEditor.prototype._valueDidChange):
3688         (WebInspector.VisualStylePropertyEditor.prototype._replaceShorthandPropertyWithLonghandProperties):
3689         (WebInspector.VisualStylePropertyEditor.prototype._titleElementPrepareForClick):
3690         (WebInspector.VisualStylePropertyEditor.prototype._titleElementMouseOver):
3691         (WebInspector.VisualStylePropertyEditor.prototype._titleElementMouseOut):
3692         (WebInspector.VisualStylePropertyEditor.prototype._titleElementClick):
3693         (WebInspector.VisualStylePropertyEditor.prototype._hasMultipleConflictingValues):
3694         (WebInspector.VisualStylePropertyEditor.prototype._showPropertyInfoPopover):
3695         (WebInspector.VisualStylePropertyEditor.prototype._toggleTabbingOfSelectableElements):
3696
3697         * UserInterface/Views/VisualStyleTabbedPropertiesRow.css: Added.
3698         (.visual-style-tabbed-properties-row ~ :not(.visible)):
3699         (.visual-style-tabbed-properties-row > .visual-style-tabbed-properties-row-container):
3700         (.visual-style-tabbed-properties-row > .visual-style-tabbed-properties-row-container > button):
3701         (.visual-style-tabbed-properties-row > .visual-style-tabbed-properties-row-container > button.selected):
3702         (.visual-style-tabbed-properties-row > .visual-style-tabbed-properties-row-container > button:not(.selected):hover):
3703
3704         * UserInterface/Views/VisualStyleTabbedPropertiesRow.js: Added.
3705         (WebInspector.VisualStyleTabbedPropertiesRow):
3706         (WebInspector.VisualStyleTabbedPropertiesRow.prototype._handleButtonClicked):
3707
3708 2015-08-14  Devin Rousso  <drousso@apple.com>
3709
3710         Web Inspector: Add Visual editors for CSS properties with comma separated values
3711         https://bugs.webkit.org/show_bug.cgi?id=147578
3712
3713         Reviewed by Timothy Hatcher.
3714
3715         Displays comma separated CSS property values as a tree outline list.
3716
3717         * UserInterface/Images/Minus.svg: Added.
3718         * UserInterface/Views/TreeOutline.js:
3719         (WebInspector.TreeOutline.prototype.get selectedTreeElementIndex):
3720         (WebInspector.TreeOutline):
3721
3722         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css: Added.
3723         (.visual-style-property-container.comma-separated-keyword-editor):
3724         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container):
3725         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list):
3726         (.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):
3727         (.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)):
3728         (.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):
3729         (.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)):
3730         (.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):
3731         (.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 > *):
3732         (.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):
3733         (.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):
3734         (.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):
3735         (.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):
3736         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-controls):
3737         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-controls > div):
3738         (.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):
3739
3740         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js: Added.
3741         (WebInspector.VisualStyleCommaSeparatedKeywordEditor):
3742         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.set selectedTreeElementValue):
3743         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.get value):
3744         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.set value):
3745         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.get synthesizedValue):
3746         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._treeElementSelected):
3747         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._treeItemIsEmpty):
3748         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._addEmptyCommaSeparatedKeyword):
3749         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._removeSelectedCommaSeparatedKeyword):
3750         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._removeEmptyCommaSeparatedKeywords):
3751         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._addCommaSeparatedKeyword):
3752         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._removeCommaSeparatedKeyword):
3753         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._createNewTreeElement):
3754
3755         * UserInterface/Views/VisualStyleFontFamilyListEditor.js: Added.
3756         (WebInspector.VisualStyleFontFamilyListEditor):
3757         (WebInspector.VisualStyleFontFamilyListEditor.prototype.visualStyleCompletionsControllerCustomizeCompletionElement):
3758         (WebInspector.VisualStyleFontFamilyListEditor.prototype.get hasCompletions):
3759         (WebInspector.VisualStyleFontFamilyListEditor.prototype.set completions):
3760         (WebInspector.VisualStyleFontFamilyListEditor.prototype._modifyCommaSeparatedKeyword):
3761         (WebInspector.VisualStyleFontFamilyListEditor.prototype._addCommaSeparatedKeyword):
3762         (WebInspector.VisualStyleFontFamilyListEditor.prototype._addEmptyCommaSeparatedKeyword):
3763         (WebInspector.VisualStyleFontFamilyListEditor.prototype._completionClicked):
3764         (WebInspector.VisualStyleFontFamilyListEditor.prototype._treeElementKeyDown):
3765         (WebInspector.VisualStyleFontFamilyListEditor.prototype._treeElementKeywordChanged):
3766         (WebInspector.VisualStyleFontFamilyListEditor.prototype._hideCompletions):
3767         (WebInspector.VisualStyleFontFamilyListEditor.prototype._createNewTreeElement):
3768
3769         * UserInterface/Views/VisualStyleFontFamilyTreeElement.js: Added.
3770         (WebInspector.VisualStyleFontFamilyTreeElement):
3771         (WebInspector.VisualStyleFontFamilyTreeElement.prototype.editorBounds):
3772         (WebInspector.VisualStyleFontFamilyTreeElement.prototype.updateMainTitle):
3773         (WebInspector.VisualStyleFontFamilyTreeElement.prototype.showKeywordEditor):
3774         (WebInspector.VisualStyleFontFamilyTreeElement.prototype.hideKeywordEditor):
3775         (WebInspector.VisualStyleFontFamilyTreeElement.prototype.get keywordEditorHidden):
3776         (WebInspector.VisualStyleFontFamilyTreeElement.prototype.onattach):
3777         (WebInspector.VisualStyleFontFamilyTreeElement.prototype.ondeselect):
3778         (WebInspector.VisualStyleFontFamilyTreeElement.prototype._keywordEditorKeyDown):
3779         (WebInspector.VisualStyleFontFamilyTreeElement.prototype._keywordEditorKeyUp):
3780         (WebInspector.VisualStyleFontFamilyTreeElement.prototype._keywordEditorBlurred):
3781
3782 2015-08-14  Devin Rousso  <drousso@apple.com>
3783
3784         Web Inspector: Add autocomplete controller for Visual property editors
3785         https://bugs.webkit.org/show_bug.cgi?id=147579
3786
3787         Reviewed by Timothy Hatcher.
3788
3789         * UserInterface/Controllers/VisualStyleCompletionsController.js: Added.
3790         (WebInspector.VisualStyleCompletionsController):
3791         Takes in a CSSCompletions and displays a list of suggestions based on a given prefix in a popover.
3792         (WebInspector.VisualStyleCompletionsController.prototype.get visible):
3793         (WebInspector.VisualStyleCompletionsController.prototype.get hasCompletions):
3794         (WebInspector.VisualStyleCompletionsController.prototype.get currentCompletion):
3795         (WebInspector.VisualStyleCompletionsController.prototype.set completions):
3796         (WebInspector.VisualStyleCompletionsController.prototype.completionSuggestionsViewCustomizeCompletionElement):
3797         (WebInspector.VisualStyleCompletionsController.prototype.previous):
3798         (WebInspector.VisualStyleCompletionsController.prototype.next):
3799         (WebInspector.VisualStyleCompletionsController.prototype.update):
3800         (WebInspector.VisualStyleCompletionsController.prototype.show):
3801         (WebInspector.VisualStyleCompletionsController.prototype.hide):
3802
3803         * UserInterface/Models/CSSKeywordCompletions.js:
3804         (WebInspector.CSSKeywordCompletions.forProperty):
3805         Make sure that the cssNameCompletions exist before trying to add them.
3806
3807         * UserInterface/Views/CompletionSuggestionsView.js:
3808         (WebInspector.CompletionSuggestionsView.prototype.update):
3809         Allow the delegate to modify the newly created completion suggestion item.
3810
3811 2015-08-14  Devin Rousso  <drousso@apple.com>
3812
3813         Web Inspector: Add a visual editor for timing functions
3814         https://bugs.webkit.org/show_bug.cgi?id=148022
3815
3816         Reviewed by Timothy Hatcher.
3817
3818         Uses the existing bezier editor and the Visual keyword picker to make an editor for timing functions.
3819
3820         * UserInterface/Views/VisualStyleTimingEditor.css: Added.
3821         (.visual-style-property-container.timing-editor > .visual-style-property-value-container):
3822         (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .keyword-picker-select):
3823         (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .bezier-editor):
3824         (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .bezier-editor:hover):
3825         (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .bezier-editor:active):
3826
3827         * UserInterface/Views/VisualStyleTimingEditor.js: Added.
3828         (WebInspector.VisualStyleTimingEditor):
3829         (WebInspector.VisualStyleTimingEditor.prototype.parseValue):
3830         (WebInspector.VisualStyleTimingEditor.prototype.get bezierValue):
3831         (WebInspector.VisualStyleTimingEditor.prototype.set bezierValue):
3832         (WebInspector.VisualStyleTimingEditor.prototype._getValue):
3833         (WebInspector.VisualStyleTimingEditor.prototype._setValue):
3834         (WebInspector.VisualStyleTimingEditor.prototype._generateSynthesizedValue):
3835         (WebInspector.VisualStyleTimingEditor.prototype._bezierMarkerClicked):
3836         (WebInspector.VisualStyleTimingEditor.prototype._handleKeywordChanged):
3837
3838 2015-08-13  Nikita Vasilyev  <nvasilyev@apple.com>
3839
3840         Web Inspector: Can't resize split console when window is too narrow
3841         https://bugs.webkit.org/show_bug.cgi?id=147924
3842
3843         Make some items inside of the navigation bar click-through to incsease
3844         the draggable area.
3845
3846         Reviewed by Timothy Hatcher.
3847
3848         * UserInterface/Views/Main.css:
3849         (#split-content-browser > .navigation-bar > :matches(.hierarchical-path, .log-search-bar, .log-scope-bar)):
3850         (#split-content-browser > .navigation-bar > :matches(.log-search-bar, .log-scope-bar) > :matches(li, input)):
3851
3852 2015-08-13  Devin Rousso  <drousso@apple.com>
3853
3854         Web Inspector: Flash DOM node attribute on change
3855         https://bugs.webkit.org/show_bug.cgi?id=147973
3856
3857         Reviewed by Timothy Hatcher.
3858
3859         Whenever an attribute on a DOM node changes, flash the attribute value.
3860         If that value doesn't exist, flash the attribute name instead.
3861
3862         * UserInterface/Views/DOMTreeElement.js:
3863         (WebInspector.DOMTreeElement):
3864         (WebInspector.DOMTreeElement.prototype.nodeChanged):
3865         (WebInspector.DOMTreeElement.prototype._buildAttributeDOM):
3866         If the node has been marked with a general change, mark the attribute element for animation.
3867         (WebInspector.DOMTreeElement.prototype._markNodeChanged.animationEnd):
3868         (WebInspector.DOMTreeElement.prototype._markNodeChanged):
3869         Adds a class to the given element that applies a simple background flash animation.
3870         (WebInspector.DOMTreeElement.prototype._fireDidChange):
3871         Add the animation class once all building of the represented DOM object for that node is done.
3872
3873         * UserInterface/Views/DOMTreeOutline.css:
3874         (@keyframes node-state-changed):
3875         Applies a semi-transparent background that fades to default.
3876         (.node-state-changed):