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