| 2018-04-26 Jer Noble <jer.noble@apple.com> |
| |
| Unreviewed build fix; fix WebInspectorUI copy resources step after r231063. |
| |
| * Configurations/Base.xcconfig: |
| |
| 2018-04-26 Jer Noble <jer.noble@apple.com> |
| |
| WK_COCOA_TOUCH all the things. |
| https://bugs.webkit.org/show_bug.cgi?id=185006 |
| |
| Reviewed by Tim Horton. |
| |
| * Configurations/WebInspectorUIFramework.xcconfig: |
| |
| 2018-04-21 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| REGRESSION(r214076): Web Inspector: Timelines load and DOMContentLoaded markers aren't visible |
| https://bugs.webkit.org/show_bug.cgi?id=184858 |
| |
| Reviewed by Brian Burg. |
| |
| r214076 changed the color of all markers to light gray. |
| |
| * UserInterface/Views/TimelineRuler.css: |
| (.timeline-ruler > .markers > .marker): |
| (body[dir=ltr] .timeline-ruler > .markers > .marker): |
| (body[dir=rtl] .timeline-ruler > .markers > .marker): |
| (.timeline-ruler > .markers > .marker.current-time): |
| (.timeline-ruler > .markers > .marker.load-event): |
| (.timeline-ruler > .markers > .marker.dom-content-event): |
| (.timeline-ruler > .markers > .marker.timestamp): |
| (body[dir=ltr] .timeline-ruler > .markers > .marker.current-time): Deleted. |
| (body[dir=rtl] .timeline-ruler > .markers > .marker.current-time): Deleted. |
| |
| 2018-04-19 Chris Dumez <cdumez@apple.com> |
| |
| Rename JSDOMWindowProxy to JSWindowProxy |
| https://bugs.webkit.org/show_bug.cgi?id=184797 |
| |
| Reviewed by Sam Weinig. |
| |
| Rename JSDOMWindowProxy to JSWindowProxy for consistency with WindowProxy. |
| |
| * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js: |
| (HeapSnapshot.prototype._isNodeGlobalObject): |
| |
| 2018-04-19 David Kilzer <ddkilzer@apple.com> |
| |
| Enable Objective-C weak references |
| <https://webkit.org/b/184789> |
| <rdar://problem/39571716> |
| |
| Reviewed by Dan Bernstein. |
| |
| * Configurations/Base.xcconfig: |
| (CLANG_ENABLE_OBJC_WEAK): Enable. |
| |
| 2018-04-16 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Can't select and copy text from Network tab popover |
| https://bugs.webkit.org/show_bug.cgi?id=184606 |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/ResourceTimingBreakdownView.css: |
| (.waterfall-popover .resource-timing-breakdown): |
| |
| 2018-04-12 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Refactoring: move popover styles from JS to CSS |
| https://bugs.webkit.org/show_bug.cgi?id=184558 |
| |
| Reviewed by Brian Burg. |
| |
| Introduce several CSS variables to customize popover appearance in CSS |
| and not JavaScript. |
| |
| * UserInterface/Views/NetworkTableContentView.js: |
| (WI.NetworkTableContentView.prototype._waterfallPopoverContentForResource): |
| (WI.NetworkTableContentView.prototype._handleMousedownWaterfall): |
| * UserInterface/Views/Popover.css: |
| (.popover): |
| * UserInterface/Views/Popover.js: |
| (WI.Popover): |
| (WI.Popover.prototype._drawBackground): |
| Replace `var` with `let`. |
| |
| (WI.Popover.prototype.get backgroundStyle): Deleted. |
| (WI.Popover.prototype.set backgroundStyle): Deleted. |
| * UserInterface/Views/ResourceTimingBreakdownView.css: |
| (.popover.waterfall-popover): |
| (.waterfall-popover-content .resource-timing-breakdown): |
| (.waterfall-popover .resource-timing-breakdown): Deleted. |
| |
| * UserInterface/Views/NetworkTableContentView.js: |
| (WI.NetworkTableContentView.prototype._waterfallPopoverContentForResource): |
| (WI.NetworkTableContentView.prototype._handleMousedownWaterfall): |
| * UserInterface/Views/Popover.css: |
| (.popover): |
| * UserInterface/Views/Popover.js: |
| (WI.Popover): |
| (WI.Popover.prototype._drawBackground): |
| * UserInterface/Views/ResourceTimingBreakdownView.css: |
| (.popover.waterfall-popover): |
| (.waterfall-popover-content .resource-timing-breakdown): |
| |
| 2018-04-07 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Errors glyph doesn't fully change to blue when active |
| https://bugs.webkit.org/show_bug.cgi?id=184389 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| The dot of the exclamation mark was always black. |
| |
| * UserInterface/Images/Errors.svg: |
| |
| 2018-04-03 Aaron Chu <aaron_chu@apple.com> |
| |
| AX: Add Experimental setting for Accessibility Audit |
| https://bugs.webkit.org/show_bug.cgi?id=183646 |
| <rdar://problem/38478583> |
| |
| Reviewed by Brian Burg. |
| |
| Added experimental feature flag for Accessibility Audit work. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Base/Setting.js: |
| * UserInterface/Views/SettingsTabContentView.js: |
| (WI.SettingsTabContentView.prototype._createExperimentalSettingsView): |
| |
| 2018-04-01 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Remove dead TabBrowser/TabContentView code |
| https://bugs.webkit.org/show_bug.cgi?id=184104 |
| |
| Reviewed by Devin Rousso. |
| |
| * UserInterface/Base/Main.js: |
| (WI._tryToRestorePendingTabs): |
| * UserInterface/Views/NewTabContentView.js: |
| (WI.NewTabContentView.prototype.shown): |
| (WI.NewTabContentView.prototype.hidden): |
| * UserInterface/Views/TabBrowser.js: |
| (WI.TabBrowser.prototype.addTabForContentView): |
| (WI.TabBrowser.prototype.showTabForContentView): |
| (WI.TabBrowser._tabBarItemRemoved): |
| * UserInterface/Views/TabContentView.js: |
| (WI.TabContentView.prototype.get parentTabBrowser): Deleted. |
| (WI.TabContentView.prototype.set parentTabBrowser): Deleted. |
| |
| 2018-03-30 Devin Rousso <webkit@devinrousso.com> |
| |
| Web Inspector: tint all pixels drawn by shader program when hovering ShaderProgramTreeElement |
| https://bugs.webkit.org/show_bug.cgi?id=175223 |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Models/ShaderProgram.js: |
| (WI.ShaderProgram): |
| (WI.ShaderProgram.prototype.showHighlight): |
| (WI.ShaderProgram.prototype.hideHighlight): |
| |
| * UserInterface/Views/ShaderProgramTreeElement.js: |
| (WI.ShaderProgramTreeElement.prototype.onattach): |
| (WI.ShaderProgramTreeElement.prototype._handleMouseOver): |
| (WI.ShaderProgramTreeElement.prototype._handleMouseOut): |
| Whenever a ShaderProgramTreeElement is hovered, highlight the corresponding shader program |
| by tinting the pixels it draws via a blend. |
| |
| 2018-03-27 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Modernize some utility functions |
| https://bugs.webkit.org/show_bug.cgi?id=184047 |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Base/Utilities.js: |
| (Node.prototype.enclosingNodeOrSelfWithClass): Use parentElement instead of parentNode, so we don't need to check for document. |
| (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray): Ditto. Also just toUpperCase input, since nodeName is already upper case. |
| (String.prototype.escapeCharacters): Use Set and string iteration instead of indexOf and charAt. |
| |
| 2018-03-27 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Command-Shift-left/right arrow keys should not switch tabs when focused on color picker text fields |
| https://bugs.webkit.org/show_bug.cgi?id=184028 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/EditingSupport.js: |
| (WI.isEventTargetAnEditableField): |
| Detect <input type="number"> as an editable text field. |
| |
| 2018-03-23 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Styles: don't show checkboxes for invalid properties |
| https://bugs.webkit.org/show_bug.cgi?id=183951 |
| <rdar://problem/38807602> |
| |
| Reviewed by Matt Baker. |
| |
| Since toggling of invalid properties isn't supported by the backend, don't show checkboxes for invalid properties. |
| |
| * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css: |
| (.spreadsheet-css-declaration:matches(:hover, :focus) .property:not(:matches(.invalid-name, .invalid-value)) .property-toggle,): |
| (.spreadsheet-css-declaration:matches(:hover, :focus) .property-toggle,): Deleted. |
| Don't show checkboxes for invalid properties but still show them for duplicate properties. |
| |
| 2018-03-23 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: add WebKitAdditions hooks for WebInspectorUI |
| https://bugs.webkit.org/show_bug.cgi?id=183940 |
| <rdar://problem/38796310> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Scripts/combine-resources.pl: |
| (debugLog): Added. Leave in the logging I used to debug this. |
| |
| (concatenateIncludedFilesMatchingPattern): |
| (stripIncludedFilesMatchingPattern): |
| (concatenateFiles): Deleted. |
| This function tried to do too many things. Split it into |
| two functions, one for stripping includes and one for concatenating |
| files referenced by includes. |
| |
| Lastly, add a negative lookahead clause for 'WebKitAdditions' so includes |
| containing that string are not combined when no input directory is passed |
| to the script. |
| |
| * Scripts/copy-user-interface-resources.pl: |
| WebKitAdditions is computed either from BUILT_PRODUCTS_DIR or SDKROOT, |
| depending on the build style. Just try them in order and use the first |
| one that exists. WebInspectorUI files are in their own directory, so |
| we can assume there are files to process if that directory exists. |
| |
| Copy Main.html to derived sources before doing any processing on it. |
| This makes all combining phases have the same --input-html argument. |
| |
| (debugLog): Added. Leave in the logging I used to debug this. |
| |
| (combineOrStripResourcesForWebKitAdditions): |
| (stripResourcesForWebKitAdditions): |
| (combineResourcesForWebKitAdditions): |
| Determine if WebKitAdditions exists and whether there are any |
| resources for WebInspectorUI present that need to be processed. |
| |
| * UserInterface/Main.html: |
| Add stub .js and .css WebKitAdditions files. We can add more later |
| if it makes sense but this is good enough to validate the build machinery. |
| |
| 2018-03-23 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Styles Redesign: flashing when switching between nodes |
| https://bugs.webkit.org/show_bug.cgi?id=179291 |
| <rdar://problem/35352660> |
| |
| Reviewed by Matt Baker. |
| |
| Flashing was happening because the layout was a two-step process: |
| 1. Append empty sections. |
| 2. Layout everything inside of the section on requestAnimationFrame. |
| |
| SpreadsheetRulesStyleDetailsPanel was converted to use layout method, |
| so both steps happen on requestAnimationFrame. |
| |
| * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js: |
| (WI.SpreadsheetRulesStyleDetailsPanel): |
| (WI.SpreadsheetRulesStyleDetailsPanel.prototype.refresh): |
| (WI.SpreadsheetRulesStyleDetailsPanel.prototype.layout): |
| The removed lines from the refresh method moved to the layout method without any changes. |
| |
| 2018-03-22 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Uncaught Exception: TypeError: this._textEditor.toggleUnexecutedCodeHighlights().then is not a function |
| https://bugs.webkit.org/show_bug.cgi?id=181912 |
| <rdar://problem/36700022> |
| |
| Reviewed by Matt Baker. |
| |
| The uncaught exception was caused by returning `false` instead of a promise object. |
| This patch only fixes the exception. Further enhancements should be done in <https://webkit.org/b/183887>. |
| |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WI.SourceCodeTextEditor.prototype.toggleTypeAnnotations): |
| (WI.SourceCodeTextEditor.prototype.toggleUnexecutedCodeHighlights): |
| |
| 2018-03-20 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Styles: Loses focus when editing a property while page is being loaded |
| https://bugs.webkit.org/show_bug.cgi?id=182619 |
| <rdar://problem/37363185> |
| |
| Reviewed by Matt Baker. |
| |
| Adding or removing a stylesheet causes SpreadsheetRulesStyleDetailsPanel to refresh, triggering a layout |
| of all SpreadsheetCSSStyleDeclarationSection child views. This resets the focus, selection, and |
| auto-completion state. |
| |
| This patch prevents SpreadsheetCSSStyleDeclarationSection from performing a layout when a property is being edited. |
| |
| * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js: |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout): |
| Allow re-layout after creating a blank CSS property and pasting CSS code. |
| - _pendingAddBlankPropertyIndexOffset is a number after pasting CSS rules. |
| - _propertyPendingStartEditing is a property model after creating a new property. |
| |
| 2018-03-20 Devin Rousso <webkit@devinrousso.com> |
| |
| Web Inspector: Session dividers are not added when Console tab is not visible |
| https://bugs.webkit.org/show_bug.cgi?id=168622 |
| |
| Reviewed by Matt Baker. |
| |
| Restructure `_pendingMessages` to be a `Map [ConsoleSession, ConsoleMessageView]`. Instead |
| of rendering to the `_currentConsoleGroup`, we now render to the saved `ConsoleSession`. |
| Also ensure that `_pendingMessages` is cleared when navigating and "Preserve Log" is off. |
| |
| * UserInterface/Controllers/JavaScriptLogViewController.js: |
| (WI.JavaScriptLogViewController): |
| (WI.JavaScriptLogViewController.prototype.startNewSession): |
| (WI.JavaScriptLogViewController.prototype.consolePromptHistoryDidChange): |
| (WI.JavaScriptLogViewController.prototype._appendConsoleMessageView): |
| (WI.JavaScriptLogViewController.prototype.renderPendingMessages): |
| (WI.JavaScriptLogViewController.prototype.get prompt): Deleted. |
| (WI.JavaScriptLogViewController.prototype.get currentConsoleGroup): Deleted. |
| |
| 2018-03-20 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Can't add a new class by editing class attribute in DOM outline |
| https://bugs.webkit.org/show_bug.cgi?id=180890 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Typing "my-foo my-bar" creates a single "my-foo\xA0my-bar" class name because |
| contentEditable-based attribute editor sometimes inserts non-breaking space characters (\xA0). |
| |
| Replace all non-breaking space characters with the regular space characters when |
| commiting attribute change. |
| |
| * UserInterface/Views/DOMTreeElement.js: |
| |
| 2018-03-16 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Elements: "Force Print Media Styles" should not persist across Web Inspector sessions |
| https://bugs.webkit.org/show_bug.cgi?id=183708 |
| <rdar://problem/36452183> |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Base/Main.js: |
| (WI.loaded): |
| * UserInterface/Views/DOMTreeContentView.js: |
| (WI.DOMTreeContentView): |
| (WI.DOMTreeContentView.prototype._showPrintStylesChanged): |
| (WI.DOMTreeContentView.prototype._togglePrintStyles): |
| (WI.DOMTreeContentView.prototype._showPrintStylesSettingChanged): Deleted. |
| (WI.DOMTreeContentView.prototype._togglePrintStylesSetting): Deleted. |
| |
| 2018-03-14 Devin Rousso <webkit@devinrousso.com> |
| |
| Web Inspector: Canvas: a recording initiated by the user should be shown immediately on completion |
| https://bugs.webkit.org/show_bug.cgi?id=183647 |
| <rdar://problem/38479187> |
| |
| Reviewed by Matt Baker. |
| |
| When recordings are initiated via `console.record`, we don't want to automatically show the |
| recording after it's payload is sent to the frontend. We determine whether a recording came |
| from the console by comparing the recording's associated canvas with the current value of |
| `_recordingCanvas`. Previously, when stopping a recording, we would always null the value, |
| which meant that all non-single-frame recordings (single-frame recordings are stopped by |
| the agent after the first paint or tick after an action is performed) would be categorized |
| as coming from the console, since `_recordingCanvas` would be null by the time the frontend |
| recieved the payload. |
| |
| This patch changes it so that the nulling of `_recordingCanvas` in `stopRecording` is only |
| done if the agent command errors. It was already the case that `_recordingCanvas` was nulled |
| in `stopRecording`, so this patch just prevents it from being nulled too early. |
| |
| * UserInterface/Controllers/CanvasManager.js: |
| (WI.CanvasManager.prototype.stopRecording): |
| |
| 2018-03-12 Jon Davis <jond@apple.com> |
| |
| Web Inspector: Remove redundant tooltips |
| https://bugs.webkit.org/show_bug.cgi?id=183099 |
| |
| Reviewed by Matt Baker. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Base/Main.js: |
| (WI.contentLoaded): |
| Instantiate ConsoleDrawer so the keyboard shortcuts for FindBanner are available. |
| |
| * UserInterface/Views/BreakpointTreeElement.js: |
| (WI.BreakpointTreeElement): |
| Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler. |
| |
| * UserInterface/Views/ButtonNavigationItem.js: |
| (WI.ButtonNavigationItem): |
| Only show tooltips when the button style is an image. |
| |
| * UserInterface/Views/ConsoleDrawer.js: |
| (WI.ConsoleDrawer): |
| (WI.ConsoleDrawer.prototype.toggleButtonShortcutTooltip): |
| Added helper to set the toggle button keyboard shortcut tooltip. |
| |
| * UserInterface/Views/DOMBreakpointTreeElement.js: |
| (WI.DOMBreakpointTreeElement): |
| Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler. |
| |
| * UserInterface/Views/DOMNodeTreeElement.js: |
| (WI.DOMNodeTreeElement): |
| Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler. |
| |
| * UserInterface/Views/FindBanner.js: |
| (WI.FindBanner): |
| * UserInterface/Views/HierarchicalPathComponent.js: |
| (WI.HierarchicalPathComponent): |
| (WI.HierarchicalPathComponent.prototype.get tooltip): |
| (WI.HierarchicalPathComponent.prototype.set tooltip): |
| (WI.HierarchicalPathComponent.prototype.get hideTooltip): |
| (WI.HierarchicalPathComponent.prototype.set hideTooltip): |
| (WI.HierarchicalPathComponent.prototype._updateElementTitleAndText): |
| Add tooltip management features to manage tooltips separately of the displayName, |
| and provide a behavior to hide tooltips while retaining the tooltip data. |
| |
| * UserInterface/Views/HierarchicalPathNavigationItem.js: |
| (WI.HierarchicalPathNavigationItem.prototype.updateLayout): |
| Hide tooltips when fully visible, show tooltips for collapsed items. |
| |
| * UserInterface/Views/PinnedTabBarItem.js: |
| (WI.PinnedTabBarItem.prototype.titleDidChange): |
| Set tooltips for pinned tab bar items. |
| |
| * UserInterface/Views/QuickConsole.js: |
| (WI.QuickConsole): |
| Set the ConsoleDrawer toggle button tooltip after the keyboard shortcut is registered. |
| |
| * UserInterface/Views/StorageTreeElement.js: |
| (WI.StorageTreeElement): |
| Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler. |
| |
| * UserInterface/Views/TabBarItem.js: |
| (WI.TabBarItem.prototype.get title): |
| (WI.TabBarItem.prototype.set title): |
| (WI.TabBarItem.prototype.titleDidChange): |
| (WI.TabBarItem): |
| Add title property management with an overridable titleDidChange handler for |
| setting tooltips when needed. |
| |
| * UserInterface/Views/TimelineTreeElement.js: |
| (WI.TimelineTreeElement): |
| Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler. |
| |
| * UserInterface/Views/ToggleButtonNavigationItem.js: |
| (WI.ToggleButtonNavigationItem.prototype.set defaultToolTip): |
| Added a setter for manging the default tooltip of a toggle button. |
| |
| * UserInterface/Views/XHRBreakpointTreeElement.js: |
| (WI.XHRBreakpointTreeElement): |
| Suppress tooltips by setting the tooltipHandledSeprately flag with no custom handler. |
| |
| 2018-03-09 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Sources: Open all resources in Sources tab instead of Resources/Debugger |
| https://bugs.webkit.org/show_bug.cgi?id=183317 |
| <rdar://problem/38108455> |
| |
| Reviewed by Matt Baker. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Base/Main.js: |
| * UserInterface/Views/ContextMenuUtilities.js: |
| (WI.appendContextMenuItemsForURL): |
| Introduce preferredTabType option instead of listing ignoreResourcesTab, ignoreDebuggerTab, ignoreSearchTab, and ignoreNetworkTab. |
| The only correct outcome of selecting "Reveal in Sources Tab" context menu is to open Sources tab, not any other tab. |
| |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WI.SourceCodeTextEditor.prototype.textEditorGutterContextMenu): |
| * UserInterface/Views/TabBrowser.js: |
| (WI.TabBrowser.prototype.bestTabContentViewForRepresentedObject): |
| |
| 2018-03-08 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Sources: add SourcesTabContentView and SourceSidebarPanel classes |
| https://bugs.webkit.org/show_bug.cgi?id=183316 |
| <rdar://problem/38107639> |
| |
| Reviewed by Matt Baker. |
| |
| Add Sources tab and sidebar panel, which are copies of the corresponding Resources classes. |
| The Sources tab is shown when it's enabled in the experimental settings. This patch doesn't |
| remove existing Resources and Debugger tabs. |
| |
| * UserInterface/Base/Main.js: |
| (WI.contentLoaded): |
| * UserInterface/Main.html: |
| * UserInterface/Views/SourcesSidebarPanel.css: Added. |
| (.sidebar > .panel.navigation.sources > .content): |
| (.sidebar > .panel.navigation.sources > .navigation-bar): |
| * UserInterface/Views/SourcesSidebarPanel.js: Added. |
| (WI.SourcesSidebarPanel): |
| (WI.SourcesSidebarPanel.shouldPlaceResourcesAtTopLevel): |
| (WI.SourcesSidebarPanel.prototype.get minimumWidth): |
| (WI.SourcesSidebarPanel.prototype.closed): |
| (WI.SourcesSidebarPanel.prototype.showDefaultContentView): |
| (WI.SourcesSidebarPanel.prototype.treeElementForRepresentedObject.isAncestor): |
| (WI.SourcesSidebarPanel.prototype.treeElementForRepresentedObject.getParent): |
| (WI.SourcesSidebarPanel.prototype.treeElementForRepresentedObject): |
| (WI.SourcesSidebarPanel.prototype.initialLayout): |
| (WI.SourcesSidebarPanel.prototype.hasCustomFilters): |
| (WI.SourcesSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match): |
| (WI.SourcesSidebarPanel.prototype.matchTreeElementAgainstCustomFilters): |
| (WI.SourcesSidebarPanel.prototype._mainResourceDidChange): |
| (WI.SourcesSidebarPanel.prototype._mainFrameDidChange): |
| (WI.SourcesSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork): |
| (WI.SourcesSidebarPanel.prototype._mainFrameMainResourceDidChange): |
| (WI.SourcesSidebarPanel.prototype._scriptWasAdded): |
| (WI.SourcesSidebarPanel.prototype._addScript): |
| (WI.SourcesSidebarPanel.prototype._scriptWasRemoved): |
| (WI.SourcesSidebarPanel.prototype._scriptsCleared): |
| (WI.SourcesSidebarPanel.prototype._styleSheetAdded): |
| (WI.SourcesSidebarPanel.prototype._addTargetWithMainResource): |
| (WI.SourcesSidebarPanel.prototype._targetRemoved): |
| (WI.SourcesSidebarPanel.prototype._treeSelectionDidChange): |
| (WI.SourcesSidebarPanel.prototype._compareTreeElements): |
| (WI.SourcesSidebarPanel.prototype._extraDomainsActivated): |
| (WI.SourcesSidebarPanel.prototype._scopeBarSelectionDidChange): |
| * UserInterface/Views/SourcesTabContentView.js: Added. |
| (WI.SourcesTabContentView): |
| (WI.SourcesTabContentView.tabInfo): |
| (WI.SourcesTabContentView.isTabAllowed): |
| (WI.SourcesTabContentView.prototype.get type): |
| (WI.SourcesTabContentView.prototype.get supportsSplitContentBrowser): |
| (WI.SourcesTabContentView.prototype.canShowRepresentedObject): |
| |
| 2018-03-07 Devin Rousso <webkit@devinrousso.com> |
| |
| Web Inspector: Canvas tab: ensure that the Recording TreeOutline has a specified height for virtualization |
| https://bugs.webkit.org/show_bug.cgi?id=183015 |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/CanvasSidebarPanel.js: |
| (WI.CanvasSidebarPanel): |
| |
| * UserInterface/Views/CanvasSidebarPanel.css: |
| (.sidebar > .panel.navigation.canvas > .content): |
| (.sidebar > .panel.navigation.canvas > .content > .navigation-bar): |
| (.sidebar > .panel.navigation.canvas.has-recordings > .content > .recording-content): |
| (.sidebar > .panel.navigation.canvas:not(.has-recordings) > .filter-bar,): |
| (.sidebar > .panel.navigation.canvas > .content > .recording-content > .navigation-bar): Deleted. |
| (.sidebar > .panel.navigation.canvas.has-recordings > .content > .tree-outline.canvas): Deleted. |
| |
| * UserInterface/Views/TreeElement.js: |
| (WI.TreeElement.prototype._detach): |
| |
| 2018-02-26 Devin Rousso <webkit@devinrousso.com> |
| |
| Web Inspector: Canvas Tab: Scroll into view / Inspect element if Canvas has DOM node |
| https://bugs.webkit.org/show_bug.cgi?id=181769 |
| |
| Reviewed by Matt Baker. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| * UserInterface/Images/Markup.svg: Added. |
| |
| * UserInterface/Views/CanvasContentView.js: |
| (WI.CanvasContentView): |
| (WI.CanvasContentView.prototype.initialLayout): |
| (WI.CanvasContentView.prototype._canvasElementButtonClicked): |
| |
| 2018-02-19 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Canvas tab: hide navigation sidebar when viewing the overview |
| https://bugs.webkit.org/show_bug.cgi?id=182597 |
| <rdar://problem/37341564> |
| |
| Reviewed by Devin Rousso. |
| |
| Support showing/hiding the navigation sidebar panel based on the current |
| represented object. Individual TabContentViews can opt-in to this behavior, |
| by overriding TabContentView.prototype.managesNavigationSidebarPanel. |
| |
| * UserInterface/Views/CanvasSidebarPanel.js: |
| (WI.CanvasSidebarPanel.prototype.canShowRepresentedObject): |
| * UserInterface/Views/CanvasTabContentView.js: |
| (WI.CanvasTabContentView.prototype.get managesNavigationSidebarPanel): |
| Hide the Canvas navigation sidebar when viewing the overview. |
| |
| * UserInterface/Views/ContentBrowserTabContentView.js: |
| (WI.ContentBrowserTabContentView): |
| (WI.ContentBrowserTabContentView.prototype.showNavigationSidebarPanel): |
| (WI.ContentBrowserTabContentView.prototype._navigationSidebarCollapsedStateDidChange): |
| (WI.ContentBrowserTabContentView.prototype._contentBrowserCurrentRepresentedObjectsDidChange): |
| |
| * UserInterface/Views/NavigationSidebarPanel.js: |
| (WI.NavigationSidebarPanel.prototype.canShowRepresentedObject): |
| Provide default implementation that just defers to the TabContentView. |
| This exists so that a NavigationSidebarPanel that implements canShowRepresentedObject |
| will have a meaningful default to fall back on. |
| |
| * UserInterface/Views/TabBrowser.js: |
| (WI.TabBrowser.prototype._sidebarCollapsedStateDidChange): |
| (WI.TabBrowser.prototype._showNavigationSidebarPanelForTabContentView): |
| |
| * UserInterface/Views/TabContentView.js: |
| (WI.TabContentView.prototype.get managesNavigationSidebarPanel): |
| |
| 2018-02-16 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: TabBar redesign: remove top-level search field and pin the Search tab |
| https://bugs.webkit.org/show_bug.cgi?id=182353 |
| <rdar://problem/37088644> |
| |
| Reviewed by Devin Rousso. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| * UserInterface/Base/Main.js: |
| (WI.contentLoaded): |
| Create Search UI based on experimental setting. When the new TabBar is |
| enabled, the Search tab is a pinned tab. Since it is also saveable, it |
| needs to be added to the TabBrowser (the browser adds the item to the bar). |
| |
| When restoring saved tabs, make an additional check to prevent a tab |
| from being added twice. This can occur now that the Search tab is pinned. |
| |
| * UserInterface/Images/Search.svg: |
| Update art to better match Safari/macOS. Slightly increase the radius of |
| the lens, and shorten the length of the handle. |
| |
| * UserInterface/Views/GoToLineDialog.css: |
| (.go-to-line-dialog > div::before): |
| Update styles for new Search icon. |
| |
| * UserInterface/Views/LegacyTabBar.js: |
| (WI.LegacyTabBar.prototype.get saveableTabCount): |
| Backported new TabBar method which is called by TabBrowser. |
| |
| * UserInterface/Views/OpenResourceDialog.css: |
| (.open-resource-dialog > .field::before): |
| Update styles for new Search icon. |
| |
| * UserInterface/Views/PinnedTabBarItem.js: |
| (WI.PinnedTabBarItem.prototype.fromTabInfo): |
| Match GeneralTabBarItem.fromTabInfo. |
| |
| * UserInterface/Views/SearchTabContentView.js: |
| (WI.SearchTabContentView): |
| (WI.SearchTabContentView.tabInfo): |
| New image (magnifying glass without border) when new TabBar is enabled. |
| |
| * UserInterface/Views/SettingsTabContentView.js: |
| (WI.SettingsTabContentView): |
| |
| * UserInterface/Views/TabBar.js: |
| (WI.TabBar): |
| Move creation of the Settings item out of TabBar. The TabBar should |
| only be concerned with managing tabs. |
| |
| (WI.TabBar.prototype.get saveableTabCount): |
| (WI.TabBar.prototype._handleContextMenu): |
| (WI.TabBar.prototype.get normalNonEphemeralTabCount): Deleted. |
| Now that the Search tab is pinned, there aren't any normal tabs that |
| are also ephemeral. For the LegacyTabBar, both the Search and New Tab |
| tabs are still in this category. |
| |
| * UserInterface/Views/TabBrowser.js: |
| (WI.TabBrowser.prototype.addTabForContentView): |
| (WI.TabBrowser.prototype.closeTabForContentView): |
| (WI.TabBrowser.prototype._tabBarItemSelected): |
| (WI.TabBrowser._tabBarItemRemoved): |
| Recent tab list should be validated against the list of saveable tabs, |
| since the Search tab is no longer a normal tab (a GeneralTabBarItem), |
| but is still persisted across Inspector sessions. |
| |
| 2018-02-16 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: TabBar redesign: TabBarItem close button is incorrectly positioned |
| https://bugs.webkit.org/show_bug.cgi?id=182844 |
| <rdar://problem/37586749> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/GeneralTabBarItem.js: |
| (WI.GeneralTabBarItem.prototype.set title): |
| Insert the title before the last flexible space item. |
| |
| * UserInterface/Views/TabBar.css: |
| (.tab-bar > .item): |
| (.tab-bar > .item > .close): |
| (.tab-bar > .item > .flex-space): |
| (.tab-bar > .item.ephemeral > .flex-space:last-child): |
| (.tab-bar.collapsed > .item): |
| (.tab-bar.collapsed > .item > .flex-space): |
| (.tab-bar.collapsed > .item > .close): |
| (.tab-bar.collapsed > .item:hover > .close): |
| (.tab-bar.collapsed > .item.ephemeral:hover > .icon): |
| (.tab-bar > .item:hover > .close): Deleted. |
| (.tab-bar:not(.collapsed) > .item.ephemeral:hover > .icon): Deleted. |
| |
| * UserInterface/Views/TabBarItem.js: |
| (WI.TabBarItem): |
| Restore flexible space items before and after the icon. |
| |
| 2018-02-14 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Styles: completion popover doesn't hide when switching panels |
| https://bugs.webkit.org/show_bug.cgi?id=182464 |
| <rdar://problem/37202763> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Save the position of the anchor, an element the popover is shown for, and hide the completion popover |
| when the position changes. |
| |
| * UserInterface/Views/CompletionSuggestionsView.js: |
| (WI.CompletionSuggestionsView.prototype.showUntilAnchorMoves): |
| When the popover is visible, check every 200ms if the anchor moved. |
| |
| (WI.CompletionSuggestionsView.prototype.hide): |
| * UserInterface/Views/SpreadsheetTextField.js: |
| (WI.SpreadsheetTextField.prototype._updateCompletions): |
| (WI.SpreadsheetTextField.prototype._getCaretRect): |
| getBoundingClientRect returns {x: 0, y: 0} when it can't determine node's position. |
| This happens when a node isn't attached to DOM, attached to DOM but not visible, and |
| a number of odd cases. |
| |
| 2018-02-14 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: TabBar redesign: only show allowed tabs in the available tabs context menu |
| https://bugs.webkit.org/show_bug.cgi?id=182721 |
| <rdar://problem/37479019> |
| |
| Reviewed by Timothy Hatcher. |
| |
| In addition to only including allowed tabs in the TabBar context menu, |
| perform a sanity check when setting the selected tab item, since the |
| serialized selection index could refer to a tab that is no longer allowed. |
| |
| * UserInterface/Views/LegacyTabBar.js: |
| (WI.LegacyTabBar.prototype.set selectedTabBarItem): |
| (WI.LegacyTabBar.prototype._handleContextMenu): |
| |
| * UserInterface/Views/TabBar.js: |
| (WI.TabBar.prototype.set selectedTabBarItem): |
| (WI.TabBar.prototype._handleContextMenu): |
| |
| 2018-02-09 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Canvas tab: tree selection abruptly changes when selecting a recording frame |
| https://bugs.webkit.org/show_bug.cgi?id=182667 |
| <rdar://problem/37412639> |
| |
| Reviewed by Devin Rousso. |
| |
| * UserInterface/Views/CanvasSidebarPanel.css: |
| (.sidebar > .panel.navigation.canvas > .content > .recording-content > .navigation-bar): |
| (.sidebar > .panel.navigation.canvas:not(.has-recordings) > .filter-bar,): |
| (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.recording > .icon): |
| (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.folder-icon > .icon): |
| (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.folder-icon > .status): |
| (.sidebar > .panel.navigation.canvas > .content > .navigation-bar): Deleted. |
| (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.recording > .icon): Deleted. |
| (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.folder-icon > .icon): Deleted. |
| (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.folder-icon > .status): Deleted. |
| Style changes for the additional DOM element required to virtualize the recording tree outline. |
| |
| * UserInterface/Views/CanvasSidebarPanel.js: |
| (WI.CanvasSidebarPanel): |
| In order to be virtualized, the tree must be the only child of its parent. |
| |
| (WI.CanvasSidebarPanel.prototype.set action): |
| Ensure that a frame tree element isn't deselected when the last action |
| in the frame becomes selected in the RecordingContentView. |
| |
| (WI.CanvasSidebarPanel.prototype.shown): |
| Refresh the sidebar, as represented objects may have changed while hidden. |
| |
| (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange): |
| Unset the recording when no valid represented objects are found, to |
| prevent a stale recording tree from being shown when viewing the overview. |
| |
| (WI.CanvasSidebarPanel.prototype._canvasChanged): |
| (WI.CanvasSidebarPanel.prototype._recordingChanged): |
| (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar): |
| Moved toggling of the "has-recordings" style to _canvasChanged, since |
| the navigation bar should be hidden when no canvas exists. |
| |
| * UserInterface/Views/CollectionContentView.js: |
| (WI.CollectionContentView.prototype.addContentViewForItem): |
| (WI.CollectionContentView.prototype.removeContentViewForItem): |
| Drive by fixes for child view visible state. |
| |
| * UserInterface/Views/TreeOutline.css: |
| (.tree-outline:not(.large):matches(:focus, .force-focus) .item.selected .status .indeterminate-progress-spinner): |
| Make spinner easier to see against the selection background color. |
| |
| 2018-02-09 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Object.shallowEqual always fails when comparing array property values |
| https://bugs.webkit.org/show_bug.cgi?id=182634 |
| <rdar://problem/37374639> |
| |
| Reviewed by Devin Rousso. |
| |
| Object.shallowEqual should use Array.shallowEqual when comparing property |
| values, since strictly comparing objects/arrays is only true if both |
| operands reference the same Object. |
| |
| * UserInterface/Base/Utilities.js: |
| (value): |
| |
| 2018-02-08 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: add listing of Canvases/Programs/Recordings to the NavigationSidebar |
| https://bugs.webkit.org/show_bug.cgi?id=178744 |
| <rdar://problem/35374379> |
| |
| Reviewed by Devin Rousso. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| * UserInterface/Images/Canvas2D.svg: |
| * UserInterface/Images/Canvas3D.svg: |
| * UserInterface/Images/Recording.svg: |
| Update canvas icons to be monochrome. Simplified the recording icon. |
| |
| * UserInterface/Main.html: |
| |
| * UserInterface/Models/RecordingAction.js: |
| (WI.RecordingAction.prototype.get state): |
| (WI.RecordingAction.prototype.set state): |
| Allow (2D) snapshot state to be associated with the action. Used by |
| RecordingActionDetailsSidebarPanel to retrieve the snapshot state. |
| |
| * UserInterface/Views/CanvasContentView.css: |
| (.content-view.canvas:not(.tab)): |
| (.content-view.canvas:not(.tab) > .progress): Deleted. |
| (.content-view.canvas:not(.tab) > .progress > .frame-count): Deleted. |
| |
| * UserInterface/Views/CanvasContentView.js: |
| (WI.CanvasContentView): |
| (WI.CanvasContentView.prototype.get navigationItems): |
| (WI.CanvasContentView.prototype.layout): |
| (WI.CanvasContentView.prototype.shown): |
| (WI.CanvasContentView.prototype._recordingStarted): |
| (WI.CanvasContentView.prototype._recordingProgress): |
| (WI.CanvasContentView.prototype._recordingStopped): |
| (WI.CanvasContentView.prototype._updateRecordNavigationItem): |
| (WI.CanvasContentView.prototype._updateProgressView): |
| Replace progress UI with a reusable ProgressView class. |
| When in the overview, clicking the CanvasContentView shows a dedicated |
| CanvasContentView for inspecting shaders and recordings. This behavior |
| is controlled by CollectionContentView, so we need to prevent it when |
| clicking inside the header and footer elements, which contain clickable UI. |
| |
| * UserInterface/Views/CanvasDetailsSidebarPanel.js: |
| (WI.CanvasDetailsSidebarPanel.prototype.inspect): |
| |
| * UserInterface/Views/CanvasOverviewContentView.css: |
| (.content-view.canvas-overview .content-view.canvas): |
| (.content-view.canvas-overview .content-view.canvas.is-recording): |
| (.content-view.canvas-overview .content-view.canvas > :matches(header, footer)): |
| (.content-view.canvas-overview .content-view.canvas > header): |
| (.content-view.canvas-overview .content-view.canvas.is-recording > header): |
| (.content-view.canvas-overview .content-view.canvas > header > .navigation-bar): |
| (.content-view.canvas-overview .content-view.canvas:matches(:hover, .is-recording) > header > .navigation-bar): |
| (.content-view.canvas-overview .content-view.canvas.is-recording > .progress-view,): |
| (.content-view.canvas-overview .content-view.canvas.is-recording > .preview): |
| (.content-view.canvas-overview .content-view.canvas > :matches(header, .progress, .preview, footer)): Deleted. |
| (.content-view.canvas-overview .content-view.canvas.selected > :matches(.progress, .preview, footer),): Deleted. |
| (.content-view.canvas-overview .content-view.canvas:not(:hover, .is-recording, .selected) > header > .navigation-bar): Deleted. |
| (.content-view.canvas-overview .content-view.canvas > :matches(.progress, .preview)): Deleted. |
| (.content-view.canvas-overview .content-view.canvas > .preview): Deleted. |
| (.content-view.canvas-overview .content-view.canvas > .progress ~ .preview): Deleted. |
| Clean up styles, and remove selection styles as canvases are no longer selectable in the overview. |
| |
| * UserInterface/Views/CanvasOverviewContentView.js: |
| (WI.CanvasOverviewContentView): |
| (WI.CanvasOverviewContentView.prototype.get navigationItems): |
| (WI.CanvasOverviewContentView.prototype.attached): |
| (WI.CanvasOverviewContentView.prototype.detached): |
| (WI.CanvasOverviewContentView.prototype.get selectionPathComponents): Deleted. |
| (WI.CanvasOverviewContentView.prototype._changeSelectedItemVertically): Deleted. |
| (WI.CanvasOverviewContentView.prototype._changeSelectedItemHorizontally): Deleted. |
| (WI.CanvasOverviewContentView.prototype._selectionPathComponentsChanged): Deleted. |
| (WI.CanvasOverviewContentView.prototype._handleUp): Deleted. |
| (WI.CanvasOverviewContentView.prototype._handleRight): Deleted. |
| (WI.CanvasOverviewContentView.prototype._handleDown): Deleted. |
| (WI.CanvasOverviewContentView.prototype._handleLeft): Deleted. |
| (WI.CanvasOverviewContentView.prototype._handleSpace): Deleted. |
| (WI.CanvasOverviewContentView.prototype._supplementalRepresentedObjectsDidChange): Deleted. |
| Disable canvas selection. Remove logic for supplemental represented objects, |
| path components, and selection keyboard shortcuts. |
| |
| * UserInterface/Views/CanvasSidebarPanel.css: Added. |
| (.sidebar > .panel.navigation.canvas > .content): |
| (.sidebar > .panel.navigation.canvas > .navigation-bar > .item.record-start-stop.disabled): |
| (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.canvas.canvas-2d .icon): |
| (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.canvas.webgl .icon): |
| (.sidebar > .panel.navigation.canvas > .content > .navigation-bar): |
| (.sidebar > .panel.navigation.canvas.has-recordings > .content > .tree-outline.canvas): |
| (.sidebar > .panel.navigation.canvas:not(.has-recordings) > .filter-bar,): |
| (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.recording > .icon): |
| (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.shader-program > .icon): |
| (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.folder-icon > .icon): |
| (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.folder-icon > .status): |
| |
| * UserInterface/Views/CanvasSidebarPanel.js: Added. |
| (WI.CanvasSidebarPanel): |
| (WI.CanvasSidebarPanel.prototype.get canvas): |
| (WI.CanvasSidebarPanel.prototype.set canvas): |
| (WI.CanvasSidebarPanel.prototype.set recording): |
| (WI.CanvasSidebarPanel.prototype.set action): |
| (WI.CanvasSidebarPanel.prototype.shown): |
| (WI.CanvasSidebarPanel.prototype.hidden): |
| (WI.CanvasSidebarPanel.prototype.hasCustomFilters): |
| (WI.CanvasSidebarPanel.prototype.matchTreeElementAgainstCustomFilters): |
| (WI.CanvasSidebarPanel.prototype.initialLayout): |
| (WI.CanvasSidebarPanel.prototype._recordingAdded): |
| (WI.CanvasSidebarPanel.prototype._recordingRemoved): |
| (WI.CanvasSidebarPanel.prototype._scopeBarSelectionChanged): |
| (WI.CanvasSidebarPanel.prototype._toggleRecording): |
| (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange): |
| (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange): |
| (WI.CanvasSidebarPanel.prototype._canvasChanged): |
| (WI.CanvasSidebarPanel.prototype._recordingChanged): |
| (WI.CanvasSidebarPanel.prototype._updateRecordNavigationItem): |
| (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar): |
| Add new navigation sidebar, split into two sections. The upper section |
| contains a tree with a single element for the current canvas, and child |
| elements for any shader programs. The maximum height of this section is 50% |
| of the sidebar's height. The lower section contains a tree for the selected |
| recording, and a scope bar for choosing between recordings. |
| |
| * UserInterface/Views/CanvasTabContentView.css: |
| (.content-view.tab.canvas .navigation-bar > .item .canvas-overview .icon): |
| (.content-view.tab.canvas .navigation-bar > .item .canvas.canvas-2d .icon): |
| (.content-view.tab.canvas .navigation-bar > .item .canvas.webgl .icon): |
| (.content-view.tab.canvas .navigation-bar > .item .shader-program > .icon): |
| (.content-view.tab.canvas .navigation-bar > .item > .hierarchical-path-component > .icon): Deleted. |
| (.content-view.tab.canvas .navigation-bar > .item .canvas .icon): Deleted. |
| |
| * UserInterface/Views/CanvasTabContentView.js: |
| (WI.CanvasTabContentView): |
| (WI.CanvasTabContentView.prototype.canShowRepresentedObject): |
| (WI.CanvasTabContentView.prototype.attached): |
| (WI.CanvasTabContentView.prototype._addCanvas): |
| (WI.CanvasTabContentView.prototype._removeCanvas): |
| (WI.CanvasTabContentView.prototype._canvasTreeOutlineSelectionDidChange): |
| (WI.CanvasTabContentView.prototype._recordingAdded): |
| (WI.CanvasTabContentView.prototype._handleSpace): |
| (WI.CanvasTabContentView.prototype.showRepresentedObject): Deleted. |
| (WI.CanvasTabContentView.prototype._navigationSidebarTreeOutlineSelectionChanged): Deleted. |
| (WI.CanvasTabContentView.prototype._recordingActionIndexChanged): Deleted. |
| (WI.CanvasTabContentView.prototype._updateActionIndex): Deleted. |
| The canvas tab now maintains a tree outline of all canvases, with an |
| "Overview" element as the root. The Overview element is always the first |
| item of content browser's hierarchical path. |
| |
| * UserInterface/Views/CanvasTreeElement.js: |
| (WI.CanvasTreeElement.createRecordingTreeElement): |
| (WI.CanvasTreeElement): |
| (WI.CanvasTreeElement.prototype.onattach): |
| (WI.CanvasTreeElement.prototype.onpopulate): |
| (WI.CanvasTreeElement.prototype._updateStatus): |
| (WI.CanvasTreeElement.prototype.ondetach): Deleted. |
| Make it possible to not show recordings under the Canvas element. |
| Create `isRecording` status element (spinner). |
| |
| * UserInterface/Views/CollectionContentView.js: |
| (WI.CollectionContentView.prototype.shown): |
| (WI.CollectionContentView.prototype.hidden): |
| Child ContentViews need to be updated when the collection's visibility changes. |
| |
| * UserInterface/Views/ContentView.js: |
| (WI.ContentView.isViewable): |
| |
| * UserInterface/Views/ProgressView.css: Added. |
| (.progress-view): |
| (.progress-view > .titles): |
| (.progress-view > .titles > .title): |
| (.progress-view > .titles > .subtitle): |
| (.progress-view > .titles > .subtitle::before): |
| (.progress-view > .indeterminate-progress-spinner): |
| |
| * UserInterface/Views/ProgressView.js: Added. |
| (WI.ProgressView): |
| (WI.ProgressView.prototype.get title): |
| (WI.ProgressView.prototype.set title): |
| (WI.ProgressView.prototype.get subtitle): |
| (WI.ProgressView.prototype.set subtitle): |
| (WI.ProgressView.prototype.get visible): |
| (WI.ProgressView.prototype.set visible): |
| (WI.ProgressView.prototype.initialLayout): |
| (WI.ProgressView.prototype._updateTitles): |
| New view class (not a ContentView) for showing a generic progress message, |
| with a title, subtitle, and progress spinner. |
| |
| * UserInterface/Views/RecordingContentView.css: |
| (.content-view:not(.tab).recording > .preview-container): |
| Remove unnecessary styles. |
| |
| * UserInterface/Views/RecordingContentView.js: |
| (WI.RecordingContentView): |
| (WI.RecordingContentView.prototype.get navigationItems): |
| (WI.RecordingContentView.prototype.get supplementalRepresentedObjects): |
| (WI.RecordingContentView.prototype.updateActionIndex): |
| (WI.RecordingContentView.prototype.get saveData): |
| (WI.RecordingContentView.prototype._exportRecording): |
| Relocate the recording export logic and UI. |
| (WI.RecordingContentView.prototype.async._generateContentCanvas2D): |
| (WI.RecordingContentView.prototype.async._generateContentCanvasWebGL): |
| (WI.RecordingContentView.prototype._sliderChanged): |
| Refactor logic for notifying the rest of the UI of changes to the action slider. |
| The selected action is now exposed as a supplemental represented object, and a |
| corresponding SupplementalRepresentedObjectsDidChange event. |
| |
| * UserInterface/Views/RecordingStateDetailsSidebarPanel.js: |
| (WI.RecordingStateDetailsSidebarPanel.prototype.inspect): |
| (WI.RecordingStateDetailsSidebarPanel.prototype.set action): |
| (WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D): |
| (WI.RecordingStateDetailsSidebarPanel): |
| (WI.RecordingStateDetailsSidebarPanel.prototype.updateAction): Deleted. |
| |
| * UserInterface/Views/RecordingTraceDetailsSidebarPanel.js: |
| (WI.RecordingTraceDetailsSidebarPanel.prototype.inspect): |
| (WI.RecordingTraceDetailsSidebarPanel.prototype.set action): |
| (WI.RecordingTraceDetailsSidebarPanel): |
| (WI.RecordingTraceDetailsSidebarPanel.prototype.updateAction): Deleted. |
| Now that the selected action is exposed to the UI as a supplemental |
| represented object, details sidebars can be more decoupled from the |
| canvas tab, and be notified of changes to the selection via `inspect()`. |
| |
| * UserInterface/Views/ResourceIcons.css: |
| (.canvas > .icon): Deleted. |
| (.shader-program .icon): Deleted. |
| |
| 2018-02-08 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Styles: Typing value and quickly moving focus away may display outdated value in UI |
| https://bugs.webkit.org/show_bug.cgi?id=182588 |
| <rdar://problem/37332161> |
| |
| Reviewed by Matt Baker. |
| |
| CSSProperty models were updated with a 250ms delay. Quickly adding a blank property after modifying |
| an existing property could result in outdated values being shown. |
| |
| This patch removes the 250ms delay. |
| |
| * UserInterface/Views/SpreadsheetStyleProperty.js: |
| (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidChange): |
| |
| 2018-02-07 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: replace isAncestor with Node.contains() in LegacyTabBar |
| https://bugs.webkit.org/show_bug.cgi?id=182586 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/LegacyTabBar.js: |
| |
| 2018-02-07 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Styles: completion popover doesn't hide when switching panels |
| https://bugs.webkit.org/show_bug.cgi?id=182464 |
| <rdar://problem/37202763> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Hide completion popover by triggering blur event on the focused text field. |
| Removing text fields from the DOM tree would hide the completion popovers as well, |
| but switching sidebar panels doesn't remove them from the DOM. |
| |
| * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js: |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.hidden): |
| * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js: |
| (WI.SpreadsheetCSSStyleDeclarationSection.prototype.hidden): |
| * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js: |
| (WI.SpreadsheetRulesStyleDetailsPanel.prototype.hidden): |
| * UserInterface/Views/SpreadsheetStyleProperty.js: |
| (WI.SpreadsheetStyleProperty.prototype.hidden): |
| |
| 2018-02-06 Devin Rousso <webkit@devinrousso.com> |
| |
| Web Inspector: Replace isAncestor and isDescendant with native DOM contains method |
| https://bugs.webkit.org/show_bug.cgi?id=182069 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Base/Main.js: |
| (WI.restoreFocusFromElement): |
| (WI._mouseDown): |
| (WI._focusedContentBrowser): |
| (WI._focusedContentView): |
| * UserInterface/Base/Utilities.js: |
| (Node.prototype.traverseNextNode): |
| (Node.prototype.isAncestor): Deleted. |
| (Node.prototype.isDescendant): Deleted. |
| (Node.prototype.isSelfOrAncestor): Deleted. |
| (Node.prototype.isSelfOrDescendant): Deleted. |
| * UserInterface/Views/BoxModelDetailsSectionRow.js: |
| (WI.BoxModelDetailsSectionRow.prototype._handleKeyDown): |
| * UserInterface/Views/CSSStyleDeclarationSection.js: |
| (WI.CSSStyleDeclarationSection.prototype._handleSelectorPaste): |
| * UserInterface/Views/DOMTreeOutline.js: |
| (WI.DOMTreeOutline.prototype._onmouseout): |
| * UserInterface/Views/DetailsSection.js: |
| (WI.DetailsSection.prototype._headerElementClicked): |
| * UserInterface/Views/EditingSupport.js: |
| (WI.incrementElementValue): |
| * UserInterface/Views/LogContentView.js: |
| (WI.LogContentView.prototype._handleContextMenuEvent): |
| * UserInterface/Views/ShaderProgramTreeElement.js: |
| (WI.ShaderProgramTreeElement.prototype.selectOnMouseDown): |
| * UserInterface/Views/SoftContextMenu.js: |
| (WI.SoftContextMenu.prototype._menuItemMouseOut): |
| * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js: |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.initialLayout): |
| * UserInterface/Views/TabBar.js: |
| (WI.TabBar.prototype.insertTabBarItem): |
| |
| 2018-02-06 Devin Rousso <webkit@devinrousso.com> |
| |
| Web Inspector: Elements tab should have "Jump to Layer" functionality |
| https://bugs.webkit.org/show_bug.cgi?id=181800 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| * UserInterface/Base/Main.js: |
| (WI.isShowingElementsTab): |
| (WI.showLayersTab): |
| (WI.isShowingLayersTab): |
| |
| * UserInterface/Views/ContextMenuUtilities.js: |
| (WI.appendContextMenuItemsForDOMNode): |
| |
| * UserInterface/Views/LayersTabContentView.js: |
| (WI.LayersTabContentView.prototype.selectLayerForNode): |
| |
| * UserInterface/Views/Layers3DContentView.js: |
| (WI.Layers3DContentView): |
| (WI.Layers3DContentView.prototype.selectLayerForNode): |
| (WI.Layers3DContentView.prototype.layout): |
| |
| * UserInterface/Views/LayerDetailsSidebarPanel.js: |
| (WI.LayerDetailsSidebarPanel): |
| (WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId): |
| (WI.LayerDetailsSidebarPanel.prototype._updateDataGrid): |
| |
| 2018-02-06 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Rename String.prototype.trimEnd to avoid conflicts with native trimEnd |
| https://bugs.webkit.org/show_bug.cgi?id=182545 |
| |
| Reviewed by Brian Burg. |
| |
| Rename: |
| - trimEnd to truncateEnd |
| - trimMiddle to truncateMiddle |
| |
| * UserInterface/Base/Utilities.js: |
| (String.prototype.trimMiddle): Deleted. |
| (String.prototype.trimEnd): Deleted. |
| (String.prototype.truncateMiddle): Added. |
| (String.prototype.truncateEnd): Added. |
| Use strict mode. Scrict mode allows `this` to be a primitive (a string, in our case). |
| In non-strict mode, `this` is always an object. Without the strict mode, |
| "a".truncateEnd(42) !== "a", because truncateEnd returns a string object. |
| |
| * UserInterface/Views/DOMTreeElement.js: |
| (WI.DOMTreeElement.prototype._buildAttributeDOM): |
| * UserInterface/Views/DOMTreeElementPathComponent.js: |
| (WI.DOMTreeElementPathComponent): |
| * UserInterface/Views/SearchResultTreeElement.js: |
| Remove an obvious comment. |
| |
| (WI.SearchResultTreeElement.truncateAndHighlightTitle): |
| * UserInterface/Views/SpreadsheetStyleProperty.js: |
| (WI.SpreadsheetStyleProperty.prototype._renderValue): |
| |
| 2018-02-05 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Add an experimental setting to enable Sources tab |
| https://bugs.webkit.org/show_bug.cgi?id=182461 |
| |
| Reviewed by Brian Burg. |
| |
| This patch only adds a setting. It doesn't add the Sources tab. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Base/Setting.js: |
| * UserInterface/Views/SettingsTabContentView.js: |
| |
| 2018-02-02 Devin Rousso <webkit@devinrousso.com> |
| |
| Web Inspector: Styles Redesign: Pasting multiple properties should create properties instead of a bad property |
| https://bugs.webkit.org/show_bug.cgi?id=179622 |
| <rdar://problem/35511170> |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/SpreadsheetStyleProperty.js: |
| (WI.SpreadsheetStyleProperty.prototype._remove): |
| (WI.SpreadsheetStyleProperty.prototype._update): |
| (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidCommit): |
| (WI.SpreadsheetStyleProperty.prototype._handleNamePaste): |
| When the user pastes into the name field, parse the text for a list of name-value pairs and |
| replace the property being edited with the text of those pairs. |
| |
| * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js: |
| (WI.SpreadsheetCSSStyleDeclarationEditor): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.addBlankProperty): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyFocusMoved): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyAddBlankPropertySoon): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyRemoved): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesChanged): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetCSSStyleDeclarationEditorFocusMoved): Deleted. |
| Calling `addBlankProperty` will trigger a layout on the next frame, but that might be before |
| the CSSAgent has had a chance to finish refreshing, so we need a way to defer the creation |
| of a new property until after we have finished the next layout (which is after the refresh). |
| Drive-by: fix naming of some delegate functions. |
| |
| * UserInterface/Models/CSSProperty.js: |
| (WI.CSSProperty.prototype.replaceWithText): |
| Provide a way for replacing the property with new text. |
| |
| 2018-02-02 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: TabBar redesign: remove New Tab button and add experimental feature flag |
| https://bugs.webkit.org/show_bug.cgi?id=182342 |
| <rdar://problem/37078662> |
| |
| Reviewed by Devin Rousso. |
| |
| This patch adds a new experimental setting group, "User Interface", with |
| a single setting, "Enable New TabBar". When enabled, the New Tab button is |
| no longer available in the top-level TabBar. The 'open tabs' context menu |
| no longer allows the last non-ephemeral open tab to be closed (unchecked). |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| * UserInterface/Base/Main.js: |
| (WI.contentLoaded): |
| (WI._tryToRestorePendingTabs): |
| Retain legacy behavior behind experimental feature setting. |
| (WI.isNewTabWithTypeAllowed): |
| |
| * UserInterface/Base/Setting.js: |
| * UserInterface/Main.html: |
| |
| * UserInterface/Views/CanvasTabContentView.js: |
| (WI.CanvasTabContentView): |
| * UserInterface/Views/ConsoleTabContentView.js: |
| (WI.ConsoleTabContentView): |
| * UserInterface/Views/DebuggerTabContentView.js: |
| (WI.DebuggerTabContentView): |
| * UserInterface/Views/ElementsTabContentView.js: |
| (WI.ElementsTabContentView): |
| |
| * UserInterface/Views/GeneralTabBarItem.js: |
| (WI.GeneralTabBarItem): |
| (WI.GeneralTabBarItem.prototype.fromTabInfo): |
| (WI.GeneralTabBarItem.prototype.get isEphemeral): |
| (WI.GeneralTabBarItem.fromTabContentViewConstructor): Deleted. |
| |
| * UserInterface/Views/LayersTabContentView.js: |
| (WI.LayersTabContentView): |
| |
| * UserInterface/Views/LegacyTabBar.js: Copied from Source/WebInspectorUI/UserInterface/Views/TabBar.js. |
| (WI.LegacyTabBar): |
| (WI.LegacyTabBar.prototype.get newTabTabBarItem): |
| (WI.LegacyTabBar.prototype.updateNewTabTabBarItemState): |
| (WI.LegacyTabBar.prototype.addTabBarItem): |
| (WI.LegacyTabBar.prototype.insertTabBarItem.animateTabs): |
| (WI.LegacyTabBar.prototype.insertTabBarItem.removeStyles): |
| (WI.LegacyTabBar.prototype.insertTabBarItem): |
| (WI.LegacyTabBar.prototype.removeTabBarItem.animateTabs): |
| (WI.LegacyTabBar.prototype.removeTabBarItem.removeStyles): |
| (WI.LegacyTabBar.prototype.removeTabBarItem): |
| (WI.LegacyTabBar.prototype.selectPreviousTab): |
| (WI.LegacyTabBar.prototype.selectNextTab): |
| (WI.LegacyTabBar.prototype.get selectedTabBarItem): |
| (WI.LegacyTabBar.prototype.set selectedTabBarItem): |
| (WI.LegacyTabBar.prototype.get tabBarItems): |
| (WI.LegacyTabBar.prototype.get normalTabCount): |
| (WI.LegacyTabBar.prototype.layout.forceItemHidden): |
| (WI.LegacyTabBar.prototype.layout): |
| (WI.LegacyTabBar.prototype._tabBarItemsFromLeftToRight): |
| (WI.LegacyTabBar.prototype._findTabBarItem): |
| (WI.LegacyTabBar.prototype._hasMoreThanOneNormalTab): |
| (WI.LegacyTabBar.prototype._openDefaultTab): |
| (WI.LegacyTabBar.prototype._recordTabBarItemSizesAndPositions): |
| (WI.LegacyTabBar.prototype._applyTabBarItemSizesAndPositions): |
| (WI.LegacyTabBar.prototype._clearTabBarItemSizesAndPositions): |
| (WI.LegacyTabBar.prototype._finishExpandingTabsAfterClose.): |
| (WI.LegacyTabBar.prototype._finishExpandingTabsAfterClose): |
| (WI.LegacyTabBar.prototype._handleMouseDown): |
| (WI.LegacyTabBar.prototype._handleClick): |
| (WI.LegacyTabBar.prototype._handleMouseMoved): |
| (WI.LegacyTabBar.prototype._handleMouseUp): |
| (WI.LegacyTabBar.prototype._handleMouseLeave): |
| (WI.LegacyTabBar.prototype._handleContextMenu): |
| (WI.LegacyTabBar.prototype._handleNewTabClick): |
| (WI.LegacyTabBar.prototype._handleTabPickerTabContextMenu): |
| (WI.LegacyTabBar.prototype._handleNewTabMouseEnter): |
| |
| * UserInterface/Views/NetworkTabContentView.js: |
| (WI.NetworkTabContentView): |
| * UserInterface/Views/NewTabContentView.js: |
| (WI.NewTabContentView): |
| (WI.NewTabContentView.tabInfo): |
| (WI.NewTabContentView.isEphemeral): Deleted. |
| * UserInterface/Views/ResourcesTabContentView.js: |
| (WI.ResourcesTabContentView): |
| * UserInterface/Views/SearchTabContentView.js: |
| (WI.SearchTabContentView): |
| (WI.SearchTabContentView.tabInfo): |
| (WI.SearchTabContentView.isEphemeral): Deleted. |
| |
| * UserInterface/Views/SettingsTabContentView.js: |
| (WI.SettingsTabContentView.tabInfo): |
| (WI.SettingsTabContentView.prototype._createExperimentalSettingsView): |
| (WI.SettingsTabContentView.isEphemeral): Deleted. |
| |
| * UserInterface/Views/StorageTabContentView.js: |
| (WI.StorageTabContentView): |
| |
| * UserInterface/Views/TabBar.css: |
| * UserInterface/Views/TabBar.js: |
| (WI.TabBar): |
| (WI.TabBar.prototype.insertTabBarItem): |
| (WI.TabBar.prototype.removeTabBarItem): |
| (WI.TabBar.prototype.set selectedTabBarItem): |
| (WI.TabBar.prototype.get normalNonEphemeralTabCount): |
| (WI.TabBar.prototype._handleMouseDown): |
| (WI.TabBar.prototype._handleClick): |
| (WI.TabBar.prototype._handleMouseMoved): |
| (WI.TabBar.prototype._handleMouseLeave): |
| (WI.TabBar.prototype._handleContextMenu): |
| (WI.TabBar.prototype._handleTabPickerTabContextMenu): |
| (WI.TabBar.prototype.get newTabTabBarItem): Deleted. |
| (WI.TabBar.prototype.updateNewTabTabBarItemState): Deleted. |
| (WI.TabBar.prototype._openDefaultTab): Deleted. |
| (WI.TabBar.prototype._handleNewTabClick): Deleted. |
| (WI.TabBar.prototype._handleNewTabMouseEnter): Deleted. |
| Remove support for the New Tab button and default tab. Without a default |
| tab, there is nothing to display when no tabs are open, so prevent the |
| last non-pinned tab from being removed. |
| |
| * UserInterface/Views/TabBrowser.js: |
| (WI.TabBrowser._tabBarItemRemoved): |
| * UserInterface/Views/TabContentView.js: |
| (WI.TabContentView.isEphemeral): Deleted. |
| * UserInterface/Views/TimelineTabContentView.js: |
| (WI.TimelineTabContentView): |
| |
| 2018-01-30 Devin Rousso <webkit@devinrousso.com> |
| |
| Web Inspector: Replace Object.shallowMerge with ES2018 spread operator |
| https://bugs.webkit.org/show_bug.cgi?id=182219 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Base/Utilities.js: |
| (Object.shallowMerge): Deleted. |
| * UserInterface/Base/DOMUtilities.js: |
| (WI.linkifyNodeReference): |
| * UserInterface/Base/Main.js: |
| (WI.handlePossibleLinkClick): |
| (WI.openURL): |
| (WI.showSourceCodeLocation): |
| (WI.showOriginalUnformattedSourceCodeLocation): |
| (WI.showOriginalOrFormattedSourceCodeLocation): |
| (WI.showOriginalOrFormattedSourceCodeTextRange): |
| (WI.linkifyLocation): |
| * UserInterface/Views/DOMTreeElement.js: |
| (WI.DOMTreeElement.prototype._insertAdjacentHTML): |
| * UserInterface/Views/WebSocketContentView.js: |
| (WI.WebSocketContentView.prototype._addRow): |
| |
| 2018-01-26 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Timelines content browser NavigationBar is squashed at narrow heights |
| https://bugs.webkit.org/show_bug.cgi?id=182196 |
| <rdar://problem/36929899> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/NavigationBar.css: |
| (.navigation-bar): |
| |
| 2018-01-26 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: TabBar redesign: improvements to tab layout and resize behavior |
| https://bugs.webkit.org/show_bug.cgi?id=181468 |
| <rdar://problem/36395439> |
| |
| Reviewed by Devin Rousso. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| * UserInterface/Images/TabPicker.svg: Added. |
| New ">>" icon for the tab picker button. |
| |
| * UserInterface/Views/CanvasTabContentView.js: |
| (WI.CanvasTabContentView): |
| * UserInterface/Views/ConsoleTabContentView.js: |
| (WI.ConsoleTabContentView): |
| * UserInterface/Views/DebuggerTabContentView.js: |
| (WI.DebuggerTabContentView): |
| * UserInterface/Views/ElementsTabContentView.js: |
| (WI.ElementsTabContentView): |
| |
| * UserInterface/Views/GeneralTabBarItem.js: |
| (WI.GeneralTabBarItem): |
| (WI.GeneralTabBarItem.fromTabContentViewConstructor): |
| (WI.GeneralTabBarItem.prototype.get title): |
| Add missing override for getter/setter pair. |
| (WI.GeneralTabBarItem.prototype.set title): |
| (WI.GeneralTabBarItem.prototype._handleContextMenuEvent): |
| Show the close button on ephemeral tabs only (Search, New Tab). |
| Replace unused `representedObject` parameter with `isEphemeral`, which |
| determines whether to show a close button for the tab. |
| |
| * UserInterface/Views/LayersTabContentView.js: |
| (WI.LayersTabContentView): |
| |
| * UserInterface/Views/NavigationBar.js: |
| Remove unused symbol. |
| |
| * UserInterface/Views/NetworkTabContentView.js: |
| (WI.NetworkTabContentView): |
| * UserInterface/Views/NewTabContentView.js: |
| (WI.NewTabContentView): |
| |
| * UserInterface/Views/PinnedTabBarItem.js: |
| (WI.PinnedTabBarItem): |
| Remove unused parameter. |
| |
| * UserInterface/Views/ResourcesTabContentView.js: |
| (WI.ResourcesTabContentView): |
| * UserInterface/Views/SearchTabContentView.js: |
| (WI.SearchTabContentView): |
| * UserInterface/Views/StorageTabContentView.js: |
| (WI.StorageTabContentView): |
| |
| * UserInterface/Views/TabBar.css: |
| (.tab-bar > .item): |
| (.tab-bar.calculate-width > .item): |
| (.tab-bar > .item.pinned.tab-picker): |
| (.tab-bar > .item > .close): |
| (.tab-bar > .item > .title): |
| (.tab-bar:not(.collapsed) > .item > .title): |
| (.tab-bar.collapsed > .item:not(.pinned) > .icon): |
| (.tab-bar > .item:hover > .close): |
| (.tab-bar.collapsed > .item:hover > .close): |
| (.tab-bar:not(.collapsed) > .item.ephemeral:hover > .icon): |
| (.tab-bar.collapsed > .item.ephemeral:hover > .title): |
| (body[dir=ltr] .tab-bar > .item > .close): Deleted. |
| (body[dir=rtl] .tab-bar > .item > .close): Deleted. |
| (.tab-bar > .item > .flex-space): Deleted. |
| (.tab-bar > .item:not(.pinned) > .flex-space:last-child): Deleted. |
| (body[dir=ltr] .tab-bar > .item:not(.pinned) > .flex-space:last-child): Deleted. |
| (body[dir=rtl] .tab-bar > .item:not(.pinned) > .flex-space:last-child): Deleted. |
| (body[dir=ltr] .tab-bar > .item > .title): Deleted. |
| (body[dir=rtl] .tab-bar > .item > .title): Deleted. |
| (.tab-bar.collapsed > .item): Deleted. |
| (.tab-bar.collapsed > .item > .flex-space): Deleted. |
| (.tab-bar.collapsed > .item > .close): Deleted. |
| (body[dir=ltr] .tab-bar.collapsed > .item > .close): Deleted. |
| (body[dir=rtl] .tab-bar.collapsed > .item > .close): Deleted. |
| (.tab-bar.hide-titles > .item > .title): Deleted. |
| (.tab-bar.collapsed:not(.hide-titles) > .item:not(.pinned):hover > .icon,): Deleted. |
| (.tab-bar.collapsed:not(.hide-titles) > .item:hover > .close,): Deleted. |
| Clean up tab styles and prevent tabs from shrinking during flex layout. |
| Added new `calculate-width` class, to disable flex layout when measuring |
| the minimum width of the TabBar required to fit all tab items. |
| |
| * UserInterface/Views/TabBar.js: |
| (WI.TabBar): |
| (WI.TabBar.prototype.set selectedTabBarItem): |
| (WI.TabBar.prototype.layout.forceItemHidden): |
| (WI.TabBar.prototype.layout): |
| Perform two layout passes, similar to NavigationBar. The first pass disables |
| flex layout and measures tab items at full size. If the bar isn't wide enough |
| to show all the tabs, hide their icons and measure again. If there still isn't |
| room, hide tabs starting from the end of the bar and display the tab picker. |
| |
| (WI.TabBar.prototype._handleMouseDown): |
| (WI.TabBar.prototype._handleTabPickerTabContextMenu): |
| |
| * UserInterface/Views/TabBarItem.js: |
| (WI.TabBarItem): |
| |
| * UserInterface/Views/TimelineTabContentView.js: |
| (WI.TimelineTabContentView): |
| |
| 2018-01-25 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Network Table: Sort indicator is not displayed when sorted column is hidden and re-shown |
| https://bugs.webkit.org/show_bug.cgi?id=182164 |
| <rdar://problem/36892619> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/Table.js: |
| (WI.Table.prototype.showColumn): |
| Re-add the sort classes if the column being shown is the active sort column. |
| |
| 2018-01-25 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Network - Cookies view should behave better at narrow widths, all data is hidden |
| https://bugs.webkit.org/show_bug.cgi?id=182163 |
| <rdar://problem/36893241> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/ResourceCookiesContentView.css: |
| (.resource-cookies .table): |
| Give these tables a reasonable minimum size so that if the inspector |
| is narrow, the content view can still be scrolled to see all of |
| the table data. |
| |
| * UserInterface/Views/Table.css: |
| (.table > .header): |
| Match the data-container and mark overflow as hidden, otherwise |
| super narrow widths show header content beyond the edge. |
| |
| 2018-01-25 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: "Displayed Columns" should not be displayed in context menu if all columns are required columns |
| https://bugs.webkit.org/show_bug.cgi?id=182162 |
| <rdar://problem/36893758> |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/Table.js: |
| (WI.Table.prototype._handleHeaderContextMenu): |
| Only add the header column when we know there are hideable columns. |
| |
| 2018-01-24 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Simplify update-LegacyInspectorBackendCommands.rb |
| https://bugs.webkit.org/show_bug.cgi?id=182067 |
| |
| Reviewed by Brian Burg. |
| |
| * Scripts/update-LegacyInspectorBackendCommands.rb: |
| Remove stale dependency_json, it has always been empty for a while now. |
| Switch to framework WebInspectorUI to generate only the backend commands |
| and not spend time generating a bunch of cpp files. |
| |
| 2018-01-24 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| REGRESSION (r226994): Web Inspector: Styles: Suggestions popover floats in top-left corner of Web Inspector after tabbing |
| https://bugs.webkit.org/show_bug.cgi?id=182027 |
| |
| Reviewed by Matt Baker. |
| |
| r226994 added a layout of all properties on property removal. Layout caused |
| a property element to be removed from DOM right before dislaying the suggestion |
| popover, resulting in the popover being displayed at the top left corner. |
| |
| * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js: |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyRemoved): |
| Only update property view indices when a property is removed. |
| |
| * UserInterface/Views/SpreadsheetStyleProperty.js: |
| (WI.SpreadsheetStyleProperty): |
| (WI.SpreadsheetStyleProperty.prototype.set index): |
| |
| * UserInterface/Views/SpreadsheetTextField.js: |
| (WI.SpreadsheetTextField.prototype._updateCompletions): |
| Checking this._element.parentNode to see if the element is attached to the DOM tree is unreliable, |
| since the element may have a non-null parent node that is detached from the DOM tree. To fix that, |
| we could traverse element's ancestors, but I used a concise isConnected property instead. |
| |
| 2018-01-24 Joseph Pecoraro <pecoraro@apple.com> |
| |
| ReferenceError: Can't find variable: DOMAgent (at ScriptSyntaxTree.js:178:22) |
| https://bugs.webkit.org/show_bug.cgi?id=182059 |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Models/ScriptSyntaxTree.js: |
| (WI.ScriptSyntaxTree.functionReturnDivot): |
| DOMAgent won't be available in a ServiceWorker or JSContext inspector. So add |
| a check for DOMAgent, and assume if DOMAgent doesn't exist that we should fall |
| back to the latest path (non-iOS 9) target. |
| |
| 2018-01-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Network's columns shake when scrolling at non-default zoom level |
| https://bugs.webkit.org/show_bug.cgi?id=181998 |
| <rdar://problem/36449808> |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/Table.js: |
| When zoomed the bounding client rect values were fractional, which was |
| unexpected by this area of code. Floor the values to get a value we expect |
| to be able to evenly distribute. |
| |
| 2018-01-22 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Styles Redesign: data corruption when updating values quickly |
| https://bugs.webkit.org/show_bug.cgi?id=179461 |
| <rdar://problem/35431882> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Data corruption used to happen because CSSStyleDeclaration.prototype.text didn't |
| update synchronously. Making two or more quick changes resulted in corrupted data. |
| |
| Imagine we modify a CSS value 3 times: |
| |
| Front-end: (1)-(2)---(3) |
| Back-end: (1)-----(2)-(3) |
| |
| The first response from the backend could happen after the 2nd edit. In this patch, |
| CSSStyleDeclaration is locked when its view is being edited. |
| |
| To correctly display invalid and overridden properties, the backend is allowed to update |
| CSSStyleDeclaration and CSSProperty when they're locked if the text from the backend |
| matches the model's text. This should happen when the backend is caught up with the |
| front-end changes. |
| |
| * UserInterface/Models/CSSProperty.js: |
| (WI.CSSProperty.prototype.update): |
| * UserInterface/Models/CSSStyleDeclaration.js: |
| (WI.CSSStyleDeclaration): |
| (WI.CSSStyleDeclaration.prototype.get locked): |
| (WI.CSSStyleDeclaration.prototype.set locked): |
| (WI.CSSStyleDeclaration.prototype.set text): |
| |
| * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js: |
| (WI.SpreadsheetCSSStyleDeclarationEditor): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.initialLayout): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.detached): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.get editing): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set focused): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set inlineSwatchActive): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.stylePropertyInlineSwatchActivated): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.stylePropertyInlineSwatchDeactivated): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesChanged): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._updateStyleLock): |
| Lock CSSStyleDeclaration when a CSS property name or value is focused or |
| an inline widget is active. |
| |
| * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js: |
| (WI.SpreadsheetCSSStyleDeclarationSection): |
| (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleMouseDown): |
| (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleClick): |
| * UserInterface/Views/SpreadsheetStyleProperty.js: |
| (WI.SpreadsheetStyleProperty): |
| (WI.SpreadsheetStyleProperty.prototype._createInlineSwatch): |
| When selector is focused, clicking on the white-space should not add a new blank property. |
| |
| 2018-01-19 Ross Kirsling <ross.kirsling@sony.com> |
| |
| Web Inspector: Layers tab should do away with popovers (if possible) |
| https://bugs.webkit.org/show_bug.cgi?id=181805 |
| |
| Reviewed by Matt Baker. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| Remove superfluous colon from a string. |
| |
| * UserInterface/Main.html: |
| * UserInterface/Views/LayerDetailsSidebarPanel.css: |
| * UserInterface/Views/Layers3DContentView.css: Added. |
| Remove popover styling from sidebar, add new file with similar styling for canvas overlay. |
| |
| * UserInterface/Views/LayerDetailsSidebarPanel.js: |
| (WI.LayerDetailsSidebarPanel): |
| (WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId): |
| (WI.LayerDetailsSidebarPanel.prototype._dataGridSelectedNodeChanged): |
| (WI.LayerDetailsSidebarPanel.prototype._updateLayers): |
| (WI.LayerDetailsSidebarPanel.prototype._updateBottomBar): |
| (WI.LayerDetailsSidebarPanel.prototype.willDismissPopover): Deleted. |
| (WI.LayerDetailsSidebarPanel.prototype._showPopoverForSelectedNode): Deleted. |
| (WI.LayerDetailsSidebarPanel.prototype._presentPopover): Deleted. |
| (WI.LayerDetailsSidebarPanel.prototype._contentForPopover): Deleted. |
| (WI.LayerDetailsSidebarPanel.prototype._populateListOfCompositingReasons.addReason): Deleted. |
| (WI.LayerDetailsSidebarPanel.prototype._populateListOfCompositingReasons): Deleted. |
| * UserInterface/Views/Layers3DContentView.js: |
| (WI.Layers3DContentView): |
| (WI.Layers3DContentView.prototype.shown): |
| (WI.Layers3DContentView.prototype.selectLayerById): |
| (WI.Layers3DContentView.prototype._canvasMouseDown): |
| (WI.Layers3DContentView.prototype._buildLayerInfoElement): |
| (WI.Layers3DContentView.prototype._updateLayerInfoElement): |
| (WI.Layers3DContentView.prototype._updateReasonsList): |
| Remove popover from sidebar table, overlay div with same data arrangement on top of the canvas. |
| Also reverse the fix from r226671 since the visualization is no longer unusable without the sidebar! |
| |
| 2018-01-19 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Canvas Tab: Multiple "waiting for frames" messages displayed |
| https://bugs.webkit.org/show_bug.cgi?id=181865 |
| <rdar://problem/36664737> |
| |
| Reviewed by Devin Rousso. |
| |
| * UserInterface/Views/CanvasContentView.js: |
| (WI.CanvasContentView.prototype._recordingStarted): |
| (WI.CanvasContentView.prototype._recordingStopped): |
| |
| 2018-01-19 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Styles Redesign: tabbing on commented out property throws exception |
| https://bugs.webkit.org/show_bug.cgi?id=180676 |
| <rdar://problem/35981058> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js: |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.startEditingFirstProperty): |
| Tabbing from the selector field should focus on the first editable property. |
| When no editable properties are present, a new blank property should be added after the commented out ones. |
| |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.startEditingLastProperty): |
| Shift-tabbing from the selector field should focus on the last editable property of the previous CSS rule. |
| When no editable properties are present, a new blank property should be added after the commented out ones. |
| |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetCSSStyleDeclarationEditorFocusMoved): |
| When navigating between properties skip the commented out ones. |
| |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._editablePropertyAfter): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._editablePropertyBefore): |
| * UserInterface/Views/SpreadsheetStyleProperty.js: |
| (WI.SpreadsheetStyleProperty.prototype.get enabled): |
| (WI.SpreadsheetStyleProperty.prototype._update): |
| |
| 2018-01-19 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Make styles sidebar always LTR |
| https://bugs.webkit.org/show_bug.cgi?id=175357 |
| <rdar://problem/33787988> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js: |
| (WI.SpreadsheetRulesStyleDetailsPanel): |
| |
| 2018-01-19 Keith Miller <keith_miller@apple.com> |
| |
| HaveInternalSDK includes should be "#include?" |
| https://bugs.webkit.org/show_bug.cgi?id=179670 |
| |
| Reviewed by Dan Bernstein. |
| |
| * Configurations/Base.xcconfig: |
| |
| 2018-01-18 Dan Bernstein <mitz@apple.com> |
| |
| [Xcode] Streamline and future-proof target-macOS-version-dependent build setting definitions |
| https://bugs.webkit.org/show_bug.cgi?id=181803 |
| |
| Reviewed by Tim Horton. |
| |
| * Configurations/Base.xcconfig: Updated. |
| * Configurations/DebugRelease.xcconfig: Ditto. |
| * Configurations/Version.xcconfig: Ditto. |
| |
| 2018-01-18 Devin Rousso <webkit@devinrousso.com> |
| |
| Web Inspector: Canvas Tab: record button on canvas card doesn't always show on hover, or is misplaced |
| https://bugs.webkit.org/show_bug.cgi?id=179183 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/CanvasOverviewContentView.css: |
| (.content-view.canvas-overview .content-view.canvas:not(.is-recording) > header > .navigation-bar > .item.record-start-stop): Deleted. |
| |
| 2018-01-17 Devin Rousso <webkit@devinrousso.com> |
| |
| Web Inspector: clicking on a path component that has no siblings should select it |
| https://bugs.webkit.org/show_bug.cgi?id=181772 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/HierarchicalPathComponent.js: |
| (WI.HierarchicalPathComponent.prototype._updateSelectElement): |
| (WI.HierarchicalPathComponent.prototype._selectElementMouseDown): |
| |
| 2018-01-17 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Add back localized strings for Styles sidebar panels |
| https://bugs.webkit.org/show_bug.cgi?id=181748 |
| <rdar://problem/36583184> |
| |
| Reviewed by Brian Burg. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Views/ComputedStyleDetailsSidebarPanel.js: |
| (WI.ComputedStyleDetailsSidebarPanel): |
| * UserInterface/Views/RulesStyleDetailsSidebarPanel.js: |
| (WI.RulesStyleDetailsSidebarPanel): |
| * UserInterface/Views/VisualStyleDetailsSidebarPanel.js: |
| (WI.VisualStyleDetailsSidebarPanel): |
| Add back localized strings for panel titles lost in r225547. |
| |
| 2018-01-17 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Super long URL string causes bad wrapping in Resources detail sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=181617 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/DetailsSection.css: |
| (.details-section > .content > .group > .row.simple > .value): |
| Set the break to all characters. |
| |
| 2018-01-16 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Canvas tab: typing a "space" in the QuickConsole shouldn't trigger a recording |
| https://bugs.webkit.org/show_bug.cgi?id=181706 |
| <rdar://problem/36558221> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/CanvasOverviewContentView.js: |
| (WI.CanvasOverviewContentView): |
| (WI.CanvasOverviewContentView.prototype._handleSpace): |
| |
| 2018-01-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Make Console's Execution Context picker stand out when it is non-default |
| https://bugs.webkit.org/show_bug.cgi?id=181628 |
| <rdar://problem/36492044> |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/HierarchicalPathComponent.css: |
| (.hierarchical-path-component > .selector-arrows): |
| * UserInterface/Views/HierarchicalPathComponent.js: |
| (WI.HierarchicalPathComponent.prototype.set selectorArrows): |
| Switch to SVG element so we can style the arrows. |
| |
| * UserInterface/Views/QuickConsole.css: |
| (.quick-console > .navigation-bar > .hierarchical-path .execution-context): |
| (.quick-console > .navigation-bar > .hierarchical-path .execution-context .separator): |
| (.quick-console > .navigation-bar > .hierarchical-path.non-default-execution-context .execution-context): |
| (.quick-console > .navigation-bar > .hierarchical-path.non-default-execution-context .execution-context .selector-arrows): |
| Styles for the execution context picker. We hide the unused separator |
| and instead use margin so that the selected background and border don't |
| have an extra 7px on the right/end side. |
| |
| * UserInterface/Views/QuickConsole.js: |
| (WI.QuickConsole.prototype._activeExecutionContextChanged): |
| Toggle the non-default class name on the path. |
| |
| 2018-01-16 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Styles: pressing down key should select first item from completion list when focusing on empty value |
| https://bugs.webkit.org/show_bug.cgi?id=181633 |
| <rdar://problem/36501797> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/SpreadsheetTextField.js: |
| (WI.SpreadsheetTextField.prototype._updateCompletions): |
| |
| 2018-01-16 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Styles Redesign: Long value causes bad wrapping |
| https://bugs.webkit.org/show_bug.cgi?id=181618 |
| <rdar://problem/36485175> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Wrap long values only when editing. |
| |
| * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css: |
| (.spreadsheet-style-declaration-editor .value.editing): |
| |
| 2018-01-16 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Styles Redesign: clicking on the white space after the property sometimes places a blank property at the wrong index |
| https://bugs.webkit.org/show_bug.cgi?id=179585 |
| <rdar://problem/35490780> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js: |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyRemoved): |
| Layout call is needed to update data-property-index attributes on the property views. |
| |
| 2018-01-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Network Tab - Export HAR Context Menu not working |
| https://bugs.webkit.org/show_bug.cgi?id=181694 |
| <rdar://problem/36479197> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/NetworkTableContentView.js: |
| (WI.NetworkTableContentView.prototype.tableCellContextMenuClicked): |
| Ensure `this` works in the handler. |
| |
| 2018-01-15 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: TabBar redesign: add context menu to TabBar for toggling available tabs |
| https://bugs.webkit.org/show_bug.cgi?id=181448 |
| <rdar://problem/36383298> |
| |
| Reviewed by Devin Rousso. |
| |
| * UserInterface/Base/Main.js: |
| (WI.loaded): |
| (WI.contentLoaded): |
| Reorder production tab classes and default (open) tabs. |
| (WI.registerTabClass): Removed. |
| Not used. |
| |
| * UserInterface/Base/Object.js: |
| Remove notification that is no longer used. |
| |
| * UserInterface/Views/GeneralTabBarItem.js: |
| (WI.GeneralTabBarItem): |
| (WI.GeneralTabBarItem.prototype.set title): |
| (WI.GeneralTabBarItem.prototype._handleContextMenuEvent): Deleted. |
| Remove per-tab context menu (provided Close Tab and Close Other Tabs). |
| |
| * UserInterface/Views/NewTabContentView.js: |
| (WI.NewTabContentView): |
| |
| * UserInterface/Views/TabBar.js: |
| (WI.TabBar): |
| (WI.TabBar.prototype._handleContextMenu): |
| |
| * UserInterface/Views/TabBrowser.js: |
| (WI.TabBrowser): |
| (WI.TabBrowser._handleNewTabContextMenu): Deleted. |
| No longer needed. |
| |
| 2018-01-13 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Styles Redesign: properties should never be semitransparent or crossed out while editing |
| https://bugs.webkit.org/show_bug.cgi?id=180793 |
| <rdar://problem/36038813> |
| |
| Reviewed by Devin Rousso. |
| |
| * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css: |
| (.spreadsheet-style-declaration-editor .value.editing): |
| (.spreadsheet-style-declaration-editor .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) .content > *): |
| (.spreadsheet-style-declaration-editor .property.invalid-name:not(.disabled) .content > *): |
| (.spreadsheet-style-declaration-editor .property.invalid-value:not(.disabled) .content .value): |
| (.spreadsheet-style-declaration-editor .property.not-inherited .content > *): |
| * UserInterface/Views/SpreadsheetStyleProperty.js: |
| (WI.SpreadsheetStyleProperty.prototype._update): |
| |
| 2018-01-12 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Drop support for iOS 7 targets |
| https://bugs.webkit.org/show_bug.cgi?id=181549 |
| <rdar://problem/36444813> |
| |
| Reviewed by Brian Burg. |
| |
| * Versions/Inspector-iOS-7.0.json: Removed. |
| * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js: Removed. |
| Remove protocol snapshot and generated commands for iOS 7. |
| |
| * UserInterface/Base/Main.js: |
| * UserInterface/Controllers/BreakpointPopoverController.js: |
| (WI.BreakpointPopoverController.prototype._createPopoverContent): |
| * UserInterface/Controllers/DebuggerManager.js: |
| (WI.DebuggerManager.prototype._setBreakpoint): |
| * UserInterface/Controllers/SourceMapManager.js: |
| (WI.SourceMapManager.prototype._loadAndParseSourceMap): |
| * UserInterface/Models/Instrument.js: |
| (WI.Instrument.startLegacyTimelineAgent): |
| * UserInterface/Models/ResourceTimingData.js: |
| * UserInterface/Models/ScriptTimelineRecord.js: |
| (WI.ScriptTimelineRecord.EventType.displayName): |
| * UserInterface/Models/SourceMapResource.js: |
| (WI.SourceMapResource.prototype.requestContentFromBackend): |
| * UserInterface/Protocol/CSSObserver.js: |
| (WI.CSSObserver.prototype.regionLayoutUpdated): Deleted. |
| * UserInterface/Protocol/RemoteObject.js: |
| (WI.RemoteObject.fromPayload): |
| Remove code that was only necessary to support iOS 7. |
| |
| 2018-01-12 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Support JSX (React) syntax highlighting |
| https://bugs.webkit.org/show_bug.cgi?id=181607 |
| <rdar://problem/36442564> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Base/MIMETypeUtilities.js: |
| (WI.mimeTypeForFileExtension): |
| (WI.fileExtensionForMIMEType): |
| * UserInterface/Models/Resource.js: |
| Support the jsx extension and mime types. |
| |
| * UserInterface/Main.html: |
| * Scripts/update-codemirror-resources.rb: |
| * UserInterface/External/CodeMirror/jsx.js: Added. |
| Include new mode from CodeMirror@d8926768. |
| |
| 2018-01-11 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Rename "Query String" section as "Query String Parameters" for clarity |
| https://bugs.webkit.org/show_bug.cgi?id=181464 |
| |
| Reviewed by Darin Adler. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Views/ResourceHeadersContentView.js: |
| (WI.ResourceHeadersContentView.prototype.initialLayout): |
| |
| 2018-01-11 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Remove unused variable in WI.DebuggerSidebarPanel |
| https://bugs.webkit.org/show_bug.cgi?id=181517 |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| |
| 2018-01-10 Joseph Pecoraro <pecoraro@apple.com> |
| |
| REGRESSION(r218975): Web Inspector: Add back NavigationSidebarPanel initialization parameter used by SearchSidebarPanel (top overflow shadow) |
| https://bugs.webkit.org/show_bug.cgi?id=181518 |
| <rdar://problem/36427197> |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/NavigationSidebarPanel.css: |
| (.sidebar > .panel.navigation > .overflow-shadow.top): |
| * UserInterface/Views/NavigationSidebarPanel.js: |
| (WI.NavigationSidebarPanel): |
| Add back the initialization parameter still used by SearchSidebarPanel |
| and add back its implementation. There were still references to |
| dynamically update _topOverflowShadowElement in NavigationSidebarPanel. |
| |
| 2018-01-10 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Incorrect check with WI.debuggableType |
| https://bugs.webkit.org/show_bug.cgi?id=181515 |
| <rdar://problem/36425509> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Base/Main.js: |
| (WI.contentLoaded): |
| This moved to WI.sharedApp a while ago. |
| |
| 2018-01-10 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Canvas tab: throttle recording slider updates |
| https://bugs.webkit.org/show_bug.cgi?id=180839 |
| <rdar://problem/36057849> |
| |
| Reviewed by Joseph Pecoraro |
| |
| * UserInterface/Base/Utilities.js: |
| Add Object.throttle and Function.cancelThrottle. Repeated calls to a |
| function on a throttled object are delayed, so that the function isn't |
| invoked more frequently than the specified delay value. |
| |
| For a description of throttling behavior see: |
| - http://www.chrislondon.co/throttling-vs-debouncing |
| - http://benalman.com/projects/jquery-throttle-debounce-plugin |
| |
| * UserInterface/Views/RecordingContentView.js: |
| (WI.RecordingContentView.prototype.updateActionIndex): |
| Throttle frequency of canvas snapshot creation to 200ms. |
| (WI.RecordingContentView.prototype.hidden): |
| Prevent trailing edge call after hiding the view. |
| |
| 2018-01-10 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Should not try to autocomplete subsections of a string |
| https://bugs.webkit.org/show_bug.cgi?id=181461 |
| <rdar://problem/36369421> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Controllers/CodeMirrorCompletionController.js: |
| (WI.CodeMirrorCompletionController.prototype._completeAtCurrentPosition): |
| Disable autocompletion within strings. |
| |
| 2018-01-09 Joseph Pecoraro <pecoraro@apple.com> |
| |
| REGRESSION(r201855): Web Inspector: Should see "length" autocompletion suggestion on a string literal |
| https://bugs.webkit.org/show_bug.cgi?id=181462 |
| <rdar://problem/36390699> |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js: |
| (WI.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.inspectedPage_evalResult_getCompletions): |
| This is code that runs on the inspected target, which may have an old version of |
| WebKit/JavaScriptCore, so don't use new syntax like this. |
| |
| (WI.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded): |
| We intended to return the result by as a JSON value instead of a RemoteObject. |
| |
| 2018-01-09 Ross Kirsling <ross.kirsling@sony.com> |
| |
| Web Inspector: Layers sidebar shows popover on selection even when collapsed |
| https://bugs.webkit.org/show_bug.cgi?id=181465 |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/LayerDetailsSidebarPanel.js: |
| (WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId): |
| Have sidebar show itself if necessary before displaying popover. |
| |
| 2018-01-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Find next / previous within a resource content view does not have bouncy highlight when editor scrolls |
| https://bugs.webkit.org/show_bug.cgi?id=181279 |
| <rdar://problem/36291097> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/TextEditor.js: |
| (WI.TextEditor.prototype._revealSearchResult): |
| Reposition the bouncy highlight on scroll based on the CodeMirror |
| line/ch position of the search result. |
| |
| (WI.TextEditor.prototype._removeBouncyHighlightElementIfNeeded): |
| Track the bouncy highlight scroll handler in a member variable so that |
| we always remember to remove it and don't leak scroll handlers. |
| |
| 2018-01-07 David Kilzer <ddkilzer@apple.com> |
| |
| Enable -Wcast-qual for WebInspectorUI, WebKitLegacy, WebKit projects |
| <https://webkit.org/b/181256> |
| <rdar://problem/36281730> |
| |
| Reviewed by Darin Adler. |
| |
| * Configurations/Base.xcconfig: |
| (WARNING_CFLAGS): Add -Wcast-qual. |
| |
| 2018-01-05 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Add another Protocol Version |
| https://bugs.webkit.org/show_bug.cgi?id=181354 |
| <rdar://problem/35432817> |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Protocol/Legacy/11.3/InspectorBackendCommands.js: Added. |
| * Versions/Inspector-iOS-11.3.json: Added. |
| |
| 2018-01-04 Devin Rousso <webkit@devinrousso.com> |
| |
| Web Inspector: replace HTMLCanvasElement with CanvasRenderingContext for instrumentation logic |
| https://bugs.webkit.org/show_bug.cgi?id=180770 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Models/Canvas.js: |
| (WI.Canvas.fromPayload): |
| (WI.Canvas.prototype.get contextType): |
| (WI.Canvas.prototype.saveIdentityToCookie): |
| (WI.Canvas.prototype.get frame): Deleted. |
| |
| 2018-01-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| REGRESSION (r225709): Web Inspector: CSS Source maps not loading |
| https://bugs.webkit.org/show_bug.cgi?id=181314 |
| <rdar://problem/36177620> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Controllers/SourceMapManager.js: |
| (WI.SourceMapManager.prototype._loadAndParseSourceMap): |
| * UserInterface/Models/SourceMapResource.js: |
| (WI.SourceMapResource.prototype.requestContentFromBackend): |
| Correct this so that we only fall back to a reasonable frame id |
| if we couldn't determine a frame id from earlier. Previously this |
| was incorrectly clearing the frame id if we had gotten it earlier. |
| |
| * UserInterface/Test.html: |
| * UserInterface/Test/Test.js: |
| (WI.loaded): |
| Add SourceMap related files for tests. |
| |
| 2018-01-04 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: Capture Element Screenshot looks fuzzy |
| https://bugs.webkit.org/show_bug.cgi?id=175734 |
| <rdar://problem/33803377> |
| |
| Reviewed by Joseph Pecoraro and Simon Fraser. |
| |
| Spruce up these functions a bit. They now optionally return a promise |
| if no callback is supplied. They now can take either a WI.DOMNode or a node id. |
| |
| * UserInterface/Controllers/DOMTreeManager.js: |
| (WI.DOMTreeManager.prototype.querySelector): |
| (WI.DOMTreeManager.prototype.querySelectorAll): |
| |
| 2018-01-04 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: add RemoteObject.fetchProperties and some basic tests for RemoteObject API |
| https://bugs.webkit.org/show_bug.cgi?id=180945 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Add a new method, fetchProperties, which async fetches an arbitrary list of properties |
| from a RemoteObject. This is intended for writing tests and other quick evaluations, |
| so it has some behaviors that are suitable in these situations: |
| - If the evaluation throws an exception, the result will reject with that exception. |
| - If there is a protocol error for some reason, the result will reject with an exception. |
| - Non-string and non-number keys cause an exception, as this is probably not intended. |
| - Does not accept a callback, returns a promise only. New code should use async. |
| |
| For full fidelity introspection of property descriptors, clients should use the existing |
| getOwnPropertyDescriptor[s] class of methods. |
| |
| * UserInterface/Protocol/RemoteObject.js: |
| (WI.RemoteObject.prototype.async.fetchProperties): Added. |
| - Validate specified keys and remove duplicates. |
| - Request properties one-by-one to avoid fetching all descriptors and dealing with previews. |
| - Unwrap returned primitive values to avoid unnecessary munging in tests. |
| |
| (WI.RemoteObject.prototype.getProperty): |
| - Rework this to return a promise if no callback was supplied. |
| - Introduce stricter property type checking to avoid unintended mistakes. |
| |
| (WI.RemoteObject.prototype.callFunction): |
| - Rework this to return a promise if no callback was supplied. |
| - Turn thrown exceptions and protocol errors into rejected promises. |
| |
| 2018-01-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: ⌘G / ⇧⌘G text search does not working after closing find banner |
| https://bugs.webkit.org/show_bug.cgi?id=181280 |
| <rdar://problem/36291175> |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/ContentBrowser.js: |
| (WI.ContentBrowser.prototype._findBannerDidHide): |
| When the find banner is hidden trigger a new ContentView method, |
| searchHidden instead of the destructive searchCleared. This allows |
| most content views (text editors, DOM tree, Network Headers view) |
| to keep their populated search results. |
| |
| * UserInterface/Views/ContentView.js: |
| (WI.ContentView.prototype.searchHidden): |
| * UserInterface/Views/LogContentView.js: |
| (WI.LogContentView.prototype.searchHidden): |
| By default searchHidden does nothing. The Console's LogContentView |
| treats the find banner differently and clears its search results. |
| |
| * UserInterface/Views/TextEditor.js: |
| (WI.TextEditor.prototype.searchCleared): |
| Modernize some code while working in this area. |
| |
| * UserInterface/Views/Main.css: |
| (.bouncy-highlight): |
| Ensure black text on yellow background in the bouncy highlight. In the |
| DOM Tree it could have been white if the find banner was closed. |
| |
| 2018-01-03 Ting-Wei Lan <lantw44@gmail.com> |
| |
| Replace hard-coded paths in shebangs with #!/usr/bin/env |
| https://bugs.webkit.org/show_bug.cgi?id=181040 |
| |
| Reviewed by Alex Christensen. |
| |
| * Scripts/combine-resources.pl: |
| * Scripts/copy-user-interface-resources-dryrun.rb: |
| * Scripts/copy-user-interface-resources.pl: |
| * Scripts/fix-worker-imports-for-optimized-builds.pl: |
| * Scripts/remove-console-asserts-dryrun.rb: |
| * Scripts/remove-console-asserts.pl: |
| * Scripts/update-LegacyInspectorBackendCommands.rb: |
| * Scripts/update-codemirror-resources.rb: |
| * WebInspectorUI.vcxproj/build-webinspectorui.pl: |
| |
| 2018-01-03 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: "Log Value" context menu is sometimes unavailable |
| https://bugs.webkit.org/show_bug.cgi?id=181278 |
| <rdar://problem/36281649> |
| |
| Reviewed by Devin Rousso. |
| |
| * UserInterface/Views/ObjectPreviewView.css: |
| (.object-preview > .title): |
| * UserInterface/Views/ObjectTreeView.css: |
| (.object-tree.expanded > .title): |
| Make the expanded object title information 16px tall to match ObjectTree |
| tree element row heights. This eliminates the floating console message |
| location from overlapping the first ObjectTree's TreeElement and causing |
| truncation and other behavior issues (like Context Menu identification). |
| |
| 2018-01-03 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: RTL - DOM Tree Element selection doesn't work |
| https://bugs.webkit.org/show_bug.cgi?id=181275 |
| <rdar://problem/36290450> |
| |
| Reviewed by Devin Rousso. |
| |
| * UserInterface/Views/TreeOutline.js: |
| (WI.TreeOutline.prototype.treeElementFromEvent): |
| Provide a better explanation for why we are making the `x` adjustment here, |
| to detect the inner most tree element along the horizontal. Fix the algorithm |
| for RTL, since the intent is to adjust to the trailing edge of the container |
| which is on the opposite side in RTL. |
| |
| 2018-01-03 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Find banner sometimes does not work (when already populated and shown for first time on resource) |
| https://bugs.webkit.org/show_bug.cgi?id=181255 |
| <rdar://problem/36248855> |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/TextEditor.js: |
| (WI.TextEditor.prototype.set string): |
| Defer any early searches until the initial content of a TextEditor has been set. |
| Such searches can happen when the FindBanner already has content when a |
| ContentView is first opened and needs to load its content from the backend. |
| Further, even though the content may be loaded from the backend before the |
| search results, microtask hops might cause the content to get to the TextEditor |
| after the search results. |
| |
| 2018-01-03 Joseph Pecoraro <pecoraro@apple.com> |
| |
| REGRESSION: Web Inspector: Debugger tab doesn't restore selected resource on reload |
| https://bugs.webkit.org/show_bug.cgi?id=181253 |
| <rdar://problem/36280564> |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| (WI.DebuggerSidebarPanel.prototype.restoreStateFromCookie): |
| Add braces to ensure the trailing else is actually trailing the outer |
| chain as it was intended to be. |
| |
| 2018-01-02 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Clicking source location link in Console unexpectedly jumps to Network tab |
| https://bugs.webkit.org/show_bug.cgi?id=181229 |
| <rdar://problem/36075219> |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Base/Main.js: |
| Cleanup linkifyURLAsNode. Ignore Search tab in generic handlePossibleLinkClick |
| when not already in the Search tab. |
| |
| * UserInterface/Views/CallFrameView.js: |
| (WI.CallFrameView): |
| Ignore Search and Network tab in CallFrame links. |
| |
| * UserInterface/Views/TabBrowser.js: |
| (WI.TabBrowser.prototype.bestTabContentViewForRepresentedObject): |
| Improve style. |
| |
| == Rolled over to ChangeLog-2018-01-01 == |