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