Web Inspector: Zoom never goes back to 100% size
[WebKit-https.git] / Source / WebInspectorUI / ChangeLog
1 2015-10-28  Timothy Hatcher  <timothy@apple.com>
2
3         Web Inspector: Zoom never goes back to 100% size
4         https://bugs.webkit.org/show_bug.cgi?id=150637
5
6         Add and subtract 20% from the zoom level so the zoom factor can return
7         to the 1 starting zoom factor if you go back the other direction.
8
9         Reviewed by Joseph Pecoraro.
10
11         * UserInterface/Base/Main.js:
12         (WebInspector._increaseZoom): Add 0.2 instead of multiplying 1.2.
13         (WebInspector._decreaseZoom): Subtract 0.2 instead of multiplying 0.8.
14
15 2015-10-28  Matt Baker  <mattbaker@apple.com>
16
17         Web Inspector: Rendering Frames pie chart does not update during initial selection of a timeline range
18         https://bugs.webkit.org/show_bug.cgi?id=150630
19
20         Reviewed by Geoffrey Garen.
21
22         No longer suppress selection changed events while dragging to create a new selection.
23         We dispatch selection changed events when adjusting an existing selection, so it makes
24         sense to treat both cases identically.
25
26         * UserInterface/Views/TimelineRuler.js:
27         (WebInspector.TimelineRuler): Deleted.
28         (WebInspector.TimelineRuler.prototype._dispatchTimeRangeSelectionChangedEvent): Deleted.
29         (WebInspector.TimelineRuler.prototype._handleMouseMove): Deleted.
30
31 2015-10-27  Timothy Hatcher  <timothy@apple.com>
32
33         Web Inspector: Remove image generators and use SVG directly
34         https://bugs.webkit.org/show_bug.cgi?id=150602
35
36         Reviewed by Brian Burg.
37
38         This removes the code used to generate button image states as various canvas bitmaps.
39         With the simplification of the UI in Yosemite, we can now just style SVG images to change
40         the color used by the glyphs in these images. To do that we use the special "currentColor"
41         color keyword. That keyword represents the current value of the applied CSS text color.
42         This approach was used since it works across shadow DOM boundaries, which are there with
43         our new use of the SVG <use> element to import glyphs. This allows us to eliminate the
44         "stroked" and "filled" classes that were used to style some images that used the old
45         wrappedSVGDocument image utility.
46
47         Some of the SVG images had to be recreated -- specifically the removal of <clipPath> and
48         <text> elements. Those elements do not work or work well with the <use> element. We can
49         now only use graphical elements like <path>, <rect>, <circle>, etc.
50
51         * UserInterface/Images/*.svg: Added id to the top level for most images. Use currentColor instead of black. Sorted attributes.
52         * UserInterface/Images/gtk/*.svg: Added id to the top level for most images. Filed bug 150603 to track adopting currentColor.
53
54         * UserInterface/Base/ImageUtilities.js:
55         (useSVGSymbol): Added.
56         (catch): Deleted.
57         (_devicePixelRatioChanged): Deleted.
58         (_registerGeneratedImageUpdateFunction): Deleted.
59         (_logSQLError): Deleted.
60         (_logSQLTransactionError): Deleted.
61         (_prefetchCachedImagesAndUpdate): Deleted.
62         (_prefetchCachedImagesAndUpdate.): Deleted.
63         (else.): Deleted.
64         (restoreImageFromStorage): Deleted.
65         (imageLoaded): Deleted.
66         (ensureImageIsLoaded): Deleted.
67         (restoreImages.restoreActiveImages): Deleted.
68         (restoreImages): Deleted.
69         (restoreImage): Deleted.
70         (update): Deleted.
71         (generateImages.generateActiveImages): Deleted.
72         (generateImages): Deleted.
73         (generateImage): Deleted.
74         (_drawImageShadow): Deleted.
75         (_invertMaskImage): Deleted.
76         (_applyImageMask): Deleted.
77         (generateEmbossedImages): Deleted.
78         (invokeCallbackWithDocument): Deleted.
79         (imageLoad): Deleted.
80         (imageError): Deleted.
81         (wrappedSVGDocument): Deleted.
82         * UserInterface/Views/ActivateButtonNavigationItem.js:
83         (WebInspector.ActivateButtonNavigationItem.prototype.set activated):
84         (WebInspector.ActivateButtonNavigationItem.prototype.generateStyleText): Deleted.
85         * UserInterface/Views/ButtonNavigationItem.css:
86         (.navigation-bar .item.button):
87         (.navigation-bar .item.button > .glyph):
88         (.navigation-bar .item.button:not(.disabled):active > .glyph):
89         (.navigation-bar .item.button:not(.disabled):matches(:focus, .activate.activated, .radio.selected) > .glyph):
90         (.navigation-bar .item.button:not(.disabled):active:matches(:focus, .activate.activated, .radio.selected) > .glyph):
91         (body.window-inactive .navigation-bar .item.button > .glyph):
92         (.navigation-bar .item.button.disabled > .glyph):
93         (body.window-inactive .navigation-bar .item.button.disabled > .glyph):
94         (.navigation-bar .item.button.text-only): Deleted.
95         (body.window-inactive .navigation-bar .item.button:not(.suppress-emboss) > .glyph): Deleted.
96         (body.window-inactive .navigation-bar .item.button.disabled:not(.suppress-emboss) > .glyph): Deleted.
97         (.navigation-bar .item.button.suppress-emboss): Deleted.
98         (.navigation-bar .item.button.suppress-emboss > .glyph): Deleted.
99         (.navigation-bar .item.button.suppress-emboss:active > .glyph): Deleted.
100         (.navigation-bar .item.button.suppress-emboss.disabled > .glyph): Deleted.
101         * UserInterface/Views/ButtonNavigationItem.js:
102         (WebInspector.ButtonNavigationItem.prototype.set image):
103         (WebInspector.ButtonNavigationItem): Deleted.
104         (WebInspector.ButtonNavigationItem.prototype.get suppressBezel): Deleted.
105         (WebInspector.ButtonNavigationItem.prototype.set suppressBezel): Deleted.
106         (WebInspector.ButtonNavigationItem.prototype.generateStyleText): Deleted.
107         (WebInspector.ButtonNavigationItem.prototype._canvasIdentifier): Deleted.
108         (WebInspector.ButtonNavigationItem.prototype._updateImage): Deleted.
109         (WebInspector.ButtonNavigationItem.prototype._generateImages): Deleted.
110         * UserInterface/Views/ButtonToolbarItem.css:
111         (.toolbar .item.button > .glyph):
112         (.toolbar .item.button:not(.disabled):active > .glyph):
113         * UserInterface/Views/ControlToolbarItem.css:
114         (.toolbar .item.control):
115         (.toolbar .item.control:hover):
116         * UserInterface/Views/MultipleScopeBarItem.js:
117         (WebInspector.MultipleScopeBarItem):
118         * UserInterface/Views/NavigationBar.js:
119         (WebInspector.NavigationBar.prototype.updateLayoutSoon.update):
120         (WebInspector.NavigationBar.prototype.updateLayoutSoon):
121         (WebInspector.NavigationBar): Deleted.
122         (WebInspector.NavigationBar.prototype.insertNavigationItem): Deleted.
123         (WebInspector.NavigationBar.prototype.removeNavigationItem): Deleted.
124         (WebInspector.NavigationBar.prototype.updateLayout): Deleted.
125         (WebInspector.NavigationBar.prototype._updateStyle): Deleted.
126         * UserInterface/Views/NetworkSidebarPanel.js:
127         (WebInspector.NetworkSidebarPanel.prototype.treeElementAddedOrChanged):
128         * UserInterface/Views/RadioButtonNavigationItem.js:
129         (WebInspector.RadioButtonNavigationItem.prototype.set active):
130         (WebInspector.RadioButtonNavigationItem.prototype.generateStyleText): Deleted.
131         * UserInterface/Views/ScopeBar.css:
132         (.scope-bar > li.multiple:matches(.selected, :hover, :active) > .arrows):
133         (.scope-bar > li.multiple:matches(.selected, :hover, :active) > .arrows svg .filled): Deleted.
134         (.scope-bar > li.multiple:matches(.selected, :hover, :active) > .arrows svg .stroked): Deleted.
135         * UserInterface/Views/ScopeBarItem.js:
136         (WebInspector.ScopeBarItem):
137         * UserInterface/Views/ScopeRadioButtonNavigationItem.css:
138         (.scope-radio-button-navigation-item:hover > .arrows):
139         (.scope-radio-button-navigation-item.selected > .arrows > svg .stroked): Deleted.
140         * UserInterface/Views/ScopeRadioButtonNavigationItem.js:
141         (WebInspector.ScopeRadioButtonNavigationItem):
142         * UserInterface/Views/TimelineSidebarPanel.css:
143         (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events > .title-bar-scope-bar > .default-item-selected > .multiple .arrows):
144         (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events > .title-bar-scope-bar > .default-item-selected > .multiple svg .filled): Deleted.
145         (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events > .title-bar-scope-bar > .default-item-selected > .multiple svg .stroked): Deleted.
146         * UserInterface/Views/TimelineSidebarPanel.js:
147         (WebInspector.TimelineSidebarPanel.prototype.treeElementAddedOrChanged):
148         (WebInspector.TimelineSidebarPanel.prototype._timelineAdded):
149         * UserInterface/Views/ToggleButtonNavigationItem.js:
150         (WebInspector.ToggleButtonNavigationItem): Deleted.
151         * UserInterface/Views/TreeElementStatusButton.css:
152         (.item > .status > .status-button):
153         (:matches(:focus, .force-focus) .item.selected > .status > .status-button):
154         (.item > .status > .status-button > svg .filled): Deleted.
155         (:matches(:focus, .force-focus) .item.selected > .status > .status-button > svg .filled): Deleted.
156         (.item > .status > .status-button > svg .stroked): Deleted.
157         (:matches(:focus, .force-focus) .item.selected > .status > .status-button > svg .stroked): Deleted.
158         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
159         (WebInspector.VisualStyleCommaSeparatedKeywordEditor):
160         * UserInterface/Views/VisualStyleDetailsPanel.css:
161         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .header > .visual-style-section-clear):
162         * UserInterface/Views/VisualStyleKeywordIconList.css:
163         (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon.selected):
164         (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:not(.selected) > div):
165         (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon.selected svg .stroked): Deleted.
166         (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon.selected svg .filled): Deleted.
167         * UserInterface/Views/VisualStyleKeywordIconList.js:
168         (WebInspector.VisualStyleKeywordIconList.createListItem):
169         (WebInspector.VisualStyleKeywordIconList):
170         * UserInterface/Views/VisualStylePropertyEditorLink.css:
171         (.visual-style-property-editor-link > .visual-style-property-editor-link-icon > :matches(.linked-icon, .unlinked-icon)):
172         (.visual-style-property-editor-link:not(.linked) > .visual-style-property-editor-link-icon > :matches(.linked-icon, .unlinked-icon)):
173         (.visual-style-property-editor-link > .visual-style-property-editor-link-icon): Deleted.
174         (.visual-style-property-editor-link > .visual-style-property-editor-link-icon > .unlinked-icon svg .filled): Deleted.
175         (.visual-style-property-editor-link > .visual-style-property-editor-link-icon > .unlinked-icon svg .stroked): Deleted.
176         * UserInterface/Views/VisualStylePropertyEditorLink.js:
177         (WebInspector.VisualStylePropertyEditorLink):
178         * UserInterface/Views/VisualStyleSelectorSection.css:
179         (.details-section.visual-style-selector-section > .header > .controls > .visual-style-selector-section-add-rule):
180         * UserInterface/Views/VisualStyleSelectorSection.js:
181         (WebInspector.VisualStyleSelectorSection):
182
183 2015-10-28  Timothy Hatcher  <timothy@apple.com>
184
185         Web Inspector: jsmin.py mistakenly removes whitespace from template literal strings
186         https://bugs.webkit.org/show_bug.cgi?id=148728
187
188         Reviewed by Joseph Pecoraro.
189
190         * Scripts/jsmin.py:
191         (JavascriptMinify.minify): Make backtick a quoting character.
192
193 2015-10-28  Joseph Pecoraro  <pecoraro@apple.com>
194
195         Web Inspector: Timeline recording start button missing when WEB_REPLAY disabled (no ReplayAgent)
196         https://bugs.webkit.org/show_bug.cgi?id=150633
197
198         Reviewed by Timothy Hatcher.
199
200         * UserInterface/Views/TimelineSidebarPanel.js:
201         (WebInspector.TimelineSidebarPanel.prototype._updateReplayInterfaceVisibility):
202         Ensure we pass a boolean to classList.toggle.
203
204 2015-10-27  Joseph Pecoraro  <pecoraro@apple.com>
205
206         Web Inspector: Remove Timeline MarkDOMContent and MarkLoad, data is already available
207         https://bugs.webkit.org/show_bug.cgi?id=150615
208
209         Reviewed by Timothy Hatcher.
210
211         * UserInterface/Controllers/TimelineManager.js:
212         (WebInspector.TimelineManager.prototype._processEvent):
213         Remove the now unneed mark event handling.
214
215         (WebInspector.TimelineManager.prototype.pageDOMContentLoadedEventFired):
216         (WebInspector.TimelineManager.prototype.pageLoadEventFired):
217         Update the main frame and create markers for the current recording.
218
219         * UserInterface/Protocol/PageObserver.js:
220         (WebInspector.PageObserver.prototype.domContentEventFired):
221         (WebInspector.PageObserver.prototype.loadEventFired):
222         Forward to TimelineManager.
223
224 2015-10-27  Joseph Pecoraro  <pecoraro@apple.com>
225
226         Web Inspector: Remove unused / duplicated XHR timeline instrumentation
227         https://bugs.webkit.org/show_bug.cgi?id=150605
228
229         Reviewed by Timothy Hatcher.
230
231         * UserInterface/Controllers/TimelineManager.js:
232         (WebInspector.TimelineManager.prototype._processRecord):
233         Remove unused events and add an assert that we don't miss
234         any script embedders.
235
236 2015-10-27  Matt Baker  <mattbaker@apple.com>
237
238         REGRESSION: Web Inspector: DOM path bar blinks when modifying inline styles
239         https://bugs.webkit.org/show_bug.cgi?id=149258
240
241         Reviewed by Timothy Hatcher.
242
243         Now that Object now longer spams constructor event listeners, ContentBrowser can safely
244         update the NavigationBar synchronously. This fixes the issue, with zero impact on layout
245         responsiveness when selecting Rendering Frames tree elements.
246
247         * UserInterface/Views/ContentBrowser.js:
248         (WebInspector.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange):
249         Force NavigationBar to update synchronously.
250
251 2015-10-27  Joseph Pecoraro  <pecoraro@apple.com>
252
253         Web Inspector: Timeline current time marker does not start moving when starting recording after just opening inspector
254         https://bugs.webkit.org/show_bug.cgi?id=150178
255
256         Reviewed by Brian Burg.
257
258         * UserInterface/Controllers/TimelineManager.js:
259         (WebInspector.TimelineManager.prototype.capturingStarted):
260         * UserInterface/Models/TimelineRecording.js:
261         (WebInspector.TimelineRecording.prototype.initializeTimeBoundsIfNecessary):
262         For a recording to start updating current time the recording itself
263         must have a start time. Provide a setter so that the start time can
264         be set without waiting for a timeline record. For example the
265         timestamp that the frontend receives when it starts a recording.
266
267         * UserInterface/Views/TimelineRecordingContentView.js:
268         (WebInspector.TimelineRecordingContentView.prototype._startUpdatingCurrentTime):
269         When we have a startTime number (new backends) always use it as the current time.
270         Previously we were only doing this if current time was NaN, which would be when
271         re-starting a recording after it had stopped, but not for the initial recording
272         after opening the inspector.
273
274         * UserInterface/Views/TimelineRuler.js:
275         (WebInspector.TimelineRuler.prototype.updateLayout):
276         Even if we do not need to create new time dividers we may need to perform
277         other updates like update the current time marker. So do work before bailing.
278
279 2015-10-26  Matt Baker  <mattbaker@apple.com>
280
281         Web Inspector: WebInspector.Object can dispatch constructor-level events multiple times
282         https://bugs.webkit.org/show_bug.cgi?id=150579
283
284         Reviewed by Timothy Hatcher.
285
286         Use `hasOwnProperty` when checking for constructor event listeners when walking the
287         prototype chain. This prevents listeners registered with a base class constructor
288         from being dispatched multiple times by getting picked up higher in the prototype chain.
289
290         * UserInterface/Base/Object.js:
291         (WebInspector.Object.prototype.dispatchEventToListeners.dispatch):
292         (WebInspector.Object.prototype.dispatchEventToListeners):
293         (WebInspector.Object):
294
295 2015-10-26  Matt Baker  <mattbaker@apple.com>
296
297         Web Inspector: Hundreds of failed assertions after switching to Rendering Frames after recording complete
298         https://bugs.webkit.org/show_bug.cgi?id=150568
299
300         Reviewed by Timothy Hatcher.
301
302         When the TimelineRecordingContentView responds to the current content view changing,
303         the TimelineOverview may be swapped out (if switching from a Timelines content view to a
304         Rendering Frames content view). This patch installs a new overview (if it's changing) prior
305         to setting the TimelineSidebarPanel's tree outline, as setting the tree outline forces
306         filters to run.
307
308         Filtering tree elements requires that the timeline overview is up to date, which was the
309         cause the assertion deluge.
310
311         * UserInterface/Views/TimelineRecordingContentView.js:
312         (WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
313
314 2015-10-26  Joseph Pecoraro  <pecoraro@apple.com>
315
316         Web Inspector: Spacebar to start recording should not cause system beep
317         https://bugs.webkit.org/show_bug.cgi?id=150573
318
319         Reviewed by Timothy Hatcher.
320
321         * UserInterface/Views/TimelineSidebarPanel.js:
322         (WebInspector.TimelineSidebarPanel.prototype._toggleRecordingOnSpacebar):
323         (WebInspector.TimelineSidebarPanel.prototype._toggleNewRecordingOnSpacebar):
324         The keyboard shortcuts do not implicitly prevent default because they may bail.
325         So in cases where they do handle the key, prevent default to prevent system beeps.
326
327 2015-10-26  Matt Baker  <mattbaker@apple.com>
328
329         Web Inspector: Cleanup sidebar panels, reduce `delete` and use Maps instead of objects
330         https://bugs.webkit.org/show_bug.cgi?id=150548
331
332         Reviewed by Timothy Hatcher.
333
334         * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
335         (WebInspector.LayerTreeDetailsSidebarPanel):
336         (WebInspector.LayerTreeDetailsSidebarPanel.prototype._updateDataGrid):
337         (WebInspector.LayerTreeDetailsSidebarPanel.prototype._dataGridNodeForLayer):
338
339         * UserInterface/Views/NavigationSidebarPanel.js:
340         (WebInspector.NavigationSidebarPanel):
341         (WebInspector.NavigationSidebarPanel.restoreStateFromCookie.finalAttemptToRestoreViewStateFromCookie):
342         (WebInspector.NavigationSidebarPanel.restoreStateFromCookie):
343         (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement):
344         (WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
345         (WebInspector.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie):
346         Switched to using Symbol() to set external properties on tree elements.
347
348         * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
349         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateCallFramesSection):
350
351         * UserInterface/Views/StorageSidebarPanel.js:
352         (WebInspector.StorageSidebarPanel):
353         (WebInspector.StorageSidebarPanel.prototype._addDatabase):
354         (WebInspector.StorageSidebarPanel.prototype._addIndexedDatabase):
355         (WebInspector.StorageSidebarPanel.prototype._addFrameManifest):
356         (WebInspector.StorageSidebarPanel.prototype._storageCleared):
357
358 2015-10-24  Nikita Vasilyev  <nvasilyev@apple.com>
359
360         Unreviewed, rolling out r191419.
361         https://bugs.webkit.org/show_bug.cgi?id=150537
362
363         Reverted changeset:
364
365         "Web Inspector: Autocompletion previews in the CSS sidebar do not apply"
366         https://bugs.webkit.org/show_bug.cgi?id=147720
367         http://trac.webkit.org/changeset/191419
368
369 2015-10-23  Joseph Pecoraro  <pecoraro@apple.com>
370
371         Web Inspector: Remove unused ScrollLayer Timeline EventType
372         https://bugs.webkit.org/show_bug.cgi?id=150518
373
374         Reviewed by Timothy Hatcher.
375
376         * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
377         * UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
378         * UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js:
379         * Versions/Inspector-iOS-7.0.json:
380         * Versions/Inspector-iOS-8.0.json:
381         * Versions/Inspector-iOS-9.0.json:
382
383 2015-10-23  Joseph Pecoraro  <pecoraro@apple.com>
384
385         Web Inspector: xlink:href should be linkified
386         https://bugs.webkit.org/show_bug.cgi?id=150505
387
388         Reviewed by Timothy Hatcher.
389
390         * UserInterface/Base/Main.js:
391         When opening a URL with a fragment, prefer opening a resource
392         that has the same URL without the fragment, otherwise this would
393         open in a new tab.
394
395         * UserInterface/Base/URLUtilities.js:
396         (absoluteURL):
397         Better handling absoluteURL("#frag", baseURL).
398
399         * UserInterface/Views/CodeMirrorAdditions.js:
400         * UserInterface/Views/DOMTreeElement.js:
401         (WebInspector.DOMTreeElement.prototype._buildAttributeDOM):
402         Allow for more "href" style attributes, such as XML namespaced
403         "xlink:href" attribute names.
404
405 2015-10-23  Nikita Vasilyev  <nvasilyev@apple.com>
406
407         Web Inspector: Command-Enter in Debugger should show a popover with evaluation result
408         https://bugs.webkit.org/show_bug.cgi?id=149195
409
410         Currenty, the only way to display the popover is to hover over the text with a mouse cursor.
411         Provide a way to display it via a keyboard shortcut.
412
413         Reviewed by Timothy Hatcher.
414
415         * UserInterface/Controllers/CodeMirrorCompletionController.js:
416         (WebInspector.CodeMirrorCompletionController): Deleted.
417         (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions): Deleted.
418         Don't evaluate selected text from Debugger or Sources in the console.
419
420         * UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
421         (WebInspector.CodeMirrorTokenTrackingController):
422         (WebInspector.CodeMirrorTokenTrackingController.prototype._handleCommandEnterKey):
423         (WebInspector.CodeMirrorTokenTrackingController.prototype._hidePopover):
424         Cmd-Enter triggers the popover, Esc hides it.
425
426         (WebInspector.CodeMirrorTokenTrackingController.prototype.set mode):
427         (WebInspector.CodeMirrorTokenTrackingController.prototype.removeHighlightedRange):
428         Don't use delete.
429
430         (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseMovedWithMarkedText):
431         When a token isn't hovered, hide it only when it was triggered not by the keyboard.
432
433         (WebInspector.CodeMirrorTokenTrackingController.prototype._markedTextIsNoLongerHovered):
434         Don't use delete.
435
436         (WebInspector.CodeMirrorTokenTrackingController.prototype._updateHoveredTokenInfo):
437         (WebInspector.CodeMirrorTokenTrackingController.prototype._getTokenInfoForPosition):
438         Abstract out a no side effects _getTokenInfoForPosition method, which is also used by _handleCommandEnterKey.
439
440         (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseMovedOutOfEditor):
441         (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseButtonWasReleasedOverEditor):
442         Don't use delete.
443
444         (WebInspector.CodeMirrorTokenTrackingController.prototype._processNewHoveredToken):
445         (WebInspector.CodeMirrorTokenTrackingController.prototype._processNonSymbolToken):
446         (WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
447         Pass tokenInfo as an argument to explicitly state that these methods require it.
448
449         (WebInspector.CodeMirrorTokenTrackingController.prototype._resetTrackingStates):
450         Don't use delete.
451
452         * UserInterface/Views/SourceCodeTextEditor.js:
453         (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerHighlightedRangeReleased):
454         Allow to hide the popover regardless of mouse position. Used when the text cursor moves or
455         when Esc key is pressed.
456
457 2015-10-23  Devin Rousso  <dcrousso+webkit@gmail.com>
458
459         Web Inspector: Visual sidebar should support multiple backgrounds
460         https://bugs.webkit.org/show_bug.cgi?id=148310
461
462         Reviewed by Timothy Hatcher.
463
464         Changes the layout of the Background - Style section in the Visual sidebar
465         to be a list instead of a single editable field for a background-image URL.
466         Allows for comma-separated background properties (both shorthand and
467         longhand) and displays them all in a single list for editing.
468
469         * Localizations/en.lproj/localizedStrings.js:
470         * UserInterface/Views/VisualStyleColorPicker.js:
471         (WebInspector.VisualStyleColorPicker):
472         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css:
473         (.visual-style-property-container.comma-separated-keyword-editor):
474         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
475         (WebInspector.VisualStyleCommaSeparatedKeywordEditor):
476         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._generateTextFromLonghandProperties.propertyValue):
477         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._generateTextFromLonghandProperties):
478         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.modifyPropertyText):
479         Comma separated properties will now try to assemble a value from related longhand
480         properties so that a single shorthand property with commas may be used.
481
482         * UserInterface/Views/VisualStyleDetailsPanel.css:
483         (.sidebar > .panel.details.css-style .visual > .details-section.background .details-section.background-style .visual-style-property-container.comma-separated-keyword-editor.background):
484         * UserInterface/Views/VisualStyleDetailsPanel.js:
485         (WebInspector.VisualStyleDetailsPanel.prototype._populateBackgroundStyleSection):
486         (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection):
487         (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection):
488         (WebInspector.VisualStyleDetailsPanel.prototype._noRemainingCommaSeparatedEditorItems):
489         (WebInspector.VisualStyleDetailsPanel.prototype._selectedCommaSeparatedEditorItemValueChanged):
490         (WebInspector.VisualStyleDetailsPanel.prototype._commaSeparatedEditorTreeItemSelected):
491         (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.noRemainingTreeItems): Deleted.
492         (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.selectedBoxShadowItemValueChanged): Deleted.
493         (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.boxShadowItemSelected): Deleted.
494         (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.noRemainingTreeItems): Deleted.
495         (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.selectedtransitionItemValueChanged): Deleted.
496         (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.transitionItemSelected): Deleted.
497         Made the "background-image" property into a comma separated editor.
498
499         * UserInterface/Views/VisualStyleFontFamilyListEditor.js:
500         (WebInspector.VisualStyleFontFamilyListEditor):
501         * UserInterface/Views/VisualStyleKeywordIconList.js:
502         (WebInspector.VisualStyleKeywordIconList.prototype.set value):
503         (WebInspector.VisualStyleKeywordIconList.prototype._handleKeywordChanged):
504         (WebInspector.VisualStyleKeywordIconList):
505         * UserInterface/Views/VisualStyleKeywordPicker.js:
506         (WebInspector.VisualStyleKeywordPicker.prototype.updateEditorValues):
507         (WebInspector.VisualStyleKeywordPicker.prototype._setValue):
508         * UserInterface/Views/VisualStyleNumberInputBox.js:
509         (WebInspector.VisualStyleNumberInputBox.prototype.set value):
510         * UserInterface/Views/VisualStylePropertyCombiner.js:
511         (WebInspector.VisualStylePropertyCombiner):
512         (WebInspector.VisualStylePropertyCombiner.prototype.updateValuesFromText.updateCompatibleEditor):
513         (WebInspector.VisualStylePropertyCombiner.prototype.updateValuesFromText):
514         * UserInterface/Views/VisualStylePropertyEditor.js:
515         (WebInspector.VisualStylePropertyEditor):
516         (WebInspector.VisualStylePropertyEditor.prototype.update):
517         (WebInspector.VisualStylePropertyEditor.prototype.getValuesFromText):
518         (WebInspector.VisualStylePropertyEditor.prototype.get propertyMissing):
519         (WebInspector.VisualStylePropertyEditor.prototype._valueDidChange):
520         Moved "propertyMissing" into a member variable for better access.
521
522         * UserInterface/Views/VisualStyleURLInput.js:
523         (WebInspector.VisualStyleURLInput):
524         (WebInspector.VisualStyleURLInput.prototype.get synthesizedValue):
525         (WebInspector.VisualStyleURLInput.prototype.parseValue):
526         Added support for specific keywords to be used in the input field.
527
528 2015-10-22  Timothy Hatcher  <timothy@apple.com>
529
530         Web Inspector: Remove generateColoredImagesForCSS and its clients
531         https://bugs.webkit.org/show_bug.cgi?id=150474
532
533         Reviewed by Joseph Pecoraro.
534
535         * UserInterface/Base/ImageUtilities.js:
536         (generateColoredImage): Deleted.
537         (imageLoaded): Deleted.
538         (ensureImageIsLoaded): Deleted.
539         (restoreImages.restoreActiveImages): Deleted.
540         (restoreImages): Deleted.
541         (restoreImage): Deleted.
542         (update): Deleted.
543         (generateImage): Deleted.
544         (generateColoredImagesForCSS): Deleted.
545
546         * UserInterface/Base/Main.js:
547         (WebInspector.loaded): Deleted call to _generateDisclosureTriangleImages.
548         (WebInspector._generateDisclosureTriangleImages): Deleted.
549         (WebInspector.createGoToArrowButton): Deleted code to generate the states.
550
551         * UserInterface/Images/BackArrow.svg: Removed.
552         * UserInterface/Images/BackForwardArrows.svg: Added.
553         * UserInterface/Images/DisclosureTriangleSmallClosed.svg: Removed.
554         * UserInterface/Images/DisclosureTriangleSmallOpen.svg: Removed.
555         * UserInterface/Images/DisclosureTriangleTinyClosed.svg: Removed.
556         * UserInterface/Images/DisclosureTriangleTinyOpen.svg: Removed.
557         * UserInterface/Images/DisclosureTriangles.svg: Added.
558         * UserInterface/Images/ForwardArrow.svg: Removed.
559         * UserInterface/Images/GoToArrow.svg:
560         * UserInterface/Images/Locked.svg: Moved fill color here.
561         * UserInterface/Images/SortIndicatorArrows.svg: Added.
562         * UserInterface/Images/SortIndicatorDownArrow.svg: Removed.
563         * UserInterface/Images/SortIndicatorUpArrow.svg: Removed.
564         * UserInterface/Images/gtk/BackArrow.svg: Removed.
565         * UserInterface/Images/gtk/BackForwardArrows.svg: Added.
566         * UserInterface/Images/gtk/DisclosureTriangleSmallClosed.svg: Removed.
567         * UserInterface/Images/gtk/DisclosureTriangleSmallOpen.svg: Removed.
568         * UserInterface/Images/gtk/DisclosureTriangleTinyClosed.svg: Removed.
569         * UserInterface/Images/gtk/DisclosureTriangleTinyOpen.svg: Removed.
570         * UserInterface/Images/gtk/DisclosureTriangles.svg: Added.
571         * UserInterface/Images/gtk/ForwardArrow.svg: Removed.
572         * UserInterface/Images/gtk/GoToArrow.svg:
573         * UserInterface/Images/gtk/Locked.svg: Moved fill color here.
574         * UserInterface/Images/gtk/SortIndicatorArrows.svg: Added.
575         * UserInterface/Images/gtk/SortIndicatorDownArrow.svg: Removed.
576         * UserInterface/Images/gtk/SortIndicatorUpArrow.svg: Removed.
577
578         * UserInterface/Views/CSSStyleDeclarationSection.css:
579         (.style-declaration-section.locked > .header::before):
580
581         * UserInterface/Views/CSSStyleDeclarationSection.js:
582         (WebInspector.CSSStyleDeclarationSection): Deleted.
583
584         * UserInterface/Views/ConsoleMessageView.css:
585         (.console-message.expandable .console-top-level-message::before):
586         (.console-message.expandable.expanded .console-top-level-message::before):
587
588         * UserInterface/Views/ContentBrowser.js:
589         (WebInspector.ContentBrowser): Use BackForwardArrows.svg.
590
591         * UserInterface/Views/DOMTreeOutline.css:
592         (.dom-tree-outline li.parent::before):
593         (.dom-tree-outline:focus li.parent.selected::before):
594         (.dom-tree-outline li.parent.expanded::before):
595         (.dom-tree-outline:focus li.parent.expanded.selected::before):
596
597         * UserInterface/Views/DataGrid.css:
598         (.data-grid th.sort-ascending > div:first-child::after):
599         (.data-grid th.sort-descending > div:first-child::after):
600         (.data-grid tr.parent td.disclosure::before):
601         (.data-grid tr.parent.expanded td.disclosure::before):
602         (.data-grid:matches(:focus, .force-focus) tr.parent.selected td.disclosure::before):
603         (.data-grid:matches(:focus, .force-focus) tr.parent.expanded.selected td.disclosure::before):
604
605         * UserInterface/Views/DataGrid.js:
606         (WebInspector.DataGrid): Deleted call to _generateSortIndicatorImagesIfNeeded.
607         (WebInspector.DataGrid.prototype._generateSortIndicatorImagesIfNeeded): Deleted.
608
609         * UserInterface/Views/DetailsSection.css:
610         (.details-section > .header::before):
611         (.details-section > .header:not(.mouse-over-options-element):active::before):
612         (.details-section.collapsed > .header::before):
613         (.details-section.collapsed > .header:not(.mouse-over-options-element):active::before):
614
615         * UserInterface/Views/DetailsSection.js:
616         (WebInspector.DetailsSection): Deleted call to _generateDisclosureTrianglesIfNeeded.
617         (WebInspector.DetailsSection.prototype._generateDisclosureTrianglesIfNeeded): Deleted.
618
619         * UserInterface/Views/ErrorObjectView.css:
620         (.error-object > .formatted-error::before):
621         (.error-object.expanded > .formatted-error::before):
622
623         * UserInterface/Views/FindBanner.css:
624         (.find-banner > button.segmented.left > .glyph):
625         (.find-banner > button.segmented.left:active:not(:disabled) > .glyph):
626         (.find-banner > button.segmented.right > .glyph):
627         (.find-banner > button.segmented.right:active:not(:disabled) > .glyph):
628
629         * UserInterface/Views/FindBanner.js:
630         (WebInspector.FindBanner): Deleted call to _generateButtonsGlyphsIfNeeded.
631         (WebInspector.FindBanner.prototype._generateButtonsGlyphsIfNeeded): Deleted.
632
633         * UserInterface/Views/LogContentView.css:
634         (.console-group-title::before):
635         (.console-group.collapsed .console-group-title::before):
636
637         * UserInterface/Views/Main.css:
638         (.go-to-arrow):
639         (.go-to-arrow:active):
640         (:matches(:focus, .force-focus) .selected .go-to-arrow):
641         (:matches(:focus, .force-focus) .selected .go-to-arrow:active):
642
643         * UserInterface/Views/NavigationSidebarPanel.css:
644         (.navigation-sidebar-panel-content-tree-outline .item .disclosure-button):
645         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .disclosure-button):
646         (.navigation-sidebar-panel-content-tree-outline .item.expanded .disclosure-button):
647         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected.expanded .disclosure-button):
648
649         * UserInterface/Views/NavigationSidebarPanel.js:
650         (WebInspector.NavigationSidebarPanel): Deleted call to _generateDisclosureTrianglesIfNeeded.
651         (WebInspector.NavigationSidebarPanel.prototype._generateDisclosureTrianglesIfNeeded): Deleted.
652
653         * UserInterface/Views/ObjectTreePropertyTreeElement.css:
654         (.object-tree-property.parent > .disclosure-button):
655         (.object-tree-property.parent.expanded > .disclosure-button):
656         (.object-tree-property .read-only): Deleted.
657
658         * UserInterface/Views/ObjectTreeView.css:
659         (.object-tree > :matches(.title, .object-preview)::before):
660         (.object-tree.expanded > :matches(.title, .object-preview)::before):
661
662         * UserInterface/Views/TypeTreeElement.css:
663         (.type-tree-element.parent > .disclosure-button):
664         (.type-tree-element.parent.expanded > .disclosure-button):
665
666 2015-10-22  Matt Baker  <mattbaker@apple.com>
667
668         Web Inspector: CSS Data URIs count against page weight twice
669         https://bugs.webkit.org/show_bug.cgi?id=150101
670
671         Reviewed by Timothy Hatcher.
672
673         * UserInterface/Models/DefaultDashboard.js:
674         (WebInspector.DefaultDashboard.prototype._resourceSizeDidChange):
675         Exclude resources with a data URI from the total page weight.
676
677         * UserInterface/Models/Resource.js:
678         (WebInspector.Resource):
679         (WebInspector.Resource.prototype.updateForRedirectResponse):
680         (WebInspector.Resource.prototype.updateForResponse):
681         (WebInspector.Resource.prototype.markAsFinished):
682         Removed uses of `delete`.
683
684 2015-10-22  Joseph Pecoraro  <pecoraro@apple.com>
685
686         Web Inspector: Remove unused Timeline GCEvent Record type
687         https://bugs.webkit.org/show_bug.cgi?id=150477
688
689         Reviewed by Timothy Hatcher.
690
691         iOS backends never emitted a GCEvent timeline event.
692
693         * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
694         * UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
695         * UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js:
696         * Versions/Inspector-iOS-7.0.json:
697         * Versions/Inspector-iOS-8.0.json:
698         * Versions/Inspector-iOS-9.0.json:
699
700 2015-10-22  Joseph Pecoraro  <pecoraro@apple.com>
701
702         Web Inspector: srcset attributes should have hyperlinks to the resources
703         https://bugs.webkit.org/show_bug.cgi?id=150409
704
705         Reviewed by Timothy Hatcher.
706
707         Follow-up tweaks and fixes that were intended to be landed.
708
709         * UserInterface/Views/CodeMirrorAdditions.js:
710         (tokenizeSrcSetString):
711         Multiline parsing has issues recovering the state CodeMirror
712         expects, so we just bail in those cases. Leading whitespace
713         is also handled poorly, but expected to be rare.
714
715         * UserInterface/Views/DOMTreeElement.js:
716         (WebInspector.DOMTreeElement.prototype._buildAttributeDOM):
717         Trim to eliminate leading whitespace.
718
719 2015-10-22  Joseph Pecoraro  <pecoraro@apple.com>
720
721         Web Inspector: Restore :not(:placeholder-shown) behavior on search bars with comments
722         https://bugs.webkit.org/show_bug.cgi?id=150452
723
724         Reviewed by Timothy Hatcher.
725
726         * UserInterface/Views/FindBanner.css:
727         (.find-banner.console-find-banner > input[type="search"]:not(:placeholder-shown)):
728         * UserInterface/Views/SearchBar.css:
729         (.search-bar > input[type="search"]:not(:placeholder-shown)):
730         Add back the placeholder-shown related styles and add a comment about what they are for.
731
732 2015-10-22  Devin Rousso  <dcrousso+webkit@gmail.com>
733
734         Web Inspector: Tabbing over CSS properties prepended by * doesn't move the highlighted range
735         https://bugs.webkit.org/show_bug.cgi?id=150294
736
737         Reviewed by Timothy Hatcher.
738
739         Moving the selected text when tabbing and shift-tabbing now relies upon
740         the last index of ";" if it exists instead of whether the line ends with it.
741
742         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
743         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey):
744         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey):
745
746 2015-10-21  Joseph Pecoraro  <pecoraro@apple.com>
747
748         Web Inspector: srcset attributes should have hyperlinks to the resources
749         https://bugs.webkit.org/show_bug.cgi?id=150409
750
751         Reviewed by Timothy Hatcher.
752
753         The "srcset" attribute parsing is a simplification of:
754         https://html.spec.whatwg.org/multipage/embedded-content.html#attr-img-srcset
755
756         The "srcset" attribute value is expected to be in comma
757         separated groups. Within each group we always expect a link,
758         and an optional descriptor. We want to linkify the link.
759
760         * UserInterface/Views/CodeMirrorAdditions.js:
761         (tokenizeSrcSetString):
762         (extendedXMLToken):
763         When parsing srcset attribute, parse links as link tokens
764         so that they are linkified in resource content views.
765
766         * UserInterface/Views/DOMTreeElement.js:
767         (WebInspector.DOMTreeElement.prototype._buildAttributeDOM):
768         When creating the DOMTree DOM for srcset attributes,
769         create link elements for the link values of attribute value.
770
771 2015-10-21  Devin Rousso  <dcrousso+webkit@gmail.com>
772
773         Web Inspector: Autocompletion previews in the CSS sidebar do not apply
774         https://bugs.webkit.org/show_bug.cgi?id=147720
775
776         Reviewed by Timothy Hatcher.
777
778         When autocompletion hints are added to styles or the console, the history
779         object used by CodeMirror was edited to remove the last entry. Instead of
780         using this method (which caused glitchy behaviour when undo-ing), call
781         CodeMirror.undo() and adjust accordingly. In addition, a marker was being
782         used as the completion hint instead of applying text, whereas these
783         changes use actual text, ensuring that completions are previewed in the page.
784
785         * UserInterface/Controllers/CodeMirrorCompletionController.js:
786         (WebInspector.CodeMirrorCompletionController):
787         (WebInspector.CodeMirrorCompletionController.prototype.close):
788         (WebInspector.CodeMirrorCompletionController.prototype._applyCompletionHint.update):
789         (WebInspector.CodeMirrorCompletionController.prototype._commitCompletionHint.update):
790         (WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint.update):
791         (WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint):
792         (WebInspector.CodeMirrorCompletionController.prototype._handleBeforeChange):
793         (WebInspector.CodeMirrorCompletionController.prototype._createCompletionHintMarker): Deleted.
794         (WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint.clearMarker): Deleted.
795
796 2015-10-21  Devin Rousso  <dcrousso+webkit@gmail.com>
797
798         Web Inspector: Add forgotten WebInspector.UIString from r190521
799         https://bugs.webkit.org/show_bug.cgi?id=150425
800
801         Reviewed by Timothy Hatcher.
802
803         * Localizations/en.lproj/localizedStrings.js:
804         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
805         (UserInterface/Views/CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded)
806
807 2015-10-21  Devin Rousso  <dcrousso+webkit@gmail.com>
808
809         Web Inspector: Adjust usages of classList.toggle to ensure a true/false value instead of undefined
810         https://bugs.webkit.org/show_bug.cgi?id=150424
811
812         Reviewed by Timothy Hatcher.
813
814         Adds "!!" in front of force parameters in classList.toggle calls that
815         could possibly be undefined (thereby breaking the UI).
816
817         * UserInterface/Views/ScopeBarItem.js:
818         (WebInspector.ScopeBarItem):
819         * UserInterface/Views/VisualStyleDetailsPanel.js:
820         (WebInspector.VisualStyleDetailsPanel.prototype._updateSections):
821         * UserInterface/Views/VisualStylePropertyEditor.js:
822         (WebInspector.VisualStylePropertyEditor):
823
824 2015-10-21  Devin Rousso  <dcrousso+webkit@gmail.com>
825
826         Web Inspector: Option-Up doesn't increment certain attribute values
827         https://bugs.webkit.org/show_bug.cgi?id=149257
828
829         Reviewed by Brian Burg.
830
831         If the user tries to modify a numerical attribute in HTML and the cursor
832         was at the beginning of the attribute value, the range of the selection
833         was within a sibling element instead of the text node containin the value.
834         This patch fixes this issue and ensures that the correct text is selected.
835
836         * UserInterface/Views/EditingSupport.js:
837         (WebInspector.startEditing.handleEditingResult):
838         Replaced var with let.
839
840 2015-10-21  Joseph Pecoraro  <pecoraro@apple.com>
841
842         Web Inspector: Use some CSS Variables in Web Inspector
843         https://bugs.webkit.org/show_bug.cgi?id=150405
844
845         Reviewed by Timothy Hatcher.
846
847         * UserInterface/Main.html:
848         Include the new variables stylesheet.
849
850         * UserInterface/Views/Variables.css: Added.
851         (:root):
852         Introduce new global variables.
853
854         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
855         (.css-style-text-editor > .CodeMirror .cm-link):
856         * UserInterface/Views/ConsoleMessageView.css:
857         (.console-message-preview-divider):
858         (.console-message-enclosed):
859         (.console-message .console-message-extra-parameters-container > li::before):
860         (.console-saved-variable):
861         * UserInterface/Views/DOMTreeOutline.css:
862         (.dom-tree-outline li.selected > span::after):
863         * UserInterface/Views/FormattedValue.css:
864         (:matches(.formatted-array, .formatted-map, .formatted-set, .formatted-weakmap, .formatted-weakset) > .size):
865         (.formatted-number):
866         (.formatted-boolean):
867         (.formatted-string):
868         (.formatted-regexp):
869         (.formatted-symbol):
870         * UserInterface/Views/ObjectPreviewView.css:
871         (.object-preview > .size):
872         * UserInterface/Views/ObjectTreeArrayIndexTreeElement.css:
873         (.object-tree-array-index .index-name):
874         * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
875         (.syntax-highlighted :matches(.css-keyword, .css-tag, .css-at-rule, .css-important, .javascript-keyword, .html-tag)):
876         (.syntax-highlighted :matches(.css-number, .javascript-number)):
877         (.syntax-highlighted :matches(.css-string, .javascript-string, .html-attribute-value)):
878         (.syntax-highlighted .javascript-regexp):
879         * UserInterface/Views/TypeTokenView.css:
880         (.type-token-symbol):
881         Make use of variables.
882
883 2015-10-21  Nikita Vasilyev  <nvasilyev@apple.com>
884
885         Web Inspector: Typo in a property name: style.inerhited
886         https://bugs.webkit.org/show_bug.cgi?id=150391
887
888         Reviewed by Csaba Osztrogonác.
889
890         * UserInterface/Views/RulesStyleDetailsPanel.js:
891         (WebInspector.RulesStyleDetailsPanel.prototype.refresh):
892
893 2015-10-20  Nikita Vasilyev  <nvasilyev@apple.com>
894
895         Web Inspector: Pressing Command-S while focused on the styles sidebar should save CSS file
896         https://bugs.webkit.org/show_bug.cgi?id=150298
897
898         Reviewed by Timothy Hatcher.
899
900         * UserInterface/Views/CSSStyleDeclarationSection.js:
901         (WebInspector.CSSStyleDeclarationSection):
902         Beep when saving didn't work. Inline CSS and CSS in style attributes aren't curently supported.
903
904 2015-10-20  Joseph Pecoraro  <pecoraro@apple.com>
905
906         Web Inspector: JavaScriptCore should parse sourceURL and sourceMappingURL directives
907         https://bugs.webkit.org/show_bug.cgi?id=150096
908
909         Reviewed by Geoffrey Garen.
910
911         * UserInterface/Test/InspectorProtocol.js:
912         (InspectorProtocol._sendMessage):
913         (InspectorProtocol.dispatchMessageFromBackend):
914         This is only used for tests, so avoid console.log
915         and just dump directly to the system console.
916
917 2015-10-19  Xabier Rodriguez Calvar  <calvaris@igalia.com>
918
919         [Streams API] Add skeleton for initial WritableStream support
920         https://bugs.webkit.org/show_bug.cgi?id=149951
921
922         Reviewed by Darin Adler.
923
924         * UserInterface/Models/NativeFunctionParameters.js: Added support for WritableStream.
925
926 2015-10-19  James Craig  <jcraig@apple.com>
927
928         Web Inspector: AX: console list 'input'/'output' markers are not perceivable
929         https://bugs.webkit.org/show_bug.cgi?id=133045
930
931         Enabling WebKit Web Inspector console pseudo-element labels using the new CSS4 'alt' property.
932
933         Reviewed by Brian Burg.
934
935         * UserInterface/Views/LogContentView.css: 
936         (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted.selected):
937         (.console-messages:focus .console-item.selected .console-user-command-result.console-log-level::before):
938         (@media reader): Deleted.
939
940 2015-10-18  Joseph Pecoraro  <pecoraro@apple.com>
941
942         Web Inspector: Console Search should update when console is cleared
943         https://bugs.webkit.org/show_bug.cgi?id=150141
944
945         Reviewed by Brian Burg.
946
947         * UserInterface/Views/LogContentView.js:
948         (WebInspector.LogContentView.prototype._logCleared):
949         Reperform the search if there is a search query.
950
951         (WebInspector.LogContentView.prototype._filterMessageElements):
952         Reperform the current search.
953
954 2015-10-16  Joseph Pecoraro  <pecoraro@apple.com>
955
956         Web Inspector: Add "unset" to CSS value autocompletion
957         https://bugs.webkit.org/show_bug.cgi?id=127616
958
959         Reviewed by Brian Burg.
960
961         * UserInterface/Models/CSSCompletions.js:
962         * UserInterface/Models/CSSKeywordCompletions.js:
963         (WebInspector.CSSKeywordCompletions.forProperty):
964         Treat "unset" similiar to "initial". Also, no need for "initial"
965         in an individual property's list. We always include it.
966
967         * UserInterface/Views/VisualStyleDetailsPanel.js:
968         (WebInspector.VisualStyleDetailsPanel):
969         (WebInspector.VisualStyleDetailsPanel.prototype._populateDisplaySection):
970         (WebInspector.VisualStyleDetailsPanel.prototype._populateAlignmentSection):
971         Add "Unset" alongside "Initial".
972
973 2015-10-14  Joseph Pecoraro  <pecoraro@apple.com>
974
975         Web Inspector: Include Garbage Collection Event in Timeline
976         https://bugs.webkit.org/show_bug.cgi?id=142510
977
978         Reviewed by Geoffrey Garen and Brian Burg.
979
980         * UserInterface/Base/Utilities.js:
981         (Array.prototype.partition):
982         Helper to partition an Array into two arrays.
983
984         * Localizations/en.lproj/localizedStrings.js:
985         * UserInterface/Base/Main.js:
986         (WebInspector.loaded):
987         * UserInterface/Test.html:
988         * UserInterface/Test/Test.js:
989         (WebInspector.loaded):
990         * UserInterface/Protocol/HeapObserver.js: Added.
991         (WebInspector.HeapObserver.prototype.garbageCollected):
992         (WebInspector.HeapObserver):
993         Create the new observer and manager.
994
995         * UserInterface/Models/GarbageCollection.js: Added.
996         (WebInspector.GarbageCollection):
997         (WebInspector.GarbageCollection.fromPayload):
998         (WebInspector.GarbageCollection.prototype.get type):
999         (WebInspector.GarbageCollection.prototype.get startTime):
1000         (WebInspector.GarbageCollection.prototype.get endTime):
1001         (WebInspector.GarbageCollection.prototype.get duration):
1002         Model object for Heap.GarbageCollection.
1003
1004         * UserInterface/Controllers/HeapManager.js: Added.
1005         (WebInspector.HeapManager):
1006         (WebInspector.HeapManager.prototype.garbageCollected):
1007         Dispatch events with the GC object.
1008
1009         * UserInterface/Controllers/TimelineManager.js:
1010         (WebInspector.TimelineManager):
1011         (WebInspector.TimelineManager.prototype._garbageCollected):
1012         Include new GC Timeline Events as Script events.
1013
1014         * UserInterface/Views/ScriptTimelineOverviewGraph.js:
1015         (WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout):
1016         For the Script overview, make two sets of bars, one for Scripts and one for GCs.
1017         The GCs bar will be overlaid on top of the the Scripts bar. This is particularly
1018         useful since a GC can happen during script execution.
1019
1020         * UserInterface/Images/TimelineRecordGarbageCollection.svg: Added.
1021         * UserInterface/Main.html:
1022         * UserInterface/Models/ScriptTimelineRecord.js:
1023         (WebInspector.ScriptTimelineRecord.prototype.isGarbageCollection):
1024         (WebInspector.ScriptTimelineRecord.EventType.displayName):
1025         * UserInterface/Views/ScriptTimelineDataGridNode.js:
1026         (WebInspector.ScriptTimelineDataGridNode.prototype.get data):
1027         (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent):
1028         (WebInspector.ScriptTimelineDataGridNode):
1029         * UserInterface/Views/ScriptTimelineView.js:
1030         (WebInspector.ScriptTimelineView.prototype._processPendingRecords):
1031         * UserInterface/Views/SourceCodeTimelineTreeElement.js:
1032         (WebInspector.SourceCodeTimelineTreeElement):
1033         * UserInterface/Views/TimelineIcons.css:
1034         (.garbage-collection-profile-record .icon):
1035         * UserInterface/Views/TimelineRecordBar.css:
1036         (.timeline-record-bar.timeline-record-type-script.script-timeline-record-garbage-collected > .segment):
1037         UI for GC events.
1038
1039         * UserInterface/Views/TimelineRecordBar.js:
1040         (WebInspector.TimelineRecordBar.createCombinedBars):
1041         Simplify by storing start time into a variable.
1042
1043         * UserInterface/Views/TimelineRecordTreeElement.js:
1044         (WebInspector.TimelineRecordTreeElement):
1045         Icon for GC events.
1046
1047 2015-10-15  Commit Queue  <commit-queue@webkit.org>
1048
1049         Unreviewed, rolling out r191135.
1050         https://bugs.webkit.org/show_bug.cgi?id=150197
1051
1052         This patch causes 50+ LayoutTest crashes related to the
1053         inspector (Requested by ryanhaddad on #webkit).
1054
1055         Reverted changeset:
1056
1057         "Web Inspector: JavaScriptCore should parse sourceURL and
1058         sourceMappingURL directives"
1059         https://bugs.webkit.org/show_bug.cgi?id=150096
1060         http://trac.webkit.org/changeset/191135
1061
1062 2015-10-15  Joseph Pecoraro  <pecoraro@apple.com>
1063
1064         Web Inspector: JavaScriptCore should parse sourceURL and sourceMappingURL directives
1065         https://bugs.webkit.org/show_bug.cgi?id=150096
1066
1067         Reviewed by Geoffrey Garen.
1068
1069         * UserInterface/Test/InspectorProtocol.js:
1070         (InspectorProtocol._sendMessage):
1071         (InspectorProtocol.dispatchMessageFromBackend):
1072         This is only used for tests, so avoid console.log
1073         and just dump directly to the system console.
1074
1075 2015-10-13  João Oliveira  <hello@jxs.pt>
1076
1077         Web Inspector: Console SearchBar should work more like ContentBrowser FindBanner
1078         https://bugs.webkit.org/show_bug.cgi?id=149505
1079
1080         Reviewed by Joseph Pecoraro.
1081
1082         Console tab now uses findBanner, adapted LogContentView to use findBanner,
1083         and findBanner to be more agnostic to both usecases, either as fixed, on console tab,
1084         and hideable on other inspector tabs.
1085
1086         * UserInterface/Views/FindBanner.css:
1087         (.find-banner.console-find-banner):
1088         (.find-banner.console-findbanner input[type="search"]):
1089         * UserInterface/Views/FindBanner.js:
1090         (WebInspector.FindBanner):
1091         (WebInspector.FindBanner.set targetElement.delayedWork):
1092         (WebInspector.FindBanner.prototype.set targetElement):
1093         (WebInspector.FindBanner.prototype.get showing):
1094         (WebInspector.FindBanner.prototype.focus):
1095         (WebInspector.FindBanner.prototype._clearAndBlur):
1096         (WebInspector.FindBanner.prototype.show.delayedWork):
1097         (WebInspector.FindBanner.prototype.show):
1098         (WebInspector.FindBanner.prototype.hide):
1099         (WebInspector.FindBanner.prototype.get element): Deleted.
1100         (WebInspector.FindBanner.prototype._inputFieldSearch): Deleted.
1101         * UserInterface/Views/LogContentView.js:
1102         (WebInspector.LogContentView):
1103         (WebInspector.LogContentView.prototype.get navigationItems):
1104         (WebInspector.LogContentView.prototype.handleFindEvent):
1105         (WebInspector.LogContentView.prototype.findBannerRevealPreviousResult):
1106         (WebInspector.LogContentView.prototype.findBannerRevealNextResult):
1107         (WebInspector.LogContentView.prototype._filterMessageElements):
1108         (WebInspector.LogContentView.prototype.findBannerPerformSearch):
1109         (WebInspector.LogContentView.prototype.findBannerSearchCleared):
1110         (WebInspector.LogContentView.prototype.revealNextSearchResult):
1111         (WebInspector.LogContentView.prototype.revealPreviousSearchResult):
1112         (WebInspector.LogContentView.prototype._performSearch):
1113         (WebInspector.LogContentView.prototype.searchBarDidActivate): Deleted.
1114         (WebInspector.LogContentView.prototype._searchTextDidChange): Deleted.
1115
1116 2015-10-13  Nikita Vasilyev  <nvasilyev@apple.com>
1117
1118         REGRESSION(r189567): Web Inspector: Clipped filter icons when debugger sidebar is narrow
1119         https://bugs.webkit.org/show_bug.cgi?id=150023
1120
1121         r189567 changed flexbox items' default min-width from 0 to auto.
1122         Explicitly set it to 0 in CSS.
1123
1124         Reviewed by Brian Burg.
1125
1126         * UserInterface/Views/FilterBar.css:
1127         (.filter-bar > input[type="search"]):
1128
1129 2015-10-13  Yusuke Suzuki  <utatane.tea@gmail.com>
1130
1131         Web Inspector: Don't shadow global Object constructor in WebInspector.Object class definition
1132         https://bugs.webkit.org/show_bug.cgi?id=150093
1133
1134         Reviewed by Joseph Pecoraro.
1135
1136         Currently, class expression does not define any variables. So even in `class Object { }`,
1137         we were able to touch the global Object constructor (like `Object.keys`).
1138         However, that is a bug. After https://bugs.webkit.org/show_bug.cgi?id=150089 fixes that bug,
1139         the global `Object` is shadowed by the user-defined `class Object` name.
1140
1141         To solve this issue, we changed the `class Object` to `class WebInspectorObject`.
1142         And we expose this class as a `WebInspector.Object`.
1143
1144         * UserInterface/Base/Object.js:
1145
1146 2015-10-10  Nikita Vasilyev  <nvasilyev@apple.com>
1147
1148         Web Inspector: Improve error messages for internal Inspector code
1149         https://bugs.webkit.org/show_bug.cgi?id=149995
1150
1151         Don't log "error.stack" since the error view already includes a nicely formatted stacktrace.
1152
1153         Reviewed by Timothy Hatcher.
1154
1155         * UserInterface/Protocol/InspectorBackend.js:
1156         (InspectorBackendClass.prototype._dispatchResponseToCallback):
1157         (InspectorBackendClass.prototype._dispatchEvent):
1158
1159 2015-10-08  Nikita Vasilyev  <nvasilyev@apple.com>
1160
1161         Web Inspector: Stack trace view doesn't properly display lines without function names
1162         https://bugs.webkit.org/show_bug.cgi?id=149922
1163
1164         Reviewed by Timothy Hatcher.
1165
1166         * UserInterface/Models/StackTrace.js:
1167         (WebInspector.StackTrace._parseStackTrace):
1168         (WebInspector.StackTrace._parseLocation): Added.
1169
1170 2015-10-08  Nikita Vasilyev  <nvasilyev@apple.com>
1171
1172         Web Inspector: An error view doesn't get expanded by clicking on the expand arrow
1173         https://bugs.webkit.org/show_bug.cgi?id=149917
1174
1175         Reviewed by Timothy Hatcher.
1176
1177         * UserInterface/Views/ErrorObjectView.css:
1178         (.error-object > .formatted-error::before):
1179         (.error-object.expanded > .formatted-error::before):
1180         (.error-object::before): Deleted.
1181         (.error-object.expanded::before): Deleted.
1182
1183 2015-10-06  Nikita Vasilyev  <nvasilyev@apple.com>
1184
1185         Web Inspector: Clicking on a stack trace link does not navigate to the corresponding line
1186         https://bugs.webkit.org/show_bug.cgi?id=149405
1187
1188         lineNumber should be a number type but it was a string.
1189
1190         Reviewed by Timothy Hatcher.
1191
1192         * UserInterface/Base/Main.js:
1193         (WebInspector.openURL):
1194         (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
1195         Keep lineNumber undefined when it isn't present in the string.
1196         WebInspector.linkifyStringAsFragmentWithCustomLinkifier is only used by
1197         WebInspector.linkifyStringAsFragment and it expects lineNumber to be undefined
1198         when it wasn't found in the parsed string.
1199
1200 2015-10-06  Devin Rousso  <dcrousso+webkit@gmail.com>
1201
1202         Web Inspector: Fix spacing of FindBanner prev/next buttons
1203         https://bugs.webkit.org/show_bug.cgi?id=149717
1204
1205         Reviewed by Darin Adler.
1206
1207         The sizing and spacing of the previous and next buttons in the FindBanner
1208         is slightly off and should be readjusted to ensure that both buttons are
1209         the same size and have the same spacing.
1210
1211         * UserInterface/Views/FindBanner.css:
1212         (.find-banner > button.segmented.right > .glyph):
1213         (.find-banner > button.segmented):
1214         (.find-banner > button.segmented > .glyph):
1215         (.find-banner > button.segmented.left): Deleted.
1216         (.find-banner > button.segmented.left > .glyph): Deleted.
1217         (.find-banner > button.segmented.right): Deleted.
1218
1219 2015-10-06  Joseph Pecoraro  <pecoraro@apple.com>
1220
1221         Web Inspector: Simplify TimelineRecordBar a bit
1222         https://bugs.webkit.org/show_bug.cgi?id=149733
1223
1224         Reviewed by Timothy Hatcher.
1225
1226         * UserInterface/Views/TimelineRecordBar.js:
1227         (WebInspector.TimelineRecordBar.prototype.set records):
1228
1229 2015-10-05  Nikita Vasilyev  <nvasilyev@apple.com>
1230
1231         Web Inspector: Error displayed as an object when passed as a second argument to console.log
1232         https://bugs.webkit.org/show_bug.cgi?id=149799
1233
1234         Reviewed by Joseph Pecoraro.
1235
1236         * UserInterface/Views/ConsoleMessageView.js:
1237         (WebInspector.ConsoleMessageView.prototype._appendExtraParameters):
1238         Don't format errors as objects.
1239
1240         (WebInspector.ConsoleMessageView.prototype._formatParameter):
1241         (WebInspector.ConsoleMessageView.prototype._formatParameterAsValue):
1242         (WebInspector.ConsoleMessageView.prototype._formatParameterAsString):
1243         (WebInspector.ConsoleMessageView.prototype._formatParameterAsNode):
1244         (WebInspector.ConsoleMessageView.prototype._formatParameterAsObject):
1245         (WebInspector.ConsoleMessageView.prototype._formatParameterAsError):
1246         (WebInspector.ConsoleMessageView.prototype._formatParameterAsArray):
1247         Replace an unnecessary span element with a document fragment.
1248
1249         * UserInterface/Views/ErrorObjectView.css:
1250         (.error-object):
1251         Display an error object on the same line as a list bullet.
1252
1253 2015-10-05  Myles C. Maxfield  <mmaxfield@apple.com>
1254
1255         Unprefix -webkit-font-feature-settings
1256         https://bugs.webkit.org/show_bug.cgi?id=149722
1257
1258         Reviewed by Sam Weinig.
1259
1260         * UserInterface/Models/CSSKeywordCompletions.js:
1261
1262 2015-10-04  Nikita Vasilyev  <nvasilyev@apple.com>
1263
1264         Web Inspector: Wrong column numbers in error object views
1265         https://bugs.webkit.org/show_bug.cgi?id=149795
1266
1267         Convert columnNumber and lineNumber properties from strings to numbers
1268         to prevent accidental string concatenations.
1269
1270         Reviewed by Timothy Hatcher.
1271
1272         * UserInterface/Models/StackTrace.js:
1273         (WebInspector.StackTrace._parseStackTrace):
1274
1275 2015-10-02  Matt Baker  <mattbaker@apple.com>
1276
1277         Web Inspector: Add breakpoint option to ignore n times before stopping
1278         https://bugs.webkit.org/show_bug.cgi?id=147664
1279
1280         Reviewed by Timothy Hatcher.
1281
1282         * Localizations/en.lproj/localizedStrings.js:
1283         New strings for breakpoint popover labels.
1284
1285         * UserInterface/Controllers/BreakpointPopoverController.js:
1286         (WebInspector.BreakpointPopoverController.prototype._createPopoverContent):
1287         Add ignoreCount UI to popover, if backend support exists. UI based on same
1288         feature in Xcode's breakpoint editing dialog.
1289         (WebInspector.BreakpointPopoverController.prototype._popoverIgnoreInputChanged):
1290         User input sanity checks on numeric input.
1291
1292         * UserInterface/Controllers/DebuggerManager.js:
1293         Listen for changes to breakpoint ignoreCount property.
1294
1295         * UserInterface/Models/Breakpoint.js:
1296         (WebInspector.Breakpoint):
1297         (WebInspector.Breakpoint.prototype.get ignoreCount):
1298         (WebInspector.Breakpoint.prototype.set ignoreCount):
1299         New property for ignoreCount.
1300         (WebInspector.Breakpoint.prototype.get options):
1301         Added ignoreCount to options object.
1302         (WebInspector.Breakpoint.prototype.get info):
1303         Added ignoreCount to info object.
1304
1305         * UserInterface/Views/BreakpointPopoverController.css:
1306         (#edit-breakpoint-popover-ignore):
1307         New styles for breakpoint popover.
1308
1309 2015-10-02  Matt Baker  <mattbaker@apple.com>
1310
1311         Web Inspector: Cleanup DebuggerManager, reduce `delete` and use Maps instead of objects
1312         https://bugs.webkit.org/show_bug.cgi?id=149760
1313
1314         Reviewed by Joseph Pecoraro.
1315
1316         Replaced objects used as hashmaps with Map.
1317
1318         * UserInterface/Controllers/DebuggerManager.js:
1319         (WebInspector.DebuggerManager.prototype.breakpointsForSourceCode):
1320         (WebInspector.DebuggerManager.prototype.breakpointForIdentifier):
1321         (WebInspector.DebuggerManager.prototype.scriptForIdentifier):
1322         (WebInspector.DebuggerManager.prototype.scriptsForURL):
1323         (WebInspector.DebuggerManager.prototype.get knownNonResourceScripts):
1324         (WebInspector.DebuggerManager.prototype.removeBreakpoint):
1325         (WebInspector.DebuggerManager.prototype.breakpointResolved):
1326         (WebInspector.DebuggerManager.prototype.reset):
1327         (WebInspector.DebuggerManager.prototype.scriptDidParse):
1328         (WebInspector.DebuggerManager.prototype._sourceCodeLocationFromPayload):
1329         (WebInspector.DebuggerManager.prototype._setBreakpoint.didSetBreakpoint):
1330         (WebInspector.DebuggerManager.prototype._setBreakpoint):
1331         (WebInspector.DebuggerManager.prototype._removeBreakpoint.didRemoveBreakpoint):
1332         (WebInspector.DebuggerManager.prototype._removeBreakpoint):
1333
1334 2015-10-02  Devin Rousso  <dcrousso+webkit@gmail.com>
1335
1336         Web Inspector: Copying inline style text puts "undefined" in the pasteboard
1337         https://bugs.webkit.org/show_bug.cgi?id=149155
1338
1339         Reviewed by Brian Burg.
1340
1341         CSSStyleDeclarations for inline styles do not have a owner CSSRule, which means
1342         that they do not have a selector or media list. CSS strings must have a selector
1343         and, for inline styles without an owner rule and selector, this was a problem.
1344
1345         * UserInterface/Models/CSSStyleDeclaration.js:
1346         (WebInspector.CSSStyleDeclaration.prototype.get mediaList):
1347         (WebInspector.CSSStyleDeclaration.prototype.get selectorText):
1348         (WebInspector.CSSStyleDeclaration.prototype.generateCSSRuleString):
1349         Added getters for the list of media queries and selector text with fallbacks
1350         for CSSStyleDeclarations that do not have an owner CSSRule (inline styles).
1351
1352         * UserInterface/Test.html:
1353         Added CSSMedia include for new inspector/css/generate-css-rule-string.html test.
1354
1355         * UserInterface/Views/VisualStyleSelectorTreeItem.js:
1356         (WebInspector.VisualStyleSelectorTreeItem.prototype._handleContextMenuEvent):
1357         Removed parameter that no longer exists.
1358
1359 2015-10-02  Joseph Pecoraro  <pecoraro@apple.com>
1360
1361         Unreviewed, rolling out r190520, some tests assert / crash.
1362
1363         * Localizations/en.lproj/localizedStrings.js:
1364         * UserInterface/Base/Main.js:
1365         (WebInspector.loaded): Deleted.
1366         * UserInterface/Base/Utilities.js:
1367         (value): Deleted.
1368         * UserInterface/Controllers/HeapManager.js: Removed.
1369         * UserInterface/Controllers/TimelineManager.js:
1370         (WebInspector.TimelineManager): Deleted.
1371         (WebInspector.TimelineManager.prototype._garbageCollected): Deleted.
1372         * UserInterface/Images/TimelineRecordGarbageCollection.svg: Removed.
1373         * UserInterface/Main.html:
1374         * UserInterface/Models/GarbageCollection.js: Removed.
1375         * UserInterface/Models/ScriptTimelineRecord.js:
1376         (WebInspector.ScriptTimelineRecord.EventType.displayName):
1377         (WebInspector.ScriptTimelineRecord.prototype.isGarbageCollection): Deleted.
1378         * UserInterface/Protocol/HeapObserver.js: Removed.
1379         * UserInterface/Test.html:
1380         * UserInterface/Test/Test.js:
1381         (WebInspector.loaded): Deleted.
1382         * UserInterface/Views/ScriptTimelineDataGridNode.js:
1383         (WebInspector.ScriptTimelineDataGridNode.prototype.get data):
1384         (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent): Deleted.
1385         (WebInspector.ScriptTimelineDataGridNode): Deleted.
1386         * UserInterface/Views/ScriptTimelineOverviewGraph.js:
1387         (WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout):
1388         * UserInterface/Views/ScriptTimelineView.js:
1389         (WebInspector.ScriptTimelineView.prototype._processPendingRecords):
1390         * UserInterface/Views/SourceCodeTimelineTreeElement.js:
1391         (WebInspector.SourceCodeTimelineTreeElement):
1392         * UserInterface/Views/TimelineIcons.css:
1393         (.garbage-collection-profile-record .icon): Deleted.
1394         * UserInterface/Views/TimelineRecordBar.css:
1395         (.timeline-record-bar.timeline-record-type-script.script-timeline-record-garbage-collected > .segment): Deleted.
1396         * UserInterface/Views/TimelineRecordBar.js:
1397         (WebInspector.TimelineRecordBar.createCombinedBars):
1398         * UserInterface/Views/TimelineRecordTreeElement.js:
1399         (WebInspector.TimelineRecordTreeElement):
1400
1401 2015-10-02  Devin Rousso  <dcrousso+webkit@gmail.com>
1402
1403         Web Inspector: Option-Click on a property name in the Computed view should jump to resource view
1404         https://bugs.webkit.org/show_bug.cgi?id=149521
1405
1406         Reviewed by Timothy Hatcher.
1407
1408         * UserInterface/Models/DOMNodeStyles.js:
1409         (WebInspector.DOMNodeStyles.prototype.effectivePropertyForName):
1410         Now tries to search for a non-canonical property before falling back to
1411         the canonical version.
1412
1413         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1414         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded):
1415         If the user option-clicks the goto arrow, it shows the source for the
1416         property instead.
1417
1418         * UserInterface/Views/ComputedStyleDetailsPanel.js:
1419         (WebInspector.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorShowProperty.delegateShowProperty):
1420         (WebInspector.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorShowProperty):
1421         Attempts to show the source of the given property. Will fallback to
1422         highlighting the property in the rules panel.
1423
1424 2015-10-02  Joseph Pecoraro  <pecoraro@apple.com>
1425
1426         Web Inspector: Include Garbage Collection Event in Timeline
1427         https://bugs.webkit.org/show_bug.cgi?id=142510
1428
1429         Reviewed by Geoffrey Garen.
1430
1431         * UserInterface/Base/Utilities.js:
1432         (Array.prototype.parition):
1433         Helper to partition an Array into two arrays.
1434
1435         * UserInterface/Main.html:
1436         * Localizations/en.lproj/localizedStrings.js:
1437         * UserInterface/Base/Main.js:
1438         (WebInspector.loaded):
1439         * UserInterface/Test.html:
1440         * UserInterface/Test/Test.js:
1441         (WebInspector.loaded):
1442         * UserInterface/Protocol/HeapObserver.js:
1443         (WebInspector.HeapObserver.prototype.garbageCollected):
1444         (WebInspector.HeapObserver):
1445         Create the new observer and manager.
1446
1447         * UserInterface/Models/GarbageCollection.js:
1448         (WebInspector.GarbageCollection):
1449         (WebInspector.GarbageCollection.fromPayload):
1450         (WebInspector.GarbageCollection.prototype.get type):
1451         (WebInspector.GarbageCollection.prototype.get startTime):
1452         (WebInspector.GarbageCollection.prototype.get endTime):
1453         (WebInspector.GarbageCollection.prototype.get duration):
1454         Model object for Heap.GarbageCollection.
1455
1456         * UserInterface/Controllers/HeapManager.js:
1457         (WebInspector.HeapManager):
1458         (WebInspector.HeapManager.prototype.garbageCollected):
1459         Dispatch events with.
1460
1461         * UserInterface/Controllers/TimelineManager.js:
1462         (WebInspector.TimelineManager):
1463         (WebInspector.TimelineManager.prototype._garbageCollected):
1464         Include new GC Timeline Events as Script events.
1465
1466         * UserInterface/Views/ScriptTimelineOverviewGraph.js:
1467         (WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout):
1468         For the Script overview, make two sets of bars, one for Scripts and one for GCs.
1469         The GCs bar will be on top of the the Scripts bar. This is particularly useful
1470         since a GC can happen during script execution.
1471
1472         * UserInterface/Views/ScriptTimelineDataGridNode.js:
1473         (WebInspector.ScriptTimelineDataGridNode.prototype.get data):
1474         (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent):
1475         (WebInspector.ScriptTimelineDataGridNode):
1476         Give a NaN call count to top level Script DataGridNodes.
1477         In the UI, display the empty placeholder for NaN call counts.
1478
1479         * UserInterface/Images/TimelineRecordGarbageCollection.svg: Added.
1480         * UserInterface/Models/ScriptTimelineRecord.js:
1481         (WebInspector.ScriptTimelineRecord.prototype.isGarbageCollection):
1482         (WebInspector.ScriptTimelineRecord.EventType.displayName):
1483         * UserInterface/Views/ScriptTimelineView.js:
1484         (WebInspector.ScriptTimelineView.prototype._processPendingRecords):
1485         * UserInterface/Views/SourceCodeTimelineTreeElement.js:
1486         (WebInspector.SourceCodeTimelineTreeElement):
1487         * UserInterface/Views/TimelineIcons.css:
1488         (.garbage-collection-profile-record .icon):
1489         * UserInterface/Views/TimelineRecordBar.css:
1490         (.timeline-record-bar.timeline-record-type-script.script-timeline-record-garbage-collected > .segment):
1491         UI for GC events.
1492
1493         * UserInterface/Views/TimelineRecordBar.js:
1494         (WebInspector.TimelineRecordBar.createCombinedBars):
1495         Simplify by storing start time into a variable.
1496
1497         * UserInterface/Views/TimelineRecordTreeElement.js:
1498         (WebInspector.TimelineRecordTreeElement):
1499         Icon for GC events.
1500
1501 2015-10-02  Nikita Vasilyev  <nvasilyev@apple.com>
1502
1503         Web Inspector: Fix indentation of console message parameters
1504         https://bugs.webkit.org/show_bug.cgi?id=149740
1505
1506         Reviewed by Darin Adler.
1507
1508         * UserInterface/Views/ConsoleMessageView.css:
1509         (.console-message .console-message-stack-trace-container > li):
1510         (.console-message .console-message-extra-parameters-container > li::before):
1511
1512 2015-10-02  Andres Gomez  <agomez@igalia.com>
1513
1514         [GTK] Web Inspector: Add GTK+ icons for new plus icons in the style sidebar
1515         https://bugs.webkit.org/show_bug.cgi?id=149227
1516
1517         Reviewed by Carlos Garcia Campos.
1518
1519         * UserInterface/Images/gtk/NewTabPlus.svg: Updated.
1520         * UserInterface/Images/gtk/Plus13.svg: Copied from Source/WebInspectorUI/UserInterface/Images/gtk/Plus.svg.
1521         * UserInterface/Images/gtk/Plus15.svg: Renamed from Source/WebInspectorUI/UserInterface/Images/gtk/Plus.svg.
1522
1523 2015-10-01  Joseph Pecoraro  <pecoraro@apple.com>
1524
1525         Web Inspector: Simplify filterableData processing
1526         https://bugs.webkit.org/show_bug.cgi?id=149730
1527
1528         Reviewed by Timothy Hatcher.
1529
1530         * UserInterface/Views/BreakpointTreeElement.js:
1531         (WebInspector.BreakpointTreeElement.prototype.get filterableData):
1532         * UserInterface/Views/NavigationSidebarPanel.js:
1533         (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.matchTextFilter):
1534         * UserInterface/Views/ResourceTreeElement.js:
1535         (WebInspector.ResourceTreeElement.prototype.get filterableData):
1536         * UserInterface/Views/ScriptTimelineView.js:
1537         (WebInspector.ScriptTimelineView.prototype.matchTreeElementAgainstCustomFilters): Deleted.
1538         * UserInterface/Views/SearchResultTreeElement.js:
1539         (WebInspector.SearchResultTreeElement.prototype.get filterableData):
1540         (WebInspector.SearchResultTreeElement):
1541
1542 2015-10-01  Joseph Pecoraro  <pecoraro@apple.com>
1543
1544         Web Inspector: Do not immediately create all ProfileNodeTreeElements when showing JavaScript and Events timeline
1545         https://bugs.webkit.org/show_bug.cgi?id=149726
1546
1547         Reviewed by Timothy Hatcher.
1548
1549         * UserInterface/Views/NavigationSidebarPanel.js:
1550         (WebInspector.NavigationSidebarPanel.prototype.shouldFilterPopulate):
1551         (WebInspector.NavigationSidebarPanel.prototype._updateFilter):
1552         (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
1553         We were populating during filtering if there were any custom filters.
1554         However the TimelineSidebarPanel has custom filters (based on time and type)
1555         but those don't need to trigger population. Delay population until it
1556         would actually be needed (like a text search).
1557
1558         * UserInterface/Views/TimelineSidebarPanel.js:
1559         (WebInspector.TimelineSidebarPanel.prototype.shouldFilterPopulate):
1560         Do not populate on filter via this custom filters.
1561
1562 2015-10-01  Matt Baker  <mattbaker@apple.com>
1563
1564         Web Inspector: REGRESSION (r189567): Toolbar collapses when inspector at minimum height with console open
1565         https://bugs.webkit.org/show_bug.cgi?id=149725
1566
1567         Reviewed by Timothy Hatcher.
1568
1569         CSS Flexible Box Layout Module Level 1 introduces a new `auto` initial value for the min-{width|height}
1570         of flex box items, breaking some areas of the inspector UI. This is fixed by setting a min-height of
1571         zero for the #main <div>.
1572
1573         * UserInterface/Views/Main.css:
1574         (#main):
1575
1576 2015-10-01  Nikita Vasilyev  <nvasilyev@apple.com>
1577
1578         Web Inspector: Clip string previews
1579         https://bugs.webkit.org/show_bug.cgi?id=149708
1580
1581         Only show first 140 characters in strings previews.
1582
1583         Reviewed by Joseph Pecoraro.
1584
1585         * UserInterface/Base/Utilities.js:
1586         (String.prototype.truncate): Added.
1587         A smart trancate function that doesn't split words.
1588
1589         * UserInterface/Views/ConsoleMessageView.js:
1590         (WebInspector.ConsoleMessageView.prototype._shouldConsiderObjectLossless):
1591         * UserInterface/Views/FormattedValue.js:
1592         (WebInspector.FormattedValue.createElementForTypesAndValue):
1593
1594 2015-09-30  João Oliveira  <hello@jxs.pt>
1595
1596         Web Inspector: Adjust font size of Developer Tools using Command,+ or Command,-
1597         https://bugs.webkit.org/show_bug.cgi?id=149590
1598
1599         Reviewed by Joseph Pecoraro.
1600
1601         Patch by João Oliveira and Brian Burg.
1602
1603         * UserInterface/Base/Main.js:
1604         (WebInspector.contentLoaded): Add global keyboard shortcuts for zoom in and zoom out.
1605
1606 2015-10-01  Andres Gomez  <agomez@igalia.com>
1607
1608         [GTK] Web Inspector: Add GTK+ icons for the numerical input and slider based Visual editors for CSS properties
1609         https://bugs.webkit.org/show_bug.cgi?id=147847
1610
1611         Reviewed by Carlos Garcia Campos.
1612
1613         * UserInterface/Images/gtk/VisualStylePropertyLinked.svg: Added.
1614         * UserInterface/Images/gtk/VisualStylePropertyUnlinked.svg: Added.
1615
1616 2015-10-01  Andres Gomez  <agomez@igalia.com>
1617
1618         [GTK] Web Inspector: Add GTK+ icons for the different types of non-numerical Visual editors for CSS properties
1619         https://bugs.webkit.org/show_bug.cgi?id=147846
1620
1621         Reviewed by Carlos Garcia Campos.
1622
1623         * UserInterface/Images/gtk/AUTHORS: Updated.
1624         * UserInterface/Images/gtk/ClearBoth.svg: Added.
1625         * UserInterface/Images/gtk/ClearLeft.svg: Added.
1626         * UserInterface/Images/gtk/ClearRight.svg: Added.
1627         * UserInterface/Images/gtk/CubicBezier.svg: Updated.
1628         * UserInterface/Images/gtk/FloatLeft.svg: Added.
1629         * UserInterface/Images/gtk/FloatRight.svg: Added.
1630         * UserInterface/Images/gtk/FontStyleItalic.svg: Added.
1631         * UserInterface/Images/gtk/FontStyleNormal.svg: Added.
1632         * UserInterface/Images/gtk/FontVariantSmallCaps.svg: Added.
1633         * UserInterface/Images/gtk/TextAlignCenter.svg: Added.
1634         * UserInterface/Images/gtk/TextAlignJustify.svg: Added.
1635         * UserInterface/Images/gtk/TextAlignLeft.svg: Added.
1636         * UserInterface/Images/gtk/TextAlignRight.svg: Added.
1637         * UserInterface/Images/gtk/TextDecorationLineThrough.svg: Added.
1638         * UserInterface/Images/gtk/TextDecorationOverline.svg: Added.
1639         * UserInterface/Images/gtk/TextDecorationUnderline.svg: Added.
1640         * UserInterface/Images/gtk/TextTransformCapitalize.svg: Added.
1641         * UserInterface/Images/gtk/TextTransformLowercase.svg: Added.
1642         * UserInterface/Images/gtk/TextTransformUppercase.svg: Added.
1643         * UserInterface/Images/gtk/VisualStyleNone.svg: Added.
1644
1645 2015-09-30  Joseph Pecoraro  <pecoraro@apple.com>
1646
1647         Web Inspector: Reduce `delete` in Timeline related classes
1648         https://bugs.webkit.org/show_bug.cgi?id=149686
1649
1650         Reviewed by Timothy Hatcher.
1651
1652         * UserInterface/Controllers/TimelineManager.js:
1653         (WebInspector.TimelineManager.prototype.capturingStopped):
1654         * UserInterface/Views/TimelineDataGrid.js:
1655         (WebInspector.TimelineDataGrid.prototype._refreshDirtyDataGridNodes):
1656         (WebInspector.TimelineDataGrid.prototype._sort):
1657         (WebInspector.TimelineDataGrid.prototype._updatePopoverForSelectedNode):
1658         * UserInterface/Views/TimelineOverview.js:
1659         (WebInspector.TimelineOverview.prototype.updateLayout):
1660         (WebInspector.TimelineOverview.prototype._handleScrollEvent):
1661         * UserInterface/Views/TreeOutlineDataGridSynchronizer.js:
1662         (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeOutlineScrolled):
1663         (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridScrolled):
1664
1665         * UserInterface/Views/ProbeSetDataGrid.js:
1666         (WebInspector.ProbeSetDataGrid):
1667         (WebInspector.ProbeSetDataGrid.prototype._teardownData):
1668         Remove an unused member variable as well.
1669
1670 2015-09-30  Joseph Pecoraro  <pecoraro@apple.com>
1671
1672         Web Inspector: Thousands of timers fire after switching to JavaScript and Events timeline
1673         https://bugs.webkit.org/show_bug.cgi?id=149682
1674
1675         Reviewed by Timothy Hatcher.
1676
1677         Setting the status element of a GeneralTreeElement was triggering a
1678         TreeOutline.onchange event. For TreeOutlines with lots of tree elements
1679         (JavaScript & Events with profile nodes) this could result in thousands
1680         of onchange events that causes lots of unnecessary work and blocks
1681         future timers (like scroll synchronization) from firing.
1682
1683         This change eliminates TreeOutline change events for tree element
1684         changes that are not interesting.
1685
1686         * UserInterface/Views/GeneralTreeElement.js:
1687         (WebInspector.GeneralTreeElement.prototype.set status): Deleted.
1688         * UserInterface/Views/TreeOutline.js:
1689         (WebInspector.TreeElement.prototype.set tooltip): Deleted.
1690
1691 2015-09-30  Joseph Pecoraro  <pecoraro@apple.com>
1692
1693         Web Inspector: Reduce `delete` in TreeElements and DataGridNodes
1694         https://bugs.webkit.org/show_bug.cgi?id=149680
1695
1696         Reviewed by Timothy Hatcher.
1697
1698         * UserInterface/Views/BreakpointTreeElement.js:
1699         (WebInspector.BreakpointTreeElement):
1700         (WebInspector.BreakpointTreeElement.prototype._removeProbeSet):
1701         * UserInterface/Views/DataGrid.js:
1702         (WebInspector.DataGrid.prototype._editingCommitted.moveToNextCell):
1703         (WebInspector.DataGrid.prototype._editingCommitted):
1704         (WebInspector.DataGrid.prototype._editingCancelled):
1705         (WebInspector.DataGrid.prototype.removeColumn):
1706         (WebInspector.DataGridNode.prototype.refreshIfNeeded):
1707         (WebInspector.DataGridNode.prototype.refresh):
1708         (WebInspector.DataGridNode.prototype.expand):
1709         (WebInspector.DataGridNode.prototype.restorePosition):
1710         (WebInspector.DataGridNode):
1711         * UserInterface/Views/GeneralTreeElement.js:
1712         (WebInspector.GeneralTreeElement.prototype.ondetach):
1713         * UserInterface/Views/ResourceTimelineDataGridNode.js:
1714         (WebInspector.ResourceTimelineDataGridNode.prototype.refresh):
1715         * UserInterface/Views/TreeOutline.js:
1716         (WebInspector.TreeElement.prototype._fireDidChange):
1717         (WebInspector.TreeElement.prototype.expand):
1718
1719 2015-09-30  Andres Gomez  <agomez@igalia.com>
1720
1721         [GTK] Web Inspector: Add GTK+ icon for the Bezier curve visual editor
1722         https://bugs.webkit.org/show_bug.cgi?id=147681
1723
1724         Reviewed by Joseph Pecoraro.
1725
1726         * UserInterface/Images/gtk/CubicBezier.svg: Added.
1727
1728 2015-09-29  Joseph Pecoraro  <pecoraro@apple.com>
1729
1730         Web Inspector: Console completion suggestions should include properties on Object (hasOwnProperty, toString, etc)
1731         https://bugs.webkit.org/show_bug.cgi?id=149649
1732
1733         Reviewed by Darin Adler.
1734
1735         * UserInterface/Base/Utilities.js:
1736         (value):
1737         Since keySets in this instance are often used as hash maps with the
1738         `in` operator, create a blank object that won't have Object.prototype
1739         functions that would be seen by `in`.
1740
1741         * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
1742         (WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.receivedPropertyNames.compare):
1743         Sort __defineGetter__ and __lookupGetter__ and friends last, since they
1744         are rarely used properties.
1745
1746 2015-09-29  Joseph Pecoraro  <pecoraro@apple.com>
1747
1748         Web Inspector: Missing completions for Symbol objects, console.error warning
1749         https://bugs.webkit.org/show_bug.cgi?id=149641
1750
1751         Reviewed by Darin Adler.
1752
1753         * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
1754         (WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.getCompletions):
1755         (WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.evaluated):
1756         Include completions for symbol types.
1757
1758 2015-09-28  Joseph Pecoraro  <pecoraro@apple.com>
1759
1760         Web Inspector: Hitting ESC while editing element tag name leaves element in bad state
1761         https://bugs.webkit.org/show_bug.cgi?id=149506
1762
1763         Reviewed by Timothy Hatcher.
1764
1765         * UserInterface/Views/DOMTreeElement.js:
1766         (WebInspector.DOMTreeElement.prototype._startEditingTagName.editingCancelled):
1767         (WebInspector.DOMTreeElement.prototype._startEditingTagName):
1768         When cancelling editing of a tag name, revert any changes we had
1769         been making to the closing tag name.
1770
1771 2015-09-28  João Oliveira  <hello@jxs.pt>
1772
1773         Web Inspector: search shortcut in split console moves focus to search box, but doesn't show caret
1774         https://bugs.webkit.org/show_bug.cgi?id=149223
1775
1776         Reviewed by Timothy Hatcher.
1777
1778         When pressing console find shortcut (CMD+F) SearchBar now checks if there's text on _searchInput
1779         if so text is selected, if the textbox is empty, textbox gains focus.
1780
1781         * UserInterface/Views/SearchBar.js:
1782         (WebInspector.SearchBar.prototype.focus):
1783
1784 2015-09-25  Joseph Pecoraro  <pecoraro@apple.com>
1785
1786         Web Inspector: Reloading the page causes the inspector tab to switch back to "Resources" tab
1787         https://bugs.webkit.org/show_bug.cgi?id=148732
1788
1789         Reviewed by Darin Adler.
1790
1791         * UserInterface/Views/ResourceSidebarPanel.js:
1792         (WebInspector.ResourceSidebarPanel.prototype._scriptsCleared):
1793         Suppress selection of sibiling tree elements when removing extra folders.
1794
1795 2015-09-24  Ryosuke Niwa  <rniwa@webkit.org>
1796
1797         Ran sort-Xcode-project-file.
1798
1799         * WebInspectorUI.xcodeproj/project.pbxproj:
1800
1801 2015-09-23  Saam barati  <sbarati@apple.com>
1802
1803         Fix broken inspector tests.
1804
1805         Reviewed by Joseph Pecoraro and Brian Burg.
1806
1807         We can't redeclare a "let" variable and "var" variable using the same
1808         identifier at the top-level of a function.
1809
1810         * UserInterface/Test/InspectorProtocol.js:
1811         (InspectorProtocol.sendCommand):
1812         (InspectorProtocol.addEventListener):
1813         (InspectorProtocol.dispatchMessageFromBackend):
1814
1815 2015-09-23  Saam barati  <sbarati@apple.com>
1816
1817         Web Inspector: Don't use bind() when creating internal AST, instead, pass in "this" parameter to map()
1818         https://bugs.webkit.org/show_bug.cgi?id=149483
1819
1820         Reviewed by Joseph Pecoraro.
1821
1822         * UserInterface/Models/ScriptSyntaxTree.js:
1823         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
1824         (WebInspector.ScriptSyntaxTree):
1825
1826 2015-09-23  Saam barati  <sbarati@apple.com>
1827
1828         Web Inspector: Type bubbles missing for computed methods and methods on object literals
1829         https://bugs.webkit.org/show_bug.cgi?id=148562
1830
1831         Reviewed by Joseph Pecoraro.
1832
1833         This patch makes sure that computed methods are working
1834         for both classes and object literals. Also, methods now
1835         work on object literals. This patch also cleans up the
1836         "isGetterOrSetter" and "getterOrSetterRange" fields.
1837         Basically, we used this as a way to ask the type profiler
1838         for the return types of a function. Now, we just have
1839         a field called "typeProfilingReturnDivot" that is set
1840         on all functions so we don't need to conditionally ask
1841         if it's a getter or setter.
1842
1843         * UserInterface/Controllers/TypeTokenAnnotator.js:
1844         (WebInspector.TypeTokenAnnotator.prototype._insertTypeToken):
1845         * UserInterface/Models/ScriptSyntaxTree.js:
1846         (WebInspector.ScriptSyntaxTree.functionReturnDivot):
1847         (WebInspector.ScriptSyntaxTree.prototype._recurseArray):
1848         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
1849         (WebInspector.ScriptSyntaxTree):
1850
1851 2015-09-22  Devin Rousso  <dcrousso+webkit@gmail.com>
1852
1853         Web Inspector: The right sidebar always opens up on breakpoint
1854         https://bugs.webkit.org/show_bug.cgi?id=149261
1855
1856         Reviewed by Timothy Hatcher.
1857
1858         Whenever the debugger was paused, the sidebar was being forced to open.
1859         This has been removed in favor of letting the user decide.
1860
1861         * UserInterface/Base/Main.js:
1862         (WebInspector._debuggerDidPause):
1863
1864 2015-09-22  Saam barati  <sbarati@apple.com>
1865
1866         Web Inspector: [ES6] Improve Type Profiler Support for Arrow Functions
1867         https://bugs.webkit.org/show_bug.cgi?id=143171
1868
1869         Reviewed by Joseph Pecoraro.
1870
1871         Esprima and JSC both support arrow functions. We just
1872         need to support it in our AST and do the right things
1873         to include support in the type profiler bits.
1874
1875         * UserInterface/Controllers/TypeTokenAnnotator.js:
1876         (WebInspector.TypeTokenAnnotator.prototype._insertTypeToken):
1877         (WebInspector.TypeTokenAnnotator.prototype._translateToOffsetAfterFunctionParameterList.isLineTerminator):
1878         (WebInspector.TypeTokenAnnotator.prototype._translateToOffsetAfterFunctionParameterList):
1879         * UserInterface/Models/ScriptSyntaxTree.js:
1880         (WebInspector.ScriptSyntaxTree.prototype.containsNonEmptyReturnStatement.removeFunctionsFilter):
1881         (WebInspector.ScriptSyntaxTree.prototype.containsNonEmptyReturnStatement):
1882         (WebInspector.ScriptSyntaxTree.functionReturnDivot):
1883         (WebInspector.ScriptSyntaxTree.prototype._recurse):
1884         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
1885         (WebInspector.ScriptSyntaxTree):
1886
1887 2015-09-22  Saam barati  <sbarati@apple.com>
1888
1889         Web Inspector: update Esprima to latest version
1890         https://bugs.webkit.org/show_bug.cgi?id=148960
1891
1892         Reviewed by Joseph Pecoraro.
1893
1894         Esprima version 2.6 further supports ES6. We're
1895         updating to it so we can support more ES6 features
1896         in our script syntax tree.
1897
1898         * UserInterface/External/Esprima/LICENSE:
1899         * UserInterface/External/Esprima/esprima.js:
1900         * UserInterface/Models/ScriptSyntaxTree.js:
1901         (WebInspector.ScriptSyntaxTree.prototype._gatherIdentifiersInDeclaration.gatherIdentifiers):
1902         (WebInspector.ScriptSyntaxTree.prototype._gatherIdentifiersInDeclaration):
1903         (WebInspector.ScriptSyntaxTree.prototype._recurse):
1904         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
1905         (WebInspector.ScriptSyntaxTree):
1906
1907 2015-09-21  Matt Baker  <mattbaker@apple.com>
1908
1909         Web Inspector: requestAnimationFrame continues to be called after stopping the timeline recording
1910         https://bugs.webkit.org/show_bug.cgi?id=149390
1911
1912         Reviewed by Brian Burg.
1913
1914         * UserInterface/Views/TimelineRecordingContentView.js:
1915         (WebInspector.TimelineRecordingContentView.prototype._update):
1916         Stop calling requestAnimationFrame if this._updating is false and recording end time is NaN.
1917
1918 2015-09-17  Joseph Pecoraro  <pecoraro@apple.com>
1919
1920         Web Inspector: Simplify some functional callbacks
1921         https://bugs.webkit.org/show_bug.cgi?id=149333
1922
1923         Reviewed by Brian Burg.
1924
1925         * UserInterface/Controllers/LogManager.js:
1926         (WebInspector.LogManager.prototype.messageWasAdded):
1927         * UserInterface/Models/Color.js:
1928         (WebInspector.Color):
1929         * UserInterface/Models/Geometry.js:
1930         (WebInspector.CubicBezier.fromCoordinates):
1931         * UserInterface/Models/ObjectPreview.js:
1932         (WebInspector.ObjectPreview.fromPayload):
1933         * UserInterface/Models/TypeDescription.js:
1934         (WebInspector.TypeDescription.fromPayload):
1935         * UserInterface/Protocol/RemoteObject.js:
1936         (WebInspector.RemoteObject.prototype.getCollectionEntries):
1937         (WebInspector.RemoteObject.prototype.getCollectionEntries.): Deleted.
1938         * UserInterface/Views/TextEditor.js:
1939         (WebInspector.TextEditor.prototype.get markers):
1940         (WebInspector.TextEditor.prototype.markersAtPosition):
1941
1942 2015-09-17  Joseph Pecoraro  <pecoraro@apple.com>
1943
1944         Web Inspector: Remove unused canClearBrowserCookies / canClearBrowserCache protocol methods
1945         https://bugs.webkit.org/show_bug.cgi?id=149307
1946
1947         Reviewed by Brian Burg.
1948
1949         * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
1950         * UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
1951         * UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js:
1952         * Versions/Inspector-iOS-7.0.json:
1953         * Versions/Inspector-iOS-8.0.json:
1954         * Versions/Inspector-iOS-9.0.json:
1955         Retroactively remove the protocol methods as they were unused
1956         in these earlier versions as well.
1957
1958 2015-09-17  Joseph Pecoraro  <pecoraro@apple.com>
1959
1960         REGRESSION: Web Inspector: Double clicking on an attribute second time doesn't work
1961         https://bugs.webkit.org/show_bug.cgi?id=149259
1962
1963         Reviewed by Timothy Hatcher.
1964
1965         * UserInterface/Views/DOMTreeElement.js:
1966         Be sure to clear the editing state when committed, even if the value did not change.
1967
1968 2015-09-17  Joseph Pecoraro  <pecoraro@apple.com>
1969
1970         Web Inspector: Make Find / Save keyboard shortcuts work better globally
1971         https://bugs.webkit.org/show_bug.cgi?id=149198
1972
1973         Reviewed by Brian Burg.
1974
1975         Previously find/save keyboard shortcuts required the user have the
1976         ContentView in the ContentBrowser focused. That means nothing would
1977         happen if you clicked / focused in the Sidebars. This change considers
1978         the keyboard shortcuts globally, like Copy.
1979
1980         * UserInterface/Base/Main.js:
1981         (WebInspector.contentLoaded):
1982         Add global find and save keyboard shortcuts.
1983
1984         (WebInspector._focusChanged):
1985         It is often useful to have the currentFocusedElement know if it is
1986         in a TextEditor or other CodeMirror editor. When editable the <textarea>
1987         is selected and not updating focused element. 
1988
1989         (WebInspector._focusedContentBrowser):
1990         (WebInspector._focusedContentView):
1991         Provide helpers for getting a good approximation of the current focused
1992         or visible content view that users would expect to be interacting with.
1993         Since the focus event may not fire when clicking around to elements
1994         like the <body>. Rather than make it explicitly focusable, check the
1995         document.activeElement, and if it is body aim for the main content
1996         browser instead of the currentFocusedElement which may be stale.
1997         Likewise, if the QuickConsole is focused and the split console is
1998         showing, treat it like the split browser is focused.
1999
2000         (WebInspector._focusedOrVisibleContentBrowser):
2001         (WebInspector._focusedOrVisibleContentView):
2002         If nothing is focused, default to the main content browser.
2003
2004         (WebInspector._find):
2005         Pass on to the ContentView which typically handles Find
2006         by showing its find banner.
2007
2008         (WebInspector._save):
2009         (WebInspector._saveAs):
2010         Check and save the current ContentView if supported.
2011
2012         * UserInterface/Views/LogContentView.js:
2013         (WebInspector.LogContentView.prototype.get supportsSearch):
2014         (WebInspector.LogContentView.prototype.handleFindEvent):
2015         Add custom find handling for LogContentView from the routed through the
2016         BrowserController instead of special event handlers in the controller.
2017
2018         (WebInspector.LogContentView.prototype.get supportsSave):
2019         (WebInspector.LogContentView.prototype.save): Deleted.
2020         (WebInspector.LogContentView.prototype.saveAs): Deleted.
2021         * UserInterface/Controllers/JavaScriptLogViewController.js:
2022         (WebInspector.JavaScriptLogViewController): Deleted.
2023         (WebInspector.JavaScriptLogViewController.prototype._handleFindShortcut): Deleted.
2024         (WebInspector.JavaScriptLogViewController.prototype._save): Deleted.
2025         (WebInspector.JavaScriptLogViewController.prototype._saveAs): Deleted.
2026         Special save handling is no longer needed in the log view controller.
2027
2028         * UserInterface/Views/ContentBrowser.js:
2029         (WebInspector.ContentBrowser.prototype.handleFindEvent):
2030         (WebInspector.ContentBrowser): Deleted.
2031         (WebInspector.ContentBrowser.prototype._save): Deleted.
2032         (WebInspector.ContentBrowser.prototype._saveAs): Deleted.
2033         (WebInspector.ContentBrowser.prototype._showFindBanner): Deleted.
2034         Save functionality moved globally, find functionality moved to a
2035         public method called like copy event handling.
2036
2037 2015-09-17  Joseph Pecoraro  <pecoraro@apple.com>
2038
2039         Web Inspector: Inactive window may cause many layers to be created due to Dashboard opacity
2040         https://bugs.webkit.org/show_bug.cgi?id=149274
2041
2042         Reviewed by Brian Burg.
2043
2044         The dashboard container gets an opacity when the window is inactive. Combined
2045         with the animating debugger continue button this caused a cascade of slightly
2046         overlapping content causing a cascade of a lot of small layers. The simple
2047         approach taken here is to stop the slight pulse animation when the window
2048         is inactive.
2049
2050         * UserInterface/Views/DebuggerDashboardView.css:
2051         (body.window-inactive .dashboard.debugger .navigation-bar .item.button > .glyph):
2052
2053 2015-09-17  Devin Rousso  <dcrousso+webkit@gmail.com>
2054
2055         REGRESSION(r188427): Web Inspector: Extra whitespace left behind in styles sidebar after clicking in and out
2056         https://bugs.webkit.org/show_bug.cgi?id=149197
2057
2058         Reviewed by Timothy Hatcher.
2059
2060         In r188427, logic was added to preserve the leading whitespace of styles in a CSS file.
2061         An unfortunate side effect of this was that extra newlines in between CSS properties
2062         were treated as valid and left where they were.  This is undesired behaviour and often
2063         clutters the styles sidebar.  These changes remove the extra newlines.
2064
2065         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2066         (WebInspector.CSSStyleDeclarationTextEditor.prototype._formattedContent):
2067
2068 2015-09-16  Joseph Pecoraro  <pecoraro@apple.com>
2069
2070         Web Inspector: Reduce Annotation Update Frequency
2071         https://bugs.webkit.org/show_bug.cgi?id=149250
2072
2073         Reviewed by Saam Barati.
2074
2075         * UserInterface/Controllers/BasicBlockAnnotator.js:
2076         (WebInspector.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges):
2077         * UserInterface/Controllers/TypeTokenAnnotator.js:
2078         (WebInspector.BasicBlockAnnotator.prototype.insertAnnotations):
2079         Set a lower bound of 500ms on update frequency for both annotators.
2080
2081 2015-09-16  Joseph Pecoraro  <pecoraro@apple.com>
2082
2083         Web Inspector: Fix common typo "supress" => "suppress"
2084         https://bugs.webkit.org/show_bug.cgi?id=149199
2085
2086         Reviewed by Gyuyoung Kim.
2087
2088         * UserInterface/Views/DataGrid.js:
2089         (WebInspector.DataGridNode.prototype.select):
2090         (WebInspector.DataGridNode.prototype.deselect):
2091         * UserInterface/Views/SearchBar.js:
2092         (WebInspector.SearchBar):
2093
2094 2015-09-16  Joseph Pecoraro  <pecoraro@apple.com>
2095
2096         Web Inspector: Turn off line wrapping in resource text editors
2097         https://bugs.webkit.org/show_bug.cgi?id=149121
2098
2099         Reviewed by Darin Adler.
2100
2101         * UserInterface/Views/TextEditor.js:
2102         (WebInspector.TextEditor):
2103
2104 2015-09-15  Devin Rousso  <dcrousso+webkit@gmail.com>
2105
2106         Web Inspector: Picking unchanged for font-size does not reset back to the unchanged value
2107         https://bugs.webkit.org/show_bug.cgi?id=148351
2108
2109         Reviewed by Brian Burg.
2110
2111         Visual number editors now save any new values in the special placeholder element
2112         to display it whenever the "Unchanged" option is selected by the user.
2113
2114         * UserInterface/Views/VisualStyleNumberInputBox.js:
2115         (WebInspector.VisualStyleNumberInputBox.prototype.set value):
2116         (WebInspector.VisualStyleNumberInputBox.prototype.set units):
2117         (WebInspector.VisualStyleNumberInputBox.prototype._setNumberInputIsEditable):
2118         (WebInspector.VisualStyleNumberInputBox.prototype._keywordChanged):
2119         (WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputKeyDown.adjustValue):
2120         (WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputKeyDown):
2121
2122 2015-09-15  Brian Burg  <bburg@apple.com>
2123
2124         Web Inspector: command-click in NewTabContentView should open new tab without switching to it
2125         https://bugs.webkit.org/show_bug.cgi?id=149173
2126
2127         Reviewed by Joseph Pecoraro.
2128
2129         To allow a user to quickly restore tabs, it should be possible to command-click
2130         all the tabs that are desired without going back through the [+] tab button.
2131
2132         * UserInterface/Base/Main.js:
2133         (WebInspector.createNewTabWithType): Renamed.
2134
2135             Use an options object and split creating the tab from deleting the
2136             replaced tab and showing the new tab. Add better error checking.
2137
2138         (WebInspector.createNewTab): Deleted.
2139         * UserInterface/Views/NewTabContentView.js:
2140         (WebInspector.NewTabContentView):
2141         (WebInspector.NewTabContentView.prototype._createNewTabWithType): Renamed.
2142
2143             If the meta key is pressed, don't switch to the new tab or remove this view
2144             unless there are no more tabs that can be created beyond the current one.
2145
2146         (WebInspector.NewTabContentView.prototype._allowableTabTypes): Added.
2147         (WebInspector.NewTabContentView.prototype._createNewTab): Deleted.
2148
2149 2015-09-15  Joseph Pecoraro  <pecoraro@apple.com>
2150
2151         Web Inspector: Watch Expressions uncaught exceptions on page reload
2152         https://bugs.webkit.org/show_bug.cgi?id=149150
2153
2154         Reviewed by Brian Burg.
2155
2156         Instead of waiting 50ms to Resume, when the page navigates
2157         Resume immediately. This ensures nobody is using a stale
2158         activeCallFrame after the navigation.
2159
2160         Also clean up the manager a bit by removing some deletes.
2161
2162         * UserInterface/Controllers/DebuggerManager.js:
2163         (WebInspector.DebuggerManager.restoreBreakpointsSoon):
2164         (WebInspector.DebuggerManager.prototype.reset):
2165         (WebInspector.DebuggerManager.prototype.debuggerDidPause):
2166         (WebInspector.DebuggerManager.prototype.debuggerDidResume):
2167         (WebInspector.DebuggerManager.prototype._mainResourceDidChange):
2168         (WebInspector.DebuggerManager.prototype._didResumeInternal):
2169         (WebInspector.DebuggerManager.prototype._associateBreakpointsWithSourceCode):
2170         (WebInspector.DebuggerManager.prototype.debuggerDidResume.delayedWork): Deleted.
2171
2172 2015-09-15  Joseph Pecoraro  <pecoraro@apple.com>
2173
2174         Web Inspector: Closing the final inspector tab should be allowed
2175         https://bugs.webkit.org/show_bug.cgi?id=149130
2176
2177         Reviewed by Brian Burg.
2178
2179         Previously we did not allow closing the last inspector tab. Now, we
2180         will allow closing all inspector tabs, and when the last is closed,
2181         present an unclosable New Tab tab, which would then be used to create
2182         a new tab.
2183
2184         * UserInterface/Base/Main.js:
2185         (WebInspector.contentLoaded):
2186         If we have no tabs to restore, show the New Tab tab.
2187
2188         (WebInspector._openDefaultTab):
2189         When the last tab is closed, the tab bar requests we open a default tab.
2190         Open the New Tab tab.
2191
2192         (WebInspector.TabBar.prototype._handleClick):
2193         Disallow closing the single default tab.
2194
2195         (WebInspector._newTabItemClicked):
2196         (WebInspector.showNewTabTab):
2197         Share logic for showing the New Tab tab.
2198
2199         * UserInterface/Views/NewTabContentView.js:
2200         (WebInspector.NewTabContentView):
2201         Mark the new tab's tab bar item as the "default" tab bar item. It gets
2202         special behavior when it is the single normal tab (cannot be closed).
2203
2204         * UserInterface/Views/TabBar.css:
2205         (body:not(.window-inactive) .tab-bar > .item:hover > .close):
2206         (body:not(.window-inactive) .tab-bar.single-tab > .item.default-tab:hover > .close):
2207         (.tab-bar.single-tab > .item.default-tab > .close):
2208         (body:not(.window-inactive) .tab-bar:not(.single-tab) > .item:not(.hide-close-button):hover > .close): Deleted.
2209         (.tab-bar > .item.hide-close-button > .close): Deleted.
2210         Update styles to only disable the close button on the
2211         "default-tab" when it is the "single-tab" open. Otherwise
2212         always allow closing tabs.
2213
2214         * UserInterface/Views/TabBar.js:
2215         (WebInspector.TabBar.prototype.removeTabBarItem):
2216         (WebInspector.TabBar.prototype.hasNormalTab):
2217         (WebInspector.TabBar.prototype._openDefaultTab):
2218         When removing the last normal tab, send an event to open
2219         the default tab.
2220
2221         * UserInterface/Views/TabBarItem.js:
2222         (WebInspector.TabBarItem.prototype.get default):
2223         (WebInspector.TabBarItem.prototype.get isDefaultTab):
2224         (WebInspector.TabBarItem.prototype.set isDefaultTab):
2225         (WebInspector.TabBarItem.prototype.get hideCloseButton): Deleted.
2226         (WebInspector.TabBarItem.prototype.set hideCloseButton): Deleted.
2227         Switch to marking a tab bar item as the default tab. This tab
2228         will be allowed when it is the single remaining tab. Currently
2229         the default tab is always the "New Tab" tab.
2230
2231 2015-09-15  Brian Burg  <bburg@apple.com>
2232
2233         Web Inspector: new tab content view should disallow split console
2234         https://bugs.webkit.org/show_bug.cgi?id=149164
2235
2236         Reviewed by Joseph Pecoraro.
2237
2238         * UserInterface/Views/NewTabContentView.js:
2239         (WebInspector.NewTabContentView.prototype.get supportsSplitContentBrowser):
2240
2241 2015-09-14  Brian Burg  <bburg@apple.com>
2242
2243         Web Inspector: tab bar stutters when moving mouse after closing tab
2244         https://bugs.webkit.org/show_bug.cgi?id=149138
2245
2246         Reviewed by Joseph Pecoraro.
2247
2248         The tab bar lacked the 'static-layout' class between when the Promise microtask
2249         ran and the beginning of the requestAnimationFrame. This caused a flash of
2250         tabs that are way too wide.
2251
2252         Re-add the static-layout class immediately after measuring the 'after' tab size.
2253         This code should probably just manually compute tab sizes since flexbox
2254         layout is quite slow and our measurement code here forces layout several times.
2255
2256         * UserInterface/Views/TabBar.js:
2257
2258 2015-09-14  Brian Burg  <bburg@apple.com>
2259
2260         Web Inspector: backend command promises are not rejected when a protocol error occurs
2261         https://bugs.webkit.org/show_bug.cgi?id=141403
2262
2263         Reviewed by Joseph Pecoraro.
2264
2265         Fix a few corner cases for how InspectorBackend delivers command failures.
2266
2267         * UserInterface/Protocol/InspectorBackend.js:
2268         (InspectorBackend.Command.prototype.deliverFailure): Added.
2269         (InspectorBackend.Command.prototype._invokeWithArguments):
2270
2271             If argument-checking fails, return a rejected promise or invoke the supplied callback
2272             on a zero-delay setTimeout to ensure that the reply is asynchronous.
2273
2274 2015-09-14  Brian Burg  <bburg@apple.com>
2275
2276         Web Inspector: middle-clicking a tab in the tab bar should close it
2277         https://bugs.webkit.org/show_bug.cgi?id=149135
2278
2279         Reviewed by Joseph Pecoraro.
2280
2281         This matches the behavior of the tab bar in Safari and other browsers.
2282
2283         * UserInterface/Views/TabBar.js:
2284         (WebInspector.TabBar.prototype._handleMouseDown):
2285         (WebInspector.TabBar.prototype._handleClick):
2286
2287 2015-09-14  Nikita Vasilyev  <nvasilyev@apple.com>
2288
2289         Web Inspector: Border under the styles filter field is clipped
2290         https://bugs.webkit.org/show_bug.cgi?id=149115
2291
2292         Reviewed by Darin Adler.
2293
2294         * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
2295         (.sidebar > .panel.details.css-style > .content + .options-container > .filter-bar):
2296
2297 2015-09-11  Nan Wang  <n_wang@apple.com>
2298
2299         AX: ARIA 1.1 @aria-current
2300         https://bugs.webkit.org/show_bug.cgi?id=146012
2301
2302         Reviewed by Chris Fleizach.
2303
2304         Added support for ARIA 1.1 aria-current.
2305
2306         * Localizations/en.lproj/localizedStrings.js:
2307         * UserInterface/Models/DOMNode.js:
2308         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
2309
2310 2015-09-10  Devin Rousso  <dcrousso+webkit@gmail.com>
2311
2312         Web Inspector: Styles sidebar says Media: all when it should say Media: screen
2313         https://bugs.webkit.org/show_bug.cgi?id=148436
2314
2315         Reviewed by Timothy Hatcher.
2316
2317         Removed filter that prevented "Media: screen" from being displayed.
2318
2319         * UserInterface/Views/RulesStyleDetailsPanel.js:
2320         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertMediaOrInheritanceLabel):
2321         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.filteredMediaList): Deleted.
2322
2323 2015-09-10  Matt Baker  <mattbaker@apple.com>
2324
2325         Web Inspector: Prefer calling ContentViewContainer.updateLayout directly
2326         https://bugs.webkit.org/show_bug.cgi?id=149041
2327
2328         Reviewed by Timothy Hatcher.
2329
2330         Cleaned up two places where a parent view duplicated logic encapsulated by ContentViewContainer.
2331
2332         * UserInterface/Views/ClusterContentView.js:
2333         (WebInspector.ClusterContentView.prototype.updateLayout):
2334         * UserInterface/Views/TimelineRecordingContentView.js:
2335         (WebInspector.TimelineRecordingContentView.prototype.updateLayout):
2336
2337 2015-09-08  Matt Baker  <mattbaker@apple.com>
2338
2339         Web Inspector: REGRESSION (r189189): Missing breakpoint context menu for debugger sidebar tree elements
2340         https://bugs.webkit.org/show_bug.cgi?id=148651
2341
2342         Reviewed by Timothy Hatcher.
2343
2344         * UserInterface/Base/Main.js:
2345         (WebInspector.contentLoaded):
2346         Create BreakpointPopoverController singleton, expose as public property of global WebInspector object.
2347
2348         * UserInterface/Views/BreakpointTreeElement.js:
2349         (WebInspector.BreakpointTreeElement.prototype.oncontextmenu):
2350         Use BreakpointPopoverController singleton.
2351
2352         * UserInterface/Views/SourceCodeTextEditor.js:
2353         (WebInspector.SourceCodeTextEditor):
2354         Don't create BreakpointPopoverController instance.
2355         (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu):
2356         Use BreakpointPopoverController singleton.
2357
2358 2015-09-08  Joseph Pecoraro  <pecoraro@apple.com>
2359
2360         Fix inspector/codemirror tests.
2361
2362         Rubber-stamped by Brian Burg.
2363
2364         * UserInterface/Test.html:
2365         Reorder includes to be more like Main.html. This ensures that CodeMirror
2366         resources are loaded before Inspector sources use it, like CodeMirrorAdditions
2367         which gets merged into TestCombined.js.
2368
2369 2015-09-08  Joseph Pecoraro  <pecoraro@apple.com>
2370
2371         Web Inspector: Move PrettyPrinting tests into LayoutTests
2372         https://bugs.webkit.org/show_bug.cgi?id=148698
2373
2374         Reviewed by Timothy Hatcher.
2375
2376         * Tools/PrettyPrinting/index.html:
2377         Modify the relative path to the tests which are now in LayoutTests.
2378
2379         * UserInterface/Test.html:
2380         Load CodeMirror and related resources for Formatting.
2381
2382 2015-09-06  Andy Estes  <aestes@apple.com>
2383
2384         WebKit.xcworkspace should be be able to build iOS platforms
2385         https://bugs.webkit.org/show_bug.cgi?id=148881
2386
2387         Reviewed by Daniel Bates.
2388
2389         Since we don't want to create platform-specific schemes, all projects in the workspace's schemes need to build
2390         for all supported platforms.
2391
2392         * Configurations/Base.xcconfig: Included iphoneos and iphonesimulator in SUPPORTED_PLATFORMS.
2393         * Configurations/WebInspectorUIFramework.xcconfig: Skipped installing on iOS.
2394
2395 2015-09-04  Brian Burg  <bburg@apple.com>
2396
2397         Web Inspector: combine Test.html resources to make tests run faster
2398         https://bugs.webkit.org/show_bug.cgi?id=148726
2399
2400         Reviewed by Timothy Hatcher.
2401
2402         In an attempt to make inspector tests run faster, always combine resources
2403         on the Test.html page. This cuts down from 110+ resource loads to 5 loads.
2404
2405         To avoid name clashes, add the 'Combined' suffix to files that would clash
2406         with uncombined Test resources, and add the 'Test' prefix when combining
2407         or minifying files that would clash with production minification. So, it
2408         would be possible for Main.html and Test.html to have different minified
2409         versions of CodeMirror or other external libraries if they use different
2410         subsets.
2411
2412         Combining is unlikely to make debugging tests more difficult, since almost
2413         all test code is marshalled and eval'd into existence anyway.
2414
2415         * Configurations/WebInspectorUIFramework.xcconfig:
2416         * Scripts/combine-resources.pl: Drive-by spelling.
2417         (concatenateFiles):
2418         (concatinateFiles): Deleted.
2419         * Scripts/copy-user-interface-resources-dryrun.rb:
2420         * Scripts/copy-user-interface-resources.pl:
2421
2422             Drive-by spelling. Add a new code path for combining Test resources, which
2423             doesn't require minification or handling CSS, images, or most externals.
2424
2425         * WebInspectorUI.vcxproj/build-webinspectorui.pl:
2426
2427             Always combine Test.html, but also ditto everything into place for
2428             engineering builds.
2429
2430 2015-09-04  Joseph Pecoraro  <pecoraro@apple.com>
2431
2432         Web Inspector: Test Runtime.saveResult and $n values
2433         https://bugs.webkit.org/show_bug.cgi?id=148837
2434
2435         Reviewed by Timothy Hatcher.
2436
2437         * UserInterface/Protocol/InspectorBackend.js:
2438         (InspectorBackendClass):
2439         Initialize the dump logging function different if we are in tests or not.
2440         When in tests, using console.log as well as dumping system activity to
2441         the system console results in an infinite loop of logging!
2442
2443         (InspectorBackendClass.prototype.dispatch):
2444         (InspectorBackendClass.prototype._sendCommandToBackendWithCallback):
2445         Use the logging function we figured out earlier.
2446
2447 2015-09-04  Joseph Pecoraro  <pecoraro@apple.com>
2448
2449         Web Inspector: Clean up and modernize DOMTreeManager
2450         https://bugs.webkit.org/show_bug.cgi?id=148821
2451
2452         Reviewed by Timothy Hatcher.
2453
2454         * UserInterface/Controllers/DOMTreeManager.js:
2455         (WebInspector.DOMTreeManager.prototype.requestDocument.onDocumentAvailable):
2456         (WebInspector.DOMTreeManager.prototype.requestDocument):
2457         (WebInspector.DOMTreeManager.prototype.pushNodeByPathToFrontend):
2458         (WebInspector.DOMTreeManager.prototype._wrapClientCallback):
2459         (WebInspector.DOMTreeManager.prototype._attributeModified):
2460         (WebInspector.DOMTreeManager.prototype._attributeRemoved):
2461         (WebInspector.DOMTreeManager.prototype._inlineStyleInvalidated):
2462         (WebInspector.DOMTreeManager.prototype._loadNodeAttributes):
2463         (WebInspector.DOMTreeManager.prototype.cancelSearch):
2464         (WebInspector.DOMTreeManager.prototype.querySelector):
2465         (WebInspector.DOMTreeManager.prototype.querySelectorAll):
2466         (WebInspector.DOMTreeManager.prototype.highlightDOMNode):
2467         (WebInspector.DOMTreeManager.prototype._buildHighlightConfig):
2468         Cleanup and modernize where appropriate.
2469
2470         * UserInterface/Views/SearchSidebarPanel.js:
2471         (WebInspector.SearchSidebarPanel.prototype.performSearch):
2472         Callback is now required.
2473
2474 2015-09-04  Matt Baker  <mattbaker@apple.com>
2475
2476         Web Inspector: Render Frames "Other" task filter checkbox misaligned with text
2477         https://bugs.webkit.org/show_bug.cgi?id=148788
2478
2479         Reviewed by Timothy Hatcher.
2480
2481         * UserInterface/Views/ChartDetailsSectionRow.css:
2482         (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > label > .color-key):
2483         Adjust "fake" checkbox margin to align with label text.
2484
2485 2015-09-04  Joseph Pecoraro  <pecoraro@apple.com>
2486
2487         Web Inspector: Expand Console domain test coverage
2488         https://bugs.webkit.org/show_bug.cgi?id=148740
2489
2490         Reviewed by Brian Burg.
2491
2492         * UserInterface/Protocol/RemoteObject.js:
2493         Add a few helpers for checking the RemoteObject type.
2494
2495 2015-09-02  Commit Queue  <commit-queue@webkit.org>
2496
2497         Unreviewed, rolling out r189241.
2498         https://bugs.webkit.org/show_bug.cgi?id=148703
2499
2500         These tests crash with assertions (Requested by ap on
2501         #webkit).
2502
2503         Reverted changeset:
2504
2505         "Web Inspector: Move PrettyPrinting tests into LayoutTests"
2506         https://bugs.webkit.org/show_bug.cgi?id=148698
2507         http://trac.webkit.org/changeset/189241
2508
2509 2015-09-01  Joseph Pecoraro  <pecoraro@apple.com>
2510
2511         Web Inspector: Move PrettyPrinting tests into LayoutTests
2512         https://bugs.webkit.org/show_bug.cgi?id=148698
2513
2514         Reviewed by Timothy Hatcher.
2515
2516         * Tools/PrettyPrinting/index.html:
2517         Modify the relative path to the tests which are now in LayoutTests.
2518
2519         * UserInterface/Test.html:
2520         Load CodeMirror and related resources for Formatting.
2521
2522 2015-09-01  Matt Baker  <mattbaker@apple.com>
2523
2524         Web Inspector: REGRESSION (r187873): Location column icon is missing in timeline data grids
2525         https://bugs.webkit.org/show_bug.cgi?id=148691
2526
2527         Reviewed by Timothy Hatcher.
2528
2529         * UserInterface/Views/TimelineDataGridNode.js:
2530         (WebInspector.TimelineDataGridNode.prototype.createCellContent):
2531         Added "icon" class name. Was using removed class variable (class="undefined").
2532
2533 2015-09-01  Matt Baker  <mattbaker@apple.com>
2534
2535         Web Inspector: Show layout/paint pixel area in the Rendering Frames tree outline
2536         https://bugs.webkit.org/show_bug.cgi?id=148674
2537
2538         Reviewed by Brian Burg.
2539
2540         * Localizations/en.lproj/localizedStrings.js:
2541         New UI string.
2542
2543         * UserInterface/Views/RenderingFrameTimelineView.css:
2544         (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.rendering-frame .item:not(.paint-record):not(.layout-record) .subtitle):
2545         (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.rendering-frame .item .subtitle): Deleted.
2546         Show subtitles for layout and paint records only. We still want to hide script record subtitles,
2547         since that information is already in the 'Location' column.
2548
2549         * UserInterface/Views/RenderingFrameTimelineView.js:
2550         (WebInspector.RenderingFrameTimelineView.prototype._processPendingRecords):
2551         Add tree element subtitle for LayoutTimelineRecords that specify width and height.
2552
2553 2015-09-01  Matt Baker  <mattbaker@apple.com>
2554
2555         Web Inspector: Reorder columns in the Rendering Frames data grid by importance
2556         https://bugs.webkit.org/show_bug.cgi?id=148672
2557
2558         Reviewed by Timothy Hatcher.
2559
2560         * UserInterface/Views/RenderingFrameTimelineView.js:
2561         (WebInspector.RenderingFrameTimelineView):
2562         Updated column order, rearranged the column object setup code to match.
2563
2564 2015-09-01  Brian Burg  <bburg@apple.com>
2565
2566         Web Inspector: rewrite inspector/console/command-line-api.html to use AsyncTestSuite
2567         https://bugs.webkit.org/show_bug.cgi?id=148637
2568
2569         Reviewed by Darin Adler.
2570
2571         * UserInterface/Base/Object.js:
2572         (WebInspector.Object.singleFireEventListener):
2573         (WebInspector.Object.singleFireEventListener.let.wrappedCallback): Arrow.
2574
2575 2015-09-01  Devin Rousso  <drousso@apple.com>
2576
2577         Web Inspector: New rule button in the style sidebar is blurry and too dark
2578         https://bugs.webkit.org/show_bug.cgi?id=148108
2579
2580         Reviewed by Timothy Hatcher.
2581
2582         Added support for Plus and Minus icons on non-retina screens.
2583         Also removed some CSS rules that no longer apply to anything.
2584
2585         * UserInterface/Images/Minus.svg:
2586         * UserInterface/Images/NewTabPlus.svg:
2587         * UserInterface/Images/Plus.svg: Removed.
2588         * UserInterface/Images/Plus13.svg: Copied from Source/WebInspectorUI/UserInterface/Images/Plus.svg.
2589         * UserInterface/Images/Plus15.svg: Copied from Source/WebInspectorUI/UserInterface/Images/Plus.svg.
2590
2591         * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
2592         (.sidebar > .panel.details.css-style > .content + .options-container):
2593         (.sidebar > .panel.details.css-style > .content + .options-container > .new-rule):
2594
2595         * UserInterface/Views/ProbeDetailsSidebarPanel.css:
2596         (.details-section.probe-set .options > .probe-add):
2597
2598         * UserInterface/Views/RulesStyleDetailsPanel.css:
2599         (.sidebar > .panel.details.css-style .rules .new-rule): Deleted.
2600         (.sidebar > .panel.details.css-style .rules > *:first-child:matches(.new-rule)): Deleted.
2601         (.sidebar > .panel.details.css-style > .content.filter-in-progress .new-rule): Deleted.
2602         (.sidebar > .panel.details.css-style > .content:not(.filter-in-progress) > .rules > .new-rule + .style-declaration-section): Deleted.
2603         (.sidebar > .panel.details.css-style > .content:not(.filter-in-progress) > .rules > .new-rule + .label): Deleted.
2604         (.sidebar > .panel.details.css-style .rules .new-rule img): Deleted.
2605         (.sidebar > .panel.details.css-style .rules .new-rule:hover): Deleted.
2606         (.sidebar > .panel.details.css-style .rules .new-rule:active): Deleted.
2607         (@media (-webkit-min-device-pixel-ratio: 2)): Deleted.
2608         Removed CSS rules that no longer apply.  The new rule button was moved to the Styles sidebar.
2609
2610         * UserInterface/Views/ScopeChainDetailsSidebarPanel.css:
2611         (.details-section.watch-expressions .options > .watch-expression-add):
2612
2613         * UserInterface/Views/TabBar.css:
2614         (.tab-bar > .item.new-tab-button > .icon):
2615
2616         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css:
2617         (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-controls > div):
2618
2619         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
2620         (WebInspector.VisualStyleCommaSeparatedKeywordEditor):
2621
2622         * UserInterface/Views/VisualStyleSelectorSection.js:
2623         (WebInspector.VisualStyleSelectorSection):
2624
2625 2015-09-01  Brian Burg  <bburg@apple.com>
2626
2627         Web Inspector: add TestSuite hooks for per-testcase setup and teardown actions
2628         https://bugs.webkit.org/show_bug.cgi?id=148641
2629
2630         Reviewed by Timothy Hatcher.
2631
2632         It should be possible to run setup and teardown actions for each test case.
2633         The use case here is to add listeners, set up testcase-specific state, etc.
2634         To match how test functions work in each suite, the sync and async implementations
2635         take functions with no arguments and(resolve, reject), respectively.
2636
2637         * UserInterface/Test/TestSuite.js:
2638         (TestSuite.prototype.addTestCase):
2639         (TestSuite.messageFromThrownObject):
2640         (TestSuite):
2641         (AsyncTestSuite.prototype.runTestCases): Stick the extra functions in the chain.
2642         (AsyncTestSuite):
2643         (SyncTestSuite.prototype.runTestCases):
2644         (SyncTestSuite):
2645
2646 2015-09-01  Matt Baker  <mattbaker@apple.com>
2647
2648         Web Inspector: Visual style editor shouldn't allow alpha characters in numeric input fields
2649         https://bugs.webkit.org/show_bug.cgi?id=148580
2650
2651         Reviewed by Brian Burg.
2652
2653         * UserInterface/Views/VisualStyleNumberInputBox.js:
2654         (WebInspector.VisualStyleNumberInputBox):
2655         Added input element "changed" handler, renamed "keyup" handler to match "keydown" handler.
2656         (WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputChanged):
2657         Validate input in response to changed event.
2658
2659 2015-08-31  Nikita Vasilyev  <nvasilyev@apple.com>
2660
2661         Web Inspector: Command-Enter for selected JS in Debugger/Sources shouldn't change the focus
2662         https://bugs.webkit.org/show_bug.cgi?id=148613
2663
2664         Reviewed by Timothy Hatcher.
2665
2666         * UserInterface/Views/ConsoleTabContentView.js:
2667         (WebInspector.ConsoleTabContentView.prototype.shown):
2668         Always focus on the console prompt when the console tab get selected.
2669
2670         * UserInterface/Views/LogContentView.js:
2671         (WebInspector.LogContentView.prototype.shown): Deleted.
2672
2673 2015-08-31  Joseph Pecoraro  <pecoraro@apple.com>
2674
2675         Web Inspector: Debugger Popovers should work for object literal shorthand variables
2676         https://bugs.webkit.org/show_bug.cgi?id=148603
2677
2678         Reviewed by Timothy Hatcher.
2679
2680         * UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
2681         (WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
2682         Allow debugger popovers for object property shorthands, because they
2683         are actually variables that have values. Previously we ignored property
2684         name literals, because they were just property names until ES6.
2685
2686         * UserInterface/Views/CodeMirrorAdditions.js:
2687         Add a helper for walking through token types from a start position. It may be useful elsewhere.
2688
2689 2015-08-31  Matt Baker  <mattbaker@apple.com>
2690
2691         Web Inspector: Move the Popover code out of the Breakpoint model object
2692         https://bugs.webkit.org/show_bug.cgi?id=127328
2693
2694         Reviewed by Timothy Hatcher.
2695
2696         * UserInterface/Controllers/BreakpointPopoverController.js: Added.
2697         (WebInspector.BreakpointPopoverController):
2698         (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.editBreakpoint):
2699         (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.removeBreakpoint):
2700         (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.toggleBreakpoint):
2701         (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.toggleAutoContinue):
2702         (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.revealOriginalSourceCodeLocation):
2703         (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems):
2704         (WebInspector.BreakpointPopoverController.prototype.showEditBreakpointPopover):
2705         (WebInspector.BreakpointPopoverController.prototype._createPopoverContent):
2706         (WebInspector.BreakpointPopoverController.prototype._popoverToggleEnabledCheckboxChanged):
2707         (WebInspector.BreakpointPopoverController.prototype._popoverConditionInputChanged):
2708         (WebInspector.BreakpointPopoverController.prototype._popoverToggleAutoContinueCheckboxChanged):
2709         (WebInspector.BreakpointPopoverController.prototype._popoverConditionInputKeyDown):
2710         (WebInspector.BreakpointPopoverController.prototype._popoverActionsCreateAddActionButton):
2711         (WebInspector.BreakpointPopoverController.prototype._popoverActionsAddActionButtonClicked):
2712         (WebInspector.BreakpointPopoverController.prototype._popoverActionsInsertBreakpointActionView):
2713         (WebInspector.BreakpointPopoverController.prototype.breakpointActionViewAppendActionView):
2714         (WebInspector.BreakpointPopoverController.prototype.breakpointActionViewRemoveActionView):
2715         (WebInspector.BreakpointPopoverController.prototype.breakpointActionViewResized):
2716         (WebInspector.BreakpointPopoverController.prototype.willDismissPopover):
2717         (WebInspector.BreakpointPopoverController.prototype.didDismissPopover):
2718         Added controller class to encapsulate view logic previously located in WebInspector.Breakpoint.
2719
2720         * UserInterface/Main.html:
2721         Added and updated file paths.
2722
2723         * UserInterface/Models/Breakpoint.js:
2724         (WebInspector.Breakpoint.prototype.appendContextMenuItems.editBreakpoint): Deleted.
2725         (WebInspector.Breakpoint.prototype.appendContextMenuItems.removeBreakpoint): Deleted.
2726         (WebInspector.Breakpoint.prototype.appendContextMenuItems.toggleBreakpoint): Deleted.
2727         (WebInspector.Breakpoint.prototype.appendContextMenuItems.toggleAutoContinue): Deleted.
2728         (WebInspector.Breakpoint.prototype.appendContextMenuItems.revealOriginalSourceCodeLocation): Deleted.
2729         (WebInspector.Breakpoint.prototype.appendContextMenuItems): Deleted.
2730         (WebInspector.Breakpoint.prototype._popoverToggleEnabledCheckboxChanged): Deleted.
2731         (WebInspector.Breakpoint.prototype._popoverConditionInputChanged): Deleted.
2732         (WebInspector.Breakpoint.prototype._popoverToggleAutoContinueCheckboxChanged): Deleted.
2733         (WebInspector.Breakpoint.prototype._popoverConditionInputKeyDown): Deleted.
2734         (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement): Deleted.
2735         (WebInspector.Breakpoint.prototype._popoverActionsCreateAddActionButton): Deleted.
2736         (WebInspector.Breakpoint.prototype._popoverActionsAddActionButtonClicked): Deleted.
2737         (WebInspector.Breakpoint.prototype._popoverActionsInsertBreakpointActionView): Deleted.
2738         (WebInspector.Breakpoint.prototype.breakpointActionViewAppendActionView): Deleted.
2739         (WebInspector.Breakpoint.prototype.breakpointActionViewRemoveActionView): Deleted.
2740         (WebInspector.Breakpoint.prototype.breakpointActionViewResized): Deleted.
2741         (WebInspector.Breakpoint.prototype.willDismissPopover): Deleted.
2742         (WebInspector.Breakpoint.prototype.didDismissPopover): Deleted.
2743         (WebInspector.Breakpoint.prototype._showEditBreakpointPopover): Deleted.
2744         Removed view logic.
2745
2746         * UserInterface/Views/BreakpointPopoverController.css: Renamed from Source/WebInspectorUI/UserInterface/Views/Breakpoint.css.
2747         (.popover .edit-breakpoint-popover-content):
2748         (.popover .edit-breakpoint-popover-content.wide):
2749         (.popover .edit-breakpoint-popover-content > label.toggle):
2750         (.popover .edit-breakpoint-popover-content > table):
2751         (.popover .edit-breakpoint-popover-content > table > tr > th):
2752         (.popover .edit-breakpoint-popover-content > table > tr > td):
2753         (#edit-breakpoint-popover-condition):
2754         (#edit-breakpoint-popoover-auto-continue):
2755
2756         * UserInterface/Views/SourceCodeTextEditor.js:
2757         (WebInspector.SourceCodeTextEditor):
2758         Creates a BreakpointPopoverController instance. The lifetime of the 'Edit Breakpoint' view is internal to the
2759         controller, and can't be initiated outside of a context menu item click.
2760
2761 2015-08-31  Matt Baker  <mattbaker@apple.com>
2762
2763         Web Inspector: Rendering Frame tasks making up < 1% of the selection don't appear in the pie chart
2764         https://bugs.webkit.org/show_bug.cgi?id=148549
2765
2766         Reviewed by Timothy Hatcher.
2767
2768         Small data points can be invisible or difficult to see in the pie chart. This patch introduces
2769         a minimum slice size of 1.5% (determined by visual inspection) for chart items.
2770
2771         Legend items continue to show the original data point values, not the adjusted values used to
2772         draw the chart slices.
2773
2774         * UserInterface/Views/ChartDetailsSectionRow.js:
2775         (WebInspector.ChartDetailsSectionRow):
2776         (WebInspector.ChartDetailsSectionRow.prototype._updateLayout):
2777         Adjust display values up or down as needed, so no data point is less than the
2778         minimum and all chart slices still total 100%.
2779
2780 2015-08-28  Joseph Pecoraro  <pecoraro@apple.com>
2781
2782         Web Inspector: "animationEnd" event names should be "animationend" (broken dashboard animation after pause)
2783         https://bugs.webkit.org/show_bug.cgi?id=148604
2784
2785         Reviewed by Timothy Hatcher.
2786
2787         * UserInterface/Views/DOMTreeElement.js:
2788         (WebInspector.DOMTreeElement.prototype.emphasizeSearchHighlight):
2789         * UserInterface/Views/DashboardContainerView.js:
2790         (WebInspector.DashboardContainerView.prototype._showDashboardView.animationEnded):
2791         (WebInspector.DashboardContainerView.prototype._showDashboardView):
2792         (WebInspector.DashboardContainerView.prototype._hideDashboardView.animationEnded):
2793         (WebInspector.DashboardContainerView.prototype._hideDashboardView):
2794         * UserInterface/Views/DefaultDashboardView.js:
2795         (WebInspector.DefaultDashboardView.prototype._setConsoleItemValue.animationEnded):
2796         (WebInspector.DefaultDashboardView.prototype._setConsoleItemValue):
2797         * UserInterface/Views/TextEditor.js:
2798         (WebInspector.TextEditor.prototype._revealSearchResult):
2799
2800 2015-08-28  Joseph Pecoraro  <pecoraro@apple.com>
2801
2802         Web Inspector: Resource.prototype.associateWithScript assertions firing
2803         https://bugs.webkit.org/show_bug.cgi?id=148601
2804
2805         Reviewed by Timothy Hatcher.
2806
2807         * UserInterface/Models/Resource.js:
2808         (WebInspector.Resource.prototype.associateWithScript):
2809         Restore the code that was here before it was converted to asserts.
2810         It looked as if it was iOS 6 only but it was not.
2811
2812 2015-08-28  Joseph Pecoraro  <pecoraro@apple.com>
2813
2814         Web Inspector: Improve ScriptSyntaxTree a bit
2815         https://bugs.webkit.org/show_bug.cgi?id=148563
2816
2817         Reviewed by Timothy Hatcher.
2818
2819         * UserInterface/Models/ScriptSyntaxTree.js:
2820         (WebInspector.ScriptSyntaxTree.prototype._recurse):
2821         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
2822         Share and fix ClassDeclaration and ClassExpression recursion to visit
2823         the identifier (node.id). Include the kind with a VariableDeclaration
2824         ("var", "let", "const").
2825
2826 2015-08-28  Joseph Pecoraro  <pecoraro@apple.com>
2827
2828         Web Inspector: Separate creating a style sheet from adding a new rule in the protocol
2829         https://bugs.webkit.org/show_bug.cgi?id=148502
2830
2831         Reviewed by Timothy Hatcher.
2832
2833         The backend allows creating multiple stylesheets. This patch makes
2834         the frontend have a preferred InspectorStyleSheet per-frame.
2835
2836         * UserInterface/Base/Object.js:
2837         (WebInspector.Object.singleFireEventListener):
2838         Return the wrapped listener so it can be removed if needed.
2839
2840         * UserInterface/Models/CSSStyleSheet.js:
2841         (WebInspector.CSSStyleSheet.prototype.isInspectorStyleSheet):
2842         Helper to check if the current stylesheet is an inspector created stylesheet.
2843
2844         * UserInterface/Controllers/CSSStyleManager.js:
2845         (WebInspector.CSSStyleManager.prototype.preferredInspectorStyleSheetForFrame):
2846         (WebInspector.CSSStyleManager.prototype.preferredInspectorStyleSheetForFrame.documentNodeAvailable):
2847         (WebInspector.CSSStyleManager.prototype.preferredInspectorStyleSheetForFrame.bodyNodeAvailable):
2848         (WebInspector.CSSStyleManager.prototype.preferredInspectorStyleSheetForFrame.cssRuleAvailable):
2849         (WebInspector.CSSStyleManager.prototype._inspectorStyleSheetsForFrame):
2850         Lookup the inspector stylesheet for a particular frame. If one doesn't exist create it.
2851         For legacy backends, exploit "addRule" to create the inspector stylesheet.
2852
2853         * UserInterface/Models/DOMNode.js:
2854         * UserInterface/Models/DOMNodeStyles.js:
2855         (WebInspector.DOMNodeStyles.prototype.addEmptyRule.inspectorStyleSheetAvailable):
2856         (WebInspector.DOMNodeStyles.prototype.addEmptyRule):
2857         Currently add all new rules to the inspector stylesheet.
2858
2859 2015-08-28  Joseph Pecoraro  <pecoraro@apple.com>
2860
2861         Web Inspector: Type Profiler does not understand Functions within Default Argument Expressions
2862         https://bugs.webkit.org/show_bug.cgi?id=148557
2863
2864         Reviewed by Timothy Hatcher.
2865
2866         * UserInterface/Models/ScriptSyntaxTree.js:
2867         (WebInspector.ScriptSyntaxTree.prototype._recurse):
2868         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
2869         (WebInspector.ScriptSyntaxTree):
2870         Add support for abstracting and recursing through the default parameter
2871         expressions Esprima has on function expressions and declarations.
2872
2873 2015-08-28  Joseph Pecoraro  <pecoraro@apple.com>
2874
2875         Web Inspector: Type Profiler does not understand Functions inside Template Strings (ScriptSyntaxTree warnings)
2876         https://bugs.webkit.org/show_bug.cgi?id=148556
2877
2878         Reviewed by Timothy Hatcher.
2879
2880         * UserInterface/Models/ScriptSyntaxTree.js:
2881         (WebInspector.ScriptSyntaxTree.prototype._recurse):
2882         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
2883         (WebInspector.ScriptSyntaxTree):
2884         Add support for abstracting and recursing through the Esprima template nodes.
2885
2886 2015-08-27  Joseph Pecoraro  <pecoraro@apple.com>
2887
2888         Web Inspector: Standardize on CSSStyleSheet.Type enum and move more protocol enum conversion to the manager
2889         https://bugs.webkit.org/show_bug.cgi?id=148515
2890
2891         Reviewed by Brian Burg.
2892
2893         * UserInterface/Controllers/CSSStyleManager.js:
2894         (WebInspector.CSSStyleManager.protocolStyleSheetOriginToEnum):
2895         (WebInspector.CSSStyleManager.protocolMediaSourceToEnum):
2896         Protocol enum to frontend enum conversion.
2897
2898         * UserInterface/Models/DOMNodeStyles.js:
2899         (WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle):
2900         (WebInspector.DOMNodeStyles.prototype.refresh):
2901         (WebInspector.DOMNodeStyles.prototype._parseRulePayload):
2902         (WebInspector.DOMNodeStyles.prototype._collectStylesInCascadeOrder):
2903         Use the manager to convert from a protocol payload enum to frontend num for css types.
2904
2905         * UserInterface/Models/CSSRule.js:
2906         (WebInspector.CSSRule.prototype.get editable):
2907         * UserInterface/Views/CSSStyleDeclarationSection.js:
2908         (WebInspector.CSSStyleDeclarationSection):
2909         (WebInspector.CSSStyleDeclarationSection.prototype.refresh):
2910         * UserInterface/Views/RulesStyleDetailsPanel.js:
2911         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.appendStyleSection):
2912         (WebInspector.RulesStyleDetailsPanel.prototype.refresh):
2913         * UserInterface/Views/VisualStyleSelectorSection.js:
2914         (WebInspector.VisualStyleSelectorSection.prototype.update.createSelectorItem):
2915         (WebInspector.VisualStyleSelectorSection.prototype.update.uniqueOrderedRules.set return):
2916         (WebInspector.VisualStyleSelectorSection.prototype.update.uniqueOrderedRules):
2917         (WebInspector.VisualStyleSelectorSection.prototype.update):
2918         * UserInterface/Views/VisualStyleSelectorTreeItem.js:
2919         (WebInspector.VisualStyleSelectorTreeItem):
2920         Update enum use.
2921
2922 2015-08-26  Nikita Vasilyev  <nvasilyev@apple.com>
2923
2924         Web Inspector: [Regression] [Mavericks]: Undocked Web Inspector toolbar is two different colors and has extra space
2925         https://bugs.webkit.org/show_bug.cgi?id=148510
2926
2927         Make body element transparent and remove extra padding above the toolbar only for OS X Mavericks.
2928
2929         Reviewed by Timothy Hatcher.
2930
2931         * UserInterface/Base/Main.js:
2932         (WebInspector.contentLoaded):
2933         * UserInterface/Views/Main.css:
2934         (body:not(.mavericks)):
2935         (body): Deleted.
2936         * UserInterface/Views/Toolbar.css:
2937         (body:not(.mavericks) .toolbar):
2938         (body.window-inactive:not(.mavericks) .toolbar):
2939         (body.mac-platform:not(.docked, .mavericks) .toolbar):
2940         (.toolbar): Deleted.
2941         (body.window-inactive .toolbar): Deleted.
2942         (body.mac-platform:not(.docked) .toolbar): Deleted.
2943
2944 2015-08-26  Joseph Pecoraro  <pecoraro@apple.com>
2945
2946         Web Inspector: Uncaught exception in CSS Completion - TypeError: undefined is not an object (evaluating 'this._values[middleIndex].startsWith')
2947         https://bugs.webkit.org/show_bug.cgi?id=148508
2948
2949         Reviewed by Timothy Hatcher.
2950
2951         * UserInterface/Models/CSSCompletions.js:
2952         (WebInspector.CSSCompletions):
2953         Add a comment explaining that the constructor may be called with
2954         a list of strings or a list of objects from the protocol. Add
2955         a fast path for when this is constructed with a list of strings.
2956
2957 2015-08-26  Matt Baker  <mattbaker@apple.com>
2958
2959         Web Inspector: Rendering Frames timeline pie chart should use SVG instead of 2D canvas
2960         https://bugs.webkit.org/show_bug.cgi?id=148457
2961
2962         Reviewed by Timothy Hatcher.
2963
2964         * UserInterface/Views/ChartDetailsSectionRow.css:
2965         (.details-section > .content > .group > .row.chart > .chart-content > svg > path.hidden):
2966         (.details-section > .content > .group > .row.chart > .chart-content > svg > path.chart-segment):
2967         (.details-section > .content > .group > .row.chart > .chart-content > svg > path.empty-chart):
2968         New styles for SVG chart elements.
2969
2970         * UserInterface/Views/ChartDetailsSectionRow.js:
2971         (WebInspector.ChartDetailsSectionRow):
2972         Calculate radii and create SVG chart elements.
2973         (WebInspector.ChartDetailsSectionRow.prototype.clearItems):
2974         Remove chart segment path elements.
2975         (WebInspector.ChartDetailsSectionRow.prototype._needsLayout):
2976         (WebInspector.ChartDetailsSectionRow.prototype._updateLayout.createSegmentPathData):
2977         Helper function that creates path data for a single pie chart segment.
2978         (WebInspector.ChartDetailsSectionRow.prototype._updateLayout):
2979         Creates path elements as needed, and updates path data for for non-zero data points.
2980         (WebInspector.ChartDetailsSectionRow.prototype.set innerLabel): Deleted.
2981         (WebInspector.ChartDetailsSectionRow.prototype.set innerRadius): Deleted.
2982         These properties are now set during construction.
2983         (WebInspector.ChartDetailsSectionRow.prototype.updateLayout): Deleted.
2984         Renamed to _updateLayout.
2985
2986         * UserInterface/Views/TimelineSidebarPanel.js:
2987         Chart size and inner radius passed to chart constructor.
2988
2989 2015-08-26  Joseph Pecoraro  <pecoraro@apple.com>
2990
2991         Web Inspector: Implement tracking of active stylesheets in the frontend
2992         https://bugs.webkit.org/show_bug.cgi?id=105828
2993
2994         Reviewed by Timothy Hatcher.
2995
2996         * UserInterface/Models/CSSStyleSheet.js:
2997         (WebInspector.CSSStyleSheet):
2998         (WebInspector.CSSStyleSheet.prototype.get origin):
2999         (WebInspector.CSSStyleSheet.prototype.updateInfo):
3000         Add a new origin attribute that has been sent from the backend for a while.
3001
3002         * UserInterface/Controllers/CSSStyleManager.js:
3003         (WebInspector.CSSStyleManager.prototype.styleSheetAdded):
3004         (WebInspector.CSSStyleManager.prototype.styleSheetRemoved):
3005         Handle the new events by managing the new CSSStyleSheets.
3006         
3007         (WebInspector.CSSStyleManager):
3008         (WebInspector.CSSStyleManager.prototype._mainResourceDidChange):
3009         Reset the legacy fetching flag. Fetching is only needed for legacy backends.
3010
3011         (WebInspector.CSSStyleManager.prototype._fetchInfoForAllStyleSheets):
3012         Include the new origin property in the legacy updateInfo path.
3013
3014         * UserInterface/Protocol/CSSObserver.js:
3015         (WebInspector.CSSObserver.prototype.styleSheetAdded):
3016         (WebInspector.CSSObserver.prototype.styleSheetRemoved):
3017         Forward to the manager.
3018
3019         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
3020         (WebInspector.CSSStyleDetailsSidebarPanel):
3021         Refresh the sidebar when stylesheets are added / removed, as that
3022         may affect the style of the select element.
3023
3024 2015-08-26  Joseph Pecoraro  <pecoraro@apple.com>
3025
3026         Web Inspector: Drop iOS 6 Legacy Remote Inspector Support
3027         https://bugs.webkit.org/show_bug.cgi?id=148456
3028
3029         Reviewed by Timothy Hatcher.
3030
3031         * UserInterface/Base/Main.js:
3032         (WebInspector.loaded):
3033         (WebInspector._updateReloadToolbarButton):
3034         (WebInspector._updateDownloadToolbarButton):
3035         (WebInspector.canArchiveMainFrame):
3036         * UserInterface/Controllers/CSSStyleManager.js:
3037         (WebInspector.CSSStyleManager.prototype._frameURLMapKey):
3038         (WebInspector.CSSStyleManager.prototype._lookupStyleSheet.styleSheetsFetched):
3039         (WebInspector.CSSStyleManager._updateResourceContent.fetchedStyleSheetContent):
3040         (WebInspector.CSSStyleManager.prototype._clearStyleSheetsForResource): Deleted.
3041         * UserInterface/Controllers/DOMTreeManager.js:
3042         (WebInspector.DOMTreeManager.prototype.highlightSelector):
3043         * UserInterface/Controllers/DebuggerManager.js:
3044         (WebInspector.DebuggerManager.prototype._setBreakpoint):
3045         * UserInterface/Controllers/JavaScriptLogViewController.js:
3046         * UserInterface/Controllers/RuntimeManager.js:
3047         (WebInspector.RuntimeManager):
3048         (WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):
3049         * UserInterface/Controllers/SourceMapManager.js:
3050         (WebInspector.SourceMapManager.prototype._loadAndParseSourceMap):
3051         * UserInterface/Controllers/StorageManager.js:
3052         (WebInspector.StorageManager):
3053         (WebInspector.StorageManager.prototype._addDOMStorageIfNeeded):
3054         (WebInspector.StorageManager.prototype.domStorageWasUpdated): Deleted.
3055         (WebInspector.StorageManager.prototype._domStorageForIdentifier): Deleted.
3056         (WebInspector.StorageManager.prototype._extraDomainsActivated): Deleted.
3057         * UserInterface/Controllers/TimelineManager.js:
3058         (WebInspector.TimelineManager.prototype._processRecord):
3059         * UserInterface/Models/Breakpoint.js:
3060         (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement):
3061         * UserInterface/Models/CSSCompletions.js:
3062         (WebInspector.CSSCompletions):
3063         (WebInspector.CSSCompletions.requestCSSCompletions):
3064         * UserInterface/Models/CSSKeywordCompletions.js:
3065         (WebInspector.CSSKeywordCompletions.addCustomCompletions): Deleted.
3066         * UserInterface/Models/CSSProperty.js:
3067         (WebInspector.CSSProperty):
3068         (WebInspector.CSSProperty.prototype.update):
3069         * UserInterface/Models/CSSRule.js:
3070         (WebInspector.CSSRule.prototype.get matchedSelectors): Deleted.
3071         (WebInspector.CSSRule.prototype.get matchedSelectorText): Deleted.
3072         * UserInterface/Models/DOMNodeStyles.js:
3073         (WebInspector.DOMNodeStyles.prototype.refresh.parseRuleMatchArrayPayload):
3074         (WebInspector.DOMNodeStyles.prototype.refresh.fetchedMatchedStyles):
3075         (WebInspector.DOMNodeStyles.prototype.changeRule.changeText):
3076         (WebInspector.DOMNodeStyles.prototype.changeStyleText):
3077         (WebInspector.DOMNodeStyles.prototype._parseStylePropertyPayload):
3078         (WebInspector.DOMNodeStyles.prototype._parseRulePayload):
3079         (WebInspector.DOMNodeStyles.prototype.changeStyleText.attributeChanged): Deleted.
3080         (WebInspector.DOMNodeStyles.prototype.changeStyleText.fetchedStyleSheetContent.contentDidChange): Deleted.
3081         (WebInspector.DOMNodeStyles.prototype.changeStyleText.fetchedStyleSheetContent): Deleted.
3082         (WebInspector.DOMNodeStyles.prototype._parseSourceRangePayload): Deleted.
3083         (WebInspector.DOMNodeStyles.prototype._parseSelectorListPayload): Deleted.
3084         * UserInterface/Models/DOMStorageObject.js:
3085         * UserInterface/Models/DOMTree.js:
3086         (WebInspector.DOMTree.prototype.requestRootDOMNode):
3087         (WebInspector.DOMTree.prototype._requestRootDOMNode):
3088         * UserInterface/Models/DatabaseObject.js:
3089         (WebInspector.DatabaseObject.prototype.executeSQL.queryCallback):
3090         (WebInspector.DatabaseObject.prototype.executeSQL):
3091         (WebInspector.DatabaseObject):
3092         (WebInspector.DatabaseObject.prototype.executeSQL.callback): Deleted.
3093         * UserInterface/Models/ExecutionContext.js:
3094         (WebInspector.ExecutionContext.supported): Deleted.
3095         * UserInterface/Models/IssueMessage.js:
3096         (WebInspector.IssueMessage): Deleted.
3097         * UserInterface/Models/LayoutTimelineRecord.js:
3098         (WebInspector.LayoutTimelineRecord):
3099         (WebInspector.LayoutTimelineRecord.prototype.get width):
3100         (WebInspector.LayoutTimelineRecord.prototype.get height):
3101         (WebInspector.LayoutTimelineRecord.prototype.get area):
3102         (WebInspector.LayoutTimelineRecord.prototype.get x): Deleted.
3103         (WebInspector.LayoutTimelineRecord.prototype.get y): Deleted.
3104         (WebInspector.LayoutTimelineRecord.prototype.get rect): Deleted.
3105         * UserInterface/Models/ProfileNode.js:
3106         * UserInterface/Models/Resource.js:
3107         (WebInspector.Resource.prototype.associateWithScript):
3108         * UserInterface/Models/ScriptTimelineRecord.js:
3109         (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload.profileNodeFromPayload):
3110         * UserInterface/Models/SourceMapResource.js:
3111         (WebInspector.SourceMapResource.prototype.requestContentFromBackend):
3112         * UserInterface/Models/TextRange.js:
3113         (WebInspector.TextRange.prototype.resolveLinesAndColumns.countNewLineCharacters): Deleted.
3114         (WebInspector.TextRange.prototype.resolveLinesAndColumns): Deleted.
3115         * UserInterface/Models/TimelineRecording.js:
3116         * UserInterface/Protocol/ConsoleObserver.js:
3117         (WebInspector.ConsoleObserver.prototype.messageAdded): Deleted.
3118         * UserInterface/Protocol/DOMStorageObserver.js:
3119         (WebInspector.DOMStorageObserver.prototype.addDOMStorage): Deleted.
3120         (WebInspector.DOMStorageObserver.prototype.updateDOMStorage): Deleted.
3121         * UserInterface/Protocol/DatabaseObserver.js:
3122         (WebInspector.DatabaseObserver.prototype.sqlTransactionSucceeded): Deleted.
3123         (WebInspector.DatabaseObserver.prototype.sqlTransactionFailed): Deleted.
3124         (WebInspector.DatabaseObserver): Deleted.
3125         * UserInterface/Protocol/Legacy/6.0/InspectorBackendCommands.js: Removed.
3126         * UserInterface/Views/CookieStorageContentView.js:
3127         (WebInspector.CookieStorageContentView.prototype._deleteCallback):
3128         (WebInspector.CookieStorageContentView):
3129         * UserInterface/Views/DOMTreeContentView.js:
3130         (WebInspector.DOMTreeContentView.prototype._updateCompositingBordersButtonToMatchPageSettings): Deleted.
3131         * UserInterface/Views/EventListenerSectionGroup.js:
3132         (WebInspector.EventListenerSectionGroup.prototype._functionTextOrLink):
3133         (WebInspector.EventListenerSectionGroup):
3134         * UserInterface/Views/LayoutTimelineView.js:
3135         (WebInspector.LayoutTimelineView.prototype._showHighlightForRecord):
3136         * UserInterface/Views/QuickConsole.js:
3137         (WebInspector.QuickConsole):
3138         (WebInspector.QuickConsole.prototype._createExecutionContextPathComponentFromFrame):
3139         (WebInspector.QuickConsole.prototype._frameAdded): Deleted.
3140         (WebInspector.QuickConsole.prototype._frameRemoved): Deleted.
3141         (WebInspector.QuickConsole.prototype._frameMainResourceChanged): Deleted.
3142         * UserInterface/Views/ScriptTimelineDataGridNode.js:
3143         (WebInspector.ScriptTimelineDataGridNode.prototype.get data):
3144         * UserInterface/Views/SourceCodeTextEditor.js:
3145         (WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenAnnotator):
3146         (WebInspector.SourceCodeTextEditor.prototype._makeBasicBlockAnnotator):
3147         * Versions/Inspector-iOS-6.0.json: Removed.
3148         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
3149         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
3150
3151 2015-08-26  Nikita Vasilyev  <nvasilyev@apple.com>
3152
3153         Web Inspector: Command-Enter should evaluate selected JS in Debugger/Sources
3154         https://bugs.webkit.org/show_bug.cgi?id=148368
3155
3156         Reviewed by Timothy Hatcher.
3157
3158         * UserInterface/Controllers/CodeMirrorCompletionController.js:
3159         (WebInspector.CodeMirrorCompletionController):
3160         (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions):
3161         Evaluate selected text in the console only for JS and HTML resources. HTML resources
3162         should be allowed because they can have commented out (inside <!-- -->) and
3163         inline (onclick="") JavaScript.
3164
3165 2015-08-25  Brian Burg  <bburg@apple.com>
3166
3167         Web Inspector: no need to allocate protocolErrors array for every dispatched backend command
3168         https://bugs.webkit.org/show_bug.cgi?id=146466
3169
3170         Reviewed by Joseph Pecoraro.
3171
3172         * UserInterface/TestStub.html: Fix a typo, this property exists on ProtocolTest.
3173
3174 2015-08-26  Matt Baker  <mattbaker@apple.com>
3175
3176         Web Inspector: Rendering Frames legend item checkbox colors are too light
3177         https://bugs.webkit.org/show_bug.cgi?id=148465
3178
3179         Reviewed by Timothy Hatcher.
3180
3181         * UserInterface/Views/ChartDetailsSectionRow.js:
3182         (WebInspector.ChartDetailsSectionRow.prototype._addCheckboxColorFilter):
3183         Gamma primitive should use an "exponent" attribute instead of "value".
3184         Increased gamma exponent to 1.4.
3185
3186 2015-08-26  Nikita Vasilyev  <nvasilyev@apple.com>
3187
3188         Web Inspector: Make DOM node attribute changes highlighting less obnoxious
3189         https://bugs.webkit.org/show_bug.cgi?id=148050
3190
3191         Reviewed by Timothy Hatcher.
3192
3193         * UserInterface/Views/DOMTreeOutline.css:
3194         (@keyframes node-state-changed): Change color to a light green.
3195         (.node-state-changed): Add a slight ease-in for the animation function.
3196
3197 2015-08-26  Joseph Pecoraro  <pecoraro@apple.com>
3198
3199         Web Inspector: Add Refresh button to Cookie Content View
3200         https://bugs.webkit.org/show_bug.cgi?id=148468
3201
3202         Reviewed by Timothy Hatcher.
3203
3204         * UserInterface/Views/CookieStorageContentView.js:
3205         (WebInspector.CookieStorageContentView):
3206         (WebInspector.CookieStorageContentView.prototype.get navigationItems):
3207         (WebInspector.CookieStorageContentView.prototype._refreshButtonClicked):
3208
3209 2015-08-25  Brian Burg  <bburg@apple.com>
3210
3211         Web Inspector: message dispatch metrics should use high-resolution timing data
3212         https://bugs.webkit.org/show_bug.cgi?id=135467
3213
3214         Reviewed by Timothy Hatcher.
3215
3216         Use performance.now if it's available, otherwise fallback to Date.now().
3217         Format timestamps with fixed decimal point, and sprinkle some ES6.
3218
3219         * UserInterface/Base/Utilities.js:
3220         (timestamp): Added.
3221         * UserInterface/Protocol/InspectorBackend.js:
3222         (InspectorBackendClass):
3223         (InspectorBackendClass.prototype._sendCommandToBackendWithCallback):
3224         (InspectorBackendClass.prototype._dispatchEvent):
3225         * UserInterface/Protocol/MessageDispatcher.js:
3226         (WebInspector.dispatchNextQueuedMessageFromBackend):
3227         (WebInspector.dispatchMessageFromBackend): Be consistent about using `this`.
3228
3229 2015-08-25  Matt Baker  <mattbaker@apple.com>
3230
3231         Web Inspector: Rendering Frames pie chart should use the needsLayout/updateLayout idiom
3232         https://bugs.webkit.org/show_bug.cgi?id=148412
3233
3234         Reviewed by Timothy Hatcher.
3235
3236         * UserInterface/Views/ChartDetailsSectionRow.js:
3237         (WebInspector.ChartDetailsSectionRow):
3238         (WebInspector.ChartDetailsSectionRow.prototype.set innerLabel):
3239         (WebInspector.ChartDetailsSectionRow.prototype.set innerRadius):
3240         Schedule a layout.
3241         (WebInspector.ChartDetailsSectionRow.prototype.set data): Deleted.
3242         Replaced by addItem, setItemValue, and clearItems.
3243         (WebInspector.ChartDetailsSectionRow.prototype.addItem):
3244         (WebInspector.ChartDetailsSectionRow.prototype.setItemValue):
3245         (WebInspector.ChartDetailsSectionRow.prototype.clearItems):
3246         Add/update data points and schedule a layout.
3247         (WebInspector.ChartDetailsSectionRow.prototype._needsLayout):
3248         (WebInspector.ChartDetailsSectionRow.prototype.updateLayout):
3249         Update legend and draw pie chart.
3250         (WebInspector.ChartDetailsSectionRow.prototype._createLegend): Deleted.
3251         Refactored as _updateLegend.
3252         (WebInspector.ChartDetailsSectionRow.prototype._refresh): Deleted.
3253         Refactored as updateLayout.
3254
3255         * UserInterface/Views/TimelineSidebarPanel.js:
3256         (WebInspector.TimelineSidebarPanel):
3257         Add chart data points once.
3258         (WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart):
3259         Update chart values.
3260
3261 2015-08-24  Brian Burg  <bburg@apple.com>
3262
3263         Web Inspector: add protocol test for existing error handling performed by the backend
3264         https://bugs.webkit.org/show_bug.cgi?id=147097
3265
3266         Reviewed by Joseph Pecoraro.
3267
3268         Add a way to send raw messages to the backend while still awaiting on responses.
3269         This is necessary to test protocol error handling in the inspector backend.
3270
3271         * UserInterface/Test/InspectorProtocol.js:
3272         (InspectorProtocol.sendCommand):
3273         (InspectorProtocol.awaitCommand): Use awaitMessage internally.
3274         (InspectorProtocol.awaitMessage): Added. Use a dummy requestId if none is supplied.
3275         (InspectorProtocol._sendMessage): Added.
3276         (InspectorProtocol.dispatchMessageFromBackend):
3277         Reject with the error object instead of the error message, so error code/data can be checked.
3278         (InspectorProtocol.sendMessage): Deleted, it is now a private method.
3279
3280 2015-08-24  Timothy Hatcher  <timothy@apple.com>
3281
3282         Web Inspector: Change webkitAnimationEnd use, should be animationEnd
3283         https://bugs.webkit.org/show_bug.cgi?id=148385
3284
3285         Reviewed by Joseph Pecoraro.
3286
3287         * UserInterface/Views/DOMTreeElement.js:
3288         (WebInspector.DOMTreeElement.prototype.emphasizeSearchHighlight):
3289         * UserInterface/Views/DashboardContainerView.js:
3290         (WebInspector.DashboardContainerView.prototype._showDashboardView.animationEnded):
3291         (WebInspector.DashboardContainerView.prototype._showDashboardView):
3292         (WebInspector.DashboardContainerView.prototype._hideDashboardView.animationEnded):
3293         (WebInspector.DashboardContainerView.prototype._hideDashboardView):
3294         * UserInterface/Views/DefaultDashboardView.js:
3295         (WebInspector.DefaultDashboardView.prototype._setConsoleItemValue.animationEnded):
3296         (WebInspector.DefaultDashboardView.prototype._setConsoleItemValue):
3297         * UserInterface/Views/TextEditor.js:
3298         (WebInspector.TextEditor.prototype.revealPosition.revealAndHighlightLine):
3299         (WebInspector.TextEditor.prototype.revealPosition):
3300         (WebInspector.TextEditor.prototype._revealSearchResult):
3301
3302 2015-08-24  Nikita Vasilyev  <nvasilyev@apple.com>
3303
3304         REGRESSION (r188581): Web Inspector: Console user command isn't visible when it's expected to be
3305         https://bugs.webkit.org/show_bug.cgi?id=148283
3306
3307         One of the improvements of r188581 "Option-Enter should commit console command
3308         without erasing the prompt" was not to show a console user command if it's the
3309         same as the previous one.
3310
3311         However, there could be a lot of other messages between the last two user
3312         commands - console.log, CSS warnings, etc. In that case we should show a console
3313         user command again by resetting _lastCommitted.
3314
3315         Reviewed by Timothy Hatcher.
3316
3317         * UserInterface/Controllers/JavaScriptLogViewController.js:
3318         (WebInspector.JavaScriptLogViewController):
3319         (WebInspector.JavaScriptLogViewController.prototype.startNewSession):
3320         (WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessageView):
3321         Reset _lastCommitted for all messages except for user commands and use command results.
3322
3323 2015-08-24  Matt Baker  <mattbaker@apple.com>
3324
3325         Web Inspector: Rendering Frames filter checkboxes all become checked during recording
3326         https://bugs.webkit.org/show_bug.cgi?id=148375
3327
3328         Reviewed by Timothy Hatcher.
3329
3330         * UserInterface/Views/ChartDetailsSectionRow.js:
3331         (WebInspector.ChartDetailsSectionRow.prototype._createLegend):
3332         Removed incorrect code that forced checked to true.
3333
3334         * UserInterface/Views/TimelineSidebarPanel.js:
3335         (WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart):
3336         Persist legend item checkbox state when updating the chart.
3337
3338 2015-08-23  Matt Baker  <mattbaker@apple.com>
3339
3340         Web Inspector: Filtered style not applied to graph elements during timeline recording
3341