| 2016-09-25 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: REGRESSION (r203437): DOM not updated when editing Box Model values (border, margin, etc) |
| https://bugs.webkit.org/show_bug.cgi?id=162522 |
| <rdar://problem/28458203> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/BoxModelDetailsSectionRow.js: |
| (WebInspector.BoxModelDetailsSectionRow.prototype._refresh): |
| (WebInspector.BoxModelDetailsSectionRow.prototype._highlightDOMNode): |
| (WebInspector.BoxModelDetailsSectionRow.prototype._editingEnded): |
| Drive-by style fix for `delete`. Also removed unused properties. |
| (WebInspector.BoxModelDetailsSectionRow.prototype._applyUserInput.resolvedNode.toggleInlineStyleProperty): |
| Use priority "important" instead of "!important". |
| |
| 2016-09-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Fix typo in event name |
| https://bugs.webkit.org/show_bug.cgi?id=162519 |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/CSSStyleDeclarationTextEditor.js: |
| |
| 2016-09-21 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Improve output of TestHarness.expect* failures |
| https://bugs.webkit.org/show_bug.cgi?id=162177 |
| <rdar://problem/28367186> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| This patch adds specific expectation functions to TestHarness, to better |
| express intent when writing tests, and to allow more details to be logged |
| in the event of a failure. |
| |
| For functions taking both `actual` and `expected` parameters, the `actual` |
| parameter comes first. This convention simplifies the implementation of |
| TestHarness, improves the readability of tests involving inequalities, |
| and is consistent with XCTest assertions. |
| |
| * UserInterface/Test/TestHarness.js: |
| (TestHarness): |
| (TestHarness.prototype.expectThat): |
| (TestHarness.prototype.expectFalse): |
| (TestHarness.prototype.expectNull): |
| (TestHarness.prototype.expectNotNull): |
| (TestHarness.prototype.expectEqual): |
| (TestHarness.prototype.expectNotEqual): |
| (TestHarness.prototype.expectShallowEqual): |
| (TestHarness.prototype.expectNotShallowEqual): |
| (TestHarness.prototype.expectEqualWithAccuracy): |
| (TestHarness.prototype.expectLessThan): |
| (TestHarness.prototype.expectLessThanOrEqual): |
| (TestHarness.prototype.expectGreaterThan): |
| (TestHarness.prototype.expectGreaterThanOrEqual): |
| New expectation functions, all of which call _expect under the hood. |
| |
| (TestHarness.prototype._expect): |
| Helper method which calls pass or fail. Creates a message when no user |
| message is provided, and logs expected and actual values in the event |
| of a failure. |
| |
| (TestHarness.prototype._expectationValueAsString): |
| (TestHarness.prototype._expectationMessageFormat): |
| Get a message format string for the expectation type. Used to create |
| pass/fail message when no user message is provided. |
| |
| (TestHarness.prototype._expectedValueFormat): |
| Get a format string for displaying the expected value. Used to create |
| the "Expected: " failure message line. |
| |
| 2016-09-20 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Reload unexpectedly switches to Storage Tab |
| https://bugs.webkit.org/show_bug.cgi?id=162323 |
| <rdar://problem/28393954> |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel.prototype.showDefaultContentViewForTreeElement): |
| We aren't stealing if the ContentView doesn't yet have a parent! |
| This fixes restoration when switching to the Storage tab at a |
| later time after a reload. |
| |
| * UserInterface/Views/StorageSidebarPanel.js: |
| (WebInspector.StorageSidebarPanel._treeSelectionDidChange): |
| Don't showRepresentedObject if we aren't visible. That would force this |
| tab to the foreground and we don't want that. This only happens when |
| tree elements are removed (main frame navigation) and TreeOutline |
| selects the next available tree element. |
| |
| (WebInspector.StorageSidebarPanel.prototype._storageCleared): |
| Simplify and close all content views. We were missing IndexedDB content views. |
| |
| 2016-09-19 Matt Baker <mattbaker@apple.com> |
| |
| Unreviewed, reverting changeset https://trac.webkit.org/changeset/206101. |
| |
| Revert https://bugs.webkit.org/show_bug.cgi?id=162165: |
| Web Inspector: Make it easier to create a view from an existing DOM element. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.contentLoaded): |
| * UserInterface/Views/View.js: |
| (WebInspector.View): |
| |
| 2016-09-19 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Scope sidebar shows "Closure" instead of "Local" when paused in anonymous function |
| https://bugs.webkit.org/show_bug.cgi?id=162113 |
| <rdar://problem/28348954> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Models/CallFrame.js: |
| (WebInspector.CallFrame): |
| Default the functionName to the empty string. This will compare |
| favorably against other empty function names instead of null. |
| |
| 2016-09-19 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Color picker in Style sidebar stops working after 1st color change |
| https://bugs.webkit.org/show_bug.cgi?id=162115 |
| <rdar://problem/28349875> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers.createSwatch): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._inlineSwatchActivated): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._inlineSwatchDeactivated): |
| Listen for swatch activated / inactivated events to set some state. |
| |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertiesChanged): |
| Do not wipe markers if there is an active inline swatch. That |
| would break behavior for that active swatch. |
| |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._inlineSwatchValueChanged): |
| Eliminate old, incorrect, and now unnecessary code for trying to recover |
| a textMarker for an inline swatch if the textMarker went away. Besides being |
| incorrect, if an inline swatch's textMarker goes away, then we will already |
| have issues, because any active popover will still be connected to the |
| original marker and swatch element that no longer appear in the editor. |
| |
| * UserInterface/Views/ColorPicker.js: |
| (WebInspector.ColorPicker): |
| (WebInspector.ColorPicker.prototype.set color): |
| * UserInterface/Views/InlineSwatch.js: |
| (WebInspector.InlineSwatch.prototype.didDismissPopover): |
| (WebInspector.InlineSwatch.prototype._swatchElementClicked): |
| |
| 2016-09-18 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Uncaught Exception: null is not an object (evaluating 'this.listItemElement.classList') |
| https://bugs.webkit.org/show_bug.cgi?id=162123 |
| <rdar://problem/28352900> |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.prototype.onexpand): |
| If not attached yet, don't update title. We will update title |
| when attaching, so this avoids work and avoids doing that |
| work when the tree element is not fully setup. |
| |
| (WebInspector.DOMTreeElement.prototype._startEditing): |
| (WebInspector.DOMTreeElement.prototype._nodeTitleInfo): |
| (WebInspector.DOMTreeElement.prototype._nodePseudoClassesDidChange): |
| Switch to the public name instead of the private name. |
| |
| 2016-09-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Implement Copy CSS Selector and Copy Xpath Selector context menus |
| https://bugs.webkit.org/show_bug.cgi?id=158881 |
| <rdar://problem/8181156> |
| |
| Reviewed by Matt Baker. |
| |
| This is based off of the Blink implementation (DOMPresentationUtils) |
| with some minor modifications and using our own utility methods. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| New context menu strings. |
| |
| * UserInterface/Base/DOMUtilities.js: |
| (WebInspector.cssPath): |
| (WebInspector.cssPathComponent.classNames): |
| (WebInspector.cssPathComponent): |
| (WebInspector.xpath): |
| (WebInspector.xpathIndex.isSimiliarNode): |
| (WebInspector.xpathIndex): |
| Build strings for a CSS selector path or XPath path to a node. |
| |
| * UserInterface/Views/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.prototype._populateNodeContextMenu): |
| * UserInterface/Views/DOMTreeOutline.js: |
| (WebInspector.DOMTreeOutline.prototype.populateContextMenu): |
| Include copy path context menu items on nodes. |
| Pseudo elements do not get Copy XPath. |
| Non-node elements do not get Copy Selector Path. |
| |
| 2016-09-16 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Make console session dividers more pronounced |
| https://bugs.webkit.org/show_bug.cgi?id=161938 |
| <rdar://problem/28291166> |
| |
| Reviewed by Brian Burg. |
| |
| Instead of using a dim dashed line as a console session separator, include time and reason why |
| the new session started, which could be one of the following values: |
| - Console opened (for the first time) |
| - Console cleared |
| - Page reloaded |
| - Page navigated |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Controllers/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController.prototype.clear): |
| (WebInspector.JavaScriptLogViewController.prototype.startNewSession): |
| Remove previous session if it doesn't have any messages. |
| |
| * UserInterface/Controllers/LogManager.js: |
| (WebInspector.LogManager.prototype._mainResourceDidChange): |
| (WebInspector.LogManager): |
| Session separator wasn't appended when navigating to a different web page. Always dispatch |
| SessionStarted events when the main resource changes. Distinguish between reload and navigation. |
| |
| * UserInterface/Views/ConsoleSession.js: |
| (WebInspector.ConsoleSession): |
| (WebInspector.ConsoleSession.prototype.addMessageView): |
| (WebInspector.ConsoleSession.prototype.append): |
| (WebInspector.ConsoleSession.prototype.hasMessages): |
| * UserInterface/Views/LogContentView.css: |
| (.console-session-header): |
| (.console-session:first-of-type .console-session-header): |
| (.console-session:not(:first-of-type)): |
| (.console-session:not(:first-of-type) .console-session-header): |
| * UserInterface/Views/LogContentView.js: |
| (WebInspector.LogContentView.prototype._sessionStarted): |
| |
| 2016-09-16 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: make Object.awaitEvent synchronously add an event listener |
| https://bugs.webkit.org/show_bug.cgi?id=162066 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Base/Object.js: |
| (WebInspector.Object.awaitEvent): |
| Utilize a WebInspector.WrappedPromise to not worry about adding the singleFireEventListener |
| on the next tick due to the promise construction. |
| |
| * UserInterface/TestStub.html: |
| Add WebInspector.WrappedPromise. |
| |
| 2016-09-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Include JavaScript completion for ES6 keywords and global variables |
| https://bugs.webkit.org/show_bug.cgi?id=162027 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Controllers/CodeMirrorCompletionController.js: |
| (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions): |
| Include ES6 keywords and provide them when they may be available. |
| |
| * UserInterface/Views/ConsolePrompt.js: |
| (WebInspector.ConsolePrompt): |
| * UserInterface/Views/TextEditor.js: |
| (WebInspector.TextEditor.prototype.set mimeType): |
| For editors that might want to provide completion for global variables |
| use the mode with options way of setting the mode for CodeMirror. The |
| only mode that cares about "globalVars" are the JavaScript variants. |
| |
| 2016-09-15 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: support drag and drop of CSS classes and ids onto DOM nodes |
| https://bugs.webkit.org/show_bug.cgi?id=16529 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Models/DOMNode.js: |
| (WebInspector.DOMNode.prototype.toggleClass.resolvedNode.inspectedPage_node_toggleClass): |
| (WebInspector.DOMNode.prototype.toggleClass.resolvedNode): |
| (WebInspector.DOMNode.prototype.toggleClass): |
| Moved from WebInspector.CSSStyleDetailsSidebarPanel.prototype._toggleClass. |
| |
| * UserInterface/Views/CSSStyleDetailsSidebarPanel.css: |
| (.sidebar > .panel.details.css-style > .content ~ :matches(.options-container, .class-list-container)): |
| Added z-index to fix overlapping with selector origin. |
| |
| * UserInterface/Views/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.computedStyleDetailsPanelShowProperty): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.initialLayout): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._switchPanels): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._classToggleButtonClicked): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._addClassInputBlur): |
| Added a setting for auto-expanding the Classes toggle list based on the previous state. |
| Also renamed the existing _lastSelectedSectionSetting to _lastSelectedPanelSetting since the |
| setting doesn't have anything to do with the last selected section. |
| |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._createToggleForClassName): |
| (WebInspector.CSSStyleDetailsSidebarPanel.ToggledClassesDragType): |
| Added functionality to allow dragging of a className toggle's text (not the checkbox) by |
| using a custom type, preventing the value from being dropped anywhere except the DOM tree. |
| |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._createToggleForClassName.classNameToggleChanged): |
| Restructured to use arrow function to avoid function binding. |
| |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._toggleClass.resolvedNode.toggleClass): Deleted. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._toggleClass.resolvedNode): Deleted. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._toggleClass): Deleted. |
| |
| * UserInterface/Views/DOMTreeOutline.js: |
| (WebInspector.DOMTreeOutline.prototype._ondragover): |
| (WebInspector.DOMTreeOutline.prototype._ondrop.callback): |
| (WebInspector.DOMTreeOutline.prototype._ondrop): |
| Allow dragging when the dataTransfer object contains the type specified by |
| WebInspector.CSSStyleDetailsSidebarPanel.ToggledClassesDragType. The value for that type |
| will be added to the dropped element's classList. |
| |
| 2016-09-15 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Use more global color variables in TreeOutline and DataGrid |
| https://bugs.webkit.org/show_bug.cgi?id=161940 |
| <rdar://problem/28292555> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/DataGrid.css: |
| (.data-grid tr.selected): |
| (.data-grid:matches(:focus, .force-focus) tr.selected): |
| Use global color vars. |
| |
| * UserInterface/Views/TreeOutline.css: |
| (.tree-outline .item.selected): |
| Use global color vars. |
| (body.window-inactive .tree-outline .item.selected): Deleted. |
| Not needed. Unfocused color is the same when window is inactive. |
| |
| * UserInterface/Views/Variables.css: |
| (:root): |
| Add --selected-background-color-unfocused. |
| |
| 2016-09-14 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Call frame is sometimes not selected in Debugger sidebar on initial pause |
| https://bugs.webkit.org/show_bug.cgi?id=161835 |
| <rdar://problem/28236680> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel): |
| (WebInspector.NavigationSidebarPanel.prototype._contentTreeOutlineTreeSelectionDidChange): |
| If a tree other than the newly selected element's tree has the selection, |
| deselect it to prevent multiple tree selections. |
| (WebInspector.NavigationSidebarPanel.prototype.show): Deleted. |
| Not needed since the selected tree is no longer tracked. Incidentally, |
| SidebarPanel.show was only called by SearchSidebarPanel, which doesn't need |
| to manage selection across multiple tree outlines. |
| |
| 2016-09-14 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Call Stack tree in the Debugger sidebar should mark the active call frame |
| https://bugs.webkit.org/show_bug.cgi?id=161945 |
| <rdar://problem/28293451> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Add an indicator for the active call frame tree element, patterned after |
| Xcode's call stack UI. The indicator should be positioned on the left, |
| with a fill color based on the tree element's selected/focused state. |
| |
| * UserInterface/Images/ActiveCallFrame.svg: Added. |
| Image for "active call frame" tree element status. |
| |
| * UserInterface/Main.html: |
| New file. |
| |
| * UserInterface/Views/CallFrameTreeElement.css: Added. |
| (.tree-outline .item.call-frame .status): |
| (.tree-outline .item.call-frame .status > .status-image): |
| (.tree-outline .item.call-frame.selected .status > .status-image): |
| (.tree-outline:matches(:focus, .force-focus) .item.call-frame.selected .status > .status-image): |
| New tree element styles. |
| |
| * UserInterface/Views/CallFrameTreeElement.js: |
| (WebInspector.CallFrameTreeElement): |
| (WebInspector.CallFrameTreeElement.prototype.get callFrame): |
| (WebInspector.CallFrameTreeElement.prototype.get isActiveCallFrame): |
| (WebInspector.CallFrameTreeElement.prototype.set isActiveCallFrame): |
| Add property for toggling active call frame indicator. |
| (WebInspector.CallFrameTreeElement.prototype.onattach): |
| (WebInspector.CallFrameTreeElement.prototype._updateStatus): |
| |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel): |
| (WebInspector.DebuggerSidebarPanel.prototype._debuggerCallFramesDidChange): |
| (WebInspector.DebuggerSidebarPanel.prototype._debuggerActiveCallFrameDidChange): |
| |
| * UserInterface/Views/Variables.css: |
| (:root): |
| New global for dark border color. |
| |
| 2016-09-13 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Use Array.shallowEqual instead of Object.shallowEqual in more places |
| https://bugs.webkit.org/show_bug.cgi?id=161867 |
| <rdar://problem/28261328> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Base/Utilities.js: |
| (value): |
| Array.shallowEqual should return false if passed a non-array. |
| |
| * UserInterface/Models/CSSRule.js: |
| (WebInspector.CSSRule.prototype.update): |
| * UserInterface/Models/Color.js: |
| (WebInspector.Color.prototype.isKeyword): |
| * UserInterface/Models/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle): |
| (WebInspector.DOMNodeStyles.prototype.refresh): |
| * UserInterface/Models/Geometry.js: |
| (WebInspector.CubicBezier.prototype.toString): |
| * UserInterface/Views/GeneralTreeElement.js: |
| (WebInspector.GeneralTreeElement.prototype.set classNames): |
| * UserInterface/Views/NewTabContentView.js: |
| (WebInspector.NewTabContentView.prototype._updateShownTabs): |
| Prefer Array.shallowEqual over Obejct.shallowEqual if the arguments |
| will always be arrays. |
| |
| 2016-09-13 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Should be able to pretty print module code (import / export statements) |
| https://bugs.webkit.org/show_bug.cgi?id=161891 |
| <rdar://problem/28272784> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * Tools/Formatting/EsprimaFormatterDebug.js: |
| * Tools/Formatting/index.html: |
| Update the formatting tool to toggle between source type modes. |
| |
| * UserInterface/Proxies/FormatterWorkerProxy.js: |
| * UserInterface/Workers/Formatter/FormatterWorker.js: |
| (FormatterWorker.prototype.formatJavaScript): |
| Provide a flag to parse the input as a module instead of a script/program. |
| |
| * UserInterface/Views/TextEditor.js: |
| (WebInspector.TextEditor.prototype._startWorkerPrettyPrint): |
| Using the formatter here, we may have module scripts in the future. |
| |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction.didGetDetails): |
| Using the formatter for a function is not module source. |
| |
| * UserInterface/Workers/Formatter/ESTreeWalker.js: |
| (ESTreeWalker.prototype._walkChildren): |
| Visit children of Export/Import nodes. |
| |
| * UserInterface/Workers/Formatter/EsprimaFormatter.js: |
| (EsprimaFormatter.prototype._handleTokenAtNode): |
| Output tokens with appropriate whitespace. |
| |
| 2016-09-13 Chris Dumez <cdumez@apple.com> |
| |
| Drop support for <isindex> |
| https://bugs.webkit.org/show_bug.cgi?id=7139 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Drop references to isindex. |
| |
| * UserInterface/Views/DOMTreeElement.js: |
| |
| 2016-09-12 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Improve clarity of inspector tests by adding TestHarness.expect* functions similar to XCTest |
| https://bugs.webkit.org/show_bug.cgi?id=161278 |
| <rdar://problem/28039741> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Under the hood they all call TestHarness.expectThat. |
| |
| * UserInterface/Test/TestHarness.js: |
| (TestHarness.prototype.expectFalse): |
| (TestHarness.prototype.expectNull): |
| (TestHarness.prototype.expectNotNull): |
| (TestHarness.prototype.expectEqual): |
| (TestHarness.prototype.expectNotEqual): |
| (TestHarness.prototype.expectShallowEqual): |
| (TestHarness.prototype.expectNotShallowEqual): |
| (TestHarness.prototype.expectEqualWithAccuracy): |
| (TestHarness.prototype.expectLessThan): |
| (TestHarness.prototype.expectLessThanOrEqual): |
| (TestHarness.prototype.expectGreaterThan): |
| (TestHarness.prototype.expectGreaterThanOrEqual): |
| |
| 2016-09-12 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| REGRESSION (r205223): Web Inspector: Debugger popover title and code aren't horizontally aligned |
| https://bugs.webkit.org/show_bug.cgi?id=161848 |
| <rdar://problem/28250703> |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/SourceCodeTextEditor.css: |
| (.popover .debugger-popover-content > .title): |
| (.popover .debugger-popover-content.function > .body): |
| Make left and right padding the same. |
| |
| (.popover .debugger-popover-content.function > .body .CodeMirror pre): |
| Override left padding defined in CodeMirrorOverrides.css by `.CodeMirror pre` rule. |
| |
| 2016-09-12 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Hide ["PrivateSymbol.concatSlowPath"] and other PrivateSymbols from memory edges |
| https://bugs.webkit.org/show_bug.cgi?id=156763 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Proxies/HeapSnapshotEdgeProxy.js: |
| (WebInspector.HeapSnapshotEdgeProxy.prototype.isPrivateSymbol): |
| Checks that the edge data does not begin with "PrivateSymbol". |
| |
| * UserInterface/Views/HeapSnapshotInstanceDataGridNode.js: |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._populate): |
| Only add child nodes if they are not PrivateSymbol nodes. |
| |
| 2016-09-12 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Object.shallowEqual() should return false if object prototype chains differ |
| https://bugs.webkit.org/show_bug.cgi?id=161852 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Improve Object.shallowEqual so it won't produce false positives. |
| |
| * UserInterface/Base/Utilities.js: |
| (value): |
| Object.shallowEqual should return false for non-array arguments. |
| Since typeof null === "object", use `instanceof` instead to avoid separate |
| null checks. Also use Array.shallowEqual fast path when both arguments are arrays. |
| |
| 2016-09-11 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Combine similar SVG files for Styles sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=161071 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Images/StyleRule.svg: Added. |
| * UserInterface/Images/StyleRulePseudoElement.svg: Added. |
| Replaced <defs> with <symbol> give CSS some access to the referenced DOM inside <symbol>. |
| Since <symbol> uses Shadow DOM, applying CSS variables to the :target element and using |
| them inside <symbol> allows for variable styling of the content. Using a more basic |
| `#foo .bar` selector would not be valid since Shadow DOM separates the stylesheet selectors. |
| |
| * UserInterface/Images/gtk/StyleRule.svg: Added. |
| * UserInterface/Images/gtk/StyleRulePseudoElement.svg: Added. |
| |
| * UserInterface/Images/StyleRuleAuthor.svg: Removed. |
| * UserInterface/Images/StyleRuleInherited.svg: Removed. |
| * UserInterface/Images/StyleRuleInspector.svg: Removed. |
| * UserInterface/Images/StyleRuleUser.svg: Removed. |
| * UserInterface/Images/StyleRuleUserAgent.svg: Removed. |
| * UserInterface/Images/gtk/StyleRuleAuthor.svg: Removed. |
| * UserInterface/Images/gtk/StyleRuleInherited.svg: Removed. |
| * UserInterface/Images/gtk/StyleRuleInspector.svg: Removed. |
| * UserInterface/Images/gtk/StyleRuleUser.svg: Removed. |
| * UserInterface/Images/gtk/StyleRuleUserAgent.svg: Removed. |
| Merged into StyleRule.svg by using IDs in the URL. |
| |
| * UserInterface/Images/StyleRuleAuthorPseudo.svg: Removed. |
| * UserInterface/Images/StyleRuleInspectorPseudo.svg: Removed. |
| * UserInterface/Images/StyleRuleUserAgentPseudo.svg: Removed. |
| * UserInterface/Images/StyleRuleUserPseudo.svg: Removed. |
| Merged into StyleRulePseudoElement.svg by using IDs in the URL. |
| |
| * UserInterface/Views/StyleRuleIcons.css: |
| (.author-style-rule-icon .icon): |
| (.author-style-rule-icon.pseudo-element-selector .icon): |
| (.user-style-rule-icon .icon): |
| (.user-style-rule-icon.pseudo-element-selector .icon): |
| (.user-agent-style-rule-icon .icon): |
| (.user-agent-style-rule-icon.pseudo-element-selector .icon): |
| (.inspector-style-rule-icon .icon): |
| (.inspector-style-rule-icon.pseudo-element-selector .icon): |
| (.inherited-style-rule-icon .icon): |
| |
| 2016-09-11 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| REGRESSION (r205754): Web Inspector: Cannot click on links to stylesheets in Rules sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=161838 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/CSSStyleDeclarationSection.css: |
| (.style-declaration-section > .header > textarea): |
| (.style-declaration-section > .header > .origin): |
| Added z-index to the non-selector elements of the header. Also limited the size of the |
| selector textarea to just the size of the displayed selector text. |
| |
| * UserInterface/Views/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor): |
| Fixed invalid enum value for propertyVisibilityMode. |
| |
| 2016-09-09 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Command-Z doesn't work when editing CSS selectors in Styles sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=159734 |
| |
| Reviewed by Brian Burg. |
| |
| Replace the current usage of -webkit-user-select with a textarea sized exactly the same as |
| the selector text which holds the current value of the selector. |
| |
| * UserInterface/Test.html: Add WrappedPromise. |
| |
| * UserInterface/Models/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype.refresh.fetchedMatchedStyles): |
| (WebInspector.DOMNodeStyles.prototype.refresh.fetchedInlineStyles): |
| (WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle): |
| (WebInspector.DOMNodeStyles.prototype.refresh): |
| (WebInspector.DOMNodeStyles.prototype.changeRuleSelector.ruleSelectorChanged): |
| (WebInspector.DOMNodeStyles.prototype.changeRuleSelector): |
| Ensure that the promise returned by changeRuleSelector is only resolved once the initiated |
| refresh has completed, ensuring that all matched selectors are parsed and available. |
| |
| * UserInterface/Views/CSSStyleDeclarationSection.css: |
| (.style-declaration-section > .header): |
| (.style-declaration-section.locked > .header::before): |
| (.style-declaration-section.rule-disabled > .header > .icon): |
| (.style-declaration-section > .header > textarea): |
| (.style-declaration-section > .header > textarea:focus): |
| (.style-declaration-section > .header > textarea:focus + .selector): |
| (.style-declaration-section > .header > .selector): |
| (.style-declaration-section > .header > .selector:empty): |
| (.style-declaration-section > .header > .selector .matched): |
| (.style-declaration-section:not(.invalid-selector).rule-disabled > .header > .icon): Deleted. |
| (.style-declaration-section > .header > .selector:empty::before): Deleted. |
| (.style-declaration-section > .header > .selector:focus): Deleted. |
| (.style-declaration-section:matches(.locked, .selector-locked) > .header > .selector): Deleted. |
| (.style-declaration-section > .header > .selector > .matched): Deleted. |
| (.style-declaration-section.invalid-selector > .header > .icon): Deleted. |
| (.style-declaration-section.invalid-selector > .header > .selector): Deleted. |
| Added styling to make textarea invisible when not focused. |
| Also removed the .invalid-selector styles as the section now refreshed on all changes. |
| |
| * UserInterface/Views/CSSStyleDeclarationSection.js: |
| (WebInspector.CSSStyleDeclarationSection): |
| (WebInspector.CSSStyleDeclarationSection.prototype.refresh.appendSelector): |
| (WebInspector.CSSStyleDeclarationSection.prototype.refresh.appendSelectorTextKnownToMatch): |
| (WebInspector.CSSStyleDeclarationSection.prototype.refresh): |
| (WebInspector.CSSStyleDeclarationSection.prototype.focusRuleSelector): |
| (WebInspector.CSSStyleDeclarationSection.prototype.get selectorEditable): |
| (WebInspector.CSSStyleDeclarationSection.prototype.get _currentSelectorText): |
| (WebInspector.CSSStyleDeclarationSection.prototype._handleSelectorPaste.parseTextForRule): |
| (WebInspector.CSSStyleDeclarationSection.prototype._handleSelectorPaste): |
| (WebInspector.CSSStyleDeclarationSection.prototype.get selectorLocked): Deleted. |
| Added a hidden textarea for modifying the selector of the represented style. |
| |
| * UserInterface/Views/RulesStyleDetailsPanel.js: |
| (WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionEditorPreviousRule): |
| Now use new getters on CSSSTyleDeclarationSection for determining if a selector is editable. |
| |
| * UserInterface/Views/Variables.css: |
| (:root): |
| Added --style-declaration-section-header-padding CSS variable. |
| |
| 2016-09-08 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: make copy-user-interface-resources.pl easier to read |
| https://bugs.webkit.org/show_bug.cgi?id=161772 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Scripts/copy-user-interface-resources.pl: |
| Break long script invocations across multiple lines so that the |
| options and values are paired together. |
| |
| 2016-09-08 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: get rid of extra copies of jsmin.py and cssmin.py |
| https://bugs.webkit.org/show_bug.cgi?id=161770 |
| <rdar://problem/28216813> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Scripts/copy-user-interface-resources-dryrun.rb: |
| - Keep track of the original working directory. |
| - Stage scripts from PrivateHeaders into the temporary directory. |
| - Add a comment to clarify what this script is simulating. |
| - Use system instead of exec so we can print an error message. |
| |
| * Scripts/copy-user-interface-resources.pl: |
| - Use jsmin.py and cssmin.py from JavaScriptCore instead of |
| WebInspectorUI. There are no differences between the two copies. |
| |
| * Scripts/cssmin.py: Removed. |
| * Scripts/jsmin.py: Removed. |
| |
| * WebInspectorUI.xcodeproj/project.pbxproj: |
| - Remove unused copies of jsmin.py and cssmin.py. |
| |
| 2016-09-08 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: TimelineDataGridNode should refresh when graph column is resized |
| https://bugs.webkit.org/show_bug.cgi?id=161765 |
| <rdar://problem/28215674> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid.prototype.resizerDragging): |
| Call `DataGridNode.didResizeColumn` for all visible nodes in the columns |
| to the left and right of the column resizer. |
| |
| * UserInterface/Views/DataGridNode.js: |
| (WebInspector.DataGridNode.prototype.didResizeColumn): |
| Add protected base class method for subclasses to override. |
| |
| * UserInterface/Views/TimelineDataGridNode.js: |
| (WebInspector.TimelineDataGridNode.prototype.didResizeColumn): |
| Refresh the node's graph when the "graph" column is resized. |
| Renamed `left/rightCellIndex` -> `left/rightColumnIndex`. |
| |
| 2016-09-08 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Add a button to navigation bar to toggle Control Flow Profiler |
| https://bugs.webkit.org/show_bug.cgi?id=160973 |
| <rdar://problem/27912606> |
| |
| Reviewed by Brian Burg. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| Add "Fade unexecuted code" and "Do not fade unexecuted code". |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.loaded): |
| Add a setting to remember whether Code Coverage Profiler is on or off between Web Inspector reloads. |
| |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype.shown): |
| (WebInspector.SourceCodeTextEditor.prototype.canShowTypeAnnotations): |
| (WebInspector.SourceCodeTextEditor.prototype.canShowCoverageHints): |
| (WebInspector.SourceCodeTextEditor.prototype.contentDidChange): |
| (WebInspector.SourceCodeTextEditor.prototype.toggleTypeAnnotations): |
| (WebInspector.SourceCodeTextEditor.prototype.toggleUnexecutedCodeHighlights): |
| (WebInspector.SourceCodeTextEditor.prototype.prettyPrint): |
| (WebInspector.SourceCodeTextEditor.prototype._proceedPopulateWithContent): |
| (WebInspector.SourceCodeTextEditor.prototype._setTypeTokenAnnotatorEnabledState): |
| (WebInspector.SourceCodeTextEditor.prototype.set _basicBlockAnnotatorEnabled): |
| (WebInspector.SourceCodeTextEditor.prototype._enableScrollEventsForTypeTokenAnnotator): |
| (WebInspector.SourceCodeTextEditor.prototype._enableScrollEventsForControlFlowAnnotator): |
| (WebInspector.SourceCodeTextEditor.prototype._disableScrollEventsForControlFlowAnnotator): |
| (WebInspector.SourceCodeTextEditor.prototype._createTypeTokenScrollEventHandler): |
| (WebInspector.SourceCodeTextEditor.prototype._createControlFlowScrollEventHandler): |
| (WebInspector.SourceCodeTextEditor.prototype.canBeFormatted): Deleted. |
| (WebInspector.SourceCodeTextEditor.prototype.dialogWasDismissed): Deleted. |
| (WebInspector.SourceCodeTextEditor.prototype.showPopoverForTypes): Deleted. |
| (WebInspector.SourceCodeTextEditor.prototype._addBreakpointWithEditorLineInfo): Deleted. |
| (WebInspector.SourceCodeTextEditor.prototype._removeBreakpointWithEditorLineInfo): Deleted. |
| (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression): Deleted. |
| (WebInspector.SourceCodeTextEditor.prototype._dismissEditingController): Deleted. |
| (WebInspector.SourceCodeTextEditor.prototype.editingControllerDidStartEditing): Deleted. |
| (WebInspector.SourceCodeTextEditor.prototype.editingControllerDidFinishEditing): Deleted. |
| (WebInspector.SourceCodeTextEditor.prototype._getAssociatedScript): Deleted. |
| (WebInspector.SourceCodeTextEditor.prototype._createTypeTokenAnnotator): Deleted. |
| Make Code Coverage profiler independent from Type Profiler. |
| |
| * UserInterface/Views/TextContentView.js: |
| (WebInspector.TextContentView): |
| (WebInspector.TextContentView.prototype.get navigationItems): |
| (WebInspector.TextContentView.prototype.get textEditor): Deleted. |
| * UserInterface/Views/TextEditor.js: |
| (WebInspector.TextEditor.prototype.get hasModified): |
| (WebInspector.TextEditor.prototype.canShowCoverageHints): |
| * UserInterface/Views/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView): |
| (WebInspector.TextResourceContentView.prototype.get navigationItems): |
| (WebInspector.TextResourceContentView.prototype._contentDidPopulate): |
| (WebInspector.TextResourceContentView.prototype._toggleTypeAnnotations): |
| (WebInspector.TextResourceContentView.prototype._toggleUnexecutedCodeHighlights): |
| (WebInspector.TextResourceContentView.prototype._enableControlFlowProfilerSettingChanged): |
| (WebInspector.TextResourceContentView.prototype._contentWillPopulate): Deleted. |
| * UserInterface/Views/ScriptContentView.js: |
| (WebInspector.ScriptContentView): |
| (WebInspector.ScriptContentView.prototype.get navigationItems): |
| (WebInspector.ScriptContentView.prototype._contentDidPopulate): |
| (WebInspector.ScriptContentView.prototype._toggleTypeAnnotations): |
| (WebInspector.ScriptContentView.prototype._toggleUnexecutedCodeHighlights): |
| (WebInspector.ScriptContentView.prototype._enableControlFlowProfilerSettingChanged): |
| (WebInspector.ScriptContentView.prototype._contentWillPopulate): Deleted. |
| Add the [C] icon right next to the [T] (Type Profiler) icon. |
| |
| 2016-09-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Debugger sidebar should include a warning message breakpoints are disabled |
| https://bugs.webkit.org/show_bug.cgi?id=156719 |
| <rdar://problem/25787932> |
| |
| Reviewed by Brian Burg. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| New strings for breakpoints disabled warning banner. |
| |
| * UserInterface/Views/DebuggerSidebarPanel.css: |
| (.sidebar > .panel.navigation.debugger .warning-banner): |
| (.sidebar > .panel.navigation.debugger .warning-banner > a): |
| Generalize the class name to "warning-banner". |
| |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel): |
| (WebInspector.DebuggerSidebarPanel.prototype._breakpointsEnabledDidChange): |
| (WebInspector.DebuggerSidebarPanel.prototype._timelineCapturingWillStart): |
| (WebInspector.DebuggerSidebarPanel.prototype._timelineCapturingStopped): |
| (WebInspector.DebuggerSidebarPanel.prototype._updateBreakpointsDisabledBanner): |
| Show / hide a breakpoints disabled warning banner as needed. |
| Only one banner shows at a time, so either the timing warning |
| or the generic breakpoints disabled banner will show. |
| |
| 2016-09-07 Johan K. Jensen <johan_jensen@apple.com> |
| |
| Web Inspector: Show resource timing details in Network waterfall |
| https://bugs.webkit.org/show_bug.cgi?id=160062 |
| |
| This patch adds a popover to network tab's and timeline tab's resource rows, when hovering |
| the recordbar. It shows times for the various parts of the resource load if they are available, |
| or it shows the reason for why not as text (e.g. cached resource, data URI). |
| |
| Reviewed by Matt Baker. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| Added new strings. |
| |
| * UserInterface/Main.html: |
| Include new files. |
| |
| * UserInterface/Views/ComputedStyleDetailsPanel.js: |
| (WebInspector.ComputedStyleDetailsPanel.prototype.initialLayout): |
| Updated to use DataGrid property to hide header. |
| |
| * UserInterface/Views/DataGrid.css: |
| (.data-grid.no-header > .header-wrapper): |
| (.data-grid.no-header > .header-wrapper > table.header): Deleted. |
| Hide the whole DataGrid header. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid): |
| (WebInspector.DataGrid.prototype.get headerVisible): |
| (WebInspector.DataGrid.prototype.set headerVisible): |
| Add property to control header visibility, so grid clients aren't forced to manipulate internal grid styles. |
| |
| * UserInterface/Views/NetworkGridContentView.js: |
| (WebInspector.NetworkGridContentView.prototype._processPendingRecords): |
| * UserInterface/Views/NetworkTimelineView.js: |
| (WebInspector.NetworkTimelineView.prototype._processPendingRecords): |
| * UserInterface/Views/OverviewTimelineView.js: |
| (WebInspector.OverviewTimelineView.prototype._addResourceToDataGridIfNeeded): |
| Pass in new parameter for whether or not to show the popover for resources. |
| |
| * UserInterface/Views/ResourceTimelineDataGridNode.css: Added. |
| (.resource-timing-popover-content .data-grid): |
| (.resource-timing-popover-content .data-grid .graph-column > .cell-content): |
| (.resource-timing-popover-content .data-grid td): |
| (.resource-timing-popover-content .data-grid td.graph-column): |
| (.resource-timing-popover-content .data-grid table.data): |
| (.resource-timing-popover-content .data-grid tr:nth-last-child(2)): |
| Add styling for the popover. |
| |
| * UserInterface/Views/ResourceTimelineDataGridNode.js: |
| (WebInspector.ResourceTimelineDataGridNode): |
| (WebInspector.ResourceTimelineDataGridNode.prototype.didAddRecordBar): |
| (WebInspector.ResourceTimelineDataGridNode.prototype.didRemoveRecordBar): |
| (WebInspector.ResourceTimelineDataGridNode.prototype._mouseoverRecordBar): |
| Creates the popover for a RecordBar and shows detailed info about segments. |
| |
| * UserInterface/Views/ResourceTimingPopoverDataGridNode.js: Added. |
| (WebInspector.ResourceTimingPopoverDataGridNode): |
| (WebInspector.ResourceTimingPopoverDataGridNode.prototype.get records): |
| (WebInspector.ResourceTimingPopoverDataGridNode.prototype.get data): |
| (WebInspector.ResourceTimingPopoverDataGridNode.prototype.get selectable): |
| (WebInspector.ResourceTimingPopoverDataGridNode.prototype.createCellContent): |
| DataGridNode for the popover. |
| |
| * UserInterface/Views/TimelineDataGridNode.js: |
| (WebInspector.TimelineDataGridNode.prototype.refreshGraph.createBar): |
| (WebInspector.TimelineDataGridNode.prototype.refreshGraph): |
| (WebInspector.TimelineDataGridNode.prototype.didAddRecordBar): |
| (WebInspector.TimelineDataGridNode.prototype.didRemoveRecordBar): |
| (WebInspector.TimelineDataGridNode): |
| Added hooks for notifying subclasses. |
| |
| * UserInterface/Views/TimelineRecordBar.js: |
| (WebInspector.TimelineRecordBar): |
| (WebInspector.TimelineRecordBar.fromElement): |
| Added symbol and static method to get the recordBar from a given element. |
| |
| 2016-09-07 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: clicking Computed Styles sidebar "Show All" checkbox doesn't trigger relayout of Properties section |
| https://bugs.webkit.org/show_bug.cgi?id=161652 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._iterateOverProperties): |
| Fixed style issues from r205518 <webkit.org/b/161405>. |
| |
| * UserInterface/Views/ComputedStyleDetailsPanel.js: |
| (WebInspector.ComputedStyleDetailsPanel.prototype.get regionFlow): |
| (WebInspector.ComputedStyleDetailsPanel.prototype.get contentFlow): |
| (WebInspector.ComputedStyleDetailsPanel.prototype.get containerRegions): |
| Added missing space between semicolon and curly-brace. |
| |
| (WebInspector.ComputedStyleDetailsPanel.prototype._computedStyleShowAllCheckboxValueChanged): |
| Added updateLayout call to resize and repopulate the CodeMirror instance. |
| |
| 2016-09-07 Chris Dumez <cdumez@apple.com> |
| |
| Drop legacy canvas.probablySupportsContext() |
| https://bugs.webkit.org/show_bug.cgi?id=161692 |
| |
| Reviewed by Alex Christensen. |
| |
| * UserInterface/Models/NativeFunctionParameters.js: |
| |
| 2016-09-06 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Avoid linkifying some schemes in console logs |
| https://bugs.webkit.org/show_bug.cgi?id=161648 |
| <rdar://problem/16413270> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Base/Main.js: |
| Don't linkify some kinds of links. |
| |
| 2016-09-06 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Allow hiding of CSS variables in Computed styles panel |
| https://bugs.webkit.org/show_bug.cgi?id=161405 |
| |
| Reviewed by Brian Burg. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| * UserInterface/Models/CSSProperty.js: |
| (WebInspector.CSSProperty.prototype.update): |
| (WebInspector.CSSProperty.prototype.get variable): |
| Sets a member variable if the CSS property begins with "--", indicating that it is a variable. |
| |
| (WebInspector.CSSProperty.prototype.get name): |
| (WebInspector.CSSProperty.prototype.get value): |
| (WebInspector.CSSProperty.prototype.get priority): |
| (WebInspector.CSSProperty.prototype.get overridden): |
| (WebInspector.CSSProperty.prototype.get anonymous): |
| (WebInspector.CSSProperty.prototype.get inherited): |
| (WebInspector.CSSProperty.prototype.get valid): |
| (WebInspector.CSSProperty.prototype.get styleSheetTextRange): |
| (WebInspector.CSSProperty.prototype.get relatedShorthandProperty): |
| (WebInspector.CSSProperty.prototype.get relatedLonghandProperties): |
| Changed styling to be one line getters. |
| |
| * UserInterface/Views/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.PropertyVisibilityMode): |
| Dictionary for the three possible states of CSS property visibility: |
| - ShowAll |
| - HideVariables |
| - HideNonVariables |
| |
| (WebInspector.CSSStyleDeclarationTextEditor): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.get shownProperties): |
| Added member variable that holds the list of properties resulting from the filter inside |
| WebInspector.CSSStyleDeclarationTextEditor.prototype._iterateOverProperties. |
| |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.get propertyVisibilityMode): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.set propertyVisibilityMode): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._iterateOverProperties): |
| Added member variable controlling the visibility of CSS properties. |
| |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.get delegate): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.get style): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.get showsImplicitProperties): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.get sortProperties): |
| Changed styling to be one line getters. |
| |
| * UserInterface/Views/ComputedStyleDetailsPanel.js: |
| (WebInspector.ComputedStyleDetailsPanel.prototype.refresh): |
| (WebInspector.ComputedStyleDetailsPanel.prototype.filterDidChange): |
| (WebInspector.ComputedStyleDetailsPanel.prototype.initialLayout): |
| (WebInspector.ComputedStyleDetailsPanel.prototype._handleVariablesSectionCollapsedStateChanged): |
| Added an additional text editor that displays the list of CSS Variables visible to the |
| selected node. Also ties this new editor into the refresh/collapse/filter event handlers. |
| |
| (WebInspector.ComputedStyleDetailsPanel.prototype._handlePropertiesSectionCollapsedStateChanged): |
| Renamed from WebInspector.ComputedStyleDetailsPanel.prototype._handleCollapsedStateChanged. |
| |
| (WebInspector.ComputedStyleDetailsPanel.prototype.get regionFlow): |
| (WebInspector.ComputedStyleDetailsPanel.prototype.get contentFlow): |
| (WebInspector.ComputedStyleDetailsPanel.prototype.get containerRegions): |
| Changed styling to be one line getters. |
| |
| 2016-09-06 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: CodeMirror in resource content view should not show 'CR' characters |
| https://bugs.webkit.org/show_bug.cgi?id=160465 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/CodeMirrorOverrides.css: |
| (.CodeMirror .cm-invalidchar): |
| Hide all invalid characters. |
| |
| 2016-09-06 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Cannot undo in breakpoint editor |
| https://bugs.webkit.org/show_bug.cgi?id=152858 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Controllers/BreakpointPopoverController.js: |
| (WebInspector.BreakpointPopoverController.prototype._conditionCodeMirrorBeforeChange): |
| Since the breakpoint editor only allows a single line of JavaScript, it attempts to remove |
| all "\n" characters. During an "undo" action, this is not possible. |
| |
| 2016-09-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Enable and enforce some recommended and stylistic ESLint rules |
| https://bugs.webkit.org/show_bug.cgi?id=161567 |
| |
| Reviewed by Brian Burg. |
| |
| * .eslintrc: |
| * UserInterface/Base/EventListener.js: |
| * UserInterface/Base/EventListenerSet.js: |
| * UserInterface/Base/MIMETypeUtilities.js: |
| * UserInterface/Base/Main.js: |
| * UserInterface/Controllers/CodeMirrorTokenTrackingController.js: |
| * UserInterface/Controllers/DOMTreeManager.js: |
| * UserInterface/Controllers/TimelineManager.js: |
| * UserInterface/Models/CSSKeywordCompletions.js: |
| * UserInterface/Models/DOMNode.js: |
| * UserInterface/Models/DOMNodeStyles.js: |
| * UserInterface/Models/Frame.js: |
| * UserInterface/Models/Geometry.js: |
| * UserInterface/Models/ProfileNode.js: |
| * UserInterface/Models/RenderingFrameTimelineRecord.js: |
| * UserInterface/Models/SourceCodeLocation.js: |
| * UserInterface/Protocol/RemoteObject.js: |
| * UserInterface/Views/ApplicationCacheFrameContentView.js: |
| * UserInterface/Views/ContextMenu.js: |
| * UserInterface/Views/DOMTreeContentView.js: |
| * UserInterface/Views/DOMTreeElement.js: |
| * UserInterface/Views/DataGrid.js: |
| * UserInterface/Views/GeneralTreeElement.js: |
| * UserInterface/Views/HeapAllocationsTimelineDataGridNode.js: |
| * UserInterface/Views/LogContentView.js: |
| * UserInterface/Views/OpenResourceDialog.js: |
| * UserInterface/Views/StyleDetailsPanel.js: |
| * UserInterface/Views/VisualStyleDetailsPanel.js: |
| * UserInterface/Views/VisualStyleKeywordPicker.js: |
| * UserInterface/Views/VisualStylePropertyEditor.js: |
| * UserInterface/Workers/Formatter/FormatterWorker.js: |
| |
| 2016-09-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Run ESLint over UserInterface/Views |
| https://bugs.webkit.org/show_bug.cgi?id=161564 |
| |
| Reviewed by Brian Burg. |
| |
| * .eslintrc: |
| * UserInterface/Views/BoxModelDetailsSectionRow.js: |
| * UserInterface/Views/ButtonNavigationItem.js: |
| * UserInterface/Views/CSSStyleDeclarationSection.js: |
| * UserInterface/Views/CSSStyleDeclarationTextEditor.js: |
| * UserInterface/Views/CodeMirrorAdditions.js: |
| * UserInterface/Views/CodeMirrorEditor.js: |
| * UserInterface/Views/CodeMirrorFormatters.js: |
| * UserInterface/Views/ColorWheel.js: |
| * UserInterface/Views/ComputedStyleDetailsPanel.js: |
| * UserInterface/Views/ConsoleMessageView.js: |
| * UserInterface/Views/ContentViewContainer.js: |
| * UserInterface/Views/CookieStorageContentView.js: |
| * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: |
| * UserInterface/Views/DOMStorageContentView.js: |
| * UserInterface/Views/DOMTreeElement.js: |
| * UserInterface/Views/DOMTreeOutline.js: |
| * UserInterface/Views/DashboardContainerView.js: |
| * UserInterface/Views/DataGrid.js: |
| * UserInterface/Views/DataGridNode.js: |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| * UserInterface/Views/DefaultDashboardView.js: |
| * UserInterface/Views/FontResourceContentView.js: |
| * UserInterface/Views/FormattedValue.js: |
| * UserInterface/Views/GradientEditor.js: |
| * UserInterface/Views/GradientSlider.js: |
| * UserInterface/Views/HeapSnapshotContentView.js: |
| * UserInterface/Views/HeapSnapshotDataGridTree.js: |
| * UserInterface/Views/HeapSnapshotInstanceDataGridNode.js: |
| * UserInterface/Views/HoverMenu.js: |
| * UserInterface/Views/LogContentView.js: |
| * UserInterface/Views/MemoryTimelineOverviewGraph.js: |
| * UserInterface/Views/MemoryTimelineView.js: |
| * UserInterface/Views/NavigationSidebarPanel.js: |
| * UserInterface/Views/NetworkTimelineOverviewGraph.js: |
| * UserInterface/Views/NewTabContentView.js: |
| * UserInterface/Views/ObjectPreviewView.js: |
| * UserInterface/Views/ObjectTreeBaseTreeElement.js: |
| * UserInterface/Views/ObjectTreeMapEntryTreeElement.js: |
| * UserInterface/Views/OverviewTimelineView.js: |
| * UserInterface/Views/Popover.js: |
| * UserInterface/Views/ProbeSetDetailsSection.js: |
| * UserInterface/Views/ProfileDataGridNode.js: |
| * UserInterface/Views/ProfileDataGridTree.js: |
| * UserInterface/Views/ProfileView.js: |
| * UserInterface/Views/ResourceSidebarPanel.js: |
| * UserInterface/Views/RulesStyleDetailsPanel.js: |
| * UserInterface/Views/ScopeRadioButtonNavigationItem.js: |
| * UserInterface/Views/ScriptClusterTimelineView.js: |
| * UserInterface/Views/ScriptDetailsTimelineView.js: |
| * UserInterface/Views/ScriptProfileTimelineView.js: |
| * UserInterface/Views/StackedLineChart.js: |
| * UserInterface/Views/StorageSidebarPanel.js: |
| * UserInterface/Views/TabBrowser.js: |
| * UserInterface/Views/TextEditor.js: |
| * UserInterface/Views/TimelineDataGridNode.js: |
| * UserInterface/Views/TimelineOverview.js: |
| * UserInterface/Views/TimelineRecordFrame.js: |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| * UserInterface/Views/TimelineTabContentView.js: |
| * UserInterface/Views/TreeOutline.js: |
| * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js: |
| * UserInterface/Views/VisualStylePropertyEditor.js: |
| * UserInterface/Views/VisualStyleSelectorSection.js: |
| |
| 2016-09-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Update ESLint rules and run it over most of UserInterface |
| https://bugs.webkit.org/show_bug.cgi?id=161561 |
| |
| Reviewed by Brian Burg. |
| |
| * .eslintrc: |
| Updated ESLint rules. |
| |
| * UserInterface/Base/InspectorFrontendHostStub.js: |
| * UserInterface/Base/Main.js: |
| * UserInterface/Base/Object.js: |
| * UserInterface/Base/Platform.js: |
| * UserInterface/Base/Setting.js: |
| * UserInterface/Controllers/CSSStyleManager.js: |
| * UserInterface/Controllers/CodeMirrorCompletionController.js: |
| * UserInterface/Controllers/CodeMirrorTextKillController.js: |
| * UserInterface/Controllers/DebuggerManager.js: |
| * UserInterface/Controllers/DragToAdjustController.js: |
| * UserInterface/Controllers/ReplayManager.js: |
| * UserInterface/Controllers/SourceMapManager.js: |
| * UserInterface/Controllers/TimelineManager.js: |
| * UserInterface/Controllers/TypeTokenAnnotator.js: |
| * UserInterface/Controllers/VisualStyleCompletionsController.js: |
| * UserInterface/Debug/Bootstrap.js: |
| * UserInterface/Debug/UncaughtExceptionReporter.js: |
| * UserInterface/Models/CSSRule.js: |
| * UserInterface/Models/CallingContextTree.js: |
| * UserInterface/Models/CallingContextTreeNode.js: |
| * UserInterface/Models/ConsoleCommandResultMessage.js: |
| * UserInterface/Models/CookieStorageObject.js: |
| * UserInterface/Models/Frame.js: |
| * UserInterface/Models/Geometry.js: |
| * UserInterface/Models/IssueMessage.js: |
| * UserInterface/Models/LayoutTimelineRecord.js: |
| * UserInterface/Models/MemoryTimeline.js: |
| * UserInterface/Models/NativeFunctionParameters.js: |
| * UserInterface/Models/ProfileNode.js: |
| * UserInterface/Models/RenderingFrameTimelineRecord.js: |
| * UserInterface/Models/Resource.js: |
| * UserInterface/Models/ScriptSyntaxTree.js: |
| * UserInterface/Models/ScriptTimelineRecord.js: |
| * UserInterface/Models/StackTrace.js: |
| * UserInterface/Models/TypeSet.js: |
| * UserInterface/Models/WrappedPromise.js: |
| * UserInterface/Protocol/InspectorBackend.js: |
| * UserInterface/Protocol/InspectorFrontendAPI.js: |
| * UserInterface/Protocol/RemoteObject.js: |
| * UserInterface/Protocol/ScriptProfilerObserver.js: |
| * UserInterface/Test/FrontendTestHarness.js: |
| * UserInterface/Test/InspectorProtocol.js: |
| * UserInterface/Test/ProtocolTestHarness.js: |
| * UserInterface/Test/Test.js: |
| * UserInterface/Test/TestHarness.js: |
| * UserInterface/Test/TestSuite.js: |
| * UserInterface/Workers/Formatter/EsprimaFormatter.js: |
| * UserInterface/Workers/HeapSnapshot/HeapSnapshotWorker.js: |
| |
| 2016-09-04 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r205415. |
| https://bugs.webkit.org/show_bug.cgi?id=161573 |
| |
| Many bots see inspector test failures, rolling out now and |
| investigating later. (Requested by brrian on #webkit). |
| |
| Reverted changeset: |
| |
| "Web Inspector: unify Main.html and Test.html sources and |
| generate different copies with the preprocessor" |
| https://bugs.webkit.org/show_bug.cgi?id=161212 |
| http://trac.webkit.org/changeset/205415 |
| |
| 2016-09-01 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: unify Main.html and Test.html sources and generate different copies with the preprocessor |
| https://bugs.webkit.org/show_bug.cgi?id=161212 |
| <rdar://problem/28017961> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Add a Derived Sources build phase to WebInspectorUI project. Generate |
| Test.html and Main.html from a combined Inspector.html.in which has preprocessor |
| macros to include/exclude files not needed by all main resource versions. |
| |
| Similarly, start generating these Inspector files in WebInspectorUI/CMakeLists.txt. |
| Move platform-specific bundling commands into PlatformGTK.cmake. |
| |
| * CMakeLists.txt: Added. |
| Set up a list of common frontend resources that specific ports can extend, such as |
| with their own port-specific image resources. This list is the input to port-specific |
| packaging/bundling scripts. Eventually, minification and concatenation should happen |
| independently of the specific port by constructing the list of resources dynamically. |
| |
| To ensure resources are always generated in WebInspectorUI and accessible from WebKit2, |
| add a dummy target that is always out of date and depends on generated files, causing |
| them to be built. |
| |
| Also create a macro to run the preprocessor over Inspector.html.in using various |
| preprocessor macro definitions. These are customizable by ports to control the |
| appearance of ENGINEERING_BUILD, which guards resources not meant for shipping builds. |
| |
| * Configurations/WebInspectorUIFramework.xcconfig: |
| We need to use preprocessor.pm from WebCore. On Mac, this is a private header. |
| Teach xcodebuild how to compute WEBCORE_PRIVATE_HEADERS_DIR. This is copied |
| from WebKit2's configuration files. |
| |
| * PlatformGTK.cmake: Added. |
| Add GTK image resources to the resource list. Generate GResource catalog and embedded |
| C file into DerivedSources. WebKit2 will copy over this file and compile it. |
| |
| * Scripts/combine-resources.pl: |
| (concatenateFiles): |
| Remove the --strip option as this patch removes the only use of it. |
| |
| * DerivedSources.make: Added. |
| Generate Test.html and Main.html from the new combined Inspector.html.in. |
| The 'preprocess_main_resource' rule was copied from WebCore's DerivedSources.make. |
| |
| * Scripts/cssmin.py: Removed. |
| * Scripts/jsmin.py: Removed. |
| These scripts are copied from JavaScriptCore but nobody uses these copies. Remove them. |
| |
| * Scripts/copy-user-interface-resources-dryrun.rb: Do some cleanup. |
| - Stage scripts from SRCROOT into the tmpdir so dryrun doesn't require |
| a previous build to process WebInspectorUI resources. |
| - Run DerivedSources.make before copying/processing resources. |
| - Add some environment variables for new phase and group by script affected. |
| - Add a comment to clarify what this script is simulating. |
| |
| * Scripts/copy-user-interface-resources.pl: |
| - Use Main.html and Test.html from DerivedSources/ instead of SRCROOT. |
| - Copy over Main.html and Test.html manually if not combining resources. |
| - Remove the command to strip files from Debug/ for production. This is |
| now redundant with ENGINEERING_BUILD guards in Inspector.html.in. |
| - Use jsmin.py from JavaScriptCore instead of the local copy. |
| - Wrap all multi-argument 'system' invocations so they are readable. |
| |
| * Scripts/generate-webinspectorui-derived-sources: Added. |
| Added boilerplate script to run DerivedSources.make for Mac port. |
| |
| * Scripts/preprocess-main-resource.pl: Added. |
| Trivially invoke the preprocessor on $0 using the given defines. |
| |
| * UserInterface/Inspector.html.in: Renamed from Source/WebInspectorUI/UserInterface/Main.html. |
| * UserInterface/Test.html: Removed. |
| Combine Test.html and Main.html into Inspector.html.in. Add these guards: |
| - INCLUDE_TEST_RESOURCES: for resources excluded from Main.html. |
| - INCLUDE_UI_RESOURCES: for resources excluded from model tests. |
| - ENGINEERING_BUILD: for resources not to be shipped (Debug/ directory). |
| |
| * WebInspectorUI.xcodeproj/project.pbxproj: |
| - Add new aggregate target 'Derived Sources' to project 'WebInspectorUI'. |
| - Add dependency on 'Derived Sources' to WebInspectorUI.framework. |
| - Remove unused copies of jsmin.py and cssmin.py. |
| |
| 2016-09-03 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Change Cmd-D from kill line to selecting next occurrence |
| https://bugs.webkit.org/show_bug.cgi?id=161514 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Controllers/CodeMirrorTextKillController.js: |
| (WebInspector.CodeMirrorTextKillController): |
| (WebInspector.CodeMirrorTextKillController.prototype._handleTextChange): |
| Remove Cmd-D mapping. |
| |
| * UserInterface/External/CodeMirror/sublime.js: |
| * UserInterface/Main.html: |
| Add Sublime Text keybinding support. |
| |
| * UserInterface/Views/CodeMirrorAdditions.js: |
| Use Sublime text selectNextOccurrence for Cmd-D instead of deleteLine. |
| |
| 2016-09-03 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Add keyboard shortcut for switching to last used dock configuration |
| https://bugs.webkit.org/show_bug.cgi?id=110328 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.contentLoaded): |
| (WebInspector.updateDockedState): |
| (WebInspector._togglePreviousDockConfiguration): |
| Added variable for saving the previous dock state, which is used by the new Cmd+Shift+D |
| shortcut to toggle the docked state between the current and previous states. |
| |
| (WebInspector._undock): |
| (WebInspector._dockBottom): |
| (WebInspector._dockRight): |
| (WebInspector._updateDockNavigationItems): |
| (WebInspector._dockedResizerMouseDown): |
| (WebInspector._dockedResizerMouseDown.dockedResizerDrag): |
| Make use of new WebInspector.DockConfiguration instead of hardcoded strings. |
| |
| (WebInspector.DockConfiguration): |
| Create enum for different WebInspector dock modes: |
| - Right |
| - Bottom |
| - Undocked |
| |
| 2016-09-03 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Address ESLint undefined variable errors |
| https://bugs.webkit.org/show_bug.cgi?id=161563 |
| |
| Reviewed by Darin Adler. |
| |
| * UserInterface/Controllers/CSSStyleManager.js: |
| (WebInspector.CSSStyleManager.protocolMediaSourceToEnum): |
| * UserInterface/Models/IssueMessage.js: |
| (WebInspector.IssueMessage): |
| * UserInterface/Protocol/InspectorBackend.js: |
| |
| 2016-09-03 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Address ESLint undefined variable errors in UserInterface/Views |
| https://bugs.webkit.org/show_bug.cgi?id=161565 |
| |
| Reviewed by Darin Adler. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid.prototype.columnWidthsMap): |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu): |
| * UserInterface/Views/TextContentView.js: |
| (WebInspector.TextContentView.prototype._togglePrettyPrint): |
| |
| 2016-09-02 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Provide a way to open an inspector frontend for a remote target |
| https://bugs.webkit.org/show_bug.cgi?id=161515 |
| <rdar://problem/13182127> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Base/InspectorFrontendHostStub.js: |
| (WebInspector.InspectorFrontendHostStub.prototype.backendCommandsURL): |
| Stub new InspectorFrontendHost methods. This value causes the |
| frontend to load the latest protocol. |
| |
| * UserInterface/Protocol/LoadInspectorBackendCommands.js: |
| Use formalized backendCommandsURL, and if empty load the latest protocol. |
| |
| 2016-09-02 Johan K. Jensen <johan_jensen@apple.com> |
| |
| Web Inspector: NetworkTimelineOverviewGraph.MinimumBarPaddingTime is undefined |
| https://bugs.webkit.org/show_bug.cgi?id=161510 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/NetworkTimelineOverviewGraph.js: |
| (WebInspector.NetworkTimelineOverviewGraph.prototype._networkTimelineRecordAdded): |
| (WebInspector.NetworkTimelineOverviewGraph): |
| Calculate the minimumBarPaddingTime in similar ways to TimelineRecordBar, |
| by using MinimumWidthPixel, MinimumMarginPixel and MinimumDurationPerPixel as the secondsPerPixel value. |
| |
| * UserInterface/Views/TimelineOverview.js: |
| (WebInspector.TimelineOverview): |
| Make Minimum/MaximumDurationPerPixel public properties. |
| |
| 2016-09-01 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Add visual indicator for shadow content in DOM tree |
| https://bugs.webkit.org/show_bug.cgi?id=160874 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.prototype._nodeTitleInfo): |
| (WebInspector.DOMTreeElement.prototype._buildTagDOM): |
| Moved "shadow" class to parent element to allow easier styling. |
| |
| * UserInterface/Views/DOMTreeOutline.css: |
| (.tree-outline.dom): |
| (.tree-outline.dom li): |
| (.tree-outline.dom .shadow): |
| (.tree-outline.dom li.parent.shadow::after): |
| (.tree-outline.dom li.parent.shadow + ol.children.expanded): |
| (.tree-outline.dom .html-fragment.shadow): Deleted. |
| |
| 2016-09-01 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Value checks of secondsPerPixel cause errors |
| https://bugs.webkit.org/show_bug.cgi?id=161304 |
| <rdar://problem/28050070> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/NetworkTimelineView.js: |
| (WebInspector.NetworkTimelineView.prototype.reset): |
| Clear resource node map, which is used to determine which nodes |
| to refresh during layout. |
| |
| (WebInspector.NetworkTimelineView.prototype.layout): |
| Like OverviewTimelineView, only refresh node graphs when times change. |
| This prevents refreshing nodes when (endTime - startTime) === 0. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView.prototype._recordingReset): |
| TimelineViews must be cleared before calling _updateTimes to avoid |
| doing layouts in timeline views containing stale data. |
| |
| 2016-09-01 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: add Object.awaitEvent which is like singleFireEventListener but returns a promise |
| https://bugs.webkit.org/show_bug.cgi?id=161451 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Base/Object.js: |
| (WebInspector.Object.awaitEvent): |
| (WebInspector.Object.prototype.awaitEvent): |
| |
| 2016-09-01 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Minification detection produces false positives for small resources |
| https://bugs.webkit.org/show_bug.cgi?id=161159 |
| <rdar://problem/27995306> |
| |
| Reviewed by Brian Burg. |
| |
| Improve minification detection algorithm. Minified resources rarely have tabs and usually |
| have a very few line breaks. Counting tabs as 4 spaces and line breaks as 8 makes minification |
| detection heuristic more accurate. Increase ratio thresholds to accommodate for the changes in |
| whitespaceScore. |
| |
| * UserInterface/Base/Utilities.js: |
| (isTextLikelyMinified): |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype._prepareEditorForInitialContent): |
| (WebInspector.SourceCodeTextEditor.prototype._isLikelyMinified): Deleted. |
| |
| 2016-09-01 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| REGRESSION (r201454): Web Inspector: Text caret isn't visible when editing an attribute |
| https://bugs.webkit.org/show_bug.cgi?id=160986 |
| <rdar://problem/27916207> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/DOMTreeOutline.css: |
| (.tree-outline.dom li .selection-area): |
| (.tree-outline.dom li > span): |
| Place selection area under the edited field, the way it was before r201454. |
| |
| 2016-09-01 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: tweak one UIString for "reasons for compositing" |
| https://bugs.webkit.org/show_bug.cgi?id=161495 |
| <rdar://problem/13718387> |
| |
| Reviewed by Simon Fraser. |
| |
| Change "Element establishes a stacking context" to "Element may overlap other compositing element". |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Views/LayerTreeDetailsSidebarPanel.js: |
| (WebInspector.LayerTreeDetailsSidebarPanel.prototype._populateListOfCompositingReasons): |
| (WebInspector.LayerTreeDetailsSidebarPanel): |
| |
| 2016-08-30 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Remove largest common indentation spacing in debugger popover |
| https://bugs.webkit.org/show_bug.cgi?id=161417 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/SourceCodeTextEditor.css: |
| (.popover .debugger-popover-content.function > .body): |
| (.popover .debugger-popover-content.function > .body .CodeMirror): |
| |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction.didGetDetails): |
| Use CodeMirror and FormatterWorker to display a non-editable popover. |
| |
| * UserInterface/Workers/Formatter/FormatterWorker.js: |
| (FormatterWorker.prototype.formatJavaScript): |
| Reworked logic to always attempt to format by wrapping content in "(...)". This is |
| necessary for unnamed functions, since they are not valid programs by themselves. |
| |
| 2016-08-30 Johan K. Jensen <johan_jensen@apple.com> |
| |
| Web Inspector: Add resource timing model with timing information |
| https://bugs.webkit.org/show_bug.cgi?id=161314 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Add a resource timing data model and populate it with info from the |
| response from the backend. |
| |
| * UserInterface/Controllers/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache): |
| (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse): |
| Forward timing data from response to Resource.js. |
| |
| * UserInterface/Main.html: Add new ResourceTimingData.js. |
| * UserInterface/Test.html: Add new ResourceTimingData.js. |
| |
| * UserInterface/Models/Resource.js: |
| (WebInspector.Resource): Instantiate ResourceTimingData object. |
| |
| (WebInspector.Resource.prototype.get timing): |
| (WebInspector.Resource.prototype.get firstTimestamp): |
| (WebInspector.Resource.prototype.get lastTimestamp): |
| (WebInspector.Resource.prototype.get duration): |
| (WebInspector.Resource.prototype.get latency): |
| (WebInspector.Resource.prototype.get receiveDuration): |
| Update getters to use new timing model. |
| |
| (WebInspector.Resource.prototype.updateForResponse): |
| Update timing object with info from response. |
| |
| (WebInspector.Resource.prototype.markAsFinished): |
| Log response end time. |
| |
| * UserInterface/Models/ResourceTimelineRecord.js: |
| (WebInspector.ResourceTimelineRecord.prototype.get startTime): |
| (WebInspector.ResourceTimelineRecord.prototype.get activeStartTime): |
| (WebInspector.ResourceTimelineRecord.prototype.get endTime): |
| Update getters to use new timing model. |
| |
| * UserInterface/Models/ResourceTimingData.js: Added. |
| (WebInspector.ResourceTimingData): |
| (WebInspector.ResourceTimingData.fromPayload): |
| (WebInspector.ResourceTimingData.prototype.get startTime): |
| (WebInspector.ResourceTimingData.prototype.get domainLookupStart): |
| (WebInspector.ResourceTimingData.prototype.get domainLookupEnd): |
| (WebInspector.ResourceTimingData.prototype.get connectStart): |
| (WebInspector.ResourceTimingData.prototype.get connectEnd): |
| (WebInspector.ResourceTimingData.prototype.get secureConnectionStart): |
| (WebInspector.ResourceTimingData.prototype.get requestStart): |
| (WebInspector.ResourceTimingData.prototype.get responseStart): |
| (WebInspector.ResourceTimingData.prototype.get responseEnd): |
| (WebInspector.ResourceTimingData.prototype.markResponseEndTime): |
| Add new ResourceTimingData model and fall back on old timestamps |
| for when data is unavailable. |
| |
| 2016-08-30 Alex Christensen <achristensen@webkit.org> |
| |
| Fix WebInspectorUI in internal Windows build |
| https://bugs.webkit.org/show_bug.cgi?id=161221 |
| rdar://problem/28019023 |
| |
| Reviewed by Brent Fulgham and Joseph Pecoraro. |
| |
| * WebInspectorUI.vcxproj/WebInspectorUI.make: |
| * WebInspectorUI.vcxproj/WebInspectorUI.proj: |
| |
| 2016-08-29 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Unify Resource entry context menus |
| https://bugs.webkit.org/show_bug.cgi?id=161301 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Main.html: |
| Add ContextMenuUtilities. |
| |
| * UserInterface/Views/ContextMenuUtilities.js: Added. |
| (WebInspector.appendContextMenuItemsForResource): |
| Appends the following items to the given WebInspector.ContextMenu object with a WebInspector.Resource: |
| - Open in New Tab |
| - Copy Link Address |
| - Copy as cURL (only if the resource is not from a data URL) |
| - Save File |
| |
| * UserInterface/Views/ResourceTimelineDataGridNode.js: |
| (WebInspector.ResourceTimelineDataGridNode.prototype.appendContextMenuItems): |
| Make use of new WebInspector.appendContextMenuItemsForResource. |
| |
| * UserInterface/Views/ResourceTreeElement.js: |
| (WebInspector.ResourceTreeElement.prototype._handleContextMenuEvent): |
| Make use of new WebInspector.appendContextMenuItemsForResource. |
| |
| 2016-08-27 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Make localizedString.js diff and commit friendly (UTF16 -> UTF8) |
| https://bugs.webkit.org/show_bug.cgi?id=28685 |
| <rdar://problem/16460975> |
| |
| Reviewed by Darin Adler. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * WebInspectorUI.xcodeproj/project.pbxproj: |
| Convert the file to UTF-8. Future diffs should display as text. |
| |
| 2016-08-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Add protocol version for iOS 10 |
| https://bugs.webkit.org/show_bug.cgi?id=161266 |
| <rdar://problem/28036594> |
| |
| Rubber-stamped by Brian Burg. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| Update missing localized strings. |
| |
| * Versions/Inspector-iOS-10.0.json: Added. |
| Protocol for iOS 10. |
| |
| * UserInterface/Protocol/Legacy/10.0/InspectorBackendCommands.js: |
| * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js: |
| * UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js: |
| * UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js: |
| * UserInterface/Protocol/Legacy/9.3/InspectorBackendCommands.js: |
| Re-generate the legacy backend commands files. |
| |
| 2016-08-25 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Show IndexedDB Database/ObjectStore/Index data in a details sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=161180 |
| <rdar://problem/28003417> |
| |
| Reviewed by Brian Burg. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Main.html: |
| New strings and file. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.contentLoaded): |
| Instantiate the global details sidebar. |
| |
| * UserInterface/Views/StorageTabContentView.js: |
| (WebInspector.StorageTabContentView): |
| Include the new details sidebar in the Storage tab. |
| |
| * UserInterface/Controllers/StorageManager.js: |
| (WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processKeyPath): |
| Use the protocol generated types. |
| |
| * UserInterface/Views/IndexedDatabaseDetailsSidebarPanel.js: Added. |
| (WebInspector.IndexedDatabaseDetailsSidebarPanel): |
| (WebInspector.IndexedDatabaseDetailsSidebarPanel.prototype.inspect): |
| (WebInspector.IndexedDatabaseDetailsSidebarPanel.prototype.layout): |
| (WebInspector.IndexedDatabaseDetailsSidebarPanel.prototype._keyPathString): |
| Show the sidebar for an IndexedDatabase, ObjectStore, or Index. |
| Show each section if we can based on the objects we have. |
| |
| 2016-08-25 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Provide a way to clear an IndexedDB object store |
| https://bugs.webkit.org/show_bug.cgi?id=161167 |
| <rdar://problem/27996932> |
| |
| Reviewed by Brian Burg. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| "Clear object store". |
| |
| * UserInterface/Controllers/StorageManager.js: |
| (WebInspector.StorageManager.prototype.clearObjectStore): |
| Provide a wrapper for clearing an object store. |
| |
| * UserInterface/Views/IndexedDatabaseObjectStoreContentView.js: |
| (WebInspector.IndexedDatabaseObjectStoreContentView): |
| (WebInspector.IndexedDatabaseObjectStoreContentView.prototype.get navigationItems): |
| (WebInspector.IndexedDatabaseObjectStoreContentView.prototype._clearButtonClicked): |
| Add a navigation button on ObjectStore content views to clear the object store. |
| |
| 2016-08-26 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Some CSS selectors in the UI aren't escaped |
| https://bugs.webkit.org/show_bug.cgi?id=151378 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Base/DOMUtilities.js: |
| (WebInspector.displayNameForNode): Deleted. |
| (WebInspector.linkifyNodeReference): |
| Use DOMNode.prototype.displayName instead of WebInspector.displayNameForNode. |
| |
| * UserInterface/Models/DOMNode.js: |
| (WebInspector.DOMNode.prototype.get escapedIdSelector): |
| (WebInspector.DOMNode.prototype.get escapedClassSelector): |
| (WebInspector.DOMNode.prototype.get displayName): |
| (WebInspector.DOMNode.prototype.appropriateSelectorFor): |
| Rework escaping of ids and class names into separate public functions using CSS.escape. |
| |
| * UserInterface/Views/CSSStyleDeclarationSection.js: |
| (WebInspector.CSSStyleDeclarationSection.prototype.refresh): |
| Use DOMNode.prototype.displayName instead of WebInspector.displayNameForNode. |
| |
| * UserInterface/Views/DOMTreeDataGridNode.js: |
| (WebInspector.DOMTreeDataGridNode.prototype._createNameCellDocumentFragment): |
| Use DOMNode.prototype.displayName instead of WebInspector.displayNameForNode. |
| |
| * UserInterface/Views/DOMTreeElementPathComponent.js: |
| (WebInspector.DOMTreeElementPathComponent): |
| Use DOMNode.prototype.displayName instead of WebInspector.displayNameForNode. |
| |
| * UserInterface/Views/LayerTreeDataGridNode.js: |
| (WebInspector.LayerTreeDataGridNode.prototype.set layer): |
| Use DOMNode.prototype.displayName instead of WebInspector.displayNameForNode. |
| |
| * UserInterface/Views/VisualStyleSelectorSection.js: |
| (WebInspector.VisualStyleSelectorSection.prototype.update): |
| Use DOMNode.prototype.displayName instead of WebInspector.displayNameForNode. |
| |
| 2016-08-24 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: unexpected cursor changes while dragging ruler handle in rendering frames timeline |
| https://bugs.webkit.org/show_bug.cgi?id=161101 |
| <rdar://problem/27974117> |
| |
| Reviewed by Brian Burg. |
| |
| -webkit-grab(bing) cursor styles shouldn't be applied to the selection |
| drag element when resizing. |
| |
| * UserInterface/Views/TimelineRuler.css: |
| (.timeline-ruler:not(.disabled, .resizing-selection) > .selection-drag): |
| (.timeline-ruler:not(.disabled, .resizing-selection) > .selection-drag:active): |
| (.timeline-ruler:not(.disabled) > .selection-drag): Deleted. |
| (.timeline-ruler:not(.disabled) > .selection-drag:active): Deleted. |
| |
| 2016-08-24 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Shift-Tab should unindent selected line |
| https://bugs.webkit.org/show_bug.cgi?id=159316 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/CodeMirrorAdditions.js: |
| (CodeMirror.keyMap["default"]): |
| Changed "Shift-Tab" mapping to "indentLess". |
| |
| 2016-08-23 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: resource tree elements should provide "Download File" context menu items |
| https://bugs.webkit.org/show_bug.cgi?id=158035 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Add a context menu item to elements representing resources that |
| initiates a download of that resource. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.saveDataToFile): |
| Add support for saving base64 objects. |
| |
| * UserInterface/Base/MIMETypeUtilities.js: |
| (WebInspector.fileExtensionForMIMEType): |
| Returns a file extension for the given MIME type if able. |
| |
| * UserInterface/Views/FrameTreeElement.js: |
| (WebInspector.FrameTreeElement.prototype.onattach): |
| Add contextmenu event listener since superclass onattach call is explicitly not used. |
| |
| * UserInterface/Views/ResourceTimelineDataGridNode.js: |
| (WebInspector.ResourceTimelineDataGridNode.prototype.appendContextMenuItems): |
| Add Save File context menu item. |
| |
| * UserInterface/Views/ResourceTreeElement.js: |
| (WebInspector.ResourceTreeElement.prototype.onattach): |
| (WebInspector.ResourceTreeElement.prototype._handleContextMenuEvent): |
| Add contextmenu event listener and Save File context menu item. |
| |
| 2016-08-23 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: No open/copy src resource in context menu |
| https://bugs.webkit.org/show_bug.cgi?id=159028 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| * UserInterface/Views/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.prototype._populateTagContextMenu): |
| Add options in the context menu of link attributes of DOM nodes to |
| - Open in New Tab |
| - Reveal in Resources Tab |
| - Copy Link Address |
| |
| 2016-08-23 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Add visual editor for spring() timing-function |
| https://bugs.webkit.org/show_bug.cgi?id=159315 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Main.html: |
| |
| * UserInterface/Base/Utilities.js: |
| (Number.prototype.maxDecimals): |
| Limits the number of decimals for the number object via rounding. |
| |
| * UserInterface/Controllers/CodeMirrorSpringEditingController.js: |
| (WebInspector.CodeMirrorSpringEditingController.prototype.get initialValue): |
| (WebInspector.CodeMirrorSpringEditingController.prototype.get cssClassName): |
| (WebInspector.CodeMirrorSpringEditingController.prototype.popoverWillPresent): |
| (WebInspector.CodeMirrorSpringEditingController.prototype.popoverDidPresent): |
| (WebInspector.CodeMirrorSpringEditingController.prototype.popoverDidDismiss): |
| (WebInspector.CodeMirrorSpringEditingController.prototype._springEditorSpringChanged): |
| Controller for Spring editors inside CodeMirror instances. |
| |
| * UserInterface/Models/Geometry.js: |
| (WebInspector.Spring): |
| (WebInspector.Spring.fromValues): |
| (WebInspector.Spring.fromString): |
| (WebInspector.Spring.prototype.copy): |
| (WebInspector.Spring.prototype.toString): |
| (WebInspector.Spring.prototype.solve): |
| (WebInspector.Spring.prototype.calculateDuration): |
| Spring data class based on <https://webkit.org/demos/spring/>. |
| |
| * UserInterface/Models/TextMarker.js: |
| (WebInspector.TextMarker.Type): |
| Added Spring marker type. |
| |
| * UserInterface/Views/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._createInlineSwatches): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._createInlineSwatches.update): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._inlineSwatchValueChanged): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._inlineSwatchValueChanged.update): |
| |
| * UserInterface/Views/CodeMirrorTextMarkers.js: |
| (createCodeMirrorSpringTextMarkers): |
| |
| * UserInterface/Views/InlineSwatch.css: |
| (.inline-swatch:matches(.bezier, .spring)): |
| (.inline-swatch:matches(.bezier, .spring):hover): |
| (.inline-swatch:matches(.bezier, .spring):active): |
| (.inline-swatch:matches(.bezier, .spring) > span): |
| (.inline-swatch.bezier): Deleted. |
| (.inline-swatch.bezier:hover): Deleted. |
| (.inline-swatch.bezier:active): Deleted. |
| (.inline-swatch.bezier > span): Deleted. |
| |
| * UserInterface/Views/InlineSwatch.js: |
| (WebInspector.InlineSwatch): |
| (WebInspector.InlineSwatch.prototype._fallbackValue): |
| (WebInspector.InlineSwatch.prototype._swatchElementClicked): |
| (WebInspector.InlineSwatch.prototype._valueEditorValueDidChange): |
| (WebInspector.InlineSwatch.Type): |
| Added support for Spring editor Inline Swatches. |
| |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype._updateEditableMarkers): |
| (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression): |
| |
| * UserInterface/Views/SpringEditor.css: |
| (.spring-editor): |
| (.spring-editor > .spring-preview): |
| (.spring-editor > .spring-preview > div): |
| (.spring-editor > .spring-timing): |
| (.spring-editor > .spring-timing > div): |
| (.spring-editor > .spring-timing:matches(::before, ::after)): |
| (.spring-editor > .spring-timing::before): |
| (.spring-editor > .spring-timing::after): |
| (.spring-editor > :matches(.spring-preview, .spring-timing) > div): |
| (.spring-editor > .animate:matches(.spring-preview, .spring-timing) > div): |
| (.spring-editor > .number-input-container > .number-input-row): |
| (.spring-editor > .number-input-container > .number-input-row > .number-input-row-title): |
| (.spring-editor > .number-input-container > .number-input-row > input): |
| (.spring-editor > .number-input-container > .number-input-row > input[type="range"]): |
| |
| * UserInterface/Views/SpringEditor.js: |
| (WebInspector.SpringEditor): |
| (WebInspector.SpringEditor.prototype.get element): |
| (WebInspector.SpringEditor.prototype.set spring): |
| (WebInspector.SpringEditor.prototype.get spring): |
| (WebInspector.SpringEditor.prototype._handleNumberInputInput): |
| (WebInspector.SpringEditor.prototype._handleNumberInputKeydown): |
| (WebInspector.SpringEditor.prototype._handleNumberSliderInput): |
| (WebInspector.SpringEditor.prototype._handleNumberSliderMousedown): |
| (WebInspector.SpringEditor.prototype._handleNumberSliderMouseup): |
| (WebInspector.SpringEditor.prototype._changeSpringForInput): |
| (WebInspector.SpringEditor.prototype._resetPreviewAnimation): |
| (WebInspector.SpringEditor.prototype._updatePreviewAnimation): |
| (WebInspector.SpringEditor.Event): |
| Visual editor for CSS Spring timing function values. Organized into 5 rows: |
| - Preview: shows movement of spring and total duration |
| - Mass: slider and input for "mass" parameter |
| - Stiffness: slider and input for "stiffness" parameter |
| - Damping: slider and input for "damping" parameter |
| - Initial Velocity: slider and input for "initial velocity" parameter |
| The preview animation will loop indefinitely until the user clicks the animation row |
| or changes the value of one of the parameters, at which point the duration will also |
| be recalculated. |
| |
| * UserInterface/Views/TextEditor.js: |
| (WebInspector.TextEditor.prototype.createSpringMarkers): |
| (WebInspector.TextEditor.prototype.editingControllerForMarker): |
| |
| * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js: |
| (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.set value): |
| (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._generateTextFromLonghandProperties): |
| Add support for CSS spring timing functions by allowing parenthesis in comma separated |
| values so long as there are no commas inside the parenthesis. |
| |
| * UserInterface/Views/VisualStyleTimingEditor.css: |
| (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .inline-swatch:matches(.bezier, .spring)): |
| (.visual-style-property-container.timing-editor > .visual-style-property-value-container:not(.spring-value) > .inline-swatch.spring): |
| (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .inline-swatch.bezier): Deleted. |
| (.visual-style-property-container.timing-editor > .visual-style-property-value-container:not(.bezier-value) > .inline-swatch.bezier): Deleted. |
| |
| * UserInterface/Views/VisualStyleTimingEditor.js: |
| (WebInspector.VisualStyleTimingEditor): |
| (WebInspector.VisualStyleTimingEditor.prototype.get value): |
| (WebInspector.VisualStyleTimingEditor.prototype.set value): |
| (WebInspector.VisualStyleTimingEditor.prototype.get synthesizedValue): |
| (WebInspector.VisualStyleTimingEditor.prototype.parseValue): |
| (WebInspector.VisualStyleTimingEditor.prototype.get _bezierValue): |
| (WebInspector.VisualStyleTimingEditor.prototype.set _bezierValue): |
| (WebInspector.VisualStyleTimingEditor.prototype.get _springValue): |
| (WebInspector.VisualStyleTimingEditor.prototype.set _springValue): |
| (WebInspector.VisualStyleTimingEditor.prototype._handleKeywordChanged): |
| (WebInspector.VisualStyleTimingEditor.prototype._springSwatchValueChanged): |
| (WebInspector.VisualStyleTimingEditor.prototype.get bezierValue): Renamed. |
| (WebInspector.VisualStyleTimingEditor.prototype.set bezierValue): Renamed. |
| Duplicate Bezier custom timing function logic for Spring timing functions. |
| |
| 2016-08-22 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Styles -> Computed -> Box Model shows NaN x NaN for invisible elements |
| https://bugs.webkit.org/show_bug.cgi?id=161038 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Base/Utilities.js: |
| Add figureDash variable. |
| |
| * UserInterface/Views/BoxModelDetailsSectionRow.js: |
| (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics.createElement): |
| (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics.createBoxPartElement): |
| Moved isNaN check of value to common createElement. |
| |
| 2016-08-22 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Visual styles sidebar should do something sane for SVG elements |
| https://bugs.webkit.org/show_bug.cgi?id=148269 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| * UserInterface/Models/DOMNode.js: |
| (WebInspector.DOMNode.prototype.get ownerSVGElement): |
| (WebInspector.DOMNode.prototype.isSVGElement): |
| Climbs ancestor tree to determine if node is an SVG node. |
| |
| * UserInterface/Views/VisualStyleDetailsPanel.js: |
| (WebInspector.VisualStyleDetailsPanel.prototype.initialLayout): |
| (WebInspector.VisualStyleDetailsPanel.prototype._updateSections): |
| (WebInspector.VisualStyleDetailsPanel.prototype._populatePositionSection): |
| (WebInspector.VisualStyleDetailsPanel.prototype._populateDimensionsSection): |
| (WebInspector.VisualStyleDetailsPanel.prototype._populateContentSection): |
| (WebInspector.VisualStyleDetailsPanel.prototype._populateFillSection): |
| (WebInspector.VisualStyleDetailsPanel.prototype._populateStrokeSection): |
| |
| * UserInterface/Views/VisualStylePropertyEditor.css: |
| (.visual-style-property-container.inactive): |
| (.visual-style-property-container > *:first-child:matches(.visual-style-property-value-container)): |
| |
| * UserInterface/Views/VisualStyleRelativeNumberSlider.css: |
| (.visual-style-property-container.number-input-box.relative-number-slider > .relative-slider): |
| |
| * UserInterface/Views/VisualStyleUnitSlider.css: |
| (.visual-style-property-container.unit-slider > .visual-style-property-value-container > .slider): |
| (.visual-style-property-container.unit-slider.opacity > .visual-style-property-value-container > .slider): Deleted. |
| |
| 2016-08-22 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Visual Styles: "Text -> Content" section should only be visible for pseudo-element |
| https://bugs.webkit.org/show_bug.cgi?id=158272 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| * UserInterface/Views/VisualStyleDetailsPanel.css: |
| (.sidebar > .panel.details.css-style .visual > .details-section :matches(.details-section, .group).inactive): |
| (.sidebar > .panel.details.css-style .visual > .details-section :matches(.details-section, .group).inactive > *): |
| (.visual-style-property-container.transition): Deleted. |
| (.visual-style-property-container.animation): Deleted. |
| |
| * UserInterface/Views/VisualStyleDetailsPanel.js: |
| (WebInspector.VisualStyleDetailsPanel.prototype.initialLayout): |
| (WebInspector.VisualStyleDetailsPanel.prototype._updateSections): |
| (WebInspector.VisualStyleDetailsPanel.prototype._populateContentSection): |
| |
| 2016-08-22 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Entering ":n" in Open Resource Dialog, where n > number of lines, should jump to the last line |
| https://bugs.webkit.org/show_bug.cgi?id=160840 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/TextEditor.js: |
| (TextEditor.prototype.revealPosition): |
| Limit the given line and column to the maximum number of lines and the column count on the |
| resulting line. |
| |
| 2016-08-22 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Add indicator to matched selector being a pseudo-element |
| https://bugs.webkit.org/show_bug.cgi?id=160893 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Instead of using "{}" icons for CSS rules, use a "P" icon with the same coloring to identify |
| that the rule contains a pseudo-selector that is currently being applied to the selected element. |
| |
| * UserInterface/Base/Utilities.js: |
| (Array.prototype.toggleIncludes): |
| Toggles whether or not to include the given value in the array based on its existence or a |
| "force" flag parameter. |
| |
| * UserInterface/Images/StyleRuleAuthorPseudo.svg: |
| * UserInterface/Images/StyleRuleInspectorPseudo.svg: |
| * UserInterface/Images/StyleRuleUserAgentPseudo.svg: |
| * UserInterface/Images/StyleRuleUserPseudo.svg: |
| |
| * UserInterface/Models/CSSRule.js: |
| (WebInspector.CSSRule.prototype.hasMatchedPseudoElementSelector): |
| |
| * UserInterface/Models/CSSSelector.js: |
| (WebInspector.CSSSelector.prototype.isPseudoElementSelector): |
| |
| * UserInterface/Views/CSSStyleDeclarationSection.js: |
| (WebInspector.CSSStyleDeclarationSection.prototype.refresh): |
| |
| * UserInterface/Views/StyleRuleIcons.css: |
| (.author-style-rule-icon.pseudo-element-selector .icon): |
| (.user-style-rule-icon.pseudo-element-selector .icon): |
| (.user-agent-style-rule-icon.pseudo-element-selector .icon): |
| (.inspector-style-rule-icon.pseudo-element-selector .icon): |
| |
| * UserInterface/Views/VisualStyleSelectorTreeItem.js: |
| (WebInspector.VisualStyleSelectorTreeItem): |
| (WebInspector.VisualStyleSelectorTreeItem.prototype.get iconClassName): |
| (WebInspector.VisualStyleSelectorTreeItem.prototype._updateSelectorIcon): |
| |
| 2016-08-19 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Make an icon for Code Coverage Profiler |
| https://bugs.webkit.org/show_bug.cgi?id=160872 |
| <rdar://problem/27855650> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Add a "C" icon, similar to the existing "T" (Type Profiler) icon. |
| "C" can stand for Code Coverage or Control Flow. |
| |
| * UserInterface/Images/NavigationItemCodeCoverage.svg: Added. |
| |
| 2016-08-19 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Console log counter on the dashboard should be better at displaying large numbers |
| https://bugs.webkit.org/show_bug.cgi?id=160054 |
| |
| Reviewed by Matt Baker. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| * UserInterface/Base/Utilities.js: |
| (Number.abbreviate): |
| Add logic for formatting a number as "#K", "#M", and "#B" when it is very large. |
| |
| * UserInterface/Views/DefaultDashboardView.js: |
| (WebInspector.DefaultDashboardView.prototype._updateDisplay): |
| (WebInspector.DefaultDashboardView.prototype._formatPossibleLargeNumber): Deleted. |
| (WebInspector.DefaultDashboardView.prototype._setConsoleItemValue): |
| |
| 2016-08-17 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Network Tab should not layout if not visible |
| https://bugs.webkit.org/show_bug.cgi?id=160920 |
| <rdar://problem/27876629> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Avoid updating the current time when the Network tab is hidden. |
| The timer, and any debounced timer cancellations, need to be stopped |
| as soon as the view is hidden. |
| |
| * UserInterface/Views/NetworkGridContentView.js: |
| (WebInspector.NetworkGridContentView.prototype.hidden): |
| (WebInspector.NetworkGridContentView.prototype._networkTimelineRecordAdded): |
| (WebInspector.NetworkGridContentView.prototype._stopUpdatingCurrentTime): |
| (WebInspector.NetworkGridContentView): |
| |
| 2016-08-17 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Select elements in DOM hierarchy are misaligned |
| https://bugs.webkit.org/show_bug.cgi?id=160885 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/HierarchicalPathComponent.css: |
| (.hierarchical-path-component > select): |
| |
| 2016-08-17 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: rapid updates to status icons in Visual Styles sidebar causes flicker |
| https://bugs.webkit.org/show_bug.cgi?id=160887 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/VisualStyleBasicInput.js: |
| (WebInspector.VisualStyleBasicInput): |
| |
| * UserInterface/Views/VisualStyleColorPicker.js: |
| (WebInspector.VisualStyleColorPicker): |
| |
| * UserInterface/Views/VisualStyleNumberInputBox.js: |
| (WebInspector.VisualStyleNumberInputBox): |
| (WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputKeyDown): |
| |
| * UserInterface/Views/VisualStylePropertyNameInput.js: |
| (WebInspector.VisualStylePropertyNameInput): |
| |
| 2016-08-16 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: DOM nodes shift when hovering over them in Console |
| https://bugs.webkit.org/show_bug.cgi?id=160789 |
| <rdar://problem/27815600> |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/FormattedValue.css: |
| (.formatted-node > .tree-outline.dom ol): Deleted. |
| |
| 2016-08-16 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Data grid has a double left border when the first column is hidden |
| https://bugs.webkit.org/show_bug.cgi?id=160723 |
| <rdar://problem/27778081> |
| |
| Reviewed by Timothy Hatcher. |
| |
| This patch exploits the fact hiding columns that aren't first in DataGrid don't create double |
| borders. |
| |
| * UserInterface/Views/DataGrid.css: |
| (.data-grid table.header,): |
| (.data-grid :matches(th, td):first-child): |
| (@media (-webkit-min-device-pixel-ratio: 2)): |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype._setTypeTokenAnnotatorEnabledState): |
| |
| 2016-08-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Do not request Scope Chain lists if section is collapsed (mainly Global Variables) |
| https://bugs.webkit.org/show_bug.cgi?id=140567 |
| <rdar://problem/19504745> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Main.html: |
| New file name. |
| |
| * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: |
| (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.fillSection): |
| (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties): |
| Avoid fetching object properties until the user expands the section. |
| |
| * UserInterface/Views/ScopeChainDetailsSidebarPanel.js: |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateCallFramesSection): |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateWatchExpressionsSection): |
| Avoid fetching scope variable properties until the user expands the section. |
| |
| * UserInterface/Views/ObjectPropertiesDetailSectionRow.js: Renamed from Source/WebInspectorUI/UserInterface/Views/DetailsSectionPropertiesRow.js. |
| (WebInspector.ObjectPropertiesDetailSectionRow): |
| (WebInspector.ObjectPropertiesDetailSectionRow.prototype.get objectTree): |
| (WebInspector.ObjectPropertiesDetailSectionRow.prototype._detailsSectionCollapsedStateChanged): |
| Rename and simplify the class since it always has an ObjectTreeView. |
| By default the section will auto-expand the ObjectTreeView, however |
| if provided a details section group, it will defer expanion until |
| the group expands. |
| |
| 2016-08-16 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: add "Copy Selected" context menu item to Console |
| https://bugs.webkit.org/show_bug.cgi?id=151836 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Views/LogContentView.js: |
| (WebInspector.LogContentView.prototype._previousMessageRepeatCountUpdated): |
| (WebInspector.LogContentView.prototype._handleContextMenuEvent): |
| (WebInspector.LogContentView.prototype._mousedown): |
| |
| 2016-08-16 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Visual Styles: "Text -> Content" isn't escaped |
| https://bugs.webkit.org/show_bug.cgi?id=158271 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Base/Utilities.js: |
| (String.prototype.hasMatchingEscapedQuotes): |
| Checks that the given string has property escaped quotes (single or double). |
| |
| * UserInterface/Views/VisualStyleBasicInput.js: |
| (WebInspector.VisualStyleBasicInput): |
| (WebInspector.VisualStyleBasicInput.prototype._handleInputElementInput): |
| |
| 2016-08-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Modernize model objects simple getters |
| https://bugs.webkit.org/show_bug.cgi?id=160863 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Simplify the style of many Model objects with basic accessors. |
| We reduce them to a single line and group them together so |
| that they can be more easily read at a glance. |
| |
| * UserInterface/Models/AnalyzerMessage.js: |
| * UserInterface/Models/ApplicationCacheFrame.js: |
| * UserInterface/Models/ApplicationCacheManifest.js: |
| * UserInterface/Models/BreakpointAction.js: |
| * UserInterface/Models/CSSMedia.js: |
| * UserInterface/Models/CSSSelector.js: |
| * UserInterface/Models/CollectionEntry.js: |
| * UserInterface/Models/CollectionEntryPreview.js: |
| * UserInterface/Models/DOMStorageObject.js: |
| * UserInterface/Models/DatabaseObject.js: |
| * UserInterface/Models/DatabaseTableObject.js: |
| * UserInterface/Models/ExecutionContext.js: |
| * UserInterface/Models/GarbageCollection.js: |
| * UserInterface/Models/IndexedDatabase.js: |
| * UserInterface/Models/IndexedDatabaseObjectStore.js: |
| * UserInterface/Models/IndexedDatabaseObjectStoreIndex.js: |
| * UserInterface/Models/ObjectPreview.js: |
| * UserInterface/Models/ProbeSet.js: |
| * UserInterface/Models/PropertyDescriptor.js: |
| * UserInterface/Models/PropertyPath.js: |
| * UserInterface/Models/PropertyPreview.js: |
| * UserInterface/Models/SourceCodePosition.js: |
| * UserInterface/Models/SourceCodeSearchMatchObject.js: |
| * UserInterface/Models/SourceCodeTimeline.js: |
| * UserInterface/Models/StructureDescription.js: |
| * UserInterface/Models/TextRange.js: |
| * UserInterface/Models/Timeline.js: |
| * UserInterface/Models/TimelineRecording.js: |
| * UserInterface/Models/TypeDescription.js: |
| |
| 2016-08-15 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Large class lists are not easily discoverable with "Classes" quick-toggle |
| https://bugs.webkit.org/show_bug.cgi?id=160856 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Base/DOMUtilities.js: |
| (WebInspector.linkifyNodeReference): |
| Add option to truncate the text of the linkified node. |
| |
| * UserInterface/Views/CSSStyleDetailsSidebarPanel.css: |
| (.sidebar > .panel.details.css-style > .content ~ .class-list-container): |
| Increase the max-height to partially show additional classes if many are set. |
| |
| * UserInterface/Views/RulesStyleDetailsPanel.js: |
| (WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertMediaOrInheritanceLabel): |
| Trucate the name of inherited nodes so they don't take up as much space in the sidebar. |
| |
| * UserInterface/Views/VisualStyleSelectorSection.css: |
| (.details-section.visual-style-selector-section > .header > .current-selector): Deleted. |
| (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider > .titles): Deleted. |
| Removed since they are already inherited. |
| |
| 2016-08-15 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Close button on selected item in Network tab is misaligned |
| https://bugs.webkit.org/show_bug.cgi?id=160884 |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/NetworkSidebarPanel.css: |
| (.sidebar > .panel.navigation.network .status .close.status-button): |
| |
| 2016-08-15 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Error/Warning icons are misplaced in the Visual sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=160875 |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css: |
| (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-special-property-placeholder): Deleted. |
| Reworked to apply more generally to editors without titles. |
| |
| * UserInterface/Views/VisualStylePropertyEditor.css: |
| (.visual-style-property-container.missing-dependency > .visual-style-property-editor-warning): |
| (.visual-style-property-container.invalid-value > .visual-style-property-editor-warning): |
| (.visual-style-property-container:matches(.missing-dependency, .invalid-value) > *:first-child:matches(.visual-style-property-value-container)): |
| (.visual-style-property-container > *:first-child:matches(.visual-style-property-value-container) > .visual-style-special-property-placeholder): |
| (.visual-style-property-container > .visual-style-property-editor-warning.missing-dependency): Deleted. |
| (.visual-style-property-container > .visual-style-property-editor-warning.invalid-value): Deleted. |
| Reworked class names to be on the element container instead of the icon. |
| |
| * UserInterface/Views/VisualStylePropertyEditor.js: |
| (WebInspector.VisualStylePropertyEditor.prototype.update): |
| (WebInspector.VisualStylePropertyEditor.prototype.updateEditorValues): |
| (WebInspector.VisualStylePropertyEditor.prototype._valueDidChange): |
| (WebInspector.VisualStylePropertyEditor.prototype._checkDependencies): |
| |
| 2016-08-15 Saam Barati <sbarati@apple.com> |
| |
| Web Inspector: Introduce a method to enable code coverage profiler without enabling type profiler |
| https://bugs.webkit.org/show_bug.cgi?id=160750 |
| <rdar://problem/27793469> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.loaded): |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype._setTypeTokenAnnotatorEnabledState): |
| |
| 2016-08-12 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Add application/vnd.api+json as a valid JSON MIME-type |
| https://bugs.webkit.org/show_bug.cgi?id=160834 |
| rdar://problem/27608536 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/CodeMirrorAdditions.js: Add Add application/vnd.api+json to extraJSONTypes. |
| |
| 2016-08-12 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Command-Shift-O causes infinite loop if web page has frames |
| https://bugs.webkit.org/show_bug.cgi?id=160810 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/OpenResourceDialog.js: |
| (WebInspector.OpenResourceDialog.prototype._addResourcesForFrame): |
| "frame" doesn't change inside the loop. |
| |
| 2016-08-12 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Support for :lineNumber syntax in Open Resource Dialog |
| https://bugs.webkit.org/show_bug.cgi?id=159732 |
| <rdar://problem/27684491> |
| |
| Reviewed by Matt Baker. |
| |
| Allow the Open Resource Dialog to support line/column syntax. |
| Other tools allow "<name>:<line>:<column>" syntax, where the |
| location data at the end is optional. If the <name> portion |
| is missing, the location can be used for the active content |
| view, assuming it has text data and has lines. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.focusedOrVisibleContentView): |
| Expose a function to access the current focused / visible content view. |
| |
| (WebInspector.dialogWasDismissed): |
| Include passing on cookie data when showing a represented object. |
| |
| * UserInterface/Views/Dialog.js: |
| (WebInspector.Dialog): |
| (WebInspector.Dialog.prototype.get visible): |
| (WebInspector.Dialog.prototype.get delegate): |
| (WebInspector.Dialog.prototype.get representedObject): |
| (WebInspector.Dialog.prototype.get cookie): |
| (WebInspector.Dialog.prototype.dismiss): |
| * UserInterface/Models/ResourceQueryResult.js: |
| (WebInspector.ResourceQueryResult): |
| (WebInspector.ResourceQueryResult.prototype.get cookie): |
| Include cookie data along with the represented object in matches |
| and dialog results. |
| |
| * UserInterface/Controllers/ResourceQueryController.js: |
| (WebInspector.ResourceQueryController.prototype.executeQuery): |
| Cut off location data from a query, and stash it on the query result. |
| A query can be "<name>:<line>:<column>", and the line/column data |
| becomes cookie data for the resource. |
| |
| * UserInterface/Views/OpenResourceDialog.js: |
| (WebInspector.OpenResourceDialog.prototype._populateResourceTreeOutline): |
| If the query is just ":<line>:<column>" have it jump to a location |
| in the current content view if applicable. |
| |
| (WebInspector.OpenResourceDialog.prototype._handleKeydownEvent): |
| (WebInspector.OpenResourceDialog.prototype._treeSelectionDidChange): |
| When dismissing, include cookie data. |
| |
| 2016-08-11 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| REGRESSION (r204264): Web Inspector: Uncaught Exception in Network tab when reloading a web page |
| https://bugs.webkit.org/show_bug.cgi?id=160781 |
| <rdar://problem/27810452> |
| |
| Reviewed by Matt Baker. |
| |
| WebInspector.TimelineDataGrid.prototype.closed was removed in r204264. |
| Define a stub method on DataGrid so it's available to all its subclasses. |
| |
| * UserInterface/Views/DataGrid.js: |
| this._dataGrid.closed() |
| |
| 2016-08-10 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Should be able to Edit Node Attributes and Styles for non-UserAgent Shadow DOM nodes |
| https://bugs.webkit.org/show_bug.cgi?id=160762 |
| <rdar://problem/27798271> |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * UserInterface/Models/DOMNode.js: |
| (WebInspector.DOMNode.prototype.isInUserAgentShadowTree): |
| (WebInspector.DOMNode.prototype.isShadowRoot): |
| (WebInspector.DOMNode.prototype.isUserAgentShadowRoot): |
| (WebInspector.DOMNode.prototype.ancestorShadowRoot): |
| (WebInspector.DOMNode.prototype.ancestorShadowHost): |
| Add methods for determining the shadow root, host, and easily |
| checking the type of shadow tree a node is in. |
| |
| * UserInterface/Models/CSSStyleDeclaration.js: |
| (WebInspector.CSSStyleDeclaration.prototype.get editable): |
| * UserInterface/Views/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.prototype.get editable): |
| (WebInspector.DOMTreeElement.prototype._startEditingTarget): |
| (WebInspector.DOMTreeElement.prototype._populateTagContextMenu): |
| * UserInterface/Views/RulesStyleDetailsPanel.js: |
| (WebInspector.RulesStyleDetailsPanel.prototype.newRuleButtonClicked): |
| * UserInterface/Views/VisualStyleSelectorSection.js: |
| (WebInspector.VisualStyleSelectorSection.prototype._addNewRule): |
| Allow editing shadow DOM nodes as long as they are not in a UserAgent shadow tree. |
| |
| * UserInterface/Views/DOMTreeOutline.js: |
| (WebInspector.DOMTreeOutline.prototype._populateContextMenu): |
| Disallow "Log Element" on UserAgent shadow tree nodes. |
| |
| 2016-08-10 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Can't click on the lower half of "S" icon in JavaScript Allocations timeline |
| https://bugs.webkit.org/show_bug.cgi?id=160743 |
| <rdar://problem/27790098> |
| |
| Reviewed by Timothy Hatcher. |
| |
| "S" icons are covered by .scroll-container, which has `z-index: calc(var(--z-index-resizer) + 1)`. |
| Set larger z-index on the "S" icons. |
| |
| * UserInterface/Views/HeapAllocationsTimelineOverviewGraph.css: |
| (.timeline-overview-graph.heap-allocations > img.snapshot): |
| |
| 2016-08-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Popover for Color Picker should update position when window resizes |
| https://bugs.webkit.org/show_bug.cgi?id=160321 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/Popover.js: |
| (WebInspector.Popover): |
| (WebInspector.Popover.prototype.set windowResizeHandler): |
| (WebInspector.Popover.prototype.dismiss): |
| (WebInspector.Popover.prototype.handleEvent): |
| (WebInspector.Popover.prototype._addListenersIfNeeded): |
| The popover already has a set of window listeners, add "resize" to |
| the list. If there is a resize, invoke a resize handler. The resize |
| handler will only be called while the popover is visible. |
| |
| * UserInterface/Views/HeapSnapshotDataGridTree.js: |
| (WebInspector.HeapSnapshotDataGridTree): |
| (WebInspector.HeapSnapshotDataGridTree.prototype.get visible): |
| (WebInspector.HeapSnapshotDataGridTree.prototype.get popoverNode): |
| (WebInspector.HeapSnapshotDataGridTree.prototype.set popoverNode): |
| (WebInspector.HeapSnapshotDataGridTree.prototype.get popoverTargetElement): |
| (WebInspector.HeapSnapshotDataGridTree.prototype.set popoverTargetElement): |
| (WebInspector.HeapSnapshotDataGridTree.prototype.get popover): |
| (WebInspector.HeapSnapshotDataGridTree.prototype.willDismissPopover): |
| * UserInterface/Views/HeapSnapshotInstanceDataGridNode.js: |
| Update heap snapshot popovers to reposition on window resize. |
| Set a target to reposition around, since the popover is shared. |
| |
| * UserInterface/Views/ProbeSetDetailsSection.js: |
| (WebInspector.ProbeSetDetailsSection.prototype._addProbeButtonClicked): |
| Update probe expression popover to respect window resizes. |
| |
| * UserInterface/Views/VisualStylePropertyEditor.js: |
| (WebInspector.VisualStylePropertyEditor.prototype._showPropertyInfoPopover): |
| Though not yet visible, update this to respect window resizes. |
| |
| * UserInterface/Views/InlineSwatch.js: |
| (WebInspector.InlineSwatch.prototype._swatchElementClicked): |
| Add a window resize handler to reposition over the swatch element. |
| |
| * UserInterface/Views/LayerTreeDetailsSidebarPanel.js: |
| (WebInspector.LayerTreeDetailsSidebarPanel.prototype._updatePopoverForSelectedNode): |
| (WebInspector.LayerTreeDetailsSidebarPanel): Deleted. |
| (WebInspector.LayerTreeDetailsSidebarPanel.prototype._windowResized): Deleted. |
| * UserInterface/Views/TimelineDataGrid.js: |
| (WebInspector.TimelineDataGrid.prototype._showPopoverForSelectedNodeSoon): |
| (WebInspector.TimelineDataGrid): Deleted. |
| (WebInspector.TimelineDataGrid.prototype.closed): Deleted. |
| (WebInspector.TimelineDataGrid.prototype.handleEvent): Deleted. |
| (WebInspector.TimelineDataGrid.prototype._windowResized): Deleted. |
| * UserInterface/Views/ScopeChainDetailsSidebarPanel.js: |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpressionButtonClicked): |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype.willDismissPopover): Deleted. |
| Replace custom popover repositioning with standard Popover handling. |
| |
| 2016-08-07 Matt Baker <mattbaker@apple.com> |
| |
| REGRESSION (r201245): switching between Computed and Visual Styles panels causes internal error |
| https://bugs.webkit.org/show_bug.cgi?id=160604 |
| <rdar://problem/27723416> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/StyleDetailsPanel.js: |
| (WebInspector.StyleDetailsPanel.prototype.shown): |
| Only perform a layout if needed. Subclasses access node style |
| data during layout, which may not exist yet. |
| |
| 2016-08-06 Matt Baker <mattbaker@apple.com> |
| |
| REGRESSION (r203253): Node details sidebar flickers while resizing |
| https://bugs.webkit.org/show_bug.cgi?id=160631 |
| <rdar://problem/27733024> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Sidebar panel layouts can be expensive, and should be performed only |
| when necessary (i.e., when the panel is shown for the first time, or |
| model data changed while the panel was hidden). |
| |
| * UserInterface/Views/Sidebar.js: |
| (WebInspector.Sidebar.prototype._recalculateWidth): |
| |
| * UserInterface/Views/SidebarPanel.js: |
| (WebInspector.SidebarPanel.prototype.shown): |
| |
| * UserInterface/Views/View.js: |
| (WebInspector.View.prototype.updateLayoutIfNeeded): |
| Update the layout if an initial layout was never performed. |
| |
| 2016-08-04 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: UI polish for Edit Breakpoint dialog |
| https://bugs.webkit.org/show_bug.cgi?id=160566 |
| <rdar://problem/27706378> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Images/BreakpointActionAdd.svg: Removed. |
| * UserInterface/Images/BreakpointActionRemove.svg: Removed. |
| Use Plus13.svg and Minus.svg instead. |
| |
| * UserInterface/Views/BreakpointActionView.css: |
| (.breakpoint-action-button-container): |
| (.breakpoint-action-append-button,): |
| (.breakpoint-action-append-button): |
| (.breakpoint-action-remove-button): |
| Button styles should match Xcode. |
| (.breakpoint-action-append-button:active,): Deleted. |
| Brightness on activation no longer needed. |
| |
| * UserInterface/Views/BreakpointActionView.js: |
| (WebInspector.BreakpointActionView): |
| Add a button container so buttons can float together. |
| |
| * UserInterface/Views/BreakpointPopoverController.css: |
| (.wide .edit-breakpoint-popover-condition > .CodeMirror): |
| Increase condition field width by the same amount as the popover. |
| |
| 2016-08-04 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Popover's arrow is misplaced |
| https://bugs.webkit.org/show_bug.cgi?id=151236 |
| <rdar://problem/23527296> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/Popover.js: |
| (WebInspector.Popover.prototype._setAnchorPoint): |
| Drive-by style fix. |
| (WebInspector.Popover.prototype._drawFrame): |
| Position the arrow so that the arrow head doesn't overlap the |
| rounded corners of its edge. |
| |
| 2016-08-04 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Add placeholder graphs to TimelineOverview while editing |
| https://bugs.webkit.org/show_bug.cgi?id=160485 |
| <rdar://problem/27670755> |
| |
| Reviewed by Brian Burg. |
| |
| Insert placeholder elements in TimelineOverview's graph container |
| when editing instruments. This allows alternating overview graph styles |
| to be shown for disabled instruments, and ensures that every tree element |
| has a corresponding element in the overview during dragging/reordering |
| of instruments (see https://webkit.org/b/157957). |
| |
| * UserInterface/Views/TimelineOverview.js: |
| (WebInspector.TimelineOverview.prototype._startEditingInstruments): |
| (WebInspector.TimelineOverview.prototype._stopEditingInstruments): |
| |
| 2016-08-04 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: UI polish for Open Quickly and Goto Line dialogs |
| https://bugs.webkit.org/show_bug.cgi?id=159849 |
| <rdar://problem/27383068> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Images/Search.svg: Added. |
| Magnifying glass icon. |
| |
| * UserInterface/Views/GoToLineDialog.css: |
| (.go-to-line-dialog): |
| (.go-to-line-dialog > div): |
| (.go-to-line-dialog > div::before): |
| * UserInterface/Views/OpenResourceDialog.css: |
| (.open-resource-dialog > .field): |
| (.open-resource-dialog > .field::before): |
| (.open-resource-dialog.has-results > .tree-outline): |
| (.open-resource-dialog > .tree-outline .item): |
| Add search icon to left of the input field in both dialogs, |
| and adjust styles to better match Xcode 8. |
| |
| * UserInterface/Views/OpenResourceDialog.js: |
| (WebInspector.OpenResourceDialog): |
| Remove "input" event listener, as styles are now toggled in _updateFilter. |
| (WebInspector.OpenResourceDialog.prototype._updateFilter): |
| Toggle "has-results" and "non-empty" class names. |
| (WebInspector.OpenResourceDialog.prototype._handleInputEvent): Deleted. |
| (WebInspector.OpenResourceDialog.prototype._clear): Deleted. |
| Moved class toggle to _updateFilter. |
| |
| 2016-08-03 Chris Dumez <cdumez@apple.com> |
| |
| Drop DocumentType.internalSubset attribute |
| https://bugs.webkit.org/show_bug.cgi?id=160530 |
| |
| Reviewed by Alex Christensen. |
| |
| Drop DocumentType.internalSubset attribute. |
| |
| * UserInterface/Models/DOMNode.js: |
| (WebInspector.DOMNode): Deleted. |
| * UserInterface/Models/DOMSearchMatchObject.js: |
| (WebInspector.DOMSearchMatchObject.titleForDOMNode): Deleted. |
| * UserInterface/Views/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.prototype._nodeTitleInfo): Deleted. |
| |
| 2016-08-03 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Cmd-L shortcut for Jump to Line conflicts with selecting URL of inspected page |
| https://bugs.webkit.org/show_bug.cgi?id=158028 |
| <rdar://problem/26516663> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Remove Command-L shortcut for opening the Line Number dialog, since |
| we already support Control-G. |
| |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor): Deleted. |
| |
| 2016-08-01 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Don't set `width:calc(100% - 0px); left:0px` on console messages |
| https://bugs.webkit.org/show_bug.cgi?id=160428 |
| <rdar://problem/27646033> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Console messages inside console.group() are indented. Console messages outside of |
| console.group() aren't and there is no reason to set inline styles that do nothing |
| on each one of them. |
| |
| * UserInterface/Views/LogContentView.js: |
| (WebInspector.LogContentView.prototype.didAppendConsoleMessageView): |
| |
| 2016-08-01 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Grid column resizer elements positioned incorrectly |
| https://bugs.webkit.org/show_bug.cgi?id=160311 |
| <rdar://problem/27595586> |
| |
| Reviewed by Brian Burg. |
| |
| Perform a resize layout on a newly shown tab content view if the tab |
| browser was resized before showing the tab. |
| |
| * UserInterface/Views/TabBrowser.js: |
| (WebInspector.TabBrowser): |
| (WebInspector.TabBrowser.prototype.layout): |
| Mark all recent tab content views (except for the current view) |
| as needing a resize layout. |
| |
| (WebInspector.TabBrowser.prototype._tabBarItemSelected): |
| If the tab browser was resized while the view was hidden, update the |
| view's layout for the new content view container size. |
| |
| 2016-08-01 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Waterfall graph in Network tab shows too much whitespace/dead time |
| https://bugs.webkit.org/show_bug.cgi?id=160373 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Track the start and end time separate from the ruler to remove |
| leading/trailing whitespace in the graph. Also prevent network |
| record bars from being clipped. |
| |
| * UserInterface/Views/NetworkGridContentView.js: |
| (WebInspector.NetworkGridContentView): |
| (WebInspector.NetworkGridContentView.prototype.get zeroTime): |
| Set equal to the ruler start time. |
| (WebInspector.NetworkGridContentView.prototype.reset): |
| Reset start and end time. |
| (WebInspector.NetworkGridContentView.prototype.layout): |
| Set the initial values for ruler start/zero time if needed. |
| (WebInspector.NetworkGridContentView.prototype._networkTimelineRecordAdded): |
| Set the start time if needed. |
| Reduce debounce from 250ms to 150ms. This prevents the current time from |
| exceeding the end time by as wide a margin, while keeping the current |
| time "timer" from being restarted too frequently. |
| |
| (WebInspector.NetworkGridContentView.prototype._stopUpdatingCurrentTime): |
| Update the ruler end time and schedule a layout. |
| Add padding equal to the time needed to draw a network bar at minimum width |
| to prevent bars from being clipped. |
| |
| 2016-07-29 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Inactive/active network bar segments overlap when latency is zero |
| https://bugs.webkit.org/show_bug.cgi?id=160147 |
| <rdar://problem/27516007> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| TimelineRecordBar should hide the inactive segment when its duration |
| is less than the minimum displayable size. The active segment can |
| assume the whole width of the bar. |
| |
| * UserInterface/Views/TimelineOverviewGraph.js: |
| (WebInspector.TimelineOverviewGraph.prototype.get secondsPerPixel): |
| Make secondsPerPixel available during TimelineRecordBars.refresh. |
| |
| * UserInterface/Views/TimelineRecordBar.js: |
| (WebInspector.TimelineRecordBar.prototype.refresh): |
| Check inactive duration against the minimum display size, |
| and add/remove DOM nodes and bar styles as needed. |
| |
| 2016-07-29 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| REGRESSION (r195456): Web Inspector: Changing tabs in Styles sidebar shouldn't change sidebar's width |
| https://bugs.webkit.org/show_bug.cgi?id=159646 |
| <rdar://problem/27286338> |
| |
| Reviewed by Brian Burg. |
| |
| Remember sidebar width on per tab basis. For example, Node, Styles, and Layers sidebar panels in |
| Elements tab should all have the same width, but Resource sidebar panel in Debugger tab should NOT |
| share its width Element tab's sidebar. |
| |
| TabContentView stores the width but TabBrowser manages saving and restoring it. |
| The same way collapsed sidebar state is handled. |
| |
| * UserInterface/Views/Sidebar.js: |
| (WebInspector.Sidebar.prototype.set collapsed): |
| Don't change sidebar's width when sidebar panels change. |
| |
| (WebInspector.Sidebar.prototype._recalculateWidth): |
| (WebInspector.Sidebar.prototype.set selectedSidebarPanel): Deleted. |
| Pass newWidth as an argument so it can be saved in TabBrowser. |
| |
| * UserInterface/Views/SidebarPanel.js: |
| (WebInspector.SidebarPanel): Deleted. |
| (WebInspector.SidebarPanel.prototype.get savedWidth): Deleted. |
| (WebInspector.SidebarPanel.prototype.sizeDidChange): Deleted. |
| Remove the per sidebar panel width setting that was added in r195456. |
| |
| * UserInterface/Views/TabBrowser.js: |
| (WebInspector.TabBrowser): |
| (WebInspector.TabBrowser.prototype._detailsSidebarWidthDidChange): |
| (WebInspector.TabBrowser.prototype._showDetailsSidebarPanelsForTabContentView): |
| * UserInterface/Views/TabContentView.js: |
| (WebInspector.TabContentView): |
| (WebInspector.TabContentView.prototype.get detailsSidebarWidthSetting): |
| Store details sidebar width on TabContentView. |
| |
| 2016-07-29 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Assertion in NetworkGridContentView when updating data grid for the first time |
| https://bugs.webkit.org/show_bug.cgi?id=160330 |
| <rdar://problem/27600905> |
| |
| Reviewed by Brian Burg. |
| |
| When the first grid node is added, a view layout and current time update |
| are scheduled. A view layout occurring before the current time is updated |
| should be skipped, since the ruler end time hasn't been set. |
| |
| * UserInterface/Views/NetworkGridContentView.js: |
| (WebInspector.NetworkGridContentView.prototype.layout): |
| Skip layout until current time is updated. |
| (WebInspector.NetworkGridContentView.prototype._update): |
| Remove unused variables `startTime` and `endTime`. Don't force a layout |
| if the elapsed time is zero. |
| |
| 2016-07-28 Chris Dumez <cdumez@apple.com> |
| |
| Parameters to Event.initEvent() should be mandatory |
| https://bugs.webkit.org/show_bug.cgi?id=160320 |
| |
| Reviewed by Darin Adler. |
| |
| Update WebInspector accordingly. |
| |
| * UserInterface/Models/NativeFunctionParameters.js: |
| |
| 2016-07-28 Chris Dumez <cdumez@apple.com> |
| |
| First parameter to canvas.getContext() / probablySupportsContext() should be mandatory |
| https://bugs.webkit.org/show_bug.cgi?id=160312 |
| |
| Reviewed by Darin Adler. |
| |
| Update WebInspector accordingly. |
| |
| * UserInterface/Models/NativeFunctionParameters.js: |
| |
| 2016-07-28 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Hiding a column which contains a TimelineRuler as the headerview, doesn't hide the headerView |
| https://bugs.webkit.org/show_bug.cgi?id=160093 |
| <rdar://problem/27499300> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid.prototype._positionHeaderViews): |
| Remove early return so that a header view in a hidden column will have |
| its width resized to zero, matching the column. |
| |
| 2016-07-28 Johan K. Jensen <johan_jensen@apple.com> |
| |
| Web Inspector: Waterfall view should be visible in Network tab and Network Timeline |
| https://bugs.webkit.org/show_bug.cgi?id=160061 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Adds a Timeline-column (waterfall) to the Network tab and Network Timeline. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| Add "Timeline" localized string. |
| |
| * UserInterface/Views/NetworkGridContentView.js: |
| (WebInspector.NetworkGridContentView): |
| Add the Timeline-column with a TimelineRuler as the headerview, |
| and properties for updating current time. |
| |
| (WebInspector.NetworkGridContentView.prototype.get secondsPerPixel): |
| (WebInspector.NetworkGridContentView.prototype.get startTime): |
| (WebInspector.NetworkGridContentView.prototype.get currentTime): |
| (WebInspector.NetworkGridContentView.prototype.get endTime): |
| Acting as a graphDataSource used by TimelineDataGridNode. |
| |
| (WebInspector.NetworkGridContentView.prototype.shown): |
| (WebInspector.NetworkGridContentView.prototype.reset): |
| (WebInspector.NetworkGridContentView.prototype.layout): |
| Refresh graphs and update the TimelineRuler on layout changes. |
| |
| (WebInspector.NetworkGridContentView.prototype._networkTimelineRecordAdded): |
| Add listeners for when resources are finished to stop the timer. |
| |
| (WebInspector.NetworkGridContentView.prototype._update): |
| (WebInspector.NetworkGridContentView.prototype._startUpdatingCurrentTime): |
| (WebInspector.NetworkGridContentView.prototype._stopUpdatingCurrentTime): |
| Adding a timer which updates the TimelineRuler and the layout |
| if any non-finished requests are running. |
| |
| * UserInterface/Views/NetworkTimelineView.js: |
| (WebInspector.NetworkTimelineView): |
| Add the Timeline-column with a TimelineRuler as the headerview. |
| |
| (WebInspector.NetworkTimelineView.prototype.get secondsPerPixel): |
| (WebInspector.NetworkTimelineView.prototype.layout): |
| Refresh graphs on layout changes. |
| |
| * UserInterface/Views/TimelineDataGrid.css: |
| (.tree-outline.timeline-data-grid .item:hover .subtitle): |
| (.data-grid.timeline th): |
| (.data-grid.timeline th.graph-column > .timeline-ruler): |
| (.data-grid.timeline td.graph-column): |
| (.data-grid.timeline td.graph-column > .cell-content): |
| (.data-grid.timeline td.graph-column .timeline-record-bar): |
| |
| 2016-07-28 Chris Dumez <cdumez@apple.com> |
| |
| Parameter to table.deleteRow() / body.deleteRow() should be mandatory |
| https://bugs.webkit.org/show_bug.cgi?id=160307 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Update WebInspector accordingly. |
| |
| * UserInterface/Models/NativeFunctionParameters.js: |
| |
| 2016-07-28 Chris Dumez <cdumez@apple.com> |
| |
| 2 first parameters to input.setSelectionRange() should be mandatory |
| https://bugs.webkit.org/show_bug.cgi?id=160310 |
| |
| Reviewed by Alex Christensen. |
| |
| Update WebInspector accordingly. |
| |
| * UserInterface/Models/NativeFunctionParameters.js: |
| |
| 2016-07-28 Chris Dumez <cdumez@apple.com> |
| |
| Parameter to tr.deleteCell() should be mandatory |
| https://bugs.webkit.org/show_bug.cgi?id=160308 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Report tr.deleteCell() parameter as mandatory. |
| |
| * UserInterface/Models/NativeFunctionParameters.js: |
| |
| 2016-07-27 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Visual Styles Sidebar should have only one column when it's narrow |
| https://bugs.webkit.org/show_bug.cgi?id=159905 |
| <rdar://problem/27413248> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Many CSS values often get clipped in the two colunm layout. Change the layout to one colunm |
| when visual style rows get too narrow. |
| |
| * UserInterface/Views/VisualStyleDetailsPanel.css: |
| (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row): |
| (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .metric-section-row): |
| Wrap all rows except for position/padding/margin controls. |
| |
| (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row > .visual-style-property-container:not(.layout-reversed):last-child): Deleted. |
| Margin between the first and the second column doesn't make sense one column layout. |
| Set the margin in .visual-style-property-container instead. |
| |
| * UserInterface/Views/VisualStyleDetailsPanel.js: |
| (WebInspector.VisualStyleDetailsPanel.prototype._generateMetricSectionRows): |
| * UserInterface/Views/VisualStylePropertyEditor.css: |
| (.visual-style-property-container): |
| |
| 2016-07-27 Joseph Pecoraro <pecoraro@apple.com> |
| |
| [Mac] Web Inspector: CodeMirror-based editor bindings for Home and End don't match system behavior |
| https://bugs.webkit.org/show_bug.cgi?id=160267 |
| <rdar://problem/27575553> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/CodeMirrorEditor.js: |
| (WebInspector.CodeMirrorEditor.create): |
| (WebInspector.CodeMirrorEditor): |
| Add some key map overrides for Home and End to better match system Mac |
| behavior. This scrolls to the start or end of a document and does not |
| change the cursor position. |
| |
| 2016-07-27 Brian Burg <bburg@apple.com> |
| |
| Regression(r203535): Uncaught Exception: TypeError: Not enough arguments at LayerTreeDataGridNode.js:47 |
| https://bugs.webkit.org/show_bug.cgi?id=160187 |
| <rdar://problem/27540435> |
| |
| Reviewed by Eric Carlson. |
| |
| After r203535, document.createTextNode() requires an argument. |
| |
| * UserInterface/Views/LayerTreeDataGridNode.js: |
| (WebInspector.LayerTreeDataGridNode.prototype.createCellContent): |
| Since this use-site is for creating a cell in an unknown column, |
| initialize it to '–'. Previously it would have been the string |
| "undefined" or empty. |
| |
| 2016-07-24 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Filtering is broken in the Overview timeline view |
| https://bugs.webkit.org/show_bug.cgi?id=160152 |
| <rdar://problem/27517481> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/SourceCodeTimelineTimelineDataGridNode.js: |
| (WebInspector.SourceCodeTimelineTimelineDataGridNode.prototype.filterableDataForColumn): |
| Non-resource nodes should be filtered based on their display name. |
| |
| 2016-07-23 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| REGRESSION (r202876): Web Inspector: Switching away from Console tab with a lot of messages is slow |
| https://bugs.webkit.org/show_bug.cgi?id=160112 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Showing NavigationSidebar before removing previous TabContentView can be very slow when |
| TabContentView is ConsoleTabContentView with a lot of messages. The order of operations |
| (show sidebar, change content view, show sidebar) caused more forced layouts. This patch |
| reduces the number of forced layouts by changes the order to: show content view, show sidebar, |
| show sidebar. |
| |
| * UserInterface/Views/TabBrowser.js: |
| (WebInspector.TabBrowser.prototype._tabBarItemSelected): |
| |
| 2016-07-20 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Pausing when Debugger tab is closed opens tab in wrong state |
| https://bugs.webkit.org/show_bug.cgi?id=159946 |
| <rdar://problem/27429886> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel): |
| At the end of construction, update the UI to match the current state |
| of the world. Such as updating the UI if we are paused, or if the |
| Timeline is capturing and we are temporarily disabling breakpoints. |
| |
| 2016-07-15 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Make Open Quickly and Goto Line dialogs match Xcode 8 |
| https://bugs.webkit.org/show_bug.cgi?id=159823 |
| rdar://problem/27376501 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/GoToLineDialog.css: |
| (.go-to-line-dialog): |
| (.go-to-line-dialog > div > input): |
| (.go-to-line-dialog > div > input::placeholder): |
| (.go-to-line-dialog > div > img): |
| (.go-to-line-dialog > div): Deleted. |
| * UserInterface/Views/OpenResourceDialog.css: |
| (.open-resource-dialog): |
| (.open-resource-dialog > .field): |
| (.open-resource-dialog > .field > input): |
| (.open-resource-dialog > .field > input::placeholder): |
| (.open-resource-dialog > .field > img): |
| (.open-resource-dialog > .tree-outline .item): Deleted. |
| (.open-resource-dialog > .tree-outline .item:first-child): Deleted. |
| |
| 2016-07-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Rename CCTNode to CallingContextTreeNode |
| https://bugs.webkit.org/show_bug.cgi?id=159782 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Models/CallingContextTree.js: |
| * UserInterface/Models/CallingContextTreeNode.js: |
| Extra to its own file and rename. |
| |
| * UserInterface/Main.html: |
| * UserInterface/Test.html: |
| * UserInterface/TestStub.html: |
| Include the new file. |
| |
| * UserInterface/Views/ProfileDataGridNode.js: |
| (WebInspector.ProfileDataGridNode): |
| * UserInterface/Views/ProfileDataGridTree.js: |
| (WebInspector.ProfileDataGridTree.prototype._updateCurrentFocusDetails): |
| Rename shorthand "cctnode". |
| |
| 2016-07-14 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: SidebarPanel classes should use View.layout instead of "refresh" |
| https://bugs.webkit.org/show_bug.cgi?id=159745 |
| <rdar://problem/27335252> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js: |
| (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.set applicationCacheFrame): |
| Use needsLayout. |
| |
| * UserInterface/Views/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.layout): |
| Move refresh logic to layout. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.initialLayout): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._styleSheetAddedOrRemoved): |
| Defer layout to coalesce updates. |
| (WebInspector.CSSStyleDetailsSidebarPanel): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh): Deleted. |
| |
| * UserInterface/Views/DOMDetailsSidebarPanel.js: |
| (WebInspector.DOMDetailsSidebarPanel.prototype.set domNode): |
| Use needsLayout. |
| |
| * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: |
| Move refresh logic to layout. |
| |
| * UserInterface/Views/DetailsSidebarPanel.js: |
| (WebInspector.DetailsSidebarPanel.prototype.shown): Deleted. |
| Base class already forces a layout when shown. |
| (WebInspector.DetailsSidebarPanel.prototype.needsRefresh): Deleted. |
| No longer needed. |
| (WebInspector.DetailsSidebarPanel.prototype.refresh): Deleted. |
| Renamed layout. |
| (WebInspector.DetailsSidebarPanel): Deleted. |
| |
| * UserInterface/Views/LayerTreeDetailsSidebarPanel.js: |
| (WebInspector.LayerTreeDetailsSidebarPanel.prototype.supportsDOMNode): |
| (WebInspector.LayerTreeDetailsSidebarPanel.prototype._layerTreeDidChange): |
| Use needsLayout. |
| (WebInspector.LayerTreeDetailsSidebarPanel.prototype.shown): |
| Base class already forces a layout when shown. |
| |
| * UserInterface/Views/ResourceDetailsSidebarPanel.js: |
| (WebInspector.ResourceDetailsSidebarPanel.prototype.set resource): |
| Use needsLayout. |
| |
| * UserInterface/Views/ScopeChainDetailsSidebarPanel.js: |
| (WebInspector.ScopeChainDetailsSidebarPanel): |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype.set callFrame): |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpression): |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype._removeWatchExpression): |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype._clearAllWatchExpressions): |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype._refreshAllWatchExpressionsButtonClicked): |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype._didEvaluateExpression): |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype._mainResourceDidChange): |
| Use needsLayout. |
| |
| 2016-07-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Maintain selected function when switching between different profile representations |
| https://bugs.webkit.org/show_bug.cgi?id=159778 |
| <rdar://problem/27355913> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Models/CallingContextTree.js: |
| (WebInspector.CCTNode): |
| (WebInspector.CCTNode.prototype.get hash): |
| (WebInspector.CCTNode.prototype.findOrMakeChild): |
| (WebInspector.CCTNode.prototype.equals): |
| Expose the hash so two nodes can be compared cheaply. |
| |
| * UserInterface/Views/ProfileView.js: |
| (WebInspector.ProfileView.prototype._repopulateDataGridFromTree): |
| (WebInspector.ProfileView.prototype._restoreSharedState): |
| (WebInspector.ProfileView.prototype._dataGridNodeSelected): |
| Share data between multiple ProfileViews. Currently just remembering |
| and restoring the selected function. |
| |
| * UserInterface/Views/ScriptProfileTimelineView.js: |
| (WebInspector.ScriptProfileTimelineView): |
| (WebInspector.ScriptProfileTimelineView.prototype._showProfileViewForOrientation): |
| Include the shared data when constructing new ProfileViews. |
| |
| 2016-07-13 Matt Baker <mattbaker@apple.com> |
| |
| Uncaught Exception: TypeError: null is not an object (evaluating 'this._contentViewContainer.currentContentView.showsFilterBar') |
| https://bugs.webkit.org/show_bug.cgi?id=159696 |
| <rdar://problem/27312356> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView.prototype._contentViewSelectionPathComponentDidChange): |
| Early return if content view not visible, since the event is sent during |
| tab teardown and the current TimelineView may be invalid. |
| |
| 2016-07-12 Joseph Pecoraro <pecoraro@apple.com> |
| |
| REGRESSION(r192789): Web Inspector: Log Value context menu appears twice |
| https://bugs.webkit.org/show_bug.cgi?id=159681 |
| <rdar://problem/27304804> |
| |
| Reviewed by Brian Burg. |
| |
| In r192789 contextmenu events may bubble up so that multiple handlers |
| may append ContextMenuItems. In nested ObjectTrees / ObjectPreviews |
| this could result in duplicate items. Add a flag on the bubbling event |
| so that we only include Object Tree context menu items for the deepest |
| part of the Object Tree, but still allow bubbling up to the root. |
| |
| * UserInterface/Views/ObjectPreviewView.js: |
| (WebInspector.ObjectPreviewView.prototype._contextMenuHandler): |
| (WebInspector.ObjectPreviewView): |
| * UserInterface/Views/ObjectTreeBaseTreeElement.js: |
| (WebInspector.ObjectTreeBaseTreeElement.prototype._contextMenuHandler): |
| |
| 2016-07-12 Johan K. Jensen <johan_jensen@apple.com> |
| |
| Web Inspector: ER: Copy as cURL |
| https://bugs.webkit.org/show_bug.cgi?id=159380 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Inspired by https://chromium.googlesource.com/chromium/src/+/b7c1115dbae65030ad96e773d9a270465a05f5c4/third_party/WebKit/Source/devtools/front_end/network/NetworkLogView.js |
| |
| This "Copy as cURL" feature only approximates the original request as only some parts of |
| that request is known to the frontend. |
| |
| * UserInterface/Models/Resource.js: |
| (WebInspector.Resource.prototype.generateCURLCommand.escapeStringPosix.escapeCharacter): |
| (WebInspector.Resource.prototype.generateCURLCommand.escapeStringPosix): |
| (WebInspector.Resource.prototype.generateCURLCommand): |
| (WebInspector.Resource): |
| * UserInterface/Views/ResourceTimelineDataGridNode.js: |
| (WebInspector.ResourceTimelineDataGridNode.prototype.appendContextMenuItems): |
| |
| 2016-07-12 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Use separate files for TreeOutline/TreeElement and DataGrid/DataGridNode |
| https://bugs.webkit.org/show_bug.cgi?id=159659 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Main.html: |
| * UserInterface/Views/DataGrid.js: |
| * UserInterface/Views/DataGridNode.js: Added. |
| * UserInterface/Views/TreeElement.js: Added. |
| * UserInterface/Views/TreeOutline.js: |
| Extra the component classes to their own file. |
| |
| 2016-07-11 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: ProfileView sometimes shows Top Functions data despite Top Functions being disabled |
| https://bugs.webkit.org/show_bug.cgi?id=159660 |
| <rdar://problem/27291647> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/ScriptProfileTimelineView.js: |
| (WebInspector.ScriptProfileTimelineView.prototype._profileOrientationButtonClicked): |
| Pass the value of the setting, not the setting itself. |
| |
| 2016-07-11 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Transition and Animation sections in Visual Styles sidebar should have more spacing to their left |
| https://bugs.webkit.org/show_bug.cgi?id=159633 |
| <rdar://problem/27281805> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/VisualStyleDetailsPanel.css: |
| (.visual-style-property-container.animation): |
| |
| 2016-07-08 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Command-Shift-S in the Styles sidebar should always show the save dialog |
| https://bugs.webkit.org/show_bug.cgi?id=156858 |
| <rdar://problem/25859098> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/CSSStyleDeclarationSection.js: |
| (WebInspector.CSSStyleDeclarationSection): |
| |
| 2016-07-07 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector, regression: JS/JSON pretty-printing sporadically broken in STP8 |
| https://bugs.webkit.org/show_bug.cgi?id=159511 |
| <rdar://problem/27218435> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Workers/Formatter/FormatterWorker.js: |
| (FormatterWorker.prototype.formatJavaScript): |
| Attempt to format invalid JSON that can be evaluated to an object. |
| |
| 2016-07-07 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: scrolled Snapshot list is reset to top and drawn blank after switching back from Snapshot Comparison view |
| https://bugs.webkit.org/show_bug.cgi?id=158218 |
| rdar://problem/26545000 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/ClusterContentView.js: |
| (WebInspector.ClusterContentView.prototype.get scrollableElements): Added. |
| A default implementation for all cluster views. |
| |
| * UserInterface/Views/DOMStorageContentView.js: |
| (WebInspector.DOMStorageContentView.prototype.get scrollableElements): Deleted. |
| This was duplicated in the class, removed one. |
| |
| * UserInterface/Views/HeapAllocationsTimelineView.js: |
| (WebInspector.HeapAllocationsTimelineView): Initialize _snapshotListScrollTop. |
| (WebInspector.HeapAllocationsTimelineView.prototype.get scrollableElements): Added. Return elements |
| based on what is showing. |
| |
| (WebInspector.HeapAllocationsTimelineView.prototype.showHeapSnapshotList): Restore the scroll position |
| of the DataGrid after it is added to the view. |
| |
| (WebInspector.HeapAllocationsTimelineView.prototype.showHeapSnapshotTimelineRecord): Save the scroll position |
| of the DataGrid before it is removed from the view. |
| |
| * UserInterface/Views/ScriptClusterTimelineView.js: |
| (WebInspector.ScriptClusterTimelineView.prototype.get scrollableElements): Deleted. Handled by the base class now. |
| |
| 2016-07-06 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: REGRESSION: Hitting ⌘T in Web Inspector no longer opens in new tab in Safari |
| https://bugs.webkit.org/show_bug.cgi?id=159487 |
| rdar://problem/27188047 |
| |
| Change Command-T to Command-Option-T to open a new tab. |
| |
| I also changed Command-1, etc. to Command-Option-1, etc. to switch tabs. The number commands |
| conflicted similarly with Safari and didn't work for me as a Web Inspector shortcut at all. |
| We can't use Command-Shift because of Command-Shift-3 and Command-Shift-4 for screenshots. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.contentLoaded): |
| |
| 2016-07-06 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: sometimes reloading a page with main resource selected will show an empty content view |
| https://bugs.webkit.org/show_bug.cgi?id=158069 |
| <rdar://problem/26516710> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel.prototype.showDefaultContentView): |
| Continue until we get one that works. |
| |
| * UserInterface/Views/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel.prototype.showDefaultContentViewForTreeElement): |
| Avoid showing a content view for a background tab if it could steal |
| the content view from a foreground tab. This is a targeted fix for |
| reload + tab content view loading behavior. A more general fix would |
| be reducing the work done by non-foreground tabs. |
| |
| * UserInterface/Views/TabBrowser.js: |
| (WebInspector.TabBrowser.prototype._tabBarItemSelected): |
| Update navigation sidebar first so it is set when showing the TabContentView. |
| |
| 2016-07-06 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: Uncaught Exception reporter should include the currently dispatching protocol event or request/response if applicable |
| https://bugs.webkit.org/show_bug.cgi?id=159320 |
| <rdar://problem/27117754> |
| |
| Reviewed by Timothy Hatcher and Joseph Pecoraro. |
| |
| Keep track of the currently dispatched protocol response or protocol event and make |
| them available to the uncaught exception reporter. If an internal exception is reported |
| while dispatching an event or response, dump the protocol message(s) into the pre-filled |
| bug report. |
| |
| * UserInterface/Debug/UncaughtExceptionReporter.js: |
| (stringifyAndTruncateObject): Added. |
| Rearrange the code that generates the pre-filled report so it's easier to add optional sections. |
| |
| * UserInterface/Protocol/InspectorBackend.js: |
| (InspectorBackendClass): |
| (InspectorBackendClass.prototype.get currentDispatchState): Expose the dispatching state. |
| (InspectorBackendClass.prototype._sendCommandToBackendWithCallback): |
| (InspectorBackendClass.prototype._sendCommandToBackendExpectingPromise): |
| Store the originating command request with the pendingResponse data so that we can examine |
| the originating request if the response causes an error. This will cause request message objects |
| to be garbage-collected after their responses are dispatched rather than when the request is sent. |
| But, I don't forsee this being a performance problem since we should always get a command response |
| and pending command responses do not typically accumulate except when the inspector first loads. |
| |
| (InspectorBackendClass.prototype._dispatchResponse): Save the response being dispatched. |
| (InspectorBackendClass.prototype._dispatchResponseToCallback): Simplify exception reporting. |
| (InspectorBackendClass.prototype._dispatchEvent): Save the event being dispatched. |
| |
| 2016-07-05 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Switch last uses of -webkit-linear-gradient() to linear-gradient() |
| https://bugs.webkit.org/show_bug.cgi?id=159438 |
| rdar://problem/27183417 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/RenderingFrameTimelineOverviewGraph.css: |
| (.timeline-overview-graph.rendering-frame > .frame-marker): |
| (body.window-inactive .timeline-overview-graph.rendering-frame > .frame-marker): |
| * UserInterface/Views/TimelineRecordFrame.css: |
| (.timeline-record-frame.tall): |
| (.timeline-record-frame.selected): |
| (body.window-inactive .timeline-record-frame.selected): |
| |
| 2016-07-05 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Drop -webkit-calc() in completions and a single use |
| https://bugs.webkit.org/show_bug.cgi?id=159435 |
| rdar://problem/27179340 |
| |
| Reviewed by Dean Jackson. |
| |
| * UserInterface/Models/CSSKeywordCompletions.js: |
| * UserInterface/Views/VisualStylePropertyEditorLink.css: |
| (.visual-style-property-editor-link > .visual-style-property-editor-link-border): |
| |
| 2016-07-05 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Drop the prefix from -webkit-image-set() |
| https://bugs.webkit.org/show_bug.cgi?id=159433 |
| rdar://problem/27178887 |
| |
| Reviewed by Dean Jackson. |
| |
| * UserInterface/Models/CSSKeywordCompletions.js: |
| * UserInterface/Views/ApplicationCacheIcons.css: |
| (.application-cache-manifest .icon): |
| (.application-cache-frame .icon): |
| * UserInterface/Views/CookieIcon.css: |
| (.cookie-icon .icon): |
| * UserInterface/Views/DOMStorageIcons.css: |
| (.local-storage-icon .icon): |
| (.session-storage-icon .icon): |
| * UserInterface/Views/DatabaseIcon.css: |
| (.database-icon .icon): |
| * UserInterface/Views/DatabaseTableIcon.css: |
| (.database-table-icon .icon): |
| * UserInterface/Views/FolderIcon.css: |
| (.folder-icon .icon): |
| * UserInterface/Views/GradientSlider.css: |
| (.gradient-slider-knob): |
| (.gradient-slider-knob.selected): |
| * UserInterface/Views/HoverMenu.css: |
| (.hover-menu > img): |
| * UserInterface/Views/ResourceIcons.css: |
| (.resource-icon .icon): |
| (.resource-icon.resource-type-document .icon): |
| (.resource-icon.resource-type-image .icon): |
| (.resource-icon.resource-type-font .icon): |
| (.resource-icon.resource-type-stylesheet .icon): |
| (.resource-icon.resource-type-script .icon): |
| (.anonymous-script-icon .icon): |
| (.source-map-resource.resource-icon .icon): |
| (.source-map-resource.resource-icon.resource-type-stylesheet .icon): |
| (.source-map-resource.resource-icon.resource-type-script .icon): |
| (.large .resource-icon .icon): |
| (.large .resource-icon.resource-type-document .icon): |
| (.large .resource-icon.resource-type-image .icon): |
| (.large .resource-icon.resource-type-font .icon): |
| (.large .resource-icon.resource-type-stylesheet .icon): |
| (.large .resource-icon.resource-type-script .icon): |
| (.large .anonymous-script-icon .icon): |
| (.large .source-map-resource.resource-icon .icon): |
| (.large .source-map-resource.resource-icon.resource-type-stylesheet .icon): |
| (.large .source-map-resource.resource-icon.resource-type-script .icon): |
| * UserInterface/Views/Slider.css: |
| (.slider > img): |
| (.slider > img.dragging): |
| * UserInterface/Views/SourceCodeTextEditor.css: |
| (.hover-menu.color > img): |
| * UserInterface/Views/TextEditor.css: |
| (.text-editor > .CodeMirror .has-breakpoint .CodeMirror-linenumber::before): |
| (.text-editor > .CodeMirror .breakpoint-resolved .CodeMirror-linenumber::before): |
| (.text-editor > .CodeMirror .execution-line .CodeMirror-linenumber::after): |
| * UserInterface/Views/TimelineIcons.css: |
| (body:not(.mac-platform, .windows-platform) .network-icon .icon): |
| (body:not(.mac-platform, .windows-platform) .network-icon.large .icon): |
| (body:not(.mac-platform, .windows-platform) .layout-icon .icon): |
| (body:not(.mac-platform, .windows-platform) .layout-icon.large .icon): |
| (body:not(.mac-platform, .windows-platform) .script-icon .icon): |
| (body:not(.mac-platform, .windows-platform) .script-icon.large .icon): |
| (body:not(.mac-platform, .windows-platform) .rendering-frame-icon .icon): |
| (body:not(.mac-platform, .windows-platform) .memory-icon .icon): |
| (body:not(.mac-platform, .windows-platform) .heap-allocations-icon .icon): |
| (body:not(.mac-platform, .windows-platform) .stopwatch-icon .icon): |
| |
| 2016-07-02 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: CallFrame console.assert seen in tests (sourceCodeLocation instanceof SourceCodeLocation) |
| https://bugs.webkit.org/show_bug.cgi?id=159368 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Test.html: |
| SourceCodeLocation was already included earlier. This redefines it and |
| thereby breaks some things. |
| |
| 2016-07-02 Joseph Pecoraro <pecoraro@apple.com> |
| |
| inspector/debugger/command-line-api-exception.html flakily times out on mac |
| https://bugs.webkit.org/show_bug.cgi?id=152029 |
| <rdar://problem/23813812> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Base/Object.js: |
| (WebInspector.Object.addEventListener): |
| Return the listener, this makes it cleaner to write tests. |
| |
| 2016-07-01 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Make enabling protocol logging in inspector tests easy to remember |
| https://bugs.webkit.org/show_bug.cgi?id=159323 |
| |
| Reviewed by Brian Burg. |
| |
| Now you just need to type InspectorTest.debug() or |
| ProtocolTest.debug() and it will include stderr logging. |
| |
| * UserInterface/Test/FrontendTestHarness.js: |
| (FrontendTestHarness.prototype.debug): |
| * UserInterface/Test/ProtocolTestHarness.js: |
| (ProtocolTestHarness.prototype.debug): |
| (ProtocolTestHarness): |
| * UserInterface/Test/TestHarness.js: |
| (TestHarness.prototype.debug): |
| |
| 2016-06-30 Matt Baker <mattbaker@apple.com> |
| |
| Unreviewed build fix. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| Add "Area" localized string. |
| |
| 2016-06-30 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Wrong function name next to scope |
| https://bugs.webkit.org/show_bug.cgi?id=158210 |
| <rdar://problem/26543093> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Controllers/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype._scopeChainNodeFromPayload): |
| Include new payload data in the construction call. |
| All the new data is optional, so we gracefully handle |
| legacy backends. |
| |
| * UserInterface/Models/ScopeChainNode.js: |
| (WebInspector.ScopeChainNode): |
| (WebInspector.ScopeChainNode.prototype.get type): |
| (WebInspector.ScopeChainNode.prototype.get objects): |
| (WebInspector.ScopeChainNode.prototype.get name): |
| (WebInspector.ScopeChainNode.prototype.get location): |
| (WebInspector.ScopeChainNode.prototype.get hash): |
| Hash is a rough (name:sourceId:line:column) string for quick comparisons. |
| |
| (WebInspector.ScopeChainNode.prototype.makeLocalScope): |
| Make this an action you take on a scope, to avoid having to |
| do it at construction time, or making it a generic setting. |
| |
| * UserInterface/Views/ScopeChainDetailsSidebarPanel.js: |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateCallFramesSection): |
| This was wrong before. Move the work to CallFrame |
| and change it to be correct. |
| |
| * UserInterface/CallFrame.js: |
| (WebInspector.CallFrame.prototype.mergedScopeChain): |
| |
| This transforms the scope chain for a call frame from: |
| |
| scope1 scope2 scope3 scope4 scope5 scope6 scope7 |
| foo foo foo bar bar - - |
| Block Closure Closure Closure Closure GLE GBL |
| |
| To: |
| scope1 scope2&3 scope4&5 scope6 scope7 |
| foo foo* bar* - - |
| Block Local Closure GLE GBL |
| |
| Doing a few things: |
| |
| - Merge the first two Closure scopes sharing a location. |
| These are the "var" and "let" Closure scopes in a function, |
| and it is better to present these together in the UI. |
| |
| - Mark the first Closure scope within a function (*). When |
| this is displayed in the UI, we can provide the name of |
| the function: "Closure Scope (name)", and we even have |
| location information that we can use to display a goto |
| arrow if needed. |
| |
| - Make the first Closure scope the Local scope if it |
| matches the Call Frame's function name. This lets us |
| display the section as "Local Variables". |
| |
| 2016-06-30 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: add pixel area column to layout timeline view |
| https://bugs.webkit.org/show_bug.cgi?id=148677 |
| <rdar://problem/22518762> |
| |
| Reviewed by Timothy Hatcher. |
| |
| The view can simply add the column. LayoutTimelineDataGridNode |
| already includes area data and cell formatting. |
| |
| * UserInterface/Views/LayoutTimelineView.js: |
| (WebInspector.LayoutTimelineView): |
| |
| 2016-06-30 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: the last normal tab cannot be closed with "Close Tab" context menu item |
| https://bugs.webkit.org/show_bug.cgi?id=159317 |
| <rdar://problem/27042491> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/TabBarItem.js: |
| (WebInspector.TabBarItem.prototype._handleContextMenuEvent): |
| (WebInspector.TabBarItem): fix the expression that controls whether the item is disabled. |
| |
| 2016-06-30 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Add "spring" to transition-timing-function value autocompletion |
| https://bugs.webkit.org/show_bug.cgi?id=159313 |
| <rdar://problem/27114269> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Models/CSSKeywordCompletions.js: |
| |
| 2016-06-30 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r202659. |
| https://bugs.webkit.org/show_bug.cgi?id=159305 |
| |
| The test for this change times out on mac-wk2 debug and caused |
| an existing test to crash. (Requested by ryanhaddad on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "Web Inspector: Wrong function name next to scope" |
| https://bugs.webkit.org/show_bug.cgi?id=158210 |
| http://trac.webkit.org/changeset/202659 |
| |
| 2016-06-29 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Wrong function name next to scope |
| https://bugs.webkit.org/show_bug.cgi?id=158210 |
| <rdar://problem/26543093> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Controllers/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype._scopeChainNodeFromPayload): |
| Include new payload data in the construction call. |
| All the new data is optional, so we gracefully handle |
| legacy backends. |
| |
| * UserInterface/Models/ScopeChainNode.js: |
| (WebInspector.ScopeChainNode): |
| (WebInspector.ScopeChainNode.prototype.get type): |
| (WebInspector.ScopeChainNode.prototype.get objects): |
| (WebInspector.ScopeChainNode.prototype.get name): |
| (WebInspector.ScopeChainNode.prototype.get location): |
| (WebInspector.ScopeChainNode.prototype.get hash): |
| Hash is a rough (name:sourceId:line:column) string for quick comparisons. |
| |
| (WebInspector.ScopeChainNode.prototype.makeLocalScope): |
| Make this an action you take on a scope, to avoid having to |
| do it at construction time, or making it a generic setting. |
| |
| * UserInterface/Views/ScopeChainDetailsSidebarPanel.js: |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateCallFramesSection): |
| This was wrong before. Move the work to CallFrame |
| and change it to be correct. |
| |
| * UserInterface/CallFrame.js: |
| (WebInspector.CallFrame.prototype.mergedScopeChain): |
| |
| This transforms the scope chain for a call frame from: |
| |
| scope1 scope2 scope3 scope4 scope5 scope6 scope7 |
| foo foo foo bar bar - - |
| Block Closure Closure Closure Closure GLE GBL |
| |
| To: |
| scope1 scope2&3 scope4&5 scope6 scope7 |
| foo foo* bar* - - |
| Block Local Closure GLE GBL |
| |
| Doing a few things: |
| |
| - Merge the first two Closure scopes sharing a location. |
| These are the "var" and "let" Closure scopes in a function, |
| and it is better to present these together in the UI. |
| |
| - Mark the first Closure scope within a function (*). When |
| this is displayed in the UI, we can provide the name of |
| the function: "Closure Scope (name)", and we even have |
| location information that we can use to display a goto |
| arrow if needed. |
| |
| - Make the first Closure scope the Local scope if it |
| matches the Call Frame's function name. This lets us |
| display the section as "Local Variables". |
| |
| 2016-06-29 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: Uncaught Exception page never shows if exception is thrown while processing a protocol event |
| https://bugs.webkit.org/show_bug.cgi?id=159182 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Since we catch exceptions raised during the handling of protocol responses and events, there |
| is no way for these exceptions to trigger the global exception handler that shows the Uncaught |
| Exception Reporter sheet. We should show these in the sheet because it makes them get fixed faster. |
| |
| Add a new entry point, WebInspector.reportInternalError, that takes an error or string and |
| a free-form map of strings to strings for storing additional information such as message data. |
| Pass the error and any other relevant details to this entry point, which decides whether to |
| show the uncaught exception reporter or quietly log the error to Inspector^2 console. |
| |
| In future patches, I would like to do the following once the common errors are fixed: |
| - enable reporting via Uncaught Exception Reporter for all engineering builds |
| - move internal console.error call sites to use WebInspector.reportInternalError |
| |
| * UserInterface/Base/Main.js: Add reportInternalError, which redirects to the uncaught |
| exception reporter sheet or does console.error. It also adds a console.assert that could |
| cause the debugger to pause if desired. |
| |
| * UserInterface/Debug/UncaughtExceptionReporter.css: |
| (.sheet-container): Make the report scrollable now that we could potentially show a lot of text. |
| |
| * UserInterface/Debug/UncaughtExceptionReporter.js: |
| (handleError): Also pass along the 'details' poperty. |
| (formattedEntry): Refactor the code so it additionally prints out the keys and values of |
| the 'details' property. It does not do any coercions, so callers must convert values to strings. |
| |
| * UserInterface/Protocol/InspectorBackend.js: |
| (InspectorBackendClass.prototype._dispatchResponse): Inlined a function. |
| (InspectorBackendClass.prototype._dispatchResponseToCallback): |
| (InspectorBackendClass.prototype._dispatchEvent): |
| Report uncaught exceptions via WebInspector.reportInternalError. |
| |
| (InspectorBackendClass.prototype._reportProtocolError): Deleted, inlined into the single use site. |
| |
| 2016-06-29 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Show Shadow Root type in DOM Tree |
| https://bugs.webkit.org/show_bug.cgi?id=159236 |
| <rdar://problem/27068521> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| "Shadow Content (type)" string. |
| |
| * UserInterface/Models/DOMNode.js: |
| (WebInspector.DOMNode): |
| (WebInspector.DOMNode.prototype.shadowRoots): |
| (WebInspector.DOMNode.prototype.shadowRootType): |
| Initialize state and add accessors. |
| |
| * UserInterface/Views/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.shadowRootTypeDisplayName): |
| (WebInspector.DOMTreeElement.prototype._nodeTitleInfo): |
| Better string when an element is a Shadow Root. |
| |
| * UserInterface/Views/DOMTreeElementPathComponent.js: |
| (WebInspector.DOMTreeElementPathComponent): |
| Better to check the Shadow Root type. |
| |
| * UserInterface/Views/DOMTreeOutline.css: |
| (.tree-outline.dom .html-fragment.shadow): |
| Opacity looks poor when there is a selection. Switch to gray. |
| |
| 2016-06-28 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| REGRESSION (r188730): Web Inspector: Warning icons incorrectly positioned in CSS Rules sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=157869 |
| <rdar://problem/26356520> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Before r188730, CSS text always had a line break as a prefix. r188730 started trimming text. |
| This patch keeps trimming unnecessary whitespace but brings back required line break prefix. |
| |
| * UserInterface/Models/CSSStyleDeclaration.js: |
| (WebInspector.CSSStyleDeclaration.prototype.set text): |
| * UserInterface/Views/CSSStyleDeclarationTextEditor.js: |
| Make PrefixWhitespace and SuffixWhitespace public. |
| |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._formattedContent): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers.update): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers): |
| Remove an if conditional as it's always true. |
| |
| 2016-06-28 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: QuickConsole should update its selection when RuntimeManager.defaultExecutionContextIdentifier changes |
| https://bugs.webkit.org/show_bug.cgi?id=159183 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Currently, the UI listens for state changes in the Frame tree to decide when to reset |
| the selected execution context back to its default value. This is no good, because this |
| should happen even if we have no UI (i.e., testing models only). The UI should simply |
| display changes to the model rather than driving them based on other model changes. |
| |
| Move the logic to reset the execution context into RuntimeManager. When the selected |
| context changes, an event is fired which causes the QuickConsole to rebuild its path components. |
| |
| * UserInterface/Controllers/RuntimeManager.js: |
| (WebInspector.RuntimeManager): |
| (WebInspector.RuntimeManager.prototype.set defaultExecutionContextIdentifier): |
| Fire an event when the execution context actually changes. |
| |
| (WebInspector.RuntimeManager.prototype._frameExecutionContextsCleared): |
| Added. If the selected context was cleared, reset back to default. |
| |
| * UserInterface/Models/Frame.js: |
| (WebInspector.Frame.prototype.clearExecutionContexts): |
| Include the contexts that were cleared so clients can match against them. |
| |
| * UserInterface/Views/QuickConsole.js: |
| (WebInspector.QuickConsole): |
| Use the proper constant name. Both the old and new names evaluated to `undefined`. |
| No need to keep track of the selected path component, it will always match the |
| defaultExecutionContextIdentifier in RuntimeManager. |
| |
| (WebInspector.QuickConsole.prototype.get selectedExecutionContextIdentifier): |
| (WebInspector.QuickConsole.prototype.set selectedExecutionContextIdentifier): |
| Forward to RuntimeManager. This name is less awkward for the UI code that manages selections. |
| |
| (WebInspector.QuickConsole.prototype._executionContextPathComponentsToDisplay): |
| Special-case for the main frame execution context. |
| |
| (WebInspector.QuickConsole.prototype._framePageExecutionContextsChanged): |
| Remove indirection. |
| |
| (WebInspector.QuickConsole.prototype._frameExecutionContextsCleared): |
| Fix the guard to handle undefined execution contexts in the case where it represents the main frame (undefined). |
| |
| (WebInspector.QuickConsole.prototype._defaultExecutionContextChanged): |
| Rebuild when the model changes. |
| |
| (WebInspector.QuickConsole.prototype._pathComponentSelected): Simplify. |
| (WebInspector.QuickConsole.prototype.get executionContextIdentifier): |
| (WebInspector.QuickConsole.prototype._removeExecutionContextPathComponentForFrame): |
| Move the fallback selection behavior into RuntimeManager. |
| |
| (WebInspector.QuickConsole.prototype._updateExecutionContextPathComponentForFrame): Deleted. |
| This has been dead code ever since we removed iOS 6 legacy support. |
| |
| 2016-06-27 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: When modifying sessionStorage, localStorage gets updated |
| https://bugs.webkit.org/show_bug.cgi?id=159181 |
| <rdar://problem/27043447> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Test/Test.js: |
| (WebInspector.loaded): |
| Add registration for StorageManager and StorageObserver. |
| |
| 2016-06-27 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: RuntimeManager should not use view object WebInspector.quickConsole |
| https://bugs.webkit.org/show_bug.cgi?id=128092 |
| <rdar://problem/15966526> |
| |
| Reviewed by Timothy Hatcher. |
| |
| This is a layering violation which makes it harder to use RuntimeManager.evaluateInInspectedWindow |
| from a testing context where the QuickConsole view does not exist. |
| |
| Store the selected execution context identifier on RuntimeManager and use it |
| when doing subsequent evaluations that act on the currently selected frame. |
| |
| * UserInterface/Controllers/RuntimeManager.js: |
| (WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow): |
| (WebInspector.RuntimeManager.prototype.saveResult): |
| Use local state. |
| |
| (WebInspector.RuntimeManager.prototype.get defaultExecutionContextIdentifier): |
| (WebInspector.RuntimeManager.prototype.set defaultExecutionContextIdentifier): |
| Added. |
| |
| (WebInspector.RuntimeManager): |
| * UserInterface/Models/ExecutionContext.js: |
| (WebInspector.ExecutionContext): |
| Move the symbolic name for the top level execution context to RuntimeManager. |
| |
| * UserInterface/Test/Test.js: |
| (WebInspector.loaded): No need to stub out WebInspector.QuickConsole any more. |
| |
| * UserInterface/Views/QuickConsole.js: |
| (WebInspector.QuickConsole.prototype._framePageExecutionContextsChanged): |
| (WebInspector.QuickConsole.prototype._removeExecutionContextPathComponentForFrame): |
| (WebInspector.QuickConsole.prototype._updateExecutionContextPathComponentForFrame): |
| (WebInspector.QuickConsole.prototype._pathComponentSelected): |
| For now, set RuntimeManager's selected execution context whenever we set the |
| selected path component. In a future patch, we should invert the dependency and have |
| the selected component change whenever RuntimeManager.defaultExecutionContext changes. |
| |
| 2016-06-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: first heap snapshot taken when a page is reloaded happens before the reload navigation |
| https://bugs.webkit.org/show_bug.cgi?id=158995 |
| <rdar://problem/26923778> |
| |
| Reviewed by Brian Burg. |
| |
| Let instruments decide to do work or not based on programmatic |
| (backend initiated) starts and stop. |
| |
| Programmatic start can happen due to Auto Capture or console.profile. |
| Programmatic stop can happen due to console.profileEnd. |
| |
| For example, this allows the frontend to avoid sending agents start/stop |
| messages when the backend would have already started/stopped the agents. |
| |
| * UserInterface/Controllers/TimelineManager.js: |
| (WebInspector.TimelineManager): |
| (WebInspector.TimelineManager.prototype.startCapturing): |
| (WebInspector.TimelineManager.prototype.capturingStopped): |
| (WebInspector.TimelineManager.prototype.autoCaptureStarted): |
| (WebInspector.TimelineManager.prototype.programmaticCaptureStarted): |
| Call Recording.start/stop with a programmatic flag so the frontend |
| instruments can perform a more informed start/stop. |
| |
| * UserInterface/Models/TimelineRecording.js: |
| (WebInspector.TimelineRecording.prototype.start): |
| (WebInspector.TimelineRecording.prototype.stop): |
| Let the instruments decide to do work based on the start/stop |
| being initiated by the backend or not. |
| |
| * UserInterface/Models/HeapAllocationsInstrument.js: |
| (WebInspector.HeapAllocationsInstrument.prototype.startInstrumentation): |
| (WebInspector.HeapAllocationsInstrument.prototype.stopInstrumentation): |
| * UserInterface/Models/Instrument.js: |
| (WebInspector.Instrument.startLegacyTimelineAgent): |
| (WebInspector.Instrument.prototype.startInstrumentation): |
| (WebInspector.Instrument.prototype.stopInstrumentation): |
| (WebInspector.Instrument): |
| * UserInterface/Models/MemoryInstrument.js: |
| (WebInspector.MemoryInstrument.prototype.startInstrumentation): |
| (WebInspector.MemoryInstrument.prototype.stopInstrumentation): |
| (WebInspector.MemoryInstrument): |
| * UserInterface/Models/NetworkInstrument.js: |
| * UserInterface/Models/ScriptInstrument.js: |
| (WebInspector.ScriptInstrument.prototype.startInstrumentation): |
| (WebInspector.ScriptInstrument.prototype.stopInstrumentation): |
| (WebInspector.ScriptInstrument): |
| Avoid sending start/stop tracking messages when programmatic. |
| This still allows the instruments to do their own frontend tracking, |
| such as the Heap agent triggering periodic snapshots. |
| |
| 2016-06-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Snapshots should be cleared at some point |
| https://bugs.webkit.org/show_bug.cgi?id=157907 |
| <rdar://problem/26373610> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Invalidate HeapSnapshotProxy objects when the page navigates. |
| This allows us to clear our frontend data for the snapshots. |
| When a snapshot is invalidated, it is disabled in the UI. |
| This means you cannot select the snapshot or see content |
| views for the snapshot. If you are in a snapshot when it is |
| invalidated, you are taken out to the snapshot list. |
| |
| * UserInterface/Main.html: |
| New files. |
| |
| * UserInterface/Proxies/HeapSnapshotProxy.js: |
| (WebInspector.HeapSnapshotProxy): |
| (WebInspector.HeapSnapshotProxy.invalidateSnapshotProxies): |
| (WebInspector.HeapSnapshotProxy.prototype.get invalid): |
| (WebInspector.HeapSnapshotProxy.prototype._invalidate): |
| Keep track of valid snapshots, and provide a static method to invalidate them. |
| |
| (WebInspector.HeapSnapshotProxy.prototype.updateForCollectionEvent): |
| (WebInspector.HeapSnapshotProxy.prototype.allocationBucketCounts): |
| (WebInspector.HeapSnapshotProxy.prototype.instancesWithClassName): |
| (WebInspector.HeapSnapshotProxy.prototype.update): |
| (WebInspector.HeapSnapshotProxy.prototype.nodeWithIdentifier): |
| UI should only act on valid snapshots. |
| |
| * UserInterface/Proxies/HeapSnapshotDiffProxy.js: |
| (WebInspector.HeapSnapshotDiffProxy.prototype.get invalid): |
| (WebInspector.HeapSnapshotDiffProxy.prototype.updateForCollectionEvent): |
| (WebInspector.HeapSnapshotDiffProxy.prototype.allocationBucketCounts): |
| (WebInspector.HeapSnapshotDiffProxy.prototype.instancesWithClassName): |
| (WebInspector.HeapSnapshotDiffProxy.prototype.update): |
| (WebInspector.HeapSnapshotDiffProxy.prototype.nodeWithIdentifier): |
| UI should only act on valid snapshots. |
| |
| * UserInterface/Proxies/HeapSnapshotWorkerProxy.js: |
| (WebInspector.HeapSnapshotWorkerProxy.prototype._mainResourceDidChange): |
| Invalidate and discard snapshots when the main frame navigates. |
| |
| (WebInspector.HeapSnapshotWorkerProxy.prototype._handleMessage): |
| (WebInspector.HeapSnapshotWorkerProxy): |
| * UserInterface/Workers/HeapSnapshot/HeapSnapshotWorker.js: |
| (HeapSnapshotWorker.prototype.clearSnapshots): |
| (HeapSnapshotWorker.prototype._handleMessage): |
| (HeapSnapshotWorker): |
| A message may come in for a snapshot before it has been cleared. |
| If that is the case, the object may not exist. Return an error so |
| that the callback can be deleted on the calling side. |
| |
| * UserInterface/Views/HeapAllocationsTimelineDataGridNodePathComponent.js: |
| (WebInspector.HeapAllocationsTimelineDataGridNodePathComponent.prototype.get previousSibling): |
| (WebInspector.HeapAllocationsTimelineDataGridNodePathComponent.prototype.get nextSibling): |
| (WebInspector.HeapAllocationsTimelineDataGridNodePathComponent): |
| Don't show invalid snapshots in page component picker. |
| |
| * UserInterface/Views/HeapAllocationsTimelineOverviewGraph.css: |
| (.timeline-overview-graph.heap-allocations > img.snapshot.invalid): |
| * UserInterface/Views/HeapAllocationsTimelineDataGridNode.js: |
| (WebInspector.HeapAllocationsTimelineDataGridNode): |
| (WebInspector.HeapAllocationsTimelineDataGridNode.prototype.createCellContent): |
| (WebInspector.HeapAllocationsTimelineDataGridNode.prototype.createCells): |
| (WebInspector.HeapAllocationsTimelineDataGridNode.prototype._heapSnapshotInvalidated): |
| Give invalid snapshots an invalidated appearance in the snapshot list. |
| |
| * UserInterface/Views/HeapAllocationsTimelineOverviewGraph.js: |
| (WebInspector.HeapAllocationsTimelineOverviewGraph.prototype.layout): |
| * UserInterface/Views/HeapAllocationsTimelineView.css: |
| (.timeline-view.heap-allocations > .data-grid tr.invalid): |
| (.timeline-view.heap-allocations > .data-grid:not(:focus, .force-focus) tr.selected.invalid): |
| Give invalid snapshots an invalidated appearance in the overview graph. |
| |
| * UserInterface/Views/HeapAllocationsTimelineView.js: |
| (WebInspector.HeapAllocationsTimelineView): |
| (WebInspector.HeapAllocationsTimelineView.prototype.get selectionPathComponents): |
| (WebInspector.HeapAllocationsTimelineView.prototype.closed): |
| (WebInspector.HeapAllocationsTimelineView.prototype._heapSnapshotCollectionEvent.updateHeapSnapshotForEvent): |
| (WebInspector.HeapAllocationsTimelineView.prototype._heapSnapshotCollectionEvent): |
| (WebInspector.HeapAllocationsTimelineView.prototype._heapSnapshotInvalidated): |
| (WebInspector.HeapAllocationsTimelineView.prototype._updateCompareHeapSnapshotButton): |
| (WebInspector.HeapAllocationsTimelineView.prototype._dataGridNodeSelected): |
| Handle interactions when snapshots in the list are invalidated. |
| |
| 2016-06-22 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: don't start auto capturing if the Inspector window is not visible |
| https://bugs.webkit.org/show_bug.cgi?id=159014 |
| |
| Reviewed by Joseph Pecoraro. |
| <rdar://problem/26931269> |
| |
| Followup, add a missing super.closed() call mentioned in review comments. |
| |
| * UserInterface/Views/TimelineTabContentView.js: |
| (WebInspector.TimelineTabContentView.prototype.closed): |
| |
| 2016-06-22 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: don't start auto capturing if the Inspector window is not visible |
| https://bugs.webkit.org/show_bug.cgi?id=159014 |
| <rdar://problem/26931269> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| TimelineTabContentView should not tell the timeline manager to enable |
| auto-capturing unless the Web Inspector UI is visible. If it is preloaded |
| but not shown to the user, then auto-capturing may inadvertently disable |
| the debugger, causing it to miss `debugger` statements and not bring the |
| inspector to front. |
| |
| * UserInterface/Controllers/TimelineManager.js: |
| (WebInspector.TimelineManager.prototype.set autoCaptureOnPageLoad): |
| Bail out if nothing changed. Coerce to a boolean since the backend requires a boolean. |
| |
| * UserInterface/Views/TimelineTabContentView.js: |
| (WebInspector.TimelineTabContentView): Listen for UI visibility changes. |
| (WebInspector.TimelineTabContentView.prototype.shown): |
| Enable auto-capturing if the UI is visible. |
| |
| (WebInspector.TimelineTabContentView.prototype.closed): Added. |
| Remove listeners on global objects so this tab doesn't leak. |
| |
| (WebInspector.TimelineTabContentView.prototype._inspectorVisibilityChanged): |
| Update the auto-capturing setting if the UI became visible or not visible. |
| |
| 2016-06-22 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Simplify CSS rule for ContentBrowser navigation bar items |
| https://bugs.webkit.org/show_bug.cgi?id=159000 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/ContentBrowser.css: |
| (.content-browser > .navigation-bar > .item): |
| Both these values result in 28px, but `100%` is simplier. |
| |
| 2016-06-21 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| REGRESSION(r201177): Web Inspector: ContentBrowser navigation bar should fit on a single line |
| https://bugs.webkit.org/show_bug.cgi?id=158700 |
| <rdar://problem/26772058> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/ContentBrowser.css: |
| (.content-browser > .navigation-bar > .item): |
| Set the height to 28px, as it was before r201177. |
| Make it one pixel shorter than the navigation bar for better vertical alignment. |
| |
| 2016-06-20 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: UncaughtExceptionReporter should handle null event.error |
| https://bugs.webkit.org/show_bug.cgi?id=158971 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Debug/UncaughtExceptionReporter.js: |
| Since `typeof null === "object"` handle uncaught exceptions where the |
| Error object itself is null. |
| |
| 2016-06-20 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Snapshot List should show the total size and the total live size |
| https://bugs.webkit.org/show_bug.cgi?id=157904 |
| <rdar://problem/26372833> |
| |
| Reviewed by Brian Burg. |
| |
| Include the live size of a snapshot in the snapshot list. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| New "Live Size" string. |
| |
| * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js: |
| (HeapSnapshot): |
| (HeapSnapshot.updateCategoriesAndMetadata): |
| (HeapSnapshot.prototype.update): |
| (HeapSnapshot.prototype.serialize): |
| (HeapSnapshotDiff): |
| (HeapSnapshotDiff.prototype.update): |
| (HeapSnapshot.buildCategories): Deleted. |
| (HeapSnapshot.prototype.updateCategories): Deleted. |
| (HeapSnapshotDiff.prototype.updateCategories): Deleted. |
| * UserInterface/Proxies/HeapSnapshotDiffProxy.js: |
| (WebInspector.HeapSnapshotDiffProxy.prototype.updateForCollectionEvent): |
| (WebInspector.HeapSnapshotDiffProxy.prototype.update): |
| (WebInspector.HeapSnapshotDiffProxy.prototype.updateCategories): Deleted. |
| * UserInterface/Proxies/HeapSnapshotProxy.js: |
| (WebInspector.HeapSnapshotProxy): |
| (WebInspector.HeapSnapshotProxy.deserialize): |
| (WebInspector.HeapSnapshotProxy.prototype.get liveSize): |
| (WebInspector.HeapSnapshotProxy.prototype.updateForCollectionEvent): |
| (WebInspector.HeapSnapshotProxy.prototype.update): |
| (WebInspector.HeapSnapshotProxy.prototype.updateCategories): Deleted. |
| Rename "updateCategories" to "update" and update both categories |
| and metadata, like the liveSize. |
| |
| * UserInterface/Views/HeapAllocationsTimelineDataGridNode.js: |
| (WebInspector.HeapAllocationsTimelineDataGridNode): |
| (WebInspector.HeapAllocationsTimelineDataGridNode.prototype.createCellContent): |
| (WebInspector.HeapAllocationsTimelineDataGridNode.prototype._heapSnapshotCollectedNodes): |
| Update live size after collection. |
| |
| * UserInterface/Views/HeapAllocationsTimelineView.js: |
| (WebInspector.HeapAllocationsTimelineView): |
| Include a live size column in the DataGrid. |
| (WebInspector.HeapAllocationsTimelineView.prototype.closed): |
| Cleanup listeners appropriately. |
| |
| 2016-06-20 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: console.profile should use the new Sampling Profiler |
| https://bugs.webkit.org/show_bug.cgi?id=153499 |
| <rdar://problem/24352431> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Controllers/TimelineManager.js: |
| (WebInspector.TimelineManager.prototype.programmaticCaptureStarted): |
| (WebInspector.TimelineManager.prototype.programmaticCaptureStopped): |
| (WebInspector.TimelineManager.prototype.scriptProfilerProgrammaticCaptureStarted): |
| (WebInspector.TimelineManager.prototype.scriptProfilerProgrammaticCaptureStopped): |
| For programmatic captures, automatically show the Script Timeline, since |
| that is guarenteed to have been started by the backend. Start capturing |
| without creating a new recording. |
| |
| * UserInterface/Models/TimelineRecording.js: |
| (WebInspector.TimelineRecording.prototype.stop): |
| (WebInspector.TimelineRecording.prototype.addScriptInstrumentForProgrammaticCapture): |
| When stopping for programmatic capture we don't need to disable |
| instruments, the backend would have already done this. |
| |
| * UserInterface/Protocol/ScriptProfilerObserver.js: |
| (WebInspector.ScriptProfilerObserver.prototype.programmaticCaptureStarted): |
| (WebInspector.ScriptProfilerObserver.prototype.programmaticCaptureStopped): |
| (WebInspector.ScriptProfilerObserver): |
| * UserInterface/Protocol/TimelineObserver.js: |
| (WebInspector.TimelineObserver.prototype.programmaticCaptureStarted): |
| (WebInspector.TimelineObserver.prototype.programmaticCaptureStopped): |
| (WebInspector.TimelineObserver): |
| Pass through Web and JSContext programmatic capture events. |
| |
| 2016-06-19 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Remove Sidebar z-index:0 workaround for scrollbars and position:sticky section headers |
| https://bugs.webkit.org/show_bug.cgi?id=158882 |
| |
| Reviewed by Darin Adler. |
| |
| The z-index:0 workaround is no longer needed as it doesn't change anything. |
| |
| * UserInterface/Views/Sidebar.css: |
| (.sidebar > .panel): Deleted. |
| |
| 2016-06-17 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r202152. |
| https://bugs.webkit.org/show_bug.cgi?id=158897 |
| |
| The new test is very unstable, timing out frequently |
| (Requested by ap on #webkit). |
| |
| Reverted changeset: |
| |
| "Web Inspector: console.profile should use the new Sampling |
| Profiler" |
| https://bugs.webkit.org/show_bug.cgi?id=153499 |
| http://trac.webkit.org/changeset/202152 |
| |
| 2016-06-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: console.profile should use the new Sampling Profiler |
| https://bugs.webkit.org/show_bug.cgi?id=153499 |
| <rdar://problem/24352431> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Controllers/TimelineManager.js: |
| (WebInspector.TimelineManager.prototype.programmaticCaptureStarted): |
| (WebInspector.TimelineManager.prototype.programmaticCaptureStopped): |
| (WebInspector.TimelineManager.prototype.scriptProfilerProgrammaticCaptureStarted): |
| (WebInspector.TimelineManager.prototype.scriptProfilerProgrammaticCaptureStopped): |
| For programmatic captures, automatically show the Script Timeline, since |
| that is guarenteed to have been started by the backend. Start capturing |
| without creating a new recording. |
| |
| * UserInterface/Models/TimelineRecording.js: |
| (WebInspector.TimelineRecording.prototype.stop): |
| (WebInspector.TimelineRecording.prototype.addScriptInstrumentForProgrammaticCapture): |
| When stopping for programmatic capture we don't need to disable |
| instruments, the backend would have already done this. |
| |
| * UserInterface/Protocol/ScriptProfilerObserver.js: |
| (WebInspector.ScriptProfilerObserver.prototype.programmaticCaptureStarted): |
| (WebInspector.ScriptProfilerObserver.prototype.programmaticCaptureStopped): |
| (WebInspector.ScriptProfilerObserver): |
| * UserInterface/Protocol/TimelineObserver.js: |
| (WebInspector.TimelineObserver.prototype.programmaticCaptureStarted): |
| (WebInspector.TimelineObserver.prototype.programmaticCaptureStopped): |
| (WebInspector.TimelineObserver): |
| Pass through Web and JSContext programmatic capture events. |
| |
| 2016-06-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| REGRESSION (r201538): Web Inspector: Border over Allocations Views is too thick |
| https://bugs.webkit.org/show_bug.cgi?id=158846 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/HeapAllocationsTimelineView.css: |
| (.timeline-view.heap-allocations > .content-view-container > .content-view): Deleted. |
| |
| 2016-06-16 Matt Baker <mattbaker@apple.com> |
| |
| Unreviewed build fix. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid.prototype.createSettings): |
| "showColumn" -> "setColumnVisible". |
| |
| 2016-06-16 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: DataGrid should manage its own settings |
| https://bugs.webkit.org/show_bug.cgi?id=158675 |
| <rdar://problem/26761338> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Move grid sorting settings (sort order, column identifier) into DataGrid, |
| removing duplicated code from various views. A new grid method, "createSettings", |
| takes an identifier which is used as a prefix for naming the grid's settings. |
| |
| So that the new behavior is easy to use and hard to misuse, default values |
| for each setting are set to the current value of the associated property. |
| The result is that: |
| |
| grid.sortColumnIdentifier = "columnA"; |
| grid.createSettings("myGrid"); |
| |
| will use "columnA" as the default value the first time the setting is created. |
| |
| * UserInterface/Views/ApplicationCacheFrameContentView.js: |
| (WebInspector.ApplicationCacheFrameContentView.prototype._createDataGrid): |
| * UserInterface/Views/CookieStorageContentView.js: |
| (WebInspector.CookieStorageContentView.prototype._rebuildTable): |
| * UserInterface/Views/DOMStorageContentView.js: |
| (WebInspector.DOMStorageContentView): |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid): |
| (WebInspector.DataGrid.prototype.createSettings): |
| (WebInspector.DataGrid.prototype.get identifier): Deleted. |
| (WebInspector.DataGrid.prototype.set identifier): Deleted. |
| (WebInspector.DataGrid.prototype.set sortOrderSetting): Deleted. |
| (WebInspector.DataGrid.prototype.set sortColumnIdentifierSetting): Deleted. |
| * UserInterface/Views/HeapAllocationsTimelineView.js: |
| (WebInspector.HeapAllocationsTimelineView): |
| * UserInterface/Views/HeapSnapshotContentView.js: |
| (WebInspector.HeapSnapshotContentView): |
| * UserInterface/Views/LayerTreeDetailsSidebarPanel.js: |
| (WebInspector.LayerTreeDetailsSidebarPanel.prototype._buildDataGridSection): |
| * UserInterface/Views/LayoutTimelineView.js: |
| (WebInspector.LayoutTimelineView): |
| * UserInterface/Views/NetworkGridContentView.js: |
| (WebInspector.NetworkGridContentView): |
| * UserInterface/Views/NetworkTimelineView.js: |
| (WebInspector.NetworkTimelineView): |
| * UserInterface/Views/ProfileView.js: |
| (WebInspector.ProfileView): |
| * UserInterface/Views/RenderingFrameTimelineView.js: |
| (WebInspector.RenderingFrameTimelineView): |
| * UserInterface/Views/ScriptDetailsTimelineView.js: |
| (WebInspector.ScriptDetailsTimelineView): |
| |
| 2016-06-15 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Uncaught Exception: TypeError: undefined is not an object (evaluating 'imageElement.classList') |
| https://bugs.webkit.org/show_bug.cgi?id=158808 |
| <rdar://problem/26821034> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/HeapAllocationsTimelineOverviewGraph.js: |
| (WebInspector.HeapAllocationsTimelineOverviewGraph.prototype._updateSnapshotMarkers): |
| If the record is out of the layout bounds of the overview graph, the overview graph |
| may not have created an image element yet, so bail. Later, when the image element |
| is created, it would get the appropriate style if the record is selected. |
| |
| 2016-06-14 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Rename DataGrid.showColumn to setColumnVisible |
| https://bugs.webkit.org/show_bug.cgi?id=158764 |
| <rdar://problem/26801448> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid): |
| Drive-by update to initialize "this._columnChooserEnabled". |
| |
| (WebInspector.DataGrid.prototype.set identifier): |
| (WebInspector.DataGrid.prototype.insertColumn): |
| (WebInspector.DataGrid.prototype._collapseColumnGroupWithCell): |
| Use new method name. |
| |
| (WebInspector.DataGrid.prototype._contextMenuInHeader): |
| Drive-by style update. |
| |
| 2016-06-14 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Storage tab should allow hiding columns in the cookies grid |
| https://bugs.webkit.org/show_bug.cgi?id=158767 |
| <rdar://problem/26803568> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/CookieStorageContentView.js: |
| (WebInspector.CookieStorageContentView.prototype._rebuildTable): |
| Enable column chooser, exclude Name and Value columns. |
| |
| 2016-06-14 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Visual Sidebar: Remove "Text -> Content" subsection |
| https://bugs.webkit.org/show_bug.cgi?id=158758 |
| <rdar://problem/26799628> |
| |
| Reviewed by Timothy Hatcher. |
| |
| "content" CSS property only works with pseudo elements ::before and ::after. |
| It doesn't do anything for regular (non pseudo) elements. Remove it to |
| reduce UI clutter. |
| |
| * UserInterface/Views/VisualStyleDetailsPanel.js: |
| (WebInspector.VisualStyleDetailsPanel.prototype.initialLayout): |
| (WebInspector.VisualStyleDetailsPanel.prototype._populateContentSection): Deleted. |
| * UserInterface/Views/VisualStylePropertyEditor.css: |
| (.visual-style-property-container > *:first-child:matches(.visual-style-property-value-container)): Deleted. |
| |
| 2016-06-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Rename Timeline.setAutoCaptureInstruments to Timeline.setInstruments |
| https://bugs.webkit.org/show_bug.cgi?id=158762 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Controllers/TimelineManager.js: |
| (WebInspector.TimelineManager.prototype._updateAutoCaptureInstruments): |
| (WebInspector.TimelineManager): |
| |
| 2016-06-14 Benjamin Poulain <bpoulain@apple.com> |
| |
| Add the unprefixed version of the pseudo element ::placeholder |
| https://bugs.webkit.org/show_bug.cgi?id=158653 |
| |
| Reviewed by Dean Jackson. |
| |
| * UserInterface/Views/FilterBar.css: |
| (.filter-bar > input[type="search"]::placeholder): |
| (.filter-bar > input[type="search"]::-webkit-input-placeholder): Deleted. |
| * UserInterface/Views/FindBanner.css: |
| (.find-banner.console-find-banner > input[type="search"]::placeholder): |
| (.find-banner.console-find-banner > input[type="search"]::-webkit-input-placeholder): Deleted. |
| * UserInterface/Views/GoToLineDialog.css: |
| (.go-to-line-dialog > div > input::placeholder): |
| (.go-to-line-dialog > div > input::-webkit-input-placeholder): Deleted. |
| * UserInterface/Views/OpenResourceDialog.css: |
| (.open-resource-dialog > .field > input::placeholder): |
| (.open-resource-dialog > .field > input::-webkit-input-placeholder): Deleted. |
| * UserInterface/Views/SearchBar.css: |
| (.search-bar > input[type="search"]::placeholder): |
| (.search-bar > input[type="search"]::-webkit-input-placeholder): Deleted. |
| * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css: |
| |
| 2016-06-14 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Introduce --navigation-bar-height CSS variable |
| https://bugs.webkit.org/show_bug.cgi?id=158752 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Abstract a commonly repeated height value (29px) into a variable. |
| |
| * UserInterface/Views/CSSStyleDetailsSidebarPanel.css: |
| (.sidebar > .panel.details.css-style > .content.has-filter-bar): |
| * UserInterface/Views/DebuggerSidebarPanel.css: |
| (.sidebar > .panel.navigation.debugger > :matches(.content, .empty-content-placeholder)): |
| * UserInterface/Views/FilterBar.css: |
| (.filter-bar): |
| * UserInterface/Views/NavigationBar.css: |
| (.navigation-bar): |
| * UserInterface/Views/NavigationSidebarPanel.css: |
| (.sidebar > .panel.navigation > .content): |
| (.sidebar > .panel.navigation > .overflow-shadow.top): |
| * UserInterface/Views/NetworkSidebarPanel.css: |
| (.sidebar > .panel.navigation.network > .title-bar): |
| * UserInterface/Views/ResourceSidebarPanel.css: |
| (.sidebar > .panel.navigation.resource > :matches(.content, .empty-content-placeholder)): |
| * UserInterface/Views/SearchSidebarPanel.css: |
| (.sidebar > .panel.navigation.search > :matches(.content, .empty-content-placeholder)): |
| (.sidebar > .panel.navigation.search > .search-bar): |
| * UserInterface/Views/Sidebar.css: |
| (.sidebar.has-navigation-bar > .panel): |
| * UserInterface/Views/StorageSidebarPanel.css: |
| (.sidebar > .panel.navigation.storage > :matches(.content, .empty-content-placeholder)): |
| * UserInterface/Views/TimelineRecordingContentView.css: |
| (.content-view.timeline-recording > .content-browser .recording-progress): |
| * UserInterface/Views/Variables.css: |
| (:root): |
| |
| 2016-06-14 Saam Barati <sbarati@apple.com> |
| |
| Follow up to: Web Inspector: Call Trees view should have a 'Top Functions'-like mode |
| https://bugs.webkit.org/show_bug.cgi?id=158555 |
| <rdar://problem/26712544> |
| |
| Unreviewed follow up patch. |
| |
| - Move a long if-else sequence to a switch statement. |
| - Fix a copy-paste typo in a Symbol(.) enum. |
| |
| * UserInterface/Models/CallingContextTree.js: |
| (WebInspector.CallingContextTree.prototype.updateTreeWithStackTrace): |
| |
| 2016-06-13 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Show Exception Stack in UncaughtExceptionReporter view |
| https://bugs.webkit.org/show_bug.cgi?id=158657 |
| <rdar://problem/26754441> |
| |
| Reviewed by Darin Adler. |
| |
| * UserInterface/Debug/UncaughtExceptionReporter.css: |
| (.uncaught-exception-sheet li): |
| Make newlines significant. |
| |
| * UserInterface/Debug/UncaughtExceptionReporter.js: |
| (unblockEventHandlers): |
| (handleError): |
| (handleLinkClick): |
| (formattedEntry): |
| Format the exception and a possible stack with a bit of sanitizing. |
| |
| 2016-06-13 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Filter Records not applying to new records |
| https://bugs.webkit.org/show_bug.cgi?id=158213 |
| <rdar://problem/26543912> |
| |
| Reviewed by Timothy Hatcher. |
| |
| This patch makes the following improvements to timeline grid filtering: |
| |
| - Records are filtered as they are added to the grid. |
| - Timeline view no longer triggers a filter refresh while the |
| current time changes while recording. |
| - Filters are refreshed whenever the current timeline view changes. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid.prototype.hasFilters): |
| Helper function to check for custom and text filters. |
| |
| (WebInspector.DataGrid.prototype._applyFiltersToNodeAndDispatchEvent): |
| Encapsulate node state change and event dispatch, which was previously |
| done in multiple places. |
| |
| (WebInspector.DataGrid.prototype.insertChild): |
| Filter incoming node if needed. |
| |
| (WebInspector.DataGrid.prototype._updateFilter.createIteratorForNodesToBeFiltered): |
| (WebInspector.DataGrid.prototype._updateFilter): |
| (WebInspector.DataGrid.prototype.yieldableTaskWillProcessItem): |
| Use new convenience functions. |
| |
| (WebInspector.DataGrid.prototype.hasCustomFilters): Deleted. |
| Renamed `hasFilters`. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange): |
| Refresh grid filters on view change. |
| |
| * UserInterface/Views/TimelineView.js: |
| (WebInspector.TimelineView.prototype.set startTime): |
| (WebInspector.TimelineView.prototype.set endTime): |
| Schedule filter change notification when selection bounds changes. |
| |
| (WebInspector.TimelineView.prototype._timesDidChange): |
| (WebInspector.TimelineView.prototype._scheduleFilterDidChange): |
| (WebInspector.TimelineView): |
| |
| 2016-06-13 Saam Barati <sbarati@apple.com> |
| |
| Web Inspector: Call Trees view should have a 'Top Functions'-like mode |
| https://bugs.webkit.org/show_bug.cgi?id=158555 |
| <rdar://problem/26712544> |
| |
| Reviewed by Timothy Hatcher. |
| |
| This patch adds a Top Functions view that is similar to Instruments' |
| Top Functions view. I really wanted to add this view because I've |
| been doing a lot of performance debugging and I've exclusively |
| used the Top Functions view and I want the Inspector to also have |
| this view. I like to think of it as a more sophisticated version of the bottom-up view. |
| |
| Top Functions works by treating every frame as a root in the tree. |
| Top functions view then presents a list of "roots". This is the same |
| as all other views, which also present a list of roots, but in this case, |
| every frame is a root. Bottom Up is great for nailing in specific performance |
| problems in exactly one frame. But Bottom Up doesn't give you good context about where |
| a specific frame is in the call tree and how frames are related by having |
| a caller or some path of shared callers. For example, consider this call tree: |
| (program) |
| / \ |
| / \ |
| (many nodes...) |
| / |
| / |
| (parent) |
| / \ |
| / \ |
| (leaf1) (leaf2) |
| |
| Suppose that 'leaf1' is super hot, and 'leaf2' is moderately hot. |
| If we look at this through Bottom Up view, we will see 'leaf1' |
| is super hot, but it will take more scrolling to see that 'leaf2' |
| is moderately hot. Lets say that 'parent' is also moderately hot, |
| but that the majority of its time isn't self time. With Bottom Up view, |
| there is no good way to see that 'leaf1' and 'leaf2' are both nodes under 'parent'. |
| With Top Down, you can find this information, but it requires a ton of drilling down into |
| the tree (i.e, you must expand past the 'many nodes...' I drew above). It's inconvenient to |
| use Top Down here for indentation alone. Bottom up will tell you that 'leaf1' is super hot, |
| and that 'leaf2' and 'parent' are moderately hot, but it doesn't show how they're related |
| in the original tree. It's important to see that 'parent's total time is very high |
| because it itself is moderately hot, and it has a child node that is super hot, and |
| another child that's moderately 'hot'. For the sake of this example, let's pretend |
| that 85% of the program's time is spent inside 'parent'. Seeing this information through |
| 'Top Functions' is easy because this information filters to the top of the list. Specifically, |
| when using 'Top Functions' sorted by Total Time. Because every node is a root, there will be |
| a top-level entry for every frame in the program. Specifically, there will be a top-level node |
| for 'parent' in my above example. Because I've sorted this view by Total Time, I will see '(program)' |
| first. That's because 100% of execution time is under the '(program)' frame. Then, I might see |
| a few other nodes that also run the entire time because '(program)' calls them, and they eventually |
| call into other things that never leave the stack. These will also have time ranges near 100%. |
| But, only a few nodes after that, I'll see 'parent' in the list because it accounts for 85% of |
| execution time. Immediately, I will see that it has some self time, and that it has two child |
| nodes that have self time. This is really helpful. |
| |
| Let's consider another example where it's not easy in Top Down to get the full picture of 'parent': |
| (program) |
| / | \ |
| (... many nodes...) |
| / \ |
| (many nodes...) (many nodes...) |
| / \ |
| parent parent |
| | | |
| leaf1 leaf2 |
| |
| |
| If we viewed this program in Top Down, we don't get a full picture of 'parent' |
| because it has its time distributed in two different subsections of the tree. |
| Specifically, lets say it has 70% of time in the leaf1 path, and 30% of the |
| time in the leaf2 path. We want a way to see these things together. It's impossible |
| to do this in Top Down or Bottom Up. But, in Top Functions view, we get the view that |
| we want to see because we treat 'parent' as a root of the tree. Because we do this, |
| we will create the following sub tree in the Top Functions view: |
| parent |
| / \ |
| leaf1 leaf2 |
| This happens naturally because when 'parent' is a root, we add all its children |
| to its subtree. |
| |
| Constructing this tree is really easy. What we do is take any arbitrary stack |
| trace of length n, and treat is as n separate stack traces. Specifically, we |
| perform the following operation for any stack trace S. |
| |
| S = [A, B, C, D] |
| (A is the entry frame, and D is the top of the stack). |
| We will transform this into a list of stack traces S' like so: |
| S' = [[A, B, C, D], [B, C, D], [C, D], [D]] |
| |
| If we then run the normal top down tree algorithm on this set of stack |
| traces, all nodes get treated as roots, and voila, we get the Top Functions view. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Controllers/TimelineManager.js: |
| * UserInterface/Main.html: |
| * UserInterface/Models/CallingContextTree.js: |
| * UserInterface/Models/TimelineRecording.js: |
| * UserInterface/Views/ScriptProfileTimelineView.js: |
| * UserInterface/Views/TextToggleButtonNavigationItem.css: Added. |
| * UserInterface/Views/TextToggleButtonNavigationItem.js: Added. |
| |
| 2016-06-13 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Add ability to show/hide DataGird columns |
| https://bugs.webkit.org/show_bug.cgi?id=158676 |
| <rdar://problem/26761573> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Make it possible to show/hide grid columns using the grid header |
| context menu. This patch enables the new behavior for most of the |
| timeline grids. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid): |
| (WebInspector.DataGrid.prototype.get identifier): |
| (WebInspector.DataGrid.prototype.set identifier): |
| An identifier for the grid instance, for managing per-grid settings. |
| Setting the id causes settings to be created, and their values to be |
| applied to the grid. |
| |
| (WebInspector.DataGrid.prototype.get columnChooserEnabled): |
| (WebInspector.DataGrid.prototype.set columnChooserEnabled): |
| Enable showing/hiding columns via the grid header. |
| |
| (WebInspector.DataGrid.prototype.insertColumn): |
| (WebInspector.DataGrid.prototype.showColumn): |
| Set column visibility and hidden column setting, then perform layout. |
| |
| (WebInspector.DataGrid.prototype._collapseColumnGroupWithCell): |
| (WebInspector.DataGrid.prototype._contextMenuInHeader): |
| Create column chooser menu items if necessary. |
| |
| (WebInspector.DataGrid.prototype._showColumn): Deleted. |
| (WebInspector.DataGrid.prototype._hideColumn): Deleted. |
| Replaced by `showColumn`. |
| |
| * UserInterface/Views/LayoutTimelineView.js: |
| (WebInspector.LayoutTimelineView): |
| Always show "type" and "name" columns. |
| |
| * UserInterface/Views/NetworkTimelineView.js: |
| (WebInspector.NetworkTimelineView): |
| * UserInterface/Views/RenderingFrameTimelineView.js: |
| (WebInspector.RenderingFrameTimelineView): |
| * UserInterface/Views/ScriptDetailsTimelineView.js: |
| (WebInspector.ScriptDetailsTimelineView): |
| Always show "name" column. |
| |
| * UserInterface/Views/TimelineDataGrid.js: |
| (WebInspector.TimelineDataGrid): |
| Enable column chooser. |
| |
| 2016-06-10 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: <template> content should not be hidden as Shadow Content |
| https://bugs.webkit.org/show_bug.cgi?id=158654 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| New "Template Content" string. |
| |
| * UserInterface/Models/DOMNode.js: |
| (WebInspector.DOMNode): |
| Don't treat template content as shadow content. |
| |
| * UserInterface/Views/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.prototype._nodeTitleInfo): |
| Custom string for template content fragment. |
| |
| 2016-06-10 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: heap snapshot comparison view shows nothing if later snapshot is chosen first |
| https://bugs.webkit.org/show_bug.cgi?id=158584 |
| <rdar://problem/26727849> |
| |
| Reviewed by Timothy Hatcher. |
| |
| ALways compare the the later snapshot to the earlier snapshot, |
| regardless of selection order. |
| |
| * UserInterface/Views/HeapAllocationsTimelineView.js: |
| (WebInspector.HeapAllocationsTimelineView): |
| (WebInspector.HeapAllocationsTimelineView.prototype._dataGridNodeSelected): |
| Swap shapshots if the first has a greater identifier than the second. |
| Drive-by cleanup: null out `_baselineDataGridNode` since it isn't used |
| after the comparison completes. |
| |
| 2016-06-10 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: rendering frames timeline "60fps" horizontal guide is mispositioned after switching timeline modes |
| https://bugs.webkit.org/show_bug.cgi?id=158587 |
| <rdar://problem/26728174> |
| |
| Reviewed by Timothy Hatcher. |
| |
| When the view mode changes we iterate over all overview graphs, updating |
| their visibility as needed. Graphs being shown perform layout, even though |
| the overview's state is in transition: its offset height may still change. |
| |
| A simple fix is to use TimelineOverviewGraph.height instead of the graph |
| element's offset height when performing layout. |
| |
| * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js: |
| (WebInspector.RenderingFrameTimelineOverviewGraph.prototype.layout): |
| |
| 2016-06-10 Matt Baker <mattbaker@apple.com> |
| |
| REGRESSION (r201538): Web Inspector: 1px gap above timeline progress view |
| https://bugs.webkit.org/show_bug.cgi?id=158626 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Adjust progress view top position to account for grid border changes. |
| |
| * UserInterface/Views/TimelineRecordingContentView.css: |
| (.content-view.timeline-recording > .content-browser .recording-progress): |
| |
| 2016-06-10 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: REGRESSION (r201538): Web Inspector: Border under JS Call Trees content view is too thick |
| https://bugs.webkit.org/show_bug.cgi?id=158624 |
| <rdar://problem/26743633> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Remove top border from <th> elements. |
| |
| * UserInterface/Views/ProfileView.css: |
| (.profile > .data-grid th): Deleted. |
| |
| 2016-06-09 Joseph Pecoraro <pecoraro@apple.com> |
| |
| REGRESSION: Web Inspector: IndexedDB does not show ObjectStore data |
| https://bugs.webkit.org/show_bug.cgi?id=158592 |
| <rdar://problem/26730696> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid.prototype._noteRowRemoved): |
| (WebInspector.DataGridNode.prototype._detach): |
| When rows are removed in the non-Virtual DataGrids, we should |
| actually remove the row. |
| |
| * UserInterface/Views/IndexedDatabaseObjectStoreContentView.js: |
| (WebInspector.IndexedDatabaseObjectStoreContentView): |
| (WebInspector.IndexedDatabaseObjectStoreContentView.prototype._fetchMoreData.processEntries): |
| (WebInspector.IndexedDatabaseObjectStoreContentView.prototype._fetchMoreData): |
| Don't use the delete operator. Use a boolean. |
| |
| 2016-06-09 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Support Command-P for quick open |
| https://bugs.webkit.org/show_bug.cgi?id=158579 |
| <rdar://problem/26726751> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.contentLoaded): |
| |
| 2016-06-09 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| REGRESSION (r194717): Web Inspector: Elements tab: an element loses focus when selected by Up/Down key |
| https://bugs.webkit.org/show_bug.cgi?id=157768 |
| <rdar://problem/26311155> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Remove _previousFocusedSection and _newInspectorRuleSelector since it was used only |
| to focus on a newly created section (added by clicking on "+" button). |
| |
| Introduce _inspectorSection and _isInspectorSectionPendingFocus. |
| |
| * UserInterface/Views/CSSStyleDeclarationSection.js: |
| (WebInspector.CSSStyleDeclarationSection.prototype.cssStyleDeclarationTextEditorBlurActiveEditor): Deleted. |
| (WebInspector.CSSStyleDeclarationSection.prototype._handleSelectorPaste): Deleted. |
| No longer needed, it was only used by _previousFocusedSection and _newInspectorRuleSelector. |
| |
| * UserInterface/Views/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.): Deleted. |
| No londer needed, it was only used by _previousFocusedSection. |
| |
| * UserInterface/Views/RulesStyleDetailsPanel.js: |
| (WebInspector.RulesStyleDetailsPanel): |
| (WebInspector.RulesStyleDetailsPanel.prototype.refresh.appendStyleSection): |
| (WebInspector.RulesStyleDetailsPanel.prototype.newRuleButtonClicked): |
| (WebInspector.RulesStyleDetailsPanel.prototype.nodeStylesRefreshed): |
| (WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionEditorFocused): Deleted. |
| (WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionBlurActiveEditor): Deleted. |
| (WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionFocusNewInspectorRuleWithSelector): Deleted. |
| |
| 2016-06-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| REGRESSION: Web Inspector: Should be able to evaluate "{a:1, b:2}" in the console |
| https://bugs.webkit.org/show_bug.cgi?id=158548 |
| <rdar://problem/26708513> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Controllers/RuntimeManager.js: |
| (WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow): |
| Switch the many parameters to an options dictionary. |
| Include a new option for sourceURL appender, so that |
| Console evaluations can have its own append. |
| |
| * UserInterface/Controllers/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted): |
| Use the appendWebInspectorConsoleEvaluationSourceURL appender. |
| |
| * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js: |
| (WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.evaluated): |
| * UserInterface/Views/ScopeChainDetailsSidebarPanel.js: |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateWatchExpressionsSection.): |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateWatchExpressionsSection): |
| Use the new options dictionary. |
| |
| 2016-06-08 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: an error is encountered when trying to delete nodes that have children |
| https://bugs.webkit.org/show_bug.cgi?id=158541 |
| <rdar://problem/26705901> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.prototype.adjustCollapsedRange): |
| Offset into the array variable instead of a variable holding its length. |
| |
| 2016-06-08 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: DOMTreeOutline selection areas should be created and updated lazily |
| https://bugs.webkit.org/show_bug.cgi?id=158513 |
| <rdar://problem/26689646> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Selection areas for DOMTreeElements are used for several things: drag markers, |
| element hover styles, element selection styles, and showing forced pseudo states |
| for an element. Fortunately it's easy to tell when any of these things is necessary. |
| |
| Change DOMTreeOutline and DOMTreeElement so they don't create selection areas |
| unless they are needed for one of these tasks. This significantly reduces |
| forced layouts that are required to update the selection area height in case the |
| element has new attributes that cause the tag to become more or less wrapped. |
| |
| * UserInterface/Views/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.prototype.set hovered): |
| Modernize this method a bit. |
| |
| (WebInspector.DOMTreeElement.prototype.updateSelectionArea): |
| If a selection area is not necessary, don't create one. |
| If one exists and it's not needed, then remove it. |
| |
| (WebInspector.DOMTreeElement.prototype.onattach): |
| Remove redundant calls to updateSelection(). This is already called in |
| updateTitle(). |
| |
| (WebInspector.DOMTreeElement.prototype.onselect): |
| Ask the DOMTreeOutline to update the selection rather than forcing the |
| element to do it. This is consistent with other updates to user selection. |
| |
| (WebInspector.DOMTreeElement.prototype._insertInLastAttributePosition): |
| (WebInspector.DOMTreeElement.prototype._startEditingAsHTML.dispose): |
| (WebInspector.DOMTreeElement.prototype._startEditingAsHTML): |
| Use renamed method. |
| |
| (WebInspector.DOMTreeElement.prototype.updateTitle): |
| Add a comment to explain why the selection area is nulled out here. |
| |
| (WebInspector.DOMTreeElement.prototype.get pseudoClassesEnabled): |
| (WebInspector.DOMTreeElement.prototype._nodePseudoClassesDidChange): |
| Update the selection area in case one does not exist for this tree element. |
| The indicator for forced pseudo classes is a pseudo element of the selection area. |
| |
| (WebInspector.DOMTreeElement.prototype.updateSelection): Renamed. |
| (WebInspector.DOMTreeElement.prototype.onexpand): |
| (WebInspector.DOMTreeElement.prototype.oncollapse): |
| Remove redundant calls to updateSelection(). This is already called in |
| updateTitle(). |
| |
| * UserInterface/Views/DOMTreeOutline.css: |
| (.tree-outline.dom): |
| (.tree-outline.dom li.hovered:not(.selected) .selection-area): |
| (.tree-outline.dom li .selection-area): |
| (.tree-outline.dom li.selected .selection-area): |
| (.tree-outline.dom li.elements-drag-over .selection-area): |
| (.tree-outline.dom:focus li.selected .selection-area): |
| (.tree-outline.dom li.pseudo-class-enabled > .selection-area::before): |
| (.tree-outline.dom:focus li.selected.pseudo-class-enabled > .selection-area::before): |
| (.tree-outline.dom li.hovered:not(.selected) .selection): Deleted. |
| (.tree-outline.dom li .selection): Deleted. |
| (.tree-outline.dom li.selected .selection): Deleted. |
| (.tree-outline.dom li.elements-drag-over .selection): Deleted. |
| (.tree-outline.dom:focus li.selected .selection): Deleted. |
| (.tree-outline.dom li.pseudo-class-enabled > .selection::before): Deleted. |
| (.tree-outline.dom:focus li.selected.pseudo-class-enabled > .selection::before): Deleted. |
| Rename the selector to be less ambiguous. |
| |
| * UserInterface/Views/DOMTreeOutline.js: |
| (WebInspector.DOMTreeOutline.prototype.updateSelection): Simplify. The call |
| to update the selection area will bail out if there is nothing to be done. |
| |
| (WebInspector.DOMTreeOutline.prototype.findTreeElement): |
| (WebInspector.DOMTreeOutline.prototype._onmousemove): |
| (WebInspector.DOMTreeOutline.prototype._onmouseout): |
| Clean up and use let and arrow functions. |
| |
| (WebInspector.DOMTreeOutline.prototype._ondragover): |
| (WebInspector.DOMTreeOutline.prototype._clearDragOverTreeElementMarker): |
| Clear the dragging element before updating the selection area since it looks at |
| the dragging element to determine whether anything needs to be done. |
| |
| * UserInterface/Views/FormattedValue.css: |
| (.formatted-node > .tree-outline.dom li.hovered:not(.selected) .selection-area): |
| (.formatted-node > .tree-outline.dom li.hovered:not(.selected) .selection): Deleted. |
| Rename the selector to be less ambiguous. |
| |
| 2016-06-08 Brian Burg <bburg@apple.com> |
| |
| Uncaught Exception in TimelineDataGrid._updatePopoverForSelectedNode() |
| https://bugs.webkit.org/show_bug.cgi?id=158502 |
| <rdar://problem/26687038> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/TimelineDataGrid.js: |
| (WebInspector.TimelineDataGrid.prototype._updatePopoverForSelectedNode): |
| It appears that this expression was moved around since it accesses |
| targetFrame before it's initialized. Check rect.size.height directly. |
| |
| 2016-06-08 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: reduce redundant attribute modification updates in DOMTreeUpdater and DOMTreeElement |
| https://bugs.webkit.org/show_bug.cgi?id=158504 |
| <rdar://problem/25561452> |
| |
| Reviewed by Timothy Hatcher. |
| |
| When the frontend gets lots of DOM.attributeModified events, it forwards these on to |
| DOMTreeUpdater, which pushes a record for every single modification. It then updates |
| the DOM elements with the attibute changes on an animation frame. However, since it |
| doesn't do any deduplication of the modification records, a lot of time is wasted |
| on updating DOMTreeElements with intermediate (non-final) attribute values. |
| |
| This patch rewrites DOMTreeUpdater to precisely track which nodes and attributes |
| of each node need to be updated on the next animation frame. This is done using |
| Sets and Maps that only hold onto the most recent attribute values rather than |
| pushing a record object for every single mutation. |
| |
| This improves the performance of the Elements tab on an SVG particle simulator |
| dramatically so that the Inspector will not immediately hang. It still only achieves |
| a few updates per second in this case, so there is still optimization to be done on |
| the frontend and throttling to be done on the backend. |
| |
| * UserInterface/Views/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement): |
| (WebInspector.DOMTreeElement.prototype.attributeDidChange): |
| (WebInspector.DOMTreeElement.prototype._buildAttributeDOM): |
| (WebInspector.DOMTreeElement.prototype._markNodeChanged): |
| (WebInspector.DOMTreeElement.prototype._nodeChangedAnimationEnd): |
| (WebInspector.DOMTreeElement.prototype._fireDidChange): |
| (WebInspector.DOMTreeElement.prototype.nodeStateChanged): Deleted. |
| Simplify the list of modified attributes a little bit. This still uses a worklist |
| approach, so it's possible that duplicate updates for the same attribute could accumulate |
| if DOMTreeUpdater pushes updates faster than DOMTreeElement can render them. |
| |
| * UserInterface/Views/DOMTreeUpdater.js: |
| (WebInspector.DOMTreeUpdater): |
| (WebInspector.DOMTreeUpdater.prototype._attributesUpdated): |
| (WebInspector.DOMTreeUpdater.prototype._characterDataModified): |
| (WebInspector.DOMTreeUpdater.prototype._nodeAttributeModified): |
| (WebInspector.DOMTreeUpdater.prototype._nodeInserted): |
| (WebInspector.DOMTreeUpdater.prototype._nodeRemoved): |
| (WebInspector.DOMTreeUpdater.prototype._childNodeCountUpdated): |
| (WebInspector.DOMTreeUpdater.prototype._updateModifiedNodes): |
| (WebInspector.DOMTreeUpdater.prototype._reset): |
| Rewrite this class to separately track insertions, deletions, and modifications. Use |
| Sets and Maps so redundant entries are not kept around. Split the main work loop |
| and use fewer enum-like properties to control how each DOM element change is handled. |
| |
| Attempt to update all inserted children before modifying their attributes. This |
| wasn't done previously, but enough duplicate attribute modifications occurred that |
| usually some of them would be processed after being added to the tree. There is only |
| one chance to do this now. |
| |
| 2016-06-08 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| REGRESSION (r158219): Web Inspector: Border under the default Timeline content view is too thick |
| https://bugs.webkit.org/show_bug.cgi?id=158533 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/OverviewTimelineView.css: |
| (.timeline-view.overview > .data-grid th): Deleted. |
| |
| 2016-06-08 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Command-W should not close Web Inspector tabs; it should close the window |
| https://bugs.webkit.org/show_bug.cgi?id=158538 |
| rdar://problem/26699215 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/TabBrowser.js: |
| (WebInspector.TabBrowser): Change shortcut to Command-Shift-W. |
| |
| 2016-06-07 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: reduce timer churn when processing many DOM.attributeModified messages |
| https://bugs.webkit.org/show_bug.cgi?id=158491 |
| <rdar://problem/25561452> |
| |
| Reviewed by Timothy Hatcher. |
| |
| When the backend sends thousands of DOM.attributeModified events to the frontend, it |
| slows to a crawl. This is partly because redundant messages are being sent, and |
| because the frontend is taking too long to render attribute updates in the elements tab. |
| |
| This patch is a first step to improve performance by reducing unnecessary work. It |
| coalesces all attribute state updates to only happen once per animation frame. This |
| reduces timer churn because we previously used a debouncing timer with interval of 0ms, |
| and that had to be cleared and restarted on every call. This change also eliminates |
| forced layouts when updating the selection highlights, since the DOM tree outline has |
| been reflowed by the time we start updating selections in a requestAnimationFrame callback. |
| |
| There is still a lot of optimization to be done here, but this reduces the problem |
| considerably by keeping the event loop clear and making it obvious which selection |
| update operations are still too expensive. |
| |
| * UserInterface/Base/Utilities.js: |
| Add a 'onNextFrame' proxy to Object. It works like debounce, except it coalesces calls |
| up until the next animation frame rather than a fixed timeout. It also does not extend |
| the timeout interval for each call. |
| |
| * UserInterface/Views/DOMTreeUpdater.js: |
| (WebInspector.DOMTreeUpdater.prototype._attributesUpdated): |
| (WebInspector.DOMTreeUpdater.prototype._characterDataModified): |
| (WebInspector.DOMTreeUpdater.prototype._nodeInserted): |
| (WebInspector.DOMTreeUpdater.prototype._nodeRemoved): |
| (WebInspector.DOMTreeUpdater.prototype._updateModifiedNodes): |
| Update on the next frame rather than on a zero delay timeout. |
| |
| * UserInterface/Views/TreeOutline.js: |
| (WebInspector.TreeOutline.WebInspector.TreeElement.prototype.didChange): |
| (WebInspector.TreeOutline.WebInspector.TreeElement.prototype._fireDidChange): |
| Update on the next frame rather than on a zero delay timeout. |
| |
| 2016-06-07 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| REGRESSION (r158219): Web Inspector: Border under Memory content view is too thick |
| https://bugs.webkit.org/show_bug.cgi?id=158495 |
| <rdar://problem/26683428> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/MemoryTimelineView.css: |
| (.timeline-view.memory): Deleted. |
| |
| 2016-06-07 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: add a keyboard shortcut to open the new tab tab |
| https://bugs.webkit.org/show_bug.cgi?id=158365 |
| <rdar://problem/26631897> |
| |
| Unreviewed, fix a typo introduced in r201692. |
| This caused the new tab button to stop working. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector._updateNewTabButtonState): |
| |
| 2016-06-05 Matt Baker <mattbaker@apple.com> |
| |
| REGRESSION (r201686): Web Inspector: Fix typo causing an internal error |
| https://bugs.webkit.org/show_bug.cgi?id=158392 |
| <rdar://problem/26640467> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/HeapAllocationsTimelineOverviewGraph.js: |
| Fixed typo. |
| |
| 2016-06-04 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: add a keyboard shortcut to open the new tab tab |
| https://bugs.webkit.org/show_bug.cgi?id=158365 |
| <rdar://problem/26631897> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Make Cmd-t show the new tab tab if it's not already open and |
| there is at least one tab type that's not currently in the tab bar. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.contentLoaded): |
| (WebInspector._updateNewTabButtonState): |
| (WebInspector.showNewTabTab): |
| (WebInspector.isNewTabWithTypeAllowed): |
| Clean up the code that decides whether we can show the new tab tab. |
| It is now a special case inside WebInspector.isNewTabWithTypeAllowed. |
| |
| * UserInterface/Views/NewTabContentView.js: |
| (WebInspector.NewTabContentView.prototype._updateShownTabs): |
| Use Array.from. |
| |
| 2016-06-04 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: discontinuous recordings should have discontinuities in the timeline memory graph |
| https://bugs.webkit.org/show_bug.cgi?id=158052 |
| <rdar://problem/26516695> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Add gaps to the overview and category line charts where discontinuities |
| exist in the timeline recording. |
| |
| * UserInterface/Models/Timeline.js: |
| (WebInspector.Timeline.prototype.recordsInTimeRange): |
| Replaces `_visibleRecords` methods found in various views. |
| |
| * UserInterface/Models/TimelineRecording.js: |
| (WebInspector.TimelineRecording.prototype.reset): |
| (WebInspector.TimelineRecording.prototype.addDiscontinuity): |
| (WebInspector.TimelineRecording.prototype.discontinuitiesInTimeRange): |
| Allow discontinuities to be added to the recording, and have a means to |
| look up gaps within a time range. |
| |
| * UserInterface/Views/HeapAllocationsTimelineOverviewGraph.js: |
| (WebInspector.HeapAllocationsTimelineOverviewGraph.prototype._visibleRecords): Deleted. |
| Replaced by Timeline helper method. |
| |
| * UserInterface/Views/MemoryTimelineOverviewGraph.js: |
| (WebInspector.MemoryTimelineOverviewGraph.prototype.layout.insertDiscontinuity): |
| (WebInspector.MemoryTimelineOverviewGraph.prototype.layout): |
| Insert zero-points into the chart at discontinuity boundaries to create |
| gaps. Data points for records immediately before or after a gap are extended |
| to the edge of the discontinuity. |
| |
| (WebInspector.MemoryTimelineOverviewGraph.prototype._visibleRecords): Deleted. |
| Replaced by Timeline helper method. |
| |
| * UserInterface/Views/MemoryTimelineView.js: |
| (WebInspector.MemoryTimelineView.prototype.layout): |
| Insert zero-points into each category chart at discontinuity boundaries |
| to create gaps. |
| |
| Insert zero-points into the chart to create gaps. |
| (WebInspector.MemoryTimelineView.prototype._visibleRecords): Deleted. |
| Replaced by Timeline helper method. |
| |
| * UserInterface/Views/TimelineOverview.js: |
| (WebInspector.TimelineOverview.prototype.discontinuitiesInTimeRange): |
| Forward to the TimelineRecording, which isn't exposed to clients. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView): |
| (WebInspector.TimelineRecordingContentView.prototype._capturingStarted): |
| (WebInspector.TimelineRecordingContentView.prototype._capturingStopped): |
| (WebInspector.TimelineRecordingContentView.prototype._recordingReset): |
| Track discontinuities (recording stop followed by a start) and add them |
| to the current recording. |
| |
| 2016-06-03 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: add a keyboard shortcut to close the current tab bar item |
| https://bugs.webkit.org/show_bug.cgi?id=158363 |
| <rdar://problem/22677254> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Make Cmd-w close the current tab. This matches Safari's keyboard shortcut. |
| |
| * UserInterface/Views/TabBrowser.js: |
| (WebInspector.TabBrowser): |
| Don't do anything if the New Tab tab is the only tab bar item besides the |
| pinned "new tab" button. |
| |
| 2016-06-03 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: setter for debugging flag InspectorBackend.dumpInspectorTimeStats does not work |
| https://bugs.webkit.org/show_bug.cgi?id=158366 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Protocol/InspectorBackend.js: |
| (InspectorBackendClass.prototype.set dumpInspectorTimeStats): |
| Actually update the backing member when the setter is called. |
| |
| 2016-06-03 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Remove unused WebInspector.CSSCompletions methods |
| https://bugs.webkit.org/show_bug.cgi?id=158352 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Models/CSSCompletions.js: |
| (WebInspector.CSSCompletions.prototype.firstStartsWith): Deleted. |
| (WebInspector.CSSCompletions.prototype.isLonghandPropertyName): Deleted. |
| (WebInspector.CSSCompletions.prototype.longhandsForShorthand): Deleted. |
| |
| 2016-06-03 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Update NativeFunctionParameters (FontFaceSet, HTMLSlotElement, EventTarget) |
| https://bugs.webkit.org/show_bug.cgi?id=158333 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Models/NativeFunctionParameters.js: |
| Replace FontLoader with FontFaceSet. Add HTMLSlotElement API. |
| EventTarget is now actually in the prototype chain, so add it as |
| a first class citizen and keep mixing it in for legacy backends. |
| |
| 2016-06-02 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Modernize Array.prototype.every/some callsites to arrow functions |
| https://bugs.webkit.org/show_bug.cgi?id=158330 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Controllers/DOMTreeManager.js: |
| (WebInspector.DOMTreeManager.prototype._updateContentFlowFromPayload): |
| * UserInterface/Models/ProfileNode.js: |
| (WebInspector.ProfileNode): |
| * UserInterface/Models/ScopeChainNode.js: |
| (WebInspector.ScopeChainNode): |
| * UserInterface/Models/StackTrace.js: |
| (WebInspector.StackTrace): |
| * UserInterface/Models/StructureDescription.js: |
| (WebInspector.StructureDescription): |
| * UserInterface/Models/TypeDescription.js: |
| (WebInspector.TypeDescription): |
| * UserInterface/Protocol/InspectorBackend.js: |
| (InspectorBackend.Command.prototype.supports): |
| * UserInterface/Views/ContentViewContainer.js: |
| (WebInspector.ContentViewContainer.prototype.showContentView): |
| * UserInterface/Views/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie.treeElementMatchesCookie): |
| (WebInspector.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie): |
| * UserInterface/Views/ScopeBar.js: |
| (WebInspector.ScopeBar.prototype.get selectedItems): |
| (WebInspector.ScopeBar.prototype.hasNonDefaultItemSelected): |
| * UserInterface/Views/TabContentView.js: |
| (WebInspector.TabContentView): |
| (WebInspector.TabContentView.console.assert): Deleted. |
| |
| 2016-06-02 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Modernize some function expressions that bind(this) to arrow functions |
| https://bugs.webkit.org/show_bug.cgi?id=158315 |
| |
| Reviewed by Brian Burg. |
| |
| Convert a common "function(x) { ... }.bind(this)" pattern to use arrow |
| functions "(x) => { ... }", which lexically binds `this`, slightly faster, |
| and uses less memory. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector._updateNewTabButtonState): |
| * UserInterface/Controllers/BreakpointPopoverController.js: |
| (WebInspector.BreakpointPopoverController.prototype._createPopoverContent): |
| * UserInterface/Controllers/TypeTokenAnnotator.js: |
| (WebInspector.TypeTokenAnnotator.prototype.insertAnnotations): |
| (WebInspector.TypeTokenAnnotator.prototype.insertAnnotations.): Deleted. |
| * UserInterface/Models/RenderingFrameTimelineRecord.js: |
| (WebInspector.RenderingFrameTimelineRecord.prototype._calculateDurationRemainder): |
| (WebInspector.RenderingFrameTimelineRecord): |
| * UserInterface/Models/Resource.js: |
| (WebInspector.Resource.prototype.requestContent): |
| * UserInterface/Models/Script.js: |
| (WebInspector.Script.prototype.requestScriptSyntaxTree): |
| (WebInspector.Script.prototype.requestScriptSyntaxTree.makeSyntaxTreeAndCallCallback): Deleted. |
| * UserInterface/Models/SourceCodeLocation.js: |
| (WebInspector.SourceCodeLocation.prototype.populateLiveDisplayLocationString): |
| * UserInterface/Models/WrappedPromise.js: |
| (WebInspector.WrappedPromise): |
| * UserInterface/Views/BreakpointActionView.js: |
| (WebInspector.BreakpointActionView.prototype._updateBody): |
| * UserInterface/Views/BreakpointTreeElement.js: |
| (WebInspector.BreakpointTreeElement.prototype._dataUpdated): |
| * UserInterface/Views/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers.update): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers): |
| * UserInterface/Views/DefaultDashboardView.js: |
| (WebInspector.DefaultDashboardView.prototype._appendElementForNamedItem.set item): |
| (WebInspector.DefaultDashboardView.prototype._appendElementForNamedItem): |
| * UserInterface/Views/ErrorObjectView.js: |
| (WebInspector.ErrorObjectView.prototype.update): |
| * UserInterface/Views/GeneralTreeElement.js: |
| (WebInspector.GeneralTreeElement.prototype.onattach): |
| (WebInspector.GeneralTreeElement.prototype.onattach.this._boundContextMenuEventHandler): Deleted. |
| * UserInterface/Views/InlineSwatch.js: |
| (WebInspector.InlineSwatch.prototype._getNextValidHEXFormat): |
| (WebInspector.InlineSwatch): |
| * UserInterface/Views/LayerTreeDetailsSidebarPanel.js: |
| (WebInspector.LayerTreeDetailsSidebarPanel.prototype.refresh): |
| (WebInspector.LayerTreeDetailsSidebarPanel.prototype._showPopoverForSelectedNode): |
| (WebInspector.LayerTreeDetailsSidebarPanel.prototype._contentForPopover): |
| * UserInterface/Views/LogContentView.js: |
| (WebInspector.LogContentView.prototype._mouseup): |
| * UserInterface/Views/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie): |
| * UserInterface/Views/ObjectTreeBaseTreeElement.js: |
| (WebInspector.ObjectTreeBaseTreeElement.prototype.createGetterElement): |
| (WebInspector.ObjectTreeBaseTreeElement.prototype.createGetterElement.): Deleted. |
| * UserInterface/Views/ObjectTreePropertyTreeElement.js: |
| (WebInspector.ObjectTreePropertyTreeElement.prototype._updateEntries): |
| * UserInterface/Views/ObjectTreeView.js: |
| (WebInspector.ObjectTreeView.prototype._updateEntries): |
| * UserInterface/Views/ResourceDetailsSidebarPanel.js: |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshImageSizeSection): |
| * UserInterface/Views/ScopeChainDetailsSidebarPanel.js: |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpressionButtonClicked): |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype._objectTreeElementAddContextMenuItems): |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpressionButtonClicked.this._codeMirror.addKeyMap): Deleted. |
| * UserInterface/Views/TabBar.js: |
| * UserInterface/Views/VisualStylePropertyEditor.js: |
| (WebInspector.VisualStylePropertyEditor.prototype._checkDependencies): |
| |
| 2016-05-31 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Storage DataGrids have a half-pixel transparent/white border below the header |
| https://bugs.webkit.org/show_bug.cgi?id=156699 |
| <rdar://problem/25778260> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Increase the width of the border below the DataGrid's header to match the border in the left sidebar. |
| |
| * UserInterface/Views/DataGrid.css: |
| (.data-grid > .header-wrapper): |
| |
| 2016-05-31 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Snapshot List scroll bar occludes border of containing view in top-right |
| https://bugs.webkit.org/show_bug.cgi?id=158219 |
| <rdar://problem/26545018> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/TimelineDataGrid.css: |
| (.data-grid.timeline th): Deleted. |
| * UserInterface/Views/TimelineRecordingContentView.css: |
| (.content-view.timeline-recording > .content-browser > .navigation-bar): |
| Make the border line span across the whole navigation bar, not just its table cells. |
| |
| 2016-05-30 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: Timelines: "-0.000ms" in Self Time |
| https://bugs.webkit.org/show_bug.cgi?id=158162 |
| <rdar://problem/26523350> |
| |
| Reviewed by Darin Adler. |
| |
| Values such as -0.0000 and +0.00001 seem to indicate there is |
| some floating point error accumulating in profile node data. |
| Since the sampling profiler isn't accurate to that precision, |
| let's clean up the data so near-zero numbers are simply zero. |
| |
| * UserInterface/Models/ProfileNode.js: |
| Round selfTime down to zero if it's less than the |
| smallest value we would show in the user interface. |
| |
| 2016-05-30 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: Uncaught exception page should pre-populate the bug's URL with the inspected page URL |
| https://bugs.webkit.org/show_bug.cgi?id=158055 |
| <rdar://problem/26516693> |
| |
| Reviewed by Saam Barati. |
| |
| * UserInterface/Debug/UncaughtExceptionReporter.js: |
| Include the encoded URL in the query string if it is not empty. |
| |
| 2016-05-30 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Right-clicking in Snapshot's DataGrid throws an exception |
| https://bugs.webkit.org/show_bug.cgi?id=157934 |
| <rdar://problem/26380910> |
| |
| Reviewed by Brian Burg. |
| |
| Check that click event target is actually a cell, as it can be a row |
| when focusing the table after dismissing a popup menu. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGridNode.prototype.isEventWithinDisclosureTriangle): |
| |
| 2016-05-27 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Not all transitively dominated nodes display their retained size |
| https://bugs.webkit.org/show_bug.cgi?id=158174 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/HeapSnapshotInstanceDataGridNode.js: |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._isDominatedByNonBaseParent): |
| Use the parent reference changing in the loop instead of always using the same parent. |
| |
| 2016-05-27 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Add indicators to show nesting levels inside DOM Tree |
| https://bugs.webkit.org/show_bug.cgi?id=157468 |
| <rdar://problem/26162640> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Add CSS rules to give all expanded node children lists a small line on the |
| left border indicating that all items under the line are descendants. |
| |
| * UserInterface/Views/DOMTreeOutline.css: |
| (.tree-outline.dom li .selection): |
| (.tree-outline.dom li > span): |
| (.tree-outline.dom ol): |
| (.tree-outline.dom .tree-outline.dom li:matches(.hovered, .selected) + ol.children.expanded): |
| (.tree-outline.dom li.selected + ol.children.expanded): |
| (.tree-outline.dom li.parent::before): |
| |
| 2016-05-26 Matt Baker <mattbaker@apple.com> |
| |
| Uncaught Exception: TypeError: undefined is not an object (evaluating 'records[endIndex].endTime') |
| https://bugs.webkit.org/show_bug.cgi?id=158057 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView.prototype._updateTimelineViewTimes): |
| When the entire recording is selected, rendering frames should use the |
| record count as its end time instead of the recording's end time. |
| |
| 2016-05-25 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Uncaught Exception: TypeError: undefined is not an object (evaluating 'collectionData.affectedSnapshots') |
| https://bugs.webkit.org/show_bug.cgi?id=158051 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js: |
| (HeapSnapshot.prototype.updateDeadNodesAndGatherCollectionData): |
| * UserInterface/Workers/HeapSnapshot/HeapSnapshotWorker.js: |
| (HeapSnapshotWorker.prototype.createSnapshot): |
| If by the time the timeout fires we had cleared our snapshot list, then |
| updateDeadNodesAndGatherCollectionData could bail. Handle gracefully. |
| |
| 2016-05-23 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Split console navigation bar doesn't wrap as expected |
| https://bugs.webkit.org/show_bug.cgi?id=157950 |
| <rdar://problem/26395573> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/Main.css: |
| (#split-content-browser > .navigation-bar .item): |
| Fix the split console and don't touch any other navigation bars. |
| |
| 2016-05-22 Brady Eidson <beidson@apple.com> |
| |
| Move to C++14. |
| https://bugs.webkit.org/show_bug.cgi?id=157948 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * Configurations/Base.xcconfig: |
| |
| 2016-05-21 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Creating the CSSStyleDetailsSidebarPanel takes about 50ms (20%) of main load |
| https://bugs.webkit.org/show_bug.cgi?id=156707 |
| <rdar://problem/25780404> |
| |
| Reviewed by Timothy Hatcher. |
| |
| This patch adds new View concepts, `initialLayout` and `widthDidChange`, |
| making it possible for hidden views to postpone the creation of their |
| UI subtree until they are shown for the first time. |
| |
| Sidebar panels get this performance improvement by virtue of SidebarPanel |
| and StyleDetailsPanel, which trigger a layout when shown. This can be |
| removed once <https://webkit.org/b/150741> is fixed, and this is done |
| automatically by View. |
| |
| * UserInterface/Views/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor): |
| Should subclass View. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.layout): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.get element): Deleted. |
| Handled in View base class. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.updateLayout): Deleted. |
| Relocate to `layout` override, ignore unused parameter `force`. |
| |
| * UserInterface/Views/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel): |
| Create the minimum required initial state and UI elements. Relocate |
| anything that can be lazy loaded to `initialLayout`. |
| |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.initialLayout): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.sizeDidChange): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.widthDidChange): Deleted. |
| |
| * UserInterface/Views/ComputedStyleDetailsPanel.js: |
| (WebInspector.ComputedStyleDetailsPanel): |
| Relocate anything that can be lazy loaded to `initialLayout`. |
| (WebInspector.ComputedStyleDetailsPanel.prototype.initialLayout): |
| (WebInspector.ComputedStyleDetailsPanel.prototype.shown): Deleted. |
| (WebInspector.ComputedStyleDetailsPanel.prototype.widthDidChange): Deleted. |
| Handled in View base class. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid.prototype.layout): |
| Resize logic can be safely moved to `sizeDidChange`, since columns are |
| always initialized when the width changes. |
| (WebInspector.DataGrid.prototype.sizeDidChange): |
| Reposition headers, scrollbars. |
| (WebInspector.DataGrid.prototype._updateHeaderAndScrollbar): |
| Broke out header repositioning, which needs to be called whenever |
| column widths are initialized or the view size changes. |
| |
| * UserInterface/Views/NavigationBar.js: |
| (WebInspector.NavigationBar.prototype.layout): |
| |
| * UserInterface/Views/RulesStyleDetailsPanel.js: |
| (WebInspector.RulesStyleDetailsPanel.prototype.sizeDidChange): |
| (WebInspector.RulesStyleDetailsPanel.prototype.widthDidChange): Deleted. |
| |
| * UserInterface/Views/Sidebar.js: |
| (WebInspector.Sidebar.prototype._recalculateWidth): |
| Width changes need to be coordinated by the View base class, since the |
| initial layout must have occurred before handling a width change. |
| Force a layout with a resize layout reason. |
| |
| * UserInterface/Views/SidebarPanel.js: |
| (WebInspector.SidebarPanel.prototype.get displayName): |
| Drive-by style fix: add getter so that CSSStyleDetailsSidebarPanel |
| doesn't have to read the private property directly. |
| |
| (WebInspector.SidebarPanel.prototype.shown): |
| Force a layout whenever the panel is shown. |
| (WebInspector.SidebarPanel.prototype.sizeDidChange): |
| (WebInspector.SidebarPanel): |
| (WebInspector.SidebarPanel.prototype.widthDidChange): Deleted. |
| |
| * UserInterface/Views/StyleDetailsPanel.js: |
| (WebInspector.StyleDetailsPanel.prototype.shown): |
| Schedule a layout when shown. A forced layout isn't necessary. |
| Unlike SidebarPanels, the initial state of style panels doesn't depend |
| on its layout, and can be safely initialized by the next rAF. |
| |
| (WebInspector.StyleDetailsPanel.prototype.hidden): |
| Cancel a pending layout if the panel is hidden before the next AF. |
| (WebInspector.StyleDetailsPanel.prototype.widthDidChange): Deleted. |
| Not needed, defined in View base class. |
| |
| * UserInterface/Views/TimelineOverview.js: |
| (WebInspector.TimelineOverview.prototype.sizeDidChange): |
| (WebInspector.TimelineOverview.prototype.layout): |
| Moved resize logic to `sizeDidChange`. |
| |
| * UserInterface/Views/TimelineRuler.js: |
| (WebInspector.TimelineRuler.prototype.sizeDidChange): |
| (WebInspector.TimelineRuler.prototype.layout): |
| Moved resize logic to `sizeDidChange`. |
| |
| * UserInterface/Views/View.js: |
| (WebInspector.View): |
| (WebInspector.View.prototype.updateLayout): |
| (WebInspector.View.prototype.cancelLayout): |
| Allow a pending layout to be canceled. Useful when a view with a |
| pending layout is hidden before the layout occurs. |
| |
| (WebInspector.View.prototype.get layoutReason): |
| Protected getter for subclasses that need to check the layout reason |
| outside `sizeDidChange`. |
| |
| (WebInspector.View.prototype.initialLayout): |
| Subclass hook to create UI subtree the first time a layout occurs. |
| Called only once during the lifetime of the View. |
| |
| (WebInspector.View.prototype.layout): |
| Drive-by comment fix. |
| (WebInspector.View.prototype.sizeDidChange): |
| New layout cycle hook for subclasses. |
| (WebInspector.View.prototype._layoutSubtree): |
| Do an initial layout the first time layout is called. |
| Call the `sizeDidChange` hook so that subclasses can update state |
| which depends on size/position before doing layout. |
| |
| * UserInterface/Views/VisualStyleDetailsPanel.js: |
| (WebInspector.VisualStyleDetailsPanel): |
| Create the minimum required initial state and UI elements. Relocate |
| anything that can be lazy loaded to `initialLayout`. |
| |
| (WebInspector.VisualStyleDetailsPanel.prototype.refresh): |
| No changes, shifting line numbers confused the diff. |
| (WebInspector.VisualStyleDetailsPanel.prototype.initialLayout): |
| (WebInspector.VisualStyleDetailsPanel.prototype.sizeDidChange): |
| (WebInspector.VisualStyleDetailsPanel.prototype.widthDidChange): Deleted. |
| |
| 2016-05-21 Matt Baker <mattbaker@apple.com> |
| |
| Assertion Failed: StyleDetailsPanel.markAsNeedsRefresh() called with null domNode |
| https://bugs.webkit.org/show_bug.cgi?id=157955 |
| <rdar://problem/26398943> |
| |
| Reviewed by Timothy Hatcher. |
| |
| CSSStyleDetailsSidebarPanel `visible` is true while the panel is being |
| removed from the details sidebar, even after calling `hidden()`. This |
| causes it to refresh its current StyleDetailsPanel with a null DOM node. |
| |
| Unfortunately, SidebarPanel.visible isn't toggled by calling shown/hidden. |
| Since SidebarPanel.visible is only true if the panel is selected, we should |
| deselect panels before removing them. |
| |
| * UserInterface/Views/Sidebar.js: |
| (WebInspector.Sidebar.prototype.removeSidebarPanel): |
| Deselect the panel being removed before calling visibiltyDidChange. |
| |
| * UserInterface/Views/SidebarPanel.js: |
| (WebInspector.SidebarPanel.prototype.toggle): Deleted. |
| (WebInspector.SidebarPanel.prototype.willRemove): Deleted. |
| Drive-by update to remove some unused methods. |
| |
| 2016-05-20 Joseph Pecoraro <pecoraro@apple.com> |
| |
| REGRESSION(r200740): Web Inspector: TimelineRecordBar class lists not properly cleared, bleeding colors when zooming in and out |
| https://bugs.webkit.org/show_bug.cgi?id=157959 |
| <rdar://problem/26393067> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/TimelineRecordBar.js: |
| (WebInspector.TimelineRecordBar.prototype.set records): |
| When records are cleared, clear all classes. |
| |
| 2016-05-20 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Split Console is auto opening all the time when using Inspect Element context menu |
| https://bugs.webkit.org/show_bug.cgi?id=157910 |
| <rdar://problem/26374066> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Currently, "synthetic" property is only used to decide whether adding a console message should |
| open the console or not. Replace it with "shouldRevealConsole". |
| |
| * UserInterface/Controllers/DOMTreeManager.js: |
| (WebInspector.DOMTreeManager.prototype.inspectNodeObject.nodeAvailable): |
| (WebInspector.DOMTreeManager.prototype.inspectNodeObject): |
| * UserInterface/Controllers/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController.prototype.appendImmediateExecutionWithResult.saveResultCallback): |
| (WebInspector.JavaScriptLogViewController.prototype.appendImmediateExecutionWithResult): |
| (WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted.printResult): |
| (WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted): |
| (WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessageView): |
| * UserInterface/Models/ConsoleCommandResultMessage.js: |
| (WebInspector.ConsoleCommandResultMessage): |
| (WebInspector.ConsoleCommandResultMessage.prototype.get shouldRevealConsole): |
| (WebInspector.ConsoleCommandResultMessage.prototype.get synthetic): Deleted. |
| * UserInterface/Views/HeapSnapshotInstanceDataGridNode.js: |
| (WebInspector.HeapSnapshotInstanceDataGridNode.logHeapSnapshotNode.node.shortestGCRootPath.): |
| (WebInspector.HeapSnapshotInstanceDataGridNode.logHeapSnapshotNode): |
| |
| 2016-05-19 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Can't resume Debugger after breaking on exception in Promise |
| https://bugs.webkit.org/show_bug.cgi?id=157240 |
| <rdar://problem/26030890> |
| |
| Reviewed by Timothy Hatcher. |
| |
| If we pause but have no source code to show we paused in purely internal |
| code. In such cases we were attempting to resume without actually |
| telling the backend to resume, so the backend and frontend were out of |
| sync. The frontend thinking it is "paused" without an activeCallFrame |
| and the backend actually being paused. |
| |
| This change more gracefully handles this situation. It actually resumes |
| both the frontend and the backend. |
| |
| * UserInterface/Controllers/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype.debuggerDidPause): |
| Resume the backend and the frontend. |
| |
| (WebInspector.DebuggerManager.prototype._didResumeInternal): |
| Don't look at the active call frame, look at the paused state. |
| This may issue a Resumed event without actually triggering a |
| Paused event if this was the only pause, but that is harmless. |
| |
| 2016-05-19 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Main Resource with <scripts> not showing up in debugger sidebar after reload |
| https://bugs.webkit.org/show_bug.cgi?id=157939 |
| <rdar://problem/26385691> |
| |
| Reviewed by Timothy Hatcher. |
| |
| The order of events on a reload are: |
| |
| - MainResourceChanged, add main resource |
| - ScriptsCleared, remove all elements |
| |
| This change makes it so ScriptsCleared add the main resource (and |
| potentially other resources). This also avoids the work in |
| MainResourceChanged on reloads / navigations that would be wasted if |
| ScriptsCleared were to just remove it. However, this is still needed |
| for initial load where ScriptsCleared does not happen. |
| |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel.prototype._mainResourceDidChange): |
| Only add the main resource tree here when we are first loading. |
| |
| (WebInspector.DebuggerSidebarPanel.prototype._scriptsCleared): |
| Add the main resource tree after we remove all children in navigations. |
| |
| * UserInterface/Views/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel.prototype._contentTreeOutlineTreeSelectionDidChange): |
| This was not gracefully handling if there was no selected tree element. |
| |
| 2016-05-19 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Visual Style connectors are not always centered properly |
| https://bugs.webkit.org/show_bug.cgi?id=157932 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/VisualStylePropertyEditorLink.css: |
| (.visual-style-property-editor-link): |
| Remove the 1px margin on @2x that would cause jitter at different |
| sidebar widths. It is however needed on @1x. |
| |
| (.visual-style-property-editor-link:not(.link-all)): |
| Make the height 20 so these both move closer to the center of the |
| <select> elements they are next to. They are not perfectly centered |
| as that would require a half pixel. |
| |
| (.visual-style-property-editor-link.link-vertical): |
| Move the top line up a pixel so it is "up 0.5" from center and |
| the bottom one is already "down 0.5" from the center. |
| |
| 2016-05-19 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| REGRESSION (r189385): Web Inspector: CSS properties modified via JS don't update in the Styles sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=157918 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Controllers/DOMTreeManager.js: |
| (WebInspector.DOMTreeManager): |
| (WebInspector.DOMTreeManager.prototype._inlineStyleInvalidated): |
| (WebInspector.DOMTreeManager.prototype._loadNodeAttributes): |
| Set the initial value of _loadNodeAttributesTimeout to be 0, |
| as setTimeout always returns a positive integer. |
| |
| 2016-05-19 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Heap Snapshots taken before timeline view has a zero time do not get shown |
| https://bugs.webkit.org/show_bug.cgi?id=157923 |
| <rdar://problem/26377366> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/HeapAllocationsTimelineDataGridNode.js: |
| (WebInspector.HeapAllocationsTimelineDataGridNode): |
| (WebInspector.HeapAllocationsTimelineDataGridNode.prototype.createCellContent): |
| (WebInspector.HeapAllocationsTimelineDataGridNode.prototype.updateTimestamp): |
| Show emDash for the timestamp if we don't yet have a zero time. |
| Update when we get a zero time. |
| |
| * UserInterface/Views/HeapAllocationsTimelineView.js: |
| (WebInspector.HeapAllocationsTimelineView): |
| (WebInspector.HeapAllocationsTimelineView.prototype.layout): |
| (WebInspector.HeapAllocationsTimelineView.prototype.reset): |
| Save a list of nodes pre-zero time and update them when we get a zero time. |
| |
| 2016-05-19 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: HeapSnapshot Instances view should remove dead objects |
| https://bugs.webkit.org/show_bug.cgi?id=157920 |
| <rdar://problem/26375866> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Workers/HeapSnapshot/HeapSnapshotWorker.js: |
| (HeapSnapshotWorker): |
| (HeapSnapshotWorker.prototype.clearSnapshots): |
| (HeapSnapshotWorker.prototype.createSnapshot): |
| Preserve a list of snapshots for this page's session. When |
| new snapshots come in we can determine which nodes have died |
| and update previous snapshots. Emit a CollectionEvent |
| containing the nodes that were deleted and affected snapshots. |
| |
| * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js: |
| (HeapSnapshot): |
| Stash the largest node identifier. |
| Create a byte-per-node list to mark it as dead or alive. |
| All snapshots start with all live nodes. |
| |
| (HeapSnapshot.prototype.updateDeadNodesAndGatherCollectionData): |
| (HeapSnapshot.prototype._markDeadNodes): |
| When we get a new snapshot we can mark dead nodes in previous |
| snapshots. Determine the nodeIdentifiers of dead nodes, and |
| mark them as dead if they existed in previous snapshots. |
| |
| (HeapSnapshot.buildCategories): |
| (HeapSnapshot.prototype.updateCategories): |
| (HeapSnapshotDiff.prototype.updateCategories): |
| Include a "deadCount" in category data. And provide a method |
| to return an updated category list. |
| |
| (HeapSnapshot.prototype.serializeNode): |
| Include a "dead" property on nodes when they are first fetched. |
| |
| * UserInterface/Proxies/HeapSnapshotDiffProxy.js: |
| (WebInspector.HeapSnapshotDiffProxy.prototype.updateForCollectionEvent): |
| (WebInspector.HeapSnapshotDiffProxy.prototype.updateCategories): |
| * UserInterface/Proxies/HeapSnapshotNodeProxy.js: |
| (WebInspector.HeapSnapshotNodeProxy): |
| (WebInspector.HeapSnapshotNodeProxy.deserialize): |
| * UserInterface/Proxies/HeapSnapshotProxy.js: |
| (WebInspector.HeapSnapshotProxy.prototype.updateForCollectionEvent): |
| (WebInspector.HeapSnapshotProxy.prototype.updateCategories): |
| Update snapshot proxies from a collection event by updating properties |
| and dispatching an event from the model object. |
| |
| * UserInterface/Proxies/HeapSnapshotWorkerProxy.js: |
| (WebInspector.HeapSnapshotWorkerProxy): |
| (WebInspector.HeapSnapshotWorkerProxy.prototype.clearSnapshots): |
| (WebInspector.HeapSnapshotWorkerProxy.prototype._mainResourceDidChange): |
| Clear the session snapshot list when the main resource changes. |
| However we can't yet clear the HeapSnapshot objects on the worker |
| because we may still have UI that interact with them. |
| |
| * UserInterface/Views/HeapAllocationsTimelineView.js: |
| (WebInspector.HeapAllocationsTimelineView): |
| (WebInspector.HeapAllocationsTimelineView.prototype.closed): |
| Register and unregister for HeapSnapshot collection events. |
| |
| (WebInspector.HeapAllocationsTimelineView.prototype._heapSnapshotCollectionEvent.updateHeapSnapshotForEvent): |
| (WebInspector.HeapAllocationsTimelineView.prototype._heapSnapshotCollectionEvent): |
| Update all the snapshots we know about when a collection event happens. |
| |
| * UserInterface/Views/HeapSnapshotClassDataGridNode.js: |
| (WebInspector.HeapSnapshotClassDataGridNode.prototype.removeCollectedNodes): |
| (WebInspector.HeapSnapshotClassDataGridNode.prototype.updateCount): |
| (WebInspector.HeapSnapshotClassDataGridNode.prototype._populate): |
| (WebInspector.HeapSnapshotClassDataGridNode.prototype._fetchBatch): |
| * UserInterface/Views/HeapSnapshotContentView.js: |
| (WebInspector.HeapSnapshotContentView.prototype._heapSnapshotDataGridTreeDidPopulate): |
| (WebInspector.HeapSnapshotContentView): |
| * UserInterface/Views/HeapSnapshotDataGridTree.js: |
| (WebInspector.HeapSnapshotDataGridTree): |
| (WebInspector.HeapSnapshotDataGridTree.prototype.removeChild): |
| (WebInspector.HeapSnapshotDataGridTree.prototype.removeCollectedNodes): |
| (WebInspector.HeapSnapshotDataGridTree.prototype._heapSnapshotCollectedNodes): |
| (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.populateTopLevel): |
| (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.removeCollectedNodes): |
| (WebInspector.HeapSnapshotInstancesDataGridTree): |
| Update the Instances DataGridTree UI when a collection event happens. |
| Remove any top level InstanceDataGridNodes that may be showing for collected nodes. |
| Update the category counts on the ClassDataGridNodes. |
| Update FetchMoreDataGridNodes to have updated counts (and replace removed nodes). |
| |
| 2016-05-19 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: REGRESSION: Search magnifying glass shifted in Search tab input field |
| https://bugs.webkit.org/show_bug.cgi?id=157913 |
| rdar://problem/26374424 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/SearchSidebarPanel.css: |
| (.sidebar > .panel.navigation.search > .search-bar > input[type="search"]): Removed padding-left. |
| (.sidebar > .panel.navigation.search > .search-bar > input[type="search"]::-webkit-search-results-button): |
| Added. Add margin-right here instead. |
| |
| 2016-05-19 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Timelines "Edit" button should be right-aligned |
| https://bugs.webkit.org/show_bug.cgi?id=157909 |
| rdar://problem/26373969 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/ButtonNavigationItem.css: |
| (.navigation-bar .item.button.text-only): Deleted height: auto. Now inherited. |
| * UserInterface/Views/NavigationBar.css: |
| (.navigation-bar .item): Change height to auto to support any NavigationBar height. |
| This is needed since the Timelines tab has a shorter NavigationBar height, and |
| flexible items were overflowing. |
| * UserInterface/Views/TextNavigationItem.css: |
| (.navigation-bar .item.text): Deleted height: auto. Now inherited. |
| * UserInterface/Views/TimelineOverview.js: |
| (WebInspector.TimelineOverview): Add a FlexibleSpaceNavigationItem before the Edit button. |
| |
| 2016-05-19 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: timelines should not update via requestAnimationFrame unless Web Inspector is visible |
| https://bugs.webkit.org/show_bug.cgi?id=157897 |
| <rdar://problem/26330802> |
| |
| Reviewed by Timothy Hatcher. |
| |
| The timelines overview tries to animate using requestAnimationFrame, even if the |
| inspector frontend is not really visible. When it does this, requestAnimationFrame |
| simply stalls out until the inspector becomes visible. If a recording is started |
| while the inspector is not visible, then when it is shown again, the timeline will |
| start to animate from 0s instead of the current time. This happens because the |
| requestAnimationFrame was requested when the current time actually was 0, and it |
| finally executes some time later, when the current time is no longer accurate. |
| Since the timelines animate by calculating time elapsed since the previous frame |
| rather than using event timestamps, there is no way for the timelines to skip forward |
| in their animations in scenarios where the current time becomes arbitrarily skewed. |
| |
| To fix this, consider the visibility state of the frontend as reported by the UIProcess. |
| Fire a global notification when visibility state changes, and start or stop updating |
| the current time as the frontend becomes visible or not shown. |
| |
| This does not affect most other uses of requestAnimationFrame, which are used as |
| timers to call updateLayout at an appropriate time. The timelines case is different |
| because the current time is fixed prior to requesting an animation frame, and |
| later animation frames are only triggered by earlier requests, so there's nothing to |
| coalesce. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.loaded): Initialize WebInspector.visible. |
| |
| * UserInterface/Base/Object.js: Add new event. |
| |
| * UserInterface/Protocol/InspectorFrontendAPI.js: |
| (InspectorFrontendAPI.setIsVisible): Added. |
| |
| * UserInterface/Test/Test.js: |
| (WebInspector.updateVisibilityState): Add a stub. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView): |
| (WebInspector.TimelineRecordingContentView.prototype._inspectorVisibilityStateChanged): |
| If visibility state changes while capturing, then start or stop updating the |
| current time as appropriate. Otherwise, refresh the timelines with updated |
| times so that they know about the recording's updated start/current/end time. |
| |
| (WebInspector.TimelineRecordingContentView.prototype._startUpdatingCurrentTime): |
| Bail out if the Web Inspector frontend is not visible to the user and won't be |
| able to service requestAnimationFrames immediately. |
| |
| 2016-05-18 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Classes toggle wraps in some localizations |
| https://bugs.webkit.org/show_bug.cgi?id=157878 |
| rdar://problem/26108859 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/CSSStyleDetailsSidebarPanel.css: |
| (.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle): |
| Add white-space: nowrap. |
| |
| 2016-05-18 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: unable to switch between navigation tree outlines using up/down arrow keys |
| https://bugs.webkit.org/show_bug.cgi?id=157713 |
| <rdar://problem/26287086> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline): |
| Listen for TreeOutline focus changes, and associate trees and their DOM |
| elements for quick lookup when handling focus events. |
| |
| (WebInspector.NavigationSidebarPanel.prototype._contentTreeOutlineDidFocus): |
| (WebInspector.NavigationSidebarPanel.prototype._contentTreeOutlineTreeSelectionDidChange): |
| When selecting a tree element causes an element in a different tree outline |
| to be deselected, remember the old selection so that it can be restored |
| the next time the tree outline get the focus. |
| |
| 2016-05-18 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Checkbox disappears when unchecking CSS property with value containing a semicolon |
| https://bugs.webkit.org/show_bug.cgi?id=157862 |
| <rdar://problem/16214480> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._createCommentedCheckboxMarker): |
| Modify regex to match CSS properties with url() and quoted values, |
| which can contain semicolons. |
| |
| 2016-05-18 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: ugly gaps in Call Trees data grid when expanding more than one level |
| https://bugs.webkit.org/show_bug.cgi?id=157829 |
| <rdar://problem/26339922> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Make a more specific CSS selector to avoid style conflicts. |
| |
| * UserInterface/Views/DataGrid.css: |
| (.data-grid:not(.variable-height-rows) > .data-container > table.data > tbody > tr > td > div): Deleted. |
| (.data-grid:not(.variable-height-rows) > .data-container > table.data > tbody > tr > td > .cell-content): |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGridNode.prototype.createCell): |
| |
| 2016-05-18 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: InspectorFrontendAPI.setTimelineProfilingEnabled should not implicitly show Timelines tab |
| https://bugs.webkit.org/show_bug.cgi?id=157846 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Currently, if the Web Inspector opens for an in-progress or finished automation session, |
| it will always show the Timelines tab, disregarding any previous user view state. This |
| is annoying and is a bad user experience when trying to debug the same test repeatedly. |
| |
| * UserInterface/Protocol/InspectorFrontendAPI.js: |
| (InspectorFrontendAPI.setTimelineProfilingEnabled): Don't implicitly show Timelines tab. |
| (InspectorFrontendAPI.showTimelines): Added. This is called explicitly when desired. |
| |
| 2016-05-18 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: DebuggerSidebarPanel doesn't need to help manage temporarily disabling breakpoints while capturing |
| https://bugs.webkit.org/show_bug.cgi?id=157854 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Duplicate the event listeners in DebuggerManager and move non-view-related |
| state updates out of DebuggerSidebarPanel's listeners into DebuggerManager's listeners. |
| This allows a test to exercise the temporary-disablement code paths during capturing. |
| |
| * UserInterface/Controllers/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype.get breakpointsDisabledTemporarily): |
| Use this to make the code a bit more readable. |
| |
| (WebInspector.DebuggerManager.prototype._startDisablingBreakpointsTemporarily): |
| (WebInspector.DebuggerManager.prototype._stopDisablingBreakpointsTemporarily): |
| (WebInspector.DebuggerManager.prototype.startDisablingBreakpointsTemporarily): Deleted. |
| (WebInspector.DebuggerManager.prototype.stopDisablingBreakpointsTemporarily): Deleted. |
| Make this private since it's not used by other classes anymore. |
| |
| (WebInspector.DebuggerManager.prototype._timelineCapturingWillStart): Added. |
| (WebInspector.DebuggerManager.prototype._timelineCapturingStopped): Added. |
| |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel.prototype._timelineRecordingWillStart): Deleted. |
| (WebInspector.DebuggerSidebarPanel.prototype._timelineRecordingStopped): Deleted. |
| (WebInspector.DebuggerSidebarPanel.prototype._timelineCapturingWillStart): Added. |
| (WebInspector.DebuggerSidebarPanel.prototype._timelineCapturingStopped): Added. |
| Make the listener names consistent with TimelineManager: timelineCapturing{WillStart,Stopped}. |
| |
| 2016-05-18 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Improve console.takeHeapSnapshot documentation in console |
| https://bugs.webkit.org/show_bug.cgi?id=157853 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Models/NativeFunctionParameters.js: |
| Mention optional label argument. |
| |
| 2016-05-18 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: race between frontend and backend both starting timeline recordings causes console assert |
| https://bugs.webkit.org/show_bug.cgi?id=157850 |
| <rdar://problem/26349229> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| If TimelineManager has created a fresh recording and the Timeline.autoCaptureStarted |
| event comes before Timeline.recordingStarted, then the manager will try to start the |
| same recording twice. In this scenario, the manager should just wait until the |
| Timeline.recordingStarted event comes, since it causes TimelineMangare to set up |
| the isCapturing flag and other state. |
| |
| * UserInterface/Controllers/TimelineManager.js: |
| (WebInspector.TimelineManager): |
| (WebInspector.TimelineManager.prototype.startCapturing): |
| (WebInspector.TimelineManager.prototype.capturingStarted): |
| (WebInspector.TimelineManager.prototype.autoCaptureStarted): |
| Add a new flag, this._waitingForCapturingStartedEvent. If true, don't start the |
| recording in response to this event. |
| |
| 2016-05-18 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: REGRESSION(r197488): Incorrect start time in Rendering Frames timeline grid |
| https://bugs.webkit.org/show_bug.cgi?id=157840 |
| <rdar://problem/26344937> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView.prototype._updateTimes): |
| The Rendering Frames timeline view needs a valid zero time. |
| (WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged): |
| Adjust ruler selection path component values by the zero time unless |
| the current view is the Rendering Frames timeline view. |
| |
| 2016-05-17 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: NavigationSidebarPanel should coordinate item selection between its tree outlines |
| https://bugs.webkit.org/show_bug.cgi?id=157813 |
| <rdar://problem/26331779> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel.prototype._treeSelectionDidChange): |
| Deselecting elements in other tree outlines is now done in the base class. |
| |
| * UserInterface/Views/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline): |
| Listen for selection changed events on all content tree outlines. |
| (WebInspector.NavigationSidebarPanel.prototype.treeElementAddedOrChanged): |
| Moved stub from the public section to the protected section. |
| (WebInspector.NavigationSidebarPanel.prototype._contentTreeOutlineTreeSelectionDidChange): |
| Deselect tree elements in any content tree outline that is not the |
| parent of the selected element. |
| |
| (WebInspector.NavigationSidebarPanel.prototype._treeSelectionDidChange): Deleted. |
| Rename _contentTreeOutlineTreeSelectionDidChange, to prevent being |
| shadowed by subclasses with _treeSelectionDidChange event handlers. |
| |
| 2016-05-17 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Remove TimelineSidebarPanel.js as it's no longer referenced anywhere |
| https://bugs.webkit.org/show_bug.cgi?id=157819 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/TimelineSidebarPanel.js: Removed. |
| Removed unused file. |
| |
| 2016-05-17 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: inspector tests should redirect and log console.trace() calls in test output |
| https://bugs.webkit.org/show_bug.cgi?id=157802 |
| <rdar://problem/26325671> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Test/FrontendTestHarness.js: |
| (FrontendTestHarness.prototype.redirectConsoleToTestOutput.createProxyConsoleHandler): |
| Remove bind() that is now unnecessary. Also redirect console.warn. |
| |
| (FrontendTestHarness.prototype.redirectConsoleToTestOutput): |
| For console.trace(), throw and catch a dummy Error to get a stack trace. |
| Do some post processing on it to remove useless frames and sanitize file paths. |
| |
| 2016-05-17 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: Filtering huge data grids should yield occasionally so the UI remains responsive |
| https://bugs.webkit.org/show_bug.cgi?id=157702 |
| <rdar://problem/26282898> |
| |
| Based on a patch by Matt Baker <mattbaker@apple.com> on 2016-05-16 |
| Reviewed by Timothy Hatcher. |
| |
| This patch adds a new class, YieldableTask, for processing large |
| data sets without starving the runloop. A yieldable task takes a delegate, |
| an iterator that produces the items to be processed by the delegate, and |
| the "work interval" time slice and "idle interval" to wait between time slices. |
| It works by using `yield` to suspend processing when the current time |
| slice is exceeded, and setting a timeout to wait out the idle interval. |
| |
| The iterator is responsible for deciding a good traversal order for items, |
| and the delegate is responsible for processing each item in turn. Tasks |
| cannot be reused once cancelled or processing completes. |
| |
| Change DataGrid to use a yieldable task for filtering data grid nodes. |
| When the filtering criteria changes, cancel the task and run a new task. |
| |
| * UserInterface/Base/YieldableTask.js: Added. |
| (WebInspector.YieldableTask.prototype.get processing): |
| (WebInspector.YieldableTask.prototype.get cancelled): |
| (WebInspector.YieldableTask.prototype.get idleInterval): |
| (WebInspector.YieldableTask.prototype.get workInterval): |
| Add getters. |
| |
| (WebInspector.YieldableTask.prototype.start.createIteratorForProcessingItems): |
| (WebInspector.YieldableTask.prototype.start): |
| Set up an iterator that cranks through items to be processed until the |
| time slice is exceeded. Check to see if the task is cancelled before and |
| after calling out to the delegate to perform processing on the item. |
| |
| (WebInspector.YieldableTask.prototype.cancel): |
| Set the cancel flag. Tell the delegate the task is finished soon. |
| |
| (WebInspector.YieldableTask.prototype._processPendingItems): |
| Request the next item from the cranking iterator so it tries to process |
| more items. If it yields but still has more items to process, set a timeout |
| and continue processing more items after the idle interval. |
| |
| (WebInspector.YieldableTask.prototype._willYield): Notify the delegate. |
| (WebInspector.YieldableTask.prototype._didFinish): Clear state and notify. |
| (WebInspector.YieldableTask): |
| |
| * UserInterface/Main.html: |
| * UserInterface/Test.html: Add new file. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid): |
| (WebInspector.DataGrid.prototype.filterDidChange): |
| Cancel the currently running filter task, if any exists. |
| |
| (WebInspector.DataGrid.prototype._updateFilter.createIteratorForNodesToBeFiltered): |
| (WebInspector.DataGrid.prototype._updateFilter): |
| Set up and start a new filtering task when the filter updates. |
| |
| (WebInspector.DataGrid.prototype.yieldableTaskWillProcessItem): |
| (WebInspector.DataGrid.prototype.yieldableTaskDidYield): |
| (WebInspector.DataGrid.prototype.yieldableTaskDidFinish): |
| Batch up notifications about filtered nodes changing since this can |
| cause a lot of unnecessary work by event listeners. |
| |
| 2016-05-17 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: breakpoints in sourceURL named scripts are not persisted |
| https://bugs.webkit.org/show_bug.cgi?id=157714 |
| <rdar://problem/26287099> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| The Inspector frontend doesn't try to persist a breakpoint that |
| lacks a URL, even if the breakpoint has a sourceURL. Similarly, for |
| breakpoints without a URL, the frontend asks the backend to create |
| the breakpoint for a specific script identifier rather than a |
| URL-based breakpoint. This prevents breakpoints in injected scripts |
| from being resolved if the page is reloaded. |
| |
| The Inspector backend knows how to resolve URL-based breakpoints |
| by matching against the script's URL or sourceURL, so we just need |
| to teach the frontend when either is appropriate to use. |
| |
| This patch adds SourceCode.contentIdentifier, which is roughly |
| `url || sourceURL` for content that is not emphemeral, such as |
| console evaluations. Change breakpoint and debugger code to use |
| `contentIdentifier` rather than `url`, and pass contentIdentifier |
| to the backend when setting a breakpoint by URL. |
| |
| * UserInterface/Controllers/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype.breakpointsForSourceCode): |
| (WebInspector.DebuggerManager.prototype.scriptsForURL): |
| (WebInspector.DebuggerManager.prototype.get searchableScripts): |
| (WebInspector.DebuggerManager.prototype.removeBreakpoint): |
| (WebInspector.DebuggerManager.prototype.reset): |
| (WebInspector.DebuggerManager.prototype.scriptDidParse): |
| (WebInspector.DebuggerManager.prototype._setBreakpoint): |
| (WebInspector.DebuggerManager.prototype._saveBreakpoints): |
| (WebInspector.DebuggerManager.prototype._associateBreakpointsWithSourceCode): |
| |
| * UserInterface/Models/Breakpoint.js: |
| (WebInspector.Breakpoint): |
| (WebInspector.Breakpoint.prototype.get contentIdentifier): |
| (WebInspector.Breakpoint.prototype.get info): |
| (WebInspector.Breakpoint.prototype.saveIdentityToCookie): |
| (WebInspector.Breakpoint.prototype.get url): Deleted. |
| Replace uses of Breakpoint.prototype.get url with |
| contentIdentifier inside the class and at all callsites. |
| |
| * UserInterface/Models/Script.js: |
| (WebInspector.Script.prototype.get contentIdentifier): |
| Added. Use the URL, or the sourceURL unless the script is |
| ephemeral and only run once, like as a console evaluation. |
| |
| * UserInterface/Models/SourceCode.js: |
| (WebInspector.SourceCode.prototype.get url): Added. |
| All subclasses already override this getter. Add it here so that |
| the default implementation of contentIdentifier can use it. |
| |
| (WebInspector.SourceCode.prototype.get contentIdentifier): Added. |
| |
| * UserInterface/Views/BreakpointTreeElement.js: |
| (WebInspector.BreakpointTreeElement.prototype.get filterableData): |
| * UserInterface/Views/ProbeSetDetailsSection.js: |
| (WebInspector.ProbeSetDetailsSection.prototype._updateLinkElement): |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype._matchesBreakpoint): |
| * UserInterface/Views/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView.prototype.get supplementalRepresentedObjects): |
| |
| 2016-05-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Uncaught Exception: TypeError: null is not an object (evaluating 'event.data.pathComponent.domTreeElement') |
| https://bugs.webkit.org/show_bug.cgi?id=157759 |
| <rdar://problem/26309427> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/DOMTreeContentView.js: |
| (WebInspector.DOMTreeContentView.prototype._pathComponentSelected): |
| Handle possible null path components. |
| |
| * UserInterface/Views/HierarchicalPathComponent.js: |
| (WebInspector.HierarchicalPathComponent.prototype.get selectedPathComponent): |
| When there is a list of just one that is triggered, the Clicked |
| event should produce that one, to be consistent with clicking |
| on a list of multiple elements and selecting the same value. |
| |
| 2016-05-16 Saam barati <sbarati@apple.com> |
| |
| Hook up ShadowChicken to the debugger to show tail deleted frames |
| https://bugs.webkit.org/show_bug.cgi?id=156685 |
| <rdar://problem/25770521> |
| |
| Reviewed by Filip Pizlo and Mark Lam and Joseph Pecoraro. |
| |
| This patch makes the WebInspector display tail deleted frames. |
| We show tail deleted frames with a gray [f] instead of a green |
| [f]. We also put text in the tooltip to indicate that the frame |
| is tail deleted. Other than that, tail deleted frames behave like |
| normal frames. You can evaluate in them, inspect their scope, etc. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Images/TailDeletedFunction.svg: Added. |
| * UserInterface/Images/gtk/TailDeletedFunction.svg: Added. |
| * UserInterface/Models/CallFrame.js: |
| * UserInterface/Views/CallFrameIcons.css: |
| * UserInterface/Views/CallFrameTreeElement.js: |
| * UserInterface/Views/CallFrameView.js: |
| |
| 2016-05-16 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Contents of Duration column are covered by always on (legacy) scroll bars |
| https://bugs.webkit.org/show_bug.cgi?id=157590 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Set the right padding of the DataGrid header to match the scrollbar width. |
| |
| * UserInterface/Views/DataGrid.css: |
| (.data-grid .data-container): |
| (.data-grid.inline .data-container): |
| Don't show scrollbars for inline data grids. |
| |
| (.data-grid > .header-wrapper): |
| (.data-grid.no-header > .header-wrapper > table.header): |
| (.data-grid.no-header > table.header): Deleted. |
| (.data-grid th): Deleted. |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid): |
| We can't add padding-rigth to a table. Wrap the table in div.header-wrapper. |
| |
| (WebInspector.DataGrid.prototype._updateScrollbarPadding): |
| (WebInspector.DataGrid.prototype.layout): |
| |
| 2016-05-16 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Background stripes don't span the width of Network sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=157744 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/NetworkSidebarPanel.css: |
| (.sidebar > .panel.navigation.network.network-grid-content-view-showing > .content): |
| |
| 2016-05-16 Antoine Quint <graouts@apple.com> |
| |
| Web Inspector: Computed style shows both prefixed and unprefixed variants of properties |
| https://bugs.webkit.org/show_bug.cgi?id=157674 |
| <rdar://problem/24339756> |
| |
| Reviewed by Timothy Hatcher. |
| |
| We make the CSSProperty `implicit` property read-write, and in the case where a computed style |
| has a property marked as explicit, we also check that it's found in matching rules to consider |
| it non-implicit. This correctly filters out variants of properties set explicitly. |
| |
| * UserInterface/Models/CSSProperty.js: |
| (WebInspector.CSSProperty.prototype.set implicit): |
| * UserInterface/Models/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle): |
| (WebInspector.DOMNodeStyles.prototype.refresh): |
| (WebInspector.DOMNodeStyles.prototype._isPropertyFoundInMatchingRules): |
| (WebInspector.DOMNodeStyles): |
| |
| 2016-05-14 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: DataGrid _updateVisibleRows dominates profiles of timeline recordings when data grid (Overview or TimelineDataGrids) is showing |
| https://bugs.webkit.org/show_bug.cgi?id=157664 |
| rdar://problem/26262219 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid): Added new members. |
| (WebInspector.DataGrid.prototype.layout): Reset _cachedScrollTop and _cachedScrollHeight on resize. |
| (WebInspector.DataGrid.prototype._noteScrollPositionChanged): Added. |
| (WebInspector.DataGrid.prototype._updateVisibleRows): Cache sizes and positions when possible. |
| (WebInspector.DataGridNode.prototype.set hidden): Added call to _noteRowsChanged. |
| (WebInspector.DataGridNode.prototype.collapse): Call _noteRowsChanged instead of needsLayout. |
| (WebInspector.DataGridNode.prototype.expand): Call _noteRowsChanged instead of needsLayout. |
| (WebInspector.DataGrid.prototype._updateFilter): Removed direct call to _updateVisibleRows, this is |
| better handled by DataGridNode's hidden setter. |
| |
| 2016-05-14 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Many DataGrid instances do not save/restore their scroll position |
| https://bugs.webkit.org/show_bug.cgi?id=157709 |
| rdar://problem/26286090 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Models/BackForwardEntry.js: |
| (WebInspector.BackForwardEntry.prototype.makeCopy): Added. |
| * UserInterface/Views/ContentViewContainer.js: |
| (WebInspector.ContentViewContainer.prototype.showContentView): Copy the last entry for the view. |
| * UserInterface/Views/DOMStorageContentView.js: |
| (WebInspector.DOMStorageContentView.prototype.get scrollableElements): Added. |
| * UserInterface/Views/HeapSnapshotContentView.js: |
| (WebInspector.HeapSnapshotContentView.prototype.get scrollableElements): Added. |
| * UserInterface/Views/IndexedDatabaseObjectStoreContentView.js: |
| (WebInspector.IndexedDatabaseObjectStoreContentView.prototype.get scrollableElements): Added. |
| * UserInterface/Views/MemoryTimelineView.js: |
| (WebInspector.MemoryTimelineView.prototype.get scrollableElements): Added. |
| * UserInterface/Views/ProfileView.js: |
| (WebInspector.ProfileView.prototype.get scrollableElements): Added. |
| (WebInspector.ProfileView.prototype._repopulateDataGridFromTree): Removed unused skipRefresh argument. |
| * UserInterface/Views/ScriptClusterTimelineView.js: |
| (WebInspector.ScriptClusterTimelineView.prototype.get scrollableElements): Added. |
| * UserInterface/Views/ScriptProfileTimelineView.js: |
| (WebInspector.ScriptProfileTimelineView.prototype.get scrollableElements): Added. |
| * UserInterface/Views/TimelineView.js: |
| (WebInspector.TimelineView.prototype.get scrollableElements): Added. |
| |
| 2016-05-14 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Empty line shows arrow when hovering over Animation Frame Requested in timeline recording |
| https://bugs.webkit.org/show_bug.cgi?id=157707 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/DataGrid.css: |
| (.data-grid:not(.variable-height-rows) > .data-container > table.data > tbody > tr > td > div): |
| |
| 2016-05-13 Simon Fraser <simon.fraser@apple.com> |
| |
| Unprefix -webkit-cross-fade() |
| https://bugs.webkit.org/show_bug.cgi?id=157632 |
| |
| Reviewed by Darin Adler. |
| |
| * UserInterface/Models/CSSKeywordCompletions.js: |
| |
| 2016-05-13 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Typing "layout" in filter for Layout and Rendering Timeline matches everything |
| https://bugs.webkit.org/show_bug.cgi?id=157684 |
| <rdar://problem/26276588> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Hidden columns should not participate in built-in grid filtering |
| using DataGrid.filterText. Hidden columns can still be custom filtered, |
| which is how TimelineDataGrid filters scopebar columns. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGridNode.prototype.get filterableData): |
| Skip hidden columns. |
| |
| 2016-05-13 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Script ProfileViews should be searchable |
| https://bugs.webkit.org/show_bug.cgi?id=157581 |
| <rdar://problem/26228530> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid.prototype.get filterText): |
| Make filterText readable. |
| |
| * UserInterface/Views/ProfileDataGridNode.js: |
| (WebInspector.ProfileDataGridNode.prototype.get callingContextTreeNode): |
| (WebInspector.ProfileDataGridNode.prototype.filterableDataForColumn): |
| Add filterable data for the "function" column. |
| (WebInspector.ProfileDataGridNode.prototype._updateChildrenForModifiers): |
| (WebInspector.ProfileDataGridNode.prototype.get node): Deleted. |
| Renamed callingContextTreeNode to be less ambiguous. |
| |
| * UserInterface/Views/ProfileDataGridTree.js: |
| (WebInspector.ProfileDataGridTree.prototype._updateCurrentFocusDetails): |
| |
| * UserInterface/Views/ProfileView.js: |
| (WebInspector.ProfileView.prototype.get dataGrid): |
| Expose data grid for use in parent view. |
| |
| * UserInterface/Views/ScriptClusterTimelineView.js: |
| (WebInspector.ScriptClusterTimelineView.prototype.selectRecord): |
| Drive-by fix: forward property to current child TimelineView. |
| |
| * UserInterface/Views/ScriptProfileTimelineView.js: |
| (WebInspector.ScriptProfileTimelineView): |
| (WebInspector.ScriptProfileTimelineView.prototype._scopeBarSelectionDidChange): |
| (WebInspector.ScriptProfileTimelineView.prototype._showProfileViewForOrientation): |
| Helper function to switch profile views. Persist filter text when |
| switching to the new profile view. |
| |
| (WebInspector.ScriptProfileTimelineView.prototype.get showsFilterBar): Deleted. |
| Remove FIXME and show filter bar. |
| |
| * UserInterface/Views/TimelineView.js: |
| (WebInspector.TimelineView.prototype.setupDataGrid): |
| Support switching to a new data grid. |
| (WebInspector.TimelineView.prototype.dataGridMatchNodeAgainstCustomFilters): |
| Hooking up filtering causes data grid nodes to be filtered based on the |
| ruler selection. Although ScriptProfileTimelineView performs its own |
| time-based filtering, this is necessary to prevent an assert. |
| |
| (WebInspector.TimelineView.prototype._timelineDataGridSelectedNodeChanged): |
| (WebInspector.TimelineView.prototype._timelineDataGridNodeWasFiltered): |
| Converted arrow functions to member functions to allow unregistering |
| event listeners on outgoing data grid when swapping grids. |
| |
| 2016-05-12 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Remove "Extra Scripts" folder from Resources sidebar if all children removed |
| https://bugs.webkit.org/show_bug.cgi?id=157656 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype._scriptWasRemoved): |
| Remove parent folder after last script tree element removed. |
| |
| 2016-05-12 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Can't filter Rendering Frames by duration |
| https://bugs.webkit.org/show_bug.cgi?id=157654 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/RenderingFrameTimelineView.js: |
| (WebInspector.RenderingFrameTimelineView.prototype._scopeBarSelectionDidChange): |
| Call filterDidChange on the grid, not the base class. |
| TimelineView.filterDidChange exists to let TimelineViews perform |
| additional work when the grid filter changes (see LayoutTimelineView). |
| (WebInspector.RenderingFrameTimelineView): |
| |
| 2016-05-12 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Deleting nodes in DOM Tree sometimes changes selection to parent instead of sibling |
| https://bugs.webkit.org/show_bug.cgi?id=157649 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.prototype._updateChildren): Deleted. |
| When pressing delete, we remove the node via DOM.removeNode() |
| and remove the DOMTreeElement when we receive a successful response. |
| However, the backend could send a DOM.childNodeRemoved event before |
| the response from DOM.removeNode, and the frontend would have a race |
| between DOMTreeUpdater's timeout and the removeNode callback. |
| |
| In DOMTreeUpdater's path, DOMTreeElement updateChildren would notice |
| a removed node and set the selection to the parent node. |
| |
| In the DOM.removeNode path, TreeOutline would update the selection |
| based on availability of a previousSibling/nextSibling/parent. |
| |
| Remove the custom code in DOMTreeElement updateChildren, so that it |
| can just do the normal TreeOutline behavior via removeChildAtIndex. |
| |
| 2016-05-12 Joseph Pecoraro <pecoraro@apple.com> |
| |
| REGRESSION: Web Inspector: Fails to load sourceMappingURL with relative URL |
| https://bugs.webkit.org/show_bug.cgi?id=157650 |
| <rdar://problem/26133763> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Controllers/SourceMapManager.js: |
| Wrong order of arguments. The intent was to pass the incoming |
| baseURL as the partialURL, because if it was not absolute by |
| that point we could make it relative to the main resource. |
| However we accidentally put the main resource as the partial |
| portion, which would just always return the main resource url. |
| Swap the order, so that if the incoming base is absolute |
| (such as a resource.url) that will be used, but if the |
| incoming base is relative (e.g. an incomplete sourceURL) we |
| can make it absolute with the main resource. |
| |
| 2016-05-12 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Uncaught exception when removing selected Timeline instrument |
| https://bugs.webkit.org/show_bug.cgi?id=157639 |
| <rdar://problem/26252938> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/TimelineOverview.js: |
| (WebInspector.TimelineOverview.prototype._instrumentRemoved): |
| Remove timeline tree element before modifying state. Removing the tree |
| element triggers a SelectionDidChange event, which can have side effects. |
| |
| 2016-05-12 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Timeline Reset button only resets the one active Script TimelineView |
| https://bugs.webkit.org/show_bug.cgi?id=157638 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/ScriptClusterTimelineView.js: |
| (WebInspector.ScriptClusterTimelineView.prototype.reset): |
| Reset should reset all the views. |
| |
| (WebInspector.ScriptClusterTimelineView.prototype.get navigationSidebarTreeOutline): Deleted. |
| * UserInterface/Views/NetworkGridContentView.js: |
| (WebInspector.NetworkGridContentView.prototype.get navigationSidebarTreeOutline): Deleted. |
| * UserInterface/Views/TimelineView.js: |
| (WebInspector.TimelineView.prototype.get navigationSidebarTreeOutlineScopeBar): Deleted. |
| Remove dead code. Nobody calls these getters. |
| |
| 2016-05-12 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Layout timeline popovers are inconsistently shown |
| https://bugs.webkit.org/show_bug.cgi?id=157640 |
| <rdar://problem/26253394> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/TimelineDataGrid.js: |
| (WebInspector.TimelineDataGrid.prototype._showPopoverForSelectedNodeSoon): |
| Fix the bug by clearing _showPopoverTimeout when we show the popover. |
| |
| (WebInspector.TimelineDataGrid.prototype._hidePopover): |
| Modernize the code to use arrow functions and avoid binds. |
| |
| (WebInspector.TimelineDataGrid.prototype._updatePopoverForSelectedNode): |
| Updating with presentNewContentWithFrame animates the popover to the correct |
| position instead of jumping and ending up at the wrong location. |
| |
| 2016-05-12 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Remove forced layouts caused by DOMTreeElement during Timeline recording |
| https://bugs.webkit.org/show_bug.cgi?id=157641 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.prototype.updateSelection): Deleted. |
| This triggers forced layout and I could never actually get it to trigger anyways. |
| Its history is from the original import, so I don't know why it was added to begin with. |
| Just remove it. |
| |
| 2016-05-12 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r200718. |
| https://bugs.webkit.org/show_bug.cgi?id=157637 |
| |
| Data grid column dividers are misaligned (Requested by NVI on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "Web Inspector: Contents of Duration column are covered by |
| always on (legacy) scroll bars" |
| https://bugs.webkit.org/show_bug.cgi?id=157590 |
| http://trac.webkit.org/changeset/200718 |
| |
| 2016-05-12 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: 11% of time in TimelineRecording spent updating DataGrid that is not visible |
| https://bugs.webkit.org/show_bug.cgi?id=157612 |
| <rdar://problem/26239051> |
| |
| Reviewed by Timothy Hatcher. |
| |
| During recording, a timeline view is constantly having its cached time |
| values updated. These updates should only trigger forced layouts if the |
| view supports live data. |
| |
| * UserInterface/Views/TimelineView.js: |
| (WebInspector.TimelineView.prototype.set zeroTime): |
| Drive-by fix, add call to _filterTimesDidChange. |
| (WebInspector.TimelineView.prototype.set startTime): |
| (WebInspector.TimelineView.prototype.set endTime): |
| (WebInspector.TimelineView.prototype.set currentTime): |
| Don't update layout directly. |
| (WebInspector.TimelineView.prototype._timesDidChange): |
| Force a layout if the view supports live data. When not recording, |
| a layout is always performed. |
| (WebInspector.TimelineView): |
| (WebInspector.TimelineView.prototype._filterTimesDidChange.delayedWork): Deleted. |
| Changed to an arrow function. |
| (WebInspector.TimelineView.prototype._filterTimesDidChange): Deleted. |
| Renamed _timesDidChange, since the method now does more than throttle |
| a filterDidChange call. |
| |
| 2016-05-12 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| Web Inspector: Windows Perl fails to run copy-user-interface-resources.pl |
| https://bugs.webkit.org/show_bug.cgi?id=157620 |
| <rdar://problem/26241548> |
| |
| Reviewed by Timothy Hatcher. |
| |
| There are two problems on Windows platform. 'cat' command is |
| missing and can not execute shebang. |
| |
| * Scripts/copy-user-interface-resources.pl: Invoke Perl scripts |
| with explicitly specifying Perl command instead of relying on |
| shebang. Add a new subroutine 'appendFile' to concatenate files |
| instread of 'cat' command. |
| |
| 2016-05-12 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: 3.8% of timeline recording spent in NavigationSidebarPanel _updateContentOverflowShadowVisibility for background tab |
| https://bugs.webkit.org/show_bug.cgi?id=157616 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility): |
| (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged): |
| Don't update or schedule and update if we aren't visible. |
| When we are shown we will force an update. |
| |
| 2016-05-12 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Reduce rAF churn in DefaultDashboardView on pages with lots of resources |
| https://bugs.webkit.org/show_bug.cgi?id=157618 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/DefaultDashboardView.js: |
| (WebInspector.DefaultDashboardView): |
| (WebInspector.DefaultDashboardView.prototype._updateDisplaySoon): |
| (WebInspector.DefaultDashboardView.prototype._updateDisplay): |
| Previously we were scheduling multiple rAFs that would all fire with |
| the same data, each time a resource was added. Coalesce into one. |
| |
| 2016-05-12 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Improve snapshot selection in heap allocations overview graph |
| https://bugs.webkit.org/show_bug.cgi?id=157588 |
| <rdar://problem/26231245> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Heap snapshot icon selection now uses the built-in record selection |
| behavior provided by TimelineOverview/TimelineOverviewGraph. The marker |
| representing the selected heap snapshot now has a "selected" style, and |
| clicking an icon when the HeapAllocationsTimeline is not selected causes |
| the timeline to become selected. |
| |
| * UserInterface/Images/HeapSnapshotSelected.svg: Added. |
| New art for selected snapshot icon. |
| |
| * UserInterface/Views/HeapAllocationsTimelineOverviewGraph.css: |
| (.timeline-overview-graph.heap-allocations > img.snapshot.selected): |
| (.timeline-overview-graph.heap-allocations:not(.selected) > img.snapshot.selected): |
| Selected icon styles for selected/unselected overview graph. |
| |
| * UserInterface/Views/HeapAllocationsTimelineOverviewGraph.js: |
| (WebInspector.HeapAllocationsTimelineOverviewGraph): |
| Track selected image element. |
| |
| (WebInspector.HeapAllocationsTimelineOverviewGraph.prototype.layout): |
| Associate image elements with their snapshot record, and reuse image |
| elements between layouts. Image element click handler can just set the |
| selectedRecord in the TimelineOverviewGraph base class. |
| |
| (WebInspector.HeapAllocationsTimelineOverviewGraph.prototype.updateSelectedRecord): |
| (WebInspector.HeapAllocationsTimelineOverviewGraph.prototype._updateSnapshotMarkers): |
| Refresh snapshot icon styles when selected record changes. |
| |
| * UserInterface/Views/HeapAllocationsTimelineView.js: |
| (WebInspector.HeapAllocationsTimelineView.prototype.selectRecord): |
| Show snapshot list if no record selected. |
| (WebInspector.HeapAllocationsTimelineView.prototype.userSelectedRecordFromOverview): Deleted. |
| No longer needed. |
| |
| * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js: |
| (WebInspector.RenderingFrameTimelineOverviewGraph.prototype._updateFrameMarker): |
| No need to call dispatchSelectedRecordChangedEvent manually anymore, |
| method has been removed from base class. |
| |
| * UserInterface/Views/TimelineOverviewGraph.js: |
| (WebInspector.TimelineOverviewGraph.prototype._needsSelectedRecordLayout): |
| (WebInspector.TimelineOverviewGraph): |
| (WebInspector.TimelineOverviewGraph.prototype.dispatchSelectedRecordChangedEvent): Deleted. |
| No longer needed. Event dispatched automatically by the rAF callback. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView.prototype._recordSelected): |
| Allow switching to another timeline, if the selected record does not |
| belong to the current timeline. |
| |
| 2016-05-12 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: 3.5% of time in toFixed in TimelineRecordBar updating element positions |
| https://bugs.webkit.org/show_bug.cgi?id=157608 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Avoid using toFixed to do an approximation comparison of two floating point numbers. |
| Instead keep in Numbers by just doing the approximation with Math.round(num * 100). |
| Since toFixed was doing stringification it was very expensive. |
| |
| * UserInterface/Views/TimelineRecordBar.js: |
| (WebInspector.TimelineRecordBar.prototype._updateElementPosition): |
| (WebInspector.TimelineRecordBar): |
| * UserInterface/Views/TimelineRecordFrame.js: |
| (WebInspector.TimelineRecordFrame.prototype._updateElementPosition): |
| (WebInspector.TimelineRecordFrame): |
| * UserInterface/Views/TimelineRuler.js: |
| (WebInspector.TimelineRuler.prototype._updatePositionOfElement): |
| |
| 2016-05-11 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: 4% of time in TimelineOverviewGraph adding/removing classList styles on TimelineRecordBar |
| https://bugs.webkit.org/show_bug.cgi?id=157607 |
| |
| Reviewed by Brian Burg. |
| |
| This gets us down to about 0.5% of time. |
| |
| * UserInterface/Views/TimelineRecordBar.js: |
| (WebInspector.TimelineRecordBar.prototype.set records): |
| Only modify the classLists when the record changes. |
| |
| (WebInspector.TimelineRecordBar.prototype.refresh): |
| Set unfinished once for either the uses active or not uses active cases. |
| |
| 2016-05-11 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Unexpected unread notification icon next to Log after clearing via clear() |
| https://bugs.webkit.org/show_bug.cgi?id=157598 |
| |
| Reviewed by Timothy Hatcher. |
| |
| We always show ConsoleCommand and ConsoleCommandResult messages no matter |
| what the filter is. So it doesn't make sense to mark the "log" filter |
| as having an unread notification for a ConsoleCommandResult when we can |
| see the result. |
| |
| * UserInterface/Views/LogContentView.js: |
| (WebInspector.LogContentView.prototype.didAppendConsoleMessageView): |
| (WebInspector.LogContentView.prototype._markScopeBarItemUnread): |
| |
| 2016-05-11 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Console unread indicators should be cleared however the console clears |
| https://bugs.webkit.org/show_bug.cgi?id=157594 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/LogContentView.js: |
| (WebInspector.LogContentView.prototype._logCleared): |
| (WebInspector.LogContentView.prototype._clearLog): |
| Move code that clears unread indicators from clearLog to logCleared |
| to handle all possible clear cases. |
| |
| 2016-05-11 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Contents of Duration column are covered by always on (legacy) scroll bars |
| https://bugs.webkit.org/show_bug.cgi?id=157590 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/DataGrid.css: |
| (.data-grid .data-container): |
| Always show vertical scrollbars. |
| |
| (.data-grid > .header-wrapper): |
| (.data-grid > .header-wrapper::-webkit-scrollbar): |
| Show invisible scrollbar for DataGrid's header to align the header table with the content. |
| |
| (.data-grid.no-header > .header-wrapper > table.header): |
| (.data-grid.no-header > table.header): Deleted. |
| (.data-grid th): Deleted. |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid): |
| `overflow-y: scroll` doesn't work on a table element. Wrap table in a div. |
| |
| 2016-05-11 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Make it possible to do special styling on selected TimelineOverviewGraphs |
| https://bugs.webkit.org/show_bug.cgi?id=157593 |
| <rdar://problem/26232886> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/TimelineOverview.js: |
| (WebInspector.TimelineOverview.prototype._timelinesTreeSelectionDidChange.updateGraphSelectedState): |
| (WebInspector.TimelineOverview.prototype._timelinesTreeSelectionDidChange): |
| Select the new overview graph and deselect the old one. |
| |
| * UserInterface/Views/TimelineOverviewGraph.js: |
| (WebInspector.TimelineOverviewGraph): |
| (WebInspector.TimelineOverviewGraph.prototype.get selected): |
| (WebInspector.TimelineOverviewGraph.prototype.set selected): |
| New property, toggles "selected" class on the graph element. |
| |
| 2016-05-11 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: "Selected Element" is hard to read when searching for "Element" |
| https://bugs.webkit.org/show_bug.cgi?id=157542 |
| <rdar://problem/26207464> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Change the style of highlighted text to match Xcode. |
| |
| * UserInterface/Views/LogContentView.css: |
| (.search-in-progress .console-item:not(.filtered-out-by-search).special-user-log .console-message-text .highlighted): |
| * UserInterface/Views/OpenResourceDialog.css: |
| (.open-resource-dialog > .tree-outline .item.selected .highlighted): |
| * UserInterface/Views/Variables.css: |
| (:root): |
| |
| 2016-05-11 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Hide filter bar in TimelineViews where it is not needed or not yet working |
| https://bugs.webkit.org/show_bug.cgi?id=157583 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/HeapAllocationsTimelineView.js: |
| (WebInspector.HeapAllocationsTimelineView.prototype.get showsFilterBar): |
| (WebInspector.HeapAllocationsTimelineView.prototype.layout): |
| (WebInspector.HeapAllocationsTimelineView.prototype.updateFilter): |
| Filter bar not yet hooked up for HeapSnapshot views. |
| Make filtering work for the main timeline grid. |
| It doesn't use the normal TimelineView filter based on selected range. |
| This is intentional because it may be the case that a snapshot happens |
| outside the selected time range (via the navigation bar button) and |
| we want to show it. Otherwise a user might be confused why it is not |
| showing up in the list. |
| |
| * UserInterface/Views/MemoryTimelineView.js: |
| (WebInspector.MemoryTimelineView.prototype.get showsFilterBar): |
| Filter bar not needed in the Memory timeline view. |
| |
| * UserInterface/Views/ScriptClusterTimelineView.js: |
| (WebInspector.ScriptClusterTimelineView.prototype.get showsFilterBar): |
| Filter bar works for the Events timeline view. |
| |
| * UserInterface/Views/ScriptProfileTimelineView.js: |
| (WebInspector.ScriptProfileTimelineView.prototype.get showsFilterBar): |
| Filter bar not yet hooked up for Profile views. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange): |
| (WebInspector.TimelineRecordingContentView.prototype._contentViewSelectionPathComponentDidChange): |
| (WebInspector.TimelineRecordingContentView.prototype._updateFilterBar): |
| Update the filter bar when the selection path components change, since |
| that triggers when arbitrarily deep sub-content-views change. |
| |
| * UserInterface/Views/TimelineView.js: |
| (WebInspector.TimelineView.prototype.get showsFilterBar): |
| Default is yes. |
| |
| 2016-05-10 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Avoid unnecessary timeout identifier churn in TimelineManager |
| https://bugs.webkit.org/show_bug.cgi?id=157535 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Controllers/TimelineManager.js: |
| (WebInspector.TimelineManager): |
| (WebInspector.TimelineManager.prototype.capturingStarted): |
| (WebInspector.TimelineManager.prototype._resetAutoRecordingDeadTimeTimeout): |
| Don't re-tickle if we tickled in the last 10ms. |
| |
| 2016-05-10 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Can't select record bar in Frames timeline |
| https://bugs.webkit.org/show_bug.cgi?id=156963 |
| <rdar://problem/25898256> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Sync record selection between the Rendering Frames grid and overview graph. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGridNode.prototype.hasAncestor): |
| Add helper function needed by TimelineView. |
| |
| * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js: |
| (WebInspector.RenderingFrameTimelineOverviewGraph.prototype._mouseClicked): |
| Don't deselect the selected record when clicked. Initially this seemed |
| like a good idea but it complicates the UI for no added value. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView.prototype._contentViewSelectionPathComponentDidChange): |
| Get path components from the current TimelineView instead of the |
| TimelineRecordingContentView, now that the selected record appears |
| in the bottom ContentBrowser's navigation bar. |
| |
| 2016-05-10 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Backend should initiate timeline recordings on page navigations to ensure nothing is missed |
| https://bugs.webkit.org/show_bug.cgi?id=157504 |
| <rdar://problem/26188642> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Controllers/TimelineManager.js: |
| (WebInspector.TimelineManager): |
| (WebInspector.TimelineManager.prototype.set autoCaptureOnPageLoad): |
| (WebInspector.TimelineManager.prototype.set enabledTimelineTypes): |
| (WebInspector.TimelineManager.prototype._updateAutoCaptureInstruments): |
| For backends that support it, enable/disable auto capture and the instruments to use. |
| |
| (WebInspector.TimelineManager.prototype.autoCaptureStarted): |
| New event, stop and start a new recording. Set a flag that we should |
| detect the auto capturing resource so we know when the stop the |
| auto capture. |
| |
| (WebInspector.TimelineManager.prototype._loadNewRecording): |
| (WebInspector.TimelineManager.prototype._addRecord): |
| (WebInspector.TimelineManager.prototype._startAutoCapturing): Renamed. |
| (WebInspector.TimelineManager.prototype._attemptAutoCapturingForFrame): |
| (WebInspector.TimelineManager.prototype._legacyAttemptStartAutoCapturingForFrame): |
| (WebInspector.TimelineManager.prototype._stopAutoRecordingSoon): |
| (WebInspector.TimelineManager.prototype._resetAutoRecordingMaxTimeTimeout): |
| (WebInspector.TimelineManager.prototype._resetAutoRecordingDeadTimeTimeout): |
| (WebInspector.TimelineManager.prototype._mainResourceDidChange): |
| (WebInspector.TimelineManager.prototype._mergeScriptProfileRecords): |
| Factor out the new path, old path, and shared code for auto capturing. |
| Renamed _startAutoCapturing to _attemptAutoCapturingForFrame which |
| better matches what it tries to do. |
| |
| * UserInterface/Protocol/TimelineObserver.js: |
| (WebInspector.TimelineObserver.prototype.autoCaptureStarted): |
| Inform TimelineManager. |
| |
| 2016-05-10 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Debugger sidebar should refresh when Debug UI enabled/disabled |
| https://bugs.webkit.org/show_bug.cgi?id=157540 |
| <rdar://problem/26207064> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel.prototype._scriptRemoved.removeScript): |
| (WebInspector.DebuggerSidebarPanel.prototype._scriptRemoved): |
| Remove element from both tree outlines, if it exists. |
| |
| 2016-05-10 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: TimelineOverview assertion failed: Missing overview graph for timeline type undefined |
| https://bugs.webkit.org/show_bug.cgi?id=157533 |
| <rdar://problem/26204033> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView.prototype._recordWasFiltered): |
| The OverviewTimelineView's represented object is the entire recording, |
| and TimelineOverview.recordWasFiltered expects a timeline. Return early |
| since no graph in the overview needs updating. |
| |
| 2016-05-10 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Call Trees and Memory view blank |
| https://bugs.webkit.org/show_bug.cgi?id=157486 |
| <rdar://problem/26178404> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange): |
| (WebInspector.TimelineRecordingContentView.prototype._updateTimes): |
| Setting current time now handled by _updateTimelineViewTimes. |
| (WebInspector.TimelineRecordingContentView.prototype._capturingStopped): |
| Update times for the current TimelineView when the recording ends. |
| This ensures that views that don't call TimelineView.setupDataGrid are |
| able to update state that depends on the ruler selection. |
| |
| (WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged): |
| (WebInspector.TimelineRecordingContentView.prototype._updateTimelineViewTimes): |
| Renamed from _updateTimelineViewSelection. Sets start, end, and current times. |
| |
| 2016-05-10 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Cleanup super getter/setter now that underlying issue is fixed |
| https://bugs.webkit.org/show_bug.cgi?id=157488 |
| <rdar://problem/26179120> |
| |
| Reviewed by Brian Burg. |
| |
| Addressed FIXMEs for bug 147064: |
| <https://webkit.org/b/147064> Getter and setter on super are called with wrong "this" object |
| |
| * UserInterface/Views/VisualStyleKeywordPicker.js: |
| (WebInspector.VisualStyleKeywordPicker.prototype.get value): |
| (WebInspector.VisualStyleKeywordPicker.prototype.set value): |
| (WebInspector.VisualStyleKeywordPicker.prototype.get synthesizedValue): |
| (WebInspector.VisualStyleKeywordPicker.prototype._getValue): Deleted. |
| (WebInspector.VisualStyleKeywordPicker.prototype._setValue): Deleted. |
| (WebInspector.VisualStyleKeywordPicker.prototype._generateSynthesizedValue): Deleted. |
| |
| * UserInterface/Views/VisualStyleNumberInputBox.js: |
| (WebInspector.VisualStyleNumberInputBox.prototype.set specialPropertyPlaceholderElementText): |
| |
| * UserInterface/Views/VisualStyleTimingEditor.js: |
| (WebInspector.VisualStyleTimingEditor.prototype.get value): |
| (WebInspector.VisualStyleTimingEditor.prototype.set value): |
| (WebInspector.VisualStyleTimingEditor.prototype.get synthesizedValue): |
| (WebInspector.VisualStyleTimingEditor.prototype._getValue): Deleted. |
| (WebInspector.VisualStyleTimingEditor.prototype._setValue): Deleted. |
| (WebInspector.VisualStyleTimingEditor.prototype._generateSynthesizedValue): Deleted. |
| |
| 2016-05-09 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Filtering by Errors/Warnings should not filter Breakpoints list |
| https://bugs.webkit.org/show_bug.cgi?id=157481 |
| <rdar://problem/26177346> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| New UI strings. |
| |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel.showResourcesWithIssuesOnlyFilterFunction): |
| Only filter tree elements belonging to the scripts tree outline. |
| (WebInspector.DebuggerSidebarPanel): |
| Drive-by cleanup of Issues filter button tooltips. |
| |
| 2016-05-09 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| REGRESSION: Web Inspector: DOM path bar blinks when modifying inline styles |
| https://bugs.webkit.org/show_bug.cgi?id=149258 |
| <rdar://problem/22737843> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Base/Utilities.js: |
| (Array.shallowEqual): |
| * UserInterface/Views/ContentBrowser.js: |
| (WebInspector.ContentBrowser.prototype._updateContentViewNavigationItems): |
| (WebInspector.ContentBrowser.prototype._removeAllNavigationItems): |
| Don't re-render the navigation bar when all new navigation items match the previous ones. |
| |
| * UserInterface/Views/HierarchicalPathNavigationItem.js: |
| (WebInspector.HierarchicalPathNavigationItem.set components.let.componentsEqual): |
| (WebInspector.HierarchicalPathNavigationItem.prototype.set components): |
| Don't re-render HierarchicalPathComponent when all new path components match the previous ones. |
| |
| 2016-05-09 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Remove Global Breakpoints folder |
| https://bugs.webkit.org/show_bug.cgi?id=157478 |
| <rdar://problem/26176524> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| Remove UI string. |
| |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel): |
| (WebInspector.DebuggerSidebarPanel.prototype._breakpointTreeOutlineContextMenuTreeElement): |
| (WebInspector.DebuggerSidebarPanel.prototype._treeSelectionDidChange): |
| Remove references to folder tree element. |
| |
| (WebInspector.DebuggerSidebarPanel.prototype._compareTopLevelTreeElements.isSpecialBreakpoint): |
| (WebInspector.DebuggerSidebarPanel.prototype._compareTopLevelTreeElements): |
| Top level comparison should check for "special" breakpoints. |
| |
| 2016-05-09 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Heap Snapshot Timeline view can be live |
| https://bugs.webkit.org/show_bug.cgi?id=157487 |
| <rdar://problem/26178439> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/HeapAllocationsTimelineView.js: |
| (WebInspector.HeapAllocationsTimelineView.prototype.get showsLiveRecordingData): Deleted. |
| Don't override, should return true. |
| |
| 2016-05-09 Manuel Rego Casasnovas <rego@igalia.com> |
| |
| [css-grid] Update Grid Layout properties in CSSKeywordCompletions.js |
| https://bugs.webkit.org/show_bug.cgi?id=157166 |
| |
| Reviewed by Timothy Hatcher. |
| |
| The CSS Grid Layout properties have been changing on the spec, |
| however they haven't been updated in CSSKeywordCompletions for a long time. |
| Update them using the last spec draft: |
| https://drafts.csswg.org/css-grid/#property-index |
| |
| * UserInterface/Models/CSSKeywordCompletions.js: |
| |
| 2016-05-09 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Cleanup issue tree elements in the Debugger sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=157469 |
| <rdar://problem/26162999> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel): |
| (WebInspector.DebuggerSidebarPanel.prototype._addIssue): |
| Don't add duplicate issue tree elements. |
| (WebInspector.DebuggerSidebarPanel.prototype._handleIssuesCleared): |
| Remove issues from the correct tree outline. |
| |
| * UserInterface/Views/IssueTreeElement.css: |
| (.issue .icon): |
| (.issue.warning .icon): |
| (.issue.error .icon): |
| Match dashboard icons. |
| |
| 2016-05-09 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Show in progress message in Timeline views that do not show data until the recording finishes |
| https://bugs.webkit.org/show_bug.cgi?id=156761 |
| <rdar://problem/25970771> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| New UI strings. |
| |
| * UserInterface/Main.html: |
| New view class. |
| |
| * UserInterface/Views/HeapAllocationsTimelineView.js: |
| (WebInspector.HeapAllocationsTimelineView.prototype.get showsLiveRecordingData): |
| * UserInterface/Views/RenderingFrameTimelineView.js: |
| (WebInspector.RenderingFrameTimelineView.prototype.get showsLiveRecordingData): |
| * UserInterface/Views/ScriptDetailsTimelineView.js: |
| (WebInspector.ScriptDetailsTimelineView.prototype.get showsLiveRecordingData): |
| * UserInterface/Views/ScriptProfileTimelineView.js: |
| (WebInspector.ScriptProfileTimelineView.prototype.get showsLiveRecordingData): |
| Don't show live recording data. |
| |
| * UserInterface/Views/ScriptClusterTimelineView.js: |
| (WebInspector.ScriptClusterTimelineView.prototype.get showsLiveRecordingData): |
| Forward property to current child TimelineView. |
| |
| * UserInterface/Views/TimelineRecordingContentView.css: |
| (.content-view.timeline-recording > .content-browser .recording-progress): |
| (.content-view.timeline-recording > .content-browser .recording-progress > .status): |
| (.content-view.timeline-recording > .content-browser .recording-progress > .status > .indeterminate-progress-spinner): |
| New progress view styles. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView): |
| (WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange): |
| (WebInspector.TimelineRecordingContentView.prototype._capturingStarted): |
| (WebInspector.TimelineRecordingContentView.prototype._capturingStopped): |
| Refresh progress view visibility. |
| |
| (WebInspector.TimelineRecordingContentView.prototype._updateProgressView): |
| Show the progress view if we're currently capturing, and showing a view |
| that doesn't support showing live data. |
| |
| * UserInterface/Views/TimelineRecordingProgressView.js: |
| (WebInspector.TimelineRecordingProgressView): |
| (WebInspector.TimelineRecordingProgressView.prototype.get visible): |
| (WebInspector.TimelineRecordingProgressView.prototype.set visible): |
| Show a status message, indeterminate progress spinner, and Stop Recording |
| button while timeline data is being recorded. |
| |
| * UserInterface/Views/TimelineView.js: |
| (WebInspector.TimelineView.prototype.get showsLiveRecordingData): |
| Implemented by TimelineViews that don't support showing data while recording. |
| |
| * UserInterface/Views/Variables.css: |
| (:root): |
| Add --panel-background-color-light for the progress view. |
| |
| 2016-05-08 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Add Breakpoints and Scripts folders to Debugger sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=151119 |
| <rdar://problem/23488916> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Add a collapsible Sources section to the Debugger beneath the existing |
| Breakpoints section. |
| |
| * UserInterface/Views/DebuggerSidebarPanel.css: |
| Remove unused CSS class names. |
| |
| (.sidebar > .panel.navigation.debugger .details-section.scripts:not(.collapsed)): |
| Hide scripts section bottom border when expanded. As the last |
| section, a border only adds visual clutter. |
| |
| (.sidebar > .panel.navigation.debugger .details-section.scripts): Deleted. |
| (.sidebar > .panel.navigation.debugger.paused .details-section.scripts): Deleted. |
| (.sidebar > .panel.navigation.debugger .details-section.scripts .header): Deleted. |
| (.sidebar > .panel.navigation.debugger.paused .details-section.scripts .header): Deleted. |
| (.sidebar > .panel.navigation.debugger .details-section.scripts.collapsed > .content): Deleted. |
| (.sidebar > .panel.navigation.debugger.paused .details-section.scripts.collapsed > .content): Deleted. |
| No longer needed. |
| |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel): |
| Create separate "Breakpoints" and "Sources" sections, and make filter |
| placeholder text generic. Remove unused class from breakpoints tree. |
| |
| (WebInspector.DebuggerSidebarPanel.prototype.treeElementForRepresentedObject): |
| Check both breakpoint and scripts tree outlines. |
| |
| (WebInspector.DebuggerSidebarPanel.prototype._addBreakpoint): |
| (WebInspector.DebuggerSidebarPanel.prototype._addTreeElementForSourceCodeToTreeOutline): |
| Make helper function generic. |
| |
| (WebInspector.DebuggerSidebarPanel.prototype._addResource): |
| (WebInspector.DebuggerSidebarPanel.prototype._mainResourceDidChange): |
| (WebInspector.DebuggerSidebarPanel.prototype._addScript): |
| Add resources to the scripts tree. |
| |
| (WebInspector.DebuggerSidebarPanel.prototype._scriptsCleared): |
| Clear the scripts tree. |
| |
| (WebInspector.DebuggerSidebarPanel.prototype._removeDebuggerTreeElement): |
| Remove script element when last breakpoint is removed. |
| |
| (WebInspector.DebuggerSidebarPanel.prototype._addIssue): |
| (WebInspector.DebuggerSidebarPanel.prototype._addTreeElementForSourceCodeToContentTreeOutline): Deleted. |
| Renamed _addTreeElementForSourceCodeToTreeOutline. |
| |
| 2016-05-08 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: SourceCodeTextEditor issue widgets/line styles should reset when log is cleared |
| https://bugs.webkit.org/show_bug.cgi?id=157460 |
| <rdar://problem/26159633> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor): |
| (WebInspector.SourceCodeTextEditor.prototype._logCleared): |
| Clear issue widgets and CodeMirror line class names when log cleared. |
| |
| 2016-05-06 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Inspect Element and Element Selection searching should work with Shadow DOM Nodes |
| https://bugs.webkit.org/show_bug.cgi?id=157446 |
| <rdar://problem/24688447> |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * UserInterface/Models/DOMNode.js: |
| (WebInspector.DOMNode): |
| Shadow DOM nodes did not have a parent, and so when attempting |
| to create DOM Tree elements up the chain, we were failing at |
| shadow boundaries. Create the parent relationship, the parent |
| already treats it as a child. |
| |
| * UserInterface/Views/DOMTreeOutline.js: |
| (WebInspector.DOMTreeOutline.prototype._revealAndSelectNode): |
| Whenever we try to reveal and select an element in a shadow tree |
| but the setting to show shadow DOM is disabled, walk up until |
| we are out of the shadow tree. |
| |
| 2016-05-06 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Unexpected white border at the bottom of Debugger filter bar |
| https://bugs.webkit.org/show_bug.cgi?id=157430 |
| <rdar://problem/26146602> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Remove the semi-transparent white borders. |
| |
| * UserInterface/Views/NavigationBar.css: |
| (.navigation-bar): Deleted. |
| * UserInterface/Views/SearchSidebarPanel.css: |
| (.sidebar > .panel.navigation.search > .search-bar): Deleted. |
| |
| 2016-05-06 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Remove HeapSnapshot Summary View |
| https://bugs.webkit.org/show_bug.cgi?id=157385 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Main.html: |
| * UserInterface/Views/HeapSnapshotClusterContentView.js: |
| (WebInspector.HeapSnapshotClusterContentView): |
| (WebInspector.HeapSnapshotClusterContentView.prototype.get summaryContentView): Deleted. |
| (WebInspector.HeapSnapshotClusterContentView.prototype.showSummary): Deleted. |
| (WebInspector.HeapSnapshotClusterContentView.prototype._pathComponentForContentView): |
| (WebInspector.HeapSnapshotClusterContentView.prototype._identifierForContentView): |
| (WebInspector.HeapSnapshotClusterContentView.prototype._showContentViewForIdentifier): |
| * UserInterface/Views/HeapSnapshotSummaryContentView.css: Removed. |
| * UserInterface/Views/HeapSnapshotSummaryContentView.js: Removed. |
| * UserInterface/Views/Variables.css: |
| (:root): |
| |
| 2016-05-06 Manuel Rego Casasnovas <rego@igalia.com> |
| |
| [css-grid] Unprefix CSS Grid Layout properties |
| https://bugs.webkit.org/show_bug.cgi?id=157137 |
| |
| Reviewed by Simon Fraser. |
| |
| Remove "-webkit" prefix from all the grid layout properties, |
| including the display value. |
| Update the source code to remove the prefix where it was used too. |
| |
| * UserInterface/Models/CSSKeywordCompletions.js: |
| |
| 2016-05-05 Joseph Pecoraro <pecoraro@apple.com> |
| |
| REGRESSION(r200474): Exception in autocompletion - `getCompletions` not found |
| https://bugs.webkit.org/show_bug.cgi?id=157408 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js: |
| (WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.evaluated): |
| This function was renamed, but this instance was missed. |
| |
| 2016-05-05 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Provide go-to links next to Functions in GC Root Path popover |
| https://bugs.webkit.org/show_bug.cgi?id=157381 |
| <rdar://problem/26122531> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/HeapSnapshotInstanceDataGridNode.js: |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._mouseoverHandler.appendPathRow): |
| For functions, create a go-to-link. Insert a placeholder to replace |
| so that the popover sizes itself with a potential go-to arrow, as |
| it won't resize when the go-to arrows get inserted. |
| |
| * UserInterface/Views/HeapSnapshotInstancesContentView.css: |
| (.heap-snapshot-instance-popover-content .node .go-to-link): |
| Move down 1px to align better with the text. |
| |
| 2016-05-05 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: HeapSnapshot should exploratory Object Graph view |
| https://bugs.webkit.org/show_bug.cgi?id=157371 |
| <rdar://problem/26107304> |
| |
| Reviewed by Timothy Hatcher. |
| |
| HeapSnapshots now have two ContentViews for viewing the graph. |
| |
| HeapSnapshotInstancesContentView: |
| - top level are Class Categories nodes |
| - categories expand to Instances |
| - instances expand to show what they retain |
| - retained sizes only shown for dominated nodes of the instance |
| |
| HeapSnapshotObjectGraphContentView: |
| - top level are GlobalObject or Window nodes |
| - expand to show what they retain |
| - retained sizes are shown for all nodes, everything is shown |
| |
| This also provides a custom preview for Window instances. Instead of |
| showing an ObjectPreview, it just shows the `window.location.href` |
| for that instance, which is useful when there are multiple Window |
| instances for different frames. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Main.html: |
| New "Object Graph" string and new files. |
| |
| * UserInterface/Images/HeapSnapshotObjectGraph.svg: Added. |
| * UserInterface/Images/gtk/HeapSnapshotObjectGraph.svg: Added. |
| * UserInterface/Views/PathComponentIcons.css: |
| (.heap-snapshot-object-graph-icon .icon): |
| Copy the red [{}] icon from Style Rules. |
| |
| * UserInterface/Views/HeapSnapshotClusterContentView.js: |
| (WebInspector.HeapSnapshotClusterContentView): |
| (WebInspector.HeapSnapshotClusterContentView.prototype.get objectGraphContentView): |
| (WebInspector.HeapSnapshotClusterContentView.prototype.showObjectGraph): |
| (WebInspector.HeapSnapshotClusterContentView.prototype._supportsObjectGraph): |
| (WebInspector.HeapSnapshotClusterContentView.prototype._pathComponentForContentView): |
| (WebInspector.HeapSnapshotClusterContentView.prototype._identifierForContentView): |
| (WebInspector.HeapSnapshotClusterContentView.prototype._showContentViewForIdentifier): |
| Include an "Object Graph" content view. This is unavailable in Diff views |
| but is available for individual HeapSnapshots. |
| |
| * UserInterface/Views/HeapSnapshotContentView.js: Renamed from Source/WebInspectorUI/UserInterface/Views/HeapSnapshotInstancesContentView.js. |
| (WebInspector.HeapSnapshotContentView): |
| (WebInspector.HeapSnapshotContentView.prototype.shown): |
| (WebInspector.HeapSnapshotContentView.prototype.hidden): |
| (WebInspector.HeapSnapshotContentView.prototype._sortDataGrid): |
| (WebInspector.HeapSnapshotContentView.prototype._heapSnapshotDataGridTreeDidPopulate): |
| (WebInspector.HeapSnapshotInstancesContentView): |
| (WebInspector.HeapSnapshotObjectGraphContentView): |
| Share and generalize a HeapSnapshot ContentView. The only differences are |
| the DataGrid columns, DataGridTree class, and identifier prefix for settings. |
| |
| * UserInterface/Views/HeapSnapshotDataGridTree.js: Renamed from Source/WebInspectorUI/UserInterface/Views/HeapSnapshotInstancesDataGridTree.js. |
| (WebInspector.HeapSnapshotDataGridTree): |
| (WebInspector.HeapSnapshotDataGridTree.buildSortComparator): |
| (WebInspector.HeapSnapshotDataGridTree.prototype.get heapSnapshot): |
| (WebInspector.HeapSnapshotDataGridTree.prototype.get visible): |
| (WebInspector.HeapSnapshotDataGridTree.prototype.get popover): |
| (WebInspector.HeapSnapshotDataGridTree.prototype.get popoverNode): |
| (WebInspector.HeapSnapshotDataGridTree.prototype.set popoverNode): |
| (WebInspector.HeapSnapshotDataGridTree.prototype.get children): |
| (WebInspector.HeapSnapshotDataGridTree.prototype.appendChild): |
| (WebInspector.HeapSnapshotDataGridTree.prototype.insertChild): |
| (WebInspector.HeapSnapshotDataGridTree.prototype.removeChildren): |
| (WebInspector.HeapSnapshotDataGridTree.prototype.set sortComparator): |
| (WebInspector.HeapSnapshotDataGridTree.prototype.sort): |
| (WebInspector.HeapSnapshotDataGridTree.prototype.shown): |
| (WebInspector.HeapSnapshotDataGridTree.prototype.hidden): |
| (WebInspector.HeapSnapshotDataGridTree.prototype.willDismissPopover): |
| (WebInspector.HeapSnapshotDataGridTree.prototype.get alwaysShowRetainedSize): |
| (WebInspector.HeapSnapshotDataGridTree.prototype.populateTopLevel): |
| (WebInspector.HeapSnapshotDataGridTree.prototype.didPopulate): |
| (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.get alwaysShowRetainedSize): |
| (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.populateTopLevel): |
| (WebInspector.HeapSnapshotInstancesDataGridTree): |
| (WebInspector.HeapSnapshotObjectGraphDataGridTree.prototype.get alwaysShowRetainedSize): |
| (WebInspector.HeapSnapshotObjectGraphDataGridTree.prototype.populateTopLevel): |
| (WebInspector.HeapSnapshotObjectGraphDataGridTree): |
| |
| * UserInterface/Views/HeapSnapshotInstanceDataGridNode.js: |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype.createCellContent): |
| Start using different previews based on instance type. |
| |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._populateError): |
| Common preview error logic. Also, don't output "Internal object" next to things |
| like Structure, InferredType, etc. Just don't output anything. Eventually, if |
| we provide preview data, something will show, but for now nothing is fine. |
| |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._populateWindowPreview.inspectedPage_window_getLocationHref): |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._populateWindowPreview): |
| Custom preview logic for Window's gets `window.location.href` on the instance if it is alive. |
| |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._populatePreview): |
| Normal preview logic. |
| |
| * UserInterface/Views/HeapSnapshotInstancesContentView.css: |
| (.heap-snapshot > .data-grid tr:not(.selected) td .preview-error): Deleted. |
| The red text for errors was standing out too much. Make it the default black. |
| |
| * UserInterface/Views/HeapAllocationsTimelineView.js: |
| (WebInspector.HeapAllocationsTimelineView.prototype.showHeapSnapshotTimelineRecord): |
| Better variable name. |
| |
| * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js: |
| (WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.inspectedPage_evalResult_getArrayCompletions): |
| (WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.inspectedPage_evalResult_getCompletions): |
| (WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.getArrayCompletions): Deleted. |
| (WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.getCompletions): Deleted. |
| (WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.evaluated): |
| Try to be clearer about functions that run on the inspected page |
| by using the pattern with inspectedPage_<thisObject>_functionName. |
| |
| 2016-05-05 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Console is unresponsive for >10 seconds when it tries to render 10,000 messages |
| https://bugs.webkit.org/show_bug.cgi?id=157368 |
| <rdar://problem/26103657> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Render only up to 100 messages per animation frame to keep the Inspector's UI responsive. |
| |
| * UserInterface/Controllers/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController.prototype.renderPendingMessages): |
| |
| 2016-05-05 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Crash if you type "debugger" in the console and continue |
| https://bugs.webkit.org/show_bug.cgi?id=156924 |
| <rdar://problem/25884189> |
| |
| Reviewed by Mark Lam. |
| |
| * UserInterface/Test/InspectorProtocol.js: |
| (InspectorProtocol.sendCommand): |
| Simplify sending a command with no parameters. |
| |
| 2016-05-04 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| REGRESSION (r200401): Web Inspector: TypeError: undefined is not an object (evaluating 'messageElement.classList') |
| https://bugs.webkit.org/show_bug.cgi?id=157356 |
| <rdar://problem/26097424> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/LogContentView.js: |
| (WebInspector.LogContentView.prototype._reappendProvisionalMessages): |
| Don't filter messages since we already do that in didAppendConsoleMessageView. |
| |
| 2016-05-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: GC Root Path sometimes does not go up to Window |
| https://bugs.webkit.org/show_bug.cgi?id=156768 |
| <rdar://problem/25816131> |
| |
| Reviewed by Geoffrey Garen. |
| |
| * UserInterface/Proxies/HeapSnapshotNodeProxy.js: |
| (WebInspector.HeapSnapshotNodeProxy.prototype.retainers): |
| Include paths for debugging. |
| |
| * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js: |
| (HeapSnapshot.prototype.shortestGCRootPath): |
| (HeapSnapshot.prototype._isNodeGlobalObject): |
| Prefer the shortest GC Root Path that contains a known |
| global object, otherwise fallback to the shortest. |
| |
| (HeapSnapshot.prototype.retainers): |
| Include paths for debugging. |
| |
| 2016-05-03 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Adding a new console message shouldn't modify DOM when the console log is hidden |
| https://bugs.webkit.org/show_bug.cgi?id=155629 |
| <rdar://problem/25235470> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Instead of rendering console messages right away, store them (in _pendingMessages) |
| and render only when the console tab or the split console is visible. |
| Also, batch rendering operations using requestAnimationFrame. |
| |
| * UserInterface/Controllers/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController): |
| Store console message views in _pendingMessages. |
| |
| (WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessageView): |
| (WebInspector.JavaScriptLogViewController.prototype.renderPendingMessages): |
| Use requestAnimationFrame batching. Run isScrolledToBottom() at most only once |
| per batch. |
| |
| (WebInspector.JavaScriptLogViewController.prototype.renderPendingMessagesSoon): |
| (WebInspector.JavaScriptLogViewController.prototype._didRenderConsoleMessageView): |
| There is no need to run scrollToBottom again. |
| |
| * UserInterface/Views/ConsoleCommandView.js: |
| (WebInspector.ConsoleCommandView): |
| Move all DOM operations to a new render method. |
| |
| (WebInspector.ConsoleCommandView.prototype.render): |
| * UserInterface/Views/ConsoleMessageView.js: |
| (WebInspector.ConsoleMessageView): |
| (WebInspector.ConsoleMessageView.prototype.render): |
| (WebInspector.ConsoleMessageView.prototype.set repeatCount): |
| (WebInspector.ConsoleMessageView.prototype._renderRepeatCount): |
| * UserInterface/Views/LogContentView.js: |
| (WebInspector.LogContentView.prototype.shown): |
| When the console tab or the split console is opened render all pending messages. |
| |
| (WebInspector.LogContentView.prototype.didAppendConsoleMessageView): |
| Don't call needsLayout on every added console message. Call it only once per |
| requestAnimationFrame. Also, no need to scrollToBottom once again. |
| |
| (WebInspector.LogContentView.prototype._messageAdded): |
| (WebInspector.LogContentView.prototype._previousMessageRepeatCountUpdated): |
| (WebInspector.LogContentView.prototype._scopeFromMessageLevel): Deleted. |
| (WebInspector.LogContentView.prototype._markScopeBarItemUnread): Added. |
| Rename _pulseScopeBarItemBorder. In the very first version the border was pulsing, |
| but now we use small colored circles instead. |
| |
| 2016-05-03 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Give console.time/timeEnd a default label and warnings |
| https://bugs.webkit.org/show_bug.cgi?id=157325 |
| <rdar://problem/26073290> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Models/NativeFunctionParameters.js: |
| Update the convenience signature. |
| |
| 2016-05-03 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Update window.console function API description strings in Console |
| https://bugs.webkit.org/show_bug.cgi?id=157298 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Models/NativeFunctionParameters.js: |
| * UserInterface/Views/ObjectTreePropertyTreeElement.js: |
| (WebInspector.ObjectTreePropertyTreeElement.prototype._functionParameterString): |
| The Console object changed how it works. Work with the new |
| structure, and the older structure for legacy backends. |
| |
| 2016-05-03 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Allow format specifiers in console.assert and console.trace |
| https://bugs.webkit.org/show_bug.cgi?id=157295 |
| <rdar://problem/26056039> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/ConsoleMessageView.js: |
| (WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments): |
| Treat the first argument as a format specifier. |
| |
| 2016-05-02 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r200337. |
| https://bugs.webkit.org/show_bug.cgi?id=157294 |
| |
| Console hangs when evaluating expresisons (Requested by |
| JoePeck on #webkit). |
| |
| Reverted changeset: |
| |
| "Web Inspector: Adding a new console message shouldn't modify |
| DOM when the console log is hidden" |
| https://bugs.webkit.org/show_bug.cgi?id=155629 |
| http://trac.webkit.org/changeset/200337 |
| |
| 2016-05-02 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Unexpected "Script Element #" resources in Debugger Sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=157280 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel.prototype._addScript): |
| Don't include Script Element resources in the debugger sidebar by default. |
| |
| 2016-05-02 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Prefer "Console Evaluation" to "Eval Code" if we know it was a console evaluation |
| https://bugs.webkit.org/show_bug.cgi?id=157278 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| "Console Evaluation" string. |
| |
| * UserInterface/Controllers/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype._sourceCodeLocationFromPayload): Deleted. |
| Delete an assert that would throw when the location is noSourceID:-1:-1. |
| |
| * UserInterface/Models/CallFrame.js: |
| (WebInspector.CallFrame.fromDebuggerPayload): |
| (WebInspector.CallFrame.fromPayload): |
| (WebInspector.CallFrame): |
| When this is in a Console Evalution provide better values. |
| |
| * UserInterface/Models/GarbageCollection.js: |
| (WebInspector.GarbageCollection): |
| Drive-by address a common assertions seen while paused. |
| |
| 2016-05-02 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Adding a new console message shouldn't modify DOM when the console log is hidden |
| https://bugs.webkit.org/show_bug.cgi?id=155629 |
| <rdar://problem/25235470> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Instead of rendering console messages right away, store them (in _pendingMessages) |
| and render only when the console tab or the split console is visible. |
| Also, batch rendering operations using requestAnimationFrame. |
| |
| * UserInterface/Controllers/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController): |
| Store console message views in _pendingMessages. |
| |
| (WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessageView): |
| (WebInspector.JavaScriptLogViewController.prototype.renderPendingMessages): |
| Use requestAnimationFrame batching. Run isScrolledToBottom() at most only once |
| per batch. |
| |
| (WebInspector.JavaScriptLogViewController.prototype.renderPendingMessagesSoon): |
| (WebInspector.JavaScriptLogViewController.prototype._didRenderConsoleMessageView): |
| There is no need to run scrollToBottom again. |
| |
| * UserInterface/Views/ConsoleCommandView.js: |
| (WebInspector.ConsoleCommandView): |
| Move all DOM operations to a new render method. |
| |
| (WebInspector.ConsoleCommandView.prototype.render): |
| * UserInterface/Views/ConsoleMessageView.js: |
| (WebInspector.ConsoleMessageView): |
| (WebInspector.ConsoleMessageView.prototype.render): |
| (WebInspector.ConsoleMessageView.prototype.set repeatCount): |
| (WebInspector.ConsoleMessageView.prototype._renderRepeatCount): |
| * UserInterface/Views/LogContentView.js: |
| (WebInspector.LogContentView.prototype.shown): |
| When the console tab or the split console is opened render all pending messages. |
| |
| (WebInspector.LogContentView.prototype.didAppendConsoleMessageView): |
| No need to scrollToBottom once again. |
| |
| (WebInspector.LogContentView.prototype._messageAdded): |
| (WebInspector.LogContentView.prototype._previousMessageRepeatCountUpdated): |
| (WebInspector.LogContentView.prototype._scopeFromMessageLevel): Deleted. |
| (WebInspector.LogContentView.prototype._markScopeBarItemUnread): Added. |
| Rename _pulseScopeBarItemBorder. In the very first version the border was pulsing, |
| but now we use small colored circles instead. |
| |
| 2016-05-02 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Uncaught Exception: TypeError: null is not an object (evaluating 'sourceCodeLocation.formattedLineNumber') |
| https://bugs.webkit.org/show_bug.cgi?id=157239 |
| <rdar://problem/26030791> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Controllers/IssueManager.js: |
| (WebInspector.IssueManager.issueMatchSourceCode): |
| Require a sourceCodeLocation for Script errors. |
| |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype._addIssue): |
| Be safe against a missing sourceCodeLocation. |
| |
| * UserInterface/Views/SourceCodeTextEditor.css: |
| (.source-code.text-editor > .CodeMirror .issue-widget.inline > .arrow): |
| (@media (-webkit-min-device-pixel-ratio: 2)): |
| Adjust the style, on non-Retina the inline message arrow would sometimes |
| be detached from the warning message. |
| |
| 2016-05-02 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Zooming of docked Web Inspector affects the webpage, but reset to 0 does not |
| https://bugs.webkit.org/show_bug.cgi?id=157234 |
| rdar://problem/26027177 |
| |
| Always prevent default for the zoom keyboard shortcuts to avoid passing the event back to |
| Safari to handle and add explicit beeps when max/min is hit. |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.contentLoaded): Removed setting implicitlyPreventsDefault on zoom keyboard shortcuts. |
| (WebInspector._increaseZoom): Add explicit beep and remove preventDefault call. |
| (WebInspector._decreaseZoom): Ditto. |
| |
| 2016-05-01 Dan Bernstein <mitz@apple.com> |
| |
| WebInspectorUI.framework/Versions/A/Resources/Images/Legacy is empty |
| https://bugs.webkit.org/show_bug.cgi?id=157248 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Images/Legacy: Removed. |
| |
| 2016-04-29 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Issues inspecting the inspector, pausing on breakpoints causes content to not load |
| https://bugs.webkit.org/show_bug.cgi?id=157198 |
| <rdar://problem/26011049> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Protocol/InspectorBackend.js: |
| (InspectorBackendClass.prototype._sendCommandToBackendWithCallback): |
| (InspectorBackendClass.prototype._sendCommandToBackendExpectingPromise): |
| While auditing, use simpler check. |
| |
| * UserInterface/Proxies/FormatterWorkerProxy.js: |
| (WebInspector.FormatterWorkerProxy.canFormat): Deleted. |
| While auditing, remove dead code. |
| |
| 2016-04-29 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Scrolling in Timelines causes flashing of the DataGrid |
| https://bugs.webkit.org/show_bug.cgi?id=157212 |
| rdar://problem/25994717 |
| |
| Listen for mousewheel events too so we can update the visible rows sooner. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid): Call _updateScrollListeners. |
| (WebInspector.DataGrid.prototype.set inline): Use _updateScrollListeners. |
| (WebInspector.DataGrid.prototype.set variableHeightRows): Use _updateScrollListeners. |
| (WebInspector.DataGrid.prototype._updateScrollListeners): Added. Listen for mousewheel too. |
| |
| 2016-04-29 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Jump to Line in auto formatted JavaScript does not work the first time |
| https://bugs.webkit.org/show_bug.cgi?id=157194 |
| <rdar://problem/26008471> |
| |
| Reviewed by Timothy Hatcher. |
| |
| When doing asynchronous formatting we set the content of the editor |
| twice. First to prime the editors back/foward list with the original |
| content, and then again after we get the formatted content from the |
| Worker, and then display the content. |
| |
| The TextEditor attempts to reveal a position when the initial string |
| has been set. Back when autoformatting was synchronous this was fine. |
| Asynchronously however, this ends up happening between the original |
| and formatted value. Also, the TextEditor has no idea that the |
| SourceCodeTextEditor is going to format / defer displaying the |
| contents. Add a "defer" property to the TextEditor that the |
| SourceCodeTextEditor can use in this circumstance. |
| |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype._populateWithContent): |
| Avoid revealing a position when setting the original content. We will |
| be formatting and we will want to reveal the position afterwards. |
| |
| * UserInterface/Views/TextEditor.js: |
| (WebInspector.TextEditor): |
| (WebInspector.TextEditor.prototype.set deferReveal): |
| Provide another reason to defer revealing. |
| |
| 2016-04-28 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: FormatterWorker fails to find "External/Esprima.js" in Production builds |
| https://bugs.webkit.org/show_bug.cgi?id=157162 |
| <rdar://problem/25996556> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Workers have relative include paths. FormatterWorker has an includes |
| that looks like: |
| |
| importScripts(...[ |
| "../../External/Esprima/esprima.js", |
| ... |
| ]); |
| |
| In optimized builds (Production) the esprima resources are combined |
| and moved out of an External directory to "Esprima.js". We need to |
| update the path of this include in optimized builds. |
| |
| This adds a script to do some basic rewrites of paths. It will also |
| produce a build error if there are any other External paths that |
| may have been unhandled. |
| |
| * Scripts/copy-user-interface-resources.pl: |
| Run a new script to fix up the Worker imports for new pathes. |
| |
| * Scripts/fix-worker-imports-for-optimized-builds.pl: Added. |
| (fixWorkerImportsInFile): |
| (fixWorkerImportsInDirectory): |
| Replace "/External/Esprima/esprima.js" with "/Esprima.js" in imports. |
| Fatal error for any unhandled "/External" lines that were not replaced. |
| |
| 2016-04-27 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Missing CSS autocompletion suggestions for -webkit-user-select |
| https://bugs.webkit.org/show_bug.cgi?id=157104 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Models/CSSKeywordCompletions.js: |
| |
| 2016-04-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Clarify Heap Snapshot instance Retained Size by hiding retained size of non-dominated children |
| https://bugs.webkit.org/show_bug.cgi?id=157018 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Proxies/HeapSnapshotNodeProxy.js: |
| (WebInspector.HeapSnapshotNodeProxy): |
| (WebInspector.HeapSnapshotNodeProxy.deserialize): |
| * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js: |
| (HeapSnapshot.prototype.serializeNode): |
| Include dominatorNodeIdentifier in the default proxy properties. |
| |
| * UserInterface/Views/HeapSnapshotInstanceDataGridNode.js: |
| (WebInspector.HeapSnapshotInstanceDataGridNode): |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype.get node): |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype.createCellContent): |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._isDominatedByBase): |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._isDominatedByNonBaseParent): |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._populate): |
| * UserInterface/Views/HeapSnapshotInstancesContentView.css: |
| (.heap-snapshot > .data-grid td .sub-retained): |
| Save the base HeapSnapshotInstanceDataGridNode so that it can be referenced by |
| children. When expanding an instance, hide the retained size for children |
| that are not dominated by the base object. Show the retained size for children |
| for children that are dominated. If dominated directly, show the size in the |
| normal black. If dominated transitively, show the size in a dimmed gray. |
| |
| 2016-04-25 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: hook up grid row filtering in the new Timelines UI |
| https://bugs.webkit.org/show_bug.cgi?id=154924 |
| <rdar://problem/24934607> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Re-implement timeline data grid filtering that previously existed in the |
| navigation sidebar. This patch adds support for filter text, scope bars, |
| and filtering based on ruler selection. |
| |
| Multi-column filter support is now part of DataGrid. The grid checks compares |
| filter text against cell data of type string. DataGridNode subclasses may |
| provide custom string data for columns that format complex objects (such |
| as SourceCodeLocations). Cells containing data of type number are not |
| considered for filtering at this time. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid): |
| (WebInspector.DataGrid.prototype.set filterText): |
| (WebInspector.DataGrid.prototype.get filterDelegate): |
| (WebInspector.DataGrid.prototype.set filterDelegate): |
| (WebInspector.DataGrid.prototype.filterDidChange): |
| Called internally by the grid whenever the filter text or delegate changes. |
| Also called by clients that implement a filter delegate, to inform the |
| grid that a custom filter has changed. |
| |
| (WebInspector.DataGrid.prototype.hasCustomFilters): |
| (WebInspector.DataGrid.prototype.matchNodeAgainstCustomFilters): |
| Calls the filter delegate, if it exists, and provides a hook for |
| subclasses to provide custom filtering. |
| |
| (WebInspector.DataGrid.prototype._applyFiltersToNode.matchTextFilter): |
| (WebInspector.DataGrid.prototype._applyFiltersToNode.makeVisible): |
| (WebInspector.DataGrid.prototype._applyFiltersToNode): |
| Filters data grid nodes and fires filter events as needed. |
| (WebInspector.DataGrid.prototype._hasFilterDelegate): |
| Helper function. |
| (WebInspector.DataGrid.prototype._updateVisibleRows): |
| Exclude hidden nodes from revealed rows. |
| (WebInspector.DataGrid.prototype._updateFilter): |
| Filtering entry point, called on an animation frame. Updates visible |
| rows if any node was filtered/unfiltered. |
| |
| (WebInspector.DataGridNode): |
| (WebInspector.DataGridNode.prototype.get filterableData): |
| Gets an array of filterable strings for the node. |
| (WebInspector.DataGridNode.prototype.refresh): |
| Resets cached filterable strings. |
| (WebInspector.DataGridNode.prototype.filterableDataForColumn): |
| Can be overridden by subclasses to provide filterable text for complex |
| cell data, like as objects formatted as document fragments. |
| |
| * UserInterface/Views/LayoutTimelineDataGridNode.js: |
| (WebInspector.LayoutTimelineDataGridNode.prototype.get data): |
| |
| * UserInterface/Views/LayoutTimelineView.js: |
| (WebInspector.LayoutTimelineView): |
| Register grid and remove logic that has been moved to the base class. |
| (WebInspector.LayoutTimelineView.prototype.filterDidChange): |
| Update highlight after grid filter change. |
| (WebInspector.LayoutTimelineView.prototype._dataGridSelectedNodeChanged): |
| Update highlight when selection changes. |
| (WebInspector.LayoutTimelineView.prototype.matchTreeElementAgainstCustomFilters): Deleted. |
| (WebInspector.LayoutTimelineView.prototype.treeElementDeselected): Deleted. |
| (WebInspector.LayoutTimelineView.prototype._dataGridFiltersDidChange): Deleted. |
| (WebInspector.LayoutTimelineView.prototype._dataGridNodeSelected): Deleted. |
| No longer needed. |
| |
| * UserInterface/Views/NetworkTimelineView.js: |
| (WebInspector.NetworkTimelineView): |
| Register grid and remove logic that has been moved to the base class. |
| (WebInspector.NetworkTimelineView.prototype.matchTreeElementAgainstCustomFilters): Deleted. |
| (WebInspector.NetworkTimelineView.prototype._dataGridFiltersDidChange): Deleted. |
| (WebInspector.NetworkTimelineView.prototype._dataGridNodeSelected): Deleted. |
| No longer needed. |
| |
| * UserInterface/Views/OverviewTimelineView.js: |
| (WebInspector.OverviewTimelineView): |
| Register grid and remove logic that has been moved to the base class. |
| (WebInspector.OverviewTimelineView.prototype._dataGridNodeSelected): Deleted. |
| No longer needed. |
| |
| * UserInterface/Views/RenderingFrameTimelineView.js: |
| (WebInspector.RenderingFrameTimelineView): |
| Register grid and remove logic that has been moved to the base class. |
| (WebInspector.RenderingFrameTimelineView.prototype.get filterStartTime): |
| (WebInspector.RenderingFrameTimelineView.prototype.get filterEndTime): |
| Convert selection indices into filter start and end times. |
| (WebInspector.RenderingFrameTimelineView.prototype.matchDataGridNodeAgainstCustomFilters): |
| Perform custom filtering on rendering frame duration. |
| (WebInspector.RenderingFrameTimelineView.prototype._scopeBarSelectionDidChange): |
| Inform grid of custom filter change. |
| (WebInspector.RenderingFrameTimelineView.prototype.matchTreeElementAgainstCustomFilters): Deleted. |
| (WebInspector.RenderingFrameTimelineView.prototype._dataGridNodeSelected): Deleted. |
| No longer needed. |
| |
| * UserInterface/Views/ResourceTimelineDataGridNode.js: |
| (WebInspector.ResourceTimelineDataGridNode.prototype.filterableDataForColumn): |
| Use URL string for filtering "name" column. |
| |
| * UserInterface/Views/ScriptClusterTimelineView.js: |
| (WebInspector.ScriptClusterTimelineView.prototype.updateFilter): |
| Forwarding for TimelineView API. |
| (WebInspector.ScriptClusterTimelineView.prototype.matchDataGridNodeAgainstCustomFilters): |
| (WebInspector.ScriptClusterTimelineView.prototype.matchTreeElementAgainstCustomFilters): Deleted. |
| Renamed to matchDataGridNodeAgainstCustomFilters. |
| (WebInspector.ScriptClusterTimelineView.prototype._scriptClusterViewCurrentContentViewDidChange): Deleted. |
| Removed FIXME comment. Updating TimelineView times is sufficient to trigger filtering. |
| |
| * UserInterface/Views/ScriptDetailsTimelineView.js: |
| (WebInspector.ScriptDetailsTimelineView): |
| Register grid and remove logic that has been moved to the base class. |
| (WebInspector.ScriptDetailsTimelineView.prototype._dataGridFiltersDidChange): Deleted. |
| (WebInspector.ScriptDetailsTimelineView.prototype._dataGridNodeSelected): Deleted. |
| No longer needed. |
| |
| * UserInterface/Views/ScriptTimelineDataGridNode.js: |
| (WebInspector.ScriptTimelineDataGridNode.prototype.filterableDataForColumn): |
| Use main title and subtitle strings for filtering "name" column. |
| (WebInspector.ScriptTimelineDataGridNode.prototype._createNameCellDocumentFragment): |
| (WebInspector.ScriptTimelineDataGridNode.prototype._subtitle): |
| Break out for use in filterableDataForColumn. |
| |
| * UserInterface/Views/TimelineDataGrid.js: |
| (WebInspector.TimelineDataGrid): |
| Cleanup variable names. |
| (WebInspector.TimelineDataGrid.prototype.hasCustomFilters): |
| Always true because filtering on ruler selection always occurs. |
| (WebInspector.TimelineDataGrid.prototype.matchNodeAgainstCustomFilters): |
| Match nodes against scope bar filters. |
| (WebInspector.TimelineDataGrid.prototype._scopeBarSelectedItemsDidChange): |
| Inform grid of custom filter change. |
| (WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters): Deleted. |
| Re-implemented as _nodeMatchesActiveScopeFilters. |
| (WebInspector.TimelineDataGrid.prototype._updateScopeBarForcedVisibility): Deleted. |
| Old UI. No longer needed. |
| |
| * UserInterface/Views/TimelineDataGridNode.js: |
| (WebInspector.TimelineDataGridNode.prototype.filterableDataForColumn): |
| Filter strings for SourceCodeLocation and CallFrame objects. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView): |
| Listen for FilterBar changes and TimelineView record filtering. |
| (WebInspector.TimelineRecordingContentView.prototype._filterDidChange): |
| Update grid filters when filter bar changes. |
| (WebInspector.TimelineRecordingContentView.prototype._recordWasFiltered): |
| Update overview when records are filtered/unfiltered. |
| (WebInspector.TimelineRecordingContentView.prototype.filterDidChange): Deleted. |
| (WebInspector.TimelineRecordingContentView.prototype.recordWasFiltered): Deleted. |
| (WebInspector.TimelineRecordingContentView.prototype.matchTreeElementAgainstCustomFilters.checkTimeBounds): Deleted. |
| (WebInspector.TimelineRecordingContentView.prototype.matchTreeElementAgainstCustomFilters): Deleted. |
| Re-implemented in DataGrid. |
| (WebInspector.TimelineRecordingContentView.prototype._updateTimes): Deleted. |
| FIXME comment removed. Filtering occurs when TimelineView times are updated. |
| (WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged): Deleted. |
| |
| * UserInterface/Views/TimelineView.js: |
| (WebInspector.TimelineView): |
| (WebInspector.TimelineView.prototype.get navigationItems): |
| Used by TimelineRecordingContentView to add scope bar items to the |
| lower content browser's navigation bar. |
| |
| (WebInspector.TimelineView.prototype.set startTime): |
| (WebInspector.TimelineView.prototype.set endTime): |
| (WebInspector.TimelineView.prototype.set currentTime): |
| Update grid filter when recording times change. |
| (WebInspector.TimelineView.prototype.get filterStartTime): |
| (WebInspector.TimelineView.prototype.get filterEndTime): |
| Let subclasses (RenderingFrameTimelineView) provide filter start/end times. |
| (WebInspector.TimelineView.prototype.setupDataGrid): |
| Register the grid used by the TimelineView subclass, allowing the base |
| class to hook into common event listeners and provide boilerplate functionality. |
| |
| (WebInspector.TimelineView.prototype.updateFilter): |
| For data grid views, updates grid filters and sets new filter text. |
| (WebInspector.TimelineView.prototype.matchDataGridNodeAgainstCustomFilters): |
| (WebInspector.TimelineView.prototype.dataGridMatchNodeAgainstCustomFilters.checkTimeBounds): |
| (WebInspector.TimelineView.prototype.dataGridMatchNodeAgainstCustomFilters): |
| DataGrid filter delegate. Lets subclasses apply custom filters first, |
| then filters based on ruler selection if needed. |
| |
| (WebInspector.TimelineView.prototype.filterDidChange): |
| Hook for subclasses to respond to filter changes. |
| (WebInspector.TimelineView.prototype._filterTimesDidChange.delayedWork): |
| (WebInspector.TimelineView.prototype._filterTimesDidChange): |
| Helper function for coalescing ruler selection updates into a single |
| filter update. |
| |
| (WebInspector.TimelineView.prototype.matchTreeElementAgainstCustomFilters): Deleted. |
| (WebInspector.TimelineView.prototype.filterUpdated): Deleted. |
| No longer needed. |
| |
| 2016-04-25 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: React.js JSXTransformer produces bogus error locations |
| https://bugs.webkit.org/show_bug.cgi?id=150010 |
| <rdar://problem/23062233> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Show dynamically added <script> elements added to a frame as resources. |
| For cases where the scripts had source map resources or error messages |
| we have a root from which to associate them to. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| "Script Element %d" tree element title. |
| |
| * UserInterface/Models/Frame.js: |
| (WebInspector.Frame.prototype.commitProvisionalLoad): |
| (WebInspector.Frame.prototype.get extraScripts): |
| (WebInspector.Frame.prototype.addExtraScript): |
| Have a frame keep a list of its extra scripts. |
| |
| * UserInterface/Models/Script.js: |
| (WebInspector.Script): |
| (WebInspector.Script.prototype.get displayName): |
| (WebInspector.Script.prototype.get dynamicallyAddedScriptElement): |
| Identify dynamically added script elements and associate them |
| with the frame, instead of the frame's main resource. |
| |
| * UserInterface/Views/FrameTreeElement.js: |
| (WebInspector.FrameTreeElement.prototype.onpopulate): |
| (WebInspector.FrameTreeElement.prototype._extraScriptAdded): |
| Show named / source mapped dynamic script elements under a frame. |
| |
| * UserInterface/Views/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded): |
| Dynamically added script element Scripts will be added by the frame that |
| owns them. |
| |
| * UserInterface/Views/ScriptTreeElement.js: |
| (WebInspector.ScriptTreeElement): |
| Don't include a subtitle for dynamicallyAddedScriptElement, details match |
| the frame that owns them. |
| |
| 2016-04-25 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Line error widget showed in the wrong resource |
| https://bugs.webkit.org/show_bug.cgi?id=150009 |
| <rdar://problem/23062199> |
| |
| Reviewed by Timothy Hatcher. |
| |
| This addresses a few long standing issues: |
| |
| - IssueMessage and ConsoleMessage should not fight eachother |
| - Displayed issue messages now correctly have format string formatting, e.g. console.error("Foo %s", str) |
| - IssueMessage wraps a ConsoleMessage, so we don't duplicate everything |
| - Gives ConsoleMessage a sourceCodeLocation (lazy) |
| - Since a sourceCodeLocation can have the exact SourceCode, if it was a Script |
| without a Resource, we can only show the error in the Script's editor. |
| |
| * UserInterface/Models/CallFrame.js: |
| (WebInspector.CallFrame.fromPayload): |
| Prefer the script identifier lookup first. And from the Script go |
| to a resource if possible. This allows us to distinguish a location |
| that should be in a Script that doesn't have a Resource when there |
| exists a Resource with the same URL. This will soon be the case |
| for dyanamic <script> elements append to a document. |
| |
| * UserInterface/Controllers/IssueManager.js: |
| (WebInspector.IssueManager.issueMatchSourceCode): |
| Consolidate all the different checks to this one function. |
| |
| (WebInspector.IssueManager.prototype.issueWasAdded): |
| Create IssueMessages with ConsoleMessages. |
| |
| (WebInspector.IssueManager.prototype.issuesForSourceCode): |
| Simplify now that we have the better check. |
| |
| * UserInterface/Controllers/LogManager.js: |
| (WebInspector.LogManager.prototype.messageWasAdded): |
| Once a ConsoleMessage has been created (and modified `parameters` for us) |
| create the IssueMessage if it was an issue. |
| |
| * UserInterface/Models/ConsoleMessage.js: |
| (WebInspector.ConsoleMessage.prototype.get sourceCodeLocation): |
| Lazily create a source code from the best possible location. This can |
| be the top call frame or the url/line/column combination. |
| |
| * UserInterface/Models/IssueMessage.js: |
| (WebInspector.IssueMessage): |
| Creation and most properties just call through to a ConsoleMessage. |
| The `type` and `text` are Issue specific. Anything that uses location |
| data should use the sourceCodeLocation. |
| |
| (WebInspector.IssueMessage.prototype.saveIdentityToCookie): |
| Fix implementation that didn't account for a null sourceCodeLocation. |
| |
| (WebInspector.IssueMessage.prototype._formatTextIfNecessary): |
| Basic text format message formatting. |
| |
| * UserInterface/Protocol/ConsoleObserver.js: |
| (WebInspector.ConsoleObserver.prototype.messageAdded): |
| No longer call IssueMessage from the observer. Let LogManager trigger issues. |
| |
| * UserInterface/Views/ContentView.js: |
| (WebInspector.ContentView.createFromRepresentedObject): |
| (WebInspector.ContentView.resolvedRepresentedObjectForRepresentedObject): |
| (WebInspector.ContentView.isViewable): |
| An IssueMessage represented object for an IssueMessageTreeElement should be |
| restorable by just going to the sourceCodeLocation it references. This is |
| identical to a Breakpoint. |
| |
| * UserInterface/Views/IssueTreeElement.js: |
| (WebInspector.IssueTreeElement.prototype._updateTitles): |
| (WebInspector.IssueTreeElement): |
| * UserInterface/Views/ResourceContentView.js: |
| (WebInspector.ResourceContentView.prototype._issueWasAdded): |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype._issueWasAdded): |
| (WebInspector.SourceCodeTextEditor.prototype._addIssue): |
| (WebInspector.SourceCodeTextEditor.prototype._reinsertAllIssues): |
| (WebInspector.SourceCodeTextEditor.prototype._matchesIssue): Deleted. |
| Update to use Issue's sourceCodeLocation or IssueManager's new APIs. |
| |
| 2016-04-24 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Can't sort by name/source code location columns in Timeline data grids |
| https://bugs.webkit.org/show_bug.cgi?id=156965 |
| <rdar://problem/25898716> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Add support for sorting SourceCodeLocation objects to TimelineDataGrid, |
| and include a grid delegate so that views can extend sorting logic for |
| other document fragment columns. |
| |
| * UserInterface/Views/NetworkTimelineView.js: |
| (WebInspector.NetworkTimelineView): |
| (WebInspector.NetworkTimelineView.prototype.dataGridSortComparator): |
| Sort "name" column by display name first, then resource URL. |
| |
| * UserInterface/Views/ScriptDetailsTimelineView.js: |
| (WebInspector.ScriptDetailsTimelineView): |
| (WebInspector.ScriptDetailsTimelineView.prototype.dataGridSortComparator): |
| Sort "name" column by display name first, then subtitle. |
| |
| * UserInterface/Views/ScriptTimelineDataGridNode.js: |
| (WebInspector.ScriptTimelineDataGridNode.prototype.get subtitle): |
| Make subtitle accessible externally for sorting. |
| (WebInspector.ScriptTimelineDataGridNode.prototype._createNameCellDocumentFragment): |
| (WebInspector.ScriptTimelineDataGridNode): |
| |
| * UserInterface/Views/TimelineDataGrid.js: |
| (WebInspector.TimelineDataGrid): |
| (WebInspector.TimelineDataGrid.prototype.get sortDelegate): |
| (WebInspector.TimelineDataGrid.prototype.set sortDelegate): |
| Fire a SortChanged event if the delegate changed and the grid is sorted. |
| (WebInspector.TimelineDataGrid.prototype._sort): |
| If a sort delegate exists, and it returns a numeric value, skip the |
| default compare. |
| |
| (WebInspector.TimelineDataGrid.prototype._sortComparator): |
| Add support for sorting SourceCodeLocation columns. |
| |
| 2016-04-24 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Error when selecting a bar in the Frames timeline |
| https://bugs.webkit.org/show_bug.cgi?id=156960 |
| <rdar://problem/25897955> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Fixes timeline grid node selection when record selected in the overview. |
| Adds general purpose `findNode` method to DataGrid. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid.prototype.findNode): |
| Basic find function for locating a grid node in linear time. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView.prototype._recordSelected): |
| Remove tree outline references, call generic select method. |
| |
| * UserInterface/Views/TimelineView.js: |
| (WebInspector.TimelineView.prototype.selectRecord): |
| If a data grid was set, deselect current selection and select the node |
| associated with the timeline record. |
| |
| 2016-04-24 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Events in JavaScript & Events timeline have no profile children |
| https://bugs.webkit.org/show_bug.cgi?id=156627 |
| <rdar://problem/25749740> |
| |
| Reviewed by Timothy Hatcher. |
| |
| ProfileNodeDataGridNode should handle `populate` events when expanded. |
| This was previously done by ProfileNodeTreeElement, which is no longer |
| used in the Timelines tab. |
| |
| * UserInterface/Views/ProfileDataGridNode.js: |
| (WebInspector.ProfileDataGridNode.prototype._updateChildrenForModifiers): |
| (WebInspector.ProfileDataGridNode.prototype._populate): |
| (WebInspector.ProfileDataGridNode): |
| DataGridNode sets `shouldRefreshChildren` to false after populating |
| child nodes. No need to track with a separate flag. |
| |
| * UserInterface/Views/ProfileNodeDataGridNode.js: |
| (WebInspector.ProfileNodeDataGridNode): |
| (WebInspector.ProfileNodeDataGridNode.prototype._populate): |
| |
| 2016-04-22 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: HeapAllocationsTimeline grid should use built-in grid column icons |
| https://bugs.webkit.org/show_bug.cgi?id=156934 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/HeapAllocationsTimelineDataGridNode.js: |
| (WebInspector.HeapAllocationsTimelineDataGridNode): |
| Use existing base class helper function to create main title text. |
| (WebInspector.HeapAllocationsTimelineDataGridNode.prototype.createCellContent): |
| Add icon class names to cell, remove icon element. |
| |
| * UserInterface/Views/HeapAllocationsTimelineView.js: |
| (WebInspector.HeapAllocationsTimelineView): |
| Turn on icons for the column. |
| |
| 2016-04-22 Timothy Hatcher <timothy@apple.com> |
| |
| Change an assert to a warn based on post review feedback. |
| |
| https://bugs.webkit.org/show_bug.cgi?id=156919 |
| rdar://problem/25857118 |
| |
| Rubber-stamped by Joseph Pecoraro. |
| |
| * UserInterface/Controllers/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype.debuggerDidPause): |
| |
| 2016-04-22 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Debugger statement in console does not provide any call frames and debugger UI is confused |
| |
| https://bugs.webkit.org/show_bug.cgi?id=156919 |
| rdar://problem/25857118 |
| |
| This makes console expressions show up in the Debugger tab sidebar if a ScriptContentView is shown for them. |
| We now also show call frames that originate from a console expression, so the call frames in the sidebar is not empty. |
| Also fix a bug where when there are no call frames we auto resume the debugger and don't leave it in a broken state. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| |
| * UserInterface/Base/Utilities.js: |
| (appendWebInspectorSourceURL): Don't append if another sourceURL is already added. |
| (appendWebInspectorConsoleEvaluationSourceURL): Added. |
| (isWebInspectorConsoleEvaluationScript): Added. |
| (isWebKitInternalScript): Return false for isWebInspectorConsoleEvaluationScript(). |
| |
| * UserInterface/Controllers/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype.debuggerDidPause): Resume if call frames is empty. This is not as common now |
| since console expression call frames are not skipped. |
| (WebInspector.DebuggerManager.prototype.scriptDidParse): Change an early return for isWebInspectorInternalScript() that |
| was skipping adding internal scripts to the known script lists, but it should only do that when the debug UI is disabled. |
| |
| * UserInterface/Controllers/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted): |
| Call appendWebInspectorConsoleEvaluationSourceURL so the console expressions are tagged before evaluateInInspectedWindow |
| added the internal sourceURL name. |
| |
| * UserInterface/Models/Script.js: |
| (WebInspector.Script): Assign unique identifiers to console scripts so they are named correctly. |
| (WebInspector.Script.resetUniqueDisplayNameNumbers): Reset _nextUniqueConsoleDisplayNameNumber. |
| (WebInspector.Script.prototype.get displayName): Special case console expressions with a better name. |
| |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel.prototype.treeElementForRepresentedObject): Add a script tree element on demand |
| like the ResourceSidebarPanel does for anonymous scripts. |
| (WebInspector.DebuggerSidebarPanel.prototype._addScript): Return treeElement so treeElementForRepresentedObject can use it. |
| |
| 2016-04-21 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: sourceMappingURL not loaded in generated script |
| https://bugs.webkit.org/show_bug.cgi?id=156022 |
| <rdar://problem/25438595> |
| |
| Reviewed by Geoffrey Garen. |
| |
| * UserInterface/Controllers/SourceMapManager.js: |
| (WebInspector.SourceMapManager.prototype.downloadSourceMap): |
| If the sourceMapURL is a dataURL at this point, we can just pass it on, |
| otherwise we would have returned and skipped it. |
| |
| * UserInterface/Models/CallFrame.js: |
| (WebInspector.CallFrame.fromPayload): |
| Add handling for "scriptId" if it is available in the Console.CallFrame. |
| Don't automatically mark CallFrames that didn't have a "url" as native, |
| instead try to get a SourceCode. |
| |
| * UserInterface/Models/Script.js: |
| (WebInspector.Script.prototype.get displayURL): |
| Used by SourceCodeLocation formatting, so behave more like Resources |
| when we have only have a sourceURL name. This produces output like: |
| "foo.js:#:#" instead of "foo.js (line #:#)" |
| |
| (WebInspector.Script.prototype.get anonymous): |
| Easy accessor to see if this would be treated as anonymous or not. |
| |
| * UserInterface/Models/SourceMap.js: |
| (WebInspector.SourceMap.prototype.get sourceMappingBasePathURLComponents): |
| Gracefully handle no path. |
| |
| * UserInterface/Models/StackTrace.js: |
| (WebInspector.StackTrace.prototype.get firstNonNativeCallFrame): |
| (WebInspector.StackTrace.prototype.get firstNonNativeNonAnonymousCallFrame): |
| * UserInterface/Views/ConsoleMessageView.js: |
| (WebInspector.ConsoleMessageView.prototype._appendLocationLink): |
| Now that "Eval Code" with a sourceURL is no longer native, we still don't |
| want to show it in the Web Inspector if it is anonymous. So include a stricter |
| version that skips native and anonymous call frames. |
| |
| 2016-04-21 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Debugger statement gets a space after it when pretty printed |
| https://bugs.webkit.org/show_bug.cgi?id=156867 |
| <rdar://problem/25862308> |
| |
| Reviewed by Geoffrey Garen. |
| |
| * Tools/Formatting/index.html: |
| * UserInterface/Workers/Formatter/EsprimaFormatter.js: |
| (EsprimaFormatter.prototype._handleTokenAtNode): |
| Handle the unhandled DebuggerStatement node type. |
| |
| 2016-04-20 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: console.table(navigator) throws exception about `rowPreview.propertyPreviews.length` |
| https://bugs.webkit.org/show_bug.cgi?id=156698 |
| <rdar://problem/25778244> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/ConsoleMessageView.js: |
| (WebInspector.ConsoleMessageView.prototype._formatParameterAsTable): |
| Handle a row with a value preview but no sub-property previews (a function). |
| |
| 2016-04-19 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Use debounce proxies in a couple more places |
| |
| https://bugs.webkit.org/show_bug.cgi?id=156759 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/ContentBrowser.js: |
| (WebInspector.ContentBrowser.prototype._dispatchCurrentRepresentedObjectsDidChangeEvent): |
| (WebInspector.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange): |
| (WebInspector.ContentBrowser.prototype._contentViewSupplementalRepresentedObjectsDidChange): |
| (WebInspector.ContentBrowser.prototype._dispatchCurrentRepresentedObjectsDidChangeEventSoon): Deleted. |
| * UserInterface/Views/DOMTreeUpdater.js: |
| (WebInspector.DOMTreeUpdater.prototype._attributesUpdated): |
| (WebInspector.DOMTreeUpdater.prototype._characterDataModified): |
| (WebInspector.DOMTreeUpdater.prototype._nodeInserted): |
| (WebInspector.DOMTreeUpdater.prototype._nodeRemoved): |
| (WebInspector.DOMTreeUpdater.prototype._updateModifiedNodes): |
| (WebInspector.DOMTreeUpdater.prototype._updateModifiedNodesSoon): Deleted. |
| * UserInterface/Views/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel): |
| (WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility): |
| (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged): |
| (WebInspector.NavigationSidebarPanel.prototype._treeElementDisclosureDidChange): |
| (WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibilitySoon): Deleted. |
| |
| 2016-04-19 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Make debounce use an ES6 Proxy |
| |
| https://bugs.webkit.org/show_bug.cgi?id=156756 |
| rdar://problem/25809771 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Base/Utilities.js: |
| (Object.prototype.soon): Added. |
| (Object.prototype.debounce): Added. |
| (Function.prototype.debounce): Deleted. |
| (Function.prototype.cancelDebounce): Added. |
| |
| * UserInterface/Views/BezierEditor.js: |
| (WebInspector.BezierEditor.createBezierInput): Use new debounce proxy. |
| * UserInterface/Views/VisualStyleBackgroundPicker.js: |
| (WebInspector.VisualStyleBackgroundPicker): Ditto. |
| * UserInterface/Views/VisualStyleURLInput.js: |
| (WebInspector.VisualStyleURLInput): Ditto. |
| |
| 2016-04-19 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Picking Snapshot from navigation bar popup does to switch views |
| https://bugs.webkit.org/show_bug.cgi?id=156762 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/TimelineDataGridNodePathComponent.js: |
| (WebInspector.TimelineDataGridNodePathComponent.prototype.get previousSibling): |
| (WebInspector.TimelineDataGridNodePathComponent.prototype.get nextSibling): |
| Wrong represented object provided by TimelineDataGridNodePathComponent. |
| |
| 2016-04-18 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: DataGrid should be virtualized so it only renders visible rows |
| |
| https://bugs.webkit.org/show_bug.cgi?id=156663 |
| rdar://problem/25765256 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/ComputedStyleDetailsPanel.js: |
| (WebInspector.ComputedStyleDetailsPanel.prototype.set containerRegions): |
| Call updateLayoutIfNeeded since we don't use views here. |
| |
| * UserInterface/Views/ConsoleMessageView.js: |
| (WebInspector.ConsoleMessageView.prototype._formatParameterAsTable): |
| Set inline and variableHeightRows to true, remove direct classList add. Call updateLayoutIfNeeded since we don't use views here. |
| |
| * UserInterface/Views/DOMTreeDataGrid.js: |
| (WebInspector.DOMTreeDataGrid): |
| Set inline to true, remove direct classList add. |
| |
| * UserInterface/Views/DataGrid.css: |
| (.data-grid td): |
| (.data-grid table.data): |
| (.data-grid:not(.variable-height-rows) table.data): |
| (.data-grid:not(.variable-height-rows) table.data.odd-first-zebra-stripe): |
| (.data-grid.variable-height-rows table.data tr:nth-child(odd)): |
| (.data-grid.variable-height-rows table.data tr:nth-child(even)): |
| (.data-grid.variable-height-rows.odd-first-zebra-stripe table.data tr:nth-child(odd)): |
| (.data-grid.variable-height-rows.odd-first-zebra-stripe table.data tr:nth-child(even)): |
| (.data-grid.variable-height-rows table.data tr.filler): |
| Updated styles to support variable height rows directly and flipping the order of the stripes |
| when the virtual table starts at an odd row. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid): Added rowHeight and rows. |
| (WebInspector.DataGrid.prototype.get inline): Added. |
| (WebInspector.DataGrid.prototype.set inline): Added. |
| (WebInspector.DataGrid.prototype.get variableHeightRows): Added. |
| (WebInspector.DataGrid.prototype.set variableHeightRows): Added. |
| (WebInspector.DataGrid.prototype.layout): Call _updateVisibleRows. |
| (WebInspector.DataGrid.prototype._noteRowsChanged): Added. |
| (WebInspector.DataGrid.prototype._updateVisibleRows): Added. |
| (WebInspector.DataGrid.prototype._sortNodesCallback): Update to not use the DOM. |
| (WebInspector.DataGridNode.prototype.set hasChildren): Call needsLayout. |
| (WebInspector.DataGridNode.prototype.collapse): Call needsLayout. |
| (WebInspector.DataGridNode.prototype.expand): Call needsLayout. |
| (WebInspector.DataGridNode.prototype._attach): Call _noteRowsChanged. |
| (WebInspector.DataGridNode.prototype._detach): Call _noteRowsChanged. |
| |
| * UserInterface/Views/DatabaseUserQuerySuccessView.js: |
| (WebInspector.DatabaseUserQuerySuccessView): |
| Set inline to true, remove direct classList add. Call updateLayoutIfNeeded since we don't use views here. |
| |
| * UserInterface/Views/DetailsSection.css: |
| (.details-section > .content .data-grid td.value-column): |
| (.details-section > .content .data-grid table.data): Deleted. |
| (.details-section > .content .data-grid tr:nth-child(even)): Deleted. |
| (.details-section > .content .data-grid tr:nth-child(odd)): Deleted. |
| Now handled by DataGrid.css directly. |
| |
| * UserInterface/Views/DetailsSectionDataGridRow.js: |
| (WebInspector.DetailsSectionDataGridRow.prototype.set dataGrid): |
| Set inline and variableHeightRows to true, remove direct classList add. Call updateLayoutIfNeeded since we don't use views here. |
| |
| * UserInterface/Views/HeapSnapshotInstancesContentView.css: |
| (.heap-snapshot > .data-grid tr:matches(.selected, :hover) td .go-to-arrow): |
| (.heap-snapshot .icon): |
| Remove margin-top to fit inside 20px row instead of 21px. |
| |
| * UserInterface/Views/IndexedDatabaseObjectStoreContentView.css: |
| (.content-view.indexed-database-object-store > .data-grid table.data): Deleted. |
| (.content-view.indexed-database-object-store > .data-grid table.data tr:nth-child(even)): Deleted. |
| (.content-view.indexed-database-object-store > .data-grid table.data tr:nth-child(odd)): Deleted. |
| (.content-view.indexed-database-object-store > .data-grid table.data tr.filler): Deleted. |
| Now handled by DataGrid.css directly. |
| |
| * UserInterface/Views/IndexedDatabaseObjectStoreContentView.js: |
| (WebInspector.IndexedDatabaseObjectStoreContentView): |
| Set variableHeightRows to true. |
| |
| * UserInterface/Views/LayerTreeDetailsSidebarPanel.js: |
| (WebInspector.LayerTreeDetailsSidebarPanel.prototype._buildDataGridSection): |
| Set inline to true, remove direct classList add. Call updateLayoutIfNeeded since we don't use views here. |
| |
| * UserInterface/Views/LogContentView.css: |
| (.console-item .data-grid table.data): Deleted. |
| (.console-item .data-grid table.data tr:nth-child(even)): Deleted. |
| Now handled by DataGrid.css directly. |
| |
| * UserInterface/Views/NetworkGridContentView.css: |
| (.content-view.network-grid > .data-grid td): Deleted. |
| (.content-view.network-grid > .data-grid table.data): Deleted. |
| Now handled by DataGrid.css directly. |
| |
| * UserInterface/Views/ProbeSetDataGrid.js: |
| (WebInspector.ProbeSetDataGrid): |
| Set inline to true, remove direct classList add. |
| |
| * UserInterface/Views/ProfileView.css: |
| (.profile > .data-grid td .icon): |
| (.profile > .data-grid tr:matches(.selected, :hover) .go-to-arrow): |
| Remove margin-top to fit inside 20px row instead of 21px. |
| |
| * UserInterface/Views/TimelineRecordingContentView.css: |
| (.content-view.timeline-recording > .content-browser > .content-view-container > .timeline-view > .data-grid td): Deleted. |
| (.content-view.timeline-recording > .content-browser > .content-view-container > .timeline-view > .data-grid table.data): Deleted. |
| Now handled by DataGrid.css directly. |
| |
| * UserInterface/Views/Variables.css: |
| (:root): Added zebra stripe colors. |
| |
| 2016-04-19 Joseph Pecoraro <pecoraro@apple.com> |
| |
| REGRESSION (r199635) Web Inspector: Percentages in Heap Allocations view are too large |
| https://bugs.webkit.org/show_bug.cgi?id=156729 |
| <rdar://problem/25796002> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/HeapSnapshotInstanceDataGridNode.js: |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype.createCellContent): |
| Fix callsite that failed to be updated once percentageString |
| required 0..1 input instead of 0..100. |
| |
| 2016-04-18 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: NavigationSidebarPanel does a lot of style recalc and layout on busy sites |
| |
| https://bugs.webkit.org/show_bug.cgi?id=156704 |
| rdar://problem/25778744 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel): |
| (WebInspector.NavigationSidebarPanel.prototype._treeElementDisclosureDidChange): |
| Use _updateContentOverflowShadowVisibilitySoon in more places so the style recalc |
| and layout changes are coalesced into one action after all rapid fire calls. |
| |
| 2016-04-18 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Database query result DataGrids have misaligned header columns |
| |
| https://bugs.webkit.org/show_bug.cgi?id=156701 |
| rdar://problem/25778310 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid.prototype.autoSizeColumns): Set the width on the <col> element |
| for the body table to match the <col> in the header. |
| |
| 2016-04-18 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Fix the debounce function |
| |
| https://bugs.webkit.org/show_bug.cgi?id=156696 |
| rdar://problem/25778133 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Base/Utilities.js: |
| (Function.prototype.debounce): Store the timeout on the original function instead |
| of the bound function. Also simplify the implementation with arrow functions |
| and eliminate the bind altogether. |
| |
| 2016-04-16 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Adopt Number.prototype.toLocaleString For All Sizes and Times |
| https://bugs.webkit.org/show_bug.cgi?id=152033 |
| <rdar://problem/23815589> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Update string formatters to localize float and percentage strings. Hook up |
| console message formatters to use String.standardFormatters so that console |
| statements (e.g. console.log("%.3f", 3.14159)) are properly formatted. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Base/Utilities.js: |
| (value): |
| tokenizeFormatString should default to 6 digits when no precision |
| sub-specifier is provided. |
| |
| percentageString should localize formatting, and take a fraction value |
| (0 to 1) instead of a percentage. |
| |
| secondsToString should perform special-case formatting for zero values |
| ("0ms") instead of the general purpose float formatter. |
| |
| (value.d): |
| Switch to parseInt to floor floating point values and support numeric strings. |
| Return NaN instead of zero when passed a value that can't be converted to integer. |
| |
| (value.f): |
| Switch to parseFloat to support numeric strings, and localize formatting. |
| Remove precision check, as it will never be less than zero. Return NaN |
| instead of zero when passed a value that can't be converted to float. |
| |
| (prettyFunctionName): |
| Convert substitutions (an arguments object) to an array before calling join. |
| |
| * UserInterface/Views/ConsoleMessageView.js: |
| (WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.floatFormatter): |
| Use String.standardFormatters.f. |
| |
| (WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.integerFormatter): |
| Use String.standardFormatters.d. |
| |
| * UserInterface/Views/LayoutTimelineDataGridNode.js: |
| (WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent): |
| (WebInspector.LayoutTimelineDataGridNode): |
| Use integer formatting for pixel values. |
| |
| * UserInterface/Views/ProfileDataGridNode.js: |
| (WebInspector.ProfileDataGridNode.prototype._recalculateData): |
| (WebInspector.ProfileDataGridNode.prototype._totalTimeContent): |
| Treat percentage as a fraction from 0 to 1. |
| |
| * UserInterface/Views/ResourceDetailsSidebarPanel.js: |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshImageSizeSection): |
| Use integer formatting for pixel values. |
| |
| 2016-04-16 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Network timeline grid nodes aren't refreshed on LoadingFinished |
| https://bugs.webkit.org/show_bug.cgi?id=156666 |
| <rdar://problem/25765811> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Fix a regression caused by the recent Timelines UI redesign, and |
| reorder TimelineDataGrid's constructor arguments now that most |
| timeline views no longer have an associated tree outline. |
| |
| * UserInterface/Views/HeapAllocationsTimelineView.js: |
| (WebInspector.HeapAllocationsTimelineView): |
| * UserInterface/Views/LayoutTimelineView.js: |
| (WebInspector.LayoutTimelineView): |
| * UserInterface/Views/NetworkGridContentView.js: |
| (WebInspector.NetworkGridContentView): |
| * UserInterface/Views/NetworkTimelineView.js: |
| (WebInspector.NetworkTimelineView): |
| * UserInterface/Views/RenderingFrameTimelineView.js: |
| (WebInspector.RenderingFrameTimelineView): |
| * UserInterface/Views/ScriptDetailsTimelineView.js: |
| (WebInspector.ScriptDetailsTimelineView): |
| Reorder constructor parameters and omit optional treeOutline and |
| synchronizerDelegate arguments when they aren't needed. |
| |
| * UserInterface/Views/TimelineDataGrid.js: |
| (WebInspector.TimelineDataGrid): |
| Reorder constructor arguments so that treeOutline can be optional. |
| (WebInspector.TimelineDataGrid.prototype._refreshDirtyDataGridNodes): |
| Nodes should be refreshed and re-inserted in the data grid without |
| requiring a grid synchronizer. If a synchronizer exists, re-insert |
| the tree element for the node. Since the syncronizer is disabled the |
| order of grid/tree operations doesn't matter. |
| |
| 2016-04-15 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: sourceMappingURL not used when sourceURL is set |
| https://bugs.webkit.org/show_bug.cgi?id=156021 |
| <rdar://problem/25438417> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Previously Debugger.sourceParsed only providing the sourceURL, and |
| wiping out the resourceURL, meant that a Script from a Resource that |
| set a sourceURL directive would fail to be associated with its Resource. |
| |
| This would result in duplicated tree elements in the Resources Sidebar, |
| one for the Resource, and one for the Script. With the Script getting |
| ultimately getting the SourceMap resources. However, since the frontend |
| prefers Resources over Scripts when possible, an error that generated |
| from the script would point to a location in the Resource, not following |
| source maps. |
| |
| By always providing the resource URL in Debugger.sourceParsed, a Script |
| can better be associated with its Resource. The result is now a single |
| shared tree element in the Resources Sidebar, and the Resource getting |
| the SourceMap resources. Now the script error goes through the Resource |
| to its SourceMap resources as we would expect. |
| |
| * UserInterface/Protocol/DebuggerObserver.js: |
| (WebInspector.DebuggerObserver): |
| (WebInspector.DebuggerObserver.prototype.scriptParsed): |
| We now have to handle two different signatures of scriptParsed. One |
| for legacy, and one for non-legacy. Cache that value early on, since |
| scriptParsed happens a lot. |
| |
| * UserInterface/Protocol/InspectorBackend.js: |
| (InspectorBackend.Agent.prototype.hasEventParameter): |
| Runtime check a protocol event to see if it has a parameter. This |
| is used to check if Debugger.sourceParsed is legacy or not based |
| on if it has the legacy "hasSourceURL" parameter. |
| |
| * UserInterface/Models/Script.js: |
| (WebInspector.Script): |
| (WebInspector.Script.prototype.get sourceURL): |
| Treat sourceURL and url separately. |
| |
| (WebInspector.Script.prototype.get displayName): |
| Handle both the url and sourceURL in displayName. |
| |
| * UserInterface/Controllers/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype.get knownNonResourceScripts): |
| (WebInspector.DebuggerManager.prototype.debuggerDidPause): |
| (WebInspector.DebuggerManager.prototype.scriptDidParse): |
| * UserInterface/Protocol/RemoteObject.js: |
| (WebInspector.RemoteObject.prototype.findFunctionSourceCodeLocation): |
| Update code that checks the sourceURL to explicitly use sourceURL. |
| |
| * UserInterface/Controllers/SourceMapManager.js: |
| (WebInspector.SourceMapManager.prototype.downloadSourceMap): |
| For legacy backends, or in case we get a resource that has an incomplete |
| baseURL, attempt to get an absolute URL based on the main resource. |
| |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel.prototype._addScript): |
| * UserInterface/Views/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded): |
| Ignore scripts without a url or sourceURL. |
| |
| 2016-04-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Cleanup inspector/debugger tests |
| https://bugs.webkit.org/show_bug.cgi?id=156619 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.loaded): |
| * UserInterface/Controllers/DebuggerManager.js: |
| Remove agent checks for agents that are always available. |
| |
| 2016-04-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Add a JavaScript Formatting test for template strings |
| https://bugs.webkit.org/show_bug.cgi?id=156600 |
| |
| Reviewed by Brian Burg. |
| |
| * Tools/Formatting/index.html: |
| |
| 2016-04-14 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| REGRESSION: Web Inspector: Remote inspector doesn't work |
| https://bugs.webkit.org/show_bug.cgi?id=156543 |
| |
| Reviewed by Timothy Hatcher. |
| |
| WebSocket connection is blocked by CSP, but needed by the remote web inspector to work, so allow connect to ws |
| URLs from the web inspector. Also add stubs for zoomFactor and setZoomFactor to InspectorFrontendHostStub, |
| required after r199396. |
| |
| * UserInterface/Base/InspectorFrontendHostStub.js: |
| (window.InspectorFrontendHost.WebInspector.InspectorFrontendHostStub.prototype.setZoomFactor): |
| (window.InspectorFrontendHost.WebInspector.InspectorFrontendHostStub.prototype.zoomFactor): |
| * UserInterface/Main.html: |
| |
| 2016-04-12 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: save inspector's zoom factor as a persistent setting across sessions |
| https://bugs.webkit.org/show_bug.cgi?id=156522 |
| <rdar://problem/25635774> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.loaded): |
| Initialize the setting and immediately set the zoom before the frontend page loads. |
| |
| (WebInspector._increaseZoom): |
| (WebInspector._decreaseZoom): |
| (WebInspector._resetZoom): |
| Use the internal get/set method which updates the WebInspector.Setting. |
| |
| (WebInspector._setZoomFactor): |
| Added. Round-trip through the frontend host method in case it further clamps the value. |
| |
| (WebInspector._zoomFactor): |
| Added. Just return the setting, since there's no other way for zoom to have changed. |
| |
| 2016-04-12 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Show the normal Native icon for all Internal objects in Heap Snapshots |
| https://bugs.webkit.org/show_bug.cgi?id=156513 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/HeapSnapshotClusterContentView.js: |
| (WebInspector.HeapSnapshotClusterContentView.iconStyleClassNameForClassName): |
| Show the native icon for internal objects. |
| |
| 2016-04-12 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Keyboard shortcut for "Inspect Element" only works when Web Inspector is open. |
| https://bugs.webkit.org/show_bug.cgi?id=111193 |
| <rdar://problem/13325889> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Controllers/DOMTreeManager.js: |
| (WebInspector.DOMTreeManager.prototype.set inspectModeEnabled): |
| (WebInspector.DOMTreeManager.set inspectModeEnabled.callback): |
| * UserInterface/Protocol/InspectorFrontendAPI.js: |
| (InspectorFrontendAPI.setElementSelectionEnabled): |
| Frontend API to enable element selection. |
| |
| 2016-04-12 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Should be able to expand Objects in Heap Allocations View to see exactly what it retains |
| https://bugs.webkit.org/show_bug.cgi?id=156419 |
| <rdar://problem/25633863> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Main.html: |
| Remove strings, and fix sort. |
| |
| * UserInterface/Models/HeapSnapshotRootPath.js: |
| (WebInspector.HeapSnapshotRootPath.pathComponentForIndividualEdge): |
| (WebInspector.HeapSnapshotRootPath.canPropertyNameBeDotAccess): |
| (WebInspector.HeapSnapshotRootPath.prototype.appendPropertyName): |
| (WebInspector.HeapSnapshotRootPath.prototype._canPropertyNameBeDotAccess): |
| Provide a helper to get an path component string for an individual edge. |
| |
| * UserInterface/Models/PropertyPreview.js: |
| (WebInspector.PropertyPreview): |
| Fix an assert that may have errantly fired for an empty string name. |
| |
| * UserInterface/Proxies/HeapSnapshotNodeProxy.js: |
| (WebInspector.HeapSnapshotNodeProxy): |
| (WebInspector.HeapSnapshotNodeProxy.deserialize): |
| Include "hasChildren" property in the original proxy message. |
| |
| (WebInspector.HeapSnapshotNodeProxy.prototype.retainedNodes): |
| The method now also returns a list of edges for each of the retained nodes. |
| |
| * UserInterface/Views/HeapSnapshotInstanceDataGridNode.js: |
| (WebInspector.HeapSnapshotInstanceDataGridNode): |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype.createCellContent): |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype.sort): |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._populate): |
| An instance DataGrid node can now show children. It can expand to show |
| its retained node graph. |
| |
| * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js: |
| (HeapSnapshot.instancesWithClassName): |
| (HeapSnapshot.prototype.dominatedNodes): |
| (HeapSnapshot.prototype.retainers): |
| (HeapSnapshot.prototype.serializeNode): |
| Remove unnecessary calls to bind in favor of using the `thisObject` argument. |
| |
| (HeapSnapshot.prototype.retainedNodes): |
| Return a parallel list of edges for each of the nodes. |
| |
| * UserInterface/Views/HeapSnapshotClassDataGridNode.js: |
| (WebInspector.HeapSnapshotClassDataGridNode.prototype.createCellContent): |
| (WebInspector.HeapSnapshotClassDataGridNode.prototype._populate): |
| * UserInterface/Views/HeapSnapshotClusterContentView.js: |
| (WebInspector.HeapSnapshotClusterContentView.prototype.get summaryContentView): |
| (WebInspector.HeapSnapshotClusterContentView.prototype.get instancesContentView): |
| (WebInspector.HeapSnapshotClusterContentView.prototype.shown): |
| (WebInspector.HeapSnapshotClusterContentView): |
| (WebInspector.HeapSnapshotClusterContentView.prototype.get navigationItems): Deleted. |
| (WebInspector.HeapSnapshotClusterContentView.prototype._contentViewExtraArguments): Deleted. |
| (WebInspector.HeapSnapshotClusterContentView.prototype._toggleShowInternalObjectsSetting): Deleted. |
| (WebInspector.HeapSnapshotClusterContentView.prototype._updateViewsForShowInternalObjectsSettingValue): Deleted. |
| (WebInspector.HeapSnapshotClusterContentView.prototype._updateShowInternalObjectsButtonNavigationItem): Deleted. |
| * UserInterface/Views/HeapSnapshotInstancesContentView.js: |
| (WebInspector.HeapSnapshotInstancesContentView): |
| (WebInspector.HeapSnapshotInstancesContentView.prototype.get showInternalObjects): Deleted. |
| (WebInspector.HeapSnapshotInstancesContentView.prototype.set showInternalObjects): Deleted. |
| * UserInterface/Views/HeapSnapshotInstancesDataGridTree.js: |
| (WebInspector.HeapSnapshotInstancesDataGridTree.prototype._populateTopLevel): |
| (WebInspector.HeapSnapshotInstancesDataGridTree): |
| (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.get includeInternalObjects): Deleted. |
| (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.set includeInternalObjects): Deleted. |
| * UserInterface/Views/HeapSnapshotSummaryContentView.js: |
| Remove the show/hide internal objects button. In the Instances view we will |
| only show non-Internal objects at the top level, and show internal objects |
| when those instances are expanded. |
| |
| 2016-04-12 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: clearing the console should exit all console groups |
| https://bugs.webkit.org/show_bug.cgi?id=156496 |
| <rdar://problem/25676416> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/LogContentView.js: |
| (WebInspector.LogContentView.prototype._logCleared): |
| Reset nesting level to zero. |
| |
| 2016-04-11 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Tab Bar items get unreadable at narrow window widths, should collapse earlier |
| https://bugs.webkit.org/show_bug.cgi?id=156477 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/TabBar.js: |
| (WebInspector.TabBar.prototype.layout): |
| Hide-titles sooner since a width of 60 results in only a few characters |
| and looks poor. |
| |
| 2016-04-11 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Unstyled nodes in ObjectTree previews look poor |
| https://bugs.webkit.org/show_bug.cgi?id=156475 |
| <rdar://problem/25667351> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/ObjectPreviewView.js: |
| (WebInspector.ObjectPreviewView.prototype._appendPreview): |
| Treat nodes as simple values. |
| |
| (WebInspector.ObjectPreviewView.prototype._initTitleElement): |
| (WebInspector.ObjectPreviewView.prototype._appendValuePreview): |
| Format nodes nicely, and treat them as lossy since they have properties. |
| |
| 2016-04-11 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: HeapSnapshot instance property path popover should include a descriptive header |
| https://bugs.webkit.org/show_bug.cgi?id=156431 |
| <rdar://problem/25633594> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Views/HeapSnapshotInstanceDataGridNode.js: |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._mouseoverHandler.appendTitle): |
| Title for the popover. Because localization may change the location of the @1234 |
| in the string, localize first with a placeholder, and then replace the placeholder |
| with the @1234 link. |
| |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._mouseoverHandler.appendPath): |
| Give the table a container for extra padding. |
| |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._mouseoverHandler.appendPathRow): |
| Do not include the space before @1234 as part of the clickable link. |
| |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._mouseoverHandler): |
| Include a title when the popover shows a root path. |
| |
| * UserInterface/Views/HeapSnapshotInstancesContentView.css: |
| (.heap-snapshot-instance-popover-content > .title): |
| (.heap-snapshot-instance-popover-content): |
| (.heap-snapshot-instance-popover-content > .table-container): |
| (.heap-snapshot-instance-popover-content table): |
| Provide styles for the title. Let the title extend across the entire |
| popover horizontally, but pad the table so that it appears more |
| centered under the title. Because the table has border collapse we have |
| to wrap it in a container to give it back the padding we want. |
| |
| 2016-04-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: XHRs and Web Worker scripts are not searchable |
| https://bugs.webkit.org/show_bug.cgi?id=154214 |
| <rdar://problem/24643587> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel.prototype.performSearch.resourceCallback): |
| (WebInspector.SearchSidebarPanel.prototype.performSearch.resourcesCallback): |
| Carry forward the requestId property if it is available. |
| |
| 2016-04-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Allocation snapshot hover persists after switching tabs |
| https://bugs.webkit.org/show_bug.cgi?id=156430 |
| <rdar://problem/25633800> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/HeapSnapshotInstanceDataGridNode.js: |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._mouseoverHandler): |
| Don't show the popover if the tree is no longer visible. |
| |
| * UserInterface/Views/HeapSnapshotInstancesContentView.js: |
| (WebInspector.HeapSnapshotInstancesContentView.prototype.shown): |
| * UserInterface/Views/HeapSnapshotInstancesDataGridTree.js: |
| (WebInspector.HeapSnapshotInstancesDataGridTree): |
| (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.get visible): |
| (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.shown): |
| (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.hidden): |
| Give the tree a visible state and have its containing ContentView |
| update it with normal ContentView shown/hidden. |
| |
| * UserInterface/Views/Popover.js: |
| We are presenting while we were dismissing, so completely clear the |
| dismissing state. |
| |
| 2016-04-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| JSContext Inspector: Fix asserts and uncaught exception showing Timeline Tab |
| https://bugs.webkit.org/show_bug.cgi?id=156411 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/OverviewTimelineView.js: |
| (WebInspector.OverviewTimelineView): |
| (WebInspector.OverviewTimelineView.prototype.closed): |
| Gracefully handle if we do not have a Network Timeline. |
| |
| * UserInterface/Views/TimelineTabContentView.js: |
| (WebInspector.TimelineTabContentView.prototype._changeViewMode): |
| This function is always called by the constructor, so the assert |
| is not useful since it can be called when FPS is not supported. |
| |
| 2016-04-08 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Attempting to dismiss a popover that is already being dismissed causes an error |
| https://bugs.webkit.org/show_bug.cgi?id=156385 |
| <rdar://problem/25617962> |
| |
| Reviewed by Timothy Hatcher. |
| |
| The Popover element is removed from the DOM once it's fade-out transition |
| completes. Since Popover.dismiss proceeds as long as it's element has a |
| parent, successive calls to dismiss can run before the popover is removed. |
| |
| Rather than rely on the presence of the popover in the DOM, set a "dismissing" |
| flag the first time dismiss is called, before the fade-out animation begins. |
| |
| * UserInterface/Controllers/BreakpointPopoverController.js: |
| (WebInspector.BreakpointPopoverController.prototype._conditionCodeMirrorEscapeOrEnterKey): |
| Check for null popover. |
| |
| * UserInterface/Views/Popover.js: |
| (WebInspector.Popover): |
| (WebInspector.Popover.prototype.dismiss): |
| Do nothing if already dismissing. |
| |
| (WebInspector.Popover.prototype.handleEvent): |
| Reset dismissing flag after style transition completes. |
| |
| 2016-04-08 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Quick Open fails to match pattern "bB" in file "abBc" |
| https://bugs.webkit.org/show_bug.cgi?id=156398 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Correct an off-by-one error in the backtrack routine that set the dead |
| branch index to the character just before the match that was popped. |
| The dead branch index should equal the index of the popped match. |
| |
| * UserInterface/Controllers/ResourceQueryController.js: |
| (WebInspector.ResourceQueryController.prototype._findQueryMatches.backtrack): |
| (WebInspector.ResourceQueryController.prototype._findQueryMatches): |
| |
| 2016-04-07 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: OpenResourceDialog should keep its resources list up-to-date |
| https://bugs.webkit.org/show_bug.cgi?id=155321 |
| <rdar://problem/25093890> |
| |
| Reviewed by Timothy Hatcher. |
| |
| The Quick Open dialog should listen for resource change events, refreshing |
| the resource list and current query results as needed. |
| |
| * UserInterface/Views/OpenResourceDialog.js: |
| (WebInspector.OpenResourceDialog): |
| (WebInspector.OpenResourceDialog.prototype.didDismissDialog): |
| Unregister resource event handlers. |
| |
| (WebInspector.OpenResourceDialog.prototype.didPresentDialog): |
| Register resource event handlers and add main frame resources. |
| |
| (WebInspector.OpenResourceDialog.prototype._addResource): |
| Add resource to the query controller, if valid. Optionally suppress |
| the potentially expensive filter update, which is useful when adding |
| multiple resources at once. |
| |
| (WebInspector.OpenResourceDialog.prototype._addResourcesForFrame): |
| Add the entire frame resource tree and update dialog filter. |
| |
| (WebInspector.OpenResourceDialog.prototype._mainResourceDidChange): |
| (WebInspector.OpenResourceDialog.prototype._resourceWasAdded): |
| |
| 2016-04-07 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: ProfileView source links are off by 1 line, worse in pretty printed code |
| https://bugs.webkit.org/show_bug.cgi?id=156371 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/ProfileDataGridNode.js: |
| (WebInspector.ProfileDataGridNode.prototype._displayContent): |
| Switch the 1-based locations in the CCT data structure to 0-based for SourceCodeLocation. |
| |
| 2016-04-07 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Uncaught Exception: No resource with given URL found |
| https://bugs.webkit.org/show_bug.cgi?id=156259 |
| <rdar://problem/25564749> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor): |
| SourceCode.prototype.requestContent will reject if it cannot load |
| content for the given resource. In that case, we already have an |
| earlier catch handler that displays an error message in the |
| ContentView, so we shouldn't show an Uncaught Exception page. |
| Really, we should not reject the original promise here, and |
| instead resolve it with an object describing the error, but |
| short term we should remove the uncaught exception handler for |
| this case. |
| |
| 2016-04-07 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Take snapshot navigation button should match navigation button styles |
| https://bugs.webkit.org/show_bug.cgi?id=156355 |
| <rdar://problem/25325172> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Images/Camera.svg: Added. |
| * UserInterface/Views/HeapAllocationsTimelineView.js: |
| (WebInspector.HeapAllocationsTimelineView): |
| Use the new image for the navigation bar button. |
| |
| 2016-04-07 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Inspector hangs when trying to view a large XHR resource |
| https://bugs.webkit.org/show_bug.cgi?id=144107 |
| <rdar://problem/20669463> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Previously auto formatting (initial pretty print of source code) in TextEditor |
| was done synchronously in this order: |
| |
| (1) revealing the Editor as soon as we have content |
| (2) set the CodeMirror value |
| (3) pretty print with the CodeMirror editor |
| (4) set the CodeMirror value |
| => Layout |
| |
| At the end, CodeMirror would layout once with the new content. This approach |
| performs very poorly when step (3) is an asynchronous action, because it would |
| mean CodeMirror would layout for both (2) and at the end (4) and the layout |
| itself can be very costly if the content is minified and so has very long |
| lines at the top of the file that need to be syntax highlighted and visible |
| since we do not wrap. |
| |
| This patch changes the order of operations to benefit asynchronous formatting. |
| When SourceCodeTextEditor determines that it can autoformat it: |
| |
| (1) set the CodeMirror value |
| (2) pretty print to source text |
| (3) reveal the Editor when pretty printing is done |
| (4) set the CodeMirror value |
| => Layout |
| |
| This maintains the fact that to undo pretty printing we can just "undo" the |
| editor to get the original text. This also means we only do a single |
| CodeMirror layout, with the pretty printed and therefore more manageable |
| source text for highlighting. It also means we continue to show a loading |
| indicator in the editor while we are pretty printing. If this is truely |
| done asynchronously, which is the case for JavaScript with FormatterWorker, |
| then the loading indicator will animate smoothly. |
| |
| This sequence also works with the traditional synchronous formatters, |
| which we still have for CSS. |
| |
| * UserInterface/Views/ContentView.js: |
| (WebInspector.ContentView.contentViewForRepresentedObject): |
| * UserInterface/Views/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel.prototype.showDefaultContentViewForTreeElement): |
| (WebInspector.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie): |
| BreakpointTreeElements can now be restored and reselected when its |
| source code is null. Avoid deleting the pending cookie data if a |
| ContentView was not shown for the resource. When the Breakpoint |
| and SourceCode get hooked up, this code will run again and work. |
| |
| * UserInterface/Views/ScriptContentView.js: |
| (WebInspector.ScriptContentView.prototype._togglePrettyPrint): |
| * UserInterface/Views/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView.prototype._togglePrettyPrint): |
| * UserInterface/Views/TextContentView.js: |
| (WebInspector.TextContentView.prototype._togglePrettyPrint): |
| New API for toggling formatting, now that it is an async operation. |
| |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor): |
| (WebInspector.SourceCodeTextEditor.prototype.toggleTypeAnnotations): |
| (WebInspector.SourceCodeTextEditor.prototype.prettyPrint): |
| (WebInspector.SourceCodeTextEditor.prototype._populateWithContent): |
| (WebInspector.SourceCodeTextEditor.prototype._proceedPopulateWithContent): |
| (WebInspector.SourceCodeTextEditor.prototype._prepareEditorForInitialContent): |
| (WebInspector.SourceCodeTextEditor.prototype._populateWithInlineScriptContent.scriptContentAvailable): |
| (WebInspector.SourceCodeTextEditor.prototype._populateWithInlineScriptContent): |
| (WebInspector.SourceCodeTextEditor.prototype._populateWithScriptContent): |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorUpdatedFormatting): |
| (WebInspector.SourceCodeTextEditor.prototype._contentWillPopulate): Deleted. |
| Move auto formatting logic into SourceCodeTextEditor, because it |
| determines if content should be auto formatted, and it loads the |
| initial content so it can determine when to show the editor for |
| the first time. |
| |
| When we get the initial content and determine we have to autoformat, |
| setup the TextEditor, but don't proceed with WillPopulate/DidPopulate |
| until after we have formatted text. |
| |
| * UserInterface/Views/TextEditor.js: |
| (WebInspector.TextEditor): |
| (WebInspector.TextEditor.set string.update): |
| (WebInspector.TextEditor.prototype.set string): |
| (WebInspector.TextEditor.prototype.updateFormattedState): |
| (WebInspector.TextEditor.prototype.hasFormatter): |
| (WebInspector.TextEditor.prototype._format): |
| (WebInspector.TextEditor.prototype.prettyPrint): |
| (WebInspector.TextEditor.prototype._canUseFormatterWorker): |
| (WebInspector.TextEditor.prototype._startWorkerPrettyPrint): |
| (WebInspector.TextEditor.prototype._startCodeMirrorPrettyPrint): |
| (WebInspector.TextEditor.prototype._finishPrettyPrint): |
| (WebInspector.TextEditor.prototype._undoFormatting): |
| (WebInspector.TextEditor.prototype._updateAfterFormatting): |
| Break up the synchronous pretty printing code into multiple steps. |
| One path can be asynchronous formatting via FormatterWorker, another |
| path may be synchronous formatting using the CodeMirror formatters. |
| |
| (WebInspector.TextEditor.prototype.set formatted): Deleted. |
| Remove the synchronous `set formatted` setter. Replace with |
| updateFormattedState(). |
| |
| (WebInspector.TextEditor.prototype.set autoFormat): Deleted. |
| Remove the TextEditor's autoformat. Since formatting can be async, having |
| the TextEditor showing and asynchronously format its initial contents is |
| a recipe for poor performance causing multiple layouts of different content. |
| Instead, autoformatting is handled by SourceCodeTextEditor, and TextEditor |
| can then be shown when it has the right data. |
| |
| 2016-04-07 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Improve JavaScript pretty printing |
| https://bugs.webkit.org/show_bug.cgi?id=156178 |
| <rdar://problem/25535719> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Add a new EsprimaFormatter which pretty prints JavaScript source text |
| using the Esprima AST and Tokens. Currently we use CodeMirror's |
| tokenizer for pretty printing. By moving to Esprima for pretty |
| printing we get a few advantages: (1) can be used within a Worker |
| as there are no dependencies on DOM objects, (2) a full featured AST |
| gives more context to handling individual tokens. One disadvantage |
| is that Esprima requires valid input, so scripts with syntax errors |
| will not work. |
| |
| EsprimaFormatter works by: |
| - Getting the Esprima AST and token stream. |
| - Walk all AST nodes: |
| - when entering an AST node, handle any tokens before the start of this node |
| - when leaving an AST node, handle any tokens that were inside the node |
| - Whenever we handle a new node or token check if we should preserve any |
| newlines or comments that do not show up in the AST or token stream. |
| |
| This allows us to handle any token based on its context. Currently the |
| formatter prefers to operate on tokens based on their context. So the |
| formatter has a case for each AST node type and handles the tokens |
| within that AST node. A small exception is made to special case the |
| handling of semicolons. |
| |
| * Scripts/copy-user-interface-resources-dryrun.rb: |
| Add a generic check for -h, -help, --help to print usage. |
| |
| * Tools/Formatting/EsprimaFormatterDebug.js: Added. |
| (EsprimaFormatterDebug): |
| (EsprimaFormatterDebug.prototype.get debugText): |
| (EsprimaFormatterDebug.prototype._pad): |
| (EsprimaFormatterDebug.prototype._debugHeader): |
| (EsprimaFormatterDebug.prototype._debugFooter): |
| (EsprimaFormatterDebug.prototype._debug): |
| (EsprimaFormatterDebug.prototype._debugComments): |
| (EsprimaFormatterDebug.prototype._debugAfterProgramNode): |
| (EsprimaFormatterDebug.prototype._before): |
| (EsprimaFormatterDebug.prototype._after): |
| * Tools/Formatting/codemirror-additions.css: Copied from Source/WebInspectorUI/Tools/PrettyPrinting/codemirror-additions.css. |
| * Tools/Formatting/index.html: Added. |
| * Tools/PrettyPrinting/codemirror-additions.css: |
| (pre): Deleted. |
| (a.download): Deleted. |
| * Tools/PrettyPrinting/index.html: |
| * Tools/PrettyPrinting/populate/jquery.min.js: Removed. |
| Add a Formatter tool that is similiar to the PrettyPrinting tool but |
| outputs debug information for Esprima tokens. This is useful for |
| iterating on tests, performance measurements, and general debugging |
| of token stream for any input. |
| |
| * UserInterface/Controllers/FormatterSourceMap.js: |
| (WebInspector.FormatterSourceMap.fromSourceMapData): |
| (WebInspector.FormatterSourceMap.fromBuilder): Deleted. |
| Switch to constructing with a common data objects, instead of a Builder. |
| |
| * UserInterface/Main.html: |
| * UserInterface/Test.html: |
| New files and moved files. |
| |
| * UserInterface/Proxies/FormatterWorkerProxy.js: Added. |
| (WebInspector.FormatterWorkerProxy): |
| (WebInspector.FormatterWorkerProxy.singleton): |
| (WebInspector.FormatterWorkerProxy.canFormat): |
| (WebInspector.FormatterWorkerProxy.prototype.formatJavaScript): |
| (WebInspector.FormatterWorkerProxy.prototype.performAction): |
| (WebInspector.FormatterWorkerProxy.prototype._postMessage): |
| (WebInspector.FormatterWorkerProxy.prototype._handleMessage): |
| Main world object which provides a static formatJavaScript action. |
| |
| * UserInterface/Views/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._formattedContentFromEditor): |
| * UserInterface/Views/TextEditor.js: |
| (WebInspector.TextEditor.prototype.prettyPrint.prettyPrintAndUpdateEditor): |
| (WebInspector.TextEditor.prototype.prettyPrint): |
| * UserInterface/Workers/Formatter/FormatterContentBuilder.js: Renamed from Source/WebInspectorUI/UserInterface/Controllers/FormatterContentBuilder.js. |
| (FormatterContentBuilder): |
| Simplify construction of a Builder. The constructor objects were always |
| the same and often unnecessary. Also move out of the WebInspector |
| namespace signifying it can be used within a Worker. |
| |
| (FormatterContentBuilder.prototype.get originalContent): Deleted. |
| (FormatterContentBuilder.prototype.get formattedContent): Deleted. |
| (FormatterContentBuilder.prototype.get sourceMapData): Added. |
| Simplify getting all the data needed for SourceMaps. |
| |
| (FormatterContentBuilder.prototype.setOriginalLineEndings): |
| A client may wish to pre-fill line endings instead of filling |
| while building. |
| |
| (FormatterContentBuilder.prototype.appendNewline): |
| Auto-clear trailing whitespace on the previous line. |
| |
| * UserInterface/Workers/Formatter/ESTreeWalker.js: Added. |
| (ESTreeWalker): |
| (ESTreeWalker.prototype.walk): |
| (ESTreeWalker.prototype._walk): |
| (ESTreeWalker.prototype._walkArray): |
| (ESTreeWalker.prototype._walkChildren): |
| Walk AST nodes in an ESTree format. Due to the spec's incompleteness |
| this is essentially Esprima's ESTree. |
| |
| * UserInterface/Workers/Formatter/EsprimaFormatter.js: Added. |
| (EsprimaFormatter): |
| (EsprimaFormatter.isWhitespace): |
| (EsprimaFormatter.prototype.get formattedText): |
| (EsprimaFormatter.prototype.get sourceMapData): |
| (EsprimaFormatter.prototype._insertNewlinesBeforeToken): |
| (EsprimaFormatter.prototype._insertComment): |
| (EsprimaFormatter.prototype._insertSameLineTrailingComments): |
| (EsprimaFormatter.prototype._insertCommentsAndNewlines): |
| (EsprimaFormatter.prototype._before): |
| (EsprimaFormatter.prototype._after): |
| (EsprimaFormatter.prototype._isInForHeader): |
| (EsprimaFormatter.prototype._isRangeWhitespace): |
| (EsprimaFormatter.prototype._handleTokenAtNode): |
| (EsprimaFormatter.prototype._exitNode): |
| (EsprimaFormatter.prototype._afterProgram): |
| Pretty print source text. |
| |
| * UserInterface/Workers/Formatter/FormatterUtilities.js: Added. |
| (Array.prototype.lastValue): |
| (String.prototype.lineEndings): |
| (isECMAScriptWhitespace): |
| (isECMAScriptLineTerminator): |
| Helpers used by the classes in the Worker code. |
| |
| * UserInterface/Workers/Formatter/FormatterWorker.js: Added. |
| (FormatterWorker): |
| (FormatterWorker.prototype.formatJavaScript): |
| (FormatterWorker.prototype._handleMessage): |
| Handle the formatJavaScript action. |
| |
| 2016-04-06 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Improve filtering in OpenResourceDialog |
| https://bugs.webkit.org/show_bug.cgi?id=155324 |
| <rdar://problem/25094504> |
| |
| Reviewed by Joseph Pecoraro and Timothy Hatcher. |
| |
| * UserInterface/Base/Utilities.js: |
| (value): |
| Added String methods isLowerCase, isUpperCase, removeWhitespace. |
| |
| * UserInterface/Controllers/ResourceQueryController.js: Added. |
| (WebInspector.ResourceQueryController): |
| (WebInspector.ResourceQueryController.prototype.addResource): |
| (WebInspector.ResourceQueryController.prototype.removeResource): |
| Add and remove the resources to be queried. |
| |
| (WebInspector.ResourceQueryController.prototype.reset): |
| Reset controller state. Current just clears resources. |
| |
| (WebInspector.ResourceQueryController.prototype.executeQuery): |
| Executes a query against the list of resources and returns a list of |
| QueryResult objects, with at most one result per resource, ordered by |
| descending rank. |
| |
| The query string is stripped of whitespace characters and lowercased |
| before use. Prior to running the query, resources undergo a one-time |
| pre-processing step to locate special characters. |
| |
| (WebInspector.ResourceQueryController.prototype._findQueryMatches.pushMatch): |
| (WebInspector.ResourceQueryController.prototype._findQueryMatches.matchNextSpecialCharacter): |
| (WebInspector.ResourceQueryController.prototype._findQueryMatches.backtrack): |
| (WebInspector.ResourceQueryController.prototype._findQueryMatches): |
| Returns a list of query matches for a single resource, along with metadata |
| which is used to rank the matches. The algorithm attempts to match the |
| entire query, first comparing each query character against "special" characters |
| in the resource (commonly used filename separators, the first character, |
| and camel-case word boundaries). |
| |
| If there are remaining query characters after exhausting special characters, |
| regular characters are matched starting from the last matched special |
| character. Failing that, the algorithm attempts to find a match by backtracking. |
| To backtrack, the last match is discarded and the query position decremented. |
| If a special match is now the last match, matching starts again from the |
| next character in the filename after the match. If a normal match is now |
| the last match, keep discarding until a special match is found or no matches |
| remain. The query fails if no matches remain. For example, consider: |
| |
| Query: "abcd" |
| Filename: "AxBcdCx" |
| |
| The capital A, B, and C are all special characters, and are successfully |
| matched with the first three query characters. Having exhausted the special |
| characters the "d" at the end of the query is compared with the "x" at |
| the end of the filename, and fails to match. Backtracking then kicks in. |
| The last match, "C", is discarded and the search position in the query |
| decremented. The search resumes after the next to last match, "B", and now |
| matches the non-special characters "cd", yielding the following: "A Bcd ". |
| |
| (WebInspector.ResourceQueryController.prototype._findSpecialCharacterIndices): |
| Pre-processing step for resources. Locates the positions of special |
| characters in the resource filename. Special characters are defined as: |
| |
| 1. The first character |
| 2. Common filename separators, and the character immediately following. |
| 3. A capital letter that follows a lowercase character. |
| |
| * UserInterface/Models/ResourceQueryMatch.js: Added. |
| Helper class used internally by the controller and QueryResult classes. |
| (WebInspector.ResourceQueryMatch): |
| (WebInspector.ResourceQueryMatch.prototype.get type): |
| (WebInspector.ResourceQueryMatch.prototype.get index): |
| (WebInspector.ResourceQueryMatch.prototype.get queryIndex): |
| |
| * UserInterface/Models/ResourceQueryResult.js: Added. |
| Holds a resource that matched the executed query. |
| (WebInspector.ResourceQueryResult): |
| (WebInspector.ResourceQueryResult.prototype.get resource): |
| (WebInspector.ResourceQueryResult.prototype.get rank): |
| Ranking relative to other results returned by the query. Used by |
| the ResourceQueryController to sort results. |
| |
| (WebInspector.ResourceQueryResult.prototype.get matchingTextRanges): |
| Get TextRanges for matching substrings in the resource display name. |
| |
| (WebInspector.ResourceQueryResult.prototype._calculateRank): |
| Calculate the rank of the result. Matches are scored based on the type |
| of match (Special vs. Normal), the location of the match within the filename |
| (matches closer to the beginning are scored higher), and whether the match |
| is adjacent to the previous match. |
| |
| Values assigned to each ranking criteria are somewhat arbitrary, and may |
| be fine-tuned over time to produce better results. |
| |
| (WebInspector.ResourceQueryResult.prototype._createMatchingTextRanges): |
| (WebInspector.ResourceQueryResult.prototype.__test_createMatchesMask): |
| Test API for visualizing matches. For a result returned from the query |
| "abce", run against a filename "abcde", the mask is "a c e". |
| |
| * UserInterface/Main.html: |
| * UserInterface/Test.html: |
| New files. |
| |
| * UserInterface/Views/Dialog.js: |
| (WebInspector.Dialog.prototype.dismiss): |
| (WebInspector.Dialog.prototype.didDismissDialog): |
| Add hook for subclasses to perform actions after on dialog dismissal. |
| |
| * UserInterface/Views/OpenResourceDialog.js: |
| (WebInspector.OpenResourceDialog): |
| (WebInspector.OpenResourceDialog.prototype._populateResourceTreeOutline.createHighlightedTitleFragment): |
| (WebInspector.OpenResourceDialog.prototype._populateResourceTreeOutline): |
| Add tree elements for each QueryResult returned by the last query, creating |
| titles with contiguous matching query characters wrapped in highlight spans. |
| |
| (WebInspector.OpenResourceDialog.prototype.didDismissDialog): |
| Clear resources from the ResourceQueryController. |
| (WebInspector.OpenResourceDialog.prototype.didPresentDialog): |
| Add resources to the ResourceQueryController. |
| (WebInspector.OpenResourceDialog.prototype._updateFilter): |
| Execute the filter text as a resource query. |
| |
| * UserInterface/Views/TreeOutline.css: |
| (.tree-outline.large .item .titles): Deleted. |
| Line height too small, hid the bottom border of highlighted matches in |
| tree element title spans. Removing the style had no negative visual impact |
| on the Quick Open or Timelines tree outlines (the only "large" trees). |
| |
| 2016-04-05 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Do not create CodeMirror color/gradient markers in JavaScript resources |
| https://bugs.webkit.org/show_bug.cgi?id=156278 |
| <rdar://problem/25570404> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype._hasStyleSheetContents): |
| (WebInspector.SourceCodeTextEditor.prototype._updateEditableMarkers): |
| Only spend the time to create style markers for style sheet contents. |
| |
| 2016-04-05 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Make the Timelines sidebar wider |
| |
| https://bugs.webkit.org/show_bug.cgi?id=156257 |
| rdar://problem/25564218 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/TimelineOverview.css: |
| (.timeline-overview): Added. Set define --timeline-sidebar-width. |
| (.timeline-overview > .navigation-bar.timelines): Use --timeline-sidebar-width. |
| (.timeline-overview > .tree-outline.timelines): Ditto. |
| (.timeline-overview > .scroll-container): Ditto. |
| (.timeline-overview > .timeline-ruler): Ditto. |
| (.timeline-overview > .graphs-container): Ditto. |
| |
| 2016-04-05 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Command-Option-R opens Inspector details sidebar or Responsive Design Mode, should only do one |
| |
| https://bugs.webkit.org/show_bug.cgi?id=156258 |
| rdar://problem/25483871 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.contentLoaded): Change shortcuts to Command-Option-0 and Command-Shift-0. |
| |
| 2016-04-05 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Should not allow selecting no Timelines when editing in Timeline tab |
| https://bugs.webkit.org/show_bug.cgi?id=156223 |
| <rdar://problem/25552221> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/TimelineOverview.js: |
| (WebInspector.TimelineOverview): |
| (WebInspector.TimelineOverview.prototype._startEditingInstruments): |
| Register EnabledDidChange event handler for all tree elements. |
| |
| (WebInspector.TimelineOverview.prototype._stopEditingInstruments): |
| Unregister event handler for enabled tree elements. The rest are removed |
| from the tree outline once editing has completed. |
| |
| (WebInspector.TimelineOverview.prototype._timelineTreeElementEnabledDidChange): |
| Enable "Done" button if at least one timeline is enabled. |
| |
| * UserInterface/Views/TimelineTreeElement.js: |
| Dispatch a new event, EnabledDidChange, when the checkbox state changes. |
| |
| (WebInspector.TimelineTreeElement.prototype._showCheckbox): |
| (WebInspector.TimelineTreeElement.prototype._clickHandler): |
| (WebInspector.TimelineTreeElement.prototype._dispatchEnabledDidChangeEvent): |
| (WebInspector.TimelineTreeElement): |
| |
| 2016-04-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Uncaught Exception: Error: Can't make a ContentView for an unknown representedObject (ApplicationCacheManifest) |
| https://bugs.webkit.org/show_bug.cgi?id=156139 |
| <rdar://problem/25511926> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/ContentView.js: |
| (WebInspector.ContentView.createFromRepresentedObject): |
| Improve the error message to get the name of the represented object. |
| |
| * UserInterface/Views/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel.prototype._isTreeElementWithoutRepresentedObject): |
| Treat ApplicationCacheManifestTreeElement like other Host elements. Nothing to save/show. |
| |
| * UserInterface/Views/ApplicationCacheManifestTreeElement.js: |
| (WebInspector.ApplicationCacheManifestTreeElement): |
| * UserInterface/Views/DatabaseHostTreeElement.js: |
| (WebInspector.DatabaseHostTreeElement): |
| * UserInterface/Views/IndexedDatabaseHostTreeElement.js: |
| (WebInspector.IndexedDatabaseHostTreeElement): |
| Auto-expand these folders, as they are not useful when collapsed. |
| |
| 2016-04-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Uncaught exception in CSS with string "constructor" (WebInspector.Color.fromString()) |
| https://bugs.webkit.org/show_bug.cgi?id=156183 |
| <rdar://problem/25539279> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Models/Color.js: |
| (WebInspector.Color.fromString): |
| Fix the uncaught exception issue. Only look at own properties of |
| our keyword map to avoid values like "toString" and "constructor". |
| |
| * UserInterface/Debug/UncaughtExceptionReporter.js: |
| (handleError): |
| (handleUncaughtException): |
| (handleUncaughtExceptionRecord): |
| Generalize uncaught exception handler error sheet to get |
| exception records from both uncaught exceptions (window.onerror) |
| and general Runtime Error objects (TypeError, etc). |
| |
| * UserInterface/Base/Utilities.js: |
| (window.promiseLogError.window.promiseLogError): |
| Add a fallback log exception helper. |
| |
| * UserInterface/Controllers/AnalyzerManager.js: |
| (WebInspector.AnalyzerManager.prototype.getAnalyzerMessagesForSourceCode): |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor): |
| Add catch handlers to Promises to log exceptions. |
| |
| 2016-04-01 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Unreviewed follow-up to r198968. Remove debug statements. |
| |
| * Scripts/remove-console-asserts.pl: |
| (removeConsoleAssertsInFile): |
| |
| 2016-04-01 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Remove console.asserts from Worker code in optimized builds |
| https://bugs.webkit.org/show_bug.cgi?id=156124 |
| <rdar://problem/25505031> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Scripts/copy-user-interface-resources.pl: |
| Remove console asserts on the Worker results directory. |
| |
| * Scripts/remove-console-asserts.pl: |
| (removeConsoleAssertsInFile): |
| (removeConsoleAssertsInDirectory): |
| Refactor into functions for a file and a file for |
| recursing through directories. |
| |
| 2016-03-31 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: ScriptSyntaxTree doesn't handle RestElement AST nodes |
| https://bugs.webkit.org/show_bug.cgi?id=156085 |
| |
| Reviewed by Saam Barati. |
| |
| * UserInterface/Models/ScriptSyntaxTree.js: |
| (WebInspector.ScriptSyntaxTree.prototype._gatherIdentifiersInDeclaration.gatherIdentifiers): |
| (WebInspector.ScriptSyntaxTree.prototype._gatherIdentifiersInDeclaration): |
| When searching for identifiers in Function parameters, pass |
| through the RestElement to its argument. |
| |
| (WebInspector.ScriptSyntaxTree.prototype._recurse): |
| (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree): |
| Create a ScriptSyntaxTree RestElement node. |
| Also, every case in recurse visits the current |
| node, so simplify the code! |
| |
| 2016-03-30 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Remove unused ScriptProfiler.Samples.totalTime |
| https://bugs.webkit.org/show_bug.cgi?id=156002 |
| |
| Reviewed by Saam Barati. |
| |
| * UserInterface/Controllers/TimelineManager.js: |
| (WebInspector.TimelineManager.prototype.scriptProfilerTrackingCompleted): |
| * UserInterface/Models/CallingContextTree.js: |
| (WebInspector.CallingContextTree.prototype.get totalExecutionTime): Deleted. |
| (WebInspector.CallingContextTree.prototype.reset): Deleted. |
| (WebInspector.CallingContextTree.prototype.increaseExecutionTime): Deleted. |
| Remove unused totalExecutionTime. |
| |
| 2016-03-30 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Calculate more accurate time per-sample instead of assuming 1ms |
| https://bugs.webkit.org/show_bug.cgi?id=155961 |
| <rdar://problem/25404505> |
| |
| Reviewed by Geoffrey Garen. |
| |
| Give each sample a duration based on the best time bounds we have available. |
| Script Profiler Events give us time bounds for (nearly) all script evaluations. |
| The only evaluations that are missed are Inspector scripts. |
| |
| The duration per-sample is computed per-event: |
| |
| durationPerSample = (event.endTime - event.startTime) / numSamplesInTimeRange. |
| |
| If a 10ms Script Event contains 5 samples, they would each get a 2ms duration. |
| If a 0.5ms Script Event contains 1 sample, it would get a 0.5ms duration. |
| |
| We were seeing an average of 1.6-1.8ms per sample for events that had more |
| than 3 samples. |
| |
| * UserInterface/Controllers/TimelineManager.js: |
| (WebInspector.TimelineManager.prototype.scriptProfilerTrackingCompleted): |
| Associate a time duration per sample. For each Script Event we compute |
| an average time for all the samples in the event and assign it to the sample. |
| |
| * UserInterface/Models/CallingContextTree.js: |
| (WebInspector.CallingContextTree.prototype.totalDurationInTimeRange): |
| (WebInspector.CallingContextTree.prototype.numberOfSamplesInTimeRange): Deleted. |
| Accumulate the duration by checking each sample. Number of samples |
| is now meaningless. |
| |
| (WebInspector.CallingContextTree.prototype.updateTreeWithStackTrace): |
| (WebInspector.CCTNode): |
| (WebInspector.CCTNode.prototype.addTimestampAndExpressionLocation): |
| Give CCTNodes a list of durations and leafDurations that parallels |
| the timestamps and leafTimestamps lists of individual samples. |
| |
| (WebInspector.CCTNode.prototype.filteredTimestampsAndDuration): |
| (WebInspector.CCTNode.prototype.filteredLeafTimestampsAndDuration): |
| (WebInspector.CCTNode.prototype.filteredTimestamps): Deleted. |
| (WebInspector.CCTNode.prototype.numberOfLeafTimestamps): Deleted. |
| Whenever we get a list of timestamps, also compute the duration |
| of those timestamps at the same time. |
| |
| * UserInterface/Views/ProfileDataGridNode.js: |
| (WebInspector.ProfileDataGridNode): |
| (WebInspector.ProfileDataGridNode.prototype._updateChildrenForModifiers): |
| (WebInspector.ProfileDataGridNode.prototype._recalculateData): |
| * UserInterface/Views/ProfileDataGridTree.js: |
| (WebInspector.ProfileDataGridTree): |
| (WebInspector.ProfileDataGridTree.prototype.get totalSampleTime): |
| (WebInspector.ProfileDataGridTree.prototype._updateCurrentFocusDetails): |
| (WebInspector.ProfileDataGridTree.prototype.get sampleInterval): Deleted. |
| (WebInspector.ProfileDataGridTree.prototype.get numberOfSamples): Deleted. |
| Instead of computing total time from (samples * sampleInterval), |
| accumulate it by adding up the duration of each individual sample. |
| Update the Profile Data Grid nodes to use the new calculations. |
| |
| 2016-03-29 Dana Burkart and Matthew Hanson <dburkart@apple.com> |
| |
| Web Inspector: JS PrettyPrinting in do/while loops, "while" should be on the same line as "}" if there was a closing brace |
| https://bugs.webkit.org/show_bug.cgi?id=117616 |
| <rdar://problem/15796884> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| This patch fixes the formatting of do / while loops in the WebInspector CodeFormatter. |
| |
| Before: |
| do { |
| "x" |
| } |
| while (0); |
| |
| After: |
| do { |
| "x" |
| } while (0); |
| |
| * UserInterface/Views/CodeMirrorFormatters.js: |
| (shouldHaveSpaceBeforeToken): |
| If we encounter a while token and the last token was a closing brace, we *should* add a space if that closing |
| brace was closing a do block. |
| |
| (removeLastNewline): |
| If we encounter a while token and the last token was a closing brace, we *should not* add a newline if that closing |
| brace closes a do block. |
| |
| (modifyStateForTokenPre): |
| We should keep track of the last token that we encountered before entering into a block. We do this by setting |
| a lastContentBeforeBlock property on openBraceStartMarker / state objects. |
| |
| In addition, this fixes a bug where we do not pop a state object off of openBraceStartMarkers if our indentCount |
| is 0. Without doing this, we cannot reliably determine whether or not our while token needs to be inline or not. |
| |
| 2016-03-29 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: REGRESSION: ⌘E and ⌘G text searching does not work |
| https://bugs.webkit.org/show_bug.cgi?id=155981 |
| <rdar://problem/25418983> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Disable the unused find banner in the RecordingContentView's |
| ContentBrowser. This is a workaround for the background tab |
| thinking it is visible, but still useful since the find |
| banner wouldn't be used in the TimelineContentView anyways so |
| can avoid being created. |
| |
| * UserInterface/Views/ContentBrowser.js: |
| (WebInspector.ContentBrowser): |
| Add a construction option to not create a FindBanner. |
| |
| (WebInspector.ContentBrowser.prototype.handleFindEvent): |
| (WebInspector.ContentBrowser.prototype.shown): |
| (WebInspector.ContentBrowser.prototype.hidden): |
| (WebInspector.ContentBrowser.prototype._contentViewNumberOfSearchResultsDidChange): |
| (WebInspector.ContentBrowser.prototype._updateFindBanner): |
| Handle when we don't have a find banner. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView): |
| Do not create a FindBanner in the RecordingContentView. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.contentLoaded): |
| This global content browser can also avoid creating a FindBanner. |
| |
| 2016-03-29 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: We should have a way to capture heap snapshots programatically. |
| https://bugs.webkit.org/show_bug.cgi?id=154407 |
| <rdar://problem/24726292> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Protocol/ConsoleObserver.js: |
| (WebInspector.ConsoleObserver.prototype.heapSnapshot): |
| (WebInspector.ConsoleObserver): |
| Create a HeapSnapshot with an optional title and add to the timeline. |
| |
| (WebInspector.HeapAllocationsTimelineDataGridNode): |
| * UserInterface/Views/TimelineTabContentView.js: |
| (WebInspector.TimelineTabContentView.displayNameForRecord): |
| Share code for snapshot display names which may now include a title. |
| |
| * UserInterface/Proxies/HeapSnapshotProxy.js: |
| (WebInspector.HeapSnapshotProxy): |
| (WebInspector.HeapSnapshotProxy.deserialize): |
| (WebInspector.HeapSnapshotProxy.prototype.get title): |
| * UserInterface/Views/HeapAllocationsTimelineDataGridNode.js: |
| * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js: |
| (HeapSnapshot): |
| (HeapSnapshot.prototype.serialize): |
| * UserInterface/Workers/HeapSnapshot/HeapSnapshotWorker.js: |
| (HeapSnapshotWorker.prototype.createSnapshot): |
| Include an optional title in a HeapSnapshot. |
| |
| 2016-03-28 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Ensure maximum accuracy while profiling |
| https://bugs.webkit.org/show_bug.cgi?id=155809 |
| <rdar://problem/25325035> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| New strings. |
| |
| * UserInterface/Controllers/DebuggerManager.js: |
| (WebInspector.DebuggerManager): |
| When starting the inspector, if it was previously closed while |
| breakpoints were temporarily disabled, restore the correct |
| breakpoints enabled state. |
| |
| (WebInspector.DebuggerManager.prototype.set breakpointsEnabled): |
| Warn if we ever try to enable breakpoints during timeline recordings. |
| |
| (WebInspector.DebuggerManager.prototype.get breakpointsDisabledTemporarily): |
| (WebInspector.DebuggerManager.prototype.startDisablingBreakpointsTemporarily): |
| (WebInspector.DebuggerManager.prototype.stopDisablingBreakpointsTemporarily): |
| Method to start/stop temporarily disabling breakpoints. |
| |
| (WebInspector.DebuggerManager.prototype._breakpointDisabledStateDidChange): |
| (WebInspector.DebuggerManager.prototype._setBreakpoint): |
| When temporarily disabling breakpoints avoid the convenience behavior of |
| enabling all breakpoints when enabling or setting a single breakpoint. |
| |
| * UserInterface/Controllers/TimelineManager.js: |
| (WebInspector.TimelineManager.prototype.startCapturing): |
| Emit a will start capturing event to do work before enabling instruments. |
| |
| * UserInterface/Views/DebuggerSidebarPanel.css: |
| (.sidebar > .panel.navigation.debugger .timeline-recording-warning): |
| (.sidebar > .panel.navigation.debugger .timeline-recording-warning > a): |
| Styles for a warning section in the Debugger Sidebar when the Debugger |
| is temporarily disabled due to a Timeline recording. |
| |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel.prototype._timelineRecordingWillStart): |
| (WebInspector.DebuggerSidebarPanel.prototype._timelineRecordingStopped): |
| Modify the Debugger state and UI before and after a Timeline recording. |
| |
| 2016-03-28 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Use font-variant-numeric: tabular-nums instead of -apple-system-monospaced-numbers |
| https://bugs.webkit.org/show_bug.cgi?id=155826 |
| <rdar://problem/25330631> |
| |
| Reviewed by Myles C. Maxfield. |
| |
| * UserInterface/Views/CodeMirrorOverrides.css: |
| (.CodeMirror .CodeMirror-linenumber): |
| * UserInterface/Views/DataGrid.css: |
| (.data-grid td): |
| * UserInterface/Views/DefaultDashboardView.css: |
| (.toolbar .dashboard.default > .item): |
| * UserInterface/Views/ObjectTreeArrayIndexTreeElement.css: |
| (.object-tree-array-index .index-name): |
| |
| 2016-03-28 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Add font-variant-numeric to CSS autocompletions |
| https://bugs.webkit.org/show_bug.cgi?id=155941 |
| <rdar://problem/25381735> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Also, remove -apple-system-monospaced-numbers. |
| `font-variant-numeric: tabular-nuns` should be used instead. |
| |
| * UserInterface/Models/CSSKeywordCompletions.js: |
| |
| 2016-03-28 Matt Baker <mattbaker@apple.com> |
| |
| REGRESSION (r195303): Web Inspector: Wrong indentation in the type coverage profiler popovers |
| https://bugs.webkit.org/show_bug.cgi?id=155930 |
| <rdar://problem/25377042> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Increased specificity of TypeTreeView CSS selectors, and added new |
| overrides for rules made global by r195303, which don't apply to the |
| TypeTreeView's or its tree elements. |
| |
| * UserInterface/Views/TypeTreeElement.css: |
| (.item.type-tree-element): |
| (.item.type-tree-element > .titles): |
| (.item.type-tree-element > .disclosure-button): |
| (.item.type-tree-element.parent > .disclosure-button): |
| (.item.type-tree-element.parent.expanded > .disclosure-button): |
| (.item.type-tree-element > .icon): |
| (.item.type-tree-element.prototype): |
| (.item.type-tree-element.prototype:focus): |
| (.item.type-tree-element.prototype + ol): |
| (.type-tree-element): Deleted. |
| (.type-tree-element > .titles): Deleted. |
| (.type-tree-element > .disclosure-button): Deleted. |
| (.type-tree-element.parent > .disclosure-button): Deleted. |
| (.type-tree-element.parent.expanded > .disclosure-button): Deleted. |
| (.type-tree-element > .icon): Deleted. |
| (.type-tree-element.prototype): Deleted. |
| (.type-tree-element.prototype:focus): Deleted. |
| (.type-tree-element.prototype + ol): Deleted. |
| |
| * UserInterface/Views/TypeTreeView.css: |
| (.tree-outline.type li): |
| |
| * UserInterface/Views/TypeTreeView.js: |
| (WebInspector.TypeTreeView): |
| Use custom indentation. |
| |
| 2016-03-28 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Large repaints while typing in the console tab |
| https://bugs.webkit.org/show_bug.cgi?id=155627 |
| <rdar://problem/25234875> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Specify the height of flexbox elements to reduce repaint areas. |
| |
| * UserInterface/Views/Main.css: |
| (#navigation-sidebar): |
| (#content): z-index doesn't affect repaint areas once the height is set. |
| (#details-sidebar): |
| |
| 2016-03-25 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Sometimes clearing focused nodes in ProfileView leaves a dangling call stack that can never be removed |
| https://bugs.webkit.org/show_bug.cgi?id=155915 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/ProfileDataGridTree.js: |
| (WebInspector.ProfileDataGridTree.prototype.addFocusNode): |
| (WebInspector.ProfileDataGridTree.prototype.rollbackFocusNode): |
| (WebInspector.ProfileDataGridTree.prototype.clearFocusNodes): |
| (WebInspector.ProfileDataGridTree.prototype._focusChanged): |
| (WebInspector.ProfileDataGridTree.prototype._saveFocusedNodeOriginalParent): |
| (WebInspector.ProfileDataGridTree.prototype._restoreFocusedNodeToOriginalParent): |
| Be a little more explicit about saving and resotring nodes. |
| When restoring, work around a DataGrid issue by temporarily |
| collapsing and expanding the part of the node we are being |
| reattached to. This is a cheap workaround for an otherwise |
| complex DataGrid / DataGridTree issue. |
| |
| 2016-03-25 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Clicking a result in Quick Open dialog dismisses the dialog, does nothing |
| https://bugs.webkit.org/show_bug.cgi?id=155892 |
| <rdar://problem/25361220> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/OpenResourceDialog.js: |
| (WebInspector.OpenResourceDialog): |
| Allow repeat selection so clicking a selected element makes a selection |
| and dismisses the dialog. |
| |
| (WebInspector.OpenResourceDialog.prototype._populateResourceTreeOutline): |
| Suppress select and deselect. Only user clicks should cause a selection event. |
| |
| (WebInspector.OpenResourceDialog.prototype._handleBlurEvent): |
| Prevent the dialog from being dismissed before tree item selection occurs. |
| |
| (WebInspector.OpenResourceDialog.prototype._treeSelectionDidChange): |
| Set the represented object (dialog result) and dismiss. |
| |
| 2016-03-25 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r198619. |
| https://bugs.webkit.org/show_bug.cgi?id=155902 |
| |
| Switching to Console tab sometimes results in blank tab. |
| (Requested by JoePeck on #webkit). |
| |
| Reverted changeset: |
| |
| "Web Inspector: Large repaints while typing in the console |
| tab" |
| https://bugs.webkit.org/show_bug.cgi?id=155627 |
| http://trac.webkit.org/changeset/198619 |
| |
| 2016-03-25 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Scrolling/selection is broken in Quick Open dialog resource tree |
| https://bugs.webkit.org/show_bug.cgi?id=155877 |
| <rdar://problem/25356149> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Dialog and tree outline now use "display: flex", causing the height of the |
| tree outline to be based on the height of the dialog. Overflow scrolling |
| in the tree outline now has the expected behavior. |
| |
| * UserInterface/Views/OpenResourceDialog.css: |
| (.open-resource-dialog): |
| (.open-resource-dialog > .tree-outline): |
| |
| 2016-03-24 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Reduce forced layouts |
| https://bugs.webkit.org/show_bug.cgi?id=155852 |
| <rdar://problem/25345197> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid.prototype.layout): |
| (WebInspector.DataGrid.prototype._positionResizerElements): |
| (WebInspector.DataGrid.prototype._positionHeaderViews): |
| In loops, force layout once, calculate values, then set styles. |
| |
| * UserInterface/Views/RadioButtonNavigationItem.js: |
| (WebInspector.RadioButtonNavigationItem): |
| (WebInspector.RadioButtonNavigationItem.prototype.updateLayout): |
| Force layout once to calculate the min-width, then never again. |
| |
| 2016-03-24 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Open Resource Dialog should not system beep when using Enter to select an item |
| https://bugs.webkit.org/show_bug.cgi?id=155853 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/OpenResourceDialog.js: |
| (WebInspector.OpenResourceDialog.prototype._handleKeydownEvent): |
| Prevent default when handling Enter with a selected result. |
| |
| 2016-03-24 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Miscellaneous performance fixes in Timeline recording |
| https://bugs.webkit.org/show_bug.cgi?id=155832 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Models/CallingContextTree.js: |
| (WebInspector.CCTNode.prototype.hasChildren): |
| No need to allocate an array with all of the properties, we can just |
| check if there is at least one property using a short circuit for..in. |
| Performance was always faster for empty, small, and large objects |
| in micro benchmarks. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid.prototype.layout): |
| Avoid causing DOM layout when positioning resizers. They only need |
| a layout if we are resizing the DataGrid, or the initial layout. |
| |
| * UserInterface/Views/NavigationBar.js: |
| (WebInspector.NavigationBar): |
| (WebInspector.NavigationBar.prototype.needsLayout): |
| (WebInspector.NavigationBar.prototype.layout): |
| Avoid causing DOM layout every View layout. In fact, only do a |
| DOM layout when someone has triggered a needsLayout on this |
| navigation bar. A basic dirty layout (triggered by a parent) |
| should not have caused us to resize. |
| |
| * UserInterface/Views/HeapAllocationsTimelineOverviewGraph.js: |
| * UserInterface/Views/LayoutTimelineOverviewGraph.js: |
| (WebInspector.LayoutTimelineOverviewGraph.prototype.layout): |
| * UserInterface/Views/MemoryTimelineOverviewGraph.js: |
| (WebInspector.MemoryTimelineOverviewGraph.prototype.reset): |
| (WebInspector.MemoryTimelineOverviewGraph.prototype._updateLegend): |
| * UserInterface/Views/NetworkTimelineOverviewGraph.js: |
| * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js: |
| (WebInspector.RenderingFrameTimelineOverviewGraph.prototype.layout): |
| * UserInterface/Views/ScriptTimelineOverviewGraph.js: |
| Avoid doing any work in non-visible graphs. This was very common |
| because the RenderingFrameTimelineOverviewGraph is never visible |
| when the other timeline graphs are, but was performing lots of work. |
| |
| * UserInterface/Views/MemoryCategoryView.js: |
| (WebInspector.MemoryCategoryView.prototype.clear): |
| (WebInspector.MemoryCategoryView.prototype._updateDetails): |
| (WebInspector.MemoryCategoryView): |
| * UserInterface/Views/MemoryTimelineView.js: |
| (WebInspector.MemoryTimelineView.prototype.reset): |
| (WebInspector.MemoryTimelineView.prototype._updateUsageLegend): |
| (WebInspector.MemoryTimelineView.prototype._updateMaxComparisonLegend): |
| Cache values to avoid textContent calls even if the content did not change. |
| This reduces unnecessary work when the values wouldn't change. |
| |
| * UserInterface/Views/TimelineRecordBar.js: |
| (WebInspector.TimelineRecordBar.createCombinedBars): |
| (WebInspector.TimelineRecordBar.prototype.set records): |
| Revert to fast loop and as this code path is very hot and for..of iteration |
| was showing up in profiles. Remove assert which seems rather pointless but |
| showed up in profiles. |
| |
| 2016-03-24 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Large repaints while typing in the console tab |
| https://bugs.webkit.org/show_bug.cgi?id=155627 |
| <rdar://problem/25234875> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Use a `position: absolute` workaround to reduce large repaint areas caused by flexbox. |
| |
| * UserInterface/Views/LogContentView.css: |
| (body.selected-tab-console #content): |
| This selector must only affect the console tab as it breaks sidebars in other tabs. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.contentLoaded): |
| (WebInspector._tabBarItemSelected): |
| * UserInterface/Views/TabBar.js: |
| (WebInspector.TabBar.prototype.set selectedTabBarItem): |
| Add "selected-tab-console" class to <body> when the console tab is selected. |
| |
| 2016-03-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Timeline range selection changes with ProfileView should not cause navigation bar items to flicker |
| https://bugs.webkit.org/show_bug.cgi?id=155834 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/ProfileView.js: |
| (WebInspector.ProfileView.prototype._recreate): |
| The only reason our selection path components would change is if we |
| had focus nodes before and do not anymore. |
| |
| 2016-03-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Allow clicking the Timeline in Editing Mode to toggle the checkbox |
| https://bugs.webkit.org/show_bug.cgi?id=155815 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/TimelineOverview.js: |
| (WebInspector.TimelineOverview.prototype._startEditingInstruments): |
| Remove unused variable. |
| |
| * UserInterface/Views/TimelineTreeElement.js: |
| (WebInspector.TimelineTreeElement.prototype.onattach): |
| (WebInspector.TimelineTreeElement.prototype._clickHandler): |
| Make clicking on the tree element toggle the checkbox. |
| |
| 2016-03-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Timeline Tab sometimes restores as blank |
| https://bugs.webkit.org/show_bug.cgi?id=155811 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/TimelineTabContentView.js: |
| (WebInspector.TimelineTabContentView.prototype.restoreFromCookie): |
| When early bailing in restore, if there is no content view to restore, |
| then at least fallback to showing the Overview. |
| |
| 2016-03-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: REGRESSION: Timeline Reset does not clear datagrids |
| https://bugs.webkit.org/show_bug.cgi?id=155804 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/HeapAllocationsTimelineView.js: |
| (WebInspector.HeapAllocationsTimelineView.prototype.shown): |
| (WebInspector.HeapAllocationsTimelineView.prototype.hidden): |
| (WebInspector.HeapAllocationsTimelineView.prototype.closed): |
| (WebInspector.HeapAllocationsTimelineView.prototype.reset): |
| Although we don't use the popover features of TimelineDataGrid, |
| be a good citizen and call methods on the datagrid. |
| |
| * UserInterface/Views/OverviewTimelineView.js: |
| (WebInspector.OverviewTimelineView.prototype.reset): |
| Clear the datagrid on reset. |
| |
| * UserInterface/Views/TimelineDataGrid.js: |
| (WebInspector.TimelineDataGrid.prototype.reset): |
| Clear the datagrid on reset. |
| |
| 2016-03-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Uncaught exceptions closing Timeline tab |
| https://bugs.webkit.org/show_bug.cgi?id=155805 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/ScriptClusterTimelineView.js: |
| (WebInspector.ScriptClusterTimelineView.prototype._scriptClusterViewCurrentContentViewDidChange): |
| Gracefully handle if there is no content view. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView.prototype.closed): Deleted. |
| Fix typo. |
| |
| 2016-03-23 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Quick Open dialog has fuzzy icons at 1x |
| https://bugs.webkit.org/show_bug.cgi?id=155557 |
| <rdar://problem/25200217> |
| |
| Reviewed by Timothy Hatcher. |
| |
| New resource icons (documents and clippings) for large tree items, |
| for use in the Quick Open dialog's tree outline. |
| |
| * UserInterface/Images/ClippingCSSLarge.png: Added. |
| * UserInterface/Images/ClippingCSSLarge@2x.png: Added. |
| * UserInterface/Images/ClippingGenericLarge.png: Added. |
| * UserInterface/Images/ClippingGenericLarge@2x.png: Added. |
| * UserInterface/Images/ClippingJSLarge.png: Added. |
| * UserInterface/Images/ClippingJSLarge@2x.png: Added. |
| * UserInterface/Images/DocumentCSSLarge.png: Added. |
| * UserInterface/Images/DocumentCSSLarge@2x.png: Added. |
| * UserInterface/Images/DocumentFontLarge.png: Added. |
| * UserInterface/Images/DocumentFontLarge@2x.png: Added. |
| * UserInterface/Images/DocumentGenericLarge.png: Added. |
| * UserInterface/Images/DocumentGenericLarge@2x.png: Added. |
| * UserInterface/Images/DocumentImageLarge.png: Added. |
| * UserInterface/Images/DocumentImageLarge@2x.png: Added. |
| * UserInterface/Images/DocumentJSLarge.png: Added. |
| * UserInterface/Images/DocumentJSLarge@2x.png: Added. |
| * UserInterface/Images/DocumentMarkupLarge.png: Added. |
| * UserInterface/Images/DocumentMarkupLarge@2x.png: Added. |
| 32px icons at 1x and 2x. |
| |
| * UserInterface/Views/ResourceIcons.css: |
| (.large .resource-icon .icon): |
| (.large .resource-icon.resource-type-document .icon): |
| (.large .resource-icon.resource-type-image .icon): |
| (.large .resource-icon.resource-type-font .icon): |
| (.large .resource-icon.resource-type-stylesheet .icon): |
| (.large .resource-icon.resource-type-script .icon): |
| (.large .anonymous-script-icon .icon): |
| (.large .source-map-resource.resource-icon .icon): |
| (.large .source-map-resource.resource-icon.resource-type-stylesheet .icon): |
| (.large .source-map-resource.resource-icon.resource-type-script .icon): |
| Large icon styles. |
| |
| 2016-03-22 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: String double quoting in the console and elsewhere needs to escape backslash too |
| |
| https://bugs.webkit.org/show_bug.cgi?id=155752 |
| rdar://problem/25293141 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Base/Utilities.js: |
| (doubleQuotedString): Escape backslashes too. |
| * UserInterface/Views/FormattedValue.js: |
| (WebInspector.FormattedValue.createLinkifiedElementString): Ditto. |
| |
| 2016-03-22 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: REGRESSION: Switching Timelines via Path Component does not work |
| https://bugs.webkit.org/show_bug.cgi?id=155767 |
| <rdar://problem/25298945> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView.prototype._timelinePathComponentSelected): |
| (WebInspector.TimelineRecordingContentView.prototype._instrumentAdded): |
| |
| 2016-03-22 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Consider Automation script names as internal and hide them |
| |
| https://bugs.webkit.org/show_bug.cgi?id=155753 |
| rdar://problem/25293310 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Base/Utilities.js: |
| (isWebKitInternalScript): Renamed from isWebInspectorDebugScript. |
| Check for "__Web" prefix and "__" suffix. |
| |
| * UserInterface/Controllers/DebuggerManager.js: |
| (WebInspector.DebuggerManager): |
| (WebInspector.DebuggerManager.prototype.get knownNonResourceScripts): |
| (WebInspector.DebuggerManager.prototype.reset): |
| (WebInspector.DebuggerManager.prototype.debuggerDidPause): |
| (WebInspector.DebuggerManager.prototype.scriptDidParse): |
| (WebInspector.DebuggerManager.prototype._debugUIEnabledDidChange): |
| Renamed _inspectorDebugScripts to _internalWebKitScripts. And renamed |
| isWebInspectorDebugScript to isWebKitInternalScript. |
| |
| * UserInterface/Protocol/RemoteObject.js: |
| (WebInspector.RemoteObject.prototype.findFunctionSourceCodeLocation): |
| Renamed isWebInspectorDebugScript to isWebKitInternalScript. |
| |
| 2016-03-22 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: REGRESSION: Shift + Click on record button should create a new recording |
| https://bugs.webkit.org/show_bug.cgi?id=155763 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/TimelineTabContentView.js: |
| (WebInspector.TimelineTabContentView.prototype._recordButtonClicked): |
| Use the shiftKey from the DOM Event. |
| |
| 2016-03-22 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Switching Away and Back to Timelines Tab may select a different Timeline |
| https://bugs.webkit.org/show_bug.cgi?id=155742 |
| <rdar://problem/25284330> |
| |
| Reviewed by Timothy Hatcher. |
| |
| When switching to the Timeline tab, or switching recordings within the |
| the Timeline tab, the TimelineTabContentView does work to correctly |
| save/restore its view state. |
| |
| When switching to the Timeline tab, the TimelineTabContentView correctly |
| restores the state of the tab, but when showing the RecordingContentView |
| the RecordingContentView restores its state from a stale cookie. |
| |
| Since TimelineTabContentView already seems to handle correctly restoring |
| RecordingContentViews on its own. Removing the RecordingContentView's |
| implementation of save/restore made everything work as expected. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView.prototype.saveToCookie): Deleted. |
| (WebInspector.TimelineRecordingContentView.prototype.restoreFromCookie): Deleted. |
| |
| 2016-03-22 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: remove the remaining TimelineSidebarPanel references |
| https://bugs.webkit.org/show_bug.cgi?id=155765 |
| <rdar://problem/25296980> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Remove dead code from TimelineView and TimelineTabContentView. |
| |
| * UserInterface/Views/OverviewTimelineView.js: |
| (WebInspector.OverviewTimelineView.prototype.canShowContentViewForTreeElement): Deleted. |
| (WebInspector.OverviewTimelineView.prototype.showContentViewForTreeElement): Deleted. |
| |
| * UserInterface/Views/RenderingFrameTimelineView.js: |
| (WebInspector.RenderingFrameTimelineView.prototype.canShowContentViewForTreeElement): Deleted. |
| (WebInspector.RenderingFrameTimelineView.prototype.showContentViewForTreeElement): Deleted. |
| |
| * UserInterface/Views/ScriptDetailsTimelineView.js: |
| (WebInspector.ScriptDetailsTimelineView.prototype.canShowContentViewForTreeElement): Deleted. |
| (WebInspector.ScriptDetailsTimelineView.prototype.showContentViewForTreeElement): Deleted. |
| |
| * UserInterface/Views/TimelineTabContentView.js: |
| (WebInspector.TimelineTabContentView): |
| |
| * UserInterface/Views/TimelineView.js: |
| (WebInspector.TimelineView.prototype.canShowContentViewForTreeElement): Deleted. |
| (WebInspector.TimelineView.prototype.showContentViewForTreeElement): Deleted. |
| |
| 2016-03-22 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Timelines UI redesign: Provide a way to configure which instruments to use |
| https://bugs.webkit.org/show_bug.cgi?id=153672 |
| <rdar://problem/24417575> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Adds UI for configuring a timeline recording's instrument list. TimelineManager |
| maintains the list of supported timeline types, and tracks the subset |
| of user-configured timelines which are used to create the instrument list |
| that is passed to new recordings. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| New strings for "Edit" Timelines button. |
| |
| * UserInterface/Controllers/TimelineManager.js: |
| (WebInspector.TimelineManager): |
| Added setting for user-configured (enabled) timeline types. |
| Initialized to the default timeline types. |
| |
| (WebInspector.TimelineManager.defaultTimelineTypes): |
| (WebInspector.TimelineManager.availableTimelineTypes): |
| Get the list of all supported timeline types, which is a superset |
| of the list of default timeline types. |
| |
| (WebInspector.TimelineManager.prototype.get enabledTimelineTypes): |
| (WebInspector.TimelineManager.prototype.set enabledTimelineTypes): |
| List of user-configured timeline types, backed by a Setting. |
| (WebInspector.TimelineManager.prototype._loadNewRecording): |
| Create new recordings with the current user-configured instrument list. |
| (WebInspector.TimelineManager.defaultInstruments): Deleted. |
| Renamed defaultTimelineTypes. |
| |
| * UserInterface/Main.html: |
| New class, TimelineTreeElement. |
| |
| * UserInterface/Models/Instrument.js: |
| (WebInspector.Instrument.createForTimelineType): |
| Factory method for creating Instruments. |
| |
| * UserInterface/Models/TimelineRecording.js: |
| (WebInspector.TimelineRecording): |
| Replace fixed instrument list with TimelineManager's list. |
| (WebInspector.TimelineRecording.prototype.instrumentForTimeline): |
| Get the instrument in the recording for a given timeline. |
| (WebInspector.TimelineRecording.prototype.addInstrument): |
| (WebInspector.TimelineRecording.prototype.removeInstrument): |
| Drive-by syntax error fixes: Array.prototype.contains doesn't exist. |
| |
| * UserInterface/Views/TimelineOverview.css: |
| (.timeline-overview > .navigation-bar.timelines): |
| (.navigation-bar.timelines .item.button.toggle-edit-instruments:not(.disabled):matches(:focus, .activate.activated, .radio.selected)): |
| (.navigation-bar.timelines .item.button.toggle-edit-instruments:not(.disabled):active:matches(:focus, .activate.activated, .radio.selected)): |
| (.navigation-bar.timelines .item.button.toggle-edit-instruments.disabled): |
| (.navigation-bar.timelines .toggle-edit-instruments:not(.disabled):active): |
| (.timeline-overview > .tree-outline.timelines): |
| (.timeline-overview.edit-instruments > .tree-outline.timelines): |
| (.timeline-overview.edit-instruments > .tree-outline.timelines .item.selected): |
| (.timeline-overview > .tree-outline.timelines input[type=checkbox].status-button): |
| (.timeline-overview.frames > :matches(.tree-outline.timelines, .navigation-bar.timelines)): |
| (.timeline-overview > .tree-outline.timelines::before): Deleted. |
| (.timeline-overview.frames > .tree-outline.timelines): Deleted. |
| Styles for the "Edit" navigation bar above the timelines tree outline, |
| and tree element styles for showing checkboxes and hiding the current |
| selection while in edit mode. |
| |
| * UserInterface/Views/TimelineOverview.js: |
| (WebInspector.TimelineOverview): |
| Create "Edit" button and navigation bar and add event handlers for |
| capturing events, so that timeline editing can be closed and |
| disabled when capturing begins. |
| |
| (WebInspector.TimelineOverview.prototype.set selectedTimeline): |
| Prevent timeline selection while in edit mode. |
| (WebInspector.TimelineOverview.prototype.get editingInstruments): |
| (WebInspector.TimelineOverview.prototype.set viewMode): |
| Prevent view mode change while in edit mode. |
| |
| (WebInspector.TimelineOverview.prototype._instrumentAdded): |
| Create a TimelineTreeElement, and insert into the tree outline and graph |
| container in sorted order instead of appending timeline elements. |
| |
| (WebInspector.TimelineOverview.prototype._toggleEditingInstruments): |
| Handler for Edit button click event. |
| (WebInspector.TimelineOverview.prototype._editingInstrumentsDidChange): |
| Update UI in response to editing mode change: toggle CSS, enable/disable |
| the timeline ruler and wheel/gesture events, and update Edit button appearance. |
| |
| (WebInspector.TimelineOverview.prototype._updateEditInstrumentsButton): |
| Update label text and button state. |
| (WebInspector.TimelineOverview.prototype._updateWheelAndGestureHandlers): |
| Add/remove event handlers based on editing state. |
| |
| (WebInspector.TimelineOverview.prototype._startEditingInstruments): |
| Enable edit mode UI. Placeholder elements are added for timelines that |
| aren't included in the recording, and all tree elements have checkboxes |
| for toggling their associated timelines. |
| |
| (WebInspector.TimelineOverview.prototype._stopEditingInstruments): |
| Disable edit mode UI. Unchecked instruments are first removed from the |
| recording, then placeholder tree elements are removed, and their instruments |
| added, as needed. TimelineManager's list of user-configured timeline types |
| is then updated. |
| |
| (WebInspector.TimelineOverview.prototype._capturingStarted): |
| (WebInspector.TimelineOverview.prototype._capturingStopped): |
| Enable/disable the Edit button. Quit editing mode when capturing starts. |
| (WebInspector.TimelineOverview.prototype._compareTimelineTreeElements): |
| Special sorting for the timelines tree outline. The sort order is: |
| 1. Instruments that are in the recording, except Rendering Frames. |
| 2. Instruments that aren't in the recording (placeholders). |
| 3. Rendering Frames. |
| |
| Timelines in groups 1 & 2 are sorted based on the order of the list returned |
| by TimelineManager.availableTimelineTypes(). The Rendering Frames tree |
| element must be last, since it's always hidden and would otherwise interfere |
| with the alternating tree element CSS styles. |
| |
| * UserInterface/Views/TimelineRecordingContentView.css: |
| (.content-view.timeline-recording.edit-instruments > .timeline-overview): |
| (.content-view.timeline-recording.edit-instruments > .content-browser): |
| Hide lower content browser and extend timelines tree height in edit mode. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView): |
| Listen for edit mode changes on TimelineOverview. |
| (WebInspector.TimelineRecordingContentView.prototype.contentBrowserTreeElementForRepresentedObject): |
| (WebInspector.TimelineRecordingContentView.prototype._updateTimelineOverviewHeight): |
| When in edit mode, remove inline style rule for TimelineOverview height. |
| (WebInspector.TimelineRecordingContentView.prototype._instrumentAdded): |
| (WebInspector.TimelineRecordingContentView.prototype._editingInstrumentsDidChange): |
| Update CSS and TimelineOverview height when edit mode changes. |
| (WebInspector.TimelineRecordingContentView.prototype.get timelineOverviewHeight): Deleted. |
| No longer used. |
| |
| * UserInterface/Views/TimelineTabContentView.js: |
| (WebInspector.TimelineTabContentView.displayNameForTimelineType): |
| (WebInspector.TimelineTabContentView.iconClassNameForTimelineType): |
| (WebInspector.TimelineTabContentView.genericClassNameForTimelineType): |
| (WebInspector.TimelineTabContentView.displayNameForTimeline): Deleted. |
| (WebInspector.TimelineTabContentView.iconClassNameForTimeline): Deleted. |
| (WebInspector.TimelineTabContentView.genericClassNameForTimeline): Deleted. |
| Helper functions now take a timeline type instead of a timeline object. |
| |
| * UserInterface/Views/TimelineTreeElement.js: Added. |
| New tree element class to encapsulate behavior specific to the timelines |
| tree outline, such as status element changes and disabling selection |
| when editing. |
| |
| (WebInspector.TimelineTreeElement): |
| (WebInspector.TimelineTreeElement.prototype.get placeholder): |
| (WebInspector.TimelineTreeElement.prototype.get editing): |
| (WebInspector.TimelineTreeElement.prototype.set editing): |
| (WebInspector.TimelineTreeElement.prototype._showCloseButton): |
| (WebInspector.TimelineTreeElement.prototype._showCheckbox): |
| (WebInspector.TimelineTreeElement.prototype._updateStatusButton): |
| |
| 2016-03-21 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: New icon for Heap Allocations timeline |
| https://bugs.webkit.org/show_bug.cgi?id=155731 |
| <rdar://problem/25275494> |
| |
| Reviewed by Joseph Pecoraro and Timothy Hatcher. |
| |
| * UserInterface/Images/HeapAllocationsInstrument.svg: Added. |
| New artwork from Jon Davis. |
| |
| * UserInterface/Views/TimelineIcons.css: |
| (.heap-allocations-icon .icon): |
| (body:not(.mac-platform, .windows-platform) .memory-icon .icon): |
| (body:not(.mac-platform, .windows-platform) .heap-allocations-icon .icon): |
| New icon styles/fallbacks for GTK. |
| |
| * UserInterface/Views/TimelineTabContentView.js: |
| (WebInspector.TimelineTabContentView.iconClassNameForTimeline): |
| Add new icon class to UI helper method. |
| |
| 2016-03-20 Dan Bernstein <mitz@apple.com> |
| |
| [Mac] Determine TARGET_MAC_OS_X_VERSION_MAJOR from MACOSX_DEPLOYMENT_TARGET rather than from MAC_OS_X_VERSION_MAJOR |
| https://bugs.webkit.org/show_bug.cgi?id=155707 |
| <rdar://problem/24980691> |
| |
| Reviewed by Darin Adler. |
| |
| * Configurations/Base.xcconfig: Set TARGET_MAC_OS_X_VERSION_MAJOR based on the last |
| component of MACOSX_DEPLOYMENT_TARGET. |
| * Configurations/DebugRelease.xcconfig: For engineering builds, preserve the behavior of |
| TARGET_MAC_OS_X_VERSION_MAJOR being the host’s OS version. |
| |
| 2016-03-20 Dan Bernstein <mitz@apple.com> |
| |
| Update build settings |
| |
| Rubber-stamped by Andy Estes. |
| |
| * Configurations/DebugRelease.xcconfig: |
| * Configurations/Version.xcconfig: |
| |
| 2016-03-18 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Bullet misaligned when expanding console log message |
| https://bugs.webkit.org/show_bug.cgi?id=155669 |
| <rdar://problem/25250721> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/ObjectTreeView.css: |
| (.object-tree): |
| (.object-tree .object-tree): Deleted. |
| Make object tree's inline-block again. |
| |
| * UserInterface/Views/ConsoleMessageView.css: |
| (.console-top-level-message .object-tree): |
| (.console-top-level-message .object-tree .object-tree): |
| Since the Console is the only place that requires a non-inline-block |
| object-tree, and only at the top level, have the console override |
| the styles of object trees as it needs. |
| |
| 2016-03-18 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Uncaught Exception: TypeError: undefined is not an object (evaluating 'this._treeOutlineDataGridSynchronizer.treeElementForDataGridNode') |
| https://bugs.webkit.org/show_bug.cgi?id=155671 |
| <rdar://problem/25249401> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/TimelineDataGrid.js: |
| (WebInspector.TimelineDataGrid.prototype._sort): |
| |
| 2016-03-18 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Fix ObjectTree Map styling, key/value look cramped |
| https://bugs.webkit.org/show_bug.cgi?id=155668 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/ObjectTreeArrayIndexTreeElement.css: |
| (.tree-outline .item.object-tree-array-index): |
| * UserInterface/Views/ObjectTreeMapEntryTreeElement.css: |
| (.tree-outline .item.object-tree-map-entry): |
| When creating generic tree outline styles generic object tree |
| styles were getting overriden by generic tree outline styles |
| with higher specificity. |
| |
| 2016-03-18 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Timeline reset issues after Navigation Sidebar removal |
| https://bugs.webkit.org/show_bug.cgi?id=155658 |
| <rdar://problem/25245292> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/CircleChart.js: |
| (WebInspector.CircleChart.prototype.set values): |
| If the segments have never been set the values list will be empty. |
| Allow clearing to set empty values again. |
| |
| * UserInterface/Views/ScriptClusterTimelineView.js: |
| (WebInspector.ScriptClusterTimelineView.prototype._scriptClusterViewCurrentContentViewDidChange): |
| (WebInspector.ScriptClusterTimelineView): |
| Timeline sidebar no longer exists. Replace with the common |
| FIXME added to the other TimelineViews. |
| |
| * UserInterface/Views/TimelineView.js: |
| (WebInspector.TimelineView.prototype.reset): |
| Timeline sidebar and content tree outline no longer exist. |
| Replace with the common comment indicating this method |
| is intended for subclasses. |
| |
| 2016-03-17 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| REGRESSION (r197724): [GTK] Web Inspector: Images being blocked by CSP 2.0 |
| https://bugs.webkit.org/show_bug.cgi?id=155432 |
| |
| Reviewed by Daniel Bates. |
| |
| Allow Web Inspector to load resource: image resources. |
| |
| * UserInterface/Main.html: |
| |
| 2016-03-17 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Prefer retained size to the shallow size in Heap Snapshot data grids |
| https://bugs.webkit.org/show_bug.cgi?id=155597 |
| <rdar://problem/25225087> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| New datagrid column and tooltip strings. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid.prototype.insertColumn): |
| Allow a column definition to provide a tooltip for the header cell. |
| |
| * UserInterface/Views/HeapSnapshotClassDataGridNode.js: |
| (WebInspector.HeapSnapshotClassDataGridNode.prototype.createCellContent): |
| Include retained size column data. |
| |
| (WebInspector.HeapSnapshotClassDataGridNode.prototype._populate): |
| Fix non-batched populate to sort instances on first population. |
| |
| * UserInterface/Views/HeapSnapshotInstanceDataGridNode.js: |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype.createCellContent): |
| Include retained size column data. |
| |
| * UserInterface/Views/HeapSnapshotInstancesContentView.js: |
| (WebInspector.HeapSnapshotInstancesContentView): |
| Include a retained size column. Update initial sort and column widths. |
| |
| * UserInterface/Views/HeapSnapshotInstancesDataGridTree.js: |
| (WebInspector.HeapSnapshotInstancesDataGridTree.buildSortComparator): |
| Include a numeric sort comparator for the new retained size column. |
| |
| (WebInspector.HeapSnapshotInstancesDataGridTree.prototype._populateTopLevel): |
| Include retained size, and lazily calculate percentage later. |
| |
| 2016-03-17 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: HeapSnapshots are slow and use too much memory |
| https://bugs.webkit.org/show_bug.cgi?id=155571 |
| |
| Reviewed by Timothy Hatcher. |
| |
| This is the first inclusion of Workers into Web Inspector. In this case |
| the Main side merely needs to make requests of the Worker and get back |
| objects that it can interact with more. |
| |
| New file heirarchies: |
| |
| UserInterface/Proxies |
| - new Proxy classes in the Main page. |
| - treat like Model classes, but not quite model. |
| |
| UserInterface/Workers/HeapSnapshotWorker |
| - new Worker classes for Workers. No WebInspector namespace. |
| - no minification of these resources, they are simply copied. |
| |
| Remote procedure call interface between the Main/Worker page happens |
| through the WorkerProxy and Worker classes. There are simple ways |
| to perform factory style methods and call methods on objects, and |
| get the result in a callback. Similiar to frontend <-> backend agent |
| communication: |
| |
| HeapSnapshotWorkerProxy: (Main world) |
| - creates the worker |
| - performAction("actionName", arguments, callback) |
| - callMethod(objectId, "methodName", arguments, callback) |
| - handle message => dispatch event or invoke callback |
| |
| HeapSnapshotWorker: (Worker world) |
| - sendEvent("eventName", eventData) |
| - handle message => dispatch action or method on object |
| |
| Proxy object methods are boilerplate calls to performAction/callMethod |
| with deserialization of responses. The rest of the frontend can just |
| treat Proxy objects as Model objects with some data and async methods. |
| |
| Because the Node/Edge data is so small, objects are cheaply created |
| when needed and not cached. This means that there may be duplicate |
| HeapSnapshotNode's for the same node. For example if different Views |
| both request instancesWithClassName("Foo"). This is fine, as none |
| of our Views really care about object uniqueness, they are only |
| interested in the data or querying for more data. |
| |
| * Scripts/combine-resources.pl: |
| * Scripts/copy-user-interface-resources.pl: |
| Copy the Workers directory to the resources directory. |
| Its code is only meant to be loaded by Workers, so it |
| shouldn't be included in the Main page. |
| |
| * UserInterface/Main.html: |
| * UserInterface/Test.html: |
| * UserInterface/Models/HeapSnapshot.js: Removed. |
| * UserInterface/Models/HeapSnapshotDiff.js: Removed. |
| * UserInterface/Models/HeapSnapshotEdge.js: Removed. |
| * UserInterface/Models/HeapSnapshotNode.js: Removed. |
| Replace the old simple Model classes with Proxy classes that interact |
| with the Worker. |
| |
| * UserInterface/Models/HeapAllocationsInstrument.js: |
| (WebInspector.HeapAllocationsInstrument.prototype._takeHeapSnapshot): |
| (WebInspector.HeapAllocationsInstrument): |
| * UserInterface/Models/HeapAllocationsTimelineRecord.js: |
| (WebInspector.HeapAllocationsTimelineRecord): |
| * UserInterface/Models/HeapSnapshotRootPath.js: |
| (WebInspector.HeapSnapshotRootPath): |
| (WebInspector.HeapSnapshotRootPath.prototype.appendEdge): |
| * UserInterface/Protocol/HeapObserver.js: |
| (WebInspector.HeapObserver.prototype.trackingStart): |
| (WebInspector.HeapObserver.prototype.trackingComplete): |
| * UserInterface/Views/ContentView.js: |
| (WebInspector.ContentView.createFromRepresentedObject): |
| (WebInspector.ContentView.isViewable): |
| * UserInterface/Views/HeapAllocationsTimelineView.js: |
| (WebInspector.HeapAllocationsTimelineView.prototype.showHeapSnapshotDiff): |
| (WebInspector.HeapAllocationsTimelineView.prototype._takeHeapSnapshotClicked): |
| (WebInspector.HeapAllocationsTimelineView.prototype._dataGridNodeSelected): |
| (WebInspector.HeapAllocationsTimelineView): |
| * UserInterface/Views/HeapSnapshotClassDataGridNode.js: |
| (WebInspector.HeapSnapshotClassDataGridNode.prototype._populate): |
| * UserInterface/Views/HeapSnapshotClusterContentView.js: |
| * UserInterface/Views/HeapSnapshotInstanceDataGridNode.js: |
| (WebInspector.HeapSnapshotInstanceDataGridNode): |
| (WebInspector.HeapSnapshotInstanceDataGridNode.logHeapSnapshotNode.node.shortestGCRootPath.): |
| (WebInspector.HeapSnapshotInstanceDataGridNode.logHeapSnapshotNode): |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._mouseoverHandler.appendPath): |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._mouseoverHandler.stringifyEdge): |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._mouseoverHandler): |
| * UserInterface/Views/HeapSnapshotInstancesContentView.js: |
| (WebInspector.HeapSnapshotInstancesContentView): |
| * UserInterface/Views/HeapSnapshotInstancesDataGridTree.js: |
| (WebInspector.HeapSnapshotInstancesDataGridTree): |
| * UserInterface/Views/HeapSnapshotSummaryContentView.js: |
| (WebInspector.HeapSnapshotSummaryContentView): |
| Update existing code to expect the new Proxy objects or create |
| the new HeapSnapshot using workers. |
| |
| * UserInterface/Proxies/HeapSnapshotDiffProxy.js: Added. |
| (WebInspector.HeapSnapshotDiffProxy): |
| (WebInspector.HeapSnapshotDiffProxy.deserialize): |
| (WebInspector.HeapSnapshotDiffProxy.prototype.get snapshot1): |
| (WebInspector.HeapSnapshotDiffProxy.prototype.get snapshot2): |
| (WebInspector.HeapSnapshotDiffProxy.prototype.get totalSize): |
| (WebInspector.HeapSnapshotDiffProxy.prototype.get totalObjectCount): |
| (WebInspector.HeapSnapshotDiffProxy.prototype.get categories): |
| (WebInspector.HeapSnapshotDiffProxy.prototype.allocationBucketCounts): |
| (WebInspector.HeapSnapshotDiffProxy.prototype.instancesWithClassName): |
| (WebInspector.HeapSnapshotDiffProxy.prototype.nodeWithIdentifier): |
| A HeapSnapshotDiffProxy looks like a HeapSnapshotProxy and responds to |
| the same methods, but has the extra snapshot1/2 pointers. |
| |
| * UserInterface/Proxies/HeapSnapshotEdgeProxy.js: |
| (WebInspector.HeapSnapshotEdgeProxy): |
| (WebInspector.HeapSnapshotEdgeProxy.deserialize): |
| Edge data. No methods are proxied at this point. |
| |
| * UserInterface/Proxies/HeapSnapshotNodeProxy.js: Added. |
| (WebInspector.HeapSnapshotNodeProxy): |
| (WebInspector.HeapSnapshotNodeProxy.deserialize): |
| (WebInspector.HeapSnapshotNodeProxy.prototype.shortestGCRootPath): |
| (WebInspector.HeapSnapshotNodeProxy.prototype.dominatedNodes): |
| (WebInspector.HeapSnapshotNodeProxy.prototype.retainedNodes): |
| (WebInspector.HeapSnapshotNodeProxy.prototype.retainers): |
| Node data and methods to query for node relationships. |
| |
| * UserInterface/Proxies/HeapSnapshotProxy.js: Added. |
| (WebInspector.HeapSnapshotProxy): |
| (WebInspector.HeapSnapshotProxy.deserialize): |
| (WebInspector.HeapSnapshotProxy.prototype.get proxyObjectId): |
| (WebInspector.HeapSnapshotProxy.prototype.get identifier): |
| (WebInspector.HeapSnapshotProxy.prototype.get totalSize): |
| (WebInspector.HeapSnapshotProxy.prototype.get totalObjectCount): |
| (WebInspector.HeapSnapshotProxy.prototype.get categories): |
| (WebInspector.HeapSnapshotProxy.prototype.allocationBucketCounts): |
| (WebInspector.HeapSnapshotProxy.prototype.instancesWithClassName): |
| (WebInspector.HeapSnapshotProxy.prototype.nodeWithIdentifier): |
| Snapshot data and methods to query for nodes. |
| |
| * UserInterface/Proxies/HeapSnapshotWorkerProxy.js: Added. |
| (WebInspector.HeapSnapshotWorkerProxy): |
| (WebInspector.HeapSnapshotWorkerProxy.singleton): |
| (WebInspector.HeapSnapshotWorkerProxy.prototype.createSnapshot): |
| (WebInspector.HeapSnapshotWorkerProxy.prototype.createSnapshotDiff): |
| (WebInspector.HeapSnapshotWorkerProxy.prototype.performAction): |
| (WebInspector.HeapSnapshotWorkerProxy.prototype.callMethod): |
| (WebInspector.HeapSnapshotWorkerProxy.prototype._postMessage): |
| (WebInspector.HeapSnapshotWorkerProxy.prototype._handleMessage): |
| Singleton factory for the worker and proxied communication with the worker. |
| Provide means for invoking "factory actions" and "object methods". |
| |
| * UserInterface/Workers/HeapSnapshot/HeapSnapshotWorker.js: Added. |
| (HeapSnapshotWorker): |
| (HeapSnapshotWorker.prototype.createSnapshot): |
| (HeapSnapshotWorker.prototype.createSnapshotDiff): |
| (HeapSnapshotWorker.prototype.sendEvent): |
| (HeapSnapshotWorker.prototype._handleMessage): |
| Main worker code. Handle dispatching actions and methods. |
| |
| * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js: Added. |
| (HeapSnapshot): |
| (HeapSnapshot.buildCategories): |
| (HeapSnapshot.allocationBucketCounts): |
| (HeapSnapshot.instancesWithClassName): |
| (HeapSnapshot.prototype.allocationBucketCounts): |
| (HeapSnapshot.prototype.instancesWithClassName): |
| (HeapSnapshot.prototype.nodeWithIdentifier): |
| (HeapSnapshot.prototype.shortestGCRootPath): |
| (HeapSnapshot.prototype.dominatedNodes): |
| (HeapSnapshot.prototype.retainedNodes): |
| (HeapSnapshot.prototype.retainers): |
| (HeapSnapshot.prototype.serialize): |
| (HeapSnapshot.prototype.serializeNode): |
| (HeapSnapshot.prototype.serializeEdge): |
| (HeapSnapshot.prototype._buildOutgoingEdges): |
| (HeapSnapshot.prototype._buildIncomingEdges): |
| (HeapSnapshot.prototype._buildPostOrderIndexes): |
| (HeapSnapshot.prototype._buildDominatorIndexes): |
| (HeapSnapshot.prototype._buildRetainedSizes): |
| (HeapSnapshot.prototype._gcRootPathes.visitNode): |
| (HeapSnapshot.prototype._gcRootPathes): |
| (HeapSnapshotDiff): |
| (HeapSnapshotDiff.prototype.allocationBucketCounts): |
| (HeapSnapshotDiff.prototype.instancesWithClassName): |
| (HeapSnapshotDiff.prototype.nodeWithIdentifier): |
| (HeapSnapshotDiff.prototype.shortestGCRootPath): |
| (HeapSnapshotDiff.prototype.dominatedNodes): |
| (HeapSnapshotDiff.prototype.retainedNodes): |
| (HeapSnapshotDiff.prototype.retainers): |
| (HeapSnapshotDiff.prototype.serialize): |
| New HeapSnapshot data processing implementation. Instead of creating |
| a new object per Node or per Edge create data arrays containing data |
| per-Node. Operate on these lists of data instead of creating many objects. |
| |
| 2016-03-17 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Large repaints when typing any character in console |
| https://bugs.webkit.org/show_bug.cgi?id=155387 |
| <rdar://problem/25125720> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/Main.css: |
| (#content): |
| |
| 2016-03-16 Matt Baker <mattbaker@apple.com> |
| |
| Uncaught Exception: SyntaxError: Invalid regular expression: \ at end of pattern |
| https://bugs.webkit.org/show_bug.cgi?id=155556 |
| <rdar://problem/25200058> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Use simpleGlobStringToRegExp, which returns a valid regular expression |
| for strings with trailing backslashes, and also provides globbing. |
| String.escapeForRegExp returns a JS string ending in "\\", which isn't |
| a valid regular expression. |
| |
| * UserInterface/Views/OpenResourceDialog.js: |
| (WebInspector.OpenResourceDialog): |
| (WebInspector.OpenResourceDialog.prototype._handleMousedownEvent): |
| Fixed typo. |
| |
| (WebInspector.OpenResourceDialog.prototype._updateFilter): |
| Switch to simpleGlobStringToRegExp. |
| |
| 2016-03-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Show path from root to instances in the Heap Snapshot content view |
| https://bugs.webkit.org/show_bug.cgi?id=155478 |
| <rdar://problem/25157408> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Main.html: |
| New strings and resources. |
| |
| * UserInterface/Models/HeapSnapshotNode.js: |
| (WebInspector.HeapSnapshotNode.prototype.get shortestGCRootPath): |
| (WebInspector.HeapSnapshotNode.prototype._gcRootPaths.visitNode): |
| (WebInspector.HeapSnapshotNode.prototype._gcRootPaths): |
| Helper to get the shortest path from a GC root to the node. |
| |
| * UserInterface/Models/HeapSnapshotRootPath.js: Added. |
| (WebInspector.HeapSnapshotRootPath): |
| (WebInspector.HeapSnapshotRootPath.emptyPath): |
| (WebInspector.HeapSnapshotRootPath.prototype.get node): |
| (WebInspector.HeapSnapshotRootPath.prototype.get parent): |
| (WebInspector.HeapSnapshotRootPath.prototype.get pathComponent): |
| (WebInspector.HeapSnapshotRootPath.prototype.get rootNode): |
| (WebInspector.HeapSnapshotRootPath.prototype.get fullPath): |
| (WebInspector.HeapSnapshotRootPath.prototype.isRoot): |
| (WebInspector.HeapSnapshotRootPath.prototype.isEmpty): |
| (WebInspector.HeapSnapshotRootPath.prototype.isGlobalScope): |
| (WebInspector.HeapSnapshotRootPath.prototype.isPathComponentImpossible): |
| (WebInspector.HeapSnapshotRootPath.prototype.isFullPathImpossible): |
| (WebInspector.HeapSnapshotRootPath.prototype.appendInternal): |
| (WebInspector.HeapSnapshotRootPath.prototype.appendArrayIndex): |
| (WebInspector.HeapSnapshotRootPath.prototype.appendPropertyName): |
| (WebInspector.HeapSnapshotRootPath.prototype.appendVariableName): |
| (WebInspector.HeapSnapshotRootPath.prototype.appendGlobalScopeName): |
| (WebInspector.HeapSnapshotRootPath.prototype.appendEdge): |
| (WebInspector.HeapSnapshotRootPath.prototype._canPropertyNameBeDotAccess): |
| Helper class, like PropertyPath, for building a string path to |
| a HeapSnapshotNode. Typically the path is built up with |
| HeapSnapshotEdges and so you can build a string such as: |
| `window.foo[0]["prop erty"]._foo`. |
| |
| * UserInterface/Views/HeapAllocationsTimelineView.js: |
| (WebInspector.HeapAllocationsTimelineView.prototype.showHeapSnapshotList): |
| (WebInspector.HeapAllocationsTimelineView.prototype.showHeapSnapshotTimelineRecord): |
| (WebInspector.HeapAllocationsTimelineView.prototype.showHeapSnapshotDiff): |
| (WebInspector.HeapAllocationsTimelineView.prototype.shown): |
| (WebInspector.HeapAllocationsTimelineView.prototype.hidden): |
| (WebInspector.HeapAllocationsTimelineView.prototype.closed): |
| Propogate shown/hidden to the contentViewContainer. |
| Cleanup the contentViewContainer when closing. |
| |
| * UserInterface/Views/HeapSnapshotInstanceDataGridNode.js: |
| (WebInspector.HeapSnapshotInstanceDataGridNode.logHeapSnapshotNode): |
| Helper for logging a HeapSnapshotNode value to the console. If the |
| path is possible from the root, just output the path in the console |
| otherwise use a synthetic "Heap Snapshot Object (@1234)" like string. |
| For strings, just get the preview as we won't get a real RemoteObject. |
| |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype.createCellContent): |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._mouseoverHandler.appendPath): |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._mouseoverHandler.appendPathRow): |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._mouseoverHandler.sanitizeClassName): |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._mouseoverHandler.stringifyEdge): |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._mouseoverHandler): |
| Give the @1234 id element a mouseover handler to display a popover |
| with the path from a root. Stop the path at "Window" if possible |
| to avoid displaying internals like "JSDOMWindowShell". |
| |
| * UserInterface/Views/HeapSnapshotInstancesContentView.css: |
| (.heap-snapshot .object-id): |
| (.heap-snapshot .object-id:hover): |
| (.heap-snapshot > .data-grid tr:not(.selected) td .object-id): Deleted. |
| (.heap-snapshot .icon): |
| (.heap-snapshot-instance-popover-content): |
| (.heap-snapshot-instance-popover-content table): |
| (.heap-snapshot-instance-popover-content tr): |
| (.heap-snapshot-instance-popover-content td): |
| (.heap-snapshot-instance-popover-content td.edge-name): |
| (.heap-snapshot-instance-popover-content td.object-data): |
| (.heap-snapshot-instance-popover-content .node): |
| (.heap-snapshot-instance-popover-content .node *): |
| Styles for contents of the popover. |
| |
| * UserInterface/Views/HeapSnapshotInstancesContentView.js: |
| (WebInspector.HeapSnapshotInstancesContentView.prototype.hidden): |
| * UserInterface/Views/HeapSnapshotInstancesDataGridTree.js: |
| (WebInspector.HeapSnapshotInstancesDataGridTree): |
| (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.get popover): |
| (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.get popoverNode): |
| (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.set popoverNode): |
| (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.hidden): |
| (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.willDismissPopover): |
| Have a single popover for the entire tree. Cache and clear |
| contents of the popover when appropriate. |
| |
| 2016-03-14 Daniel Bates <dabates@apple.com> |
| |
| Web Inspector: Display Content Security Policy hash in details sidebar for script and style elements |
| https://bugs.webkit.org/show_bug.cgi?id=155466 |
| <rdar://problem/25152480> |
| |
| Reviewed by Joseph Pecoraro and Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: Add English localized string for the CSP hash UI label. |
| * UserInterface/Models/DOMNode.js: |
| (WebInspector.DOMNode): Initialize the instance variable this._contentSecurityPolicyHash |
| with the value passed from the Inspector back end. |
| (WebInspector.DOMNode.prototype.contentSecurityPolicyHash): Returns the CSP hash for this node. |
| * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: |
| (WebInspector.DOMNodeDetailsSidebarPanel): Append a row to the end of section Identity to display |
| the CSP hash (if applicable). |
| (WebInspector.DOMNodeDetailsSidebarPanel.prototype.refresh): Query the underlying WebInspector.DOMNode |
| for the CSP hash of the selected node. |
| |
| 2016-03-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: REGRESSION(r197974): HeapAllocationsTimelineView broken, doesn't handle Timeline Sidebar Navigation removal |
| https://bugs.webkit.org/show_bug.cgi?id=155458 |
| <rdar://problem/25150803> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/HeapAllocationsTimelineView.js: |
| (WebInspector.HeapAllocationsTimelineView): |
| (WebInspector.HeapAllocationsTimelineView.prototype.showHeapSnapshotTimelineRecord): |
| (WebInspector.HeapAllocationsTimelineView.prototype.get selectionPathComponents): |
| (WebInspector.HeapAllocationsTimelineView.prototype.layout): |
| (WebInspector.HeapAllocationsTimelineView.prototype._compareHeapSnapshotsClicked): |
| (WebInspector.HeapAllocationsTimelineView.prototype._dataGridNodeSelected): |
| (WebInspector.HeapAllocationsTimelineView.prototype.get navigationSidebarTreeOutlineLabel): Deleted. |
| Update the TimelineView now that there is no sidebar. |
| Remove any TreeOutline logic and replace with DataGrid logic. |
| |
| 2016-03-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: REGRESSION(r198026): Can't click on Snapshot in Timeline Overview |
| https://bugs.webkit.org/show_bug.cgi?id=155457 |
| <rdar://problem/25150706> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/TimelineRuler.js: |
| (WebInspector.TimelineRuler.prototype._handleClick): |
| The conditional was accidentally inverted in r198026. |
| |
| 2016-03-14 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: cssmin.py does not handle calc(var(--toolbar-height) + var(--tab-bar-height)) |
| |
| https://bugs.webkit.org/show_bug.cgi?id=155464 |
| rdar://problem/25152196 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Scripts/cssmin.py: |
| (cssminify): Check for var when stripping spaces around + and -. |
| |
| * UserInterface/Views/TimelineOverview.js: |
| (WebInspector.TimelineOverview.prototype._viewModeDidChange): |
| Drive-by fix to add a missing semi-colon found by the copy-user-interface-resources-dryrun.rb script. |
| |
| 2016-03-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Reduce generated JSON HeapSnapshot size |
| https://bugs.webkit.org/show_bug.cgi?id=155460 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * UserInterface/Models/HeapSnapshot.js: |
| (WebInspector.HeapSnapshot.fromPayload): |
| Update for the slightly modified format. |
| |
| 2016-03-14 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r198095. |
| https://bugs.webkit.org/show_bug.cgi?id=155467 |
| |
| Made text look poor (Requested by JoePeck on #webkit). |
| |
| Reverted changeset: |
| |
| "Web Inspector: Large repaints when typing any character in |
| console" |
| https://bugs.webkit.org/show_bug.cgi?id=155387 |
| http://trac.webkit.org/changeset/198095 |
| |
| 2016-03-14 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Reduce unnecessary dashboard repaints |
| https://bugs.webkit.org/show_bug.cgi?id=155425 |
| <rdar://problem/25138247> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/DefaultDashboardView.js: |
| (WebInspector.DefaultDashboardView.prototype._appendElementForNamedItem.): |
| newText is a number for console message counters. |
| |
| 2016-03-13 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Large repaints when typing any character in console |
| https://bugs.webkit.org/show_bug.cgi?id=155387 |
| <rdar://problem/25125720> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/Main.css: |
| (#content): |
| |
| 2016-03-13 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Memory timeline pie charts are misaligned when there is no recording |
| https://bugs.webkit.org/show_bug.cgi?id=155421 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/MemoryTimelineView.css: |
| (.timeline-view.memory > .content > .overview): |
| Removed top padding to match bottom padding. |
| |
| (.timeline-view.memory .legend > .row): |
| (.timeline-view.memory .legend): |
| Moved specified width to prevent unrecorded timelines from having graphs |
| that are offset horizontally. |
| |
| 2016-03-13 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: REGRESSION: Styles sidebar inline swatches are oddly shaped |
| https://bugs.webkit.org/show_bug.cgi?id=155410 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/InlineSwatch.css: |
| (.inline-swatch): |
| (.inline-swatch > span): |
| Added more consistent border-radius with UserInterface/Images/CubicBezier.svg. |
| |
| * UserInterface/Views/VisualStyleColorPicker.css: |
| (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .inline-swatch.color): |
| Made border-radius consistent with the adjacent input field. |
| |
| 2016-03-12 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Convert toolbar and tab bar to position absolute to reduce repaint areas |
| https://bugs.webkit.org/show_bug.cgi?id=155386 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Using CSS flexbox causes unnecessary large repaints. |
| Convert top level elements (.toolbar, .tab-bar, #main) |
| from flexbox to "position: absolute". |
| |
| * UserInterface/Views/Main.css: |
| (#main): |
| * UserInterface/Views/TabBar.css: |
| (.tab-bar): |
| * UserInterface/Views/Toolbar.css: |
| (.toolbar): |
| (body.mac-platform:not(.docked, .mavericks) .toolbar): |
| (body.mac-platform:not(.docked, .mavericks)): |
| (body.window-inactive:not(.mavericks) .toolbar): Deleted. |
| * UserInterface/Views/Variables.css: |
| (:root): |
| |
| 2016-03-11 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Wrong TimelineOverview height after switching from Events to Frames |
| https://bugs.webkit.org/show_bug.cgi?id=155366 |
| <rdar://problem/25111028> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange): |
| Update the overview height after setting a new view mode. |
| |
| 2016-03-11 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Make it possible to disable TimelineRuler UI |
| https://bugs.webkit.org/show_bug.cgi?id=155348 |
| <rdar://problem/25103505> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Adds an "enabled" property to TimelineRuler, allowing the selection UI |
| to be disabled without removing the current selection. |
| |
| * UserInterface/Views/TimelineRuler.css: |
| (.timeline-ruler.allows-time-range-selection:not(.disabled)): |
| (.timeline-ruler > .selection-drag): |
| (.timeline-ruler:not(.disabled) > .selection-drag): |
| (.timeline-ruler:not(.disabled) > .selection-drag:active): |
| (.timeline-ruler.disabled > .selection-handle): |
| (.timeline-ruler.allows-time-range-selection): Deleted. |
| (.timeline-ruler > .selection-drag:active): Deleted. |
| Updated ruler styles for "disabled" state: pointer events are disabled, |
| selection handles hidden, and the default cursor is shown. |
| |
| * UserInterface/Views/TimelineRuler.js: |
| (WebInspector.TimelineRuler): |
| (WebInspector.TimelineRuler.prototype.get enabled): |
| (WebInspector.TimelineRuler.prototype.set enabled): |
| New property. |
| (WebInspector.TimelineRuler.prototype._handleClick): |
| Corrected code which always reset the pointer events to "all", instead |
| of setting it back to the original value. |
| |
| 2016-03-10 Daniel Strokis <dstrokis@icloud.com> |
| |
| Web Inspector: color swatch and border are misaligned in Visual Styles sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=154471 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Color swatches in the Visual Styles sidebar now have only their left corners rounded (thanks to Matt Baker for the idea). |
| |
| * UserInterface/Views/InlineSwatch.css: |
| (.inline-swatch > span): |
| (.inline-swatch): Deleted. |
| * UserInterface/Views/VisualStyleColorPicker.css: |
| (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .inline-swatch.color): |
| |
| 2016-03-10 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Timelines UI redesign: remove navigation sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=153036 |
| <rdar://problem/24195627> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Removed TimelineView methods used by the sidebar to setup the content tree |
| outline and handle tree element events, which are no longer used. Tree elements |
| are no longer created by TimelineViews as records are processed. |
| |
| * UserInterface/Main.html: |
| Removed files. |
| |
| * UserInterface/Views/LayoutTimelineView.js: |
| (WebInspector.LayoutTimelineView): |
| Removed tree outline event listeners and data grid parameter. |
| (WebInspector.LayoutTimelineView.prototype._processPendingRecords): |
| (WebInspector.LayoutTimelineView.prototype._dataGridFiltersDidChange): |
| (WebInspector.LayoutTimelineView.prototype._hoveredOrSelectedRecord): |
| Get record from data grid node instead of tree element. |
| (WebInspector.LayoutTimelineView.prototype.get navigationSidebarTreeOutlineLabel): Deleted. |
| (WebInspector.LayoutTimelineView.prototype._mouseOverTreeOutline): Deleted. |
| (WebInspector.LayoutTimelineView.prototype._mouseLeaveTreeOutline): Deleted. |
| No longer needed, highlighting performed by data grid event handlers. |
| |
| * UserInterface/Views/MemoryTimelineView.js: |
| (WebInspector.MemoryTimelineView.prototype.get navigationSidebarTreeOutlineLabel): Deleted. |
| No longer needed. |
| |
| * UserInterface/Views/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel.prototype._updateFilter): Deleted. |
| Removed hack which was specific to TimelineSidebarPanel. |
| |
| * UserInterface/Views/NetworkTimelineView.js: |
| (WebInspector.NetworkTimelineView): |
| Removed sidebar styles and tree outline data grid parameter. |
| (WebInspector.NetworkTimelineView.prototype._processPendingRecords): |
| (WebInspector.NetworkTimelineView.prototype._dataGridFiltersDidChange): |
| (WebInspector.NetworkTimelineView.prototype.get navigationSidebarTreeOutlineLabel): Deleted. |
| (WebInspector.NetworkTimelineView.prototype.treeElementSelected): Deleted. |
| No longer needed. |
| |
| * UserInterface/Views/OverviewTimelineView.js: |
| (WebInspector.OverviewTimelineView): |
| (WebInspector.OverviewTimelineView.prototype.get selectionPathComponents): |
| (WebInspector.OverviewTimelineView.prototype.dataGridNodePathComponentSelected): |
| Create path components from the grid selection. This should have been |
| included in https://webkit.org/b/154954. |
| |
| (WebInspector.OverviewTimelineView.prototype._compareDataGridNodesByStartTime.getStartTime): |
| (WebInspector.OverviewTimelineView.prototype._compareDataGridNodesByStartTime): |
| (WebInspector.OverviewTimelineView.prototype._insertDataGridNode): |
| (WebInspector.OverviewTimelineView.prototype._addResourceToDataGridIfNeeded): |
| (WebInspector.OverviewTimelineView.prototype._addSourceCodeTimeline): |
| Refactored to accept grid nodes instead of tree elements. |
| |
| (WebInspector.OverviewTimelineView.prototype._processPendingRepresentedObjects): |
| (WebInspector.OverviewTimelineView.prototype.get navigationSidebarTreeOutlineLabel): Deleted. |
| (WebInspector.OverviewTimelineView.prototype.shown): |
| (WebInspector.OverviewTimelineView.prototype.treeElementPathComponentSelected): Deleted. |
| (WebInspector.OverviewTimelineView.prototype._compareTreeElementsByDetails): Deleted. |
| Not used anywhere. |
| |
| (WebInspector.OverviewTimelineView.prototype._compareTreeElementsByStartTime.getStartTime): Deleted. |
| (WebInspector.OverviewTimelineView.prototype._compareTreeElementsByStartTime): Deleted. |
| (WebInspector.OverviewTimelineView.prototype._insertTreeElement): Deleted. |
| (WebInspector.OverviewTimelineView.prototype._addResourceToTreeIfNeeded): Deleted. |
| Reimplemented as _compareDataGridNodesByStartTime, _insertDataGridNode and _addResourceToDataGridIfNeeded. |
| |
| * UserInterface/Views/RenderingFrameTimelineView.js: |
| (WebInspector.RenderingFrameTimelineView): |
| Removed sidebar styles and tree outline data grid parameter. |
| |
| (WebInspector.RenderingFrameTimelineView.prototype.get selectionPathComponents): |
| (WebInspector.RenderingFrameTimelineView.prototype.dataGridNodePathComponentSelected): |
| Create path components from the grid selection. This should have been |
| included in https://webkit.org/b/154954. |
| |
| (WebInspector.RenderingFrameTimelineView.prototype._processPendingRecords): |
| (WebInspector.RenderingFrameTimelineView.prototype._scopeBarSelectionDidChange): |
| (WebInspector.RenderingFrameTimelineView.prototype.get navigationSidebarTreeOutlineLabel): Deleted. |
| (WebInspector.RenderingFrameTimelineView.prototype.treeElementDeselected): Deleted. |
| (WebInspector.RenderingFrameTimelineView.prototype.treeElementSelected): Deleted. |
| (WebInspector.RenderingFrameTimelineView.prototype.treeElementPathComponentSelected): Deleted. |
| |
| * UserInterface/Views/ScriptClusterTimelineView.js: |
| (WebInspector.ScriptClusterTimelineView): |
| Don't hold reference to extraArguments, just pass to subviews. |
| |
| * UserInterface/Views/ScriptDetailsTimelineView.js: |
| (WebInspector.ScriptDetailsTimelineView): |
| Removed sidebar styles and tree outline data grid parameter. |
| (WebInspector.ScriptDetailsTimelineView.prototype._processPendingRecords): |
| (WebInspector.ScriptDetailsTimelineView.prototype._dataGridFiltersDidChange): |
| (WebInspector.ScriptDetailsTimelineView.prototype.get navigationSidebarTreeOutlineLabel): Deleted. |
| (WebInspector.ScriptDetailsTimelineView.prototype.treeElementSelected): Deleted. |
| (WebInspector.ScriptDetailsTimelineView.prototype.dataGridNodeForTreeElement): Deleted. |
| (WebInspector.ScriptDetailsTimelineView.prototype.populateProfileNodeTreeElement): Deleted. |
| |
| * UserInterface/Views/TimelineDataGrid.js: |
| (WebInspector.TimelineDataGrid.prototype.addRowInSortOrder): |
| Fixed failure when treeElement and parentTreeElementOrDataGridNode are both null. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView): |
| Removed extraArguments and sidebar panel references. |
| (WebInspector.TimelineRecordingContentView.prototype.contentBrowserTreeElementForRepresentedObject): |
| Use icon style from the tab, instead of the sidebar. |
| (WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange): |
| Removed updates to the sidebar. |
| (WebInspector.TimelineRecordingContentView.prototype._pathComponentSelected): |
| (WebInspector.TimelineRecordingContentView.prototype._updateTimes): |
| (WebInspector.TimelineRecordingContentView.prototype._instrumentAdded): |
| Removed sidebar reference when creating new TimelineViews. |
| (WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged): |
| |
| * UserInterface/Views/TimelineSidebarPanel.css: Removed. |
| |
| * UserInterface/Views/TimelineTabContentView.js: |
| (WebInspector.TimelineTabContentView): |
| Removed hidden sidebar FIXME. |
| (WebInspector.TimelineTabContentView.prototype._addRecording): |
| New location for sidebar style class constant StopwatchIconStyleClass. |
| |
| * UserInterface/Views/TimelineView.js: |
| (WebInspector.TimelineView): |
| (WebInspector.TimelineView.prototype.get navigationItems): Deleted. |
| (WebInspector.TimelineView.prototype.get navigationSidebarTreeOutline): Deleted. |
| (WebInspector.TimelineView.prototype.get navigationSidebarTreeOutlineLabel): Deleted. |
| (WebInspector.TimelineView.prototype.get timelineSidebarPanel): Deleted. |
| (WebInspector.TimelineView.prototype.treeElementPathComponentSelected): Deleted. |
| (WebInspector.TimelineView.prototype.treeElementDeselected): Deleted. |
| (WebInspector.TimelineView.prototype.treeElementSelected): Deleted. |
| (WebInspector.TimelineView.prototype._treeSelectionDidChange): Deleted. |
| Sidebar logic for panel and content tree outline removed. |
| |
| 2016-03-10 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Enable Memory Timelines by default if supported |
| https://bugs.webkit.org/show_bug.cgi?id=155333 |
| <rdar://problem/25097319> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Controllers/TimelineManager.js: |
| (WebInspector.TimelineManager.defaultInstruments): |
| |
| 2016-03-10 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Add "Quick Open" dialog to debugger and resources tabs |
| https://bugs.webkit.org/show_bug.cgi?id=153028 |
| <rdar://problem/24194239> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| New placeholder text for open resource dialog field. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.contentLoaded): |
| Keep a reference to the content element to use as global dialog parent, |
| and create keyboard shortcut for new dialog. |
| |
| (WebInspector._showOpenResourceDialog): |
| Create dialog if needed, return if already visible. |
| (WebInspector.dialogWasDismissed): |
| Show represented object, if any, when dialog is dismissed. |
| |
| * UserInterface/Main.html: |
| New files. |
| |
| * UserInterface/Views/Dialog.js: Added. |
| Base class for modal dialog popovers. Implements basic setup and |
| teardown, and logic for validating and returning a represented object. |
| |
| (WebInspector.Dialog): |
| (WebInspector.Dialog.prototype.get visible): |
| (WebInspector.Dialog.prototype.get delegate): |
| (WebInspector.Dialog.prototype.get representedObject): |
| (WebInspector.Dialog.prototype.present): |
| (WebInspector.Dialog.prototype.dismiss): |
| (WebInspector.Dialog.prototype.didPresetDialog): |
| (WebInspector.Dialog.prototype.representedObjectIsValid): |
| |
| * UserInterface/Views/GoToLineDialog.js: |
| Subclass the Dialog base class. |
| (WebInspector.GoToLineDialog): |
| (WebInspector.GoToLineDialog.prototype.didPresentDialog): |
| Implement base class behavior hook. Replaces "present". |
| (WebInspector.GoToLineDialog.prototype._handleInputEvent): |
| (WebInspector.GoToLineDialog.prototype._handleKeydownEvent): |
| Line number validation handled by base class/delegate. |
| (WebInspector.GoToLineDialog.prototype._clear): |
| (WebInspector.GoToLineDialog.prototype.present): Deleted. |
| (WebInspector.GoToLineDialog.prototype.dismiss): Deleted. |
| No longer needed, handled by base class. |
| |
| * UserInterface/Views/OpenResourceDialog.css: Added. |
| (.open-resource-dialog): |
| (.open-resource-dialog > .field): |
| (.open-resource-dialog > .field > input): |
| (.open-resource-dialog > .field > input::-webkit-input-placeholder): |
| (.open-resource-dialog > .field > img): |
| (.open-resource-dialog > .field > img:active): |
| (.open-resource-dialog.non-empty > .field > img): |
| (.open-resource-dialog > .tree-outline): |
| (.open-resource-dialog > .tree-outline .item): |
| (.open-resource-dialog > .tree-outline .item:first-child): |
| (.open-resource-dialog > .tree-outline .item.selected): |
| (.open-resource-dialog > .tree-outline .item.selected .subtitle): |
| Styles for "quick open" dialog. |
| |
| * UserInterface/Views/OpenResourceDialog.js: Added. |
| New dialog type, based on the Quick Open dialog found in Xcode (and its |
| equivalent in most modern editors). |
| |
| (WebInspector.OpenResourceDialog): |
| (WebInspector.OpenResourceDialog.prototype._populateResourceTreeOutline.createTreeElement): |
| (WebInspector.OpenResourceDialog.prototype._populateResourceTreeOutline): |
| Populate the auto-completion tree from the list of filtered resources. |
| |
| (WebInspector.OpenResourceDialog.prototype.didPresentDialog): |
| Build resource list once, when the dialog is presented. Update the list |
| when resources are added/removed in a follow-up: https://webkit.org/b/155321. |
| |
| (WebInspector.OpenResourceDialog.prototype._handleInputEvent): |
| (WebInspector.OpenResourceDialog.prototype._handleKeydownEvent): |
| Escape key: dismiss dialog if input is empty, otherwise clear input. |
| Enter key: dismiss dialog if object selected. |
| Key up/down: cycle through auto-completion tree items, if any. |
| |
| (WebInspector.OpenResourceDialog.prototype._handleKeyupEvent): |
| (WebInspector.OpenResourceDialog.prototype._handleBlurEvent): |
| (WebInspector.OpenResourceDialog.prototype._handleMousedownEvent): |
| (WebInspector.OpenResourceDialog.prototype._handleClickEvent): |
| (WebInspector.OpenResourceDialog.prototype._clear): |
| (WebInspector.OpenResourceDialog.prototype._updateFilter): |
| Rebuild filter regular expressions and apply to all resources. Each |
| resource is given a weight based on the first matching filter. Filters |
| are ordered by relevancy, from most to least relevant. Filtered resources |
| are sorted based on weight. If no matches are found, the tree is hidden. |
| |
| * UserInterface/Views/ResourceTreeElement.js: |
| (WebInspector.ResourceTreeElement.prototype.get filterableData): |
| make filterable resource data more fine-grained. Priority should be given |
| to the resource's name, before the complete URL. |
| |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype.showGoToLineDialog): |
| (WebInspector.SourceCodeTextEditor.prototype.dialogWasDismissed): |
| (WebInspector.SourceCodeTextEditor.prototype.goToLineDialogValueWasValidated): Deleted. |
| (WebInspector.SourceCodeTextEditor.prototype.goToLineDialogWasDismissed): Deleted. |
| Updated for new Dialog delegate behavior. |
| |
| * UserInterface/Views/TreeOutline.css: |
| (.tree-outline.large .item .titles): |
| (.tree-outline.large .item .titles.no-subtitle): Deleted. |
| Styles for tree elements in "quick open" dialog auto-completion tree. |
| |
| 2016-03-10 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: TreeOutlineDataGridSynchronizer should be optional in TimelineDataGrid |
| https://bugs.webkit.org/show_bug.cgi?id=155318 |
| <rdar://problem/25091949> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/TimelineDataGrid.js: |
| (WebInspector.TimelineDataGrid): |
| TreeOutline is optional, and if non-null a tree outline synchronizer is created. |
| |
| (WebInspector.TimelineDataGrid.prototype.shown): |
| (WebInspector.TimelineDataGrid.prototype.treeElementForDataGridNode): |
| (WebInspector.TimelineDataGrid.prototype.dataGridNodeForTreeElement): |
| (WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters): |
| Safety checks for the synchronizer. |
| |
| (WebInspector.TimelineDataGrid.prototype.addRowInSortOrder): |
| treeElement is now an optional parameter. If non-null, a tree synchronizer |
| should exist. The third parameter has been overloaded, to allow passing |
| a parent tree element or data grid node. |
| |
| (WebInspector.TimelineDataGrid.prototype._refreshDirtyDataGridNodes): |
| (WebInspector.TimelineDataGrid.prototype._sort): |
| Safety checks for the synchronizer. |
| |
| 2016-03-09 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: JavaScript Heap Allocations Timeline |
| https://bugs.webkit.org/show_bug.cgi?id=155287 |
| <rdar://problem/25078088> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Initial JavaScript Heap Allocations Timeline includes: |
| |
| - Snapshot markers in the timeline |
| - Initial/Periodic/End snapshots during recording |
| - Ability to manually take a snapshot |
| - View of all objects in a Snapshot and Diff between snapshots |
| - Summary view - rough display of the size/count of large objects |
| - Instances view - view each of the individual objects |
| |
| * UserInterface/Main.html: |
| * UserInterface/Test.html: |
| * UserInterface/Images/Compare.svg: Added. |
| * UserInterface/Images/HeapSnapshot.svg: Added. |
| * UserInterface/Images/HeapSnapshotDiff.svg: Added. |
| * UserInterface/Images/HeapSnapshotInstances.svg: Added. |
| * UserInterface/Images/HeapSnapshotSummary.svg: Added. |
| * Localizations/en.lproj/localizedStrings.js: |
| New resources and strings. |
| |
| * UserInterface/Controllers/TimelineManager.js: |
| (WebInspector.TimelineManager.prototype.heapTrackingStarted): |
| (WebInspector.TimelineManager.prototype.heapTrackingCompleted): |
| (WebInspector.TimelineManager.prototype.heapSnapshotAdded): |
| * UserInterface/Protocol/HeapObserver.js: |
| (WebInspector.HeapObserver.prototype.trackingStart): |
| (WebInspector.HeapObserver.prototype.trackingComplete): |
| (WebInspector.HeapObserver): |
| Add snapshot records to the active recording's timeline. |
| |
| * UserInterface/Models/HeapAllocationsInstrument.js: Added. |
| (WebInspector.HeapAllocationsInstrument): |
| (WebInspector.HeapAllocationsInstrument.supported): |
| (WebInspector.HeapAllocationsInstrument.prototype.get timelineRecordType): |
| (WebInspector.HeapAllocationsInstrument.prototype.startInstrumentation): |
| (WebInspector.HeapAllocationsInstrument.prototype.stopInstrumentation): |
| (WebInspector.HeapAllocationsInstrument.prototype._takeHeapSnapshot): |
| Start, stop, and periodic snapshots. |
| |
| * UserInterface/Models/HeapAllocationsTimelineRecord.js: |
| (WebInspector.HeapAllocationsTimelineRecord): |
| (WebInspector.HeapAllocationsTimelineRecord.prototype.get timestamp): |
| (WebInspector.HeapAllocationsTimelineRecord.prototype.get heapSnapshot): |
| * UserInterface/Models/TimelineRecord.js: |
| * UserInterface/Models/TimelineRecording.js: |
| (WebInspector.TimelineRecording): |
| (WebInspector.TimelineRecording.prototype.addRecord): |
| * UserInterface/Views/TimelineOverviewGraph.js: |
| (WebInspector.TimelineOverviewGraph.createForTimeline): |
| * UserInterface/Views/TimelineTabContentView.js: |
| (WebInspector.TimelineTabContentView.displayNameForTimeline): |
| (WebInspector.TimelineTabContentView.iconClassNameForTimeline): |
| (WebInspector.TimelineTabContentView.genericClassNameForTimeline): |
| (WebInspector.TimelineTabContentView.iconClassNameForRecord): |
| (WebInspector.TimelineTabContentView.displayNameForRecord): |
| New timeline and record type. |
| |
| * UserInterface/Models/HeapSnapshotDiff.js: Added. |
| (WebInspector.HeapSnapshotDiff): |
| (WebInspector.HeapSnapshotDiff.prototype.get snapshot1): |
| (WebInspector.HeapSnapshotDiff.prototype.get snapshot2): |
| (WebInspector.HeapSnapshotDiff.prototype.get addedInstances): |
| (WebInspector.HeapSnapshotDiff.prototype.get removedInstances): |
| (WebInspector.HeapSnapshotDiff.prototype.get sizeDifference): |
| (WebInspector.HeapSnapshotDiff.prototype.get growth): |
| (WebInspector.HeapSnapshotDiff.prototype.snapshotForDiff): |
| Compare two snapshots and create a "diff snapshot" which is just |
| the newly added objects. |
| |
| * UserInterface/Views/ContentView.js: |
| (WebInspector.ContentView.createFromRepresentedObject): |
| (WebInspector.ContentView.isViewable): |
| A HeapSnapshot creates a HeapSnapshotClusterView. |
| |
| * UserInterface/Views/HeapAllocationsTimelineDataGridNode.js: Added. |
| (WebInspector.HeapAllocationsTimelineDataGridNode): |
| (WebInspector.HeapAllocationsTimelineDataGridNode.prototype.get record): |
| (WebInspector.HeapAllocationsTimelineDataGridNode.prototype.get data): |
| (WebInspector.HeapAllocationsTimelineDataGridNode.prototype.createCellContent): |
| (WebInspector.HeapAllocationsTimelineDataGridNode.prototype.markAsBaseline): |
| (WebInspector.HeapAllocationsTimelineDataGridNode.prototype.clearBaseline): |
| * UserInterface/Views/HeapAllocationsTimelineOverviewGraph.css: Copied from Source/WebInspectorUI/UserInterface/Protocol/HeapObserver.js. |
| (.timeline-overview-graph.heap-allocations): |
| (.timeline-overview-graph.heap-allocations > img.snapshot): |
| * UserInterface/Views/HeapAllocationsTimelineOverviewGraph.js: Added. |
| (WebInspector.HeapAllocationsTimelineOverviewGraph): |
| (WebInspector.HeapAllocationsTimelineOverviewGraph.prototype.reset): |
| (WebInspector.HeapAllocationsTimelineOverviewGraph.prototype.layout.xScale): |
| (WebInspector.HeapAllocationsTimelineOverviewGraph.prototype.layout): |
| (WebInspector.HeapAllocationsTimelineOverviewGraph.prototype._visibleRecords): |
| (WebInspector.HeapAllocationsTimelineOverviewGraph.prototype._heapAllocationTimelineRecordAdded): |
| * UserInterface/Views/HeapAllocationsTimelineView.css: Copied from Source/WebInspectorUI/UserInterface/Protocol/HeapObserver.js. |
| (.timeline-view.heap-allocations > .data-grid): |
| (.timeline-view.heap-allocations > .data-grid td .icon.heap-snapshot): |
| (.timeline-view.heap-allocations > .data-grid tr.baseline): |
| (.timeline-view.heap-allocations > .content-view-container): |
| (.timeline-view.heap-allocations > .content-view-container > .content-view): |
| * UserInterface/Views/HeapAllocationsTimelineView.js: Added. |
| (WebInspector.HeapAllocationsTimelineView): |
| (WebInspector.HeapAllocationsTimelineView.prototype.showHeapSnapshotList): |
| (WebInspector.HeapAllocationsTimelineView.prototype.showHeapSnapshotTimelineRecord): |
| (WebInspector.HeapAllocationsTimelineView.prototype.showHeapSnapshotDiff): |
| (WebInspector.HeapAllocationsTimelineView.prototype.get navigationItems): |
| (WebInspector.HeapAllocationsTimelineView.prototype.get selectionPathComponents): |
| (WebInspector.HeapAllocationsTimelineView.prototype.get navigationSidebarTreeOutlineLabel): |
| (WebInspector.HeapAllocationsTimelineView.prototype.treeElementPathComponentSelected): |
| (WebInspector.HeapAllocationsTimelineView.prototype.userSelectedRecordFromOverview): |
| (WebInspector.HeapAllocationsTimelineView.prototype.closed): |
| (WebInspector.HeapAllocationsTimelineView.prototype.layout): |
| (WebInspector.HeapAllocationsTimelineView.prototype.reset): |
| (WebInspector.HeapAllocationsTimelineView.prototype._heapAllocationsTimelineRecordAdded): |
| (WebInspector.HeapAllocationsTimelineView.prototype._snapshotListPathComponentClicked): |
| (WebInspector.HeapAllocationsTimelineView.prototype._snapshotPathComponentSelected): |
| (WebInspector.HeapAllocationsTimelineView.prototype._currentContentViewDidChange): |
| (WebInspector.HeapAllocationsTimelineView.prototype._contentViewSelectionPathComponentDidChange): |
| (WebInspector.HeapAllocationsTimelineView.prototype._updateCompareHeapSnapshotButton): |
| (WebInspector.HeapAllocationsTimelineView.prototype._takeHeapSnapshotClicked): |
| (WebInspector.HeapAllocationsTimelineView.prototype._cancelSelectComparisonHeapSnapshots): |
| (WebInspector.HeapAllocationsTimelineView.prototype._compareHeapSnapshotsClicked): |
| (WebInspector.HeapAllocationsTimelineView.prototype._dataGridNodeSelected): |
| * UserInterface/Views/HeapSnapshotClassDataGridNode.js: Added. |
| (WebInspector.HeapSnapshotClassDataGridNode): |
| (WebInspector.HeapSnapshotClassDataGridNode.prototype.get data): |
| (WebInspector.HeapSnapshotClassDataGridNode.prototype.createCellContent): |
| (WebInspector.HeapSnapshotClassDataGridNode.prototype.sort): |
| (WebInspector.HeapSnapshotClassDataGridNode.prototype._populate): |
| (WebInspector.HeapSnapshotClassDataGridNode.prototype._fetchBatch): |
| (WebInspector.HeapSnapshotClassDataGridNode.prototype._updateBatchedSort): |
| (WebInspector.HeapSnapshotClassDataGridNode.prototype._updateBatchedChildren): |
| (WebInspector.HeapSnapshotClassDataGridNode.prototype._removeFetchMoreDataGridNode): |
| (WebInspector.HeapSnapshotClassDataGridNode.prototype._appendFetchMoreDataGridNode): |
| * UserInterface/Views/HeapSnapshotClusterContentView.js: Added. |
| (WebInspector.HeapSnapshotClusterContentView.createPathComponent): |
| (WebInspector.HeapSnapshotClusterContentView): |
| (WebInspector.HeapSnapshotClusterContentView.iconStyleClassNameForClassName): |
| (WebInspector.HeapSnapshotClusterContentView.prototype.get heapSnapshot): |
| (WebInspector.HeapSnapshotClusterContentView.prototype.get summaryContentView): |
| (WebInspector.HeapSnapshotClusterContentView.prototype.get instancesContentView): |
| (WebInspector.HeapSnapshotClusterContentView.prototype.get navigationItems): |
| (WebInspector.HeapSnapshotClusterContentView.prototype.get selectionPathComponents): |
| (WebInspector.HeapSnapshotClusterContentView.prototype.shown): |
| (WebInspector.HeapSnapshotClusterContentView.prototype.closed): |
| (WebInspector.HeapSnapshotClusterContentView.prototype.saveToCookie): |
| (WebInspector.HeapSnapshotClusterContentView.prototype.restoreFromCookie): |
| (WebInspector.HeapSnapshotClusterContentView.prototype.showSummary): |
| (WebInspector.HeapSnapshotClusterContentView.prototype.showInstances): |
| (WebInspector.HeapSnapshotClusterContentView.prototype._contentViewExtraArguments): |
| (WebInspector.HeapSnapshotClusterContentView.prototype._pathComponentForContentView): |
| (WebInspector.HeapSnapshotClusterContentView.prototype._identifierForContentView): |
| (WebInspector.HeapSnapshotClusterContentView.prototype._showContentViewForIdentifier): |
| (WebInspector.HeapSnapshotClusterContentView.prototype._pathComponentSelected): |
| (WebInspector.HeapSnapshotClusterContentView.prototype._toggleShowInternalObjectsSetting): |
| (WebInspector.HeapSnapshotClusterContentView.prototype._updateViewsForShowInternalObjectsSettingValue): |
| (WebInspector.HeapSnapshotClusterContentView.prototype._updateShowInternalObjectsButtonNavigationItem): |
| * UserInterface/Views/HeapSnapshotInstanceDataGridNode.js: Added. |
| (WebInspector.HeapSnapshotInstanceDataGridNode): |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype.get data): |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype.get selectable): |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype.createCells): |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype.createCellContent): |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype.sort): |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._contextMenuHandler.): |
| (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._contextMenuHandler): |
| * UserInterface/Views/HeapSnapshotInstanceFetchMoreDataGridNode.js: Added. |
| (WebInspector.HeapSnapshotInstanceFetchMoreDataGridNode): |
| (WebInspector.HeapSnapshotInstanceFetchMoreDataGridNode.prototype.createCellContent): |
| (WebInspector.HeapSnapshotInstanceFetchMoreDataGridNode.prototype.sort): |
| * UserInterface/Views/HeapSnapshotInstancesContentView.css: Added. |
| * UserInterface/Views/HeapSnapshotInstancesContentView.js: Added. |
| (WebInspector.HeapSnapshotInstancesContentView): |
| (WebInspector.HeapSnapshotInstancesContentView.prototype.get showInternalObjects): |
| (WebInspector.HeapSnapshotInstancesContentView.prototype.set showInternalObjects): |
| (WebInspector.HeapSnapshotInstancesContentView.prototype._sortDataGrid): |
| * UserInterface/Views/HeapSnapshotInstancesDataGridTree.js: Added. |
| (WebInspector.HeapSnapshotInstancesDataGridTree): |
| (WebInspector.HeapSnapshotInstancesDataGridTree.buildSortComparator): |
| (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.get heapSnapshot): |
| (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.get includeInternalObjects): |
| (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.set includeInternalObjects): |
| (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.get children): |
| (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.appendChild): |
| (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.insertChild): |
| (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.removeChildren): |
| (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.set sortComparator): |
| (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.sort): |
| (WebInspector.HeapSnapshotInstancesDataGridTree.prototype._populateTopLevel): |
| * UserInterface/Views/HeapSnapshotSummaryContentView.css: Added. |
| * UserInterface/Views/HeapSnapshotSummaryContentView.js: Added. |
| (WebInspector.HeapSnapshotSummaryContentView.createChartContainer): |
| (WebInspector.HeapSnapshotSummaryContentView.appendLegendRow): |
| (WebInspector.HeapSnapshotSummaryContentView.appendEmptyMessage): |
| (WebInspector.HeapSnapshotSummaryContentView): |
| (WebInspector.HeapSnapshotSummaryContentView.prototype.layout): |
| * UserInterface/Views/PathComponentIcons.css: |
| (.heap-snapshot-summary-icon .icon): |
| (.heap-snapshot-instances-icon .icon): |
| (.snapshot-list-icon .icon): |
| (.snapshot-diff-icon .icon): |
| (body:not(.mac-platform, .windows-platform) .snapshot-diff-icon .icon): |
| (body:not(.mac-platform, .windows-platform) .call-trees-icon .icon): Deleted. |
| * UserInterface/Views/TextNavigationItem.css: |
| (.navigation-bar .item.text): |
| * UserInterface/Views/TextNavigationItem.js: |
| (WebInspector.TextNavigationItem): |
| (WebInspector.TextNavigationItem.prototype.get text): |
| (WebInspector.TextNavigationItem.prototype.set text): |
| * UserInterface/Views/TimelineIcons.css: |
| (.heap-snapshot-record .icon): |
| * UserInterface/Views/Variables.css: |
| (:root): |
| New views. |
| |
| * UserInterface/Views/FormattedValue.js: |
| (WebInspector.FormattedValue.createElementForNodePreview): |
| (WebInspector.FormattedValue.createElementForFunctionWithName): |
| (WebInspector.FormattedValue.createObjectPreviewOrFormattedValueForObjectPreview): |
| Better display for a raw object preview. |
| |
| * UserInterface/Views/TimelineOverview.js: |
| (WebInspector.TimelineOverview): |
| (WebInspector.TimelineOverview.prototype.userSelectedRecord): |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView): |
| (WebInspector.TimelineRecordingContentView.prototype.timelineOverviewUserSelectedRecord): |
| * UserInterface/Views/TimelineRuler.js: |
| (WebInspector.TimelineRuler.prototype.set allowsTimeRangeSelection): |
| (WebInspector.TimelineRuler.prototype._handleClick): |
| (WebInspector.TimelineRuler.prototype._handleMouseDown): |
| (WebInspector.TimelineRuler.prototype._handleMouseMove): |
| * UserInterface/Views/TimelineView.js: |
| (WebInspector.TimelineView.prototype.userSelectedRecordFromOverview): |
| Hook up a way for clicking in the TimelineOverview / TimelineRuler |
| to redispatch to an OverviewGraph element, and provide a patch for |
| the Overview -> RecordingContentView -> TimelineView for records. |
| |
| 2016-03-09 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: LayoutTimelineView path components should reflect grid row nesting |
| https://bugs.webkit.org/show_bug.cgi?id=155279 |
| <rdar://problem/25075355> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/LayoutTimelineView.js: |
| (WebInspector.LayoutTimelineView.prototype.get selectionPathComponents): |
| Walk grid nodes to build path component array. |
| |
| 2016-03-09 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Timelines UI redesign: use DataGridNode for TimelineView selection path components |
| https://bugs.webkit.org/show_bug.cgi?id=154954 |
| <rdar://problem/24947939> |
| |
| Reviewed by Timothy Hatcher. |
| |
| This patch adds a new path component, TimelineDataGridNodePathComponent, |
| for creating a path component from the current grid selection. This is |
| needed since TimelineViews will no longer have an associated content tree |
| outline once the navigation sidebar is removed. |
| |
| TimelineDataGridNode has new protected methods, "displayName" and |
| "iconClassNames", which are used to populate hierarchical path components, |
| create grid node data, and create cell content. |
| |
| TimelineView subclasses share a certain amount of boilerplate code for |
| getting selection path components and handling path component selection. |
| In the future we may be able to reduce this code by introducing a new |
| DataGridTimelineView base class. |
| |
| * UserInterface/Main.html: |
| Added/removed files. |
| |
| * UserInterface/Views/LayoutTimelineDataGridNode.js: |
| (WebInspector.LayoutTimelineDataGridNode.prototype.get data): |
| (WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent): |
| (WebInspector.LayoutTimelineDataGridNode): |
| (WebInspector.LayoutTimelineDataGridNode.prototype.get record): Deleted. |
| Moved to base class. |
| |
| * UserInterface/Views/LayoutTimelineView.js: |
| (WebInspector.LayoutTimelineView.prototype.get selectionPathComponents): |
| (WebInspector.LayoutTimelineView.prototype.dataGridNodePathComponentSelected): |
| (WebInspector.LayoutTimelineView.prototype.treeElementPathComponentSelected): Deleted. |
| TimelineView tree outlines are going away. |
| |
| * UserInterface/Views/MemoryTimelineView.js: |
| (WebInspector.MemoryTimelineView.prototype.treeElementPathComponentSelected): Deleted. |
| TimelineView tree outlines are going away. |
| |
| * UserInterface/Views/NetworkTimelineView.js: |
| (WebInspector.NetworkTimelineView.prototype.get selectionPathComponents): |
| (WebInspector.NetworkTimelineView.prototype.dataGridNodePathComponentSelected): |
| (WebInspector.NetworkTimelineView.prototype.treeElementPathComponentSelected): Deleted. |
| TimelineView tree outlines are going away. |
| |
| * UserInterface/Views/ProfileNodeDataGridNode.js: |
| (WebInspector.ProfileNodeDataGridNode.prototype.get data): |
| (WebInspector.ProfileNodeDataGridNode.prototype.createCellContent): |
| (WebInspector.ProfileNodeDataGridNode.prototype.displayName): |
| (WebInspector.ProfileNodeDataGridNode.prototype.iconClassNames): |
| (WebInspector.ProfileNodeDataGridNode): |
| (WebInspector.ProfileNodeDataGridNode.prototype._iconClassNameForProfileNode): Deleted. |
| (WebInspector.ProfileNodeDataGridNode.prototype._titleForProfileNode): Deleted. |
| Re-implemented as overrides of the base class methods "iconClassNames" |
| and "displayName". |
| |
| * UserInterface/Views/RenderingFrameTimelineDataGridNode.js: |
| (WebInspector.RenderingFrameTimelineDataGridNode.prototype.createCellContent): |
| (WebInspector.RenderingFrameTimelineDataGridNode): |
| (WebInspector.RenderingFrameTimelineDataGridNode.prototype.get record): Deleted. |
| Moved to base class. |
| |
| * UserInterface/Views/ResourceTimelineDataGridNode.js: |
| (WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent): |
| (WebInspector.ResourceTimelineDataGridNode.prototype.displayName): |
| (WebInspector.ResourceTimelineDataGridNode.prototype.iconClassNames): |
| Override base class methods, making it possible to remove ResourceTimelineDataGridNodePathComponent, |
| and treat all TimelineDataGridNodes in a uniform manner. |
| |
| (WebInspector.ResourceTimelineDataGridNode.prototype._createNameCellDocumentFragment): |
| Replace duplicated code with call to "displayName". |
| |
| * UserInterface/Views/ResourceTimelineDataGridNodePathComponent.js: Removed. |
| Replaced by more generic solution, TimelineDataGridNodePathComponent. |
| |
| * UserInterface/Views/ScriptDetailsTimelineView.js: |
| (WebInspector.ScriptDetailsTimelineView.prototype.get selectionPathComponents): |
| (WebInspector.ScriptDetailsTimelineView.prototype.dataGridNodePathComponentSelected): |
| (WebInspector.ScriptDetailsTimelineView.prototype.treeElementPathComponentSelected): Deleted. |
| TimelineView tree outlines are going away. |
| |
| * UserInterface/Views/ScriptTimelineDataGridNode.js: |
| (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent): |
| (WebInspector.ScriptTimelineDataGridNode.prototype._createNameCellDocumentFragment): |
| Replace duplicated code with call to "displayName". |
| |
| (WebInspector.ScriptTimelineDataGridNode): |
| (WebInspector.ScriptTimelineDataGridNode.prototype.get record): Deleted. |
| Moved to base class. |
| |
| * UserInterface/Views/SourceCodeTimelineTimelineDataGridNode.js: |
| (WebInspector.SourceCodeTimelineTimelineDataGridNode.prototype.createCellContent): |
| (WebInspector.SourceCodeTimelineTimelineDataGridNode.prototype._createNameCellContent): |
| Replace duplicated code with call to "displayName". |
| |
| * UserInterface/Views/TimelineDataGridNode.js: |
| (WebInspector.TimelineDataGridNode.prototype.get record): |
| Implemented in terms of the "records" getter, since all subclasses simply returned the |
| node's first (or only) record. |
| |
| (WebInspector.TimelineDataGridNode.prototype.displayName): |
| (WebInspector.TimelineDataGridNode.prototype.iconClassNames): |
| Base class implementations, using utility methods in TimelineTabContentView |
| to get display data based on the node's timeline record. Can be overridden |
| by nodes that either don't have a timeline record (ProfileNodeDataGridNode) |
| |
| * UserInterface/Views/TimelineDataGridNodePathComponent.js: |
| (WebInspector.TimelineDataGridNodePathComponent): |
| (WebInspector.TimelineDataGridNodePathComponent.prototype.get timelineDataGridNode): |
| (WebInspector.TimelineDataGridNodePathComponent.prototype.get previousSibling): |
| (WebInspector.TimelineDataGridNodePathComponent.prototype.get nextSibling): |
| |
| * UserInterface/Views/TimelineView.js: |
| (WebInspector.TimelineView): |
| (WebInspector.TimelineView.prototype.get selectionPathComponents): |
| Must be implemented by subclasses since not all TimelineViews use a DataGrid. |
| |
| 2016-03-09 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Nodes in Computed Styles > Container Regions formatted incorrectly. |
| https://bugs.webkit.org/show_bug.cgi?id=155277 |
| <rdar://problem/25072711> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/DOMTreeDataGrid.js: |
| (WebInspector.DOMTreeDataGrid): |
| Enable icon column property. |
| |
| * UserInterface/Views/DOMTreeDataGridNode.js: |
| (WebInspector.DOMTreeDataGridNode): |
| Removed calls to unused methods. |
| |
| (WebInspector.DOMTreeDataGridNode.prototype.createCellContent): |
| (WebInspector.DOMTreeDataGridNode.prototype._createNameCellDocumentFragment): |
| Simplified cell content creation. |
| |
| (WebInspector.DOMTreeDataGridNode.prototype._updateNodeName): Deleted. |
| (WebInspector.DOMTreeDataGridNode.prototype._makeNameCell): Deleted. |
| Renamed _createNameCellDocumentFragment to be consistent with similar |
| methods in other data grid node classes. |
| |
| (WebInspector.DOMTreeDataGridNode.prototype._updateNameCellData): Deleted. |
| No longer needed. |
| |
| 2016-03-09 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Remove unnecessary constructor |
| https://bugs.webkit.org/show_bug.cgi?id=155249 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/ScriptTimelineDataGrid.js: |
| (WebInspector.ScriptTimelineDataGrid): |
| |
| 2016-03-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Timelines keeps switching to overview instead of keeping the selected timeline |
| https://bugs.webkit.org/show_bug.cgi?id=155212 |
| <rdar://problem/25052504> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/TimelineSidebarPanel.js: |
| (WebInspector.TimelineSidebarPanel.prototype.saveStateToCookie): |
| The sidebar was using out of date information in its tree outline causing it to |
| switch to the wrong sidebar. Use the up to date information from the recording view. |
| |
| * UserInterface/Views/TimelineTabContentView.js: |
| (WebInspector.TimelineTabContentView.prototype._recordingSelected): |
| Fix typo not getting the right timeline type. |
| |
| 2016-03-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Memory Timeline should show MemoryPressure events |
| https://bugs.webkit.org/show_bug.cgi?id=155158 |
| <rdar://problem/25026610> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Main.html: |
| New resources. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.loaded): |
| * UserInterface/Controllers/MemoryManager.js: |
| (WebInspector.MemoryManager): |
| (WebInspector.MemoryManager.prototype.memoryPressure): |
| * UserInterface/Protocol/MemoryObserver.js: |
| (WebInspector.MemoryObserver.prototype.memoryPressure): |
| New manager for Memory domain events. |
| |
| * UserInterface/Controllers/TimelineManager.js: |
| (WebInspector.TimelineManager): |
| (WebInspector.TimelineManager.defaultInstruments): |
| (WebInspector.TimelineManager.prototype._memoryPressure): |
| * UserInterface/Models/TimelineRecording.js: |
| (WebInspector.TimelineRecording.prototype.addMemoryPressureEvent): |
| Add events to the Memory Timeline of the active recording. |
| |
| * UserInterface/Models/MemoryTimeline.js: |
| (WebInspector.MemoryTimeline.prototype.get memoryPressureEvents): |
| (WebInspector.MemoryTimeline.prototype.addMemoryPressureEvent): |
| (WebInspector.MemoryTimeline.prototype.reset): |
| (WebInspector.MemoryTimeline): |
| * UserInterface/Models/Timeline.js: |
| (WebInspector.Timeline.create): |
| Create a specific MemoryTimeline to hold records and memory pressure events. |
| |
| * UserInterface/Models/MemoryPressureEvent.js: |
| (WebInspector.MemoryPressureEvent): |
| (WebInspector.MemoryPressureEvent.fromPayload): |
| (WebInspector.MemoryPressureEvent.prototype.get timestamp): |
| (WebInspector.MemoryPressureEvent.prototype.get severity): |
| Model object for a memory pressure event. |
| |
| * UserInterface/Views/MemoryTimelineOverviewGraph.css: |
| (.timeline-overview-graph.memory .memory-pressure-event): |
| * UserInterface/Views/MemoryTimelineOverviewGraph.js: |
| (WebInspector.MemoryTimelineOverviewGraph): |
| (WebInspector.MemoryTimelineOverviewGraph.prototype.reset): |
| (WebInspector.MemoryTimelineOverviewGraph.prototype._visibleMemoryPressureEvents): |
| (WebInspector.MemoryTimelineOverviewGraph.prototype._memoryTimelineMemoryPressureEventAdded): |
| Include markers for memory pressure events. |
| |
| 2016-03-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Add Heap domain start/stop tracking commands |
| https://bugs.webkit.org/show_bug.cgi?id=155190 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Protocol/HeapObserver.js: |
| (WebInspector.HeapObserver.prototype.trackingStart): |
| (WebInspector.HeapObserver.prototype.trackingComplete): |
| To be used when we have a HeapAllocationsInstrument and timeline. |
| |
| 2016-03-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Make debugging Test.html easier |
| https://bugs.webkit.org/show_bug.cgi?id=155207 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Base/InspectorFrontendHostStub.js: Renamed from Source/WebInspectorUI/UserInterface/Protocol/InspectorFrontendHostStub.js. |
| (window.InspectorFrontendHost.WebInspector.InspectorFrontendHostStub.prototype.unbufferedLog): |
| Add new stub for test function. |
| |
| * UserInterface/Main.html: |
| * UserInterface/Test.html: |
| Move the stub to the Base directory. |
| |
| 2016-03-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Add a way to create a Heap Snapshot |
| https://bugs.webkit.org/show_bug.cgi?id=155188 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Main.html: |
| * UserInterface/Test.html: |
| Add new Model resources. |
| |
| * UserInterface/Models/HeapSnapshot.js: Added. |
| (WebInspector.HeapSnapshotClassCategory): |
| (WebInspector.HeapSnapshot): |
| (WebInspector.HeapSnapshot.fromPayload): |
| (WebInspector.HeapSnapshot.prototype.get rootNode): |
| (WebInspector.HeapSnapshot.prototype.get nodes): |
| (WebInspector.HeapSnapshot.prototype.get identifier): |
| (WebInspector.HeapSnapshot.prototype.get instances): |
| (WebInspector.HeapSnapshot.prototype.get categories): |
| (WebInspector.HeapSnapshot.prototype.get totalSize): |
| (WebInspector.HeapSnapshot.prototype.get totalObjectCount): |
| (WebInspector.HeapSnapshot.prototype.instancesWithClassName): |
| (WebInspector.HeapSnapshot.prototype.nodeWithObjectIdentifier): |
| * UserInterface/Models/HeapSnapshotEdge.js: Added. |
| (WebInspector.HeapSnapshotEdge): |
| (WebInspector.HeapSnapshotEdge.prototype.stringify): |
| * UserInterface/Models/HeapSnapshotNode.js: Added. |
| (WebInspector.HeapSnapshotNode): |
| Data structures for a HeapSnapshot. |
| |
| 2016-03-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Miscellaneous inspector fixes for typos / stale code |
| https://bugs.webkit.org/show_bug.cgi?id=155193 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Models/SourceCodeLocation.js: |
| (WebInspector.SourceCodeLocation.prototype._locationString): |
| Fix whitespace. |
| |
| * UserInterface/Views/ApplicationCacheFrameContentView.js: |
| (WebInspector.ApplicationCacheFrameContentView): |
| Remove unused class name. |
| |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction.didGetDetails): |
| Remove inferredName, as that was never sent by our backend and is getting removed. |
| |
| * UserInterface/Views/TimelineRuler.js: |
| (WebInspector.TimelineRuler.prototype._handleMouseUp): |
| Fix variable name typo. |
| |
| 2016-03-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Images being blocked by CSP 2.0 |
| https://bugs.webkit.org/show_bug.cgi?id=155182 |
| <rdar://problem/25040640> |
| |
| Reviewed by Daniel Bates. |
| |
| * UserInterface/Main.html: |
| Allow Web Inspector to load file: and blob: image resources. |
| Also blob: media and font resources. |
| |
| 2016-03-06 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Use half-pixel borders for data grids |
| https://bugs.webkit.org/show_bug.cgi?id=154437 |
| <rdar://problem/24736365> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/DataGrid.css: |
| (.data-grid.inline): |
| (.data-grid th): |
| (.data-grid :matches(th, td):not(:last-child)): |
| Half-pixel borders round to 1px on 1x (non-retina) screens since r192444. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid.prototype._positionResizerElements): |
| Use getBoundingClientRect for better precision since it provides subpixel values. |
| |
| 2016-03-05 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Have separate path component for Script Timeline content views |
| https://bugs.webkit.org/show_bug.cgi?id=155075 |
| <rdar://problem/24996564> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Images/CallTrees.svg: Added. |
| * UserInterface/Images/Events.svg: Added. |
| New icons based off of ResultLine.svg. |
| |
| * UserInterface/Views/PathComponentIcons.css: |
| (.events-icon .icon): |
| (.call-trees-icon .icon): |
| (body:not(.mac-platform, .windows-platform) .call-trees-icon .icon): |
| Use the new icons and fallback to ResultLine.svg for other ports. |
| |
| * UserInterface/Views/ScriptClusterTimelineView.js: |
| (WebInspector.ScriptClusterTimelineView): |
| (WebInspector.ScriptClusterTimelineView.prototype.get eventsContentView): |
| (WebInspector.ScriptClusterTimelineView.prototype.showEvents): |
| (WebInspector.ScriptClusterTimelineView.prototype.showProfile): |
| (WebInspector.ScriptClusterTimelineView.prototype._pathComponentForContentView): |
| (WebInspector.ScriptClusterTimelineView.prototype._identifierForContentView): |
| (WebInspector.ScriptClusterTimelineView.prototype._showContentViewForIdentifier): |
| (WebInspector.ScriptClusterTimelineView.prototype._scriptClusterViewCurrentContentViewDidChange): |
| (WebInspector.ScriptClusterTimelineView.prototype.get detailsContentView): Deleted. |
| (WebInspector.ScriptClusterTimelineView.prototype.showDetails): Deleted. |
| Rename "Details" to "Events". |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView.prototype.contentBrowserTreeElementForRepresentedObject): Deleted. |
| Always include the top level "Details" component. |
| |
| 2016-03-05 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Add back support for a heavy / bottom up profile view |
| https://bugs.webkit.org/show_bug.cgi?id=140578 |
| <rdar://problem/19506794> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Main.html: |
| New strings and resources. |
| |
| * UserInterface/Base/Utilities.js: |
| (Number.secondsToMillisecondsString): |
| Helper for providing a consistent milliseconds string used in profiles. |
| |
| * UserInterface/Controllers/TimelineManager.js: |
| (WebInspector.TimelineManager.prototype.scriptProfilerTrackingCompleted): |
| The calling context tree should be stored on a Recording, not on the global |
| TimelineManager. Also create two trees, one top down and one bottom up. |
| |
| * UserInterface/Models/CallingContextTree.js: |
| (WebInspector.CallingContextTree): |
| (WebInspector.CallingContextTree.prototype.get type): |
| (WebInspector.CallingContextTree.prototype.get totalExecutionTime): |
| (WebInspector.CallingContextTree.prototype.reset): |
| (WebInspector.CallingContextTree.prototype.numberOfSamplesInTimeRange): |
| (WebInspector.CallingContextTree.prototype.increaseExecutionTime): |
| Give a CallingContextTree a type (TopDown / BottomUp) and some getters. |
| |
| (WebInspector.CallingContextTree.prototype.updateTreeWithStackTrace): |
| Build a bottom up or top down tree from samples. |
| |
| (WebInspector.CallingContextTree.prototype.forEachChild): |
| Allow iterating from the root. |
| |
| (WebInspector.CCTNode): |
| (WebInspector.CCTNode.prototype.hasChildrenInTimeRange): |
| (WebInspector.CCTNode.prototype.numberOfLeafTimestamps): |
| (WebInspector.CCTNode.prototype.addTimestampAndExpressionLocation): |
| (WebInspector.CCTNode.prototype.equals): |
| (WebInspector.CCTNode.prototype.hasChildren): Deleted. |
| Give a CCTNode a list of leaf timestamps alongside the list of all timestamps. |
| Leaf timestamps will count as "self time" in a profile view. |
| |
| * UserInterface/Models/SourceCodeLocation.js: |
| (WebInspector.SourceCodeLocation.prototype._locationString): |
| Nobody was using "ColumnStyle.Hidden" so repurpose it to be even simpler. |
| |
| * UserInterface/Models/TimelineRecording.js: |
| (WebInspector.TimelineRecording): |
| (WebInspector.TimelineRecording.prototype.get topDownCallingContextTree): |
| (WebInspector.TimelineRecording.prototype.get bottomUpCallingContextTree): |
| (WebInspector.TimelineRecording.prototype.reset): |
| Store the two types of calling context trees and allow reseting them. |
| |
| * UserInterface/Protocol/InspectorFrontendAPI.js: |
| (InspectorFrontendAPI.contextMenuItemSelected): |
| Helper for debugging uncaught exceptions in context menus. |
| |
| * UserInterface/Views/ContentView.js: |
| (WebInspector.ContentView.createFromRepresentedObject): |
| (WebInspector.ContentView.isViewable): |
| A ScriptTimeline now has a cluster view. |
| A CallingContextTree now has a ProfileView. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid.prototype.insertChild): |
| (WebInspector.DataGrid.prototype._contextMenuInDataTable): |
| (WebInspector.DataGridNode.prototype.refreshRecursively): |
| (WebInspector.DataGridNode.prototype.elementWithColumnIdentifier): |
| (WebInspector.DataGridNode.prototype.forEachImmediateChild): |
| (WebInspector.DataGridNode.prototype.forEachChildInSubtree): |
| (WebInspector.DataGridNode.prototype.isInSubtreeOfNode): |
| Provide some helpers for iterating DataGridNodes, useful when the |
| actual DataGrid comes from a DataGridTree. |
| |
| (WebInspector.DataGridNode.prototype.select): |
| (WebInspector.DataGridNode.prototype.deselect): |
| The indent width of DataGridNodes was not getting reset when a |
| node was removed and re-added to a tree due to a cached padding. |
| |
| (WebInspector.DataGridNode.prototype.appendContextMenuItems): |
| Allow DataGridNodes to provide context menu items by overriding this method. |
| |
| * UserInterface/Views/PathComponentIcons.css: |
| (.function-icon .icon): |
| (.native-icon .icon): |
| (.program-icon .icon): |
| Icons for profile nodes in path components. |
| |
| * UserInterface/Views/ProfileDataGridNode.js: Added. |
| (WebInspector.ProfileDataGridNode): |
| (WebInspector.ProfileDataGridNode.prototype.get node): |
| (WebInspector.ProfileDataGridNode.prototype.displayName): |
| (WebInspector.ProfileDataGridNode.prototype.iconClassName): |
| (WebInspector.ProfileDataGridNode.prototype.get data): |
| (WebInspector.ProfileDataGridNode.prototype.createCellContent): |
| (WebInspector.ProfileDataGridNode.prototype.sort): |
| (WebInspector.ProfileDataGridNode.prototype.refresh): |
| (WebInspector.ProfileDataGridNode.prototype.appendContextMenuItems): |
| (WebInspector.ProfileDataGridNode.prototype._updateChildrenForModifiers): |
| (WebInspector.ProfileDataGridNode.prototype._recalculateData): |
| (WebInspector.ProfileDataGridNode.prototype._totalTimeContent): |
| (WebInspector.ProfileDataGridNode.prototype._displayContent): |
| (WebInspector.ProfileDataGridNode.prototype._populate): |
| CCTNode DataGridNode. A row in the ProfileDataGridTree. Handles |
| tree modifiers like charge to caller. |
| |
| * UserInterface/Views/ProfileDataGridTree.js: Added. |
| (WebInspector.ProfileDataGridTree): |
| (WebInspector.ProfileDataGridTree.buildSortComparator): |
| (WebInspector.ProfileDataGridTree.prototype.get callingContextTree): |
| (WebInspector.ProfileDataGridTree.prototype.get sampleInterval): |
| (WebInspector.ProfileDataGridTree.prototype.get focusNodes): |
| (WebInspector.ProfileDataGridTree.prototype.get currentFocusNode): |
| (WebInspector.ProfileDataGridTree.prototype.get modifiers): |
| (WebInspector.ProfileDataGridTree.prototype.get startTime): |
| (WebInspector.ProfileDataGridTree.prototype.get endTime): |
| (WebInspector.ProfileDataGridTree.prototype.get numberOfSamples): |
| (WebInspector.ProfileDataGridTree.prototype.get children): |
| (WebInspector.ProfileDataGridTree.prototype.appendChild): |
| (WebInspector.ProfileDataGridTree.prototype.insertChild): |
| (WebInspector.ProfileDataGridTree.prototype.removeChildren): |
| (WebInspector.ProfileDataGridTree.prototype.set sortComparator): |
| (WebInspector.ProfileDataGridTree.prototype.sort): |
| (WebInspector.ProfileDataGridTree.prototype.refresh): |
| (WebInspector.ProfileDataGridTree.prototype.addFocusNode): |
| (WebInspector.ProfileDataGridTree.prototype.rollbackFocusNode): |
| (WebInspector.ProfileDataGridTree.prototype.clearFocusNodes): |
| (WebInspector.ProfileDataGridTree.prototype.hasModifiers): |
| (WebInspector.ProfileDataGridTree.prototype.addModifier): |
| (WebInspector.ProfileDataGridTree.prototype.clearModifiers): |
| (WebInspector.ProfileDataGridTree.prototype._repopulate): |
| (WebInspector.ProfileDataGridTree.prototype._focusChanged): |
| (WebInspector.ProfileDataGridTree.prototype._updateCurrentFocusDetails): |
| (WebInspector.ProfileDataGridTree.prototype._restoreFocusedNodeToOriginalParent): |
| (WebInspector.ProfileDataGridTree.prototype._modifiersChanged): |
| Start of a DataGridTree for a CallingContextTree. |
| Contains special logic for focused nodes and modifiers. |
| |
| * UserInterface/Views/ProfileView.css: Added. |
| (.profile > .data-grid): |
| (.profile > .data-grid th): |
| (.profile > .data-grid td .icon): |
| (.profile > .data-grid td .percentage): |
| (.profile > .data-grid td .location): |
| (.profile > .data-grid:matches(:focus, .force-focus) tr.selected td .location): |
| (.profile > .data-grid td .icon.function-icon): |
| (.profile > .data-grid td .icon.native-icon): |
| (.profile > .data-grid td .icon.program-icon): |
| (.profile > .data-grid tr:matches(.selected, :hover) .go-to-arrow): |
| (.profile > .data-grid td.function-column): |
| (.profile > .data-grid td .guidance): |
| (.profile > .data-grid td .guidance.hover): |
| (.profile > .data-grid td .guidance.base): |
| (.profile > .data-grid tr:not(.expanded) td .guidance.base): |
| (.profile > .data-grid tr.expanded td .guidance.base): |
| * UserInterface/Views/ProfileView.js: Added. |
| (WebInspector.ProfileView): |
| (WebInspector.ProfileView.prototype.get callingContextTree): |
| (WebInspector.ProfileView.prototype.get startTime): |
| (WebInspector.ProfileView.prototype.get endTime): |
| (WebInspector.ProfileView.prototype.setStartAndEndTime): |
| (WebInspector.ProfileView.prototype.hasFocusNodes): |
| (WebInspector.ProfileView.prototype.clearFocusNodes): |
| (WebInspector.ProfileView.prototype.get selectionPathComponents): |
| (WebInspector.ProfileView.prototype._recreate): |
| (WebInspector.ProfileView.prototype._repopulateDataGridFromTree): |
| (WebInspector.ProfileView.prototype._pathComponentClicked): |
| (WebInspector.ProfileView.prototype._dataGridTreeFocusChanged): |
| (WebInspector.ProfileView.prototype._dataGridTreeModifiersChanged): |
| (WebInspector.ProfileView.prototype._dataGridSortChanged): |
| (WebInspector.ProfileView.prototype._dataGridNodeSelected): |
| (WebInspector.ProfileView.prototype._dataGridNodeExpanded): |
| (WebInspector.ProfileView.prototype._mouseOverDataGrid): |
| (WebInspector.ProfileView.prototype._mouseLeaveDataGrid): |
| (WebInspector.ProfileView.prototype._guidanceElementKey): |
| (WebInspector.ProfileView.prototype._removeGuidanceElement): |
| (WebInspector.ProfileView.prototype._appendGuidanceElement): |
| ProfileView holds a data grid which is populated from the data grid tree. |
| Special handing for guidance markers when hovering / selecting parts of the tree. |
| |
| * UserInterface/Views/ScriptClusterTimelineView.js: Added. |
| (WebInspector.ScriptClusterTimelineView.createPathComponent): |
| (WebInspector.ScriptClusterTimelineView): |
| (WebInspector.ScriptClusterTimelineView.prototype.get zeroTime): |
| (WebInspector.ScriptClusterTimelineView.prototype.set zeroTime): |
| (WebInspector.ScriptClusterTimelineView.prototype.get startTime): |
| (WebInspector.ScriptClusterTimelineView.prototype.set startTime): |
| (WebInspector.ScriptClusterTimelineView.prototype.get endTime): |
| (WebInspector.ScriptClusterTimelineView.prototype.set endTime): |
| (WebInspector.ScriptClusterTimelineView.prototype.get currentTime): |
| (WebInspector.ScriptClusterTimelineView.prototype.set currentTime): |
| (WebInspector.ScriptClusterTimelineView.prototype.get navigationSidebarTreeOutline): |
| (WebInspector.ScriptClusterTimelineView.prototype.reset): |
| (WebInspector.ScriptClusterTimelineView.prototype.filterDidChange): |
| (WebInspector.ScriptClusterTimelineView.prototype.matchTreeElementAgainstCustomFilters): |
| (WebInspector.ScriptClusterTimelineView.prototype.get detailsContentView): |
| (WebInspector.ScriptClusterTimelineView.prototype.get profileContentView): |
| (WebInspector.ScriptClusterTimelineView.prototype.get selectionPathComponents): |
| (WebInspector.ScriptClusterTimelineView.prototype.saveToCookie): |
| (WebInspector.ScriptClusterTimelineView.prototype.restoreFromCookie): |
| (WebInspector.ScriptClusterTimelineView.prototype.showDetails): |
| (WebInspector.ScriptClusterTimelineView.prototype.showProfile): |
| (WebInspector.ScriptClusterTimelineView.prototype._pathComponentForContentView): |
| (WebInspector.ScriptClusterTimelineView.prototype._identifierForContentView): |
| (WebInspector.ScriptClusterTimelineView.prototype._showContentViewForIdentifier): |
| (WebInspector.ScriptClusterTimelineView.prototype._pathComponentSelected): |
| (WebInspector.ScriptClusterTimelineView.prototype._scriptClusterViewCurrentContentViewDidChange): |
| Script Timeline ClusterContentView. Toggle between the normal "Details" data grid |
| and the new "Call Tree" profile view. Currently the recording expects child content |
| views to be TimelineViews, this ClusterContentView forwards TimelineView relevant |
| methods to the real TimelineView children. |
| |
| * UserInterface/Views/ScriptDetailsTimelineView.js: Renamed from Source/WebInspectorUI/UserInterface/Views/ScriptTimelineView.js. |
| (WebInspector.ScriptDetailsTimelineView): |
| (WebInspector.ScriptDetailsTimelineView.prototype.get navigationSidebarTreeOutlineLabel): |
| (WebInspector.ScriptDetailsTimelineView.prototype.shown): |
| (WebInspector.ScriptDetailsTimelineView.prototype.hidden): |
| (WebInspector.ScriptDetailsTimelineView.prototype.closed): |
| (WebInspector.ScriptDetailsTimelineView.prototype.get selectionPathComponents): |
| (WebInspector.ScriptDetailsTimelineView.prototype.reset): |
| (WebInspector.ScriptDetailsTimelineView.prototype.canShowContentViewForTreeElement): |
| (WebInspector.ScriptDetailsTimelineView.prototype.showContentViewForTreeElement): |
| (WebInspector.ScriptDetailsTimelineView.prototype.treeElementPathComponentSelected): |
| (WebInspector.ScriptDetailsTimelineView.prototype.treeElementSelected): |
| (WebInspector.ScriptDetailsTimelineView.prototype.dataGridNodeForTreeElement): |
| (WebInspector.ScriptDetailsTimelineView.prototype.populateProfileNodeTreeElement): |
| (WebInspector.ScriptDetailsTimelineView.prototype.layout): |
| (WebInspector.ScriptDetailsTimelineView.prototype._processPendingRecords): |
| (WebInspector.ScriptDetailsTimelineView.prototype._scriptTimelineRecordAdded): |
| (WebInspector.ScriptDetailsTimelineView.prototype._scriptTimelineRecordRefreshed): |
| (WebInspector.ScriptDetailsTimelineView.prototype._dataGridFiltersDidChange): |
| (WebInspector.ScriptDetailsTimelineView.prototype._dataGridNodeSelected): |
| * UserInterface/Views/ScriptProfileTimelineView.js: Added. |
| (WebInspector.ScriptProfileTimelineView): |
| (WebInspector.ScriptProfileTimelineView.prototype.closed): |
| (WebInspector.ScriptProfileTimelineView.prototype.get navigationItems): |
| (WebInspector.ScriptProfileTimelineView.prototype.get selectionPathComponents): |
| (WebInspector.ScriptProfileTimelineView.prototype.layout): |
| (WebInspector.ScriptProfileTimelineView.prototype._callingContextTreeForOrientation): |
| (WebInspector.ScriptProfileTimelineView.prototype._profileViewSelectionPathComponentsDidChange): |
| (WebInspector.ScriptProfileTimelineView.prototype._scriptTimelineRecordRefreshed): |
| (WebInspector.ScriptProfileTimelineView.prototype._updateProfileOrientationButtonItem): |
| (WebInspector.ScriptProfileTimelineView.prototype._toggleProfileOrientation): |
| (WebInspector.ScriptProfileTimelineView.prototype._updateClearFocusNodesButtonItem): |
| (WebInspector.ScriptProfileTimelineView.prototype._clearFocusNodes): |
| The two TimelineViews. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView.prototype.get currentTimelineView): |
| (WebInspector.TimelineRecordingContentView.prototype.contentBrowserTreeElementForRepresentedObject): |
| The timeline content browser may now hold a ClusterContentView. It is not exactly a TimelineView, |
| but it holds TimelineViews, so treat it like one. Assume the ClusterContentView will add its own |
| path components. |
| |
| (WebInspector.TimelineRecordingContentView.prototype._instrumentAdded): |
| Add extra information other than the sidebar to TimelineViews. The ProfileView looks |
| at the recording for the calling context trees. |
| |
| 2016-03-03 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Temporarily hide the TimelineSidebarPanel |
| |
| https://bugs.webkit.org/show_bug.cgi?id=154974 |
| rdar://problem/24956380 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/TimelineTabContentView.js: |
| (WebInspector.TimelineTabContentView): Remove _showNavigationSidebarItem and hide the sidebar. |
| |
| 2016-03-03 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Selected range path component should be zero time corrected |
| https://bugs.webkit.org/show_bug.cgi?id=154950 |
| <rdar://problem/24947022> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Subtracts zero time from TimelineRange start and end values, and corrects |
| a cosmetic issue in TimelineRuler which showed selection handle tooltips |
| that weren't adjusted for the ruler's zero time. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged): |
| |
| * UserInterface/Views/TimelineRuler.js: |
| (WebInspector.TimelineRuler.prototype._updateSelection): |
| |
| 2016-03-03 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Events and Frames mode switch does not fully switch until first zoom |
| https://bugs.webkit.org/show_bug.cgi?id=154971 |
| <rdar://problem/24955871> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Switching modes toggles the visibility of the tree outline, which changes |
| the width of the overview's ruler, graphs, and scroll container. When the |
| view mode changes, the overview needs a forced "resize" layout. |
| |
| * UserInterface/Views/TimelineOverview.js: |
| (WebInspector.TimelineOverview.prototype._viewModeDidChange): |
| |
| 2016-03-03 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Assertion Failed: Cannot show timeline because it does not belong to the shown recording. – "overview" |
| https://bugs.webkit.org/show_bug.cgi?id=154972 |
| <rdar://problem/24956233> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/TimelineTabContentView.js: |
| (WebInspector.TimelineTabContentView.prototype._showTimelineViewForType): |
| Just show the overview if the recording has no timeline of the given type. |
| |
| 2016-03-02 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Update MemoryTimelineView for new ruler height |
| https://bugs.webkit.org/show_bug.cgi?id=153904 |
| <rdar://problem/24517259> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/MemoryTimelineView.css: |
| (.timeline-view.memory > .content > .details > .timeline-ruler): |
| (.timeline-view.memory > .content > .details > .subtitle): |
| Adjust ruler top and subtitle padding for shorter timeline ruler. |
| Also reduced padding in the Categories heading area to tighen up |
| the layout a bit. |
| |
| 2016-03-02 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Timelines UI redesign: replace content view container with a content browser |
| https://bugs.webkit.org/show_bug.cgi?id=153033 |
| <rdar://problem/24195565> |
| |
| Reviewed by Timothy Hatcher. |
| |
| This patch replaces the ContentViewContainer in the Timelines tab with a ContentBrowser, |
| moves filtering controls from the sidebar to the new browser's navigation bar, and adds |
| a new leaf path component for the current ruler selection to the main content browser's |
| navigation bar. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| New UI strings. |
| |
| * UserInterface/Base/Utilities.js: |
| Added global en dash string. |
| |
| * UserInterface/Main.html: |
| * UserInterface/Test.html: |
| New files. |
| |
| * UserInterface/Models/TimelineRange.js: |
| (WebInspector.TimelineRange): |
| (WebInspector.TimelineRange.prototype.get startValue): |
| (WebInspector.TimelineRange.prototype.set startValue): |
| (WebInspector.TimelineRange.prototype.get endValue): |
| (WebInspector.TimelineRange.prototype.set endValue): |
| New represented object used by ruler selection path components. |
| |
| * UserInterface/Views/FilterBarNavigationItem.js: |
| (WebInspector.FilterBarNavigationItem): |
| (WebInspector.FilterBarNavigationItem.prototype.get filterBar): |
| Adapter class for using a FilterBar as a NavigationItem. |
| |
| * UserInterface/Views/TimelineIcons.css: |
| (.time-icon .icon): |
| Icon class used by ruler selection path component. |
| |
| * UserInterface/Views/TimelineRecordingContentView.css: |
| (.content-view.timeline-recording > .content-browser): |
| (.content-view.timeline-recording > .content-browser > .navigation-bar): |
| (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple): |
| (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple .arrows): |
| (.content-view.timeline-recording > .content-browser > .content-view-container > .timeline-view > .data-grid td): |
| (.content-view.timeline-recording > .content-browser > .content-view-container > .timeline-view > .data-grid table.data): |
| (.content-view.timeline-recording > .content-view-container): Deleted. |
| (.content-view.timeline-recording > .content-view-container > .timeline-view > .data-grid td): Deleted. |
| (.content-view.timeline-recording > .content-view-container > .timeline-view > .data-grid table.data): Deleted. |
| New styles for the ContentBrowser that replaces the ContentViewContainer. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView): |
| Create the ContentBrowser, ruler selection path components, and the browser's filter bar. |
| |
| (WebInspector.TimelineRecordingContentView.prototype.showOverviewTimelineView): |
| (WebInspector.TimelineRecordingContentView.prototype.showTimelineViewForTimeline): |
| Implemented by the content browser instead of the view container. |
| |
| (WebInspector.TimelineRecordingContentView.prototype.get selectionPathComponents): |
| Add timeline and selection path components. Components for the current TimelineView |
| are now located in the lower content browser's navigation bar. |
| |
| (WebInspector.TimelineRecordingContentView.prototype.get supplementalRepresentedObjects): |
| (WebInspector.TimelineRecordingContentView.prototype.get handleCopyEvent): |
| (WebInspector.TimelineRecordingContentView.prototype.get supportsSave): |
| (WebInspector.TimelineRecordingContentView.prototype.get saveData): |
| (WebInspector.TimelineRecordingContentView.prototype.get currentTimelineView): |
| (WebInspector.TimelineRecordingContentView.prototype.shown): |
| (WebInspector.TimelineRecordingContentView.prototype.hidden): |
| (WebInspector.TimelineRecordingContentView.prototype.closed): |
| (WebInspector.TimelineRecordingContentView.prototype.canGoBack): |
| (WebInspector.TimelineRecordingContentView.prototype.canGoForward): |
| (WebInspector.TimelineRecordingContentView.prototype.goBack): |
| (WebInspector.TimelineRecordingContentView.prototype.goForward): |
| (WebInspector.TimelineRecordingContentView.prototype.saveToCookie): |
| Implemented by the content browser instead of the view container. |
| |
| (WebInspector.TimelineRecordingContentView.prototype.contentBrowserTreeElementForRepresentedObject): |
| Create the root tree element for the lower content browser's navigation bar. |
| |
| (WebInspector.TimelineRecordingContentView.prototype._timeRangePathComponentSelected): |
| Update the ruler selection based on the new path component. |
| |
| (WebInspector.TimelineRecordingContentView.prototype._contentViewSelectionPathComponentDidChange): |
| (WebInspector.TimelineRecordingContentView.prototype._contentViewSupplementalRepresentedObjectsDidChange): |
| (WebInspector.TimelineRecordingContentView.prototype._updateTimes): |
| (WebInspector.TimelineRecordingContentView.prototype._updateTimelineOverviewHeight): |
| Implemented by the content browser instead of the view container. |
| |
| (WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged): |
| Update the currently selected path component when the ruler selection changes. |
| If the entire range is selected, show the "Entire Recording" path component, |
| otherwise update the TimelineRange of the path component for the user-defined |
| selection and refresh all timeline range path components. |
| |
| (WebInspector.TimelineRecordingContentView.prototype._updateTimeRangePathComponents): |
| Update title text and sibling relationships for ruler selection path components. |
| |
| (WebInspector.TimelineRecordingContentView.prototype._createTimelineRangePathComponent): |
| Helper function for creating TimelineRange path components. |
| |
| (WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange): |
| The TimelineView scope bar is no longer added to the sidebar. The UI has been moved |
| to the lower content browser navigation bar. |
| |
| (WebInspector.TimelineRecordingContentView.prototype._updateFrameSelection): Deleted. |
| No longer needed since the selected range is shown in the navigation bar. |
| |
| * UserInterface/Views/TimelineView.js: |
| (WebInspector.TimelineView.prototype.get navigationItems): |
| Adds the TimelineView's scope bar (if any) to the lower content browser's navigation |
| bar. Items are inserted before the filter bar, which is always the right-most item. |
| |
| 2016-03-02 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Timelines UI redesign: show content tree outline records in timeline data grids |
| https://bugs.webkit.org/show_bug.cgi?id=153032 |
| <rdar://problem/24195317> |
| |
| Reviewed by Timothy Hatcher. |
| |
| This patch relocates the data shown in the Timelines navigation sidebar content tree outline |
| to a new grid column in each TimelineDataGrid. Logic for creating subtitles, goto arrow buttons, |
| and status elements (the progress spinner used for network resources) has been replicated in |
| the appropriate TimelineDataGridNode classes. |
| |
| Duplicate logic contained in TimelineRecordTreeElement classes is left in place for now, but |
| will be removed in <https://webkit.org/b/153036>. |
| |
| * UserInterface/Views/DataGrid.css: |
| (.data-grid td.error): |
| Use --error-text-color CSS variable. |
| |
| * UserInterface/Views/DataGrid.js: |
| Removed GoToArrowClicked event. |
| (WebInspector.DataGridNode.prototype.createGoToArrowButton.buttonClicked): Deleted. |
| (WebInspector.DataGridNode.prototype.createGoToArrowButton): Deleted. |
| Now part of TimelineDataGridNode. |
| |
| * UserInterface/Views/LayoutTimelineDataGridNode.js: |
| (WebInspector.LayoutTimelineDataGridNode): |
| (WebInspector.LayoutTimelineDataGridNode.prototype.get data): |
| Add name cell to row data. |
| (WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent): |
| Create name cell. |
| |
| * UserInterface/Views/LayoutTimelineView.css: |
| (.timeline-view.layout > .data-grid .eventType-column): Deleted. |
| Column border no longer hidden. |
| |
| * UserInterface/Views/LayoutTimelineView.js: |
| (WebInspector.LayoutTimelineView): |
| Setup name column. |
| |
| * UserInterface/Views/NetworkTimelineView.css: |
| (.timeline-view.network > .data-grid .name-column .subtitle): |
| Don't show subtitles in the Network grid's name column. |
| |
| * UserInterface/Views/NetworkTimelineView.js: |
| (WebInspector.NetworkTimelineView): |
| Setup name column. |
| |
| * UserInterface/Views/OverviewTimelineView.css: |
| (.timeline-view.overview > .data-grid th.graph-column > .timeline-ruler): |
| (.timeline-view.overview > .data-grid th.graph-column > .timeline-ruler > .header): |
| (.timeline-view.overview > .data-grid th): |
| (body.window-inactive .timeline-view.overview > .data-grid th): |
| (.timeline-view.overview .timeline-ruler > .event-markers): |
| (.timeline-view.overview > .data-grid): |
| (.timeline-view.overview > .timeline-ruler): Deleted. |
| (.timeline-view.overview > .timeline-ruler > .header): Deleted. |
| (body.window-inactive .timeline-view.overview > .timeline-ruler > .header): Deleted. |
| (.timeline-view.overview > .timeline-ruler > .event-markers): Deleted. |
| New styles for adding grid column headers and using a TimelineRuler as the |
| graph column header. |
| |
| * UserInterface/Views/OverviewTimelineView.js: |
| (WebInspector.OverviewTimelineView): |
| Setup name column and add ruler to graph column header. |
| |
| * UserInterface/Views/ProfileNodeDataGridNode.js: |
| (WebInspector.ProfileNodeDataGridNode): |
| Use cached data instead of creating row data at construction time. |
| (WebInspector.ProfileNodeDataGridNode.prototype.get data): |
| Add name cell to row data. |
| (WebInspector.ProfileNodeDataGridNode.prototype.createCellContent): |
| Create name cell. |
| (WebInspector.ProfileNodeDataGridNode.prototype._iconClassNameForProfileNode): |
| (WebInspector.ProfileNodeDataGridNode.prototype._titleForProfileNode): |
| Copied from ProfileNodeTreeElement. |
| |
| * UserInterface/Views/RenderingFrameTimelineDataGridNode.js: |
| (WebInspector.RenderingFrameTimelineDataGridNode): |
| (WebInspector.RenderingFrameTimelineDataGridNode.prototype.get data): |
| Add name cell to row data. |
| (WebInspector.RenderingFrameTimelineDataGridNode.prototype.createCellContent): |
| Create name cell. |
| |
| * UserInterface/Views/RenderingFrameTimelineView.js: |
| (WebInspector.RenderingFrameTimelineView): |
| Setup name column. |
| |
| * UserInterface/Views/ResourceTimelineDataGridNode.js: |
| (WebInspector.ResourceTimelineDataGridNode): |
| Renamed "graphOnly" to "includesGraph", since resource rows in the overview |
| now show the name column in addition to the graph column. Resource events |
| LoadingDidFinish and LoadingDidFail now need to be handled for both types |
| of resource rows. |
| |
| (WebInspector.ResourceTimelineDataGridNode.prototype.get data): |
| (WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent): |
| Update resource status element and create name cell content. |
| (WebInspector.ResourceTimelineDataGridNode.prototype._createNameCellDocumentFragment): |
| Create DOM fragment with titles. Based on code in TimelineRecordTreeElement. |
| (WebInspector.ResourceTimelineDataGridNode.prototype._dataGridNodeGoToArrowClicked): |
| Show resource when goto arrow is clicked. |
| (WebInspector.ResourceTimelineDataGridNode.prototype._updateStatus): |
| Update name cell's text color and progress spinner. |
| |
| * UserInterface/Views/ResourceTreeElement.css: |
| (.item.resource.failed): |
| (.item.resource.failed .subtitle): |
| Use --error-text-color CSS variable. |
| |
| * UserInterface/Views/ScriptTimelineDataGridNode.js: |
| (WebInspector.ScriptTimelineDataGridNode): |
| (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent): |
| (WebInspector.ScriptTimelineDataGridNode.prototype._createNameCellDocumentFragment): |
| Create DOM fragment with titles. Based on code in TimelineRecordTreeElement. |
| |
| * UserInterface/Views/ScriptTimelineView.js: |
| (WebInspector.ScriptTimelineView): |
| Setup name column. |
| |
| * UserInterface/Views/SourceCodeTimelineTimelineDataGridNode.js: |
| (WebInspector.SourceCodeTimelineTimelineDataGridNode.prototype.createCellContent): |
| Added now that this node type is no longer "graph only". |
| (WebInspector.SourceCodeTimelineTimelineDataGridNode.prototype._createNameCellContent): |
| Create DOM fragment with titles. Based on code in TimelineRecordTreeElement. |
| |
| * UserInterface/Views/TimelineDataGridNode.js: |
| (WebInspector.TimelineDataGridNode): |
| Renamed `graphOnly` to `includesGraph`. |
| (WebInspector.TimelineDataGridNode.prototype.createCellContent): |
| Removed icon element creation. This is now handled by the DataGrid. |
| (WebInspector.TimelineDataGridNode.prototype.refresh): |
| Refresh of all node cells after updating the graph. |
| (WebInspector.TimelineDataGridNode.prototype.createGoToArrowButton): |
| (WebInspector.TimelineDataGridNode.prototype.createGoToArrowButton.buttonClicked): |
| Relocated from DataGrid, as it's only used by TimelineDataGridNodes. |
| |
| * UserInterface/Views/TimelineView.css: |
| (.timeline-view > .data-grid .indeterminate-progress-spinner): |
| Styles for grid cell progress spinners. |
| |
| * UserInterface/Views/Variables.css: |
| (:root): |
| Added --error-text-color variable to remove duplication. |
| |
| 2016-03-02 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Timelines UI redesign: relocate recording controls to TimelineTabContentView's content browser |
| https://bugs.webkit.org/show_bug.cgi?id=153532 |
| <rdar://problem/24361611> |
| |
| Reviewed by Timothy Hatcher. |
| |
| This patch shifts UI controller responsibilities from the sidebar panel |
| to the tab content view. Controls for starting/stopping the recording and |
| switching view modes are now located in the tab's navigation bar, as is |
| the hidden tree outline of open timeline recordings. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| New UI strings. Renamed view-mode radio buttons located from the sidebar |
| to "Events" and "Frames". UI for switching modes isn't final, and the |
| labels may change or be removed entirely in favor of image-only buttons. |
| |
| * UserInterface/Main.html: |
| New file. |
| |
| * UserInterface/Views/ContentBrowserTabContentView.js: |
| (WebInspector.ContentBrowserTabContentView.prototype.contentBrowserTreeElementForRepresentedObject): |
| (WebInspector.ContentBrowserTabContentView.prototype.treeElementForRepresentedObject): |
| Allow subclasses to override behavior for retrieving the tree element |
| for a represented object. Default behavior delegates the implementation |
| to the navigation sidebar. |
| |
| (WebInspector.ContentBrowserTabContentView.prototype._contentBrowserCurrentContentViewDidChange): |
| (WebInspector.ContentBrowserTabContentView.prototype._revealAndSelectRepresentedObject): |
| (WebInspector.ContentBrowserTabContentView): |
| (WebInspector.ContentBrowserTabContentView.prototype._revealAndSelectRepresentedObjectInNavigationSidebar): Deleted. |
| Renamed to _revealAndSelectRepresentedObject as it's no longer specific |
| to the sidebar. |
| |
| * UserInterface/Views/TabContentView.js: |
| (WebInspector.TabContentView): |
| (WebInspector.TabContentView.prototype.restoreStateFromCookie): |
| (WebInspector.TabContentView.prototype.saveStateToCookie): |
| A navigation sidebar shouldn't be required to save/restore cookie state. |
| |
| * UserInterface/Views/TimelineTabContentView.css: Added. |
| (.timeline.tab.content-view .navigation-bar > .item.toggle-navigation-sidebar.activate.button): |
| (.timeline.tab.content-view .navigation-bar > .item.record-start-stop): |
| (.timeline.tab.content-view .navigation-bar > .item.record-start-stop:hover): |
| (.timeline.tab.content-view .navigation-bar > .item.record-start-stop:active): |
| (.timeline.tab.content-view .navigation-bar > .item.record-start-stop *): |
| (.timeline.tab.content-view .navigation-bar > .item.radio): |
| Styles for new navigation items: record button and view mode radio buttons. |
| |
| * UserInterface/Views/TimelineTabContentView.js: |
| Logic for maintaining the timeline recording hierarchy and the state |
| of the active recording has been added to the tab content view. |
| |
| (WebInspector.TimelineTabContentView): |
| (WebInspector.TimelineTabContentView.prototype.shown): |
| (WebInspector.TimelineTabContentView.prototype.hidden): |
| (WebInspector.TimelineTabContentView.prototype.canShowRepresentedObject): |
| Objects other than recordings are no longer shown in the tab's content |
| browser. Displaying other objects (such as timeline resources) in the |
| content browser will be addressed in a follow-up patch: https://bugs.webkit.org/show_bug.cgi?id=154920. |
| |
| (WebInspector.TimelineTabContentView.prototype.get supportsSplitContentBrowser): |
| (WebInspector.TimelineTabContentView.prototype.restoreFromCookie): |
| (WebInspector.TimelineTabContentView.prototype.saveToCookie): |
| Persist view state that was previously located in the sidebar. |
| |
| (WebInspector.TimelineTabContentView.prototype.treeElementForRepresentedObject): |
| Implements logic previously limited to the navigation sidebar. Only tree |
| elements for timeline recordings are supported, since other represented |
| objects (timeline resources) no longer have content tree outline tree elements. |
| |
| (WebInspector.TimelineTabContentView.prototype._capturingStartedOrStopped): |
| (WebInspector.TimelineTabContentView.prototype._toggleRecordingOnSpacebar): |
| (WebInspector.TimelineTabContentView.prototype._toggleNewRecordingOnSpacebar): |
| (WebInspector.TimelineTabContentView.prototype._toggleRecording): |
| (WebInspector.TimelineTabContentView.prototype._recordButtonClicked): |
| (WebInspector.TimelineTabContentView.prototype._recordingsTreeSelectionDidChange): |
| (WebInspector.TimelineTabContentView.prototype._recordingCreated): |
| (WebInspector.TimelineTabContentView.prototype._addRecording): |
| (WebInspector.TimelineTabContentView.prototype._recordingCountChanged): |
| (WebInspector.TimelineTabContentView.prototype._recordingLoaded): |
| Implementations copied from the sidebar panel. |
| |
| (WebInspector.TimelineTabContentView.prototype._recordingSelected): |
| Implementation similar to that which existed in the sidebar panel, except |
| that logic related to instruments isn't needed. Updates to timeline view |
| filters will be implemented in a follow-up patch: https://bugs.webkit.org/show_bug.cgi?id=154924. |
| |
| (WebInspector.TimelineTabContentView.prototype._viewModeSelected): |
| This method is now limited to the handling of the radio button event only. |
| Additional logic which existed in the sidebar panel's implementation has |
| been pushed into _changeViewMode, which does the actual work of toggling |
| view modes. |
| |
| (WebInspector.TimelineTabContentView.prototype._changeViewMode): |
| Updates the current view mode state. If triggered by a user selection (was |
| called by the radio button event handler), the correct timeline view for |
| the new mode is shown. |
| |
| (WebInspector.TimelineTabContentView.prototype._showTimelineViewForType): |
| Helper function for showing the view for the specified timeline type, if |
| the timeline exists in the current recording. Otherwise the overview timeline |
| view is displayed. |
| |
| (WebInspector.TimelineTabContentView.prototype._displayedContentViewNavigationItemsDidChange): |
| Keep the view mode in sync with the content browser. |
| |
| (WebInspector.TimelineTabContentView.prototype._getTimelineForCurrentContentView): |
| Helper function for getting the currently displayed timeline. |
| |
| 2016-03-02 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Timelines UI redesign: add the timelines tree outline to the TimelineOverview |
| https://bugs.webkit.org/show_bug.cgi?id=153034 |
| <rdar://problem/24195628> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Move the Timelines tree outline to the overview, in preparation for <https://webkit.org/b/153036>. |
| |
| * UserInterface/Views/OverviewTimelineView.css: |
| (.timeline-view.overview > .timeline-ruler > .header): Deleted. |
| (.timeline-view.overview > .timeline-ruler > .event-markers): Deleted. |
| These are now part of the default ruler style. |
| |
| * UserInterface/Views/TimelineOverview.css: |
| (.timeline-overview > .tree-outline.timelines): |
| (.timeline-overview > .tree-outline.timelines::before): |
| (body.window-inactive .timeline-overview > .tree-outline.timelines): |
| (.timeline-overview.frames > .tree-outline.timelines): |
| (.timeline-overview > .tree-outline.timelines .close-button): |
| (.timeline-overview > .tree-outline.timelines .item.selected .close-button): |
| (.timeline-overview > .tree-outline.timelines .item:not(.selected):nth-child(even)): |
| (.timeline-overview > .tree-outline.timelines .item:not(.selected):not(:first-child)): |
| (.timeline-overview > .tree-outline.timelines .item.selected + .item): |
| (body.window-inactive .timeline-overview > .tree-outline.timelines .item.selected + .item): |
| (.timeline-overview > .tree-outline.timelines :focus .item.selected + .item): |
| (.timeline-overview > .scroll-container): |
| (.timeline-overview.frames > .scroll-container): |
| (.timeline-overview > .timeline-ruler): |
| (.timeline-overview.frames > .timeline-ruler): |
| (.timeline-overview > .timeline-ruler > .markers): |
| (.timeline-overview > .graphs-container): |
| (.timeline-overview.frames > .graphs-container): |
| Styles for the timelines tree outline. A content element is inserted before the |
| tree to fill the gap created by the timeline ruler. For now the tree has a fixed |
| width of 185px, and is hidden when displaying the FPS instrument. |
| |
| * UserInterface/Views/TimelineOverview.js: |
| (WebInspector.TimelineOverview): |
| (WebInspector.TimelineOverview.prototype.get selectedTimeline): |
| (WebInspector.TimelineOverview.prototype.set selectedTimeline): |
| Make the selected timeline accessible to the parent view, since the overview doesn't |
| have a "represented object", or receive ContentView change notifications. |
| |
| (WebInspector.TimelineOverview.prototype._instrumentAdded): |
| (WebInspector.TimelineOverview.prototype._instrumentRemoved): |
| (WebInspector.TimelineOverview.prototype._viewModeDidChange): |
| Add and remove instrument tree elements. Each tree element is created with a height |
| equal to it's overview graph, and is shown/hidden based on the current view mode. |
| |
| (WebInspector.TimelineOverview.prototype._timelinesTreeSelectionDidChange): |
| Update the selected timeline and dispatch change event. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView): |
| (WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange): |
| (WebInspector.TimelineRecordingContentView.prototype._updateTimelineOverviewHeight): |
| (WebInspector.TimelineRecordingContentView.prototype._timelineSelected): |
| Sync the overview's timeline selection with the current ContentView's represented object. |
| |
| * UserInterface/Views/TimelineRuler.css: |
| (.timeline-ruler > .header): |
| (.timeline-ruler > .header > .divider > .label): |
| (.timeline-ruler > .selection-drag): |
| (.timeline-ruler > .selection-handle): |
| Ruler height changed to 23px, to be consistent with the DataGrid header. |
| |
| * UserInterface/Views/TreeOutline.css: |
| (.tree-outline.large .item .icon): |
| Large icon style updated to match TimelineSidebarPanel.css. The 32px |
| size is outdated and no longer used. |
| |
| * UserInterface/Views/Variables.css: |
| (:root): |
| New color variables, used by TimelineOverview.css. |
| |
| 2016-02-29 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Add direct number inputs to Bezier editor |
| https://bugs.webkit.org/show_bug.cgi?id=154809 |
| <rdar://problem/24881465> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector._updateWindowKeydownListener): |
| Now only adds the shared event listener when the first keydown listener |
| is added via WebInspector.addWindowKeydownListener |
| |
| * UserInterface/Controllers/CodeMirrorBezierEditingController.js: |
| (WebInspector.CodeMirrorBezierEditingController.prototype.popoverDidDismiss): |
| |
| * UserInterface/Controllers/CodeMirrorEditingController.js: |
| (WebInspector.CodeMirrorEditingController.prototype.popoverDidDismiss): |
| (WebInspector.CodeMirrorEditingController.prototype.didDismissPopover): |
| Added function that is called when the popover is dismissed so that |
| removing event listeners is possible. |
| |
| * UserInterface/Views/BezierEditor.css: |
| (.bezier-editor): |
| (.bezier-editor > .number-input-container): |
| (.bezier-editor > .number-input-container > input): |
| |
| * UserInterface/Views/BezierEditor.js: |
| (WebInspector.BezierEditor.createControl): |
| (WebInspector.BezierEditor.createBezierInput): |
| (WebInspector.BezierEditor): |
| Added usage of Element.prototype.createChild for ease of readability. |
| Also added input elements for manually changing the values of each bezier |
| point's x and y values. |
| |
| (WebInspector.BezierEditor.prototype.set bezier): |
| (WebInspector.BezierEditor.prototype.removeListeners): |
| (WebInspector.BezierEditor.prototype._handleMousedown): |
| (WebInspector.BezierEditor.prototype._updateBezier): |
| (WebInspector.BezierEditor.prototype._updateBezierPreview): |
| (WebInspector.BezierEditor.prototype._triggerPreviewAnimation): |
| (WebInspector.BezierEditor.prototype._handleNumberInputInput): |
| (WebInspector.BezierEditor.prototype._handleNumberInputKeydown): |
| (WebInspector.BezierEditor.prototype._changeBezierForInput): |
| Refactored code to make it more reusable, as well as adding event listeners |
| to the newly created inputs, including value chaning from the arrow keys. |
| |
| * UserInterface/Views/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.didDismissPopover): Deleted. |
| Removed unused code. |
| |
| * UserInterface/Views/InlineSwatch.js: |
| (WebInspector.InlineSwatch): |
| (WebInspector.InlineSwatch.prototype.didDismissPopover): |
| Removes any global event listeners added by the current editor if able. |
| |
| (WebInspector.InlineSwatch.prototype._swatchElementClicked): |
| Now saves the current editor object as a member variable. |
| |
| 2016-02-28 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: DataGrid's resizers aren't horizontally centered |
| https://bugs.webkit.org/show_bug.cgi?id=154787 |
| <rdar://problem/24876901> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/DataGrid.css: |
| (.data-grid .resizer): |
| Use CSS transforms as margin-left doesn't support sub-pixel values. |
| |
| 2016-02-26 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Increase clickable area of the console prompt |
| https://bugs.webkit.org/show_bug.cgi?id=154719 |
| <rdar://problem/24854538> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Clicking on the area around CodeMirror element now moves |
| focus to the console prompt. |
| |
| * UserInterface/Views/QuickConsole.js: |
| (WebInspector.QuickConsole.prototype._handleMouseDown): |
| Only capture mousedown events on .quick-console. |
| Don't capture clicks on CodeMirror. |
| |
| * UserInterface/Views/QuickConsole.css: |
| (.quick-console > .console-prompt): |
| (.quick-console > .console-prompt > .CodeMirror): |
| Make sure .console-prompt is never an event.target for _handleMouseDown. |
| |
| 2016-02-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Remove unused member variables from overview graphs |
| https://bugs.webkit.org/show_bug.cgi?id=154774 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/LayoutTimelineOverviewGraph.js: |
| (WebInspector.LayoutTimelineOverviewGraph.prototype.reset): |
| * UserInterface/Views/ScriptTimelineOverviewGraph.js: |
| (WebInspector.ScriptTimelineOverviewGraph.prototype.reset): |
| |
| 2016-02-26 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| REGRESSION (r196741): Web Inspector: Bottom section of Layers sidebar is 1px shorter than the console prompt |
| https://bugs.webkit.org/show_bug.cgi?id=154773 |
| <rdar://problem/24873345> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/LayerTreeDetailsSidebarPanel.css: |
| (.sidebar > .panel.details.layer-tree > .content): |
| (.panel.details.layer-tree .bottom-bar): |
| |
| 2016-02-26 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Custom transition bezier curve editor preview should loop when not editing curve |
| https://bugs.webkit.org/show_bug.cgi?id=154738 |
| <rdar://problem/24861563> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Added extra frames to bezier preview animation to allow it to infinitely |
| repeat without being jarring to watch. |
| |
| * UserInterface/Views/BezierEditor.css: |
| (.bezier-editor > .bezier-preview-timing.animate): |
| (@keyframes bezierPreview): |
| * UserInterface/Views/BezierEditor.js: |
| |
| 2016-02-26 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Keyboard controls to nudge control points in custom transition bezier curve editor would be nice |
| https://bugs.webkit.org/show_bug.cgi?id=154739 |
| <rdar://problem/24861498> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Adds ability for user to nudge the most recently selected bezier control |
| handle by using the arrow keys. Also makes the currently selected bezier |
| control line snap to an axis, which is defined when the user mouses down, |
| whenever the mouse is dragged while the shift key is pressed. |
| |
| |
| * UserInterface/Views/BezierEditor.js: |
| (WebInspector.BezierEditor): |
| (WebInspector.BezierEditor.prototype.handleKeydownEvent): |
| (WebInspector.BezierEditor.prototype._handleMouseup): |
| (WebInspector.BezierEditor.prototype._updateControlPointsForMouseEvent): |
| |
| 2016-02-26 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Option-clicking on the a CSS property sometimes doesn't work |
| https://bugs.webkit.org/show_bug.cgi?id=154384 |
| <rdar://problem/24714755> |
| |
| Reviewed by Timothy Hatcher. |
| |
| It seems as though there were race conditions between CodeMirror's event |
| and the native mousemove such that if CodeMirror fired second, the current |
| candidate was cleared, and would not reset itself until the cursor was |
| moved, at which point the same issue could happen. To fix this, the current |
| candidate is no longer cleared by CodeMirror's event and is instead only |
| modified by the native mouse-events. |
| |
| * UserInterface/Controllers/CodeMirrorTokenTrackingController.js: |
| (WebInspector.CodeMirrorTokenTrackingController.prototype._hidePopover): |
| |
| 2016-02-25 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Unify selected item colors |
| https://bugs.webkit.org/show_bug.cgi?id=154668 |
| <rdar://problem/24832178> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Use the same CSS variable color for all selected items. |
| |
| * UserInterface/Views/TreeOutline.css: |
| (.tree-outline:matches(:focus, .force-focus) .item.selected): |
| * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css: |
| (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item.selected): |
| * UserInterface/Views/VisualStyleSelectorTreeItem.css: |
| (.item.visual-style-selector-item.selected): |
| * UserInterface/Views/VisualStyleTabbedPropertiesRow.css: |
| (.visual-style-tabbed-properties-row > .visual-style-tabbed-properties-row-container > button.selected): |
| |
| 2016-02-24 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Expose Proxy target and handler internal properties to Inspector |
| https://bugs.webkit.org/show_bug.cgi?id=154663 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Models/NativeFunctionParameters.js: |
| * UserInterface/Views/ObjectTreePropertyTreeElement.js: |
| (WebInspector.ObjectTreePropertyTreeElement.prototype._functionParameterString): |
| Improve the native parameter list for the global Reflect object methods. |
| Include "enumerate" even though it is deprecated, because we implement it. |
| |
| 2016-02-24 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Visual Styles sidebar should support multiple animations |
| https://bugs.webkit.org/show_bug.cgi?id=154546 |
| <rdar://problem/24773861> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/VisualStyleDetailsPanel.js: |
| (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection): |
| Set additional flags on the optional properties of transition to ensure |
| that the initial value of a new row is not considered invalid. |
| |
| (WebInspector.VisualStyleDetailsPanel.prototype._populateAnimationSection): |
| Added a comma-separated keyword list to provide support for multiple |
| animations per rule. |
| |
| 2016-02-24 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Remove unused Profile.png images |
| |
| https://bugs.webkit.org/show_bug.cgi?id=154647 |
| rdar://problem/24820825 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Images/Profile.png: Removed. |
| * UserInterface/Images/Profile@2x.png: Removed. |
| * UserInterface/Images/gtk/Profile.png: Removed. |
| * UserInterface/Images/gtk/Profile@2x.png: Removed. |
| * UserInterface/Views/TimelineIcons.css: |
| (.profile-icon .icon): Deleted. |
| |
| 2016-02-24 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: TimelineViews should use the recording's end time when entire ruler range is selected |
| https://bugs.webkit.org/show_bug.cgi?id=154644 |
| <rdar://problem/24818442> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView): |
| (WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange): |
| (WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged): |
| Update current timeline view when entire range selected. |
| |
| (WebInspector.TimelineRecordingContentView.prototype._updateTimes): |
| Live-update the OverviewTimelineView during recording when entire range selected. |
| |
| (WebInspector.TimelineRecordingContentView.prototype._updateTimelineViewSelection): |
| Update timeline view start and end times. When entire range selected, use the recording |
| end time or current time (while capturing). |
| |
| 2016-02-24 Timothy Hatcher <timothy@apple.com> |
| |
| Follow up fix for the TimelineRuler "select all" mode to fix zeroTime. |
| |
| https://bugs.webkit.org/show_bug.cgi?id=154561 |
| rdar://problem/24779872 |
| |
| * UserInterface/Views/TimelineRuler.js: |
| (WebInspector.TimelineRuler.prototype.set zeroTime): Change selectionStartTime |
| before _zeroTime so the check for entireRangeSelected still works. |
| |
| 2016-02-24 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: TimelineRuler should have a "select all" mode |
| https://bugs.webkit.org/show_bug.cgi?id=154561 |
| <rdar://problem/24779872> |
| |
| Reviewed by Timothy Hatcher. |
| |
| TimelineRuler is initialized with a selected range of [0, Number.MAX_VALUE), |
| indicating the entire timeline is selected. This patch makes it possible to |
| return the ruler to this state, after being overwritten by a custom selection. |
| When no custom selection exists, the selection handles are hidden. |
| |
| * UserInterface/Views/TimelineRuler.css: |
| (.timeline-ruler.selection-hidden > :matches(.selection-drag, .selection-handle, .shaded-area)): |
| Style for hiding selection controls as needed. |
| |
| * UserInterface/Views/TimelineRuler.js: |
| (WebInspector.TimelineRuler): |
| Represent unbounded selection interval as [0, Number.MAX_VALUE). |
| |
| (WebInspector.TimelineRuler.prototype.set allowsTimeRangeSelection): |
| Register double-click event listener. |
| |
| (WebInspector.TimelineRuler.prototype.set zeroTime): |
| (WebInspector.TimelineRuler.prototype.get entireRangeSelected): |
| (WebInspector.TimelineRuler.prototype.selectEntireRange): |
| Let clients check and set the selection of the entire range without needing |
| to use the internal sentinel values 0 and Number.MAX_VALUE. |
| |
| (WebInspector.TimelineRuler.prototype._updateSelection): |
| Update ruler styles and dispatch selection change event when entire |
| range is selected. |
| |
| (WebInspector.TimelineRuler.prototype._handleDoubleClick): |
| If a user-defined selection exists, select the entire range. |
| |
| 2016-02-24 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Dim selected items when docked Inspector window is inactive |
| https://bugs.webkit.org/show_bug.cgi?id=154526 |
| <rdar://problem/24764365> |
| |
| Abstract selected item and SVG glyph colors into CSS variables. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/BezierEditor.css: |
| (.bezier-editor > .bezier-preview > div): |
| * UserInterface/Views/ButtonNavigationItem.css: |
| (.navigation-bar .item.button > .glyph): |
| (.navigation-bar .item.button:not(.disabled):active > .glyph): |
| (.navigation-bar .item.button:not(.disabled):matches(:focus, .activate.activated, .radio.selected) > .glyph): |
| (.navigation-bar .item.button:not(.disabled):active:matches(:focus, .activate.activated, .radio.selected) > .glyph): |
| (.navigation-bar .item.button.disabled > .glyph): |
| * UserInterface/Views/ButtonToolbarItem.css: |
| (.toolbar .item.button:not(.disabled):matches(:focus, .activate.activated) > .glyph): |
| (.toolbar .item.button:not(.disabled):active:matches(:focus, .activate.activated) > .glyph): |
| * UserInterface/Views/CSSStyleDetailsSidebarPanel.css: |
| (.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle.selected): |
| (.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle:not(.selected):hover): |
| * UserInterface/Views/ConsoleMessageView.css: |
| (.console-user-command.special-user-log > .console-message-text): |
| * UserInterface/Views/DOMTreeOutline.css: |
| (.tree-outline.dom li.pseudo-class-enabled > .selection::before): |
| * UserInterface/Views/Main.css: |
| (input[type=range]::-webkit-slider-runnable-track::before): |
| * UserInterface/Views/RadioButtonNavigationItem.css: |
| (.navigation-bar .item.radio.button.text-only:hover): |
| (.navigation-bar .item.radio.button.text-only.selected): |
| (.navigation-bar .item.radio.button.text-only:active): |
| (.navigation-bar .item.radio.button.text-only.selected:active): |
| * UserInterface/Views/ScopeBar.css: |
| (.scope-bar > li.multiple:matches(.selected, :hover, :active) > .arrows): |
| (.scope-bar > li:hover): |
| (.scope-bar > li.selected): |
| (.scope-bar > li:active): |
| (.scope-bar > li.selected:active): |
| * UserInterface/Views/Variables.css: |
| (:root): |
| (body.window-inactive): |
| * UserInterface/Views/VisualStyleDetailsPanel.css: |
| (.sidebar > .panel.details.css-style .visual > .details-section .details-section.has-set-property > .header > span::after): |
| * UserInterface/Views/VisualStyleKeywordIconList.css: |
| (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:matches(.computed, .selected)): |
| (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon.selected): |
| |
| 2016-02-23 Dan Bernstein <mitz@apple.com> |
| |
| [Xcode] Linker errors display mangled names, but no longer should |
| https://bugs.webkit.org/show_bug.cgi?id=154632 |
| |
| Reviewed by Sam Weinig. |
| |
| * Configurations/Base.xcconfig: Stop setting LINKER_DISPLAYS_MANGLED_NAMES to YES. |
| |
| 2016-02-22 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Timelines sidebar and overview attempt to access undefined properties when FPS instrument is absent |
| https://bugs.webkit.org/show_bug.cgi?id=154567 |
| <rdar://problem/24781536> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/TimelineOverview.js: |
| (WebInspector.TimelineOverview): |
| The viewMode property should be in a valid state before attempting |
| to access the current view mode settings. |
| |
| * UserInterface/Views/TimelineSidebarPanel.js: |
| (WebInspector.TimelineSidebarPanel.prototype.get minimumWidth): |
| (WebInspector.TimelineSidebarPanel.prototype._updateViewModeIfNeeded): |
| (WebInspector.TimelineSidebarPanel): |
| Added missing checks for FPSInstrument support. |
| |
| 2016-02-22 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| REGRESSION (r196620): Web Inspector: Filter bar in the left sidebar is 1px shorter than the console prompt |
| https://bugs.webkit.org/show_bug.cgi?id=154529 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/NavigationSidebarPanel.css: |
| (.sidebar > .panel.navigation > .overflow-shadow): |
| |
| 2016-02-20 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Opacity slider thumb sometimes goes past the bar in Visual Styles sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=154497 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Since WebInspector.Slider uses CSS transforms to move the slider knob |
| along the track, if the width of the track changes then the position |
| of the knob would stay the same since it was translated instead of |
| adjusting its position relative to the new width. |
| |
| * UserInterface/Views/Slider.js: |
| (WebInspector.Slider.prototype.recalculateKnobX): |
| Resets the maxX value to 0 to ensure that a new maxX is calculated with |
| the current width. |
| |
| * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js: |
| (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.set specifiedWidth): Deleted. |
| (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.recalculateWidth): |
| |
| * UserInterface/Views/VisualStyleDetailsPanel.js: |
| (WebInspector.VisualStyleDetailsPanel.prototype.widthDidChange): |
| (WebInspector.VisualStyleDetailsPanel.prototype._updateProperties): |
| (WebInspector.VisualStyleDetailsPanel.prototype._populateDisplaySection): |
| |
| * UserInterface/Views/VisualStyleUnitSlider.js: |
| (WebInspector.VisualStyleUnitSlider.prototype.recalculateWidth): |
| |
| 2016-02-20 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Visual Styles: Modifying background expands Font section |
| https://bugs.webkit.org/show_bug.cgi?id=154491 |
| <rdar://problem/24755440> |
| |
| Reviewed by Timothy Hatcher. |
| |
| When the user selects a new style, the Visual sidebar examines the property |
| editors in each subsection to see if any have a value and expands/collapses |
| the subsection accordingly. This issue was happening because that logic was |
| also being triggered when the user didn't select a new style, which is |
| controlled by DOMNodeStyles and the significantChange value in refresh(). |
| |
| * UserInterface/Base/Utilities.js: |
| (String.prototype.toCamelCase): |
| Added utility function to transform a string into a camel-cased version. |
| |
| * UserInterface/Models/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle): |
| Dropped unused variable and added checks to make sure doubly-matching styles |
| don't count as a significant change and cause refreshes of the styles sidebar. |
| |
| * UserInterface/Views/VisualStyleDetailsPanel.js: |
| (WebInspector.VisualStyleDetailsPanel.prototype._updateSections): |
| If this function has an event, meaning it was triggered by a newly selected |
| selector in the selector section, loop through each subsection and perform |
| the logic described above, but instead only to open sections. |
| |
| (WebInspector.VisualStyleDetailsPanel.prototype._generateSection.replaceDashWithCapital): Deleted. |
| (WebInspector.VisualStyleDetailsPanel.prototype._updateProperties): |
| Removed logic that was already being called by _sectionModified(). |
| |
| 2016-02-20 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Text Align segmented control blinks while editing other properties in Visual Styles sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=154487 |
| <rdar://problem/24754703> |
| |
| Reviewed by Timothy Hatcher. |
| |
| The icon list property editor blinking issue was caused by the fact that |
| the selected value was toggled on/off each time the value was set on the |
| editor. In order to prevent this, the logic for the setter value() was |
| modified to just match a keyword icon to the given value and select it. |
| |
| * UserInterface/Views/VisualStyleKeywordIconList.js: |
| (WebInspector.VisualStyleKeywordIconList.prototype.set value): |
| (WebInspector.VisualStyleKeywordIconList.prototype._handleKeywordChanged): |
| |
| 2016-02-20 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Placeholder text in Visual Styles sidebar table row should be white |
| https://bugs.webkit.org/show_bug.cgi?id=154488 |
| <rdar://problem/24754715> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css: |
| (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item > .titles > .subtitle): |
| |
| 2016-02-19 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Inherited selector rows have text too low |
| https://bugs.webkit.org/show_bug.cgi?id=154489 |
| <rdar://problem/24754774> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/VisualStyleSelectorSection.css: |
| (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider): |
| |
| 2016-02-19 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Color picker in Visual Styles sidebar should not default to zero alpha |
| https://bugs.webkit.org/show_bug.cgi?id=154474 |
| <rdar://problem/24750217> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/InlineSwatch.js: |
| (WebInspector.InlineSwatch.prototype._fallbackValue): |
| Changed the fallback value for color from transparent to white so that |
| the color picker starts out with an alpha value of 1. |
| |
| (WebInspector.InlineSwatch.prototype._handleContextMenuEvent): |
| Prevents context menu events from having an effect if there is no value |
| for them to modify. |
| |
| 2016-02-19 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: CSS var() function should be syntax highlighted |
| https://bugs.webkit.org/show_bug.cgi?id=154406 |
| <rdar://problem/24726136> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Models/CSSCompletions.js: |
| Added "var" to CodeMirror value keywords for syntax highlighting. |
| |
| * UserInterface/Models/CSSKeywordCompletions.js: |
| (WebInspector.CSSKeywordCompletions.forProperty): |
| Added "var" to accepted keywords for auto-completion. |
| |
| 2016-02-18 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Styles Sidebar focus jumps when trying to edit a color |
| https://bugs.webkit.org/show_bug.cgi?id=154404 |
| <rdar://problem/24725744> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Clicking an inline swatch in the CSS Rules sidebar causes any focused |
| editor, if any, to become blurred and therefore fire its handler function. |
| This causes an issue because when a CodeMirror instance in the styles |
| sidebar becomes blurred, it is possible for the entire Rules sidebar to |
| refresh and recreate all of the sections (r187714), meaning that it will |
| reselect whatever editor was previously selected before the refresh, |
| causing the swatch popup to be blurred and therefore dismiss. |
| |
| * UserInterface/Views/CSSStyleDeclarationSection.js: |
| (WebInspector.CSSStyleDeclarationSection.prototype.cssStyleDeclarationTextEditorBlurActiveEditor): |
| |
| * UserInterface/Views/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._createInlineSwatches.createSwatch): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._inlineSwatchBeforeClicked): |
| Add listener for new event and call to delegate function for handling it. |
| |
| * UserInterface/Views/InlineSwatch.js: |
| (WebInspector.InlineSwatch.prototype._swatchElementClicked): |
| Now fires an event before the clicked logic happens, but still after the |
| click event is fired on the element. |
| |
| * UserInterface/Views/RulesStyleDetailsPanel.js: |
| (WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionBlurActiveEditor): |
| Clears the previously focused editor so when a reset happens no editor |
| is refocused. |
| |
| 2016-02-18 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Add Native Parameter Lists to Console prototype functions |
| https://bugs.webkit.org/show_bug.cgi?id=154419 |
| <rdar://problem/24730314> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Models/NativeFunctionParameters.js: |
| |
| 2016-02-18 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Align console prompt with execution context selector |
| https://bugs.webkit.org/show_bug.cgi?id=154381 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/QuickConsole.css: |
| (.quick-console > .console-prompt > .CodeMirror): |
| (.quick-console .execution-context): |
| |
| 2016-02-18 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Storage tab navigation bar should fit on a single line |
| https://bugs.webkit.org/show_bug.cgi?id=152473 |
| <rdar://problem/24023435> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Base/Utilities.js: |
| (Number.constrain): |
| Reworked logic to ensure that the returned value is never less than the |
| given minimum value. |
| |
| 2016-02-17 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: In the styles sidebar, Option-clicking on --css-variable should jump to its definition |
| https://bugs.webkit.org/show_bug.cgi?id=154082 |
| <rdar://problem/24593361> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked.showRangeInSourceCode): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked): |
| Now tests to see if the highlighted token was a CSS variable and if |
| so, attempts to show the declaration of the CSS variable instead of |
| the location where it is used. |
| |
| 2016-02-17 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| REGRESSION (r196620): Web Inspector: DataGrid headers and resizers are misaligned when the scrollbar is visible |
| https://bugs.webkit.org/show_bug.cgi?id=154280 |
| <rdar://problem/24670567> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Revert back to "overflow-y: overlay". |
| |
| * UserInterface/Views/DataGrid.css: |
| (.data-grid .data-container): |
| * UserInterface/Views/DatabaseContentView.css: |
| (.storage-view.query): |
| |
| 2016-02-17 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| REGRESSION (r196620): Web Inspector: When the scrollbars are always visible, the console prompt is 1px taller |
| https://bugs.webkit.org/show_bug.cgi?id=154328 |
| <rdar://problem/24692996> |
| |
| Introduce a CSS variable to ensure that the quick console is the |
| same height as the bottom right section of the styles sidebar. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/CSSStyleDetailsSidebarPanel.css: |
| (.sidebar > .panel.details.css-style > .content ~ .options-container): |
| (.sidebar > .panel.details.css-style > .content ~ .class-list-container): |
| * UserInterface/Views/QuickConsole.css: |
| (.quick-console): |
| * UserInterface/Views/Variables.css: |
| (:root): |
| |
| 2016-02-17 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Add Context menu separators to Styles sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=154360 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| In the Styles sidebar, there are three main sections for the context menu: |
| - Copy and Duplicate/Show-source |
| - Add pseudo-class rules |
| - Add/Select pseudo-element rules |
| These three sections were all put together in the same context menu, which |
| was very crowded as a result. Separators have been added to make it so that |
| these three sections are now separated and clearly show their different uses. |
| |
| * UserInterface/Views/CSSStyleDeclarationSection.js: |
| (WebInspector.CSSStyleDeclarationSection.prototype._handleSelectorPaste): |
| |
| * UserInterface/Views/VisualStyleSelectorTreeItem.js: |
| (WebInspector.VisualStyleSelectorTreeItem.prototype._handleContextMenuEvent): |
| |
| 2016-02-17 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: add CSS variables for common border/background colors |
| https://bugs.webkit.org/show_bug.cgi?id=154302 |
| <rdar://problem/24680944> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Added CSS variables for commonly used border and background colors, and removed |
| duplicate CSS variables with less generic names. Inactive border colors declared in |
| rules with a body.window-inactive selector have been removed. A new rule using this |
| selector in Variables.css sets "--border-color" to the inactive color. |
| |
| * UserInterface/Views/CSSStyleDetailsSidebarPanel.css: |
| (.sidebar > .panel.details.css-style > .content > .pseudo-classes): |
| (.sidebar > .panel.details.css-style > .content ~ :matches(.options-container, .class-list-container)): |
| (.sidebar > .panel.details.css-style > .content.filter-in-progress .style-declaration-section:not(.filter-section-has-label)): |
| * UserInterface/Views/DataGrid.css: |
| (.data-grid.inline): |
| (.data-grid th): |
| (.data-grid :matches(th, td):not(:last-child)): |
| (body.window-inactive .data-grid th): Deleted. |
| (body.window-inactive .data-grid :matches(th, td):not(:last-child)): Deleted. |
| * UserInterface/Views/DebuggerSidebarPanel.css: |
| (.sidebar > .panel.navigation.debugger.paused .details-section.scripts): |
| * UserInterface/Views/DetailsSection.css: |
| (.details-section): |
| (.details-section .details-section:first-child): |
| (.details-section > .header): |
| (.details-section > .content > .group): |
| (.details-section > .content > .group:nth-child(even) > .row:matches(.simple:first-child > *, :not(.simple):first-child)): |
| * UserInterface/Views/FilterBar.css: |
| (.filter-bar): |
| * UserInterface/Views/FindBanner.css: |
| (.find-banner): |
| (body.window-inactive .find-banner): Deleted. |
| * UserInterface/Views/LayerTreeDetailsSidebarPanel.css: |
| (.panel.details.layer-tree .bottom-bar): |
| * UserInterface/Views/Main.css: |
| (body.docked.bottom): |
| (body.docked.right): |
| (#split-content-browser): |
| (#split-content-browser > .navigation-bar): |
| (body.window-inactive.docked.bottom): Deleted. |
| (body.window-inactive.docked.right): Deleted. |
| (body.window-inactive #split-content-browser): Deleted. |
| * UserInterface/Views/MemoryCategoryView.css: |
| (.memory-category-view): |
| (.memory-category-view > .details): |
| (body.window-inactive .memory-category-view): Deleted. |
| (body.window-inactive .memory-category-view > .details): Deleted. |
| * UserInterface/Views/MemoryTimelineView.css: |
| (.timeline-view.memory): |
| (.timeline-view.memory > .content > .overview): |
| (.timeline-view.memory > .content > .details > .subtitle): |
| (.timeline-view.memory > .content > .overview > .divider): |
| (body.window-inactive .timeline-view.memory): Deleted. |
| (body.window-inactive .timeline-view.memory > .content > .overview): Deleted. |
| (body.window-inactive .timeline-view.memory > .content > .details > .subtitle): Deleted. |
| (body.window-inactive .timeline-view.memory > .content > .overview > .divider): Deleted. |
| * UserInterface/Views/NavigationBar.css: |
| (.navigation-bar): |
| (body.window-inactive .navigation-bar): Deleted. |
| * UserInterface/Views/NavigationSidebarPanel.css: |
| (.sidebar > .panel.navigation > .overflow-shadow): |
| (body.window-inactive .sidebar > .panel.navigation > .overflow-shadow): Deleted. |
| * UserInterface/Views/NetworkSidebarPanel.css: |
| (.sidebar > .panel.navigation.network > .title-bar): |
| (body.window-inactive .sidebar > .panel.navigation.network > .title-bar): Deleted. |
| * UserInterface/Views/OverviewTimelineView.css: |
| (.timeline-view.overview > .timeline-ruler > .header): |
| (body.window-inactive .timeline-view.overview > .timeline-ruler > .header): Deleted. |
| * UserInterface/Views/QuickConsole.css: |
| (.quick-console): |
| (body.window-inactive .quick-console): Deleted. |
| * UserInterface/Views/Sidebar.css: |
| (.sidebar): |
| (.sidebar.left): |
| (.sidebar.right): |
| (body.window-inactive .sidebar.left): Deleted. |
| (body.window-inactive .sidebar.right): Deleted. |
| * UserInterface/Views/TimelineDataGrid.css: |
| (.data-grid.timeline th): |
| (body.window-inactive .data-grid.timeline th): Deleted. |
| * UserInterface/Views/TimelineRuler.css: |
| (.timeline-ruler > .header): |
| (body.window-inactive .timeline-ruler > .header): Deleted. |
| * UserInterface/Views/TimelineSidebarPanel.css: |
| (.sidebar > .panel.navigation.timeline > .title-bar): |
| (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events): |
| (body.window-inactive .sidebar > .panel.navigation.timeline > .title-bar): Deleted. |
| (body.window-inactive .sidebar > .panel.navigation.timeline > .title-bar.timeline-events): Deleted. |
| * UserInterface/Views/Toolbar.css: |
| (body.latest-mac .toolbar .dashboard-container): |
| * UserInterface/Views/Variables.css: |
| (:root): |
| (body.window-inactive *): |
| * UserInterface/Views/VisualStyleSelectorSection.css: |
| (.details-section.visual-style-selector-section:not(.collapsed) > .header): |
| (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider): |
| |
| 2016-02-17 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Add singular and plural cases for "Ignore n times before stopping" label in breakpoint editor |
| https://bugs.webkit.org/show_bug.cgi?id=154335 |
| <rdar://problem/24655491> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| Added string for singular ignore count. |
| |
| * UserInterface/Controllers/BreakpointPopoverController.js: |
| (WebInspector.BreakpointPopoverController.prototype._createPopoverContent): |
| Remove unused variable "this._ignoreCount" and update ignore count text. |
| |
| (WebInspector.BreakpointPopoverController.prototype._popoverIgnoreInputChanged): |
| Update ignore count text as value changes. |
| |
| (WebInspector.BreakpointPopoverController.prototype._updateIgnoreCountText): |
| Set singular text when count === 1, otherwise set plural text. |
| |
| 2016-02-16 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| REGRESSION (r196620): Web Inspector: Selecting last message in the console makes the scrollbar visible |
| https://bugs.webkit.org/show_bug.cgi?id=154326 |
| <rdar://problem/24692717> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/LogContentView.css: |
| (.console-item.selected::after): |
| Make sure the selected message marker (blue vertical line) doesn't |
| go over the content view. |
| |
| 2016-02-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| JSContext Inspector: Support for inline source maps |
| https://bugs.webkit.org/show_bug.cgi?id=154303 |
| <rdar://problem/24670392> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Base/URLUtilities.js: |
| (parseDataURL): |
| Break a data URL into components. |
| |
| * UserInterface/Controllers/SourceMapManager.js: |
| (WebInspector.SourceMapManager.prototype._loadAndParseSourceMap): |
| Handle a data URL without using NetworkAgent. Also move references |
| to a main frame after checking for NetworkAgent. |
| |
| * UserInterface/Models/SourceMap.js: |
| (WebInspector.SourceMap.prototype.get sourceMappingBasePathURLComponents): |
| * UserInterface/Models/SourceMapResource.js: |
| (WebInspector.SourceMapResource.prototype.get sourceMapDisplaySubpath): |
| Handle JavaScript debuggable script URLs which may not be complete URLs. |
| |
| (WebInspector.SourceMapResource.prototype.requestContentFromBackend): |
| Also handle if NetworkAgent does not exist. |
| |
| * UserInterface/Views/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel): |
| When connected to a JavaScript debuggable we were hiding disclosure |
| triangles as we did not expect resources to have subresources. If |
| a SourceMap is added, show them again. |
| |
| 2016-02-16 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Increase the width of the find banner's search field |
| https://bugs.webkit.org/show_bug.cgi?id=154284 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/FindBanner.css: |
| (.find-banner > input[type="search"]): |
| Keep the minimum width the same as the current width. |
| |
| (body .find-banner.console-find-banner): |
| Overwrite ".navigation-bar .item {flex-wrap: nowrap}". |
| |
| 2016-02-15 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Non-overlay scrollbars obscure the ends of lines in the console and sidebars |
| https://bugs.webkit.org/show_bug.cgi?id=154276 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/DataGrid.css: |
| (.data-grid .data-container): |
| * UserInterface/Views/DatabaseContentView.css: |
| (.storage-view.query): |
| * UserInterface/Views/LogContentView.css: |
| (.content-view.log): |
| Replace all occurrences of "overflow-y: overlay" with "overflow-y: auto". |
| |
| 2016-02-15 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Visual sidebar minor regression fixes |
| https://bugs.webkit.org/show_bug.cgi?id=154237 |
| <rdar://problem/24653135> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css: |
| (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-special-property-placeholder): |
| Do not display the placeholder, as it is not used in comma separated value |
| property editors. |
| |
| (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item > .titles > .subtitle::before): |
| (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item > .titles > .subtitle): Deleted. |
| Added ::before to get rid of the "-" on subtitle elements (r196266). |
| |
| * UserInterface/Views/VisualStyleDetailsPanel.js: |
| (WebInspector.VisualStyleDetailsPanel.prototype.widthDidChange): |
| Recalculates the width for all comma separated value elements (r196266). |
| |
| (WebInspector.VisualStyleDetailsPanel.prototype._updateSections): |
| Only open/close sections with properties that have values when a new node |
| or selector item is selected. |
| |
| (WebInspector.VisualStyleDetailsPanel.prototype._populateBorderSection): |
| Make copies of the default unit lists to prevent modifying the values used |
| later in other sections (r194728). |
| |
| 2016-02-15 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: eliminate the linear and rendering frames TimelineOverview subclasses |
| https://bugs.webkit.org/show_bug.cgi?id=154000 |
| <rdar://problem/24553105> |
| |
| Reviewed by Timothy Hatcher. |
| |
| This patch eliminates the TimelineOverview subclasses, and moves logic for switching between |
| a time-based or frame-based graph into the overview itself. The values of the overview's start |
| time, current time, and end time now match the values in the timeline recording regardless of the |
| current view mode. When viewing the rendering frames graph, the recording times are ignored and |
| all frames are included. The overview maintains separate zoom level and ruler selection settings |
| for each view mode. |
| |
| * UserInterface/Main.html: |
| * UserInterface/Views/LinearTimelineOverview.js: Removed. |
| * UserInterface/Views/RenderingFrameTimelineOverview.js: Removed. |
| Removed TimelineOverview subclasses. |
| |
| * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js: |
| (WebInspector.RenderingFrameTimelineOverviewGraph.prototype.get height): |
| Set FPS graph height to 108 pixels. |
| |
| * UserInterface/Views/TimelineOverview.css: |
| (.timeline-overview:not(.frames) > .graphs-container > .timeline-overview-graph:nth-child(even)): |
| (.timeline-overview:not(.frames) > .graphs-container > .timeline-overview-graph:not(:first-child)): |
| (.timeline-overview > .graphs-container > .timeline-overview-graph:nth-child(even)): Deleted. |
| (.timeline-overview > .graphs-container > .timeline-overview-graph:not(:first-child)): Deleted. |
| Disable alternating graph styles when showing FPS instrument. |
| |
| * UserInterface/Views/TimelineOverview.js: |
| (WebInspector.TimelineOverview): |
| Create separate settings for timelines and FPS view modes. |
| (WebInspector.TimelineOverview.prototype.get viewMode): |
| (WebInspector.TimelineOverview.prototype.set viewMode): |
| (WebInspector.TimelineOverview.prototype.set startTime): |
| Adjust the current ruler selection when start time changes. Not necessary |
| when showing the FPS instrument, which doesn't have a start time. |
| (WebInspector.TimelineOverview.prototype.get secondsPerPixel): |
| (WebInspector.TimelineOverview.prototype.set secondsPerPixel): |
| Now a wrapper around the corresponding view mode setting. |
| (WebInspector.TimelineOverview.prototype.set pixelAlignDuration): |
| (WebInspector.TimelineOverview.prototype.get scrollStartTime): |
| (WebInspector.TimelineOverview.prototype.set scrollStartTime): |
| Now a wrapper around the corresponding view mode setting. |
| (WebInspector.TimelineOverview.prototype.get visibleDuration): |
| (WebInspector.TimelineOverview.prototype.get height): |
| Return the sum height of all visible overview graphs. |
| (WebInspector.TimelineOverview.prototype.shown): |
| Show overview graphs for the current view mode. |
| (WebInspector.TimelineOverview.prototype.hidden): |
| (WebInspector.TimelineOverview.prototype.reset): |
| (WebInspector.TimelineOverview.prototype.recordWasFiltered): |
| (WebInspector.TimelineOverview.prototype.selectRecord): |
| (WebInspector.TimelineOverview.prototype.updateLayoutIfNeeded): |
| (WebInspector.TimelineOverview.prototype.layout): |
| Layout for both view modes is largely identical, and differs only in the treatment |
| of the overview's start time, current time, and end time. Time-based instruments |
| use time values from the recording, while the FPS instrument has a fixed start time |
| of zero, and a current and end time pinned to the last rendering frame. |
| (WebInspector.TimelineOverview.prototype._handleScrollEvent): |
| (WebInspector.TimelineOverview.prototype._handleWheelEvent): |
| (WebInspector.TimelineOverview._handleGestureStart): |
| (WebInspector.TimelineOverview.prototype._handleGestureChange): |
| (WebInspector.TimelineOverview.prototype._instrumentAdded): |
| (WebInspector.TimelineOverview.prototype._instrumentRemoved): |
| (WebInspector.TimelineOverview.prototype._timelineRulerMouseClicked): |
| (WebInspector.TimelineOverview.prototype._timeRangeSelectionChanged): |
| Save the selection for the current view mode. |
| (WebInspector.TimelineOverview.prototype._recordSelected): |
| (WebInspector.TimelineOverview.prototype._resetSelection.reset): |
| (WebInspector.TimelineOverview.prototype._resetSelection): |
| (WebInspector.TimelineOverview.prototype._canShowTimelineType): |
| (WebInspector.TimelineOverview.prototype._viewModeDidChange): |
| Sets zoom level, ruler selection, and graph visibility based on current view mode. |
| (WebInspector.TimelineOverview.prototype._createViewModeSettings): |
| Helper function for creating an object to track the zoom level and ruler |
| selection of each view mode. |
| (WebInspector.TimelineOverview.prototype.get _currentSettings): |
| Internal getter for retrieving the settings for the current view mode. |
| (WebInspector.TimelineOverview.prototype.canShowTimeline): Deleted. |
| Not needed now that the overview contains all timelines. |
| |
| * UserInterface/Views/TimelineOverviewGraph.js: |
| (WebInspector.TimelineOverviewGraph): |
| (WebInspector.TimelineOverviewGraph.prototype.shown): |
| (WebInspector.TimelineOverviewGraph.prototype.hidden): |
| Toggle CSS hidden class. |
| |
| * UserInterface/Views/TimelineRecordFrame.js: |
| No need to query offsetHeight now that TimelineOverviewGraph has a height property. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView): |
| Create a single timeline overview. |
| (WebInspector.TimelineRecordingContentView.prototype.get timelineOverviewHeight): |
| (WebInspector.TimelineRecordingContentView.prototype.shown): |
| (WebInspector.TimelineRecordingContentView.prototype.hidden): |
| (WebInspector.TimelineRecordingContentView.prototype.recordWasFiltered): |
| (WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange): |
| Update the timeline overview's mode based on the current timeline view. |
| (WebInspector.TimelineRecordingContentView.prototype._contentViewSelectionPathComponentDidChange): |
| (WebInspector.TimelineRecordingContentView.prototype._updateTimes): |
| Removed special handling for the FPS overview. |
| Removed selection start time adjustment, which is now handled internally by TimelineOverview. |
| (WebInspector.TimelineRecordingContentView.prototype._updateTimelineOverviewHeight): |
| (WebInspector.TimelineRecordingContentView.prototype._recordingReset): |
| (WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged): |
| (WebInspector.TimelineRecordingContentView.prototype._updateFrameSelection): |
| |
| * UserInterface/Views/TimelineSidebarPanel.js: |
| (WebInspector.TimelineSidebarPanel): |
| (WebInspector.TimelineSidebarPanel.prototype.matchTreeElementAgainstCustomFilters): |
| (WebInspector.TimelineSidebarPanel.prototype.saveStateToCookie): |
| (WebInspector.TimelineSidebarPanel.prototype._renderingFrameTimelineTimesUpdated): |
| (WebInspector.TimelineSidebarPanel.prototype._contentBrowserCurrentContentViewDidChange): |
| Refresh the view mode when the content view changes. |
| (WebInspector.TimelineSidebarPanel.prototype._recordingSelected): |
| (WebInspector.TimelineSidebarPanel.prototype._viewModeSelected): |
| (WebInspector.TimelineSidebarPanel.prototype._viewModeForTimeline): |
| (WebInspector.TimelineSidebarPanel.prototype._updateViewModeIfNeeded): |
| Sync the tree outline, frames chart, and navigation bar with the current view mode. |
| (WebInspector.TimelineSidebarPanel.prototype.shown): |
| Refreshing the frame selection is unnecessary. It's updated by the recording content |
| view whenever the ruler selection changes. |
| (WebInspector.TimelineSidebarPanel.prototype.get viewMode): Deleted. |
| No longer public, since the timeline overview now owns the view mode. Internally the sidebar |
| still tracks the current state so it can determine when the value has changed. |
| (WebInspector.TimelineSidebarPanel.prototype.showTimelineOverview): |
| (WebInspector.TimelineSidebarPanel.prototype.showTimelineViewForTimeline): |
| The sidebar should only be synced to the overview after the content view has changed. |
| (WebInspector.TimelineSidebarPanel.prototype.updateFrameSelection): |
| Removed unnecessary assertion. |
| (WebInspector.TimelineSidebarPanel.prototype._changeViewMode): Deleted. |
| Replaced by _updateViewModeIfNeeded. |
| |
| 2016-02-15 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Show inherited CSS variables in the Style sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=154215 |
| rdar://problem/24644058 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Models/CSSProperty.js: |
| (WebInspector.CSSProperty.isInheritedPropertyName): Added. |
| (WebInspector.CSSProperty.prototype.update): Use WebInspector.CSSProperty.isInheritedPropertyName. |
| * UserInterface/Models/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload): Use WebInspector.CSSProperty.isInheritedPropertyName. |
| |
| 2016-02-15 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Sidebars are defaulting to their minimum width, instead of a good width |
| https://bugs.webkit.org/show_bug.cgi?id=154218 |
| rdar://problem/24644192 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/SidebarPanel.js: |
| (WebInspector.SidebarPanel): Default the setting value to 300 instead of 0, so the minimum isn't used. |
| |
| 2016-02-15 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: CSS variables are not formatted correctly |
| https://bugs.webkit.org/show_bug.cgi?id=154217 |
| rdar://problem/24644154 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/CodeMirrorFormatters.js: |
| (newlineBeforeToken): Check for `variable-2` token in the `maybeprop` state. |
| |
| 2016-02-15 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: CodeMirror styles needs updated for CSS variables |
| https://bugs.webkit.org/show_bug.cgi?id=154216 |
| rdar://problem/24644146 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/SyntaxHighlightingDefaultTheme.css: |
| (.cm-s-default .cm-m-css:matches(.cm-atom, .cm-meta, .cm-variable-2, .cm-variable-3, .cm-property)): Added .cm-variable-2. |
| (.cm-s-default .basic-block-has-not-executed.cm-m-css:matches(.cm-atom, .cm-meta, .cm-variable-2, .cm-variable-3, .cm-property)): Ditto. |
| |
| 2016-02-13 Dan Bernstein <mitz@apple.com> |
| |
| Removed the unused Frameworks group. |
| |
| Rubber-stamped by Sam Weinig. |
| |
| * WebInspectorUI.xcodeproj/project.pbxproj: |
| |
| 2016-02-13 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: DataGrid Header Cells should have Context Menu for Sorting |
| https://bugs.webkit.org/show_bug.cgi?id=154050 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid.prototype.set sortOrder): |
| (WebInspector.DataGrid.prototype._toggledSortOrder): |
| Returns the opposite sort order from the current order. |
| |
| (WebInspector.DataGrid.prototype._selectSortColumnAndSetOrder): |
| Changes the selected column to the one with the specified identifier and |
| then switches the sort order to the given order. |
| |
| (WebInspector.DataGrid.prototype._headerCellClicked): |
| Moved logic for switching cells/sort-order to a separate function for |
| better reusability. |
| |
| (WebInspector.DataGrid.prototype._contextMenuInHeader): |
| Adds context menu items on DataGrid header items to change the current |
| sort order to the specified order. If the context menu is on the selected |
| header item, only show the sort order that is not currently applied. |
| |
| 2016-02-12 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Rename domAgent to domTreeManager in DOMNode |
| https://bugs.webkit.org/show_bug.cgi?id=154194 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Models/DOMNode.js: |
| (WebInspector.DOMNode): |
| |
| 2016-02-12 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Avoid including ESLint until it is used |
| https://bugs.webkit.org/show_bug.cgi?id=154196 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Scripts/copy-user-interface-resources.pl: |
| Do not include ESLint in optimized output yet. |
| |
| * UserInterface/Controllers/AnalyzerManager.js: |
| Do not reference `eslint` until we use it. |
| |
| * UserInterface/Main.html: |
| Remove include to ESLint until we need it. |
| |
| 2016-02-12 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Tabs: Conflicts with multiple Formatters per SourceCode |
| https://bugs.webkit.org/show_bug.cgi?id=144717 |
| <rdar://problem/20845163> |
| |
| Reviewed by Timothy Hatcher. |
| |
| The underlying issue here is that each tab may create its own ContentView, |
| and therefore SourceCodeTextEditor, per-SourceCode. Each SourceCodeTextEditor |
| was mutating the SourceCode's state without listening for or expecting |
| updates from the other. This causes a bunch of different issues: |
| |
| - editing in one tab does not get reflected in another tab for |
| the same resource. This is common when using the Search tab |
| to find and make an edit, then debug in another tab. |
| |
| - one tab may auto format (pretty print) a resource and set |
| the formatter on the SourceCode to make SourceCodeLocations |
| know about formatted locations. However, a jump to location |
| that opens a new ContentView for the same Resource will |
| start out un-formatted, and misunderstand the location. |
| This often results in an unexpected jump to 0:0. |
| |
| The solution taken by this change is to have a single ContentView |
| per represented object. When that ContentView gets shown in a new |
| ContentViewContainer it gets transferred, leaving a tombstone in the |
| previous ContentViewContainer that can be revived later. This keeps |
| back foward lists with expected values. It also means there is a |
| single ContentView that doesn't need to worry about having the |
| state of its represented object getting overrun. |
| |
| Currently this makes the assumption that we won't ever show multiple |
| ContentViews for the same represented object at the same time. This |
| may need to change if we were to support split pane editor or |
| something like that. |
| |
| This also makes the assumption that ContentViewContainer's showEntry |
| and hideEntry do not modify the back forward list. That has not been |
| the case, and I think it is safe to assume it will never be the case. |
| |
| The contracts this patch maintains: |
| |
| - a ContentView is always owned by one ViewContainer. |
| This ViewContainer is the one showing the ContentView. |
| |
| - when another ViewContainer wants to share the ContentView |
| ownership is transferred. Creating tombstones in the old |
| ViewContainer and Reviving tombstones in the new ViewContainer. |
| |
| - ViewContainer's have a tombstone per-BackForwardEntry that |
| references the ContentView. |
| |
| - In order to ensure a ContentView always gets closed, when |
| the owning ViewContainer would close the ContentView it |
| checks if it should instead transfer ownership of the |
| ContentView to another interested ViewContainer. |
| |
| This also maintains the contract that a ContentView should only be |
| closed once. When the ContentView is transferred between two |
| ContentViewContainers it should hide/show from the old to the new. |
| The last ContentViewContainer to reference a ContentView should |
| be the one to close the ContentView. |
| |
| * UserInterface/Models/BackForwardEntry.js: |
| (WebInspector.BackForwardEntry): |
| (WebInspector.BackForwardEntry.prototype.get tombstone): |
| (WebInspector.BackForwardEntry.prototype.set tombstone): |
| (WebInspector.BackForwardEntry.prototype.prepareToShow): |
| (WebInspector.BackForwardEntry.prototype.prepareToHide): |
| Tombstone state and assertions that we don't show/hide tombstones, |
| that should all be done before a back forward entry has become a tombstone. |
| |
| * UserInterface/Views/ContentView.js: |
| (WebInspector.ContentView.contentViewForRepresentedObject): |
| (WebInspector.ContentView.closedContentViewForRepresentedObject): |
| (WebInspector.ContentView.resolvedRepresentedObjectForRepresentedObject): |
| Helpers for getting / creating / clearing the single ContentView that |
| is associated with a represented object. |
| |
| * UserInterface/Views/ContentViewContainer.js: |
| (WebInspector.ContentViewContainer.prototype.contentViewForRepresentedObject): |
| (WebInspector.ContentViewContainer.prototype.showContentView): |
| Eliminate code that dealt with multiple content views per represented object. |
| That is replaced by multiple ContentViewContainers per ContentView. |
| |
| (WebInspector.ContentViewContainer.prototype.replaceContentView): |
| This is called in special places where we don't need to worry about a tombstone. |
| It is an in replace of a content view. |
| |
| (WebInspector.ContentViewContainer.closeAllContentViewsOfPrototype): |
| (WebInspector.ContentViewContainer.prototype.closeContentView): |
| (WebInspector.ContentViewContainer.prototype.closeAllContentViews): |
| (WebInspector.ContentViewContainer.prototype._disassociateFromContentView): |
| Deal with closing BackForwardEntrys that are tombstones. |
| |
| (WebInspector.ContentViewContainer.prototype._takeOwnershipOfContentView): |
| (WebInspector.ContentViewContainer.prototype._placeTombstonesForContentView): |
| (WebInspector.ContentViewContainer.prototype._clearTombstonesForContentView): |
| Helpers for transfering ownership of a ContentView to a ContentViewContainer. |
| There is always one owner of the ContentView. Non-owners have tombstone |
| BackForward entries. |
| |
| (WebInspector.ContentViewContainer.prototype._showEntry): |
| If we are showing a tombstone, gain ownership. |
| |
| (WebInspector.ContentViewContainer.prototype._hideEntry): |
| This may happen in closing, for simplicity we bail here instead of include |
| messy logic at the call site. We would have already hidden this entry |
| when making it a tombstone. |
| |
| 2016-02-11 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: SourceCodeTextEditor close() generates removeEventListener warnings |
| https://bugs.webkit.org/show_bug.cgi?id=154150 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype.close): |
| Remove the event listeners in the cases that we would have added them. |
| If we have SourceMap information we should remove the key listener, |
| and if we don't we should remove the SourceMapAdded listener. |
| |
| 2016-02-10 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Add new icon for the Timeline Recording navigation bar item |
| https://bugs.webkit.org/show_bug.cgi?id=154089 |
| rdar://problem/24595652 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Images/Stopwatch.png: Removed. |
| * UserInterface/Images/Stopwatch@2x.png: Removed. |
| * UserInterface/Images/Stopwatch.svg: Added. |
| * UserInterface/Views/TimelineIcons.css: |
| (.stopwatch-icon .icon): Use Stopwatch.svg. |
| (body:not(.mac-platform, .windows-platform) .stopwatch-icon .icon): Added for GTK+. |
| |
| 2016-02-10 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Switching actions in Edit Breakpoint popover causes a jerk |
| https://bugs.webkit.org/show_bug.cgi?id=154093 |
| <rdar://problem/24597869> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Adjusted CodeMirror eval editor styles to match vanilla input field. |
| |
| * UserInterface/Views/BreakpointActionView.css: |
| (.breakpoint-action-eval-editor): |
| |
| 2016-02-09 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Regression: Web Inspector: Sometimes in Elements panel two elements showed as selected at the same time |
| https://bugs.webkit.org/show_bug.cgi?id=149742 |
| <rdar://problem/24492481> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.prototype.moveChild): |
| Since removing and re-adding this tree element may forgot its |
| entire child tree, re-select the selected child that may have |
| just been lost in the shuffle. |
| |
| * UserInterface/Views/TreeOutline.js: |
| (WebInspector.TreeOutline.prototype._forgetTreeElement): |
| When forgetting the selected tree element, also deselect the |
| forgotten tree element so it clears its selected state. |
| |
| 2016-02-09 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Allow copying all headers in the request/response header tables |
| https://bugs.webkit.org/show_bug.cgi?id=154048 |
| <rdar://problem/24576302> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| New "Copy Table" string. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid): |
| (WebInspector.DataGrid.prototype._contextMenuInHeader): |
| Add context menu support for table header cells, and give them a |
| "Copy Table" context menu if there is copyable data. |
| |
| (WebInspector.DataGrid.prototype._contextMenuInDataTable): |
| Add "Copy Table" context menu for copyable rows. |
| |
| (WebInspector.DataGrid.prototype._copyTextForDataGridNode): |
| (WebInspector.DataGrid.prototype._copyTextForDataGridHeaders): |
| (WebInspector.DataGrid.prototype._copyTable): |
| (WebInspector.DataGrid.prototype._hasCopyableData): |
| Helpers for determining copyability and copying tab separated data. |
| |
| 2016-02-09 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: localStorage inspector very slow on big values |
| https://bugs.webkit.org/show_bug.cgi?id=123750 |
| <rdar://problem/15384930> |
| |
| Reviewed by Timothy Hatcher. |
| |
| It is not useful to show very large strings in the DOM Storage DataGrid. |
| This change truncates display strings to roughly 200 characters. If the |
| developer really wants the full value of the string they can just access |
| it through localStorage. |
| |
| * UserInterface/Models/DOMStorageObject.js: |
| (WebInspector.DOMStorageObject.prototype.getEntries.innerCallback): |
| (WebInspector.DOMStorageObject.prototype.getEntries): |
| (WebInspector.DOMStorageObject.prototype.itemUpdated): |
| Modernize. |
| |
| * UserInterface/Views/DOMStorageContentView.js: |
| (WebInspector.DOMStorageContentView): |
| (WebInspector.DOMStorageContentView.prototype.itemRemoved): |
| Modernize. |
| |
| (WebInspector.DOMStorageContentView.prototype.itemAdded): |
| (WebInspector.DOMStorageContentView.prototype.itemUpdated): |
| (WebInspector.DOMStorageContentView.prototype._truncateValue): |
| (WebInspector.DOMStorageContentView.prototype._populate): |
| Whenever we get a value that we will display, truncate it to |
| just 200 characters. |
| |
| 2016-02-09 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Expiration column in Storage tab can't be sorted |
| https://bugs.webkit.org/show_bug.cgi?id=154043 |
| <rdar://problem/24572272> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/CookieStorageContentView.js: |
| (WebInspector.CookieStorageContentView.prototype._sortDataGrid.expiresCompare): |
| Sort Session as the shortest time, not the longest time. Use the |
| cookie.expires date when sorting, not the locale string. |
| |
| 2016-02-09 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Limit max and min zoom factor of Inspector |
| https://bugs.webkit.org/show_bug.cgi?id=154041 |
| <rdar://problem/24571326> |
| |
| Reviewed by Brian Burg. |
| |
| Chose reasonable zoom levels that looked good to my eye and |
| roughly matched Safari's page zoom levels. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.contentLoaded): |
| Do not implicitly prevent default for zoom in/out keyboard shortcuts to |
| allow for a system beep if we do not do anything. |
| |
| (WebInspector._increaseZoom): |
| (WebInspector._decreaseZoom): |
| Do not go beyond a max or min zoom level. Prevent default in the case |
| where we actually zoom, but don't prevent default where we do not |
| actually zoom to cause a system beep. Allow for a slight drift of |
| the floating point value as it increases / decreases by 0.2 at the |
| different zoom factors. |
| |
| (WebInspector._resetZoom): |
| (WebInspector._showTabAtIndex): |
| Remove redundant prevent default calls, since it would happen |
| implicitly for these keyboard shortcuts. |
| |
| 2016-02-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Uncaught exception merging script profiler records |
| https://bugs.webkit.org/show_bug.cgi?id=154004 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Controllers/TimelineManager.js: |
| (WebInspector.TimelineManager.prototype._mergeScriptProfileRecords): |
| Stop if we've merged all script profiler records. |
| |
| 2016-02-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Search doesn't seem to find text that is present in multiple places |
| https://bugs.webkit.org/show_bug.cgi?id=154016 |
| <rdar://problem/23391307> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Controllers/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype.get searchableScripts): |
| * UserInterface/Views/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel.prototype.performSearch): |
| Only search scripts with a URL. Don't search the potentially |
| large number of anonymous scripts. |
| |
| 2016-02-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Zooming in on the timeline graph does not increase its time resolution from minutes |
| https://bugs.webkit.org/show_bug.cgi?id=154013 |
| <rdar://problem/23844527> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Base/Utilities.js: |
| (Number.secondsToString): |
| Simplify logic and ensure that when under high resolution we |
| don't go above seconds for our units. |
| |
| (Number.bytesToString): |
| Simplify logic. |
| |
| * UserInterface/Views/LinearTimelineOverview.js: |
| (WebInspector.LinearTimelineOverview): |
| Reduce the rather large maximum seconds per pixel from 60 seconds |
| per pixel to 2 seconds per pixel. This means when the user zooms |
| out of a timeline they don't see such large time values. |
| |
| 2016-02-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Extract a few common unicode characters into global variables |
| https://bugs.webkit.org/show_bug.cgi?id=154008 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Base/Utilities.js: |
| Create global variables for `emDash` and `ellipsis` to use all over the tools. |
| |
| * UserInterface/Views/ConsoleMessageView.js: |
| (WebInspector.ConsoleMessageView.prototype._formatParameterAsTable): Deleted. |
| * UserInterface/Views/DefaultDashboardView.js: |
| (WebInspector.DefaultDashboardView.prototype._updateDisplay): |
| * UserInterface/Views/HierarchicalPathComponent.js: |
| (WebInspector.HierarchicalPathComponent.prototype._updateElementTitleAndText): |
| (WebInspector.HierarchicalPathComponent.prototype._updateSelectElement.createOption): |
| (WebInspector.HierarchicalPathComponent.prototype._updateSelectElement): |
| * UserInterface/Views/HierarchicalPathNavigationItem.js: |
| (WebInspector.HierarchicalPathNavigationItem.prototype.updateLayout): |
| * UserInterface/Views/LayerTreeDataGridNode.js: |
| (WebInspector.LayerTreeDataGridNode.prototype.set layer): |
| * UserInterface/Views/LayoutTimelineDataGridNode.js: |
| (WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent): |
| (WebInspector.LayoutTimelineDataGridNode): |
| * UserInterface/Views/MemoryCategoryView.js: |
| (WebInspector.MemoryCategoryView.prototype._updateDetails): Deleted. |
| (WebInspector.MemoryCategoryView): Deleted. |
| * UserInterface/Views/MemoryTimelineView.js: |
| (WebInspector.MemoryTimelineView.prototype._clearUsageLegend): |
| (WebInspector.MemoryTimelineView.prototype._updateUsageLegend): |
| (WebInspector.MemoryTimelineView.prototype._clearMaxComparisonLegend): |
| (WebInspector.MemoryTimelineView.prototype._updateMaxComparisonLegend): |
| * UserInterface/Views/MultipleScopeBarItem.js: |
| (WebInspector.MultipleScopeBarItem.set scopeBarItems.createOption): |
| (WebInspector.MultipleScopeBarItem.prototype.set scopeBarItems): |
| * UserInterface/Views/ObjectPreviewView.js: |
| (WebInspector.ObjectPreviewView.prototype._appendEntryPreviews): |
| (WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews): |
| * UserInterface/Views/ProfileNodeDataGridNode.js: |
| (WebInspector.ProfileNodeDataGridNode.prototype.createCellContent): |
| (WebInspector.ProfileNodeDataGridNode): |
| * UserInterface/Views/RenderingFrameTimelineDataGridNode.js: |
| (WebInspector.RenderingFrameTimelineDataGridNode.prototype.createCellContent): |
| (WebInspector.RenderingFrameTimelineDataGridNode): |
| * UserInterface/Views/ResourceDetailsSidebarPanel.js: |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestAndResponse): Deleted. |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._valueForSize): Deleted. |
| * UserInterface/Views/ResourceTimelineDataGridNode.js: |
| (WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent): |
| * UserInterface/Views/ScriptTimelineDataGridNode.js: |
| (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent): |
| (WebInspector.ScriptTimelineDataGridNode): |
| * UserInterface/Views/SearchResultTreeElement.js: |
| (WebInspector.SearchResultTreeElement.truncateAndHighlightTitle): |
| * UserInterface/Views/TimelineDataGridNode.js: |
| (WebInspector.TimelineDataGridNode.prototype.createCellContent): |
| * UserInterface/Views/TypeTreeElement.js: |
| (WebInspector.TypeTreeElement.prototype.onpopulate): |
| * UserInterface/Views/TypeTreeView.js: |
| (WebInspector.TypeTreeView.prototype._populate): |
| (WebInspector.TypeTreeView): |
| |
| 2016-02-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: ⇧⌘→ when editing text in the Elements tree shouldn't switch inspector tab |
| https://bugs.webkit.org/show_bug.cgi?id=154006 |
| <rdar://problem/22892489> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/EditingSupport.js: |
| (WebInspector.isEventTargetAnEditableField): |
| Check the WebInspector's custom __editing state. |
| |
| 2016-02-08 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Long values for comma separated CSS properties overflow the Visual sidebar area |
| https://bugs.webkit.org/show_bug.cgi?id=153890 |
| <rdar://problem/24510216> |
| |
| Reviewed by Timothy Hatcher. |
| |
| For especially long values in comma-separated CSS properties (such as |
| background-image), the text will not be clipped as expected due to the |
| way in which the width is calculated for the element (the value, inside |
| the title element, is the only child with a specified width other than |
| 100%). This overflowing causes the width of the section containing that |
| property to expand, pushing content outside of the inspector window. To |
| remedy this, a specified width is set on the relevant properties based |
| on the width of the sidebar to ensure proper text clipping. |
| |
| * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css: |
| (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item.visual-style-font-family-list-item > .visual-style-comma-separated-keyword-item-editor): |
| (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item > .titles): |
| (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item > .titles > .subtitle): |
| (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container): Deleted. |
| (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list): Deleted. |
| (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item): Deleted. |
| |
| * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js: |
| (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.set specifiedWidth): |
| Calculates the necessary subtractions from the given width value based on |
| the margins and size of sibling elements. |
| |
| * UserInterface/Views/VisualStyleDetailsPanel.js: |
| (WebInspector.VisualStyleDetailsPanel.prototype._updateProperties): |
| (WebInspector.VisualStyleDetailsPanel.prototype._populateFontSection): |
| (WebInspector.VisualStyleDetailsPanel.prototype._populateBackgroundStyleSection): |
| (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection): |
| (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection): |
| Added another list to each group which, if set, will pass the current |
| sidebar width to all contained property editors. |
| |
| * UserInterface/Views/VisualStylePropertyEditor.js: |
| (WebInspector.VisualStylePropertyEditor.prototype.update): |
| Somewhat unrelated (r196146), but added another check to ensure that the |
| CSS property exists before checking to see if it has an invalid value. |
| |
| 2016-02-08 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: WebInspector.Setting should have a "reset" method |
| https://bugs.webkit.org/show_bug.cgi?id=153971 |
| <rdar://problem/24544101> |
| |
| Reviewed by Brian Burg. |
| |
| Currently UI needing to restore a setting to its default must retain a copy |
| of the default value. This should be a basic operation of WebInspector.Setting. |
| |
| * UserInterface/Base/Setting.js: |
| (WebInspector.Setting): |
| (WebInspector.Setting.prototype.reset): |
| Sets value to a copy of the default. |
| |
| 2016-02-06 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| REGRESSION (r195432): Web Inspector: bottom right section of the styles sidebar is 1px taller than the console prompt |
| https://bugs.webkit.org/show_bug.cgi?id=153959 |
| <rdar://problem/24541053> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/CSSStyleDetailsSidebarPanel.css: |
| (.sidebar > .panel.details.css-style > .content ~ .options-container): |
| (.sidebar > .panel.details.css-style > .content ~ .class-list-container):: |
| Revert the height to what it used to be prior r195432. |
| |
| 2016-02-05 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Visual Styles sidebar should be more forgiving to long labels |
| https://bugs.webkit.org/show_bug.cgi?id=153927 |
| <rdar://problem/24343897> |
| |
| Reviewed by Timothy Hatcher. |
| |
| If a label is too long for it's container, it overflows and is visible |
| above the rest of the elements nearby. |
| |
| * UserInterface/Views/VisualStylePropertyEditor.css: |
| (.visual-style-property-container > .visual-style-property-title): |
| Adds text overflow to properties that extend beyond the container's width. |
| |
| * UserInterface/Views/VisualStylePropertyEditor.js: |
| (WebInspector.VisualStylePropertyEditor): |
| Now also adds the label value as a title attribute to the element, just in |
| case the content overflows. |
| |
| 2016-02-05 Saam barati <sbarati@apple.com> |
| |
| Web Inspector: Include SamplingProfiler's expression-level data for stack frames in the protocol |
| https://bugs.webkit.org/show_bug.cgi?id=153455 |
| <rdar://problem/24335884> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| JSC has been collecting expression-level data in the sampling |
| profiler, and with this patch, we now get that information |
| in the inspector. With this information, we probably have |
| all the data we need to make real heat maps. |
| |
| * UserInterface/Models/CallingContextTree.js: |
| (WebInspector.CallingContextTree.prototype.updateTreeWithStackTrace): |
| (WebInspector.CCTNode): |
| (WebInspector.CCTNode.prototype.findOrMakeChild): |
| (WebInspector.CCTNode.prototype.addTimestampAndExpressionLocation): |
| (WebInspector.CCTNode.prototype.addTimestamp): Deleted. |
| |
| 2016-02-05 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Navigation bar in sidebars should always fit on a single line |
| https://bugs.webkit.org/show_bug.cgi?id=153412 |
| <rdar://problem/24318706> |
| |
| Reviewed by Timothy Hatcher. |
| |
| This happened because the allowed maximum width of the sidebar was greater |
| than the minimum width derived from the currently visible sidebar. |
| |
| * UserInterface/Base/Utilities.js: |
| (Number.constrain): |
| Added logic to reverse the values of min and max if max is less than min. |
| |
| 2016-02-05 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Don't wrap labels in Breakpoint Editor popover |
| https://bugs.webkit.org/show_bug.cgi?id=153926 |
| rdar://problem/24149542 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/BreakpointPopoverController.css: |
| (.popover .edit-breakpoint-popover-content > table > tr > th): Added white-space: nowrap. |
| |
| 2016-02-05 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Replace all instances of '%s' with “%s“ |
| https://bugs.webkit.org/show_bug.cgi?id=153891 |
| <rdar://problem/24510236> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Switched all WebInspector.UIString() from using '' to ““. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Views/CSSStyleDeclarationSection.js: |
| (WebInspector.CSSStyleDeclarationSection.prototype._handleSelectorPaste): |
| * UserInterface/Views/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): |
| * UserInterface/Views/VisualStylePropertyEditor.js: |
| (WebInspector.VisualStylePropertyEditor.prototype.update): |
| * UserInterface/Views/VisualStyleSelectorTreeItem.js: |
| (WebInspector.VisualStyleSelectorTreeItem.prototype._updateSelectorIcon): |
| |
| 2016-02-05 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| REGRESSION (r193913): Web Inspector: Wrong z-index of inner sections |
| https://bugs.webkit.org/show_bug.cgi?id=153914 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/DetailsSection.css: |
| (.details-section .details-section > .header): |
| |
| 2016-02-05 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Decrease font-weight of inner sections |
| https://bugs.webkit.org/show_bug.cgi?id=153913 |
| <rdar://problem/24520326> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/DetailsSection.css: |
| (.details-section .details-section > .header): |
| |
| 2016-02-04 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: console.table background stripes are misaligned |
| https://bugs.webkit.org/show_bug.cgi?id=152954 |
| <rdar://problem/24197735> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/LogContentView.css: |
| (.console-item .data-grid table.data): |
| (.console-item .data-grid table.data tr:nth-child(even)): |
| Replace CSS gradient that produces fixed height stripes with |
| a rule that sets background only on even table rows. |
| |
| 2016-02-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Unreviewed, follow-up fix to r196151 that removes some more images. |
| |
| * UserInterface/Images/Colors.png: Removed. |
| * UserInterface/Images/Colors@2x.png: Removed. |
| * UserInterface/Images/Network.png: Removed. |
| * UserInterface/Images/Network@2x.png: Removed. |
| * UserInterface/Images/Script.png: Removed. |
| * UserInterface/Images/Script@2x.png: Removed. |
| These images were supposed to also be removed. |
| |
| * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: |
| Also remove references to now removed images. |
| |
| 2016-02-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: New timeline images for instruments |
| https://bugs.webkit.org/show_bug.cgi?id=153884 |
| <rdar://problem/24509429> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/TimelineTabContentView.js: |
| (WebInspector.TimelineTabContentView.iconClassNameForTimeline): |
| Better names and give Memory timeline a name for an icon. |
| |
| * UserInterface/Views/TreeOutline.css: |
| (.tree-outline.large .item .icon): |
| Add more padding next to large icons. |
| |
| * UserInterface/Images/ColorsLarge.png: Removed. |
| * UserInterface/Images/ColorsLarge@2x.png: Removed. |
| * UserInterface/Images/Frames.png: Removed. |
| * UserInterface/Images/Frames@2x.png: Removed. |
| * UserInterface/Images/LayoutInstrument.svg: Added. |
| * UserInterface/Images/MemoryInstrument.svg: Added. |
| * UserInterface/Images/NetworkInstrument.svg: Added. |
| * UserInterface/Images/NetworkLarge.png: Removed. |
| * UserInterface/Images/NetworkLarge@2x.png: Removed. |
| * UserInterface/Images/RenderingFramesInstrument.svg: Added. |
| * UserInterface/Images/ScriptLarge.png: Removed. |
| * UserInterface/Images/ScriptLarge@2x.png: Removed. |
| Remove old timeline pngs. |
| |
| * UserInterface/Images/ScriptsInstrument.svg: Added. |
| * UserInterface/Views/TimelineIcons.css: |
| (.network-icon .icon): |
| (.script-icon .icon): |
| (.memory-icon .icon): |
| (.layout-icon .icon): |
| (.rendering-frame-icon .icon): |
| Use the new SVGs. |
| |
| (body:not(.mac-platform, .windows-platform) .network-icon .icon): |
| (body:not(.mac-platform, .windows-platform) .network-icon.large .icon): |
| (body:not(.mac-platform, .windows-platform) .layout-icon .icon): |
| (body:not(.mac-platform, .windows-platform) .layout-icon.large .icon): |
| (body:not(.mac-platform, .windows-platform) .script-icon .icon): |
| (body:not(.mac-platform, .windows-platform) .script-icon.large .icon): |
| (body:not(.mac-platform, .windows-platform) .rendering-frame-icon .icon): |
| Fallback to old icons for non-Mac/Windows ports using Images/gtk images. |
| |
| 2016-02-04 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Show error icons if invalid values already exist for properties in the Visual sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=153702 |
| <rdar://problem/24424025> |
| |
| Reviewed by Timothy Hatcher. |
| |
| When CSS properties have invalid values, instead of displaying the computed |
| value for that property in the Visual sidebar, show an error icon with the |
| the invalid value. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| * UserInterface/Views/VisualStyleNumberInputBox.css: |
| (.visual-style-property-container > .visual-style-property-value-container > .number-input-container > .number-input-value): |
| (.visual-style-property-container > .visual-style-property-value-container > .visual-style-special-property-placeholder[hidden] ~ .number-input-container > .number-input-value): |
| By default, do not allow any pointer events to interact with the input element. |
| Instead, only allow interaction when the placeholder element is hidden to ensure |
| that the user cannot add a value when the computed value is displayed. |
| |
| * UserInterface/Views/VisualStyleNumberInputBox.js: |
| (WebInspector.VisualStyleNumberInputBox.prototype.set specialPropertyPlaceholderElementText): |
| Reset the selected keyword to "Unchanged" since this is either a warning |
| message or the computed value. |
| |
| * UserInterface/Views/VisualStylePropertyEditor.css: |
| (.visual-style-property-container > .visual-style-property-editor-warning.missing-dependency): |
| (.visual-style-property-container > .visual-style-property-editor-warning.invalid-value): |
| (.visual-style-property-container > .visual-style-property-editor-warning): |
| |
| * UserInterface/Views/VisualStylePropertyEditor.js: |
| (WebInspector.VisualStylePropertyEditor): |
| Replaced document.createElement with [element].createChild for simplicity. |
| |
| (WebInspector.VisualStylePropertyEditor.prototype.update): |
| Before assigning the value of the property to the editor, check to see if |
| the property is valid. If not, display an Error icon and message stating |
| that the current value is invalid. |
| |
| (WebInspector.VisualStylePropertyEditor.prototype.updateEditorValues): |
| (WebInspector.VisualStylePropertyEditor.prototype.set specialPropertyPlaceholderElementText): |
| Unhides the special placeholder element with the given text as its content. |
| |
| (WebInspector.VisualStylePropertyEditor.prototype._valueDidChange): |
| (WebInspector.VisualStylePropertyEditor.prototype._checkDependencies): |
| (WebInspector.VisualStylePropertyEditor.prototype.addDependency): |
| |
| 2016-02-03 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: JS PrettyPrinting unary - and + issues |
| https://bugs.webkit.org/show_bug.cgi?id=134007 |
| <rdar://problem/17351953> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/CodeMirrorFormatters.js: |
| (shouldHaveSpaceBeforeToken): |
| (shouldHaveSpaceAfterLastToken): |
| (removeLastNewline): |
| (modifyStateForTokenPre): |
| (modifyStateForTokenPost): |
| |
| 2016-02-03 Dave Hyatt <hyatt@apple.com> |
| |
| Add hanging-punctuation property to Web Inspector |
| https://bugs.webkit.org/show_bug.cgi?id=153841 |
| |
| Reviewed by Zalan Bujtas. |
| |
| * UserInterface/Models/CSSKeywordCompletions.js: |
| |
| 2016-02-03 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Uncaught exception TimelineRuler.prototype.resize no longer exists |
| https://bugs.webkit.org/show_bug.cgi?id=153839 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/MemoryTimelineView.js: |
| (WebInspector.MemoryTimelineView.prototype.shown): |
| After r195995 the resize method was eliminated in favor of this approach. |
| |
| 2016-02-02 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Uncaught Exception: TypeError: undefined is not an object (evaluating 'highlightedRange.from') |
| https://bugs.webkit.org/show_bug.cgi?id=153685 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Controllers/CodeMirrorTokenTrackingController.js: |
| (WebInspector.CodeMirrorTokenTrackingController.prototype.highlightRange): |
| The highlighted range could have just gotten removed, in which case the |
| marker would return undefined. Just bail in such cases. |
| |
| 2016-02-01 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Option+Up/Down should not move cursor outside of number |
| https://bugs.webkit.org/show_bug.cgi?id=153784 |
| <rdar://problem/24453133> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/CodeMirrorAdditions.js: |
| When selectionStart === selectionEnd we were duplicating the |
| movement mutation by performing it twice on the same object. |
| After much experimentation, I left in the existing code path |
| for handling mutation with a selection. It is not perfect, |
| but it is better then just applying the ch diff. |
| |
| 2016-02-01 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: High Level Memory Overview Instrument |
| https://bugs.webkit.org/show_bug.cgi?id=153516 |
| <rdar://problem/24356378> |
| |
| Reviewed by Brian Burg. |
| |
| Use the new "Memory" domain to track page memory size over time. |
| This allows the timeline to help visualize total process memory |
| broken down into a few different categories. The timeline graph |
| allows seeing the total size over time, and you can drill in to |
| a specific section and get a better breakdown and comparison |
| of the different categories of memory that we currently track. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| New UI strings. |
| |
| * UserInterface/Main.html: |
| New files. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.loaded): |
| * UserInterface/Protocol/MemoryObserver.js: |
| (WebInspector.MemoryObserver.prototype.trackingStart): |
| (WebInspector.MemoryObserver.prototype.trackingUpdate): |
| (WebInspector.MemoryObserver.prototype.trackingComplete): |
| Add a memory observer. |
| |
| * UserInterface/Controllers/TimelineManager.js: |
| (WebInspector.TimelineManager.defaultInstruments): |
| (WebInspector.TimelineManager.prototype.memoryTrackingStart): |
| (WebInspector.TimelineManager.prototype.memoryTrackingUpdate): |
| (WebInspector.TimelineManager.prototype.memoryTrackingComplete): |
| Create Memory timeline records from Memory tracking updates. |
| |
| * UserInterface/Models/MemoryCategory.js: |
| (WebInspector.MemoryCategory): |
| Consolidate some of the raw data of categories we get from the backend |
| into a set of 4 user-facing categories. |
| |
| * UserInterface/Models/MemoryTimelineRecord.js: Added. |
| (WebInspector.MemoryTimelineRecord): |
| (WebInspector.MemoryTimelineRecord.memoryCategoriesFromProtocol): |
| (WebInspector.MemoryTimelineRecord.prototype.get timestamp): |
| (WebInspector.MemoryTimelineRecord.prototype.get categories): |
| (WebInspector.MemoryTimelineRecord.prototype.get totalSize): |
| (WebInspector.MemoryTimelineRecord.prototype.get startTime): |
| (WebInspector.MemoryTimelineRecord.prototype.get endTime): |
| Memory timeline record for the event data. |
| |
| * UserInterface/Models/MemoryInstrument.js: |
| (WebInspector.MemoryInstrument): |
| (WebInspector.MemoryInstrument.supported): |
| (WebInspector.MemoryInstrument.prototype.get timelineRecordType): |
| (WebInspector.MemoryInstrument.prototype.startInstrumentation): |
| (WebInspector.MemoryInstrument.prototype.stopInstrumentation): |
| Instrument to start / stop memory tracking. |
| |
| * UserInterface/Models/TimelineRecord.js: |
| Add a new "Memory" Timeline type. |
| |
| * UserInterface/Views/ContentView.js: |
| (WebInspector.ContentView.createFromRepresentedObject): |
| * UserInterface/Models/TimelineRecording.js: |
| (WebInspector.TimelineRecording): |
| Add the new "Memory" Timeline. |
| |
| (WebInspector.TimelineRecording.prototype.addRecord): |
| Memory timeline records do not show in the SourceCode Timelines Overview. |
| |
| * UserInterface/Views/CircleChart.css: |
| (.circle-chart): |
| (.circle-chart > svg > path.background): |
| (.circle-chart > .center): |
| * UserInterface/Views/CircleChart.js: Added. |
| (WebInspector.CircleChart): |
| (WebInspector.CircleChart.prototype.get element): |
| (WebInspector.CircleChart.prototype.get points): |
| (WebInspector.CircleChart.prototype.get size): |
| (WebInspector.CircleChart.prototype.get centerElement): |
| (WebInspector.CircleChart.prototype.get segments): |
| (WebInspector.CircleChart.prototype.set segments): |
| (WebInspector.CircleChart.prototype.get values): |
| (WebInspector.CircleChart.prototype.set values): |
| (WebInspector.CircleChart.prototype.clear): |
| (WebInspector.CircleChart.prototype.needsLayout): |
| (WebInspector.CircleChart.prototype.updateLayout): |
| (WebInspector.CircleChart.prototype._needsLayout): |
| (WebInspector.CircleChart.prototype._createCompleteCirclePathData): |
| (WebInspector.CircleChart.prototype._createSegmentPathData): |
| (WebInspector.CircleChart.prototype._updateLayout): |
| Standalone circle "donut" chart, copied mostly from Rendering Frames Timeline. |
| Initialize the chart's segments, then feed it a set of ([v1, v2, ...]) values |
| corresponding to each of the segments. |
| |
| * UserInterface/Views/LineChart.js: Added. |
| (WebInspector.LineChart): |
| (WebInspector.LineChart.prototype.get element): |
| (WebInspector.LineChart.prototype.get points): |
| (WebInspector.LineChart.prototype.get size): |
| (WebInspector.LineChart.prototype.set size): |
| (WebInspector.LineChart.prototype.addPoint): |
| (WebInspector.LineChart.prototype.clear): |
| (WebInspector.LineChart.prototype.needsLayout): |
| (WebInspector.LineChart.prototype.updateLayout): |
| (WebInspector.LineChart.prototype._needsLayout): |
| (WebInspector.LineChart.prototype._updateLayout): |
| Standalone line chart. Uses a single SVG path, given a set of (x, y) points. |
| |
| * UserInterface/Views/StackedLineChart.js: Added. |
| (WebInspector.StackedLineChart): |
| (WebInspector.StackedLineChart.prototype.get element): |
| (WebInspector.StackedLineChart.prototype.get points): |
| (WebInspector.StackedLineChart.prototype.get size): |
| (WebInspector.StackedLineChart.prototype.set size): |
| (WebInspector.StackedLineChart.prototype.initializeSections): |
| (WebInspector.StackedLineChart.prototype.addPointSet): |
| (WebInspector.StackedLineChart.prototype.clear): |
| (WebInspector.StackedLineChart.prototype.needsLayout): |
| (WebInspector.StackedLineChart.prototype.updateLayout): |
| (WebInspector.StackedLineChart.prototype._needsLayout): |
| (WebInspector.StackedLineChart.prototype._updateLayout): |
| Standalone stacked line chart. Initialize the chart's sections, |
| then feed it a set of (x, [y1, y2 ...]) points where the y |
| values correspond to each of the sections. |
| |
| * UserInterface/Views/TimelineOverview.js: |
| (WebInspector.TimelineOverview.prototype.get scrollContainerWidth): |
| Add a way to get this value without forcing layout all the time. |
| |
| * UserInterface/Views/TimelineTabContentView.js: |
| (WebInspector.TimelineTabContentView.displayNameForTimeline): |
| (WebInspector.TimelineTabContentView.iconClassNameForTimeline): |
| (WebInspector.TimelineTabContentView.genericClassNameForTimeline): |
| (WebInspector.TimelineTabContentView.iconClassNameForRecord): |
| (WebInspector.TimelineTabContentView.displayNameForRecord): |
| Add placeholders for the new Memory Timeline Type. |
| |
| * UserInterface/Views/MemoryCategoryView.css: |
| (.memory-category-view): |
| (.memory-category-view > .details): |
| (.memory-category-view > .details > .name): |
| (.memory-category-view > .graph): |
| * UserInterface/Views/MemoryCategoryView.js: Added. |
| (WebInspector.MemoryCategoryView): |
| (WebInspector.MemoryCategoryView.prototype.get element): |
| (WebInspector.MemoryCategoryView.prototype.get category): |
| (WebInspector.MemoryCategoryView.prototype.clear): |
| (WebInspector.MemoryCategoryView.prototype.layoutWithDataPoints): |
| (WebInspector.MemoryCategoryView.prototype._updateDetails): |
| * UserInterface/Views/MemoryTimelineOverviewGraph.css: |
| (body .timeline-overview > .graphs-container > .timeline-overview-graph.memory): |
| (.timeline-overview-graph.memory): |
| (.timeline-overview-graph.memory > .legend): |
| (.timeline-overview-graph.memory > .stacked-line-chart > svg > path.javascript): |
| (.timeline-overview-graph.memory > .stacked-line-chart > svg > path.images): |
| (.timeline-overview-graph.memory > .stacked-line-chart > svg > path.layers): |
| (.timeline-overview-graph.memory > .stacked-line-chart > svg > path.page): |
| * UserInterface/Views/MemoryTimelineOverviewGraph.js: Added. |
| (WebInspector.MemoryTimelineOverviewGraph): |
| (WebInspector.MemoryTimelineOverviewGraph.prototype.get height): |
| (WebInspector.MemoryTimelineOverviewGraph.prototype.reset): |
| (WebInspector.MemoryTimelineOverviewGraph.prototype.layout.timeToX): |
| (WebInspector.MemoryTimelineOverviewGraph.prototype.layout.sizeToY): |
| (WebInspector.MemoryTimelineOverviewGraph.prototype.layout.sizesToYs): |
| (WebInspector.MemoryTimelineOverviewGraph.prototype.layout.ysForRecord): |
| (WebInspector.MemoryTimelineOverviewGraph.prototype.layout): |
| (WebInspector.MemoryTimelineOverviewGraph.prototype._updateLegend): |
| (WebInspector.MemoryTimelineOverviewGraph.prototype._visibleRecords): |
| (WebInspector.MemoryTimelineOverviewGraph.prototype._memoryTimelineRecordAdded): |
| * UserInterface/Views/MemoryTimelineView.css: Added. |
| (.timeline-view.memory): |
| (.timeline-view.memory > .content): |
| (.timeline-view.memory > .content > .overview): |
| (.timeline-view.memory > .content .title): |
| (.timeline-view.memory > .content .subtitle): |
| (.timeline-view.memory > .content > .details > .timeline-ruler): |
| (.timeline-view.memory > .content > .details > .subtitle): |
| (.timeline-view.memory > .content > .overview > .chart): |
| (.timeline-view.memory > .content > .overview > .chart > .subtitle): |
| (.timeline-view.memory > .content > .overview > .chart > .container): |
| (.timeline-view.memory > .content > .overview > .divider): |
| (.timeline-view.memory > .content > .overview .max-percentage): |
| (.timeline-view.memory .legend): |
| (.timeline-view.memory .legend > .row): |
| (.timeline-view.memory .legend > .row > .swatch): |
| (.timeline-view.memory .legend > .row > p): |
| (.timeline-view.memory .legend > .row > .label): |
| (.timeline-view.memory .legend > .row > .size): |
| (.timeline-view.memory .legend > .row > .swatch.javascript): |
| (.timeline-view.memory .legend > .row > .swatch.images): |
| (.timeline-view.memory .legend > .row > .swatch.layers): |
| (.timeline-view.memory .legend > .row > .swatch.page): |
| (.memory-category-view.javascript .line-chart > svg > path): |
| (.memory-category-view.images .line-chart > svg > path): |
| (.memory-category-view.layers .line-chart > svg > path): |
| (.memory-category-view.page .line-chart > svg > path): |
| (.timeline-view.memory .legend > .row > .swatch.current): |
| (.timeline-view.memory .circle-chart > svg > path.current): |
| (.timeline-view.memory .circle-chart > svg > path.remainder): |
| * UserInterface/Views/MemoryTimelineView.js: Added. |
| (WebInspector.MemoryTimelineView): |
| (WebInspector.MemoryTimelineView.displayNameForCategory): |
| (WebInspector.MemoryTimelineView.prototype.get navigationSidebarTreeOutlineLabel): |
| (WebInspector.MemoryTimelineView.prototype.shown): |
| (WebInspector.MemoryTimelineView.prototype.hidden): |
| (WebInspector.MemoryTimelineView.prototype.closed): |
| (WebInspector.MemoryTimelineView.prototype.reset): |
| (WebInspector.MemoryTimelineView.prototype.treeElementPathComponentSelected): |
| (WebInspector.MemoryTimelineView.prototype.layout.timeToX): |
| (WebInspector.MemoryTimelineView.prototype.layout.sizeToY): |
| (WebInspector.MemoryTimelineView.prototype.layout.layoutCategoryView): |
| (WebInspector.MemoryTimelineView.prototype.layout): |
| (WebInspector.MemoryTimelineView.prototype._clearUsageLegend): |
| (WebInspector.MemoryTimelineView.prototype._updateUsageLegend): |
| (WebInspector.MemoryTimelineView.prototype._clearMaxComparisonLegend): |
| (WebInspector.MemoryTimelineView.prototype._updateMaxComparisonLegend): |
| (WebInspector.MemoryTimelineView.prototype._visibleRecords): |
| (WebInspector.MemoryTimelineView.prototype._initializeCategoryViews.appendLegendRow): |
| (WebInspector.MemoryTimelineView.prototype._initializeCategoryViews): |
| (WebInspector.MemoryTimelineView.prototype._memoryTimelineRecordAdded): |
| * UserInterface/Views/Variables.css: |
| (:root): |
| Memory timeline view styles. |
| |
| 2016-02-01 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: add a LayoutReason enum to the View base class |
| https://bugs.webkit.org/show_bug.cgi?id=153731 |
| <rdar://problem/24430938> |
| |
| Reviewed by Brian Burg. |
| |
| Added a LayoutReason enum to the View base class, which can be passed as an optional |
| argument to needsLayout() and updateLayout(). The value is propagated to the view's |
| subtree during layout. |
| |
| * UserInterface/Base/Main.js: |
| Update top-level views with Resize layout reason when window is resized. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid.prototype._positionHeaderViews): |
| Update header view with Resize layout reason when column is resized. |
| |
| * UserInterface/Views/OverviewTimelineView.js: |
| (WebInspector.OverviewTimelineView.prototype.shown): |
| Assume the view has been resized when shown, and update layout. |
| (WebInspector.OverviewTimelineView.prototype.updateLayoutForResize): Deleted. |
| No longer needed, handled by the View base class. |
| |
| * UserInterface/Views/TimelineOverview.js: |
| (WebInspector.TimelineOverview.prototype.shown): |
| Assume the view has been resized when shown, and update layout. |
| (WebInspector.TimelineOverview.prototype.layout): |
| Invalidate cached scroll container width if resized. |
| (WebInspector.TimelineOverview.prototype.updateLayoutForResize): Deleted. |
| No longer needed, handled by the View base class. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView.prototype.layout): Deleted. |
| No longer needed, handled by the View base class. |
| |
| * UserInterface/Views/TimelineRuler.js: |
| (WebInspector.TimelineRuler.prototype.needsLayout): |
| (WebInspector.TimelineRuler.prototype.layout): |
| Update cached client width if resized. |
| (WebInspector.TimelineRuler.prototype.resize): Deleted. |
| Moved resize logic to layout override. |
| |
| * UserInterface/Views/View.js: |
| (WebInspector.View): |
| (WebInspector.View.prototype.updateLayout): |
| Set layout reason. |
| (WebInspector.View.prototype.needsLayout): |
| Set layout reason even if an animation frame has already been scheduled, |
| since the layout reason could have changed. |
| (WebInspector.View.prototype._layoutSubtree): |
| Propagate layout reason to subtree, and reset the value when done. |
| (WebInspector.View.prototype._setLayoutReason): |
| Helper method for updating the layout reason. Ensures that LayoutReason.Resize |
| has priority over the default (LayoutReason.Dirty). |
| |
| 2016-02-01 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Rendering Frames timeline draws all frame bars at minimum height |
| https://bugs.webkit.org/show_bug.cgi?id=153736 |
| <rdar://problem/21946301> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange): |
| Update the new timeline overview's height before it's shown. Showing the |
| overview causes the rendering frames graph to do a layout, which requires |
| the height of the containing view to be a valid value. |
| |
| 2016-02-01 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: DataGridNode should support adding go-to arrow buttons to any cell |
| https://bugs.webkit.org/show_bug.cgi?id=153733 |
| <rdar://problem/24431813> |
| |
| Reviewed by Brian Burg. |
| |
| Provide a way to add go-to arrow buttons to any grid cell from within a |
| DataGridNode subclass's implementation of createCellContent. |
| |
| * UserInterface/Views/DataGrid.js: |
| New event type, GoToArrowClicked. |
| (WebInspector.DataGridNode.prototype.createGoToArrowButton.buttonClicked): |
| (WebInspector.DataGridNode.prototype.createGoToArrowButton): |
| Adds a go-to arrow button to the cell's content element. Clicking the button |
| dispatches an event on the DataGrid, with event data containing the |
| DataGridNode and identifier of the cell containing the arrow button. |
| |
| 2016-01-31 Jeremy Jones <jeremyj@apple.com> |
| |
| Add resize event for HTMLMediaElement |
| https://bugs.webkit.org/show_bug.cgi?id=125715 |
| |
| Reviewed by Darin Adler. |
| |
| Add a display name for "resize" event. |
| |
| * UserInterface/Models/ScriptTimelineRecord.js: |
| (WebInspector.ScriptTimelineRecord.EventType.displayName): |
| |
| 2016-01-30 Dave Hyatt <hyatt@apple.com> |
| |
| Add the break-* properties to Web Inspector's completion set |
| https://bugs.webkit.org/show_bug.cgi?id=153706 |
| |
| Reviewed by Darin Adler. |
| |
| * UserInterface/Models/CSSKeywordCompletions.js: |
| |
| 2016-01-30 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Network panel is empty until the window is resized |
| https://bugs.webkit.org/show_bug.cgi?id=153701 |
| <rdar://problem/24423739> |
| |
| Reviewed by Timothy Hatcher. |
| |
| NetworkGridContentView shouldn't prevent a layout from being scheduled |
| when the network sidebar is collapsed. |
| |
| * UserInterface/Views/NetworkGridContentView.js: |
| (WebInspector.NetworkGridContentView.prototype.needsLayout): Deleted. |
| Removed View.prototype.needsLayout override that was preventing |
| layouts from being scheduled as timeline records are added. |
| |
| 2016-01-30 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Object tree parent items are misaligned |
| https://bugs.webkit.org/show_bug.cgi?id=153699 |
| <rdar://problem/24423683> |
| |
| Reviewed by Darin Adler. |
| |
| * UserInterface/Views/ObjectTreeView.css: |
| (.object-tree .object-tree): |
| Ensure that toplevel Object preview trees are displayed properly while also |
| making child trees inline. |
| |
| * UserInterface/Views/TreeOutline.css: |
| (.tree-outline:not(.hide-disclosure-buttons) .item:not(.parent) > .icon): |
| (.tree-outline:not(.hide-disclosure-buttons) .item:not(.parent) .icon): Deleted. |
| This would apply to all .icon elements contained within a non-parent item, |
| which is not the desired effect. Instead, this should only apply to only the |
| .icon element of that particular non-parent item. |
| |
| 2016-01-29 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Add support for variable size timeline graphs |
| https://bugs.webkit.org/show_bug.cgi?id=153690 |
| <rdar://problem/24421696> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/LayoutTimelineDataGrid.js: |
| (WebInspector.LayoutTimelineDataGrid): Deleted. |
| Remove unnecessary constructor. |
| |
| * UserInterface/Views/TimelineOverviewGraph.js: |
| (WebInspector.TimelineOverviewGraph.prototype.set selectedRecord): |
| Default graph height. |
| |
| * UserInterface/Views/RenderingFrameTimelineOverview.js: |
| (WebInspector.RenderingFrameTimelineOverview.prototype.get height): |
| Custom graph height. |
| |
| * UserInterface/Views/TimelineOverview.js: |
| (WebInspector.TimelineOverview.prototype.get height): |
| Provide a way to get the height of the overview which accumulates graph heights. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView.prototype.get timelineOverviewHeight): |
| (WebInspector.TimelineRecordingContentView.prototype._updateTimelineOverviewHeight): |
| * UserInterface/Views/TimelineSidebarPanel.js: |
| (WebInspector.TimelineSidebarPanel.prototype._updateTimelineOverviewHeight): |
| Switch from assuming certain graph heights to asking the overview for its height. |
| |
| 2016-01-29 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Object previews in the Console are misaligned |
| https://bugs.webkit.org/show_bug.cgi?id=153676 |
| <rdar://problem/24418796> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/ObjectTreeView.css: |
| (.object-tree .tree-outline.object.compact): |
| (.object-tree): Deleted. |
| |
| 2016-01-29 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Provide a way to clear the network panel |
| https://bugs.webkit.org/show_bug.cgi?id=153632 |
| <rdar://problem/23317773> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Added a navigation item to the Network tab that resets the network grid's content. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Views/NetworkGridContentView.js: |
| (WebInspector.NetworkGridContentView): |
| (WebInspector.NetworkGridContentView.prototype.get navigationItems): |
| (WebInspector.NetworkGridContentView.prototype._clearNetworkItems): |
| |
| 2016-01-29 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: WebInspector.Setting should not access localStorage if the value did not change |
| https://bugs.webkit.org/show_bug.cgi?id=153671 |
| <rdar://problem/24417029> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Base/Setting.js: |
| (WebInspector.Setting.prototype.set value): |
| |
| 2016-01-29 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Duplicate tab-types being saved to setting, causing duplicate tabs to be opened |
| https://bugs.webkit.org/show_bug.cgi?id=153659 |
| <rdar://problem/24413157> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.contentLoaded): |
| (WebInspector._rememberOpenTabs): |
| De-duplicate the setting when building the list of tabs for existing |
| cases where the setting has duplicates and de-duplicate storing into |
| the setting, which was causing the issue to begin with. |
| |
| 2016-01-29 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Add font-variant-* to the visual styles sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=148720 |
| <rdar://problem/22569974> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Added another subsection to the "Text" section for font-variant-* |
| properties. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Images/FontVariantSmallCaps.svg: Removed. |
| |
| * UserInterface/Views/VisualStyleDetailsPanel.js: |
| (WebInspector.VisualStyleDetailsPanel): |
| Added another keyword grouping with the "normal" value since it is used |
| frequently in multiple subsections. |
| |
| (WebInspector.VisualStyleDetailsPanel.prototype._populateFontSection): |
| (WebInspector.VisualStyleDetailsPanel.prototype._populateFontVariantsSection): |
| Added the five new font-variant-* properties specified in |
| <https://webkit.org/blog/5735/css-font-features/>. |
| |
| (WebInspector.VisualStyleDetailsPanel.prototype._populateTextSpacingSection): |
| (WebInspector.VisualStyleDetailsPanel.prototype._populateAnimationSection): |
| Replaced the hardcoded "normal" keyword with the new grouping. |
| |
| * UserInterface/Views/VisualStyleKeywordCheckbox.css: |
| (.visual-style-property-container.keyword-checkbox.font-variant > .visual-style-property-value-container > input::after): Deleted. |
| |
| 2016-01-28 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Avoid recreating Timeline's DataGridNode data multiple times |
| https://bugs.webkit.org/show_bug.cgi?id=153608 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/LayoutTimelineDataGridNode.js: |
| (WebInspector.LayoutTimelineDataGridNode.prototype.get data): |
| * UserInterface/Views/RenderingFrameTimelineDataGridNode.js: |
| (WebInspector.RenderingFrameTimelineDataGridNode.prototype.get data): |
| * UserInterface/Views/ScriptTimelineDataGridNode.js: |
| (WebInspector.ScriptTimelineDataGridNode.prototype.get data): |
| Cache the data when we create it the first time. |
| |
| 2016-01-28 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Tabs height should be 2px less to match Safari |
| https://bugs.webkit.org/show_bug.cgi?id=153581 |
| <rdar://problem/24383501> |
| |
| Reviewed by Darin Adler. |
| |
| * UserInterface/Views/TabBar.css: |
| (.tab-bar): |
| |
| (.tab-bar > .item): |
| (.tab-bar > .item.pinned): |
| Make the new tab button ("+") a square. |
| |
| 2016-01-27 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Don't show hand cursor for edited attribute |
| https://bugs.webkit.org/show_bug.cgi?id=152211 |
| <rdar://problem/23870523> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/Editing.css: |
| (.editing, .editing *): |
| |
| 2016-01-27 Saam barati <sbarati@apple.com> |
| |
| CodeMirror will strip out "\r" from files with "\r\n" as newlines causing our offsets into the file to be incorrect |
| https://bugs.webkit.org/show_bug.cgi?id=153529 |
| <rdar://problem/24376799> |
| |
| Reviewed by Timothy Hatcher. |
| |
| This problem manifested in the type token annotator inserting |
| tokens in the wrong places. Because our offsets are computed |
| based on the resource we get from backend, CodeMirror changing |
| the source text will cause all of our offsets to be incorrect. |
| |
| * UserInterface/Views/CodeMirrorEditor.js: |
| (WebInspector.CodeMirrorEditor.create): |
| (WebInspector.CodeMirrorEditor): |
| * UserInterface/Views/TextEditor.js: |
| (WebInspector.TextEditor.set string.update): |
| (WebInspector.TextEditor.prototype.set string): |
| |
| 2016-01-27 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Regression (r195303) - Changes to TreeOutline break styling of lists in Visual sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=153563 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Removed duplicate properties and used new methods of TreeOutline to achieve |
| the desired styling effects. |
| |
| * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css: |
| (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item.visual-style-font-family-list-item > .visual-style-comma-separated-keyword-item-editor): |
| (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item > .titles): Deleted. |
| |
| * UserInterface/Views/VisualStyleSelectorSection.js: |
| (WebInspector.VisualStyleSelectorSection): |
| |
| * UserInterface/Views/VisualStyleSelectorTreeItem.css: |
| (.item.visual-style-selector-item > .icon): |
| (.item.visual-style-selector-item > .titles): |
| (.item.visual-style-selector-item > .titles > .subtitle): |
| (.item.visual-style-selector-item.selected > .titles > .subtitle): |
| (.item.visual-style-selector-item > .titles > .subtitle::before): Deleted. |
| |
| 2016-01-27 Simon Fraser <simon.fraser@apple.com> |
| |
| Support CSS3 Images values for the image-rendering property |
| https://bugs.webkit.org/show_bug.cgi?id=153556 |
| |
| Reviewed by Dean Jackson. |
| |
| Add "crisp-edges", "pixelated" to the suggestions for image-rendering. |
| |
| * UserInterface/Models/CSSKeywordCompletions.js: |
| |
| 2016-01-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Remove unused FramesLarge.png variants, only the smaller Frames icon is used for the Rendering Frames timeline |
| https://bugs.webkit.org/show_bug.cgi?id=153523 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Images/FramesLarge.png: Removed. |
| * UserInterface/Images/FramesLarge@2x.png: Removed. |
| * UserInterface/Images/gtk/FramesLarge.png: Removed. |
| * UserInterface/Images/gtk/FramesLarge@2x.png: Removed. |
| * UserInterface/Views/TimelineIcons.css: |
| (.rendering-frame-icon.large .icon): Deleted. |
| |
| 2016-01-25 Skachkov Oleksandr <gskachkov@gmail.com> |
| |
| [ES6] Arrow function syntax. Arrow function specific features. Lexical bind "arguments" |
| https://bugs.webkit.org/show_bug.cgi?id=145132 |
| |
| Reviewed by Saam Barati. |
| |
| Current patch is implementing lexical bind of arguments, so in this callback we need |
| to return to ordinary function. |
| |
| * UserInterface/Base/Object.js: |
| (WebInspector.Object.singleFireEventListener.let.wrappedCallback): |
| (WebInspector.Object.singleFireEventListener): |
| |
| 2016-01-25 Saam barati <sbarati@apple.com> |
| |
| Web Inspector: Have top-level ScriptTimelineDataGridNode events show sample counts |
| https://bugs.webkit.org/show_bug.cgi?id=153447 |
| <rdar://problem/24334137> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Models/ScriptTimelineRecord.js: |
| (WebInspector.ScriptTimelineRecord): |
| (WebInspector.ScriptTimelineRecord.prototype.get profile): |
| (WebInspector.ScriptTimelineRecord.prototype.get callCount): |
| (WebInspector.ScriptTimelineRecord.prototype.isGarbageCollection): |
| (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload): |
| * UserInterface/Views/ScriptTimelineDataGridNode.js: |
| (WebInspector.ScriptTimelineDataGridNode.prototype.get data): |
| |
| 2016-01-25 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Reduce unnecessary forced layouts in TimelineOverview |
| https://bugs.webkit.org/show_bug.cgi?id=153392 |
| <rdar://problem/24312344> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/TimelineOverview.js: |
| (WebInspector.TimelineOverview.prototype.layout): |
| Ignore setting the scrollLeft if we would be setting it to 0. |
| This helps avoid a forced layout in common cases. |
| |
| 2016-01-25 Johan K. Jensen <jj@johanjensen.dk> |
| |
| Web Inspector: timelines clear button should be inactive if nothing can be cleared |
| https://bugs.webkit.org/show_bug.cgi?id=132756 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView.prototype.shown): |
| Enable clear button if timeline is not readonly and contains data, when switching timelines. |
| (WebInspector.TimelineRecordingContentView.prototype._capturingStarted): |
| Enable clear button when a capturing starts. |
| (WebInspector.TimelineRecordingContentView.prototype._recordingReset): |
| Disable clear button after resetting recording. |
| |
| 2016-01-25 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Timelines: "Timer Installed150ms delay" — no space before the delay number |
| https://bugs.webkit.org/show_bug.cgi?id=153416 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Fix for tree element subtitle rule that regressed in https://bugs.webkit.org/show_bug.cgi?id=153146. |
| |
| * UserInterface/Views/TreeOutline.css: |
| (.tree-outline .item .alternate-subtitle::before): |
| Em dash should be inserted before both subtitle types. |
| |
| 2016-01-24 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: add support for placing Views in DataGrid column headers |
| https://bugs.webkit.org/show_bug.cgi?id=153387 |
| <rdar://problem/24310797> |
| |
| Reviewed by Timothy Hatcher. |
| |
| This patch adds a new DataGrid column property, `headerView`, allowing a |
| custom View object to be placed in a column's header cell. The grid ensures |
| that the left and right edges of the view are kept in sync as columns are |
| resized. As most views use absolute positioning and are styled in CSS, the |
| vertical position and height of the view isn't set by the grid. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid.prototype.insertColumn): |
| If the new column includes the `headerView` column data property, |
| it should take priority over `titleDOMFragment` and title text. |
| The specified View object is inserted into the DOM under the |
| column's <th> element, and added as a subview of the data grid. |
| (WebInspector.DataGrid.prototype.layout): |
| Update header views after performing default layout. |
| (WebInspector.DataGrid.prototype._showColumn): |
| Set `hidden` column property false instead of deleting it. |
| (WebInspector.DataGrid.prototype._positionHeaderViews): |
| Update the left and right style positions for all Views embedded in |
| column header cells, then update their layouts. |
| (WebInspector.DataGrid.prototype.resizerDragging): |
| Update header views after column resizers are repositioned. |
| |
| 2016-01-24 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Highlight timeline range handles on hover |
| https://bugs.webkit.org/show_bug.cgi?id=153395 |
| <rdar://problem/24312364> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/TimelineRuler.css: |
| (.timeline-ruler > .selection-handle.clamped): |
| Gardening. No need to repeat "1px solid". |
| |
| (.timeline-ruler > .selection-handle:hover, .timeline-ruler > .selection-handle:active): |
| ":active" pseudo selector is needed to keep the handle highligted while it's being dragged |
| regardress if the mouse cursor is hovering over it or not. |
| |
| 2016-01-23 Aaron Chu <arona.chu@gmail.com> |
| |
| Web Inspector: AXI: node-link-list should be collapsible |
| https://bugs.webkit.org/show_bug.cgi?id=130911 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Accessibility Inspector: for a very long children node list, only the first 5 nodes are shown. |
| Remaining nodes are hidden by a "# More…" link by which a user can click to reveal the remainder |
| of the node list. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: |
| (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility.linkListForNodeIds): |
| * UserInterface/Views/Main.css: |
| (.expand-list-button): |
| (.node-link-list, .node-link-list li:not([hidden])): |
| (.node-link-list, .node-link-list li): Deleted. |
| |
| 2016-01-22 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Reduce unnecessary forced layouts in TimelineRuler |
| https://bugs.webkit.org/show_bug.cgi?id=153390 |
| <rdar://problem/24312241> |
| |
| Reviewed by Timothy Hatcher. |
| |
| TimelineRuler's width rarely changes. It should only need to calculate |
| its width when added to the DOM or if the content view containing it |
| has resized and the bounds of the ruler may have changed. |
| |
| Switch everything in TimelineRuler to using a cached width, and add |
| an explicit method, resize, to update this width. This eliminated |
| frequent hangs I was seeing while recording timelines. |
| |
| * UserInterface/Views/OverviewTimelineView.js: |
| (WebInspector.OverviewTimelineView.prototype.shown): |
| (WebInspector.OverviewTimelineView.prototype.updateLayoutForResize): |
| Resize the ruler when the view is shown or resized. |
| |
| * UserInterface/Views/TimelineOverview.js: |
| (WebInspector.TimelineOverview.prototype.shown): |
| (WebInspector.TimelineOverview.prototype.updateLayoutForResize): |
| Resize the ruler when the view is shown or resized. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView.prototype.layout): |
| Inform the current content view of a resize if possible. |
| |
| * UserInterface/Views/TimelineRuler.js: |
| (WebInspector.TimelineRuler.prototype.resize): |
| Update the width. |
| |
| (WebInspector.TimelineRuler.prototype._recalculate): |
| (WebInspector.TimelineRuler.prototype._needsMarkerLayout): |
| (WebInspector.TimelineRuler.prototype._needsSelectionLayout): |
| (WebInspector.TimelineRuler.prototype._handleMouseMove): |
| (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseMove): |
| Use cached width. |
| |
| * UserInterface/Views/TimelineRecordBar.js: |
| (WebInspector.TimelineRecordBar.createCombinedBars): Deleted. |
| Remove some stale code. |
| |
| 2016-01-22 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Sidebar's should remember their width's |
| https://bugs.webkit.org/show_bug.cgi?id=153007 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.widthDidChange): |
| Now calls superclass function. |
| |
| * UserInterface/Views/Sidebar.js: |
| (WebInspector.Sidebar.prototype.set selectedSidebarPanel): |
| Now calls _recalculateWidth with the saved width value of the sidebar as |
| the first parameter. |
| |
| (WebInspector.Sidebar.prototype.set collapsed): |
| Now only calls _recalculateWidth if the selected sidebar panel is visible, |
| seeing as if it is hidden the width is irrelevant. |
| |
| * UserInterface/Views/SidebarPanel.js: |
| (WebInspector.SidebarPanel): |
| Creates a setting object using the panel's identifier to store the current width. |
| |
| (WebInspector.SidebarPanel.prototype.get savedWidth): |
| (WebInspector.SidebarPanel.prototype.widthDidChange): |
| So long as the current width has a value, save it to the setting object. |
| |
| 2016-01-22 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Class toggle add icon flashes when changing nodes |
| https://bugs.webkit.org/show_bug.cgi?id=153341 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._populateClassToggles): |
| Changed the way in which the class toggles are repopulated to prevent the |
| add class icon from being removed and re-added. |
| |
| 2016-01-21 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| REGRESSION (r195305): Web Inspector: WebInspector.Object can dispatch constructor-level events multiple times |
| https://bugs.webkit.org/show_bug.cgi?id=153269 |
| <rdar://problem/24253106> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Bring back object.hasOwnProperty("_listeners") check. |
| |
| * UserInterface/Base/Object.js: |
| (WebInspector.Object.prototype.dispatchEventToListeners.dispatch): |
| (WebInspector.Object.prototype.dispatchEventToListeners): |
| (WebInspector.Object): |
| Check !object._listeners before !object.hasOwnProperty("_listeners") |
| because !object._listeners is more common case thus we can exit earlier |
| most of the time. |
| |
| 2016-01-21 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Add toggle-able list of classes for each element |
| https://bugs.webkit.org/show_bug.cgi?id=152678 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Adds a button to the CSS sidebar that, when toggled, displays a section |
| directly above it containing all the classes for the selected node that, |
| when toggled, adds or removes the class from the node. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| * UserInterface/Protocol/RemoteObject.js: |
| (WebInspector.RemoteObject.prototype.callFunction.mycallback): |
| (WebInspector.RemoteObject.prototype.callFunction): |
| Add extra handling of arguments to allow nicer looking calls by other classes. |
| |
| * UserInterface/Views/CSSStyleDetailsSidebarPanel.css: |
| Changed next-sibling selector (+) to general-sibling selector (~). |
| |
| (.sidebar > .panel.details.css-style > .content ~ :matches(.options-container, .class-list-container)): |
| (.sidebar > .panel.details.css-style > .content:not(.supports-new-rule, .has-filter-bar) ~ :matches(.options-container, .class-list-container)): |
| (.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle): |
| (.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle.selected): |
| (.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle:not(.selected):hover): |
| (.sidebar > .panel.details.css-style > .content ~ .class-list-container): |
| (.sidebar > .panel.details.css-style > .content ~ .class-list-container[hidden]): |
| (.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class): |
| (.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class > input[type="checkbox"]): |
| (.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class > .add-class-icon): |
| (.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class > .class-name-input): |
| (.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class:not(.active) > .class-name-input): |
| (.sidebar > .panel.details.css-style > .content ~ .class-list-container > *:matches(.new-class, .class-toggle)): |
| |
| * UserInterface/Views/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel): |
| Also changed the few instances of "var" to "let". |
| |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.addEventListeners): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._handleNodeAttributeModified): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._handleNodeAttributeRemoved): |
| Adds listeners to the DOMNode specifically listening for changes to the |
| class attribute and repopulates the class toggle list if fired. |
| |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._classToggleButtonClicked): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._addClassContainerClicked): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._addClassInputKeyPressed): |
| If the Enter key is pressed, add a new class equal to the input value. |
| |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._addClassInputBlur): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._populateClassToggles): |
| Loops through all the classes, including previously removed ones, for the |
| selected node and creates a toggle for each. |
| |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._createToggleForClassName.classNameToggleChanged): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._createToggleForClassName): |
| Creates a toggle element for the given className and adds it to the container. |
| |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._toggleClass.resolvedNode.toggleClass): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._toggleClass.resolvedNode): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._toggleClass): |
| Uses the Element.classList to toggle the given className on the selected node. |
| |
| 2016-01-20 Saam barati <sbarati@apple.com> |
| |
| Web Inspector: Hook the sampling profiler into the Timelines UI |
| https://bugs.webkit.org/show_bug.cgi?id=152766 |
| <rdar://problem/24066360> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| The main change in this patch is to swap in the SamplingProfiler |
| in place of the LegacyProfiler. To do this, we've created a data |
| structure called CallingContextTree which aggregates the SamplingProfiler's |
| data into an easy to manage tree. To see how the data structure works, |
| consider the following program: |
| ``` |
| function bar() { // run code here for a long time. } |
| function baz() { // run code here for a long time. } |
| function foo() { bar(); baz(); } |
| foo(); |
| ``` |
| From this program, we will create a tree like this: |
| (program) |
| | |
| | |
| foo |
| | | |
| / \ |
| / \ |
| bar baz |
| |
| From this type of tree, we can easily create a CPUProfile payload |
| object. Because the Timelines UI knows how to interact with the |
| CPUProfile object and display it, we currently map the tree to this object |
| to make it trivially easy to display the SamplingProfiler's data. In the future, |
| we may want to find ways to work directly with the CallingContextTree instead |
| of mapping it into another object. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Controllers/TimelineManager.js: |
| * UserInterface/Main.html: |
| * UserInterface/Models/CallingContextTree.js: Added. |
| * UserInterface/Models/ScriptInstrument.js: |
| * UserInterface/Protocol/ScriptProfilerObserver.js: |
| * UserInterface/TestStub.html: |
| * UserInterface/Views/ScriptTimelineView.js: |
| |
| 2016-01-19 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Uncaught exception when logging an Error object |
| https://bugs.webkit.org/show_bug.cgi?id=153258 |
| <rdar://problem/24249068> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/ErrorObjectView.js: |
| (WebInspector.ErrorObjectView): |
| Initialize members that are used later for clarity. |
| |
| (WebInspector.ErrorObjectView.prototype.collapse): |
| (WebInspector.ErrorObjectView.prototype.expand): |
| This never has a previewView, remove it. |
| |
| (WebInspector.ErrorObjectView.prototype.appendTitleSuffix): |
| Add the suffix ("= $1") after the description and before the |
| content tree outline. |
| |
| 2016-01-19 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Subclasses of WebInspector.Object shouldn't overwrite this._listeners |
| https://bugs.webkit.org/show_bug.cgi?id=153268 |
| <rdar://problem/24252766> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Base/Object.js: |
| (WebInspector.Object.prototype.dispatchEventToListeners): |
| Add a console.assert. |
| |
| * UserInterface/Views/BreakpointTreeElement.js: |
| (WebInspector.BreakpointTreeElement): |
| (WebInspector.BreakpointTreeElement.prototype.onattach): |
| (WebInspector.BreakpointTreeElement.prototype.ondetach): |
| * UserInterface/Views/ProbeSetDataGrid.js: |
| (WebInspector.ProbeSetDataGrid): |
| (WebInspector.ProbeSetDataGrid.prototype.closed): |
| * UserInterface/Views/ProbeSetDetailsSection.js: |
| (WebInspector.ProbeSetDetailsSection): |
| (WebInspector.ProbeSetDetailsSection.prototype.closed): |
| Replace all instances of "this._listeners" with "this._listenerSet". |
| |
| 2016-01-19 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Add protocol version for iOS 9.3 |
| https://bugs.webkit.org/show_bug.cgi?id=153256 |
| rdar://problem/24247951 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Protocol/Legacy/9.3/InspectorBackendCommands.js: Added. |
| * Versions/Inspector-iOS-9.3.json: Added. |
| |
| 2016-01-19 Joseph Pecoraro <pecoraro@apple.com> |
| |
| REGRESSION: Web Inspector: Hovering linkified node references should show node highlight |
| https://bugs.webkit.org/show_bug.cgi?id=153248 |
| <rdar://problem/24245518> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Base/DOMUtilities.js: |
| Show the complete node highlight details (colors and node info). |
| |
| 2016-01-19 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: WebInspector.Object.addEventListener is O(n), make it O(1) |
| https://bugs.webkit.org/show_bug.cgi?id=152422 |
| <rdar://problem/24038047> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Slow addEventListener was the main cause of Console sluggishness[1]. |
| |
| This patch changes: |
| addEventListener from O(n) to O(1) |
| removeEventListener from O(n) to O(1) |
| |
| Now, addEventListener and removeEventListener take <1ms regardless of the |
| number of listeners attached. |
| |
| removeEventListener(null, null, thisObject), a special case when all events |
| for thisObject are removed, was improved from O(n^2) to O(n). |
| |
| * UserInterface/Base/LinkedList.js: Added. |
| (LinkedList): |
| (LinkedList.prototype.clear): |
| (LinkedList.prototype.get last): |
| (LinkedList.prototype.push): |
| (LinkedList.prototype.remove): |
| (LinkedList.prototype.forEach): |
| (LinkedList.prototype.toArray): |
| (LinkedList.prototype.toJSON): |
| (LinkedListNode): |
| LinkedList ensures O(1) time complexity for push and remove operations. |
| |
| * UserInterface/Base/ListMultimap.js: Added. |
| (ListMultimap): |
| (ListMultimap.prototype.get size): |
| (ListMultimap.prototype.add): |
| (ListMultimap.prototype.delete): |
| (ListMultimap.prototype.deleteAll): |
| (ListMultimap.prototype.has): |
| (ListMultimap.prototype.clear): |
| (ListMultimap.prototype.forEach): |
| (ListMultimap.prototype.toArray): |
| (ListMultimap.prototype.toJSON): |
| ListMultimap unsures O(1) time complexity for add, has and delete operations. |
| ListMultimap preserves insertion order by using a LinkedList. |
| |
| * UserInterface/Base/Object.js: |
| (WebInspector.Object): |
| (WebInspector.Object.addEventListener): |
| (WebInspector.Object.removeEventListener): |
| (WebInspector.Object.hasEventListeners): |
| (WebInspector.Object.retainedObjectsWithPrototype): |
| (WebInspector.Object.prototype.dispatchEventToListeners): |
| Replace this._listeners[eventType] from array of objects to ListMultimap. |
| |
| * UserInterface/Main.html: |
| * UserInterface/Test.html: |
| * UserInterface/TestStub.html: |
| |
| 2016-01-19 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: cleanup TreeOutline class and separate styles from NavigationSidebarPanel |
| https://bugs.webkit.org/show_bug.cgi?id=153146 |
| <rdar://problem/24213071> |
| |
| Reviewed by Timothy Hatcher. |
| |
| This patch consolidates and simplifies the tree outline styles that were previously |
| defined across various classes. A new stylesheet, TreeOutline.css, includes all |
| the styles needed to create a basic TreeOutline. |
| |
| In addition, certain tree features which were previously controlled by manually |
| toggling class names have been promoted to properties of TreeOutline: |
| - compact: tree elements have reduced vertical spacing. Used by object trees. |
| The compact and large settings are mutually exclusive. |
| - large: tree elements (and their icons) are large. Used by TimelinesSidebarPanel. |
| Previously there existed a `small` class name which was enabled in every |
| case except TimelineSidebarPanel's Timelines tree. Since it was the rule rather |
| than the exception the class has been removed and is now the default style. |
| - disclosureButtons: control the appearance of disclosure buttons. |
| - customIndent: control use of generated style rules. |
| |
| * UserInterface/Main.html: |
| New CSS file. |
| |
| * UserInterface/Views/ApplicationCacheFrameTreeElement.js: |
| (WebInspector.ApplicationCacheFrameTreeElement): Deleted. |
| * UserInterface/Views/BreakpointTreeElement.js: |
| (WebInspector.BreakpointTreeElement): Deleted. |
| * UserInterface/Views/CallFrameTreeElement.js: |
| (WebInspector.CallFrameTreeElement): Deleted. |
| * UserInterface/Views/ContentFlowTreeElement.js: |
| (WebInspector.ContentFlowTreeElement): Deleted. |
| Removed call to obsolete TreeOutline.prototype.small setter. |
| |
| * UserInterface/Views/DOMTreeOutline.css: |
| (.tree-outline.dom): |
| (.tree-outline.dom li.hovered:not(.selected) .selection): |
| (.tree-outline.dom li .selection): |
| (.tree-outline.dom li.selected .selection): |
| (.tree-outline.dom li.elements-drag-over .selection): |
| (.tree-outline.dom:focus li.selected .selection): |
| (.tree-outline.dom li.selected > span::after): |
| (.tree-outline.dom:focus li.selected > span::after): |
| (.tree-outline.dom ol): |
| (.tree-outline.dom ol.children): |
| (.tree-outline.dom ol.children.expanded): |
| (.tree-outline.dom li): |
| (.tree-outline.dom li.pseudo-class-enabled > .selection::before): |
| (.tree-outline.dom.single-node li): |
| (.tree-outline.dom:focus li.selected): |
| (.tree-outline.dom:focus li.selected.pseudo-class-enabled > .selection::before): |
| (.tree-outline.dom:focus li.selected *): |
| (.tree-outline.dom li.parent): |
| (.tree-outline.dom li .html-tag.close): |
| (.tree-outline.dom li.parent::before): |
| (.tree-outline.dom:focus li.parent.selected::before): |
| (.tree-outline.dom li.parent.expanded::before): |
| (.tree-outline.dom:focus li.parent.expanded.selected::before): |
| (.tree-outline.dom .html-text-node.large): |
| (.tree-outline.dom .html-pseudo-element): |
| (.tree-outline.dom .html-fragment.shadow): |
| (.showing-find-banner .tree-outline.dom .search-highlight): |
| (.dom-tree-outline): Deleted. |
| (.dom-tree-outline li.hovered:not(.selected) .selection): Deleted. |
| (.dom-tree-outline li .selection): Deleted. |
| (.dom-tree-outline li.selected .selection): Deleted. |
| (.dom-tree-outline li.elements-drag-over .selection): Deleted. |
| (.dom-tree-outline:focus li.selected .selection): Deleted. |
| (.dom-tree-outline li.selected > span::after): Deleted. |
| (.dom-tree-outline:focus li.selected > span::after): Deleted. |
| (.dom-tree-outline ol): Deleted. |
| (.dom-tree-outline ol.children): Deleted. |
| (.dom-tree-outline ol.children.expanded): Deleted. |
| (.dom-tree-outline li): Deleted. |
| (.dom-tree-outline li.pseudo-class-enabled > .selection::before): Deleted. |
| (.dom-tree-outline.single-node li): Deleted. |
| (.dom-tree-outline:focus li.selected): Deleted. |
| (.dom-tree-outline:focus li.selected.pseudo-class-enabled > .selection::before): Deleted. |
| (.dom-tree-outline:focus li.selected *): Deleted. |
| (.dom-tree-outline li.parent): Deleted. |
| (.dom-tree-outline li .html-tag.close): Deleted. |
| (.dom-tree-outline li.parent::before): Deleted. |
| (.dom-tree-outline:focus li.parent.selected::before): Deleted. |
| (.dom-tree-outline li.parent.expanded::before): Deleted. |
| (.dom-tree-outline:focus li.parent.expanded.selected::before): Deleted. |
| (.dom-tree-outline .html-text-node.large): Deleted. |
| (.dom-tree-outline .html-pseudo-element): Deleted. |
| (.dom-tree-outline .html-fragment.shadow): Deleted. |
| (.showing-find-banner .dom-tree-outline .search-highlight): Deleted. |
| Updated selectors with new tree outline class names. |
| |
| * UserInterface/Views/DOMTreeOutline.js: |
| (WebInspector.DOMTreeOutline): |
| Use default TreeOutline DOM element, and simplify element class name. |
| |
| * UserInterface/Views/DatabaseTableTreeElement.js: |
| (WebInspector.DatabaseTableTreeElement): Deleted. |
| * UserInterface/Views/DatabaseTreeElement.js: |
| (WebInspector.DatabaseTreeElement): Deleted. |
| Removed call to obsolete TreeOutline.prototype.small setter. |
| |
| * UserInterface/Views/ErrorObjectView.css: |
| (.error-object:not(.expanded) .tree-outline): |
| (.error-object .tree-outline): |
| (.error-object:not(.expanded) .error-object-outline): Deleted. |
| (.error-object-outline): Deleted. |
| Updated selectors with new tree outline class names. |
| |
| * UserInterface/Views/ErrorObjectView.js: |
| (WebInspector.ErrorObjectView): Deleted. |
| Removed unused tree outline class name. |
| |
| * UserInterface/Views/FolderTreeElement.js: |
| (WebInspector.FolderTreeElement): Deleted. |
| Removed call to obsolete TreeOutline.prototype.small setter. |
| |
| * UserInterface/Views/FormattedValue.css: |
| (.formatted-node > .tree-outline.dom): |
| (.formatted-node > .tree-outline.dom ol): |
| (.formatted-node > .tree-outline.dom li): |
| (.formatted-node > .tree-outline.dom li.hovered:not(.selected) .selection): |
| (.formatted-node > .dom-tree-outline): Deleted. |
| (.formatted-node > .dom-tree-outline ol): Deleted. |
| (.formatted-node > .dom-tree-outline li): Deleted. |
| (.formatted-node > .dom-tree-outline li.hovered:not(.selected) .selection): Deleted. |
| Updated selectors with new tree outline class names. |
| |
| * UserInterface/Views/GeneralTreeElement.js: |
| (WebInspector.GeneralTreeElement.prototype._updateTitleTooltip): |
| (WebInspector.GeneralTreeElement.prototype.get small): Deleted. |
| (WebInspector.GeneralTreeElement.prototype.set small): Deleted. |
| (WebInspector.GeneralTreeElement.prototype.get twoLine): Deleted. |
| (WebInspector.GeneralTreeElement.prototype.set twoLine): Deleted. |
| Removed properties `small` and `twoLine`. The first is no longer needed as |
| it is now the default tree element style. The second was not being used. |
| |
| * UserInterface/Views/IndexedDatabaseObjectStoreIndexTreeElement.js: |
| (WebInspector.IndexedDatabaseObjectStoreIndexTreeElement): Deleted. |
| * UserInterface/Views/IndexedDatabaseObjectStoreTreeElement.js: |
| (WebInspector.IndexedDatabaseObjectStoreTreeElement): Deleted. |
| * UserInterface/Views/IndexedDatabaseTreeElement.js: |
| (WebInspector.IndexedDatabaseTreeElement): Deleted. |
| Removed call to obsolete TreeOutline.prototype.small setter. |
| |
| * UserInterface/Views/IssueTreeElement.css: |
| (.navigation-sidebar-panel-content-tree-outline .item.small.issue .icon): Deleted. |
| No longer needed. |
| |
| * UserInterface/Views/IssueTreeElement.js: |
| (WebInspector.IssueTreeElement): Deleted. |
| Removed call to obsolete TreeOutline.prototype.small setter. |
| |
| * UserInterface/Views/LayoutTimelineView.css: |
| (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .tree-outline.layout .item .subtitle): |
| (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.layout .item .subtitle): Deleted. |
| Updated selectors with new tree outline class names. |
| |
| * UserInterface/Views/LogTreeElement.js: |
| (WebInspector.LogTreeElement): Deleted. |
| Removed call to obsolete TreeOutline.prototype.small setter. |
| |
| * UserInterface/Views/NavigationSidebarPanel.css: |
| (.navigation-sidebar-panel-content-tree-outline .children): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline .children.expanded): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline .item): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline.hide-disclosure-buttons > .children): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline > .children.hide-disclosure-buttons > .children): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline:not(.hide-disclosure-buttons) .item:not(.parent) .icon): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline.hide-disclosure-buttons .item.small): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline .item .disclosure-button): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline.hide-disclosure-buttons .item .disclosure-button): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline .item.parent .disclosure-button): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .disclosure-button): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline .item.expanded .disclosure-button): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected.expanded .disclosure-button): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline .item .icon): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline .item .status): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline .item .status:empty): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline .item.selected): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected): Deleted. |
| (body.window-inactive .navigation-sidebar-panel-content-tree-outline .item.selected): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline .item .titles): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline .item .highlighted): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline .item .titles.no-subtitle): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline .item .title::after): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline .item .subtitle): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .subtitle): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline .item .subtitle:empty): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline .item.small): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline .item.small.two-line): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline .item.small .icon): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline .item.small .status): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline .item.small .status .indeterminate-progress-spinner): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline .item.small .titles): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline .item.small.two-line .status): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline .item.small.two-line .titles): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline .item.small.two-line .titles.no-subtitle): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline .item.small .subtitle): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline .item.small.two-line .icon): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline .item.small:not(.two-line) .title::after): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline .item.small:not(.two-line) .subtitle::before): Deleted. |
| Generic tree outline styles removed, cleaned up, and relocated to TreeOutline.css. |
| |
| * UserInterface/Views/NavigationSidebarPanel.js: |
| Removed static property HideDisclosureButtonsStyleClassName, which is now |
| encapsulated by TreeOutline. |
| (WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline): |
| Use default TreeOutline DOM element instead of creating it. |
| (WebInspector.NavigationSidebarPanel): Deleted. |
| Remove call to generate style rules. |
| (WebInspector.NavigationSidebarPanel.prototype._generateStyleRulesIfNeeded): Deleted. |
| Moved to TreeOutline.js. |
| |
| * UserInterface/Views/NetworkSidebarPanel.css: |
| (.sidebar > .panel.navigation.network.network-grid-content-view-showing .tree-outline.network-grid .item .subtitle): |
| (.sidebar > .panel.navigation.network > .content > .tree-outline): |
| (.sidebar > .panel.navigation.network.network-grid-content-view-showing > .content > .tree-outline): |
| (.sidebar > .panel.navigation.network.network-grid-content-view-showing .navigation-sidebar-panel-content-tree-outline.network-grid .item .subtitle): Deleted. |
| (.sidebar > .panel.navigation.network > .content > .navigation-sidebar-panel-content-tree-outline): Deleted. |
| (.sidebar > .panel.navigation.network.network-grid-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline): Deleted. |
| Updated selectors with new tree outline class names. |
| |
| * UserInterface/Views/NetworkSidebarPanel.js: |
| (WebInspector.NetworkSidebarPanel): |
| Disable tree outline disclosure buttons. |
| |
| * UserInterface/Views/NetworkTimelineView.css: |
| (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .tree-outline.network .item .subtitle): |
| (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.network .item .subtitle): Deleted. |
| Updated selectors with new tree outline class names. |
| |
| * UserInterface/Views/NetworkTimelineView.js: |
| (WebInspector.NetworkTimelineView): |
| Disable tree outline disclosure buttons. |
| |
| * UserInterface/Views/ObjectTreeArrayIndexTreeElement.css: |
| (.object-tree-array-index .index-value .object-tree .tree-outline.object): |
| (.object-tree-array-index .index-value .formatted-node .tree-outline.dom): |
| (.object-tree-array-index .index-value .object-tree .object-tree-outline): Deleted. |
| (.object-tree-array-index .index-value .formatted-node .dom-tree-outline): Deleted. |
| Updated selectors with new tree outline class names. |
| |
| * UserInterface/Views/ObjectTreeBaseTreeElement.js: |
| (WebInspector.ObjectTreeBaseTreeElement): Deleted. |
| Removed call to obsolete TreeOutline.prototype.small setter. |
| |
| * UserInterface/Views/ObjectTreePropertyTreeElement.css: |
| (.tree-outline .item.object-tree-property): |
| (.item.object-tree-property.prototype-property): |
| (.item.object-tree-property.prototype-property + ol): |
| (.object-tree-property): Deleted. |
| (.object-tree-property > .titles): Deleted. |
| (.object-tree-property > .disclosure-button): Deleted. |
| (.object-tree-property.parent > .disclosure-button): Deleted. |
| (.object-tree-property.parent.expanded > .disclosure-button): Deleted. |
| (.object-tree-property > .icon): Deleted. |
| (.object-tree-property.prototype-property): Deleted. |
| (.object-tree-property.prototype-property + ol): Deleted. |
| Updated selectors with new tree outline class names, removed styles which |
| are now provided by TreeOutline.css. |
| |
| * UserInterface/Views/ObjectTreeView.css: |
| (.object-tree .tree-outline.object): |
| (.object-tree.expanded > .tree-outline.object): |
| (.tree-outline.object): |
| (.object-tree.properties-only .tree-outline.object): |
| (.tree-outline.object li): |
| (.tree-outline.object ol): |
| (.tree-outline.object ol.expanded): |
| (.tree-outline.object li .empty-message): |
| (.object-tree .object-tree-outline): Deleted. |
| (.object-tree.expanded > .object-tree-outline): Deleted. |
| (.object-tree-outline): Deleted. |
| (.object-tree.properties-only .object-tree-outline): Deleted. |
| (.object-tree-outline li): Deleted. |
| (.object-tree-outline ol): Deleted. |
| (.object-tree-outline ol.expanded): Deleted. |
| (.object-tree-outline li .empty-message): Deleted. |
| Updated selectors with new tree outline class names. |
| |
| * UserInterface/Views/ObjectTreeView.js: |
| (WebInspector.ObjectTreeView): |
| Use default TreeOutline DOM element, and simplify element class name. |
| Enable custom indent (disables generated style rules). |
| |
| * UserInterface/Views/ProfileNodeTreeElement.js: |
| (WebInspector.ProfileNodeTreeElement): Deleted. |
| Removed call to obsolete TreeOutline.prototype.small setter. |
| |
| * UserInterface/Views/RenderingFrameTimelineView.css: |
| (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .tree-outline.rendering-frame .item:not(.paint-record):not(.layout-record) .subtitle): |
| (.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): Deleted. |
| Updated selectors with new tree outline class names. |
| |
| * UserInterface/Views/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel): |
| Disable tree outline disclosure buttons. |
| (WebInspector.ResourceSidebarPanel.prototype._extraDomainsActivated): |
| Enable tree outline disclosure buttons. |
| |
| * UserInterface/Views/ScriptTimelineView.css: |
| (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .tree-outline.script .item .subtitle): |
| (.sidebar > .panel.navigation.timeline:not(.timeline-recording-content-view-showing) .tree-outline.script .item .alternate-subtitle): |
| (.tree-outline .item .alternate-subtitle): |
| (.tree-outline:matches(:focus, .force-focus) .item.selected .alternate-subtitle): |
| (.tree-outline .item.small:not(.two-line) .alternate-subtitle::before): |
| (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.script .item .subtitle): Deleted. |
| (.sidebar > .panel.navigation.timeline:not(.timeline-recording-content-view-showing) .navigation-sidebar-panel-content-tree-outline.script .item .alternate-subtitle): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline .item .alternate-subtitle): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .alternate-subtitle): Deleted. |
| (.navigation-sidebar-panel-content-tree-outline .item.small:not(.two-line) .alternate-subtitle::before): Deleted. |
| Updated selectors with new tree outline class names. |
| |
| * UserInterface/Views/SearchResultTreeElement.js: |
| (WebInspector.SearchResultTreeElement): Deleted. |
| * UserInterface/Views/SourceCodeTreeElement.js: |
| (WebInspector.SourceCodeTreeElement): Deleted. |
| * UserInterface/Views/StorageTreeElement.js: |
| (WebInspector.StorageTreeElement): Deleted. |
| Removed call to obsolete TreeOutline.prototype.small setter. |
| |
| * UserInterface/Views/TimelineDataGrid.css: |
| (.tree-outline.timeline-data-grid .item:hover): |
| (.tree-outline.timeline-data-grid .item:hover .subtitle): |
| (.timeline-data-grid-tree-outline): Deleted. |
| (.timeline-data-grid-tree-outline .item): Deleted. |
| (.timeline-data-grid-tree-outline .item .status): Deleted. |
| (.timeline-data-grid-tree-outline .item .icon): Deleted. |
| (.timeline-data-grid-tree-outline .item:hover): Deleted. |
| (.timeline-data-grid-tree-outline .item .titles): Deleted. |
| (.timeline-data-grid-tree-outline .item .title::after): Deleted. |
| (.timeline-data-grid-tree-outline .item .subtitle): Deleted. |
| (.timeline-data-grid-tree-outline .item:hover .subtitle): Deleted. |
| (.timeline-data-grid-tree-outline .item .subtitle:empty): Deleted. |
| (.timeline-data-grid-tree-outline .item.small): Deleted. |
| (.timeline-data-grid-tree-outline .item.small .icon): Deleted. |
| (.timeline-data-grid-tree-outline .item.small .status): Deleted. |
| (.timeline-data-grid-tree-outline .item.small .titles): Deleted. |
| (.timeline-data-grid-tree-outline .item.small .subtitle): Deleted. |
| (.timeline-data-grid-tree-outline .item.small:not(.two-line) .title::after): Deleted. |
| (.timeline-data-grid-tree-outline .item.small:not(.two-line) .subtitle::before): Deleted. |
| Updated selectors with new tree outline class names, removed styles which |
| are now provided by TreeOutline.css. |
| |
| * UserInterface/Views/TimelineDataGrid.js: |
| (WebInspector.TimelineDataGrid.prototype._createPopoverContent): |
| Use default TreeOutline DOM element, and simplify element class name. |
| |
| * UserInterface/Views/TimelineRecordTreeElement.js: |
| (WebInspector.TimelineRecordTreeElement): Deleted. |
| Removed call to obsolete TreeOutline.prototype.small setter. |
| |
| * UserInterface/Views/TimelineSidebarPanel.css: |
| (.sidebar > .panel.navigation.timeline > .timelines-content .close-button): Deleted. |
| Removed styles which are now provided by TreeOutline.css. |
| |
| * UserInterface/Views/TimelineSidebarPanel.js: |
| (WebInspector.TimelineSidebarPanel): |
| Disable tree outline disclosure buttons, enable large tree style. |
| |
| * UserInterface/Views/TimelineView.css: |
| (.panel.navigation.timeline > .content > .tree-outline): |
| (.panel.navigation.timeline.timeline-recording-content-view-showing > .content > .tree-outline): |
| (.panel.navigation.timeline > .content > .navigation-sidebar-panel-content-tree-outline): Deleted. |
| (.panel.navigation.timeline.timeline-recording-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline): Deleted. |
| Updated selectors with new tree outline class names. |
| |
| * UserInterface/Views/TreeOutline.css: Added. |
| (.tree-outline .children): |
| (.tree-outline .children.expanded): |
| (.tree-outline .item): |
| (.tree-outline.compact .item): |
| (.tree-outline.large .item): |
| (.tree-outline.hide-disclosure-buttons > .children): |
| (.tree-outline > .children.hide-disclosure-buttons > .children): |
| (.tree-outline:not(.hide-disclosure-buttons) .item:not(.parent) .icon): |
| (.tree-outline .item .disclosure-button): |
| (.tree-outline.hide-disclosure-buttons .item .disclosure-button): |
| (.tree-outline .item.parent .disclosure-button): |
| (.tree-outline:matches(:focus, .force-focus) .item.selected .disclosure-button): |
| (.tree-outline .item.expanded .disclosure-button): |
| (.tree-outline:matches(:focus, .force-focus) .item.selected.expanded .disclosure-button): |
| (.tree-outline .item .icon): |
| (.tree-outline.compact .item .icon): |
| (.tree-outline.large .item .icon): |
| (.tree-outline .item .status): |
| (.tree-outline.large .item .status): |
| (.tree-outline .item .status:empty): |
| (.tree-outline .item.selected): |
| (.tree-outline:matches(:focus, .force-focus) .item.selected): |
| (body.window-inactive .tree-outline .item.selected): |
| (.tree-outline .item .titles): |
| (.tree-outline.compact .item .titles): |
| (.tree-outline.large .item .titles): |
| (.tree-outline .item .highlighted): |
| (.tree-outline.large .item .titles.no-subtitle): |
| (.tree-outline .item .title::after): |
| (.tree-outline .item .subtitle): |
| (.tree-outline.large .item .subtitle): |
| (.tree-outline:matches(:focus, .force-focus) .item.selected .subtitle): |
| (.tree-outline .item .subtitle:empty): |
| (.tree-outline:not(.large) .item .status .indeterminate-progress-spinner): |
| (.tree-outline .item .subtitle::before): |
| Relocated tree outlines styles from NavigationSidebarPanel.css. |
| |
| * UserInterface/Views/TreeOutline.js: |
| (WebInspector.TreeOutline): |
| (WebInspector.TreeOutline.prototype.get compact): |
| (WebInspector.TreeOutline.prototype.set compact): |
| (WebInspector.TreeOutline.prototype.get large): |
| (WebInspector.TreeOutline.prototype.set large): |
| (WebInspector.TreeOutline.prototype.get disclosureButtons): |
| (WebInspector.TreeOutline.prototype.set disclosureButtons): |
| (WebInspector.TreeOutline.prototype.get customIndent): |
| (WebInspector.TreeOutline.prototype.set customIndent): |
| Added properties for tree element appearance and indentation |
| behavior, so clients don't need to manually toggle style classes. |
| (WebInspector.TreeOutline._generateStyleRulesIfNeeded): |
| Relocated from NavigationSidebarPanel.js. |
| |
| * UserInterface/Views/TypeTreeElement.js: |
| (WebInspector.TypeTreeElement): Deleted. |
| Removed call to obsolete TreeOutline.prototype.small setter. |
| |
| * UserInterface/Views/TypeTreeView.css: |
| (.tree-outline.type): |
| (.tree-outline.type li): |
| (.tree-outline.type ol): |
| (.tree-outline.type ol.expanded): |
| (.tree-outline.type li .empty-message): |
| (.type-tree-outline): Deleted. |
| (.type-tree-outline li): Deleted. |
| (.type-tree-outline ol): Deleted. |
| (.type-tree-outline ol.expanded): Deleted. |
| (.type-tree-outline li .empty-message): Deleted. |
| Updated selectors with new tree outline class names. |
| |
| * UserInterface/Views/TypeTreeView.js: |
| (WebInspector.TypeTreeView): |
| Use default TreeOutline DOM element, and simplify element class name. |
| |
| 2016-01-13 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Inspector should use the last sourceURL / sourceMappingURL directive |
| https://bugs.webkit.org/show_bug.cgi?id=153072 |
| <rdar://problem/24168312> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Base/Utilities.js: |
| Prepend instead of append the sourceURL so the provided string |
| can include a sourceURL and override it. Such as manually |
| evaluating a script through the quick console with a sourceURL. |
| |
| * UserInterface/Models/SourceMapResource.js: |
| Fix an incorrectly named property. |
| |
| 2016-01-13 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Add support for the existing GradientEditor in the CSS Rules sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=153004 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Both the Visual sidebar and Resource view have editors for CSS gradient |
| values, but the Rules sidebar instead only adds editors for basic color |
| values. Instead of duplicating the code for gradient swatches, existing |
| code will be used to give this same functionality to the Rules sidebar. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Main.html: |
| |
| * UserInterface/Models/Gradient.js: |
| (WebInspector.Gradient): |
| (WebInspector.Gradient.fromString): |
| (WebInspector.Gradient.stopsWithComponents): |
| (WebInspector.Gradient.prototype.copy): |
| (WebInspector.Gradient.prototype.toString): |
| Refactored WebInspector.Gradient into its own class. |
| |
| (WebInspector.LinearGradient): |
| (WebInspector.LinearGradient.prototype.toString): |
| Now uses WebInspector.Gradient inheritance and methods. |
| |
| (WebInspector.RadialGradient): |
| (WebInspector.RadialGradient.prototype.toString): |
| Now uses WebInspector.Gradient inheritance and methods. |
| |
| * UserInterface/Views/CSSStyleDeclarationTextEditor.css: |
| Use InlineSwatch.css values instead. |
| |
| (.css-style-text-editor > .CodeMirror .CodeMirror-lines .cubic-bezier-marker): Deleted. |
| (@media (-webkit-max-device-pixel-ratio: 1)): Deleted. |
| (.css-style-text-editor > .CodeMirror .CodeMirror-lines .cubic-bezier-marker:hover): Deleted. |
| (.css-style-text-editor > .CodeMirror .CodeMirror-lines .cubic-bezier-marker:active): Deleted. |
| |
| * UserInterface/Views/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.didDismissPopover): Deleted. |
| Removed unused popover member variable. |
| |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._contentChanged): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers.update): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._createInlineSwatches.createSwatch): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._createInlineSwatches.update): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._createInlineSwatches): |
| Renamed variables for more consistent naming and reimplemented the logic |
| to use the new WebInspector.InlineSwatch methods. As a result, it was |
| possible to consolidate the 3 different type of swatch functions into a |
| single function. |
| |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._commentProperty.update): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._uncommentRange.update): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._inlineSwatchValueChanged.update): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._inlineSwatchValueChanged): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches.createSwatch): Deleted. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches.update): Deleted. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches): Deleted. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._createBezierEditors.update): Deleted. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._createBezierEditors): Deleted. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchColorChanged.update): Deleted. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchColorChanged): Deleted. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._cubicBezierMarkerClicked.updateCodeMirror.update): Deleted. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._cubicBezierMarkerClicked.updateCodeMirror): Deleted. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._cubicBezierMarkerClicked): Deleted. |
| |
| * UserInterface/Views/CodeMirrorTextMarkers.js: |
| (createCodeMirrorColorTextMarkers.matchFunction): |
| Added logic so that if the matched color string is found inside a gradient, |
| it will not have a marker created for it. |
| |
| * UserInterface/Views/InlineSwatch.css: Renamed from Source/WebInspectorUI/UserInterface/Views/ColorSwatch.css. |
| Consolidated the various swatch CSS classes into one file. |
| |
| (.inline-swatch): |
| (.inline-swatch.bezier): |
| (.inline-swatch.bezier:hover): |
| (.inline-swatch.bezier:active): |
| (@media (-webkit-max-device-pixel-ratio: 1)): |
| (.inline-swatch > span): |
| Ensured that the inner swatch element can not be selected so that the "click" |
| listener on its parent always fires. |
| |
| (.inline-swatch:hover > span): |
| (.inline-swatch:active > span): |
| (.inline-swatch.bezier > span): |
| |
| * UserInterface/Views/InlineSwatch.js: Renamed from Source/WebInspectorUI/UserInterface/Views/ColorSwatch.js. |
| (WebInspector.InlineSwatch): |
| Now accepts a new first argument to indicate what type of color swatch |
| to create and what functionality it will have. Currently has options |
| for WebInspector.Color, WebInspector.Gradient, and WebInspector.CubicBezier. |
| |
| (WebInspector.InlineSwatch.prototype.get element): |
| (WebInspector.InlineSwatch.prototype.get value): |
| (WebInspector.InlineSwatch.prototype.set value): |
| (WebInspector.InlineSwatch.prototype._fallbackValue): |
| (WebInspector.InlineSwatch.prototype._updateSwatch): |
| (WebInspector.InlineSwatch.prototype._swatchElementClicked): |
| (WebInspector.InlineSwatch.prototype._valueEditorValueDidChange): |
| (WebInspector.InlineSwatch.prototype._handleContextMenuEvent): |
| (WebInspector.InlineSwatch.prototype._getNextValidHEXFormat.hexMatchesCurrentColor): |
| (WebInspector.InlineSwatch.prototype._getNextValidHEXFormat): |
| |
| * UserInterface/Views/VisualStyleBackgroundPicker.css: |
| (.visual-style-property-container.background-picker > .visual-style-property-value-container > .inline-swatch.gradient): |
| (.visual-style-property-container.background-picker > .visual-style-property-value-container:not(.gradient-value) > .inline-swatch.gradient): |
| (.visual-style-property-container.background-picker > .visual-style-property-value-container > .inline-swatch.gradient:hover): |
| (.visual-style-property-container.background-picker > .visual-style-property-value-container > .inline-swatch.gradient:active): |
| (.visual-style-property-container.background-picker > .visual-style-property-value-container > .inline-swatch.gradient > span): |
| (.visual-style-property-container.background-picker > .visual-style-property-value-container.gradient-value > .inline-swatch.gradient + .value-input): |
| (.visual-style-property-container.background-picker > .visual-style-property-value-container > .color-swatch): Deleted. |
| (.visual-style-property-container.background-picker > .visual-style-property-value-container:not(.gradient-value) > .color-swatch): Deleted. |
| (.visual-style-property-container.background-picker > .visual-style-property-value-container > .color-swatch:hover): Deleted. |
| (.visual-style-property-container.background-picker > .visual-style-property-value-container > .color-swatch:active): Deleted. |
| (.visual-style-property-container.background-picker > .visual-style-property-value-container > .color-swatch > span): Deleted. |
| (.visual-style-property-container.background-picker > .visual-style-property-value-container.gradient-value > .color-swatch + .value-input): Deleted. |
| |
| * UserInterface/Views/VisualStyleBackgroundPicker.js: |
| Removed the specific code for the gradient swatch and moved to using a |
| gradient-type InlineSwatch for gradient values instead. |
| |
| (WebInspector.VisualStyleBackgroundPicker): |
| (WebInspector.VisualStyleBackgroundPicker.prototype.set value): |
| (WebInspector.VisualStyleBackgroundPicker.prototype._updateGradient): |
| (WebInspector.VisualStyleBackgroundPicker.prototype._gradientSwatchColorChanged): |
| (WebInspector.VisualStyleBackgroundPicker.prototype._valueInputValueChanged): |
| (WebInspector.VisualStyleBackgroundPicker.prototype._handleKeywordChanged): |
| (WebInspector.VisualStyleBackgroundPicker.prototype._updateGradientSwatch): Deleted. |
| (WebInspector.VisualStyleBackgroundPicker.prototype._gradientSwatchClicked.handleColorPickerToggled): Deleted. |
| (WebInspector.VisualStyleBackgroundPicker.prototype._gradientSwatchClicked): Deleted. |
| (WebInspector.VisualStyleBackgroundPicker.prototype._gradientEditorGradientChanged): Deleted. |
| |
| * UserInterface/Views/VisualStyleColorPicker.css: |
| (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .inline-swatch.color): |
| (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .inline-swatch.color:hover): |
| (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .inline-swatch.color:active): |
| (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .inline-swatch.color > span): |
| Add override CSS to ensure that the color-type InlineSwatch displays nicely |
| next to the flexbox style Visual sidebar. |
| |
| (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch): Deleted. |
| (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch:hover): Deleted. |
| (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch:active): Deleted. |
| (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch > span): Deleted. |
| Refactored to only use overriding properties of the basic .inline-swatch values. |
| |
| * UserInterface/Views/VisualStyleColorPicker.js: |
| (WebInspector.VisualStyleColorPicker): |
| (WebInspector.VisualStyleColorPicker.prototype._colorSwatchColorChanged): |
| (WebInspector.VisualStyleColorPicker.prototype._updateColorSwatch): |
| |
| * UserInterface/Views/VisualStyleTimingEditor.css: |
| (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .inline-swatch.bezier): |
| (.visual-style-property-container.timing-editor > .visual-style-property-value-container:not(.bezier-value) > .inline-swatch.bezier): |
| (@media (-webkit-min-device-pixel-ratio: 2)): |
| Add override CSS to ensure that the color-type InlineSwatch displays nicely |
| next to the flexbox style Visual sidebar. |
| |
| (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .bezier-editor): Deleted. |
| (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .bezier-editor:hover): Deleted. |
| (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .bezier-editor:active): Deleted. |
| Refactored to only use overriding properties of the basic .inline-swatch values. |
| |
| * UserInterface/Views/VisualStyleTimingEditor.js: |
| Removed the specific code for the cubic-bezier swatch and moved to using a |
| cubic-bezier-type InlineSwatch for gradient values instead. |
| |
| (WebInspector.VisualStyleTimingEditor): |
| (WebInspector.VisualStyleTimingEditor.prototype.get bezierValue): |
| (WebInspector.VisualStyleTimingEditor.prototype.set bezierValue): |
| (WebInspector.VisualStyleTimingEditor.prototype._setValue): |
| (WebInspector.VisualStyleTimingEditor.prototype._handleKeywordChanged): |
| (WebInspector.VisualStyleTimingEditor.prototype._bezierSwatchValueChanged): |
| (WebInspector.VisualStyleTimingEditor.prototype._bezierMarkerClicked): Deleted. |
| |
| 2016-01-12 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Timeline recording controls should use NavigationBar |
| https://bugs.webkit.org/show_bug.cgi?id=152997 |
| |
| Reviewed by Brian Burg. |
| |
| NavigtaionBar should always be preferred over manually editing the DOM. |
| Reusing existing button types for the record button and status element lets us |
| eliminate a bunch of CSS, and will make future changes to the Timelines UI |
| (such as adding addition recording controls), easier to implement. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| New tooltip strings. |
| |
| * UserInterface/Views/TimelineSidebarPanel.css: |
| (.sidebar > .panel.navigation.timeline > .navigation-bar > .item.record-start-stop): |
| (.sidebar > .panel.navigation.timeline > .navigation-bar > .item.record-start-stop:hover): |
| (.sidebar > .panel.navigation.timeline > .navigation-bar > .item.record-start-stop:active): |
| Replaced similar styles used for the record glyph. |
| (.sidebar > .panel.navigation.timeline > .navigation-bar > .item.record-start-stop *): |
| Prevent multiple mouseover/mouseout events while hovering the navigation item. |
| (.sidebar > .panel.navigation.timeline > .navigation-bar > .item.flexible-space): |
| Replaced similar styles used for the record status element. |
| (.sidebar > .panel.navigation.timeline > .status-bar): Deleted. |
| (body.window-inactive .sidebar > .panel.navigation.timeline > .status-bar): Deleted. |
| (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph): Deleted. |
| (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:hover): Deleted. |
| (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:active): Deleted. |
| (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording): Deleted. |
| (.sidebar > .panel.navigation.timeline > .status-bar > .record-status): Deleted. |
| (.panel.timeline .navigation-bar.timelines-view): Deleted. |
| No longer used. |
| |
| * UserInterface/Views/TimelineSidebarPanel.js: |
| Removed unused CSS static variables. |
| (WebInspector.TimelineSidebarPanel): |
| Create navigation bar, remove status bar DOM elements. Create keyboard shortcut |
| before the record button, so the shortcut's display name can be used in tooltips. |
| (WebInspector.TimelineSidebarPanel.prototype._capturingStartedOrStopped): |
| Update record button state and flexible space (status) text. |
| (WebInspector.TimelineSidebarPanel.prototype._recordButtonClicked): |
| Toggle recording state, and update record button state and flexible space (status) text. |
| (WebInspector.TimelineSidebarPanel.prototype._recordButtonMousedOver): |
| (WebInspector.TimelineSidebarPanel.prototype._recordButtonMousedOut): |
| Update flexible space (status) text. |
| (WebInspector.TimelineSidebarPanel.prototype._updateRecordButton): |
| (WebInspector.TimelineSidebarPanel.prototype._updateReplayInterfaceVisibility): |
| (WebInspector.TimelineSidebarPanel.prototype._toggleRecording): Deleted. |
| (WebInspector.TimelineSidebarPanel.prototype._capturingStarted): Deleted. |
| (WebInspector.TimelineSidebarPanel.prototype._capturingStopped): Deleted. |
| (WebInspector.TimelineSidebarPanel.prototype._recordGlyphMousedOver): Deleted. |
| (WebInspector.TimelineSidebarPanel.prototype._recordGlyphMousedOut): Deleted. |
| (WebInspector.TimelineSidebarPanel.prototype._recordGlyphClicked): Deleted. |
| No longer used. |
| |
| 2016-01-12 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Move helper methods for getting icons/text to TimelineTabContentView |
| https://bugs.webkit.org/show_bug.cgi?id=152996 |
| |
| Reviewed by Brian Burg. |
| |
| In preparation for the Timelines UI redesign, helper methods which existed |
| in the sidebar panel and timeline tree elements need to be relocated, |
| since the sidebar won't exist in the new UI. |
| |
| * UserInterface/Views/TimelineRecordTreeElement.js: |
| (WebInspector.TimelineRecordTreeElement): |
| Removed icon/title code, replaced with calls to new helper methods. |
| Code to create the alternate subtitle was broken out form the rest |
| of the icon/title code, and kept in the constructor. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView.prototype._instrumentAdded): |
| Updated calls to helper methods. |
| |
| * UserInterface/Views/TimelineSidebarPanel.js: |
| (WebInspector.TimelineSidebarPanel.prototype._instrumentAdded): |
| (WebInspector.TimelineSidebarPanel.displayNameForTimeline): Deleted. |
| (WebInspector.TimelineSidebarPanel.iconClassNameForTimeline): Deleted. |
| Moved to TimelineTabContentView. |
| |
| * UserInterface/Views/TimelineTabContentView.js: |
| (WebInspector.TimelineTabContentView.displayNameForTimeline): |
| (WebInspector.TimelineTabContentView.iconClassNameForTimeline): |
| Relocated from TimelineSidebarPanel. |
| (WebInspector.TimelineTabContentView.iconClassNameForRecord): |
| (WebInspector.TimelineTabContentView.displayNameForRecord): |
| New helper methods. Previously part of TimelineRecordTreeElement. |
| |
| 2016-01-12 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: fix some common misspellings in localized strings |
| https://bugs.webkit.org/show_bug.cgi?id=153030 |
| <rdar://problem/24153340> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Replace 'occured', 'transfered' with 'occurred' and 'transferred'. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Views/DatabaseTableContentView.js: |
| (WebInspector.DatabaseTableContentView.prototype._queryError): |
| * UserInterface/Views/NetworkGridContentView.js: |
| (WebInspector.NetworkGridContentView): |
| * UserInterface/Views/NetworkTimelineView.js: |
| (WebInspector.NetworkTimelineView): |
| * UserInterface/Views/ResourceDetailsSidebarPanel.js: |
| (WebInspector.ResourceDetailsSidebarPanel): |
| |
| 2016-01-12 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Fix DataGrid row disclosure appearance and behavior |
| https://bugs.webkit.org/show_bug.cgi?id=152991 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/DataGrid.css: |
| (.data-grid tr.parent td.disclosure::before): |
| Ensure triangle is vertically aligned for any row height. |
| (.data-grid tr:not(.parent) td.disclosure): |
| Fix indent size. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGridNode.prototype.createCell): |
| Added `icon` column property, encapsulate icon element creation. |
| (WebInspector.DataGridNode.prototype.isEventWithinDisclosureTriangle): |
| Fix hit test logic by computing left padding. |
| |
| 2016-01-12 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: REGRESSION (r194879) - Opening views without being previously opened causes an Uncaught Exception |
| https://bugs.webkit.org/show_bug.cgi?id=153006 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/MultipleScopeBarItem.js: |
| (WebInspector.MultipleScopeBarItem.prototype.displaySelectedItem): |
| If there is no selected item, default to the first item in the list. |
| |
| 2016-01-12 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: creating a gradient in the Visual sidebar causes a crash |
| https://bugs.webkit.org/show_bug.cgi?id=153003 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/VisualStyleBackgroundPicker.js: |
| (WebInspector.VisualStyleBackgroundPicker.prototype._gradientSwatchClicked): |
| If a gradient does not already exist when the swatch is clicked, create a basic |
| gradient using the current type and two "transparent" color stops (a minimum of |
| two color stops are needed for a valid gradient). |
| |
| 2016-01-11 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Storage tab navigation bar should fit on a single line |
| https://bugs.webkit.org/show_bug.cgi?id=152473 |
| |
| Reviewed by Timothy Hatcher. |
| |
| The wrapping of the navigation bar on the Storage tab was caused by the |
| fact that Sidebar.js used a minimum width of 200px, regardless of the |
| content within the sidebar (unless it had a NavigationBar). Logic has |
| been added that causes the sidebar to use the selected panel's own |
| minimum width calculation if it is greater than 200px. |
| |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel.prototype.get minimumWidth): |
| |
| * UserInterface/Views/MultipleScopeBarItem.js: |
| (WebInspector.MultipleScopeBarItem.prototype.set selectedScopeBarItem): |
| (WebInspector.MultipleScopeBarItem.prototype.displaySelectedItem): |
| Sets the displayed text to the currently selected item. |
| |
| (WebInspector.MultipleScopeBarItem.prototype.displayWidestItem): |
| Sets the displayed text to the widest (pixel wise) item in the select element. |
| |
| * UserInterface/Views/NavigationBar.js: |
| (WebInspector.NavigationBar.prototype._calculateMinimumWidth): |
| Now uses NavigationItem.prototype.get minimumWidth. |
| |
| * UserInterface/Views/NavitationItem.js: |
| (WebInspector.NavitationItem.prototype.get minimumWidth): |
| Returns the element's realOffsetWidth. |
| |
| * UserInterface/Views/NetworkSidebarPanel.js: |
| (WebInspector.NetworkSidebarPanel.prototype.get minimumWidth): |
| |
| * UserInterface/Views/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype.get minimumWidth): |
| |
| * UserInterface/Views/ScopeBar.js: |
| (WebInspector.ScopeBar): |
| (WebInspector.ScopeBar.prototype.get minimumWidth): |
| |
| * UserInterface/Views/Sidebar.js: |
| (WebInspector.Sidebar.prototype.set selectedSidebarPanel): |
| (WebInspector.Sidebar.prototype.get minimumWidth): |
| (WebInspector.Sidebar.prototype.set width): |
| (WebInspector.Sidebar.prototype.set collapsed): |
| (WebInspector.Sidebar.prototype._recalculateWidth): |
| Whenever the sidebar changes (e.g. tab change, sidebar becomes |
| visible/hidden, etc.), a width recalculation is necessary to ensure |
| that the navigation bar never wraps. |
| |
| * UserInterface/Views/SidebarPanel.js: |
| (WebInspector.SidebarPanel.prototype.get minimumWidth): |
| |
| * UserInterface/Views/StorageSidebarPanel.js: |
| (WebInspector.StorageSidebarPanel.prototype.get minimumWidth): |
| |
| * UserInterface/Views/TimelineSidebarPanel.js: |
| (WebInspector.TimelineSidebarPanel.prototype.get minimumWidth): |
| |
| 2016-01-11 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Make Timelines view also remember sort order |
| https://bugs.webkit.org/show_bug.cgi?id=152811 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Changeset r194574 introduced the ability for WebInspector.Setting objects to |
| be passed to DataGrid instances to save the sort column for that grid. These |
| changes also add the ability for the sort order to be save as well. |
| |
| * UserInterface/Views/ApplicationCacheFrameContentView.js: |
| (WebInspector.ApplicationCacheFrameContentView.prototype._createDataGrid): |
| |
| * UserInterface/Views/CookieStorageContentView.js: |
| (WebInspector.CookieStorageContentView.prototype._rebuildTable): |
| |
| * UserInterface/Views/DOMStorageContentView.js: |
| (WebInspector.DOMStorageContentView): |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid): |
| (WebInspector.DataGrid.prototype.set sortOrder): |
| If a WebInspector.Setting object has been given, save the new sort order. |
| |
| (WebInspector.DataGrid.prototype.set sortOrderSetting): |
| Saves the given WebInspector.Setting object for modification whenever the user |
| changes the sort order. |
| |
| * UserInterface/Views/LayerTreeDetailsSidebarPanel.js: |
| (WebInspector.LayerTreeDetailsSidebarPanel.prototype._buildDataGridSection): |
| |
| * UserInterface/Views/LayoutTimelineView.js: |
| (WebInspector.LayoutTimelineView): |
| |
| * UserInterface/Views/NetworkGridContentView.js: |
| (WebInspector.NetworkGridContentView): |
| |
| * UserInterface/Views/NetworkTimelineView.js: |
| (WebInspector.NetworkTimelineView): |
| |
| * UserInterface/Views/RenderingFrameTimelineView.js: |
| (WebInspector.RenderingFrameTimelineView): |
| |
| * UserInterface/Views/ScriptTimelineView.js: |
| (WebInspector.ScriptTimelineView): |
| |
| 2016-01-11 Johan K. Jensen <jj@johanjensen.dk> |
| |
| Web Inspector: Copying JS object output from console shouldn't include trailing '= $n' |
| https://bugs.webkit.org/show_bug.cgi?id=119347 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/ConsoleMessageView.js: |
| (WebInspector.ConsoleMessageView.prototype.toClipboardString): |
| |
| 2016-01-11 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Add basic Content section to Visual Sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=152972 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Since the "content" property has so many different types of values, a |
| simple text input editor should be added to provide some support for |
| the CSS property until a better, more specialized editor is created. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css: |
| (.visual-style-property-container.comma-separated-keyword-editor): |
| Moved margin-left to new rule in VisualStylePropertyEditor.css. |
| |
| * UserInterface/Views/VisualStyleDetailsPanel.js: |
| (WebInspector.VisualStyleDetailsPanel): |
| (WebInspector.VisualStyleDetailsPanel.prototype._populateContentSection): |
| Adds the basic editor under the Text section in a new subsection |
| called Content. |
| |
| * UserInterface/Views/VisualStylePropertyEditor.css: |
| (.visual-style-property-container > *:first-child:matches(.visual-style-property-value-container)): |
| Adds a left margin to property editors without a title. |
| |
| 2016-01-11 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Visual sidebar minor bug fixes |
| https://bugs.webkit.org/show_bug.cgi?id=152967 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/VisualStyleDetailsPanel.js: |
| (WebInspector.VisualStyleDetailsPanel.prototype.refresh): |
| Only update sections when it is not a significant change, as they are |
| updated when the selector changes. |
| |
| (WebInspector.VisualStyleDetailsPanel.prototype._updateProperties): |
| Only reset links if the refresh is a significant change (node or selected |
| style changes). |
| |
| * UserInterface/Views/VisualStyleNumberInputBox.js: |
| (WebInspector.VisualStyleNumberInputBox): |
| (WebInspector.VisualStyleNumberInputBox.prototype.get value): |
| Removed unreachable return. |
| |
| (WebInspector.VisualStyleNumberInputBox.prototype.set value): |
| (WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputKeyDown.adjustValue): |
| _updatedValues.propertyMissing was changed to _propertyMissing in a |
| prior patch. |
| |
| 2016-01-11 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Migrate Page Timeline recording to ScriptProfiler |
| https://bugs.webkit.org/show_bug.cgi?id=152727 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Images/TimelineRecordAPI.svg: Added. |
| * UserInterface/Images/gtk/TimelineRecordAPI.svg: Added. |
| New [S] image for API initiated script evaluations. |
| Display matches the existing [S] Script Evaluated. |
| Colors match the gray [N] Native image colors. |
| |
| * UserInterface/Models/ScriptInstrument.js: |
| (WebInspector.ScriptInstrument.prototype.startInstrumentation): |
| (WebInspector.ScriptInstrument.prototype.stopInstrumentation): |
| (WebInspector.ScriptInstrument): |
| Use ScriptProfiler, if available, in Web debuggables. |
| |
| * UserInterface/Controllers/TimelineManager.js: |
| (WebInspector.TimelineManager): |
| (WebInspector.TimelineManager.prototype.capturingStarted): |
| (WebInspector.TimelineManager.prototype._processRecord): |
| (WebInspector.TimelineManager.prototype._scriptProfilerTypeToScriptTimelineRecordType): |
| (WebInspector.TimelineManager.prototype.scriptProfilerTrackingUpdated): |
| (WebInspector.TimelineManager.prototype.scriptProfilerTrackingCompleted): |
| (WebInspector.TimelineManager.prototype._mergeScriptProfileRecords.let.nextRecord): |
| (WebInspector.TimelineManager.prototype._mergeScriptProfileRecords.let.recordContainsRecord): |
| (WebInspector.TimelineManager.prototype._mergeScriptProfileRecords): |
| When running a timeline on a web debuggable the frontend receives both |
| Timeline event records and ScriptProfiler events. Timeline (Web) records |
| are high level web events like "Script Evaluated", "Event Dispatched", |
| "Timer Fired". The timestamps for these records should always be wrapping |
| a ScriptProfiler event and its associated profile data. So, at the end |
| of a recording we merge ScriptProfiler profile data into the original |
| Timeline (Web) record. |
| |
| * UserInterface/Models/ScriptTimelineRecord.js: |
| (WebInspector.ScriptTimelineRecord.prototype.get profilePayload): |
| (WebInspector.ScriptTimelineRecord.prototype.set profilePayload): |
| (WebInspector.ScriptTimelineRecord.prototype.setProfilePayload): Deleted. |
| Replace method with getter/setter. |
| |
| (WebInspector.ScriptTimelineRecord.EventType.displayName): |
| Add a new event type for API records, but share display name with Script Evaluated. |
| |
| * UserInterface/Views/NavigationSidebarPanel.js: |
| Fix typo. |
| |
| * UserInterface/Views/ScriptTimelineView.css: |
| (.timeline-view.script > .data-grid .eventType-column): Deleted. |
| There is no "eventType" column in the ScriptTimelineView datagrid, so remove styles. |
| |
| * UserInterface/Views/TimelineIcons.css: |
| (.api-record .icon): |
| * UserInterface/Views/TimelineRecordTreeElement.js: |
| (WebInspector.TimelineRecordTreeElement): |
| For API Script Evaluation records use the new icon. |
| |
| 2016-01-10 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Uncaught Exception selecting IndexedDB host folder in Storage tab |
| https://bugs.webkit.org/show_bug.cgi?id=152943 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel.prototype._isTreeElementWithoutRepresentedObject): |
| Another type of specialized folder tree element. |
| |
| 2016-01-10 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Uncaught Exception: TypeError: undefined is not an object (evaluating 'this._scopeChain[i].object.deprecatedGetAllProperties') |
| https://bugs.webkit.org/show_bug.cgi?id=152944 |
| <rdar://problem/24119827> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Models/CallFrame.js: |
| (WebInspector.CallFrame.prototype.collectScopeChainVariableNames): |
| Missed one place where `object` needed to change to `objects`. |
| Here the list will always contain a single object, only UI |
| generated scopes for the sidebar may have multiple objects. |
| |
| 2016-01-10 Johan K. Jensen <jj@johanjensen.dk> |
| |
| Web Inspector: Dashboard log message count doesn't include console.time messages |
| https://bugs.webkit.org/show_bug.cgi?id=151280 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Models/DefaultDashboard.js: |
| (WebInspector.DefaultDashboard.prototype._incrementConsoleMessageType): |
| Make Info and Debug levels increment the log count. |
| |
| 2016-01-09 Dan Bernstein <mitz@apple.com> |
| |
| [Cocoa] Allow overriding the frameworks directory independently of using a staging install path |
| https://bugs.webkit.org/show_bug.cgi?id=152926 |
| |
| Reviewed by Tim Horton. |
| |
| Introduce a new build setting, WK_OVERRIDE_FRAMEWORKS_DIR. When not empty, it determines |
| where the frameworks are installed. Setting USE_STAGING_INSTALL_PATH to YES sets |
| WK_OVERRIDE_FRAMEWORKS_DIR to $(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari. |
| |
| Account for the possibility of WK_OVERRIDE_FRAMEWORKS_DIR containing spaces. |
| |
| * Configurations/Base.xcconfig: |
| - Replace STAGED_FRAMEWORKS_SEARCH_PATH in FRAMEWORK_SEARCH_PATHS with |
| WK_OVERRIDE_FRAMEWORKS_DIR and add quotes to account for spaces. |
| * Configurations/WebInspectorUIFramework.xcconfig: |
| - Define INSTALL_PATH and PRODUCTION_FRAMEWORKS_DIR based on WK_OVERRIDE_FRAMEWORKS_DIR. |
| |
| 2016-01-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Test Resources should not be included in Production builds unless FORCE_TOOL_INSTALL |
| https://bugs.webkit.org/show_bug.cgi?id=152941 |
| <rdar://problem/24119013> |
| |
| Reviewed by Dan Bernstein. |
| |
| * Configurations/Base.xcconfig: |
| Combine inspector resources in production, but not test resources. |
| |
| * Configurations/DebugRelease.xcconfig: |
| Do not combine inspector resources in Release/Debug. Combine test resources. |
| |
| * Configurations/WebInspectorUIFramework.xcconfig: |
| Simplify by moving to other config files. |
| |
| * Scripts/copy-user-interface-resources.pl: |
| Have FORCE_TOOL_INSTALL combine test resources as well. |
| |
| * WebInspectorUI.vcxproj/build-webinspectorui.pl: |
| Only combine test resources in non-Production. |
| |
| 2016-01-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Initiated section of Resource Details Sidebar should not display as empty and should update as the list changes |
| https://bugs.webkit.org/show_bug.cgi?id=152907 |
| <rdar://problem/24109927> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Models/Resource.js: |
| (WebInspector.Resource.prototype.addInitiatedResource): |
| Dispatch an event when the list of initiated resources changes. |
| |
| * UserInterface/Views/ResourceDetailsSidebarPanel.js: |
| (WebInspector.ResourceDetailsSidebarPanel.prototype.set resource): |
| Add/remove event listeners for initiated resources changes to refresh |
| the related resources section. |
| |
| (WebInspector.ResourceDetailsSidebarPanel.prototype.refresh): |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshURL): |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRelatedResourcesSection): |
| Show/hide the related resources section depending on if we have something or not. |
| |
| 2016-01-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Uncaught exception: TypeError: this._initiatorSourceCodeLocation.sourceCode.addInitiatedResource is not a function |
| https://bugs.webkit.org/show_bug.cgi?id=152905 |
| <rdar://problem/24109809> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Models/Resource.js: |
| (WebInspector.Resource): |
| (WebInspector.Resource.prototype.addInitiatedResource): |
| Only Resource has addInitiatedResource, so only call it if the |
| SourceCode in the SourceCodeLocation is a Resource. |
| |
| 2016-01-07 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Add warnings to section that require specific values of other properties |
| https://bugs.webkit.org/show_bug.cgi?id=148254 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Added a function to VisualStylePropertyEditor to allow dependencies to be set which, |
| whenever the editor is updated or changed, will be checked against the computed styles |
| of the element to see if all the necessary property values are set. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Views/VisualStyleDetailsPanel.js: |
| (WebInspector.VisualStyleDetailsPanel): |
| (WebInspector.VisualStyleDetailsPanel.prototype.refresh): |
| (WebInspector.VisualStyleDetailsPanel.prototype._populatePositionSection): |
| (WebInspector.VisualStyleDetailsPanel.prototype._populateFlexboxSection): |
| (WebInspector.VisualStyleDetailsPanel.prototype._populateAlignmentSection): |
| (WebInspector.VisualStyleDetailsPanel.prototype._populateBorderSection): |
| (WebInspector.VisualStyleDetailsPanel.prototype._populateOutlineSection): |
| Added dependencies to relevant property editors. |
| |
| (WebInspector.VisualStyleDetailsPanel.prototype._prepareForChange): Deleted. |
| No longer needed as the sidebar panel will refresh whenever triggered. |
| |
| * UserInterface/Views/VisualStylePropertyEditor.css: |
| (.visual-style-property-container.layout-reversed > .visual-style-property-title): |
| (.visual-style-property-container > .visual-style-property-title > .property-reference-info): |
| (.visual-style-property-container > .visual-style-property-editor-warning): |
| (.visual-style-property-container.layout-reversed > .visual-style-property-editor-warning): |
| (.visual-style-property-container > .visual-style-property-editor-warning.missing-dependency): |
| (.visual-style-property-container > .visual-style-property-value-container): |
| (.visual-style-property-container.layout-reversed > .visual-style-property-value-container): |
| |
| * UserInterface/Views/VisualStylePropertyEditor.js: |
| (WebInspector.VisualStylePropertyEditor): |
| (WebInspector.VisualStylePropertyEditor.prototype.updateEditorValues): |
| (WebInspector.VisualStylePropertyEditor.prototype.addDependency): |
| (WebInspector.VisualStylePropertyEditor.prototype._valueDidChange): |
| (WebInspector.VisualStylePropertyEditor.prototype._checkDependencies): |
| Looks at the computed style for the node to see if any dependent properties do not |
| have one of the required values. |
| |
| * UserInterface/Views/VisualStyleSelectorSection.js: |
| (WebInspector.VisualStyleSelectorSection.prototype.update.createSelectorItem): |
| (WebInspector.VisualStyleSelectorSection.prototype._styleTextReset): Deleted. |
| |
| * UserInterface/Views/VisualStyleSelectorTreeItem.js: |
| (WebInspector.VisualStyleSelectorTreeItem.prototype._handleContextMenuEvent): |
| |
| 2016-01-07 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Allow error items on Exception page to be selected |
| https://bugs.webkit.org/show_bug.cgi?id=152861 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Debug/UncaughtExceptionReporter.css: |
| (.uncaught-exception-sheet li): |
| Allowed user-select on text. |
| |
| 2016-01-07 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Add border-image properties to Visual sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=152755 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Main.html: |
| Switched the order of VisualStyleURLInput and VisualStyleUnitSlider |
| to be ordered alphabetically. |
| |
| * UserInterface/Views/VisualStyleBackgroundPicker.js: |
| (WebInspector.VisualStyleBackgroundPicker.prototype._keywordSelectMouseDown): |
| |
| * UserInterface/Views/VisualStyleDetailsPanel.css: |
| (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content > .group + .group > .row:first-child): |
| (.sidebar > .panel.details.css-style .visual > .details-section.background .details-section.border .visual-style-property-container.keyword-checkbox.border-image-slice): |
| Since the checkbox is so small, give it less room. |
| |
| * UserInterface/Views/VisualStyleDetailsPanel.js: |
| (WebInspector.VisualStyleDetailsPanel.prototype._populateBorderSection.generateBorderImagePropertyEditors): |
| The three properties "border-image-width", "border-image-outset", and |
| "border-image-slice" all have the same syntax, so one function to generate |
| the layout for all three is much simpler. |
| |
| (WebInspector.VisualStyleDetailsPanel.prototype._populateBorderSection): |
| Added the border image properties to a seperate group under Background > Border. |
| |
| * UserInterface/Views/VisualStyleKeywordPicker.js: |
| (WebInspector.VisualStyleKeywordPicker.prototype._keywordSelectMouseDown): |
| |
| * UserInterface/Views/VisualStyleNumberInputBox.js: |
| (WebInspector.VisualStyleNumberInputBox): |
| (WebInspector.VisualStyleNumberInputBox.prototype.set units): |
| Reordered logic to allow a value of ""/null to set the units to the "Number" |
| value if it is allowed for that editor. |
| |
| (WebInspector.VisualStyleNumberInputBox.prototype.get synthesizedValue): |
| Instead of relying upon whether the editor has any units, just check to see if |
| the selected units are "Number" and, if not, add them to the value. |
| |
| (WebInspector.VisualStyleNumberInputBox.prototype._unitsElementTextContent): |
| |
| * UserInterface/Views/VisualStylePropertyCombiner.js: |
| (WebInspector.VisualStylePropertyCombiner): |
| Now has another argument that, when true, assumes the combiner has at least 4 |
| numerical values and is of the form (can have units): |
| property-name: value1 [value2 [value3 [value4 [...]]]]; |
| |
| (WebInspector.VisualStylePropertyCombiner.prototype.get synthesizedValue): |
| (WebInspector.VisualStylePropertyCombiner.prototype.updateValuesFromText.updateEditor): |
| (WebInspector.VisualStylePropertyCombiner.prototype.updateValuesFromText.updateCompatibleEditor): |
| (WebInspector.VisualStylePropertyCombiner.prototype.updateValuesFromText): |
| If the new argument is true, assigns the existing values in the following way: |
| - If there is 1 value, assign it to all of the editors. |
| - If there are 2 values, assign the 1st one to editors 1 and 3 and the 2nd one |
| to editors 2 and 4. |
| - If there are 3 values, assign the 1st one to editor 1, the 2nd one to editors |
| 2 and 4, and the 3rd one to editor 3. |
| - If there are 4 or more values, assign them normally. |
| |
| * UserInterface/Views/VisualStylePropertyEditor.js: |
| (WebInspector.VisualStylePropertyEditor.prototype.valueIsSupportedKeyword): |
| (WebInspector.VisualStylePropertyEditor.prototype._valueIsSupportedAdvancedKeyword): |
| Removed call to this.value to prevent recursion from VisualStyleNumberInputBox. |
| |
| (WebInspector.VisualStylePropertyEditor.prototype.valueIsSupportedUnit): |
| (WebInspector.VisualStylePropertyEditor.prototype._valueIsSupportedAdvancedUnit): |
| Removed call to this.units to prevent recursion from VisualStyleNumberInputBox. |
| |
| 2016-01-07 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Add indicator that element has pseudo-class in DOM tree |
| https://bugs.webkit.org/show_bug.cgi?id=152680 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement): |
| (WebInspector.DOMTreeElement.prototype._nodePseudoClassesDidChange): |
| Added an event listener to the node for when pseudo-classes change. |
| |
| * UserInterface/Views/DOMTreeOutline.css: |
| (.dom-tree-outline li.pseudo-class-enabled > .selection::before): |
| (.dom-tree-outline:focus li.selected.pseudo-class-enabled > .selection::before): |
| Used the hover/selected background style element to ensure that the indicator |
| is always positioned evenly with the first line of the opening tag. |
| |
| (.dom-tree-outline li.hovered:not(.selected) .selection): |
| (.dom-tree-outline li .selection): |
| (.dom-tree-outline li.selected .selection): |
| (.dom-tree-outline li.elements-drag-over .selection): |
| Removed "display: none;" (as well as the "block" declarations) to allow |
| the ::before pseudo-element to display. |
| |
| 2016-01-07 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Make creating new rules in the Styles sidebar simpler |
| https://bugs.webkit.org/show_bug.cgi?id=152726 |
| |
| Reviewed by Timothy Hatcher. |
| |
| When creating a new rules of any kind, first look to see if it already exists in |
| another rule that has no properties. If found, focus/select it instead of creating |
| a new rule. Otherwise, create the new rule like normal. |
| |
| Also changed the way in which previously-focused sections/tree-items are saved |
| to rely upon the selector of the new rule and whether the section for that rule |
| is empty and an inspector rule. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| * UserInterface/Models/CSSStyleDeclaration.js: |
| (WebInspector.CSSStyleDeclaration.prototype.isInspectorRule): |
| Returns true if the style is an inspector rule. |
| |
| (WebInspector.CSSStyleDeclaration.prototype.hasProperties): |
| Returns true if the style has CSS properties. |
| |
| * UserInterface/Models/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype.rulesForSelector.ruleHasSelector): |
| (WebInspector.DOMNodeStyles.prototype.rulesForSelector): |
| Returns a list of CSSRule that match the given selector and are not |
| in media queries. |
| |
| * UserInterface/Views/BoxModelDetailsSectionRow.js: |
| (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics): |
| |
| * UserInterface/Views/CSSStyleDeclarationSection.js: |
| (WebInspector.CSSStyleDeclarationSection.prototype._handleContextMenuEvent): |
| |
| * UserInterface/Views/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.commentAllProperties): |
| |
| * UserInterface/Views/RulesStyleDetailsPanel.js: |
| (WebInspector.RulesStyleDetailsPanel.prototype.refresh.appendStyleSection): |
| (WebInspector.RulesStyleDetailsPanel.prototype.refresh.cssStyleDeclarationSectionEditorFocused): |
| Now saves the newly focused section as the previously-focused section. |
| |
| (WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionFocusNewInspectorRuleWithSelector): |
| Renamed from cssStyleDeclarationSectionFocusNextNewInspectorRule. Now needs |
| a selector argument. |
| |
| (WebInspector.RulesStyleDetailsPanel.prototype.newRuleButtonClicked): |
| (WebInspector.RulesStyleDetailsPanel.prototype.sectionForStyle): |
| Returns the first section that has a style with matching selector. |
| |
| (WebInspector.RulesStyleDetailsPanel.prototype.focusEmptySectionWithStyle): |
| Finds the section corresponding to the given style and, if empty, focuses it. |
| |
| (WebInspector.RulesStyleDetailsPanel.prototype.nodeStylesRefreshed): |
| No longer clears the previously-focused section. |
| |
| * UserInterface/Views/VisualStyleSelectorSection.js: |
| (WebInspector.VisualStyleSelectorSection): |
| (WebInspector.VisualStyleSelectorSection.prototype.update.createSelectorItem): |
| (WebInspector.VisualStyleSelectorSection.prototype.update): |
| (WebInspector.VisualStyleSelectorSection.prototype.treeItemForStyle): |
| Returns the first tree item that has a style with matching selector. |
| |
| (WebInspector.VisualStyleSelectorSection.prototype.selectEmptyStyleTreeItem): |
| Finds the tree item corresponding to the given style and, if empty, selects it. |
| |
| (WebInspector.VisualStyleSelectorSection.prototype._addNewRule): |
| |
| * UserInterface/Views/VisualStyleSelectorTreeItem.js: |
| (WebInspector.VisualStyleSelectorTreeItem): |
| Now requires a delegate object. |
| |
| (WebInspector.VisualStyleSelectorTreeItem.prototype._handleContextMenuEvent): |
| |
| 2016-01-06 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: CRASH Attempting to pause on CSP violation not inside of script |
| https://bugs.webkit.org/show_bug.cgi?id=152825 |
| <rdar://problem/24021276> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Test/TestHarness.js: |
| (TestHarness.prototype.expectThat): |
| (TestHarness.prototype.pass): |
| (TestHarness.prototype.fail): |
| Add a simple way to output a standard pass/fail message. These are |
| often nicer than expectThat(true, ...) or assert(false, ...). |
| |
| 2016-01-07 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: DOMContentLoaded label in the Timeline tab should be "DOM Content Loaded" |
| https://bugs.webkit.org/show_bug.cgi?id=152746 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Views/TimelineRuler.js: |
| (WebInspector.TimelineRuler.prototype.addMarker): |
| |
| 2016-01-06 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Scope chain shows too many scopes for functions (`let` and `var` in the same function are two scopes) |
| https://bugs.webkit.org/show_bug.cgi?id=152349 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| New "Closure Variables (%s)" string for including the function name alongside |
| the closure scope section. |
| |
| * UserInterface/Models/ScopeChainNode.js: |
| (WebInspector.ScopeChainNode): |
| (WebInspector.ScopeChainNode.prototype.get objects): |
| (WebInspector.ScopeChainNode.prototype.get object): Deleted. |
| Allow a ScopeChainNode to hold onto multiple RemoteObjects (for multiple JSScopes). |
| |
| * UserInterface/Controllers/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype._scopeChainNodeFromPayload): |
| Simplify the legacy case and convert "Local" to "Closure". The UI will now |
| determine and display "Local" where appropriate in a backwards compatible way. |
| |
| * UserInterface/Views/ScopeChainDetailsSidebarPanel.js: |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateCallFramesSection): |
| Associate ScopeChain nodes with CallFrame frames so that we can better combine |
| variable sections and better label closure sections. |
| |
| * UserInterface/Views/ScopeChainDetailsSidebarPanel.css: |
| (.scope-chain .details-section > .content > .group > .row.properties:not(.empty)): |
| (.scope-chain .details-section > .content > .group > .row.properties:not(.empty):last-child): |
| Styles for two object trees property sections next to eachother. |
| |
| 2016-01-06 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Add basic Animation section to Visual Sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=152692 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Adds a non-autocompleting section to the "Effects" section (renamed from |
| "Animations") of the Visual sidebar for setting CSS Animation values. |
| |
| * Scripts/copy-user-interface-resources.pl: |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Images/AnimationPlayStatePaused.svg: Added. |
| * UserInterface/Images/AnimationPlayStateRunning.svg: Added. |
| * UserInterface/Main.html: |
| |
| * UserInterface/Views/VisualStyleBasicInput.js: Added. |
| (WebInspector.VisualStyleBasicInput): |
| (WebInspector.VisualStyleBasicInput.prototype.get value): |
| (WebInspector.VisualStyleBasicInput.prototype.set value): |
| (WebInspector.VisualStyleBasicInput.prototype.get synthesizedValue): |
| (WebInspector.VisualStyleBasicInput.prototype._handleInputElementInput): |
| Very basic editor that is just an input box with a given placeholder. |
| |
| * UserInterface/Views/VisualStyleDetailsPanel.js: |
| (WebInspector.VisualStyleDetailsPanel): |
| (WebInspector.VisualStyleDetailsPanel.prototype._populateAnimationSection): |
| Creates the necessary property editors and adds them to their respective rows. |
| |
| 2016-01-06 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Add remaining background style properties to Visual sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=152757 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| * UserInterface/Views/VisualStyleDetailsPanel.js: |
| (WebInspector.VisualStyleDetailsPanel.prototype._populateBackgroundStyleSection): |
| Added background-blend-mode and background-origin property editors. |
| |
| * UserInterface/Views/VisualStyleSelectorSection.js: |
| (WebInspector.VisualStyleSelectorSection.prototype._handleMouseOver): |
| Unrelated error that occurred when the user was hovering over a selector item |
| before the tree outline was able to create the selected item. |
| |
| 2016-01-05 Joseph Pecoraro <pecoraro@apple.com> |
| |
| REGRESSION(r187929): Web Inspector: Forced Layout and Style Recalculation records do not show up in Layout & Rendering timeline DataGrid |
| https://bugs.webkit.org/show_bug.cgi?id=152747 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/LayoutTimelineView.js: |
| (WebInspector.LayoutTimelineView.prototype._layoutTimelineRecordAdded): |
| We want top-level Layout records. Not necessarily Layout records that are |
| at the top of all records. Layout events such as style recalculation |
| and forced layout may be triggered by script and therefore not be at |
| the top of all records. |
| |
| 2016-01-04 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Timelines view doesn't remember how I like to sort things |
| https://bugs.webkit.org/show_bug.cgi?id=152626 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Currently, all instances of DataGrid have their sort column reset with each |
| open/close of Web Inspector. This doesn't really make sense seeing as we save |
| the user's settings in many other cases, so the sort method (which column) |
| should be saved between inspector sessions. |
| |
| * UserInterface/Views/ApplicationCacheFrameContentView.js: |
| (WebInspector.ApplicationCacheFrameContentView.prototype._createDataGrid): |
| * UserInterface/Views/CookieStorageContentView.js: |
| (WebInspector.CookieStorageContentView.prototype._rebuildTable): |
| * UserInterface/Views/DOMStorageContentView.js: |
| (WebInspector.DOMStorageContentView): |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid): |
| (WebInspector.DataGrid.prototype.set sortColumnIdentifier): |
| Moved the logic for classLists and events to _updateSortedColumn. |
| |
| (WebInspector.DataGrid.prototype.set sortColumnIdentifierSetting): |
| Instead of just setting the original sort method when instantiating the DataGrid, |
| a WebInspector.Setting object is now able to be passed in via this setter |
| to give the DataGrid access to the stored sort method value. |
| |
| (WebInspector.DataGrid.prototype._updateSortedColumn): |
| Updates the classLists and fires events. If a sort column setting object |
| exists, update its value. |
| |
| * UserInterface/Views/LayerTreeDetailsSidebarPanel.js: |
| (WebInspector.LayerTreeDetailsSidebarPanel.prototype._buildDataGridSection): |
| * UserInterface/Views/LayoutTimelineView.js: |
| (WebInspector.LayoutTimelineView): |
| * UserInterface/Views/NetworkGridContentView.js: |
| (WebInspector.NetworkGridContentView): |
| * UserInterface/Views/NetworkTimelineView.js: |
| (WebInspector.NetworkTimelineView): |
| * UserInterface/Views/RenderingFrameTimelineView.js: |
| (WebInspector.RenderingFrameTimelineView): |
| * UserInterface/Views/ScriptTimelineView.js: |
| (WebInspector.ScriptTimelineView): |
| |
| 2016-01-04 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Add debounce to URL inputs in the Visual sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=152655 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Adding a debounce to url() based Visual sidebar editors will prevent needless |
| errors from being thrown as the user types, since incomplete URL's will not |
| be able to be located. |
| |
| * UserInterface/Base/Utilities.js: |
| (Function.prototype.debounce): |
| Prevents the given function from executing more than once in the specified amount of time. |
| |
| * UserInterface/Views/VisualStyleBackgroundPicker.js: |
| (WebInspector.VisualStyleBackgroundPicker): |
| |
| * UserInterface/Views/VisualStyleURLInput.js: |
| (WebInspector.VisualStyleURLInput): |
| |
| 2016-01-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Fix debug context menu string and reload without cache tooltip string |
| https://bugs.webkit.org/show_bug.cgi?id=152725 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.contentLoaded): |
| |
| 2016-01-04 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: add context menu items to switch CSS color property value syntax between RGB, HSL, etc |
| https://bugs.webkit.org/show_bug.cgi?id=151918 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Created a ColorSwatch class to hold all functionality for color swatches, |
| allowing all context menu and popover events to be centralized. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Main.html: |
| |
| * UserInterface/Models/Color.js: |
| Changed all 'var' to 'let' and 'nickname' to 'keyword' as per the spec. |
| Mostly mechanical changes. |
| |
| (WebInspector.Color.prototype.isKeyword): |
| Looks at the RGB values of each keyword to see if the current color |
| matches any of them. |
| |
| (WebInspector.Color.prototype.canBeSerializedAsShortHEX): |
| Fixed to account for alpha values, since HEXAlpha is now supported. |
| |
| * UserInterface/Views/CSSStyleDeclarationTextEditor.css: |
| (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch): Deleted. |
| (@media (-webkit-max-device-pixel-ratio: 1)): Deleted. |
| (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch > span): Deleted. |
| (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch:hover > span): Deleted. |
| (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch:active > span): Deleted. |
| |
| * UserInterface/Views/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches.update): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchColorChanged.update): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchColorChanged): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked.updateCodeMirror.update): Deleted. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked.updateCodeMirror): Deleted. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked): Deleted. |
| |
| * UserInterface/Views/ColorSwatch.css: Copied from Source/WebInspectorUI/UserInterface/Views/VisualStyleColorPicker.css. |
| (.color-swatch): |
| (@media (-webkit-max-device-pixel-ratio: 1)): |
| (.color-swatch > span): |
| (.color-swatch:hover > span): |
| (.color-swatch:active > span): |
| |
| * UserInterface/Views/ColorSwatch.js: Added. |
| (WebInspector.ColorSwatch): |
| (WebInspector.ColorSwatch.prototype.get element): |
| (WebInspector.ColorSwatch.prototype.set color): |
| (WebInspector.ColorSwatch.prototype.get color): |
| (WebInspector.ColorSwatch.prototype._colorSwatchClicked): |
| (WebInspector.ColorSwatch.prototype._colorPickerColorDidChange): |
| (WebInspector.ColorSwatch.prototype._handleContextMenuEvent): |
| (WebInspector.ColorSwatch.prototype._getNextValidHEXFormat.hexMatchesCurrentColor): |
| (WebInspector.ColorSwatch.prototype._getNextValidHEXFormat): |
| Loops through the list of HEX formats to find the first format that is valid |
| for the current color in the list after the current format. |
| |
| (WebInspector.ColorSwatch.prototype._updateSwatch): |
| |
| * UserInterface/Views/VisualStyleColorPicker.css: |
| (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch): |
| (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch > span): |
| |
| * UserInterface/Views/VisualStyleColorPicker.js: |
| (WebInspector.VisualStyleColorPicker): |
| (WebInspector.VisualStyleColorPicker.prototype._colorSwatchColorChanged): |
| (WebInspector.VisualStyleColorPicker.prototype._updateColorSwatch): |
| (WebInspector.VisualStyleColorPicker.prototype._colorSwatchClicked): Deleted. |
| (WebInspector.VisualStyleColorPicker.prototype._colorPickerColorDidChange): Deleted. |
| |
| 2016-01-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Mark last parameter of webkitGetUserMedia as non-optional to match updated IDL |
| https://bugs.webkit.org/show_bug.cgi?id=152702 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Models/NativeFunctionParameters.js: |
| New IDL, and tests, show that the error callback is non-optional. |
| |
| 2016-01-04 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Add context menu items to CSS selectors to auto-generate pseudo selectors |
| https://bugs.webkit.org/show_bug.cgi?id=152657 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Instead of having to copy a selector, create a new one, paste it, and then add |
| a pseudo class or element, a context menu item has been added to automate this |
| process for the user for each CSS pseudo-selector. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| * UserInterface/Controllers/CSSStyleManager.js: |
| Added a static object containing the list of CSS pseudo-element names. |
| |
| * UserInterface/Models/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype.addRule.completed): |
| (WebInspector.DOMNodeStyles.prototype.addRule.styleChanged): |
| (WebInspector.DOMNodeStyles.prototype.addRule.addedRule): |
| (WebInspector.DOMNodeStyles.prototype.addRule): |
| Now accepts a second argument for setting the starting text value of the new rule. |
| |
| * UserInterface/Views/CSSStyleDeclarationSection.js: |
| (WebInspector.CSSStyleDeclarationSection.prototype._handleSelectorPaste): |
| |
| * UserInterface/Views/VisualStyleSelectorTreeItem.js: |
| (WebInspector.VisualStyleSelectorTreeItem.prototype._handleContextMenuEvent): |
| |
| 2016-01-04 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: add a DebugUI context menu item for saving inspector protocol traffic to file |
| https://bugs.webkit.org/show_bug.cgi?id=152671 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Add a new tracer that captures all messages, and debug context menu |
| items to control whether to capture protocol traffic and export it. |
| In later patches, a reciprocal "Import..." context menu item will |
| allow opening saved protocol traces and viewing them in a debug UI |
| content view for debugging/visualizing protocol traffic. |
| |
| * UserInterface/Base/Main.js: |
| * UserInterface/Debug/CapturingProtocolTracer.js: Copied from Source/WebInspectorUI/UserInterface/Protocol/ProtocolTracer.js. |
| |
| This tracer saves everything into a flat array. JSON protocol |
| messages are saved as escaped strings, in case they are not |
| valid JSON. We want to be able to debug such scenarios. |
| |
| (WebInspector.CapturingProtocolTracer): |
| (WebInspector.CapturingProtocolTracer.prototype.get trace): |
| (WebInspector.CapturingProtocolTracer.prototype.logFrontendException): |
| (WebInspector.CapturingProtocolTracer.prototype.logProtocolError): |
| (WebInspector.CapturingProtocolTracer.prototype.logFrontendRequest): |
| (WebInspector.CapturingProtocolTracer.prototype.logDidHandleResponse): |
| (WebInspector.CapturingProtocolTracer.prototype.logDidHandleEvent): |
| (WebInspector.CapturingProtocolTracer.prototype._stringifyMessage): |
| (WebInspector.CapturingProtocolTracer.prototype._processEntry): |
| |
| * UserInterface/Debug/ProtocolTrace.js: Added. |
| |
| This is a dumb container that holds protocol trace data. It will |
| be responsible for deserializing saved trace files in later work. |
| |
| (WebInspector.ProtocolTrace): |
| (WebInspector.ProtocolTrace.prototype.addEntry): |
| (WebInspector.ProtocolTrace.prototype.get saveData): |
| * UserInterface/Main.html: |
| * UserInterface/Protocol/InspectorBackend.js: |
| (InspectorBackendClass): |
| |
| Simplify the implementation. Now there are one or two tracers |
| at any given time. The default tracer handles legacy logging |
| behavior and always exists. The custom tracer is installed when |
| the "Capture Protocol Traffic" context menu item is toggled. |
| |
| Dispatch to the array of active tracers at each trace point. |
| Tracers now get the actual JSON message instead of a stringified |
| version passed as an argument. |
| |
| (InspectorBackendClass.prototype.set dumpInspectorProtocolMessages): |
| (InspectorBackendClass.prototype.get dumpInspectorProtocolMessages): |
| (InspectorBackendClass.prototype.set dumpInspectorTimeStats): |
| (InspectorBackendClass.prototype.set customTracer): |
| (InspectorBackendClass.prototype.get activeTracers): |
| (InspectorBackendClass.prototype._startOrStopAutomaticTracing): |
| (InspectorBackendClass.prototype._sendMessageToBackend): |
| (InspectorBackendClass.prototype._dispatchResponse): |
| (InspectorBackendClass.prototype._dispatchEvent): |
| (InspectorBackendClass.prototype.set activeTracer): Deleted. |
| (InspectorBackendClass.prototype.get activeTracer): Deleted. |
| * UserInterface/Protocol/LoggingProtocolTracer.js: |
| (WebInspector.LoggingProtocolTracer.prototype._processEntry): |
| (WebInspector.LoggingProtocolTracer): |
| (WebInspector.LoggingProtocolTracer.prototype.logFrontendRequest): |
| (WebInspector.LoggingProtocolTracer.prototype.logWillHandleResponse): |
| (WebInspector.LoggingProtocolTracer.prototype.logDidHandleResponse): |
| (WebInspector.LoggingProtocolTracer.prototype.logWillHandleEvent): |
| (WebInspector.LoggingProtocolTracer.prototype.logDidHandleEvent): |
| * UserInterface/Protocol/ProtocolTracer.js: |
| (WebInspector.ProtocolTracer.prototype.logFrontendException): |
| (WebInspector.ProtocolTracer.prototype.logProtocolError): |
| (WebInspector.ProtocolTracer.prototype.logFrontendRequest): |
| (WebInspector.ProtocolTracer.prototype.logWillHandleResponse): |
| (WebInspector.ProtocolTracer.prototype.logDidHandleResponse): |
| (WebInspector.ProtocolTracer.prototype.logWillHandleEvent): |
| (WebInspector.ProtocolTracer.prototype.logDidHandleEvent): |
| |
| 2016-01-04 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Comma separated values in the Visual sidebar are appended with ) |
| https://bugs.webkit.org/show_bug.cgi?id=152653 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js: |
| (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.set value): |
| Modified the RexExp used to split the comma separated value to account for strings |
| with commas inside parenthesis (such as rgba() or hsla()) as well as ones without |
| commas (such as "arial" and "red"). |
| |
| 2016-01-03 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Visual sidebar selector section displays inherited section for non-editable rules |
| https://bugs.webkit.org/show_bug.cgi?id=152659 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/VisualStyleSelectorSection.js: |
| (WebInspector.VisualStyleSelectorSection.prototype.update): |
| Only add a new inherited section header if it will contain at least one inherited rule. |
| |
| 2016-01-02 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: List all resources that are initiated by the selected resource in the Network tab |
| https://bugs.webkit.org/show_bug.cgi?id=152647 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Selecting resources in the Network tab will now display a list of all resources |
| that the selected resource loaded, allowing for easier understanding of the |
| relationship between all the resources loaded on a page. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Base/Main.js: |
| Added functions to generate link(s) to Resource instead of SourceCodeLocation. |
| |
| * UserInterface/Models/Resource.js: |
| (WebInspector.Resource): |
| (WebInspector.Resource.prototype.get initiatedResources): |
| (WebInspector.Resource.prototype.addInitiatedResource): |
| Each time a resource is added, if it has an initiator, it adds itself to the |
| initiator's list of initiated resources. |
| |
| * UserInterface/Views/Main.css: |
| (.resource-list > .resource-link): |
| (.resource-list > .resource-link::before): |
| (.resource-list > .resource-link + .resource-link): |
| (.resource-link): |
| |
| * UserInterface/Views/ResourceDetailsSidebarPanel.js: |
| (WebInspector.ResourceDetailsSidebarPanel): |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshURL): |
| |
| 2016-01-02 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Add list-style properties to Visual Sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=152631 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Seeing as lists are very common in web pages across the internet, adding |
| a section to let users edit the properties unique to lists seems prudent. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Images/ListStylePositionInside.svg: Added. |
| * UserInterface/Images/ListStylePositionOutside.svg: Added. |
| * UserInterface/Main.html: |
| Re-added UserInterface/Views/VisualStyleURLInput.js |
| |
| * UserInterface/Views/VisualStyleDetailsPanel.js: |
| (WebInspector.VisualStyleDetailsPanel): |
| (WebInspector.VisualStyleDetailsPanel.prototype._populateListStyleSection): |
| |
| * UserInterface/Views/VisualStyleKeywordIconList.css: |
| (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon): |
| Added specified color property to ensure that :active doesn't break the color of the svg. |
| |
| (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:matches(.computed, .selected)): |
| (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon.selected): |
| Changed the background-color and border-color values to match the rest of Web Inspector. |
| |
| * UserInterface/Views/VisualStyleKeywordIconList.js: |
| (WebInspector.VisualStyleKeywordIconList): |
| (WebInspector.VisualStyleKeywordIconList.dashToCapital): Deleted. |
| (WebInspector.VisualStyleKeywordIconList.createListItem): |
| The "initial" keyword will also use UserInterface/Images/VisualStyleNone.svg |
| |
| * UserInterface/Views/VisualStyleURLInput.js: Added. |
| Previously removed in r192705. |
| |
| 2016-01-02 Alberto Garcia <berto@igalia.com> |
| |
| [GTK] webkit 2.3.5 build failure with python 3.3.4 |
| https://bugs.webkit.org/show_bug.cgi?id=128971 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Make sure that the stdin encoding is 'UTF-8' if using Python 3, |
| otherwise the build will break. |
| |
| * Scripts/cssmin.py: |
| |
| 2016-01-01 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: shadow visual sidebar section can be confused with the box shadow section |
| https://bugs.webkit.org/show_bug.cgi?id=148107 |
| |
| Reviewed by Brian Burg. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Views/VisualStyleDetailsPanel.js: |
| (WebInspector.VisualStyleDetailsPanel): |
| Changed title of "Shadow" sub-section in "Background" to "Box Shadow". |
| |
| 2016-01-01 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: The Computed Styles Properties section shows warning icons and doesn't update if collapsed |
| https://bugs.webkit.org/show_bug.cgi?id=152609 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): |
| If the CodeMirror instance is read-only, don't add any warning icons. |
| |
| * UserInterface/Views/ComputedStyleDetailsPanel.js: |
| (WebInspector.ComputedStyleDetailsPanel): |
| (WebInspector.ComputedStyleDetailsPanel.prototype._handleCollapsedStateChanged): |
| The properties text editor will now refresh whenever the details section |
| becomes un-collapsed. |
| |
| * UserInterface/Views/DetailsSection.js: |
| (WebInspector.DetailsSection.prototype.set collapsed): |
| Now fires an event with the current collapsed state as data. |
| |
| 2015-12-31 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: "No Filter Results" message overlaps Debugger sidebar sections |
| https://bugs.webkit.org/show_bug.cgi?id=150608 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel.showResourcesWithIssuesOnlyFilterFunction): |
| Style cleanup. |
| (WebInspector.DebuggerSidebarPanel): |
| Add breakpoints tree to the details section before adding Global Breakpoint |
| elements, since adding them will trigger filtering. |
| (WebInspector.DebuggerSidebarPanel.prototype._treeSelectionDidChange): |
| Simplified selection management between the various tree outlines. |
| (WebInspector.DebuggerSidebarPanel.prototype._updatePauseReasonSection): |
| Style cleanup. |
| (WebInspector.DebuggerSidebarPanel.prototype.get hasSelectedElement): Deleted. |
| Defer to the base class implementation. |
| (WebInspector.DebuggerSidebarPanel.prototype._treeSelectionDidChange.deselectCallStackContentTreeElements): Deleted. |
| (WebInspector.DebuggerSidebarPanel.prototype._treeSelectionDidChange.deselectBreakpointContentTreeElements): Deleted. |
| (WebInspector.DebuggerSidebarPanel.prototype._treeSelectionDidChange.deselectPauseReasonContentTreeElements): Deleted. |
| These are no longer needed, since the list of visible tree elements list can be used |
| to manage tree element selection is a more general way. |
| |
| * UserInterface/Views/NavigationSidebarPanel.css: |
| Empty content placeholders are now inserted into the DOM as a sibling of the |
| tree that was filtered. As such, they can be a child of a details section, or |
| the sidebar's content element. |
| (.sidebar > .panel.navigation > .content .empty-content-placeholder): |
| Styles for all empty content placeholders. |
| (.sidebar > .panel.navigation > .content > .empty-content-placeholder): |
| Styles for empty content placeholders that fill the sidebar's content element. |
| (.sidebar > .panel.navigation > .content .message): |
| Styles for all empty content placeholders. |
| (.sidebar > .panel.navigation > .empty-content-placeholder): Deleted. |
| (.sidebar > .panel.navigation > .empty-content-placeholder > .message): Deleted. |
| |
| * UserInterface/Views/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel): |
| Track the tree outline which currently has a selection. |
| Manage a map of content placeholders |
| (WebInspector.NavigationSidebarPanel.prototype.set contentTreeOutline): |
| (WebInspector.NavigationSidebarPanel.prototype.get hasSelectedElement): |
| Check all visible content trees for a selected element. |
| (WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline): |
| (WebInspector.NavigationSidebarPanel.prototype.treeElementForRepresentedObject): |
| Check all visible content trees for the represented object. |
| (WebInspector.NavigationSidebarPanel.prototype.showEmptyContentPlaceholder): |
| (WebInspector.NavigationSidebarPanel.prototype.hideEmptyContentPlaceholder): |
| (WebInspector.NavigationSidebarPanel.prototype.updateEmptyContentPlaceholder): |
| No sidebars currently have more than one filterable content tree outline, but in |
| the future we will want to support this. Empty content placeholder visibility |
| is now done per tree outline. |
| (WebInspector.NavigationSidebarPanel.prototype.show): |
| Focus the tree outline that most recently had the selection, or the |
| first tree outline in the visible tree list, if it exists. |
| (WebInspector.NavigationSidebarPanel.prototype._checkForEmptyFilterResults.checkTreeOutlineForEmptyFilterResults): |
| Tree is considered filtered if no visible filterable tree elements are found. |
| (WebInspector.NavigationSidebarPanel.prototype._checkForEmptyFilterResults): |
| Check all visible trees that support filtering. |
| (WebInspector.NavigationSidebarPanel.prototype._updateFilter): |
| Support for filtering multiple content trees. |
| (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged): |
| Check if the element's tree outline supports filtering, before applying filters. |
| (WebInspector.NavigationSidebarPanel.prototype._treeSelectionDidChange): |
| Update the selected tree outline. |
| (WebInspector.NavigationSidebarPanel.prototype._createEmptyContentPlaceholderIfNeeded): |
| Create a new empty content placeholder element for the tree. |
| (WebInspector.NavigationSidebarPanel.prototype.get contentTreeOutlineElement): Deleted. |
| No longer used. |
| |
| * UserInterface/Views/TimelineSidebarPanel.js: |
| (WebInspector.TimelineSidebarPanel.prototype.get hasSelectedElement): Deleted. |
| Defer to the base class implementation. |
| |
| 2015-12-29 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Styling of invalid selector persists when changing the selected node |
| https://bugs.webkit.org/show_bug.cgi?id=152456 |
| |
| Reviewed by Brian Burg. |
| |
| If the user changes the selector of a CSS rule to be invalid (e.g. having |
| a { or ; character), it is expected that the invalid indicator will be removed |
| once the user changes nodes or reverts the selector to its previous value. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Views/CSSStyleDeclarationSection.css: |
| (.style-declaration-section > .header > .icon.toggle-able:hover): |
| (.style-declaration-section > .header > .icon.toggle-able:active): |
| (.style-declaration-section:not(.invalid-selector) > .header > .icon.toggle-able:hover): Deleted. |
| Added better :hover and :active styles. |
| |
| * UserInterface/Views/CSSStyleDeclarationSection.js: |
| (WebInspector.CSSStyleDeclarationSection): |
| (WebInspector.CSSStyleDeclarationSection.prototype.refresh): |
| (WebInspector.CSSStyleDeclarationSection.prototype._handleIconElementClicked): |
| If the selector is invalid, simply refresh the section to regenerate the |
| original selector with correct content, specificity, and highlighting. |
| |
| (WebInspector.CSSStyleDeclarationSection.prototype.get _hasInvalidSelector): Deleted. |
| Moved the state of the invalid selector to a member |
| variable instead of a DOM class. |
| |
| (WebInspector.CSSStyleDeclarationSection.prototype._updateSelectorIcon): |
| Renamed from _markSelector for clarity. |
| |
| * UserInterface/Views/VisualStyleSelectorTreeItem.css: |
| (.item.visual-style-selector-item.selector-invalid > .icon:hover): |
| (.item.visual-style-selector-item.selector-invalid > .icon:active): |
| (.item.visual-style-selector-item.selector-invalid > .icon): |
| Added :hover and :active styles. |
| |
| * UserInterface/Views/VisualStyleSelectorTreeItem.js: |
| (WebInspector.VisualStyleSelectorTreeItem): |
| (WebInspector.VisualStyleSelectorTreeItem.prototype.onattach): |
| (WebInspector.VisualStyleSelectorTreeItem.prototype._commitSelector): |
| (WebInspector.VisualStyleSelectorTreeItem.prototype._updateSelectorIcon): |
| (WebInspector.VisualStyleSelectorTreeItem.prototype._handleIconElementClicked): |
| (WebInspector.VisualStyleSelectorTreeItem.prototype._selectorChanged): Deleted. |
| Changed the names of a few functions to provide better |
| consistency across the classes in the Style sidebar. |
| |
| 2015-12-27 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: improve pre-filled bugzilla link on Uncaught Exception reporter sheet |
| https://bugs.webkit.org/show_bug.cgi?id=152402 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Include the UA string, inspected page URL, and a template that includes |
| steps to reproduce and notes. Other common headings (regression, expected, |
| results, summary) are omitted because they are unlikely to be known when |
| an uncaught exception occurs, or are obvious ("shouldn't throw exception"). |
| |
| * UserInterface/Debug/UncaughtExceptionReporter.js: |
| |
| 2015-12-21 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| WebInspector: Can't open a new tab: Uncaught Exception: TypeError: this.isNewTabWithTypeAllowed is not a function |
| https://bugs.webkit.org/show_bug.cgi?id=152471 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector._updateNewTabButtonState): |
| Don't use arrow functions because of https://webkit.org/b/152497 "Arrow functions: 'this' isn't lexically bound" |
| |
| 2015-12-21 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Remove unused WebInspector.Object.removeAllListeners |
| https://bugs.webkit.org/show_bug.cgi?id=152474 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Base/Object.js: |
| (WebInspector.Object.removeAllListeners): Deleted. |
| (WebInspector.Object.prototype.removeAllListeners): Deleted. |
| |
| 2015-12-20 Dan Bernstein <mitz@apple.com> |
| |
| Remove unused setToolbarHeight |
| https://bugs.webkit.org/show_bug.cgi?id=152466 |
| |
| Reviewed by Darin Adler. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.contentLoaded): |
| * UserInterface/Protocol/InspectorFrontendHostStub.js: |
| (window.InspectorFrontendHost.WebInspector.InspectorFrontendHostStub.prototype.setToolbarHeight): Deleted. |
| |
| 2015-12-19 Dan Bernstein <mitz@apple.com> |
| |
| [Mac] WebKit contains dead source code for OS X Mavericks and earlier |
| https://bugs.webkit.org/show_bug.cgi?id=152462 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| - Removed build setting definitions for OS X 10.9 and earlier, and simplified defintions |
| that became uniform across all OS X versions as a result: |
| |
| * Configurations/Base.xcconfig: |
| * Configurations/DebugRelease.xcconfig: |
| * Configurations/Version.xcconfig: |
| |
| * Scripts/copy-user-interface-resources.pl: Removed code to delete Images/Legacy. |
| |
| * UserInterface/Images/Legacy: Removed this empty directory. |
| |
| 2015-12-18 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Make it possible to debug injected scripts when the Debug UI is enabled |
| https://bugs.webkit.org/show_bug.cgi?id=152445 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Base/Main.js: |
| Added function to check for debug UI. |
| |
| * UserInterface/Base/Object.js: |
| Added notification for debug UI enabled state change. |
| |
| * UserInterface/Base/Utilities.js: |
| (isWebInspectorInternalScript): |
| (isWebInspectorDebugScript): |
| Added functions to check for internal and debug inspector scripts. |
| |
| * UserInterface/Controllers/DebuggerManager.js: |
| (WebInspector.DebuggerManager): |
| Maintain a list of inspector debug scripts, so that the manager can |
| add and remove them when the debug UI is enabled/disabled. |
| (WebInspector.DebuggerManager.prototype.get knownNonResourceScripts): |
| (WebInspector.DebuggerManager.prototype.reset): |
| Clear the list of inspector debug scripts. |
| (WebInspector.DebuggerManager.prototype.debuggerDidPause): |
| (WebInspector.DebuggerManager.prototype.scriptDidParse): |
| Skip internal inspector scripts. Debug inspector scripts are tracked, |
| and an added event is dispatched if the debug UI is enabled. |
| (WebInspector.DebuggerManager.prototype._debugUIEnabledDidChange): |
| Dispatch added/removed events for inspector debug scripts. |
| |
| * UserInterface/Debug/Bootstrap.js: |
| (WebInspector.runBootstrapOperations): |
| Expose changes to the debug UI setting to the reset of the UI, by dispatching |
| a WebInspector.Notification.DebugUIEnabledDidChange event. |
| |
| * UserInterface/Protocol/RemoteObject.js: |
| (WebInspector.RemoteObject.prototype.findFunctionSourceCodeLocation): |
| Only resolve inspector debug source locations when the debug UI is enabled. |
| |
| * UserInterface/Test/Test.js: |
| Reimplemented debug UI check for tests. Always returns false. |
| |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel.prototype._addScript): |
| Removed check for inspector debug scripts. DebuggerManager filters scripts as needed. |
| (WebInspector.DebuggerSidebarPanel.prototype._scriptRemoved): |
| Handle DebuggerManager ScriptRemoved events. Only applies to debug scripts. |
| |
| * UserInterface/Views/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel): |
| (WebInspector.ResourceSidebarPanel.prototype._scriptWasRemoved): |
| Handle DebuggerManager ScriptRemoved events. Only applies to debug scripts. |
| (WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded): |
| Removed check for inspector debug scripts. DebuggerManager filters scripts as needed. |
| |
| 2015-12-17 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Remove "local" scope type from the protocol |
| https://bugs.webkit.org/show_bug.cgi?id=152409 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Controllers/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype._scopeChainNodeFromPayload): |
| |
| 2015-12-17 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: CSS warning's fake CallFrame is not creating a valid payload |
| https://bugs.webkit.org/show_bug.cgi?id=152413 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/ConsoleMessageView.js: |
| (WebInspector.ConsoleMessageView.prototype._appendLocationLink): |
| This attempts to create a CallFrame from a Console.CallFrame payload, |
| but this was missing the required functionName string parameter. |
| |
| 2015-12-17 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Provide a way to distinguish a nested lexical block from a function's lexical block |
| https://bugs.webkit.org/show_bug.cgi?id=152361 |
| |
| Reviewed by Saam Barati. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Views/ScopeChainDetailsSidebarPanel.js: |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateCallFramesSection): |
| New "Block Variables" string. |
| |
| * UserInterface/Models/ScopeChainNode.js: |
| New "Block" scope type, and update existing types. |
| |
| * UserInterface/Controllers/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype._scopeChainNodeFromPayload): |
| Parse the protocol type to frontend types. Use the protocol generated enum. |
| |
| 2015-12-17 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Improve names in Debugger Call Stack section when paused |
| https://bugs.webkit.org/show_bug.cgi?id=152398 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Controllers/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype.debuggerDidPause): |
| Use a new fromPayload helper to construct the CallFrame and share code. |
| |
| * UserInterface/Models/CallFrame.js: |
| (WebInspector.CallFrame.functionNameFromPayload): |
| (WebInspector.CallFrame.programCodeFromPayload): |
| (WebInspector.CallFrame.fromDebuggerPayload): |
| (WebInspector.CallFrame.fromPayload): |
| Add a new way to construct a call frame. There are two kinds of |
| CallFrame payloads in the protocol: |
| - Debugger.CallFrame, this new path |
| - Console.CallFrame, the pre-existing path |
| |
| 2015-12-17 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: control whether to collect and dump protocol messages using a WebInspector.Setting |
| https://bugs.webkit.org/show_bug.cgi?id=151635 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Follow-up fix to stop double-logging everything. |
| |
| * UserInterface/Protocol/LoggingProtocolTracer.js: |
| (WebInspector.LoggingProtocolTracer.prototype._processEntry): |
| |
| 2015-12-17 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Improve console.trace, make it more like console.assert and inline the message |
| https://bugs.webkit.org/show_bug.cgi?id=152352 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| New "Trace" related strings. |
| |
| * UserInterface/Views/ConsoleMessageView.js: |
| (WebInspector.ConsoleMessageView.prototype.expand): |
| Since we auto-expand Trace messages for their Call Stack, don't also |
| auto-expand a single inner object, which may be big and push the |
| actual stack trace off the screen. |
| |
| (WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments): |
| Behave like Assert messages and absorb a message string, and include |
| extra arguments gracefully. |
| |
| (WebInspector.ConsoleMessageView.prototype._appendFormattedArguments): |
| For expandable messages with simple extra arguments (console.trace with |
| primitives and backtrace, or console.assert with primitives and backtrace) |
| we were hiding the inline lossless previews and not showing them as a |
| bulleted list below. We can just keep the lossless previews inline in the |
| title, since they were only put there because they are small and lossless. |
| |
| (WebInspector.ConsoleMessageView.prototype.toClipboardString): |
| No need to hard code "console.trace()" in the clipboard. |
| |
| * UserInterface/Views/ConsoleMessageView.css: |
| (.console-message.expandable.expanded :matches(.console-message-preview, .console-message-preview-divider):not(.inline-lossless)): |
| (.console-message.expandable.expanded :matches(.console-message-preview, .console-message-preview-divider)): Deleted. |
| Don't hide the inline lossless preview in the console message title when it is inline-lossless. |
| |
| * UserInterface/Views/ObjectTreeView.js: |
| (WebInspector.ObjectTreeView.prototype.expand): |
| Do not allow expanding a loss-less preview. |
| |
| 2015-12-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Add JSContext Script Profiling |
| https://bugs.webkit.org/show_bug.cgi?id=151899 |
| |
| Reviewed by Brian Burg. |
| |
| Enable the Timeline tab for JSContext inspection. Currently only |
| JSContext inspection will use the ScriptProfiler domain, it will |
| be enabled for Page inspection in a follow-up. |
| |
| First pass at the UI creates basic ScriptTimelineRecords for |
| ScriptProfiler events. At the end of recording, when profiles |
| are downloaded, it attaches profiles to the timeline records |
| and refreshes the Scripts timeline. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.loaded): |
| * UserInterface/Controllers/TimelineManager.js: |
| (WebInspector.TimelineManager): |
| (WebInspector.TimelineManager.defaultInstruments): |
| (WebInspector.TimelineManager.prototype.computeElapsedTime): |
| (WebInspector.TimelineManager.prototype.scriptProfilerIsTracking): |
| (WebInspector.TimelineManager.prototype._loadNewRecording): |
| (WebInspector.TimelineManager.prototype._mainResourceDidChange): |
| (WebInspector.TimelineManager.prototype._resourceWasAdded): |
| (WebInspector.TimelineManager.prototype._garbageCollected): |
| (WebInspector.TimelineManager.prototype._addRecord): Deleted. |
| * UserInterface/Main.html: |
| * UserInterface/Models/Instrument.js: |
| (WebInspector.Instrument.startLegacyTimelineAgent): |
| * UserInterface/Models/ScriptInstrument.js: |
| (WebInspector.ScriptInstrument.prototype.startInstrumentation): |
| (WebInspector.ScriptInstrument.prototype.stopInstrumentation): |
| (WebInspector.ScriptInstrument): |
| * UserInterface/Models/ScriptTimelineRecord.js: |
| (WebInspector.ScriptTimelineRecord.prototype.get profilePayload): |
| (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload): |
| (WebInspector.ScriptTimelineRecord): |
| (WebInspector.ScriptTimelineRecord.EventType.displayName): |
| * UserInterface/Models/Timeline.js: |
| (WebInspector.Timeline.prototype.refresh): |
| * UserInterface/Models/TimelineRecording.js: |
| (WebInspector.TimelineRecording.sourceCodeTimelinesSupported): |
| (WebInspector.TimelineRecording.prototype.timelineForRecordType): |
| (WebInspector.TimelineRecording.prototype.addRecord): |
| * UserInterface/Protocol/ScriptProfilerObserver.js: Copied from Source/WebInspectorUI/UserInterface/Models/ScriptInstrument.js. |
| (WebInspector.ScriptProfilerObserver.prototype.trackingStart): |
| (WebInspector.ScriptProfilerObserver.prototype.trackingUpdate): |
| (WebInspector.ScriptProfilerObserver.prototype.trackingComplete): |
| (WebInspector.ScriptProfilerObserver): |
| * UserInterface/Views/ScriptTimelineView.js: |
| (WebInspector.ScriptTimelineView): |
| (WebInspector.ScriptTimelineView.prototype._processPendingRecords): |
| (WebInspector.ScriptTimelineView.prototype._scriptTimelineRecordRefreshed): |
| * UserInterface/Views/TimelineRecordTreeElement.js: |
| (WebInspector.TimelineRecordTreeElement): |
| * UserInterface/Views/TimelineTabContentView.js: |
| (WebInspector.TimelineTabContentView.isTabAllowed): |
| |
| 2015-12-17 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: REGRESSION (r193913): Popover covers completion suggestions |
| https://bugs.webkit.org/show_bug.cgi?id=152369 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/Variables.css: |
| (:root): |
| Swap popover and tooltip z-index ordering. |
| |
| 2015-12-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| REGRESSION: Web Inspector: console.dir(...) should force allowing object expansion |
| https://bugs.webkit.org/show_bug.cgi?id=152328 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/ConsoleMessageView.js: |
| (WebInspector.ConsoleMessageView.prototype._formatParameter): |
| Propogate the force parameter down. |
| |
| 2015-12-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Improve copy of console messages with multiple arguments - console.log(obj1, obj2) |
| https://bugs.webkit.org/show_bug.cgi?id=152330 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/ConsoleMessageView.js: |
| (WebInspector.ConsoleMessageView.prototype.toClipboardString): |
| Copy the inner text of the extra arguments list as well, for |
| console messages with multiple objects. Rearrange the sections |
| that, if there is a stack trace it comes at the end after |
| multiple arguments. If there is no stack trace, include the |
| location info next to the top line, before multiple arguments. |
| |
| 2015-12-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Improve copy of console message containing Array and Map output |
| https://bugs.webkit.org/show_bug.cgi?id=152329 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Introduce a real space in the content instead of style specific |
| margins so the existing copy/paste mechanism (innerText) |
| will have spaces between index/key and value. |
| |
| * UserInterface/Views/ObjectTreeArrayIndexTreeElement.css: |
| (.object-tree-array-index .index-name): Deleted. |
| * UserInterface/Views/ObjectTreeArrayIndexTreeElement.js: |
| (WebInspector.ObjectTreeArrayIndexTreeElement.prototype._titleFragment): |
| (WebInspector.ObjectTreeArrayIndexTreeElement): |
| * UserInterface/Views/ObjectTreeMapEntryTreeElement.css: |
| (.object-tree-array-index.object-tree-map-entry > .titles > .title > .index-name): Deleted. |
| * UserInterface/Views/ObjectTreeMapEntryTreeElement.js: |
| (WebInspector.ObjectTreeMapEntryTreeElement.prototype.titleFragment): |
| (WebInspector.ObjectTreeMapEntryTreeElement): |
| * UserInterface/Views/ObjectTreeSetIndexTreeElement.js: |
| (WebInspector.ObjectTreeSetIndexTreeElement.prototype._titleFragment): |
| (WebInspector.ObjectTreeSetIndexTreeElement): |
| |
| 2015-12-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Typing object literal in the console causes a parse error |
| https://bugs.webkit.org/show_bug.cgi?id=141737 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Provide a convenience in console evaluations for JSON object like input. |
| If the console input starts with '{' and ends with '}' wrap the input |
| in parenthesis to force evaluation as an expression. |
| |
| For example, input "{a:1}" would be convenience wrapped to "({a:1})" |
| and produce the expected object. This helps avoid the unusual treatment |
| of "{a:1}" as program containing a labeled statement, which is often |
| not what the user expects. And in more realistic cases, like "{a:1, b:2}", |
| produce a SyntaxError. |
| |
| * UserInterface/Controllers/RuntimeManager.js: |
| (WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow): |
| Detect and convenience wrap the given expression. |
| |
| 2015-12-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Uncaught Exception View has undefined exception URL |
| https://bugs.webkit.org/show_bug.cgi?id=152327 |
| |
| Reviewed by Darin Adler. |
| |
| * UserInterface/Debug/UncaughtExceptionReporter.js: |
| (handleUncaughtException): |
| Use ErrorEvent's filename property, not url which is undefined. |
| |
| 2015-12-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Uncaught Exception: ReferenceError: Can't find variable: resolvedValue |
| https://bugs.webkit.org/show_bug.cgi?id=152326 |
| |
| Reviewed by Darin Adler. |
| |
| * UserInterface/Views/ObjectTreeBaseTreeElement.js: |
| (WebInspector.ObjectTreeBaseTreeElement.prototype._contextMenuHandler): |
| This identifier is used later on, so assign it here. |
| |
| 2015-12-15 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Localize "global code" and "eval code" strings |
| https://bugs.webkit.org/show_bug.cgi?id=152313 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Models/CallFrame.js: |
| (WebInspector.CallFrame.fromPayload): |
| Localize the strings given to use from the backend. |
| |
| 2015-12-15 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Convert Sidebar classes to use View |
| https://bugs.webkit.org/show_bug.cgi?id=152274 |
| |
| Reviewed by Brian Burg. |
| |
| Updated Sidebar and SidebarPanel to inherit from View. Mostly mechanical changes. |
| Once the DetailsSection class family inherits from View (https://webkit.org/b/152269), |
| directly modifying a sidebar's 'contentView' element will rarely be necessary. |
| |
| * UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js: |
| (WebInspector.ApplicationCacheDetailsSidebarPanel): |
| |
| * UserInterface/Views/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._switchPanels): |
| Add/remove panels as subviews of the sidebar. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._filterDidChange): |
| |
| * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: |
| (WebInspector.DOMNodeDetailsSidebarPanel): |
| |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel): |
| (WebInspector.DebuggerSidebarPanel.prototype._debuggerDidPause): |
| |
| * UserInterface/Views/LayerTreeDetailsSidebarPanel.js: |
| (WebInspector.LayerTreeDetailsSidebarPanel.prototype._buildLayerInfoSection): |
| (WebInspector.LayerTreeDetailsSidebarPanel.prototype._buildDataGridSection): |
| |
| * UserInterface/Views/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel): |
| (WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline): |
| (WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility): |
| |
| * UserInterface/Views/ProbeDetailsSidebarPanel.js: |
| (WebInspector.ProbeDetailsSidebarPanel.prototype.set inspectedProbeSets): |
| |
| * UserInterface/Views/ResourceDetailsSidebarPanel.js: |
| (WebInspector.ResourceDetailsSidebarPanel): |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshURL): |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshImageSizeSection): |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestDataSection): |
| |
| * UserInterface/Views/ScopeChainDetailsSidebarPanel.js: |
| (WebInspector.ScopeChainDetailsSidebarPanel): |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh.): |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh): |
| |
| * UserInterface/Views/SidebarPanel.js: |
| Inherit from View. |
| (WebInspector.SidebarPanel): |
| Replace the content element (the portion of the view excluding navigation |
| bars, filter bars, etc.) with a View object. A sidebar's content can be a mixture |
| of unwrapped DOM elements and View objects. For now, the content view's element |
| will be mutated directly, but once the DetailsSection class family inherits from |
| the View class the handling of details sections will be simplified. |
| (WebInspector.SidebarPanel.prototype.get contentView): |
| (WebInspector.SidebarPanel.prototype.shown): |
| (WebInspector.SidebarPanel.prototype.hidden): |
| (WebInspector.SidebarPanel.prototype.get contentElement): Deleted. |
| Replaced by WebInspector.SidebarPanel.prototype.get contentView. |
| |
| * UserInterface/Views/StyleDetailsPanel.js: |
| Inherit from View. |
| (WebInspector.StyleDetailsPanel): |
| (WebInspector.StyleDetailsPanel.prototype.get element): Deleted. |
| Defer to View.element getter. |
| |
| * UserInterface/Views/TimelineSidebarPanel.js: |
| (WebInspector.TimelineSidebarPanel.prototype._updateTimelineOverviewHeight): |
| |
| * UserInterface/Views/VisualStyleDetailsPanel.js: |
| (WebInspector.VisualStyleDetailsPanel): |
| (WebInspector.VisualStyleDetailsPanel.prototype._updateSections): |
| |
| 2015-12-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Stack traces in console incorrectly show "(anonymous function)" for global code |
| https://bugs.webkit.org/show_bug.cgi?id=152280 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Images/Program.svg: Added. |
| * UserInterface/Images/gtk/Program.svg: Added. |
| Copied from TimelineRecordScriptEvaluated.svg. |
| |
| * UserInterface/Models/CallFrame.js: |
| (WebInspector.CallFrame): |
| (WebInspector.CallFrame.prototype.get programCode): |
| Add a new property to check if this call frame is in program code. |
| |
| (WebInspector.CallFrame.fromPayload): |
| Detect different sources of program code (global, eval, module). |
| |
| * UserInterface/Views/CallFrameIcons.css: |
| (.program-icon .icon): |
| * UserInterface/Views/CallFrameView.js: |
| (WebInspector.CallFrameView.iconClassNameForCallFrame): |
| Give program code the [S] global script icon like in profiles. |
| |
| 2015-12-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Copy message from console with a stack trace does not include source code locations |
| https://bugs.webkit.org/show_bug.cgi?id=152270 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/ConsoleMessageView.js: |
| (WebInspector.ConsoleMessageView.prototype.toClipboardString): |
| When the the StackTrace was upgraded to a real collection of CallFrame |
| object's the CallFrame's got real SourceCodeLocation properties. |
| |
| 2015-12-13 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Make TimelineOverview's graph container a subview |
| https://bugs.webkit.org/show_bug.cgi?id=152235 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/TimelineOverview.js: |
| (WebInspector.TimelineOverview): |
| Create graph container subview. |
| (WebInspector.TimelineOverview.prototype._instrumentAdded): |
| Add overview to the graph container view. |
| (WebInspector.TimelineOverview.prototype._instrumentRemoved): |
| Remove overview from the graph container view. |
| (WebInspector.TimelineOverview.prototype.layout): |
| No longer necessary to manually lay out overview graphs. |
| (WebInspector.TimelineOverview.prototype._needsLayout): Deleted. |
| Removed dead code. |
| |
| 2015-12-12 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: CodeMirrorTokenTrackingController handles symbols in class definitions incorrectly |
| https://bugs.webkit.org/show_bug.cgi?id=152218 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Controllers/CodeMirrorTokenTrackingController.js: |
| (WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression): |
| Stop checking for object literal shorthand property if an open parenthesis is found. |
| This check became necessary with the introduction of ES6 class syntax. |
| |
| * UserInterface/Views/CodeMirrorAdditions.js: |
| Use localState when available, to prevent passing a state that doesn't define a tokenize property. |
| |
| 2015-12-12 Joseph Pecoraro <pecoraro@apple.com> |
| |
| REGRESSION (r191613): Web Inspector: Can't type spaces when editing DOM nodes |
| https://bugs.webkit.org/show_bug.cgi?id=152173 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/TimelineSidebarPanel.js: |
| (WebInspector.TimelineSidebarPanel): |
| Disable the keyboard shortcuts when they are created. They will be |
| enabled when the panel is shown / hidden. It doesn't really make sense |
| that these are on the sidebar panel instead of the tab, but things |
| will be changing in Timelines soon anyways so just fix this now. |
| |
| 2015-12-12 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: "Selected Element" should use sans-serif font, not monospace |
| https://bugs.webkit.org/show_bug.cgi?id=152212 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/ConsoleMessageView.css: |
| (.console-user-command.special-user-log > .console-message-text): |
| |
| 2015-12-11 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: When logging strings, detect stack traces and show them as StackTraceView |
| https://bugs.webkit.org/show_bug.cgi?id=149790 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Models/StackTrace.js: |
| (WebInspector.StackTrace.isLikelyStackTrace): Added. |
| |
| * UserInterface/Views/ConsoleMessageView.css: |
| (.console-message-extra-parameter .stack-trace): |
| Display stack trace view on the same line as a list bullet point from |
| console message extra parameter. |
| |
| * UserInterface/Views/ConsoleMessageView.js: |
| (WebInspector.ConsoleMessageView.prototype._appendFormattedArguments): |
| Don't format with string substitutions for stack traces. E.g. there is |
| no need to replace %s with the next argument. |
| |
| (WebInspector.ConsoleMessageView.prototype._isStackTrace): Added. |
| (WebInspector.ConsoleMessageView.prototype._formatParameterAsString): |
| Detect stack traces and format them appropriately. |
| |
| 2015-12-10 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: debugger dashboard's switching arrows are positioned too close to the dashboard border |
| https://bugs.webkit.org/show_bug.cgi?id=151867 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/DashboardContainerView.css: |
| (.dashboard-container .advance-arrow): |
| |
| 2015-12-10 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: debugger popover should have source location link when showing function source |
| https://bugs.webkit.org/show_bug.cgi?id=151866 |
| |
| Reviewed by Brian Burg. |
| |
| Added source code location link to function popover header. |
| |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction.didGetDetails): |
| Create source code location link from response payload. |
| (WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction): |
| |
| 2015-12-10 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: [Meta] Unify z-index values in Inspector's CSS |
| https://bugs.webkit.org/show_bug.cgi?id=151978 |
| |
| Introduce CSS variables for z-index due to recurring issues with incorrectly overlapping elements. |
| |
| From now on, all z-index values >= 64 must be defined as variables. |
| Values below 64 must not. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/Variables.css: |
| (:root): |
| Introduce z-index variables. |
| |
| * UserInterface/Debug/UncaughtExceptionReporter.css: |
| (.sheet-container): |
| * UserInterface/Views/BoxModelDetailsSectionRow.css: |
| (.details-section .row.box-model .editing): |
| * UserInterface/Views/CompletionSuggestionsView.css: |
| (.completion-suggestions): |
| * UserInterface/Views/DashboardContainerView.css: |
| (.dashboard-container .advance-arrow): |
| * UserInterface/Views/DataGrid.css: |
| (.data-grid .resizer): |
| * UserInterface/Views/DetailsSection.css: |
| (.details-section > .header): |
| (.details-section .details-section > .header): |
| * UserInterface/Views/FindBanner.css: |
| (.find-banner): |
| (.find-banner > button.segmented:active): |
| * UserInterface/Views/Main.css: |
| (#docked-resizer): |
| (.message-text-view): |
| (.bouncy-highlight): |
| * UserInterface/Views/Popover.css: |
| (.popover): |
| * UserInterface/Views/Resizer.css: |
| (.resizer): |
| (.glass-pane-for-drag): |
| * UserInterface/Views/TimelineOverview.css: |
| (.timeline-overview > .scroll-container): |
| * UserInterface/Views/VisualStyleSelectorSection.css: |
| (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider): |
| |
| 2015-12-09 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: when a marked-dirty subview is attached to a parent View, dirtyDescendantsCount gets out of sync |
| https://bugs.webkit.org/show_bug.cgi?id=151876 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Base/Main.js: |
| Use root view singleton instead of creating it explicitly. |
| |
| * UserInterface/Views/View.js: |
| (WebInspector.View): |
| (WebInspector.View.rootView): |
| Singleton root view access. Lazily create and return a view backed |
| by the document's body element. |
| (WebInspector.View.prototype.isDescendantOf): |
| (WebInspector.View.prototype.insertSubviewBefore): |
| (WebInspector.View.prototype.removeSubview): |
| (WebInspector.View.prototype.didMoveToWindow): |
| Notify the view when it becomes, or is no longer, descended from the root view. |
| (WebInspector.View.prototype.didMoveToParent): |
| Notify the view when it's added to, or removed from, a parent view. |
| (WebInspector.View._scheduleLayoutForView): |
| (WebInspector.View._cancelScheduledLayoutForView): |
| (WebInspector.View.prototype.makeRootView): Deleted. |
| No longer needed. |
| (WebInspector.View.prototype.didAttach): Deleted. |
| (WebInspector.View.prototype.didDetach): Deleted. |
| Replaced by didMoveToParent. |
| |
| 2015-12-09 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: control whether to collect and dump protocol messages using a WebInspector.Setting |
| https://bugs.webkit.org/show_bug.cgi?id=151635 |
| |
| Reviewed by Timothy Hatcher. |
| |
| When closing and reopening the inspector, the setting for whether |
| to dump protocol messages should be persisted. Otherwise, enabling |
| dumping from the debug-only UI will miss the initial flood of |
| messages that are processed when the Inspector loads initial data. |
| |
| To support a persistent setting, and build some infrastructure for |
| more advanced uses of collected protocol messages, this patch adds |
| a new object to trace protocol events. It gets callbacks for each |
| and implements the console-dumping functionality previously baked in |
| to InspectorBackend. |
| |
| In follow-up patches, other protocol tracers will be added to save |
| protocol data to disk, marshall it to a higher inspection level, |
| or provide more fine-grained control over what is logged. |
| |
| This change moves Setting.js into the Base/ directory, |
| since it is used by Views, Models, and now Protocol classes. |
| |
| * UserInterface/Base/Setting.js: Renamed from Source/WebInspectorUI/UserInterface/Models/Setting.js. |
| (WebInspector.Setting): |
| (WebInspector.Setting.prototype.get name): |
| (WebInspector.Setting.prototype.get value): |
| (WebInspector.Setting.prototype.set value): |
| * UserInterface/Main.html: |
| * UserInterface/Protocol/InspectorBackend.js: |
| (InspectorBackendClass): |
| (InspectorBackendClass.prototype.set dumpInspectorProtocolMessages): |
| (InspectorBackendClass.prototype.get dumpInspectorProtocolMessages): |
| |
| We still want to support the legacy way to enable dumping: |
| `InspectorBackend.dumpInspectorProtocolMessages = true`. This |
| is because some tests always use it, and it's easier to set this |
| flag in a custom Bootstrap.js file than to configure the Setting. |
| |
| (InspectorBackendClass.prototype.set dumpInspectorTimeStats): |
| (InspectorBackendClass.prototype.get dumpInspectorTimeStats): |
| |
| We still want to support the legacy way to enable dumping: |
| `InspectorBackend.dumpInspectorTimeStats = true`. This is |
| because MessageDispatcher checks this flag for its logging. |
| |
| (InspectorBackendClass.prototype.set activeTracer): |
| (InspectorBackendClass.prototype.get activeTracer): |
| |
| Set the active tracer, finalizing and removing any active tracer |
| if one exists. If removing a custom tracer (setting to null), then |
| re-sync activeTracer with the automatic tracing Setting. |
| |
| (InspectorBackendClass.prototype.dispatch): |
| (InspectorBackendClass.prototype._startOrStopAutomaticTracing): |
| |
| Sync the Setting with activeTracer. If an custom tracer is active, |
| don't replace it with the automatic logging tracer. |
| |
| (InspectorBackendClass.prototype._sendCommandToBackendWithCallback): |
| (InspectorBackendClass.prototype._sendCommandToBackendExpectingPromise): |
| (InspectorBackendClass.prototype._sendMessageToBackend): |
| (InspectorBackendClass.prototype._dispatchResponse): |
| (InspectorBackendClass.prototype._dispatchEvent): |
| (InspectorBackendClass.prototype._flushPendingScripts): |
| * UserInterface/Protocol/LoggingProtocolTracer.js: Added. |
| (WebInspector.LoggingProtocolTracer): |
| (WebInspector.LoggingProtocolTracer.prototype.set dumpMessagesToConsole): |
| (WebInspector.LoggingProtocolTracer.prototype.get dumpMessagesToConsole): |
| (WebInspector.LoggingProtocolTracer.prototype.set dumpTimingDataToConsole): |
| (WebInspector.LoggingProtocolTracer.prototype.get dumpTimingDataToConsole): |
| (WebInspector.LoggingProtocolTracer.prototype.logFrontendException): |
| (WebInspector.LoggingProtocolTracer.prototype.logProtocolError): |
| (WebInspector.LoggingProtocolTracer.prototype.logFrontendRequest): |
| (WebInspector.LoggingProtocolTracer.prototype.logWillHandleResponse): |
| (WebInspector.LoggingProtocolTracer.prototype.logDidHandleResponse): |
| (WebInspector.LoggingProtocolTracer.prototype.logWillHandleEvent): |
| (WebInspector.LoggingProtocolTracer.prototype.logDidHandleEvent): |
| (WebInspector.LoggingProtocolTracer.prototype._processEntry): |
| * UserInterface/Protocol/ProtocolTracer.js: Added. |
| (WebInspector.ProtocolTracer.prototype.logStarted): |
| (WebInspector.ProtocolTracer.prototype.logFrontendException): |
| (WebInspector.ProtocolTracer.prototype.logProtocolError): |
| (WebInspector.ProtocolTracer.prototype.logFrontendRequest): |
| (WebInspector.ProtocolTracer.prototype.logWillHandleResponse): |
| (WebInspector.ProtocolTracer.prototype.logDidHandleResponse): |
| (WebInspector.ProtocolTracer.prototype.logWillHandleEvent): |
| (WebInspector.ProtocolTracer.prototype.logDidHandleEvent): (WebInspector.ProtocolTracer.prototype.logFinished): |
| (WebInspector.ProtocolTracer): |
| * UserInterface/Test.html: |
| |
| 2015-12-09 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: zoom with Ctrl +/- doesn't work correctly when inspector is docked |
| https://bugs.webkit.org/show_bug.cgi?id=152076 |
| |
| Reviewed by Timothy Hatcher. |
| |
| When computing the new width or height of the inspector, take the zoom level into |
| account. window.inner{Width,Height} are in document pixels, but we need to specify |
| device pixels to InspectorFrontendHost. |
| |
| * UserInterface/Base/Main.js: |
| |
| 2015-12-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Workaround arrow function issue in TimelineOverviewGraph.js |
| https://bugs.webkit.org/show_bug.cgi?id=152031 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/TimelineOverviewGraph.js: |
| (WebInspector.TimelineOverviewGraph.prototype._needsSelectedRecordLayout): |
| Workaround an existing arrow function issue by moving off of arrow functions here. |
| |
| 2015-12-08 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Add a hidden property to TreeOutline |
| https://bugs.webkit.org/show_bug.cgi?id=152014 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/NavigationSidebarPanel.js: |
| Removed static property for "hidden" CSS class. No longer used. |
| (WebInspector.NavigationSidebarPanel.prototype.set contentTreeOutline): |
| Fixed bug in order of visibleTreeOutlines add/remove. |
| (WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline): |
| |
| * UserInterface/Views/TimelineSidebarPanel.js: |
| (WebInspector.TimelineSidebarPanel): |
| (WebInspector.TimelineSidebarPanel.prototype._changeViewMode): |
| |
| * UserInterface/Views/TreeOutline.js: |
| (WebInspector.TreeOutline): |
| (WebInspector.TreeOutline.prototype.get hidden): |
| (WebInspector.TreeOutline.prototype.set hidden): |
| Added hidden property, set DOM element hidden attribute. |
| (WebInspector.TreeElement.prototype.set hidden): |
| Remove CSS class, set DOM element hidden attribute. |
| (WebInspector.TreeElement.prototype._attach): |
| (WebInspector.TreeElement.prototype.expand): |
| |
| 2015-12-08 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Global Breakpoints should always be visible |
| https://bugs.webkit.org/show_bug.cgi?id=151066 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel): |
| Turn off filtering for Global Breakpoints elements. |
| |
| * UserInterface/Views/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel.prototype.suppressFilteringOnTreeElements): |
| Allow filtering to be turned off for specific tree elements. |
| (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement): |
| Make element visible if filtering suppressed. |
| (WebInspector.NavigationSidebarPanel.prototype._checkForEmptyFilterResults): |
| Visible elements with filtering disabled aren't considered when |
| showing/hiding the empty content placeholder. |
| |
| 2015-12-07 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: Uncaught Exception page should have better styles and handle more error cases |
| https://bugs.webkit.org/show_bug.cgi?id=151923 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Restructure the Uncaught Exception reporting page to act more like |
| a modal sheet. Distinguish between uncaught exceptions before and |
| after the frontend is initially loaded. If the frontend is loaded, |
| add a clickable link that dismisses the sheet and ignores the error. |
| If the inspector finished loading, then only show at most one |
| exception at a time, since subsequent interactions can cause spurious |
| errors when the sheet is active. |
| |
| Split existing code into multiple functions so it's easier to follow. |
| Add miscellaneous guards against internal corruption and weird cases. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.contentLoaded): Store the flag on the global object |
| in case WebInspector becomes shadowed or otherwise unusable. |
| |
| * UserInterface/Debug/UncaughtExceptionReporter.css: Renamed from Source/WebInspectorUI/UserInterface/Debug/CatchEarlyErrors.css. |
| (div.sheet-container): |
| (div.uncaught-exception-sheet): |
| (div.uncaught-exception-sheet a): |
| (div.uncaught-exception-sheet a:active): |
| (div.uncaught-exception-sheet h2): |
| (div.uncaught-exception-sheet h1 > img): |
| (div.uncaught-exception-sheet h2 > img): |
| (div.uncaught-exception-sheet dl): |
| (div.uncaught-exception-sheet dt): |
| (div.uncaught-exception-sheet dd): |
| (div.uncaught-exception-sheet ul): |
| (div.uncaught-exception-sheet li): |
| * UserInterface/Debug/UncaughtExceptionReporter.js: Renamed from CatchEarlyErrors.js. |
| (stopEventPropagation): Allow clicking whitelisted links on the sheet. |
| (blockEventHandlers): |
| (unblockEventHandlers): |
| (handleUncaughtException): |
| (dismissErrorSheet): |
| (createErrorSheet.insertWordBreakCharacters): |
| (createErrorSheet): |
| (handleLinkClick): |
| * UserInterface/Main.html: |
| * UserInterface/Protocol/MessageDispatcher.js: |
| (WebInspector.dispatchMessageFromBackend): Don't try to dispatch |
| messages from the backend when showing the error sheet. They will |
| probably fail, so suspend dispatching until the sheet is dismissed. |
| |
| 2015-12-06 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Regression (r192936) - changing selectors in the visual styles sidebar is broken |
| https://bugs.webkit.org/show_bug.cgi?id=151924 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/VisualStyleSelectorSection.js: |
| (WebInspector.VisualStyleSelectorSection): |
| (WebInspector.VisualStyleSelectorSection.prototype._selectorChanged): |
| Now uses an event listener instead of an "onselect" function. |
| |
| 2015-12-06 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Comparisons in setters should use the massaged value (" = x || 0/false/null/etc") |
| https://bugs.webkit.org/show_bug.cgi?id=151910 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Updated setters that use default values to convert falsy inputs to the default value |
| before compariing against the current value. |
| |
| * UserInterface/Models/TimelineMarker.js: |
| (WebInspector.TimelineMarker.prototype.set time): |
| Assert new value is a number. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGridNode.prototype.set hidden): |
| (WebInspector.DataGridNode.prototype.set data): |
| Assert new value is of type object. Use shallowEqual compare before setting value. |
| |
| * UserInterface/Views/GeneralTreeElement.js: |
| (WebInspector.GeneralTreeElement.prototype.set classNames): |
| Use shallowEqual compare before setting value. |
| (WebInspector.GeneralTreeElement.prototype.set mainTitle): |
| (WebInspector.GeneralTreeElement.prototype.set subtitle): |
| (WebInspector.GeneralTreeElement.prototype.set status): |
| (WebInspector.GeneralTreeElement.prototype.set tooltipHandledSeparately): |
| |
| * UserInterface/Views/TimelineOverview.js: |
| (WebInspector.TimelineOverview.prototype.set startTime): |
| (WebInspector.TimelineOverview.prototype.set currentTime): |
| (WebInspector.TimelineOverview.prototype.set endTime): |
| (WebInspector.TimelineOverview.prototype.set scrollStartTime): |
| (WebInspector.TimelineOverview.prototype.set selectionStartTime): |
| Check current ruler selectionStartTime before setting value. |
| |
| * UserInterface/Views/TimelineOverviewGraph.js: |
| (WebInspector.TimelineOverviewGraph.prototype.set zeroTime): |
| (WebInspector.TimelineOverviewGraph.prototype.set startTime): |
| (WebInspector.TimelineOverviewGraph.prototype.set endTime): |
| (WebInspector.TimelineOverviewGraph.prototype.set currentTime): |
| |
| * UserInterface/Views/TimelineRuler.js: |
| (WebInspector.TimelineRuler): |
| (WebInspector.TimelineRuler.prototype.set allowsClippedLabels): |
| (WebInspector.TimelineRuler.prototype.set formatLabelCallback): |
| (WebInspector.TimelineRuler.prototype.set allowsTimeRangeSelection): |
| (WebInspector.TimelineRuler.prototype.set zeroTime): |
| (WebInspector.TimelineRuler.prototype.set startTime): |
| (WebInspector.TimelineRuler.prototype.set endTime): |
| (WebInspector.TimelineRuler.prototype.set secondsPerPixel): |
| (WebInspector.TimelineRuler.prototype.set selectionStartTime): |
| (WebInspector.TimelineRuler.prototype.set selectionEndTime): |
| (WebInspector.TimelineRuler.prototype.set duration): Deleted. |
| The ruler duration and "pinned" state are controlled by setting an end |
| time. Removed since it wasn't being used, and there shouldn't be two |
| ways to the exact same thing. |
| |
| * UserInterface/Views/TimelineView.js: |
| (WebInspector.TimelineView.prototype.set zeroTime): |
| (WebInspector.TimelineView.prototype.set startTime): |
| (WebInspector.TimelineView.prototype.set endTime): |
| |
| 2015-12-04 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r193486. |
| https://bugs.webkit.org/show_bug.cgi?id=151904 |
| |
| Causes Infinite Recursion in Timeline Recording (Requested by |
| JoePeck on #webkit). |
| |
| Reverted changeset: |
| |
| "Web Inspector: when a marked-dirty subview is attached to a |
| parent View, dirtyDescendantsCount gets out of sync" |
| https://bugs.webkit.org/show_bug.cgi?id=151876 |
| http://trac.webkit.org/changeset/193486 |
| |
| 2015-12-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Uncaught Exception with Reload shortcut in JSContext Inspector |
| https://bugs.webkit.org/show_bug.cgi?id=151896 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.contentLoaded): |
| Do not implicitly prevent default on these keyboard shortcuts |
| so we can system beep if we do not do anything. |
| |
| (WebInspector._reloadPage): |
| (WebInspector._reloadPageIgnoringCache): |
| Bail if there is no PageAgent without preventing default for |
| a beep system beep. Prevent default if we did something. |
| |
| 2015-12-04 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: when a marked-dirty subview is attached to a parent View, dirtyDescendantsCount gets out of sync |
| https://bugs.webkit.org/show_bug.cgi?id=151876 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/NewTabContentView.js: |
| (WebInspector.NewTabContentView.prototype._updateShownTabs): |
| Removed workaround added in https://bugs.webkit.org/show_bug.cgi?id=151594. |
| |
| * UserInterface/Views/View.js: |
| (WebInspector.View._scheduleLayoutForView): |
| Always perform a synchronous layout when a view that isn't descended from the |
| root view schedules a layout. |
| |
| 2015-12-04 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: support runtime registration of tab type associations |
| https://bugs.webkit.org/show_bug.cgi?id=151594 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| We want to add special tabs that only exist in engineering builds |
| for debugging purposes. Though the relevant models and views can be |
| put in the Debug/ directory to exclude them from production builds, |
| there's no way to register tabs conditionally at runtime; tabs are |
| hardcoded. |
| |
| This patch makes it possible to register new tab types at runtime. |
| First, WebInspector keeps a map of known, registered tab classes. |
| Details that were hardcoded before---whether to show in New Tab, |
| whether a tab can be instantiated given the active domains, UI text, |
| etc.---are now static methods on the base TabContentView or overidden |
| in its subclasses. Lastly, a public method allows code in Bootstrap.js |
| to register tabs at runtime. Doing so sends a notification so the |
| NewTabContentView can show the newly available tab item. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.contentLoaded): |
| (WebInspector.isTabTypeAllowed): |
| (WebInspector.knownTabClasses): Added, used by NewTabContentView. |
| (WebInspector._createTabContentViewForType): Renamed from _tabContentViewForType. |
| (WebInspector._rememberOpenTabs): |
| (WebInspector._updateNewTabButtonState): |
| (WebInspector._tryToRestorePendingTabs): Added. |
| |
| Whenever a new tab is registered, try to restore pending tabs, since |
| an extra tab won't be added initially when production tabs are added. |
| But, it could have been saved in the Setting for opened tabs. |
| |
| (WebInspector.showNewTabTab): |
| (WebInspector.isNewTabWithTypeAllowed): |
| (WebInspector.createNewTabWithType): |
| (WebInspector._tabContentViewForType): Deleted. |
| * UserInterface/Base/Object.js: |
| * UserInterface/Views/ConsoleTabContentView.js: |
| (WebInspector.ConsoleTabContentView): |
| (WebInspector.ConsoleTabContentView.tabInfo): Added. |
| * UserInterface/Views/DebuggerTabContentView.js: |
| (WebInspector.DebuggerTabContentView): |
| (WebInspector.DebuggerTabContentView.tabInfo): Added. |
| * UserInterface/Views/ElementsTabContentView.js: |
| (WebInspector.ElementsTabContentView): |
| (WebInspector.ElementsTabContentView.tabInfo): Added. |
| (WebInspector.ElementsTabContentView.isTabAllowed): Added. |
| * UserInterface/Views/NetworkTabContentView.js: |
| (WebInspector.NetworkTabContentView): |
| (WebInspector.NetworkTabContentView.tabInfo): Added. |
| (WebInspector.NetworkTabContentView.isTabAllowed): Added. |
| * UserInterface/Views/NewTabContentView.js: |
| |
| Keep a list of shown tab items, so we don't have to query the DOM |
| to update enabled/disabled state. Put tree construction inside a |
| layout() override and dirty the view whenever known tab types change. |
| |
| (WebInspector.NewTabContentView): |
| (WebInspector.NewTabContentView.tabInfo): Added. |
| (WebInspector.NewTabContentView.isEphemeral): Added. |
| (WebInspector.NewTabContentView.shouldSaveTab): Added. |
| (WebInspector.NewTabContentView.prototype.layout): Added. |
| (WebInspector.NewTabContentView.prototype._updateShownTabs): Added. |
| (WebInspector.NewTabContentView.prototype._allowableTabTypes): |
| (WebInspector.NewTabContentView.prototype._updateTabItems): |
| (WebInspector.NewTabContentView.prototype.get tabItemElements): Deleted. |
| * UserInterface/Views/ResourcesTabContentView.js: |
| (WebInspector.ResourcesTabContentView): |
| (WebInspector.ResourcesTabContentView.tabInfo): Added. |
| * UserInterface/Views/SearchTabContentView.js: |
| (WebInspector.SearchTabContentView): |
| (WebInspector.SearchTabContentView.tabInfo): Added. |
| (WebInspector.SearchTabContentView.isEphemeral): Added. |
| * UserInterface/Views/SettingsTabContentView.js: |
| (WebInspector.SettingsTabContentView.isTabAllowed): Added. |
| (WebInspector.SettingsTabContentView.shouldSaveTab): Added. |
| * UserInterface/Views/StorageTabContentView.js: |
| (WebInspector.StorageTabContentView): |
| (WebInspector.StorageTabContentView.tabInfo): Added. |
| (WebInspector.StorageTabContentView.isTabAllowed): Added. |
| * UserInterface/Views/TabBrowser.js: |
| (WebInspector.TabBrowser.showTabForContentView): |
| |
| Add a workaround for <https://webkit.org/b/151876>. This bug is |
| revealed by the changes to NewTabContentView in this patch. |
| |
| * UserInterface/Views/TabContentView.js: |
| (WebInspector.TabContentView.isTabAllowed): Added. |
| (WebInspector.TabContentView.isEphemeral): Added. |
| (WebInspector.TabContentView.shouldSaveTab): Added. |
| * UserInterface/Views/TimelineTabContentView.js: |
| (WebInspector.TimelineTabContentView): |
| (WebInspector.TimelineTabContentView.tabInfo): Added. |
| (WebInspector.TimelineTabContentView.isTabAllowed): Added. |
| |
| 2015-12-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Remove untested and unused Worker inspection |
| https://bugs.webkit.org/show_bug.cgi?id=151848 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js: |
| * UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js: |
| * UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js: |
| * Versions/Inspector-iOS-7.0.json: |
| * Versions/Inspector-iOS-8.0.json: |
| * Versions/Inspector-iOS-9.0.json: |
| Since this was untested in older releases as well, remove |
| the protocol interfaces for legacy versions. |
| |
| 2015-12-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Specifically Identify the Global Lexical Environment Scope |
| https://bugs.webkit.org/show_bug.cgi?id=151828 |
| |
| Reviewed by Brian Burg. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Controllers/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype._scopeChainNodeFromPayload): |
| * UserInterface/Models/ScopeChainNode.js: |
| * UserInterface/Views/ScopeChainDetailsSidebarPanel.js: |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateCallFramesSection): |
| Include a new scope type and give it a localized string. |
| |
| 2015-12-03 Anders Carlsson <andersca@apple.com> |
| |
| Remove Objective-C GC support |
| https://bugs.webkit.org/show_bug.cgi?id=151819 |
| rdar://problem/23746991 |
| |
| Reviewed by Dan Bernstein. |
| |
| * Configurations/Base.xcconfig: |
| |
| 2015-12-03 Matt Baker <mattbaker@apple.com> |
| |
| Uncaught Exception in Web Inspector: TypeError: null is not an object (evaluating 'dataGridNode.element.classList') |
| https://bugs.webkit.org/show_bug.cgi?id=151790 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGridNode): |
| (WebInspector.DataGridNode.prototype.get hidden): |
| (WebInspector.DataGridNode.prototype.set hidden): |
| Make hidden a property, so it can be set before the grid node's DOM element exists. |
| (WebInspector.DataGridNode.prototype.get selectable): |
| (WebInspector.DataGridNode.prototype.get element): |
| Add hidden style, if needed, when element is created. |
| |
| * UserInterface/Views/TreeOutlineDataGridSynchronizer.js: |
| (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementVisibilityDidChange): |
| (WebInspector.TreeOutlineDataGridSynchronizer): |
| Don't access the grid node's element directly, since it may not exist yet. |
| |
| 2015-12-02 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Handle YieldExpressions in the ScriptSyntaxTree |
| https://bugs.webkit.org/show_bug.cgi?id=151730 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Models/NativeFunctionParameters.js: |
| Add the Generator API. |
| |
| * UserInterface/Models/ScriptSyntaxTree.js: |
| (WebInspector.ScriptSyntaxTree.prototype._recurse): |
| (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree): |
| Handle YieldExpressions. |
| |
| 2015-12-01 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: TreeOutline should just dispatch events via WebInspector.Object |
| https://bugs.webkit.org/show_bug.cgi?id=148067 |
| |
| Reviewed by Timothy Hatcher. |
| |
| TreeOutline now dispatches most events via WebInspector.Object. The onselect and |
| ondeselect callbacks are replaced by a SelectionDidChange event, which includes |
| both the selected and deselected elements in its event data. The onexpand and oncollapse |
| callbacks are replaced by an ElementDisclosureDidChange event. This is consistent with the |
| behavior of onhidden, which had no corresponding onvisible callback. |
| |
| Alas, TimelineView and TreeOutlineDataGridSynchronizer depended on the order in which |
| TreeOutline.onselect callbacks were chained together. The synchronizer added its |
| callback after the timeline view, which ensured that the tree and grid were in sync |
| before the view handled onselect and dispatched a SelectionPathComponentsDidChange. |
| The change notification causes the view's path components to be read, and timeline |
| views need the grid selection to be in a valid state to build path components. |
| |
| This is addressed by having timeline views dispatch SelectionPathComponentsDidChange |
| events when the grid selection changes, instead of the tree selection. The change |
| required that the synchronizer no longer suppress notifications when selecting grid nodes. |
| |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel): |
| (WebInspector.DebuggerSidebarPanel.prototype._treeSelectionDidChange): |
| (WebInspector.DebuggerSidebarPanel.prototype._updatePauseReasonSection): |
| |
| * UserInterface/Views/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline): |
| (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged): |
| |
| * UserInterface/Views/NetworkGridContentView.js: |
| (WebInspector.NetworkGridContentView): |
| (WebInspector.NetworkGridContentView.prototype._treeSelectionDidChange): |
| |
| * UserInterface/Views/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel): |
| (WebInspector.ResourceSidebarPanel.prototype._treeSelectionDidChange): |
| (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected): Deleted. |
| |
| * UserInterface/Views/ScopeChainDetailsSidebarPanel.js: |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateCallFramesSection): |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateWatchExpressionsSection): |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype._treeElementAdded): |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype._treeElementDisclosureDidChange): |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype._objectTreeExpandHandler): Deleted. |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype._objectTreeCollapseHandler): Deleted. |
| |
| * UserInterface/Views/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel): |
| (WebInspector.SearchSidebarPanel.prototype._treeSelectionDidChange): |
| (WebInspector.SearchSidebarPanel.prototype._treeElementSelected): Deleted. |
| |
| * UserInterface/Views/StorageSidebarPanel.js: |
| (WebInspector.StorageSidebarPanel): |
| (WebInspector.StorageSidebarPanel._treeSelectionDidChange): |
| |
| * UserInterface/Views/TimelineDataGrid.js: |
| (WebInspector.TimelineDataGrid.prototype._createPopoverContent): |
| (WebInspector.TimelineDataGrid.prototype._popoverCallStackTreeSelectionDidChange): |
| (WebInspector.TimelineDataGrid): |
| |
| * UserInterface/Views/TimelineSidebarPanel.js: |
| (WebInspector.TimelineSidebarPanel): |
| (WebInspector.TimelineSidebarPanel.prototype._recordingsTreeSelectionDidChange): |
| (WebInspector.TimelineSidebarPanel.prototype._timelinesTreeSelectionDidChange): |
| (WebInspector.TimelineSidebarPanel.prototype._timelinesTreeElementSelected): Deleted. |
| |
| * UserInterface/Views/TimelineView.js: |
| (WebInspector.TimelineView): |
| (WebInspector.TimelineView.prototype._treeSelectionDidChange): |
| (WebInspector.TimelineView.prototype.treeElementSelected): |
| Don't dispatch SelectionPathComponentsDidChange. Timeline views already do this |
| in response to grid selection events. |
| |
| * UserInterface/Views/TreeOutline.js: |
| (WebInspector.TreeOutline.prototype.appendChild): |
| (WebInspector.TreeOutline.prototype.insertChild): |
| (WebInspector.TreeOutline.prototype.removeChildAtIndex): |
| (WebInspector.TreeOutline.prototype.removeChildren): |
| (WebInspector.TreeOutline.prototype.removeChildrenRecursive): |
| (WebInspector.TreeOutline.prototype._treeElementDidChange): |
| (WebInspector.TreeElement.prototype.set hidden): |
| (WebInspector.TreeElement.prototype.collapse): |
| (WebInspector.TreeElement.prototype.expand): |
| (WebInspector.TreeElement.prototype.select): |
| (WebInspector.TreeElement.prototype.deselect): |
| (WebInspector.TreeElement.prototype.get childrenListElement): Deleted. |
| Removed dead code. |
| |
| * UserInterface/Views/TreeOutlineDataGridSynchronizer.js: |
| (WebInspector.TreeOutlineDataGridSynchronizer): |
| (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeSelectionDidChange): |
| (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementAdded): |
| (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementRemoved): |
| (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementDisclosureDidChange): |
| (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementVisibilityDidChange): |
| (WebInspector.TreeOutlineDataGridSynchronizer.treeOutline.onadd): Deleted. |
| (WebInspector.TreeOutlineDataGridSynchronizer.treeOutline.onremove): Deleted. |
| (WebInspector.TreeOutlineDataGridSynchronizer.treeOutline.onexpand): Deleted. |
| (WebInspector.TreeOutlineDataGridSynchronizer.treeOutline.oncollapse): Deleted. |
| (WebInspector.TreeOutlineDataGridSynchronizer.treeOutline.onhidden): Deleted. |
| (WebInspector.TreeOutlineDataGridSynchronizer.treeOutline.onselect): Deleted. |
| (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementSelected): Deleted. |
| (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementExpanded): Deleted. |
| (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementCollapsed): Deleted. |
| (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementHiddenChanged): Deleted. |
| |
| * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js: |
| (WebInspector.VisualStyleCommaSeparatedKeywordEditor): |
| (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._treeSelectionDidChange): |
| (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._treeElementSelected): Deleted. |
| |
| 2015-12-01 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Timestamp in Tooltip of Event Markers is incorrect |
| https://bugs.webkit.org/show_bug.cgi?id=151722 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/TimelineRuler.js: |
| (WebInspector.TimelineRuler.prototype.addMarker): |
| Convert the marker's time, to be relative to the start of the recording. |
| |
| 2015-12-01 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Unreviewed common typo fix "occurance" => "occurrence". |
| |
| * Scripts/combine-resources.pl: |
| (concatenateFiles): |
| |
| 2015-12-01 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Spacebar to toggle Timeline recording doesn't work in Timeline tab after reloading the page |
| https://bugs.webkit.org/show_bug.cgi?id=151530 |
| |
| Reviewed by Timothy Hatcher. |
| |
| If reloading the page caused the console to clear, that was triggering |
| the console prompt to be focused. When the console prompt is focused, |
| keyboard input like Spacebar, was just inputing characters instead of |
| triggering the keyboard shortcut that was expected. |
| |
| This also means that console.clear() in the inspected page would cause |
| the inspector to focus the console. That is unexpected as well. |
| |
| Focusing the console prompt whenever the console log is cleared |
| is not ideal. If we do want to focus the prompt the caller should |
| make that determination, not clear. |
| |
| * UserInterface/Controllers/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController.prototype.clear): |
| |
| 2015-12-01 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Update Timeline UI based on the Instruments in the Active Recording |
| https://bugs.webkit.org/show_bug.cgi?id=151374 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView.prototype._updateTimelineOverviewHeight): |
| Modernize as I was in this code while looking into this patch. |
| |
| * UserInterface/Views/TimelineSidebarPanel.css: |
| (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events): Deleted. |
| (.sidebar > .panel.navigation.timeline > .timelines-content): Deleted. |
| These defaults are no longer necessary, the UI overrides them anyways. |
| |
| * UserInterface/Views/TimelineSidebarPanel.js: |
| (WebInspector.TimelineSidebarPanel): |
| Include both the basic and rendering frames toolbars. They will be |
| mutually exclusive based on if the FPSIntrument is available. |
| |
| (WebInspector.TimelineSidebarPanel.prototype._recordingSelected): |
| (WebInspector.TimelineSidebarPanel.prototype._clearInstruments): |
| When loading a new Recording clear the UI. |
| |
| (WebInspector.TimelineSidebarPanel.prototype._instrumentAdded): |
| (WebInspector.TimelineSidebarPanel.prototype._instrumentRemoved): |
| (WebInspector.TimelineSidebarPanel.prototype._addedFPSInstrument): |
| (WebInspector.TimelineSidebarPanel.prototype._removedFPSInstrument): |
| Handle toggling the toolbars when the FPS instrument is added/removed. |
| |
| (WebInspector.TimelineSidebarPanel.prototype._timelineCountChanged): |
| (WebInspector.TimelineSidebarPanel.prototype._updateTimelineOverviewHeight): |
| (WebInspector.TimelineSidebarPanel.prototype._changeViewMode): |
| Properly update the sidebar's understanding of the TimelineOverview size. |
| |
| 2015-12-01 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Initial support for variable timelines |
| https://bugs.webkit.org/show_bug.cgi?id=151372 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Controllers/TimelineManager.js: |
| (WebInspector.TimelineManager.defaultInstruments): |
| (WebInspector.TimelineManager.prototype._loadNewRecording): |
| Keep the status quo which is the same set of instruments for each recording. |
| |
| (WebInspector.TimelineManager.prototype.startCapturing): |
| (WebInspector.TimelineManager.prototype.stopCapturing): |
| Push responsibility of capturing to the Recording, which has a specific set |
| of instruments that know what they need to turn on an off from the backend. |
| |
| * UserInterface/Main.html: |
| * UserInterface/Models/Instrument.js: Added. |
| (WebInspector.Instrument): |
| (WebInspector.Instrument.startLegacyTimelineAgent): |
| (WebInspector.Instrument.stopLegacyTimelineAgent): |
| (WebInspector.Instrument.prototype.get timelineRecordType): |
| (WebInspector.Instrument.prototype.startInstrumentation): |
| (WebInspector.Instrument.prototype.stopInstrumentation): |
| New class representing something that can be turned on and off |
| from the backend and produces a set of Timeline record types. |
| Currently instruments are 1-to-1 to a Timeline type. |
| |
| * UserInterface/Models/LayoutInstrument.js: Added. |
| (WebInspector.LayoutInstrument.prototype.get timelineRecordType): |
| (WebInspector.LayoutInstrument): |
| * UserInterface/Models/NetworkInstrument.js: Added. |
| (WebInspector.NetworkInstrument.prototype.get timelineRecordType): |
| (WebInspector.NetworkInstrument.prototype.startInstrumentation): |
| (WebInspector.NetworkInstrument.prototype.stopInstrumentation): |
| (WebInspector.NetworkInstrument): |
| * UserInterface/Models/ScriptInstrument.js: Added. |
| (WebInspector.ScriptInstrument.prototype.get timelineRecordType): |
| (WebInspector.ScriptInstrument): |
| The default set of instruments. Currently they all enable the TimelineAgent, |
| so they share code to enable/disable in the base class to avoid duplication. |
| |
| * UserInterface/Models/FPSInstrument.js: Added. |
| (WebInspector.FPSInstrument): |
| (WebInspector.FPSInstrument.supported): |
| (WebInspector.FPSInstrument.prototype.get timelineRecordType): |
| Provide a "supported" static method and simplify other code that |
| checks whether or not RenderingFrames is available or not. |
| |
| |
| * UserInterface/Models/Timeline.js: |
| (WebInspector.Timeline.prototype.get displayName): Deleted. |
| (WebInspector.Timeline.prototype.get iconClassName): Deleted. |
| Move these to a View class, as this is primarily View logic. |
| |
| * UserInterface/Models/TimelineRecording.js: |
| (WebInspector.TimelineRecording): |
| (WebInspector.TimelineRecording.prototype.get instruments): |
| (WebInspector.TimelineRecording.prototype.start): |
| (WebInspector.TimelineRecording.prototype.stop): |
| (WebInspector.TimelineRecording.prototype.timelineForInstrument): |
| (WebInspector.TimelineRecording.prototype.addInstrument): |
| (WebInspector.TimelineRecording.prototype.removeInstrument): |
| (WebInspector.TimelineRecording.prototype.addEventMarker): |
| (WebInspector.TimelineRecording.prototype.addTimeline): Deleted. |
| (WebInspector.TimelineRecording.prototype.removeTimeline): Deleted. |
| A recording now has a set of Instruments and its own start/stop |
| which starts/stops its set of Instruments! Treat Instruments as |
| the variable property of a Recording instead of Timelines. |
| |
| * UserInterface/Views/TimelineOverview.js: |
| (WebInspector.TimelineOverview): |
| (WebInspector.TimelineOverview.prototype._instrumentAdded): |
| (WebInspector.TimelineOverview.prototype._instrumentRemoved): |
| (WebInspector.TimelineOverview.prototype._timelineAdded): Deleted. |
| (WebInspector.TimelineOverview.prototype._timelineRemoved): Deleted. |
| * UserInterface/Views/TimelineRecordingContentView.js: |
| (WebInspector.TimelineRecordingContentView): |
| (WebInspector.TimelineRecordingContentView.prototype._instrumentAdded): |
| (WebInspector.TimelineRecordingContentView.prototype._instrumentRemoved): |
| (WebInspector.TimelineRecordingContentView.prototype._timelineAdded): Deleted. |
| (WebInspector.TimelineRecordingContentView.prototype._timelineRemoved): Deleted. |
| * UserInterface/Views/TimelineSidebarPanel.js: |
| (WebInspector.TimelineSidebarPanel): |
| (WebInspector.TimelineSidebarPanel.displayNameForTimeline): |
| (WebInspector.TimelineSidebarPanel.iconClassNameForTimeline): |
| (WebInspector.TimelineSidebarPanel.prototype.updateFrameSelection): |
| (WebInspector.TimelineSidebarPanel.prototype.restoreStateFromCookie): |
| (WebInspector.TimelineSidebarPanel.prototype._recordingSelected): |
| (WebInspector.TimelineSidebarPanel.prototype._instrumentAdded): |
| (WebInspector.TimelineSidebarPanel.prototype._instrumentRemoved): |
| (WebInspector.TimelineSidebarPanel.prototype._changeViewMode): |
| (WebInspector.TimelineSidebarPanel.prototype._timelineAdded): Deleted. |
| (WebInspector.TimelineSidebarPanel.prototype._timelineRemoved): Deleted. |
| Update all TimelineAdded/TimelineRemoved clients to instead check |
| InstrumentAdded/InstrumentRemoved. Immediately convert from an Instrument |
| to a Timeline to keep the patch simple. |
| |
| 2015-12-01 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Broken Inspector when resources are minified |
| https://bugs.webkit.org/show_bug.cgi?id=151711 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Scripts/combine-resources.pl: |
| (concatenateFiles): |
| Provide a way to just strip resources matches a pattern. |
| |
| * Scripts/copy-user-interface-resources.pl: |
| Strip "Debug/" resources before combining / minifying others. |
| |
| * UserInterface/Views/View.js: |
| (WebInspector.View.prototype.makeRootView): |
| (WebInspector.View.prototype.didDetach): |
| Address warnings from the console.assert stripping phase |
| for console.assert statements lacking a trailing semicolon. |
| |
| 2015-11-30 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: show something useful when the inspector frontend fails to load |
| https://bugs.webkit.org/show_bug.cgi?id=151643 |
| |
| Reviewed by Timothy Hatcher. |
| |
| When a parse error or other early error happens before the inspector |
| is fully loaded, we can't use the second-level inspector to tell what's |
| going on. It would be better to catch any early errors and list them. |
| |
| This patch adds an error page that shows the early errors that happened |
| during loading. It provides a list of errors, a link to reload the |
| inspector, and a link to submit a pre-filled bug report about the error. |
| |
| For now, this page only shows up in engineering builds because it's |
| located in the Debug/ directory. We can move it later when it works |
| better in all cases. Follow-up patches can address smaller issues, |
| such as the transparent title bar and broken text selection. |
| |
| * UserInterface/Debug/CatchEarlyErrors.css: Added. |
| * UserInterface/Debug/CatchEarlyErrors.js: Added. |
| * UserInterface/Main.html: |
| * UserInterface/Main.js: Abort setting up the UI if something happened. |
| |
| 2015-11-30 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: delete-by-word and similar shortcuts should add text to the WebCore kill ring |
| https://bugs.webkit.org/show_bug.cgi?id=151312 |
| |
| Reviewed by Darin Adler. |
| |
| Add support for other kill ring-eligible keybindinsg, such as |
| deleting by word, group, or line forwards and backwards. |
| |
| * UserInterface/Controllers/CodeMirrorTextKillController.js: |
| (WebInspector.CodeMirrorTextKillController): |
| (WebInspector.CodeMirrorTextKillController.prototype._handleTextKillCommand): Renamed from _handleKillLine. |
| |
| Parameterize the function so it can handle any keybinding and |
| command. Take a kill ring insertion mode argument, too. |
| |
| (WebInspector.CodeMirrorTextKillController.prototype._handleTextChange): |
| |
| Add some special casing for changes received from Delete Line |
| (Cmd-D) so the right text is added to the kill ring. Thread the |
| kill ring insertion mode to the frontend host call. |
| |
| (WebInspector.CodeMirrorTextKillController.prototype._handleKillLine): Deleted. |
| |
| 2015-11-29 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: Add context menu item to Reload the Inspector |
| https://bugs.webkit.org/show_bug.cgi?id=141742 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Add a global context menu and global shortcut (Cmd-Opt-Shift-R) to |
| reload the Web Inspector frontend without closing the browser. |
| |
| This should make it possible to more quickly fix typos, small nits, |
| etc. without having to relaunch. It might also make state |
| restoration bugs more visible in engineering builds, since there |
| is hardly any delay between seeing the old and reloaded frontends. |
| |
| Note that this functionality reloads scripts from the configuration's |
| build directory, so you still need to "build" WebInspectorUI to ensure |
| that any changed files are properly minified and staged. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.unlocalizedString): |
| |
| Added. Make it obvious when strings are intentionally not localized. |
| |
| (WebInspector._contextMenuRequested): |
| |
| If the "Show Debug UI" setting is available and true, add |
| a global "Reload Web Inspector" menu item to every context |
| menu. Otherwise, don't eagerly create a context menu. |
| * UserInterface/Debug/Bootstrap.js: Add Cmd-Opt-Shift-R shortcut. |
| |
| 2015-11-29 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: allow multiple UI components to add menu items upon getting a "contextmenu" event |
| https://bugs.webkit.org/show_bug.cgi?id=151629 |
| |
| Reviewed by Timothy Hatcher. |
| |
| The existing Context Menu system assumes that only one UI component |
| will need to provide context menu items. But in some scenarios, there |
| are multiple UI components that could provide relevant menu items. For |
| example, right-clicking on an DOM element in the console should show |
| menu items relevant to 1) the DOM element, 2) the console in general, |
| and 3) global menu items. Existing code shows menu items provided by |
| the first object that handles the event and calls ContextMenu.show(). |
| |
| This patch changes behavior so that a context menu can be built up |
| by multiple 'contextmenu' event handlers. A ContextMenu instance is |
| hidden on the 'contextmenu' event object; client code calls a |
| factory method that digs out this existing context menu or creates a |
| new one as needed. To actually show the context menu through the |
| InspectorFrontendHost methods, the top-level app controller adds a |
| bubbling listener for 'contextmenu' and shows the event's context |
| menu if one has been created. |
| |
| Along the way, do some cleanup. Do s/var/let/, arrowize some functions, |
| use Array.{map,some}, and simplify some other code as a result. |
| |
| No new tests yet, since we can't trigger context menu easily from |
| an inspector test. All affected context menus were manually verified. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.contentLoaded): |
| * UserInterface/Controllers/BreakpointPopoverController.js: |
| (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems): |
| (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.editBreakpoint): Deleted. |
| (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.removeBreakpoint): Deleted. |
| (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.toggleBreakpoint): Deleted. |
| (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.toggleAutoContinue): Deleted. |
| (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.revealOriginalSourceCodeLocation): Deleted. |
| * UserInterface/Views/BreakpointTreeElement.js: |
| (WebInspector.BreakpointTreeElement.prototype.oncontextmenu): |
| * UserInterface/Views/CSSStyleDeclarationSection.js: |
| * UserInterface/Views/ContextMenu.js: |
| (WebInspector.ContextMenuItem.prototype._buildDescriptor): |
| (WebInspector.ContextMenuItem): |
| (WebInspector.ContextSubMenuItem.prototype.appendItem): |
| (WebInspector.ContextSubMenuItem.prototype.appendSubMenuItem): |
| (WebInspector.ContextSubMenuItem.prototype.appendCheckboxItem): |
| (WebInspector.ContextSubMenuItem.prototype._pushItem): |
| (WebInspector.ContextSubMenuItem.prototype._buildDescriptor): |
| (WebInspector.ContextSubMenuItem): |
| (WebInspector.ContextMenu.createFromEvent): |
| (WebInspector.ContextMenu.prototype.show): |
| (WebInspector.ContextMenu.prototype.handleEvent): |
| (WebInspector.ContextMenu.prototype._buildDescriptor): |
| * UserInterface/Views/DOMTreeOutline.js: |
| (WebInspector.DOMTreeOutline.prototype._contextMenuEventFired): |
| (WebInspector.DOMTreeOutline.prototype._populateContextMenu.logElement): |
| (WebInspector.DOMTreeOutline.prototype._populateContextMenu): |
| * UserInterface/Views/DataGrid.js: |
| (WebInspector.DataGrid.prototype._contextMenuInDataTable): |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel.prototype._breakpointTreeOutlineContextMenuTreeElement): |
| (WebInspector.DebuggerSidebarPanel.prototype._breakpointTreeOutlineContextMenuTreeElement.removeAllResourceBreakpoints): Deleted. |
| (WebInspector.DebuggerSidebarPanel.prototype._breakpointTreeOutlineContextMenuTreeElement.toggleAllResourceBreakpoints): Deleted. |
| * UserInterface/Views/LogContentView.js: |
| (WebInspector.LogContentView.prototype._handleContextMenuEvent): |
| * UserInterface/Views/ObjectPreviewView.js: |
| (WebInspector.ObjectPreviewView.prototype._contextMenuHandler): |
| (WebInspector.ObjectPreviewView): |
| * UserInterface/Views/ObjectTreeBaseTreeElement.js: |
| (WebInspector.ObjectTreeBaseTreeElement.prototype._contextMenuHandler): |
| (WebInspector.ObjectTreeBaseTreeElement.prototype._appendMenusItemsForObject): |
| (WebInspector.ObjectTreeBaseTreeElement): |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu): |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu.continueToLocation): Deleted. |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu.addBreakpoint): Deleted. |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu.revealInSidebar): Deleted. |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu.removeBreakpoints): Deleted. |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu.toggleBreakpoints): Deleted. |
| * UserInterface/Views/TabBarItem.js: |
| (WebInspector.TabBarItem.prototype._handleContextMenuEvent): |
| (WebInspector.TabBarItem): |
| (WebInspector.TabBarItem.prototype._handleContextMenuEvent.closeTab): Deleted. |
| (WebInspector.TabBarItem.prototype._handleContextMenuEvent.closeOtherTabs): Deleted. |
| * UserInterface/Views/TimelineSidebarPanel.js: |
| (WebInspector.TimelineSidebarPanel.prototype._contextMenuNavigationBarOrStatusBar): |
| (WebInspector.TimelineSidebarPanel.prototype._contextMenuNavigationBarOrStatusBar.toggleReplayInterface): Deleted. |
| * UserInterface/Views/Toolbar.js: |
| (WebInspector.Toolbar.prototype._handleContextMenuEvent): |
| * UserInterface/Views/VisualStyleSelectorTreeItem.js: |
| (WebInspector.VisualStyleSelectorTreeItem.prototype._handleContextMenuEvent): |
| |
| 2015-11-28 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: Styles sidebar placeholder is misaligned |
| https://bugs.webkit.org/show_bug.cgi?id=151638 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/CSSStyleDeclarationTextEditor.css: |
| (.css-style-text-editor > .CodeMirror .CodeMirror-placeholder): |
| |
| 2015-11-28 Devin Rousso <dcrousso+webkit@gmail.com> |
| |
| Web Inspector: REGRESSION: "Duplicate Selector" context menu item doesn't work |
| https://bugs.webkit.org/show_bug.cgi?id=151628 |
| |
| Reviewed by Brian Burg. |
| |
| Merged the two "add rule" functions inside DOMNodeStyles to create a |
| new rule with the given selector and use the generated best selector |
| for that node otherwise. This also preserves all fallbacks across all |
| functions for creating new CSS rules. |
| |
| * UserInterface/Models/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype.addEmptyRule): Deleted. |
| (WebInspector.DOMNodeStyles.prototype.addRuleWithSelector): Deleted. |
| (WebInspector.DOMNodeStyles.prototype.addRule): |
| Creates a new CSS rule using either the provided selector or the best |
| selector for the current node. |
| |
| * UserInterface/Views/CSSStyleDeclarationSection.js: |
| (WebInspector.CSSStyleDeclarationSection.prototype._handleContextMenuEvent): |
| * UserInterface/Views/RulesStyleDetailsPanel.js: |
| (WebInspector.RulesStyleDetailsPanel.prototype.newRuleButtonClicked): |
| * UserInterface/Views/VisualStyleSelectorSection.js: |
| (WebInspector.VisualStyleSelectorSection.prototype._addNewRule): |
| |
| 2015-11-24 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: save Inspector's breakpoints to localStorage whenever they are modified |
| https://bugs.webkit.org/show_bug.cgi?id=151581 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Serialize all breakpoints to the "breakpoints" Setting in local storage |
| whenever any breakpoint model object is added, removed, or modified. |
| |
| Remove the old listener that attempted to save breakpoints on the |
| pagehide event. It did not fire in important scenarios like exiting |
| the browser via Cmd-Q or killing the process via Ctrl-C / SIGKILL. |
| |
| This is not expected to be a performance problem because most people |
| do not keep thousands of breakpoints active, and breakpoints are not |
| set very often. If it's a problem, we can mitigate it with coalescing. |
| |
| * UserInterface/Controllers/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype.addBreakpoint): |
| (WebInspector.DebuggerManager.prototype.removeBreakpoint): |
| (WebInspector.DebuggerManager.prototype._breakpointDisabledStateDidChange): |
| (WebInspector.DebuggerManager.prototype._saveBreakpoints): |
| (WebInspector.DebuggerManager.prototype._inspectorClosing): Deleted. |
| |
| 2015-11-24 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: Cmd-1 to Cmd-9 shortcuts should select tabs by ordinal |
| https://bugs.webkit.org/show_bug.cgi?id=151577 |
| |
| Reviewed by Timothy Hatcher. |
| |
| The shortcuts only work if a tab at the specified ordinal exists. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.contentLoaded): |
| |
| 2015-11-23 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: Add a keyboard shortcut to restore the default zoom level |
| https://bugs.webkit.org/show_bug.cgi?id=151237 |
| |
| Reviewed by Timothy Hatcher. |
| |
| The Cmd-0 shortcut matches the keybindings of Safari and other browsers. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.contentLoaded): |
| |
| 2015-11-23 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: inspector settings should not be shared between different inspection levels |
| https://bugs.webkit.org/show_bug.cgi?id=151151 |
| |
| Reviewed by Timothy Hatcher. |
| |
| It's really annoying to have shared settings between Inspector^1 and Inspector^2, because |
| they are not designed to respond to external changes to local storage keys. As a result, |
| the two inspectors seemingly have different settings while both are open, but the settings |
| clobber each other depending on which inspector is closed first. On the next inspector |
| being opened, it has settings that reflect whichever inspector closed last. |
| |
| To fix this, alter the local storage key prefix to incude the inspection level when it is |
| greater than 1 (i.e., inspecting the inspector). The storage prefix becomes |
| "com.apple.WebInspector-${inspectionLevel}." in this case. |
| This is backwards-compatible for normal Inspector, who keeps the same storage prefix. |
| |
| Alternate approaches that were considered and abandoned: |
| |
| - Use separate WKWebSiteDataStores for each inspection level. This API (as it currently is) |
| does not support multiple on-disk storage locations. We don't want to add an entirely new |
| Library directory for each inspector level, and sharing a single location doesn't fix the |
| shared-settings bug. Changing storage location would lose all existing Inspector settings. |
| |
| - Sync settings between multiple open Inspectors. This would be catastrophic, as changing |
| the active tab on one inspector would immediately propagate to the other open inspectors. |
| |
| * UserInterface/Models/Setting.js: |
| (WebInspector.Setting): |
| * UserInterface/Protocol/InspectorFrontendHostStub.js: |
| (window.InspectorFrontendHost.WebInspector.InspectorFrontendHostStub.prototype.inspectionLevel): |
| |
| 2015-11-23 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: use Cmd-Option-L and Cmd-Option-R for toggling navigation and details sidebars |
| https://bugs.webkit.org/show_bug.cgi?id=151572 |
| |
| Reviewed by Timothy Hatcher. |
| |
| The previous shortcuts were Cmd-0 and Cmd-Option-0, but these didn't match Safari's |
| sidebar shortcuts and conflict with Cmd-0 as the cross-browser way to reset page zoom. |
| |
| * UserInterface/Base/Main.js: |
| (WebInspector.contentLoaded): |
| |
| 2015-11-23 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: when inspecting the inspector, add the inspection level to the title bar |
| https://bugs.webkit.org/show_bug.cgi?id=151555 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Drive-by update to remove some localization strings that are no longer used. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| 2015-11-22 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Clean up FolderizedTreeElement folder settings |
| https://bugs.webkit.org/show_bug.cgi?id=151539 |
| |
| Reviewed by Brian Burg. |
| |
| The expanded state for each folder was stored as an external property on the folder |
| tree element. Now FolderizedTreeElement keeps a map of folders to settings. |
| |
| * UserInterface/Views/FolderizedTreeElement.js: |
| (WebInspector.FolderizedTreeElement): |
| (WebInspector.FolderizedTreeElement.prototype.removeChildren): |
| (WebInspector.FolderizedTreeElement.prototype._parentTreeElementForRepresentedObject): |
| (WebInspector.FolderizedTreeElement.prototype._folderTreeElementExpandedStateChange): |
| |
| == Rolled over to ChangeLog-2015-11-21 == |