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