| 2018-09-21 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: remove unnecessary WI.Platform.version checks |
| https://bugs.webkit.org/show_bug.cgi?id=189845 |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Base/Platform.js: |
| (osVersionMatch): Add name for macOS Mojave. |
| |
| * UserInterface/Base/Main.js: |
| * UserInterface/Views/Popover.js: |
| Remove old logic that's no longer needed. |
| |
| 2018-09-21 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: remove setting for Sources tab |
| https://bugs.webkit.org/show_bug.cgi?id=189817 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Base/Setting.js: |
| * UserInterface/Main.html: |
| * UserInterface/Base/Main.js: |
| (WI.contentLoaded): |
| (WI._debuggerDidPause): |
| (WI.isShowingSourcesTab): Removed. |
| (WI.showSourcesTab): Removed. |
| |
| * UserInterface/Views/SourcesSidebarPanel.css: Removed. |
| * UserInterface/Views/SourcesSidebarPanel.js: Removed. |
| * UserInterface/Views/SourcesTabContentView.js: Removed. |
| |
| * UserInterface/Views/ContextMenuUtilities.js: |
| (WI.appendContextMenuItemsForURL): |
| |
| * UserInterface/Views/SettingsTabContentView.js: |
| (WI.SettingsTabContentView.prototype._createExperimentalSettingsView): |
| |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WI.SourceCodeTextEditor.prototype.textEditorGutterContextMenu): |
| |
| 2018-09-20 Simon Fraser <simon.fraser@apple.com> |
| |
| Make "overflow: overlay" a synonym for "overflow: auto" |
| https://bugs.webkit.org/show_bug.cgi?id=189811 |
| |
| Reviewed by Zalan Bujtas. |
| |
| Remove "overlay" from the overflow values. |
| |
| * UserInterface/Models/CSSKeywordCompletions.js: |
| * UserInterface/Views/VisualStyleDetailsPanel.js: |
| (WI.VisualStyleDetailsPanel.prototype._populateDisplaySection): |
| |
| 2018-09-21 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: hide Accessibility Audit Tab setting |
| https://bugs.webkit.org/show_bug.cgi?id=189816 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Considering that this tab doesn't exist, there's no reason to have a setting/UI for it. |
| |
| * UserInterface/Base/Setting.js: |
| * UserInterface/Views/SettingsTabContentView.js: |
| (WI.SettingsTabContentView.prototype._createExperimentalSettingsView): |
| |
| 2018-09-21 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: remove Legacy Style Editor |
| https://bugs.webkit.org/show_bug.cgi?id=189808 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| The Legacy Style Editor has been hidden behind an "experimental" setting for almost a year. |
| It's time that we remove it, especially since the new Style Editor is at a similar, if not |
| more advanced, state. |
| |
| * .eslintrc: |
| * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: |
| * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters: |
| * Localizations/en.lproj/localizedStrings.js: |
| * Tools/PrettyPrinting/index.html: |
| * UserInterface/Main.html: |
| * UserInterface/Test.html: |
| * UserInterface/Base/Setting.js: |
| |
| * UserInterface/Base/TextUtilities.js: Removed. |
| * UserInterface/Base/Utilities.js: |
| |
| * UserInterface/Views/RulesStyleDetailsPanel.css: Removed. |
| * UserInterface/Views/RulesStyleDetailsPanel.js: Removed. |
| * UserInterface/Views/CSSStyleDeclarationSection.css: Removed. |
| * UserInterface/Views/CSSStyleDeclarationSection.js: Removed. |
| * UserInterface/Views/CSSStyleDeclarationTextEditor.css: Removed. |
| * UserInterface/Views/CSSStyleDeclarationTextEditor.js: Removed. |
| |
| * UserInterface/Models/CSSProperty.js: |
| (WI.CSSProperty.prototype.get text): |
| (WI.CSSProperty.prototype.get synthesizedText): Deleted. |
| |
| * UserInterface/Models/CSSStyleDeclaration.js: |
| (WI.CSSStyleDeclaration): |
| (WI.CSSStyleDeclaration.prototype.set text): |
| (WI.CSSStyleDeclaration.prototype.resetText): Deleted. |
| (WI.CSSStyleDeclaration.prototype.get modified): Deleted. |
| (WI.CSSStyleDeclaration.prototype.generateCSSRuleString): Deleted. |
| (WI.CSSStyleDeclaration.prototype.isInspectorRule): Deleted. |
| |
| * UserInterface/Models/CSSSelector.js: |
| (WI.CSSSelector.prototype.isGreaterThan): Deleted. |
| |
| * UserInterface/Models/CSSRule.js: |
| (WI.CSSRule.prototype.update): |
| (WI.CSSRule.prototype.get matchedSelectors): Deleted. |
| (WI.CSSRule.prototype.get matchedSelectorText): Deleted. |
| (WI.CSSRule.prototype.hasMatchedPseudoElementSelector): Deleted. |
| (WI.CSSRule.prototype.get mediaText): Deleted. |
| (WI.CSSRule.prototype.get mostSpecificSelector): Deleted. |
| (WI.CSSRule.prototype.selectorIsGreater): Deleted. |
| (WI.CSSRule.prototype._determineMostSpecificSelector): Deleted. |
| |
| * UserInterface/Models/DOMNodeStyles.js: |
| (WI.DOMNodeStyles.prototype.changeRule.changeCompleted): Deleted. |
| (WI.DOMNodeStyles.prototype.changeRule.styleChanged): Deleted. |
| (WI.DOMNodeStyles.prototype.changeRule.changeText): Deleted. |
| (WI.DOMNodeStyles.prototype.changeRule.ruleSelectorChanged): Deleted. |
| (WI.DOMNodeStyles.prototype.changeRule): Deleted. |
| |
| * UserInterface/Models/CSSCompletions.js: |
| (WI.CSSCompletions.prototype.isValidPropertyName): |
| (WI.CSSCompletions): |
| (WI.CSSCompletions.prototype.keySet): Deleted. |
| (WI.CSSCompletions.prototype.propertyRequiresWebkitPrefix): Deleted. |
| (WI.CSSCompletions.prototype.getClosestPropertyName): Deleted. |
| |
| * UserInterface/Views/ComputedStyleDetailsPanel.js: |
| (WI.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorStartEditingAdjacentRule): Deleted. |
| |
| * UserInterface/Views/RulesStyleDetailsSidebarPanel.js: |
| (WI.RulesStyleDetailsSidebarPanel): |
| |
| * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js: |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyFocusMoved): |
| |
| * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js: |
| (WI.SpreadsheetCSSStyleDeclarationSection.prototype.spreadsheetCSSStyleDeclarationEditorStartEditingRuleSelector): Added. |
| (WI.SpreadsheetCSSStyleDeclarationSection.prototype.cssStyleDeclarationTextEditorStartEditingRuleSelector): Deleted. |
| |
| * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js: |
| (WI.SpreadsheetRulesStyleDetailsPanel): |
| * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.css: |
| (.sidebar > .panel.details.css-style .rules): Added. |
| (.sidebar > .panel.details.css-style > .content > .rules .section-header): Added. |
| (.sidebar > .panel.details.css-style > .content > .rules .section-header .node-link): Added. |
| (.sidebar > .panel.details.css-style > .content > .rules .section-header .node-link:hover): Added. |
| (.sidebar > .panel.details.css-style > .content > .rules > .message-text-view): Added. |
| (.sidebar > .panel.details.css-style > .content > .rules:not(.filter-non-matching) > .message-text-view): Added. |
| (@media (prefers-dark-interface)): |
| (.sidebar > .panel.details.css-style > .content > .rules .section-header): Added. |
| (.sidebar > .panel.details.css-style > .content > .rules .section-header .node-link:hover): Added. |
| (.spreadsheet-style-panel .section-header): Deleted. |
| (.spreadsheet-style-panel .section-header .node-link): Deleted. |
| (.spreadsheet-style-panel .section-header .node-link:hover): Deleted. |
| (.spreadsheet-style-panel .section-header): Deleted. |
| (.spreadsheet-style-panel .section-header .node-link:hover): Deleted. |
| |
| * UserInterface/Views/CodeMirrorAdditions.js: |
| (extendedCSSRuleStartState): Removed. |
| * UserInterface/Views/CodeMirrorFormatters.js: |
| Remove "css-rule" CodeMirror mode. |
| |
| * UserInterface/Views/CodeMirrorTextMarkers.js: |
| (createCodeMirrorVariableTextMarkers): Deleted. |
| |
| * UserInterface/Views/SettingsTabContentView.js: |
| (WI.SettingsTabContentView.prototype._createExperimentalSettingsView): |
| |
| 2018-09-21 Mike Gorse <mgorse@suse.com> |
| |
| Build tools should work when the /usr/bin/python is python3 |
| https://bugs.webkit.org/show_bug.cgi?id=156674 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * Scripts/copy-user-interface-resources.pl: Use $PYTHON if set |
| in the environment. |
| |
| 2018-09-20 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: remove Visual Style CSS details sidebar panel |
| https://bugs.webkit.org/show_bug.cgi?id=189807 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| The Visual Style CSS details sidebar panel has been hidden behind an "experimental" setting |
| for almost a year. It's time that we remove it. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Base/Setting.js: |
| * UserInterface/Main.html: |
| |
| * UserInterface/Views/ElementsTabContentView.js: |
| (WI.ElementsTabContentView): |
| * UserInterface/Views/SettingsTabContentView.js: |
| (WI.SettingsTabContentView.prototype._createExperimentalSettingsView): |
| |
| * UserInterface/Images/AnimationPlayStatePaused.svg: Removed. |
| * UserInterface/Images/AnimationPlayStateRunning.svg: Removed. |
| * UserInterface/Images/ClearBoth.svg: Removed. |
| * UserInterface/Images/ClearLeft.svg: Removed. |
| * UserInterface/Images/ClearRight.svg: Removed. |
| * UserInterface/Images/FloatLeft.svg: Removed. |
| * UserInterface/Images/FloatRight.svg: Removed. |
| * UserInterface/Images/FontStyleItalic.svg: Removed. |
| * UserInterface/Images/FontStyleNormal.svg: Removed. |
| * UserInterface/Images/ListStylePositionInside.svg: Removed. |
| * UserInterface/Images/ListStylePositionOutside.svg: Removed. |
| * UserInterface/Images/TextAlignCenter.svg: Removed. |
| * UserInterface/Images/TextAlignJustify.svg: Removed. |
| * UserInterface/Images/TextAlignLeft.svg: Removed. |
| * UserInterface/Images/TextAlignRight.svg: Removed. |
| * UserInterface/Images/TextDecorationLineThrough.svg: Removed. |
| * UserInterface/Images/TextDecorationOverline.svg: Removed. |
| * UserInterface/Images/TextDecorationUnderline.svg: Removed. |
| * UserInterface/Images/TextTransformCapitalize.svg: Removed. |
| * UserInterface/Images/TextTransformLowercase.svg: Removed. |
| * UserInterface/Images/TextTransformUppercase.svg: Removed. |
| * UserInterface/Images/VisualStyleNone.svg: Removed. |
| * UserInterface/Images/VisualStylePropertyLinked.svg: Removed. |
| * UserInterface/Images/VisualStylePropertyUnlinked.svg: Removed. |
| |
| * UserInterface/Views/VisualStyleBackgroundPicker.css: Removed. |
| * UserInterface/Views/VisualStyleBackgroundPicker.js: Removed. |
| * UserInterface/Views/VisualStyleBasicInput.js: Removed. |
| * UserInterface/Views/VisualStyleColorPicker.css: Removed. |
| * UserInterface/Views/VisualStyleColorPicker.js: Removed. |
| * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css: Removed. |
| * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js: Removed. |
| * UserInterface/Views/VisualStyleDetailsPanel.css: Removed. |
| * UserInterface/Views/VisualStyleDetailsPanel.js: Removed. |
| * UserInterface/Views/VisualStyleDetailsSidebarPanel.js: Removed. |
| * UserInterface/Views/VisualStyleFontFamilyListEditor.js: Removed. |
| * UserInterface/Views/VisualStyleFontFamilyTreeElement.js: Removed. |
| * UserInterface/Views/VisualStyleKeywordCheckbox.css: Removed. |
| * UserInterface/Views/VisualStyleKeywordCheckbox.js: Removed. |
| * UserInterface/Views/VisualStyleKeywordIconList.css: Removed. |
| * UserInterface/Views/VisualStyleKeywordIconList.js: Removed. |
| * UserInterface/Views/VisualStyleKeywordPicker.js: Removed. |
| * UserInterface/Views/VisualStyleNumberInputBox.css: Removed. |
| * UserInterface/Views/VisualStyleNumberInputBox.js: Removed. |
| * UserInterface/Views/VisualStylePropertyCombiner.js: Removed. |
| * UserInterface/Views/VisualStylePropertyEditor.css: Removed. |
| * UserInterface/Views/VisualStylePropertyEditor.js: Removed. |
| * UserInterface/Views/VisualStylePropertyEditorLink.css: Removed. |
| * UserInterface/Views/VisualStylePropertyEditorLink.js: Removed. |
| * UserInterface/Views/VisualStylePropertyNameInput.js: Removed. |
| * UserInterface/Views/VisualStyleRelativeNumberSlider.css: Removed. |
| * UserInterface/Views/VisualStyleRelativeNumberSlider.js: Removed. |
| * UserInterface/Views/VisualStyleSelectorSection.css: Removed. |
| * UserInterface/Views/VisualStyleSelectorSection.js: Removed. |
| * UserInterface/Views/VisualStyleSelectorTreeItem.css: Removed. |
| * UserInterface/Views/VisualStyleSelectorTreeItem.js: Removed. |
| * UserInterface/Views/VisualStyleTabbedPropertiesRow.css: Removed. |
| * UserInterface/Views/VisualStyleTabbedPropertiesRow.js: Removed. |
| * UserInterface/Views/VisualStyleTimingEditor.css: Removed. |
| * UserInterface/Views/VisualStyleTimingEditor.js: Removed. |
| * UserInterface/Views/VisualStyleURLInput.js: Removed. |
| * UserInterface/Views/VisualStyleUnitSlider.css: Removed. |
| * UserInterface/Views/VisualStyleUnitSlider.js: Removed. |
| |
| * UserInterface/Controllers/VisualStyleCompletionsController.js: Removed. |
| |
| 2018-09-20 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: Styles Redesign: rework Computed panel to use Spreadsheet classes |
| https://bugs.webkit.org/show_bug.cgi?id=183627 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/ComputedStyleDetailsPanel.js: |
| (WI.ComputedStyleDetailsPanel): |
| (WI.ComputedStyleDetailsPanel.prototype.refresh): |
| (WI.ComputedStyleDetailsPanel.prototype.applyFilter): |
| (WI.ComputedStyleDetailsPanel.prototype.spreadsheetCSSStyleDeclarationEditorShowProperty): |
| (WI.ComputedStyleDetailsPanel.prototype.initialLayout): |
| (WI.ComputedStyleDetailsPanel.prototype.filterDidChange): |
| (WI.ComputedStyleDetailsPanel.prototype._computedStyleShowAllCheckboxValueChanged): |
| (WI.ComputedStyleDetailsPanel.prototype._handlePropertiesSectionCollapsedStateChanged): |
| (WI.ComputedStyleDetailsPanel.prototype._handleVariablesSectionCollapsedStateChanged): |
| (WI.ComputedStyleDetailsPanel.prototype._handleEditorFilterApplied): |
| (WI.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorShowProperty.delegateShowProperty): Deleted. |
| (WI.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorShowProperty): Deleted. |
| Replace CSSStyleDeclarationTextEditor with SpreadsheetCSSStyleDeclarationEditor. |
| |
| * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js: |
| (WI.SpreadsheetCSSStyleDeclarationEditor): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.initialLayout): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set showsImplicitProperties): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set alwaysShowPropertyNames): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set propertyVisibilityMode): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set hideFilterNonMatchingProperties): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set sortPropertiesByName): Added. |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.get propertiesToRender): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.highlightProperty): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.applyFilter): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyShowProperty): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._updateStyleLock): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.get _propertiesToRender): Deleted. |
| Create setters for the "special" functionality required by the Computed panel and tie them |
| into the logic that determines what properties are rendered. |
| |
| * UserInterface/Views/SpreadsheetStyleProperty.js: |
| (WI.SpreadsheetStyleProperty.prototype._update): |
| Create go-to arrow if the property has a shorthand version or a source code location. |
| |
| * UserInterface/Views/GeneralStyleDetailsSidebarPanel.js: |
| (WI.GeneralStyleDetailsSidebarPanel.prototype.initialLayout): |
| Don't reapply the filter after refreshing, as the current panel will handle applying it. |
| |
| * UserInterface/Views/ComputedStyleDetailsPanel.css: |
| (.details-section:matches(.computed-style-properties, .computed-style-box-model):not(.collapsed) > :matches(.header, .content)): |
| (.computed-style-properties .property .go-to-arrow): |
| (.computed-style-properties .property:hover .go-to-arrow): |
| (.computed-style-properties.details-section): Deleted. |
| (.details-section > .content > .group > .row .CodeMirror-code pre .go-to-arrow): Deleted. |
| (.details-section > .content > .group > .row .CodeMirror-code pre:hover .go-to-arrow): Deleted. |
| (.details-section.style-box-model:not(.collapsed) > :matches(.header, .content)): Deleted. |
| * UserInterface/Views/DetailsSection.css: |
| (.details-section.computed-style-properties:not(.collapsed) > .header): Deleted. |
| Consolidate Computed panel styles to it's respective CSS file. |
| |
| * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css: |
| (.spreadsheet-style-declaration-editor): |
| (.spreadsheet-style-declaration-editor .property:matches(.implicit, .not-inherited) .content > *): |
| (.spreadsheet-style-declaration-editor .property.not-inherited .content > *): Deleted. |
| * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css: |
| (.spreadsheet-css-declaration): |
| * UserInterface/Views/Variables.css: |
| (:root): |
| Move `css-declaration` padding variables so they can be used by SpreadsheetCSSStyleDeclarationEditor |
| without a parent SpreadsheetCSSStyleDeclarationSection. |
| |
| * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.css: |
| (.style-spreadsheet .style-rule): Deleted. |
| (.style-spreadsheet .selector-line): Deleted. |
| (.style-spreadsheet .selector): Deleted. |
| (.style-spreadsheet :matches(.selector .matched, .selector:focus)): Deleted. |
| (.style-spreadsheet .name): Deleted. |
| (.style-spreadsheet .value): Deleted. |
| (.style-spreadsheet :matches(.selector, .name, .value)): Deleted. |
| (.style-spreadsheet :matches(.selector, .name, .value):focus): Deleted. |
| (.style-spreadsheet .selector-inline): Deleted. |
| (.style-spreadsheet .property): Deleted. |
| (.style-spreadsheet .property-disabled,): Deleted. |
| (.style-spreadsheet .property-disabled :matches(.name, .value)): Deleted. |
| (.style-spreadsheet .styles-source): Deleted. |
| (.style-spreadsheet :matches(a, .node-link)): Deleted. |
| (.style-spreadsheet :matches(a, .node-link):hover): Deleted. |
| (.style-spreadsheet .declarations): Deleted. |
| (.style-spreadsheet input[type="checkbox"]): Deleted. |
| (.style-spreadsheet input[type="checkbox"]:not(:checked)): Deleted. |
| (.style-spreadsheet .declarations:hover input[type="checkbox"]): Deleted. |
| Drive-by fix: remove styles that don't apply to anything. |
| |
| 2018-09-19 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: move DarkMode.css rules into appropriate CSS files |
| https://bugs.webkit.org/show_bug.cgi?id=189673 |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Main.html: |
| * UserInterface/Views/BezierEditor.css: |
| (@media (prefers-dark-interface)): |
| (.bezier-editor > .bezier-preview-timing): |
| (.bezier-editor > .bezier-container .bezier-curve): |
| (.bezier-editor > .bezier-container .linear-curve): |
| (.bezier-editor > .bezier-preview): |
| (.bezier-editor > .bezier-preview > div): |
| (.bezier-editor > .bezier-container .control-handle): |
| (.bezier-editor > .bezier-container .control-line): |
| * UserInterface/Views/BreakpointActionView.css: |
| (@media (prefers-dark-interface)): |
| (.breakpoint-action-block-body): |
| (.breakpoint-action-block-body > .description): |
| (.breakpoint-action-append-button,): |
| (.breakpoint-action-eval-editor): |
| * UserInterface/Views/BreakpointPopoverController.css: |
| (@media (prefers-dark-interface)): |
| (.popover .edit-breakpoint-popover-content > label.toggle): |
| (.popover .edit-breakpoint-popover-content > table > tr > th): |
| (.edit-breakpoint-popover-condition): |
| * UserInterface/Views/ButtonNavigationItem.css: |
| (@media (prefers-dark-interface)): |
| (.navigation-bar .item.button): |
| * UserInterface/Views/ButtonToolbarItem.css: |
| (@media (prefers-dark-interface)): |
| (.toolbar .item.button): |
| (.toolbar .item.button:not(.disabled):active): |
| (.toolbar .item.button:not(.disabled):matches(:focus, .activate.activated)): |
| (.toolbar .item.button:not(.disabled):active:matches(:focus, .activate.activated)): |
| * UserInterface/Views/CallFrameView.css: |
| (@media (prefers-dark-interface)): |
| (.call-frame .subtitle,): |
| (.call-frame:hover .subtitle .source-link,): |
| (.call-frame .separator): |
| * UserInterface/Views/CanvasContentView.css: |
| (@media (prefers-dark-interface)): |
| (.content-view.canvas:not(.tab)): |
| * UserInterface/Views/CanvasOverviewContentView.css: |
| (@media (prefers-dark-interface)): |
| (.content-view.canvas-overview): |
| (.content-view.canvas-overview .content-view.canvas): |
| (.content-view.canvas-overview .content-view.canvas.is-recording): |
| (.content-view.canvas-overview .content-view.canvas.is-recording > header): |
| (.content-view.canvas-overview .content-view.canvas > header > .titles > .title): |
| (.content-view.canvas-overview .content-view.canvas > header > .titles > .subtitle,): |
| (.content-view.canvas-overview .content-view.canvas > footer > .recordings::before): |
| (.content-view.canvas-overview .content-view.canvas.is-recording > header > .titles > .subtitle): |
| * UserInterface/Views/CanvasTabContentView.css: |
| (@media (prefers-dark-interface)): |
| (.content-view.tab.canvas .navigation-bar > .item .canvas-overview .icon): |
| (.content-view.tab.canvas .navigation-bar > .item .canvas.canvas-2d .icon,): |
| (.content-view.canvas > .preview > img,): |
| * UserInterface/Views/CodeMirrorOverrides.css: |
| (@media (prefers-dark-interface)): |
| (.CodeMirror-cursor): |
| (.CodeMirror .CodeMirror-gutters): |
| (.cm-s-default .cm-link): |
| (.CodeMirror .CodeMirror-lines .CodeMirror-matchingbracket): |
| * UserInterface/Views/CompletionSuggestionsView.css: |
| (@media (prefers-dark-interface)): |
| (.completion-suggestions): |
| (.completion-suggestions-container > .item): |
| * UserInterface/Views/ComputedStyleDetailsPanel.css: |
| (@media (prefers-dark-interface)): |
| (.computed-style-properties.details-section): |
| (.details-section.style-box-model:not(.collapsed) > :matches(.header, .content)): |
| * UserInterface/Views/ConsoleMessageView.css: |
| (@media (prefers-dark-interface)): |
| (.console-message .syntax-highlighted): |
| (.console-warning-level .console-message-text): |
| (.console-error-level .console-message-text): |
| (.console-user-command > .console-message-text): |
| (.console-message .repeat-count): |
| * UserInterface/Views/ConsolePrompt.css: |
| (@media (prefers-dark-interface)): |
| (.console-prompt): |
| * UserInterface/Views/DOMNodeDetailsSidebarPanel.css: |
| (@media (prefers-dark-interface)): |
| (.sidebar > .panel.dom-node-details .details-section.dom-node-event-listeners > .header > .filter:hover): |
| * UserInterface/Views/DOMTreeOutline.css: |
| (@media (prefers-dark-interface)): |
| (.tree-outline.dom): |
| (.tree-outline.dom li.elements-drag-over .selection-area): |
| (.tree-outline.dom li.selected .selection-area): |
| (.tree-outline.dom:focus li.selected .selection-area): |
| (.tree-outline.dom li.selected + ol.children.expanded): |
| (.tree-outline.dom .shadow): |
| (.tree-outline.dom li.parent.shadow + ol.children.expanded,): |
| (.showing-find-banner .tree-outline.dom .search-highlight): |
| * UserInterface/Views/DarkMode.css: Removed. |
| * UserInterface/Views/DataGrid.css: |
| (@media (prefers-dark-interface)): |
| (.data-grid th): |
| (.data-grid td .subtitle): |
| (.data-grid:matches(:focus, .force-focus) tr.selected td .subtitle): |
| (body:not(.window-inactive, .window-docked-inactive) .data-grid:matches(:focus, .force-focus) tr.editable.selected .cell-content > input): |
| (.data-grid tr.editable .cell-content > input): |
| (.data-grid td.spanning): |
| * UserInterface/Views/DebuggerDashboardView.css: |
| (@media (prefers-dark-interface)): |
| (.toolbar .dashboard.debugger): |
| (.dashboard.debugger .navigation-bar .item.button > .glyph): |
| (.dashboard.debugger > .location .function-name): |
| (.dashboard.debugger > .location .go-to-link): |
| (.dashboard.debugger > .divider): |
| * UserInterface/Views/DefaultDashboardView.css: |
| (@media (prefers-dark-interface)): |
| (.toolbar .dashboard.default > .item > div): |
| (.toolbar .dashboard.default > .item.enabled > div): |
| (.toolbar .dashboard.default > .item.enabled:hover): |
| (.toolbar .dashboard.default > .item.enabled:hover > div): |
| (.toolbar .dashboard.default > .resourcesCount > img,): |
| (body.latest-mac .toolbar .dashboard .item.button): |
| (.dashboard-container .advance-arrow): |
| * UserInterface/Views/DetailsSection.css: |
| (@media (prefers-dark-interface)): |
| (.details-section > .header): |
| (.details-section > .header > label): |
| (.details-section .details-section,): |
| (.details-section .details-section:not(.collapsed) > .header): |
| (.details-section > .content > .group > .row.simple > .label): |
| (.details-section > .content > .group:nth-child(even)): |
| (.details-section > .content > .group > .row:matches(.empty, .text)): |
| * UserInterface/Views/DividerNavigationItem.css: |
| (@media (prefers-dark-interface)): |
| (.navigation-bar .item.divider): |
| * UserInterface/Views/Editing.css: |
| (@media (prefers-dark-interface)): |
| (.editing): |
| (.editing, .editing *): |
| * UserInterface/Views/FindBanner.css: |
| (@media (prefers-dark-interface)): |
| (.find-banner > input[type="search"]): |
| (.find-banner.console-find-banner > input[type=search]:not(:placeholder-shown)): |
| * UserInterface/Views/FontResourceContentView.css: |
| (@media (prefers-dark-interface)): |
| (.content-view.resource.font .preview > .line): |
| (.content-view.resource.font .metric.top): |
| (.content-view.resource.font .metric.baseline): |
| (.content-view.resource.font .metric.middle): |
| (.content-view.resource.font .metric.xheight): |
| (.content-view.resource.font .metric.bottom): |
| * UserInterface/Views/FormattedValue.css: |
| (@media (prefers-dark-interface)): |
| (.formatted-object,): |
| (.formatted-null,): |
| * UserInterface/Views/GeneralStyleDetailsSidebarPanel.css: |
| (@media (prefers-dark-interface)): |
| (.sidebar > .panel.details.css-style > .content > .pseudo-classes > .group > label): |
| (.sidebar > .panel.details.css-style > .content ~ .options-container > .new-rule): |
| (.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle): |
| * UserInterface/Views/HoverMenu.css: |
| (@media (prefers-dark-interface)): |
| (.hover-menu > svg > :matches(path, rect)): |
| * UserInterface/Views/ImageResourceContentView.css: |
| (@media (prefers-dark-interface)): |
| (.content-view.resource.image): |
| * UserInterface/Views/InlineSwatch.css: |
| (@media (prefers-dark-interface)): |
| (.inline-swatch): |
| * UserInterface/Views/LogContentView.css: |
| (@media (prefers-dark-interface)): |
| (.console-messages): |
| (.console-item): |
| (.console-messages:focus .console-item.selected): |
| (.console-messages:focus .console-item.selected + .console-item): |
| (.console-session:first-of-type .console-session-header): |
| (.console-session:not(:first-of-type) .console-session-header): |
| (.console-messages a): |
| (.console-messages a:hover): |
| (.console-messages:focus .console-item.selected::after): |
| (.console-error-level): |
| (.console-error-level:not(.filtered-out, .filtered-out-by-search), .console-error-level:not(.filtered-out, .filtered-out-by-search) + .console-item): |
| (.console-warning-level): |
| (.console-warning-level:not(.filtered-out, .filtered-out-by-search), .console-warning-level:not(.filtered-out, .filtered-out-by-search) + .console-item): |
| (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted): |
| (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted.selected): |
| * UserInterface/Views/Main.css: |
| (#main): |
| (@media (prefers-dark-interface)): |
| (.go-to-arrow): |
| (.resource-link,): |
| (.expand-list-button): |
| (:matches(img, canvas).show-grid): |
| * UserInterface/Views/NetworkResourceDetailView.css: |
| (@media (prefers-dark-interface)): |
| (.network-resource-detail): |
| (.network-resource-detail .item.close > .glyph): |
| (.network .network-resource-detail .navigation-bar .item.radio.button.text-only.selected): |
| (.resource-headers .value): |
| * UserInterface/Views/NetworkTableContentView.css: |
| (@media (prefers-dark-interface)): |
| (.network-table .cell.domain > .lock): |
| * UserInterface/Views/NewTabContentView.css: |
| (@media (prefers-dark-interface)): |
| (.new-tab.tab.content-view): |
| * UserInterface/Views/ObjectTreePropertyTreeElement.css: |
| (@media (prefers-dark-interface)): |
| (.object-tree-property .getter,): |
| (.item.object-tree-property.prototype-property): |
| (.object-tree-property.prototype-property:hover,): |
| (.object-tree-property .value.error): |
| * UserInterface/Views/ObjectTreeView.css: |
| (@media (prefers-dark-interface)): |
| (.object-tree,): |
| (.object-preview .name): |
| (.object-preview > .size): |
| * UserInterface/Views/OpenResourceDialog.css: |
| (@media (prefers-dark-interface)): |
| (.open-resource-dialog): |
| (.open-resource-dialog > .field > input): |
| (.open-resource-dialog > .field > input::placeholder): |
| (.open-resource-dialog > .tree-outline .item.selected): |
| (.open-resource-dialog > .field::before): |
| * UserInterface/Views/ProgressView.css: |
| (@media (prefers-dark-interface)): |
| (.progress-view > .titles > .title): |
| (.progress-view > .titles > .subtitle): |
| (.indeterminate-progress-spinner): |
| * UserInterface/Views/QuickConsole.css: |
| (@media (prefers-dark-interface)): |
| (.quick-console): |
| (.CodeMirror .jump-to-symbol-highlight,): |
| (.quick-console.showing-log): |
| * UserInterface/Views/RecordingActionTreeElement.css: |
| (@media (prefers-dark-interface)): |
| (.item.action:not(.initial-state)::before): |
| (.tree-outline .item.action.visual:not(.selected, .invalid)): |
| (.item.action:not(.initial-state) > .icon): |
| (.tree-outline:not(.hide-disclosure-buttons) .item.action:not(.initial-state, .parent) > .icon): |
| * UserInterface/Views/RecordingContentView.css: |
| (@media (prefers-dark-interface)): |
| (.content-view:not(.tab).recording): |
| (.content-view:not(.tab).recording > header > .slider-container): |
| (.content-view:not(.tab).recording > header > .slider-container > input[type=range]): |
| * UserInterface/Views/RecordingStateDetailsSidebarPanel.css: |
| (@media (prefers-dark-interface)): |
| (.sidebar > .panel.details.recording-state > .content > .data-grid tr.modified): |
| * UserInterface/Views/ResourceHeadersContentView.css: |
| (@media (prefers-dark-interface)): |
| (.resource-headers .value): |
| * UserInterface/Views/ResourceSizesContentView.css: |
| (@media (prefers-dark-interface)): |
| (.resource-sizes > .content .label): |
| * UserInterface/Views/ResourceTimingBreakdownView.css: |
| (@media (prefers-dark-interface)): |
| (.popover.waterfall-popover): |
| (.resource-timing-breakdown > table > tr.header:not(.total-row) > td): |
| (.resource-timing-breakdown > table > tr > td.label,): |
| (.resource-timing-breakdown > table hr): |
| * UserInterface/Views/ScopeBar.css: |
| (@media (prefers-dark-interface)): |
| (.scope-bar > li): |
| * UserInterface/Views/SearchBar.css: |
| (@media (prefers-dark-interface)): |
| (:matches(.search-bar, .filter-bar) > input[type="search"],): |
| (:matches(.search-bar, .filter-bar) > input[type="search"]::placeholder): |
| (:matches(.search-bar, .filter-bar) > input[type="search"]:focus): |
| * UserInterface/Views/SearchSidebarPanel.css: |
| (@media all): |
| * UserInterface/Views/SettingsTabContentView.css: |
| (@media (prefers-dark-interface)): |
| (.content-view.settings .navigation-bar): |
| (.content-view.settings .navigation-bar .item.radio.button.text-only.selected): |
| * UserInterface/Views/ShaderProgramContentView.css: |
| (@media (prefers-dark-interface)): |
| (.content-view.shader-program > .text-editor.shader): |
| (.content-view.shader-program > .text-editor.shader > .type-title): |
| * UserInterface/Views/ShaderProgramTreeElement.css: |
| (@media (prefers-dark-interface)): |
| (.item.shader-program .status > img): |
| * UserInterface/Views/SourceCodeTextEditor.css: |
| (@media (prefers-dark-interface)): |
| (.source-code.text-editor > .CodeMirror .error): |
| (.source-code.text-editor > .CodeMirror .warning): |
| (.source-code.text-editor > .CodeMirror .issue-widget): |
| (.source-code.text-editor > .CodeMirror .issue-widget.warning,): |
| (.source-code.text-editor > .CodeMirror .issue-widget.error,): |
| * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css: |
| (@media (prefers-dark-interface)): |
| (.spreadsheet-style-declaration-editor .property:not(.disabled) .value): |
| (.spreadsheet-style-declaration-editor :matches(.name, .value).editing): |
| (.spreadsheet-style-declaration-editor .property.has-warning): |
| (.spreadsheet-style-declaration-editor .property.has-warning .warning): |
| (.spreadsheet-style-declaration-editor .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) .content > *): |
| * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css: |
| (@media (prefers-dark-interface)): |
| (.spreadsheet-css-declaration): |
| (.spreadsheet-css-declaration.locked): |
| (.spreadsheet-css-declaration .selector.style-attribute): |
| (.spreadsheet-css-declaration .selector:focus,): |
| (.spreadsheet-css-declaration.locked .origin::after): |
| (.spreadsheet-css-declaration .origin .go-to-link,): |
| (.spreadsheet-css-declaration .media-label): |
| * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.css: |
| (@media (prefers-dark-interface)): |
| (.spreadsheet-style-panel .section-header): |
| (.spreadsheet-style-panel .section-header .node-link:hover): |
| * UserInterface/Views/SyntaxHighlightingDefaultTheme.css: |
| (@media (prefers-dark-interface)): |
| (.syntax-highlighted,): |
| (.cm-s-default,): |
| (.cm-s-default .cm-attribute): |
| (.cm-s-default .cm-m-xml.cm-attribute,): |
| (.cm-s-default .cm-meta): |
| (.cm-s-default .cm-variable-3): |
| (.cm-s-default .cm-builtin): |
| * UserInterface/Views/TabBar.css: |
| (@media (prefers-dark-interface)): |
| (.tab-bar): |
| (.tab-bar > .item): |
| (.tab-bar > .item > .title): |
| (.tab-bar > .item:not(.disabled).selected): |
| (.tab-bar:not(.animating) > .item:not(.selected):hover): |
| (.tab-bar > .item > .close,): |
| (body.window-inactive .tab-bar): |
| (body.window-inactive .tab-bar > .item): |
| (body.window-inactive .tab-bar > .item.selected): |
| (body.window-inactive .tab-bar > .item > .title): |
| * UserInterface/Views/Table.css: |
| (@media (prefers-dark-interface)): |
| (.table,): |
| (.table > .header > .sortable:active): |
| (.table > .header > :matches(.sort-ascending, .sort-descending)): |
| (.table > .header > :matches(.sort-ascending, .sort-descending)::after): |
| * UserInterface/Views/TextEditor.css: |
| (@media (prefers-dark-interface)): |
| (.text-editor > .CodeMirror .execution-line): |
| (.text-editor > .CodeMirror .execution-range-highlight:not(.CodeMirror-selectedtext),): |
| * UserInterface/Views/TimelineDataGrid.css: |
| (@media (prefers-dark-interface)): |
| (.data-grid th:matches(.sort-ascending, .sort-descending)): |
| * UserInterface/Views/TimelineIcons.css: |
| (@media (prefers-dark-interface)): |
| (.time-icon .icon): |
| * UserInterface/Views/TimelineOverview.css: |
| (@media (prefers-dark-interface)): |
| (.timeline-overview > .navigation-bar.timelines): |
| (.timeline-overview:not(.frames) > .graphs-container > .timeline-overview-graph:nth-child(even)): |
| (.timeline-overview.edit-instruments > .tree-outline.timelines .item:not(:first-child),): |
| * UserInterface/Views/TimelineRecordingContentView.css: |
| (@media (prefers-dark-interface)): |
| (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple): |
| (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple .arrows): |
| * UserInterface/Views/Toolbar.css: |
| (@media (prefers-dark-interface)): |
| (body .toolbar): |
| (body.window-inactive .toolbar): |
| (body.latest-mac .toolbar .item.button,): |
| (body.latest-mac .toolbar .search-bar > input[type="search"]): |
| (body.latest-mac .toolbar .search-bar > input[type="search"]:focus): |
| (body.latest-mac .toolbar .search-bar > input[type="search"]::placeholder): |
| (body.latest-mac.window-inactive .toolbar .search-bar > input[type="search"]::placeholder): |
| (body.latest-mac.window-inactive .toolbar .search-bar > input[type="search"]::-webkit-search-results-button): |
| (body.latest-mac .toolbar .dashboard-container): |
| (body.latest-mac .toolbar .item.button:active): |
| (body.latest-mac.window-inactive .toolbar .item.button,): |
| * UserInterface/Views/TreeOutline.css: |
| (@media (prefers-dark-interface)): |
| (.tree-outline .item .subtitle): |
| * UserInterface/Views/Variables.css: |
| (@media (prefers-dark-interface)): |
| (:root): |
| (body.window-inactive): |
| (body.window-inactive *): |
| * UserInterface/Views/WebSocketContentView.css: |
| (@media (prefers-dark-interface)): |
| (.web-socket.content-view .data-grid table.data tr.revealed): |
| (.web-socket.content-view .data-grid.variable-height-rows table.data tr.outgoing): |
| (.web-socket.content-view .data-grid.variable-height-rows table.data tr.non-text-frame): |
| * UserInterface/Views/XHRBreakpointPopover.css: |
| (@media (prefers-dark-interface)): |
| (.popover .xhr-breakpoint-content > .editor-wrapper > .editor): |
| |
| 2018-09-17 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: generate CSSKeywordCompletions from backend values |
| https://bugs.webkit.org/show_bug.cgi?id=189041 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Moves the longhands map to `WI.CSSKeywordCompletions` for more global access. Creates an |
| aliases map to support completions on aliases with the same values as the non-alias name. |
| Removes all keyword-only properties from `WI.CSSKeywordCompletions._propertyKeywordMap` as |
| they are now generated by the backend (kept for compatibility). |
| |
| * UserInterface/Models/CSSCompletions.js: |
| (WI.CSSCompletions): |
| (WI.CSSCompletions.requestCSSCompletions.propertyNamesCallback): |
| (WI.CSSCompletions.prototype.isShorthandPropertyName): |
| |
| * UserInterface/Models/CSSKeywordCompletions.js: |
| (WI.CSSKeywordCompletions.forProperty.addKeywordsForName): Added. |
| (WI.CSSKeywordCompletions.forProperty): |
| (WI.CSSKeywordCompletions.addCustomCompletions): |
| |
| * UserInterface/Models/CSSProperty.js: |
| (WI.CSSProperty.isInheritedPropertyName): |
| |
| 2018-09-15 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: REGRESSION: breakpoint context menu appears twice in DOM tree |
| https://bugs.webkit.org/show_bug.cgi?id=189308 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Controllers/DOMBreakpointTreeController.js: |
| (WI.DOMBreakpointTreeController.appendBreakpointContextMenuItems): |
| Set a symbol on the `contextMenu` to ensure that the same items are not added twice. |
| |
| 2018-09-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Source View doesn't scroll to show line when breakpoint is hit inside of <script> in HTML resource |
| https://bugs.webkit.org/show_bug.cgi?id=189638 |
| <rdar://problem/43359278> |
| |
| Reviewed by Matt Baker. |
| |
| Pausing in Document resources on page load have special considerations where we |
| may not receive their full content immediately, so we may synthesize inline script |
| content for the resource until we have full content. Unfortunately, when we get |
| full content and update the TextEditor we were losing the revealed position and |
| other editor information. This change specifically targets those cases, by |
| re-applying editor state when updating such a resource from partial to full content. |
| |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WI.SourceCodeTextEditor.prototype._contentAvailable): |
| Signal to the editor that when updating the content it should carry |
| over editor state. Only do this if we had partial content before. |
| |
| * UserInterface/Views/TextEditor.js: |
| (WI.TextEditor): |
| (WI.TextEditor.prototype.set repeatReveal): |
| Provide a way to signal we should restore state when update the content. |
| |
| (WI.TextEditor.set string.update): |
| (WI.TextEditor.prototype.set string): |
| When repeatReveal was enabled, restore editor state such as the |
| revealed location and text selection. |
| |
| 2018-09-14 Devin Rousso <webkit@devinrousso.com> |
| |
| Web Inspector: Record actions performed on ImageBitmapRenderingContext |
| https://bugs.webkit.org/show_bug.cgi?id=181341 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Models/Recording.js: |
| (WI.Recording.fromPayload): |
| (WI.Recording.prototype.createContext): |
| |
| * UserInterface/Models/RecordingAction.js: |
| (WI.RecordingAction._prototypeForType): |
| (WI.RecordingAction.prototype.getImageParameters): |
| |
| * UserInterface/Views/RecordingActionTreeElement.js: |
| (WI.RecordingActionTreeElement._classNameForAction.classNameForActionName): |
| |
| * UserInterface/Views/RecordingContentView.js: |
| (WI.RecordingContentView): |
| (WI.RecordingContentView.prototype.get navigationItems): |
| (WI.RecordingContentView.prototype.updateActionIndex): |
| (WI.RecordingContentView.prototype.shown): |
| (WI.RecordingContentView.prototype.hidden): |
| (WI.RecordingContentView.prototype._generateContentFromSnapshot): Renamed. |
| (WI.RecordingContentView.prototype._updateImageGrid): |
| (WI.RecordingContentView.prototype._generateContentCanvasWebGL): Deleted. |
| |
| * UserInterface/Views/CanvasContentView.js: |
| (WI.CanvasContentView): |
| |
| 2018-09-13 Jamal Nasser <jamaln@mail.com> |
| |
| Web Inspector: Dark Mode: bezier curve editor should be updated |
| https://bugs.webkit.org/show_bug.cgi?id=187657 |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/DarkMode.css: |
| (@media (prefers-dark-interface)): |
| (.bezier-editor > .bezier-preview-timing): |
| (.bezier-editor > .bezier-container .bezier-curve): |
| (.bezier-editor > .bezier-container .linear-curve): |
| (.bezier-editor > .bezier-preview): |
| (.bezier-editor > .bezier-preview > div): |
| (.bezier-editor > .bezier-container .control-handle): |
| (.bezier-editor > .bezier-container .control-line): |
| |
| 2018-09-13 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Timelines: clicking a row in Script > Events grid triggers Location popover when column is hidden |
| https://bugs.webkit.org/show_bug.cgi?id=189603 |
| <rdar://problem/44431403> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| TimelineDataGrid controls showing/hiding the call frame popover, with subclasses |
| overriding callFramePopoverAnchorElement to position it. This patch adds |
| another overridable base class method, shouldShowCallFramePopover, which subclasses |
| can use to block the popover when the Location column is hidden. |
| |
| * UserInterface/Views/DataGrid.js: |
| (WI.DataGrid.prototype.layout): |
| (WI.DataGrid.prototype._positionResizerElements): |
| (WI.DataGrid.prototype._isColumnVisible): Deleted. |
| |
| * UserInterface/Views/LayoutTimelineDataGrid.js: |
| (WI.LayoutTimelineDataGrid.prototype.shouldShowCallFramePopover): |
| (WI.LayoutTimelineDataGrid): |
| |
| * UserInterface/Views/ScriptTimelineDataGrid.js: |
| (WI.ScriptTimelineDataGrid.prototype.shouldShowCallFramePopover): |
| (WI.ScriptTimelineDataGrid): |
| |
| * UserInterface/Views/TimelineDataGrid.js: |
| (WI.TimelineDataGrid.prototype.shouldShowCallFramePopover): |
| (WI.TimelineDataGrid.prototype._dataGridSelectedNodeChanged): |
| |
| 2018-09-13 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Opening inspector with a selected element might immediately scroll that element off screen in the DOM Tree outline |
| https://bugs.webkit.org/show_bug.cgi?id=189569 |
| <rdar://problem/44397098> |
| |
| Reviewed by Devin Rousso. |
| |
| * UserInterface/Views/DOMTreeContentView.js: |
| (WI.DOMTreeContentView.prototype.layout): |
| Re-select the selected DOM node in the DOM Tree when the view resizes. |
| Typically this can happen if the sidebar opens/closes/resizes, in which |
| case we will want the selected DOM node to stay in view even if the DOM |
| tree starts wrapping earlier content. |
| |
| 2018-09-12 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: fix test case failures in js-isLikelyStackTrace.html |
| https://bugs.webkit.org/show_bug.cgi?id=180664 |
| |
| Reviewed by Devin Rousso. |
| |
| * UserInterface/Models/StackTrace.js: |
| (WI.StackTrace.isLikelyStackTrace): |
| In a quick benchmark 50% of the time was rebuilding the same complex regular |
| expression over and over again. Instead just build the regex once and reset |
| it before each use. |
| |
| 2018-09-12 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: imported recordings are unable to be viewed after navigation |
| https://bugs.webkit.org/show_bug.cgi?id=189208 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Move the "Imported Recordings" folder to the top level (instead of under "Overview") so that |
| it is selectable when there are no canvases but there is an imported recording. |
| |
| * UserInterface/Controllers/CanvasManager.js: |
| (WI.CanvasManager.prototype._removeCanvas): |
| Null out the `source` of each `WI.Recording` for the removed `WI.Canvas`. |
| |
| * UserInterface/Views/CanvasTabContentView.js: |
| (WI.CanvasTabContentView): |
| (WI.CanvasTabContentView.prototype._removeCanvas): |
| Add each `WI.Recording`for the removed `WI.Canvas` to the "Imported Recordings" folder. |
| |
| * UserInterface/Views/CanvasContentView.js: |
| (WI.CanvasContentView.prototype.refresh): |
| (WI.CanvasContentView.prototype.initialLayout): |
| (WI.CanvasContentView.prototype._showError): |
| Drive-by: don't recreate the error preview element if it already exists. |
| |
| * UserInterface/Views/CanvasSidebarPanel.js: |
| (WI.CanvasSidebarPanel.prototype.updateRepresentedObjects): Added. |
| (WI.CanvasSidebarPanel.prototype.shown): |
| (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange): Deleted. |
| |
| 2018-09-11 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Fix typo "vritualized" |
| https://bugs.webkit.org/show_bug.cgi?id=189511 |
| |
| Reviewed by Devin Rousso. |
| |
| * UserInterface/Views/TreeOutline.js: |
| (WI.TreeOutline): |
| (WI.TreeOutline.prototype.registerScrollVirtualizer): |
| (WI.TreeOutline.prototype.updateVirtualizedElements): |
| |
| 2018-09-10 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Address some ESLint warnings |
| https://bugs.webkit.org/show_bug.cgi?id=188824 |
| |
| Reviewed by Matt Baker. |
| |
| * .eslintrc: |
| * UserInterface/Base/Platform.js: |
| * UserInterface/Controllers/AuditManager.js: |
| * UserInterface/Controllers/BasicBlockAnnotator.js: |
| * UserInterface/Controllers/CallFrameTreeController.js: |
| * UserInterface/Controllers/HARBuilder.js: |
| * UserInterface/Models/AuditReport.js: |
| * UserInterface/Models/AuditResult.js: |
| * UserInterface/Models/AuditTestCase.js: |
| * UserInterface/Models/AuditTestSuite.js: |
| * UserInterface/Models/Cookie.js: |
| * UserInterface/Models/SourceCodePosition.js: |
| * UserInterface/Test/FrontendTestHarness.js: |
| * UserInterface/Test/TestSuite.js: |
| * UserInterface/Views/CanvasContentView.js: |
| * UserInterface/Views/CollectionContentView.js: |
| * UserInterface/Views/ContentBrowser.js: |
| * UserInterface/Views/CookieStorageContentView.js: |
| * UserInterface/Views/DataGrid.js: |
| * UserInterface/Views/DatabaseTableContentView.js: |
| * UserInterface/Views/FindBanner.js: |
| * UserInterface/Views/JSONResourceContentView.js: |
| * UserInterface/Views/LogContentView.js: |
| * UserInterface/Views/ResourceSidebarPanel.js: |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| * UserInterface/Views/SpreadsheetTextField.js: |
| * UserInterface/Workers/Formatter/FormatterUtilities.js: |
| |
| 2018-09-06 Andy Estes <aestes@apple.com> |
| |
| [Apple Pay] Rename the -apple-pay-button-type value "checkout" to "check-out" |
| https://bugs.webkit.org/show_bug.cgi?id=189366 |
| <rdar://problem/44193218> |
| |
| Reviewed by Sam Weinig. |
| |
| * UserInterface/Models/CSSKeywordCompletions.js: |
| |
| 2018-08-31 Jamal Nasser <xnasser@outlook.com> |
| |
| Added a CSS rule to DarkMode.css to fix color on sidebar toggle. |
| <https://webkit.org/b/189139> |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/DarkMode.css: |
| (@media (prefers-dark-interface)): |
| (.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle): |
| |
| 2018-08-29 David Kilzer <ddkilzer@apple.com> |
| |
| Remove empty directories from from svn.webkit.org repository |
| <https://webkit.org/b/189081> |
| |
| * WebInspectorUI.esproj: Removed. |
| |
| 2018-08-28 Devin Rousso <drousso@apple.com> |
| |
| console.log() shows (anonymous function) instead of the passed string when a certain format is used |
| https://bugs.webkit.org/show_bug.cgi?id=188946 |
| <rdar://problem/43756428> |
| |
| Reviewed by Brian Burg. |
| |
| Stack trace URLs are much more likely to follow the following format: |
| |
| <protocol>://<path>:<line>:<column> |
| |
| Modify the test regexp to always require that a protocol exists and to check that there are |
| no ":" inside the protocol or path. Additionally, stack traces usually have more than one |
| frame, so return false if there isn't more than one line. |
| |
| * UserInterface/Models/StackTrace.js: |
| (WI.StackTrace.isLikelyStackTrace): |
| |
| 2018-08-28 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: REGRESSION: CanvasSidebarPanel is empty for imported recordings |
| https://bugs.webkit.org/show_bug.cgi?id=189061 |
| |
| Reviewed by Brian Burg. |
| |
| When recordings are imported, they don't have an associated `WI.Canvas`, meaning that the |
| `WI.Recording` is never added to the canvas' `WI.RecordingCollection`. Previously, the |
| canvas sidebar relied upon the `ItemAdded` event to update the recording `WI.ScopeBar`. |
| Since the imported recording isn't ever added to the collection, this is never fired. |
| |
| This patch moves the function call that updates the `WI.ScopeBar` to a more universal path, |
| ensuring that no matter how a `WI.Recording` is set for the sidebar, it will be shown. |
| |
| * UserInterface/Views/CanvasSidebarPanel.js: |
| (WI.CanvasSidebarPanel.prototype.set recording): |
| (WI.CanvasSidebarPanel.prototype._recordingAdded): |
| (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar): |
| |
| 2018-08-28 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: Search bar is too narrow in some localizations |
| https://bugs.webkit.org/show_bug.cgi?id=189060 |
| <rdar://problem/43006369> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/Toolbar.css: |
| (.toolbar .search-bar): |
| |
| 2018-08-27 Keith Rollin <krollin@apple.com> |
| |
| Unreviewed build fix -- disable LTO for production builds |
| |
| * Configurations/Base.xcconfig: |
| |
| 2018-08-27 Andy Estes <aestes@apple.com> |
| |
| Teach Web Inspector how to complete keywords for -apple-pay-button-style and -apple-pay-button-type |
| https://bugs.webkit.org/show_bug.cgi?id=189001 |
| |
| Reviewed by Devin Rousso. |
| |
| * UserInterface/Models/CSSKeywordCompletions.js: |
| |
| 2018-08-27 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: when scrolling a virtualized TreeOutline, only update the DOM periodically |
| https://bugs.webkit.org/show_bug.cgi?id=188960 |
| |
| Reviewed by Brian Burg. |
| |
| After each `updateVirtualizedElements` call, remember the `WI.TreeElement` that is located |
| halfway within the visible list. When handling each "scroll", only regenerate the |
| `WI.TreeOutline` DOM if the user has scrolled `extraRows` distance. |
| |
| * UserInterface/Views/TreeOutline.js: |
| (WI.TreeOutline): |
| (WI.TreeOutline.prototype.registerScrollVirtualizer): |
| (WI.TreeOutline.prototype.updateVirtualizedElements): |
| (WI.TreeOutline.prototype._calculateVirtualizedValues): Added. |
| |
| 2018-08-27 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: provide autocompletion for event breakpoints |
| https://bugs.webkit.org/show_bug.cgi?id=188717 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Controllers/DOMTreeManager.js: |
| (WI.DOMTreeManager): |
| (WI.DOMTreeManager.prototype.getSupportedEventNames): Added. |
| |
| * UserInterface/Views/EventBreakpointPopover.js: |
| (WI.EventBreakpointPopover): |
| (WI.EventBreakpointPopover.prototype.show): |
| (WI.EventBreakpointPopover.prototype.dismiss): Added. |
| (WI.EventBreakpointPopover.prototype.completionSuggestionsClickedCompletion): Added. |
| (WI.EventBreakpointPopover.prototype._presentOverTargetElement): |
| (WI.EventBreakpointPopover.prototype._showSuggestionsView): Added. |
| |
| 2018-08-27 Keith Rollin <krollin@apple.com> |
| |
| Build system support for LTO |
| https://bugs.webkit.org/show_bug.cgi?id=187785 |
| <rdar://problem/42353132> |
| |
| Reviewed by Dan Bernstein. |
| |
| Update Base.xcconfig and DebugRelease.xcconfig to optionally enable |
| LTO. |
| |
| * Configurations/Base.xcconfig: |
| * Configurations/DebugRelease.xcconfig: |
| |
| 2018-08-27 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: REGRESSION: virtualized TreeOutline is empty when filtering |
| https://bugs.webkit.org/show_bug.cgi?id=188959 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/TreeElement.js: |
| (WI.TreeElement.prototype.set hidden): |
| Only set `focusedTreeElement` if the `WI.TreeElement` is selected and not hidden. There is |
| no reason to focus a hidden or unselected `WI.TreeElement`. |
| |
| 2018-08-23 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: Color picker: can't enter decimal numbers for opacity |
| https://bugs.webkit.org/show_bug.cgi?id=187026 |
| <rdar://problem/41446500> |
| |
| Reviewed by Brian Burg. |
| |
| After every "input" event, we update the `color` value of the `WI.ColorPicker` based on a |
| generated string using the values of the various <input>. The issue with this approach is |
| that adding a decimal point (e.g. "0.") would still be construed as 0, meaning that the |
| color wouldn't change and would instead be reset back to it's old value. This patch adds an |
| early return if the newly generated color has the same value as the current color, thereby |
| meaning that the `color` wouldn't change when changing from "0" to "0.". |
| |
| * UserInterface/Views/ColorPicker.js: |
| (WI.ColorPicker): |
| (WI.ColorPicker.createColorInput): |
| (WI.ColorPicker.prototype._handleColorInputInput): |
| |
| 2018-08-23 Simon Fraser <simon.fraser@apple.com> |
| |
| Add support for dumping GC heap snapshots, and a viewer |
| https://bugs.webkit.org/show_bug.cgi?id=186416 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Make a way to dump information about the GC heap that is useful for looking for leaked |
| or abandoned objects. This dump is obtained (on Apple platforms) via: |
| notifyutil -p com.apple.WebKit.dumpGCHeap |
| which writes a JSON file to /tmp which can then be loaded into the viewer in Tools/GCHeapInspector. |
| |
| This leverages the heap snapshot used by Web Inspector, adding an alternate format for |
| the snapshot JSON that adds additional data about objects and why they are GC roots. |
| |
| The generated bindings code is changed to include the output root reason from isReachableFromOpaqueRoots(), |
| and to implement heapSnapshot() which provides the address of the wrapped object. A new IDL attribute, |
| CustomHeapSnapshot, is used to allow custom heapSnapshot() implementations for classes like JSDocument |
| that need to decorate the heap snapshot cell data with things like the document URL. |
| |
| GCController registers a notifyutil callback which gathers the debug heap snapshot, and dumps it |
| to a file in /tmp. The file path is printed out to the system log. |
| |
| * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js: |
| (HeapSnapshot): |
| |
| 2018-08-23 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: fix typos in some compositing reasons |
| https://bugs.webkit.org/show_bug.cgi?id=188905 |
| <rdar://problem/43624825> |
| |
| Reviewed by Simon Fraser. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Views/LayerTreeDetailsSidebarPanel.js: |
| (WI.LayerTreeDetailsSidebarPanel.prototype._populateListOfCompositingReasons): |
| (WI.LayerTreeDetailsSidebarPanel): |
| * UserInterface/Views/Layers3DContentView.js: |
| (WI.Layers3DContentView.prototype._updateReasonsList): |
| (WI.Layers3DContentView): |
| |
| 2018-08-23 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: support breakpoints for timers and animation-frame events |
| https://bugs.webkit.org/show_bug.cgi?id=188778 |
| |
| Reviewed by Brian Burg. |
| |
| Add a `type` to `WI.EventBreakpoint` that matches `DOMDebugger.EventBreakpointType`: |
| - `AnimationFrame` for `requestAnimationFrame` |
| - `Listener` for any named DOM Event |
| - `Timer` for `setTimeout` and `setInterval` |
| |
| Modified `WI.EventBreakpointPopover` to provide ways for selecting these other types, which |
| is then passed to `WI.DOMDebuggerManager`, which now calls through to the newly added |
| `DOMDebugger.removeEventBreakpoint` and `DOMDebugger.setEventBreakpoint` that sets |
| breakpoints for all event types. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Images/EventBreakpointAnimationFrame.svg: Added. |
| * UserInterface/Images/EventBreakpointListener.svg: Renamed from Source/WebInspectorUI/UserInterface/Images/EventBreakpoint.svg. |
| * UserInterface/Images/EventBreakpointTimer.svg: Added. |
| |
| * UserInterface/Controllers/DOMDebuggerManager.js: |
| (WI.DOMDebuggerManager.supportsEventBreakpoints): Added. |
| (WI.DOMDebuggerManager.prototype.eventBreakpointForTypeAndEventName): Added. |
| (WI.DOMDebuggerManager.prototype.addEventBreakpoint): |
| (WI.DOMDebuggerManager.prototype.removeEventBreakpoint.breakpointRemoved): Added. |
| (WI.DOMDebuggerManager.prototype.removeEventBreakpoint): |
| (WI.DOMDebuggerManager.prototype._updateEventBreakpoint): |
| (WI.DOMDebuggerManager.prototype.eventBreakpointForEventName): Deleted. |
| |
| * UserInterface/Controllers/DOMTreeManager.js: |
| (WI.DOMTreeManager.prototype.setBreakpointForEventListener): |
| |
| * UserInterface/Controllers/DebuggerManager.js: |
| (WI.DebuggerManager.prototype._pauseReasonFromPayload): |
| |
| * UserInterface/Models/EventBreakpoint.js: |
| (WI.EventBreakpoint): |
| (WI.EventBreakpoint.fromPayload): |
| (WI.EventBreakpoint.prototype.get type): Added. |
| (WI.EventBreakpoint.prototype.get serializableInfo): |
| (WI.EventBreakpoint.prototype.saveIdentityToCookie): |
| |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| (WI.DebuggerSidebarPanel.prototype._updatePauseReasonSection): |
| (WI.DebuggerSidebarPanel.prototype.willDismissPopover): |
| |
| * UserInterface/Views/EventBreakpointPopover.js: |
| (WI.EventBreakpointPopover): |
| (WI.EventBreakpointPopover.prototype.get breakpoint): Added. |
| (WI.EventBreakpointPopover.prototype.show): |
| (WI.EventBreakpointPopover.prototype.show.createOption): Added. |
| (WI.EventBreakpointPopover.prototype.dismiss): Added. |
| (WI.EventBreakpointPopover.prototype._presentOverTargetElement): |
| (WI.EventBreakpointPopover.prototype._handleTypeSelectChange): Added. |
| (WI.EventBreakpointPopover.prototype.get result): Deleted. |
| (WI.EventBreakpointPopover.prototype.get value): Deleted. |
| * UserInterface/Views/EventBreakpointPopover.css: |
| (.popover .event-breakpoint-content > .event-type): Added. |
| (.popover .event-breakpoint-content > input): Deleted. |
| |
| * UserInterface/Views/EventBreakpointTreeElement.js: |
| (WI.EventBreakpointTreeElement): |
| * UserInterface/Views/EventBreakpointTreeElement.css: |
| (.breakpoint.event.animation-frame:not(.breakpoint-paused-icon) .icon): Added. |
| (.breakpoint.event.listener:not(.breakpoint-paused-icon) .icon): Added. |
| (.breakpoint.event.timer:not(.breakpoint-paused-icon) .icon): Added. |
| (.breakpoint.event:not(.breakpoint-paused-icon) .icon): Deleted. |
| |
| 2018-08-23 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: `console.inspect(sessionStorage)` first time does not show Session Storage content view if Storage tab was previously unvisited |
| https://bugs.webkit.org/show_bug.cgi?id=188801 |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Base/Main.js: |
| (WI.tabContentViewClassForRepresentedObject): |
| (WI._storageWasInspected): |
| Since the `WI.StorageSidebarPanel` is not created until the `WI.StorageTabContentView` is |
| created, the `WI.StorageManager.Event.DOMStorageObjectWasInspected` and |
| `WI.StorageManager.Event.DatabaseWasInspected` events do not reach the sidebar. We should |
| follow what `WI._domNodeWasInspected` does and additionally call `WI.showRepresentedObject` |
| on the inspected object. |
| |
| 2018-08-23 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: REGRESSION: InspectorStyleSheet not visible in the resources sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=188819 |
| <rdar://problem/43579039> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Models/ResourceCollection.js: |
| (WI.ResourceCollection.prototype.objectIsRequiredType): |
| |
| 2018-08-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| JSContext Inspector: Scripts not showing up in Resources tab |
| https://bugs.webkit.org/show_bug.cgi?id=188814 |
| <rdar://problem/43576117> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/ResourceSidebarPanel.js: |
| (WI.ResourceSidebarPanel.prototype._addScript): |
| This path shouldn't apply to JSContext inspection which will |
| never have a pageTarget and but doesn't have a mainResource. |
| |
| 2018-08-22 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: cannot delete multiple event breakpoints by repeatedly hitting delete |
| https://bugs.webkit.org/show_bug.cgi?id=188803 |
| <rdar://problem/43572838> |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| (WI.DebuggerSidebarPanel.prototype._domBreakpointAddedOrRemoved): |
| (WI.DebuggerSidebarPanel.prototype._eventBreakpointAddedOrRemoved): |
| |
| 2018-08-22 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Do not include TreeOutlineDataGridSynchronizer.js in inspector main. |
| |
| The script was removed in r235151. |
| |
| * UserInterface/Main.html: |
| |
| 2018-08-21 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Remove TreeOutlineDataGridSynchronizer |
| https://bugs.webkit.org/show_bug.cgi?id=188449 |
| <rdar://problem/43107980> |
| |
| Reviewed by Devin Rousso. |
| |
| * UserInterface/Views/HeapAllocationsTimelineView.js: |
| (WI.HeapAllocationsTimelineView.prototype.layout): |
| * UserInterface/Views/LayoutTimelineView.js: |
| (WI.LayoutTimelineView.prototype._processPendingRecords): |
| * UserInterface/Views/NetworkTimelineView.js: |
| (WI.NetworkTimelineView.prototype._processPendingRecords): |
| * UserInterface/Views/RenderingFrameTimelineView.js: |
| (WI.RenderingFrameTimelineView.prototype._processPendingRecords): |
| (WI.RenderingFrameTimelineView.prototype.dataGridNodeForTreeElement): Deleted. |
| * UserInterface/Views/ScriptDetailsTimelineView.js: |
| (WI.ScriptDetailsTimelineView.prototype._processPendingRecords): |
| * UserInterface/Views/TimelineDataGrid.js: |
| (WI.TimelineDataGrid): |
| (WI.TimelineDataGrid.prototype.reset): |
| (WI.TimelineDataGrid.prototype.shown): |
| (WI.TimelineDataGrid.prototype.addRowInSortOrder): |
| (WI.TimelineDataGrid.prototype._refreshDirtyDataGridNodes): |
| (WI.TimelineDataGrid.prototype._sort): |
| (WI.TimelineDataGrid.prototype.treeElementForDataGridNode): Deleted. |
| (WI.TimelineDataGrid.prototype.dataGridNodeForTreeElement): Deleted. |
| * UserInterface/Views/TreeOutlineDataGridSynchronizer.js: Removed. |
| |
| 2018-08-21 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: ⌘G does not while find banner is focused |
| https://bugs.webkit.org/show_bug.cgi?id=188815 |
| <rdar://problem/43577158> |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Base/Main.js: |
| Allow an <input> element to be the current focus element, which is what will |
| our global KeyboardShortcut handlers will interact with. Also make sure |
| that showing the find banner for the first time still focuses it. |
| |
| 2018-08-21 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: REGRESSION(r235095): duplicate actions existing in WI.CanvasSidebarPanel |
| https://bugs.webkit.org/show_bug.cgi?id=188808 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/CanvasSidebarPanel.js: |
| (WI.CanvasSidebarPanel.prototype._recordingChanged): |
| Check that the `WI.RecordingAction` is not already represented in the `WI.TreeOutline` |
| before adding it. |
| |
| * UserInterface/Views/CanvasSidebarPanel.css: |
| (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.processing .subtitle > progress): |
| Drive-by: vertically center the <progress> shown for `WI.RecordingFrame` during processing. |
| |
| 2018-08-21 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: Canvas: provide default icon for all actions |
| https://bugs.webkit.org/show_bug.cgi?id=188807 |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/RecordingActionTreeElement.css: |
| (.item.action > .icon): |
| (.item.action.initial-state > .icon): Deleted. |
| |
| 2018-08-21 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Rulers.svg is missing |
| https://bugs.webkit.org/show_bug.cgi?id=188806 |
| <rdar://problem/43574273> |
| |
| Reviewed by Devin Rousso. |
| |
| * UserInterface/Images/Rulers.svg: Added. |
| |
| 2018-08-20 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: allow breakpoints to be set for specific event listeners |
| https://bugs.webkit.org/show_bug.cgi?id=183138 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| * UserInterface/Models/EventBreakpoint.js: |
| (WI.EventBreakpoint): |
| (WI.EventBreakpoint.fromPayload): Added. |
| (WI.EventBreakpoint.prototype.get eventListener): Added. |
| |
| * UserInterface/Controllers/DOMDebuggerManager.js: |
| (WI.DOMDebuggerManager): |
| |
| * UserInterface/Controllers/DOMTreeManager.js: |
| (WI.DOMTreeManager): |
| (WI.DOMTreeManager.prototype.get eventBreakpoints): Added. |
| (WI.DOMTreeManager.prototype._setDocument): |
| (WI.DOMTreeManager.prototype.setEventListenerDisabled): |
| (WI.DOMTreeManager.prototype.setBreakpointForEventListener): Added. |
| (WI.DOMTreeManager.prototype.removeBreakpointForEventListener): Added. |
| (WI.DOMTreeManager.prototype.breakpointForEventListenerId): Added. |
| |
| * UserInterface/Controllers/EventBreakpointTreeController.js: |
| (WI.EventBreakpointTreeController): |
| |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| (WI.DebuggerSidebarPanel.prototype._updatePauseReasonSection): |
| |
| * UserInterface/Views/EventListenerSectionGroup.js: |
| (WI.EventListenerSectionGroup): |
| (WI.EventListenerSectionGroup.prototype._createDisabledToggleRow): |
| (WI.EventListenerSectionGroup.prototype._createBreakpointToggleRow): Added. |
| |
| * UserInterface/Views/EventBreakpointTreeElement.js: |
| (WI.EventBreakpointTreeElement): |
| (WI.EventBreakpointTreeElement.prototype.ondelete): |
| (WI.EventBreakpointTreeElement.prototype.populateContextMenu): |
| (WI.EventBreakpointTreeElement.prototype._toggleBreakpoint): |
| |
| 2018-08-20 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: Canvas tab: allow recording processing to be stopped midway |
| https://bugs.webkit.org/show_bug.cgi?id=185152 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Previously, `WI.Recording` used a `WI.YieldableTask` to process every action in such a way |
| as to not block the UI. The downside to this approach was that it used a message view to |
| indicate the progress of this process, and prevented the user from viewing the `WI.Recording` |
| until that process was completed. |
| |
| This patch changes `WI.Recording` to instead use `async/await` and fire events whenever a |
| `WI.RecordingAction` (and `WI.RecordingFrame`) finished processing, allowing it to be added |
| to the recording `WI.TreeOutline` and selected by the user. Additionally, a pause/resume |
| button is added to the `WI.CanvasSidebarPanel` so the user has greater control over what |
| how much of the `WI.Recording` they want to process. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| * UserInterface/Base/Utilities.js: |
| (Promise.delay) |
| Utility function for promisifying `setTimeout`. |
| |
| * UserInterface/Models/Recording.js: |
| (WI.Recording): |
| (WI.Recording.prototype.get processing): Added. |
| (WI.Recording.prototype.get ready): Added. |
| (WI.Recording.prototype.startProcessing): Added. |
| (WI.Recording.prototype.stopProcessing): Added. |
| (WI.Recording.prototype.async._process): Added. |
| (WI.Recording.prototype.process): Deleted. |
| (WI.Recording.prototype.async.yieldableTaskWillProcessItem): Deleted. |
| (WI.Recording.prototype.async.yieldableTaskDidFinish): Deleted. |
| |
| * UserInterface/Models/RecordingAction.js: |
| (WI.RecordingAction): |
| (WI.RecordingAction.prototype.get ready): Added. |
| (WI.RecordingAction.prototype.async.swizzle): |
| (WI.RecordingAction.prototype.apply): |
| |
| * UserInterface/Models/RecordingInitialStateAction.js: |
| (WI.RecordingInitialStateAction): |
| |
| * UserInterface/Views/CanvasSidebarPanel.js: |
| (WI.CanvasSidebarPanel): |
| (WI.CanvasSidebarPanel.prototype.set recording): |
| (WI.CanvasSidebarPanel.prototype.set action): |
| (WI.CanvasSidebarPanel.prototype._recordingAdded): |
| (WI.CanvasSidebarPanel.prototype._recordingRemoved): |
| (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange): |
| (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange): |
| (WI.CanvasSidebarPanel.prototype._recordingChanged): |
| (WI.CanvasSidebarPanel.prototype._recordingChanged.createPauseButton): Added. |
| (WI.CanvasSidebarPanel.prototype._recordingChanged.createResumeButton): Added. |
| (WI.CanvasSidebarPanel.prototype._createRecordingFrameTreeElement): Added. |
| (WI.CanvasSidebarPanel.prototype._createRecordingActionTreeElement): Added. |
| (WI.CanvasSidebarPanel.prototype._handleRecordingProcessedAction): Added. |
| (WI.CanvasSidebarPanel.prototype._handleRecordingStartProcessingFrame): Added. |
| * UserInterface/Views/CanvasSidebarPanel.css: |
| (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.processing .subtitle > progress): Added. |
| (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline:matches(:focus, .force-focus) .item.processing.selected .subtitle > progress): Added. |
| (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.processing .subtitle::before): Added. |
| (.sidebar > .panel.navigation.canvas > .content > .recording-content > .recording-processing-options): Added. |
| (.sidebar > .panel.navigation.canvas > .content > .recording-content > .recording-processing-options > .indeterminate-progress-spinner): Added. |
| (.sidebar > .panel.navigation.canvas > .content > .recording-content > .indeterminate-progress-spinner): Deleted. |
| |
| * UserInterface/Views/RecordingContentView.js: |
| (WI.RecordingContentView): |
| (WI.RecordingContentView.prototype.updateActionIndex): |
| (WI.RecordingContentView.prototype.initialLayout): |
| (WI.RecordingContentView.prototype._updateCanvasPath): |
| (WI.RecordingContentView.prototype._handleRecordingProcessedAction): Added. |
| (WI.RecordingContentView.prototype._updateProcessProgress): Deleted. |
| (WI.RecordingContentView.prototype._handleRecordingProcessedActionSwizzle): Deleted. |
| (WI.RecordingContentView.prototype._handleRecordingProcessedActionApply): Deleted. |
| * UserInterface/Views/RecordingContentView.css: |
| (.content-view:not(.tab).recording > header > .slider-container > .slider-value): Added. |
| |
| * UserInterface/Views/FolderTreeElement.js: |
| (WI.FolderTreeElement): |
| |
| * UserInterface/Views/GeneralTreeElement.js: |
| (WI.GeneralTreeElement.prototype.get statusElement): Added. |
| (WI.GeneralTreeElement.prototype._updateTitleElements): |
| |
| * UserInterface/Views/RecordingContentView.js: |
| (WI.CanvasContentView.prototype._handleViewShaderButtonClicked): |
| (WI.CanvasContentView.prototype._handleViewRecordingButtonClicked): |
| Drive-by: `WI.Collection` doesn't have a `values()` accessor for the underlying `Set`. |
| |
| * UserInterface/Views/RecordingNavigationSidebarPanel.css: Removed. |
| * UserInterface/Views/RecordingNavigationSidebarPanel.js: Removed. |
| These files are no longer used since they were "merged" into `WI.CanvasSidebarPanel`. |
| |
| 2018-08-20 Devin Rousso <webkit@devinrousso.com> |
| |
| Web Inspector: Canvas tab: create icons for recordings/shaders in the preview tile |
| https://bugs.webkit.org/show_bug.cgi?id=183650 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| * UserInterface/Views/CanvasContentView.js: |
| (WI.CanvasContentView): |
| (WI.CanvasContentView.prototype.initialLayout): |
| (WI.CanvasContentView.prototype.attached): |
| (WI.CanvasContentView.prototype._recordingStopped): |
| (WI.CanvasContentView.prototype._shaderProgramAdded): |
| (WI.CanvasContentView.prototype._shaderProgramRemoved): |
| (WI.CanvasContentView.prototype._updateViewRelatedItems): |
| (WI.CanvasContentView.prototype._handleViewShaderButtonClicked): |
| (WI.CanvasContentView.prototype._handleViewRecordingButtonClicked): |
| (WI.CanvasContentView.prototype._addRecording): Deleted. |
| (WI.CanvasContentView.prototype._handleRecordingSelectElementChange): Deleted. |
| * UserInterface/Views/CanvasOverviewContentView.css: |
| (.content-view.canvas-overview .content-view.canvas > footer > .view-related-items): |
| (.content-view.canvas-overview .content-view.canvas > footer > .view-related-items > :matches(.view-shader, .view-recording)): |
| (.content-view.canvas-overview .content-view.canvas > footer > .view-related-items > img + img): |
| (.content-view.canvas-overview .content-view.canvas > footer > .view-related-items > .view-shader): |
| (.content-view.canvas-overview .content-view.canvas > footer > .view-related-items > .view-recording): |
| (.content-view.canvas-overview .content-view.canvas > footer > .recordings): Deleted. |
| (.content-view.canvas-overview .content-view.canvas > footer > .recordings::before): Deleted. |
| (.content-view.canvas-overview .content-view.canvas > footer > .recordings > select): Deleted. |
| (.content-view.canvas-overview .content-view.canvas > footer .recordings > select:focus): Deleted. |
| Create two image buttons in the bottom left corner of each canvas tile that appear when the |
| canvas has associated shaders and/or recordings. Clicking each image button will function |
| similar to path components, in that if there is only one shader/recording, it is immediately |
| selected, whereas if there are multiple a dropdown is shown. |
| |
| * UserInterface/Views/CanvasSidebarPanel.js: |
| (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange): |
| (WI.CanvasSidebarPanel.prototype._recordingChanged): |
| Drive-by: ensure that the selected recording action is properly updated when first loading a |
| recording and when scrubbing through one. |
| |
| 2018-08-16 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: support breakpoints for arbitrary event names |
| https://bugs.webkit.org/show_bug.cgi?id=183118 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Create UI for setting breakpoints on event names. Ties into renamed DOMDebugger commands, |
| specifically `setEventBreakpoint` and `removeEventBreakpoint`, that will pause execution if |
| any DOM event is fired that matches any previously registered breakpoints. |
| |
| Event breakpoints are distinguished by name, and they currently apply globally, meaning |
| that only one breakpoint per event name can be registered. |
| |
| Event breakpoints are created in the Debugger tab in a new "Event Breakpoints" section in |
| the Navigation sidebar. A new type of popover, EventBreakpointPopover, is used, but right |
| now all it contains is a basic text input for the event name. Similarly, a new TreeElement |
| subclass, EventBreakpointTreeElement, is used when showing the list of event listener |
| breakpoints, but all it shows now is the event name. |
| |
| The majority of the logic in this patch was derived from XHR breakpoints. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Main.html: |
| * UserInterface/Test.html: |
| * UserInterface/Images/EventBreakpoint.svg: Added. |
| |
| * UserInterface/Models/EventBreakpoint.js: Added. |
| (WI.EventBreakpoint): |
| (WI.EventBreakpoint.prototype.get eventName): |
| (WI.EventBreakpoint.prototype.get disabled): |
| (WI.EventBreakpoint.prototype.set disabled): |
| (WI.EventBreakpoint.prototype.get serializableInfo): |
| (WI.EventBreakpoint.prototype.saveIdentityToCookie): |
| |
| * UserInterface/Controllers/DOMDebuggerManager.js: |
| (WI.DOMDebuggerManager): |
| (WI.DOMDebuggerManager.prototype.get eventBreakpoints): Added. |
| (WI.DOMDebuggerManager.prototype.eventBreakpointForEventName): Added. |
| (WI.DOMDebuggerManager.prototype.addEventBreakpoint): Added. |
| (WI.DOMDebuggerManager.prototype.removeEventBreakpoint): Added. |
| (WI.DOMDebuggerManager.prototype._speculativelyResolveBreakpoints): |
| (WI.DOMDebuggerManager.prototype._updateEventBreakpoint.breakpointUpdated): Added. |
| (WI.DOMDebuggerManager.prototype._updateEventBreakpoint): Added. |
| (WI.DOMDebuggerManager.prototype._resolveEventBreakpoint): Added. |
| (WI.DOMDebuggerManager.prototype._saveEventBreakpoints): Added. |
| (WI.DOMDebuggerManager.prototype._eventBreakpointDisabledStateDidChange): Added. |
| |
| * UserInterface/Controllers/DebuggerManager.js: |
| (WI.DebuggerManager.prototype._pauseReasonFromPayload): |
| |
| * UserInterface/Controllers/EventBreakpointTreeController.js: Added. |
| (WI.EventBreakpointTreeController): |
| (WI.EventBreakpointTreeController.prototype.revealAndSelect): |
| (WI.EventBreakpointTreeController.prototype._eventBreakpointAdded): |
| (WI.EventBreakpointTreeController.prototype._eventBreakpointRemoved): |
| (WI.EventBreakpointTreeController.prototype._addTreeElement): |
| |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| (WI.DebuggerSidebarPanel): |
| (WI.DebuggerSidebarPanel.prototype._updatePauseReasonSection): |
| (WI.DebuggerSidebarPanel.prototype._eventBreakpointAddedOrRemoved): Added. |
| (WI.DebuggerSidebarPanel.prototype._addEventBreakpointButtonClicked): Added. |
| (WI.DebuggerSidebarPanel.prototype.willDismissPopover): |
| |
| * UserInterface/Views/EventBreakpointTreeElement.js: Added. |
| (WI.EventBreakpointTreeElement): |
| (WI.EventBreakpointTreeElement.prototype.onattach): |
| (WI.EventBreakpointTreeElement.prototype.ondetach): |
| (WI.EventBreakpointTreeElement.prototype.ondelete): |
| (WI.EventBreakpointTreeElement.prototype.onenter): |
| (WI.EventBreakpointTreeElement.prototype.onspace): |
| (WI.EventBreakpointTreeElement.prototype.populateContextMenu): |
| (WI.EventBreakpointTreeElement.prototype._statusImageElementClicked): |
| (WI.EventBreakpointTreeElement.prototype._statusImageElementFocused): |
| (WI.EventBreakpointTreeElement.prototype._statusImageElementMouseDown): |
| (WI.EventBreakpointTreeElement.prototype._toggleBreakpoint): |
| (WI.EventBreakpointTreeElement.prototype._updateStatus): |
| * UserInterface/Views/EventBreakpointTreeElement.css: Added. |
| (.breakpoint.event-listener:not(.breakpoint-paused-icon) .icon): |
| |
| * UserInterface/Views/EventBreakpointPopover.js: Added. |
| (WI.EventBreakpointPopover): |
| (WI.EventBreakpointPopover.prototype.get result): |
| (WI.EventBreakpointPopover.prototype.get value): |
| (WI.EventBreakpointPopover.prototype.show): |
| (WI.EventBreakpointPopover.prototype._presentOverTargetElement): |
| * UserInterface/Views/EventBreakpointPopover.css: Added. |
| (.popover .event-listener-breakpoint-content): |
| (.popover .event-listener-breakpoint-content > input): |
| |
| * UserInterface/Views/NavigationSidebarPanel.js: |
| (WI.NavigationSidebarPanel.prototype._isTreeElementWithoutRepresentedObject): |
| |
| 2018-08-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Show Initiator information in Network Table |
| https://bugs.webkit.org/show_bug.cgi?id=188590 |
| <rdar://problem/43305488> |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/NetworkResourceDetailView.js: |
| (WI.NetworkResourceDetailView): |
| (WI.NetworkResourceDetailView.prototype.shown): |
| (WI.NetworkResourceDetailView.prototype.willShowWithCookie): |
| (WI.NetworkResourceDetailView.prototype._showContentViewForNavigationItem): |
| When a ResourceDetailView gets shown, it may also want to show its initial content view |
| with a cookie as the cookie may contain position highlight information. |
| |
| * UserInterface/Views/NetworkTableContentView.js: |
| (WI.NetworkTableContentView): |
| (WI.NetworkTableContentView.prototype._showResourceDetailView): |
| (WI.NetworkTableContentView.prototype.showRepresentedObject): |
| When showing a represented object, pass the cookie information on to the detail |
| view's so that it may include the cookie when showing the final content view. |
| |
| (WI.NetworkTableContentView.prototype.tablePopulateCell): |
| (WI.NetworkTableContentView.prototype._populateInitiatorCell): |
| (WI.NetworkTableContentView.prototype.initialLayout): |
| New initiator column contains a source code link to the call site. |
| |
| (WI.NetworkTableContentView.prototype._generateSortComparator): |
| (WI.NetworkTableContentView.prototype._entryForResource): |
| Entry data for the initiator is a display string that can be sorted easily. |
| |
| 2018-08-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| LayoutTest inspector/worker/debugger-pause.html sometimes times out |
| https://bugs.webkit.org/show_bug.cgi?id=188580 |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Protocol/Target.js: |
| (WI.Target.prototype.get mainResource): |
| (WI.Target.prototype.set mainResource): |
| Dispatch an event when the Main Resource is set. |
| |
| 2018-08-15 Aditya Keerthi <akeerthi@apple.com> |
| |
| [Datalist] Add button to TextFieldInputs with a datalist |
| https://bugs.webkit.org/show_bug.cgi?id=187741 |
| |
| Reviewed by Tim Horton. |
| |
| Add keyword completion for 'list-button'. |
| |
| * UserInterface/External/CodeMirror/css.js: |
| * UserInterface/Models/CSSKeywordCompletions.js: |
| |
| 2018-08-15 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: REGRESSION(r?): the probe sidebar doesn't show up when adding probes |
| https://bugs.webkit.org/show_bug.cgi?id=188594 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/ProbeDetailsSidebarPanel.js: |
| (WI.ProbeDetailsSidebarPanel.prototype.set inspectedProbeSets): |
| (WI.ProbeDetailsSidebarPanel.prototype.initialLayout): |
| Add checks to ensure that DOM elements for each probe section exist before trying to |
| add/remove them from the sidebar. This can happen if probes are inspected before the sidebar |
| is shown for the first time. |
| |
| * UserInterface/Views/ProbeSetDataGrid.js: |
| (WI.ProbeSetDataGrid): |
| (WI.ProbeSetDataGrid.columnIdentifierForProbe): Added. |
| (WI.ProbeSetDataGrid.prototype._setupProbe): |
| (WI.ProbeSetDataGrid.prototype._teardownProbe): |
| (WI.ProbeSetDataGrid.prototype._probeExpressionChanged): |
| * UserInterface/Views/ProbeSetDataGridNode.js: |
| (WI.ProbeSetDataGridNode.prototype.set frame): |
| Provide better column identifiers for each probe's `WI.DataGrid`. It's possible for the |
| numeric probe ID value to be stringified when passing it into the constructor of |
| `WI.DataGrid`, which will not match the original numeric value on later retrieval. |
| |
| 2018-08-14 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Table should not center rows when scrolling them into view |
| https://bugs.webkit.org/show_bug.cgi?id=188593 |
| <rdar://problem/43311660> |
| |
| Reviewed by Devin Rousso. |
| |
| * UserInterface/Views/Table.js: |
| (WI.Table.prototype._handleKeyDown): |
| |
| 2018-08-13 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Table should handle row selection instead of the table delegate |
| https://bugs.webkit.org/show_bug.cgi?id=188534 |
| <rdar://problem/43253335> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Row selection should be implemented by Table, rather than its delegate. |
| |
| * UserInterface/Views/NetworkTableContentView.js: |
| (WI.NetworkTableContentView.prototype.tableShouldSelectRow): |
| (WI.NetworkTableContentView.prototype.tableCellMouseDown): Deleted. |
| Prevent selection unless the clicked cell belongs to the name column. |
| |
| * UserInterface/Views/ResourceCookiesContentView.js: |
| (WI.ResourceCookiesContentView.prototype.tableShouldSelectRow): |
| Always prevent selection. |
| |
| * UserInterface/Views/Table.js: |
| (WI.Table): |
| (WI.Table.prototype._handleMouseDown): |
| |
| 2018-08-12 Aditya Keerthi <akeerthi@apple.com> |
| |
| [macOS] Color wells should appear pressed when presenting a color picker |
| https://bugs.webkit.org/show_bug.cgi?id=188477 |
| |
| Reviewed by Tim Horton. |
| |
| Add keyword completion for 'color-well'. |
| |
| * UserInterface/External/CodeMirror/css.js: |
| * UserInterface/Models/CSSKeywordCompletions.js: |
| |
| 2018-08-09 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Dark Mode: SourceCodeTextEditor error/warning text widget is too light |
| https://bugs.webkit.org/show_bug.cgi?id=188126 |
| <rdar://problem/42674963> |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/DarkMode.css: |
| (@media (prefers-dark-interface)): |
| (.source-code.text-editor > .CodeMirror .issue-widget.warning,): Added. |
| (.source-code.text-editor > .CodeMirror .issue-widget.error,): Added. |
| |
| 2018-08-07 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Add another Protocol Version (iOS 12) |
| https://bugs.webkit.org/show_bug.cgi?id=188359 |
| <rdar://problem/42981364> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Protocol/Legacy/12.0/InspectorBackendCommands.js: Added. |
| * Versions/Inspector-iOS-12.0.json: Added. |
| |
| 2018-08-06 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Global search sometimes returns duplicate results for a resource |
| https://bugs.webkit.org/show_bug.cgi?id=188270 |
| <rdar://problem/42867498> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/SearchSidebarPanel.js: |
| (WI.SearchSidebarPanel.prototype.performSearch.resourcesCallback): |
| Avoid duplicate search results in the frontend. We should also fix the backend |
| but a frontend fix will also be desired for backends that have the issue. |
| |
| 2018-08-03 Alex Christensen <achristensen@webkit.org> |
| |
| Fix spelling of "overridden" |
| https://bugs.webkit.org/show_bug.cgi?id=188315 |
| |
| Reviewed by Darin Adler. |
| |
| * UserInterface/Views/ContentBrowserTabContentView.js: |
| (WI.ContentBrowserTabContentView.prototype.treeElementForRepresentedObject): |
| * UserInterface/Views/GeneralTreeElement.js: |
| (WI.GeneralTreeElement.prototype.ondetach): |
| * UserInterface/Views/NavigationBar.js: |
| (WI.NavigationBar.prototype.get sizesToFit): |
| * UserInterface/Views/NavigationSidebarPanel.js: |
| (WI.NavigationSidebarPanel.prototype.shouldFilterPopulate): |
| * UserInterface/Views/TextEditor.js: |
| (WI.TextEditor.prototype.canBeFormatted): |
| * UserInterface/Views/TreeElement.js: |
| (WI.TreeElement.prototype.onpopulate): |
| |
| 2018-08-01 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Dark Mode: SourceCodeTextEditor thread indicator widget is too light |
| https://bugs.webkit.org/show_bug.cgi?id=188119 |
| <rdar://problem/42670811> |
| |
| Reviewed by Matt Baker. |
| |
| Make the background of the thread indicator widget darker. |
| |
| Reduce the number of HTML elements and simplify CSS by removing the HTML element that drew an arrow and using clip-path on inline widgets instead. |
| |
| * UserInterface/Views/DarkMode.css: |
| (@media (prefers-dark-interface)): |
| (.text-editor > .CodeMirror .execution-line): |
| (.text-editor > .CodeMirror .execution-range-highlight:not(.CodeMirror-selectedtext),): |
| * UserInterface/Views/SourceCodeTextEditor.css: |
| (.source-code.text-editor .CodeMirror-linewidget): |
| (.source-code.text-editor > .CodeMirror .line-indicator-widget.inline): |
| (@media (prefers-dark-interface)): |
| (.source-code.text-editor > .CodeMirror .thread-widget.inline): |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WI.SourceCodeTextEditor.prototype._updateThreadIndicatorWidget): |
| (WI.SourceCodeTextEditor.prototype._updateIssueWidgetForIssues): |
| * UserInterface/Views/TextEditor.css: |
| (@media (prefers-dark-interface)): |
| (.text-editor > .CodeMirror .execution-line.primary .CodeMirror-linenumber::after): |
| * UserInterface/Views/Variables.css: |
| (:root): |
| |
| 2018-08-01 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Dark Mode: disabled breakpoints banner is too light |
| https://bugs.webkit.org/show_bug.cgi?id=188120 |
| <rdar://problem/42671348> |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/DebuggerSidebarPanel.css: |
| (@media (prefers-dark-interface)): |
| (.sidebar > .panel.navigation.debugger .warning-banner): |
| |
| 2018-07-31 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Include a full URL tooltip when hovering the name in the Network Tab |
| https://bugs.webkit.org/show_bug.cgi?id=188199 |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/NetworkTableContentView.js: |
| (WI.NetworkTableContentView.prototype._populateNameCell): |
| Give a tooltip to the entire cell since the entire cell has interactivity. |
| |
| 2018-07-30 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Dark Mode: Search sidebar panel text field has a white background |
| https://bugs.webkit.org/show_bug.cgi?id=188128 |
| <rdar://problem/42678270> |
| |
| Reviewed by Matt Baker. |
| |
| Make the search bar in Search tab match the style of the filter bar. |
| |
| * UserInterface/Views/DarkMode.css: |
| (@media (prefers-dark-interface)): |
| (:matches(.search-bar, .filter-bar) > input[type="search"],): |
| (:matches(.search-bar, .filter-bar) > input[type="search"]::placeholder): |
| (:matches(.search-bar, .filter-bar) > input[type="search"]:focus): |
| (.filter-bar > input[type="search"]): Deleted. |
| (.filter-bar > input[type="search"]::placeholder): Deleted. |
| (.filter-bar > input[type="search"]:focus): Deleted. |
| |
| 2018-07-26 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r234281. |
| |
| Broke internal builds. |
| |
| Reverted changeset: |
| |
| "[Datalist] Add button to TextFieldInputs with a datalist" |
| https://bugs.webkit.org/show_bug.cgi?id=187741 |
| https://trac.webkit.org/changeset/234281 |
| |
| 2018-07-26 Aditya Keerthi <akeerthi@apple.com> |
| |
| [Datalist] Add button to TextFieldInputs with a datalist |
| https://bugs.webkit.org/show_bug.cgi?id=187741 |
| |
| Reviewed by Tim Horton. |
| |
| Add keyword completion for 'list-button'. |
| |
| * UserInterface/External/CodeMirror/css.js: |
| * UserInterface/Models/CSSKeywordCompletions.js: |
| |
| 2018-07-25 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Dark Mode: Breakpoint editor in JS debugger has inconsistent background |
| https://bugs.webkit.org/show_bug.cgi?id=188026 |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/DarkMode.css: |
| (@media (prefers-dark-interface)): |
| (.edit-breakpoint-popover-condition): |
| (.breakpoint-action-eval-editor): |
| |
| 2018-07-22 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Dark Mode: remove odd-looking top border |
| https://bugs.webkit.org/show_bug.cgi?id=187885 |
| |
| Reviewed by Matt Baker. |
| |
| This border doesn't exist in the light mode, and it shouldn't be in the dark mode either. |
| |
| * UserInterface/Views/DarkMode.css: |
| (@media (prefers-dark-interface)): |
| (body .toolbar): |
| |
| 2018-07-20 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Dark Mode: Layers tab background should be dark |
| https://bugs.webkit.org/show_bug.cgi?id=187660 |
| <rdar://problem/42179616> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/Layers3DContentView.js: |
| (WI.Layers3DContentView.prototype.initialLayout): |
| * UserInterface/Views/Variables.css: |
| (:root): |
| |
| 2018-07-19 Ross Kirsling <ross.kirsling@sony.com> |
| |
| Web Inspector: Layers visualization shouldn't select on mousedown |
| https://bugs.webkit.org/show_bug.cgi?id=187488 |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/Layers3DContentView.js: |
| (WI.Layers3DContentView): |
| (WI.Layers3DContentView.prototype.initialLayout): |
| (WI.Layers3DContentView.prototype._canvasMouseDown): |
| (WI.Layers3DContentView.prototype._canvasMouseUp): |
| Don't update selection on mousedown, update on mouseup! |
| Specifically, only update when mousedown & mouseup targets are the same and mousemove hasn't been triggered. |
| |
| 2018-07-19 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Dark Mode: poor contrast for Search Tab's "the page's content has changed" message |
| https://bugs.webkit.org/show_bug.cgi?id=187792 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/DarkMode.css: |
| (@media (prefers-dark-interface)): |
| (:root): |
| Make the background color slightly more yellow and less red. This slightly dicreases the contrast |
| but makes the text look less like an error. |
| |
| * UserInterface/Views/SearchSidebarPanel.css: |
| (@media (prefers-dark-interface)): |
| (.sidebar > .panel.navigation.search.changed > .banner): |
| |
| 2018-07-18 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: REGRESSION(r232591): CodeMirrorEditor should not use a RegExp lineSeparator option |
| https://bugs.webkit.org/show_bug.cgi?id=187772 |
| <rdar://problem/42331640> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/CodeMirrorEditor.js: |
| (WI.CodeMirrorEditor.create): |
| (WI.CodeMirrorEditor): |
| CodeMirror should be left to auto-detect line separators. By default |
| it detects \n, \r\n, and \r. By specifying a regular expression we |
| merely cause problems when CodeMirror uses the supplied lineSeparator |
| when joining its array of lines together. |
| |
| * UserInterface/Views/TextEditor.js: |
| (WI.TextEditor.set string.update): |
| (WI.TextEditor.prototype.set string): |
| This assertion was only true when we forced "\n" line endings everywhere. |
| It no longer holds for source text with "\r\n" (Windows-style) line endings. |
| |
| 2018-07-16 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Fix execution highlighting after r233820 |
| https://bugs.webkit.org/show_bug.cgi?id=187703 |
| <rdar://problem/42246167> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange): |
| * UserInterface/Views/TextEditor.js: |
| (WI.TextEditor.prototype.currentPositionToOriginalPosition): |
| (WI.TextEditor.prototype._updateExecutionRangeHighlight): |
| |
| 2018-07-16 Aaron Chu <aaron_chu@apple.com> |
| |
| AX: Audit Tab should have an Audit Manager |
| https://bugs.webkit.org/show_bug.cgi?id=184071 |
| <rdar://problem/38946364> |
| |
| Reviewed by Brian Burg. |
| |
| This implements the AuditManager for the audit feature. This patch revolves |
| around building out an AuditManager that facilitates an audit. The AuditManager |
| is responsible for managing and storing AuditReports and AuditTestSuites. It is |
| also tasked to decide how to run a test -- whether as a test case or as a test |
| suite. This patch also includes 4 models with which the AuditManager works to |
| perform an audit and to generate a report. These models include AuditTestCase, |
| which as a collection is stored inside an AuditTestSuite; and AuditResult, |
| which, as a collection is stored inside an AuditReport. |
| |
| * UserInterface/Controllers/AuditManager.js: Added. |
| (WI.AuditManager): |
| (WI.AuditManager.prototype.get testSuites): |
| (WI.AuditManager.prototype.get reports): |
| (WI.AuditManager.prototype.async.runAuditTestByRepresentedObject): |
| (WI.AuditManager.prototype.reportForId): |
| (WI.AuditManager.prototype.removeAllReports): |
| (WI.AuditManager.prototype.async._runTestCase): |
| * UserInterface/Main.html: |
| * UserInterface/Models/AuditReport.js: Added. |
| (WI.AuditReport): |
| (WI.AuditReport.prototype.get representedTestCases): |
| (WI.AuditReport.prototype.get representedTestSuite): |
| (WI.AuditReport.prototype.get resultsData): |
| (WI.AuditReport.prototype.get isWritable): |
| (WI.AuditReport.prototype.get failedCount): |
| (WI.AuditReport.prototype.addResult): |
| (WI.AuditReport.prototype.close): |
| * UserInterface/Models/AuditResult.js: Added. |
| (WI.AuditResult): |
| (WI.AuditResult.prototype.get testResult): |
| (WI.AuditResult.prototype.get name): |
| (WI.AuditResult.prototype.get logLevel): |
| (WI.AuditResult.prototype.get failed): |
| * UserInterface/Models/AuditTestCase.js: Added. |
| (WI.AuditTestCase.prototype.get id): |
| (WI.AuditTestCase.prototype.get name): |
| (WI.AuditTestCase.prototype.get suite): |
| (WI.AuditTestCase.prototype.get test): |
| (WI.AuditTestCase.prototype.get setup): |
| (WI.AuditTestCase.prototype.get tearDown): |
| (WI.AuditTestCase.prototype.get errorDetails): |
| (WI.AuditTestCase): |
| * UserInterface/Models/AuditTestSuite.js: Added. |
| (WI.AuditTestSuite): |
| (WI.AuditTestSuite.testCaseDescriptors): |
| (WI.AuditTestSuite.prototype.get id): |
| (WI.AuditTestSuite.prototype.get name): |
| (WI.AuditTestSuite.prototype.get testCases): |
| (WI.AuditTestSuite.prototype._buildTestCasesFromDescriptors): |
| * UserInterface/Test.html: |
| |
| 2018-07-16 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Dark Mode: Console filter field buttons should be darker |
| https://bugs.webkit.org/show_bug.cgi?id=187626 |
| <rdar://problem/42142744> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/FindBanner.css: |
| (@media (prefers-dark-interface)): |
| (.find-banner > button.segmented): |
| (.find-banner > button.segmented > .glyph): |
| |
| 2018-07-16 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Dark Mode: selected item background color is too light |
| https://bugs.webkit.org/show_bug.cgi?id=187691 |
| <rdar://problem/42225308> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/DarkMode.css: |
| (@media (prefers-dark-interface)): |
| (:root): |
| (.tree-outline.dom li.elements-drag-over .selection-area): |
| (.tree-outline.dom:focus li.selected .selection-area): |
| |
| 2018-07-14 Kocsen Chung <kocsen_chung@apple.com> |
| |
| Ensure WebKit stack is ad-hoc signed |
| https://bugs.webkit.org/show_bug.cgi?id=187667 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * Configurations/Base.xcconfig: |
| |
| 2018-07-13 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: REGRESSION (r195723): Improve support for resources with '\r' and '\r\n' line endings |
| https://bugs.webkit.org/show_bug.cgi?id=186453 |
| <rdar://problem/39689180> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Now that the frontend no longer uses offsets from the original source |
| file to calculate positions within CodeMirror, it is possible to support |
| resources with '\r' and '\r\n' line endings in the editor. |
| |
| * UserInterface/Views/CodeMirrorEditor.js: |
| (WI.CodeMirrorEditor.create): |
| (WI.CodeMirrorEditor): |
| |
| 2018-07-13 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Basic blocks highlighting should use line/column locations instead of offsets |
| https://bugs.webkit.org/show_bug.cgi?id=187613 |
| <rdar://problem/42131808> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Controllers/BasicBlockAnnotator.js: |
| Basic blocks sent from the backend include offsets into the original |
| file, rather than line/column locations. In order to translate to positions |
| within CodeMirror, we need to calculate the original line and column |
| for each block. |
| |
| (WI.BasicBlockAnnotator.prototype.insertAnnotations): |
| (WI.BasicBlockAnnotator.prototype._calculateBasicBlockPositions.offsetToPosition): |
| (WI.BasicBlockAnnotator.prototype._calculateBasicBlockPositions): |
| (WI.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges.): |
| (WI.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges): |
| (WI.BasicBlockAnnotator.prototype._highlightTextForBasicBlock): |
| |
| * UserInterface/Models/SourceCodePosition.js: |
| (WI.SourceCodePosition.prototype.offsetColumn): |
| |
| * UserInterface/Views/TextEditor.js: |
| (WI.TextEditor.prototype.getTextInRange): |
| (WI.TextEditor.prototype.addStyleToTextRange): |
| Better encapsulation for CodeMirror positions. |
| |
| * UserInterface/Workers/Formatter/FormatterUtilities.js: |
| (get if): |
| Update String.prototype.lineEndings to support additional line separators. |
| |
| 2018-07-13 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Execution highlighting in the frontend should be line/column-based |
| https://bugs.webkit.org/show_bug.cgi?id=187532 |
| <rdar://problem/42035580> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Source code offsets from Esprima should not be used to calculate ranges |
| in CodeMirror for expression highlighting. |
| |
| This also fixes a long standing bug when adjusting for the starting |
| position of an inline script. Previously the start offset from the script |
| TextRange was used for this purpose, but the value is often incorrect (see |
| https://bugs.webkit.org/show_bug.cgi?id=187532#c5). By using the starting |
| line/column instead, we avoid the problem. |
| |
| * UserInterface/Models/ScriptSyntaxTree.js: |
| (WI.ScriptSyntaxTree.prototype.containersOfPosition): |
| (WI.ScriptSyntaxTree.prototype.containersOfOffset): Deleted. |
| |
| * UserInterface/Models/SourceCodePosition.js: |
| (WI.SourceCodePosition.prototype.offsetColumn): |
| |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange.toInlineScriptPosition): |
| (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange.fromInlineScriptPosition): |
| (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange): |
| (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange.convertRangeOffsetsToSourceCodeOffsets): Deleted. |
| |
| * UserInterface/Views/TextEditor.js: |
| (WI.TextEditor.prototype._updateExecutionRangeHighlight): |
| |
| 2018-07-13 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: SourceCodePosition.js missing from Test.html |
| https://bugs.webkit.org/show_bug.cgi?id=187644 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Test.html: |
| |
| 2018-07-12 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Type token positioning should use line/column locations from Esprima instead of offsets |
| https://bugs.webkit.org/show_bug.cgi?id=187612 |
| <rdar://problem/42131910> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Controllers/TypeTokenAnnotator.js: |
| (WI.TypeTokenAnnotator.prototype.insertAnnotations): |
| (WI.TypeTokenAnnotator.prototype._insertTypeToken): |
| (WI.TypeTokenAnnotator.prototype._insertToken): |
| Use line/column locations, instead of offsets, from the AST when calculating |
| token positions for CodeMirror. Once in CodeMirror's string space, we |
| can safely convert to/from offsets. |
| |
| * UserInterface/Models/ScriptSyntaxTree.js: |
| Retrieve line/column locations for AST nodes, in addition to offsets. |
| Offsets into the original file are still needed for getting type information |
| from the profiler in the backend. |
| |
| (WI.ScriptSyntaxTree): |
| (WI.ScriptSyntaxTree.prototype.filterByRange): |
| Filter by positions, which can be safely used from CodeMirror, instead of offsets. |
| |
| (WI.ScriptSyntaxTree.prototype._createInternalSyntaxTree): |
| (WI.ScriptSyntaxTree.prototype.filterByRange.filterForNodesInRange): Deleted. |
| |
| * UserInterface/Models/SourceCodePosition.js: |
| Add convenience methods for comparing line/column positions, and for |
| converting to the format expected by CodeMirror. SourceCodePosition could |
| be made to interoperate with CodeMirror by exposing properties `line` |
| and `ch`, but making the conversion explicit improves code readability. |
| |
| (WI.SourceCodePosition.prototype.equals): |
| (WI.SourceCodePosition.prototype.isBefore): |
| (WI.SourceCodePosition.prototype.isAfter): |
| (WI.SourceCodePosition.prototype.isWithin): |
| (WI.SourceCodePosition.prototype.toCodeMirror): |
| (WI.SourceCodePosition): |
| |
| * UserInterface/Views/TextEditor.js: |
| (WI.TextEditor.prototype.visibleRangePositions): |
| (WI.TextEditor.prototype.originalPositionToCurrentPosition): |
| (WI.TextEditor.prototype.currentOffsetToCurrentPosition): |
| (WI.TextEditor.prototype.currentPositionToCurrentOffset): |
| (WI.TextEditor.prototype.setInlineWidget): |
| |
| 2018-07-10 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| REGRESSION(r229932) Use of uninitialized value in subroutine entry at copy-user-interface-resources.pl |
| https://bugs.webkit.org/show_bug.cgi?id=187511 |
| |
| Reviewed by Brian Burg. |
| |
| copy-user-interface-resources.pl output warning messages unless |
| BUILT_PRODUCTS_DIR and BUILT_PRODUCTS_DIR env vars are defined. |
| |
| * Scripts/copy-user-interface-resources.pl: |
| (webInspectorUIAdditionsDir): Added. Return UNDEF if |
| BUILT_PRODUCTS_DIR and SDKROOT env vars aren't defined. |
| (combineOrStripResourcesForWebKitAdditions): Check |
| $webInspectorUIAdditionsDir is defined. |
| |
| 2018-07-10 Ross Kirsling <rkirsling@gmail.com> |
| |
| Web Inspector: Layers inspector should allow control-dragging to pan the 3D render |
| https://bugs.webkit.org/show_bug.cgi?id=185109 |
| |
| Reviewed by Matt Baker. |
| |
| Addressed in the three.js repo itself (https://github.com/mrdoob/three.js/pull/13972), |
| so this patch simply updates three.js and its OrbitControls module. |
| |
| * UserInterface/External/three.js/LICENSE: |
| * UserInterface/External/three.js/three.js: |
| Update to r94. |
| |
| * UserInterface/External/three.js/OrbitControls.js: |
| Update to latest. |
| |
| * UserInterface/Views/Layers3DContentView.js: |
| (WI.Layers3DContentView.prototype.initialLayout): |
| (WI.Layers3DContentView.prototype._restrictPan): |
| Adapt to recent changes in three.js. |
| |
| 2018-07-10 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Remove unused NavigationSidebarPanel.treeElementAddedOrChanged |
| https://bugs.webkit.org/show_bug.cgi?id=187508 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/NavigationSidebarPanel.js: |
| (WI.NavigationSidebarPanel.prototype._treeElementAddedOrChanged): |
| (WI.NavigationSidebarPanel.prototype.treeElementAddedOrChanged): Deleted. |
| |
| 2018-07-10 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: REGRESSION (r217505): Debugger content view doesn't update when left sidebar is collapsed |
| https://bugs.webkit.org/show_bug.cgi?id=187482 |
| <rdar://problem/41989190> |
| |
| Reviewed by Brian Burg. |
| |
| Subclasses of NavigationSidebarPanel must process tree selection changes |
| even when collapsed. Sidebar panels perform critical controller tasks |
| for their tabs, such as updating the view when pausing in the debugger, |
| and when the hierarchical path component selection changes. |
| |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| (WI.DebuggerSidebarPanel.prototype._treeSelectionDidChange): |
| * UserInterface/Views/ResourceSidebarPanel.js: |
| (WI.ResourceSidebarPanel.prototype._treeSelectionDidChange): |
| * UserInterface/Views/SearchSidebarPanel.js: |
| (WI.SearchSidebarPanel.prototype._treeSelectionDidChange): |
| * UserInterface/Views/SourcesSidebarPanel.js: |
| (WI.SourcesSidebarPanel.prototype._treeSelectionDidChange): |
| * UserInterface/Views/StorageSidebarPanel.js: |
| (WI.StorageSidebarPanel._treeSelectionDidChange): |
| |
| 2018-07-09 Brian Burg <bburg@apple.com> |
| |
| REGRESSION: Web Inspector no longer pauses in internal injected scripts like WDFindNodes.js |
| https://bugs.webkit.org/show_bug.cgi?id=187350 |
| <rdar://problem/41728249> |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Base/Setting.js: Add a new setting to allow pausing in internal scripts. |
| * UserInterface/Controllers/DebuggerManager.js: Listen to the setting change and toggle |
| the backend setting accordingly. The default is to not break into internal scripts. |
| |
| * UserInterface/Views/SettingsTabContentView.js: |
| (WI.SettingsTabContentView.prototype._createDebugSettingsView): |
| Expose the new setting in the Debug settings panel. |
| |
| 2018-07-06 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Dark Mode: resource search field has white text on white background |
| https://bugs.webkit.org/show_bug.cgi?id=187423 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Match the colors of sidebar filter fields. |
| |
| * UserInterface/Views/DarkMode.css: |
| (@media (prefers-dark-interface)): |
| (.find-banner > input[type="search"]): |
| |
| 2018-07-04 Tim Horton <timothy_horton@apple.com> |
| |
| Introduce PLATFORM(IOSMAC) |
| https://bugs.webkit.org/show_bug.cgi?id=187315 |
| |
| Reviewed by Dan Bernstein. |
| |
| * Configurations/Base.xcconfig: |
| |
| 2018-06-28 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: REGRESSION (r213000): copy from Search results content view broken |
| https://bugs.webkit.org/show_bug.cgi?id=187020 |
| <rdar://problem/40928766> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Since WI._copy listens for a copy event from the document, it is called |
| after CodeMirror handles the event and sets clipboard data. If WI._copy |
| finds a custom copy handler to call, that handler can determine whether |
| to overwrite the current clipboard data, or leave it alone. |
| |
| SearchTabContentView's handleCopyEvent method should return early if the |
| content tree outline doesn't have the focus. This prevents the selection |
| in the TextEditor from being overwritten, without any special knowledge of |
| the content browser's current view. |
| |
| * UserInterface/Views/SearchTabContentView.js: |
| (WI.SearchTabContentView.prototype.handleCopyEvent): |
| |
| 2018-06-25 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Dark Mode: Box Model section should have dark background |
| https://bugs.webkit.org/show_bug.cgi?id=186976 |
| |
| Reviewed by Brian Burg. |
| |
| Replace all instances of black text on white background with the default text and background colors. |
| |
| * UserInterface/Views/BoxModelDetailsSectionRow.css: |
| (@media (prefers-dark-interface)): |
| (.details-section .row.box-model): |
| (.details-section .row.box-model .label): |
| (.details-section .row.box-model :matches(.position, .margin, .border, .padding, .content)): |
| (.details-section .row.box-model:not(.hovered) :matches(.margin, .border, .padding, .content),): |
| (.details-section .row.box-model .margin): |
| (.details-section .row.box-model .border): |
| |
| 2018-06-25 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Dark Mode: color outline is too dark |
| https://bugs.webkit.org/show_bug.cgi?id=186975 |
| |
| Reviewed by Brian Burg. |
| |
| Make the outline lighter than the background. |
| |
| * UserInterface/Views/DarkMode.css: |
| (@media (prefers-dark-interface)): |
| (.hover-menu > svg > :matches(path, rect)): |
| |
| 2018-06-25 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Dark Mode: Media query names are unreadable |
| https://bugs.webkit.org/show_bug.cgi?id=186974 |
| |
| Reviewed by Brian Burg. |
| |
| Change media query names from dark blue to light blue. |
| |
| * UserInterface/Views/DarkMode.css: |
| (@media (prefers-dark-interface)): |
| (.CodeMirror .CodeMirror-lines .CodeMirror-matchingbracket): |
| (.cm-s-default .cm-attribute): |
| |
| 2018-06-25 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Dark Mode: Network headers colors are too dim |
| https://bugs.webkit.org/show_bug.cgi?id=186985 |
| |
| Reviewed by Brian Burg. |
| |
| Increasing the luminance of network header colors by increasing lightness and brightness. |
| |
| * UserInterface/Views/DarkMode.css: |
| (@media (prefers-dark-interface)): |
| (:root): |
| |
| 2018-06-25 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Dark Mode: Font guideline colors are too bright |
| https://bugs.webkit.org/show_bug.cgi?id=186986 |
| |
| Reviewed by Brian Burg. |
| |
| Make the guidelines less distractive from the font glyphs. |
| |
| * UserInterface/Views/DarkMode.css: |
| (@media (prefers-dark-interface)): |
| (.content-view.resource.font .preview > .line): |
| (.content-view.resource.font .metric.top): |
| (.content-view.resource.font .metric.baseline): |
| (.content-view.resource.font .metric.middle): |
| (.content-view.resource.font .metric.xheight): |
| (.content-view.resource.font .metric.bottom): |
| |
| 2018-06-20 Daniel Bates <dabates@apple.com> |
| |
| Web Inspector: All non-Same-Site cookies are marked as Same-Site Strict in Storage tab |
| https://bugs.webkit.org/show_bug.cgi?id=186867 |
| <rdar://problem/41175424> |
| |
| Reviewed by Matt Baker. |
| |
| Fixes an issue where cookies that do not have a Same-Site policy would be marked up as Same- |
| Site Strict in Web Inspector's cookie storage content view (under the storage tab). |
| |
| * UserInterface/Views/CookieStorageContentView.js: |
| (WI.CookieStorageContentView.prototype._rebuildTable): Only compute the display name if |
| we cookie.sameSite is non-null and is not WI.Cookie.SameSiteType.None. Moreover, remove |
| an extraneous call to WI.Cookie.parseSameSiteAttributeValue() as cookie.SameSite represents |
| the already parsed value (one of the WI.Cookie.SameSiteType-scoped values). |
| |
| 2018-06-18 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: TypeError: Array.prototype.sort passed bad value in NetworkTableContentView _updateSortAndFilteredEntries |
| https://bugs.webkit.org/show_bug.cgi?id=186787 |
| <rdar://problem/41175680> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Views/NetworkTableContentView.js: |
| (WI.NetworkTableContentView.prototype._updateSortAndFilteredEntries): |
| |
| 2018-06-13 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: open source Dark Mode |
| https://bugs.webkit.org/show_bug.cgi?id=186606 |
| |
| Reviewed by Timothy Hatcher. |
| |
| The dark mode is currently only available on macOS Mojave via prefers-dark-interface CSS media query. |
| |
| * UserInterface/Main.html: |
| * UserInterface/Views/DarkMode.css: Added. |
| (@media (prefers-dark-interface)): |
| (:root): |
| (body.window-inactive): |
| (body.window-inactive *): |
| (#main): |
| (.tree-outline.dom li.selected .selection-area): |
| (.tab-bar > .item > .icon): |
| (.go-to-arrow): |
| (.resource-link,): |
| (.expand-list-button): |
| (:matches(img, canvas).show-grid): |
| (.formatted-object,): |
| (.formatted-null,): |
| (.editing): |
| (.editing, .editing *): |
| (.text-editor > .CodeMirror .execution-line): |
| (.text-editor > .CodeMirror .execution-range-highlight:not(.CodeMirror-selectedtext),): |
| (.details-section > .header): |
| (.details-section > .header > label): |
| (.details-section .details-section,): |
| (.details-section .details-section:not(.collapsed) > .header): |
| (.details-section > .content > .group > .row.simple > .label): |
| (.details-section > .content > .group:nth-child(even)): |
| (.details-section > .content > .group > .row:matches(.empty, .text)): |
| (.data-grid th): |
| (.data-grid td .subtitle): |
| (.data-grid:matches(:focus, .force-focus) tr.selected td .subtitle): |
| (body:not(.window-inactive, .window-docked-inactive) .data-grid:matches(:focus, .force-focus) tr.editable.selected .cell-content > input): |
| (.data-grid tr.editable .cell-content > input): |
| (.data-grid td.spanning): |
| (.object-tree,): |
| (.object-preview .name): |
| (.object-preview > .size): |
| (.tab-bar): |
| (.tab-bar > .item): |
| (.tab-bar > .item > .title): |
| (.tab-bar > .item:not(.disabled).selected): |
| (.tab-bar:not(.animating) > .item:not(.selected):hover): |
| (.tab-bar > .item > .close): |
| (body.window-inactive .tab-bar): |
| (body.window-inactive .tab-bar > .item): |
| (body.window-inactive .tab-bar > .item.selected): |
| (body.window-inactive .tab-bar > .item > .title): |
| (body .toolbar): |
| (body.window-inactive .toolbar): |
| (body.latest-mac .toolbar .item.button,): |
| (body.latest-mac .toolbar .search-bar > input[type="search"]): |
| (body.latest-mac .toolbar .search-bar > input[type="search"]:focus): |
| (body.latest-mac .toolbar .search-bar > input[type="search"]::placeholder): |
| (body.latest-mac.window-inactive .toolbar .search-bar > input[type="search"]::placeholder): |
| (body.latest-mac.window-inactive .toolbar .search-bar > input[type="search"]::-webkit-search-results-button): |
| (body.latest-mac .toolbar .dashboard-container): |
| (body.latest-mac .toolbar .item.button:active): |
| (body.latest-mac.window-inactive .toolbar .item.button,): |
| (.navigation-bar .item.divider): |
| (.toolbar .item.button): |
| (.toolbar .item.button:not(.disabled):active): |
| (.toolbar .item.button:not(.disabled):matches(:focus, .activate.activated)): |
| (.toolbar .item.button:not(.disabled):active:matches(:focus, .activate.activated)): |
| (.toolbar .dashboard.default > .item > div): |
| (.toolbar .dashboard.default > .item.enabled > div): |
| (.toolbar .dashboard.default > .item.enabled:hover): |
| (.toolbar .dashboard.default > .item.enabled:hover > div): |
| (.toolbar .dashboard.default > .resourcesCount > img,): |
| (body.latest-mac .toolbar .dashboard .item.button): |
| (.dashboard-container .advance-arrow): |
| (.toolbar .dashboard.debugger): |
| (.dashboard.debugger .navigation-bar .item.button > .glyph): |
| (.dashboard.debugger > .location .function-name): |
| (.dashboard.debugger > .location .go-to-link): |
| (.dashboard.debugger > .divider): |
| (.popover .edit-breakpoint-popover-content > label.toggle): |
| (.popover .edit-breakpoint-popover-content > table > tr > th): |
| (.breakpoint-action-block-body): |
| (.breakpoint-action-block-body > .description): |
| (.breakpoint-action-append-button,): |
| (.popover .xhr-breakpoint-content > .editor-wrapper > .editor): |
| (.navigation-bar .item.button): |
| (.spreadsheet-style-declaration-editor .property:not(.disabled) .value): |
| (.spreadsheet-css-declaration): |
| (.spreadsheet-css-declaration .selector:focus,): |
| (.spreadsheet-css-declaration.locked .origin::after): |
| (.spreadsheet-css-declaration .origin .go-to-link,): |
| (.spreadsheet-style-declaration-editor :matches(.name, .value).editing): |
| (.spreadsheet-style-declaration-editor .property.has-warning): |
| (.spreadsheet-style-declaration-editor .property.has-warning .warning): |
| (.spreadsheet-css-declaration .media-label): |
| (.quick-console): |
| (.syntax-highlighted,): |
| (.cm-s-default,): |
| (.CodeMirror .jump-to-symbol-highlight,): |
| (.console-prompt): |
| (.completion-suggestions): |
| (.completion-suggestions-container > .item): |
| (.CodeMirror-cursor): |
| (.CodeMirror .CodeMirror-gutters): |
| (.cm-s-default .cm-link): |
| (.cm-s-default .cm-m-xml.cm-attribute,): |
| (.cm-s-default .cm-meta): |
| (.cm-s-default .cm-variable-3): |
| (.cm-s-default .cm-builtin): |
| (.tree-outline .item .subtitle): |
| (.object-tree-property .getter,): |
| (.item.object-tree-property.prototype-property): |
| (.object-tree-property.prototype-property:hover,): |
| (.object-tree-property .value.error): |
| (.tree-outline.dom): |
| (.tree-outline.dom li.selected + ol.children.expanded): |
| (.tree-outline.dom .shadow): |
| (.tree-outline.dom li.parent.shadow + ol.children.expanded,): |
| (.showing-find-banner .tree-outline.dom .search-highlight): |
| (.sidebar > .panel.dom-node-details .details-section.dom-node-event-listeners > .header > .filter:hover): |
| (.sidebar > .panel.details.css-style > .content > .pseudo-classes > .group > label): |
| (.spreadsheet-css-declaration.locked): |
| (.spreadsheet-css-declaration .selector.style-attribute): |
| (.spreadsheet-style-declaration-editor .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) .content > *): |
| (.inline-swatch): |
| (.spreadsheet-style-panel .section-header): |
| (.spreadsheet-style-panel .section-header .node-link:hover): |
| (.computed-style-properties.details-section): |
| (.details-section.style-box-model:not(.collapsed) > :matches(.header, .content)): |
| (.table,): |
| (.table > .header > .sortable:active): |
| (.table > .header > :matches(.sort-ascending, .sort-descending)): |
| (.table > .header > :matches(.sort-ascending, .sort-descending)::after): |
| (.scope-bar > li): |
| (.timeline-overview > .navigation-bar.timelines): |
| (.timeline-overview:not(.frames) > .graphs-container > .timeline-overview-graph:nth-child(even)): |
| (.timeline-overview.edit-instruments > .tree-outline.timelines .item:not(:first-child),): |
| (.time-icon .icon): |
| (.data-grid th:matches(.sort-ascending, .sort-descending)): |
| (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple): |
| (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple .arrows): |
| (.content-view.settings .navigation-bar): |
| (.content-view.settings .navigation-bar .item.radio.button.text-only.selected): |
| (.new-tab.tab.content-view): |
| (.filter-bar > input[type="search"]): |
| (.filter-bar > input[type="search"]::placeholder): |
| (.filter-bar > input[type="search"]:focus): |
| (.content-view.resource.image): |
| (.console-messages): |
| (.console-item): |
| (.console-messages:focus .console-item.selected): |
| (.console-messages:focus .console-item.selected + .console-item): |
| (.console-session:first-of-type .console-session-header): |
| (.console-session:not(:first-of-type) .console-session-header): |
| (.console-messages a): |
| (.console-messages a:hover): |
| (.console-messages:focus .console-item.selected::after): |
| (.console-error-level): |
| (.console-error-level:not(.filtered-out, .filtered-out-by-search), .console-error-level:not(.filtered-out, .filtered-out-by-search) + .console-item): |
| (.console-warning-level): |
| (.console-warning-level:not(.filtered-out, .filtered-out-by-search), .console-warning-level:not(.filtered-out, .filtered-out-by-search) + .console-item): |
| (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted): |
| (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted.selected): |
| (.source-code.text-editor > .CodeMirror .error): |
| (.source-code.text-editor > .CodeMirror .warning): |
| (.source-code.text-editor > .CodeMirror .issue-widget): |
| (.source-code.text-editor > .CodeMirror .issue-widget.inline.warning): |
| (.source-code.text-editor > .CodeMirror .issue-widget.inline.warning > .arrow): |
| (.source-code.text-editor > .CodeMirror .issue-widget.inline.error): |
| (.source-code.text-editor > .CodeMirror .issue-widget.inline.error > .arrow): |
| (.console-message .syntax-highlighted): |
| (.console-warning-level .console-message-text): |
| (.console-error-level .console-message-text): |
| (.console-user-command > .console-message-text): |
| (.console-message .repeat-count): |
| (.call-frame .subtitle,): |
| (.call-frame:hover .subtitle .source-link,): |
| (.call-frame .separator): |
| (.quick-console.showing-log): |
| (.find-banner.console-find-banner > input[type=search]:not(:placeholder-shown)): |
| (.network-resource-detail): |
| (.network-resource-detail .item.close > .glyph): |
| (.network .network-resource-detail .navigation-bar .item.radio.button.text-only.selected): |
| (.resource-headers .value): |
| (.network-table .cell.domain > .lock): |
| (.resource-sizes > .content .label): |
| (.popover.waterfall-popover): |
| (.resource-timing-breakdown > table > tr.header:not(.total-row) > td): |
| (.resource-timing-breakdown > table > tr > td.label,): |
| (.resource-timing-breakdown > table hr): |
| (.sidebar > .panel.details.css-style > .content ~ .options-container > .new-rule): |
| (.content-view.tab.canvas .navigation-bar > .item .canvas-overview .icon): |
| (.web-socket.content-view .data-grid table.data tr.revealed): |
| (.web-socket.content-view .data-grid.variable-height-rows table.data tr.outgoing): |
| (.web-socket.content-view .data-grid.variable-height-rows table.data tr.non-text-frame): |
| (.item.action:not(.initial-state)::before): |
| (.tree-outline .item.action.visual:not(.selected, .invalid)): |
| (.item.action:not(.initial-state) > .icon): |
| (.tree-outline:not(.hide-disclosure-buttons) .item.action:not(.initial-state, .parent) > .icon): |
| (.content-view.tab.canvas .navigation-bar > .item .canvas-overview .icon,): |
| (.content-view.canvas > .preview > img,): |
| (.content-view.canvas-overview): |
| (.content-view.canvas-overview .content-view.canvas): |
| (.content-view.canvas-overview .content-view.canvas.is-recording): |
| (.content-view.canvas-overview .content-view.canvas.is-recording > header): |
| (.content-view.canvas-overview .content-view.canvas > header > .titles > .title): |
| (.content-view.canvas-overview .content-view.canvas > header > .titles > .subtitle,): |
| (.content-view.canvas-overview .content-view.canvas > footer > .recordings::before): |
| (.content-view.canvas-overview .content-view.canvas.is-recording > header > .titles > .subtitle): |
| (.content-view.canvas:not(.tab)): |
| (.content-view:not(.tab).recording): |
| (.content-view:not(.tab).recording > header > .slider-container): |
| (.content-view:not(.tab).recording > header > .slider-container > input[type=range]): |
| (.sidebar > .panel.details.recording-state > .content > .data-grid tr.modified): |
| (.progress-view > .titles > .title): |
| (.progress-view > .titles > .subtitle): |
| (.indeterminate-progress-spinner): |
| (.content-view.shader-program > .text-editor.shader): |
| (.content-view.shader-program > .text-editor.shader > .type-title): |
| (.item.shader-program .status > img): |
| (.open-resource-dialog): |
| (.open-resource-dialog > .field > input): |
| (.open-resource-dialog > .field > input::placeholder): |
| (.open-resource-dialog > .tree-outline .item.selected): |
| (.open-resource-dialog > .field::before): |
| |
| 2018-06-09 Dan Bernstein <mitz@apple.com> |
| |
| [Xcode] Clean up and modernize some build setting definitions |
| https://bugs.webkit.org/show_bug.cgi?id=186463 |
| |
| Reviewed by Sam Weinig. |
| |
| * Configurations/Base.xcconfig: Removed definition for macOS 10.11. |
| * Configurations/DebugRelease.xcconfig: Ditto. |
| * Configurations/Version.xcconfig: Ditto. |
| |
| 2018-06-05 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Tab picker is briefly visible when TabBar initially shown |
| https://bugs.webkit.org/show_bug.cgi?id=186317 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Views/TabBar.js: |
| (WI.TabBar): Picker should be initially hidden. |
| |
| 2018-06-05 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Text in "Add New Class" in auto-capitalizes |
| https://bugs.webkit.org/show_bug.cgi?id=186311 |
| |
| Reviewed by Matt Baker. |
| |
| Disable spellcheck to prevent auto-capitalization. |
| |
| * UserInterface/Views/GeneralStyleDetailsSidebarPanel.js: |
| (WI.GeneralStyleDetailsSidebarPanel.prototype.initialLayout): |
| |
| 2018-06-04 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Cannot copy a link address in Elements tab |
| https://bugs.webkit.org/show_bug.cgi?id=186281 |
| <rdar://problem/39193355> |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Views/ContextMenuUtilities.js: |
| (WI.appendContextMenuItemsForURL): |
| |
| 2018-05-30 Daniel Bates <dabates@apple.com> |
| |
| Web Inspector: Annotate Same-Site cookies |
| https://bugs.webkit.org/show_bug.cgi?id=184897 |
| <rdar://problem/35178209> |
| |
| Reviewed by Brian Burg. |
| |
| Add a new column for the value of the Same-Site cookie attribute to the resource cookie content |
| view (shown for a resource under the Network tab) and cookie storage content view (shown under |
| the Storage tab). |
| |
| The SameSite column in the resource cookie content view reflects the parsing of the Same-Site |
| attribute from the HTTP response by Web Inspector. This parsing is materially consistent with |
| the parsing of the SameSite atttribute in CFNetwork. The Same-Site column in the cookie storage |
| content view reflects the Same-Site cookie policy associated with the cookies provided by the |
| network stack, if supported. This column will be blank on systems whose network stack does not |
| support Same-Site cookies (e.g libsoup). |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Controllers/HARBuilder.js: |
| (WI.HARBuilder.cookies): |
| * UserInterface/Models/Cookie.js: |
| (WI.Cookie): |
| (WI.Cookie.displayNameForSameSiteType): |
| (WI.Cookie.parseSameSiteAttributeValue): |
| (WI.Cookie.parseSetCookieResponseHeader): |
| * UserInterface/Views/CookieStorageContentView.js: |
| (WI.CookieStorageContentView.prototype._rebuildTable): |
| (WI.CookieStorageContentView.prototype._sortDataGrid): |
| * UserInterface/Views/ResourceCookiesContentView.js: |
| (WI.ResourceCookiesContentView.prototype.tablePopulateCell): |
| (WI.ResourceCookiesContentView.prototype._generateSortComparator): |
| (WI.ResourceCookiesContentView.prototype._refreshResponseCookiesSection): |
| |
| 2018-05-25 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Popover dismissed while attempting to move cursor inside |
| https://bugs.webkit.org/show_bug.cgi?id=185741 |
| <rdar://problem/40340938> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Hovering a token within the bounds of the current popover should not |
| show a new popover. This prevents the popover from being dismissed when |
| the cursor passes over a token under the transparent portion of the |
| popover frame. |
| |
| * UserInterface/Views/SourceCodeTextEditor.js: |
| (WI.SourceCodeTextEditor.prototype._showPopover): |
| |
| 2018-05-22 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r232052. |
| |
| Breaks internal builds. |
| |
| Reverted changeset: |
| |
| "Use more C++17" |
| https://bugs.webkit.org/show_bug.cgi?id=185176 |
| https://trac.webkit.org/changeset/232052 |
| |
| 2018-05-21 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Use more C++17 |
| https://bugs.webkit.org/show_bug.cgi?id=185176 |
| |
| Reviewed by JF Bastien. |
| |
| * Configurations/Base.xcconfig: |
| |
| 2018-05-18 Devin Rousso <webkit@devinrousso.com> |
| |
| Web Inspector: Canvas: put `hasVisualEffect` behind an experimental setting |
| https://bugs.webkit.org/show_bug.cgi?id=185758 |
| |
| Reviewed by Matt Baker. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| * UserInterface/Base/Setting.js: |
| |
| * UserInterface/Models/RecordingAction.js: |
| (WI.RecordingAction.prototype.process): |
| |
| * UserInterface/Views/RecordingActionTreeElement.js: |
| (WI.RecordingActionTreeElement.prototype.onattach): |
| |
| * UserInterface/Views/SettingsTabContentView.js: |
| (WI.SettingsTabContentView.prototype._createExperimentalSettingsView): |
| |
| 2018-05-16 Devin Rousso <webkit@devinrousso.com> |
| |
| Web Inspector: create a navigation item for toggling the overlay rulers/guides |
| https://bugs.webkit.org/show_bug.cgi?id=185644 |
| |
| Reviewed by Matt Baker. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Base/Setting.js: |
| * UserInterface/Views/DOMTreeContentView.js: |
| (WI.DOMTreeContentView): |
| (WI.DOMTreeContentView.prototype.get navigationItems): |
| (WI.DOMTreeContentView.prototype.closed): |
| (WI.DOMTreeContentView.prototype._showRulersChanged): Added. |
| (WI.DOMTreeContentView.prototype._toggleShowRulers): Added. |
| |
| 2018-05-14 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Canvas: Remove unused --value-visual-highlight CSS variable |
| https://bugs.webkit.org/show_bug.cgi?id=185636 |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/Variables.css: |
| (:root): |
| |
| 2018-05-14 Devin Rousso <webkit@devinrousso.com> |
| |
| Web Inspector: Canvas tab: don't automatically select a recording when viewing a canvas |
| https://bugs.webkit.org/show_bug.cgi?id=182950 |
| |
| Reviewed by Matt Baker. |
| |
| * UserInterface/Views/CanvasSidebarPanel.js: |
| (WI.CanvasSidebarPanel): |
| (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange): |
| (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange): |
| (WI.CanvasSidebarPanel.prototype._canvasChanged): |
| (WI.CanvasSidebarPanel.prototype._recordingChanged): |
| (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar): |
| Add a "dummy" ScopeBarItem to the recording ScopeBar that is selected whenever a TreeElement |
| that doesn't correspond to a Recording is selected. This way, the Recording ScopeBar will |
| become deselected, and the list of actions will disappear. Clicking on the Recording ScopeBar |
| will show the previously selected Recording. |
| |
| 2018-05-08 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Console drawer resizing is broken when console prompt has >1 line of code |
| https://bugs.webkit.org/show_bug.cgi?id=185369 |
| <rdar://problem/40013202> |
| |
| Reviewed by Devin Rousso. |
| |
| Mouse offset calculation should account for the height of the quick console. |
| The only reason resizing worked with the single-line quick console is that |
| the offset calculation included the resizer height, which is very close |
| to that of the single-line quick console (27px and 30px respectively). |
| |
| * UserInterface/Views/ConsoleDrawer.js: |
| |
| 2018-05-04 Devin Rousso <webkit@devinrousso.com> |
| |
| Web Inspector: simplify the WI.Collection interface |
| https://bugs.webkit.org/show_bug.cgi?id=185187 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Models/Collection.js: |
| (WI.Collection.prototype.get size): Added. |
| (WI.Collection.prototype.has): Added. |
| (WI.Collection.prototype.toJSON): |
| (WI.Collection.prototype.[Symbol.iterator]): Added. |
| (WI.Collection.prototype.get items): Deleted. |
| (WI.Collection.prototype.toArray): Deleted. |
| |
| * UserInterface/Controllers/CanvasManager.js: |
| (WI.CanvasManager.prototype._removeCanvas): |
| * UserInterface/Controllers/DOMDebuggerManager.js: |
| (WebInspector.DOMDebuggerManager.prototype.get domBreakpoints): |
| * UserInterface/Models/Frame.js: |
| (WI.Frame.prototype.removeAllChildFrames): |
| (WI.Frame.prototype.resourceForURL): |
| (WI.Frame.prototype.removeAllResources): |
| * UserInterface/Models/Script.js: |
| (WI.Script): |
| * UserInterface/Views/CanvasContentView.js: |
| (WI.CanvasContentView.prototype.initialLayout): |
| * UserInterface/Views/CanvasOverviewContentView.js: |
| (WI.CanvasOverviewContentView.prototype._updateNavigationItems): |
| * UserInterface/Views/CanvasSidebarPanel.js: |
| (WI.CanvasSidebarPanel.prototype._recordingRemoved): |
| (WI.CanvasSidebarPanel.prototype._canvasChanged): |
| (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar): |
| * UserInterface/Views/CanvasTabContentView.js: |
| (WI.CanvasTabContentView.prototype.attached): |
| (WI.CanvasTabContentView.prototype._addCanvas): |
| (WI.CanvasTabContentView.prototype._removeCanvas): |
| * UserInterface/Views/CanvasTreeElement.js: |
| (WI.CanvasTreeElement.prototype.onpopulate): |
| * UserInterface/Views/CollectionContentView.js: |
| (WI.CollectionContentView.prototype.initialLayout): |
| (WI.CollectionContentView.prototype.attached): |
| * UserInterface/Views/CookieStorageContentView.js: |
| (WI.CookieStorageContentView.prototype._filterCookies): |
| * UserInterface/Views/DebuggerSidebarPanel.js: |
| (WI.DebuggerSidebarPanel.prototype._addResourcesRecursivelyForFrame): |
| * UserInterface/Views/FolderizedTreeElement.js: |
| (WI.FolderizedTreeElement.prototype.updateParentStatus): |
| (WI.FolderizedTreeElement.prototype._shouldGroupIntoFolders): |
| * UserInterface/Views/FrameTreeElement.js: |
| (WI.FrameTreeElement.prototype.onpopulate): |
| * UserInterface/Views/NavigationSidebarPanel.js: |
| (WI.NavigationSidebarPanel.prototype.get contentTreeOutlines): |
| * UserInterface/Views/NetworkTableContentView.js: |
| (WI.NetworkTableContentView.prototype._populateWithInitialResourcesIfNeeded): |
| * UserInterface/Views/OpenResourceDialog.js: |
| (WI.OpenResourceDialog.prototype._addResourcesForFrame): |
| (WI.OpenResourceDialog.prototype._addResourcesForTarget): |
| * UserInterface/Views/TreeOutlineGroup.js: |
| (WI.TreeOutlineGroup.prototype.get selectedTreeElement): |
| (WI.TreeOutlineGroup.prototype._removeConflictingTreeSelections): |
| * UserInterface/Views/WorkerTreeElement.js: |
| (WI.WorkerTreeElement.prototype.onpopulate): |
| |
| 2018-05-04 Nikita Vasilyev <nvasilyev@apple.com> |
| |
| Web Inspector: Styles: Newly added unsupported properties sometimes don't have warnings |
| https://bugs.webkit.org/show_bug.cgi?id=183097 |
| <rdar://problem/37843816> |
| |
| Reviewed by Matt Baker. |
| |
| Update status of properties warnings every time focus moves. |
| |
| * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js: |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyFocusMoved): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesChanged): |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._updatePropertiesStatus): |
| * UserInterface/Views/SpreadsheetStyleProperty.js: |
| (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidBlur): |
| |
| 2018-05-04 Devin Rousso <webkit@devinrousso.com> |
| |
| Web Inspector: Styles Redesign: ensure that tabbing through the last section wraps back to the first |
| https://bugs.webkit.org/show_bug.cgi?id=181973 |
| |
| Reviewed by Matt Baker. |
| |
| Unified delegate functions to start editing previous/next rules into a single function for |
| simplicity. |
| |
| * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js: |
| (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetCSSStyleDeclarationEditorFocusMoved): |
| |
| * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js: |
| (WI.SpreadsheetCSSStyleDeclarationSection.prototype.startEditingRuleSelector): |
| (WI.SpreadsheetCSSStyleDeclarationSection.prototype.spreadsheetSelectorFieldDidChange): |
| (WI.SpreadsheetCSSStyleDeclarationSection.prototype.spreadsheetCSSStyleDeclarationEditorStartEditingAdjacentRule): |
| (WI.SpreadsheetCSSStyleDeclarationSection.prototype.cssStyleDeclarationEditorStartEditingAdjacentRule): Deleted. |
| |
| * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js: |
| (WI.SpreadsheetRulesStyleDetailsPanel.prototype.focusFirstSection): |
| (WI.SpreadsheetRulesStyleDetailsPanel.prototype.focusLastSection): |
| (WI.SpreadsheetRulesStyleDetailsPanel.prototype.spreadsheetCSSStyleDeclarationSectionStartEditingAdjacentRule): |
| (WI.SpreadsheetRulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionStartEditingNextRule): Deleted. |
| (WI.SpreadsheetRulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionStartEditingPreviousRule): Deleted. |
| |
| * UserInterface/Views/GeneralStyleDetailsSidebarPanel.js: |
| (WI.GeneralStyleDetailsSidebarPanel.prototype.styleDetailsPanelFocusLastPseudoClassCheckbox): |
| (WI.GeneralStyleDetailsSidebarPanel.prototype.styleDetailsPanelFocusFilterBar): |
| (WI.GeneralStyleDetailsSidebarPanel.prototype.initialLayout): |
| (WI.GeneralStyleDetailsSidebarPanel.prototype._handleForcedPseudoClassCheckboxKeydown): |
| (WI.GeneralStyleDetailsSidebarPanel.prototype._forcedPseudoClassCheckboxChanged): |
| (WI.GeneralStyleDetailsSidebarPanel.prototype._handleFilterBarInputFieldKeyDown): |
| |
| Drive-by fix: provide tabbing support for the Computed styles panel. |
| |
| * UserInterface/Views/CSSStyleDeclarationTextEditor.js: |
| (WI.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey.switchRule): |
| (WI.CSSStyleDeclarationTextEditor.prototype._handleTabKey.switchRule): |
| |
| * UserInterface/Views/ComputedStyleDetailsPanel.js: |
| (WI.ComputedStyleDetailsPanel.prototype.focusFirstSection): |
| (WI.ComputedStyleDetailsPanel.prototype.focusLastSection): |
| (WI.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorStartEditingAdjacentRule): |
| |
| 2018-05-04 Devin Rousso <webkit@devinrousso.com> |
| |
| Web Inspector: Canvas tab: Determine isFunction by looking at the prototype |
| https://bugs.webkit.org/show_bug.cgi?id=184990 |
| |
| Reviewed by Brian Burg. |
| |
| * UserInterface/Models/RecordingAction.js: |
| (WI.RecordingAction.isFunctionForType): |
| (WI.RecordingAction._prototypeForType): |
| (WI.RecordingAction.prototype.async.swizzle): |
| |
| 2018-05-01 Devin Rousso <webkit@devinrousso.com> |
| |
| Web Inspector: Canvas tab: determine hasVisibleEffect for all actions immediately after recording is added |
| https://bugs.webkit.org/show_bug.cgi?id=182995 |
| |
| Reviewed by Matt Baker. |
| |
| Previously, we'd swizzle the entirety of the `WI.Recording` in one, which would usually |
| freeze the UI, especially for larger recordings. This patch uses `WI.YieldableTask` to split |
| the work and allow the rest of the UI to still be usable while `WI.Recording` are processing. |
| Additionally, since we no longer have to worry about hangs, we can do more work upfront, |
| such as calculating `hasVisibleEffect` and the current state of 2D canvases. |
| |
| These changes require that all uses of `WI.Recording` call `process()` before attempting to |
| use any `frames`/`actions`/`initialState`, as they will have their original payload values |
| and will have not been swizzled or applied. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| * UserInterface/Models/Recording.js: |
| (WI.Recording): |
| (WI.Recording.prototype.process): |
| (WI.Recording.prototype.createContext): Added. |
| (WI.Recording.prototype.async yieldableTaskWillProcessItem): Added. |
| (WI.Recording.prototype.async yieldableTaskDidFinish): Added. |
| |
| * UserInterface/Models/RecordingAction.js: |
| (WI.RecordingAction): |
| (WI.RecordingAction.prototype.process): Added. |
| (WI.RecordingAction.prototype.async swizzle): Added. |
| (WI.RecordingAction.prototype.apply): |
| (WI.RecordingAction.prototype.toJSON): |
| (WI.RecordingAction.prototype.set state): Deleted. |
| (WI.RecordingAction.prototype.swizzle): Deleted. |
| (WI.RecordingAction.prototype.apply.getContent): Deleted. |
| (WI.RecordingAction.prototype.async _swizzle): Deleted. |
| * UserInterface/Models/RecordingInitialStateAction.js: |
| (WI.RecordingInitialStateAction): |
| |
| * UserInterface/Views/CanvasSidebarPanel.js: |
| (WI.CanvasSidebarPanel): |
| (WI.CanvasSidebarPanel.prototype.set action): |
| (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange): |
| (WI.CanvasSidebarPanel.prototype._recordingChanged): |
| |
| * UserInterface/Views/CanvasSidebarPanel.css: |
| (.sidebar > .panel.navigation.canvas > .content > .recording-content > .indeterminate-progress-spinner): |
| |
| * UserInterface/Views/RecordingActionTreeElement.js: |
| (WI.RecordingActionTreeElement): |
| (WI.RecordingActionTreeElement.prototype.onattach): |
| (WI.RecordingActionTreeElement.prototype._handleHasVisibleEffectChanged): Deleted. |
| |
| * UserInterface/Views/RecordingContentView.js: |
| (WI.RecordingContentView): |
| (WI.RecordingContentView.prototype.get navigationItems): |
| (WI.RecordingContentView.prototype.updateActionIndex): |
| (WI.RecordingContentView.prototype.initialLayout): |
| (WI.RecordingContentView.prototype._generateContentCanvas2D): Added. |
| (WI.RecordingContentView.prototype._generateContentCanvasWebGL): Added. |
| (WI.RecordingContentView.prototype._updateCanvasPath): |
| (WI.RecordingContentView.prototype._updateProcessProgress): Added. |
| (WI.RecordingContentView.prototype._handleRecordingProcessedActionSwizzle): Added. |
| (WI.RecordingContentView.prototype._handleRecordingProcessedActionApply): Added. |
| (WI.RecordingContentView.supportsCanvasPathDebugging): Deleted. |
| (WI.RecordingContentView.prototype.async _generateContentCanvas2D): Deleted. |
| (WI.RecordingContentView.prototype.async _generateContentCanvasWebGL): Deleted. |
| |
| * UserInterface/Views/RecordingContentView.css: |
| (.content-view:not(.tab).recording > .preview-container): |
| |
| * UserInterface/Base/ImageUtilities.js: |
| (WI.ImageUtilities.supportsCanvasPathDebugging): |
| |
| 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 == |