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