1 2015-10-27 Timothy Hatcher <timothy@apple.com>
3 Web Inspector: Remove image generators and use SVG directly
4 https://bugs.webkit.org/show_bug.cgi?id=150602
6 Reviewed by Brian Burg.
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.
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.
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.
24 * UserInterface/Base/ImageUtilities.js:
25 (useSVGSymbol): Added.
27 (_devicePixelRatioChanged): Deleted.
28 (_registerGeneratedImageUpdateFunction): Deleted.
29 (_logSQLError): Deleted.
30 (_logSQLTransactionError): Deleted.
31 (_prefetchCachedImagesAndUpdate): Deleted.
32 (_prefetchCachedImagesAndUpdate.): Deleted.
34 (restoreImageFromStorage): Deleted.
35 (imageLoaded): Deleted.
36 (ensureImageIsLoaded): Deleted.
37 (restoreImages.restoreActiveImages): Deleted.
38 (restoreImages): Deleted.
39 (restoreImage): 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.
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):
153 2015-10-28 Timothy Hatcher <timothy@apple.com>
155 Web Inspector: jsmin.py mistakenly removes whitespace from template literal strings
156 https://bugs.webkit.org/show_bug.cgi?id=148728
158 Reviewed by Joseph Pecoraro.
161 (JavascriptMinify.minify): Make backtick a quoting character.
163 2015-10-28 Joseph Pecoraro <pecoraro@apple.com>
165 Web Inspector: Timeline recording start button missing when WEB_REPLAY disabled (no ReplayAgent)
166 https://bugs.webkit.org/show_bug.cgi?id=150633
168 Reviewed by Timothy Hatcher.
170 * UserInterface/Views/TimelineSidebarPanel.js:
171 (WebInspector.TimelineSidebarPanel.prototype._updateReplayInterfaceVisibility):
172 Ensure we pass a boolean to classList.toggle.
174 2015-10-27 Joseph Pecoraro <pecoraro@apple.com>
176 Web Inspector: Remove Timeline MarkDOMContent and MarkLoad, data is already available
177 https://bugs.webkit.org/show_bug.cgi?id=150615
179 Reviewed by Timothy Hatcher.
181 * UserInterface/Controllers/TimelineManager.js:
182 (WebInspector.TimelineManager.prototype._processEvent):
183 Remove the now unneed mark event handling.
185 (WebInspector.TimelineManager.prototype.pageDOMContentLoadedEventFired):
186 (WebInspector.TimelineManager.prototype.pageLoadEventFired):
187 Update the main frame and create markers for the current recording.
189 * UserInterface/Protocol/PageObserver.js:
190 (WebInspector.PageObserver.prototype.domContentEventFired):
191 (WebInspector.PageObserver.prototype.loadEventFired):
192 Forward to TimelineManager.
194 2015-10-27 Joseph Pecoraro <pecoraro@apple.com>
196 Web Inspector: Remove unused / duplicated XHR timeline instrumentation
197 https://bugs.webkit.org/show_bug.cgi?id=150605
199 Reviewed by Timothy Hatcher.
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.
206 2015-10-27 Matt Baker <mattbaker@apple.com>
208 REGRESSION: Web Inspector: DOM path bar blinks when modifying inline styles
209 https://bugs.webkit.org/show_bug.cgi?id=149258
211 Reviewed by Timothy Hatcher.
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.
217 * UserInterface/Views/ContentBrowser.js:
218 (WebInspector.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange):
219 Force NavigationBar to update synchronously.
221 2015-10-27 Joseph Pecoraro <pecoraro@apple.com>
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
226 Reviewed by Brian Burg.
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.
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.
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.
249 2015-10-26 Matt Baker <mattbaker@apple.com>
251 Web Inspector: WebInspector.Object can dispatch constructor-level events multiple times
252 https://bugs.webkit.org/show_bug.cgi?id=150579
254 Reviewed by Timothy Hatcher.
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.
260 * UserInterface/Base/Object.js:
261 (WebInspector.Object.prototype.dispatchEventToListeners.dispatch):
262 (WebInspector.Object.prototype.dispatchEventToListeners):
263 (WebInspector.Object):
265 2015-10-26 Matt Baker <mattbaker@apple.com>
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
270 Reviewed by Timothy Hatcher.
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
278 Filtering tree elements requires that the timeline overview is up to date, which was the
279 cause the assertion deluge.
281 * UserInterface/Views/TimelineRecordingContentView.js:
282 (WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
284 2015-10-26 Joseph Pecoraro <pecoraro@apple.com>
286 Web Inspector: Spacebar to start recording should not cause system beep
287 https://bugs.webkit.org/show_bug.cgi?id=150573
289 Reviewed by Timothy Hatcher.
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.
297 2015-10-26 Matt Baker <mattbaker@apple.com>
299 Web Inspector: Cleanup sidebar panels, reduce `delete` and use Maps instead of objects
300 https://bugs.webkit.org/show_bug.cgi?id=150548
302 Reviewed by Timothy Hatcher.
304 * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
305 (WebInspector.LayerTreeDetailsSidebarPanel):
306 (WebInspector.LayerTreeDetailsSidebarPanel.prototype._updateDataGrid):
307 (WebInspector.LayerTreeDetailsSidebarPanel.prototype._dataGridNodeForLayer):
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.
318 * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
319 (WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateCallFramesSection):
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):
328 2015-10-24 Nikita Vasilyev <nvasilyev@apple.com>
330 Unreviewed, rolling out r191419.
331 https://bugs.webkit.org/show_bug.cgi?id=150537
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
339 2015-10-23 Joseph Pecoraro <pecoraro@apple.com>
341 Web Inspector: Remove unused ScrollLayer Timeline EventType
342 https://bugs.webkit.org/show_bug.cgi?id=150518
344 Reviewed by Timothy Hatcher.
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:
353 2015-10-23 Joseph Pecoraro <pecoraro@apple.com>
355 Web Inspector: xlink:href should be linkified
356 https://bugs.webkit.org/show_bug.cgi?id=150505
358 Reviewed by Timothy Hatcher.
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
365 * UserInterface/Base/URLUtilities.js:
367 Better handling absoluteURL("#frag", baseURL).
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.
375 2015-10-23 Nikita Vasilyev <nvasilyev@apple.com>
377 Web Inspector: Command-Enter in Debugger should show a popover with evaluation result
378 https://bugs.webkit.org/show_bug.cgi?id=149195
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.
383 Reviewed by Timothy Hatcher.
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.
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.
396 (WebInspector.CodeMirrorTokenTrackingController.prototype.set mode):
397 (WebInspector.CodeMirrorTokenTrackingController.prototype.removeHighlightedRange):
400 (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseMovedWithMarkedText):
401 When a token isn't hovered, hide it only when it was triggered not by the keyboard.
403 (WebInspector.CodeMirrorTokenTrackingController.prototype._markedTextIsNoLongerHovered):
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.
410 (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseMovedOutOfEditor):
411 (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseButtonWasReleasedOverEditor):
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.
419 (WebInspector.CodeMirrorTokenTrackingController.prototype._resetTrackingStates):
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.
427 2015-10-23 Devin Rousso <dcrousso+webkit@gmail.com>
429 Web Inspector: Visual sidebar should support multiple backgrounds
430 https://bugs.webkit.org/show_bug.cgi?id=148310
432 Reviewed by Timothy Hatcher.
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.
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.
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.
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.
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.
498 2015-10-22 Timothy Hatcher <timothy@apple.com>
500 Web Inspector: Remove generateColoredImagesForCSS and its clients
501 https://bugs.webkit.org/show_bug.cgi?id=150474
503 Reviewed by Joseph Pecoraro.
505 * UserInterface/Base/ImageUtilities.js:
506 (generateColoredImage): Deleted.
507 (imageLoaded): Deleted.
508 (ensureImageIsLoaded): Deleted.
509 (restoreImages.restoreActiveImages): Deleted.
510 (restoreImages): Deleted.
511 (restoreImage): Deleted.
513 (generateImage): Deleted.
514 (generateColoredImagesForCSS): Deleted.
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.
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.
548 * UserInterface/Views/CSSStyleDeclarationSection.css:
549 (.style-declaration-section.locked > .header::before):
551 * UserInterface/Views/CSSStyleDeclarationSection.js:
552 (WebInspector.CSSStyleDeclarationSection): Deleted.
554 * UserInterface/Views/ConsoleMessageView.css:
555 (.console-message.expandable .console-top-level-message::before):
556 (.console-message.expandable.expanded .console-top-level-message::before):
558 * UserInterface/Views/ContentBrowser.js:
559 (WebInspector.ContentBrowser): Use BackForwardArrows.svg.
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):
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):
575 * UserInterface/Views/DataGrid.js:
576 (WebInspector.DataGrid): Deleted call to _generateSortIndicatorImagesIfNeeded.
577 (WebInspector.DataGrid.prototype._generateSortIndicatorImagesIfNeeded): Deleted.
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):
585 * UserInterface/Views/DetailsSection.js:
586 (WebInspector.DetailsSection): Deleted call to _generateDisclosureTrianglesIfNeeded.
587 (WebInspector.DetailsSection.prototype._generateDisclosureTrianglesIfNeeded): Deleted.
589 * UserInterface/Views/ErrorObjectView.css:
590 (.error-object > .formatted-error::before):
591 (.error-object.expanded > .formatted-error::before):
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):
599 * UserInterface/Views/FindBanner.js:
600 (WebInspector.FindBanner): Deleted call to _generateButtonsGlyphsIfNeeded.
601 (WebInspector.FindBanner.prototype._generateButtonsGlyphsIfNeeded): Deleted.
603 * UserInterface/Views/LogContentView.css:
604 (.console-group-title::before):
605 (.console-group.collapsed .console-group-title::before):
607 * UserInterface/Views/Main.css:
609 (.go-to-arrow:active):
610 (:matches(:focus, .force-focus) .selected .go-to-arrow):
611 (:matches(:focus, .force-focus) .selected .go-to-arrow:active):
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):
619 * UserInterface/Views/NavigationSidebarPanel.js:
620 (WebInspector.NavigationSidebarPanel): Deleted call to _generateDisclosureTrianglesIfNeeded.
621 (WebInspector.NavigationSidebarPanel.prototype._generateDisclosureTrianglesIfNeeded): Deleted.
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.
628 * UserInterface/Views/ObjectTreeView.css:
629 (.object-tree > :matches(.title, .object-preview)::before):
630 (.object-tree.expanded > :matches(.title, .object-preview)::before):
632 * UserInterface/Views/TypeTreeElement.css:
633 (.type-tree-element.parent > .disclosure-button):
634 (.type-tree-element.parent.expanded > .disclosure-button):
636 2015-10-22 Matt Baker <mattbaker@apple.com>
638 Web Inspector: CSS Data URIs count against page weight twice
639 https://bugs.webkit.org/show_bug.cgi?id=150101
641 Reviewed by Timothy Hatcher.
643 * UserInterface/Models/DefaultDashboard.js:
644 (WebInspector.DefaultDashboard.prototype._resourceSizeDidChange):
645 Exclude resources with a data URI from the total page weight.
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`.
654 2015-10-22 Joseph Pecoraro <pecoraro@apple.com>
656 Web Inspector: Remove unused Timeline GCEvent Record type
657 https://bugs.webkit.org/show_bug.cgi?id=150477
659 Reviewed by Timothy Hatcher.
661 iOS backends never emitted a GCEvent timeline event.
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:
670 2015-10-22 Joseph Pecoraro <pecoraro@apple.com>
672 Web Inspector: srcset attributes should have hyperlinks to the resources
673 https://bugs.webkit.org/show_bug.cgi?id=150409
675 Reviewed by Timothy Hatcher.
677 Follow-up tweaks and fixes that were intended to be landed.
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.
685 * UserInterface/Views/DOMTreeElement.js:
686 (WebInspector.DOMTreeElement.prototype._buildAttributeDOM):
687 Trim to eliminate leading whitespace.
689 2015-10-22 Joseph Pecoraro <pecoraro@apple.com>
691 Web Inspector: Restore :not(:placeholder-shown) behavior on search bars with comments
692 https://bugs.webkit.org/show_bug.cgi?id=150452
694 Reviewed by Timothy Hatcher.
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.
702 2015-10-22 Devin Rousso <dcrousso+webkit@gmail.com>
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
707 Reviewed by Timothy Hatcher.
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.
712 * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
713 (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey):
714 (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey):
716 2015-10-21 Joseph Pecoraro <pecoraro@apple.com>
718 Web Inspector: srcset attributes should have hyperlinks to the resources
719 https://bugs.webkit.org/show_bug.cgi?id=150409
721 Reviewed by Timothy Hatcher.
723 The "srcset" attribute parsing is a simplification of:
724 https://html.spec.whatwg.org/multipage/embedded-content.html#attr-img-srcset
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.
730 * UserInterface/Views/CodeMirrorAdditions.js:
731 (tokenizeSrcSetString):
733 When parsing srcset attribute, parse links as link tokens
734 so that they are linkified in resource content views.
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.
741 2015-10-21 Devin Rousso <dcrousso+webkit@gmail.com>
743 Web Inspector: Autocompletion previews in the CSS sidebar do not apply
744 https://bugs.webkit.org/show_bug.cgi?id=147720
746 Reviewed by Timothy Hatcher.
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.
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.
766 2015-10-21 Devin Rousso <dcrousso+webkit@gmail.com>
768 Web Inspector: Add forgotten WebInspector.UIString from r190521
769 https://bugs.webkit.org/show_bug.cgi?id=150425
771 Reviewed by Timothy Hatcher.
773 * Localizations/en.lproj/localizedStrings.js:
774 * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
775 (UserInterface/Views/CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded)
777 2015-10-21 Devin Rousso <dcrousso+webkit@gmail.com>
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
782 Reviewed by Timothy Hatcher.
784 Adds "!!" in front of force parameters in classList.toggle calls that
785 could possibly be undefined (thereby breaking the UI).
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):
794 2015-10-21 Devin Rousso <dcrousso+webkit@gmail.com>
796 Web Inspector: Option-Up doesn't increment certain attribute values
797 https://bugs.webkit.org/show_bug.cgi?id=149257
799 Reviewed by Brian Burg.
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.
806 * UserInterface/Views/EditingSupport.js:
807 (WebInspector.startEditing.handleEditingResult):
808 Replaced var with let.
810 2015-10-21 Joseph Pecoraro <pecoraro@apple.com>
812 Web Inspector: Use some CSS Variables in Web Inspector
813 https://bugs.webkit.org/show_bug.cgi?id=150405
815 Reviewed by Timothy Hatcher.
817 * UserInterface/Main.html:
818 Include the new variables stylesheet.
820 * UserInterface/Views/Variables.css: Added.
822 Introduce new global variables.
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):
836 (.formatted-boolean):
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.
853 2015-10-21 Nikita Vasilyev <nvasilyev@apple.com>
855 Web Inspector: Typo in a property name: style.inerhited
856 https://bugs.webkit.org/show_bug.cgi?id=150391
858 Reviewed by Csaba Osztrogonác.
860 * UserInterface/Views/RulesStyleDetailsPanel.js:
861 (WebInspector.RulesStyleDetailsPanel.prototype.refresh):
863 2015-10-20 Nikita Vasilyev <nvasilyev@apple.com>
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
868 Reviewed by Timothy Hatcher.
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.
874 2015-10-20 Joseph Pecoraro <pecoraro@apple.com>
876 Web Inspector: JavaScriptCore should parse sourceURL and sourceMappingURL directives
877 https://bugs.webkit.org/show_bug.cgi?id=150096
879 Reviewed by Geoffrey Garen.
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.
887 2015-10-19 Xabier Rodriguez Calvar <calvaris@igalia.com>
889 [Streams API] Add skeleton for initial WritableStream support
890 https://bugs.webkit.org/show_bug.cgi?id=149951
892 Reviewed by Darin Adler.
894 * UserInterface/Models/NativeFunctionParameters.js: Added support for WritableStream.
896 2015-10-19 James Craig <jcraig@apple.com>
898 Web Inspector: AX: console list 'input'/'output' markers are not perceivable
899 https://bugs.webkit.org/show_bug.cgi?id=133045
901 Enabling WebKit Web Inspector console pseudo-element labels using the new CSS4 'alt' property.
903 Reviewed by Brian Burg.
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.
910 2015-10-18 Joseph Pecoraro <pecoraro@apple.com>
912 Web Inspector: Console Search should update when console is cleared
913 https://bugs.webkit.org/show_bug.cgi?id=150141
915 Reviewed by Brian Burg.
917 * UserInterface/Views/LogContentView.js:
918 (WebInspector.LogContentView.prototype._logCleared):
919 Reperform the search if there is a search query.
921 (WebInspector.LogContentView.prototype._filterMessageElements):
922 Reperform the current search.
924 2015-10-16 Joseph Pecoraro <pecoraro@apple.com>
926 Web Inspector: Add "unset" to CSS value autocompletion
927 https://bugs.webkit.org/show_bug.cgi?id=127616
929 Reviewed by Brian Burg.
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.
937 * UserInterface/Views/VisualStyleDetailsPanel.js:
938 (WebInspector.VisualStyleDetailsPanel):
939 (WebInspector.VisualStyleDetailsPanel.prototype._populateDisplaySection):
940 (WebInspector.VisualStyleDetailsPanel.prototype._populateAlignmentSection):
941 Add "Unset" alongside "Initial".
943 2015-10-14 Joseph Pecoraro <pecoraro@apple.com>
945 Web Inspector: Include Garbage Collection Event in Timeline
946 https://bugs.webkit.org/show_bug.cgi?id=142510
948 Reviewed by Geoffrey Garen and Brian Burg.
950 * UserInterface/Base/Utilities.js:
951 (Array.prototype.partition):
952 Helper to partition an Array into two arrays.
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.
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.
974 * UserInterface/Controllers/HeapManager.js: Added.
975 (WebInspector.HeapManager):
976 (WebInspector.HeapManager.prototype.garbageCollected):
977 Dispatch events with the GC object.
979 * UserInterface/Controllers/TimelineManager.js:
980 (WebInspector.TimelineManager):
981 (WebInspector.TimelineManager.prototype._garbageCollected):
982 Include new GC Timeline Events as Script events.
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.
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):
1009 * UserInterface/Views/TimelineRecordBar.js:
1010 (WebInspector.TimelineRecordBar.createCombinedBars):
1011 Simplify by storing start time into a variable.
1013 * UserInterface/Views/TimelineRecordTreeElement.js:
1014 (WebInspector.TimelineRecordTreeElement):
1017 2015-10-15 Commit Queue <commit-queue@webkit.org>
1019 Unreviewed, rolling out r191135.
1020 https://bugs.webkit.org/show_bug.cgi?id=150197
1022 This patch causes 50+ LayoutTest crashes related to the
1023 inspector (Requested by ryanhaddad on #webkit).
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
1032 2015-10-15 Joseph Pecoraro <pecoraro@apple.com>
1034 Web Inspector: JavaScriptCore should parse sourceURL and sourceMappingURL directives
1035 https://bugs.webkit.org/show_bug.cgi?id=150096
1037 Reviewed by Geoffrey Garen.
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.
1045 2015-10-13 João Oliveira <hello@jxs.pt>
1047 Web Inspector: Console SearchBar should work more like ContentBrowser FindBanner
1048 https://bugs.webkit.org/show_bug.cgi?id=149505
1050 Reviewed by Joseph Pecoraro.
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.
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.
1086 2015-10-13 Nikita Vasilyev <nvasilyev@apple.com>
1088 REGRESSION(r189567): Web Inspector: Clipped filter icons when debugger sidebar is narrow
1089 https://bugs.webkit.org/show_bug.cgi?id=150023
1091 r189567 changed flexbox items' default min-width from 0 to auto.
1092 Explicitly set it to 0 in CSS.
1094 Reviewed by Brian Burg.
1096 * UserInterface/Views/FilterBar.css:
1097 (.filter-bar > input[type="search"]):
1099 2015-10-13 Yusuke Suzuki <utatane.tea@gmail.com>
1101 Web Inspector: Don't shadow global Object constructor in WebInspector.Object class definition
1102 https://bugs.webkit.org/show_bug.cgi?id=150093
1104 Reviewed by Joseph Pecoraro.
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.
1111 To solve this issue, we changed the `class Object` to `class WebInspectorObject`.
1112 And we expose this class as a `WebInspector.Object`.
1114 * UserInterface/Base/Object.js:
1116 2015-10-10 Nikita Vasilyev <nvasilyev@apple.com>
1118 Web Inspector: Improve error messages for internal Inspector code
1119 https://bugs.webkit.org/show_bug.cgi?id=149995
1121 Don't log "error.stack" since the error view already includes a nicely formatted stacktrace.
1123 Reviewed by Timothy Hatcher.
1125 * UserInterface/Protocol/InspectorBackend.js:
1126 (InspectorBackendClass.prototype._dispatchResponseToCallback):
1127 (InspectorBackendClass.prototype._dispatchEvent):
1129 2015-10-08 Nikita Vasilyev <nvasilyev@apple.com>
1131 Web Inspector: Stack trace view doesn't properly display lines without function names
1132 https://bugs.webkit.org/show_bug.cgi?id=149922
1134 Reviewed by Timothy Hatcher.
1136 * UserInterface/Models/StackTrace.js:
1137 (WebInspector.StackTrace._parseStackTrace):
1138 (WebInspector.StackTrace._parseLocation): Added.
1140 2015-10-08 Nikita Vasilyev <nvasilyev@apple.com>
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
1145 Reviewed by Timothy Hatcher.
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.
1153 2015-10-06 Nikita Vasilyev <nvasilyev@apple.com>
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
1158 lineNumber should be a number type but it was a string.
1160 Reviewed by Timothy Hatcher.
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.
1170 2015-10-06 Devin Rousso <dcrousso+webkit@gmail.com>
1172 Web Inspector: Fix spacing of FindBanner prev/next buttons
1173 https://bugs.webkit.org/show_bug.cgi?id=149717
1175 Reviewed by Darin Adler.
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.
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.
1189 2015-10-06 Joseph Pecoraro <pecoraro@apple.com>
1191 Web Inspector: Simplify TimelineRecordBar a bit
1192 https://bugs.webkit.org/show_bug.cgi?id=149733
1194 Reviewed by Timothy Hatcher.
1196 * UserInterface/Views/TimelineRecordBar.js:
1197 (WebInspector.TimelineRecordBar.prototype.set records):
1199 2015-10-05 Nikita Vasilyev <nvasilyev@apple.com>
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
1204 Reviewed by Joseph Pecoraro.
1206 * UserInterface/Views/ConsoleMessageView.js:
1207 (WebInspector.ConsoleMessageView.prototype._appendExtraParameters):
1208 Don't format errors as objects.
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.
1219 * UserInterface/Views/ErrorObjectView.css:
1221 Display an error object on the same line as a list bullet.
1223 2015-10-05 Myles C. Maxfield <mmaxfield@apple.com>
1225 Unprefix -webkit-font-feature-settings
1226 https://bugs.webkit.org/show_bug.cgi?id=149722
1228 Reviewed by Sam Weinig.
1230 * UserInterface/Models/CSSKeywordCompletions.js:
1232 2015-10-04 Nikita Vasilyev <nvasilyev@apple.com>
1234 Web Inspector: Wrong column numbers in error object views
1235 https://bugs.webkit.org/show_bug.cgi?id=149795
1237 Convert columnNumber and lineNumber properties from strings to numbers
1238 to prevent accidental string concatenations.
1240 Reviewed by Timothy Hatcher.
1242 * UserInterface/Models/StackTrace.js:
1243 (WebInspector.StackTrace._parseStackTrace):
1245 2015-10-02 Matt Baker <mattbaker@apple.com>
1247 Web Inspector: Add breakpoint option to ignore n times before stopping
1248 https://bugs.webkit.org/show_bug.cgi?id=147664
1250 Reviewed by Timothy Hatcher.
1252 * Localizations/en.lproj/localizedStrings.js:
1253 New strings for breakpoint popover labels.
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.
1262 * UserInterface/Controllers/DebuggerManager.js:
1263 Listen for changes to breakpoint ignoreCount property.
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.
1275 * UserInterface/Views/BreakpointPopoverController.css:
1276 (#edit-breakpoint-popover-ignore):
1277 New styles for breakpoint popover.
1279 2015-10-02 Matt Baker <mattbaker@apple.com>
1281 Web Inspector: Cleanup DebuggerManager, reduce `delete` and use Maps instead of objects
1282 https://bugs.webkit.org/show_bug.cgi?id=149760
1284 Reviewed by Joseph Pecoraro.
1286 Replaced objects used as hashmaps with Map.
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):
1304 2015-10-02 Devin Rousso <dcrousso+webkit@gmail.com>
1306 Web Inspector: Copying inline style text puts "undefined" in the pasteboard
1307 https://bugs.webkit.org/show_bug.cgi?id=149155
1309 Reviewed by Brian Burg.
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.
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).
1322 * UserInterface/Test.html:
1323 Added CSSMedia include for new inspector/css/generate-css-rule-string.html test.
1325 * UserInterface/Views/VisualStyleSelectorTreeItem.js:
1326 (WebInspector.VisualStyleSelectorTreeItem.prototype._handleContextMenuEvent):
1327 Removed parameter that no longer exists.
1329 2015-10-02 Joseph Pecoraro <pecoraro@apple.com>
1331 Unreviewed, rolling out r190520, some tests assert / crash.
1333 * Localizations/en.lproj/localizedStrings.js:
1334 * UserInterface/Base/Main.js:
1335 (WebInspector.loaded): Deleted.
1336 * UserInterface/Base/Utilities.js:
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):
1371 2015-10-02 Devin Rousso <dcrousso+webkit@gmail.com>
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
1376 Reviewed by Timothy Hatcher.
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.
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
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.
1394 2015-10-02 Joseph Pecoraro <pecoraro@apple.com>
1396 Web Inspector: Include Garbage Collection Event in Timeline
1397 https://bugs.webkit.org/show_bug.cgi?id=142510
1399 Reviewed by Geoffrey Garen.
1401 * UserInterface/Base/Utilities.js:
1402 (Array.prototype.parition):
1403 Helper to partition an Array into two arrays.
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.
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.
1426 * UserInterface/Controllers/HeapManager.js:
1427 (WebInspector.HeapManager):
1428 (WebInspector.HeapManager.prototype.garbageCollected):
1429 Dispatch events with.
1431 * UserInterface/Controllers/TimelineManager.js:
1432 (WebInspector.TimelineManager):
1433 (WebInspector.TimelineManager.prototype._garbageCollected):
1434 Include new GC Timeline Events as Script events.
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.
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.
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):
1463 * UserInterface/Views/TimelineRecordBar.js:
1464 (WebInspector.TimelineRecordBar.createCombinedBars):
1465 Simplify by storing start time into a variable.
1467 * UserInterface/Views/TimelineRecordTreeElement.js:
1468 (WebInspector.TimelineRecordTreeElement):
1471 2015-10-02 Nikita Vasilyev <nvasilyev@apple.com>
1473 Web Inspector: Fix indentation of console message parameters
1474 https://bugs.webkit.org/show_bug.cgi?id=149740
1476 Reviewed by Darin Adler.
1478 * UserInterface/Views/ConsoleMessageView.css:
1479 (.console-message .console-message-stack-trace-container > li):
1480 (.console-message .console-message-extra-parameters-container > li::before):
1482 2015-10-02 Andres Gomez <agomez@igalia.com>
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
1487 Reviewed by Carlos Garcia Campos.
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.
1493 2015-10-01 Joseph Pecoraro <pecoraro@apple.com>
1495 Web Inspector: Simplify filterableData processing
1496 https://bugs.webkit.org/show_bug.cgi?id=149730
1498 Reviewed by Timothy Hatcher.
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):
1512 2015-10-01 Joseph Pecoraro <pecoraro@apple.com>
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
1517 Reviewed by Timothy Hatcher.
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).
1528 * UserInterface/Views/TimelineSidebarPanel.js:
1529 (WebInspector.TimelineSidebarPanel.prototype.shouldFilterPopulate):
1530 Do not populate on filter via this custom filters.
1532 2015-10-01 Matt Baker <mattbaker@apple.com>
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
1537 Reviewed by Timothy Hatcher.
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>.
1543 * UserInterface/Views/Main.css:
1546 2015-10-01 Nikita Vasilyev <nvasilyev@apple.com>
1548 Web Inspector: Clip string previews
1549 https://bugs.webkit.org/show_bug.cgi?id=149708
1551 Only show first 140 characters in strings previews.
1553 Reviewed by Joseph Pecoraro.
1555 * UserInterface/Base/Utilities.js:
1556 (String.prototype.truncate): Added.
1557 A smart trancate function that doesn't split words.
1559 * UserInterface/Views/ConsoleMessageView.js:
1560 (WebInspector.ConsoleMessageView.prototype._shouldConsiderObjectLossless):
1561 * UserInterface/Views/FormattedValue.js:
1562 (WebInspector.FormattedValue.createElementForTypesAndValue):
1564 2015-09-30 João Oliveira <hello@jxs.pt>
1566 Web Inspector: Adjust font size of Developer Tools using Command,+ or Command,-
1567 https://bugs.webkit.org/show_bug.cgi?id=149590
1569 Reviewed by Joseph Pecoraro.
1571 Patch by João Oliveira and Brian Burg.
1573 * UserInterface/Base/Main.js:
1574 (WebInspector.contentLoaded): Add global keyboard shortcuts for zoom in and zoom out.
1576 2015-10-01 Andres Gomez <agomez@igalia.com>
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
1581 Reviewed by Carlos Garcia Campos.
1583 * UserInterface/Images/gtk/VisualStylePropertyLinked.svg: Added.
1584 * UserInterface/Images/gtk/VisualStylePropertyUnlinked.svg: Added.
1586 2015-10-01 Andres Gomez <agomez@igalia.com>
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
1591 Reviewed by Carlos Garcia Campos.
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.
1615 2015-09-30 Joseph Pecoraro <pecoraro@apple.com>
1617 Web Inspector: Reduce `delete` in Timeline related classes
1618 https://bugs.webkit.org/show_bug.cgi?id=149686
1620 Reviewed by Timothy Hatcher.
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):
1635 * UserInterface/Views/ProbeSetDataGrid.js:
1636 (WebInspector.ProbeSetDataGrid):
1637 (WebInspector.ProbeSetDataGrid.prototype._teardownData):
1638 Remove an unused member variable as well.
1640 2015-09-30 Joseph Pecoraro <pecoraro@apple.com>
1642 Web Inspector: Thousands of timers fire after switching to JavaScript and Events timeline
1643 https://bugs.webkit.org/show_bug.cgi?id=149682
1645 Reviewed by Timothy Hatcher.
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.
1653 This change eliminates TreeOutline change events for tree element
1654 changes that are not interesting.
1656 * UserInterface/Views/GeneralTreeElement.js:
1657 (WebInspector.GeneralTreeElement.prototype.set status): Deleted.
1658 * UserInterface/Views/TreeOutline.js:
1659 (WebInspector.TreeElement.prototype.set tooltip): Deleted.
1661 2015-09-30 Joseph Pecoraro <pecoraro@apple.com>
1663 Web Inspector: Reduce `delete` in TreeElements and DataGridNodes
1664 https://bugs.webkit.org/show_bug.cgi?id=149680
1666 Reviewed by Timothy Hatcher.
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):
1689 2015-09-30 Andres Gomez <agomez@igalia.com>
1691 [GTK] Web Inspector: Add GTK+ icon for the Bezier curve visual editor
1692 https://bugs.webkit.org/show_bug.cgi?id=147681
1694 Reviewed by Joseph Pecoraro.
1696 * UserInterface/Images/gtk/CubicBezier.svg: Added.
1698 2015-09-29 Joseph Pecoraro <pecoraro@apple.com>
1700 Web Inspector: Console completion suggestions should include properties on Object (hasOwnProperty, toString, etc)
1701 https://bugs.webkit.org/show_bug.cgi?id=149649
1703 Reviewed by Darin Adler.
1705 * UserInterface/Base/Utilities.js:
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`.
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.
1716 2015-09-29 Joseph Pecoraro <pecoraro@apple.com>
1718 Web Inspector: Missing completions for Symbol objects, console.error warning
1719 https://bugs.webkit.org/show_bug.cgi?id=149641
1721 Reviewed by Darin Adler.
1723 * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
1724 (WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.getCompletions):
1725 (WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.evaluated):
1726 Include completions for symbol types.
1728 2015-09-28 Joseph Pecoraro <pecoraro@apple.com>
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
1733 Reviewed by Timothy Hatcher.
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.
1741 2015-09-28 João Oliveira <hello@jxs.pt>
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
1746 Reviewed by Timothy Hatcher.
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.
1751 * UserInterface/Views/SearchBar.js:
1752 (WebInspector.SearchBar.prototype.focus):
1754 2015-09-25 Joseph Pecoraro <pecoraro@apple.com>
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
1759 Reviewed by Darin Adler.
1761 * UserInterface/Views/ResourceSidebarPanel.js:
1762 (WebInspector.ResourceSidebarPanel.prototype._scriptsCleared):
1763 Suppress selection of sibiling tree elements when removing extra folders.
1765 2015-09-24 Ryosuke Niwa <rniwa@webkit.org>
1767 Ran sort-Xcode-project-file.
1769 * WebInspectorUI.xcodeproj/project.pbxproj:
1771 2015-09-23 Saam barati <sbarati@apple.com>
1773 Fix broken inspector tests.
1775 Reviewed by Joseph Pecoraro and Brian Burg.
1777 We can't redeclare a "let" variable and "var" variable using the same
1778 identifier at the top-level of a function.
1780 * UserInterface/Test/InspectorProtocol.js:
1781 (InspectorProtocol.sendCommand):
1782 (InspectorProtocol.addEventListener):
1783 (InspectorProtocol.dispatchMessageFromBackend):
1785 2015-09-23 Saam barati <sbarati@apple.com>
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
1790 Reviewed by Joseph Pecoraro.
1792 * UserInterface/Models/ScriptSyntaxTree.js:
1793 (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
1794 (WebInspector.ScriptSyntaxTree):
1796 2015-09-23 Saam barati <sbarati@apple.com>
1798 Web Inspector: Type bubbles missing for computed methods and methods on object literals
1799 https://bugs.webkit.org/show_bug.cgi?id=148562
1801 Reviewed by Joseph Pecoraro.
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.
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):
1821 2015-09-22 Devin Rousso <dcrousso+webkit@gmail.com>
1823 Web Inspector: The right sidebar always opens up on breakpoint
1824 https://bugs.webkit.org/show_bug.cgi?id=149261
1826 Reviewed by Timothy Hatcher.
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.
1831 * UserInterface/Base/Main.js:
1832 (WebInspector._debuggerDidPause):
1834 2015-09-22 Saam barati <sbarati@apple.com>
1836 Web Inspector: [ES6] Improve Type Profiler Support for Arrow Functions
1837 https://bugs.webkit.org/show_bug.cgi?id=143171
1839 Reviewed by Joseph Pecoraro.
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.
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):
1857 2015-09-22 Saam barati <sbarati@apple.com>
1859 Web Inspector: update Esprima to latest version
1860 https://bugs.webkit.org/show_bug.cgi?id=148960
1862 Reviewed by Joseph Pecoraro.
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.
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):
1877 2015-09-21 Matt Baker <mattbaker@apple.com>
1879 Web Inspector: requestAnimationFrame continues to be called after stopping the timeline recording
1880 https://bugs.webkit.org/show_bug.cgi?id=149390
1882 Reviewed by Brian Burg.
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.
1888 2015-09-17 Joseph Pecoraro <pecoraro@apple.com>
1890 Web Inspector: Simplify some functional callbacks
1891 https://bugs.webkit.org/show_bug.cgi?id=149333
1893 Reviewed by Brian Burg.
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):
1912 2015-09-17 Joseph Pecoraro <pecoraro@apple.com>
1914 Web Inspector: Remove unused canClearBrowserCookies / canClearBrowserCache protocol methods
1915 https://bugs.webkit.org/show_bug.cgi?id=149307
1917 Reviewed by Brian Burg.
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.
1928 2015-09-17 Joseph Pecoraro <pecoraro@apple.com>
1930 REGRESSION: Web Inspector: Double clicking on an attribute second time doesn't work
1931 https://bugs.webkit.org/show_bug.cgi?id=149259
1933 Reviewed by Timothy Hatcher.
1935 * UserInterface/Views/DOMTreeElement.js:
1936 Be sure to clear the editing state when committed, even if the value did not change.
1938 2015-09-17 Joseph Pecoraro <pecoraro@apple.com>
1940 Web Inspector: Make Find / Save keyboard shortcuts work better globally
1941 https://bugs.webkit.org/show_bug.cgi?id=149198
1943 Reviewed by Brian Burg.
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.
1950 * UserInterface/Base/Main.js:
1951 (WebInspector.contentLoaded):
1952 Add global find and save keyboard shortcuts.
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.
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.
1970 (WebInspector._focusedOrVisibleContentBrowser):
1971 (WebInspector._focusedOrVisibleContentView):
1972 If nothing is focused, default to the main content browser.
1974 (WebInspector._find):
1975 Pass on to the ContentView which typically handles Find
1976 by showing its find banner.
1978 (WebInspector._save):
1979 (WebInspector._saveAs):
1980 Check and save the current ContentView if supported.
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.
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.
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.
2007 2015-09-17 Joseph Pecoraro <pecoraro@apple.com>
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
2012 Reviewed by Brian Burg.
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
2020 * UserInterface/Views/DebuggerDashboardView.css:
2021 (body.window-inactive .dashboard.debugger .navigation-bar .item.button > .glyph):
2023 2015-09-17 Devin Rousso <dcrousso+webkit@gmail.com>
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
2028 Reviewed by Timothy Hatcher.
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.
2035 * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2036 (WebInspector.CSSStyleDeclarationTextEditor.prototype._formattedContent):
2038 2015-09-16 Joseph Pecoraro <pecoraro@apple.com>
2040 Web Inspector: Reduce Annotation Update Frequency
2041 https://bugs.webkit.org/show_bug.cgi?id=149250
2043 Reviewed by Saam Barati.
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.
2051 2015-09-16 Joseph Pecoraro <pecoraro@apple.com>
2053 Web Inspector: Fix common typo "supress" => "suppress"
2054 https://bugs.webkit.org/show_bug.cgi?id=149199
2056 Reviewed by Gyuyoung Kim.
2058 * UserInterface/Views/DataGrid.js:
2059 (WebInspector.DataGridNode.prototype.select):
2060 (WebInspector.DataGridNode.prototype.deselect):
2061 * UserInterface/Views/SearchBar.js:
2062 (WebInspector.SearchBar):
2064 2015-09-16 Joseph Pecoraro <pecoraro@apple.com>
2066 Web Inspector: Turn off line wrapping in resource text editors
2067 https://bugs.webkit.org/show_bug.cgi?id=149121
2069 Reviewed by Darin Adler.
2071 * UserInterface/Views/TextEditor.js:
2072 (WebInspector.TextEditor):
2074 2015-09-15 Devin Rousso <dcrousso+webkit@gmail.com>
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
2079 Reviewed by Brian Burg.
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.
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):
2092 2015-09-15 Brian Burg <bburg@apple.com>
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
2097 Reviewed by Joseph Pecoraro.
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.
2102 * UserInterface/Base/Main.js:
2103 (WebInspector.createNewTabWithType): Renamed.
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.
2108 (WebInspector.createNewTab): Deleted.
2109 * UserInterface/Views/NewTabContentView.js:
2110 (WebInspector.NewTabContentView):
2111 (WebInspector.NewTabContentView.prototype._createNewTabWithType): Renamed.
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.
2116 (WebInspector.NewTabContentView.prototype._allowableTabTypes): Added.
2117 (WebInspector.NewTabContentView.prototype._createNewTab): Deleted.
2119 2015-09-15 Joseph Pecoraro <pecoraro@apple.com>
2121 Web Inspector: Watch Expressions uncaught exceptions on page reload
2122 https://bugs.webkit.org/show_bug.cgi?id=149150
2124 Reviewed by Brian Burg.
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.
2130 Also clean up the manager a bit by removing some deletes.
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.
2142 2015-09-15 Joseph Pecoraro <pecoraro@apple.com>
2144 Web Inspector: Closing the final inspector tab should be allowed
2145 https://bugs.webkit.org/show_bug.cgi?id=149130
2147 Reviewed by Brian Burg.
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
2154 * UserInterface/Base/Main.js:
2155 (WebInspector.contentLoaded):
2156 If we have no tabs to restore, show the New Tab tab.
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.
2162 (WebInspector.TabBar.prototype._handleClick):
2163 Disallow closing the single default tab.
2165 (WebInspector._newTabItemClicked):
2166 (WebInspector.showNewTabTab):
2167 Share logic for showing the New Tab tab.
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).
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.
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
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.
2201 2015-09-15 Brian Burg <bburg@apple.com>
2203 Web Inspector: new tab content view should disallow split console
2204 https://bugs.webkit.org/show_bug.cgi?id=149164
2206 Reviewed by Joseph Pecoraro.
2208 * UserInterface/Views/NewTabContentView.js:
2209 (WebInspector.NewTabContentView.prototype.get supportsSplitContentBrowser):
2211 2015-09-14 Brian Burg <bburg@apple.com>
2213 Web Inspector: tab bar stutters when moving mouse after closing tab
2214 https://bugs.webkit.org/show_bug.cgi?id=149138
2216 Reviewed by Joseph Pecoraro.
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.
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.
2226 * UserInterface/Views/TabBar.js:
2228 2015-09-14 Brian Burg <bburg@apple.com>
2230 Web Inspector: backend command promises are not rejected when a protocol error occurs
2231 https://bugs.webkit.org/show_bug.cgi?id=141403
2233 Reviewed by Joseph Pecoraro.
2235 Fix a few corner cases for how InspectorBackend delivers command failures.
2237 * UserInterface/Protocol/InspectorBackend.js:
2238 (InspectorBackend.Command.prototype.deliverFailure): Added.
2239 (InspectorBackend.Command.prototype._invokeWithArguments):
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.
2244 2015-09-14 Brian Burg <bburg@apple.com>
2246 Web Inspector: middle-clicking a tab in the tab bar should close it
2247 https://bugs.webkit.org/show_bug.cgi?id=149135
2249 Reviewed by Joseph Pecoraro.
2251 This matches the behavior of the tab bar in Safari and other browsers.
2253 * UserInterface/Views/TabBar.js:
2254 (WebInspector.TabBar.prototype._handleMouseDown):
2255 (WebInspector.TabBar.prototype._handleClick):
2257 2015-09-14 Nikita Vasilyev <nvasilyev@apple.com>
2259 Web Inspector: Border under the styles filter field is clipped
2260 https://bugs.webkit.org/show_bug.cgi?id=149115
2262 Reviewed by Darin Adler.
2264 * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
2265 (.sidebar > .panel.details.css-style > .content + .options-container > .filter-bar):
2267 2015-09-11 Nan Wang <n_wang@apple.com>
2269 AX: ARIA 1.1 @aria-current
2270 https://bugs.webkit.org/show_bug.cgi?id=146012
2272 Reviewed by Chris Fleizach.
2274 Added support for ARIA 1.1 aria-current.
2276 * Localizations/en.lproj/localizedStrings.js:
2277 * UserInterface/Models/DOMNode.js:
2278 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
2280 2015-09-10 Devin Rousso <dcrousso+webkit@gmail.com>
2282 Web Inspector: Styles sidebar says Media: all when it should say Media: screen
2283 https://bugs.webkit.org/show_bug.cgi?id=148436
2285 Reviewed by Timothy Hatcher.
2287 Removed filter that prevented "Media: screen" from being displayed.
2289 * UserInterface/Views/RulesStyleDetailsPanel.js:
2290 (WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertMediaOrInheritanceLabel):
2291 (WebInspector.RulesStyleDetailsPanel.prototype.refresh.filteredMediaList): Deleted.
2293 2015-09-10 Matt Baker <mattbaker@apple.com>
2295 Web Inspector: Prefer calling ContentViewContainer.updateLayout directly
2296 https://bugs.webkit.org/show_bug.cgi?id=149041
2298 Reviewed by Timothy Hatcher.
2300 Cleaned up two places where a parent view duplicated logic encapsulated by ContentViewContainer.
2302 * UserInterface/Views/ClusterContentView.js:
2303 (WebInspector.ClusterContentView.prototype.updateLayout):
2304 * UserInterface/Views/TimelineRecordingContentView.js:
2305 (WebInspector.TimelineRecordingContentView.prototype.updateLayout):
2307 2015-09-08 Matt Baker <mattbaker@apple.com>
2309 Web Inspector: REGRESSION (r189189): Missing breakpoint context menu for debugger sidebar tree elements
2310 https://bugs.webkit.org/show_bug.cgi?id=148651
2312 Reviewed by Timothy Hatcher.
2314 * UserInterface/Base/Main.js:
2315 (WebInspector.contentLoaded):
2316 Create BreakpointPopoverController singleton, expose as public property of global WebInspector object.
2318 * UserInterface/Views/BreakpointTreeElement.js:
2319 (WebInspector.BreakpointTreeElement.prototype.oncontextmenu):
2320 Use BreakpointPopoverController singleton.
2322 * UserInterface/Views/SourceCodeTextEditor.js:
2323 (WebInspector.SourceCodeTextEditor):
2324 Don't create BreakpointPopoverController instance.
2325 (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu):
2326 Use BreakpointPopoverController singleton.
2328 2015-09-08 Joseph Pecoraro <pecoraro@apple.com>
2330 Fix inspector/codemirror tests.
2332 Rubber-stamped by Brian Burg.
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.
2339 2015-09-08 Joseph Pecoraro <pecoraro@apple.com>
2341 Web Inspector: Move PrettyPrinting tests into LayoutTests
2342 https://bugs.webkit.org/show_bug.cgi?id=148698
2344 Reviewed by Timothy Hatcher.
2346 * Tools/PrettyPrinting/index.html:
2347 Modify the relative path to the tests which are now in LayoutTests.
2349 * UserInterface/Test.html:
2350 Load CodeMirror and related resources for Formatting.
2352 2015-09-06 Andy Estes <aestes@apple.com>
2354 WebKit.xcworkspace should be be able to build iOS platforms
2355 https://bugs.webkit.org/show_bug.cgi?id=148881
2357 Reviewed by Daniel Bates.
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.
2362 * Configurations/Base.xcconfig: Included iphoneos and iphonesimulator in SUPPORTED_PLATFORMS.
2363 * Configurations/WebInspectorUIFramework.xcconfig: Skipped installing on iOS.
2365 2015-09-04 Brian Burg <bburg@apple.com>
2367 Web Inspector: combine Test.html resources to make tests run faster
2368 https://bugs.webkit.org/show_bug.cgi?id=148726
2370 Reviewed by Timothy Hatcher.
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.
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
2382 Combining is unlikely to make debugging tests more difficult, since almost
2383 all test code is marshalled and eval'd into existence anyway.
2385 * Configurations/WebInspectorUIFramework.xcconfig:
2386 * Scripts/combine-resources.pl: Drive-by spelling.
2388 (concatinateFiles): Deleted.
2389 * Scripts/copy-user-interface-resources-dryrun.rb:
2390 * Scripts/copy-user-interface-resources.pl:
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.
2395 * WebInspectorUI.vcxproj/build-webinspectorui.pl:
2397 Always combine Test.html, but also ditto everything into place for
2400 2015-09-04 Joseph Pecoraro <pecoraro@apple.com>
2402 Web Inspector: Test Runtime.saveResult and $n values
2403 https://bugs.webkit.org/show_bug.cgi?id=148837
2405 Reviewed by Timothy Hatcher.
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!
2413 (InspectorBackendClass.prototype.dispatch):
2414 (InspectorBackendClass.prototype._sendCommandToBackendWithCallback):
2415 Use the logging function we figured out earlier.
2417 2015-09-04 Joseph Pecoraro <pecoraro@apple.com>
2419 Web Inspector: Clean up and modernize DOMTreeManager
2420 https://bugs.webkit.org/show_bug.cgi?id=148821
2422 Reviewed by Timothy Hatcher.
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.
2440 * UserInterface/Views/SearchSidebarPanel.js:
2441 (WebInspector.SearchSidebarPanel.prototype.performSearch):
2442 Callback is now required.
2444 2015-09-04 Matt Baker <mattbaker@apple.com>
2446 Web Inspector: Render Frames "Other" task filter checkbox misaligned with text
2447 https://bugs.webkit.org/show_bug.cgi?id=148788
2449 Reviewed by Timothy Hatcher.
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.
2455 2015-09-04 Joseph Pecoraro <pecoraro@apple.com>
2457 Web Inspector: Expand Console domain test coverage
2458 https://bugs.webkit.org/show_bug.cgi?id=148740
2460 Reviewed by Brian Burg.
2462 * UserInterface/Protocol/RemoteObject.js:
2463 Add a few helpers for checking the RemoteObject type.
2465 2015-09-02 Commit Queue <commit-queue@webkit.org>
2467 Unreviewed, rolling out r189241.
2468 https://bugs.webkit.org/show_bug.cgi?id=148703
2470 These tests crash with assertions (Requested by ap on
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
2479 2015-09-01 Joseph Pecoraro <pecoraro@apple.com>
2481 Web Inspector: Move PrettyPrinting tests into LayoutTests
2482 https://bugs.webkit.org/show_bug.cgi?id=148698
2484 Reviewed by Timothy Hatcher.
2486 * Tools/PrettyPrinting/index.html:
2487 Modify the relative path to the tests which are now in LayoutTests.
2489 * UserInterface/Test.html:
2490 Load CodeMirror and related resources for Formatting.
2492 2015-09-01 Matt Baker <mattbaker@apple.com>
2494 Web Inspector: REGRESSION (r187873): Location column icon is missing in timeline data grids
2495 https://bugs.webkit.org/show_bug.cgi?id=148691
2497 Reviewed by Timothy Hatcher.
2499 * UserInterface/Views/TimelineDataGridNode.js:
2500 (WebInspector.TimelineDataGridNode.prototype.createCellContent):
2501 Added "icon" class name. Was using removed class variable (class="undefined").
2503 2015-09-01 Matt Baker <mattbaker@apple.com>
2505 Web Inspector: Show layout/paint pixel area in the Rendering Frames tree outline
2506 https://bugs.webkit.org/show_bug.cgi?id=148674
2508 Reviewed by Brian Burg.
2510 * Localizations/en.lproj/localizedStrings.js:
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.
2519 * UserInterface/Views/RenderingFrameTimelineView.js:
2520 (WebInspector.RenderingFrameTimelineView.prototype._processPendingRecords):
2521 Add tree element subtitle for LayoutTimelineRecords that specify width and height.
2523 2015-09-01 Matt Baker <mattbaker@apple.com>
2525 Web Inspector: Reorder columns in the Rendering Frames data grid by importance
2526 https://bugs.webkit.org/show_bug.cgi?id=148672
2528 Reviewed by Timothy Hatcher.
2530 * UserInterface/Views/RenderingFrameTimelineView.js:
2531 (WebInspector.RenderingFrameTimelineView):
2532 Updated column order, rearranged the column object setup code to match.
2534 2015-09-01 Brian Burg <bburg@apple.com>
2536 Web Inspector: rewrite inspector/console/command-line-api.html to use AsyncTestSuite
2537 https://bugs.webkit.org/show_bug.cgi?id=148637
2539 Reviewed by Darin Adler.
2541 * UserInterface/Base/Object.js:
2542 (WebInspector.Object.singleFireEventListener):
2543 (WebInspector.Object.singleFireEventListener.let.wrappedCallback): Arrow.
2545 2015-09-01 Devin Rousso <drousso@apple.com>
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
2550 Reviewed by Timothy Hatcher.
2552 Added support for Plus and Minus icons on non-retina screens.
2553 Also removed some CSS rules that no longer apply to anything.
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.
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):
2565 * UserInterface/Views/ProbeDetailsSidebarPanel.css:
2566 (.details-section.probe-set .options > .probe-add):
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.
2580 * UserInterface/Views/ScopeChainDetailsSidebarPanel.css:
2581 (.details-section.watch-expressions .options > .watch-expression-add):
2583 * UserInterface/Views/TabBar.css:
2584 (.tab-bar > .item.new-tab-button > .icon):
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):
2589 * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
2590 (WebInspector.VisualStyleCommaSeparatedKeywordEditor):
2592 * UserInterface/Views/VisualStyleSelectorSection.js:
2593 (WebInspector.VisualStyleSelectorSection):
2595 2015-09-01 Brian Burg <bburg@apple.com>
2597 Web Inspector: add TestSuite hooks for per-testcase setup and teardown actions
2598 https://bugs.webkit.org/show_bug.cgi?id=148641
2600 Reviewed by Timothy Hatcher.
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.
2607 * UserInterface/Test/TestSuite.js:
2608 (TestSuite.prototype.addTestCase):
2609 (TestSuite.messageFromThrownObject):
2611 (AsyncTestSuite.prototype.runTestCases): Stick the extra functions in the chain.
2613 (SyncTestSuite.prototype.runTestCases):
2616 2015-09-01 Matt Baker <mattbaker@apple.com>
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
2621 Reviewed by Brian Burg.
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.
2629 2015-08-31 Nikita Vasilyev <nvasilyev@apple.com>
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
2634 Reviewed by Timothy Hatcher.
2636 * UserInterface/Views/ConsoleTabContentView.js:
2637 (WebInspector.ConsoleTabContentView.prototype.shown):
2638 Always focus on the console prompt when the console tab get selected.
2640 * UserInterface/Views/LogContentView.js:
2641 (WebInspector.LogContentView.prototype.shown): Deleted.
2643 2015-08-31 Joseph Pecoraro <pecoraro@apple.com>
2645 Web Inspector: Debugger Popovers should work for object literal shorthand variables
2646 https://bugs.webkit.org/show_bug.cgi?id=148603
2648 Reviewed by Timothy Hatcher.
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.
2656 * UserInterface/Views/CodeMirrorAdditions.js:
2657 Add a helper for walking through token types from a start position. It may be useful elsewhere.
2659 2015-08-31 Matt Baker <mattbaker@apple.com>
2661 Web Inspector: Move the Popover code out of the Breakpoint model object
2662 https://bugs.webkit.org/show_bug.cgi?id=127328
2664 Reviewed by Timothy Hatcher.
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.
2690 * UserInterface/Main.html:
2691 Added and updated file paths.
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.
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):
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.
2731 2015-08-31 Matt Baker <mattbaker@apple.com>
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
2736 Reviewed by Timothy Hatcher.
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.
2741 Legend items continue to show the original data point values, not the adjusted values used to
2742 draw the chart slices.
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%.
2750 2015-08-28 Joseph Pecoraro <pecoraro@apple.com>
2752 Web Inspector: "animationEnd" event names should be "animationend" (broken dashboard animation after pause)
2753 https://bugs.webkit.org/show_bug.cgi?id=148604
2755 Reviewed by Timothy Hatcher.
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):
2770 2015-08-28 Joseph Pecoraro <pecoraro@apple.com>
2772 Web Inspector: Resource.prototype.associateWithScript assertions firing
2773 https://bugs.webkit.org/show_bug.cgi?id=148601
2775 Reviewed by Timothy Hatcher.
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.
2782 2015-08-28 Joseph Pecoraro <pecoraro@apple.com>
2784 Web Inspector: Improve ScriptSyntaxTree a bit
2785 https://bugs.webkit.org/show_bug.cgi?id=148563
2787 Reviewed by Timothy Hatcher.
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").
2796 2015-08-28 Joseph Pecoraro <pecoraro@apple.com>
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
2801 Reviewed by Timothy Hatcher.
2803 The backend allows creating multiple stylesheets. This patch makes
2804 the frontend have a preferred InspectorStyleSheet per-frame.
2806 * UserInterface/Base/Object.js:
2807 (WebInspector.Object.singleFireEventListener):
2808 Return the wrapped listener so it can be removed if needed.
2810 * UserInterface/Models/CSSStyleSheet.js:
2811 (WebInspector.CSSStyleSheet.prototype.isInspectorStyleSheet):
2812 Helper to check if the current stylesheet is an inspector created stylesheet.
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.
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.
2829 2015-08-28 Joseph Pecoraro <pecoraro@apple.com>
2831 Web Inspector: Type Profiler does not understand Functions within Default Argument Expressions
2832 https://bugs.webkit.org/show_bug.cgi?id=148557
2834 Reviewed by Timothy Hatcher.
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.
2843 2015-08-28 Joseph Pecoraro <pecoraro@apple.com>
2845 Web Inspector: Type Profiler does not understand Functions inside Template Strings (ScriptSyntaxTree warnings)
2846 https://bugs.webkit.org/show_bug.cgi?id=148556
2848 Reviewed by Timothy Hatcher.
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.
2856 2015-08-27 Joseph Pecoraro <pecoraro@apple.com>
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
2861 Reviewed by Brian Burg.
2863 * UserInterface/Controllers/CSSStyleManager.js:
2864 (WebInspector.CSSStyleManager.protocolStyleSheetOriginToEnum):
2865 (WebInspector.CSSStyleManager.protocolMediaSourceToEnum):
2866 Protocol enum to frontend enum conversion.
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.
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):
2892 2015-08-26 Nikita Vasilyev <nvasilyev@apple.com>
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
2897 Make body element transparent and remove extra padding above the toolbar only for OS X Mavericks.
2899 Reviewed by Timothy Hatcher.
2901 * UserInterface/Base/Main.js:
2902 (WebInspector.contentLoaded):
2903 * UserInterface/Views/Main.css:
2904 (body:not(.mavericks)):
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.
2914 2015-08-26 Joseph Pecoraro <pecoraro@apple.com>
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
2919 Reviewed by Timothy Hatcher.
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.
2927 2015-08-26 Matt Baker <mattbaker@apple.com>
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
2932 Reviewed by Timothy Hatcher.
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.
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.
2956 * UserInterface/Views/TimelineSidebarPanel.js:
2957 Chart size and inner radius passed to chart constructor.
2959 2015-08-26 Joseph Pecoraro <pecoraro@apple.com>
2961 Web Inspector: Implement tracking of active stylesheets in the frontend
2962 https://bugs.webkit.org/show_bug.cgi?id=105828
2964 Reviewed by Timothy Hatcher.
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.
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.
2977 (WebInspector.CSSStyleManager):
2978 (WebInspector.CSSStyleManager.prototype._mainResourceDidChange):
2979 Reset the legacy fetching flag. Fetching is only needed for legacy backends.
2981 (WebInspector.CSSStyleManager.prototype._fetchInfoForAllStyleSheets):
2982 Include the new origin property in the legacy updateInfo path.
2984 * UserInterface/Protocol/CSSObserver.js:
2985 (WebInspector.CSSObserver.prototype.styleSheetAdded):
2986 (WebInspector.CSSObserver.prototype.styleSheetRemoved):
2987 Forward to the manager.
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.
2994 2015-08-26 Joseph Pecoraro <pecoraro@apple.com>
2996 Web Inspector: Drop iOS 6 Legacy Remote Inspector Support
2997 https://bugs.webkit.org/show_bug.cgi?id=148456
2999 Reviewed by Timothy Hatcher.
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:
3121 2015-08-26 Nikita Vasilyev <nvasilyev@apple.com>
3123 Web Inspector: Command-Enter should evaluate selected JS in Debugger/Sources
3124 https://bugs.webkit.org/show_bug.cgi?id=148368
3126 Reviewed by Timothy Hatcher.
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.
3135 2015-08-25 Brian Burg <bburg@apple.com>
3137 Web Inspector: no need to allocate protocolErrors array for every dispatched backend command
3138 https://bugs.webkit.org/show_bug.cgi?id=146466
3140 Reviewed by Joseph Pecoraro.
3142 * UserInterface/TestStub.html: Fix a typo, this property exists on ProtocolTest.
3144 2015-08-26 Matt Baker <mattbaker@apple.com>
3146 Web Inspector: Rendering Frames legend item checkbox colors are too light
3147 https://bugs.webkit.org/show_bug.cgi?id=148465
3149 Reviewed by Timothy Hatcher.
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.
3156 2015-08-26 Nikita Vasilyev <nvasilyev@apple.com>
3158 Web Inspector: Make DOM node attribute changes highlighting less obnoxious
3159 https://bugs.webkit.org/show_bug.cgi?id=148050
3161 Reviewed by Timothy Hatcher.
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.
3167 2015-08-26 Joseph Pecoraro <pecoraro@apple.com>
3169 Web Inspector: Add Refresh button to Cookie Content View
3170 https://bugs.webkit.org/show_bug.cgi?id=148468
3172 Reviewed by Timothy Hatcher.
3174 * UserInterface/Views/CookieStorageContentView.js:
3175 (WebInspector.CookieStorageContentView):
3176 (WebInspector.CookieStorageContentView.prototype.get navigationItems):
3177 (WebInspector.CookieStorageContentView.prototype._refreshButtonClicked):
3179 2015-08-25 Brian Burg <bburg@apple.com>
3181 Web Inspector: message dispatch metrics should use high-resolution timing data
3182 https://bugs.webkit.org/show_bug.cgi?id=135467
3184 Reviewed by Timothy Hatcher.
3186 Use performance.now if it's available, otherwise fallback to Date.now().
3187 Format timestamps with fixed decimal point, and sprinkle some ES6.
3189 * UserInterface/Base/Utilities.js:
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`.
3199 2015-08-25 Matt Baker <mattbaker@apple.com>
3201 Web Inspector: Rendering Frames pie chart should use the needsLayout/updateLayout idiom
3202 https://bugs.webkit.org/show_bug.cgi?id=148412
3204 Reviewed by Timothy Hatcher.
3206 * UserInterface/Views/ChartDetailsSectionRow.js:
3207 (WebInspector.ChartDetailsSectionRow):
3208 (WebInspector.ChartDetailsSectionRow.prototype.set innerLabel):
3209 (WebInspector.ChartDetailsSectionRow.prototype.set innerRadius):
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.
3225 * UserInterface/Views/TimelineSidebarPanel.js:
3226 (WebInspector.TimelineSidebarPanel):
3227 Add chart data points once.
3228 (WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart):
3229 Update chart values.
3231 2015-08-24 Brian Burg <bburg@apple.com>
3233 Web Inspector: add protocol test for existing error handling performed by the backend
3234 https://bugs.webkit.org/show_bug.cgi?id=147097
3236 Reviewed by Joseph Pecoraro.
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.
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.
3250 2015-08-24 Timothy Hatcher <timothy@apple.com>
3252 Web Inspector: Change webkitAnimationEnd use, should be animationEnd
3253 https://bugs.webkit.org/show_bug.cgi?id=148385
3255 Reviewed by Joseph Pecoraro.
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):
3272 2015-08-24 Nikita Vasilyev <nvasilyev@apple.com>
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
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.
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.
3285 Reviewed by Timothy Hatcher.
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.
3293 2015-08-24 Matt Baker <mattbaker@apple.com>
3295 Web Inspector: Rendering Frames filter checkboxes all become checked during recording
3296 https://bugs.webkit.org/show_bug.cgi?id=148375
3298 Reviewed by Timothy Hatcher.
3300 * UserInterface/Views/ChartDetailsSectionRow.js:
3301 (WebInspector.ChartDetailsSectionRow.prototype._createLegend):
3302 Removed incorrect code that forced checked to true.
3304 * UserInterface/Views/TimelineSidebarPanel.js:
3305 (WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart):
3306 Persist legend item checkbox state when updating the chart.
3308 2015-08-23 Matt Baker <mattbaker@apple.com>
3310 Web Inspector: Filtered style not applied to graph elements during timeline recording
3311 https://bugs.webkit.org/show_bug.cgi?id=148339
3313 Reviewed by Brian Burg.
3315 * UserInterface/Views/NavigationSidebarPanel.js:
3316 (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
3317 Check for hidden state change when applying filters to newly added tree elements.
3319 2015-08-23 Timothy Hatcher <timothy@apple.com>
3321 Web Inspector: Drop webkit prefixes from animation, keyframes and transform
3322 https://bugs.webkit.org/show_bug.cgi?id=148364
3324 Reviewed by Darin Adler.
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: