| 2013-06-10 Timothy Hatcher <timothy@apple.com> |
| |
| Remove Xcode 4 skin and only have the Xcode 5 look. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ButtonNavigationItem.css: |
| (.navigation-bar .item.button.suppress-emboss.disabled > .glyph): |
| * UserInterface/CodeMirrorOverrides.css: |
| * UserInterface/DashboardView.css: |
| (.toolbar .dashboard): |
| (body.window-inactive .toolbar .dashboard): |
| (.toolbar.collapsed .dashboard): |
| (.toolbar.collapsed .dashboard > .logs): |
| * UserInterface/DashboardView.js: |
| (WebInspector.DashboardView): |
| (WebInspector.DashboardView.prototype._setItemEnabled): |
| * UserInterface/DetailsSection.css: |
| * UserInterface/DividerNavigationItem.css: |
| (.navigation-bar .item.divider): |
| * UserInterface/FilterBar.css: |
| (.filter-bar > input[type="search"]): |
| (.filter-bar > input[type="search"]::-webkit-input-placeholder): |
| (.filter-bar > input[type="search"]:valid): |
| * UserInterface/FindBanner.css: |
| (.find-banner > input[type="search"]): |
| (.find-banner > button): |
| * UserInterface/HierarchicalPathComponent.css: |
| * UserInterface/InstrumentSidebarPanel.css: |
| * UserInterface/LayerTreeSidebarPanel.css: |
| * UserInterface/Main.css: |
| (#split-content-browser > .navigation-bar): |
| * UserInterface/NavigationBar.css: |
| * UserInterface/NavigationSidebarPanel.css: |
| * UserInterface/RadioButtonNavigationItem.css: |
| (.navigation-bar .item.radio.button.text-only.selected): |
| * UserInterface/ResourceSidebarPanel.css: |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject): |
| * UserInterface/ScopeBar.css: |
| (.scope-bar > li): |
| (.scope-bar > li:active): |
| (.scope-bar > li:hover): |
| (.scope-bar > li.selected): |
| * UserInterface/SearchBar.css: |
| (.search-bar > input[type="search"]): |
| (.search-bar > input[type="search"]::-webkit-input-placeholder): |
| (.search-bar > input[type="search"]:valid): |
| * UserInterface/TimelinesContentView.css: |
| (.content-view.timelines > .data-grid > .navigation-bar-container > .navigation-bar): |
| |
| 2013-06-08 Timothy Hatcher <timothy@apple.com> |
| |
| Improve switching from the full view console to the Resource sidebar, so the previous resource is shown in the content browser again. |
| |
| Also cleans up my earlier changes and removes an assert that can fire often now. |
| |
| <rdar://problem/14075352> Jumping to a resource from the Timelines panel should reveal file in Resources sidebar when showing resource |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/Main.js: |
| (WebInspector.showFullHeightConsole): |
| (WebInspector._sidebarCollapsedStateDidChange): Call _updateNavigationSidebarForCurrentContentView for the navigation sidebar. |
| (WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar): Only do this work if the sidebar is not collapsed. We don't |
| want to deselect items if the sidebar is collapsed, preserving the selection is important when showing the sidebar later. |
| (WebInspector._updateNavigationSidebarForCurrentContentView): Added. Split off from _navigationSidebarPanelSelected. Only do this work |
| if the sidebar is not collapsed. |
| (WebInspector._navigationSidebarPanelSelected): Call _updateNavigationSidebarForCurrentContentView. |
| (WebInspector._contentBrowserCurrentContentViewDidChange): Clean up by returning early if there is no current content view. |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject): Remove an assert that can happen a lot now. |
| |
| 2013-06-07 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/14094308> Styles should come before Layers details sidebar |
| |
| Switch Layers and Styles. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel): |
| * UserInterface/LayerTreeSidebarPanel.js: |
| (WebInspector.LayerTreeSidebarPanel): |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| |
| 2013-06-07 Timothy Hatcher <timothy@apple.com> |
| |
| Keep the selected tree element in sync with the current content view. |
| |
| <rdar://problem/14075352> Jumping to a resource from the Timelines panel should reveal file in Resources sidebar when showing resource |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/Main.js: |
| (WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar): Added. |
| (WebInspector._navigationSidebarPanelSelected): Call _revealAndSelectRepresentedObjectInNavigationSidebar. |
| (WebInspector._contentBrowserCurrentContentViewDidChange): Ditto. |
| |
| 2013-06-07 Timothy Hatcher <timothy@apple.com> |
| |
| Keep the navigation sidebar and the current content view in sync with a set of allowed sidebars per content view. |
| |
| <rdar://problem/14075352> Jumping to a resource from the Timelines panel should reveal file in Resources sidebar when showing resource |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/ContentView.js: |
| (WebInspector.ContentView.prototype.get allowedNavigationSidebarPanels): Added. |
| * UserInterface/FrameContentView.js: |
| (WebInspector.FrameContentView.prototype.get allowedNavigationSidebarPanels): Added. |
| * UserInterface/Main.js: |
| (WebInspector.showSplitConsole): Show the navigation sidebar if it was showing. |
| (WebInspector.showFullHeightConsole): Hide the navigation sidebar and remember if it was showing. |
| (WebInspector.toggleConsoleView): Show the sidebar if it was showing. |
| (WebInspector._navigationSidebarPanelSelected): Ensure the navigation sidebar panel is allowed by the current content view. |
| (WebInspector._contentBrowserCurrentContentViewDidChange): Ditto. |
| * UserInterface/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel.prototype.showContentViewForCurrentSelection): |
| (WebInspector.NavigationSidebarPanel.prototype.shown): |
| * UserInterface/ProfileView.js: |
| (WebInspector.ProfileView.prototype.get allowedNavigationSidebarPanels): Added. |
| * UserInterface/ResourceClusterContentView.js: |
| (WebInspector.ResourceClusterContentView.prototype.get allowedNavigationSidebarPanels): Added. |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView.prototype.get allowedNavigationSidebarPanels): Added. |
| |
| 2013-06-06 Timothy Hatcher <timothy@apple.com> |
| |
| Properly filter into resources with a source map if they haven't been expanded yet. |
| |
| <rdar://problem/14072548> Resources filter shows "No Filter Results" after reload with SourceMaps |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged): Pass false to |
| traverseNextTreeElement to cause the tree elements to be populated. This matches the interactive |
| case when typing into the filter bar, which already worked with source maps. |
| |
| 2013-06-05 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/14077407> Jumping to an error in a JS file form the console highlights to white first before going back to red |
| |
| Remove the explicit ÒtoÓ color in the CSS animation we use to highlight a link |
| in the text editor as it is revealed, which means the ÒtoÓ color will be the |
| underlying color set on the element. This will animate to red for errors, |
| yellow for warnings, and transparent for regular lines. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TextEditor.css: |
| (@-webkit-keyframes text-editor-highlight-fadeout): |
| |
| 2013-06-05 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/14077152> Activity viewer does not update error count for grouped errors when inspector is closed. |
| |
| Take into account the repeat count of an error when incrementing |
| the message count. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DashboardManager.js: |
| (WebInspector.DashboardManager.prototype._consoleMessageAdded): |
| (WebInspector.DashboardManager.prototype._consoleMessageWasRepeated): |
| (WebInspector.DashboardManager.prototype._incrementConsoleMessageType): |
| |
| 2013-06-05 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/14072409> Pressing Enter/Esc when editing a breakpoint (conditional breakpoint) should dismiss popover |
| |
| Handle Esc and Enter on the <input> to dismiss the popover. |
| This behaves like Xcode's breakpoint condition popover. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Breakpoint.js: |
| (WebInspector.Breakpoint.prototype._popoverConditionInputKeyDown): |
| (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement): |
| (WebInspector.Breakpoint.prototype._showEditBreakpointPopover): |
| |
| 2013-06-05 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/14054886> Pressing Enter in a blank console should do nothing, not insert a newline |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/ConsolePrompt.js: |
| |
| 2013-06-05 Timothy Hatcher <timothy@apple.com> |
| |
| Add/update copyright and license to all the user interface files in |
| preparation for open sourcing to WebKit. |
| |
| Rubber-stamped by Antoine Quint. |
| |
| * UserInterface/ActivateButtonNavigationItem.js: |
| * UserInterface/ActivateButtonToolbarItem.js: |
| * UserInterface/ApplicationCacheDetailsSidebarPanel.js: |
| * UserInterface/ApplicationCacheFrame.js: |
| * UserInterface/ApplicationCacheFrameContentView.css: |
| * UserInterface/ApplicationCacheFrameContentView.js: |
| * UserInterface/ApplicationCacheFrameTreeElement.js: |
| * UserInterface/ApplicationCacheIcons.css: |
| * UserInterface/ApplicationCacheManager.js: |
| * UserInterface/ApplicationCacheManifest.js: |
| * UserInterface/ApplicationCacheManifestTreeElement.js: |
| * UserInterface/ApplicationCacheObserver.js: |
| * UserInterface/BinarySearch.js: |
| * UserInterface/BlankStylePropertiesSection.js: |
| * UserInterface/BottomUpProfileDataGridTree.js: |
| * UserInterface/BoxModelDetailsSectionRow.css: |
| * UserInterface/BoxModelDetailsSectionRow.js: |
| * UserInterface/Branch.js: |
| * UserInterface/BranchManager.js: |
| * UserInterface/Breakpoint.css: |
| * UserInterface/Breakpoint.js: |
| * UserInterface/BreakpointIcons.css: |
| * UserInterface/BreakpointTreeElement.css: |
| * UserInterface/BreakpointTreeElement.js: |
| * UserInterface/ButtonNavigationItem.css: |
| * UserInterface/ButtonNavigationItem.js: |
| * UserInterface/ButtonToolbarItem.css: |
| * UserInterface/ButtonToolbarItem.js: |
| * UserInterface/CSSCompletions.js: |
| * UserInterface/CSSKeywordCompletions.js: |
| * UserInterface/CSSMedia.js: |
| * UserInterface/CSSObserver.js: |
| * UserInterface/CSSProperty.js: |
| * UserInterface/CSSRule.js: |
| * UserInterface/CSSSelectorProfileObject.js: |
| * UserInterface/CSSSelectorProfileType.js: |
| * UserInterface/CSSSelectorProfileView.js: |
| * UserInterface/CSSStyleDeclaration.js: |
| * UserInterface/CSSStyleDeclarationSection.css: |
| * UserInterface/CSSStyleDeclarationSection.js: |
| * UserInterface/CSSStyleDeclarationTextEditor.css: |
| * UserInterface/CSSStyleDeclarationTextEditor.js: |
| * UserInterface/CSSStyleDetailsSidebarPanel.css: |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| * UserInterface/CSSStyleManager.js: |
| * UserInterface/CSSStyleSheet.js: |
| * UserInterface/CallFrame.js: |
| * UserInterface/CallFrameIcons.css: |
| * UserInterface/CallFrameTreeElement.js: |
| * UserInterface/ClusterContentView.css: |
| * UserInterface/ClusterContentView.js: |
| * UserInterface/CodeMirrorAdditions.js: |
| * UserInterface/CodeMirrorCompletionController.css: |
| * UserInterface/CodeMirrorCompletionController.js: |
| * UserInterface/CodeMirrorFormatters.js: |
| * UserInterface/CodeMirrorOverrides.css: |
| * UserInterface/CodeMirrorTokenTrackingController.css: |
| * UserInterface/CodeMirrorTokenTrackingController.js: |
| * UserInterface/Color.js: |
| * UserInterface/CompletionSuggestionsView.css: |
| * UserInterface/CompletionSuggestionsView.js: |
| * UserInterface/ComputedStyleDetailsPanel.js: |
| * UserInterface/ConsoleCommand.js: |
| * UserInterface/ConsoleCommandResult.js: |
| * UserInterface/ConsoleGroup.js: |
| * UserInterface/ConsoleMessage.js: |
| * UserInterface/ConsoleMessageImpl.js: |
| * UserInterface/ConsoleObserver.js: |
| * UserInterface/ConsolePrompt.css: |
| * UserInterface/ConsolePrompt.js: |
| * UserInterface/ContentBrowser.css: |
| * UserInterface/ContentBrowser.js: |
| * UserInterface/ContentView.css: |
| * UserInterface/ContentView.js: |
| * UserInterface/ContentViewContainer.css: |
| * UserInterface/ContentViewContainer.js: |
| * UserInterface/ContextMenu.js: |
| * UserInterface/ControlToolbarItem.css: |
| * UserInterface/ControlToolbarItem.js: |
| * UserInterface/CookieIcon.css: |
| * UserInterface/CookieStorageContentView.css: |
| * UserInterface/CookieStorageContentView.js: |
| * UserInterface/CookieStorageObject.js: |
| * UserInterface/CookieStorageTreeElement.js: |
| * UserInterface/DOMDetailsSidebarPanel.js: |
| * UserInterface/DOMNode.js: |
| * UserInterface/DOMNodeDetailsSidebarPanel.js: |
| * UserInterface/DOMNodeStyles.js: |
| * UserInterface/DOMObserver.js: |
| * UserInterface/DOMSearchMatchObject.js: |
| * UserInterface/DOMStorageContentView.css: |
| * UserInterface/DOMStorageContentView.js: |
| * UserInterface/DOMStorageIcons.css: |
| * UserInterface/DOMStorageObject.js: |
| * UserInterface/DOMStorageObserver.js: |
| * UserInterface/DOMStorageTreeElement.js: |
| * UserInterface/DOMTree.js: |
| * UserInterface/DOMTreeContentView.css: |
| * UserInterface/DOMTreeContentView.js: |
| * UserInterface/DOMTreeElement.js: |
| * UserInterface/DOMTreeElementPathComponent.js: |
| * UserInterface/DOMTreeManager.js: |
| * UserInterface/DOMTreeOutline.css: |
| * UserInterface/DOMTreeOutline.js: |
| * UserInterface/DOMTreeUpdater.js: |
| * UserInterface/DOMUtilities.js: |
| * UserInterface/DashboardManager.js: |
| * UserInterface/DashboardView.css: |
| * UserInterface/DashboardView.js: |
| * UserInterface/DataGrid.css: |
| * UserInterface/DataGrid.js: |
| * UserInterface/DatabaseContentView.css: |
| * UserInterface/DatabaseContentView.js: |
| * UserInterface/DatabaseHostTreeElement.js: |
| * UserInterface/DatabaseIcon.css: |
| * UserInterface/DatabaseObject.js: |
| * UserInterface/DatabaseObserver.js: |
| * UserInterface/DatabaseTableContentView.css: |
| * UserInterface/DatabaseTableContentView.js: |
| * UserInterface/DatabaseTableIcon.css: |
| * UserInterface/DatabaseTableObject.js: |
| * UserInterface/DatabaseTableTreeElement.js: |
| * UserInterface/DatabaseTreeElement.js: |
| * UserInterface/DebuggerManager.js: |
| * UserInterface/DebuggerObserver.js: |
| * UserInterface/DebuggerSidebarPanel.css: |
| * UserInterface/DebuggerSidebarPanel.js: |
| * UserInterface/DetailsSection.css: |
| * UserInterface/DetailsSection.js: |
| * UserInterface/DetailsSectionDataGridRow.js: |
| * UserInterface/DetailsSectionGroup.js: |
| * UserInterface/DetailsSectionPropertiesRow.js: |
| * UserInterface/DetailsSectionRow.js: |
| * UserInterface/DetailsSectionSimpleRow.js: |
| * UserInterface/DetailsSidebarPanel.css: |
| * UserInterface/DetailsSidebarPanel.js: |
| * UserInterface/DividerNavigationItem.css: |
| * UserInterface/DividerNavigationItem.js: |
| * UserInterface/Editing.css: |
| * UserInterface/EditingSupport.js: |
| * UserInterface/EventHandler.js: |
| * UserInterface/EventListenerSection.js: |
| * UserInterface/EventListenerSectionGroup.css: |
| * UserInterface/EventListenerSectionGroup.js: |
| * UserInterface/ExecutionContext.js: |
| * UserInterface/ExecutionContextList.js: |
| * UserInterface/FilterBar.css: |
| * UserInterface/FilterBar.js: |
| * UserInterface/FindBanner.css: |
| * UserInterface/FindBanner.js: |
| * UserInterface/FlexibleSpaceNavigationItem.css: |
| * UserInterface/FlexibleSpaceNavigationItem.js: |
| * UserInterface/FolderIcon.css: |
| * UserInterface/FolderTreeElement.js: |
| * UserInterface/FontResourceContentView.css: |
| * UserInterface/FontResourceContentView.js: |
| * UserInterface/Formatter.js: |
| * UserInterface/FormatterContentBuilder.js: |
| * UserInterface/FormatterSourceMap.js: |
| * UserInterface/Frame.js: |
| * UserInterface/FrameContentView.js: |
| * UserInterface/FrameResourceManager.js: |
| * UserInterface/FrameTreeElement.js: |
| * UserInterface/GeneralTreeElement.js: |
| * UserInterface/GeneralTreeElementPathComponent.js: |
| * UserInterface/GenericResourceContentView.js: |
| * UserInterface/Geometry.js: |
| * UserInterface/HierarchicalPathComponent.css: |
| * UserInterface/HierarchicalPathComponent.js: |
| * UserInterface/HierarchicalPathNavigationItem.js: |
| * UserInterface/ImageResourceContentView.css: |
| * UserInterface/ImageResourceContentView.js: |
| * UserInterface/ImageUtilities.js: |
| * UserInterface/IndeterminateProgressSpinner.css: |
| * UserInterface/IndeterminateProgressSpinner.js: |
| * UserInterface/InspectorBackend.js: |
| * UserInterface/InspectorFrontendAPI.js: |
| * UserInterface/InspectorObserver.js: |
| * UserInterface/InstrumentIcons.css: |
| * UserInterface/InstrumentSidebarPanel.css: |
| * UserInterface/InstrumentSidebarPanel.js: |
| * UserInterface/IssueManager.js: |
| * UserInterface/IssueMessage.js: |
| * UserInterface/JavaScriptLogViewController.js: |
| * UserInterface/JavaScriptProfileObject.js: |
| * UserInterface/JavaScriptProfileType.js: |
| * UserInterface/JavaScriptProfileView.css: |
| * UserInterface/JavaScriptProfileView.js: |
| * UserInterface/KeyboardShortcut.js: |
| * UserInterface/LayerTreeDataGrid.js: |
| * UserInterface/LayerTreeDataGridNode.js: |
| * UserInterface/LayerTreeManager.js: |
| * UserInterface/LayerTreeObserver.js: |
| * UserInterface/LayerTreeSidebarPanel.css: |
| * UserInterface/LayerTreeSidebarPanel.js: |
| * UserInterface/LayoutTimelineDataGrid.js: |
| * UserInterface/LayoutTimelineDataGridNode.js: |
| * UserInterface/LayoutTimelineRecord.js: |
| * UserInterface/LoadInspectorBackendCommands.js: |
| * UserInterface/LoadLocalizedStrings.js: |
| * UserInterface/LogContentView.css: |
| * UserInterface/LogContentView.js: |
| * UserInterface/LogIcon.css: |
| * UserInterface/LogManager.js: |
| * UserInterface/LogObject.js: |
| * UserInterface/LogTreeElement.js: |
| * UserInterface/MIMETypeUtilities.js: |
| * UserInterface/Main.css: |
| * UserInterface/Main.html: |
| * UserInterface/Main.js: |
| * UserInterface/MetricsStyleDetailsPanel.js: |
| * UserInterface/NavigationBar.css: |
| * UserInterface/NavigationBar.js: |
| * UserInterface/NavigationItem.js: |
| * UserInterface/NavigationSidebarPanel.css: |
| * UserInterface/NavigationSidebarPanel.js: |
| * UserInterface/NetworkDataGrid.css: |
| * UserInterface/NetworkDataGrid.js: |
| * UserInterface/NetworkGraphCalculator.js: |
| * UserInterface/NetworkObserver.js: |
| * UserInterface/NetworkTimeline.css: |
| * UserInterface/Object.js: |
| * UserInterface/ObjectPropertiesSection.js: |
| * UserInterface/PageObserver.js: |
| * UserInterface/PathComponentIcons.css: |
| * UserInterface/Popover.css: |
| * UserInterface/Popover.js: |
| * UserInterface/ProfileManager.js: |
| * UserInterface/ProfileObject.js: |
| * UserInterface/ProfileType.js: |
| * UserInterface/ProfileView.css: |
| * UserInterface/ProfileView.js: |
| * UserInterface/ProfilerObserver.js: |
| * UserInterface/PropertiesSection.js: |
| * UserInterface/QuickConsole.css: |
| * UserInterface/QuickConsole.js: |
| * UserInterface/QuickConsoleNavigationBar.js: |
| * UserInterface/RadioButtonNavigationItem.css: |
| * UserInterface/RadioButtonNavigationItem.js: |
| * UserInterface/Resource.js: |
| * UserInterface/ResourceClusterContentView.js: |
| * UserInterface/ResourceCollection.js: |
| * UserInterface/ResourceContentView.js: |
| * UserInterface/ResourceDetailsSidebarPanel.js: |
| * UserInterface/ResourceIcons.css: |
| * UserInterface/ResourceSearchMatchObject.js: |
| * UserInterface/ResourceSidebarPanel.css: |
| * UserInterface/ResourceSidebarPanel.js: |
| * UserInterface/ResourceTimelineDataGridNode.js: |
| * UserInterface/ResourceTimelineDataGridNodePathComponent.js: |
| * UserInterface/ResourceTimelineRecord.js: |
| * UserInterface/ResourceTreeElement.css: |
| * UserInterface/ResourceTreeElement.js: |
| * UserInterface/Revision.js: |
| * UserInterface/RulesStyleDetailsPanel.css: |
| * UserInterface/RulesStyleDetailsPanel.js: |
| * UserInterface/RuntimeObserver.js: |
| * UserInterface/ScopeBar.css: |
| * UserInterface/ScopeBar.js: |
| * UserInterface/ScopeBarItem.js: |
| * UserInterface/ScopeChainDetailsSidebarPanel.js: |
| * UserInterface/ScopeChainNode.js: |
| * UserInterface/ScopeVariableTreeElement.js: |
| * UserInterface/Script.js: |
| * UserInterface/ScriptContentView.css: |
| * UserInterface/ScriptContentView.js: |
| * UserInterface/ScriptTimelineDataGrid.js: |
| * UserInterface/ScriptTimelineDataGridNode.js: |
| * UserInterface/ScriptTimelineRecord.js: |
| * UserInterface/ScriptTreeElement.js: |
| * UserInterface/SearchBar.css: |
| * UserInterface/SearchBar.js: |
| * UserInterface/SearchIcons.css: |
| * UserInterface/SearchResultTreeElement.js: |
| * UserInterface/Section.css: |
| * UserInterface/Section.js: |
| * UserInterface/Setting.js: |
| * UserInterface/Sidebar.css: |
| * UserInterface/Sidebar.js: |
| * UserInterface/SidebarPanel.js: |
| * UserInterface/SourceCode.js: |
| * UserInterface/SourceCodeLocation.js: |
| * UserInterface/SourceCodePosition.js: |
| * UserInterface/SourceCodeRevision.js: |
| * UserInterface/SourceCodeTextEditor.css: |
| * UserInterface/SourceCodeTextEditor.js: |
| * UserInterface/SourceCodeTextRange.js: |
| * UserInterface/SourceCodeTreeElement.js: |
| * UserInterface/SourceMap.js: |
| * UserInterface/SourceMapManager.js: |
| * UserInterface/SourceMapResource.js: |
| * UserInterface/SourceMapResourceTreeElement.js: |
| * UserInterface/StorageManager.js: |
| * UserInterface/StorageTreeElement.js: |
| * UserInterface/StyleDetailsPanel.js: |
| * UserInterface/StyleRuleIcons.css: |
| * UserInterface/SyntaxHighlightingDefaultTheme.css: |
| * UserInterface/SyntaxHighlightingSupport.js: |
| * UserInterface/TextContentView.css: |
| * UserInterface/TextContentView.js: |
| * UserInterface/TextEditor.css: |
| * UserInterface/TextEditor.js: |
| * UserInterface/TextRange.js: |
| * UserInterface/TextResourceContentView.css: |
| * UserInterface/TextResourceContentView.js: |
| * UserInterface/TimelineDataGrid.css: |
| * UserInterface/TimelineDataGrid.js: |
| * UserInterface/TimelineDecorations.css: |
| * UserInterface/TimelineDecorations.js: |
| * UserInterface/TimelineEventMarker.js: |
| * UserInterface/TimelineManager.js: |
| * UserInterface/TimelineObserver.js: |
| * UserInterface/TimelineOverview.css: |
| * UserInterface/TimelineOverview.js: |
| * UserInterface/TimelineRecord.js: |
| * UserInterface/TimelinesContentView.css: |
| * UserInterface/TimelinesContentView.js: |
| * UserInterface/TimelinesObject.js: |
| * UserInterface/ToggleButtonNavigationItem.js: |
| * UserInterface/ToggleControlToolbarItem.js: |
| * UserInterface/Toolbar.css: |
| * UserInterface/Toolbar.js: |
| * UserInterface/TreeOutline.js: |
| * UserInterface/Utilities.js: |
| * UserInterface/WebInspector.js: |
| |
| 2013-06-05 Timothy Hatcher <timothy@apple.com> |
| |
| Properly update the boundaries for the NetworkTransferTimeCalculator. |
| |
| It is expected that _lowerBound and _upperBound return NaN instead of 0. |
| |
| <rdar://problem/14040314> Web Inspector says it takes ~15,000 days to load developer library |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/NetworkDataGrid.js: |
| (WebInspector.NetworkDataGrid.prototype._updateHeaderTimes): |
| * UserInterface/NetworkGraphCalculator.js: |
| (WebInspector.NetworkTransferTimeCalculator.prototype._lowerBound): |
| (WebInspector.NetworkTransferTimeCalculator.prototype._upperBound): |
| * UserInterface/TimelineDecorations.js: |
| (WebInspector.TimelineDecorations.prototype.updateHeaderTimes): |
| |
| 2013-06-05 Timothy Hatcher <timothy@apple.com> |
| |
| Unlocalize the box model labels. |
| |
| <rdar://problem/14057745> [WebBrowser]: Euro: 13A476r: Box model should not be localized |
| |
| Reviewed by Ada Chan. |
| |
| * UserInterface/BoxModelDetailsSectionRow.js: |
| (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics): |
| |
| 2013-06-05 Timothy Hatcher <timothy@apple.com> |
| |
| Syntax highlight inherit, initial and function names in CSS as keywords. |
| |
| Part of: <rdar://problem/14053613> "-webkit-transform" autocompletes with colon in -webkit-transition definition |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSCompletions.js: |
| (WebInspector.CSSCompletions.requestCSSNameCompletions.propertyNamesCallback): |
| Strip function parenthesis from names. Process the color list to strip function parenthesis from rgb(), etc. |
| |
| 2013-06-05 Timothy Hatcher <timothy@apple.com> |
| |
| Improve the implicit suffix handling when editing in the middle of a CSS value. |
| |
| Part of: <rdar://problem/14053613> "-webkit-transform" autocompletes with colon in -webkit-transition definition |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CodeMirrorCompletionController.js: |
| (WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions): |
| |
| 2013-06-05 Timothy Hatcher <timothy@apple.com> |
| |
| Autocomplete property names for transition and transition-property. |
| |
| Part of: <rdar://problem/14053613> "-webkit-transform" autocompletes with colon in -webkit-transition definition |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSCompletions.js: |
| (WebInspector.CSSCompletions.prototype.get values): |
| * UserInterface/CSSKeywordCompletions.js: |
| (WebInspector.CSSKeywordCompletions.forProperty): |
| |
| 2013-06-04 Timothy Hatcher <timothy@apple.com> |
| |
| Properly autocomplete CSS values if the property name is on a previous line. |
| |
| Part of: <rdar://problem/14053613> "-webkit-transform" autocompletes with colon in -webkit-transition definition |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CodeMirrorCompletionController.js: |
| (WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions): |
| |
| 2013-06-03 Timothy Hatcher <timothy@apple.com> |
| |
| Add property names to the value keywords list so they are highlighted for -webkit-transition. |
| |
| <rdar://problem/14052662> "-webkit-transform" is not correctly highlighted when editing CSS resource |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSCompletions.js: |
| (WebInspector.CSSCompletions.requestCSSNameCompletions.collectPropertyNameForCodeMirror): |
| |
| 2013-06-03 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/14047312> Add New Rules sometimes doesn't do anything |
| |
| Better handle generating selectors for nodes with spaces in class or id attributes. |
| |
| Tests: (Cases that were failing before) |
| |
| <div class=" x "> => Before: (..x.) After: (.x) |
| <div id=" x "> => Before: (# x ) After: (div[id=" x "]) |
| <div id='"x"'> => Before: (#"x") After: (div[id="\"x\""]) |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DOMNode.js: |
| (WebInspector.DOMNode.prototype.appropriateSelectorFor): |
| * UserInterface/DOMUtilities.js: |
| (WebInspector.displayNameForNode): |
| |
| 2013-06-03 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13932229> Update CSSKeywordCompletions.js for iOS properties |
| |
| Add support for the new Ò-appleÓ-prefixed values for the ÒfontÓ property. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/CSSKeywordCompletions.js: |
| |
| 2013-06-03 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/14047029> Exception CallFrameTreeElement.js:19: TypeError: 'null' is not an object (evaluating 'callFrame.sourceCodeLocation.displaySourceCode') |
| |
| Only include a subtitle for call frame tree elements if there is a |
| source code location, because that is used to determine the subtitle. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/CallFrameTreeElement.js: |
| (WebInspector.CallFrameTreeElement): |
| |
| 2013-06-03 Timothy Hatcher <timothy@apple.com> |
| |
| Hide the caret in read-only style declarations. |
| |
| <rdar://problem/14047344> Locked rules (UA stylesheets) in Styles sidebar shouldn't display a caret |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDeclarationTextEditor.css: |
| (.css-style-text-editor.read-only > .CodeMirror .CodeMirror-cursor): Added. |
| |
| 2013-06-03 Timothy Hatcher <timothy@apple.com> |
| |
| Correctly stop auto recording the Timeline after the load event or a maximum duration (which ever comes first). |
| |
| The original fix for <rdar://problem/13180009> was incorrect and caused <rdar://problem/13919974> |
| and also caused infinite auto recording on pages with indefinite timers that rapidly adds records. |
| |
| <rdar://problem/14043180> REGRESSION (6.0.5-Curie): Safari Web Content: 100% CPU when using Inspector |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/TimelineManager.js: |
| (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): |
| Don't call _stopAutoRecordingSoon for the DOMContent event. |
| |
| (WebInspector.TimelineManager.prototype._addRecord): |
| Don't call _stopAutoRecordingSoon. Add the call to _resetAutoRecordingDeadTimeTimeout back. |
| |
| (WebInspector.TimelineManager.prototype._startAutoRecording): |
| Use MaximumAutoRecordDuration instead of MaximumAutoRecordDurationAfterLastRecord for the timeout. |
| |
| (WebInspector.TimelineManager.prototype._stopAutoRecordingSoon): |
| Remove the dead time timeout now that it is back in _addRecord. |
| |
| 2013-06-02 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/14040519> BoxModelDetailsSectionRow.js:120: ERROR: TypeError: 'null' is not an object (evaluating 'style.propertyForName(width).value') |
| |
| Make the sidebar resilient against the possibility of an empty computed |
| style object. The ultimate issue is that the DOM Tree does not have a |
| selected node, but this could should be resilient anyways. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/BoxModelDetailsSectionRow.js: |
| (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics): |
| |
| 2013-06-02 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Reveal line sometimes doesn't work with content right at the edge of the screen. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype._isPositionVisible): |
| |
| 2013-05-31 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/14039888> Should not have spellchecking during most HTML editing |
| |
| Allow EditingConfig to specify whether or not spellchecking should be enabled. |
| Spellcheck is off by default, because most of the time it is code, and it is |
| only enabled when editing a TextNode in the DOM Tree. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.prototype._startEditingTextNode): |
| * UserInterface/EditingSupport.js: |
| (WebInspector.EditingConfig): |
| (.cleanUpAfterEditing): |
| |
| 2013-05-30 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/14030289> Goto arrow from Timelines to autoformatted script not highlighting line correctly |
| |
| Previously the SourceCodeTextEditor was automatically formatting the |
| content after the content was set on the TextEditor and some initial |
| processing; such as revealing a pending position. This change lets |
| the SourceCodeTextEditor signal to the TextEditor that it should |
| automatically format the incoming string before the extra processing |
| takes place. Now the pending position is updated in _prettyPrint, |
| and revealed appropriately. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype._contentWillPopulate): |
| (WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate): |
| (WebInspector.SourceCodeTextEditor.prototype._populateWithContent): |
| Move the auto formatting decision from didPopulate to willPopulate. |
| If autoformatting is needed, we signal the TextEditor before setting |
| the string. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.set string.update): |
| (WebInspector.TextEditor.prototype.set string): |
| (WebInspector.TextEditor.prototype.set autoFormat): |
| Keep a boolean for whether or not we should auto format when setting |
| the string. When setting the string, format if needed, after clearing |
| the history and before any pending position reveals. |
| |
| 2013-05-30 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/14030289> Goto arrow from Timelines to autoformatted script not highlighting line correctly |
| |
| Rename "revealLine" to "revealPosition". Now, if the first reveal is |
| for a position in pretty printed code, it can be remapped to an |
| appropriate (line, column), instead of whatever (line, 0) mapped to. |
| |
| There is one bug fix here, the _prettyPrint in TextEditor was |
| incorrectly doing this._lineNumberToReveal.lineNumber, which should |
| have just been this._lineNumberToReveal. However, this code was not |
| getting reached in its current form. That will be addressed in the |
| next part. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/FrameContentView.js: |
| (WebInspector.FrameContentView.prototype.showSourceCode): |
| * UserInterface/ResourceClusterContentView.js: |
| (WebInspector.ResourceClusterContentView.prototype.showResponse): |
| (WebInspector.ResourceClusterContentView.prototype._resourceLoadingDidFinish): |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype.showSourceCode): |
| (WebInspector.ResourceSidebarPanel.prototype.showSourceCodeLocation): |
| (WebInspector.ResourceSidebarPanel.prototype.showOriginalUnformattedSourceCodeLocation): |
| (WebInspector.ResourceSidebarPanel.prototype.showOriginalOrFormattedSourceCodeLocation): |
| (WebInspector.ResourceSidebarPanel.prototype.showSourceCodeTextRange): |
| (WebInspector.ResourceSidebarPanel.prototype.showOriginalOrFormattedSourceCodeTextRange): |
| * UserInterface/ScriptContentView.js: |
| (WebInspector.ScriptContentView.prototype.revealPosition): |
| * UserInterface/TextContentView.js: |
| (WebInspector.TextContentView.prototype.revealPosition): |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.set string.update): |
| (WebInspector.TextEditor.prototype.set string): |
| (WebInspector.TextEditor.prototype.revealNextSearchResult): |
| (WebInspector.TextEditor.prototype.line): |
| (WebInspector.TextEditor.prototype.updateLayout): |
| (WebInspector.TextEditor.prototype._textRangeFromCodeMirrorPosition): |
| (WebInspector.TextEditor.prototype._codeMirrorPositionFromTextRange): |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView.prototype.revealPosition): |
| |
| 2013-05-30 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/14030289> Goto arrow from Timelines to autoformatted script not highlighting line correctly |
| |
| Add WebInspector.SourceCodePosition. Rather than passing lineNumber |
| and columnNumber as separate parameters all over the place, we can |
| pass a position object. Create positions as appropriate from other |
| classes like SourceCodeLocation and TextRange. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/Main.html: |
| * UserInterface/SourceCodeLocation.js: |
| (WebInspector.SourceCodeLocation.prototype.position): |
| (WebInspector.SourceCodeLocation.prototype.formattedPosition): |
| (WebInspector.SourceCodeLocation.prototype.displayPosition): |
| * UserInterface/SourceCodePosition.js: Added. |
| (WebInspector.SourceCodePosition): |
| (WebInspector.SourceCodePosition.prototype.get lineNumber): |
| (WebInspector.SourceCodePosition.prototype.get columnNumber): |
| * UserInterface/TextRange.js: |
| (WebInspector.TextRange.prototype.startPosition): |
| (WebInspector.TextRange.prototype.endPosition): |
| |
| 2013-05-30 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/14030289> Goto arrow from Timelines to autoformatted script not highlighting line correctly |
| |
| Remove a reveal that always happens with line number 0. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/Main.js: |
| (WebInspector.toggleConsoleView): |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype.showMainFrameSourceCode): |
| |
| 2013-05-30 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Unprefix uses of "-webkit-calc". |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/CSSStyleDeclarationTextEditor.css: |
| (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch): |
| |
| 2013-05-30 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/14028576> Inspector finds CSS color names in other strings |
| |
| Be a little more picky with our CSS regex, and include some post-processing |
| to act as a negative lookbehind, which is not supported in JavaScript regexes. |
| Do not allow color names that are prefixed or post-fixed with '-' or '.'. |
| |
| Tests cases that previously would have produced swatches: |
| |
| url(gold.png); |
| url("fools-gold.png"); |
| url(fools.gold.png); |
| |
| Using a regex is of course an imperfect solution, but it covers the majority |
| of cases and works well. It also allows us to detect colors in comments and |
| provide color swatches for those. This allows us to filter out some more |
| inappropriate cases. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches): |
| |
| 2013-05-30 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/14023649> No -webkit-filter autocompletion |
| |
| Add functions to CSS completion suggestions. When the completion |
| suggestion is showing it has both parens, when committed, the cursor is |
| placed inside the two parens so users can keep typing. |
| |
| This adds a bunch of common function completions. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/CSSKeywordCompletions.js: |
| * UserInterface/CodeMirrorCompletionController.js: |
| (WebInspector.CodeMirrorCompletionController.prototype._commitCompletionHint): |
| |
| 2013-05-30 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13994485> Hovering element breadcrumbs should highlight element on page |
| |
| When hovering DOMTreeElementPathComponents highlight the associated |
| node on the page, like when you hover the DOMTreeElement. |
| |
| Reviewed by Dean Jackson. |
| |
| * UserInterface/HierarchicalPathComponent.js: |
| (WebInspector.HierarchicalPathComponent): |
| (WebInspector.HierarchicalPathComponent.prototype._selectElementMouseOver): |
| (WebInspector.HierarchicalPathComponent.prototype._selectElementMouseOut): |
| Provide hooks for subclass mouseOver and mouseOut functions. |
| |
| * UserInterface/DOMTreeElementPathComponent.js: |
| (WebInspector.DOMTreeElementPathComponent.prototype.get nextSibling): |
| (WebInspector.DOMTreeElementPathComponent.prototype.mouseOver): |
| (WebInspector.DOMTreeElementPathComponent.prototype.mouseOut): |
| Implement the mouseOver and mouseOut to show / hide the DOM highlight. |
| |
| 2013-05-30 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/14020206> Debugger popover not showing for "this" |
| |
| Allow popover for the keyword "this". |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/CodeMirrorTokenTrackingController.js: |
| (WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression): |
| |
| 2013-05-28 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/14007495> Web Inspector has "Instruments," but this is already a feature in Xcode |
| |
| Rename the "Instruments" Navigation Sidebar to "Timelines". Marketing |
| had concerns about using the same name in multiple places. |
| |
| Rubber-stamped by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/InstrumentSidebarPanel.js: |
| (WebInspector.InstrumentSidebarPanel): |
| |
| 2013-05-28 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/14006550> Console errors persist when you navigate to other pages |
| |
| The console can clear in two ways, handle both events. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DashboardManager.js: |
| (WebInspector.DashboardManager): |
| |
| 2013-05-27 Timothy Hatcher <timothy@apple.com> |
| |
| Fix copy handeling for DataGrid. |
| |
| When text selection was disabled in r48866, that broke the copy event |
| handlers for DataGrid. That change prevents focus from making a caret |
| selection inside the DataGrid (it goes outside to the nearest selectable |
| text). This broke bubbling of the copy event to the right elements. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/DataGrid.js: |
| (WebInspector.DataGrid): |
| (WebInspector.DataGrid.prototype.handleBeforeCopyEvent): |
| (WebInspector.DataGrid.prototype.handleCopyEvent): |
| * UserInterface/Main.js: |
| (WebInspector._beforecopy): |
| (WebInspector._copy): |
| |
| 2013-05-27 Timothy Hatcher <timothy@apple.com> |
| |
| Allow data grid value column's in details sections wrap to multiple lines. |
| |
| <rdar://problem/12329905> Can't easily view long header values |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/DataGrid.css: |
| (.data-grid tr.selected): |
| (.data-grid:focus tr.selected): |
| * UserInterface/DetailsSection.css: |
| (.details-section > .content .data-grid table.data): |
| (.details-section > .content .data-grid tr:nth-child(even)): |
| (.details-section > .content .data-grid tr:nth-child(odd)): |
| (.details-section > .content .data-grid td.value-column): |
| (.details-section > .content .data-grid td.value-column > div): |
| |
| 2013-05-27 Timothy Hatcher <timothy@apple.com> |
| |
| Only add event markers for the main frame. |
| |
| The event markers for frame heavy pages are too noisy and not very |
| useful. We also didn't distinguish frames in the marker tooltips. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/TimelineManager.js: |
| (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): |
| (WebInspector.TimelineManager.prototype.eventRecorded): |
| |
| 2013-05-26 Timothy Hatcher <timothy@apple.com> |
| |
| Stop using a CSS drop-shadow filter for the Web Inspector popover. |
| |
| Use the existing background canvas to draw the drop shadow instead. |
| |
| <rdar://problem/13991902> Stop using CSS filters for Popover |
| |
| This also fixes: |
| <rdar://problem/13977466> Popover arrow is not perfectly centered with content |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Popover.css: |
| (.popover): |
| (.popover > .container): |
| * UserInterface/Popover.js: |
| (WebInspector.Popover.prototype._update): |
| (WebInspector.Popover.prototype._drawBackground): |
| (WebInspector.Popover.prototype._bestMetricsForEdge): |
| |
| 2013-05-25 Timothy Hatcher <timothy@apple.com> |
| |
| Show the popover after a delay so quickly arrowing down the grid does not flash the popover. |
| |
| Also prevent showing the popover if the element is hidden, which was happening sometimes for |
| rows at the bottom which were marked as offscreen still. Put MIN_Y before MAX_X so the popover |
| is more predictably positioned, and this matches NSPopover. Plus always clear the popover |
| TreeOutline after giving the popover time to animate out when hiding. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/TimelineDataGrid.js: |
| (WebInspector.TimelineDataGrid.prototype._dataGridSelectedNodeChanged): |
| (WebInspector.TimelineDataGrid.prototype._showPopoverForSelectedNodeSoon.delayedWork): |
| (WebInspector.TimelineDataGrid.prototype._showPopoverForSelectedNodeSoon): |
| (WebInspector.TimelineDataGrid.prototype._hidePopover): |
| (WebInspector.TimelineDataGrid.prototype._updatePopoverForSelectedNode): |
| |
| 2013-05-24 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Show a highlight quad on the screen when selecting a Layout/Paint record. |
| |
| If we know the Quad / Rect of a Paint / Layout we can highlight that |
| portion on the inspected page. Unfortunately this information is not |
| very useful after the page scrolls, but it can be useful. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Geometry.js: |
| (WebInspector.Quad.prototype.toProtocol): |
| * UserInterface/LayoutTimelineDataGrid.js: |
| (WebInspector.LayoutTimelineDataGrid): |
| (WebInspector.LayoutTimelineDataGrid.prototype.reset): |
| (WebInspector.LayoutTimelineDataGrid.prototype.callFramePopoverAnchorElement): |
| (WebInspector.LayoutTimelineDataGrid.prototype.hidden): |
| (WebInspector.LayoutTimelineDataGrid.prototype._layoutDataGridSelectedNodeChanged): |
| (WebInspector.LayoutTimelineDataGrid.prototype._hideHighlightIfNeeded): |
| * UserInterface/TimelineDataGrid.js: |
| (WebInspector.TimelineDataGrid.prototype.shown): |
| (WebInspector.TimelineDataGrid.prototype.hidden): |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView.prototype.showTimelineForRecordType): |
| (WebInspector.TimelinesContentView.prototype.shown): |
| (WebInspector.TimelinesContentView.prototype.hidden): |
| |
| 2013-05-24 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/12656683> Show whole JS stack for layout & rendering triggers |
| |
| Clear the popover's contents when the content view is reset so |
| we don't leak anything held by the CallFrameTreeElements. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/NetworkDataGrid.js: |
| (WebInspector.NetworkDataGrid.prototype.reset): |
| * UserInterface/TimelineDataGrid.js: |
| (WebInspector.TimelineDataGrid.prototype.reset): |
| |
| 2013-05-24 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/12656683> Show whole JS stack for layout & rendering triggers |
| |
| Stack trace information is already available from the backend. Display |
| it in a popover when the corresponding row in the data grid is selected. |
| Users can then click a call frame to jump to that source code location. |
| |
| Because both Layout and Script timelines include call traces, this is |
| made generic an put in TimelineDataGrid. Subclasses tell the superclass |
| which element to anchor the popover next to, but the superclass handles |
| showing the popover. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/CallFrameTreeElement.js: |
| (WebInspector.CallFrameTreeElement): |
| Allow a CallFrameTreeElement for native code call frames. Such call |
| frames don't have a source code location, so they have no subtitle. |
| |
| * UserInterface/Images/Native.pdf: Added. |
| * UserInterface/CallFrameIcons.css: |
| (.native-icon .icon): |
| This is a duplicate of the DOMNode.pdf gray [N] icon. |
| |
| * UserInterface/Main.html: |
| Include new files. |
| |
| * UserInterface/NetworkDataGrid.js: |
| (WebInspector.NetworkDataGrid): |
| * UserInterface/ScriptTimelineDataGrid.js: Added. |
| (WebInspector.ScriptTimelineDataGrid): |
| (WebInspector.ScriptTimelineDataGrid.prototype.callFramePopoverAnchorElement): |
| * UserInterface/LayoutTimelineDataGrid.js: Added. |
| (WebInspector.LayoutTimelineDataGrid): |
| (WebInspector.LayoutTimelineDataGrid.prototype.callFramePopoverAnchorElement): |
| Give each TimelineDataGrid subclass its own class. Implement only |
| what is needed. The new subclasses provide the element for the |
| superclass to anchor the call frame popover. |
| |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView): |
| Instantiate the specific DataGrid types. |
| |
| * UserInterface/TimelineDataGrid.css: Added. |
| * UserInterface/TimelineDataGrid.js: |
| (WebInspector.TimelineDataGrid): |
| (WebInspector.TimelineDataGrid.prototype.callFramePopoverAnchorElement): |
| (WebInspector.TimelineDataGrid.prototype._scopeBarSelectedItemsDidChange): |
| (WebInspector.TimelineDataGrid.prototype._dataGridSelectedNodeChanged): |
| (WebInspector.TimelineDataGrid.prototype._windowResized): |
| (WebInspector.TimelineDataGrid.prototype._hidePopover): |
| (WebInspector.TimelineDataGrid.prototype._updatePopoverForSelectedNode): |
| Show and manager the popover. |
| |
| (WebInspector.TimelineDataGrid.prototype._createPopoverContent): |
| (WebInspector.TimelineDataGrid.prototype._popoverCallStackTreeElementSelected): |
| Popover content is a TreeOutline containing CallFrameTreeElements. |
| When a call frame is selected, reveal the source code location. |
| |
| * UserInterface/DataGrid.js: |
| (WebInspector.DataGridNode.prototype.elementWithColumnIdentifier): |
| Helper for accessing a specific <td> inside a <tr> by column name. |
| |
| 2013-05-24 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Switch from "X" and "Y" to "Area" in the Layout Timeline |
| |
| For transformed paint rects an X, Y, Width and Height, didn't make |
| sense, so the backend switched to quads. Instead of showing approximate |
| values, like the bounding box, lets just remove unknowns and switch |
| to showing the Area instead. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/LayoutTimelineDataGridNode.js: |
| (WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent): |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView): |
| |
| 2013-05-24 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Restore Width and Height values for Layouts and Paints in Timeline |
| |
| The backend changed a while back from including rect values, to quad |
| values. We should move away from X and Y and instead show Area. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Geometry.js: |
| (WebInspector.Quad): |
| Provide a wrapper object for the protocol Quad representation. |
| |
| * UserInterface/TimelineManager.js: |
| (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): |
| (WebInspector.TimelineManager.prototype.eventRecorded): |
| Ingest new and old Layout and Paint timeline record. |
| |
| * UserInterface/LayoutTimelineRecord.js: |
| (WebInspector.LayoutTimelineRecord): |
| (WebInspector.LayoutTimelineRecord.prototype.get area): |
| (WebInspector.LayoutTimelineRecord.prototype.get rect): |
| (WebInspector.LayoutTimelineRecord.prototype.get quad): |
| A record may be wrapping a quad. |
| |
| 2013-05-24 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Use SourceCodeLocations when displaying Script locations. |
| |
| Using SourceCodeLocations allows the locations to show formatted |
| and display locations and is therefore more accurate. It also shows |
| the tooltip and display strings consistent with the rest of the UI. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ScriptTimelineDataGridNode.js: |
| (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent): |
| * UserInterface/ScriptTimelineRecord.js: |
| (WebInspector.ScriptTimelineRecord): |
| (WebInspector.ScriptTimelineRecord.prototype.get lineNumber): |
| (WebInspector.ScriptTimelineRecord.prototype.get callFrames): |
| (WebInspector.ScriptTimelineRecord.prototype.get sourceCodeLocation): |
| * UserInterface/TimelineManager.js: |
| (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): |
| (WebInspector.TimelineManager.prototype.eventRecorded): |
| |
| 2013-05-24 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Add Script Timeline records for Installing / Removing Timelines |
| |
| We had records for TimerFired but not install / remove. It is sometimes |
| useful to see the stack traces where timers are added and removed. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/ScriptTimelineRecord.js: |
| (WebInspector.ScriptTimelineRecord.EventType.displayName): |
| * UserInterface/TimelineManager.js: |
| (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): |
| (WebInspector.TimelineManager.prototype.eventRecorded): |
| |
| 2013-05-24 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Remove some unused old style DataGrid events. |
| |
| These events are not used anywhere, and we have a new style event. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DataGrid.js: |
| (WebInspector.DataGridNode.prototype.select): |
| (WebInspector.DataGridNode.prototype.deselect): |
| |
| 2013-05-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Turn off spellchecking on some text inputs. |
| |
| Reviewed by David Kilzer. |
| |
| * UserInterface/Breakpoint.js: |
| (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement): |
| * UserInterface/FindBanner.js: |
| (WebInspector.FindBanner): |
| |
| 2013-05-24 Timothy Hatcher <timothy@apple.com> |
| |
| Tag all Web Inspector images with copyright info. |
| |
| Added to all images: Copyright © 2013 Apple Inc. All rights reserved. |
| |
| Requested by Joyce Chow. |
| |
| * UserInterface/Images/ApplicationCache.png: |
| * UserInterface/Images/ApplicationCache@2x.png: |
| * UserInterface/Images/ApplicationCacheManifest.png: |
| * UserInterface/Images/ApplicationCacheManifest@2x.png: |
| * UserInterface/Images/BackArrow.pdf: |
| * UserInterface/Images/BottomUpTree.pdf: |
| * UserInterface/Images/Breakpoint.png: |
| * UserInterface/Images/Breakpoint@2x.png: |
| * UserInterface/Images/BreakpointButton.pdf: |
| * UserInterface/Images/BreakpointInactive.png: |
| * UserInterface/Images/BreakpointInactive@2x.png: |
| * UserInterface/Images/BreakpointInactiveButton.pdf: |
| * UserInterface/Images/ClippingCSS.png: |
| * UserInterface/Images/ClippingCSS@2x.png: |
| * UserInterface/Images/ClippingGeneric.png: |
| * UserInterface/Images/ClippingGeneric@2x.png: |
| * UserInterface/Images/ClippingJS.png: |
| * UserInterface/Images/ClippingJS@2x.png: |
| * UserInterface/Images/Close.pdf: |
| * UserInterface/Images/Colors.png: |
| * UserInterface/Images/Colors@2x.png: |
| * UserInterface/Images/Cookie.png: |
| * UserInterface/Images/Cookie@2x.png: |
| * UserInterface/Images/Crosshair.pdf: |
| * UserInterface/Images/DOMCharacterData.pdf: |
| * UserInterface/Images/DOMComment.pdf: |
| * UserInterface/Images/DOMDocument.pdf: |
| * UserInterface/Images/DOMDocumentType.pdf: |
| * UserInterface/Images/DOMElement.pdf: |
| * UserInterface/Images/DOMNode.pdf: |
| * UserInterface/Images/DOMTextNode.pdf: |
| * UserInterface/Images/DOMTree.pdf: |
| * UserInterface/Images/Database.png: |
| * UserInterface/Images/Database@2x.png: |
| * UserInterface/Images/DatabaseTable.png: |
| * UserInterface/Images/DatabaseTable@2x.png: |
| * UserInterface/Images/DisclosureTriangleSmallClosed.pdf: |
| * UserInterface/Images/DisclosureTriangleSmallOpen.pdf: |
| * UserInterface/Images/DisclosureTriangleTinyClosed.pdf: |
| * UserInterface/Images/DisclosureTriangleTinyOpen.pdf: |
| * UserInterface/Images/DockBottom.pdf: |
| * UserInterface/Images/DockRight.pdf: |
| * UserInterface/Images/DocumentCSS.png: |
| * UserInterface/Images/DocumentCSS@2x.png: |
| * UserInterface/Images/DocumentFont.png: |
| * UserInterface/Images/DocumentFont@2x.png: |
| * UserInterface/Images/DocumentGeneric.png: |
| * UserInterface/Images/DocumentGeneric@2x.png: |
| * UserInterface/Images/DocumentImage.png: |
| * UserInterface/Images/DocumentImage@2x.png: |
| * UserInterface/Images/DocumentJS.png: |
| * UserInterface/Images/DocumentJS@2x.png: |
| * UserInterface/Images/DocumentMarkup.png: |
| * UserInterface/Images/DocumentMarkup@2x.png: |
| * UserInterface/Images/Error.pdf: |
| * UserInterface/Images/ErrorSmall.pdf: |
| * UserInterface/Images/Errors.svg: |
| * UserInterface/Images/ErrorsEnabled.svg: |
| * UserInterface/Images/EventListener.pdf: |
| * UserInterface/Images/Exception.pdf: |
| * UserInterface/Images/FilterFieldGlyph.pdf: |
| * UserInterface/Images/FolderGeneric.png: |
| * UserInterface/Images/FolderGeneric@2x.png: |
| * UserInterface/Images/ForwardArrow.pdf: |
| * UserInterface/Images/Function.pdf: |
| * UserInterface/Images/GoToArrow.pdf: |
| * UserInterface/Images/HierarchicalNavigationItemChevron.pdf: |
| * UserInterface/Images/IndeterminateProgressSpinner1.pdf: |
| * UserInterface/Images/IndeterminateProgressSpinner10.pdf: |
| * UserInterface/Images/IndeterminateProgressSpinner11.pdf: |
| * UserInterface/Images/IndeterminateProgressSpinner12.pdf: |
| * UserInterface/Images/IndeterminateProgressSpinner2.pdf: |
| * UserInterface/Images/IndeterminateProgressSpinner3.pdf: |
| * UserInterface/Images/IndeterminateProgressSpinner4.pdf: |
| * UserInterface/Images/IndeterminateProgressSpinner5.pdf: |
| * UserInterface/Images/IndeterminateProgressSpinner6.pdf: |
| * UserInterface/Images/IndeterminateProgressSpinner7.pdf: |
| * UserInterface/Images/IndeterminateProgressSpinner8.pdf: |
| * UserInterface/Images/IndeterminateProgressSpinner9.pdf: |
| * UserInterface/Images/InstructionPointer.png: |
| * UserInterface/Images/InstructionPointer@2x.png: |
| * UserInterface/Images/Issues.svg: |
| * UserInterface/Images/IssuesEnabled.svg: |
| * UserInterface/Images/LayerBorders.pdf: |
| * UserInterface/Images/LessColumns.pdf: |
| * UserInterface/Images/LocalStorage.png: |
| * UserInterface/Images/LocalStorage@2x.png: |
| * UserInterface/Images/Locked.pdf: |
| * UserInterface/Images/Log.png: |
| * UserInterface/Images/Log@2x.png: |
| * UserInterface/Images/Logs.svg: |
| * UserInterface/Images/Memory.svg: |
| * UserInterface/Images/MoreColumns.pdf: |
| * UserInterface/Images/NavigationItemAngleBrackets.pdf: |
| * UserInterface/Images/NavigationItemBrushAndRuler.pdf: |
| * UserInterface/Images/NavigationItemBug.pdf: |
| * UserInterface/Images/NavigationItemCurleyBraces.pdf: |
| * UserInterface/Images/NavigationItemFile.pdf: |
| * UserInterface/Images/NavigationItemLayers.pdf: |
| * UserInterface/Images/NavigationItemLog.pdf: |
| * UserInterface/Images/NavigationItemMagnifyingGlass.pdf: |
| * UserInterface/Images/NavigationItemStopwatch.pdf: |
| * UserInterface/Images/NavigationItemStorage.pdf: |
| * UserInterface/Images/NavigationItemTrash.pdf: |
| * UserInterface/Images/NavigationItemVariable.pdf: |
| * UserInterface/Images/Network.png: |
| * UserInterface/Images/Network@2x.png: |
| * UserInterface/Images/NetworkBarBlue.png: |
| * UserInterface/Images/NetworkBarBlue@2x.png: |
| * UserInterface/Images/NetworkBarGray.png: |
| * UserInterface/Images/NetworkBarGray@2x.png: |
| * UserInterface/Images/NetworkBarGreen.png: |
| * UserInterface/Images/NetworkBarGreen@2x.png: |
| * UserInterface/Images/NetworkBarLabelCalloutLeft.pdf: |
| * UserInterface/Images/NetworkBarLabelCalloutRight.pdf: |
| * UserInterface/Images/NetworkBarLabelCalloutWhiteLeft.pdf: |
| * UserInterface/Images/NetworkBarLabelCalloutWhiteRight.pdf: |
| * UserInterface/Images/NetworkBarOrange.png: |
| * UserInterface/Images/NetworkBarOrange@2x.png: |
| * UserInterface/Images/NetworkBarPurple.png: |
| * UserInterface/Images/NetworkBarPurple@2x.png: |
| * UserInterface/Images/NetworkBarRed.png: |
| * UserInterface/Images/NetworkBarRed@2x.png: |
| * UserInterface/Images/NetworkBarWhiteFlat.png: |
| * UserInterface/Images/NetworkBarWhiteFlat@2x.png: |
| * UserInterface/Images/NetworkBarYellow.png: |
| * UserInterface/Images/NetworkBarYellow@2x.png: |
| * UserInterface/Images/NetworkHollowBarBlue.png: |
| * UserInterface/Images/NetworkHollowBarBlue@2x.png: |
| * UserInterface/Images/NetworkHollowBarGray.png: |
| * UserInterface/Images/NetworkHollowBarGray@2x.png: |
| * UserInterface/Images/NetworkHollowBarGreen.png: |
| * UserInterface/Images/NetworkHollowBarGreen@2x.png: |
| * UserInterface/Images/NetworkHollowBarOrange.png: |
| * UserInterface/Images/NetworkHollowBarOrange@2x.png: |
| * UserInterface/Images/NetworkHollowBarPurple.png: |
| * UserInterface/Images/NetworkHollowBarPurple@2x.png: |
| * UserInterface/Images/NetworkHollowBarRed.png: |
| * UserInterface/Images/NetworkHollowBarRed@2x.png: |
| * UserInterface/Images/NetworkHollowBarYellow.png: |
| * UserInterface/Images/NetworkHollowBarYellow@2x.png: |
| * UserInterface/Images/Pause.pdf: |
| * UserInterface/Images/Percent.pdf: |
| * UserInterface/Images/Plus.pdf: |
| * UserInterface/Images/Profile.png: |
| * UserInterface/Images/Profile@2x.png: |
| * UserInterface/Images/PseudoElement.pdf: |
| * UserInterface/Images/Recording.png: |
| * UserInterface/Images/Recording@2x.png: |
| * UserInterface/Images/RecordingHovered.png: |
| * UserInterface/Images/RecordingHovered@2x.png: |
| * UserInterface/Images/RecordingStopped.png: |
| * UserInterface/Images/RecordingStopped@2x.png: |
| * UserInterface/Images/Reflection.pdf: |
| * UserInterface/Images/Reload.svg: |
| * UserInterface/Images/ReloadSelected.svg: |
| * UserInterface/Images/Request.pdf: |
| * UserInterface/Images/Resources.svg: |
| * UserInterface/Images/Response.pdf: |
| * UserInterface/Images/ResultLine.pdf: |
| * UserInterface/Images/Resume.pdf: |
| * UserInterface/Images/Script.png: |
| * UserInterface/Images/Script@2x.png: |
| * UserInterface/Images/SessionStorage.png: |
| * UserInterface/Images/SessionStorage@2x.png: |
| * UserInterface/Images/ShadowDOM.pdf: |
| * UserInterface/Images/SortIndicatorDownArrow.pdf: |
| * UserInterface/Images/SortIndicatorUpArrow.pdf: |
| * UserInterface/Images/SourceCode.pdf: |
| * UserInterface/Images/SplitToggleDown.pdf: |
| * UserInterface/Images/SplitToggleUp.pdf: |
| * UserInterface/Images/StepInto.pdf: |
| * UserInterface/Images/StepOut.pdf: |
| * UserInterface/Images/StepOver.pdf: |
| * UserInterface/Images/Stopwatch.png: |
| * UserInterface/Images/Stopwatch@2x.png: |
| * UserInterface/Images/StyleRuleAuthor.pdf: |
| * UserInterface/Images/StyleRuleInherited.pdf: |
| * UserInterface/Images/StyleRuleInheritedElement.pdf: |
| * UserInterface/Images/StyleRuleInspector.pdf: |
| * UserInterface/Images/StyleRuleUser.pdf: |
| * UserInterface/Images/StyleRuleUserAgent.pdf: |
| * UserInterface/Images/Time.svg: |
| * UserInterface/Images/TimelineBarBlue.png: |
| * UserInterface/Images/TimelineBarBlue@2x.png: |
| * UserInterface/Images/TimelineBarOrange.png: |
| * UserInterface/Images/TimelineBarOrange@2x.png: |
| * UserInterface/Images/TimelineBarPurple.png: |
| * UserInterface/Images/TimelineBarPurple@2x.png: |
| * UserInterface/Images/Undock.pdf: |
| * UserInterface/Images/UpDownArrows.svg: |
| * UserInterface/Images/UserInputPrompt.pdf: |
| * UserInterface/Images/UserInputPromptPrevious.pdf: |
| * UserInterface/Images/UserInputPromptPreviousSelected.pdf: |
| * UserInterface/Images/UserInputResult.pdf: |
| * UserInterface/Images/UserInputResultSelected.pdf: |
| * UserInterface/Images/Warning.pdf: |
| * UserInterface/Images/WarningSmall.pdf: |
| * UserInterface/Images/Weight.svg: |
| |
| 2013-05-24 Timothy Hatcher <timothy@apple.com> |
| |
| Workaround an error with minifying the Web Inspector. |
| |
| jsmin.py does not like: return //.test(); |
| |
| <rdar://problem/13983475> REGRESSION(r51583): Cannot show web inspector in recent spades |
| |
| * UserInterface/External/CodeMirror/codemirror.js: |
| (window.CodeMirror): |
| |
| 2013-05-23 Timothy Hatcher <timothy@apple.com> |
| |
| Update CodeMirror from 3.12 to 3.13. |
| |
| Include the new comment.js addon and hook it up to Command-/. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Scripts/update-codemirror-resources.rb: Added comment.js. |
| * UserInterface/CodeMirrorAdditions.js: |
| * UserInterface/External/CodeMirror/clojure.js: |
| * UserInterface/External/CodeMirror/codemirror.css: |
| * UserInterface/External/CodeMirror/codemirror.js: |
| * UserInterface/External/CodeMirror/coffeescript.js: |
| * UserInterface/External/CodeMirror/comment.js: Added. |
| * UserInterface/External/CodeMirror/css.js: |
| * UserInterface/External/CodeMirror/javascript.js: |
| * UserInterface/External/CodeMirror/less.js: |
| * UserInterface/External/CodeMirror/placeholder.js: |
| * UserInterface/External/CodeMirror/runmode.js: |
| * UserInterface/External/CodeMirror/sass.js: |
| * UserInterface/External/CodeMirror/searchcursor.js: |
| * UserInterface/External/CodeMirror/sql.js: |
| * UserInterface/External/CodeMirror/xml.js: |
| * UserInterface/Main.html: Include comment.js. |
| |
| 2013-05-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13972577> ER: when deleting break points on a file, don't move up if you can't delete |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel.prototype._breakpointTreeOutlineDeleteTreeElement): |
| |
| 2013-05-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/7545262> Command-E should put selected text in the search box |
| |
| Don't implicitly preventDefault with the keyboard shortcut. This allows the |
| default behavior of populating the system find pasteboard. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/FindBanner.js: |
| (WebInspector.FindBanner): |
| |
| 2013-05-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/7545262> Command-E should put selected text in the search box |
| |
| Pass the "changeFocus" parameter through the internal cursor relative reveal functions. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.revealPreviousSearchResult): |
| (WebInspector.TextEditor.prototype.revealNextSearchResult): |
| (WebInspector.TextEditor.prototype._revealFirstSearchResultBeforeCursor): |
| (WebInspector.TextEditor.prototype._revealFirstSearchResultAfterCursor): |
| |
| 2013-05-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/7545262> Command-E should put selected text in the search box |
| |
| Instead of continuing the binary search when we encounter an invalid entry, |
| just break out immediately. This way we can revalidate all of the search results |
| and accurately search forward or back. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/CodeMirrorAdditions.js: |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype._binarySearchInsertionIndexInSearchResults): |
| (WebInspector.TextEditor.prototype._revealFirstSearchResultBeforeCursor): |
| (WebInspector.TextEditor.prototype._revealFirstSearchResultAfterCursor): |
| (WebInspector.TextEditor.prototype._cursorDoesNotMatchLastRevealedSearchResult): |
| (WebInspector.TextEditor.prototype._revalidateSearchResults): |
| |
| 2013-05-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/7545262> Command-E should put selected text in the search box |
| |
| Clear the automaticallyRevealFirstSearchResult state after revealing a search term. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TextEditor.js: |
| |
| 2013-05-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/7545262> Command-E should put selected text in the search box |
| |
| When searching forwards and backwards search relative to the current cursor position. |
| If we were already on a particular result we can keep the old path and just move |
| forward / back in the result list. Otherwise we binary search the closest position |
| to the cursor. Because results can be removed in the search path we have a |
| bit of added complexity. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.set automaticallyRevealFirstSearchResult): |
| (WebInspector.TextEditor.prototype.addSearchResults.markRanges): |
| When automatically revealing, do so relative to the cursor. |
| |
| (WebInspector.TextEditor.prototype.revealPreviousSearchResult): |
| (WebInspector.TextEditor.prototype.revealNextSearchResult): |
| (WebInspector.TextEditor.prototype._cursorDoesNotMatchLastRevealedSearchResult): |
| If we don't have a search result index, or if the cursor moved off |
| of the last search result index, search relative to the cursor. |
| |
| (WebInspector.TextEditor.prototype._comparePositions): |
| (WebInspector.TextEditor.prototype._binarySearchInsertionIndexInSearchResults): |
| (WebInspector.TextEditor.prototype._revealFirstSearchResultBeforeCursor): |
| (WebInspector.TextEditor.prototype._revealFirstSearchResultAfterCursor): |
| Binary search search results handling the possibility that a search result |
| could be null. I'm not sure if this works perfectly in such cases, but |
| it worked fine in practice. |
| |
| (WebInspector.TextEditor.prototype._revalidateSearchResults): |
| When we try to traverse to a search result and it was deleted, revalidate |
| all the search results. This can happen if in a CSS file and the user |
| deleted some instances of a search result. |
| |
| 2013-05-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/7545262> Command-E should put selected text in the search box |
| |
| Step 1, make Command+E populate the FindBanner's search query, and silently |
| perform the search so that Command+G and Shift+Command+G work. Expose a |
| new ContentView method "searchQueryWithSelection" to get a search query |
| from the selection in that ContentView. This currently only works with |
| TextEditor ContentViews. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/FindBanner.js: |
| (WebInspector.FindBanner): Add the keyboard shortcut. |
| (WebInspector.FindBanner.prototype._populateSearchQueryFromSelection): |
| Ask the delegate (ContentBrowser) for a search query from selection. |
| If we get one, silently perform a search. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.searchQueryWithSelection): |
| Get the selection from CodeMirror and return that. |
| |
| * UserInterface/ContentView.js: |
| (WebInspector.ContentView.prototype.searchQueryWithSelection): |
| Default implementation returns null, meaning no change. |
| |
| * UserInterface/ClusterContentView.js: |
| (WebInspector.ClusterContentView.prototype.searchQueryWithSelection): |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser.prototype.findBannerSearchQueryForSelection): |
| * UserInterface/ScriptContentView.js: |
| (WebInspector.ScriptContentView.prototype.searchQueryWithSelection): |
| * UserInterface/TextContentView.js: |
| (WebInspector.TextContentView.prototype.searchQueryWithSelection): |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView.prototype.searchQueryWithSelection): |
| Plumbing the message down the content views heirarchy. |
| |
| 2013-05-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Remove unnecessary return for setter. |
| |
| This was just a copy / paste error from when it was originally written. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ClusterContentView.js: |
| (WebInspector.ClusterContentView.prototype.set automaticallyRevealFirstSearchResult): |
| |
| 2013-05-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Remove unused instance variable TextEditor._pendingSearchResultLineNumbers |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor): |
| |
| 2013-05-22 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13961791> Stopping recording clears the timeline |
| |
| It actually seems like a non-main frame resource change causes the |
| timeline to clear. Only clear on main frame main resource changes. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TimelineManager.js: |
| (WebInspector.TimelineManager.prototype._mainResourceDidChange): |
| |
| 2013-05-22 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/12837326> REGRESSION: Content just displays a spinner when it stops on a breakpoint during load |
| |
| When a BreakpointTreeElement is selected and the page is reloaded the |
| breakpoint tree elements are removed. When removing the tree element |
| the parent, ResourceTreeElement, was selected and the tree outline |
| created a content view to show for that resource. This content view |
| was being orphaned and replaced when new resources were loaded. |
| |
| We never want to create a content view for a Script/ResourceTreeElement |
| in the DebuggerSidebarPanel when it has no children. That is a sign |
| that the tree element is about to be deleted. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel.prototype._treeElementSelected): |
| |
| 2013-05-22 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/12837326> REGRESSION: Content just displays a spinner when it stops on a breakpoint during load |
| |
| Prevent the populate with script content path from requesting content |
| multiple times. This is just an optimization to prevent duplicated work. |
| This can happen the first time the debugger is paused, by setting the |
| active call frame, opening the resource, and then triggering the active |
| call frame did change notification. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameDidChange): |
| (WebInspector.SourceCodeTextEditor.prototype._populateWithInlineScriptContent.scriptContentAvailable): |
| (WebInspector.SourceCodeTextEditor.prototype._populateWithInlineScriptContent): |
| (WebInspector.SourceCodeTextEditor.prototype._populateWithScriptContent): |
| |
| 2013-05-22 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/12837326> REGRESSION: Content just displays a spinner when it stops on a breakpoint during load |
| |
| On iOS 6, when associating a Script with a Resource also update the type |
| to be Script, that way the resource will get a TextResourceContentView |
| instead of a GeneralResourceContentView and fall into the existing path |
| that will fetch Script Source for an editor when it is on a breakpoint |
| and cannot load the resource content. |
| |
| Also, replace instances of "scriptsForResource" with the new scripts |
| accessor on WebInspector.Resource. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype.breakpointsForSourceCode): |
| * UserInterface/Resource.js: |
| (WebInspector.Resource.prototype.associateWithScript): |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorUpdatedFormatting): |
| |
| 2013-05-22 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/12837326> REGRESSION: Content just displays a spinner when it stops on a breakpoint during load |
| |
| Never loading content while on a breakpoint is possible in scripts if |
| the backend is paused executing the script before it has sent the |
| frontend information that the resource has finished loading. In these |
| cases, it is still possible for the frontend to get the "script source" |
| instead of the "resource content". These patches do that. |
| |
| Start by creating an association between WebInspector.Resource and |
| WebInspector.Script. The order of events is always such that the Resource |
| is created first: |
| |
| - Network.requestWillBeSent => create WebInspector.Resource |
| - Debugger.scriptParsed => create WebInspector.Script |
| |
| So associate a Script with a Resource, if there is one, when the Script |
| is created. Currently we can only create the association with URLs, |
| which is not perfect if resources have the same URL but different |
| contents. That has never worked perfectly. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Script.js: |
| (WebInspector.Script): |
| (WebInspector.Script.prototype.get resource): |
| (WebInspector.Script.prototype.requestContentFromBackend): |
| (WebInspector.Script.prototype._resolveResource): |
| On creation associate with a Resource via URL. |
| |
| * UserInterface/Resource.js: |
| (WebInspector.Resource.prototype.get scripts): |
| (WebInspector.Resource.prototype.associateWithScript): |
| Allow a Script to associate with this resource. |
| |
| * UserInterface/FrameResourceManager.js: |
| Remove "resourceForScript". Script's now have a resource property. |
| |
| * UserInterface/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel.prototype._scriptAdded): |
| * UserInterface/Main.js: |
| (WebInspector.linkifyLocation): |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype.showSourceCode): |
| (WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded): |
| * UserInterface/ScriptContentView.js: |
| (WebInspector.ScriptContentView): |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointToggled): |
| * UserInterface/SourceMapManager.js: |
| (WebInspector.SourceMapManager.prototype._loadAndParseSucceeded): |
| Refactor to the simpler script.resource. |
| |
| 2013-05-21 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Remove generic event listeners when ClusterContentViews are closed. |
| |
| Some event listeners were removed, but not all. This would have |
| caused the cluster content views to be leaked. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ClusterContentView.js: |
| (WebInspector.ClusterContentView.prototype.closed): |
| |
| 2013-05-21 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Remove the concept of left and right navigation items. |
| |
| They are unused. So just remove them. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser): |
| (WebInspector.ContentBrowser.prototype._updateContentViewNavigationItems): |
| * UserInterface/Sidebar.js: |
| (WebInspector.Sidebar): |
| |
| 2013-05-22 Timothy Hatcher <timothy@apple.com> |
| |
| Fix auto complete property caching. |
| |
| <rdar://problem/13961832> Autocomplete of function return value causes side-effects multiple times |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/JavaScriptLogViewController.js: |
| |
| 2013-05-21 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13948862> REGRESSION (r150395): Sticky headers are mis-positioned |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DetailsSection.css: |
| (.details-section > .header): |
| (.details-section .details-section > .header): |
| Position and layer the headers correctly such that they snap to |
| the right position when scrolling. |
| |
| * UserInterface/Main.js: |
| (WebInspector.updateDockedState): |
| (WebInspector._toolbarDisplayModeDidChange): |
| (WebInspector._toolbarSizeModeDidChange): |
| Remove unnecessary code now that sticky-positioned elements behave |
| as expected in Òoverflow: scrollÓ elements. |
| |
| 2013-05-21 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13941438> Debugger popovers should prefer placement to the bottom/right over left to not cover expression |
| |
| Reviewed by Timothy Hatcher. |
| |
| Let Popover.present() be provided with a list of preferred edges in order |
| of preference and let the source code popovers prefer layout above, below and on |
| the right, in this order. |
| |
| * UserInterface/Breakpoint.js: |
| (WebInspector.Breakpoint.prototype._showEditBreakpointPopover): |
| * UserInterface/LayerTreeSidebarPanel.js: |
| (WebInspector.LayerTreeSidebarPanel.prototype._updatePopoverForSelectedNode): |
| Adopt new Popover.present() parameter type. |
| |
| * UserInterface/Popover.js: |
| (WebInspector.Popover): |
| (WebInspector.Popover.prototype.present): |
| Rename ÒpreferredEdgeÓ to ÒpreferredEdgesÓ (plural). |
| |
| (WebInspector.Popover.prototype._update): |
| Instead of gathering metrics sorted by keys, gather them sorted in the |
| order of preference provided by the ÒpreferredEdgesÓ argument. |
| |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype._showPopover): |
| Adopt new Popover.present() parameter type and provide the desired list |
| of preferred edges in order. |
| |
| 2013-05-20 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13945892> Console messages not working with iOS 6 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Don't use the enums right now. They were not generated for the iOS 6 |
| InspectorBackend commands file. In the future we should generate it |
| for Legacy systems as well as trunk, and use constants instead of |
| magic values in code. |
| |
| * UserInterface/ConsoleObserver.js: |
| (WebInspector.ConsoleObserver.prototype.messageAdded): |
| |
| 2013-05-19 Timothy Hatcher <timothy@apple.com> |
| |
| Prevent selection and deselect all messages when clicking disclosure triangles in the console. |
| |
| This mostly worked before, but if a selection did happen it wouldn't go away by itself. Now |
| it will go away if a disclosure triangle is clicked. Also the initial focus mouse down always |
| selected the row, now it does not. |
| |
| <rdar://problem/13839762> REGRESSION: When inspecting an object in the console, the entire object becomes highlighted |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ConsoleGroup.js: |
| (WebInspector.ConsoleGroup.prototype.addMessage): |
| (WebInspector.ConsoleGroup.prototype._titleMouseDown): Added. |
| (WebInspector.ConsoleGroup.prototype._titleClicked): |
| Don't select a group row when the title is clicked. |
| |
| * UserInterface/DOMTreeOutline.js: |
| (WebInspector.DOMTreeOutline.prototype._onmousedown): |
| Prevent default instead of stopping propagation. |
| |
| * UserInterface/LogContentView.css: |
| (.outline-disclosure li.parent::before): |
| Drive by disclosure triangle position tweak. |
| |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView.prototype._mousedown): |
| Check for defaultPrevented and deselect all messages. |
| |
| * UserInterface/TreeOutline.js: |
| (TreeElement.treeElementMouseDown): |
| Prevent default instead of stopping propagation. |
| |
| 2013-05-19 Timothy Hatcher <timothy@apple.com> |
| |
| Fix the issue where console logs would overlap on reload. |
| |
| Rejigger the console elements so the flex element can grow to fit and the parent does the scrolling. |
| |
| <rdar://problem/13932826> REGRESSION (r147261): Reloading page causes overlapping console logs (116404) |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController): |
| (WebInspector.JavaScriptLogViewController.prototype.isScrolledToBottom): |
| (WebInspector.JavaScriptLogViewController.prototype.scrollToBottom.delayedWork): |
| (WebInspector.JavaScriptLogViewController.prototype.scrollToBottom): |
| * UserInterface/LogContentView.css: |
| (.content-view.log): |
| (.console-messages): |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView): |
| (WebInspector.LogContentView.prototype.updateLayout): |
| (WebInspector.LogContentView.prototype.get scrollableElements): |
| (WebInspector.LogContentView.prototype._ensureMessageIsVisible): |
| (WebInspector.LogContentView.prototype._positionForMessage): |
| |
| 2013-05-18 Timothy Hatcher <timothy@apple.com> |
| |
| Make prefixed keywords syntax highlight correctly. |
| |
| CodeMirror parses the vendor prefix separate from the property or keyword name, |
| so we need to strip vendor prefixes from our all our names, not just properties. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSCompletions.js: |
| (WebInspector.CSSCompletions.requestCSSNameCompletions.nameForCodeMirror): |
| (WebInspector.CSSCompletions.requestCSSNameCompletions.collectPropertyNameForCodeMirror): |
| |
| 2013-05-18 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13774412> Update CSSKeywordCompletions.js for Curie + iOS |
| |
| This is a pretty mechanical update to CSS autocompletion suggestions. |
| Also fix suggestions not working for "-webkit-" properties. |
| |
| Most of this list was manually generated by looking at specifications |
| and walking CSSParser::parseValue, isValidKeywordPropertyAndValue, |
| CSSProperty::isInheritedProperty, the related .in files, and a bit |
| of sleuthing. It is not meant to be perfect, webkit differs from |
| specs slightly and doesn't implement all properties, but it does |
| a better job than before. |
| |
| Rubber-stamped by Timothy Hatcher. |
| |
| * UserInterface/CSSKeywordCompletions.js: |
| (WebInspector.CSSKeywordCompletions.forProperty): |
| |
| 2013-05-17 Timothy Hatcher <timothy@apple.com> |
| |
| Drop -webkit- prefixes from CSS properties that no longer require them. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDeclarationSection.css: |
| * UserInterface/CodeMirrorOverrides.css: |
| * UserInterface/DOMTreeOutline.css: |
| * UserInterface/Editing.css: |
| * UserInterface/LogContentView.css: |
| * UserInterface/Main.css: |
| * UserInterface/NavigationSidebarPanel.css: |
| * UserInterface/Section.css: |
| * UserInterface/TimelinesContentView.css: |
| |
| 2013-05-17 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13919974> 11A368: Instruments tab of RWI is almost empty when loading apple.com on device |
| |
| Fix a typo in the constant name. It was using a non-existent constant |
| which resulted in a 0ms timeout instead of the intended 15s. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TimelineManager.js: |
| (WebInspector.TimelineManager.prototype._startAutoRecording): |
| |
| 2013-05-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13917982> Inconsistency between right-clicking and control-clicking in Debugger gutter |
| |
| Ignore "Ctrl + Left Click" in more places: |
| |
| * in drag / resize scenarios |
| * text editor gutter on a breakpoint |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DataGrid.js: |
| (WebInspector.DataGrid.prototype._startResizerDragging): |
| (WebInspector.DataGrid.prototype._resizerDragging): |
| (WebInspector.DataGrid.prototype._endResizerDragging): |
| * UserInterface/Main.js: |
| (WebInspector._dockedResizerMouseDown.dockedResizerDrag): |
| (WebInspector._dockedResizerMouseDown.dockedResizerDragEnd): |
| (WebInspector._dockedResizerMouseDown): |
| (WebInspector._moveWindowMouseDown.toolbarDrag): |
| (WebInspector._moveWindowMouseDown.toolbarDragEnd): |
| (WebInspector._moveWindowMouseDown): |
| * UserInterface/Sidebar.js: |
| (WebInspector.Sidebar.prototype._resizerMouseDown): |
| (WebInspector.Sidebar.prototype._resizerMouseUp): |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype._gutterMouseDown): |
| |
| 2013-05-17 Timothy Hatcher <timothy@apple.com> |
| |
| Make clicking completions work again in the Style details sidebar. |
| |
| <rdar://problem/13919341> REGRESSION: Mouse clicking a CSS autocompletion suggestion no longer works |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._editorBlured): |
| Clicking a suggestion causes the editor to blur. We don't want to reset content in this case. |
| |
| * UserInterface/CodeMirrorCompletionController.js: |
| (WebInspector.CodeMirrorCompletionController.prototype.isHandlingClickEvent): Added. |
| (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions): Use this.isHandlingClickEvent(). |
| |
| 2013-05-16 Timothy Hatcher <timothy@apple.com> |
| |
| Reset the branches when the main frame navigates. |
| |
| This makes sure the SourceCodeRevisions don't stick around between page loads and take up memory. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/BranchManager.js: |
| (WebInspector.BranchManager): |
| (WebInspector.BranchManager.prototype.initialize): |
| (WebInspector.BranchManager.prototype.deleteBranch): |
| (WebInspector.BranchManager.prototype._mainResourceDidChange): |
| |
| 2013-05-16 Timothy Hatcher <timothy@apple.com> |
| |
| Some random style tweaks. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDeclarationSection.css: |
| (.style-declaration-section > .header): Smaller top margin to align with the icon better. |
| * UserInterface/CodeMirrorOverrides.css: |
| (.CodeMirror .CodeMirror-gutters): Lighter border color to match Xcode 5. |
| |
| 2013-05-16 Timothy Hatcher <timothy@apple.com> |
| |
| Fix a case where we would enter an infinite loop, consuming memory and hang. |
| |
| <rdar://problem/13911608> REGRESSION (r50998): Massive memory growth and hanging (115811) |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Resource.js: |
| (WebInspector.Resource.prototype.updateForRedirectResponse): |
| (WebInspector.Resource.prototype.updateForResponse): |
| (WebInspector.Resource.prototype.increaseSize): |
| (WebInspector.Resource.prototype.markAsFinished): |
| (WebInspector.Resource.prototype.markAsFailed): |
| Timestamps are expected to be NaN instead of null. This wasn't an issue before because |
| the timeline code didn't use these timestamps. Now Resource.firstTimestamp uses them, |
| which is used by ResourceTimelineRecord.startTime. |
| |
| 2013-05-15 Timothy Hatcher <timothy@apple.com> |
| |
| Allow Command-K to clear the console anywhere in the Inspector. |
| |
| <rdar://problem/13888241> Command-K doesn't clear the Console unless it has focus |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController): |
| |
| 2013-05-15 Timothy Hatcher <timothy@apple.com> |
| |
| Fix the Save As... keyboard shortcut. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser): |
| Don't require the Option key. It is Command-Shift-S. |
| |
| 2013-05-15 Timothy Hatcher <timothy@apple.com> |
| |
| Make clicking the console icons in the dashboard toggle the scope. |
| |
| <rdar://problem/13884713> Improve console filtering via the dashboard buttons |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/Main.js: |
| (WebInspector.showFullHeightConsole): |
| If the requested scope is already selected and the console is showing, then switch back to All. |
| |
| 2013-05-15 Timothy Hatcher <timothy@apple.com> |
| |
| Make the tab key commit the completion of there is only one suggestion. |
| |
| <rdar://problem/13897001> REGRESSION (Safari 6): Tab to accept autocomplete with 1 result |
| should dismiss completion suggestions popover |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/CodeMirrorCompletionController.js: |
| (WebInspector.CodeMirrorCompletionController.prototype._handleTabKey): |
| Commit the current completion if there is only one suggestion. |
| |
| 2013-05-14 Timothy Hatcher <timothy@apple.com> |
| |
| Always evaluate the console prompt if the cursor is not at the last position. |
| |
| <rdar://problem/13854691> New Return key behavior in Web Inspector breaks my typical usage |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ConsolePrompt.js: |
| (WebInspector.ConsolePrompt.prototype._handleEnterKey): |
| * UserInterface/JavaScriptLogViewController.js: |
| |
| 2013-05-14 Timothy Hatcher <timothy@apple.com> |
| |
| Update Frame.securityOrigin when committing the provisional load. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Frame.js: |
| (WebInspector.Frame.prototype.commitProvisionalLoad): |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype.frameDidNavigate): |
| |
| 2013-05-14 Timothy Hatcher <timothy@apple.com> |
| |
| Add DOMStorage when the main resource changes. |
| |
| <rdar://problem/13844066> REGRESSION: If the Web Inspector is displayed when you refresh the page, local and session storage is not visible |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/StorageManager.js: |
| (WebInspector.StorageManager.prototype._mainResourceDidChange): |
| (WebInspector.StorageManager.prototype._addDOMStorageIfNeeded): |
| (WebInspector.StorageManager.prototype._securityOriginDidChange): |
| |
| 2013-05-13 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13876379> Pretty printing while paused in the debugger loses the execution line |
| |
| When pretty printing we replace the entire contents of the editor. If |
| the display location didn't change at all, then when we re-set the |
| execution line number, we wouldn't update the style on the line. |
| |
| This change makes updating the execution line more of the TextEditor's |
| responsibility on a pretty print. Previously it was working in most cases |
| but now it should always work as long as the TextEditor has been given |
| an accurate execution line and column number. In pretty print we delete |
| the execution line handle so we are guaranteed to recreate it. |
| |
| Just in case, also update SourceCodeLocation to listen to any location |
| changes, not just display location changes. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype.close): |
| (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameDidChange): |
| (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameSourceCodeLocationChanged): |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor): |
| (WebInspector.TextEditor.prototype.get executionColumnNumber): |
| (WebInspector.TextEditor.prototype.set executionColumnNumber): |
| |
| 2013-05-13 Timothy Hatcher <timothy@apple.com> |
| |
| Fix the shortcut for the Layer details sidebar panel. |
| |
| Also fix the naming of the toolbar buttons for the Style details sidebar and |
| Layer details sidebar so they are plural while the name in the tooltip is still singular. |
| |
| <rdar://problem/13871872> Layers details sidebar shortcut should be control-shift-4, not control-shift-5 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/ApplicationCacheDetailsSidebarPanel.js: |
| (WebInspector.ApplicationCacheDetailsSidebarPanel): |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel): |
| * UserInterface/DOMDetailsSidebarPanel.js: |
| (WebInspector.DOMDetailsSidebarPanel): |
| * UserInterface/DOMNodeDetailsSidebarPanel.js: |
| (WebInspector.DOMNodeDetailsSidebarPanel): |
| * UserInterface/DetailsSidebarPanel.js: |
| (WebInspector.DetailsSidebarPanel): |
| * UserInterface/LayerTreeSidebarPanel.js: |
| (WebInspector.LayerTreeSidebarPanel): |
| * UserInterface/ResourceDetailsSidebarPanel.js: |
| (WebInspector.ResourceDetailsSidebarPanel): |
| * UserInterface/ScopeChainDetailsSidebarPanel.js: |
| (WebInspector.ScopeChainDetailsSidebarPanel): |
| |
| 2013-05-13 Timothy Hatcher <timothy@apple.com> |
| |
| Tweak the console completions to work as expected in more cases. |
| |
| Also prevent empty prefix completions unless it is the start of property access. |
| This was a regression from the fix for <rdar://problem/13860627>. |
| |
| <rdar://problem/13871885> Command-line API functions don't autocomplete when passed as parameter |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CodeMirrorCompletionController.js: |
| (WebInspector.CodeMirrorCompletionController.prototype._completeAtCurrentPosition): |
| * UserInterface/ConsolePrompt.js: |
| (WebInspector.ConsolePrompt.prototype.completionControllerCompletionsNeeded): |
| * UserInterface/JavaScriptLogViewController.js: |
| |
| 2013-05-12 Timothy Hatcher <timothy@apple.com> |
| |
| Update the toolbar height so the save sheet is positioned correctly and window gradient is accurate. |
| |
| <rdar://problem/13871067> Save sheet on the Web Inspector does not come out from under the toolbar |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| (WebInspector.updateDockedState): |
| (WebInspector._updateToolbarHeight): |
| (WebInspector._toolbarDisplayModeDidChange): |
| (WebInspector._toolbarSizeModeDidChange): |
| |
| 2013-05-13 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Improve String.prototype.startsWith to not search the entire string. |
| |
| Using the optional second parameter of lastIndexOf we can only search |
| for a substring from index 0, and not check the rest of the string. |
| |
| I also went through and replaced all uses of str.indexOf(...) === 0 with |
| str.startsWith(...), or if a single character str.charAt(0) === "?". |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/CSSCompletions.js: |
| (WebInspector.CSSCompletions.prototype.startsWith): |
| (WebInspector.CSSCompletions.prototype._firstIndexOfPrefix): |
| * UserInterface/CallFrameTreeElement.js: |
| (WebInspector.CallFrameTreeElement): |
| * UserInterface/CookieStorageContentView.js: |
| (WebInspector.cookieMatchesResourceURL): |
| * UserInterface/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.prototype._buildAttributeDOM): |
| * UserInterface/EditingSupport.js: |
| * UserInterface/InstrumentSidebarPanel.js: |
| (WebInspector.InstrumentSidebarPanel.prototype._titleForProfile): |
| * UserInterface/JavaScriptProfileView.js: |
| * UserInterface/Main.js: |
| (WebInspector.linkifyStringAsFragmentWithCustomLinkifier): |
| * UserInterface/Resource.js: |
| (WebInspector.Resource.Type.fromMIMEType): |
| * UserInterface/Utilities.js: |
| |
| 2013-05-13 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Make mailto: href links behave correctly. |
| |
| Test: data:text/html,<a href="mailto:pecoraro@apple.com?subject=email">Email Joe</a> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Utilities.js: |
| |
| 2013-05-13 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13572739> REGRESSION: Styles sidebar url(...) should have a way to jump to the resource |
| |
| TextEditor / SourceCodeTextEditor (most resources) already had behavior where |
| clicking a "link" would attempt to open it in the Inspector, and fallback to |
| opening a new browser tab for the URL. This hardens that behavior in the |
| "jump to symbol" case, and makes it work in the CSS Sidebar with Command+Click. |
| |
| To encourage editing in the style sidebar, style url(...)s as strings, |
| which is how they displayed before these patches. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype._openClickedLinks): |
| Cleanup the code a bit. |
| |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked): |
| Don't jump to symbol when clicking a link. Fallback to TextEditor's link opening behavior. |
| |
| * UserInterface/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype): |
| Handle jump to symbol when clicking a link to behave link TextEditor's link opening behavior. |
| |
| * UserInterface/CSSStyleDeclarationTextEditor.css: |
| (.css-style-text-editor > .CodeMirror .cm-link): |
| In the Style sidebar editors display links as strings by default. |
| |
| 2013-05-13 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13572739> REGRESSION: Styles sidebar url(...) should have a way to jump to the resource |
| |
| Add extendedCSSToken, modeled after extendedXMLToken to parse url(...) |
| links and give them a "link" style class. |
| |
| Normally CodeMirror parses "url", "(", <optionally quoted string>, ")". |
| We hook into this case and manually parse the optionally quoted string |
| ourselves so that we can handle quotes and whitespace exactly how we |
| want to. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/CodeMirrorAdditions.js: |
| |
| 2013-05-15 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13865123> REGRESSION: Incorrect link tokenization of unquoted src/href links - <img src=...> |
| |
| Handle unquoted attributes when we take over tokenization of link attribute values. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/CodeMirrorAdditions.js: |
| |
| 2013-05-11 Timothy Hatcher <timothy@apple.com> |
| |
| Make the tab behavior consistent among all CodeMirror editors. |
| |
| Making this a setting is tracked by <rdar://problem/10593948>. |
| |
| Reviewed by Darin Adler. |
| |
| * UserInterface/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor): |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor): |
| |
| 2013-05-11 Timothy Hatcher <timothy@apple.com> |
| |
| Allow editing any local file since edits can be saved and reloaded right from the Inspector. |
| |
| Reviewed by Dean Jackson. |
| |
| * UserInterface/ScriptContentView.js: |
| (WebInspector.ScriptContentView.prototype._contentWillPopulate): |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView.prototype._contentWillPopulate): |
| |
| 2013-05-11 Timothy Hatcher <timothy@apple.com> |
| |
| Support saving text resources and the console log to a local file. |
| |
| <rdar://problem/5827275> PARITY (Chrome Developer Tools): Add an option to save a resource locally |
| |
| Reviewed by Dean Jackson. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/ClusterContentView.js: |
| (WebInspector.ClusterContentView.prototype.get supportsSave): |
| (WebInspector.ClusterContentView.prototype.get saveData): |
| * UserInterface/ConsoleMessageImpl.js: |
| (WebInspector.ConsoleMessageImpl.prototype.toClipboardString): Always include the level. It was omitted |
| when we didn't have text range selection to make it easier to copy and paste. But we also include the |
| file and line info, so it was already has more info than just the message. |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser): |
| (WebInspector.ContentBrowser.prototype._saveDataToFile): |
| (WebInspector.ContentBrowser.prototype._save): |
| (WebInspector.ContentBrowser.prototype._saveAs): |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView.prototype.get supportsSave): |
| (WebInspector.LogContentView.prototype.get saveData): |
| (WebInspector.LogContentView.prototype.handleCopyEvent): |
| (WebInspector.LogContentView.prototype._formatMessagesAsData.var): |
| (WebInspector.LogContentView.prototype._formatMessagesAsData): |
| * UserInterface/ScriptContentView.js: |
| (WebInspector.ScriptContentView.prototype.get supportsSave): |
| (WebInspector.ScriptContentView.prototype.get saveData): |
| * UserInterface/TextContentView.js: |
| (WebInspector.TextContentView.prototype.get supportsSave): |
| (WebInspector.TextContentView.prototype.get saveData): |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView.prototype.get supportsSave): |
| (WebInspector.TextResourceContentView.prototype.get saveData): |
| |
| 2013-05-11 Timothy Hatcher <timothy@apple.com> |
| |
| Fix an exception I saw while navigating between pages. |
| |
| I only reproduced this once, but the fix is a simple null check. |
| I'm assuming close was called a second time. |
| |
| Reviewed by Anders Carlsson. |
| |
| * UserInterface/DOMTreeOutline.js: |
| (WebInspector.DOMTreeOutline.prototype.close): |
| |
| 2013-05-10 Timothy Hatcher <timothy@apple.com> |
| |
| Tweak layer borders icon. |
| |
| <rdar://problem/13717886> Two layers buttons with different meanings |
| |
| * UserInterface/Images/LayerBorders.pdf: |
| |
| 2013-05-10 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13769698> Should be a way to jump between SourceMap resource and Original resource |
| |
| Add a "jump to symbol" mode when the command key is down for the CSS |
| style sidebar to jump to the display CSS Resource. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.set style): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateJumpToSymbolTrackingMode): |
| Listen for GlobalModifierKeysDidChange events when the style for the |
| editor has an owner rule and that owner rule has a source code location. |
| |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked): |
| Jump to the display resource when clicking the highlighted range. |
| |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate): |
| Immediately highlight hovered ranges for jump to symbol mode. |
| |
| 2013-05-10 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13769698> Should be a way to jump between SourceMap resource and Original resource |
| |
| Add a "jump to symbol" mode when the command key is down, to quickly |
| jump between a SourceMapResource and the original resources for the |
| hovered token. This mode takes precedence over debugger popovers if |
| enabled (because the command key is pressed). |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor): |
| (WebInspector.SourceCodeTextEditor.prototype.hidden): |
| (WebInspector.SourceCodeTextEditor.prototype.close): |
| (WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate): |
| (WebInspector.SourceCodeTextEditor.prototype._shouldTrackTokenHovering): |
| Listen for GlobalModifierKeysDidChange events when this file has a source map |
| (either it is a SourceMapResource or it is a SourceCode with sourceMap resources). |
| |
| (WebInspector.SourceCodeTextEditor.prototype._startTrackingTokenHoveringIfNeeded): |
| (WebInspector.SourceCodeTextEditor.prototype._stopTrackingTokenHoveringIfNeeded): |
| (WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause): |
| (WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume): |
| (WebInspector.SourceCodeTextEditor.prototype._sourceCodeSourceMapAdded): |
| In SourceCodeTextEditors there are 2 possible reasons we may have hover tracking, |
| when on a breakpoint for JavaScript or in Jump To Symbol tracking mode. |
| |
| (WebInspector.SourceCodeTextEditor.prototype._updateJumpToSymbolTrackingMode): |
| (WebInspector.SourceCodeTextEditor.prototype._enableJumpToSymbolTrackingModeSettings): |
| (WebInspector.SourceCodeTextEditor.prototype._disableJumpToSymbolTrackingModeSettings): |
| Switch between and different tracking modes with different settings. |
| |
| (WebInspector.SourceCodeTextEditor.prototype._sourceCodeLocationForEditorPosition): |
| (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked): |
| When in jump to symbol mode, determine the sourceCodeLocation relating to the |
| token that was clicked and jump between resources. |
| |
| (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate): |
| When in jump to symbol mode, that takes precedence. Highlight just the hovered token. |
| |
| 2013-05-10 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13769698> Should be a way to jump between SourceMap resource and Original resource |
| |
| Move token tracking out of TextEditor into its own class with settings, |
| CodeMirrorTokenTrackingController. You can now set the token mode on |
| the controller to get different types of candidate hovered token results |
| back to the delegate (TextEditor subclass). |
| |
| The CodeMirrorTokenTrackingController can start/stop tracking, highlight |
| a given text range, set delays for mousing over and out of tokens before |
| actions are taken, and provide different candidates depending the chosen |
| mode. The current modes are: |
| |
| NonSymbolTokens - returns a candidate for just the hovered token. |
| JavaScriptExpression - returns a candidate for the hovered token with |
| extra information about the JavaScript expression ending at that token. |
| |
| When tracking is enabled, the delegate may be notified of changes: |
| |
| tokenTrackingControllerCanReleaseHighlightedRange - should remove the highlight |
| tokenTrackingControllerHighlightedRangeReleased - the highlight was removed |
| tokenTrackingControllerHighlightedRangeWasClicked - the highlight was clicked |
| tokenTrackingControllerNewHighlightCandidate - new hovered highlight candidate |
| |
| A plus side of this is that TextEditor now no longer knows about |
| "JavaScript". It shouldn't need to know about a certain mode of |
| content that it contains. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Main.html: |
| * UserInterface/CodeMirrorTokenTrackingController.css: Added. |
| (.CodeMirror .jump-to-symbol-highlight): Shared style for any type of editor. |
| * UserInterface/CodeMirrorTokenTrackingController.js: Added. |
| (WebInspector.CodeMirrorTokenTrackingController): |
| (WebInspector.CodeMirrorTokenTrackingController.prototype.get delegate): |
| (WebInspector.CodeMirrorTokenTrackingController.prototype.set delegate): |
| (WebInspector.CodeMirrorTokenTrackingController.prototype.get mode): |
| (WebInspector.CodeMirrorTokenTrackingController.prototype.set mode): |
| (WebInspector.CodeMirrorTokenTrackingController.prototype.get mouseOverDelayDuration): |
| (WebInspector.CodeMirrorTokenTrackingController.prototype.set mouseOverDelayDuration): |
| (WebInspector.CodeMirrorTokenTrackingController.prototype.get mouseOutReleaseDelayDuration): |
| (WebInspector.CodeMirrorTokenTrackingController.prototype.set mouseOutReleaseDelayDuration): |
| (WebInspector.CodeMirrorTokenTrackingController.prototype.get classNameForHighlightedRange): |
| (WebInspector.CodeMirrorTokenTrackingController.prototype.set classNameForHighlightedRange): |
| Different settings of the controller. |
| |
| (WebInspector.CodeMirrorTokenTrackingController.prototype.get tracking): |
| (WebInspector.CodeMirrorTokenTrackingController.prototype.get candidate): |
| Accessors for current state, but cannot be modified. |
| |
| (WebInspector.CodeMirrorTokenTrackingController.prototype.startTracking): |
| (WebInspector.CodeMirrorTokenTrackingController.prototype.stopTracking): |
| (WebInspector.CodeMirrorTokenTrackingController.prototype.highlightRange): |
| (WebInspector.CodeMirrorTokenTrackingController.prototype.removeHighlightedRange): |
| API to make use of the tracker to start/stop/highlight. |
| |
| (WebInspector.CodeMirrorTokenTrackingController.prototype.boundsForRange): |
| Helper for getting the bounds of a given codemirror text range. |
| |
| (WebInspector.CodeMirrorTokenTrackingController.prototype.handleEvent): |
| (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseMovedWithMarkedText): |
| (WebInspector.CodeMirrorTokenTrackingController.prototype._markedTextIsNoLongerHovered): |
| (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseMovedOverEditor): |
| (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseMovedOutOfEditor): |
| (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseButtonWasPressedOverEditor): |
| (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseButtonWasReleasedOverEditor): |
| (WebInspector.CodeMirrorTokenTrackingController.prototype._windowLostFocus): |
| Events handled while tracking. Very few changes. |
| |
| (WebInspector.CodeMirrorTokenTrackingController.prototype._processNewHoveredToken): |
| (WebInspector.CodeMirrorTokenTrackingController.prototype._processNonSymbolToken): |
| (WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression): |
| When a token is hovered, create a candidate depending on the controller's mode. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor): |
| (WebInspector.TextEditor.prototype.get tokenTrackingController): |
| Create and expose the tokenTrackingController. |
| |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor): |
| (WebInspector.SourceCodeTextEditor.prototype._breakpointRemoved): |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorUpdatedFormatting): |
| (WebInspector.SourceCodeTextEditor.prototype._shouldTrackTokenHovering): |
| (WebInspector.SourceCodeTextEditor.prototype._startTrackingTokenHoveringIfNeeded): |
| (WebInspector.SourceCodeTextEditor.prototype._stopTrackingTokenHoveringIfNeeded): |
| (WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause): |
| (WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume): |
| (WebInspector.SourceCodeTextEditor.prototype._updateJumpToSymbolTrackingMode): |
| (WebInspector.SourceCodeTextEditor.prototype._enableJumpToSymbolTrackingModeSettings): |
| (WebInspector.SourceCodeTextEditor.prototype._disableJumpToSymbolTrackingModeSettings): |
| (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerCanReleaseHighlightedRange): |
| (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked): |
| (WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction.didGetDetails): |
| (WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction): |
| (WebInspector.SourceCodeTextEditor.prototype._showPopoverForObject): |
| Switch to the tracking controller instead of TextEditor methods and properties. |
| |
| * UserInterface/TextEditor.css: |
| (.text-editor > .CodeMirror .hovered-expression-highlight): |
| (@-webkit-keyframes text-editor-hovered-expression-highlight-fadeout): |
| Renamed the class name for expressions to have "expression" in the name. |
| |
| |
| 2013-05-10 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13769698> Should be a way to jump between SourceMap resource and Original resource |
| |
| Introduce WebInspector.modifierKeys to know which modifier keys are |
| active at any time (command, option, shift). Trigger events on changes |
| through WebInspector.notifications. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| (WebInspector._updateModifierKeys): |
| (WebInspector._windowKeyDown): |
| (WebInspector._windowKeyUp): |
| * UserInterface/Object.js: |
| |
| 2013-05-10 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Do a little renaming on ResourceSidebarPanel show methods for text |
| ranges. This better matches the showSourceCodeLocation method names. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype.showSourceCodeTextRange): |
| (WebInspector.ResourceSidebarPanel.prototype.showOriginalOrFormattedSourceCodeTextRange): |
| (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected): |
| |
| 2013-05-10 Timothy Hatcher <timothy@apple.com> |
| |
| Make the console prompt suggest completions after typing "." or "[". |
| |
| <rdar://problem/13860627> REGRESSION: Console autocompletion does not suggest anything until first character is typed |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CodeMirrorCompletionController.js: |
| (WebInspector.CodeMirrorCompletionController.prototype.updateCompletions): |
| (WebInspector.CodeMirrorCompletionController.prototype.hideCompletions): |
| (WebInspector.CodeMirrorCompletionController.prototype._scanStringForExpression): |
| (WebInspector.CodeMirrorCompletionController.prototype._completeAtCurrentPosition): |
| |
| 2013-05-09 Timothy Hatcher <timothy@apple.com> |
| |
| Tell WebInspector.Resource about its type when it is created instead of changing it later. |
| |
| This depends on: https://webkit.org/b/74935 |
| |
| <rdar://problem/13726105> Timeline network filters don't update as resources change type (74935) |
| |
| Reviewed by David Kilzer. |
| |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype.frameDidNavigate): |
| (WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent): |
| (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache): |
| (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse): |
| (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame): |
| * UserInterface/InspectorBackendCommands.js: |
| * UserInterface/NetworkObserver.js: |
| (WebInspector.NetworkObserver.prototype.requestWillBeSent): |
| |
| 2013-05-09 Timothy Hatcher <timothy@apple.com> |
| |
| Use a different image for the layer border toggle button. |
| |
| <rdar://problem/13717886> Two layers buttons with different meanings |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMTreeContentView.js: |
| (WebInspector.DOMTreeContentView): |
| * UserInterface/Images/LayerBorders.pdf: Added. |
| |
| 2013-05-08 Timothy Hatcher <timothy@apple.com> |
| |
| Fix the heirarchical path components for unrevealed source map resources. |
| |
| <rdar://problem/13681487> Missing heirarchical path components selecting breakpoints in source map resources in Debugger sidebar |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject): |
| (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject.getParent): |
| Special case WebInspector.SourceMapResource. |
| |
| * UserInterface/SourceCodeTreeElement.js: |
| (WebInspector.SourceCodeTreeElement.prototype._updateSourceCode): |
| Revert r50608. |
| |
| 2013-05-07 Timothy Hatcher <timothy@apple.com> |
| |
| Fix the background color for the Timeline navigation bar. |
| |
| The container is taller than the navigation bar, and it used for mouse over slop. |
| So the background color needs to be on the navigation bar. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/TimelinesContentView.css: |
| (.content-view.timelines > .data-grid > .navigation-bar-container): |
| (.content-view.timelines > .data-grid > .navigation-bar-container > .navigation-bar): |
| |
| 2013-05-07 Timothy Hatcher <timothy@apple.com> |
| |
| Compare async resource types by their first timestamp so they are in chronological order. |
| |
| <rdar://problem/13827118> Web Inspector: cannot see order of xhrs in resource inspector (115728) |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ResourceTreeElement.js: |
| (WebInspector.ResourceTreeElement.compareResourceTreeElements): |
| |
| 2013-05-07 Timothy Hatcher <timothy@apple.com> |
| |
| Fix and simplify the layout path for Toolbar. |
| |
| <rdar://problem/13828232> REGRESSION: Toolbar overflows when using Icons and Text (Horizontal) mode |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Toolbar.css: |
| (.toolbar .control-section): |
| * UserInterface/Toolbar.js: |
| (WebInspector.Toolbar.prototype.customUpdateLayout.isOverflowingToolbar): |
| (WebInspector.Toolbar.prototype.customUpdateLayout): |
| |
| 2013-05-07 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13821139> After deleting a node when remote inspecting, Web Inspector is broken |
| |
| When using the remote inspector, there is enough of a delay between |
| messages that the didRemoveNode handler triggers the DOMTreeUpdater to |
| refresh the portion of the tree before this removeNodeCallback happens. |
| Since removeNodeCallback is asynchronous anyways, we should bail if |
| the tree element was already removed from the tree (has no parent). |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.prototype.remove.removeNodeCallback): |
| (WebInspector.DOMTreeElement.prototype.remove): |
| |
| 2013-05-07 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Fix member name typo. |
| |
| This was the only occurrence of _selectDOMNode. This looks |
| like it was just a typo of _selectedDOMNode. |
| |
| Reviewed by Darin Adler. |
| |
| * UserInterface/DOMTreeOutline.js: |
| (WebInspector.DOMTreeOutline): |
| |
| 2013-05-07 Timothy Hatcher <timothy@apple.com> |
| |
| Use a brighter blue for selected labels in the label-only toolbar mode. |
| |
| This better matches the blue used in the selected toolbar icons. |
| |
| Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/ButtonToolbarItem.css: |
| (.toolbar.label-only .item.activate.button.activated > .label): |
| |
| 2013-05-07 Timothy Hatcher <timothy@apple.com> |
| |
| Only allow the LCD to be a single line, giving less difference between toolbar modes and sizes. |
| |
| This better distributes the space in the LCD and makes it collapse down to 3 items when |
| there isn't enough room for all 6 items. |
| |
| Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/DashboardView.css: |
| (.toolbar .dashboard): |
| (body.nightly-build .toolbar .dashboard): |
| (body.nightly-build .toolbar.collapsed .dashboard): |
| (body:not(.nightly-build) .toolbar.collapsed .dashboard): |
| (body:not(.nightly-build) .toolbar.collapsed .dashboard > .logs): |
| (.toolbar .dashboard > .item): |
| (.toolbar .dashboard > .resourcesSize): |
| (.toolbar .dashboard > .item > div): |
| (.toolbar.normal-size.icon-and-label-vertical .dashboard): |
| (.toolbar.normal-size.icon-and-label-horizontal .dashboard > .item): |
| * UserInterface/DashboardView.js: |
| (WebInspector.DashboardView): |
| |
| 2013-05-06 Timothy Hatcher <timothy@apple.com> |
| |
| Update the LCD background to match Xcode 5. |
| |
| This change is conditional to non-nightlies. |
| |
| Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DashboardView.css: |
| (.toolbar .dashboard): |
| (body:not(.nightly-build) .toolbar .dashboard): |
| (body.window-inactive:not(.nightly-build) .toolbar .dashboard): |
| (body.nightly-build .toolbar .dashboard): |
| (.toolbar .dashboard > .item): |
| (.toolbar.small-size.icon-and-label-horizontal .dashboard): |
| (body.nightly-build .toolbar.small-size.icon-and-label-horizontal .dashboard): |
| (.toolbar.small-size.icon-and-label-horizontal .dashboard > .item): |
| (body.nightly-build .toolbar.small-size.icon-and-label-horizontal .dashboard > .item): |
| (.toolbar.normal-size.icon-and-label-horizontal .dashboard): |
| (body.nightly-build .toolbar.normal-size.icon-and-label-horizontal .dashboard): |
| (.toolbar.small-size.icon-and-label-vertical .dashboard): |
| (body.nightly-build .toolbar.small-size.icon-and-label-vertical .dashboard): |
| (.toolbar.normal-size.icon-and-label-vertical .dashboard): |
| (body.nightly-build .toolbar.normal-size.icon-and-label-vertical .dashboard): |
| (.toolbar.icon-and-label-vertical .dashboard > .item): |
| (body.nightly-build .toolbar.icon-and-label-vertical .dashboard > .item): |
| |
| 2013-05-06 Timothy Hatcher <timothy@apple.com> |
| |
| Update the filter field placeholder in the Resources sidebar when showing search results. |
| |
| Reviewed by Antoine Quint. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/ResourceSidebarPanel.js: |
| |
| 2013-05-06 Timothy Hatcher <timothy@apple.com> |
| |
| Always have the HierarchicalPathComponent take space so it gives the last item some padding. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/HierarchicalPathComponent.css: |
| (.hierarchical-path:not(.always-show-last-path-component-separator) > .hierarchical-path-component:last-child > .separator): |
| Use visibility: hidden instead of display: none. |
| |
| 2013-05-06 Timothy Hatcher <timothy@apple.com> |
| |
| Make ScopeBarItem and RadioButtonNavigationItem have a min-width so when they are selected the bold |
| weight does not cause the item to change its width. |
| |
| This adds some updateLayout calls to places that needed it now or were missing it already. |
| |
| This change is not conditional to non-nightlies. It does no harm to always do this. |
| |
| Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/ButtonNavigationItem.js: |
| (WebInspector.ButtonNavigationItem.prototype.set label): |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.visibilityDidChange): |
| * UserInterface/Main.js: |
| (WebInspector._contentBrowserSizeDidChange): |
| * UserInterface/RadioButtonNavigationItem.js: |
| (WebInspector.RadioButtonNavigationItem.prototype.get selected): |
| (WebInspector.RadioButtonNavigationItem.prototype.set selected): |
| (WebInspector.RadioButtonNavigationItem.prototype.get active): |
| (WebInspector.RadioButtonNavigationItem.prototype.set active): |
| (WebInspector.RadioButtonNavigationItem.prototype.updateLayout): |
| * UserInterface/ScopeBar.js: |
| (WebInspector.ScopeBar.prototype.updateLayout): |
| (WebInspector.ScopeBar.prototype._populate): |
| * UserInterface/TimelineDataGrid.js: |
| (WebInspector.TimelineDataGrid): |
| (WebInspector.TimelineDataGrid.prototype.updateLayout): |
| |
| 2013-05-06 Timothy Hatcher <timothy@apple.com> |
| |
| Show overflow shadow pockets in the navigation sidebar when content can scroll. |
| |
| This change is conditional to non-nightlies. |
| |
| Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/NavigationSidebarPanel.css: |
| (.sidebar > .panel.navigation > .overflow-shadow): |
| (body.nightly-build .sidebar > .panel.navigation > .overflow-shadow): |
| (.sidebar > .panel.navigation > .overflow-shadow.top): |
| * UserInterface/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel): |
| (WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline): |
| (WebInspector.NavigationSidebarPanel.prototype.showEmptyContentPlaceholder): |
| (WebInspector.NavigationSidebarPanel.prototype.hideEmptyContentPlaceholder): |
| (WebInspector.NavigationSidebarPanel.prototype.shown): |
| (WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility): |
| (WebInspector.NavigationSidebarPanel.prototype._updateFilter): |
| (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged): |
| (WebInspector.NavigationSidebarPanel.prototype._treeElementExpandedOrCollapsed): |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel): |
| * UserInterface/TreeOutline.js: |
| (TreeElement.prototype.collapse): |
| (TreeElement.prototype.expand): |
| |
| 2013-05-06 Timothy Hatcher <timothy@apple.com> |
| |
| Update focus and active focus generated images to match the blues used by Xcode 5. |
| |
| This change is not conditional to non-nightlies. It shouldn't be too revealing. |
| |
| Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/ImageUtilities.js: |
| (.generateImage): |
| |
| 2013-05-06 Timothy Hatcher <timothy@apple.com> |
| |
| Update styles to match the majority of Xcode 5's design changes. |
| |
| The style changes are conditional so they wont apply when running a WebKit nightly. |
| After WWDC we can remove the condition and the extra style rules this adds. |
| |
| Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language |
| |
| Rubber-stamped by Antoine Quint. |
| |
| * UserInterface/ButtonNavigationItem.css: |
| (.navigation-bar .item.button.text-only): |
| (body.nightly .navigation-bar .item.button:not(.disabled):not(.radio):not(.suppress-bezel):active): |
| * UserInterface/CodeMirrorOverrides.css: |
| (.CodeMirror .CodeMirror-gutters): |
| (.body.nightly-build .CodeMirror .CodeMirror-gutters): |
| (.CodeMirror .CodeMirror-linenumber): |
| * UserInterface/DetailsSection.css: |
| (.details-section > .header): |
| (.details-section .details-section > .header): |
| (body.nightly-build .details-section > .header): |
| (body.nightly-build .details-section .details-section > .header): |
| * UserInterface/DividerNavigationItem.css: |
| (.navigation-bar .item.divider): |
| (body.nightly .navigation-bar .item.divider): |
| * UserInterface/FilterBar.css: |
| (.filter-bar): |
| (body.nightly-build .filter-bar): |
| (body:not(.nightly-build) .filter-bar > input[type="search"]): |
| (body:not(.nightly-build) .filter-bar > input[type="search"]::-webkit-input-placeholder): |
| (body:not(.nightly-build) .filter-bar > input[type="search"]:valid): |
| * UserInterface/FilterBar.js: |
| (WebInspector.FilterBar): |
| * UserInterface/FindBanner.css: |
| (body.nightly-build .find-banner): |
| (body:not(.nightly) .find-banner > input[type="search"]): |
| (body:not(.nightly) .find-banner > button): |
| (.find-banner > button > .glyph): |
| (body.nightly .find-banner > button > .glyph): |
| * UserInterface/HierarchicalPathComponent.css: |
| (body.nightly .hierarchical-path-component > .separator): |
| (.hierarchical-path-component.text-only > select): |
| * UserInterface/InstrumentSidebarPanel.css: |
| (.sidebar > .panel.instrument > .title-bar): |
| (body.nightly-build .sidebar > .panel.instrument > .title-bar): |
| (.sidebar > .panel.instrument > .title-bar.profiles): |
| (body.nightly-build .sidebar > .panel.instrument > .title-bar.profiles): |
| * UserInterface/LayerTreeSidebarPanel.css: |
| (.layer-tree.panel .bottom-bar): |
| (body.nightly-build .layer-tree.panel .bottom-bar): |
| * UserInterface/Main.css: |
| (#split-content-browser > .navigation-bar): |
| (body.nightly-build #split-content-browser > .navigation-bar): |
| * UserInterface/NavigationBar.css: |
| (.navigation-bar): |
| (body.nightly-build .navigation-bar): |
| (body.nightly-build.window-inactive .navigation-bar): |
| * UserInterface/NavigationSidebarPanel.css: |
| (.sidebar > .panel.navigation > .content): |
| (body.nightly-build .sidebar > .panel.navigation > .content): |
| (.sidebar > .panel.navigation > .overflow-shadow): |
| (.sidebar > .panel.navigation > .overflow-shadow.top): |
| * UserInterface/RadioButtonNavigationItem.css: |
| (.navigation-bar .item.radio.button.text-only.selected): |
| (body:not(.nightly) .navigation-bar .item.radio.button.text-only.selected): |
| (body.nightly .navigation-bar .item.radio.button.selected): |
| * UserInterface/ResourceSidebarPanel.css: |
| (.sidebar > .panel.resource > .empty-content-placeholder): |
| (body.nightly-build .sidebar > .panel.resource > .empty-content-placeholder): |
| (.sidebar > .panel.resource > .search-bar): |
| (body.nightly-build .sidebar > .panel.resource > .search-bar): |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel): |
| * UserInterface/ScopeBar.css: |
| (.scope-bar > li): |
| (body:not(.nightly-build) .scope-bar > li): |
| (body:not(.nightly-build) .scope-bar > li:active): |
| (body:not(.nightly-build) .scope-bar > li.selected): |
| (body.nightly-build .scope-bar > li): |
| (body.nightly-build .scope-bar > li:active): |
| (.scope-bar > li:hover): |
| (.scope-bar > li.selected): |
| (.scope-bar > li:active): |
| (body.nightly-build .scope-bar > li.selected): |
| * UserInterface/SearchBar.css: |
| (.search-bar > input[type="search"]): |
| (body:not(.nightly-build) .search-bar > input[type="search"]): |
| (body:not(.nightly-build) .search-bar > input[type="search"]::-webkit-input-placeholder): |
| (body:not(.nightly-build) .search-bar > input[type="search"]:valid): |
| * UserInterface/SearchBar.js: |
| (WebInspector.SearchBar): |
| * UserInterface/TimelinesContentView.css: |
| (.content-view.timelines > .data-grid): |
| (body.nightly-build .content-view.timelines > .data-grid): |
| (.content-view.timelines > .data-grid th): |
| (body.nightly-build .content-view.timelines > .data-grid th): |
| (.content-view.timelines > .data-grid th:not(:last-child)): |
| (body.nightly-build .content-view.timelines > .data-grid th:not(:last-child)): |
| (.content-view.timelines > .data-grid th.sortable:not(.mouse-over-collapser):active): |
| (body.nightly-build .content-view.timelines > .data-grid th.sortable:not(.mouse-over-collapser):active): |
| (.content-view.timelines > .data-grid th.sort-descending): |
| (body.nightly-build .content-view.timelines > .data-grid th.sort-descending): |
| (.content-view.timelines > .data-grid > .navigation-bar-container): |
| (.content-view.timelines > .data-grid > .navigation-bar-container > .navigation-bar): |
| (body.nightly-build .content-view.timelines > .data-grid > .navigation-bar-container > .navigation-bar): |
| |
| 2013-05-06 Timothy Hatcher <timothy@apple.com> |
| |
| Add a nightly-build class so we can hide new UI from nightly WebKit builds. |
| |
| Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| Set the nightly-build class on body if we are in a nightly build. |
| |
| 2013-05-03 Timothy Hatcher <timothy@apple.com> |
| |
| Add stubs for savedURL and appendedToURL. |
| |
| https://webkit.org/b/115561 |
| rdar://problem/13806055 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/InspectorFrontendAPI.js: |
| (InspectorFrontendAPI.savedURL): |
| (InspectorFrontendAPI.appendedToURL): |
| |
| 2013-05-02 Timothy Hatcher <timothy@apple.com> |
| |
| Fix the alignment of the titles in the Timelines sidebar. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/GeneralTreeElement.js: |
| (WebInspector.GeneralTreeElement.prototype._updateTitleElements): |
| Only create a subtitle if the string has a value, not an empty string. |
| |
| 2013-05-01 Timothy Hatcher <timothy@apple.com> |
| |
| Make the Dashboard timer and Timeline views more robust when going back/forward. |
| |
| <rdar://problem/13612025> Dashboard: LCD timer never stops when going back/forward |
| <rdar://problem/13180009> Recording sometimes never stops because the load event marker is never added |
| <rdar://problem/13510955> Intermittently, timeline is in "days" after refreshing wsj.com site |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/DashboardManager.js: |
| (WebInspector.DashboardManager): |
| (WebInspector.DashboardManager.prototype._mainResourceDidChange): |
| (WebInspector.DashboardManager.prototype._recordingStopped): |
| (WebInspector.DashboardManager.prototype._startUpdatingTime): |
| (WebInspector.DashboardManager.prototype._stopUpdatingTime): Added. |
| (WebInspector.DashboardManager.prototype._updateTime): |
| |
| * UserInterface/NetworkGraphCalculator.js: |
| (WebInspector.NetworkTransferTimeCalculator.prototype._lowerBound): |
| (WebInspector.NetworkTransferTimeCalculator.prototype._upperBound): |
| (WebInspector.NetworkTransferDurationCalculator.prototype._upperBound): |
| Don't return NaN for the bounds. |
| |
| * UserInterface/Resource.js: |
| (WebInspector.Resource.prototype.get firstTimestamp): Added. |
| Added as a helper to prevent using NaN as the start time. |
| |
| * UserInterface/ResourceTimelineRecord.js: |
| (WebInspector.ResourceTimelineRecord.prototype.get startTime): |
| Use firstTimestamp. |
| |
| * UserInterface/TimelineManager.js: |
| (WebInspector.TimelineManager.prototype.startRecording): |
| (WebInspector.TimelineManager.prototype.stopRecording): |
| (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): |
| (WebInspector.TimelineManager.prototype.eventRecorded): |
| (WebInspector.TimelineManager.prototype._clear): |
| (WebInspector.TimelineManager.prototype._addRecord): |
| (WebInspector.TimelineManager.prototype._startAutoRecording): |
| (WebInspector.TimelineManager.prototype._stopAutoRecordingSoon): |
| (WebInspector.TimelineManager.prototype._resetAutoRecordingDeadTimeTimeout): |
| (WebInspector.TimelineManager.prototype._mainResourceDidChange): |
| Fire an event on clear so the timeline view clears even if recording does not start. |
| Track the main resource object and not the request identifier, since a resource |
| might not have a request identifier in the back/forward case. Auto stop recording soon |
| after every record, not just the load event since we don't always have load events. |
| |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView): |
| (WebInspector.TimelinesContentView.prototype._recordsCleared): |
| Use RecordsCleared event instead of RecordingStarted to clear the view. |
| |
| 2013-05-01 Timothy Hatcher <timothy@apple.com> |
| |
| Reveal the line (if supplied) when showing a ScriptContentView. |
| |
| <rdar://problem/13785027> REGRESSION: Extra Scripts: no autoscroll to debugger statement. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype.showSourceCode): |
| |
| 2013-05-01 Timothy Hatcher <timothy@apple.com> |
| |
| Don't update the dashboard text unless it has changed. |
| |
| Also step up the interval we update the time so it does not try to update every 50ms when the |
| duration is long enough to not matter. |
| |
| <rdar://problem/13718056> While JS debugging, everything in the inspector window is repainting all the time |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DashboardManager.js: |
| (WebInspector.DashboardManager.prototype._startUpdatingTime): |
| (WebInspector.DashboardManager.prototype._updateTime): |
| * UserInterface/DashboardView.js: |
| (WebInspector.DashboardView.prototype.set logs): |
| (WebInspector.DashboardView.prototype.set issues): |
| (WebInspector.DashboardView.prototype.set errors): |
| (WebInspector.DashboardView.prototype.set time): |
| (WebInspector.DashboardView.prototype.set resourcesCount): |
| (WebInspector.DashboardView.prototype.set resourcesSize): |
| (WebInspector.DashboardView.prototype._appendElementForNamedItem.): |
| |
| 2013-05-01 Timothy Hatcher <timothy@apple.com> |
| |
| Breakpoint context menu items should appear for Extra and Anonymous Scripts. |
| |
| <rdar://problem/13776299> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel.prototype._breakpointsBeneathTreeElement): |
| (WebInspector.DebuggerSidebarPanel.prototype._breakpointTreeOutlineDeleteTreeElement): |
| (WebInspector.DebuggerSidebarPanel.prototype._breakpointTreeOutlineContextMenuTreeElement): |
| Check for WebInspector.ScriptTreeElement in addition to WebInspector.ResourceTreeElement. |
| |
| 2013-04-30 Timothy Hatcher <timothy@apple.com> |
| |
| Disable spellcheck and smart quotes in the console prompt. |
| |
| I'll upstream this to CodeMirror once I get approval from legal. |
| |
| <rdar://problem/13757709> |
| |
| Reviewed by Ricky Mondello. |
| |
| * UserInterface/External/CodeMirror/codemirror.js: |
| (window.CodeMirror): |
| |
| 2013-04-30 Timothy Hatcher <timothy@apple.com> |
| |
| Tweak the Toolbar layout code to not hide the Dashboard when sizes are off by one. |
| |
| This wasn't needed when sub-pixel layout was on, but that was disabled in http://webkit.org/b/149209. |
| |
| <rdar://problem/13757354> REGRESSION: Toolbar thinks it is collapsed, so dashboard is hidden |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Toolbar.js: |
| (WebInspector.Toolbar.prototype.customUpdateLayout): |
| |
| 2013-04-30 Timothy Hatcher <timothy@apple.com> |
| |
| Have dashboard buttons (console summary buttons) do filtering as well. |
| |
| <rdar://problem/13685685> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DashboardView.js: |
| (WebInspector.DashboardView): |
| (WebInspector.DashboardView.prototype._consoleItemWasClicked): |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView.prototype.get scopeBar): |
| * UserInterface/Main.js: |
| (WebInspector.showFullHeightConsole): |
| (WebInspector.showConsoleView): |
| |
| 2013-04-30 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/12719925> Call stack should show live line number next to file name |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/GeneralTreeElement.js: |
| (WebInspector.GeneralTreeElement): |
| (WebInspector.GeneralTreeElement.prototype.get tooltipHandledSeparately): |
| (WebInspector.GeneralTreeElement.prototype.set tooltipHandledSeparately): |
| (WebInspector.GeneralTreeElement.prototype._updateTitleElements): |
| Allow clients to handle the tooltip themselves, and to set subtitle as |
| an element, instead of a string (already possible with mainTitle). |
| |
| * UserInterface/CallFrameTreeElement.js: |
| (WebInspector.CallFrameTreeElement): |
| Set the subtitle as a live location <span>. |
| (WebInspector.CallFrameTreeElement.prototype.onattach): |
| Set the tooltip on the entire tree element once it is created. |
| |
| * UserInterface/SourceCodeLocation.js: |
| (WebInspector.SourceCodeLocation.prototype.populateLiveDisplayLocationTooltip): |
| Allow an optional prefix before the location string. |
| |
| 2013-04-29 Timothy Hatcher <timothy@apple.com> |
| |
| Remove an assert from StyleDetailsPanel.prototype.shown. |
| |
| The shown function can be called multiple times. Just keep the early return. |
| Also make sure to call StyleDetailsPanel.prototype.hidden in another case. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.visibilityDidChange): |
| * UserInterface/StyleDetailsPanel.js: |
| (WebInspector.StyleDetailsPanel.prototype.shown): |
| |
| 2013-04-29 Timothy Hatcher <timothy@apple.com> |
| |
| Skip invalid properties when associating related properties. |
| |
| <rdar://problem/13752586> DOMNodeStyles.js:981: console.assert(property.overridden); on html5please.com |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype._associateRelatedProperties): |
| |
| 2013-04-29 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Don't allow Command+Enter in the Console with an empty expression. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ConsolePrompt.js: |
| |
| 2013-04-29 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13616567> Can no longer clear the console with clear() |
| |
| LogContentView starts listening for an event in the constructor which |
| was getting removed in close and not being added back. This ContentView |
| is already treated like a singleton with other events, treat this the |
| same and just avoid removing event listeners in close. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/LogContentView.js: |
| |
| 2013-04-29 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13765474> REGRESSION: Console should not clear on reload |
| |
| The backend sends the frontend a messagesCleared messages for many reasons. |
| We should not clear the active log when there was a navigation. In those |
| cases the LogManager will send out a Cleared or SessionStarted event. |
| It would be messy and brittle to determine if we are in the middle of a |
| main resource load, so it is easier to do a setTimeout and send an event |
| if we did not do a navigation. |
| |
| This works well with all common cases, but breaks: |
| |
| js> console.log(1); console.clear(); console.log(2); |
| |
| Filed the follow-up bug to handle fixing this by providing the frontend |
| with the information it needs in messagesCleared. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ConsoleObserver.js: |
| (WebInspector.ConsoleObserver.prototype.messageAdded): |
| Don't append a blank ConsoleMessage row for console.clear messages. |
| |
| * UserInterface/LogManager.js: |
| (WebInspector.LogManager.prototype.messagesCleared): |
| (WebInspector.LogManager.prototype._mainResourceDidChange): |
| Defer ActiveLogCleared events so that we don't issue one while we |
| are reloading the page. |
| |
| 2013-04-29 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13764663> Tooltips on live location links are no longer working |
| |
| Changing the content in mousemove, even if the content was the same, |
| would cause the tooltip to disappear. Avoid changing the content unless |
| we absolutely need to. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/SourceCodeLocation.js: |
| (WebInspector.SourceCodeLocation.prototype.updateDisplayString): |
| Avoid unnecessary content updates. |
| |
| (WebInspector.SourceCodeLocation.prototype._locationString): |
| Fix typo causing column numbers to not show up in tooltips. |
| |
| 2013-04-29 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13763988> Jump to "rs.js" error location link not live on theverge.com |
| |
| The URL in the ConsoleMessage is the URL of the Script, which contains |
| a fragment. The URL of the Resource does not contain the fragment. When |
| we create a sourceCodeLocation in linkifyLocation we want to get the |
| resource that has a sidebar item, because that is the resource in the |
| sidebar that will show a ContentView. So if we get a Script try to get |
| the Resource for that Script if one exists. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Main.js: |
| (WebInspector.linkifyLocation): |
| |
| 2013-04-29 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13442566> Console context selector should truncate or generate better names when the names are long |
| |
| Truncate the context selector quick console nav bar item. And modify |
| how items are sorted in the context menu to show the frame name if one |
| is available. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/HierarchicalPathComponent.js: |
| (WebInspector.HierarchicalPathComponent): |
| (WebInspector.HierarchicalPathComponent.prototype.get displayName): |
| (WebInspector.HierarchicalPathComponent.prototype.set displayName): |
| (WebInspector.HierarchicalPathComponent.prototype.get truncatedDisplayNameLength): |
| (WebInspector.HierarchicalPathComponent.prototype.set truncatedDisplayNameLength): |
| Separate the display name property from the title element's content, so we |
| can truncate the display but store the real name. |
| |
| (WebInspector.HierarchicalPathComponent.prototype._updateElementTitleAndText): |
| Truncate the display in the navigation bar. |
| |
| (WebInspector.HierarchicalPathComponent.prototype._updateSelectElement.createOption): |
| (WebInspector.HierarchicalPathComponent.prototype._updateSelectElement): |
| Work around an NSMenu issue and truncate in the option text in the context menu. |
| |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole.prototype._createExecutionContextPathComponent): |
| (WebInspector.QuickConsole.prototype._createExecutionContextPathComponentFromFrame): |
| (WebInspector.QuickConsole.prototype._compareExecutionContextPathComponents): |
| Set the Frame on the PathComponents to use later for sorting. |
| |
| 2013-04-29 Timothy Hatcher <timothy@apple.com> |
| |
| Abort earlier when loading completions for a null or undefined value. |
| |
| <rdar://problem/13764611> JavaScriptLogViewController.js:293: CONSOLEAPI ERROR: Unknown result type: undefined |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController.prototype.consolePromptCompletionsNeeded): |
| Return early if the RemoteObject is null or undefined. Also release the completion group. |
| |
| 2013-04-29 Timothy Hatcher <timothy@apple.com> |
| |
| Correct the layout of navigation items when an item has selector arrows. |
| |
| <rdar://problem/13717922> Layer border toggle button disappears sometimes |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/HierarchicalPathComponent.js: |
| (WebInspector.HierarchicalPathComponent): |
| (WebInspector.HierarchicalPathComponent.prototype.get minimumWidth): Added. |
| (WebInspector.HierarchicalPathComponent.prototype.set forcedWidth): |
| (WebInspector.HierarchicalPathComponent.prototype.get selectorArrows): Added. |
| (WebInspector.HierarchicalPathComponent.prototype.set selectorArrows): Added. |
| Account for the width of the selector arrows when using minimum width. |
| |
| * UserInterface/HierarchicalPathNavigationItem.js: |
| (WebInspector.HierarchicalPathNavigationItem.prototype.updateLayout): |
| Ask HierarchicalPathComponent for its minimum width. |
| |
| * UserInterface/NavigationBar.js: |
| (WebInspector.NavigationBar.prototype.updateLayout): |
| Skip flexible space items since they can take up no space at the minimum width. |
| |
| 2013-04-27 Dean Jackson <dino@apple.com> |
| |
| <rdar://problem/13441708> Make the Web Inspector work if HiDPI canvas is disabled on OS X |
| |
| Reviewed by Tim Hatcher. |
| |
| For <rdar://problem/13437328>, HIGH_DPI_CANVAS was disabled on retina devices, so |
| the places in the inspector that use a canvas must double the dimensions of |
| the image buffers they request. |
| |
| * UserInterface/DashboardView.css: |
| (.toolbar .dashboard): Since the image being pased in as background might be 2x, |
| make sure that it uses the element size for the background. |
| * UserInterface/DashboardView.js: Request a 2x canvas if necessary. |
| |
| * UserInterface/ImageUtilities.js: |
| (generateColoredImage): No need to pass in scale, as this method is passed the |
| correct width and height the caller needs. Use get/setImageData methods. |
| (generateColoredImagesForCSS): Calculate a scaledWidth/Height to be used throughout |
| this method. Make sure we create contexts with the correct dimensions, and save/restore |
| them at full size. |
| (._drawImageShadow): Use scaledWidth/Height. |
| (._invertMaskImage): No need to pass in width and height.. |
| (._applyImageMask): Ditto. |
| (generateEmbossedImages): Calculate a scaledWidth/Height to be used throughout |
| this method. Make sure we create contexts with the correct dimensions. |
| |
| * UserInterface/Popover.js: |
| (WebInspector.Popover.prototype.set frame): Make sure to set the background size when |
| the frame is updated. |
| (WebInspector.Popover.prototype._drawBackground): Create a correctly scaled canvas, |
| and some minor code cleanup. |
| |
| 2013-04-27 Timothy Hatcher <timothy@apple.com> |
| |
| Fix the speed of typing in the Web Inspector. |
| |
| ToggleControlToolbarItem regenerates its images every time 'toggled' is set, even |
| if the flag does not change! And the dock button updates 'toggled' on keydown and |
| keyup to update when Option is pressed. |
| |
| <rdar://problem/13756496> REGRESSION: Dock/undock buttons regenerates ever keydown and keyup! |
| |
| Reviewed by Dean Jackson. |
| |
| * UserInterface/ToggleButtonNavigationItem.js: |
| (WebInspector.ToggleButtonNavigationItem.prototype.set toggled): Return early if flag does not change. |
| |
| 2013-04-27 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13143692> Object literal properties should not have popovers |
| |
| Given test: |
| |
| var foo = 300, o = { foo: 1 }; |
| var result = o.foo; |
| |
| This patch makes it so hovering "foo" in the object literal does not |
| show a popover, it used to show 300. While hovering the variable "foo" |
| or hovering the property access "o.foo" both show expected values. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype._mouseMovedOverEditor): |
| If we are hovering a JavaScript token inside of a <script> in HTML resources |
| then the JavaScript state is actually token.state.localState. If it is in |
| a JavaScript resource then it is just token.state. Pass the most specific |
| state on our partial "token" object. |
| |
| (WebInspector.TextEditor.prototype._checkHoveredToken): |
| Bail for JavaScript object literal properties. |
| |
| 2013-04-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13753106> SourceCodeTextEditor.js:815: JS ERROR: TypeError: undefined is not an object (evaluating this.hoveredToken.bounds) |
| |
| We have a complete token in tokenWasHovered, however between then and |
| when the async DebuggerAgent.evaluateOnCallFrame callback happens the |
| hovered token can change. If it changed, bail, so we don't end up |
| trying to put the popover on the wrong hovered token or worse |
| hit this exception and break execution. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype.tokenWasHovered.populate): |
| (WebInspector.SourceCodeTextEditor.prototype.tokenWasHovered): |
| (WebInspector.SourceCodeTextEditor.prototype._showPopover): |
| Add asserts and preventative bails in multiple places to catch |
| similar issues in the future if new paths are added. |
| |
| 2013-04-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13746094> Esc inside a read only editor (JavaScript) should not bring up completion suggestions |
| |
| Pass on "Esc" if the editor is read only. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/CodeMirrorCompletionController.js: |
| (WebInspector.CodeMirrorCompletionController.prototype._handleEscapeKey): |
| |
| 2013-04-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13573902> Line numbers in JS console.log / console.error Messages should be live, they jump to the wrong location |
| <rdar://problem/13702357> Line numbers in JS Console Error Messages should be live, they jump to the wrong location |
| |
| Make the ConsoleMessage and Profiler links live when possible. Create |
| a live link with createSourceCodeLocationLink or linkifyLocation. |
| ConsoleMessages's have line and column information now both at the |
| base and in stack traces. Profiler nodes don't have column info, but we |
| can still make them live, just not entirely accurate. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ConsoleMessageImpl.js: |
| (WebInspector.ConsoleMessageImpl.prototype._formatMessage): |
| (WebInspector.ConsoleMessageImpl.prototype._linkifyLocation): |
| Use WebInspector.linkifyLocation with url, line, and column. |
| |
| * UserInterface/Main.js: |
| (.showSourceCodeLocation): |
| (WebInspector.createSourceCodeLocationLink): |
| (WebInspector.linkifyLocation): |
| If we have the resource with url passed into linkifyLocation |
| it creates a link with a sourceCodeLocation. Otherwise it just |
| creates a basic link with the appropriate styles. |
| |
| * UserInterface/CSSSelectorProfileView.js: |
| (WebInspector.CSSSelectorDataGridNode.prototype.createCell): |
| (WebInspector.CSSSelectorDataGridNode.prototype._linkifyLocation): |
| * UserInterface/ProfileDataGridTree.js: |
| (WebInspector.ProfileDataGridNode.prototype._linkifyLocation): |
| Use WebInspector.linkifyLocation with url and lineNumber. Add |
| a FIXME about the missing column number. |
| |
| 2013-04-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13573902> Line numbers in JS console.log / console.error Messages should be live, they jump to the wrong location |
| <rdar://problem/13702357> Line numbers in JS Console Error Messages should be live, they jump to the wrong location |
| |
| Give ConsoleMessage a column number. The backend now sends us this info. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ConsoleCommandResult.js: |
| (WebInspector.ConsoleCommandResult): |
| * UserInterface/ConsoleMessage.js: |
| (WebInspector.ConsoleMessage): |
| (WebInspector.ConsoleMessage.create): |
| * UserInterface/ConsoleMessageImpl.js: |
| (WebInspector.ConsoleMessageImpl): |
| (WebInspector.ConsoleMessageImpl.prototype.get levelString): |
| * UserInterface/ConsoleObserver.js: |
| (WebInspector.ConsoleObserver.prototype.messageAdded): |
| * UserInterface/LogManager.js: |
| (WebInspector.LogManager.prototype.messageWasAdded): |
| |
| 2013-04-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13745104> First revealLine to SourceMapResource lineNumber is not working |
| |
| SourceMapResource's may lazily load their data. In such cases the |
| ContentView for the resource will be Generic and ignore the revealLine. |
| Once loaded, the Generic ContentView will be replaced by a better view, |
| but the line number to reveal has been lost. Save that information in |
| the cluster content view, as long as the resource has not finished, |
| and pass it on to the new content view when the resource finishes. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/SourceMapResource.js: |
| (WebInspector.SourceMapResource.prototype.requestContentFromBackend): |
| Mark as finished after updating types. |
| |
| * UserInterface/ResourceClusterContentView.js: |
| (WebInspector.ResourceClusterContentView.prototype.showResponse): |
| (WebInspector.ResourceClusterContentView.prototype._resourceTypeDidChange): |
| (WebInspector.ResourceClusterContentView.prototype._resourceLoadingDidFinish): |
| If a revealLine comes in for a resource not yet finished loading, replay |
| the reveal line when the resource does finish. If subsequent reveals come |
| in, the most recent one wins. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor._prettyPrint.prettyPrintAndUpdateEditor): |
| When a file is formatted we updated the delayed line number to reveal, but |
| didn't update the delayed text range to select. Do that just in case. |
| |
| 2013-04-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13701579> Styles sidebar should show source map location by default instead of on hover |
| |
| When hovering a link with Command we are showing the original, |
| unformatted location. So make sure that when clicked we jump |
| to that exact, unformatted location. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Main.js: |
| (WebInspector.createGoToArrowButton): |
| Handle Command+Click to jump to an unformatted location. |
| |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype.showSourceCode): |
| (WebInspector.ResourceSidebarPanel.prototype.showOriginalUnformattedSourceCodeLocation): |
| Allow showing a source code that forces unformatting. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype._revealPendingLineIfPossible): |
| (WebInspector.TextEditor.prototype.revealLine): |
| May need to unformat the resource before revealing the line. |
| |
| * UserInterface/FrameContentView.js: |
| (WebInspector.FrameContentView.prototype.showSourceCode): |
| * UserInterface/ResourceClusterContentView.js: |
| (WebInspector.ResourceClusterContentView.prototype.showResponse): |
| * UserInterface/ScriptContentView.js: |
| (WebInspector.ScriptContentView.prototype.revealLine): |
| * UserInterface/TextContentView.js: |
| (WebInspector.TextContentView.prototype.revealLine): |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView.prototype.revealLine): |
| Pass the forceUnformat option through revealLine paths. |
| |
| 2013-04-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13701579> Styles sidebar should show source map location by default instead of on hover |
| |
| Update the rules for a live location display. |
| |
| - Show display location by default if there is one. |
| - Show display locations in italics, original locations display non-italics. |
| - Command+Mouseover a display location will show the original location. |
| - Provide different display styles for column numbers. Default to "OnlyIfLarge" |
| meaning only show column numbers if the column is > 80. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/CallFrameTreeElement.js: |
| (WebInspector.CallFrameTreeElement): |
| Simplify by using SourceCodeLocation.prototype.tooltipString. |
| |
| * UserInterface/SourceCodeLocation.js: |
| (WebInspector.SourceCodeLocation.prototype.originalLocationString): |
| (WebInspector.SourceCodeLocation.prototype.formattedLocationString): |
| (WebInspector.SourceCodeLocation.prototype.displayLocationString): |
| Add the new column style parameter. Pass it through to _locationString. |
| |
| (WebInspector.SourceCodeLocation.prototype.tooltipString): |
| Always show full URLs and columns in tooltips. |
| |
| (WebInspector.SourceCodeLocation.prototype._locationString): |
| Respect the column style when including column numbers. |
| |
| (WebInspector.SourceCodeLocation.prototype.updateDisplayString): |
| (WebInspector.SourceCodeLocation.prototype.mouseOverOrMove): |
| (WebInspector.SourceCodeLocation.prototype.populateLiveDisplayLocationString): |
| Update the default value to displayLocation. And the Command+Mouseover to originalLocation. |
| |
| 2013-04-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13701576> SASS source map location is wrong on http://html5please.com |
| |
| CSSRule.selectorList.range has column information, which allows us to |
| provide a much better location to jump to. So when selectorList and |
| its SourceRange is available, use that for its start line and column. |
| Fallback to the CSSRule.sourceLine which is always available. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype._parseRulePayload): |
| |
| 2013-04-26 Timothy Hatcher <timothy@apple.com> |
| |
| Update CodeMirror from 3.11+ to 3.12. |
| |
| * UserInterface/External/CodeMirror/clojure.js: Updated. |
| * UserInterface/External/CodeMirror/codemirror.js: Updated. |
| * UserInterface/External/CodeMirror/javascript.js: Updated. |
| * UserInterface/External/CodeMirror/searchcursor.js: Updated. |
| * UserInterface/External/CodeMirror/sql.js: Updated. |
| |
| 2013-04-26 Timothy Hatcher <timothy@apple.com> |
| |
| Make completions work after open brackets. |
| |
| This also improves things to limit keywords to certain contexts. |
| |
| <rdar://problem/13746491> Should have JavaScript completion suggestions after a base of all open bracket characters, e.g. "if (tr|" |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CodeMirrorCompletionController.js: |
| (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions): |
| * UserInterface/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController.prototype.consolePromptCompletionsNeeded): |
| |
| 2013-04-26 Timothy Hatcher <timothy@apple.com> |
| |
| Improve multi-line support in the console prompt. |
| |
| Pressing return at the end of the expression now does a parse to see if the expression |
| is ready to evaluate. We will insert a new line if the error is recoverable, otherwise |
| we will evaluate it. Pressing enter will insert a new line when there is no text, when |
| the cursor is not at the last position or there is a selection. Command-Enter will now |
| always evaluate the expression. |
| |
| <rdar://problem/13747367> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ConsolePrompt.js: |
| (WebInspector.ConsolePrompt): |
| (WebInspector.ConsolePrompt.prototype._handleEnterKey.positionsEqual): Added. |
| (WebInspector.ConsolePrompt.prototype._handleEnterKey.commitTextOrInsertNewLine): Added. |
| (WebInspector.ConsolePrompt.prototype._handleEnterKey): |
| (WebInspector.ConsolePrompt.prototype._handleCommandEnterKey): |
| * UserInterface/InspectorBackendCommands.js: |
| * UserInterface/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController.prototype.): |
| (WebInspector.JavaScriptLogViewController.prototype.consolePromptShouldCommitText): |
| |
| 2013-04-25 Timothy Hatcher <timothy@apple.com> |
| |
| Fix some edge cases with the default JavaScript completions. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CodeMirrorCompletionController.js: |
| (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions): |
| Correct the check for switch statements which was missing the "type" parts. Use "info" |
| instead to check for "switch". Substring the suffix, since there are cases it can be longer. |
| Also prevent keyword completions in var declarations, except for "this". |
| |
| 2013-04-25 Timothy Hatcher <timothy@apple.com> |
| |
| Properly handle duplicate query parameters and form encoded POST data. |
| |
| <rdar://problem/13737105> Duplicate query parameters only show the last item in the sidebar data grids |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ResourceDetailsSidebarPanel.js: |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshURL): |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid): |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestDataSection): |
| Pass true to parseQueryString to get an array of name/value pairs. Then build |
| the DataGrid using that result. |
| |
| * UserInterface/Utilities.js: |
| (parseLocationQueryParameters): |
| (parseQueryString): |
| Added arrayResult parameter to allow getting all values, not just the last one. |
| |
| 2013-04-24 Timothy Hatcher <timothy@apple.com> |
| |
| Improve the sort order for array index completions. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController.prototype.consolePromptCompletionsNeeded.receivedPropertyNames.compare): |
| (WebInspector.JavaScriptLogViewController.prototype.consolePromptCompletionsNeeded.receivedPropertyNames): |
| Try to sort in numerical order first, then as strings. |
| |
| 2013-04-24 Timothy Hatcher <timothy@apple.com> |
| |
| Allow autocompletion after "({a:1,b:2})" to suggest "a" and "b" properties. |
| |
| <rdar://problem/5866281> Console should allow autocompletion after symbols like ), ], } |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CodeMirrorCompletionController.js: |
| (WebInspector.CodeMirrorCompletionController.prototype._scanStringForExpression): |
| Ignore stop characters when we are inside brackets. |
| |
| 2013-04-24 Timothy Hatcher <timothy@apple.com> |
| |
| Remove TextPrompt and JavaScriptTextPrompt. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/JavaScriptTextPrompt.css: Removed. |
| * UserInterface/JavaScriptTextPrompt.js: Removed. |
| * UserInterface/Main.html: |
| * UserInterface/TextPrompt.css: Removed. |
| * UserInterface/TextPrompt.js: Removed. |
| |
| 2013-04-24 Timothy Hatcher <timothy@apple.com> |
| |
| Update DatabaseContentView to use ConsolePrompt. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DatabaseContentView.css: |
| (.database-query-prompt): |
| (.database-user-query::before, .database-query-prompt::before, .database-query-result::before): |
| (.database-user-query): |
| (.database-query-result): |
| * UserInterface/DatabaseContentView.js: |
| (WebInspector.DatabaseContentView): |
| (WebInspector.DatabaseContentView.prototype.shown): |
| (WebInspector.DatabaseContentView.prototype.updateLayout): |
| (WebInspector.DatabaseContentView.prototype._messagesClicked): |
| (WebInspector.DatabaseContentView.prototype.accumulateMatches): |
| (WebInspector.DatabaseContentView.prototype.tableNamesCallback): |
| (WebInspector.DatabaseContentView.prototype.consolePromptCompletionsNeeded): |
| (WebInspector.DatabaseContentView.prototype.consolePromptTextCommited): |
| (WebInspector.DatabaseContentView.prototype._appendQueryResult): |
| |
| 2013-04-24 Timothy Hatcher <timothy@apple.com> |
| |
| Implement live completions for the ConsolePrompt. |
| |
| Part of: <rdar://problem/13359916> Typing in the console is improved, but still much slower |
| than in Chrome / the WebKit inspector |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ConsolePrompt.js: |
| (WebInspector.ConsolePrompt.prototype.updateCompletions): |
| (WebInspector.ConsolePrompt.prototype.completionControllerCompletionsNeeded): |
| * UserInterface/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController): |
| (WebInspector.JavaScriptLogViewController.prototype.consolePromptCompletionsNeeded.evaluated.getCompletions): |
| (WebInspector.JavaScriptLogViewController.prototype.consolePromptCompletionsNeeded.evaluated): |
| (WebInspector.JavaScriptLogViewController.prototype.consolePromptCompletionsNeeded.receivedPropertyNamesFromEvaluate): |
| (WebInspector.JavaScriptLogViewController.prototype.consolePromptCompletionsNeeded.receivedPropertyNames): |
| (WebInspector.JavaScriptLogViewController.prototype.consolePromptCompletionsNeeded): |
| (WebInspector.JavaScriptLogViewController.prototype._clearLastProperties): |
| Most of this is copied and adapted from JavaScriptTextPrompt. The new part if the caching of property names. |
| |
| 2013-04-24 Timothy Hatcher <timothy@apple.com> |
| |
| Prevent the Escape key from toggling and triggering a completion. |
| |
| When the prompt is empty we allow console toggling. When not empty it triggers completion. |
| |
| Part of: <rdar://problem/13359916> Typing in the console is improved, but still much slower |
| than in Chrome / the WebKit inspector |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CodeMirrorCompletionController.js: |
| (WebInspector.CodeMirrorCompletionController.prototype._handleEscapeKey): |
| Call the completionControllerShouldAllowEscapeCompletion delegate function. |
| |
| * UserInterface/ConsolePrompt.js: |
| (WebInspector.ConsolePrompt.prototype.completionControllerShouldAllowEscapeCompletion): |
| Added. Return true if the prompt is not empty. |
| |
| * UserInterface/KeyboardShortcut.js: |
| (WebInspector.KeyboardShortcut._handleKeyDown): |
| Don't process the shortcut if default was prevented. We know someone already handled |
| the key, but didn't call stopPropagation. CodeMirror does this. |
| |
| 2013-04-24 Timothy Hatcher <timothy@apple.com> |
| |
| Implement default completions for JavaScript in CodeMirrorCompletionController. |
| |
| Also hook up completions in ConsolePrompt to get the default completions. |
| |
| Part of: <rdar://problem/13359916> Typing in the console is improved, but still much slower |
| than in Chrome / the WebKit inspector |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CodeMirrorCompletionController.js: |
| (WebInspector.CodeMirrorCompletionController.prototype._scanStringForExpression): |
| (WebInspector.CodeMirrorCompletionController.prototype._completeAtCurrentPosition): |
| (WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions): |
| (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions.matchKeywords): |
| (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions.matchVariables.filterVariables): |
| (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions.matchVariables): |
| (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions): |
| * UserInterface/ConsolePrompt.js: |
| (WebInspector.ConsolePrompt): |
| |
| 2013-04-24 Timothy Hatcher <timothy@apple.com> |
| |
| Hook up the ConsolePrompt delegate to JavaScriptLogViewController. |
| |
| This makes the prompt work and evaluate results. No auto completion yet. |
| |
| Part of: <rdar://problem/13359916> Typing in the console is improved, but still much slower |
| than in Chrome / the WebKit inspector |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController.prototype.consolePromptHistoryDidChange): |
| (WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommited.printResult): |
| (WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommited): |
| (WebInspector.JavaScriptLogViewController.prototype._evaluateInInspectedWindow.evalCallback): |
| (WebInspector.JavaScriptLogViewController.prototype._evaluateInInspectedWindow): |
| Copied from JavaScriptTextPrompt.evalInInspectedWindow. |
| |
| 2013-04-24 Timothy Hatcher <timothy@apple.com> |
| |
| Start using ConsolePrompt in the QuickConsole. |
| |
| This simplifies the DOM structure of the QuickConsole and makes resizing happen |
| automatically using flex layout instead of JavaScript. |
| |
| Part of: <rdar://problem/13359916> Typing in the console is improved, but still much slower |
| than in Chrome / the WebKit inspector |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController): |
| (WebInspector.JavaScriptLogViewController.prototype.clear): |
| (WebInspector.JavaScriptLogViewController.prototype.startNewSession): |
| (WebInspector.JavaScriptLogViewController.prototype._handleClearShortcut): |
| (WebInspector.JavaScriptLogViewController.prototype._handleFindShortcut): |
| (WebInspector.JavaScriptLogViewController.prototype._handleFindNextShortcut): |
| (WebInspector.JavaScriptLogViewController.prototype._handleFindPreviousShortcut): |
| (WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessage): |
| Remove keydown and bind the the keyboard shortcuts to the messages element |
| and prompt element using specific event handlers. |
| |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView): |
| (WebInspector.LogContentView.prototype.shown): |
| (WebInspector.LogContentView.prototype.searchBarWantsToLoseFocus): Match _escapeWasPressed. |
| (WebInspector.LogContentView.prototype._activeLogCleared): |
| (WebInspector.LogContentView.prototype._keyDown): |
| Removed keyboard shortcut handling that was using private properties |
| from JavaScriptLogViewController. |
| |
| * UserInterface/Main.html: |
| Include ConsolePrompt.js and ConsolePrompt.css. |
| |
| * UserInterface/QuickConsole.css: |
| (.quick-console): |
| (.quick-console > .console-prompt): |
| (.quick-console > .console-prompt::before): |
| (.quick-console > .console-prompt > .CodeMirror): |
| (.quick-console > .navigation-bar): |
| Simplified by removing redundant elements. |
| |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole): Removed redundant elements. |
| (WebInspector.QuickConsole.prototype.updateLayout): |
| Set max-height and stop calling _updateSize. |
| (WebInspector.QuickConsole.prototype._updateSize): Removed. |
| |
| 2013-04-23 Timothy Hatcher <timothy@apple.com> |
| |
| Start using CodeMirror for the Console prompt. |
| |
| This introduces a new class, ConsolePrompt. |
| |
| Part of: <rdar://problem/13359916> Typing in the console is improved, but still much slower |
| than in Chrome / the WebKit inspector |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ConsolePrompt.css: Added. |
| (.console-prompt): |
| (.console-prompt > .CodeMirror): |
| (.console-prompt > .CodeMirror-scroll): |
| * UserInterface/ConsolePrompt.js: Added. |
| (WebInspector.ConsolePrompt): |
| (WebInspector.ConsolePrompt.prototype.get element): |
| (WebInspector.ConsolePrompt.prototype.get delegate): |
| (WebInspector.ConsolePrompt.prototype.set delegate): |
| (WebInspector.ConsolePrompt.prototype.get text): |
| (WebInspector.ConsolePrompt.prototype.set text): |
| (WebInspector.ConsolePrompt.prototype.get history): |
| (WebInspector.ConsolePrompt.prototype.set history): |
| (WebInspector.ConsolePrompt.prototype.get focused): |
| (WebInspector.ConsolePrompt.prototype.focus): |
| (WebInspector.ConsolePrompt.prototype.shown): |
| (WebInspector.ConsolePrompt.prototype._handlePreviousKey): |
| (WebInspector.ConsolePrompt.prototype._handleNextKey): |
| (WebInspector.ConsolePrompt.prototype._handleEnterKey): |
| (WebInspector.ConsolePrompt.prototype._restoreHistoryEntry): |
| (WebInspector.ConsolePrompt.prototype._historyEntryForCurrentText): |
| (WebInspector.ConsolePrompt.prototype._rememberCurrentTextInHistory): |
| |
| 2013-04-23 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13681931> Debugger Popover should not dismiss when mouse is over the popover |
| |
| We would always dismiss the popover when we'd hover more than 1 second |
| outside of the marked token in the text editor. This would also happen |
| if the mouse happened to be over the popover shown for the marked token. |
| We now track whether the mouse is over the presented popover and only |
| dismiss the popover when no longer hovering the marked text in case the |
| mouse is not over it. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/EventHandler.js: Added. |
| (WebInspector.EventHandler): |
| (WebInspector.EventHandler.prototype.handleEvent): |
| New utility to handle events in a way that makes it convenient to start |
| and stop tracking events in the scope of that object without using closures. |
| * UserInterface/Main.html: |
| Add the new EventHandler helper. |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype.hidden): |
| (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameDidChange): |
| (WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume): |
| (WebInspector.SourceCodeTextEditor.prototype.hoveredTokenWasReleased): |
| (WebInspector.SourceCodeTextEditor.prototype._showPopover): |
| (WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction.didGetDetails): |
| (WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction): |
| (WebInspector.SourceCodeTextEditor.prototype.willDismissPopover): |
| (WebInspector.SourceCodeTextEditor.prototype._dismissPopover): |
| (WebInspector.SourceCodeTextEditor.prototype._trackPopoverEvents): |
| (WebInspector.SourceCodeTextEditor.prototype._popoverMouseover): |
| (WebInspector.SourceCodeTextEditor.prototype._popoverMouseout): |
| |
| 2013-04-22 Timothy Hatcher <timothy@apple.com> |
| |
| Teach CodeMirror about the CSS properties, keywords and colors we support in WebKit. |
| |
| This keeps syntax highlighting in sync with code completion. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSCompletions.js: |
| (WebInspector.CSSCompletions.requestCSSNameCompletions.collectPropertyNameForCodeMirror): |
| (WebInspector.CSSCompletions.requestCSSNameCompletions.updateCodeMirrorCSSMode): |
| (WebInspector.CSSCompletions.requestCSSNameCompletions): |
| |
| 2013-04-21 Timothy Hatcher <timothy@apple.com> |
| |
| Fix some selection issues in the Console. |
| |
| Allow command-click on a single row selection to deselect that row the first time. |
| Before it was requiring two clicks -- because it would become selected twice -- |
| before it would deselect. |
| |
| Also make sure to clear focusable children after populating delayed results, |
| like a the DOM tree. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView.prototype.didAppendConsoleMessage): |
| (WebInspector.LogContentView.prototype._updateMessagesSelection): |
| |
| 2013-04-21 Timothy Hatcher <timothy@apple.com> |
| |
| Allow the context menu and clicking on any link in the console. |
| |
| There are other links in the console besides those with the console-message-url |
| style class that should work and get the normal context menu. |
| |
| <rdar://problem/13702031> can't click on a "failed to load" url in console |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView.prototype._handleContextMenuEvent): |
| (WebInspector.LogContentView.prototype._targetInMessageCanBeSelected): |
| Check only for tag name, not class name. |
| |
| 2013-04-19 Timothy Hatcher <timothy@apple.com> |
| |
| Allow both text and row selections in the Console. |
| |
| Text selection switches to row selection if the text selection spans multiple rows. |
| |
| <rdar://problem/13599610> REGRESSION: Can't select partial text of console output |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMTreeOutline.js: |
| (WebInspector.DOMTreeOutline.prototype._onmousedown): |
| Call event.stopPropagation() to prevent row selection in the console. |
| |
| * UserInterface/LogContentView.css: |
| (.console-message-text > span): Added. Allow text selection. |
| (.console-message::before, .console-user-command::before, .javascript-prompt::before, .console-group-title::before): |
| (.console-group-title::before): |
| Use px instead of em to fix a positioning issue. |
| |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView): |
| (WebInspector.LogContentView.prototype._mousedown): |
| (WebInspector.LogContentView.prototype._targetInMessageCanBeSelected): |
| (WebInspector.LogContentView.prototype._mousemove): |
| Allow text selection that switches to row selection if the text selection spans multiple rows. |
| This involves delaying operations from mousedown until later in mousemove or mouseup. |
| |
| * UserInterface/TreeOutline.js: |
| (TreeElement.treeElementMouseDown): |
| Call event.stopPropagation() to prevent row selection in the console. |
| |
| 2013-04-20 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13701561> Improve SourceMap folder tree hierarchies |
| |
| Implement a few improvements to folder tree hierarchies. |
| |
| - if there is a sourceRoot in the sourceMap use that as the base for |
| subpaths, otherwise fallback to the sourceMappingURL (may change). |
| - if a source is an absolute URL on a different scheme / host, prefix |
| the subpath with a folder of the host name. |
| - flatten folder chains in the UI. Makes expanding folders easier. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/SourceMap.js: |
| (WebInspector.SourceMap): |
| (WebInspector.SourceMap.prototype.get sourceMappingBasePathURLComponents): |
| (WebInspector.SourceMap.prototype._parseMap): |
| Save the sourceRoot. And return urlComponents for the basePath, instead of |
| just the path. |
| |
| * UserInterface/Utilities.js: |
| * UserInterface/SourceMapResource.js: |
| (WebInspector.SourceMapResource.prototype.get sourceMapDisplaySubpath): |
| Determine the subpath to display in the UI for this source map resource. |
| |
| * UserInterface/SourceCodeTreeElement.js: |
| (WebInspector.SourceCodeTreeElement.prototype.onpopulate.combineFolderChain): |
| (WebInspector.SourceCodeTreeElement.prototype.onpopulate.findAndCombineFolderChains): |
| (WebInspector.SourceCodeTreeElement.prototype.onpopulate): |
| Flatten folder chains. |
| |
| 2013-04-20 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13701561> Improve SourceMap folder tree hierarchies |
| |
| Correctly resolve dots when determining absolute URLs. Previously I had |
| left in extra "../s", however they should have been removed. And |
| absoluteURL should handle resolving any dots in the partialURL. |
| |
| This fixes ASSERTs in Debug WebKit builds where we were calling |
| loadResourceSynchronously with a URL that was expected to be |
| absolute and wasn't. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/SourceMap.js: |
| * UserInterface/Utilities.js: |
| |
| 2013-04-20 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13701561> Improve SourceMap folder tree hierarchies |
| |
| Remove the old combine folder chain code. It will be easier to follow |
| the new code with the old code gone. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/SourceCodeTreeElement.js: |
| (WebInspector.SourceCodeTreeElement.prototype.onpopulate.combineFolderChain): |
| |
| 2013-04-19 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13654793> Source Maps: Support for Stylesheets (less / sass / scss) with SourceMaps |
| |
| The Inspector protocol now tells us when a CSS response contains a |
| sourceMappingURL for a Resource. If we are given a source map URL, |
| download the source map and associate it with the Resource. |
| |
| Give Stylesheet SourceMapResources (like sass stylesheets) a CSS |
| clipping icon instead of using the generic clipping icon. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache): |
| (WebInspector.FrameResourceManager.prototype.resourceRequestDidFinishLoading): |
| (WebInspector.FrameResourceManager.prototype._createResource): |
| If there is a sourceMapURL, download it and associate it with the Resource. |
| |
| * UserInterface/Images/ClippingCSS.png: Added. |
| * UserInterface/Images/ClippingCSS@2x.png: Added. |
| * UserInterface/ResourceIcons.css: |
| (.source-map-resource.resource-icon.resource-type-stylesheet .icon): |
| CSS Clipping icon for stylesheet source map resources (like less / sass / scss). |
| |
| * UserInterface/InspectorBackendCommands.js: |
| * UserInterface/NetworkObserver.js: |
| (WebInspector.NetworkObserver.prototype.loadingFinished): |
| Handle and pass on the new "extraResourceInfo" parameter. |
| |
| 2013-04-19 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13654793> Source Maps: Support for Stylesheets (less / sass / scss) with SourceMaps |
| |
| Follow OpenSource and merge PositionSourceMap into SourceMap. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/SourceMap.js: |
| (WebInspector.SourceMap): |
| (WebInspector.SourceMap.prototype.findEntry): |
| (WebInspector.SourceMap.prototype.findEntryReversed): |
| (WebInspector.SourceMap.prototype._parseMap): |
| * UserInterface/SourceMapManager.js: |
| (WebInspector.SourceMapManager.prototype._loadAndParseSourceMap): |
| |
| 2013-04-18 Timothy Hatcher <timothy@apple.com> |
| |
| Make sure to call shown on the current Style sub-panel when the sidebar visibility changes. |
| |
| <rdar://problem/13604148> Content jumps in details sidebar when switching to styles pane |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.visibilityDidChange): |
| Call shown on the selected panel. |
| |
| 2013-04-18 Timothy Hatcher <timothy@apple.com> |
| |
| Use CSSAgent.setStyleText for Style Attribute editing too. |
| |
| <rdar://problem/13630483> Style Attribute editing in the Style details sidebar does not work on shadow content (114442) |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype.changeStyleText): |
| |
| 2013-04-18 Timothy Hatcher <timothy@apple.com> |
| |
| Switch from X-WebKit-CSP to Content-Security-Policy for the CSP header. |
| |
| Also stop allowing 'unsafe-eval' since the one place we used eval() is dead code. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/InspectorBackend.js: |
| (InspectorBackendClass.prototype.loadFromJSONIfNeeded): Removed. Not used by Safari. |
| * UserInterface/Main.html: |
| |
| 2013-04-18 Timothy Hatcher <timothy@apple.com> |
| |
| Make sure to always include the New Rule button in the Styles sidebar. |
| |
| <rdar://problem/13683941> Can't add a new rule unless there is a matched rule already |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/RulesStyleDetailsPanel.js: |
| (WebInspector.RulesStyleDetailsPanel.prototype.refresh.addNewRuleButton): Added. |
| (WebInspector.RulesStyleDetailsPanel.prototype.refresh): Call addNewRuleButton if |
| addedNewRuleButton isn't true after the end of the loop. |
| |
| 2013-04-18 Timothy Hatcher <timothy@apple.com> |
| |
| Remove workaround for <rdar://problem/13337211> now that it is fixed. |
| |
| Removing this ends up fixing: |
| <rdar://problem/13612942> REGRESSION: Style sidebar does not update immediately with node change |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype.refresh): |
| (WebInspector.DOMNodeStyles.prototype.refresh.fetchedMatchedStyles): |
| (WebInspector.DOMNodeStyles.prototype.refresh.fetchedInlineStyles): |
| (WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle): |
| Removed the repeat refresh polling logic. |
| |
| 2013-04-18 Timothy Hatcher <timothy@apple.com> |
| |
| Properly handle !important properties from inherited rules. |
| |
| <rdar://problem/13683742> Important properties from inherited rules |
| mistakenly strikeout the effective property |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype._markOverriddenProperties): |
| Mark properties as overridden from inherited elements if there |
| is already an effective property from another element. |
| |
| 2013-04-18 Timothy Hatcher <timothy@apple.com> |
| |
| Adopt CSSAgent.setStyleText added in https://webkit.org/b/109340. |
| |
| <rdar://problem/13337211> Editing styles on daringfireball.net interrupts autocompletion and flashes |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype.styleChanged): Use CSSAgent.setStyleText. |
| * UserInterface/InspectorBackendCommands.js: Updated. |
| |
| 2013-04-18 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13681577> Unresolved breakpoint in SourceMapResource when reloading page |
| |
| The ContentBrowser no longer contains ResourceContentViews directly, it |
| has ResourceClusterContentViews. Update the closeAll prototype call on |
| page navigations to make sure resource views get closed properly. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ResourceSidebarPanel.js: |
| |
| 2013-04-18 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13681487> Missing heirarchical path components selecting breakpoints in source map resources in Debugger sidebar |
| |
| Force onpopulate to create the SourceMapTreeElements immediately, |
| instead of lazily waiting for the user to expand the Resource in |
| the Resources sidebar. Then, when we look up the TreeElement to |
| get the hierarchical path components it will be found. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/SourceCodeTreeElement.js: |
| (WebInspector.SourceCodeTreeElement.prototype._updateSourceCode): |
| (WebInspector.SourceCodeTreeElement.prototype._sourceMapAdded): |
| |
| 2013-04-17 Joseph Pecoraro <pecoraro@apple.com> |
| |
| ERROR: TypeError: 'undefined' is not an object (evaluating 'currentContentView.handleCopyEvent.bind') |
| |
| Right clicking in an editor was producing an error. Check if both |
| the content view and the handleCopyEvent handler exist. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ClusterContentView.js: |
| (WebInspector.ClusterContentView.prototype.get handleCopyEvent): |
| |
| 2013-04-15 Timothy Hatcher <timothy@apple.com> |
| |
| Fix an exception that happens when clicking source links multiple times. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/ContentViewContainer.js: |
| (WebInspector.ContentViewContainer.prototype.showContentView): |
| Return currentView if it is already showing. This matches the case where we return the view |
| if it wasn't already showing. Change other returns to return null instead of undefined. |
| |
| * UserInterface/ResourceClusterContentView.js: |
| (WebInspector.ResourceClusterContentView.prototype._showContentViewForIdentifier): |
| Add an assert that we have a content view. This wasn't needed but I used to to pinpoint the bug. |
| |
| 2013-04-15 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13644426> Support %c - styled console messages - http://adamschwartz.co/log/ |
| |
| Merge OpenSource r130941, r131448, r134166, r134202. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ConsoleMessageImpl.js: |
| (WebInspector.ConsoleMessageImpl.prototype.styleFormatter): |
| (WebInspector.ConsoleMessageImpl.prototype.isWhitelistedProperty): |
| (WebInspector.ConsoleMessageImpl.prototype.append): |
| (WebInspector.ConsoleMessageImpl.prototype._formatWithSubstitutionString): |
| |
| 2013-04-15 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13658744> Improve %f, %d, %i formatters for numbers and non-numeric input |
| |
| Developer tools differ subtly in this area. I like Firefox's behavior |
| the most, calling parseFloat or parseInt on the argument. We now match |
| that behavior. |
| |
| Chrome prints NaN for anything but primitive numbers. Which causes it |
| to print NaN for Infinity and "1.5". Firebug just prints out everything |
| like "%s", like we used to before this patch. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ConsoleMessageImpl.js: |
| (WebInspector.ConsoleMessageImpl.prototype.stringFormatter): |
| (WebInspector.ConsoleMessageImpl.prototype.floatFormatter): |
| (WebInspector.ConsoleMessageImpl.prototype.integerFormatter): |
| |
| 2013-04-15 Timothy Hatcher <timothy@apple.com> |
| |
| Don't call clearHistory or markClean in TextEditor after the first time. |
| |
| This allows undo/redo in the content browser after editing in style sidebar. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor): Set _initialStringNotSet. |
| (WebInspector.TextEditor.prototype.set string.update): |
| Call clearHistory and markClean only if _initialStringNotSet is set. |
| And delete _initialStringNotSet afterwards. |
| |
| 2013-04-14 Timothy Hatcher <timothy@apple.com> |
| |
| Default dockSide to "undocked" if it isn't specified in the query parameters. |
| |
| This hides the dock buttons again in the iOS Inspector. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| |
| 2013-04-14 Timothy Hatcher <timothy@apple.com> |
| |
| Don't allow Command-Z to clear the editor. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.set string.update): |
| Call clearHistory and markClean. |
| |
| 2013-04-13 Timothy Hatcher <timothy@apple.com> |
| |
| Fix an exception when inspecting a request that has a "Content-type" |
| header instead of "Content-Type". |
| |
| All HTTP headers are case-insensitive, so we need to handle that. |
| |
| Reviewed by Ricky Mondello. |
| |
| * UserInterface/Resource.js: |
| (WebInspector.Resource.prototype.get requestDataContentType): |
| (WebInspector.Resource.prototype.get encodedSize): |
| (WebInspector.Resource.prototype.get compressed): |
| (WebInspector.Resource.prototype.updateForResponse): |
| (WebInspector.Resource.prototype.increaseSize): |
| Use valueForCaseInsensitiveKey to fetch headers. |
| |
| * UserInterface/ResourceDetailsSidebarPanel.js: |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestDataSection): |
| Set requestDataContentType to "" if it is null so the split() that comes later works. |
| |
| * UserInterface/Utilities.js: |
| (Object.prototype.valueForCaseInsensitiveKey): Added. |
| |
| 2013-04-13 Timothy Hatcher <timothy@apple.com> |
| |
| Rename "Post Data" to "Request Data" and show the data if it exists, |
| not just for the "POST" method. |
| |
| Reviewed by Antoine Quint. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame): |
| |
| * UserInterface/Resource.js: |
| (WebInspector.Resource): |
| (WebInspector.Resource.prototype.get requestData): |
| (WebInspector.Resource.prototype.get requestDataContentType): |
| |
| * UserInterface/ResourceClusterContentView.js: |
| (WebInspector.ResourceClusterContentView.prototype.get requestContentView): |
| (WebInspector.ResourceClusterContentView.prototype._canShowRequestContentView): |
| |
| * UserInterface/ResourceDetailsSidebarPanel.js: |
| (WebInspector.ResourceDetailsSidebarPanel): |
| (WebInspector.ResourceDetailsSidebarPanel.prototype.refresh): |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._goToRequestDataClicked): |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestDataSection): |
| Remove a workaround for file data that is no longer needed. |
| |
| 2013-04-12 Timothy Hatcher <timothy@apple.com> |
| |
| Prevent a double layout in the content browser navigation bar when switching views. |
| |
| By default inserted navigation items schedule a layout soon, which prevents multiple consecutive layouts |
| when inserting many navigation items. Forcing a layout after inserting navigation items causes the |
| items to be displayed in their final positions and sizes right away. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange): |
| (WebInspector.ContentBrowser.prototype._currentContentViewDidChange): |
| (WebInspector.ContentBrowser.prototype._contentViewNavigationItemsDidChange): |
| Call updateLayout after changing the navigation bar. |
| |
| * UserInterface/HierarchicalPathNavigationItem.js: |
| (WebInspector.HierarchicalPathNavigationItem.prototype.set components): |
| Use updateLayoutSoon to coalesce multiple changes. |
| |
| * UserInterface/NavigationBar.js: |
| (WebInspector.NavigationBar.prototype.updateLayout): Clear the timeout. |
| |
| 2013-04-12 Timothy Hatcher <timothy@apple.com> |
| |
| Fix the layout of the selector arrows when components start to collapse. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/HierarchicalPathComponent.css: |
| (.hierarchical-path-component.show-selector-arrows): Added. |
| (.hierarchical-path:not(.always-show-last-path-component-separator) > .hierarchical-path-component.show-selector-arrows:last-child): Added. |
| Specify correct min-widths that include space for the selector arrows. |
| |
| * UserInterface/HierarchicalPathComponent.js: |
| (WebInspector.HierarchicalPathComponent): Add the show-selector-arrows class name to the element. |
| |
| 2013-04-12 Timothy Hatcher <timothy@apple.com> |
| |
| Add the ability to see POST data that isn't in the application/x-www-form-urlencoded format. |
| |
| <rdar://problem/12667485> REGRESSION (Safari 6): Missing POST request view for non-urlencoded data |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| |
| * UserInterface/ClusterContentView.js: |
| (WebInspector.ClusterContentView.prototype.get handleCopyEvent): Added. |
| Handles passing through the current content view's handleCopyEvent function. |
| |
| * UserInterface/ContentView.js: |
| (WebInspector.ContentView): |
| (WebInspector.ContentView.isViewable): |
| Added TextContentView. |
| |
| * UserInterface/DetailsSection.css: |
| (.details-section > .content > .group > .row.simple > .value .go-to-arrow): Added. |
| |
| * UserInterface/FrameContentView.js: |
| (WebInspector.FrameContentView.createPathComponent): Pass true to get double arrows. |
| (WebInspector.FrameContentView.prototype.showResource): Added. |
| (WebInspector.FrameContentView.prototype.showSourceCode): Return the view. Use showResource. |
| (WebInspector.FrameContentView.prototype.showDOMTree): Return the view. |
| |
| * UserInterface/Images/Request.pdf: Added. |
| * UserInterface/Images/Response.pdf: Added. |
| |
| * UserInterface/Main.html: Included new files. |
| |
| * UserInterface/PathComponentIcons.css: |
| (.request-icon .icon): Added. |
| (.response-icon .icon): Added. |
| |
| * UserInterface/ResourceClusterContentView.js: Added. |
| (WebInspector.ResourceClusterContentView.createPathComponent): |
| (WebInspector.ResourceClusterContentView): |
| (WebInspector.ResourceClusterContentView.prototype.get resource): |
| (WebInspector.ResourceClusterContentView.prototype.get responseContentView): |
| (WebInspector.ResourceClusterContentView.prototype.get requestContentView): |
| (WebInspector.ResourceClusterContentView.prototype.get selectionPathComponents): |
| (WebInspector.ResourceClusterContentView.prototype.shown): |
| (WebInspector.ResourceClusterContentView.prototype.closed): |
| (WebInspector.ResourceClusterContentView.prototype.showRequest): |
| (WebInspector.ResourceClusterContentView.prototype.showResponse): |
| (WebInspector.ResourceClusterContentView.prototype._canShowRequestContentView): |
| (WebInspector.ResourceClusterContentView.prototype._pathComponentForContentView): |
| (WebInspector.ResourceClusterContentView.prototype._identifierForContentView): |
| (WebInspector.ResourceClusterContentView.prototype._showContentViewForIdentifier): |
| (WebInspector.ResourceClusterContentView.prototype._pathComponentSelected): |
| (WebInspector.ResourceClusterContentView.prototype._resourceTypeDidChange): |
| |
| * UserInterface/ResourceContentView.js: |
| (WebInspector.ResourceContentView): |
| Removed code that handled resource type changes and concrete subclasses. |
| That is now handled by ResourceClusterContentView. |
| |
| * UserInterface/ResourceDetailsSidebarPanel.js: |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._goToPostDataClicked): Added. |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshPostDataSection): |
| Renamed Size to Data in the Post Data section. Added a go-to arrow. |
| |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype.cookieForContentView): Handle ResourceClusterContentView. |
| (WebInspector.ResourceSidebarPanel.prototype.showSourceCode): Ditto. |
| (WebInspector.ResourceSidebarPanel.prototype.showResourceRequest): Added. |
| |
| * UserInterface/TextContentView.css: Added. |
| (.content-view.text > .text-editor): |
| |
| * UserInterface/TextContentView.js: Added. |
| (WebInspector.TextContentView): |
| (WebInspector.TextContentView.prototype.get textEditor): |
| (WebInspector.TextContentView.prototype.get navigationItems): |
| (WebInspector.TextContentView.prototype.revealLine): |
| (WebInspector.TextContentView.prototype.shown): |
| (WebInspector.TextContentView.prototype.hidden): |
| (WebInspector.TextContentView.prototype.closed): |
| (WebInspector.TextContentView.prototype.get supportsSearch): |
| (WebInspector.TextContentView.prototype.get numberOfSearchResults): |
| (WebInspector.TextContentView.prototype.get hasPerformedSearch): |
| (WebInspector.TextContentView.prototype.set automaticallyRevealFirstSearchResult): |
| (WebInspector.TextContentView.prototype.performSearch): |
| (WebInspector.TextContentView.prototype.searchCleared): |
| (WebInspector.TextContentView.prototype.revealPreviousSearchResult): |
| (WebInspector.TextContentView.prototype.revealNextSearchResult): |
| (WebInspector.TextContentView.prototype.updateLayout): |
| (WebInspector.TextContentView.prototype._togglePrettyPrint): |
| (WebInspector.TextContentView.prototype._textEditorFormattingDidChange): |
| (WebInspector.TextContentView.prototype._numberOfSearchResultsDidChange): |
| |
| 2013-04-11 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13630859> Remote Web Inspector doesn't work for some sites (114447) |
| |
| RWIInspectorFrontendHost always returns undefined for IFH.loadResourceSynchronously. |
| Gracefully handle that in our frontend while we either implement it, or create |
| a new Inspector protocol method to load resources through the backend. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/SourceMapManager.js: |
| (WebInspector.SourceMapManager.prototype._loadAndParseSourceMap): |
| * UserInterface/SourceMapResource.js: |
| (WebInspector.SourceMapResource.prototype._requestResourceAsynchronously): |
| |
| 2013-04-11 Timothy Hatcher <timothy@apple.com> |
| |
| Force CodeMirror editors to be a stacking context to prevent creating many layers |
| inside when another element overlaps. |
| |
| <rdar://problem/13608839> REGRESSION: Text in Web Inspector Source Code |
| view looks heavy (double rendered?) |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CodeMirrorOverrides.css: |
| (.CodeMirror): Added. Set z-index: 0. Position is already set in codemirror.css. |
| |
| 2013-04-10 Timothy Hatcher <timothy@apple.com> |
| |
| Make the Web Inspector database code tolerant of quota exceptions. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ImageUtilities.js: |
| If we can't open the database it isn't the end of the world, we just will |
| always generate the images and not cache them for better load times. |
| |
| 2013-04-10 Timothy Hatcher <timothy@apple.com> |
| |
| Drop the expected usage down to 5 MB to match the values in RWI and WK1. |
| |
| This fixes an exception on load for first time users. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ImageUtilities.js: |
| |
| 2013-04-10 Timothy Hatcher <timothy@apple.com> |
| |
| Update the Style Attribute in the sidebar when the DOM attribute changes. |
| |
| Also only update a style rule for external changes if the editor isn't focused. |
| This prevents external changes from fighting with user edits. |
| |
| <rdar://problem/13619049> |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._commitChanges): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._editorBlured): Added. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertiesChanged): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent): |
| Simplify when we reset the content to only do it when not focused. |
| |
| * UserInterface/DOMTreeManager.js: |
| (WebInspector.DOMTreeManager.prototype._loadNodeAttributes): |
| Fire WebInspector.DOMNode.Event.AttributeModified. Remove StyleInvalidated event. |
| |
| 2013-04-10 Timothy Hatcher <timothy@apple.com> |
| |
| Make DOMNodeStyles mark as needing refresh in all cases when a stylesheet changes. |
| |
| The stylesheet change might be a rule that we didn't match yet, so checking existing matched |
| rules for the stylesheet will not trigger a refresh. This code was added back when refresh was |
| not as smart, so this is the correct thing to do now. |
| |
| <rdar://problem/13387359> Undoing selector change does not show selector affecting the page anywhere |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype._styleSheetContentDidChange): |
| Simplify by always calling _markAsNeedsRefresh. |
| |
| 2013-04-09 Timothy Hatcher <timothy@apple.com> |
| |
| Indent invalid style properties, not just blank lines. |
| |
| Also strike out text that is not recognized as a property or comment. |
| |
| This will now properly indent and strike out these two error cases: |
| |
| padding; 0; |
| *line-height: 1; |
| |
| <rdar://problem/13608848> Checkbox missing for a style property |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/CSSStyleDeclarationTextEditor.css: |
| Strike out spans that are not comments or marked properties. |
| |
| * UserInterface/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._contentChanged): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers): |
| Call _markLinesWithCheckboxPlaceholder so the placeholders are added if needed for |
| lines htat didn't have properties. |
| |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): |
| Remove use of __checkboxMarker, it is not set anymore. |
| |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._markLinesWithCheckboxPlaceholder): |
| Renamed from _markBlankLinesWithCheckboxPlaceholder and taught how to mark only lines that |
| need marked, and ignores the rest. |
| |
| 2013-04-08 Timothy Hatcher <timothy@apple.com> |
| |
| Avoid a console error when viewing Anonymous scripts. |
| |
| Reviewed by Geoffrey Garen. |
| |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype.cookieForContentView): |
| |
| 2013-04-08 Timothy Hatcher <timothy@apple.com> |
| |
| Make the Scope Variables details sidebar work when evaluating in the Console. |
| |
| <rdar://problem/12831236> REGRESSION (6.0.3-Curie): Scope Chain shows nothing while debugging |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ScopeChainDetailsSidebarPanel.js: |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh.delayedWork): Clear the timeout. |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh): Set a timeout. |
| |
| 2013-04-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Copy PrettyPrinter updates into UserInterface to enact the changes. |
| |
| Unreviewed, just moving reviewed code between directories. |
| |
| * UserInterface/CodeMirrorFormatters.js: |
| * UserInterface/External/CodeMirror/javascript.js: |
| * UserInterface/Formatter.js: |
| (Formatter.prototype._handleToken): |
| |
| 2013-04-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13593779> Pretty printer should line "case" and "default" with "switch" |
| |
| Dedent before case/default and indent after, so it lines up with the switch. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Tools/PrettyPrinting/CodeMirrorFormatters.js: |
| * Tools/PrettyPrinting/index.html: |
| * Tools/PrettyPrinting/js-tests/switch-case-default-expected.js: Added. |
| * Tools/PrettyPrinting/js-tests/switch-case-default.js: Added. |
| |
| 2013-04-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13584713> Pretty printer should gracefully handle single line if/else/for/do/while blocks |
| |
| This adds indentation support for single statement blocks. This had a |
| pretty big performance cost pretty printing jquery.min.js (20ms), but |
| I think it is worth it. In the inspector itself, I did not see pretty |
| printing actually taking longer. I'll continue to look at performance. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Tools/PrettyPrinting/Formatter.js: |
| (Formatter.prototype._handleToken): |
| Let the Code modify state before / after the token is consumed. |
| Let the formatters specify multiple dedents at once. |
| |
| * Tools/PrettyPrinting/FormatterDebug.js: |
| (Formatter.prototype.debug): |
| In JavaScript print out the previous lexical state. |
| |
| * Tools/PrettyPrinting/CodeMirrorFormatters.js: |
| Pretty print a good chunk of JavaScript single statement blocks and |
| if/else chains. |
| |
| * Tools/PrettyPrinting/javascript.js: |
| Update to "near" trunk CodeMirror JavaScript. The most recent commit |
| causes issues. |
| |
| * Tools/PrettyPrinting/index.html: |
| * Tools/PrettyPrinting/js-tests/block-comment-expected.js: Added. |
| * Tools/PrettyPrinting/js-tests/block-comment.js: Added. |
| * Tools/PrettyPrinting/js-tests/single-statement-blocks-expected.js: Added. |
| * Tools/PrettyPrinting/js-tests/single-statement-blocks.js: Added. |
| Added some micro-tests for recent pretty printing changes. |
| |
| 2013-04-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Add a little test running harness to the PrettyPrinter tool. No tests yet. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Tools/PrettyPrinting/index.html: |
| |
| 2013-04-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Update the PrettyPrinting Tool to match UserInterface. |
| |
| Unreviewed tools change. |
| |
| * Tools/PrettyPrinting/codemirror.js: |
| (window.CodeMirror): |
| * Tools/PrettyPrinting/javascript.js: |
| |
| 2013-04-08 Timothy Hatcher <timothy@apple.com> |
| |
| Enable completions for resource content views. |
| |
| <rdar://problem/13598062> |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor): Hook up a WebInspector.CodeMirrorCompletionController. |
| |
| 2013-04-08 Timothy Hatcher <timothy@apple.com> |
| |
| Delay computing suggestions for 250ms to keep from slowing down typing. |
| |
| <rdar://problem/13598014> CSS completions can slow down typing |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/CodeMirrorCompletionController.js: |
| (WebInspector.CodeMirrorCompletionController.prototype.hideCompletions): |
| (WebInspector.CodeMirrorCompletionController.prototype._completeAtCurrentPosition): |
| Clear the typing delay timeout. |
| |
| (WebInspector.CodeMirrorCompletionController.prototype._handleChange): |
| Set _ignoreNextCursorActivity so hideCompletions isn't called. |
| |
| 2013-04-08 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13597681> Layers sidebar panel may flash popovers with stale content |
| |
| We only present the popover when the data grid node hasn't changed |
| between the time we called into the backend and the time the callback |
| is called. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/LayerTreeSidebarPanel.js: |
| (WebInspector.LayerTreeSidebarPanel.prototype._showPopoverForSelectedNode): |
| |
| 2013-04-08 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/12892280> Layer tree panel data grid should refresh less frequently when layers for nodes are recreated |
| |
| Provide a custom DataGrid subclass for the Layers panel where we |
| use CSS transforms to update the position of data grid nodes |
| instead of relying on DOM order so that we can avoid DOM thrashing |
| and retain scroll position for rapidly changing content. We also |
| set the width of "Paints" and "Memory" columns for a nicely |
| consistent formatting. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DetailsSectionDataGridRow.js: |
| (WebInspector.DetailsSectionDataGridRow.prototype.set dataGrid): |
| Perform a quick return in case the new data grid is the same |
| as the previous in order to remove the possibility of appending |
| the data grid's element if it was already the current data grid. |
| |
| * UserInterface/LayerTreeDataGrid.js: Added. |
| (WebInspector.LayerTreeDataGrid): |
| Initialize the DataGrid with a custom set of columns and set the |
| width of the "Paints" and "Memory" columns. |
| |
| (WebInspector.LayerTreeDataGrid.prototype.insertChild): |
| (WebInspector.LayerTreeDataGrid.prototype.removeChild): |
| Override these DataGrid methods to perform our custom layout of |
| cells when a child is added or removed. |
| |
| (WebInspector.LayerTreeDataGrid.prototype.setChildren): |
| Public API used to set the list of children data grid nodes for |
| this data grid. We compare this new list to the previous list |
| and only remove / add the nodes that need to be, avoiding having |
| to remove the entire set of children to update the nodes list. |
| |
| (WebInspector.LayerTreeDataGrid.prototype._updateChildren): |
| Position the children data grid nodes using CSS transforms instead |
| of DOM order. We also manually set the sibling relationship there |
| since it can no longer be accomplished in insertChild() or |
| removeChild() calls. |
| |
| (WebInspector.LayerTreeDataGrid.prototype._recalculateSiblings): |
| Make this method a no-op since we manually perform the same task in |
| _updateChildren(). |
| |
| * UserInterface/LayerTreeDataGridNode.js: |
| (WebInspector.LayerTreeDataGridNode): |
| Add a new _outlets private ivar we use to stash the DOM elements |
| we'll need to update when the node's data changes. |
| |
| (WebInspector.LayerTreeDataGridNode.prototype.createCells): |
| Override this DataGridNode API in order to add a flag that cells |
| were created which we'll use as a flag to allow the update of a |
| cell's data in the data setter. |
| |
| (WebInspector.LayerTreeDataGridNode.prototype.createCellContent): |
| (WebInspector.LayerTreeDataGridNode.prototype.set layer): |
| (WebInspector.LayerTreeDataGridNode.prototype.get data): |
| (WebInspector.LayerTreeDataGridNode.prototype.set data): |
| Custom data setter as the default version would completely trash |
| the DOM tree and replace it with a whole new set of elements to |
| update the data. We choose a more incremental approach here since |
| individual fields for this node may change (paint count being the |
| most likely). |
| |
| (WebInspector.LayerTreeDataGridNode.prototype._makeOutlet): |
| (WebInspector.LayerTreeDataGridNode.prototype._makeNameCell): |
| Prepare the DOM elements used to present the node's data. Many |
| elements for the name cell are dynamically added and removed in |
| _updateNameCellData(). |
| |
| (WebInspector.LayerTreeDataGridNode.prototype._updateCell): |
| (WebInspector.LayerTreeDataGridNode.prototype._updateNameCellData): |
| Update the information on outlets or their very availability based |
| on the current data and represented layer. |
| |
| * UserInterface/LayerTreeSidebarPanel.js: |
| (WebInspector.LayerTreeSidebarPanel.prototype.shown): |
| (WebInspector.LayerTreeSidebarPanel.prototype.hidden): |
| Remove the auto-sizing of data grid columns as we're not setting them |
| to be constant for a more consistent look. |
| |
| (WebInspector.LayerTreeSidebarPanel.prototype._buildDataGridSection): |
| Instantiate our new LayerTreeDataGrid class. |
| |
| (WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid): |
| Use the custom setChildren() API on LayerTreeDataGrid to change the |
| children order. |
| |
| (WebInspector.LayerTreeSidebarPanel.prototype._updateDataGrid): |
| * UserInterface/Main.html: |
| Add LayerTreeDataGrid.js. |
| |
| 2013-04-07 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13584696> Pretty printer should preserve whitespace in multi-line comments |
| |
| Update CodeMirror to trunk to get a few recent fixes. |
| |
| This update includes project wide tailing whitespace and tab removal |
| which is why so many files were changed. |
| |
| Rubber-stamped by Timothy Hatcher. |
| |
| * UserInterface/External/CodeMirror/clojure.js: |
| * UserInterface/External/CodeMirror/codemirror.js: |
| * UserInterface/External/CodeMirror/coffeescript.js: |
| * UserInterface/External/CodeMirror/javascript.js: |
| * UserInterface/External/CodeMirror/less.js: |
| * UserInterface/External/CodeMirror/matchbrackets.js: |
| * UserInterface/External/CodeMirror/overlay.js: |
| * UserInterface/External/CodeMirror/sql.js: |
| * UserInterface/External/CodeMirror/xml.js: |
| |
| 2013-04-07 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13043550> REGRESSION: Scrollbar renders behind position: sticky elements in the Web Inspector |
| |
| Give the Sidebar Panels a stacking context to work around the issue. |
| |
| Reviewed by Ricky Mondello. |
| |
| * UserInterface/Sidebar.css: |
| (.sidebar > .panel): |
| |
| 2013-04-05 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Add a small script to update the Tools/PrettyPrinting directory. |
| |
| My workflow for fixing a PrettyPrinting bug is to first update the Tools |
| directory with exact replicas of files in UserInterface. Make changes |
| and test with the debug page, and then transfer the files back to the |
| inspector. This script helps automate those steps. |
| |
| Reviewed by Cody Krieger. |
| |
| * Scripts/update-codemirror-resources.rb: |
| * Scripts/update-pretty-printer.rb: Added. |
| |
| 2013-04-05 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Update the PrettyPrinting Tool with a few Debug changes. |
| |
| Unreviewed tools change. |
| |
| * Tools/PrettyPrinting/index.html: |
| * Tools/PrettyPrinting/FormatterDebug.js: |
| (.pad): |
| (.debugToken): |
| (Formatter.prototype.debug): |
| Output null, undefined, or 'string' for tokens. |
| Previously null and undefined output as '-'. |
| |
| 2013-04-05 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Update the PrettyPrinting Tool with CodeMirror CSS changes. |
| |
| Unreviewed tools change. |
| |
| * Tools/PrettyPrinting/codemirror-additions.css: Added. |
| * Tools/PrettyPrinting/codemirror.css: |
| * Tools/PrettyPrinting/index.html: |
| |
| 2013-04-05 Timothy Hatcher <timothy@apple.com> |
| |
| Tweak Web Inspector's image cache database. |
| |
| We only want to keep the image data around for the first use. These |
| images are typically only used in one place. This keeps performance |
| good during page load and frees memory that typically won't be reused. |
| |
| Also add transaction error logging and a better expected database size. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ImageUtilities.js: |
| (_logSQLTransactionError): |
| (_prefetchCachedImagesAndUpdate): |
| (.restoreImageData): |
| (restoreImageFromStorage): |
| |
| 2013-04-05 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Update the PrettyPrinting Tool with new formatter changes. |
| |
| Also some tweaks so that the Tools files are identical to the ones in |
| the actual Web Inspector (UserInterface). |
| |
| Unreviewed tools change. |
| |
| * Tools/PrettyPrinting/CodeMirrorFormatters.js: |
| * Tools/PrettyPrinting/Formatter.js: |
| (Formatter.prototype.format): |
| (Formatter.prototype._handleToken): |
| (Formatter.prototype._handleEmptyLine): |
| * Tools/PrettyPrinting/FormatterContentBuilder.js: |
| (FormatterContentBuilder.prototype.appendNewline): |
| (FormatterContentBuilder.prototype.appendMultipleNewlines): |
| (FormatterContentBuilder.prototype.removeLastNewline): |
| (FormatterContentBuilder.prototype._addFormattedLineEnding): |
| * Tools/PrettyPrinting/FormatterDebug.js: Added. |
| (Formatter.prototype.debug): |
| * Tools/PrettyPrinting/Utilities.js: Added. |
| * Tools/PrettyPrinting/codemirror.js: |
| * Tools/PrettyPrinting/css.js: |
| * Tools/PrettyPrinting/index.html: |
| * Tools/PrettyPrinting/javascript.js: |
| |
| 2013-04-05 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Win back performance in pretty-printing large files |
| |
| With preserving newlines we lost a few ms. This wins back at |
| least the same amount and a bit more on JavaScript (2-3ms). |
| |
| Checking if the current token is a comment is a very common |
| in our pretty printers. Only perform the work once, and pass |
| the result around as needed to prevent duplicated work. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/CodeMirrorFormatters.js: |
| * UserInterface/Formatter.js: |
| (Formatter.prototype._handleToken): |
| |
| 2013-04-05 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13582023> Web Inspector removes blank lines in my JS when pretty printing |
| |
| When pretty-printing already pretty code we did a poor job of preserving |
| the nice extra whitespace the original code had. This preserves the empty |
| (whitespace only) lines in the original code. |
| |
| Because our pretty printer sometimes adds multiple newlines, like in CSS |
| after each rule, we don't need to add yet another newline to just preserve |
| a blank line from the original content. Handle that gracefully. |
| |
| This introduces a minor performance regression (1-3ms in large content) |
| but I think it is well worth it considering the results. Much prettier! |
| |
| JavaScript Test: |
| |
| Foo.prototype.f = function() { |
| // ... |
| } |
| |
| Foo.prototype.g = function() { |
| // ... |
| } |
| |
| CSS Test: |
| |
| /* comment one */ |
| |
| /* comment two */ |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/Formatter.js: |
| (Formatter.prototype.format): |
| (Formatter.prototype._handleToken): |
| (Formatter.prototype._handleEmptyLine): |
| Call handleEmptyLine for whitespace only lines, and force |
| append a newline unless the builder just had multiple. |
| |
| * UserInterface/FormatterContentBuilder.js: |
| (FormatterContentBuilder): |
| (FormatterContentBuilder.prototype.appendNewline): |
| (FormatterContentBuilder.prototype.appendMultipleNewlines): |
| Helper for appending multiple newlines, to set some extra state. |
| |
| 2013-04-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13583718> Pretty printing should not move comments to the end of the previous line |
| |
| Previously we removed newlines before comments if they were after a |
| semicolon. This was intended to keep comments on the same line as code. |
| This could backfire if the comment was really on actually on the next |
| line. So be more specific, and don't remove the previous newline if |
| the comment is the first token on a line. |
| |
| JavaScript Test: |
| |
| function() { |
| var a; |
| // test |
| } |
| |
| CSS Test: |
| |
| a { |
| color: red; |
| /* test */ |
| } |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/CodeMirrorFormatters.js: |
| * UserInterface/Formatter.js: |
| (Formatter.prototype.format): |
| (Formatter.prototype._handleToken): |
| |
| 2013-04-05 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13472300> Layers in sidebar panel should use iconography |
| |
| Refreshing the look of the Layers sidebar panel data grid nodes |
| to use icons to identify the kind of layers presented (element, |
| pseudo-element or reflection). Also, we mark the pseudo-element |
| part of the CSS selector by displaying it in lighter text as well |
| as showing a " Ñ Reflection" extra label in the case of reflections. |
| Finally, we also trim the text in the CSS selector label and shorten |
| it to make room for the go-to arrow button should it be visible |
| when hovering the data grid node. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Images/PseudoElement.pdf: Added. |
| * UserInterface/Images/Reflection.pdf: Added. |
| * UserInterface/LayerTreeDataGridNode.js: |
| (WebInspector.LayerTreeDataGridNode.prototype.createCellContent): |
| (WebInspector.LayerTreeDataGridNode.prototype.set layer): |
| (WebInspector.LayerTreeDataGridNode.prototype._createNodeCellContent): |
| (WebInspector.LayerTreeDataGridNode.prototype._goToArrowWasClicked): |
| * UserInterface/LayerTreeSidebarPanel.css: |
| (.layer-tree.panel .data-grid table.data): |
| (.layer-tree.panel .data-container tr): |
| (.layer-tree.panel .data-container td > div): |
| (.layer-tree.panel .data-container .name-column): |
| (.layer-tree.panel .data-container .name-column .icon): |
| (.layer-tree.panel .data-container tr.reflection .name-column .icon): |
| (.layer-tree.panel .data-container tr.pseudo-element .name-column .icon): |
| (.layer-tree.panel .data-container .name-column .label): |
| (.layer-tree.panel .data-container tr:hover .name-column .label): |
| (.layer-tree.panel .data-container .name-column .reflection): |
| (.layer-tree.panel .data-container tr.selected .name-column .reflection): |
| (.layer-tree.panel .data-container .go-to-arrow): |
| (.layer-tree.panel .data-container tr:hover .go-to-arrow): |
| |
| 2013-04-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13573165> Pressing Esc in a readOnly editor should still focus the quick console |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/EditingSupport.js: |
| (WebInspector.isEventTargetAnEditableField): |
| |
| 2013-04-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13580154> DOMTreeOutline.js:504: JS ERROR: TypeError: 'true' is not a function (evaluating 'this._contextMenuCallback(contextMenu, node)' |
| |
| DOMTreeOutline constructors were passing 3 booleans. In the case of |
| outlines in the Console it was passing "true" expecting that to provide |
| a "Reveal Element" context menu item, but that mis-matched the |
| constructor. Fix the error, and add back the context menu item. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DOMTreeOutline.js: |
| (WebInspector.DOMTreeOutline): |
| Update parameters. |
| |
| (WebInspector.DOMTreeOutline.prototype.revealElement): |
| (WebInspector.DOMTreeOutline.prototype._populateContextMenu): |
| Append a "Reveal Element" context menu item if needed. |
| |
| * UserInterface/ObjectPropertiesSection.js: |
| (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired): |
| Update the string. We don't have a panel, the nav bar labels this "DOM Tree". |
| |
| 2013-04-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| ERROR URIError: URI error in FrameResourceManager.prototype.resourceForScript |
| |
| decodeURI can throw a URIError, e.g. decodeURI("%"). Protect against |
| this in FrameResourceManager. This method is meant to work with both |
| already decoded and encoded URIs. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype.resourceForScript): |
| Wrap the code with decodeURI in a try/catch. |
| |
| 2013-04-04 Timothy Hatcher <timothy@apple.com> |
| |
| Fix opening the Web Inspector in Production builds. |
| |
| A function declaration was pushed up next to a parenthesis when minified. |
| This made the parser think we were trying to make a call. Adding a semicolon |
| is all we need to make things work again when combined and minified. |
| |
| <rdar://problem/13577591> REGRESSION (r50120-50124): Can't open Web Inspector |
| |
| Reviewed by Ricky Mondello. |
| |
| * UserInterface/MIMETypeUtilities.js: |
| (WebInspector.fileExtensionForURL): |
| (WebInspector.mimeTypeForFileExtension): |
| |
| 2013-04-04 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13570821> Reasons for compositing popover should adjust position if inspector window resizes |
| |
| Allow for popovers to have their target frame updated independently |
| of their content so we can efficiently update their position as the |
| element for which a popover is presented changes position. Now that |
| we have this support, we update the popover presentation when the |
| window size changes and a popover is visible in the Layers sidebar |
| panel. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Breakpoint.js: |
| (WebInspector.Breakpoint.prototype._showEditBreakpointPopover): |
| Adopt the updated Popover API. |
| |
| * UserInterface/LayerTreeSidebarPanel.js: |
| (WebInspector.LayerTreeSidebarPanel): |
| Track window resize events so that we may update the popover |
| presentation as it changes. |
| |
| (WebInspector.LayerTreeSidebarPanel.prototype._windowResized): |
| Update the popover presentation in case there is a visible popover. |
| |
| (WebInspector.LayerTreeSidebarPanel.prototype._showPopoverForSelectedNode): |
| Use the new _updatePopoverForSelectedNode() method as the callback. |
| |
| (WebInspector.LayerTreeSidebarPanel.prototype._updatePopoverForSelectedNode): |
| Adopt the updated Popover API and only set the popover's content |
| should one be provided, ie. when the method is called as callback |
| to _contentForPopover(). |
| |
| * UserInterface/Popover.js: |
| (WebInspector.Popover): |
| New private ivars to track some popover presentation state. |
| |
| (WebInspector.Popover.prototype.get visible): |
| New public property to let clients check on popover visibility. |
| |
| (WebInspector.Popover.prototype.set content): |
| (WebInspector.Popover.prototype.present): |
| New public property and method signature to let clients set the |
| content of the popover independently of its presentation attributes. |
| |
| (WebInspector.Popover.prototype._update): |
| New private method called to update the presentation state |
| of the popover and basically the old content of the present() |
| method with use of the presentation ivars instead of method |
| arguments and some optimizations to check that we only update |
| the content and draw the canvas background should they have |
| changed. |
| |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype._showPopover): |
| Adopt the updated Popover API. |
| |
| 2013-04-04 Timothy Hatcher <timothy@apple.com> |
| |
| Make ContentViewContainer robust against null/undefined elements in contentView.scrollableElements. |
| |
| DatabaseTableContentView can return a null element when the table is empty, and this causes exceptions. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/ContentViewContainer.js: |
| (WebInspector.ContentViewContainer.prototype._saveScrollPositionsForContentView): |
| (WebInspector.ContentViewContainer.prototype._restoreScrollPositionsForContentView): |
| |
| 2013-04-04 Timothy Hatcher <timothy@apple.com> |
| |
| Don't use localStorage to cache generated images in the Web Inspector. |
| |
| This migrates ImageUtilities off localStorage to a SQL database. |
| |
| <rdar://problem/13574226> Web Inspector breaks when file:/// localStorage hits 5MB limit |
| |
| Rubber-stamped by Antoine Quint. |
| |
| * UserInterface/ImageUtilities.js: |
| (_devicePixelRatioChanged): |
| (_registerGeneratedImageUpdateFunction): |
| (_logSQLError): |
| (_prefetchCachedImagesAndUpdate.complete): |
| (_prefetchCachedImagesAndUpdate._generatedImageCacheDatabase.transaction): |
| (_prefetchCachedImagesAndUpdate): |
| (restoreImageFromStorage): |
| (generateColoredImagesForCSS.restoreImages): |
| (generateColoredImagesForCSS.restoreImages.restoreActiveImages): |
| (generateColoredImagesForCSS.restoreImage): |
| (generateColoredImagesForCSS.update): |
| (generateColoredImagesForCSS.generateImage): |
| (generateEmbossedImages): |
| (generateEmbossedImages.generateImages): |
| (generateEmbossedImages.generateImages.generateActiveImages): |
| |
| 2013-04-04 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13570779> Reasons for compositing popover in layers sidebar is poorly aligned with selected datagrid row |
| |
| Also apply padding to the target frame size, not just the origin, and |
| adjust the padding down to 2 to match the padding used for breakpoints. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/LayerTreeSidebarPanel.js: |
| (WebInspector.LayerTreeSidebarPanel.prototype._showPopoverForSelectedNode): |
| |
| 2013-04-03 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13573798> REGRESSION: CodeMirror editor doesn't refresh when split console is hidden and more of the content view is visible |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole.prototype.consoleLogVisibilityChanged): |
| Trigger a DidResize event because the console would have changed |
| its visible size. |
| |
| 2013-04-03 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13474739> Respect sourcesContent in SourceMaps for SourceMapResources |
| |
| If the resource's contents are available via the Source Map's |
| sourcesContent array, then use them. Otherwise, go the normal path of |
| downloading the resource. Because neither path can get the MIME type of |
| the resource right now, fallback to trying to determine the MIME type |
| from the resource's file extension. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Main.html: |
| * UserInterface/MIMETypeUtilities.js: Added. |
| (WebInspector.fileExtensionForURL): |
| (WebInspector.mimeTypeForFileExtension): |
| Helpers for extensions and MIME types. |
| |
| * UserInterface/SourceMapResource.js: |
| (WebInspector.SourceMapResource.prototype._requestResourceAsynchronously): |
| Check for embedded sourcesContent content, and determine the MIME type |
| from the file extension. |
| |
| * UserInterface/Resource.js: |
| Be sure to give types to some of the MIME types for CodeMirror supported |
| types, which may show up as SourceMap sources. |
| |
| 2013-04-03 Joseph Pecoraro <pecoraro@apple.com> |
| |
| ERROR: console.assert(alternateImage) in ToggleButtonNavigationItem.js:4 |
| |
| Remove assert that there must be an alternateImage. The undock button |
| does not have an alternate image, and this assert would trigger each |
| time the inspector was opened. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ToggleButtonNavigationItem.js: |
| (WebInspector.ToggleButtonNavigationItem): |
| |
| 2013-04-03 Jessie Berlin <jberlin@apple.com> |
| |
| Ran update-safari-localizable-strings. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| 2013-04-03 Timothy Hatcher <timothy@apple.com> |
| |
| Add switch to activate / deactivate all breakpoints. |
| |
| <rdar://problem/11329057> REGRESSION (Safari 6): Switch to activate / deactivate all |
| breakpoints is missing (debugger) |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/Breakpoint.js: |
| (WebInspector.Breakpoint.prototype.get resolved): |
| Check DebuggerManager.breakpointsEnabled. This is the easiest approach to get the gray |
| icons for breakpoints in all the right places without adding checks at all call sites. |
| |
| * UserInterface/DebuggerManager.js: |
| (WebInspector.DebuggerManager): |
| (WebInspector.DebuggerManager.prototype.get breakpointsEnabled): |
| (WebInspector.DebuggerManager.prototype.set breakpointsEnabled): |
| (WebInspector.DebuggerManager.prototype._updateBreakOnExceptionsState): |
| Check the breakpointsEnabled setting when updating the break on exception state. |
| |
| * UserInterface/DebuggerSidebarPanel.css: |
| (.sidebar > .panel.debugger .breakpoint-toggle): Added. |
| (.sidebar > .panel.debugger .breakpoint-toggle.enabled): Added. |
| |
| * UserInterface/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel): |
| (WebInspector.DebuggerSidebarPanel.prototype._breakpointsToggleButtonClicked): |
| Added a button to the Breakpoints section header. |
| |
| 2013-04-03 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13566082> DOMTreeManager.highlightRect() does not take scrolling into account |
| |
| Add support for the new "usePageCoordinates" argument to DOM.highlightRect() |
| and set it to true when highlighting the bounds of generated layers. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DOMTreeManager.js: |
| (WebInspector.DOMTreeManager.prototype.highlightRect): |
| * UserInterface/InspectorBackendCommands.js: |
| * UserInterface/LayerTreeSidebarPanel.js: |
| (WebInspector.LayerTreeSidebarPanel.prototype._highlightSelectedNode): |
| |
| 2013-04-03 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13105224> Reflect data grid timeline filters in the Timeline overview |
| |
| Apply the filtering of records directly into the timelineOverviewRecordsWithType() |
| method which is the method used by the TimelineOverview to gather data. Additionally, |
| we now update the content of the TimelineOverview when the filters applied to one of |
| the data grids change such that the timeline overview is kept in sync. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView.prototype.timelineOverviewRecordsWithType): |
| (WebInspector.TimelinesContentView.prototype._dataGridFiltersDidChange): |
| |
| 2013-04-03 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13557373> Layers panel doesn't know how to account for anonymous layers |
| |
| Handle the new "isAnonymous" property on the protocol and the renamed |
| "pseudoElement" property. We also format use of pseudo-elements better |
| and handle the somewhat unlikely possibility that we would deal with |
| layers with unknown nodes. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| New localized string for "Unknown node". |
| |
| * UserInterface/LayerTreeDataGridNode.js: |
| (WebInspector.LayerTreeDataGridNode.prototype.createCellContent): |
| Update the "no-node" class on the data grid node's element. |
| |
| (WebInspector.LayerTreeDataGridNode.prototype.set layer): |
| Set an "Unknown node" label for layers with an unknown node, which |
| shouldn't really happen, but we should be prepared for the possibility. |
| Seeing this message means that the agent should be taught how to deal |
| with a probably edge case. We also update the code to deal with the |
| "pseudoElement" property instead of "pseudoClass" to match the protocol |
| change. Finally, we also update the "no-node" class on the data grid's node. |
| |
| (WebInspector.LayerTreeDataGridNode.prototype._updateDOMNodeAvailability): |
| New method to update the "no-node" class on the data grid's node so |
| that we may hide the go-to arrow button in the case where there is |
| no associated node. |
| |
| * UserInterface/LayerTreeSidebarPanel.css: |
| (.layer-tree.panel .data-grid tr.no-node .go-to-arrow): |
| Hide the go-to arrow button in the case where there is no associated node. |
| |
| * UserInterface/LayerTreeSidebarPanel.js: |
| (WebInspector.LayerTreeSidebarPanel.prototype._highlightSelectedNode): |
| Also use highlightRect() in the case where the layer is anonymous. |
| |
| 2013-04-02 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13548470> REGRESSION: Web inspector hung after searching for "swf" |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype._scrollIntoViewCentered): |
| Be more careful providing a center margin when the text size and editor |
| height can be fractional. If the margin is greater than half the size of |
| the editor, CodeMirror gets stuck in an infinite loop. |
| |
| 2013-04-02 Joseph Pecoraro <pecoraro@apple.com> |
| |
| ERROR: TypeError: 'undefined' is not an object (evaluating 'this._profileView.showTimeAsPercent.value') |
| |
| When selecting a CSS Profile, displayProfile could trigger from the |
| superclass constructor before the showTimeAsPercent Setting was |
| initialized, causing this error. ProfileView's are assumed to have |
| this property, and the ProfileView constructor had an unused |
| parameter, which looks like it was intended for this purpose. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/CSSSelectorProfileView.js: |
| (WebInspector.CSSSelectorProfileView): |
| * UserInterface/JavaScriptProfileView.js: |
| (WebInspector.JavaScriptProfileView): |
| * UserInterface/ProfileView.js: |
| (WebInspector.ProfileView): |
| |
| 2013-04-02 Timothy Hatcher <timothy@apple.com> |
| |
| Update toolbar layout for recent flex box changes. |
| |
| <rdar://problem/13556024> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Toolbar.css: |
| (.toolbar .item-section): Added min-width: -webkit-min-content. |
| min-width now defaults to 0, but we need the sections to stop at the |
| content size so the JavaScript layout function can do the right thing. |
| |
| 2013-04-02 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13545256> Automatic selection of a CSS profile upon finishing recording fails to show any content |
| |
| Make sure we set the "showAsTimePercent" property before calling super since |
| it may be used by the generated WebInspector.CSSSelectorDataGridNode in |
| displayProfile() which would be called in the super call in the case where |
| the view is created as the profile finishes recording. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/CSSSelectorProfileView.js: |
| (WebInspector.CSSSelectorProfileView): |
| |
| 2013-04-01 Timothy Hatcher <timothy@apple.com> |
| |
| Fix the icons for the exception breakpoints. |
| |
| <rdar://problem/13552326> REGRESSION: Exception breakpoints are missing custom icons |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel.ExceptionIconStyleClassName): Added. |
| This property was expected to exist but got removed at some point. |
| BreakpointTreeElement property handled undefined and used the generic icon. |
| |
| 2013-04-01 Timothy Hatcher <timothy@apple.com> |
| |
| Compressed PNGs with pngcrush and further reduced the size of some PDFs by re-exporting them. Removed some unused images too. |
| |
| This goes from 2.1 MB of images down to 1.2 MB. |
| |
| Rubber-stamped by Joseph Pecoraro. |
| |
| * UserInterface/Images/ApplicationCache.png: |
| * UserInterface/Images/ApplicationCache@2x.png: |
| * UserInterface/Images/ApplicationCacheManifest.png: |
| * UserInterface/Images/ApplicationCacheManifest@2x.png: |
| * UserInterface/Images/Breakpoint.png: |
| * UserInterface/Images/Breakpoint@2x.png: |
| * UserInterface/Images/BreakpointInactive.png: |
| * UserInterface/Images/BreakpointInactive@2x.png: |
| * UserInterface/Images/ClippingGeneric.png: |
| * UserInterface/Images/ClippingGeneric@2x.png: |
| * UserInterface/Images/ClippingJS.png: |
| * UserInterface/Images/ClippingJS@2x.png: |
| * UserInterface/Images/Close.pdf: |
| * UserInterface/Images/Colors.png: |
| * UserInterface/Images/Colors@2x.png: |
| * UserInterface/Images/Cookie.png: |
| * UserInterface/Images/Cookie@2x.png: |
| * UserInterface/Images/Crosshair.pdf: |
| * UserInterface/Images/DOMCharacterData.pdf: |
| * UserInterface/Images/DOMComment.pdf: |
| * UserInterface/Images/DOMDocument.pdf: |
| * UserInterface/Images/DOMDocumentType.pdf: |
| * UserInterface/Images/DOMElement.pdf: |
| * UserInterface/Images/DOMNode.pdf: |
| * UserInterface/Images/DOMTextNode.pdf: |
| * UserInterface/Images/DOMTree.pdf: |
| * UserInterface/Images/Database.png: |
| * UserInterface/Images/Database@2x.png: |
| * UserInterface/Images/DatabaseTable.png: |
| * UserInterface/Images/DatabaseTable@2x.png: |
| * UserInterface/Images/DisclosureTriangleSmallClosed.pdf: |
| * UserInterface/Images/DisclosureTriangleSmallOpen.pdf: |
| * UserInterface/Images/DockBottom.pdf: |
| * UserInterface/Images/DockRight.pdf: |
| * UserInterface/Images/DocumentCSS.png: |
| * UserInterface/Images/DocumentCSS@2x.png: |
| * UserInterface/Images/DocumentFont.png: |
| * UserInterface/Images/DocumentFont@2x.png: |
| * UserInterface/Images/DocumentGeneric.png: |
| * UserInterface/Images/DocumentGeneric@2x.png: |
| * UserInterface/Images/DocumentImage.png: |
| * UserInterface/Images/DocumentImage@2x.png: |
| * UserInterface/Images/DocumentJS.png: |
| * UserInterface/Images/DocumentJS@2x.png: |
| * UserInterface/Images/DocumentMarkup.png: |
| * UserInterface/Images/DocumentMarkup@2x.png: |
| * UserInterface/Images/EventListener.pdf: |
| * UserInterface/Images/Exception.pdf: |
| * UserInterface/Images/FilterFieldGlyph.pdf: |
| * UserInterface/Images/FolderGeneric.png: |
| * UserInterface/Images/FolderGeneric@2x.png: |
| * UserInterface/Images/Function.pdf: |
| * UserInterface/Images/HierarchicalNavigationItemChevron.pdf: |
| * UserInterface/Images/InstructionPointer.png: |
| * UserInterface/Images/InstructionPointer@2x.png: |
| * UserInterface/Images/LeftSidebarClose.pdf: Removed. |
| * UserInterface/Images/LeftSidebarOpen.pdf: Removed. |
| * UserInterface/Images/LessColumns.pdf: |
| * UserInterface/Images/LocalStorage.png: |
| * UserInterface/Images/LocalStorage@2x.png: |
| * UserInterface/Images/Log.png: |
| * UserInterface/Images/Log@2x.png: |
| * UserInterface/Images/MoreColumns.pdf: |
| * UserInterface/Images/NavigationItemAngleBrackets.pdf: |
| * UserInterface/Images/NavigationItemBug.pdf: |
| * UserInterface/Images/NavigationItemCurleyBraces.pdf: |
| * UserInterface/Images/NavigationItemFile.pdf: |
| * UserInterface/Images/NavigationItemLayers.pdf: |
| * UserInterface/Images/NavigationItemLog.pdf: |
| * UserInterface/Images/NavigationItemRuler.pdf: Removed. |
| * UserInterface/Images/NavigationItemStopwatch.pdf: |
| * UserInterface/Images/NavigationItemStorage.pdf: |
| * UserInterface/Images/Network.png: |
| * UserInterface/Images/Network@2x.png: |
| * UserInterface/Images/NetworkBarBlue.png: |
| * UserInterface/Images/NetworkBarBlue@2x.png: |
| * UserInterface/Images/NetworkBarGray.png: |
| * UserInterface/Images/NetworkBarGray@2x.png: |
| * UserInterface/Images/NetworkBarGreen.png: |
| * UserInterface/Images/NetworkBarGreen@2x.png: |
| * UserInterface/Images/NetworkBarLabelCalloutLeft.pdf: |
| * UserInterface/Images/NetworkBarLabelCalloutRight.pdf: |
| * UserInterface/Images/NetworkBarLabelCalloutWhiteLeft.pdf: |
| * UserInterface/Images/NetworkBarLabelCalloutWhiteRight.pdf: |
| * UserInterface/Images/NetworkBarOrange.png: |
| * UserInterface/Images/NetworkBarOrange@2x.png: |
| * UserInterface/Images/NetworkBarPurple.png: |
| * UserInterface/Images/NetworkBarPurple@2x.png: |
| * UserInterface/Images/NetworkBarRed.png: |
| * UserInterface/Images/NetworkBarRed@2x.png: |
| * UserInterface/Images/NetworkBarWhiteFlat.png: |
| * UserInterface/Images/NetworkBarWhiteFlat@2x.png: |
| * UserInterface/Images/NetworkBarYellow.png: |
| * UserInterface/Images/NetworkBarYellow@2x.png: |
| * UserInterface/Images/NetworkHollowBarBlue.png: |
| * UserInterface/Images/NetworkHollowBarBlue@2x.png: |
| * UserInterface/Images/NetworkHollowBarGray.png: |
| * UserInterface/Images/NetworkHollowBarGray@2x.png: |
| * UserInterface/Images/NetworkHollowBarGreen.png: |
| * UserInterface/Images/NetworkHollowBarGreen@2x.png: |
| * UserInterface/Images/NetworkHollowBarOrange.png: |
| * UserInterface/Images/NetworkHollowBarOrange@2x.png: |
| * UserInterface/Images/NetworkHollowBarPurple.png: |
| * UserInterface/Images/NetworkHollowBarPurple@2x.png: |
| * UserInterface/Images/NetworkHollowBarRed.png: |
| * UserInterface/Images/NetworkHollowBarRed@2x.png: |
| * UserInterface/Images/NetworkHollowBarYellow.png: |
| * UserInterface/Images/NetworkHollowBarYellow@2x.png: |
| * UserInterface/Images/Pause.pdf: |
| * UserInterface/Images/Profile.png: |
| * UserInterface/Images/Profile@2x.png: |
| * UserInterface/Images/Recording.png: |
| * UserInterface/Images/RecordingHovered.png: |
| * UserInterface/Images/RecordingHovered@2x.png: |
| * UserInterface/Images/RecordingStopped.png: |
| * UserInterface/Images/RecordingStopped@2x.png: |
| * UserInterface/Images/ResultLine.pdf: |
| * UserInterface/Images/Resume.pdf: |
| * UserInterface/Images/RightSidebarClose.pdf: Removed. |
| * UserInterface/Images/RightSidebarOpen.pdf: Removed. |
| * UserInterface/Images/Script.png: |
| * UserInterface/Images/Script@2x.png: |
| * UserInterface/Images/SessionStorage.png: |
| * UserInterface/Images/SessionStorage@2x.png: |
| * UserInterface/Images/SourceCode.pdf: |
| * UserInterface/Images/StepInto.pdf: |
| * UserInterface/Images/StepOut.pdf: |
| * UserInterface/Images/StepOver.pdf: |
| * UserInterface/Images/Stopwatch.png: |
| * UserInterface/Images/Stopwatch@2x.png: |
| * UserInterface/Images/StyleRuleAuthor.pdf: |
| * UserInterface/Images/StyleRuleInherited.pdf: |
| * UserInterface/Images/StyleRuleInheritedElement.pdf: |
| * UserInterface/Images/StyleRuleInspector.pdf: |
| * UserInterface/Images/StyleRuleUser.pdf: |
| * UserInterface/Images/StyleRuleUserAgent.pdf: |
| * UserInterface/Images/TimelineBarBlue.png: |
| * UserInterface/Images/TimelineBarBlue@2x.png: |
| * UserInterface/Images/TimelineBarOrange.png: |
| * UserInterface/Images/TimelineBarOrange@2x.png: |
| * UserInterface/Images/TimelineBarPurple.png: |
| * UserInterface/Images/TimelineBarPurple@2x.png: |
| * UserInterface/Images/ToggleArrowDown.pdf: Removed. |
| * UserInterface/Images/ToggleArrowUp.pdf: Removed. |
| * UserInterface/Images/Undock.pdf: |
| * UserInterface/Images/UserInputPrompt.pdf: |
| * UserInterface/Images/UserInputPromptPrevious.pdf: |
| * UserInterface/Images/UserInputResult.pdf: |
| |
| 2013-03-31 Timothy Hatcher <timothy@apple.com> |
| |
| Allow changing Web Inspector dock sides without undocking first. |
| |
| Holding option will change the undock button to the opposite attachment side. When clicked |
| the button will change to the other attachment side. Holding option with allow undock. This |
| keeps the last used option available if the user hardly undocks but frequently changes sides. |
| |
| rdar://problem/13543127 |
| |
| Reviewed by Antoine Quint. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| |
| * UserInterface/Images/Dock.pdf: Removed. |
| * UserInterface/Images/DockBottom.pdf: Added. |
| * UserInterface/Images/DockRight.pdf: Added. |
| |
| * UserInterface/Main.js: |
| (WebInspector.loaded): Added key event listeners. |
| (WebInspector.contentLoaded): Use ToggleControlToolbarItem for undock button. |
| (WebInspector._windowKeyDown): Added. |
| (WebInspector._windowKeyUp): Added. |
| |
| (WebInspector._undock): |
| (WebInspector._updateDockNavigationItems): |
| Set and check toggled state for undock button and do the right thing. |
| |
| * UserInterface/ToggleButtonNavigationItem.js: |
| (WebInspector.ToggleButtonNavigationItem.prototype.set alternateToolTip): Added. |
| (WebInspector.ToggleButtonNavigationItem.prototype.set alternateImage): Added. |
| |
| 2013-04-01 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13492413> Improve line number subtitle for SourceMap Breakpoints in Debugger sidebar |
| |
| If a breakpoint is in a SourceMapResource, there is a subtitle showing |
| the original location. If the original location is in a formatted file |
| show the italics formatted location that you would jump to. Don't show |
| a subtitle for breakpoints in formatted resources, just the Line:Column. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/BreakpointTreeElement.css: |
| (.item.breakpoint .subtitle.formatted-location): |
| Italics if the subtitle is displaying a formatted location. |
| |
| * UserInterface/BreakpointTreeElement.js: |
| (WebInspector.BreakpointTreeElement): |
| (WebInspector.BreakpointTreeElement.prototype._updateTitles): |
| For SourceMap resources, show the formatted / original location. |
| Always have the real original location in the tooltip. |
| |
| (WebInspector.BreakpointTreeElement.prototype._breakpointLocationDidChange): |
| Update the titles if any location changes (the original file may |
| have been formatted, and we'd want to update for that). |
| |
| * UserInterface/GeneralTreeElement.js: |
| (WebInspector.GeneralTreeElement.prototype.get subtitleElement): |
| Be sure to create the title element the subtitle gets appended to. |
| |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype.showOriginalOrFormattedSourceCodeLocation): |
| This essentially means, show location in the editor. |
| |
| * UserInterface/SourceCodeLocation.js: |
| (WebInspector.SourceCodeLocation.prototype.formattedLocationString): |
| Helper for getting the display string for the formatted location. |
| |
| 2013-04-01 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Avoid some asserts that can happen when reformatting files with breakpoints. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype._updateBreakpointLocation): |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.updateStyles): |
| (WebInspector.TextEditor.prototype._removeBreakpointFromLineAndColumn): |
| |
| 2013-03-29 Timothy Hatcher <timothy@apple.com> |
| |
| Add CSS as a known source type. |
| |
| <rdar://problem/13498380> ASSERTION: IssueMessage.js:64: Unknown issue source: css |
| |
| Reviewed by Ricky Mondello. |
| |
| * UserInterface/IssueMessage.js: |
| (WebInspector.IssueMessage): |
| |
| 2013-03-29 Timothy Hatcher <timothy@apple.com> |
| |
| Don't try to toggle visibility if a toggle is already pending. |
| |
| <rdar://problem/13401011> New Shortcut to hide/show elements while |
| inspecting breaks if you leave the key pressed. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMTreeOutline.js: |
| (WebInspector.DOMTreeOutline.prototype._hideElement.toggleProperties): |
| (WebInspector.DOMTreeOutline.prototype._hideElement): |
| |
| 2013-03-29 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Avoid a SourceMapResource Folder chain of single level folders. |
| |
| On of my test cases, <http://dev.fontdragr.com>, a resource with |
| a source map has all its source map resources in a "src" folder. |
| This creates a poor experience in the resources sidebar. When |
| expanding the resource, there is just a "src" folder. In those |
| cases, and in general if there is one long chain of folders, |
| don't even use folders. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/SourceCodeTreeElement.js: |
| (WebInspector.SourceCodeTreeElement.prototype.onpopulate.folderHasOnlyResourceChildren): |
| (WebInspector.SourceCodeTreeElement.prototype.onpopulate): |
| (WebInspector.SourceCodeTreeElement.prototype.createFoldersAsNeededForSubpath): |
| |
| 2013-03-28 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13310717> Source Maps: should display folder hierarchy in the sidebar |
| |
| Resolve "./" and "../" in URL paths in parseURL. Leave the path |
| unadjusted if we get to a point we don't know how to handle, e.g. |
| too many "../" components. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/SourceCodeTreeElement.js: |
| (WebInspector.SourceCodeTreeElement.prototype.createFoldersAsNeededForSubpath): |
| * UserInterface/Utilities.js: |
| |
| 2013-03-28 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13310717> Source Maps: should display folder hierarchy in the sidebar |
| |
| Often SourceMap's include sources in a hierarchy. We should create |
| a folder structure for that hierarchy in the resources sidebar. When |
| the SourceMap is part of a Frame, we don't do this, we still just |
| sort SourceMapResources into their associated type folder. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ResourceTreeElement.js: |
| (WebInspector.ResourceTreeElement.compareFolderAndResourceTreeElements): |
| Added a generic sort function that can take both Folder and Resource |
| tree elements. It sorts folders first, by name, then resources by their |
| normal sort order (type and name). |
| |
| * UserInterface/SourceMap.js: |
| (WebInspector.SourceMap.prototype.get sourceMappingURLBasePath): |
| When the source map resolves its sources it builds an absolute URL |
| using the partial URL (map.sourceRoot + map.source[i]) and base URL |
| of the provided sourceMappingURL. We can use this "base path" to |
| get only the individual source's relative subpath later on. |
| |
| * UserInterface/SourceMapResource.js: |
| (WebInspector.SourceMapResource.prototype.get sourceMapRelativeSubpath): |
| Get the subpath relative to the SourceMap's url. This allows us |
| to get the path components and build a directory tree. |
| |
| * UserInterface/SourceCodeTreeElement.js: |
| (WebInspector.SourceCodeTreeElement.prototype.onpopulate): |
| (WebInspector.SourceCodeTreeElement.prototype.createFoldersAsNeededForSubpath): |
| (WebInspector.SourceCodeTreeElement.prototype.descendantResourceTreeElementTypeDidChange): |
| Given a subpath, create folders as needed and insert the actual |
| SourceMapResourceTreeElement inside the deepest folder. Cache |
| folders along the way so we don't re-create folders, and so that |
| we can look them up again later if needed. |
| |
| 2013-03-28 Timothy Hatcher <timothy@apple.com> |
| |
| Combine and minify CodeMirror scripts and styles in Production builds. |
| |
| <rdar://problem/13446918> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Scripts/combine-resources.pl: |
| * Scripts/copy-user-interface-resources.sh: |
| |
| 2013-03-28 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Unreviewed. Missing semicolon causing warning when stripping asserts. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.updateBreakpointLineAndColumn): |
| |
| 2013-03-28 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13412969> Reveal line centered hits a code mirror exception unless put in setTimeout |
| |
| CodeMirror issue has been fixed. Remove the "delay" form paths that |
| would have hit the exception before. They no longer do. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.revealAndHighlightLine): |
| (WebInspector.TextEditor.prototype.revealLine): |
| (WebInspector.TextEditor.prototype._revealPendingLineIfPossible): |
| (WebInspector.TextEditor.prototype._scrollIntoViewCentered): |
| |
| 2013-03-28 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13412969> Reveal line centered hits a code mirror exception unless put in setTimeout |
| <rdar://problem/13512430> Idle Inspector recalculates styles a few times a second because of CodeMirror |
| |
| Update CodeMirror to trunk to get a few recent fixes. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/External/CodeMirror/codemirror.js: |
| * UserInterface/External/CodeMirror/sass.js: |
| |
| 2013-03-28 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Add a small script to update CodeMirror resources. |
| |
| Reviewed by Cody Krieger. |
| |
| * Scripts/update-codemirror-resources.rb: Added. |
| |
| 2013-03-28 Jessie Berlin <jberlin@apple.com> |
| |
| Ran update-safari-localizable-strings. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| 2013-03-28 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13505485> REGRESSION: Can't copy links from the console via the context menu |
| |
| Let the default context menu show if the user targeted an |
| <a> element that is not a console message URL. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView.prototype._handleContextMenuEvent): |
| |
| 2013-03-28 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13526203> Recording profiles in the Instruments sidebar should show a spinner |
| |
| Remove the "Recording" prefix for profiles that are recording and |
| instead use an indeterminate spinner to indicate the profile is |
| recording. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| Remove unused string "Recording JavaScript Profile %s\u2026". |
| |
| * UserInterface/InstrumentSidebarPanel.js: |
| (WebInspector.InstrumentSidebarPanel.prototype._profilingEnded): |
| Remove the indeterminate spinner from the tree element representing |
| the profile that finished recording. |
| |
| (WebInspector.InstrumentSidebarPanel.prototype._titleForProfile): |
| For profiles that are presently recording, simulate the pending |
| addition of the tree element by adding 1 to the generated number. |
| This ensures that the generated title matches the one that will |
| appear as this method is called again upon recording completion. |
| |
| (WebInspector.InstrumentSidebarPanel.prototype._profileWasAdded): |
| Add an indeterminate spinner to the tree element representing |
| the newly-added profile. |
| |
| * UserInterface/ProfileManager.js: |
| (WebInspector.ProfileManager.prototype.startProfilingCSSSelectors): |
| (WebInspector.ProfileManager.prototype.stopProfilingCSSSelectors): |
| (WebInspector.ProfileManager.prototype.profileWasStartedFromConsole): |
| (WebInspector.ProfileManager.prototype.setRecordingJavaScriptProfile): |
| Use the final title directly since we're now using an indeterminate |
| spinner to indicate a profile is recording. |
| |
| 2013-03-28 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13525984> Profile name in navigation bar breadcrumbs doesn't update when recording completes |
| |
| Propagate an event when a GeneralTreeElement's "mainTitle" |
| property changes such that the NavigationBar may eventually |
| pick it up and update itself. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/GeneralTreeElement.js: |
| (WebInspector.GeneralTreeElement.prototype.set mainTitle): |
| Dispatch the new MainTitleDidChange event. |
| |
| * UserInterface/GeneralTreeElementPathComponent.js: |
| (WebInspector.GeneralTreeElementPathComponent): |
| Register a listener for the MainTitleDidChange event on the |
| provided GeneralTreeElement. |
| |
| (WebInspector.GeneralTreeElementPathComponent.prototype._mainTitleDidChange): |
| Update the "displayName" property to match the GeneralTreeElement's |
| updated "mainTitle" property. |
| |
| * UserInterface/TreeOutline.js: |
| (TreeOutline): |
| (TreeElement): |
| Make both TreeOutline and TreeElement subclasses of |
| WebInspector.Object such that they may dispatch events. |
| |
| 2013-03-28 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13105775> Handle currently recording profiles in a more graceful manner |
| |
| We now present a nice-looking "RecordingÉ" message when a recording |
| profile is selected in the instruments sidebar. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| New "RecordingÉ" string used to present when we're recording a profile |
| of an unknown type (future-proofing). |
| |
| * UserInterface/CSSSelectorProfileView.js: |
| (WebInspector.CSSSelectorProfileView): |
| (WebInspector.CSSSelectorProfileView.prototype.recordingTitle): |
| (WebInspector.CSSSelectorProfileView.prototype.displayProfile): |
| Implement the new ProfileView protocol to display the profile |
| data only when it's available. |
| |
| * UserInterface/JavaScriptProfileView.js: |
| (WebInspector.JavaScriptProfileView): |
| (WebInspector.JavaScriptProfileView.prototype.recordingTitle): |
| (WebInspector.JavaScriptProfileView.prototype.displayProfile.profileCallback): |
| (WebInspector.JavaScriptProfileView.prototype.displayProfile): |
| Implement the new ProfileView protocol to display the profile |
| data only when it's available. |
| |
| * UserInterface/Main.html: |
| Add the new ProfileView.css file. |
| |
| * UserInterface/ProfileManager.js: |
| (WebInspector.ProfileManager.prototype.stopProfilingCSSSelectors): |
| Ensure we set the "recording" property last as it would fire the |
| new WebInspector.ProfileObject.Event.FinshedRecording event before |
| the profile data has been set on the object. |
| |
| * UserInterface/ProfileObject.js: |
| (WebInspector.ProfileObject.prototype.set recording): |
| Dispatch a new WebInspector.ProfileObject.Event.FinshedRecording |
| event when the profile has finished recording. |
| |
| * UserInterface/ProfileView.css: Added. |
| (.recording-profile-view): |
| (.recording-profile-view > .indeterminate-progress-spinner): |
| (.recording-profile-view > span): |
| New CSS support for the new recording message in ProfileView, |
| using CSS flexbox to vertically and horizontally center the |
| indeterminate spinner and text. |
| |
| * UserInterface/ProfileView.js: |
| (WebInspector.ProfileView): |
| In case the profile for this ProfileView is still recording, |
| register for the WebInspector.ProfileObject.Event.FinshedRecording |
| event to be notified of when the profile is done recording |
| and show a "RecordingÉ" message until then. |
| |
| (WebInspector.ProfileView.prototype.displayProfile): |
| New method called when the profile has finished recording and |
| we've removed the "RecordingÉ" message from display. Meant to |
| be implemented by subclasses. |
| |
| (WebInspector.ProfileView.prototype.recordingTitle): |
| New method called when populating the "RecordingÉ" message allowing |
| subclasses to return a clearer message. |
| |
| (WebInspector.ProfileView.prototype._profileFinishedRecording): |
| Event handler for the WebInspector.ProfileObject.Event.FinshedRecording |
| event which removes the "RecordingÉ" message and calls |
| displayProfile(). |
| |
| (WebInspector.ProfileView.prototype._showRecordingMessage): |
| Display the "RecordingÉ" message. |
| |
| (WebInspector.ProfileView.prototype._hideRecordingMessage): |
| Removes the "RecordingÉ" message, if any. |
| |
| 2013-03-28 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13483963> copying text from the web inspector includes [LOG] when you paste |
| |
| Don't add [Log] prefix for log-level messages. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ConsoleMessageImpl.js: |
| (WebInspector.ConsoleMessageImpl.prototype.toClipboardString): |
| |
| 2013-03-26 Timothy Hatcher <timothy@apple.com> |
| |
| Support for dock-to-right in the Web Inspector. |
| |
| rdar://problem/10368152 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/InspectorFrontendAPI.js: |
| (InspectorFrontendAPI.setDockSide): |
| * UserInterface/Main.css: |
| (body.docked.bottom): |
| (body.docked.right): |
| (#docked-resizer): |
| (body.docked #docked-resizer): |
| (body.docked.bottom #docked-resizer): |
| (body.docked.right #docked-resizer): |
| (body.docked.bottom #toolbar): |
| (body.docked.bottom #toolbar .item:not(.flexible-space)): |
| (body.docked.right #navigation-sidebar.collapsed > .resizer): |
| * UserInterface/Main.js: |
| (WebInspector.loaded): |
| (WebInspector.contentLoaded): |
| (WebInspector.updateDockedState): |
| (WebInspector._toolbarDisplayModeDidChange): |
| (WebInspector._toolbarSizeModeDidChange): |
| (WebInspector._toolbarMouseDown): |
| (WebInspector._dockedResizerMouseDown.dockedResizerDrag): |
| (WebInspector._dockedResizerMouseDown): |
| |
| 2013-03-27 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13105774> Recording a profile with the inspector UI should automatically select the new profile upon completion |
| |
| Automatically select profiles that completed as a result of the user |
| pressing the record button in the instruments sidebar panel. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/InstrumentSidebarPanel.js: |
| (WebInspector.InstrumentSidebarPanel.prototype._profilingEnded): |
| Check the "fromConsole" property on the ProfilingEnded event to |
| see whether this profile should be automatically selected. |
| |
| * UserInterface/ProfileManager.js: |
| (WebInspector.ProfileManager.prototype.setRecordingJavaScriptProfile): |
| Also indicate whether the ProfilingEnded event is created as a |
| result of a profile finishing recording as a result of calling |
| one of the console APIs. |
| |
| 2013-03-27 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13190009> Profile recorded prior to the current page load may show empty content view |
| |
| We now create the content view for a profile that finished recording instantly |
| rather than delay it until selection. This ensures that all recorded profiles |
| are available across page loads, until we navigate away. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ConsoleObserver.js: |
| (WebInspector.ConsoleObserver.prototype.messageAdded): |
| Fix an oversight from the previous commit where we wouldn't distinguish |
| calls to console.profile() and console.profileEnd() made as a result |
| of starting a profile from the UI or starting a profile by actually |
| calling these methods. |
| |
| * UserInterface/InstrumentSidebarPanel.js: |
| (WebInspector.InstrumentSidebarPanel.prototype._profilingEnded): |
| Force the creation of the content view for the provided profile so that |
| the profile is immediately retrieved from the backend and available |
| across page loads. |
| |
| * UserInterface/ProfileManager.js: |
| (WebInspector.ProfileManager.prototype.stopProfilingCSSSelectors): |
| (WebInspector.ProfileManager.prototype.addJavaScriptProfile): |
| (WebInspector.ProfileManager.prototype.setRecordingJavaScriptProfile): |
| Pass the currently recording profile as data to the ProfilingEnded |
| event dispatched. |
| |
| 2013-03-27 Jessie Berlin <jberlin@apple.com> |
| |
| Ran update-safari-localizable-strings. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| 2013-03-27 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13515381> Profiles started from console API don't appear until done |
| |
| We now intercept console.profile() and console.profileEnd() messages |
| appearing through the ConsoleObserver so that we can simulate |
| setRecordingJavaScriptProfile protocol events in the ConsoleManager. |
| This allows us to deal with console profiles in a more unified manner. |
| The recording button, however, does not go red when a profile is |
| recording from the console. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| Changed string for "Recording JavaScript ProfileÉ" to allow for |
| a profile title as well, since it might be known form the |
| console.profile() call that initiated it. |
| |
| * UserInterface/ConsoleObserver.js: |
| (WebInspector.ConsoleObserver.prototype.messageAdded): |
| Check for console.profile() and console.profileEnd() calls and |
| inform the ProfileManager that a profile started or ended from |
| the console API. |
| |
| * UserInterface/ProfileManager.js: |
| (WebInspector.ProfileManager.prototype.profileWasStartedFromConsole): |
| Simulate a setRecordingJavaScriptProfile protocol event and set up |
| the profile's title if provided. |
| |
| (WebInspector.ProfileManager.prototype.profileWasEndedFromConsole): |
| Simulate a setRecordingJavaScriptProfile protocol event. |
| |
| (WebInspector.ProfileManager.prototype.addJavaScriptProfile): |
| Remove custom logic to deal with the belated creation of a |
| JavaScriptProfileObject for a profile that would have been started |
| from the console API since we now get the notification via the simulated |
| setRecordingJavaScriptProfile protocol event. |
| |
| (WebInspector.ProfileManager.prototype.setRecordingJavaScriptProfile): |
| Only dispatch the ProfilingStarted event if the profile was initiated |
| from the user interface. |
| |
| 2013-03-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Check-in some documentation files on the RWI protocols. |
| |
| Better these be checked in then floating on my machine. |
| |
| Rubber-stamped by Timothy Hatcher. |
| |
| * Documentation/RWI-Messages.graffle: Added. |
| * Documentation/RWI-Messages.pdf: Added. |
| |
| 2013-03-26 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13096650> Debugger popover does not appear sometimes (or is too slow to appear) |
| |
| We now dismiss the debugger popover when the hovered token (or the |
| popover for it) is no longer hovered for a whole second. Additionally, |
| if there is marked text, we immediately show a popover for a newly |
| hovered token instead of waiting 500ms so that's easier to go from |
| token to token to get their information. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Popover.js: |
| (WebInspector.Popover.prototype.get element): |
| Newly public property, used to check in hoveredElementCanReleaseHoveredToken() in |
| the SourceCodeTextEditor whether the newly hovered element is contained within |
| a popover. |
| |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype.hoveredElementCanReleaseHoveredToken): |
| Check whether the newly hovered element is contained within the presented |
| popover or whether text in the popover is selected. |
| |
| (WebInspector.SourceCodeTextEditor.prototype.hoveredTokenWasReleased): |
| Dismiss the popover since the user has moused out of the hovered token long |
| enough that it shouldn't be considered hovered anymore. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.stopTrackingTokenHovering): |
| Remove the window-wide mousemove event listener. |
| |
| (WebInspector.TextEditor.prototype.handleEvent): |
| Route mousemove events to the _mouseMovedWithMarkedText() method |
| if it's the window-wide mousemove event listener. |
| |
| (WebInspector.TextEditor.prototype.highlightHoveredExpression): |
| Start tracking mousemove events at the window level so that we can |
| detect any element, even outside of the text editor, that might be |
| hovered long enough to release the hovered token. |
| |
| (WebInspector.TextEditor.prototype.removeHighlightOnHoveredExpression): |
| Remove the document-wide mousemove event listener and delete the |
| _tokenHighlightMarkedText property so that we can use its absence |
| to gather that there is no marked text when checking for a newly |
| hovered token in _mouseMovedOverEditor(). |
| |
| (WebInspector.TextEditor.prototype.hoveredElementCanReleaseHoveredToken): |
| Public method used to identify whether the hovered element qualifies |
| to release the hovered token. The default implementation simply checks |
| that the hovered element is the marked text for the hovered token. |
| |
| (WebInspector.TextEditor.prototype.hoveredTokenWasReleased): |
| Public method meant to be subclassed, called when we've identified that |
| the hovered token has been moused out of for more than a second. |
| |
| (WebInspector.TextEditor.prototype._mouseMovedOverEditor): |
| Immediately check the newly hovered token if there already is |
| hovered token, allowing for a quick inspection of hovered tokens. |
| |
| (WebInspector.TextEditor.prototype._mouseMovedWithMarkedText): |
| Check the hovered element qualifies to release the hover token, and if it so, |
| start a one-second timer to release it. |
| |
| (WebInspector.TextEditor.prototype._checkHoveredToken): |
| Stop the timer started in _mouseMovedWithMarkedText() to check whether |
| the currently hovered element could qualify to release the hovered token. |
| |
| (WebInspector.TextEditor.prototype._markedTextIsNoLongerHovered): |
| Method called when the timer started in _mouseMovedWithMarkedText() to |
| check whether the currently hovered element could qualify to relase the |
| hovered token has fired. |
| |
| 2013-03-26 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13505817> Debugger popovers don't appear for undefined values |
| |
| Handle the RemoteObject type "undefined" and also implement better |
| handling of null Object values as well. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype.tokenWasHovered.populate): |
| (WebInspector.SourceCodeTextEditor.prototype.tokenWasHovered): |
| (WebInspector.SourceCodeTextEditor.prototype._showPopoverForObject): |
| (WebInspector.SourceCodeTextEditor.prototype._showPopoverForNull): |
| (WebInspector.SourceCodeTextEditor.prototype._showPopoverForUndefined): |
| |
| 2013-03-26 Jessie Berlin <jberlin@apple.com> |
| |
| Ran update-safari-localizable-strings. |
| |
| Reviewed by Conrad Shultz. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| 2013-03-26 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13439854> REGRESSION: Copying array or object output does not contain values |
| |
| We now simply use the _formattedMessage DOM node if available and |
| if the message isn't a stack trace. Then, we insert the URL line, |
| with repeat count if set, after the first line. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ConsoleMessageImpl.js: |
| (WebInspector.ConsoleMessageImpl.prototype.toClipboardString): |
| |
| 2013-03-26 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13345023> Logging an Array after it has been sorted results in its undefined elements not being shown |
| |
| Merging code from OpenSource to match the handling of arrays in the Console. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/ConsoleMessageImpl.js: |
| (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsArray): |
| (WebInspector.ConsoleMessageImpl.prototype.appendUndefined): |
| (WebInspector.ConsoleMessageImpl.prototype._printArray): |
| * UserInterface/RemoteObject.js: |
| (WebInspector.RemoteObject.prototype.release): |
| (WebInspector.RemoteObject.prototype.arrayLength): |
| |
| 2013-03-25 Timothy Hatcher <timothy@apple.com> |
| |
| Don't include the main frame document as a separate resource in the sidebar. |
| |
| <rdar://problem/13484805> REGRESSION: Main frame is included twice in the Resources sidebar |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype._addFrameTreeFromFrameResourceTreePayload): |
| Skip resources with type "Document" and with the same url as the frame. |
| |
| 2013-03-25 Timothy Hatcher <timothy@apple.com> |
| |
| Fix large image scaling after the switch to the new flex model |
| |
| <rdar://problem/13493712> REGRESSION: Very poor image squishing when content |
| window is narrow / image is large (113222) |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ImageResourceContentView.css: |
| (.content-view.resource.image): |
| (.content-view.resource.image img): |
| Use min-width: 0 so the image can shrink. |
| |
| 2013-03-24 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Turn on support for breakpoints in pretty printed resources and SourceMaps |
| |
| We are now getting expected column information from the backend and |
| hitting breakpoints on columns as expected. This was the last change |
| needed to consider the following tasks complete: |
| <rdar://problem/11219771> REGRESSION (Safari 6): Can't pretty-print JavaScript |
| <rdar://problem/11735116> PARITY (WebKit Web Inspector): Missing Source Map support |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel.prototype._treeElementSelected): |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate): |
| (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameDidChange): |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointAdded): |
| |
| 2013-03-24 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Workaround while still investigating <rdar://problem/13412969>. |
| |
| Jump to line centered can still throw an exception when revealing a |
| when the content first loads (reveal pending line). So delay in |
| just that case. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.revealAndHighlightLine): |
| (WebInspector.TextEditor.prototype.revealLine): |
| (WebInspector.TextEditor.prototype._revealPendingLineIfPossible): |
| |
| 2013-03-25 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13495086> Commands and their result should not be subject to search filtering |
| |
| No longer filter out commands and their results based on search terms. |
| We also change the CSS class name we use to hide messages that may be |
| filtered out due to the search terms to be exclusive rather than |
| inclusive. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/LogContentView.css: |
| (.search-in-progress .console-item.filtered-out-by-search): |
| (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted): |
| (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted.selected): |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView.prototype._isMessageVisible): |
| (WebInspector.LogContentView.prototype._visibleMessages): |
| (WebInspector.LogContentView.prototype._performSearch): |
| |
| 2013-03-25 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13494748> Expandable console items should only select when clicking outside of the expandable part |
| |
| We no longer select messages if the hit area is part of an expandable element. |
| This makes it easier to expand nodes and JS objects without first having to |
| select the console message. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView.prototype._mousedown): |
| (WebInspector.LogContentView.prototype._targetInMessageCanBeSelected): |
| |
| 2013-03-25 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13495023> JS objects logged to console can't be expanded using keyboard |
| |
| We now also handle expansion of JS objects logged to the console. To support this, |
| we add a new VisibleContentDidChange event to WebInspector.Section such that we can |
| when the visible content of a given WebInspector.ObjectPropertiesSection is updated, |
| since there is no onexpand() method available as is the case with TreeOutline. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView.prototype._leftArrowWasPressed): |
| (WebInspector.LogContentView.prototype._rightArrowWasPressed.else.bind): |
| (WebInspector.LogContentView.prototype._rightArrowWasPressed): |
| (WebInspector.LogContentView.prototype._propertiesSectionDidUpdateContent): |
| * UserInterface/ObjectPropertiesSection.js: |
| (WebInspector.ObjectPropertiesSection.prototype.updateProperties): |
| * UserInterface/Section.js: |
| (WebInspector.Section): |
| (WebInspector.Section.prototype.expand): |
| |
| 2013-03-25 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13416461> Message repeat count causes bad layout in the Console |
| |
| We now always display the warning or error icon as well as the repeat count |
| for the message, and we copy the repeat count to the clipboard as well. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ConsoleMessageImpl.js: |
| (WebInspector.ConsoleMessageImpl.prototype.updateRepeatCount): |
| (WebInspector.ConsoleMessageImpl.prototype.toClipboardString): |
| * UserInterface/LogContentView.css: |
| (.console-message .bubble): |
| |
| 2013-03-25 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13493775> Console log should scroll to reveal messages for highlighted search match |
| |
| Make sure we scroll to reveal messages upon highlighting a match. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView.prototype._highlightSearchMatchAtIndex): |
| |
| 2013-03-24 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13418317> REGRESSION: DOM Tree "Edit as HTML" is not inserting newlines with return |
| |
| Give multiline WebInspector.startEditing edit boxes have better white-space behavior. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Editing.css: |
| (.editing.multiline): |
| * UserInterface/EditingSupport.js: |
| |
| 2013-03-24 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13491916> Searching forward or back in find banner should reveal in center |
| |
| Reviewed by Dean Jackson. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype._revealSearchResult): |
| (WebInspector.TextEditor.prototype._isPositionVisible): |
| (WebInspector.TextEditor.prototype._scrollIntoViewCentered): |
| When revealing a search result, reveal the line centered in |
| the editor if needed. Don't do the setTimeout, the lines in |
| the editor did not change so we shouldn't need to worry about |
| the CodeMirror exception. |
| |
| (WebInspector.TextEditor.prototype.revealAndHighlightLine): |
| Share the isPositionVisible code. |
| |
| (WebInspector.TextEditor.prototype._prettyPrint): |
| This is the only case where I know we need the setTimeout delay |
| to workaround a CodeMirror exception when autoformatting. |
| |
| 2013-03-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13491257> CSS pretty printing no longer works |
| |
| For CSS there is now a "css-base" mode with a "text/css" variant, |
| and a "text/x-scss" variant. There is a convenience mode "css" |
| which explicitly gets the "text/css" variant of the "css-base" mode. |
| |
| The pretty printer should extend "css-base". Whether the content |
| is "text/css" or "text/x-scss" the mode outputting the tokens will |
| be "css-base", and that mode needs to have the pretty printer |
| extensions. |
| |
| Extend the "css-base" mode, instead of the overly specific text/css |
| css mode to have extendedToken and alternate name "css". So, as |
| "css-base" creates tokens for either "text/css" or "text/x-scss", |
| it will adds our "m-css" style classes and get our styles. |
| |
| We still define the "css-rule" mode to be an alias of the text/css |
| specific mode. To workaround a limitation of CodeMirror, we don't |
| re-extend any properties that have already been extended (token, |
| alternate name) and only extend new properties. We get the earlier |
| extensions because internally when creating a "css-rule" mode, |
| CodeMirror get the text/css variant of "css-base" with "css-base" |
| extensions and then applies our extensions on top of that. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/CodeMirrorFormatters.js: |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.hasFormatter): |
| * UserInterface/CodeMirrorAdditions.js: |
| |
| 2013-03-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13490780> Find banner status does not update after switching between source files |
| |
| When switching content views, reset the find banner and perform a |
| search with the find banner's query in the new content view so that |
| keyboard shortcuts will work in the new content view even though |
| the find banner is hidden. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ContentView.js: |
| (WebInspector.ContentView.prototype.get hasPerformedSearch): |
| (WebInspector.ContentView.prototype.set automaticallyRevealFirstSearchResult): |
| Properties used by ContentBrowser to update the find banner when |
| switching to the ContentView. Allow a search to be performed on |
| a ContentView without automatically jumping to the first result. |
| |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser): |
| (WebInspector.ContentBrowser.prototype._findBannerDidShow): |
| (WebInspector.ContentBrowser.prototype._findBannerDidHide): |
| Allow or disallow jumping to the first search result based on banner visibility. |
| Keyboard shortcuts will still work. |
| |
| (WebInspector.ContentBrowser.prototype._updateFindBanner): |
| (WebInspector.ContentBrowser.prototype._currentContentViewDidChange): |
| When the content view changes, update the banner. Search the new |
| content view so that keyboard shortcuts work. |
| |
| * UserInterface/FindBanner.js: |
| (WebInspector.FindBanner.prototype.show): |
| (WebInspector.FindBanner.prototype.hide): |
| Emit events for when the banner shows or hides. |
| |
| * UserInterface/ClusterContentView.js: |
| (WebInspector.ClusterContentView.prototype.get hasPerformedSearch): |
| (WebInspector.ClusterContentView.prototype.set automaticallyRevealFirstSearchResult): |
| * UserInterface/DOMTreeContentView.js: |
| (WebInspector.DOMTreeContentView.prototype.get hasPerformedSearch): |
| (WebInspector.DOMTreeContentView.prototype.set automaticallyRevealFirstSearchResult): |
| (WebInspector.DOMTreeContentView.prototype.performSearch.searchResultsReady): |
| (WebInspector.DOMTreeContentView.prototype.performSearch): |
| * UserInterface/ScriptContentView.js: |
| (WebInspector.ScriptContentView.prototype.get hasPerformedSearch): |
| (WebInspector.ScriptContentView.prototype.set automaticallyRevealFirstSearchResult): |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor): |
| (WebInspector.TextEditor.prototype.set automaticallyRevealFirstSearchResult): |
| (WebInspector.TextEditor.prototype.addSearchResults.markRanges): |
| (WebInspector.TextEditor.prototype.addSearchResults): |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView.prototype.get hasPerformedSearch): |
| (WebInspector.TextResourceContentView.prototype.set automaticallyRevealFirstSearchResult): |
| Implement the new ContentView properties. Respect the |
| automaticallyRevealFirstSearchResult property by not jumping to the |
| first result unless we are allowed too. |
| |
| 2013-03-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Fix a typo causing warnings in the inspector. |
| |
| Unreviewed. |
| |
| * UserInterface/Main.html: |
| |
| 2013-03-23 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/11682467> Should be able to do a Find in a Log |
| |
| Add a search / filter bar to the navigation bar of the console log. |
| The search bar can be given focus by hitting Cmd+F, and it can provide |
| focus back to the console prompt by hitting Esc. or Enter (which also |
| highlights the first matching search result). The Cmd+G and Cmd+Shift+G |
| keyboard shortcuts also work as expected. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| * UserInterface/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController): |
| (WebInspector.JavaScriptLogViewController.prototype._promptKeyDown): |
| Add support for the new Cmd+F, Cmd+G and Cmd+Shift+G keyboard shortcuts. |
| |
| * UserInterface/LogContentView.css: |
| (.log-search-bar > input): |
| (.search-in-progress .console-item): |
| (.search-in-progress .console-item.matches-search:not(.filtered-out)): |
| (.search-in-progress .console-item.matches-search .highlighted): |
| (.search-in-progress .console-item.matches-search .highlighted.selected): |
| |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView): |
| Create the SearchBar. |
| |
| (WebInspector.LogContentView.prototype.get navigationItems): |
| Add the SearchBar to the navigation bar. |
| |
| (WebInspector.LogContentView.prototype.get searchInProgress): |
| Inidicates whether a search is in progress (ie. search term |
| isn't the empty string). |
| |
| (WebInspector.LogContentView.prototype.focusSearchBar): |
| New API to bring focus to the SearchBar's input field. |
| |
| (WebInspector.LogContentView.prototype.highlightPreviousSearchMatch): |
| New API to highlight the previous search match. |
| |
| (WebInspector.LogContentView.prototype.highlightNextSearchMatch): |
| New API to highlight the next search match. |
| |
| (WebInspector.LogContentView.prototype.searchBarWantsToLoseFocus): |
| SearchBar delegate method we use to move focus back to the prompt |
| as the user hit the Esc. key while the search bar has focus. |
| |
| (WebInspector.LogContentView.prototype.searchBarDidActivate): |
| SearchBar delegate method we use to move focus back to the prompt |
| as the user hit the Enter key while the search bar has focus. We |
| also select the first search match to make it stand out. |
| |
| (WebInspector.LogContentView.prototype._updateMessagesSelection): |
| Refactoring: _allVisibleMessages() is now _visibleMessages(). |
| |
| (WebInspector.LogContentView.prototype._isMessageVisible): |
| Take into account whether the message matches the search terms |
| so that it's filtered otherwise. |
| |
| (WebInspector.LogContentView.prototype._selectAllMessages): |
| Refactoring: _allVisibleMessages() is now _visibleMessages(). |
| |
| (WebInspector.LogContentView.prototype._unfilteredMessages): |
| New method to provide the list of messsages that match the |
| filters provided via the scope bar. |
| |
| (WebInspector.LogContentView.prototype._visibleMessages): |
| Refactoring: _allVisibleMessages() is now _visibleMessages(). |
| Also take into account additional filtering via the search bar. |
| |
| (WebInspector.LogContentView.prototype._filterMessages): |
| Perform a search after the filters have changed to ensure we |
| are showing the correct set of messages. |
| |
| (WebInspector.LogContentView.prototype._keyDown): |
| Add support for the new Cmd+F, Cmd+G and Cmd+Shift+G keyboard shortcuts. |
| |
| (WebInspector.LogContentView.prototype._commandFWasPressed): |
| Focus the search bar upon hitting Cmd+F. |
| |
| (WebInspector.LogContentView.prototype._commandGWasPressed): |
| Highlight the next search match upon hitting Cmd+G. |
| |
| (WebInspector.LogContentView.prototype._commandShiftGWasPressed): |
| Highlight the next search match upon hitting Cmd+Shift+G. |
| |
| (WebInspector.LogContentView.prototype._upArrowWasPressed): |
| (WebInspector.LogContentView.prototype._downArrowWasPressed): |
| (WebInspector.LogContentView.prototype._previousMessage): |
| (WebInspector.LogContentView.prototype._nextMessage): |
| (WebInspector.LogContentView.prototype._clearFocusableChildren): |
| Refactoring: _allVisibleMessages() is now _visibleMessages(). |
| |
| (WebInspector.LogContentView.prototype._searchTextDidChange): |
| Run the search as the terms in the search bar changed. |
| |
| (WebInspector.LogContentView.prototype._performSearch): |
| (WebInspector.LogContentView.prototype._highlightRanges): |
| Perform a search based on the text in the search bar and apply |
| a "matches-search" CSS class to all text ranges matching the |
| search terms. This is actually performed by method merged from |
| the OpenSource Web Inspector code. |
| |
| (WebInspector.LogContentView.prototype._rangesOverlap): |
| Checks whether two text ranges overlap at all. We use this to identify |
| if the previously selected search term is still present in the new |
| set of matching search ranges. |
| |
| (WebInspector.LogContentView.prototype._highlightSearchMatchAtIndex): |
| Highlights a given term in the array of highlighted elements created in |
| _performSearch(). |
| |
| * UserInterface/Main.html: |
| Include the new SearchBar files. |
| |
| * UserInterface/Main.js: |
| (WebInspector.highlightRangesWithStyleClass): |
| (WebInspector.revertDomChanges): |
| Methods merged as-is from OpenSource. |
| |
| * UserInterface/SearchBar.css: Added. |
| (.search-bar > input): |
| * UserInterface/SearchBar.js: Added. |
| (WebInspector.SearchBar): |
| (WebInspector.SearchBar.prototype.get text): |
| (WebInspector.SearchBar.prototype.set text): |
| (WebInspector.SearchBar.prototype.focus): |
| (WebInspector.SearchBar.prototype._handleSearchEvent): |
| (WebInspector.SearchBar.prototype._handleKeydownEvent): |
| New NavigationItem subclass to provide a SearchBar within a NavigationBar. |
| |
| 2013-03-22 Timothy Hatcher <timothy@apple.com> |
| |
| Make the New Rule button 10px taller for a bigger hit target. |
| |
| <rdar://problem/13470200> I expect the clickable area for "+ New Rule" to be bigger. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/RulesStyleDetailsPanel.css: |
| (.sidebar > .panel.details.css-style .rules .new-rule): |
| |
| 2013-03-22 Timothy Hatcher <timothy@apple.com> |
| |
| Show the compression status and the compression amount in the Resource details sidebar. |
| |
| <rdar://problem/13201070> Show gzip status of resources more prominently |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/Resource.js: |
| (WebInspector.Resource.prototype.get encodedSize): Added. |
| (WebInspector.Resource.prototype.get transferSize): Use encodedSize. |
| (WebInspector.Resource.prototype.get compressed): Added. |
| |
| * UserInterface/ResourceDetailsSidebarPanel.js: |
| (WebInspector.ResourceDetailsSidebarPanel): Added compression group. |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestAndResponse): Call _refreshCompressed. |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshCompressed): Added. |
| |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshDecodedSize): |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshTransferSize): |
| Call _refreshCompressed and update encoded size row. |
| |
| 2013-03-21 Timothy Hatcher <timothy@apple.com> |
| |
| Add a placeholder for empty style rules in the Style details sidebar. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/CSSStyleDeclarationTextEditor.css: |
| (.css-style-text-editor > .CodeMirror .CodeMirror-placeholder): Added. |
| |
| * UserInterface/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent): |
| Set the placeholder option based on the readOnly state. |
| |
| 2013-03-21 Timothy Hatcher <timothy@apple.com> |
| |
| Enable auto closing brackets and quotes along with matching bracket highlighting. |
| |
| Also share common CodeMirror styles in CodeMirrorOverrides.css. |
| |
| Reviewed by Dean Jackson. |
| |
| * UserInterface/CSSStyleDeclarationTextEditor.css: |
| (.css-style-text-editor > .CodeMirror): |
| (.css-style-text-editor > .CodeMirror-scroll): |
| * UserInterface/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor): |
| * UserInterface/CodeMirrorOverrides.css: Added. |
| (.CodeMirror *): |
| (.CodeMirror .CodeMirror-lines): |
| (.CodeMirror pre): |
| (.CodeMirror .CodeMirror-selected): |
| (.CodeMirror.CodeMirror-focused .CodeMirror-selected): |
| (.CodeMirror .CodeMirror-cursor): |
| (.CodeMirror .CodeMirror-lines .CodeMirror-matchingbracket): |
| (.CodeMirror .CodeMirror-lines .CodeMirror-nonmatchingbracket): |
| (.CodeMirror .CodeMirror-gutters): |
| (.CodeMirror .CodeMirror-linenumber): |
| * UserInterface/Main.html: |
| * UserInterface/TextEditor.css: |
| (.text-editor > .CodeMirror): |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor): |
| |
| 2013-03-21 Timothy Hatcher <timothy@apple.com> |
| |
| Update CodeMirror to ToT (v3.11+) which includes a scroll performance file and other changes. |
| |
| Include the new placeholder and closebrackets add-ons so we can use them in our editors. |
| Also includes more modes that could be encountered on the web that we should syntax highlight. |
| I've included the SQL mode since I plan to switch the database prompt to use it soon. |
| |
| <rdar://problem/13470814> Scrolling in the Style > Rules sidebar is kind of sluggish |
| |
| Rubber-stamped by Joseph Pecoraro. |
| |
| * UserInterface/External/CodeMirror/clojure.js: Added. |
| * UserInterface/External/CodeMirror/closebrackets.js: Added. |
| * UserInterface/External/CodeMirror/codemirror.css: Updated. |
| * UserInterface/External/CodeMirror/codemirror.js: Updated. |
| * UserInterface/External/CodeMirror/coffeescript.js: Added. |
| * UserInterface/External/CodeMirror/css.js: Updated. |
| * UserInterface/External/CodeMirror/less.js: Added. |
| * UserInterface/External/CodeMirror/livescript.js: Added. |
| * UserInterface/External/CodeMirror/placeholder.js: Added. |
| * UserInterface/External/CodeMirror/sass.js: Added. |
| * UserInterface/External/CodeMirror/searchcursor.js: Updated. |
| * UserInterface/External/CodeMirror/sql.js: Added. |
| * UserInterface/External/CodeMirror/xml.js: Updated. |
| * UserInterface/Main.html: Include added files. |
| |
| 2013-03-21 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13439837> REGRESSION: Copying the output of console.log(1,2,3) only copies "[Log] 1" |
| |
| Use the _message property rather than _messageText to provide the base |
| textual representation of a console message, as hinted by the _formatMessage |
| method which says that _message "is used for inline message bubbles in |
| SourceFrames, or other plain-text representations". |
| |
| Reviewed by Ricky Mondello. |
| |
| * UserInterface/ConsoleMessageImpl.js: |
| (WebInspector.ConsoleMessageImpl.prototype.toClipboardString): |
| |
| 2013-03-20 Timothy Hatcher <timothy@apple.com> |
| |
| Make the relaod button appear correctly when inspecting web archives. |
| |
| <rdar://problem/13455883> Extra misplaced folder in Inspector sidebar |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ResourceTreeElement.css: |
| (.item.resource > .status > .reload-button): |
| (.item.resource.selected > .status > .reload-button): |
| Use .resource instead of .resource-type-document. Since the button exists |
| for web archives, and they get .resource-type-other. Fixing web archives |
| to get a proper type is tracked by <rdar://problem/6420783>. |
| |
| 2013-03-20 Timothy Hatcher <timothy@apple.com> |
| |
| Correct some inconsistencies with opening the Inspector and what content views are opened. |
| |
| <rdar://problem/12947914> Opening web inspector with Show Page Resources can open inspector in inconsistent state |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/InspectorFrontendAPI.js: |
| (InspectorFrontendAPI.showResources): |
| (InspectorFrontendAPI.showMainResourceForFrame): |
| Set ignoreLastContentCookie so the ResourceSidebarPanel has a chance to show the content view for the main frame |
| once the main frame is known. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| Set collapsed after loading the pending frontend commands are dispatched so only the final selected sidebar panel |
| gets shown and has a say in what content view gets shown. Also removed code that collapsed the details sidebar, |
| now that sidebars are collapsed by default. |
| |
| (WebInspector.sidebarPanelForCurrentContentView): Added. |
| |
| * UserInterface/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel.prototype.shown): |
| Only select the selected tree element again if the content view is from a different sidebar. This way showing the |
| Resources sidebar when you have gone back and forth between other resource wont jump to some old selected resource. |
| |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange): |
| Allow onselect if we aren't showing a content view yet. That way the main frame is selected and shown in the content. |
| |
| * UserInterface/Sidebar.js: |
| (WebInspector.Sidebar): |
| (WebInspector.Sidebar.prototype.set width): |
| Make collapsed by default. Only tell the sidebar panel about width changes if not collapsed. |
| |
| 2013-03-20 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13442600> Picking a frame in the console context selector menu should refocus the console input |
| |
| Detect when the hidden <select> in the HierarchicalPathComponent was |
| interacted with, even if its value did not change, and trigger a |
| "Clicked" event for those interested. The Console refocuses its prompt |
| in these cases when the execution context selector is interacted with. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/HierarchicalPathComponent.js: |
| (WebInspector.HierarchicalPathComponent): |
| (WebInspector.HierarchicalPathComponent.prototype._selectElementMouseUp): |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole.prototype._createExecutionContextPathComponent): |
| (WebInspector.QuickConsole.prototype._removeExecutionContextPathComponentForFrame): |
| (WebInspector.QuickConsole.prototype._pathComponentClicked): |
| |
| 2013-03-20 Timothy Hatcher <timothy@apple.com> |
| |
| Make editing CSS resources work correctly again. |
| |
| <rdar://problem/13457053> Safari Web Inspector: Editing .css files in main area is jumpy (112750) |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/CSSStyleManager.js: |
| (WebInspector.CSSStyleManager.prototype._resourceContentDidChange.applyStyleSheetChanges.styleSheetFound): |
| (WebInspector.CSSStyleManager.prototype._resourceContentDidChange.applyStyleSheetChanges): |
| (WebInspector.CSSStyleManager.prototype._resourceContentDidChange): |
| (WebInspector.CSSStyleManager.prototype._updateResourceContent.fetchedStyleSheetContent): |
| We were relying on SourceCode.Event.ContentDidChange not firing if the content was equal. However, since we |
| coalesce changes the content might be briefly out of sync and the event was firing. That would cause us to |
| update TextEditor with a slightly older version of the content and mess up the user. |
| |
| 2013-03-19 Timothy Hatcher <timothy@apple.com> |
| |
| Don't create a new console group on reload if the current one is empty. |
| |
| Also make sure to scroll the new group into view when it is create so it is visible and ready to show new messages. |
| |
| <rdar://problem/12951299> Web Inspector console shouldn't draw a line on refresh if nothing was printed |
| <rdar://problem/13209212> Console doesn't scroll to the bottom when a reloaded page logs |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ConsoleGroup.js: |
| (WebInspector.ConsoleGroup.prototype.hasMessages): Added. |
| |
| * UserInterface/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController.prototype.startNewSession): |
| Reuse the previous group if it does not have messages. Also scroll the new session into view so it is ready |
| to show messages. |
| |
| * UserInterface/LogContentView.css: |
| (.console-group.new-session .console-group-messages .console-item:first-child): Added. |
| Don't show a border when it is in a new-session since there is already a dashed border. |
| |
| 2013-03-19 Timothy Hatcher <timothy@apple.com> |
| |
| Don't show storage if we don't have a security origin (about:blank). |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/StorageManager.js: |
| (WebInspector.StorageManager.prototype._securityOriginDidChange): |
| |
| 2013-03-19 Timothy Hatcher <timothy@apple.com> |
| |
| Don't refresh the metrics display if the user is incrementing/decrementing via the arrow keys. |
| |
| When editing is committed or canceled we do a refresh to pick up any changes. |
| |
| <rdar://problem/13441338> REGRESSION: Safari Web Inspector: Using Up/Down to |
| modify margins loses focus (112566) |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/BoxModelDetailsSectionRow.js: |
| (WebInspector.BoxModelDetailsSectionRow.prototype._refresh): Return early if _ignoreNextRefresh. |
| (WebInspector.BoxModelDetailsSectionRow.prototype._handleKeyDown): Set _ignoreNextRefresh. |
| |
| 2013-03-19 Timothy Hatcher <timothy@apple.com> |
| |
| Make Local and Session storage work again. |
| |
| <rdar://problem/13266278> REGRESSION: Local and Session storage protocol |
| changes break displaying these items |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMStorageObject.js: |
| (WebInspector.DOMStorageObject.prototype.getEntries): |
| Use DOMStorageAgent.getDOMStorageEntries or DOMStorageAgent.getDOMStorageItems. |
| |
| * UserInterface/DOMStorageObserver.js: |
| (WebInspector.DOMStorageObserver.prototype.addDOMStorage): |
| Revert earlier Curie compatibility support since it changed again! |
| |
| * UserInterface/StorageManager.js: |
| (WebInspector.StorageManager): |
| (WebInspector.StorageManager.prototype._securityOriginDidChange): Added. |
| (WebInspector.StorageManager.prototype._domStorageForId): |
| When a Frame's security origin changes, add local and session storage if they don't |
| already exist for that security origin. |
| |
| 2013-03-19 Timothy Hatcher <timothy@apple.com> |
| |
| Add securityOrigin to WebInspector.Frame. |
| |
| This will be needed to fix DOM Storage inspection. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Frame.js: |
| (WebInspector.Frame): |
| (WebInspector.Frame.prototype.initialize): |
| (WebInspector.Frame.prototype.get securityOrigin): Added. |
| Added securityOrigin parameters. Also fire the NameDidChange at the end of initialize |
| so the Frame is in the final state instead of an intermediate state. |
| |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype.frameDidNavigate): |
| (WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent): |
| (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache): |
| (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse): |
| (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame): |
| (WebInspector.FrameResourceManager.prototype._createFrame): |
| Pass along the securityOrigin so Frame can be created or initialized with it. |
| Also pass along the frame name in places it was missing, now that we might need it. |
| |
| 2013-03-19 Timothy Hatcher <timothy@apple.com> |
| |
| Update InspectorBackendCommands to the latest. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/InspectorBackend.js: |
| (InspectorBackendClass.prototype._getAgent): |
| (InspectorBackendClass.prototype.registerCommand): |
| (InspectorBackendClass.prototype.registerEnum): |
| Added support for registerEnum, which is new. |
| |
| * UserInterface/InspectorBackendCommands.js: |
| Updated to the latest from Open Source r146200. |
| |
| 2013-03-18 Timothy Hatcher <timothy@apple.com> |
| |
| Make console messages bottom align if the log hasn't scrolled yet. |
| |
| Also includes: |
| * Restore clicking the empty space in the log to focus the prompt. |
| * Make the prompt top border lighten when the log view is showing. |
| |
| <rdar://problem/13442215> Maybe improve console typing UI (112588) |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ConsoleGroup.js: |
| (WebInspector.ConsoleGroup.prototype.addMessage): |
| * UserInterface/LogContentView.css: |
| (.console-messages): |
| (.console-messages :first-child): |
| Use flex layout and an auto top margin to push items to the bottom until scrolled. |
| |
| (.console-item): |
| (.console-user-command .console-message): |
| Move the border to the top since items are bottom aligned now. |
| |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView.prototype._mousedown): |
| Focus the prompt if the click was in empty space. |
| |
| * UserInterface/Main.js: |
| (WebInspector.showSplitConsole): |
| (WebInspector.hideSplitConsole): |
| (WebInspector.showFullHeightConsole): |
| (WebInspector._contentBrowserCurrentContentViewDidChange): |
| Notify the QuickConsole via consoleLogVisibilityChanged when the log view shows |
| or hides in the main content browser or split content browser. |
| |
| * UserInterface/QuickConsole.css: |
| (.quick-console.showing-log): Added. Lighten the border color. |
| |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole.prototype.consoleLogVisibilityChanged): Added. |
| Add or remove the showing-log style class. |
| |
| 2013-03-17 Timothy Hatcher <timothy@apple.com> |
| |
| Tweak how the console view and split console work. |
| |
| Clicking the console button will always show the console full height. The console button |
| is only blue when the console view is full height. Pressing escape always shows the split |
| console. Add support for allowing the content view to decide if the split console can be |
| shown. If it can't the full height console is shown instead. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/ClusterContentView.js: |
| (WebInspector.ClusterContentView.prototype.get supportsSplitContentBrowser): |
| * UserInterface/ContentView.js: |
| (WebInspector.ContentView.prototype.get supportsSplitContentBrowser): |
| * UserInterface/ContentViewContainer.js: |
| (WebInspector.ContentViewContainer.prototype._showContentView): |
| (WebInspector.ContentViewContainer.prototype._hideContentView): |
| * UserInterface/InstrumentSidebarPanel.js: |
| (WebInspector.InstrumentSidebarPanel): |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView): |
| (WebInspector.LogContentView.prototype.didAppendConsoleMessage): |
| (WebInspector.LogContentView.prototype._toggleSplit): |
| * UserInterface/Main.js: |
| (WebInspector.loaded): |
| (WebInspector.contentLoaded): |
| (WebInspector.isShowingSplitConsole): |
| (WebInspector.currentViewSupportsSplitContentBrowser): |
| (WebInspector.toggleSplitConsole): |
| (WebInspector.showSplitConsole): |
| (WebInspector.hideSplitConsole): |
| (WebInspector.showFullHeightConsole): |
| (WebInspector.isShowingConsoleView): |
| (WebInspector.showConsoleView): |
| (WebInspector.toggleConsoleView): |
| (WebInspector._contentBrowserCurrentContentViewDidChange): |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole.prototype._toggleOrFocus): |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView.prototype.get supportsSplitContentBrowser): |
| |
| 2013-03-18 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13443806> Safari Web Inspector: Point-to-inspect mode breaks when Node details sidebar open (112607) |
| |
| Fix typos that could cause exceptions. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/EventListenerSectionGroup.js: |
| (WebInspector.EventListenerSectionGroup.prototype._functionTextOrLink): |
| |
| 2013-03-17 Timothy Hatcher <timothy@apple.com> |
| |
| Stop scaling the MoreColumns.pdf and LessColumns.pdf images. |
| |
| Reviewed by Jon Honeycutt. |
| |
| * UserInterface/TimelinesContentView.css: |
| (.content-view.timelines > .data-grid th.collapser > .collapser-button): |
| * UserInterface/TimelinesContentView.js: |
| |
| 2013-03-17 Timothy Hatcher <timothy@apple.com> |
| |
| Only call SidebarPanel's shown and hidden when the visibility actually changes. |
| |
| This was causing the Console view to not be remembered between sessions because the |
| InstrumentsPanel was selecting a tree element in the shown function, even though |
| the sidebar panel was not visible. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Sidebar.js: |
| (WebInspector.Sidebar.prototype.set selectedSidebarPanel): |
| (WebInspector.Sidebar.prototype.set collapsed): |
| |
| 2013-03-17 Timothy Hatcher <timothy@apple.com> |
| |
| Speed up Web Inspector image generation some by using Uint32Array. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ImageUtilities.js: |
| (generateColoredImage): |
| (generateEmbossedImages._invertMaskImage): |
| Use Uint32Array to process the pixels faster. Account for endianness (even though we don't |
| really need to since we don't support Windows or PowerPC.) |
| |
| * UserInterface/Utilities.js: |
| (Uint32Array.isLittleEndian): Added. |
| |
| 2013-03-17 Timothy Hatcher <timothy@apple.com> |
| |
| Cache and restore generated images to speed up the load time for the Web Inspector. |
| |
| <rdar://problem/13436334> Web Inspector takes about 3s to activate |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ButtonNavigationItem.js: |
| (WebInspector.ButtonNavigationItem.prototype._generateImages): |
| Pass !this._imageCacheable to generateEmbossedImages. |
| |
| * UserInterface/ImageUtilities.js: |
| (generateColoredImage): |
| Don't set globalCompositeOperation to "clear" before using webkitPutImageDataHD. |
| |
| (generateColoredImagesForCSS): |
| (generateColoredImagesForCSS.imageLoaded): Added. |
| (generateColoredImagesForCSS.ensureImageIsLoaded): Added. |
| (generateColoredImagesForCSS.restoreImages): Added. |
| (generateColoredImagesForCSS.restoreImage): Added. |
| (generateColoredImagesForCSS.devicePixelRatioChanged): Added. |
| (generateColoredImagesForCSS.generateImagesIfNeeded): Renamed from generateImages. |
| (generateColoredImagesForCSS.generateImagesIfNeeded.generateActiveImages): |
| (generateColoredImagesForCSS.generateImage): |
| Try to restore the images first. If needed, load the image and regenerate them. |
| |
| (_createImageLocalStorageKey): Added. |
| (saveImageToLocalStorage): Added. |
| (restoreImageFromLocalStorage): Added. |
| (restoreImageFromLocalStorage.parseVersion): Added. |
| Save and restore images via pixel arrays with localStorage. Abort the restore |
| if versions mismatch or the array size isn't correct. |
| |
| (generateEmbossedImages): |
| (generateEmbossedImages.imageLoaded): Added. |
| (generateEmbossedImages.ensureImageIsLoaded): Added. |
| (generateEmbossedImages.restoreImages): Added. |
| (generateEmbossedImages.restoreImage): Added. |
| (generateEmbossedImages.devicePixelRatioChanged): Added. |
| (generateEmbossedImages.generateImagesIfNeeded): Added. |
| (generateEmbossedImages.generateImagesIfNeeded.generateActiveImages): |
| (generateEmbossedImages.generateImage): Renamed from _createEmbossedCanvasImage. |
| Try to restore the images first. If needed, load the image and regenerate them. |
| |
| (generateEmbossedImages._invertMaskImage): |
| (generateEmbossedImages._applyImageMask): |
| Don't set globalCompositeOperation to "clear" before using webkitPutImageDataHD. |
| |
| * UserInterface/ToggleButtonNavigationItem.js: |
| Mark the image as not cacheable. We need to swap images with the same identifiers. |
| |
| 2013-03-17 Timothy Hatcher <timothy@apple.com> |
| |
| Make generateColoredImagesForCSS require passing image width and height. |
| |
| This will be needed to cache and restore generated images for <rdar://problem/13436334>. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDeclarationSection.js: |
| (WebInspector.CSSStyleDeclarationSection): |
| * UserInterface/DataGrid.js: |
| (WebInspector.DataGrid.prototype._generateSortIndicatorImagesIfNeeded): |
| * UserInterface/DetailsSection.js: |
| (WebInspector.DetailsSection.prototype._generateDisclosureTrianglesIfNeeded): |
| * UserInterface/FindBanner.js: |
| (WebInspector.FindBanner.prototype._generateButtonsGlyphsIfNeeded): |
| * UserInterface/ImageUtilities.js: |
| (generateColoredImagesForCSS): |
| * UserInterface/Main.js: |
| (WebInspector._generateDisclosureTriangleImages): |
| * UserInterface/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel.prototype._generateDisclosureTrianglesIfNeeded): |
| |
| 2013-03-17 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Simplify giving ExecutionContexts for Frames a name |
| |
| Reviewed by Dean Jackson. |
| |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype.executionContextCreated): |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole.prototype._createExecutionContextPathComponentFromFrame): |
| Make both iOS 6 and trunk use the frame's main resource's display name. |
| |
| 2013-03-17 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Clean-up Weight.svg a little more. |
| |
| Rubber-stamped by Timothy Hatcher. |
| |
| * UserInterface/Images/Weight.svg: |
| Removed the path id, and extra processing instruction attribute. |
| |
| 2013-03-17 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Add Execution Context / Frame selector to the QuickConsole |
| |
| <rdar://problem/10809363> PARITY (WebKit Web Inspector): UI for evaluating in different windows / frames from the console is missing |
| |
| Reviewed by Dean Jackson. |
| |
| * UserInterface/ExecutionContext.js: |
| (WebInspector.ExecutionContext): |
| Allow an execution context with the special undefined identifier. |
| |
| * UserInterface/NavigationBar.js: |
| (WebInspector.NavigationBar.prototype.get sizesToFit): |
| * UserInterface/QuickConsoleNavigationBar.js: |
| (WebInspector.QuickConsoleNavigationBar.prototype.get sizesToFit): |
| * UserInterface/HierarchicalPathNavigationItem.js: |
| (WebInspector.HierarchicalPathNavigationItem.prototype.updateLayout): |
| The QuickConsoleNavigationBar stretches. Respect that laying out a hierarchical path. |
| |
| * UserInterface/HierarchicalPathComponent.css: |
| (.hierarchical-path-component > .selector-arrows): |
| (.hierarchical-path-component.text-only): |
| (.hierarchical-path-component.text-only > select): |
| * UserInterface/HierarchicalPathComponent.js: |
| (WebInspector.HierarchicalPathComponent): |
| * UserInterface/Images/UpDownArrows.svg: Added. |
| Allow creating a text only HierarchicalPathComponent, and one that shows |
| up/down popup selector arrows. |
| |
| * UserInterface/Frame.js: |
| (WebInspector.Frame.prototype.commitProvisionalLoad): |
| (WebInspector.Frame.prototype.clearExecutionContexts): |
| Send an event when clearing contexts. Provide a flag for when it happens |
| while a frame is navigating, in which case we would expect a new execution |
| context soon for the new page. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole): |
| Register for events necessary to fill a selector picker with frames. |
| iOS 6 needs to provide frame ids, so listen for added / removed frames. |
| Trunk and later use ExecutionContexts which Frames broadcast changes for. |
| Executing in the main frame uses "undefined". |
| |
| (WebInspector.QuickConsole.prototype.get executionContextIdentifier): |
| This is the selected identifier (contextId or frameId on iOS 6). If no |
| selector is shown, this will still be the main frame execution context. |
| |
| (WebInspector.QuickConsole.prototype._executionContextPathComponentsToDisplay): |
| (WebInspector.QuickConsole.prototype._rebuildExecutionContextPathComponents): |
| Update the nav bar components. There is a single segment, with the selected component. |
| |
| (WebInspector.QuickConsole.prototype._framePageExecutionContextsCleared): |
| (WebInspector.QuickConsole.prototype._framePageExecutionContextsChanged): |
| Trunk, event handlers when frames get and clear execution contexts. When a frame |
| navigates we have a little bit of logic to reselect that frame when its new |
| execution context comes in. |
| |
| (WebInspector.QuickConsole.prototype._frameAdded): |
| (WebInspector.QuickConsole.prototype._frameRemoved): |
| (WebInspector.QuickConsole.prototype._frameMainResourceChanged): |
| iOS 6 support. Track frame adds, removes, and resource changes to update the display. |
| |
| (WebInspector.QuickConsole.prototype._createExecutionContextPathComponent): |
| (WebInspector.QuickConsole.prototype._createExecutionContextPathComponentFromFrame): |
| Helpers for creating path components. Handles iOS 6 and trunk to get the right id. |
| |
| (WebInspector.QuickConsole.prototype._compareExecutionContextPathComponents): |
| (WebInspector.QuickConsole.prototype._insertExecutionContextPathComponentForFrame): |
| (WebInspector.QuickConsole.prototype._removeExecutionContextPathComponentForFrame): |
| (WebInspector.QuickConsole.prototype._updateExecutionContextPathComponentForFrame): |
| PathComponents are a linked list. We display them sorted. These are helpers for |
| inserting, removing, and updating a path component in that list. |
| |
| (WebInspector.QuickConsole.prototype._pathComponentSelected): |
| (WebInspector.QuickConsole.prototype._debuggerActiveCallFrameDidChange): |
| Changes to the state of the inspector that may require the UI to update. |
| |
| * UserInterface/JavaScriptTextPrompt.js: |
| (WebInspector.JavaScriptTextPrompt.prototype.evalInInspectedWindow): |
| Evaluate in the context selected in the QuickConsole. |
| |
| 2013-03-17 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Create an ExecutionContextList class. |
| |
| <rdar://problem/10809363> PARITY (WebKit Web Inspector): UI for evaluating in different windows / frames from the console is missing |
| |
| There may be many ExecutionContexts for a page, one for each isolated |
| world in the frame. Store each context for a frame in an ExecutionContext |
| and provide an accessor for the one that is the page context. |
| |
| This also converges on the name "pageExecutionContext" instead of |
| "mainExecutionContext" for the special context of the page. |
| |
| Reviewed by Dean Jackson. |
| |
| * UserInterface/Main.html: |
| * UserInterface/ExecutionContextList.js: Added. |
| (WebInspector.ExecutionContextList): |
| (WebInspector.ExecutionContextList.prototype.get pageExecutionContext): |
| (WebInspector.ExecutionContextList.prototype.get contexts): |
| (WebInspector.ExecutionContextList.prototype.add): |
| (WebInspector.ExecutionContextList.prototype.clear): |
| ExecutionContextList holds a list of contexts and has a quick |
| accessor for the page execution context. |
| |
| * UserInterface/Frame.js: |
| (WebInspector.Frame): |
| (WebInspector.Frame.prototype.get pageExecutionContext): |
| (WebInspector.Frame.prototype.get executionContextList): |
| (WebInspector.Frame.prototype.clearExecutionContexts): |
| (WebInspector.Frame.prototype.addExecutionContext): |
| Updated to use an ExecutionContextList. |
| |
| * UserInterface/DOMTree.js: |
| (WebInspector.DOMTree): |
| (WebInspector.DOMTree.prototype.requestRootDOMNode): |
| (WebInspector.DOMTree.prototype._requestRootDOMNode): |
| (WebInspector.DOMTree.prototype._framePageExecutionContextChanged): |
| Updated from mainExecutionContext to pageExecutionContext. |
| |
| 2013-03-16 Timothy Hatcher <timothy@apple.com> |
| |
| Move the debugger controls from the quick console to the debugger sidebar. |
| |
| Also dynamically add and remove the call stack section so it isn't an eyesore |
| when you are not paused. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/DebuggerSidebarPanel.css: Added. |
| (.sidebar > .panel.debugger > .content): |
| (.sidebar > .panel.debugger > .navigation-bar): |
| * UserInterface/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel): |
| (WebInspector.DebuggerSidebarPanel.prototype._debuggerPauseResumeButtonClicked): |
| (WebInspector.DebuggerSidebarPanel.prototype._debuggerStepOverButtonClicked): |
| (WebInspector.DebuggerSidebarPanel.prototype._debuggerStepIntoButtonClicked): |
| (WebInspector.DebuggerSidebarPanel.prototype._debuggerStepOutButtonClicked): |
| (WebInspector.DebuggerSidebarPanel.prototype._debuggerDidPause): |
| (WebInspector.DebuggerSidebarPanel.prototype._debuggerDidResume): |
| (WebInspector.DebuggerSidebarPanel.prototype._debuggerCallFramesDidChange): |
| (WebInspector.DebuggerSidebarPanel.prototype.deselectCallStackContentTreeElements): Added. |
| (WebInspector.DebuggerSidebarPanel.prototype._treeElementSelected): |
| * UserInterface/Main.html: |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole): |
| (WebInspector.QuickConsole.prototype._toggleOrFocus): |
| |
| 2013-03-16 Timothy Hatcher <timothy@apple.com> |
| |
| Make the toolbar labels look better in window mode. |
| |
| Rubber-stamped by Joseph Pecoraro. |
| |
| * UserInterface/Toolbar.css: |
| (body:not(.docked) .toolbar .item.button > .label): Apply antialiased only to the labels |
| so we don't affect text in the dashboard. Also add a stroke to make the text heavier. |
| |
| 2013-03-16 Timothy Hatcher <timothy@apple.com> |
| |
| Make toolbar items layout and collapse better at narrow window sizes. |
| |
| <rdar://problem/13189092> Toolbar items can be laid out on top of each other with narrow window |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ButtonToolbarItem.css: |
| (.toolbar.collapsed .item.button > .label): Removed. We only use icon-only now. |
| |
| * UserInterface/DashboardView.css: |
| (.toolbar.collapsed .dashboard): Added. Collapses when there is no room. |
| |
| * UserInterface/NavigationBar.js: |
| (WebInspector.NavigationBar.prototype.updateLayout): Call customUpdateLayout() if it exists. |
| |
| * UserInterface/Toolbar.css: |
| (.toolbar .item-section:not(.center)): Removed min-width and made flex be 1. |
| (.toolbar .item-section.left): Added right margin to prevent touching. |
| (.toolbar .item-section.center): Make flex be 2 so it can be a different width. |
| (.toolbar .item-section.right): Added a left margin to prevent touching. |
| |
| * UserInterface/Toolbar.js: |
| (WebInspector.Toolbar.prototype.set displayMode): Revert the forced icon-only mode. |
| |
| (WebInspector.Toolbar.prototype.customUpdateLayout.computeItemWidths): Added. |
| (WebInspector.Toolbar.prototype.customUpdateLayout.computeSectionWidths): Added. |
| (WebInspector.Toolbar.prototype.customUpdateLayout): Added. |
| Computes each section individually for overflow. If any section overflow switch to icon-only |
| mode when in horizontal-label mode. If any section overflows after that then collapse the |
| toolbar, which only hides the Dashboard right now. |
| |
| 2013-03-16 Timothy Hatcher <timothy@apple.com> |
| |
| Make the labels in the Instruments sidebar be 11px instead of 10px. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/NavigationSidebarPanel.css: |
| Removed a rule that was making the font-size 10px. Only the Instruments |
| sidebar triggered this rule. |
| |
| 2013-03-16 Timothy Hatcher <timothy@apple.com> |
| |
| Break-up the generation of images and delay the generation of |
| active images so the initial page load is faster. |
| |
| <rdar://problem/13436334> Web Inspector takes about 3s to activate |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ImageUtilities.js: |
| (.generateImages.generateActiveImages): Added. |
| (.generateImages): Set a tiemout to call generateActiveImages. |
| (._generateImages.generateActiveImages): Added. |
| (._generateImages): Set a tiemout to call generateActiveImages. |
| |
| 2013-03-15 Timothy Hatcher <timothy@apple.com> |
| |
| Sort resources by domain before sorting alphabetically by name. |
| |
| This was suggested by someone on Twitter. It allows local resources to bubble |
| to the top and external resources (analytic scripts, etc.) to come later. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/GeneralTreeElement.js: |
| (WebInspector.GeneralTreeElement): |
| (WebInspector.GeneralTreeElement.prototype.set mainTitle): |
| (WebInspector.GeneralTreeElement.prototype.set subtitle): |
| Fallback to "" for mainTitle and subtitle. |
| |
| * UserInterface/ResourceTreeElement.js: |
| (WebInspector.ResourceTreeElement.compareResourceTreeElements): |
| Sort resources by domain (subtitle) before sorting by name (mainTitle). |
| |
| 2013-03-15 Jessie Berlin <jberlin@apple.com> |
| |
| Ran update-safari-localizable-strings. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| 2013-03-14 Timothy Hatcher <timothy@apple.com> |
| |
| Display em-dashes instead of "0" for resources size and time to make it clear |
| the values are not known yet. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DashboardView.js: |
| (WebInspector.DashboardView.prototype.set time): |
| (WebInspector.DashboardView.prototype.set resourcesSize): |
| |
| 2013-03-14 Timothy Hatcher <timothy@apple.com> |
| |
| Remove references to bottomUpHead. We can build the bottom-up tree locally. |
| |
| The bottomUpHead is being removed from the protocol by https://webkit.org/b/112351. |
| Also remove references to TopDownTreeFactory and BottomUpTreeFactory with is dead code. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/JavaScriptProfileView.js: |
| (WebInspector.JavaScriptProfileView.prototype.get bottomUpProfileDataGridTree): |
| |
| 2013-03-14 Timothy Hatcher <timothy@apple.com> |
| |
| Always specify overflow-x when specifying overflow-y. |
| |
| Not specifying overflow-x causes it to be auto and can show scrollbars for wide content. |
| Also use auto instead of scroll in a few places to prevent scroll bars from always being |
| visible when the system prefers non-overlay scrollbars. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.css: |
| (.sidebar > .panel.details.css-style > .content): |
| * UserInterface/LayerTreeSidebarPanel.css: |
| (.layer-tree.panel .data-container): |
| * UserInterface/LogContentView.css: |
| (.console-messages): |
| * UserInterface/Popover.css: |
| (.popover > .container): |
| |
| 2013-03-14 Timothy Hatcher <timothy@apple.com> |
| |
| Remove the memory placeholder in the toolbar dashboard now that we deferred that feature. |
| |
| This also evenly distributes the items for a better layout in all modes. |
| |
| <rdar://problem/13237747> Dashboard items are not evenly distributed |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| |
| * UserInterface/DashboardView.css: |
| Overhauled the styles to use flex layout in all cases. |
| |
| * UserInterface/DashboardView.js: |
| (WebInspector.DashboardView): |
| Removed memory and split resources into resourceCount and resourcesSize. |
| |
| (WebInspector.DashboardView.prototype.set logs): |
| (WebInspector.DashboardView.prototype.set issues): |
| (WebInspector.DashboardView.prototype.set errors): |
| (WebInspector.DashboardView.prototype.set resourcesCount): |
| Call _formatPossibleLargeNumber and set the outlet. |
| |
| (WebInspector.DashboardView.prototype.set resourcesSize): |
| Set the resourcesSize outlet instead of calling _updateResourcesOutlet. |
| |
| (WebInspector.DashboardView.prototype._formatPossibleLargeNumber): |
| Added. This is a better approach to dealing with large numbers than ellipsis. |
| |
| (WebInspector.DashboardView.prototype._appendElementForNamedItem): |
| Removed the double div. It is no longer needed to truncate since all the outlets |
| can't really go larger than 6 characters now. |
| |
| (WebInspector.DashboardView.prototype._networkItemWasClicked): |
| Renamed from _timeWasClicked so resourcesSize can use it. |
| |
| * UserInterface/Images/Weight.svg: Added. |
| |
| 2013-03-13 Timothy Hatcher <timothy@apple.com> |
| |
| Mark DOM node styles as needing refreshed when an ancestor changes pseudo classes or any attributes change. |
| |
| <rdar://problem/13412234> REGRESSION: Style details sidebar does not update when ancestor nodes change |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleManager.js: |
| (WebInspector.CSSStyleManager): Add event listeners for all nodes. |
| (WebInspector.CSSStyleManager.prototype._nodePseudoClassesDidChange): Added. |
| (WebInspector.CSSStyleManager.prototype._nodeAttributesDidChange): Added. |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles): Remove event listeners on the single node. |
| (WebInspector.DOMNodeStyles.prototype.pseudoClassesDidChange): Added. |
| (WebInspector.DOMNodeStyles.prototype.attributeDidChange): Added. |
| |
| 2013-03-13 Timothy Hatcher <timothy@apple.com> |
| |
| Always refresh the DOM node styles when visibility changes for the sidebar or separate panels. |
| |
| <rdar://problem/13412234> REGRESSION: Style details sidebar does not update when ancestor nodes change |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.visibilityDidChange): |
| Call markAsNeedsRefresh instead of the removed refreshIfNeeded. |
| |
| * UserInterface/StyleDetailsPanel.js: |
| (WebInspector.StyleDetailsPanel): |
| (WebInspector.StyleDetailsPanel.prototype.shown): |
| (WebInspector.StyleDetailsPanel.prototype.markAsNeedsRefresh): |
| (WebInspector.StyleDetailsPanel.prototype._refreshNodeStyles): Added. |
| (WebInspector.StyleDetailsPanel.prototype._nodeStylesRefreshed): |
| (WebInspector.StyleDetailsPanel.prototype._nodeStylesNeedsRefreshed): |
| Remove the concept of having a separate needs refresh flag. Instead we just call refresh on the DOMNodeStyles |
| and wait for the Refreshed event. This way we always get the latest styles when first showing the panel. |
| |
| 2013-03-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13421555> Source code links should always show the original location |
| |
| Location links will now show the original location normally, and |
| display a mapped / formatted display location in italics when hovered, |
| but only if such a location exists. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/LayoutTimelineDataGridNode.js: |
| (WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent): |
| * UserInterface/Main.js: |
| (WebInspector.createSourceCodeLocationLink): |
| Use the SourceCodeLocation helpers to keep the contents live. |
| |
| * UserInterface/Main.css: |
| (.display-location): |
| Make display locations italic. |
| |
| * UserInterface/SourceCodeLocation.js: |
| (WebInspector.SourceCodeLocation.prototype.tooltipString): |
| (WebInspector.SourceCodeLocation.prototype.populateLiveDisplayLocationTooltip): |
| (WebInspector.SourceCodeLocation.prototype.populateLiveDisplayLocationString): |
| Different handlers to keep a tooltip or element property live. |
| |
| 2013-03-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13418338> Show / Hide Shadow DOM should not change the selected node, or select the earliest ancestor |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DOMTreeOutline.js: |
| |
| 2013-03-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13418332> Remove or selectively show "Show Shadow DOM" context menu, there is a nav bar button |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DOMTreeOutline.js: |
| (WebInspector.DOMTreeOutline.prototype.populateContextMenu): |
| (WebInspector.DOMTreeOutline.prototype._populateContextMenu): |
| |
| 2013-03-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Improve JavaScript pretty printing of "finally" |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/CodeMirrorFormatters.js: |
| * Tools/PrettyPrinting/CodeMirrorFormatters.js: |
| |
| 2013-03-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Provide a SourceCodeLocation helper that keeps an element text up to date. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/LayoutTimelineDataGridNode.js: |
| (WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent): |
| * UserInterface/SourceCodeLocation.js: |
| (WebInspector.SourceCodeLocation.prototype.setAndKeepElementDisplayLocationStringUpToDate): |
| |
| 2013-03-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Let WebInspector.createSourceCodeLocationLink create a goToArrow |
| |
| Reviewed by Timothy Hatcher. |
| |
| This allows LayoutTimelineDataGridNode to use createSourceCodeLocationLink |
| and not remove its children. |
| |
| * UserInterface/LayoutTimelineDataGridNode.js: |
| (WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent): |
| * UserInterface/Main.js: |
| (.updateLinkDisplayStrings): |
| (WebInspector.createSourceCodeLocationLink): |
| |
| 2013-03-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| WebInspector.createSourceCodeLocationLink use SourceCodeLocation's full power |
| |
| Reviewed by Timothy Hatcher. |
| |
| When a link is created with a source code location we can show the real |
| location (mapped location, formatted location, original location) and |
| update the link and tooltip when things change. |
| |
| * UserInterface/EventListenerSectionGroup.js: |
| (WebInspector.EventListenerSectionGroup.prototype._functionTextOrLink): |
| Switch to from createSourceCodeLink to createSourceCodeLocationLink. |
| |
| * UserInterface/Main.js: |
| (WebInspector.createSourceCodeLocationLink): |
| Update link text and tooltip when the location changes. |
| |
| * UserInterface/SourceCodeLocation.js: |
| (WebInspector.SourceCodeLocation.prototype._locationString): |
| Use SourceCode.displayName and handle source codes without URLs if needed. |
| |
| 2013-03-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13386143> REGRESSION (CodeMirror): Jump to line / reveal line should reveal closer to the middle of the editor never the top or bottom if possible |
| |
| If revealLine is called with a line outside the visible set of lines |
| in the editor then scroll the editor to make that line the center. |
| This also behaves as expected for lines the start / end of a document. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.shown): |
| In order for cm.getScrollInfo() values to be valid after an editor is |
| reattached to the DOM Hierarchy we have to call refresh, and because of |
| the way CodeMirror works (coalescing changes in operations) the |
| getScrollInfo is only valid after the refresh operation. So remove the |
| wrapping operation here. |
| |
| (WebInspector.TextEditor.prototype.set formatted): |
| If you pretty print a document do not send a change event and |
| cause the value to be sent to the backend. The frontend style |
| sidebar expects line and column numbers for the original |
| unformatted document. |
| |
| (WebInspector.TextEditor.prototype.revealAndHighlightLine): |
| (WebInspector.TextEditor.prototype.revealLine): |
| (WebInspector.TextEditor.prototype._scrollIntoViewCentered): |
| (WebInspector.TextEditor.prototype._prettyPrint): |
| In revealLine or prettyPrint when we move the selection make a decision |
| whether or not to scroll the editor to put that line in the center. |
| |
| 2013-03-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Update CodeMirror to ToT (v3.1+) which includes some JavaScript language and selection fixes |
| |
| <rdar://problem/13396332> CodeMirror: Selection on lines that wrap more than once is incorrect |
| |
| Rubber-stamped by Timothy Hatcher. |
| |
| * UserInterface/External/CodeMirror/codemirror.js: |
| * UserInterface/External/CodeMirror/javascript.js: |
| |
| 2013-03-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13410237> REGRESSION: Editing CSS resources no longer works (it is read-only) |
| |
| Reviewed by Ricky Mondello. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.set readOnly): |
| |
| 2013-03-14 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13410257> Display the reason why a layer is composited |
| |
| Retrieve the reason why the selected layer in the layer tree sidebar |
| panel is composited and display them in a popover anchored to the |
| selected data grid node, removing the popover when the inspector |
| loses focus or the data grid node is no longer selected. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| Add new strings used to display the various compositing reasons. |
| |
| * UserInterface/InspectorBackendCommands.js: |
| Add new LayerTree.reasonsForCompositingLayer() protocol method. |
| |
| * UserInterface/LayerTreeManager.js: |
| (WebInspector.LayerTreeManager.prototype.reasonsForCompositingLayer): |
| Wrapper for the new LayerTree.reasonsForCompositingLayer() protocol |
| method. |
| |
| * UserInterface/LayerTreeSidebarPanel.css: |
| (.layer-tree-popover): |
| (.layer-tree-popover p): |
| (.layer-tree-popover ul): |
| (.layer-tree-popover li): |
| Styles for the content displayed in a popover to show the compositing |
| reasons for the selected layer. |
| |
| * UserInterface/LayerTreeSidebarPanel.js: |
| (WebInspector.LayerTreeSidebarPanel.prototype._selectedDataGridNodeChanged): |
| On top of highlighting the appropriate region in the canvas for the |
| selected layer, also show a popover with the reasons why it was |
| composited or remove the popover if there are no selected layers. |
| |
| (WebInspector.LayerTreeSidebarPanel.prototype._dataGridGainedFocus): |
| Show the popover for the selected data grid node. |
| |
| (WebInspector.LayerTreeSidebarPanel.prototype._dataGridLostFocus): |
| Hide the popover. |
| |
| (WebInspector.LayerTreeSidebarPanel.prototype._showPopoverForSelectedNode): |
| (WebInspector.LayerTreeSidebarPanel.prototype._hidePopover): |
| (WebInspector.LayerTreeSidebarPanel.prototype.): |
| (WebInspector.LayerTreeSidebarPanel.prototype._populateListOfCompositingReasons): |
| Show a popover listing the compositing reasons for the selected layer |
| anchored to the selected data grid node. The content of the popover |
| is provided after the call to the agent to retrieve the reasons for |
| compositing has returned. |
| |
| * UserInterface/Popover.css: |
| (.popover): |
| (.popover.arrow-up): |
| (.popover.arrow-right): |
| (.popover.arrow-down): |
| (.popover.arrow-left): |
| * UserInterface/Popover.js: |
| (WebInspector.Popover.prototype.area): |
| (WebInspector.Popover.prototype.present): |
| (WebInspector.Popover.prototype._bestMetricsForEdge): |
| Miscellaneous enhancements for better popover behavior where we correctly |
| round up the metrics for the hosted content, ensure we interrupt a dismiss |
| animation when presenting the popover again, and change the sizing behavior |
| to take into account the various padding metrics applied as a result of |
| picking a given edge. |
| |
| 2013-03-13 Timothy Hatcher <timothy@apple.com> |
| |
| Don't wait until DOMContentLoaded to do non-UI initialization when loading the Web Inspector. |
| |
| Part of: <rdar://problem/13412219> REGRESSION: Opening the Web Inspector takes 5s |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CodeMirrorAdditions.js: |
| Moved extra MIME-type registration here. |
| |
| * UserInterface/Main.html: |
| Added a inline script to call WebInspector.loaded(). This needs to be outside of Main.js so it |
| comes after the scripts added via document.write when Main.js is a combined file. |
| |
| * UserInterface/Main.js: |
| (WebInspector.loaded): Added. Moved code from contentLoaded. |
| (WebInspector.contentLoaded): Moved code to loaded. |
| (WebInspector._windowResized): Call _contentBrowserSizeDidChange to avoid registering for resize twice. |
| |
| 2013-03-13 Timothy Hatcher <timothy@apple.com> |
| |
| Add selected images for UserInputResult.pdf and UserInputPromptPrevious.pdf. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Images/UserInputPromptPreviousSelected.pdf: Added. |
| * UserInterface/Images/UserInputResultSelected.pdf: Added. |
| * UserInterface/LogContentView.css: |
| (.console-messages:focus .console-item.selected .console-user-command-result.console-log-level::before): |
| (.console-messages:focus .console-item.selected .console-user-command::before): |
| |
| 2013-03-13 Timothy Hatcher <timothy@apple.com> |
| |
| Make copy work in the split console. |
| |
| <rdar://problem/13411428> Copy does not work if the console is in split view |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Main.js: |
| (WebInspector._focusedContentView): Added. |
| (WebInspector._beforecopy): Structure more like _copy. Use _focusedContentView. |
| (WebInspector._copy): Use _focusedContentView. |
| |
| 2013-03-13 Timothy Hatcher <timothy@apple.com> |
| |
| Remove old focus tracking code in EditingSupport.js and start tracking currentFocusElement |
| and previousFocusElement in Main.js's _focusChanged handler. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/EditingSupport.js: |
| (WebInspector.startEditing.cleanUpAfterEditing): Use restoreFocusFromElement(). |
| |
| * UserInterface/JavaScriptTextPrompt.js: |
| (WebInspector.JavaScriptTextPrompt.prototype.focus): Use focus(). |
| |
| * UserInterface/Main.js: |
| (WebInspector.restoreFocusFromElement): Added. |
| (WebInspector._focusChanged): Set currentFocusElement and previousFocusElement. |
| |
| * UserInterface/TextPrompt.js: |
| (WebInspector.TextPrompt.prototype._startEditing): Use focus(). |
| |
| 2013-03-13 Timothy Hatcher <timothy@apple.com> |
| |
| Fix some things with the new console selection behavior. |
| |
| * Makes sure all disclosure triangles and text are white when the row selection is blue. |
| * Makes sure all disclosure triangles and text are normal when the row selection is gray. |
| * Fixes a bug where click would cause the row to jump between top and bottom reveal instead of |
| toggling a clicked disclosure triangle. |
| * Only expand recursively if the Option key is pressed. This matches the TreeOutline code. |
| * Collapse recursively if the option key is pressed. |
| * Better aligns the disclosure triangles with DOM tree nodes. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/LogContentView.css: |
| (.console-messages): |
| (.console-item.selected): |
| (.console-messages:focus .console-item.selected *): |
| (.console-group-title::before): |
| (.console-messages:focus .console-item.selected .console-group-title::before): |
| (.console-messages:focus .console-group.collapsed .console-item.selected .console-group-title::before): |
| (.console-messages:focus .console-item.selected .section .header .title): |
| (.console-message-url): |
| (.console-messages:focus .console-item.selected .section .header::before): |
| (.console-messages:focus .console-item.selected .section.expanded .header::before): |
| (.console-messages:focus .console-item.selected .properties-tree li.parent::before): |
| (.console-messages:focus .console-item.selected .properties-tree li.parent.expanded::before): |
| (.outline-disclosure li.parent::before): |
| (.console-messages:focus .console-item.selected .outline-disclosure li.parent::before): |
| (.console-messages:focus .console-item.selected .outline-disclosure li.parent.expanded::before): |
| |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView.prototype._mousedown): |
| Use focus() instead of setCurrentFocusElement. The setCurrentFocusElement function is legacy and |
| should be removed someday. |
| |
| (WebInspector.LogContentView.prototype._updateMessagesSelection): |
| Don't call _ensureMessageIsVisible if the message was already selected from the start. |
| |
| (WebInspector.LogContentView.prototype._rightArrowWasPressed): |
| (WebInspector.LogContentView.prototype._leftArrowWasPressed): |
| Only expand or collapse recursively if the Option key is pressed. |
| |
| 2013-03-13 Timothy Hatcher <timothy@apple.com> |
| |
| Tweak the New Rule behavior in the Style details sidebar. |
| |
| Makes sure to scroll to reveal the section when it is focused. Also use appropriateSelectorFor |
| instead of displayNameForNode to generate better selectors. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype.addRule): Use appropriateSelectorFor. |
| * UserInterface/RulesStyleDetailsPanel.js: |
| (WebInspector.RulesStyleDetailsPanel.prototype.refresh.scrollToFocusedSection): Added. |
| (WebInspector.RulesStyleDetailsPanel.prototype.refresh): Call scrollToFocusedSection on a timeout. |
| |
| 2013-03-13 Antoine Quint <graouts@apple.com> |
| |
| Make the "Memory" outlet at the bottom of the layer tree |
| sidebar panel align to the right as expected. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/LayerTreeSidebarPanel.css: |
| (.layer-tree.panel .layers-memory-label): |
| |
| 2013-03-13 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13410203> Correctly identify layers for generated and reflected content |
| |
| We now correctly identify layers as reflected content and/or generated |
| content with a more appropriate name in the "child layers" data grid. |
| Additionally, we highlight the bounds of the layer on the page to |
| clearly identify what this reflection or generated content is on the |
| canvas. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| New localized string used to identify reflections layers. |
| |
| * UserInterface/DOMTreeManager.js: |
| (WebInspector.DOMTreeManager.prototype.highlightRect): |
| New method wrapping DOMAgent.highlightRect(). |
| |
| * UserInterface/LayerTreeDataGridNode.js: |
| (WebInspector.LayerTreeDataGridNode.prototype.set layer): |
| Further qualify the layer by adding either the ::before or ::after |
| pseudo-class for layers that are associated to generated content as |
| well as a localized "Reflection for" prefix for reflected layers. |
| |
| * UserInterface/LayerTreeSidebarPanel.js: |
| (WebInspector.LayerTreeSidebarPanel.prototype._highlightSelectedNode): |
| Check what type of layer is now selected and call the new |
| DOMTreeManager.highlightRect() method in case we're dealing with a |
| reflection or generated layer. |
| |
| 2013-03-13 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13209485> Layer Tree sidebar should respect "show-shadow-dom" setting |
| |
| The layer tree sidebar panel data grid now respects the |
| "show-shadow-dom" setting. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/LayerTreeSidebarPanel.js: |
| (WebInspector.LayerTreeSidebarPanel): |
| Track changes for the "show-shadow-dom" setting. |
| |
| (WebInspector.LayerTreeSidebarPanel.prototype.refresh): |
| Keep track of the unfiltered set of child layers returned when calling |
| into the LayerTreeAgent such that we can reuse this unfiltered list |
| of child layers layer as the "show-shadow-dom" setting changes. |
| |
| (WebInspector.LayerTreeSidebarPanel.prototype._showShadowDOMSettingChanged): |
| Update the display such that the new setting is taken into account. |
| |
| (WebInspector.LayerTreeSidebarPanel.prototype._updateDisplayWithLayers): |
| Filter the list of child layers to take into account the |
| "show-shadow-dom" setting. We also keep track of the layer for |
| the current node in the new "_layerForNode" property such that |
| it may be used to call into this method again when we need to |
| update the shadow DOM filter without querying the backend again. |
| |
| 2013-03-13 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13409543> Adopt new LayerTreeAgent protocol |
| |
| We remove all code related to the previous LayerTreeAgent protocol where |
| we'd use the LayerTree.getLayerTree() and LayerTree.nodeIdForLayerId() |
| methods which have now been replaced by a single method to provide the |
| layers in the scope of a given DOM subtree with LayerTree.layersForNode(). |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| Remove the strings related to composited layers since the protocol now |
| only provides composited layers. |
| |
| * UserInterface/InspectorBackendCommands.js: |
| Remove the old LayerTree.getLayerTree() and LayerTree.nodeIdForLayerId() |
| protocol methods and add the new LayerTree.layersForNode() method. |
| |
| * UserInterface/LayerTreeDataGridNode.js: |
| (WebInspector.LayerTreeDataGridNode.prototype.get layer): |
| New public accessor for the "_layer" property such that the |
| LayerTreeSidebarPanel may access properties of the selected data grid |
| node's layer. |
| |
| (WebInspector.LayerTreeDataGridNode.prototype.set layer): |
| Remove the check for a valid node since the protocol ensures that layers |
| now have a valid nodeId pushed to the front-end. We're also removing the |
| redundant "layerData" property by just letting the layer be accessible |
| via a public accessor. |
| |
| (WebInspector.LayerTreeDataGridNode.prototype._goToArrowWasClicked): |
| Use the "_layer" property to find out the nodeId rather than the removed |
| "layerData" property. |
| |
| * UserInterface/LayerTreeManager.js: |
| (WebInspector.LayerTreeManager): |
| Remove the hard-coded disabling of the LayerTree features in the front-end |
| and instead use a real run-time check for availability of the LayerTreeAgent. |
| We also remove some ivars we no longer use. |
| |
| (WebInspector.LayerTreeManager.prototype.layerTreeMutations): |
| Complete rewrite of the method to account for the richer set of |
| information exposed by the new protocol. We now have to take into account |
| much more than just layer ids to indentify mutations, node ids should also |
| be taken into account to check if a layer for the same node has appeared |
| with a new layer id (as it may have been destroyed and recreated for a |
| content update). We also need to take into account generated content and |
| reflections, which may have pseudo element ids. |
| |
| (WebInspector.LayerTreeManager.prototype.layersForNode): |
| New wrapper for the new LayerTreeAgent.layersForNode() protocol method. |
| |
| (WebInspector.LayerTreeManager.prototype.layerTreeDidChange): |
| We no longer obtain the layer tree upon a change, we merely dispatch |
| an event indicating that the layer tree has changed. |
| |
| * UserInterface/LayerTreeSidebarPanel.js: |
| (WebInspector.LayerTreeSidebarPanel): |
| Remove the setting to only show composited layers since the protocol now |
| only returns composited layers. |
| |
| (WebInspector.LayerTreeSidebarPanel.prototype.refresh): |
| Retrieve layers from the agent and update our display with the result. |
| |
| (WebInspector.LayerTreeSidebarPanel.prototype._layerTreeDidChange): |
| Mark that we need a refresh following a change in the layer tree. |
| |
| (WebInspector.LayerTreeSidebarPanel.prototype._buildLayerInfoSection): |
| No longer show the "Composited" row since all layers are now composited. |
| |
| (WebInspector.LayerTreeSidebarPanel.prototype._buildDataGridSection): |
| No longer build the "only show composited layers" checkbox. |
| |
| (WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid): |
| (WebInspector.LayerTreeSidebarPanel.prototype._highlightSelectedNode): |
| Use the now-public "layer" property on the LayerTreeDataGridNode to |
| look up layer information for sorting. |
| |
| (WebInspector.LayerTreeSidebarPanel.prototype._updateDisplayWithLayers): |
| Keep track of the new child layers in a "_childLayers" property. |
| |
| (WebInspector.LayerTreeSidebarPanel.prototype._updateLayerInfoSection): |
| Remove the checks for composited since all layers are now composited. |
| |
| (WebInspector.LayerTreeSidebarPanel.prototype._updateDataGrid): |
| (WebInspector.LayerTreeSidebarPanel.prototype._updateMetrics): |
| Update to use new properties on layer objects per the change in protocol. |
| |
| 2013-03-13 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/12886275> Selecting errors in the console doesn't select the error and the filename |
| |
| In order to be able to provide custom content to the clipboard for console messages, |
| we must also allow selection of console messages in a different way than via text |
| selection. In this patch, we make the list of messages selectable, supporting the |
| selection types one would expect from a desktop application. I go into the details |
| of what features exactly are implemented in the per-method discussion below. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ConsoleCommand.js: |
| (WebInspector.ConsoleCommand.prototype.toClipboardString): |
| Adopt the protocol to provide a custom clipboard string in the form of |
| "> theJSCommand();". |
| |
| * UserInterface/ConsoleCommandResult.js: |
| (WebInspector.ConsoleCommandResult.prototype.toClipboardString): |
| Adopt the protocol to provide a custom clipboard string in the form of |
| "< theCommandResult". |
| |
| * UserInterface/ConsoleGroup.js: |
| (WebInspector.ConsoleGroup.prototype.addMessage): |
| Wrap individual messages in a group within a wrapper element with a "console-item" |
| CSS class. These elements are used to apply a "selected" or "filtered-out" class and |
| to draw the full-width borders on the items. |
| |
| * UserInterface/ConsoleMessageImpl.js: |
| (WebInspector.ConsoleMessageImpl.prototype._formatMessage): |
| Refactor to use new _shouldDumpStackTrace() method. |
| |
| (WebInspector.ConsoleMessageImpl.prototype._shouldDumpStackTrace): |
| New method to share logic once used only in _formatMessage() with |
| toClipboardString() as well. |
| |
| (WebInspector.ConsoleMessageImpl.prototype.toString): |
| Refactor to use new "levelString" property. |
| |
| (WebInspector.ConsoleMessageImpl.prototype.get levelString): |
| New accessor to share logic once used only in toString() with toClipboardString() |
| as well. |
| |
| (WebInspector.ConsoleMessageImpl.prototype.toClipboardString): |
| Adopt the protocol to provide a custom clipboard string where we log the level, |
| message text, url, line number and optionally the stack frames. |
| |
| * UserInterface/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController.prototype.appendConsoleMessage): |
| Return the cloned message so that we may manipulate it from call sites (ie. in |
| LogContentView.prototype._messageAdded()). |
| |
| (WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessage): Fix a |
| missing semi-colon. |
| |
| * UserInterface/LogContentView.css: |
| (.console-messages): |
| Remove useless properties. |
| |
| (.console-item): |
| Basic style for all console item wrappers, draw a 1px bottom border. |
| |
| (.console-item.selected): |
| Background color for selected items when the container doesn't have focus (gray). |
| |
| (.console-messages:focus .console-item.selected): |
| Background color for selected items when the container has focus (blue). |
| |
| (.console-messages:focus .console-item.selected *): |
| Make all text in selected items white. |
| |
| (.console-item.selected .console-group-title::before): |
| Use a white triangle for selected items. |
| |
| (.console-group.collapsed .console-item.selected .console-group-title::before): |
| Use a white triangle for selected items. |
| |
| (.console-item.selected .console-error-level .section .header .title): |
| Ensure text is white in selected items. |
| |
| (.console-item.selected .console-debug-level .console-message-text): |
| Ensure text is white in selected items. |
| |
| (.auto-complete-text, .editing .auto-complete-text): |
| Remove useless property. |
| |
| (.console-item.selected .outline-disclosure li.parent::before): |
| Use a white triangle for selected items. |
| |
| (.console-item.selected .outline-disclosure li.parent.expanded::before): |
| Use a white triangle for selected items. |
| |
| (.console-item.filtered-out): |
| Remove all filtered-out items from layout. |
| |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView): |
| New ivars to track the current nesting level and the list of all selected message |
| elements. We also start tracking a series of keyboard and mouse events on the |
| messages container to implement multiple selection of message elements. |
| |
| (WebInspector.LogContentView.prototype.updateLayout): |
| Override this ContentView method to track the height of the messages container |
| in order to update the scroll position of the container as we ensure the visibility |
| of selected items. |
| |
| (WebInspector.LogContentView.prototype.didAppendConsoleMessage): |
| Manually nest the messages hosted in wrappers and keep track of the nesting level |
| as groups are opened and closed. We also clear all focusable children there as new |
| content may have been added with markup using the "tabindex" attributes. |
| |
| (WebInspector.LogContentView.prototype.handleCopyEvent): |
| Provide custom content to the clipboard based on the clipboard text of each message |
| in the selected messages list in DOM order. |
| |
| (WebInspector.LogContentView.prototype._messageAdded): |
| Ensure newly added messages are filtered out in case they don't match the selected |
| filters in the scope bar. |
| |
| (WebInspector.LogContentView.prototype._mousedown): |
| Event handler for the "mousedown" event on the messages container. We ignore user |
| interaction if we would otherwise show a contextual menu, and ensure the messages |
| container has focus otherwise. In case we're getting focus now and we already had |
| selected elements, we go no further. Otherwise, we figure out which message was |
| under the mouse pointer and track that we should prevent a "click" event from being |
| dispatched in case the message was not yet selected. This ensures that we don't |
| collapse/expand an outline and select at the same time. We then update the message |
| selection state and track further mouse interaction. If we detect we didn't click on |
| a message, ie. the empty area of the messages container, we clear the selection list. |
| |
| (WebInspector.LogContentView.prototype._mousemove): |
| Get the message element under the mouse pointer, if any, and update the messages |
| selection list so that we select messages from the first element we moused down |
| on to this one. |
| |
| (WebInspector.LogContentView.prototype._mouseup): |
| Stop tracking any further "mousemove" and "mouseup" events as the selection-by-mouse |
| interaction draws to an end. |
| |
| (WebInspector.LogContentView.prototype._click): |
| Prevent the propagation of "click" events if we established in the "mousedown" event |
| handler that we should have. |
| |
| (WebInspector.LogContentView.prototype.handleEvent): |
| Router for mouse "mousemove" and "mouseup" events. |
| |
| (WebInspector.LogContentView.prototype._updateMessagesSelection): |
| Method that updates the selected state of the provided message based on whether |
| we're allowing multiple selection (Cmd+click) and range selection |
| (Shift+click/arrow-up/arrow-down). |
| |
| (WebInspector.LogContentView.prototype._ensureMessageIsVisible): |
| Scrolls the messages container as necessary to reveal the provided message. We avoid |
| getting metrics from CSS as much as possible by using the positiong of the message |
| directly after the provided one since we can get that information via |
| _positionForMessage() without triggering a style recalc. In the case where we want to |
| ensure the last message is visible, we have no other resort but to query its height. |
| |
| (WebInspector.LogContentView.prototype._positionForMessage): |
| Get the position of the given message in the coordinate system established by the |
| messages container. |
| |
| (WebInspector.LogContentView.prototype._isMessageVisible): |
| Indicates whether the provided message is visible (ie. not filtered-out or within a |
| collapsed group). |
| |
| (WebInspector.LogContentView.prototype._isMessageSelected): |
| Indicates whether the provided message is selected. |
| |
| (WebInspector.LogContentView.prototype._selectAllMessages): |
| Selects all visible messages. |
| |
| (WebInspector.LogContentView.prototype._allMessages): |
| All the messages in the messages container as an Array. |
| |
| (WebInspector.LogContentView.prototype._allVisibleMessages): |
| All visible messages in the messages container as an Array. |
| |
| (WebInspector.LogContentView.prototype._scopeBarSelectionDidChange): |
| Filter messages as the selected filters in the scope bar have changed. |
| |
| (WebInspector.LogContentView.prototype._filterMessages): |
| Filter the messages based on scope bar filters selection. We ensure commands and |
| results are always visible, no matter what filters are selected. |
| |
| (WebInspector.LogContentView.prototype._didFocus): |
| Track that the messages container is focused. |
| |
| (WebInspector.LogContentView.prototype._didBlur): |
| Track that the messages container is not focused. |
| |
| (WebInspector.LogContentView.prototype._keyDown): |
| Event handler for the "keydown" event, used to route to the more specific handlers. |
| |
| (WebInspector.LogContentView.prototype._commandAWasPressed): |
| Event handler for Cmd+A key combination, selects all visible messages. |
| |
| (WebInspector.LogContentView.prototype._escapeWasPressed): |
| Event handler for the Esc. key being pressed, clears the selection if there are |
| any selected messages, otherwise moving focus to the command prompt. |
| |
| (WebInspector.LogContentView.prototype._upArrowWasPressed): |
| Event handler for the up arrow key being pressed, selects the message above, or add |
| it to the selection list if the shift key is selected. |
| |
| (WebInspector.LogContentView.prototype._downArrowWasPressed): |
| Event handler for the down arrow key being pressed, selects the message below, or add |
| it to the selection list if the shift key is selected. |
| |
| (WebInspector.LogContentView.prototype._leftArrowWasPressed): |
| Event handler for the left arrow key veing pressed, collapses the current group or |
| message with stack trace. Otherwise, does nothing. |
| |
| (WebInspector.LogContentView.prototype._rightArrowWasPressed): |
| Event handler for the right arrow key veing pressed, expands the current group or |
| message with stack trace. Otherwise, does nothing. |
| |
| (WebInspector.LogContentView.prototype._previousMessage): |
| Traverses the list of visible messages until we find a message located prior to |
| the provided message. |
| |
| (WebInspector.LogContentView.prototype._nextMessage): |
| Traverses the list of visible messages until we find a message located after to the |
| provided message. |
| |
| (WebInspector.LogContentView.prototype._clearFocusableChildren): |
| Remove the "tabindex" attribute on all elements located within the messages container |
| to ensure no element can steal focus away from the messages container and mess with our |
| handling of keyboard events. |
| |
| 2013-03-12 Timothy Hatcher <timothy@apple.com> |
| |
| Don't truncate the suggestions menu when it gets close to the right edge. |
| |
| Restore a line that was removed that we needed after all to get the right behavior. |
| |
| Rubber-stamped by Joseph Pecoraro. |
| |
| * UserInterface/CompletionSuggestionsView.js: |
| (WebInspector.CompletionSuggestionsView.prototype.show): Update width after maximumWidth changes. |
| |
| 2013-03-12 Timothy Hatcher <timothy@apple.com> |
| |
| Prevent style text from shifting as properties are marked with checkboxes. |
| |
| This marks blanks lines in editable styles with a placeholder that is the same |
| size as the checkbox. When a checkbox is added the placeholder is removed. That |
| switch keeps the text in the same position and looks superb! |
| |
| This also forces checkboxes to be visible when the editor has focus, not just hovered. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDeclarationTextEditor.css: |
| (.css-style-text-editor > .CodeMirror .CodeMirror-lines .checkbox-placeholder): Added. |
| * UserInterface/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._clearTextMarkers): Added all |
| param so we don't clear placeholder in all cases, only when doing a reset. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): Call |
| _removeCheckboxPlaceholder. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._contentChanged): Call |
| _markBlankLinesWithCheckboxPlaceholder. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._markBlankLinesWithCheckboxPlaceholder): Added. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._removeCheckboxPlaceholder): Added. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent): Call |
| _markBlankLinesWithCheckboxPlaceholder and pass true for _clearTextMarkers's all param. |
| |
| 2013-03-12 Timothy Hatcher <timothy@apple.com> |
| |
| Improve the load time of the Web Inspector by loading localizedString.js sooner. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/LoadLocalizedStrings.js: Added. |
| * UserInterface/Main.html: Include LoadLocalizedStrings.js before Main.js. |
| * UserInterface/Main.js: Don't dynamically load localizedString.js. |
| |
| 2013-03-11 Timothy Hatcher <timothy@apple.com> |
| |
| Disable auto completion inside comments. |
| |
| <rdar://problem/13387317> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CodeMirrorCompletionController.js: |
| (WebInspector.CodeMirrorCompletionController.prototype._completeAtCurrentPosition): Return early inside comments. |
| |
| 2013-03-11 Timothy Hatcher <timothy@apple.com> |
| |
| Don't highlight autocompletion items on hover. Only highlight them when active. |
| |
| <rdar://problem/13387350> CSS autocompletion can be confusing if mouse cursor is hidden and hovering completion menu |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CompletionSuggestionsView.css: |
| (.completion-suggestions-container:not(:active) > .item.selected, |
| .completion-suggestions-container > .item:active): Renamed from being hover to active. |
| |
| 2013-03-11 Timothy Hatcher <timothy@apple.com> |
| |
| Workaround <rdar://problem/13392441> so Images and Fonts don't get cut off at the top. |
| |
| We can get the expected result by using margin: 0 auto until the behavior of -webkit-align-items |
| is hashed out more. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/FontResourceContentView.css: |
| (.content-view.resource.font): Remove -webkit-align-items: center and use margin: 0 auto. |
| (.content-view.resource.font .preview): Change 13px to 15px to be less arbitrary. |
| * UserInterface/ImageResourceContentView.css: |
| (.content-view.resource.image): Ditto. |
| |
| 2013-03-11 Timothy Hatcher <timothy@apple.com> |
| |
| Make SVG fonts work in the Web Inspector. |
| |
| <rdar://problem/13392056> SVG fonts are not rendered when selected |
| |
| Reviewed by Jon Lee. |
| |
| * UserInterface/FontResourceContentView.js: |
| (WebInspector.FontResourceContentView.prototype.contentAvailable): Supply format("svg") when we |
| know we are loading an SVG font. This seems to be required for SVG fonts. |
| |
| 2013-03-11 Timothy Hatcher <timothy@apple.com> |
| |
| Don't allow setting a rule's selector to an empty string. |
| |
| <rdar://problem/13387384> When editing a selector to be the empty string, nothing is committed - UI should reflect that |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/CSSStyleDeclarationSection.css: |
| (.style-declaration-section > .header > .selector:empty): Added. |
| (.style-declaration-section > .header > .selector:empty::before): Added. |
| * UserInterface/CSSStyleDeclarationSection.js: |
| (WebInspector.CSSStyleDeclarationSection.prototype._commitSelector): Call refresh if the selector is empty. |
| |
| 2013-03-11 Timothy Hatcher <timothy@apple.com> |
| |
| Ignore Shift-Tab in CodeMirror instances since it does unexpected things. |
| |
| <rdar://problem/13387373> CSS editor typing Shift+Tab adds weird pre-indent |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/CodeMirrorAdditions.js: |
| (ignoreKey): Added. |
| |
| 2013-03-11 Timothy Hatcher <timothy@apple.com> |
| |
| Improve the wrapping of the pseudo class checkboxes. |
| |
| Also make sure the scroll logic handles the different heights possible. |
| |
| <rdar://problem/13383635> Pseudo class checkboxes should wrap better with narrow sidebar (never 3x1 & 1x1) |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.css: |
| (.sidebar > .panel.details.css-style > .content > .pseudo-classes): Switch to flex layout. |
| (.sidebar > .panel.details.css-style > .content > .pseudo-classes > .group): Added. |
| (.sidebar > .panel.details.css-style > .content > .pseudo-classes > .group > label): Split the margin on each side. |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel): Create group elements of up to two labels each. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.visibilityDidChange): Call _updateNoForcedPseudoClassesScrollOffset. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.widthDidChange): Ditto. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._updateNoForcedPseudoClassesScrollOffset): Update the height. |
| |
| 2013-03-11 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/11720808> REGRESSION (Safari 6): Conditional breakpoints UI missing |
| |
| Add back conditional breakpoints UI. The UI is modeled after Xcode's |
| "Edit Breakpoint" context menu and popover UI. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Breakpoint.js: |
| (WebInspector.Breakpoint): |
| (WebInspector.Breakpoint.prototype.get condition): |
| (WebInspector.Breakpoint.prototype.set condition): |
| (WebInspector.Breakpoint.prototype.get info): |
| Give a breakpoint a condition, mutators, and save the condition in |
| the breakpoint info. |
| |
| (WebInspector.Breakpoint.prototype.appendContextMenuItems): |
| Add a context menu item for "Edit Breakpoint". |
| |
| (WebInspector.Breakpoint.prototype._popoverToggleCheckboxChanged): |
| (WebInspector.Breakpoint.prototype._popoverConditionInputChanged): |
| (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement): |
| (WebInspector.Breakpoint.prototype._showEditBreakpointPopover): |
| Generate the popover content and show the popover. |
| |
| * UserInterface/Breakpoint.css: Added. |
| (.popover .edit-breakpoint-popover-content): |
| (.popover .edit-breakpoint-popover-content > label.toggle): |
| (.popover .edit-breakpoint-popover-content > table): |
| (.popover .edit-breakpoint-popover-content > table > tr > th): |
| (.popover .edit-breakpoint-popover-content > table > tr > td): |
| (#edit-breakpoint-popover-condition): |
| Styles for the edit breakpoint popover. |
| |
| * UserInterface/BreakpointTreeElement.js: |
| (WebInspector.BreakpointTreeElement.prototype.oncontextmenu): |
| Pass the breakpoint element in the display so that if a popover needs |
| to be shown, we have the bounds of an element to show it for. |
| |
| * UserInterface/DebuggerManager.js: |
| (WebInspector.DebuggerManager): |
| (WebInspector.DebuggerManager.prototype.isBreakpointEditable): |
| Never allow setting a condition on the special breakpoints. |
| |
| (WebInspector.DebuggerManager.prototype._breakpointConditionDidChange): |
| (WebInspector.DebuggerManager.prototype._breakpointConditionDidChange.breakpointRemoved): |
| To set the condition delete the old breakpoint and set a new breakpoint |
| with the new condition. The WebInspector.Breakpoint will get an updated id. |
| |
| * UserInterface/Main.html: |
| * Localizations/en.lproj/localizedStrings.js: |
| Include new files and strings. |
| |
| 2013-03-09 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Add a "Select Output" button to PrettyPrinting tools. |
| |
| The new button make copying the entire output easier. Useful for saving |
| before and after contents to see changes. Also update the formatter and |
| clean up some style issues. |
| |
| Unreviewed tools change. |
| |
| * Tools/PrettyPrinting/CodeMirrorFormatters.js: |
| * Tools/PrettyPrinting/index.html: |
| |
| 2013-03-09 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Pretty printing: Don't try to be smart about unary +/-. |
| |
| This was causing some simple expressions like "1+1" or "foo+1" to |
| become "1 +1" and "foo +1" instead of the expected "1 + 1" and |
| "foo + 1". The most common unary expressions negative numbers, |
| are parsed as a single token by CodeMirror anyways, so drop the |
| special case in the formatter. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/CodeMirrorFormatters.js: |
| Remove the special case that tried to handle unary +/-. |
| |
| 2013-03-09 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Update the PrettyPrinting Tool with new formatter changes. |
| |
| Unreviewed tools change. |
| |
| * Tools/PrettyPrinting/CodeMirrorFormatters.js: |
| * Tools/PrettyPrinting/Formatter.js: |
| (Formatter.prototype._handleToken): |
| (Formatter.prototype._handleEmptyLine): |
| |
| 2013-03-09 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Pretty Printing: switch from startsWith to regex matching for tokens |
| |
| This addresses a review comment that using startsWith for checking |
| token types is brittle and we should check the entire string. The |
| performance impact was negligible on JavaScript and minor on CSS, |
| so it is worth making the change to make the code less brittle. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/CodeMirrorFormatters.js: |
| * UserInterface/Formatter.js: |
| (Formatter.prototype._handleToken): |
| (Formatter.prototype._handleEmptyLine): |
| |
| 2013-03-09 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Add Pretty Printing Debug Page to WebInspector/Tools/PrettyPrinting |
| |
| The pretty printing files in the Inspector can be run independently of |
| the Inspector. The only requirements are CodeMirror, its modes, and a |
| few Utility functions. This provides a separate tool that makes it |
| easier to debug and benchmark pretty printing without needing to run |
| the entire inspector. By default it includes some debug information |
| that will speed up debugging and make making improvements easier. |
| |
| Rubber-stamped by Timothy Hatcher. |
| |
| * Tools/PrettyPrinting/CodeMirrorFormatters.js: Added. |
| * Tools/PrettyPrinting/Formatter.js: Added. |
| * Tools/PrettyPrinting/FormatterContentBuilder.js: Added. |
| * Tools/PrettyPrinting/codemirror.css: Added. |
| * Tools/PrettyPrinting/codemirror.js: Added. |
| * Tools/PrettyPrinting/css.js: Added. |
| * Tools/PrettyPrinting/javascript.js: Added. |
| CodeMirror and WebInspector pretty printing files copied with only |
| minor tweaks (debugging code). |
| |
| * Tools/PrettyPrinting/populate/apple.css: Added. |
| * Tools/PrettyPrinting/populate/jquery.min.js: Added. |
| Useful JavaScript and CSS content to populate the editor with. The |
| contents are decent stress tests for coverage and benchmarking. |
| jQuery is already in Safari for other tools, and apple.com's CSS |
| is Apple source. These files are just included as test data. |
| |
| * Tools/PrettyPrinting/index.html: Added. |
| Driver. Includes an editor, some buttons, and outputs results. |
| |
| 2013-03-09 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13375942> Pretty printing: Search results highlight wrong text range and highlight wrong line |
| |
| Provide a SourceCodeTextRange. This contains start and end SourceCodeLocation |
| objects and uses those to provide raw, formatted, and mapped (display) |
| WebInspector.TextRanges and events when the range bounds change. |
| |
| Search results coming from the backend have the original content and so |
| include raw text range information. When we jump to the source code we |
| will want to reveal and highlight the formatted line. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DOMSearchMatchObject.js: |
| (WebInspector.DOMSearchMatchObject): |
| (WebInspector.DOMSearchMatchObject.prototype.get sourceCodeTextRange): |
| * UserInterface/Main.html: |
| * UserInterface/ResourceSearchMatchObject.js: |
| (WebInspector.ResourceSearchMatchObject): |
| (WebInspector.ResourceSearchMatchObject.prototype.get sourceCodeTextRange): |
| Switch these to create and hold a SourceCodeTextRange. |
| |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype.showSourceCodeTextRange): |
| (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected): |
| When selecting a SearchMatchObject reveal and select the formatted range. |
| It may be jarring to the user to see a search result for something and |
| jump to the mapped (display) location which may not contain the search term. |
| |
| * UserInterface/SearchResultTreeElement.js: |
| (WebInspector.SearchResultTreeElement): |
| (WebInspector.SearchResultTreeElement.truncateAndHighlightTitle): |
| Be aware that the represented SearchMatchObject has a sourceCodeTextRange |
| now. But we are provided line content from the original resource, so in |
| highlighting the search string use the original resource's text range. |
| |
| * UserInterface/SourceCode.js: |
| (WebInspector.SourceCode.prototype.createSourceCodeTextRange): |
| * UserInterface/SourceMapResource.js: |
| (WebInspector.SourceMapResource.prototype.createSourceCodeTextRange): |
| Helpers for creating a SourceCodeTextRange by providing an unformatted |
| TextRange in the given resource. Automatically takes care of SourceMaps. |
| |
| * UserInterface/SourceCodeTextRange.js: Added. |
| (WebInspector.SourceCodeTextRange): |
| (WebInspector.SourceCodeTextRange.prototype.get sourceCode): |
| (WebInspector.SourceCodeTextRange.prototype.get textRange): |
| (WebInspector.SourceCodeTextRange.prototype.get formattedTextRange): |
| (WebInspector.SourceCodeTextRange.prototype.get displaySourceCode): |
| (WebInspector.SourceCodeTextRange.prototype.get displayTextRange): |
| (WebInspector.SourceCodeTextRange.prototype._startAndEndLocationsInSameMappedResource): |
| (WebInspector.SourceCodeTextRange.prototype._sourceCodeLocationChanged): |
| SourceCodeTextRange matching SourceCodeLocation's semantics. |
| |
| 2013-03-09 Timothy Hatcher <timothy@apple.com> |
| |
| Don't flash red strikethrough when actively editing a style. |
| |
| <rdar://problem/13385762> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDeclarationTextEditor.css: |
| (.css-style-text-editor > .CodeMirror .CodeMirror-lines .editing-line .css-style-declaration-property.invalid): Renamed. |
| * UserInterface/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._clearRemoveEditingLineClassesTimeout): Added. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._removeEditingLineClasses): Added. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._removeEditingLineClasses.removeEditingLineClasses): Added. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._removeEditingLineClassesSoon): Added. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._contentChanged): Add EditingLineStyleClassName to the changed line. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateProperties): Call _removeEditingLineClassesSoon. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent): Call _removeEditingLineClasses. |
| * UserInterface/CodeMirrorCompletionController.js: |
| (WebInspector.CodeMirrorCompletionController.prototype._applyCompletionHint): Don't add line CompletionPendingStyleClassName. |
| (WebInspector.CodeMirrorCompletionController.prototype._commitCompletionHint): Remove call to _removePendingCompletionLineStyleClass. |
| (WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint): Ditto. |
| (WebInspector.CodeMirrorCompletionController.prototype._removePendingCompletionLineStyleClass): Removed. |
| |
| 2013-03-09 Timothy Hatcher <timothy@apple.com> |
| |
| Prevent CSS autocompletion from interfering with the undo/redo history. |
| |
| We now remove any changes we programmatically do from the undo history. |
| And before undo or redo we make sure to hide the completions so the editor |
| is back to the state that matches the history. |
| |
| <rdar://problem/13384296> CSS Autocompletion causes unexpected Undo behavior |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CodeMirrorCompletionController.js: |
| (WebInspector.CodeMirrorCompletionController): Hook up _handleHideKey to the standard |
| undo and redo shortcuts. Also hook up select all so it goes through instead of being |
| blocked by _handleCursorActivity. |
| (WebInspector.CodeMirrorCompletionController.prototype.get _currentReplacementText): Added. |
| (WebInspector.CodeMirrorCompletionController.prototype._applyCompletionHint.update): Call |
| _removeLastChangeFromHistory after replaceRange. |
| (WebInspector.CodeMirrorCompletionController.prototype._commitCompletionHint.update): Added. |
| Replace the prefix with the full completion text. Don't call _removeLastChangeFromHistory. |
| (WebInspector.CodeMirrorCompletionController.prototype._commitCompletionHint): Call update. |
| (WebInspector.CodeMirrorCompletionController.prototype._removeLastChangeFromHistory): Added. |
| (WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint.update): Call |
| _removeLastChangeFromHistory after each replaceRange. |
| (WebInspector.CodeMirrorCompletionController.prototype._completeAtCurrentPosition): Call |
| _removeCompletionHint before getting the cursor so any cursor changes are done first. |
| (WebInspector.CodeMirrorCompletionController.prototype._handleHideKey): Added. Hide the completions |
| and pass through to other the standard handlers. |
| |
| 2013-03-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/12463631> REGRESSION: Subframes don't show the DOM tree |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DOMTree.js: |
| (WebInspector.DOMTree): |
| (WebInspector.DOMTree.prototype.requestRootDOMNode): |
| (WebInspector.DOMTree.prototype._requestRootDOMNodeInternal): |
| (WebInspector.DOMTree.prototype._frameMainResourceDidChange): |
| (WebInspector.DOMTree.prototype._frameExecutionContextChanged): |
| If we are a subframe we must wait for a context execution identifier |
| to do the RuntimeAgent.evaluate to get the document. So we may need |
| to wait for it. Switch to invoke and clarify we use frameId for |
| iOS 6 backwards compatibility. |
| |
| * UserInterface/ExecutionContext.js: Added. |
| (WebInspector.ExecutionContext): |
| (WebInspector.ExecutionContext.supported): |
| (WebInspector.ExecutionContext.prototype.get id): |
| (WebInspector.ExecutionContext.prototype.get name): |
| (WebInspector.ExecutionContext.prototype.get isPageContext): |
| (WebInspector.ExecutionContext.prototype.get frame): |
| WebInspector.Object class for Runtime.ExecutionContextDescription type. |
| This was unavailable in iOS 6, so add a static "supported" function. |
| |
| * UserInterface/Frame.js: |
| (WebInspector.Frame.prototype.initialize): |
| (WebInspector.Frame.prototype.commitProvisionalLoad): |
| Clear executino contexts on initialize, navigating, and detaching (manager). |
| |
| (WebInspector.Frame.prototype.get mainExecutionContext): |
| (WebInspector.Frame.prototype.get executionContexts): |
| (WebInspector.Frame.prototype.clearExecutionContexts): |
| (WebInspector.Frame.prototype.addExecutionContext): |
| A frame may have multiple execution contexts. One for each world. We consider |
| the first execution context we receive for a frame to be the main one. |
| |
| (WebInspector.Frame.prototype.get executionContextIdentifier): |
| Backwards compatible execution context identifier. Null if not yet resolved. |
| |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype.frameDidDetach): |
| When detaching a page, clear the execution contexts. |
| (WebInspector.FrameResourceManager.prototype.executionContextCreated): |
| Set the execution context on a frame if provided. |
| |
| * UserInterface/Main.html: |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| Register a "Runtime" domain observer and enable it when it is available. |
| |
| * UserInterface/RuntimeObserver.js: Added. |
| (WebInspector.RuntimeObserver): |
| (WebInspector.RuntimeObserver.prototype.executionContextCreated): |
| Add a new Observer for "Runtime" domain events. |
| |
| 2013-03-08 Timothy Hatcher <timothy@apple.com> |
| |
| <rdar://problem/13381025> REGRESSION (Safari 6): Bottom-up profiling option missing |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/Images/BottomUpTree.pdf: Added. |
| * UserInterface/JavaScriptProfileView.js: |
| (WebInspector.JavaScriptProfileView.prototype.get navigationItems): Added. Return percent |
| and bottom up item. |
| (WebInspector.JavaScriptProfileView.prototype._toggleBottomUpView): Added. Flip the setting |
| and call _changeView. |
| (WebInspector.JavaScriptProfileView.prototype._changeView): Check _showTreeBottomUpSetting. |
| Removing reference to old viewSelectElement property. |
| |
| 2013-03-08 Timothy Hatcher <timothy@apple.com> |
| |
| Make the "H" key toggle the visibility of the selected DOM element. |
| |
| <rdar://problem/13352674> PARITY (WebKit Web Inspector): Shortcut to hide/show DOM elements while inspecting |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMTreeOutline.js: |
| (WebInspector.DOMTreeOutline): Create the keyboard shortcut. |
| (WebInspector.DOMTreeOutline.prototype._hideElement.toggleProperties): Added. |
| (WebInspector.DOMTreeOutline.prototype._hideElement): Added. |
| |
| 2013-03-08 Timothy Hatcher <timothy@apple.com> |
| |
| Always fire the Refreshed event for DOMNodeStyles. |
| |
| Not firing Refreshed made it hard to listen for when it was safe to use the properties. |
| If you call refresh, you expect Refreshed to always fire. But it would only fire if there |
| was a significant change. Now it always fires and passes a flag whether it was significant. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDeclaration.js: |
| (WebInspector.CSSStyleDeclaration.prototype.propertyForName): Drive by: don't consider |
| pending properties if we can't create or are not editable. |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle): Keep track on if we |
| found a significant change since the last time we fired the Refreshed event. Only recompute |
| if it was significant if we aren't already marked as significant. Pass significantChange along |
| with the Refreshed event and always fire it. |
| * UserInterface/RulesStyleDetailsPanel.js: |
| (WebInspector.RulesStyleDetailsPanel.prototype.refresh): Added significantChange param. Only |
| do a rebuild if it was significant. |
| * UserInterface/StyleDetailsPanel.js: |
| (WebInspector.StyleDetailsPanel.prototype.markAsNeedsRefresh): Set _forceSignificantChange. |
| (WebInspector.StyleDetailsPanel.prototype.refresh): Added significantChange param. |
| (WebInspector.StyleDetailsPanel.prototype._refreshPreservingScrollPosition): Pass along |
| significantChange to refresh, taking into consideration _forceSignificantChange. |
| (WebInspector.StyleDetailsPanel.prototype._nodeStylesRefreshed): Pass along significantChange |
| from the event to _refreshPreservingScrollPosition. |
| |
| 2013-03-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13372615> REGRESSION: theverge.com shows 2 duplicate "rs.js" Extra Script resources |
| |
| The URLs passed in scriptParsed messages appears to not match up properly |
| with the Resource URL. Testing on theverge.com we can get script URLs |
| that are encoded where the resource URL is decoded, and we can get script |
| URLs that have a hash where the resource URL does not have a hash. Provide |
| a generic resourceForScript lookup. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype.resourceForScript): |
| Walk the frame tree looking for a resource with the same URL as |
| a script. Check the with fragment encoded and decoded script URL, |
| an without fragment encoded and decoded script URL. |
| |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype.showSourceCode): |
| (WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded): |
| * UserInterface/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype.scriptsForURL): |
| * UserInterface/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel.prototype._scriptAdded): |
| * UserInterface/ScriptContentView.js: |
| (WebInspector.ScriptContentView): |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorUpdatedFormatting): |
| * UserInterface/SourceMapManager.js: |
| (WebInspector.SourceMapManager.prototype._loadAndParseSucceeded): |
| When we have a script, use the resourceForScript instead of resourceForURL. |
| |
| * UserInterface/Utilities.js: |
| (removeURLFragment): helper fro removing URL fragment. |
| |
| 2013-03-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13371011> Misclassified resources if you open the inspector while the page is loading |
| |
| When the Web Inspector is opened during a page load it gets a list of |
| all resources from the backend via getResourceTree. We assume that the |
| resources in that tree are completed loads. We may later discover that |
| some of those resources are actively loading, and that other actively |
| loading resources are not in that list. We can detect both of these |
| cases by receiving a receiveResponse message. Handle it appropriately |
| so that a WebInspector.Script can always find a WebInspector.Resource. |
| Otherwise, the Script would show its own tree element under "Extra |
| Scripts" in the sidebar. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse): |
| When we don't have an identifier but we find a Resource by URL, then we should |
| update the Resource to still be loading. If we don't have a Resource at all we |
| should create one, it is currently loading. |
| |
| (WebInspector.FrameResourceManager.prototype.resourceRequestDidFinishLoading): |
| (WebInspector.FrameResourceManager.prototype.resourceRequestDidFailLoading): |
| We can assert again. We always expect to have a Resource by the time we get a |
| didFinishLoading or didFailLoading message. If we don't then this could be |
| an extreme edge case (like a dataReceived without a receivedResponse). |
| |
| * UserInterface/Resource.js: |
| (WebInspector.Resource.prototype.revertMarkAsFinished): |
| Revert the finished and finished timestamp properties. When a |
| finishLoading or didFailLoading message comes in the states will |
| be updated again. |
| |
| 2013-03-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| ASSERT: FrameResourceManager.prototype.frameDidNavigate: console.assert(frame) |
| |
| Fix a typo. A WebInspector.Resource has a parentFrame, not a frame accessor. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype.frameDidNavigate): |
| |
| 2013-03-08 Timothy Hatcher <timothy@apple.com> |
| |
| Fix the font smoothing in the Web Inspector. |
| |
| This is needed after making the Web Inspector WKView use tiled drawing since our WKView is transparent. |
| |
| <rdar://problem/12922185> REGRESSION: Text in the Web Inspector is not sub-pixel anti-aliased anymore |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Main.css: |
| (body): Add -webkit-font-smoothing: subpixel-antialiased to force sub-pixel in our transparent WebView. |
| * UserInterface/NavigationSidebarPanel.css: |
| (.sidebar > .panel.navigation > .empty-content-placeholder > .message): Remove -webkit-font-smoothing: antialiased. |
| |
| 2013-03-07 Timothy Hatcher <timothy@apple.com> |
| |
| Don't scroll the Style details sidebar if the pseudo class checkboxes are not present. |
| |
| This applies when inspecting an iOS 6 device or simulator. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.get _initialScrollOffset): Return 0 |
| if we can't for pseudo classes. |
| * UserInterface/StyleDetailsPanel.js: |
| (WebInspector.StyleDetailsPanel.prototype.get _initialScrollOffset): Ditto. |
| |
| 2013-03-07 Timothy Hatcher <timothy@apple.com> |
| |
| Display applied media queries in the new Style details sidebar. |
| |
| <rdar://problem/13376129> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/RulesStyleDetailsPanel.css: |
| (.sidebar > .panel.details.css-style .rules .label): Renamed from .inherited-label. |
| (.sidebar > .panel.details.css-style .rules .label .go-to-link): Added. |
| (.sidebar > .panel.details.css-style .rules .label + .style-declaration-section): Added. |
| (.sidebar > .panel.details.css-style .rules .new-rule): Tweaked opacity to better match .label. |
| (.sidebar > .panel.details.css-style .rules .new-rule:hover): Ditto. |
| (.sidebar > .panel.details.css-style .rules .new-rule:active): Ditto. |
| * UserInterface/RulesStyleDetailsPanel.js: |
| (WebInspector.RulesStyleDetailsPanel.prototype.refresh.mediaListsEqual): Added. |
| (WebInspector.RulesStyleDetailsPanel.prototype.refresh.filteredMediaList): Added. |
| (WebInspector.RulesStyleDetailsPanel.prototype.refresh): Only include the media list if it is |
| different from the previous media list shown. |
| * UserInterface/SourceCodeLocation.js: |
| (WebInspector.SourceCodeLocation.prototype.isEqual): Added. |
| |
| 2013-03-07 Timothy Hatcher <timothy@apple.com> |
| |
| Fix a typo in the Dashboard tooltips. |
| |
| <rdar://problem/13365669> [WebInspector] typo in source - "click to show to the" should be "click to show the" |
| |
| Reviewed by Ricky Mondello. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/DashboardView.js: |
| (WebInspector.DashboardView): Removed "to" from two tooltips. |
| |
| 2013-03-07 Timothy Hatcher <timothy@apple.com> |
| |
| Fix the word wrapping for long origins that are links. |
| |
| Also fixes the location and wrapping of the read-only lock icon. |
| |
| <rdar://problem/13365935> Long CSS resource names causes poor line wrapping in Style sidebar |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDeclarationSection.css: |
| (.style-declaration-section.locked > .header::before): Changed from after so the lock sticks |
| to the top of the section as intended instead of on the last line. Add a left margin to prevent |
| the origin from touching the icon. |
| (.style-declaration-section > .header > .origin): Remove display: inline-block and vertical-align. |
| Added word-wrap: break-word and white-space: nowrap to prevent breaking the built-in origins among |
| multiple lines. |
| (.style-declaration-section > .header > .origin a): Added. Set white-space to normal to allow it |
| to break along multiple lines. |
| |
| 2013-03-07 Timothy Hatcher <timothy@apple.com> |
| |
| Indent wrapped lines by 2 extra spaces to better break up long lines in the details sidebar. |
| |
| An earlier change made it work for editable styles, this makes it work for read-only styles. |
| |
| <rdar://problem/13310983> Long styles that wrap are hard to read in new Style details sidebar. |
| |
| Reviewed by Ricky Mondello. |
| |
| * UserInterface/CSSStyleDeclarationTextEditor.css: |
| (.css-style-text-editor.read-only > .CodeMirror pre): |
| |
| 2013-03-07 Jessie Berlin <jberlin@apple.com> |
| |
| Ran update-safari-localizable-strings. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| 2013-03-07 Timothy Hatcher <timothy@apple.com> |
| |
| Add Array.lastValue and start using it. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/CodeMirrorCompletionController.js: |
| (WebInspector.CodeMirrorCompletionController.prototype._scanStringForExpression): |
| * UserInterface/CodeMirrorFormatters.js: |
| * UserInterface/DOMNode.js: |
| (WebInspector.DOMNode.prototype.get lastChild): |
| * UserInterface/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.prototype._updateChildren): |
| (WebInspector.DOMTreeElement.prototype.moveToNextAttributeIfNeeded): |
| (WebInspector.DOMTreeElement.prototype._attributeEditingCommitted): |
| * UserInterface/DataGrid.js: |
| (WebInspector.DataGrid.prototype.sortNodes): |
| (WebInspector.DataGridNode.prototype.traversePreviousNode): |
| * UserInterface/FormatterContentBuilder.js: |
| (FormatterContentBuilder.prototype.removeLastNewline): |
| (FormatterContentBuilder.prototype._addFormattedLineEnding): |
| * UserInterface/HierarchicalPathNavigationItem.js: |
| (WebInspector.HierarchicalPathNavigationItem.prototype.get lastComponent): |
| * UserInterface/InspectorBackend.js: |
| (InspectorBackendClass.prototype._sendMessageToBackend): |
| * UserInterface/TextPrompt.js: |
| (WebInspector.TextPrompt.prototype._completionsReady): |
| * UserInterface/TimelineManager.js: |
| (WebInspector.TimelineManager.prototype.eventRecorded): |
| * UserInterface/TimelineOverview.js: |
| (WebInspector.TimelineOverview.prototype.update): |
| * UserInterface/Utilities.js: |
| |
| 2013-03-07 Timothy Hatcher <timothy@apple.com> |
| |
| Use Array.contains instead of indexOf. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/Branch.js: |
| (WebInspector.Branch.prototype.addRevision): |
| * UserInterface/CSSRule.js: |
| * UserInterface/CSSStyleDeclaration.js: |
| * UserInterface/CSSStyleDeclarationSection.js: |
| (WebInspector.CSSStyleDeclarationSection.prototype.refresh): |
| * UserInterface/CodeMirrorCompletionController.js: |
| (WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions): |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser.prototype._updateContentViewSelectionPathNavigationItem): |
| * UserInterface/ContentViewContainer.js: |
| (WebInspector.ContentViewContainer.prototype.showContentView): |
| * UserInterface/DOMNode.js: |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload): |
| * UserInterface/DOMTreeElement.js: |
| * UserInterface/GeneralTreeElement.js: |
| (WebInspector.GeneralTreeElement.prototype.addClassName): |
| (WebInspector.GeneralTreeElement.prototype.removeClassName): |
| * UserInterface/LayerTreeManager.js: |
| (WebInspector.LayerTreeManager.prototype.var): |
| * UserInterface/NavigationBar.js: |
| (WebInspector.NavigationBar.prototype._findNavigationItem): |
| * UserInterface/Sidebar.js: |
| (WebInspector.Sidebar.prototype.findSidebarPanel): |
| |
| 2013-03-07 Timothy Hatcher <timothy@apple.com> |
| |
| Don't ignore user agent rules when forced pseudo classes change. |
| |
| Normally the Refreshed event is not fired only when user agent rules change, due to a bug |
| in WebCore. However, we need to fire it when the forced pseudo classes change since there |
| are base rules for most of the pseudo classes that need to show up in the sidebar. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle): Don't check for |
| user agent rules if _includeUserAgentRulesOnNextRefresh is true. |
| (WebInspector.DOMNodeStyles.prototype._markAsNeedsRefresh): Added includeUserAgentRules. |
| Set _includeUserAgentRulesOnNextRefresh if includeUserAgentRules is true. |
| (WebInspector.DOMNodeStyles.prototype._pseudoClassesDidChange): Pass true to _markAsNeedsRefresh. |
| |
| 2013-03-06 Timothy Hatcher <timothy@apple.com> |
| |
| Add checkboxes that allow forcing pseudo classes in the Style details sidebar. |
| |
| The checkboxes are scrolled off the top if there are no forced pseudo classes. |
| When there are forced classes the checkboxes are initially visible. Also we can |
| only scroll them away when there is enough content to scroll. |
| |
| <rdar://problem/13143555> Add the ability to toggle forced CSS pseudo-classes from style sidebar |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/CSSStyleDeclarationSection.css: |
| * UserInterface/CSSStyleDetailsSidebarPanel.css: |
| (.sidebar > .panel.details.css-style > .content > .pseudo-classes): |
| (.sidebar > .panel.details.css-style > .content > .pseudo-classes > label): |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.addEventListeners): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.removeEventListeners): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.get _initialScrollOffset): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._navigationItemSelected): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._forcedPseudoClassCheckboxChanged): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._updatePseudoClassCheckboxes): |
| * UserInterface/CSSStyleManager.js: |
| (WebInspector.CSSStyleManager.prototype.canForcePseudoClasses): |
| * UserInterface/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.prototype._populateTagContextMenu): |
| * UserInterface/StyleDetailsPanel.js: |
| (WebInspector.StyleDetailsPanel.prototype.get _initialScrollOffset): |
| (WebInspector.StyleDetailsPanel.prototype._refreshPreservingScrollPosition): |
| * UserInterface/Utilities.js: |
| (Array.prototype.contains): Added. |
| |
| 2013-03-06 Timothy Hatcher <timothy@apple.com> |
| |
| Remove more dead code from CSSStyleManager that I missed. |
| |
| Rubber-stamped by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleManager.js: |
| (WebInspector.CSSStyleManager.parseRuleArrayPayload): Removed. |
| |
| 2013-03-06 Timothy Hatcher <timothy@apple.com> |
| |
| Add missing image Images/Locked.pdf. |
| |
| <rdar://problem/13355862> |
| |
| * UserInterface/Images/Locked.pdf: Added. |
| |
| 2013-03-05 Timothy Hatcher <timothy@apple.com> |
| |
| Add support for adding new rules in the Style details sidebar. |
| |
| <rdar://problem/11326086> REGRESSION (Safari 6): Can't add new selectors / rules |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/CSSStyleDeclarationSection.css: |
| (div:not(.style-declaration-section) + .style-declaration-section): Added. Generic |
| rule to add a shadow on the top when something is between sections. |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype.addRule): Added. |
| (WebInspector.DOMNodeStyles.prototype._collectStylesInCascadeOrder): Include Inspector |
| styles. Also collect user and user agent styles into one array. |
| * UserInterface/Images/Plus.pdf: Added. |
| * UserInterface/RulesStyleDetailsPanel.css: |
| (.sidebar > .panel.details.css-style .rules .new-rule): Added. |
| (.sidebar > .panel.details.css-style .rules .new-rule img): Added. |
| (.sidebar > .panel.details.css-style .rules .new-rule:hover): Added. |
| (.sidebar > .panel.details.css-style .rules .new-rule:active): Added. |
| * UserInterface/RulesStyleDetailsPanel.js: |
| (WebInspector.RulesStyleDetailsPanel.prototype.refresh.appendStyleSection): Focus the new |
| inspector rule when it is added. |
| (WebInspector.RulesStyleDetailsPanel.prototype.refresh): Create a New Rule button. |
| (WebInspector.RulesStyleDetailsPanel.prototype._newRuleClicked): Added. |
| |
| 2013-03-05 Timothy Hatcher <timothy@apple.com> |
| |
| Remove dead code from CSSStyleManager. |
| |
| Rubber-stamped by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleManager.js: |
| Remove old code and the copyright that went with the code. None of the remaining |
| code came from the original open source file. |
| |
| 2013-03-04 Timothy Hatcher <timothy@apple.com> |
| |
| Always insert a space after ":" when pretty printing in the Style details sidebar. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSProperty.js: |
| (WebInspector.CSSProperty.prototype.get synthesizedText): Added. |
| (WebInspector.CSSProperty.prototype.get text): Factored into synthesizedText. |
| * UserInterface/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent): Use synthesizedText. |
| Using CSSProperty.text still uses the original text which might not have a space after ":". |
| |
| 2013-03-04 Timothy Hatcher <timothy@apple.com> |
| |
| Skip invalid properties when marking overridden properties. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype._markOverriddenProperties): Check for not valid and continue early. |
| |
| 2013-03-04 Timothy Hatcher <timothy@apple.com> |
| |
| Flag properties that have other vendor keywords in the value so they are not crossed out in red. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSProperty.js: |
| (WebInspector.CSSProperty.prototype.hasOtherVendorNameOrKeyword): Check propertyValueHasOtherVendorKeyword too. |
| * UserInterface/CSSStyleManager.js: |
| (WebInspector.CSSStyleManager.prototype.propertyValueHasOtherVendorKeyword): Added. |
| |
| 2013-03-04 Timothy Hatcher <timothy@apple.com> |
| |
| Indent wrapped lines by 2 extra spaces to better break up long lines in the details sidebar. |
| |
| <rdar://problem/13310983> Long styles that wrap are hard to read in new Style details sidebar. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDeclarationTextEditor.css: |
| (.css-style-text-editor > .CodeMirror pre): Tweak the padding and text-indent. |
| |
| 2013-03-04 Timothy Hatcher <timothy@apple.com> |
| |
| Add CodeMirrorCompletionController and start using it in CSSStyleDeclarationTextEditor. |
| |
| This restores auto complete to the Style details sidebar and also paves the way for using |
| CodeMirror for the console prompt. |
| |
| <rdar://problem/13304962> REGRESSION: Style property autocomplete missing from the Style details sidebar |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDeclarationTextEditor.css: |
| (.css-style-text-editor > .CodeMirror .CodeMirror-lines .completion-pending .css-style-declaration-property.invalid): |
| * UserInterface/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.completionControllerCompletionsHidden): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._contentChanged): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype): |
| * UserInterface/CodeMirrorCompletionController.css: Added. |
| (.CodeMirror .CodeMirror-lines .completion-hint): |
| * UserInterface/CodeMirrorCompletionController.js: Added. |
| (WebInspector.CodeMirrorCompletionController): |
| (WebInspector.CodeMirrorCompletionController.prototype.get delegate): |
| (WebInspector.CodeMirrorCompletionController.prototype.updateCompletions): |
| (WebInspector.CodeMirrorCompletionController.prototype.isCompletionChange): |
| (WebInspector.CodeMirrorCompletionController.prototype.isShowingCompletions): |
| (WebInspector.CodeMirrorCompletionController.prototype.hideCompletions): |
| (WebInspector.CodeMirrorCompletionController.prototype.close): |
| (WebInspector.CodeMirrorCompletionController.prototype.completionSuggestionsSelectedCompletion): |
| (WebInspector.CodeMirrorCompletionController.prototype.completionSuggestionsClickedCompletion): |
| (WebInspector.CodeMirrorCompletionController.prototype._hasPendingCompletion): |
| (WebInspector.CodeMirrorCompletionController.prototype._notifyCompletionsHiddenSoon): |
| (WebInspector.CodeMirrorCompletionController.prototype._applyCompletionHint.update): |
| (WebInspector.CodeMirrorCompletionController.prototype._applyCompletionHint): |
| (WebInspector.CodeMirrorCompletionController.prototype._commitCompletionHint): |
| (WebInspector.CodeMirrorCompletionController.prototype.update): |
| (WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint): |
| (WebInspector.CodeMirrorCompletionController.prototype._removePendingCompletionLineStyleClass.removePendingStyleClass): |
| (WebInspector.CodeMirrorCompletionController.prototype._removePendingCompletionLineStyleClass): |
| (WebInspector.CodeMirrorCompletionController.prototype.isStopCharacter): |
| (WebInspector.CodeMirrorCompletionController.prototype.isOpenBracketCharacter): |
| (WebInspector.CodeMirrorCompletionController.prototype.isCloseBracketCharacter): |
| (WebInspector.CodeMirrorCompletionController.prototype.matchingBracketCharacter): |
| (WebInspector.CodeMirrorCompletionController.prototype._scanStringForExpression): |
| (WebInspector.CodeMirrorCompletionController.prototype._completeAtCurrentPosition): |
| (WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions): |
| (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions): |
| (WebInspector.CodeMirrorCompletionController.prototype._handleUpKey): |
| (WebInspector.CodeMirrorCompletionController.prototype._handleDownKey): |
| (WebInspector.CodeMirrorCompletionController.prototype._handleRightOrEnterKey): |
| (WebInspector.CodeMirrorCompletionController.prototype._handleEscapeKey): |
| (WebInspector.CodeMirrorCompletionController.prototype._handleTabKey): |
| (WebInspector.CodeMirrorCompletionController.prototype._handleChange): |
| (WebInspector.CodeMirrorCompletionController.prototype._handleCursorActivity): |
| (WebInspector.CodeMirrorCompletionController.prototype._handleHideAction): |
| * UserInterface/CompletionSuggestionsView.css: Added. |
| (.completion-suggestions): |
| (.completion-suggestions > .completion-suggestions-container): |
| (.completion-suggestions-container > .item): |
| (.completion-suggestions-container > .item:hover): |
| * UserInterface/CompletionSuggestionsView.js: Added. |
| (WebInspector.CompletionSuggestionsView): |
| (WebInspector.CompletionSuggestionsView.prototype.get delegate): |
| (WebInspector.CompletionSuggestionsView.prototype.get visible): |
| (WebInspector.CompletionSuggestionsView.prototype.get selectedIndex): |
| (WebInspector.CompletionSuggestionsView.prototype.set selectedIndex): |
| (WebInspector.CompletionSuggestionsView.prototype.selectNext): |
| (WebInspector.CompletionSuggestionsView.prototype.selectPrevious): |
| (WebInspector.CompletionSuggestionsView.prototype.isHandlingClickEvent): |
| (WebInspector.CompletionSuggestionsView.prototype.show): |
| (WebInspector.CompletionSuggestionsView.prototype.hide): |
| (WebInspector.CompletionSuggestionsView.prototype.update): |
| (WebInspector.CompletionSuggestionsView.prototype.get _selectedItemElement): |
| (WebInspector.CompletionSuggestionsView.prototype._mouseDown): |
| (WebInspector.CompletionSuggestionsView.prototype._mouseUp): |
| (WebInspector.CompletionSuggestionsView.prototype._itemClicked): |
| * UserInterface/Main.html: |
| |
| 2013-03-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Disable some features while column debugging is broken |
| |
| <rdar://problem/11219771> REGRESSION (Safari 6): Can't pretty-print JavaScript |
| |
| To prevent broken behavior and a poor experience with breakpoints and |
| debugging but still allow for pretty-printing disable some features |
| related to columns. We can revert this change later and test more when |
| the underlying issue is fixed. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel.prototype._treeElementSelected): |
| Instead of jumping to the display location, jump to the original location. |
| |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate): |
| Don't autoformat if we're being debugged. |
| |
| (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameDidChange): |
| If we are going to be debugged unformat. |
| |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointAdded): |
| Disallow setting breakpoints in formatted content. |
| |
| 2013-03-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Update CodeMirror to ToT (v3.1+) which includes some important performance fixes |
| |
| <rdar://problem/11219771> REGRESSION (Safari 6): Can't pretty-print JavaScript |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/External/CodeMirror/codemirror.js: |
| * UserInterface/External/CodeMirror/javascript.js: |
| |
| 2013-03-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Set the FormatterSourceMap on both Resource and Script like SourceMaps |
| |
| <rdar://problem/11219771> REGRESSION (Safari 6): Can't pretty-print JavaScript |
| |
| Most source code text editors are for Resources, like external scripts. |
| However the backend identifies call frames with Script line and column |
| information. So the Script needs to know about the Resource's formatter. |
| |
| We register for events in case the execution line changes on the fly. |
| This could happen if a breakpoint is hit on page load of a script that |
| is auto formatted. When the page loads, the breakpoint is hit and the |
| call frame is created with the original location and no formatter. When |
| the script Resource is shown it gets formatted, the associated Script |
| gets the formatter and the active call frame location updates its |
| display location. In that case the text editor for the Resource may |
| need to update its display of the execution line number. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype.close): |
| (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameDidChange): |
| (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameSourceCodeLocationChanged): |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorUpdatedFormatting): |
| |
| 2013-03-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Update Display Strings in Breakpoint and CallFrame TreeElements |
| |
| <rdar://problem/11219771> REGRESSION (Safari 6): Can't pretty-print JavaScript |
| |
| If a breakpoint is on a column, show line:column. If the breakpoint is |
| in a formatted view, set the subtitle to the original location. If a |
| call frame is in a formatted source, include the original location in |
| the tooltip. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/SourceCodeLocation.js: |
| (WebInspector.SourceCodeLocation.prototype.originalLocationString): |
| (WebInspector.SourceCodeLocation.prototype.displayLocationString): |
| (WebInspector.SourceCodeLocation.prototype._locationString): |
| Provide generic file:line:column string support. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/BreakpointTreeElement.js: |
| (WebInspector.BreakpointTreeElement.prototype._updateTitles): |
| * UserInterface/CallFrameTreeElement.js: |
| (WebInspector.CallFrameTreeElement): |
| Update strings where appropriate. |
| |
| 2013-03-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Automatically pretty print files that look like they are minified. |
| |
| <rdar://problem/11219771> REGRESSION (Safari 6): Can't pretty-print JavaScript |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate): |
| |
| 2013-03-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Update breakpoint handling for formatted content |
| |
| <rdar://problem/11219771> REGRESSION (Safari 6): Can't pretty-print JavaScript |
| |
| TextEditor and SourceCodeTextEditor both have a map that stores breakpoint |
| information for editor lineNumber and columnNumber. For editors it makes |
| the most sense to keep these maps consistent with the formatted state of |
| the editor. |
| |
| Terminology with this in mind "editor line info" is always the line and |
| column information for the current state of the editor. If the editor |
| is formatted, this is a formatted line and column of the sourceCode. |
| if the editor is not formatted this is the original line and column of |
| the sourceCode. |
| |
| A tricky part here is that with a FormatterSourceMap is that it may map |
| a simple line:0 to a more accurate line:#. For example setting the |
| breakpoint on a pretty printed source code with leading whitespace, the |
| accurate location will not be column 0 but instead be the column # of |
| the first character on that line. When this happens we need to make sure |
| that both the SourceCodeTextEditor and TextEditor have stored the more |
| accurate location in their maps. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype._unformattedLineInfoForEditorLineInfo): |
| Given an editor line info, this gives us the original line info depending on |
| if the text editor is formatted or not. |
| |
| (WebInspector.SourceCodeTextEditor.prototype._editorLineInfoForSourceCodeLocation): |
| Given a SourceCodeLocation this gives us a line info for the text editor depending |
| on if the text editor is formatted or not. SourceCodeLocation already handles this. |
| |
| (WebInspector.SourceCodeTextEditor.prototype._updateBreakpointLocation): |
| When a breakpoint moves, we'll need to update our tables removing the old |
| location and setting the new location. SourceCodeLocation gives us the old |
| and new formatted location which handles if the text editor is formatted or not. |
| |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointRemoved): |
| If the text editor is formatted, be sure to remove a breakpoint with the |
| unformatted, original location because we're dealing with the backend. |
| |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointAdded): |
| When the TextEditor sends a delegate up to the SourceCodeTextEditor about |
| a breakpoint being added, it waits for a response to put into its table. |
| Use this as an opportunity to provide the accurate resolved location. |
| |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointMoved): |
| When the TextEditor sends a delegate up to the SourceCodeTextEditor about |
| a breakpoint being moved, it has already put an entry into its table at |
| line + column 0. We update that entry via updateBreakpointLineAndColumn. |
| |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorFormattingDidChange): |
| After pretty printing the editor's value was completely changed. Some |
| breakpoints may have moved, some might not have. Ignore the DisplayLocation |
| change events when setting the formatter on the SourceCode and update all |
| the breakpoint map locations for ourself and the underlying TextEditor. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.updateBreakpointLineAndColumn): |
| (WebInspector.TextEditor.prototype._gutterMouseDown): |
| Update or set breakpoint info entires with accurante line and column info. |
| |
| 2013-03-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Pretty print and incorporate the formatted location into the SourceCodeLocation display location |
| |
| <rdar://problem/11219771> REGRESSION (Safari 6): Can't pretty-print JavaScript |
| |
| When a SourceCodeTextEditor formats a SourceCode it produces a |
| FormatterSourceMap and sets it on the SourceCode. All SourceCodeLocations |
| associated with that SourceCode can update their display location. |
| If a location is already listening for DisplayLocation change events |
| it will just work (BreakPointTreeElements, CallFrameTreeElements). |
| |
| SourceCodeLocation now has 3 sets of values and a display value: |
| |
| - [public] sourceCode, lineNumber, columnNumber |
| - raw original sourceCode and values |
| - useful for interaction with the backend |
| |
| - [public] formattedLineNumber, formattedColumnNumber |
| - for the original sourceCode |
| - if the sourceCode has a formatter, these are the formatted values |
| - if the sourceCode doesn't have a formatter, these are the same as the raw values |
| - useful for TextEditors that are showing content + gutters for formatted source |
| |
| - [private] mappedResource, mappedLineNumber, mappedColumnNumber |
| - if the sourceCode has a sourceMap, this is the mapped location of the raw |
| values into a SourceMapResource line and column |
| - if the sourceCode doesn't have a sourceMap these are null, NaN, NaN |
| - useful for a display location, since it is the author's original pre-generated source |
| |
| - [public] displayResource, displayLineNumber, displayColumnNumber |
| - if there is a mapped location use that |
| - if there is a formatted location use that |
| - otherwise use the raw original location |
| - useful for anyone who wants to display a location |
| |
| Most users of SourceCodeLocation should only care about the display |
| values and should register for DisplayLocation change events to know |
| when to update. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor): |
| (WebInspector.TextEditor.prototype.get formatterSourceMap): |
| (WebInspector.TextEditor.prototype._prettyPrint): |
| Run the formatter. Update selection. Update search. Notify delegate. |
| |
| * UserInterface/ScriptContentView.js: |
| (WebInspector.ScriptContentView): |
| (WebInspector.ScriptContentView.prototype._textEditorFormattingDidChange): |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView): |
| (WebInspector.TextResourceContentView.prototype._textEditorFormattingDidChange): |
| Update the pretty print button's activated state when formatting changes to match the TextEditor. |
| |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorUpdatedFormatting): |
| The TextEditor changed formatting and updated its FormatterSourceMap. Set |
| the FormatterSourceMap on the SourceCode itself. |
| |
| * UserInterface/SourceCode.js: |
| (WebInspector.SourceCode): |
| (WebInspector.SourceCode.prototype.get formatterSourceMap): |
| (WebInspector.SourceCode.prototype.set formatterSourceMap): |
| A SourceCode may have a formatter source map when the TextEditor for it |
| was pretty printed. Store that on the SourceCode so SourceCodeLocation |
| objects know where to find it, and send an event when it changes. |
| |
| * UserInterface/SourceCodeLocation.js: |
| (WebInspector.SourceCodeLocation.prototype.get formattedLineNumber): |
| (WebInspector.SourceCodeLocation.prototype.get formattedColumnNumber): |
| (WebInspector.SourceCodeLocation.prototype._resolveFormattedLocation): |
| Formatted location when the SourceCode is pretty printed. Original otherwise. |
| |
| (WebInspector.SourceCodeLocation.prototype.get displayLineNumber): |
| (WebInspector.SourceCodeLocation.prototype.get displayColumnNumber): |
| Mapped location, fallback to formatted, fallback to raw original. |
| |
| (WebInspector.SourceCodeLocation.prototype.hasFormattedLocation): |
| (WebInspector.SourceCodeLocation.prototype.hasDifferentDisplayLocation): |
| Helpful accessors for those that might be interested. |
| |
| (WebInspector.SourceCodeLocation.prototype._sourceCodeFormatterDidChange): |
| When the SourceCode's formatter source map changed resolve our re-resolve |
| our locations and fire an event if needed. |
| |
| (WebInspector.SourceCodeLocation.prototype._makeChangeAndDispatchChangeEventIfNeeded): |
| Make the code simpler and handle formatted location changes. |
| |
| 2013-03-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Add a pretty print button to text content views |
| |
| <rdar://problem/11219771> REGRESSION (Safari 6): Can't pretty-print JavaScript |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange): |
| * UserInterface/FrameContentView.js: |
| (WebInspector.FrameContentView.prototype.get navigationItems): |
| Be sure to update navigation items when a FrameContentView changes |
| content views (Source Code and DOM Tree), because the different views |
| might have different navigation items. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/ScriptContentView.js: |
| (WebInspector.ScriptContentView.prototype.get navigationItems): |
| (WebInspector.ScriptContentView.prototype._contentDidPopulate): |
| (WebInspector.ScriptContentView.prototype._togglePrettyPrint): |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView.prototype.get navigationItems): |
| (WebInspector.TextResourceContentView.prototype._contentDidPopulate): |
| (WebInspector.TextResourceContentView.prototype._togglePrettyPrint): |
| Add a pretty print button to Script and TextResource content views. |
| Disabled initially, and enabled when content populates and the |
| TextEditor supports formatting |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor): |
| (WebInspector.TextEditor.prototype.set readOnly): |
| (WebInspector.TextEditor.prototype.get formatted): |
| (WebInspector.TextEditor.prototype.set formatted): |
| (WebInspector.TextEditor.prototype._updateCodeMirrorReadOnly): |
| Currently, mark the editor as readyOnly immediately when it is formatted. |
| This may change in the future. |
| |
| (WebInspector.TextEditor.prototype.hasFormatter): |
| (WebInspector.TextEditor.prototype.canBeFormatted): |
| Accessor for whether the TextEditor can be formatted. |
| |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype.canBeFormatted): |
| Don't allow SourceMapResources to be formatted. This is to simplify |
| later changes a bit. We can do this later in the future if we want. |
| |
| (WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate): |
| Fire an event when content populates. |
| |
| 2013-03-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| FormatterSourceMap to convert between original and formatted locations |
| |
| <rdar://problem/11219771> REGRESSION (Safari 6): Can't pretty-print JavaScript |
| |
| Add FormatterSourceMap class. This is nearly identical to OpenSource's |
| FormatterSourceMapping, which does the same thing. This provides |
| conversions in either direction between an original and formatted line |
| and column number. It requires the original and formatted line endings |
| and a mapping, all data the the ContentBuilder has. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/FormatterSourceMap.js: Added. |
| (WebInspector.FormatterSourceMap): |
| (WebInspector.FormatterSourceMap.fromBuilder): |
| (WebInspector.FormatterSourceMap.prototype.originalToFormatted): |
| (WebInspector.FormatterSourceMap.prototype.formattedToOriginal): |
| (WebInspector.FormatterSourceMap.prototype._locationToPosition): |
| (WebInspector.FormatterSourceMap.prototype._positionToLocation): |
| (WebInspector.FormatterSourceMap.prototype._convertPosition): |
| * UserInterface/Main.html: |
| * UserInterface/Utilities.js: |
| |
| 2013-03-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| CSS Pretty Printer |
| |
| <rdar://problem/11219771> REGRESSION (Safari 6): Can't pretty-print JavaScript |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/CodeMirrorFormatters.js: |
| (CodeMirror["css mode"].shouldHaveSpaceBeforeToken): |
| (CodeMirror["css mode"].shouldHaveSpaceAfterLastToken): |
| (CodeMirror["css mode"].newlinesAfterToken): |
| (CodeMirror["css mode"].removeLastNewline): |
| (CodeMirror["css mode"].indentAfterToken): |
| (CodeMirror["css mode"].newlineBeforeToken): |
| (CodeMirror["css mode"].dedentBeforeToken): |
| (CodeMirror["css mode"].modifyStateForToken): |
| The general goals are: |
| - spaces after ',' in selector lists |
| - spaces after ':' between properties and values |
| - newlines after '{', '}', and ';', with 2 newlines between blocks |
| - newlines after ',' in long selector lists "a,b,..,z {}" |
| - indent after '{' and dedent before '}' |
| |
| 2013-03-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Formatter, ContentBuilder, and JavaScript Pretty Printer |
| |
| <rdar://problem/11219771> REGRESSION (Safari 6): Can't pretty-print JavaScript |
| |
| This patch adds a Formatter driver class, a ContentBuilder class that |
| builds both the formatted string and line ending markers needed for a |
| source mapping, and JavaScript CodeMirror extensions for pretty printing. |
| |
| The Formatter and FormatterContentBuilder classes are not WebInspector |
| prefixed. Their only dependency is CodeMirror and the CodeMirror modes. |
| They are standalone, and could be moved to a Worker if needed. |
| |
| The Formatter class takes a tokenizer (in our case a CodeMirror object) |
| and a builder object. Call format() on a range to tokenize over that |
| range and populate the builder for that range. The Formatter assumes |
| the CodeMirror object has the appropriate pretty printing extensions. |
| |
| The ContentBuilder class manages line endings the resulting string, and |
| all things whitespace related in the output string (such as collapsing |
| whitespace, and indentation). |
| |
| The CodeMirror pretty printing extensions are very primitive. For each |
| token CodeMirror outputs the mode for that token is asked if we should |
| add a space before or after, add newlines before or after, indent or |
| dedent, retroactively remove the last newline, or updating private state. |
| Most of the time whitespace is already required languages, so whitespace |
| only really needs to be added where it is optional and would be prettier. |
| One simple example is "}else{" versus "} else {". The mode doesn't need |
| to worry about collapsing whitespace. It just suggests where whitespace |
| goes and the Formatter + ContentBuilder takes care of the rest. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Formatter.js: Added. |
| (Formatter): |
| (Formatter.prototype.format): |
| A StringStream is considered to be one line. So split the content over |
| the given range into lines, and tokenize over the lines. There are hooks |
| for handling tokens, empty lines, and line endings. |
| |
| (Formatter.prototype._handleToken): |
| Ask the mode how to pretty print the current token. |
| |
| (Formatter.prototype._handleEmptyLine): |
| Preserve newlines in multi-line comments. If this is an empty line in |
| a comment, force the builder to add a new line. |
| |
| (Formatter.prototype._handleLineEnding): |
| Notify the builder that of an original line ending. |
| |
| |
| * UserInterface/FormatterContentBuilder.js: Added. |
| (FormatterContentBuilder): |
| (FormatterContentBuilder.prototype.get originalContent): |
| (FormatterContentBuilder.prototype.get formattedContent): |
| (FormatterContentBuilder.prototype.get mapping): |
| (FormatterContentBuilder.prototype.get originalLineEndings): |
| (FormatterContentBuilder.prototype.get formattedLineEndings): |
| (FormatterContentBuilder.prototype.setOriginalContent): |
| Results of a formatting run. Everything needed for a SourceMap. |
| |
| (FormatterContentBuilder.prototype.appendToken): |
| (FormatterContentBuilder.prototype.appendSpace): |
| (FormatterContentBuilder.prototype.appendNewline): |
| (FormatterContentBuilder.prototype.removeLastNewline): |
| (FormatterContentBuilder.prototype.indent): |
| (FormatterContentBuilder.prototype.dedent): |
| (FormatterContentBuilder.prototype.addOriginalLineEnding): |
| (FormatterContentBuilder.prototype.finish): |
| Public interface is simple. |
| |
| (FormatterContentBuilder.prototype._popNewLine): |
| (FormatterContentBuilder.prototype._append): |
| Handle growing / shrinking the content + content length at the same time. |
| |
| (FormatterContentBuilder.prototype._appendIndent): |
| Indentation is stored in a cache to avoid recomputing often. However, |
| the cache stops at 20, if there is an indentation greater than 20 we |
| compose it in chunks. |
| |
| (FormatterContentBuilder.prototype._addMappingIfNeeded): |
| Add a mapping for each token originalPosition and formattedPosition. |
| |
| (FormatterContentBuilder.prototype._addFormattedLineEnding): |
| Keep track of formatted content line endings. |
| |
| * UserInterface/CodeMirrorFormatters.js: Added. |
| (CodeMirror["javascript mode"].shouldHaveSpaceBeforeToken): |
| (CodeMirror["javascript mode"].shouldHaveSpaceAfterLastToken): |
| (CodeMirror["javascript mode"].newlinesAfterToken): |
| (CodeMirror["javascript mode"].removeLastNewline): |
| (CodeMirror["javascript mode"].indentAfterToken): |
| (CodeMirror["javascript mode"].newlineBeforeToken): |
| (CodeMirror["javascript mode"].dedentBeforeToken): |
| The general goal with these hooks are: |
| - spaces before and after most operators (not unary) |
| - spaces around keywords |
| - newlines after '{', '}', and ';' |
| - newlines after ',' when inside an object context |
| - indent after '{' and dedent before '}' |
| |
| * UserInterface/Main.html: |
| Add new files. |
| |
| 2013-03-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13331470> REGRESSION: Inspector debugger continue button is a pause icon when it should be an arrow |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ButtonNavigationItem.js: |
| (WebInspector.ButtonNavigationItem.prototype.set image): |
| This was appending a new child image element each time instead of |
| replacing the existing image. Remove the old children on changes. |
| |
| 2013-03-04 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13331811> Web Inspector: remove existing LayerTreeAgent protocol APIs (111251) |
| |
| Deactivate the layer tree sidebar panel until the new API |
| lands in WebCore and we can update the Internal code to use |
| this API. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/LayerTreeManager.js: |
| (WebInspector.LayerTreeManager): |
| * UserInterface/LayerTreeObserver.js: |
| (WebInspector.LayerTreeObserver.prototype.layerTreeDidChange): |
| * UserInterface/LayerTreeSidebarPanel.js: |
| (WebInspector.LayerTreeSidebarPanel.prototype.supportsDOMNode): |
| |
| 2013-03-01 Timothy Hatcher <timothy@apple.com> |
| |
| Update the Style details sidebar when when pseudo classes are forced or media queries change. |
| |
| <rdar://problem/13328298> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleManager.js: |
| (WebInspector.CSSStyleManager.prototype.mediaQueryResultChanged): Call mediaQueryResultDidChange on each DOMNodeStyles. |
| Removed the event since it wasn't used anymore. |
| * UserInterface/DOMNode.js: |
| (WebInspector.DOMNode.prototype.setPseudoClassEnabled): Fire the event after the agent actually does the change. |
| (WebInspector.DOMNode.prototype.setPseudoClassEnabled.changed): Added. |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles): Added listener for EnabledPseudoClassesChanged. |
| (WebInspector.DOMNodeStyles.prototype.mediaQueryResultDidChange): Added. Call _markAsNeedsRefresh. |
| (WebInspector.DOMNodeStyles.prototype._markAsNeedsRefresh): Added. |
| (WebInspector.DOMNodeStyles.prototype._pseudoClassesDidChange): Added. Call _markAsNeedsRefresh. |
| (WebInspector.DOMNodeStyles.prototype._attributesDidChange): Use _markAsNeedsRefresh. |
| (WebInspector.DOMNodeStyles.prototype._styleSheetContentDidChange.checkRules): Ditto. |
| (WebInspector.DOMNodeStyles.prototype._styleSheetContentDidChange): Ditto. |
| |
| 2013-03-01 Timothy Hatcher <timothy@apple.com> |
| |
| Changes are committed to frequently since updating to CodeMirror 3.1. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._contentChanged): The origin for user input |
| changed from "input" to "+input". And there is now "+delete". Internally CodeMirror just looks for |
| the "+" prefix to decide if the change should coalesce in undo history. We should do the same. |
| |
| 2013-03-01 Timothy Hatcher <timothy@apple.com> |
| |
| Fix style editing after an Inspector protocol change for how SourceRange is sent. |
| |
| <rdar://problem/13324015> Style editing in the new Style details sidebar is broken after r144434 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSProperty.js: |
| (WebInspector.CSSProperty): Removed startStyleSheetTextPosition and endStyleSheetTextPosition. |
| Added styleSheetTextRange and styleDeclarationTextRange. |
| (WebInspector.CSSProperty.prototype.update): Ditto. Delete _styleDeclarationTextRange if it isn't |
| given so it can be recomputed. |
| (WebInspector.CSSProperty.prototype.get styleSheetTextRange): Added. |
| (WebInspector.CSSProperty.prototype.get styleDeclarationTextRange): Added. Compute if missing. |
| * UserInterface/CSSStyleDeclaration.js: |
| (WebInspector.CSSStyleDeclaration): Removed startStyleSheetTextPosition and endStyleSheetTextPosition. |
| Added styleSheetTextRange. |
| (WebInspector.CSSStyleDeclaration.prototype.update): Ditto. |
| (WebInspector.CSSStyleDeclaration.prototype.get visibleProperties): Look for styleDeclarationTextRange. |
| (WebInspector.CSSStyleDeclaration.prototype.get styleSheetTextRange): Added. |
| * UserInterface/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): Don't add |
| checkboxes for properties if the editor is read-only. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers): Use styleDeclarationTextRange. |
| Don't add checkboxes for comments if the editor is read-only. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent): Use styleSheetTextRange. |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype.changeStyleText): Use styleSheetTextRange. |
| (WebInspector.DOMNodeStyles.prototype.changeStyleText.fetchedStyleSheetContent): Use styleSheetTextRange. |
| (WebInspector.DOMNodeStyles.prototype._handlePropertyChange): Update comment. |
| (WebInspector.DOMNodeStyles.prototype._parseSourceRangePayload): Added. Helper. |
| (WebInspector.DOMNodeStyles.prototype._parseStylePropertyPayload): Use _parseSourceRangePayload. |
| (WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload): Ditto. |
| * UserInterface/TextRange.js: |
| (WebInspector.TextRange): Allow 4 or 2 argument construction. One for lines and columns, the other for offsets. |
| (WebInspector.TextRange.prototype.get startLine): Added. |
| (WebInspector.TextRange.prototype.get startColumn): Added. |
| (WebInspector.TextRange.prototype.get endLine): Added. |
| (WebInspector.TextRange.prototype.get endColumn): Added. |
| (WebInspector.TextRange.prototype.get startOffset): Added. |
| (WebInspector.TextRange.prototype.get endOffset): Added. |
| (WebInspector.TextRange.prototype.resolveLinesAndColumns): Added. |
| (WebInspector.TextRange.prototype.resolveLinesAndColumns.countNewLineCharacters): Added. |
| (WebInspector.TextRange.prototype.resolveOffsets): Added. |
| |
| 2013-02-28 Timothy Hatcher <timothy@apple.com> |
| |
| Switch from post-processing for the style pretty printer to fully synthesized content. |
| |
| Inserting a newline between the semicolon and the next property was causing the newline |
| to be inserted between the next property and its checkbox. This is controllable via the |
| insertLeft option on bookmarks in CodeMirror; however, that causes typed text to go on |
| the left of the checkbox. |
| |
| Switching to the synthesized code path is cleaner and simpler. |
| |
| <rdar://problem/13314682> Styles on Twitter.com have checkboxes at the end of the property |
| instead of beginning |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent): Renamed lineCount() |
| to countNewLineCharacters() since it conflicts with the lineCount variable. |
| |
| 2013-02-28 Timothy Hatcher <timothy@apple.com> |
| |
| Don't disable property checkboxes after click to prevent a subtle flash. |
| |
| <rdar://problem/13306506> CSS rule box flashes checkboxes and crossed-out text during editing |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertyCheckboxChanged): Don't set disabled. |
| Remove assert for range since it might have been removed already. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertyCommentCheckboxChanged): Ditto. |
| |
| 2013-02-28 Timothy Hatcher <timothy@apple.com> |
| |
| Use CodeMirror 3.1's new getAllMarks() instead of tracking them ourselves. |
| |
| Also fix an assert that would fire if we reused a text marker that was removed. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor): Remove _textMarkers. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers): Stop using _textMarkers. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): Ditto. |
| Also only reuse a marker if it is still in the document. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches): Stop using _textMarkers. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers): Ditto. |
| |
| 2013-02-27 Timothy Hatcher <timothy@apple.com> |
| |
| Remove a flash of the color swatch when toggling a property. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches): Add lineNumber |
| parameter to update only that line. Also skip colors that are already marked. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertyCheckboxChanged): Call _createColorSwatches. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertyCommentCheckboxChanged): Ditto. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked): Set __markedColor |
| to true so we know it is a color. Remove an unused class name. |
| |
| 2013-02-27 Timothy Hatcher <timothy@apple.com> |
| |
| Pretty print the style text if there are more properties than there are lines. |
| |
| There are a few style rules on apple.com that are multiple lines with 5-10 |
| properties per line. These were avoiding the pretty printing because the line |
| count was greater than one. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDeclaration.js: |
| (WebInspector.CSSStyleDeclaration.prototype.update): Clear _visibleProperties. |
| (WebInspector.CSSStyleDeclaration.prototype.get visibleProperties): Added. |
| * UserInterface/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._iterateOverProperties): Add an |
| option to only iterate over the visible properties. Also pass along if this is the last |
| property to the callback. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers): Pass true to |
| _iterateOverProperties. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent): Pretty print if the |
| visible property count is greater than the line count. |
| |
| 2013-02-27 Timothy Hatcher <timothy@apple.com> |
| |
| Fix the text selection color in the style |
| |
| This is fallout from upgrading to CodeMirror 3.1. |
| |
| <rdar://problem/13307885> REGRESSION: Selection color in CodeMirror editors is always showing as gray unfocused |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDeclarationTextEditor.css: |
| (.css-style-text-editor > .CodeMirror.CodeMirror-focused .CodeMirror-selected): Fixed the selector |
| to look for CodeMirror-focused on the .CodeMirror element. |
| * UserInterface/TextEditor.css: |
| (.text-editor > .CodeMirror.CodeMirror-focused .CodeMirror-selected): Ditto. |
| |
| 2013-02-27 Timothy Hatcher <timothy@apple.com> |
| |
| Don't do a full refresh of the Style details sidebar unless the included style declarations |
| actually did change. |
| |
| Firing the DOMNodeStyles refreshed event cause the DOM to be rebuilt and that interrupts typing |
| and causes the checkboxes to flash. |
| |
| <rdar://problem/13306506> CSS rule box flashes checkboxes and crossed-out text during editing |
| <rdar://problem/13306813> Typing very fast drops characters when editing in the Style details sidebar |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype.refresh): Removed dontFireRefreshedEvent parameter. We now |
| smartly detect if the event needs to fire. |
| (WebInspector.DOMNodeStyles.prototype.refresh.fetchedMatchedStyles): Remove dontFireRefreshedEvent. |
| (WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle): Iterate over the styles and |
| check if any were added or removed from the last refresh. |
| (WebInspector.DOMNodeStyles.prototype.attributeChanged): Stop passing true to refresh(). |
| (WebInspector.DOMNodeStyles.prototype._handlePropertyChange): Ditto. |
| |
| 2013-02-27 Timothy Hatcher <timothy@apple.com> |
| |
| WebInspector.CSSProperty.Event.OverriddenStatusChanged is firing too much. |
| |
| In the workaround that landed in r48890, we delayed the fetch for inline and computed styles. |
| This caused the OverriddenStatusChanged event to fire because the coalesce delay timed out |
| while waiting for the inline style to come over the wire. |
| |
| Now we fetch them immediately again and if matched styles fails we make the inline and computed |
| style callbacks bail before parsing their results. Failing is an edge case that might be fixed |
| on the backend soon, so throwing the results away isn't that expensive. This also improves |
| refresh performance in the common case. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype.refresh): Initialize matchedStylesFailed to false. |
| (WebInspector.DOMNodeStyles.prototype.fetchedMatchedStyles): Set matchedStylesFailed. |
| (WebInspector.DOMNodeStyles.prototype.fetchedInlineStyles): Return early if matchedStylesFailed. |
| (WebInspector.DOMNodeStyles.prototype.fetchedComputedStyle): Ditto. |
| |
| 2013-02-27 Timothy Hatcher <timothy@apple.com> |
| |
| Properties are not updated when overridden status changes. |
| |
| This is fallout from upgrading to CodeMirror 3.1. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): |
| The cm property moved to the new doc property of TextMarker. |
| |
| 2013-02-27 Timothy Hatcher <timothy@apple.com> |
| |
| Pretty print the style text if there are multiple properties on only one line. |
| |
| This helps cases like apple.com and nytimes.com where minified or single line |
| rules are the norm. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent): Loop over |
| the properties that have markers and add newlines after them. |
| |
| 2013-02-27 Timothy Hatcher <timothy@apple.com> |
| |
| Make color swatches show up for user agent styles, and other styles that don't have text. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._contentChanged): Return early if the style isn't |
| editable. This still can be called when readOnly is set because clicking on a color swatch modifies the text. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers): Broke color matching out into |
| _createColorSwatches. Added nonatomic support to avoid nesting operations. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches): Added. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent): Call _createColorSwatches in synthesized |
| case when there isn't style text. |
| |
| 2013-02-27 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13218172> Make hover state for dashboard icons more pronounced |
| |
| Add a thin border around dashboard items on hover and make it slightly |
| more pronounced when the item is also being clicked. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DashboardView.css: |
| (.dashboard > .item): |
| (.dashboard > .item.enabled:hover): |
| (.dashboard > .item.enabled:active): |
| (.toolbar.normal-size.icon-and-label-horizontal > .item-section > .dashboard > .item): |
| (.toolbar.small-size.icon-and-label-vertical > .item-section > .dashboard > .item): |
| (.toolbar.small-size.icon-and-label-vertical > .item-section > .dashboard > .resources): |
| (.toolbar.small-size.icon-and-label-vertical > .item-section > .dashboard > .time): |
| (.toolbar.small-size.icon-and-label-vertical > .item-section > .dashboard > .logs): |
| (.toolbar.small-size.icon-and-label-vertical > .item-section > .dashboard > .memory): |
| (.toolbar.small-size.icon-and-label-vertical > .item-section > .dashboard > .errors): |
| (.toolbar.small-size.icon-and-label-vertical > .item-section > .dashboard > .issues): |
| (.toolbar.normal-size.icon-and-label-vertical > .item-section > .dashboard > .item): |
| (.toolbar.normal-size.icon-and-label-vertical > .item-section > .dashboard > .resources): |
| (.toolbar.normal-size.icon-and-label-vertical > .item-section > .dashboard > .time): |
| (.toolbar.normal-size.icon-and-label-vertical > .item-section > .dashboard > .logs): |
| (.toolbar.normal-size.icon-and-label-vertical > .item-section > .dashboard > .memory): |
| (.toolbar.normal-size.icon-and-label-vertical > .item-section > .dashboard > .errors): |
| (.toolbar.normal-size.icon-and-label-vertical > .item-section > .dashboard > .issues): |
| |
| 2013-02-27 Timothy Hatcher <timothy@apple.com> |
| |
| Update CodeMirror from 3.0.2 to 3.1. |
| |
| Rubber-stamped by Jeff Miller. |
| |
| * UserInterface/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.get focused): Use the wrapper |
| element since the classname moved from the scroller element. |
| * UserInterface/External/CodeMirror/codemirror.css: Updated. |
| * UserInterface/External/CodeMirror/codemirror.js: Updated. |
| * UserInterface/External/CodeMirror/htmlmixed.js: Updated. |
| * UserInterface/External/CodeMirror/javascript.js: Updated. |
| * UserInterface/External/CodeMirror/matchbrackets.js: Updated. |
| * UserInterface/External/CodeMirror/searchcursor.js: Updated. |
| |
| 2013-02-26 Timothy Hatcher <timothy@apple.com> |
| |
| Add support to CodeMirror for incrementing and decrementing numbers. |
| |
| The key binding are: |
| * Option-Up: +1 |
| * Shift-Option-Up: +10 |
| * Option-PageUp: +10 |
| * Shift-Option-PageUp: +100 |
| * Option-Down: -1 |
| * Shift-Option-Down: -10 |
| * Option-PageDown: -10 |
| * Shift-Alt-PageDown: -100 |
| |
| When altering by 1 or -1 any numbers between 1 and -1 will be altered |
| by 0.1 or -0.1 instead. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CodeMirrorAdditions.js: |
| (alterNumber): Added. Hooked up via the default key map that extends the |
| Mac keybindings. This means all instances of CodeMirror get this support. |
| |
| 2013-02-26 Timothy Hatcher <timothy@apple.com> |
| |
| Add color swatches next to color strings. |
| |
| <rdar://problem/7206272> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/CSSStyleDeclarationTextEditor.css: |
| (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch): Added. |
| (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch > span): Added. |
| (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch:hover > span): Added. |
| (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch:active > span): Added. |
| * UserInterface/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers): Search for colors |
| and add swatches next to them. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked): Added. Replace the |
| text with the next color format. |
| * UserInterface/Color.js: |
| (WebInspector.Color.prototype.nextFormat): Added. Helper to pick the next format. |
| |
| 2013-02-26 Timothy Hatcher <timothy@apple.com> |
| |
| Add checkboxes next to property names and commented out properties. |
| |
| Unchecking will comment out the property and checking the box next to a property comment |
| will uncomment it and make it live again. |
| |
| <rdar://problem/7206272> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDeclarationTextEditor.css: |
| (.css-style-text-editor.read-only > .CodeMirror pre): Added. Indent the text the same amount |
| as if there were checkboxes. |
| (.css-style-text-editor > .CodeMirror .CodeMirror-lines input[type=checkbox]): Added. |
| (.css-style-text-editor:hover > .CodeMirror .CodeMirror-lines input[type=checkbox]): Added. |
| * UserInterface/CSSStyleDeclarationTextEditor.js: |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers): Look for comments |
| that look like properties and add checkboxes in front of them. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): |
| Create checkbox marker for properties or update the existing one. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._clearTextMarkers): Delete __checkboxMarker. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertyCheckboxChanged): Added. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertyCommentCheckboxChanged): Added. |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent): Set the read-only style class |
| so the text of read-only styles is indented the same amount as if there were checkboxes. |
| |
| 2013-02-25 Timothy Hatcher <timothy@apple.com> |
| |
| Implement the Rules details style panel. |
| |
| <rdar://problem/7206272&12526319> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| |
| * UserInterface/CSSStyleDeclarationSection.css: Added. |
| (.style-declaration-section): |
| (.style-declaration-section + .style-declaration-section): |
| (.style-declaration-section.last-in-group): |
| (.style-declaration-section.last-in-group + .style-declaration-section): |
| (.style-declaration-section.last-in-group + .style-declaration-section:last-child): |
| (.style-declaration-section:last-child): |
| (.style-declaration-section > .header): |
| (.style-declaration-section > .header > .icon): |
| (.style-declaration-section > .header > .selector): |
| (.style-declaration-section > .header > .selector:focus): |
| (.style-declaration-section.selector-locked > .header > .selector): |
| (.style-declaration-section.locked > .header::after): |
| (.style-declaration-section > .header > .selector > .matched): |
| (.style-declaration-section > .header > .origin): |
| (.style-declaration-section > .header > .origin > .go-to-link): |
| |
| * UserInterface/CSSStyleDeclarationSection.js: Added. |
| (WebInspector.CSSStyleDeclarationSection): |
| (WebInspector.CSSStyleDeclarationSection.prototype.get element): |
| (WebInspector.CSSStyleDeclarationSection.prototype.get style): |
| (WebInspector.CSSStyleDeclarationSection.prototype.get lastInGroup): |
| (WebInspector.CSSStyleDeclarationSection.prototype.set lastInGroup): |
| (WebInspector.CSSStyleDeclarationSection.prototype.get focused): |
| (WebInspector.CSSStyleDeclarationSection.prototype.focus): |
| (WebInspector.CSSStyleDeclarationSection.prototype.refresh.appendSelector): |
| (WebInspector.CSSStyleDeclarationSection.prototype.refresh): |
| (WebInspector.CSSStyleDeclarationSection.prototype.updateLayout): |
| (WebInspector.CSSStyleDeclarationSection.prototype._commitSelector): |
| |
| * UserInterface/Images/StyleRuleAuthor.pdf: Added. |
| * UserInterface/Images/StyleRuleInherited.pdf: Added. |
| * UserInterface/Images/StyleRuleInheritedElement.pdf: Added. |
| * UserInterface/Images/StyleRuleInspector.pdf: Added. |
| * UserInterface/Images/StyleRuleUser.pdf: Added. |
| * UserInterface/Images/StyleRuleUserAgent.pdf: Added. |
| |
| * UserInterface/Main.html: Included new files. |
| |
| * UserInterface/RulesStyleDetailsPanel.css: Added. |
| (.sidebar > .panel.details.css-style .rules .inherited-label): |
| (.sidebar > .panel.details.css-style .rules .inherited-label + .style-declaration-section): |
| |
| * UserInterface/RulesStyleDetailsPanel.js: |
| (WebInspector.RulesStyleDetailsPanel): |
| (WebInspector.RulesStyleDetailsPanel.prototype.refresh.appendStyleSection): |
| (WebInspector.RulesStyleDetailsPanel.prototype.refresh): |
| (WebInspector.RulesStyleDetailsPanel.prototype.shown): |
| (WebInspector.RulesStyleDetailsPanel.prototype.hidden): |
| (WebInspector.RulesStyleDetailsPanel.prototype.widthDidChange): |
| |
| * UserInterface/StyleRuleIcons.css: Added. |
| (.author-style-rule-icon .icon): |
| (.user-style-rule-icon .icon): |
| (.user-agent-style-rule-icon .icon): |
| (.inspector-style-rule-icon .icon): |
| (.inherited-style-rule-icon .icon): |
| (.inherited-element-style-rule-icon .icon): |
| |
| 2013-02-25 Timothy Hatcher <timothy@apple.com> |
| |
| Implement the Computed details style panel. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/ComputedStyleDetailsPanel.js: |
| (WebInspector.ComputedStyleDetailsPanel): |
| (WebInspector.ComputedStyleDetailsPanel.prototype.refresh): |
| (WebInspector.ComputedStyleDetailsPanel.prototype.shown): |
| (WebInspector.ComputedStyleDetailsPanel.prototype.widthDidChange): |
| (WebInspector.ComputedStyleDetailsPanel.prototype._computedStyleShowAllCheckboxValueChanged): |
| |
| 2013-02-25 Timothy Hatcher <timothy@apple.com> |
| |
| Add CSSStyleDeclarationTextEditor. |
| |
| This class implements a rich text editor for style text. It will reflect the assigned CSSStyleDeclaration. |
| Edits will be applied to the page and property parse errors or overridden status will be highlighted. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDeclarationTextEditor.css: Added. |
| (.css-style-text-editor): |
| (.css-style-text-editor > .CodeMirror): |
| (.css-style-text-editor > .CodeMirror *): |
| (.css-style-text-editor > .CodeMirror-scroll): |
| (.css-style-text-editor > .CodeMirror .CodeMirror-lines): |
| (.css-style-text-editor > .CodeMirror pre): |
| (.css-style-text-editor > .CodeMirror .CodeMirror-selected): |
| (.css-style-text-editor > .CodeMirror .CodeMirror-focused .CodeMirror-selected): |
| (.css-style-text-editor > .CodeMirror .CodeMirror-cursor): |
| (.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property.overridden): |
| (.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property.invalid): |
| (.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property.not-inherited): |
| * UserInterface/CSSStyleDeclarationTextEditor.js: Added. |
| (WebInspector.CSSStyleDeclarationTextEditor): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.get element): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.get delegate): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.set delegate): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.get style): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.set style): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.get focused): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.get alwaysShowPropertyNames): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.set alwaysShowPropertyNames): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.get showsImplicitProperties): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.set showsImplicitProperties): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.get sortProperties): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.set sortProperties): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.focus): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.refresh): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.updateLayout): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.shown): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype.hidden): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._formatedContent): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._commitChanges): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._contentChanged): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkerForPropertyIfNeeded): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._clearTextMarkers): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._iterateOverProperties.sortProperty): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._iterateOverProperties): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertyOverriddenStatusChanged): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertiesChanged): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._styleOffsetToCodeMirrorPosition): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update.else.lineCount): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update): |
| (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent): |
| * UserInterface/CodeMirrorAdditions.js: |
| * UserInterface/Main.html: |
| |
| 2013-02-25 Timothy Hatcher <timothy@apple.com> |
| |
| Implement the Metrics details style panel. |
| |
| Converts BoxModelDetailsSectionRow to use the new CSS model. Removes code needed to |
| work with the old CSS model. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/BoxModelDetailsSectionRow.js: |
| (WebInspector.BoxModelDetailsSectionRow): |
| (WebInspector.BoxModelDetailsSectionRow.prototype.get nodeStyles): |
| (WebInspector.BoxModelDetailsSectionRow.prototype.set nodeStyles): |
| (WebInspector.BoxModelDetailsSectionRow.prototype._refresh): |
| (WebInspector.BoxModelDetailsSectionRow.prototype._getPropertyValueAsPx): |
| (WebInspector.BoxModelDetailsSectionRow.prototype._highlightDOMNode): |
| (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics.createBoxPartElement): |
| (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics.createContentAreaWidthElement): |
| (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics.createContentAreaHeightElement): |
| (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics): |
| (WebInspector.BoxModelDetailsSectionRow.prototype._startEditing): |
| (WebInspector.BoxModelDetailsSectionRow.prototype._alteredFloatNumber): Added. Copied from the now |
| removed CSSPropertyPrompt class. |
| (WebInspector.BoxModelDetailsSectionRow.prototype._handleKeyDown): |
| (WebInspector.BoxModelDetailsSectionRow.prototype._editingCancelled): |
| (WebInspector.BoxModelDetailsSectionRow.prototype._applyUserInput): |
| * UserInterface/MetricsStyleDetailsPanel.js: |
| (WebInspector.MetricsStyleDetailsPanel): |
| (WebInspector.MetricsStyleDetailsPanel.prototype.refresh): |
| |
| 2013-02-25 Timothy Hatcher <timothy@apple.com> |
| |
| Remember the scroll position when refreshing the style detail panels. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/StyleDetailsPanel.js: |
| (WebInspector.StyleDetailsPanel.prototype.refreshIfNeeded): Call _refreshPreservingScrollPosition |
| instead refresh. |
| (WebInspector.StyleDetailsPanel.prototype._refreshPreservingScrollPosition): Added. Only remember the |
| scroll position if the previous node is the same as this one. |
| (WebInspector.StyleDetailsPanel.prototype._nodeStylesRefreshed): Call _refreshPreservingScrollPosition |
| instead refresh. |
| |
| 2013-02-25 Timothy Hatcher <timothy@apple.com> |
| |
| Tell SidebarPanel and StyleDetailsPanel when the width of the Sidebar changes. |
| |
| This will be needed to update CodeMirror on the size change. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.visibilityDidChange): Added. Tell the selected |
| panel to refresh if needed. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.widthDidChange): Added. Tell the selected panel |
| that the width changed. |
| * UserInterface/Sidebar.js: |
| (WebInspector.Sidebar.prototype.set width): Call widthDidChange on the sidebar panel. |
| (WebInspector.Sidebar.prototype.set collapsed): Ditto. |
| * UserInterface/SidebarPanel.js: |
| (WebInspector.SidebarPanel.prototype.widthDidChange): Added stub. |
| * UserInterface/StyleDetailsPanel.js: |
| (WebInspector.StyleDetailsPanel.prototype.widthDidChange): Added stub. |
| |
| 2013-02-21 Timothy Hatcher <timothy@apple.com> |
| |
| Add start implementation for each of the three Style detail panels. |
| |
| <rdar://problem/7206272&12526319> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/CSSStyleDetailsSidebarPanel.css: |
| (.sidebar > .panel.details.css-style): |
| (.sidebar > .panel.details.css-style > .navigation-bar): |
| (.sidebar > .panel.details.css-style > .content): |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._navigationItemSelected): |
| * UserInterface/ComputedStyleDetailsPanel.js: Added. |
| (WebInspector.ComputedStyleDetailsPanel): |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype.get needsRefresh): Added. |
| * UserInterface/Main.html: |
| * UserInterface/Main.js: |
| (WebInspector._updateStickyPostionStyles): |
| * UserInterface/MetricsStyleDetailsPanel.js: Added. |
| (WebInspector.MetricsStyleDetailsPanel): |
| * UserInterface/RulesStyleDetailsPanel.js: Added. |
| (WebInspector.RulesStyleDetailsPanel): |
| * UserInterface/StyleDetailsPanel.js: Added. |
| (WebInspector.StyleDetailsPanel): |
| (WebInspector.StyleDetailsPanel.prototype.get element): |
| (WebInspector.StyleDetailsPanel.prototype.get navigationItem): |
| (WebInspector.StyleDetailsPanel.prototype.get nodeStyles): |
| (WebInspector.StyleDetailsPanel.prototype.shown): |
| (WebInspector.StyleDetailsPanel.prototype.hidden): |
| (WebInspector.StyleDetailsPanel.prototype.markAsNeedsRefresh): |
| (WebInspector.StyleDetailsPanel.prototype.refreshIfNeeded): |
| (WebInspector.StyleDetailsPanel.prototype.refresh): |
| (WebInspector.StyleDetailsPanel.prototype._nodeStylesRefreshed): |
| (WebInspector.StyleDetailsPanel.prototype._nodeStylesNeedsRefreshed): |
| |
| 2013-02-21 Timothy Hatcher <timothy@apple.com> |
| |
| Add start of new implementation of CSSStyleDetailsSidebarPanel. |
| |
| <rdar://problem/7206272&12526319> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.css: Added. |
| (.sidebar > .panel.details.css-style): Added. Empty for now. |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: Added. |
| (WebInspector.CSSStyleDetailsSidebarPanel): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.supportsDOMNode): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh): |
| * UserInterface/Images/NavigationItemBrushAndRuler.pdf: Added. |
| |
| 2013-02-21 Timothy Hatcher <timothy@apple.com> |
| |
| Remove CSSStyleDetailsSidebarPanel and friends in preparation for a new implementation. |
| |
| <rdar://problem/7206272&12526319> |
| |
| Rubber-stamped by Joseph Pecoraro. |
| |
| * UserInterface/CSSPropertyPrompt.js: Removed. |
| * UserInterface/CSSStyleDetailsSidebarPanel.css: Removed. |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: Removed. |
| * UserInterface/ComputedStylePropertiesSection.js: Removed. |
| * UserInterface/Main.html: Removed files except CSSStyleDetailsSidebarPanel.{js,css}. |
| * UserInterface/OldCSSMedia.js: Removed. |
| * UserInterface/OldCSSProperty.js: Removed. |
| * UserInterface/OldCSSRule.js: Removed. |
| * UserInterface/OldCSSStyleDeclaration.js: Removed. |
| * UserInterface/StylePropertiesSection.js: Removed. |
| * UserInterface/StylePropertyTreeElement.js: Removed. |
| |
| 2013-02-21 Timothy Hatcher <timothy@apple.com> |
| |
| Remove AppearanceDetailsSidebarPanel in preparation for it being merged with Style details. |
| |
| <rdar://problem/7206272&12526319> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/AppearanceDetailsSidebarPanel.js: Removed. |
| * UserInterface/Main.html: Removed AppearanceDetailsSidebarPanel.js. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Removed AppearanceDetailsSidebarPanel. |
| |
| 2013-02-21 Timothy Hatcher <timothy@apple.com> |
| |
| Add support for text only navigation buttons. |
| |
| This will be used by the navigation bar in the new Styles sidebar. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ButtonNavigationItem.css: |
| (.navigation-bar .item.button.text-only): Added. |
| (.navigation-bar .item.button:not(.disabled):not(.radio):not(.suppress-bezel):active): |
| Use -webkit-calc in the background-position to work with variable widths. |
| * UserInterface/ButtonNavigationItem.js: |
| (WebInspector.ButtonNavigationItem): |
| (WebInspector.ButtonNavigationItem.prototype.get label): |
| (WebInspector.ButtonNavigationItem.prototype.set label): |
| (WebInspector.ButtonNavigationItem.prototype.set image): |
| * UserInterface/RadioButtonNavigationItem.css: |
| (.navigation-bar .item.radio.button:not(.text-only)): Added :not(.text-only) to allow |
| variable based on text length. |
| (.navigation-bar.collapsed .item.radio.button:not(.text-only)): Ditto. |
| (.navigation-bar .item.radio.button.selected): Use -webkit-calc in the background-position |
| to work with variable widths. |
| |
| 2013-02-25 Timothy Hatcher <timothy@apple.com> |
| |
| Don't try to commit changes before we have new text positions. |
| |
| We need to keep the startStyleSheetTextPosition and endStyleSheetTextPosition up-to-date. |
| If we don't have the correct positions then we can corrupt the stylesheet the next time |
| the user makes an edit. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles): Initialize _stylesNeedingTextCommited to []. |
| (WebInspector.DOMNodeStyles.prototype.refresh): Call changeStyleText for the next style |
| object that needs changed. |
| (WebInspector.DOMNodeStyles.prototype.changeRuleSelector): Set _needsRefresh to true. |
| (WebInspector.DOMNodeStyles.prototype.changeStyleText): If we need a refresh then it is not safe |
| to make the edits now. Store the text and remember the style so we can commit it after the next refresh. |
| (WebInspector.DOMNodeStyles.prototype.changePropertyText): Set _needsRefresh to true. |
| (WebInspector.DOMNodeStyles.prototype._handlePropertyChange): Call refresh to get updated positions and |
| computed style info. |
| |
| 2013-02-25 Timothy Hatcher <timothy@apple.com> |
| |
| Always try to update the resource when a stylesheet changes. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleManager.js: |
| (WebInspector.CSSStyleManager.prototype.styleSheetChanged): Always call _updateResourceContent. This |
| was preventing resource updates when the stylesheet changed because of a sidebar text edit. Checking the result |
| of noteContentDidChange was to prevent updating the resource content if the change originated from a resource edit. |
| However, we will soon allow text edits from the sidebar and the check was preventing resources from being updated. |
| The new check in the content setter of SourceCodeRevision prevents updating resources when they haven't changed. |
| * UserInterface/SourceCodeRevision.js: |
| (WebInspector.SourceCodeRevision.prototype.set content): Return early if the content is the same. |
| |
| 2013-02-25 Timothy Hatcher <timothy@apple.com> |
| |
| Fix typo that was preventing refresh of DOMNodeStyles. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype._styleSheetContentDidChange): The property is ownerStyleSheet, not parentStyleSheet. |
| |
| 2013-02-25 Timothy Hatcher <timothy@apple.com> |
| |
| Workaround a bug where matched rules is empty for stylesheets with imported stylesheets. |
| |
| If matched rules is empty (rare because of user agent stylesheet rules) then WebCore might |
| be waiting for an @import rule to load. Check again after a delay until we get some results or timeout. |
| We shouldn't need to poll like this, https://webkit.org/b/110750 tracks this problem. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype.refresh): Removed map clearing and call to CSSAgent.getInlineStylesForNode |
| and CSSAgent.getComputedStyleForNode. We only want to fetch those if fetchedMatchedStyles succeeds. |
| (WebInspector.DOMNodeStyles.prototype.refresh.fetchedMatchedStyles): Schedule another refresh attempt and |
| return early if the match is empty. Moved the map clearing here after the early return. Call CSSAgent.getInlineStylesForNode. |
| (WebInspector.DOMNodeStyles.prototype.refresh.fetchedInlineStyles): Call CSSAgent.getComputedStyleForNode. |
| |
| 2013-02-25 Timothy Hatcher <timothy@apple.com> |
| |
| Don't reuse a pending property if it is already used. |
| |
| This was happening when parsing an edit that had multiple properties with the same name. |
| The last property to be parsed was picking the same pending property and preventing |
| all properties from being represented with the right value, etc. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype._parseStylePropertyPayload): Only pick a pending property |
| if the index is NaN. |
| |
| 2013-02-25 Timothy Hatcher <timothy@apple.com> |
| |
| Prevent firing change events in more places when nothing has changed. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDeclaration.js: |
| (WebInspector.CSSStyleDeclaration.prototype.update.delayed): Don't fire the event if there is text and it hasn't changed. |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle): Only fire Refreshed if !dontFireRefreshedEvent. |
| (WebInspector.DOMNodeStyles.prototype.changeStyleText.attributeChanged): Pass true to refresh(). |
| (WebInspector.DOMNodeStyles.prototype.changeStyleText.contentDidChange): Added. Call refresh(). |
| (WebInspector.DOMNodeStyles.prototype.changeStyleText.fetchedStyleSheetContent): Listen for content change. |
| (WebInspector.DOMNodeStyles.prototype._attributesDidChange): Ignore if _ignoreNextStyleAttributeDidChangeEvent |
| is set and the attribute is "style". |
| |
| 2013-02-22 Timothy Hatcher <timothy@apple.com> |
| |
| Minimize the number of times the OverriddenStatusChanged is fired for properties. |
| |
| When updating styles, DOMNodeStyles will sometimes temporarily change overridden |
| to false only to later change it back to true when it finds the effective property |
| in a later style in the cascade. To minimize churn we coalesce these changes and |
| only fire the event if the value is different after a delay. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSProperty.js: |
| (WebInspector.CSSProperty.prototype.update): Use the setter for overridden |
| if we want to fire events. |
| (WebInspector.CSSProperty.prototype.set overridden.delayed): Added. |
| (WebInspector.CSSProperty.prototype.set overridden): Coalesce changes and |
| only fire the event if the end result differs. |
| |
| 2013-02-22 Timothy Hatcher <timothy@apple.com> |
| |
| Delay firing the PropertiesChanged event so DOMNodeStyles has a chance |
| to mark overridden and associated properties. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDeclaration.js: |
| (WebInspector.CSSStyleDeclaration.prototype.update.delayed): Added. Fire the event here. |
| (WebInspector.CSSStyleDeclaration.prototype.update): Set a timeout and call delayed. |
| |
| 2013-02-22 Timothy Hatcher <timothy@apple.com> |
| |
| Consider the properties as enabled for computed style declarations. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSProperty.js: |
| (WebInspector.CSSProperty.prototype.get enabled): Check for CSSStyleDeclaration.Type.Computed. |
| |
| 2013-02-22 Timothy Hatcher <timothy@apple.com> |
| |
| Add support for checking if a property has another vendor prefix. |
| |
| This will be used to style those properties differently instead of marking |
| them as completely invalid. Also fix a regex error in canonicalNameForPropertyName. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSProperty.js: |
| (WebInspector.CSSProperty.prototype.update): Delete _hasOtherVendorPrefix. |
| (WebInspector.CSSProperty.prototype.hasOtherVendorPrefix): Added. |
| * UserInterface/CSSStyleManager.js: |
| (WebInspector.CSSStyleManager.prototype.propertyNameHasOtherVendorPrefix): Added. |
| (WebInspector.CSSStyleManager.prototype.canonicalNameForPropertyName): Fix the regex |
| to check the beginning of the string. |
| |
| 2013-02-25 Timothy Hatcher <timothy@apple.com> |
| |
| Add effectivePropertyForName to DOMNodeStyles. |
| |
| Also mark the longhand properties as effective if the shorthand property is the effective property. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype.effectivePropertyForName): Added. |
| (WebInspector.DOMNodeStyles.prototype._updateStyleCascade): Pass _propertyNameToEffectivePropertyMap |
| to _associateRelatedProperties. |
| (WebInspector.DOMNodeStyles.prototype._associateRelatedProperties): Set propertyNameToEffectiveProperty |
| for the longhand if the related shorthand is effective. |
| |
| 2013-02-21 Timothy Hatcher <timothy@apple.com> |
| |
| Don't try to add or remove a CSSProperty if the index is wrong. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSProperty.js: |
| (WebInspector.CSSProperty.prototype.add): Return early if index is not NaN. |
| (WebInspector.CSSProperty.prototype.remove): Return early if index is NaN. |
| |
| 2013-02-22 Timothy Hatcher <timothy@apple.com> |
| |
| Mark DOMNodesStyles as needing refresh if attributes change on the node. |
| |
| Also fix a leak with the CSSStyleSheet.Event.ContentDidChange listener. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMNode.js: |
| (WebInspector.DOMNode.Event.AttributeModified): Added. |
| (WebInspector.DOMNode.Event.AttributeRemoved): Added. |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles): Listen for AttributeModified and AttributeRemoved events. |
| Stop listening for CSSStyleSheet.Event.ContentDidChange globally to avoid a leak. |
| (WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload): Listen for |
| CSSStyleSheet.Event.ContentDidChange on the stylesheet object here. |
| (WebInspector.DOMNodeStyles.prototype._parseRulePayload): Ditto. |
| (WebInspector.DOMNodeStyles.prototype._attributesDidChange): Added. Mark as needing |
| refresh and fire the NeedsRefresh event. |
| * UserInterface/DOMTreeManager.js: |
| (WebInspector.DOMTreeManager.prototype._attributeModified): Fire the event on DOMNode too. |
| (WebInspector.DOMTreeManager.prototype._attributeRemoved): Ditto. |
| |
| 2013-02-22 Timothy Hatcher <timothy@apple.com> |
| |
| Fix some event listener leaks related to the DOM content view. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMTreeContentView.js: |
| (WebInspector.DOMTreeContentView.prototype.closed): Call close on the DOMTreeOutline. |
| Use the new version of removeEventListener by passing null for type and listener. |
| * UserInterface/DOMTreeOutline.js: |
| (WebInspector.DOMTreeOutline.prototype.close): Added. Call close on the DOMTreeUpdater. |
| * UserInterface/DOMTreeUpdater.js: |
| (WebInspector.DOMTreeUpdater.prototype.close): Added. Call removeEventListener. |
| * UserInterface/Object.js: |
| (WebInspector.Object.addEventListener): Prevent registering multiple times. |
| (WebInspector.Object.removeEventListener): Handle a null eventType by looping over all |
| the registered types. Delete _listeners if the map is empty. |
| |
| 2013-02-20 Timothy Hatcher <timothy@apple.com> |
| |
| Avoid a crash when changing the text of an inline style. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype.attributeChanged): Set the style attribute |
| on the node when the style is an inline style. |
| |
| 2013-02-20 Timothy Hatcher <timothy@apple.com> |
| |
| Return early in the CSSProperty and CSSStyleDeclaration setters if the value does not change. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSProperty.js: |
| (WebInspector.CSSProperty.prototype.set text): Return early. |
| (WebInspector.CSSProperty.prototype.set name): Ditto. |
| (WebInspector.CSSProperty.prototype.set value): Ditto. |
| (WebInspector.CSSProperty.prototype.set priority): Ditto. |
| * UserInterface/CSSStyleDeclaration.js: |
| (WebInspector.CSSStyleDeclaration.prototype.set text): Return early. |
| |
| 2013-02-20 Timothy Hatcher <timothy@apple.com> |
| |
| Properly parse CSSProperty.status and handle when it is missing. |
| |
| The Inspector.json documentation was incorrect about this, and has been |
| fixed in r143465. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSProperty.js: |
| (WebInspector.CSSProperty): Added anonymous parameter. |
| (WebInspector.CSSProperty.prototype.update): Ditto. |
| (WebInspector.CSSProperty.prototype.get anonymous): Added. |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype._parseStylePropertyPayload): Set anonymous |
| to true when status is "style". Also default to "style" when status is missing. |
| (WebInspector.DOMNodeStyles.prototype._markOverriddenProperties): Skip anonymous |
| properties. |
| |
| 2013-02-19 Timothy Hatcher <timothy@apple.com> |
| |
| Correct and simplify overridden property marking. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSProperty.js: |
| (WebInspector.CSSProperty.prototype.isActive): Removed. |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype._markOverriddenProperties): Only |
| use the propertyNameToEffectiveProperty map to accomplish what we needed |
| three maps for before. Only enabled is checked, instead of the old isActive |
| function. The isActive function was skipping already overridden properties, |
| so repeat calls to _markOverriddenProperties would not work correctly. |
| |
| 2013-02-19 Timothy Hatcher <timothy@apple.com> |
| |
| Store all properties for inherited styles. |
| |
| We need all properties so we can allow editing inherited styles while |
| not removing the non-inherited properties when the edits are applied. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSProperty.js: |
| (WebInspector.CSSProperty.prototype.update): |
| (WebInspector.CSSProperty.prototype.get inherited): |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype.refresh): |
| (WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload): |
| (WebInspector.DOMNodeStyles.prototype._parseRulePayload): |
| (WebInspector.DOMNodeStyles.prototype._markOverriddenProperties): |
| |
| 2013-02-19 Timothy Hatcher <timothy@apple.com> |
| |
| Properly handle repeat occurrences of the same rule. |
| |
| A rule might match multiple times if the selector is generic and matches |
| ancestors and has inherited properties. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype.refresh): |
| (WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle): |
| (WebInspector.DOMNodeStyles.prototype._handlePropertyChange): |
| (WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload): |
| (WebInspector.DOMNodeStyles.prototype._parseRulePayload): |
| |
| 2013-02-19 Timothy Hatcher <timothy@apple.com> |
| |
| Add matchedSelectors and matchedSelectorText to CSSRule. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSRule.js: |
| (WebInspector.CSSRule.prototype.update): Delete _matchedSelectors and _matchedSelectorText. |
| (WebInspector.CSSRule.prototype.get matchedSelectors): Added. |
| (WebInspector.CSSRule.prototype.get matchedSelectorText): Added. |
| |
| 2013-02-19 Timothy Hatcher <timothy@apple.com> |
| |
| Add editable getter to CSSRule. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSRule.js: |
| (WebInspector.CSSRule.prototype.get editable): Added. |
| (WebInspector.CSSRule.prototype.set selectorText): Return early if not editable |
| or if the selectors already match. |
| * UserInterface/CSSStyleDeclaration.js: |
| (WebInspector.CSSStyleDeclaration.prototype.get editable): Check the rule's editable |
| property too. |
| |
| 2013-02-19 Timothy Hatcher <timothy@apple.com> |
| |
| Add orderedStyles to DOMNodeStyles. |
| |
| This will allow the UI to easily display the styles in the right order. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles): Added _orderedStyles. |
| (WebInspector.DOMNodeStyles.prototype.get orderedStyles): Added. |
| (WebInspector.DOMNodeStyles.prototype._updateStyleCascade): Store orderedStyles |
| on the DOMNodeStyles object and the pseudo element objects. |
| |
| 2013-02-19 Timothy Hatcher <timothy@apple.com> |
| |
| Store matched rules in reverse order so the most specific rule is first, not last. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype.refresh.parseRuleMatchArrayPayload): |
| Iterate in reverse order to match the cascade order. |
| (WebInspector.DOMNodeStyles.prototype.changeRuleSelector.ruleSelectorChanged): Fix a typo. |
| (WebInspector.DOMNodeStyles.prototype._parseStylePropertyPayload): Ditto. |
| (WebInspector.DOMNodeStyles.prototype._collectStylesInCascadeOrder): |
| Iterate in normal order now that they stored in reverse order. |
| |
| 2013-02-19 Timothy Hatcher <timothy@apple.com> |
| |
| Fix parsing of pseudo styles and inherited inline styles. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype.refresh.fetchedMatchedStyles): Properly |
| iterate of the pseudoElementRulesPayload array. Also fix the arguments passed |
| to _parseStyleDeclarationPayload. The first argument was 'this', back when |
| it was using call(). |
| |
| 2013-02-19 Timothy Hatcher <timothy@apple.com> |
| |
| Store the relevant node on CSSStyleDeclaration. |
| |
| The node is useful for inherited styles so we can jump to the |
| element the styles are inherited from. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDeclaration.js: |
| (WebInspector.CSSStyleDeclaration): |
| (WebInspector.CSSStyleDeclaration.prototype.get node): Added. |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype.refresh.parseRuleMatchArrayPayload): |
| (WebInspector.DOMNodeStyles.prototype.refresh.fetchedMatchedStyles): |
| (WebInspector.DOMNodeStyles.prototype.refresh.fetchedInlineStyles): |
| (WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle): |
| (WebInspector.DOMNodeStyles.prototype.refresh): |
| (WebInspector.DOMNodeStyles.prototype._handlePropertyChange): |
| (WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload): |
| (WebInspector.DOMNodeStyles.prototype._parseRulePayload): |
| |
| 2013-02-25 Timothy Hatcher <timothy@apple.com> |
| |
| Make copy work if there is a CodeMirror editor focused in the sidebar. |
| |
| The content view was stealing the copy event and preventing the editor from putting |
| anything on the pasteboard. We were also having a focus issue where the console or |
| other editor was staying focused after clicking the DOM tree. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/EditingSupport.js: |
| (WebInspector.isEventTargetAnEditableField): Correct the check to include CodeMirror |
| and also only count text input types. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Added focus event listener. |
| (WebInspector._focusChanged): Added. Make a caret selection inside the focused element. |
| This is needed (at least) to remove caret from console when focus is moved. |
| (WebInspector._copy): Only pass along the copy event if the target isn't an editable field. |
| |
| 2013-02-19 Timothy Hatcher <timothy@apple.com> |
| |
| Don't allow text selection in data grid rows. |
| |
| The row selection conflicts with the text range selection. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DataGrid.css: |
| (.data-grid td): Removed -webkit-user-select: text. |
| |
| 2013-02-26 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13265166> Remote inspecting an iOS 6.1 device never has the dashboard timer stop |
| |
| Previous to iOS7, we don't get a frameId reported for timeline events. We fallback to using the |
| page's loadEventFired event and message the timelineManager to use the reported timestamp |
| as the _loadEventTime in case it hadn't already been set. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/PageObserver.js: |
| (WebInspector.PageObserver.prototype.loadEventFired): |
| * UserInterface/TimelineManager.js: |
| (WebInspector.TimelineManager.prototype.pageDidLoad): |
| |
| 2013-02-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/11978845> Pressing delete on a file should delete all breakpoints |
| |
| Allow TreeOutlines to handle keyboard events on TreeElements if the |
| TreeElement hasn't already handled the event. This will allow the |
| breakpoint outline to handle delete keys pressed on resources. |
| |
| Likewise, allow TreeOutlines to handle context menus on TreeElements |
| that don't specifically have a context menu handler. This will allow |
| the breakpoint outline to show a context menu for resources. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel): |
| (WebInspector.DebuggerSidebarPanel.prototype._breakpointsBeneathTreeElement): |
| (WebInspector.DebuggerSidebarPanel.prototype._removeAllBreakpoints): |
| (WebInspector.DebuggerSidebarPanel.prototype._toggleAllBreakpoints): |
| (WebInspector.DebuggerSidebarPanel.prototype._breakpointTreeOutlineDeleteTreeElement): |
| (WebInspector.DebuggerSidebarPanel.prototype.removeAllResourceBreakpoints): |
| (WebInspector.DebuggerSidebarPanel.prototype.toggleAllResourceBreakpoints): |
| (WebInspector.DebuggerSidebarPanel.prototype._breakpointTreeOutlineContextMenuTreeElement): |
| Setup ondelete and oncontextmenu handlers on the breakpoint tree outline. |
| The delete action deletes all breakpoints in that resource. The content |
| menu action provides a choice to delete or toggle all breakpoints. |
| |
| * UserInterface/Breakpoint.js: |
| (WebInspector.Breakpoint.prototype.appendContextMenuItems): |
| Reorder and rename the context menus to more closely match Xcode. |
| |
| * UserInterface/TreeOutline.js: |
| (TreeOutline.prototype._treeKeyDown): |
| Send common key events up to the tree outline if it implements them. |
| |
| * UserInterface/GeneralTreeElement.js: |
| (WebInspector.GeneralTreeElement.prototype.onattach.this._boundContextMenuEventHandler): |
| (WebInspector.GeneralTreeElement.prototype.onattach): |
| Bind a TreeOutline context menu to the individual GeneralTreeElements if the |
| specific GeneralTreeElement does not have a context menu handler. |
| |
| 2013-02-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13299163> Give Breakpoint Tree Elements Context Menus to Delete and Toggle |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Breakpoint.js: |
| (WebInspector.Breakpoint.prototype.appendContextMenuItems): |
| (WebInspector.Breakpoint.prototype.appendContextMenuItems.removeBreakpoint): |
| (WebInspector.Breakpoint.prototype.appendContextMenuItems.toggleBreakpoint): |
| Offer context menu items to remove and toggle the breakpoint, if possible. |
| |
| 2013-02-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Update remaining SourceCodeLocation constructors. |
| |
| <rdar://problem/11735116> PARITY (WebKit Web Inspector): Missing Source Map support |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype._createSourceCodeLocation): |
| * UserInterface/TimelineManager.js: |
| (WebInspector.TimelineManager.prototype._callFramesFromPayload.createCallFrame): |
| (WebInspector.TimelineManager.prototype._callFramesFromPayload): |
| |
| 2013-02-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Update CallFrame displays for SourceMap display locations. |
| |
| <rdar://problem/11735116> PARITY (WebKit Web Inspector): Missing Source Map support |
| |
| Use the display (mapped) location when available. Multiple editors |
| may show the execution line, the original and mapped editors. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/CallFrameTreeElement.js: |
| (WebInspector.CallFrameTreeElement): |
| * UserInterface/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype._sourceCodeLocationFromPayload): |
| * UserInterface/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel.prototype._treeElementSelected): |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype): |
| |
| 2013-02-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Add isEmptyObject instead of doing Object.keys(foo).length |
| |
| In benchmarks of empty, small, and large objects isEmptyObject |
| performed better then checking the length of Object.keys. Especially |
| for large objects. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype._associateRelatedProperties): |
| * UserInterface/LayerTreeSidebarPanel.js: |
| (WebInspector.LayerTreeSidebarPanel.prototype._updateDataGrid): |
| * UserInterface/RemoteObject.js: |
| (WebInspector.LocalJSONObject.prototype.get hasChildren): |
| * UserInterface/ResourceDetailsSidebarPanel.js: |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype._removeBreakpointWithEditorLineInfo): |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype._removeBreakpointFromLineAndColumn): |
| (WebInspector.TextEditor.prototype): |
| * UserInterface/Utilities.js: |
| (isEmptyObject): |
| |
| 2013-02-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Get Breakpoints Working with SourceMaps - Line + Column Breakpoint Support. |
| |
| <rdar://problem/11735116> PARITY (WebKit Web Inspector): Missing Source Map support |
| |
| Previously breakpoints could only appear in a single SourceCodeTextEditor, and |
| only one could be placed on a line. After this patch: |
| |
| - Breakpoints may show up in multiple editors at the original and mapped locations. |
| - Breakpoints effective locations may be on columns. If you set a breakpoint on |
| a line in a mapped resource, it may map back to a non-0 column in the original. |
| - Multiple breakpoints may be set on a line. If you set a breakpoint on a few |
| lines in a mapped resource, they may all map back to the same line in the original |
| but just have different column offsets. |
| |
| Breakpoints are still set and saved with their original SourceMapLocation locations. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype.breakpointsForSourceCode): |
| (WebInspector.DebuggerManager.prototype._associateBreakpointsWithSourceCode): |
| When looking up breakpoints for a source code, associate them with the source code |
| at the same time by setting the Breakpoint's SourceCodeLocation's sourceCode. The |
| breakpoints for a SourceMapResource are only those in the originator that have |
| a display location inside the mapped resource. |
| |
| (WebInspector.DebuggerManager.prototype.reset): |
| Disassociate breakpoints on reset, by clearing the SourceCodeLocation's sourceCode. |
| |
| (WebInspector.DebuggerManager.prototype._breakpointSourceCodeLocationDidChange): |
| Dispatch a new BreakpointMoved event. There were already existing events for |
| BreakpointAdded and Removed but not Moved. We add this for convenience, there |
| are currently no users though, they all watch the breakpoints source code location. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.setBreakpointInfoForLineAndColumn): |
| (WebInspector.TextEditor.prototype._addBreakpointToLineAndColumnWithInfo): |
| (WebInspector.TextEditor.prototype._removeBreakpointFromLineAndColumn): |
| Update setBreakpointInfo to include line + column numbers. |
| |
| (WebInspector.TextEditor.prototype._setBreakpointStylesOnLine.updateStyles): |
| (WebInspector.TextEditor.prototype._setBreakpointStylesOnLine): |
| Updating breakpoint style now handles multi-breakpoints. For multi-breakpoints |
| we only style it as disabled if all breakpoints on that line are disabled. |
| Likewise for resolved. |
| |
| (WebInspector.TextEditor.prototype._allColumnBreakpointInfoForLine): |
| (WebInspector.TextEditor.prototype._setColumnBreakpointInfoForLine): |
| Now that a line may have multiple column breakpoints, this is a bulk |
| getter and setter used during breakpoint dragging to set the breakpoint |
| infos on a line. |
| |
| (WebInspector.TextEditor.prototype._gutterMouseDown): |
| (WebInspector.TextEditor.prototype._documentMouseMoved): |
| (WebInspector.TextEditor.prototype._documentMouseUp): |
| Do nothing if clicking on a multi-breakpoint. Otherwise, when dragging |
| remember the original breakpoints line and column information. While the |
| drag is happening, we are already updating our internal line + column |
| information, so in mouse up when notifying delegates we can ignore their |
| setBreakpointInfo calls. |
| |
| * UserInterface/TextEditor.css: |
| (.text-editor > .CodeMirror .has-breakpoint.multiple-breakpoints .CodeMirror-linenumber): |
| (.text-editor > .CodeMirror .has-breakpoint.multiple-breakpoints .CodeMirror-linenumber::before): |
| Styles for a line with multiple breakpoints. We show a centered white |
| ellipsis and hide the line number. |
| |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor): |
| (WebInspector.SourceCodeTextEditor.prototype.close): |
| Now that breakpoints can be added in one editor and affect a different editor |
| we must listen for breakpoint added and move (via it's source code location). |
| Register for the events in the constructor and clear in close. |
| |
| (WebInspector.SourceCodeTextEditor.prototype._editorLineInfoForSourceCodeLocation): |
| SourceCodeTextEditors for original resources show their content with original line |
| numbers. For mapped resources show their content with display line numbers. So |
| whenever we have a sourceCodeLocation, we use this to convert it to the "editor" |
| line info, which is just the line + column number for this editor + TextEditor. |
| |
| (WebInspector.SourceCodeTextEditor.prototype._breakpointForEditorLineInfo): |
| (WebInspector.SourceCodeTextEditor.prototype._addBreakpointWithEditorLineInfo): |
| (WebInspector.SourceCodeTextEditor.prototype._removeBreakpointWithEditorLineInfo): |
| Update addBreakpoint and removeBreakpoint for line + column, instead of just line. |
| |
| (WebInspector.SourceCodeTextEditor.prototype._contentWillPopulate): |
| (WebInspector.SourceCodeTextEditor.prototype._updateBreakpointStatus): |
| (WebInspector.SourceCodeTextEditor.prototype._breakpointAdded): |
| (WebInspector.SourceCodeTextEditor.prototype._breakpointRemoved): |
| When breakpoints are added, removed update our map, and pass that information |
| on to the underlying TextEditor. |
| |
| (WebInspector.SourceCodeTextEditor.prototype._updateBreakpointLocation): |
| When a breakpoint moves, we need to lookup the breakpoint from its old location. |
| The old location is different depending on if we are the editor for the original |
| or mapped resource. So work out the correct old location, and pass that |
| information and the underlying TextEditor. |
| |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointAdded): |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointRemoved): |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointMoved): |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointToggled): |
| When the TextEditor modifies a breakpoint, we must update our maps for that |
| breakpoint. When we tell the DebuggerManager about the updates, we will |
| expect some events to fire to update other editors that might be interested |
| in that breakpoint. We can ignore those events ourselves, because we |
| just made the change. |
| |
| 2013-02-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Sort Breakpoints in the Debugger Sidebar |
| |
| <rdar://problem/11735116> PARITY (WebKit Web Inspector): Missing Source Map support |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel.prototype._addBreakpoint): |
| (WebInspector.DebuggerSidebarPanel.prototype._compareTopLevelTreeElements): |
| (WebInspector.DebuggerSidebarPanel.prototype._compareBreakpointTreeElements): |
| Sort BreakpointsTreeElements (children of Resources) by Line #. |
| Sort top level tree elements by title, always placing the special breakpoints at the top. |
| |
| 2013-02-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Give BreakpointTreeElements a ContextMenu to Reveal Original Resource. |
| |
| <rdar://problem/11735116> PARITY (WebKit Web Inspector): Missing Source Map support |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Breakpoint.js: |
| (WebInspector.Breakpoint.prototype.appendContextMenuItems): |
| Given a context menu, add a show original resource menu item. |
| |
| * UserInterface/TreeOutline.js: |
| (TreeElement.prototype._detach): |
| Add an ondetach event to balance onattach. |
| |
| * UserInterface/GeneralTreeElement.js: |
| (WebInspector.GeneralTreeElement.prototype.onattach): |
| (WebInspector.GeneralTreeElement.prototype.ondetach): |
| Manage adding and removing a contextmenu event listener for oncontextmenu. |
| |
| * UserInterface/BreakpointTreeElement.js: |
| (WebInspector.BreakpointTreeElement.prototype.oncontextmenu): |
| Show a ContextMenu with the Breakpoint's menu items. |
| |
| 2013-02-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Make Breakpoint to use a SourceCodeLocation. Update its BreakpointTreeElement display. |
| |
| <rdar://problem/11735116> PARITY (WebKit Web Inspector): Missing Source Map support |
| |
| This is the start of modifying Breakpoints to use SourceCodeLocation. |
| There are remaining users (SourceCodeTextEditor) which will be addressed |
| in a following patch. This updates Breakpoint and its display in the sidebar. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Breakpoint.js: |
| (WebInspector.Breakpoint): |
| (WebInspector.Breakpoint.prototype.get sourceCodeLocation): |
| (WebInspector.Breakpoint.prototype.get info): |
| Update the constructor and serialization to use SourceCodeLocations, |
| which includes a line number and column number. |
| |
| * UserInterface/BreakpointTreeElement.js: |
| (WebInspector.BreakpointTreeElement): |
| (WebInspector.BreakpointTreeElement.prototype._updateTitles): |
| (WebInspector.BreakpointTreeElement.prototype._updateStatus): |
| BreakpointTreeElements always display the display line + column. They |
| show the original location as a subtitle. |
| |
| (WebInspector.BreakpointTreeElement.prototype._breakpointDisplayLocationDidChange): |
| When the breakpoint's display location changes update our titles. |
| However, if the breakpoint actually changed resources, then prepare |
| for removal. The sidebar will detect this and create a new tree element. |
| |
| * UserInterface/DebuggerManager.js: |
| (WebInspector.DebuggerManager): |
| (WebInspector.DebuggerManager.prototype.didSetBreakpoint): |
| (WebInspector.DebuggerManager.prototype._setBreakpoint): |
| Set breakpoints with the breakpoints line + column information. |
| |
| * UserInterface/DebuggerSidebarPanel.js: |
| (WebInspector.DebuggerSidebarPanel): |
| (WebInspector.DebuggerSidebarPanel.prototype._addBreakpoint): |
| Simplify now that the breakpoint's SourceCodeLocation already has the |
| original SourceCode. Also, create SourceMapResourceTreeElements as needed. |
| |
| (WebInspector.DebuggerSidebarPanel.prototype._breakpointRemoved): |
| (WebInspector.DebuggerSidebarPanel.prototype._removeBreakpointTreeElement): |
| Refactor breakpoint removal code so it can be shared. |
| |
| (WebInspector.DebuggerSidebarPanel.prototype._breakpointDisplayLocationDidChange): |
| If a breakpoint changes resources remove the old breakpoint tree element |
| and add a new one with the new location. |
| |
| (WebInspector.DebuggerSidebarPanel.prototype._treeElementSelected): |
| Show the display location. |
| |
| 2013-02-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Make Find banner when viewing a SourceMapResource work. |
| |
| <rdar://problem/11735116> PARITY (WebKit Web Inspector): Missing Source Map support |
| |
| A SourceMapResource can display its content in a SourceCodeTextEditor just |
| like regular resources. However, it does not use the backend to search |
| it's contents, because its contents are all loaded by the frontend. Give |
| customPerformSearch a return value saying whether or not it was handled. |
| If not handled, we fall back to CodeMirror's text search, which works fine. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype.customPerformSearch): |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.performSearch): |
| If the customPerformSearch returns false, then the custom search did |
| not handle the search, and we fallback to the default CodeMirror search. |
| |
| 2013-02-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Make SourceCodeLocation provide raw and mapped locations. |
| |
| <rdar://problem/11735116> PARITY (WebKit Web Inspector): Missing Source Map support |
| |
| SourceCodeLocation automatically provide original (raw) and mapped (display) |
| source code locations. It's API requires that it be constructed with the raw |
| source code and location information, which is automated by using |
| SourceCode.prototype.createSourceCodeLocation, passing a lineNumber and |
| columnNumber for the source code that you're invoking the method on. |
| |
| All uses of SourceCodeLocation will be audited and updated in later patches, |
| this patch includes just the core SourceCodeLocation uses. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype.showSourceCode): |
| (WebInspector.ResourceSidebarPanel.prototype.showSourceCodeLocation): |
| (WebInspector.ResourceSidebarPanel.prototype.showOriginalSourceCodeLocation): |
| By default, when showing any location we want to show it's display location, |
| which will be the source map resource if there is one, otherwise the raw resource. |
| If needed, there is a way to explicitly show the original source code location. |
| |
| * UserInterface/SourceCode.js: |
| (WebInspector.SourceCode.prototype.createSourceCodeLocation): |
| Default implementation, just use the given line and column number. |
| |
| * UserInterface/SourceMapResource.js: |
| (WebInspector.SourceMapResource.prototype.createSourceCodeLocation): |
| Mapped resource. Reverse lookup the raw line and column. Adjust if |
| needed for inline <script> offsets. And construct the SourceCodeLocation |
| with the raw values. |
| |
| * UserInterface/SourceCodeLocation.js: |
| (WebInspector.SourceCodeLocation): |
| |
| (WebInspector.SourceCodeLocation.prototype.get sourceCode): |
| (WebInspector.SourceCodeLocation.prototype.get lineNumber): |
| (WebInspector.SourceCodeLocation.prototype.get columnNumber): |
| This is the raw location data. |
| |
| (WebInspector.SourceCodeLocation.prototype.hasMappedLocation): |
| (WebInspector.SourceCodeLocation.prototype.get displaySourceCode): |
| (WebInspector.SourceCodeLocation.prototype.get displayLineNumber): |
| (WebInspector.SourceCodeLocation.prototype.get displayColumnNumber): |
| If we have a mapped location, use that. Otherwise use the raw location. |
| |
| (WebInspector.SourceCodeLocation.prototype.update): |
| If a user of a SourceCodeLocation wants to update the location there |
| are restrictions. The updated location must be either the raw resource |
| or the mapped resource. SourceCodeLocation then does the rest, and |
| updates its internal values and dispatches events appropriately. |
| |
| (WebInspector.SourceCodeLocation.prototype.set sourceCode): |
| There are cases where the inspector (Breakpoints) which may want to keep |
| around a line/column SourceCodeLocation but without an associated |
| SourceCode. Setting the source code to null will make this a dumb |
| location, and setting it to a source code will update appropriately. |
| |
| (WebInspector.SourceCodeLocation.prototype._resetMappedLocation): |
| (WebInspector.SourceCodeLocation.prototype._setMappedLocation): |
| (WebInspector.SourceCodeLocation.prototype._resolveMappedLocation): |
| We lazily resolve the mapped location when needed. In cases where |
| a SourceCodeLocation is created from a SourceMapResource the mapped |
| location is already known and can be set directly. |
| |
| (WebInspector.SourceCodeLocation.prototype._makeChangeAndDispatchChangeEventIfNeeded): |
| Clients of SourceCodeLocation may want to update their display if |
| a source map was added and a new better location is available. We |
| provide events for any change, or just display location changes. |
| |
| (WebInspector.SourceCodeLocation.prototype._sourceCodeSourceMapAdded): |
| Whenever the raw resource adds a source map check if there was a |
| display location change. |
| |
| 2013-02-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Show SourceMapResources in the Resources Sidebar |
| |
| <rdar://problem/11735116> PARITY (WebKit Web Inspector): Missing Source Map support |
| |
| SourceMapResources are added to the Resources Sidebar as children |
| of the originator Resource. So if a Script has a SourceMap with |
| multiple inputs, there will be a disclosure triangle by the Script |
| and you can see the original resources for that Script. |
| |
| Since both Resources and Scripts can have SourceMapChildren this |
| patch refactors both of those TreeElement classes to extend from a |
| common SourceCodeTreeElement class that manages the new |
| SourceMapResourceTreeElement children. |
| |
| FrameTreeElements, special subclasses of ResourceTreeElements and |
| thus SourceCodeTreeElements handle their own source map resource |
| children. This is so that SourceMapResources for <script>s in the |
| frame are placed along with that frame's same typed resources. |
| SourceMapResources that are scripts will be in the Scripts folder, |
| or no folder if the frame has only a few resources. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel): |
| A TreeOutline must opt-in to displaying source map tree elements |
| for resources. We only show source map children of resources in the |
| main resource tree outline. We will not show them in the search |
| results tree outline or breakpoints tree outline. |
| |
| * UserInterface/GeneralTreeElement.js: |
| (WebInspector.GeneralTreeElement.prototype.callFirstAncestorFunction): |
| Move this code from ResourceTreeElement to General. It is useful. |
| |
| * UserInterface/SourceCodeTreeElement.js: Added. |
| (WebInspector.SourceCodeTreeElement): |
| (WebInspector.SourceCodeTreeElement.prototype.updateSourceMapResources): |
| (WebInspector.SourceCodeTreeElement.prototype.onattach): |
| (WebInspector.SourceCodeTreeElement.prototype.onpopulate): |
| (WebInspector.SourceCodeTreeElement.prototype.descendantResourceTreeElementTypeDidChange): |
| (WebInspector.SourceCodeTreeElement.prototype._updateSourceCode): |
| Common superclass for Script and Resource TreeElements. This manages the |
| child source map resources. Sorts them, and replaces them when they change. |
| |
| * UserInterface/ResourceTreeElement.js: |
| (WebInspector.ResourceTreeElement): |
| (WebInspector.ResourceTreeElement.compareResourceTreeElements): Common comparison. |
| (WebInspector.ResourceTreeElement.prototype._updateResource): |
| (WebInspector.ResourceTreeElement.prototype._updateTitles): |
| (WebInspector.ResourceTreeElement.prototype._typeDidChange): |
| * UserInterface/ScriptTreeElement.js: |
| (WebInspector.ScriptTreeElement): |
| Refactor as subclasses of SourceCodeTreeElement. |
| |
| * UserInterface/SourceMapResourceTreeElement.js: Added. |
| (WebInspector.SourceMapResourceTreeElement): |
| (WebInspector.SourceMapResourceTreeElement.prototype.onattach): |
| (WebInspector.SourceMapResourceTreeElement.prototype._updateTitles): |
| A SourceMapResourceTreeElement is very simple. It adds a style class to |
| get unique icons, lazy loads on attach, and since it doesn't have a |
| parent frame it uses it's originator's host to display a subtitle if |
| it is loaded from a different origin. |
| |
| * UserInterface/FrameTreeElement.js: |
| (WebInspector.FrameTreeElement.prototype.updateSourceMapResources): |
| (WebInspector.FrameTreeElement.prototype.onattach): |
| (WebInspector.FrameTreeElement.prototype.onpopulate): |
| (WebInspector.FrameTreeElement.prototype._updateParentStatus): |
| (WebInspector.FrameTreeElement.prototype._addTreeElementForRepresentedObject): |
| (WebInspector.FrameTreeElement.prototype._insertResourceTreeElement): |
| Handle our own SourceMapResource children in onpopulate and addTreeElement paths. |
| |
| * UserInterface/Main.html: |
| * UserInterface/ResourceIcons.css: |
| (.source-map-resource.resource-icon .icon): |
| (.source-map-resource.resource-icon.resource-type-script .icon): |
| * UserInterface/Images/ClippingGeneric.png: Added. |
| * UserInterface/Images/ClippingGeneric@2x.png: Added. |
| Add new files, images, and styles to trigger the images. |
| |
| 2013-02-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Download SourceMaps and create SourceMapResources. |
| |
| <rdar://problem/11735116> PARITY (WebKit Web Inspector): Missing Source Map support |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/SourceMap.js: |
| (WebInspector.SourceMap): |
| (WebInspector.SourceMap.prototype.get originalSourceCode): |
| (WebInspector.SourceMap.prototype.get resources): |
| (WebInspector.SourceMap.prototype.addResource): |
| (WebInspector.SourceMap.prototype.resourceForURL): |
| Give a SourceMap references to the SourceCode that originally requested |
| it, and the SourceMapResources created for the input sources. |
| |
| * UserInterface/SourceMapResource.js: Added. |
| (WebInspector.SourceMapResource): |
| (WebInspector.SourceMapResource.prototype.get sourceMap): |
| A SourceMapResource is a Resource subclass with no loading information. |
| It has a reference to the SourceMap that it belongs to. |
| |
| (WebInspector.SourceMapResource.prototype.canRequestContentFromBackend): |
| (WebInspector.SourceMapResource.prototype.requestContentFromBackend): |
| The content is loaded on demand. Normal requests for SourceCode content |
| goes through SourceCode.prototype.requestContent. Since the content is |
| loaded on demand, the type and data are filled in after content is |
| requested, and we fire normal Resource events, like Type changed. |
| |
| * UserInterface/Resource.js: |
| (WebInspector.Resource.prototype.markAsFinished): |
| Don't request content if we can't / shouldn't request content from the |
| backend. Normally resources load their content as soon as they finish |
| loading. However SourceMapResources load their content and then mark |
| as finished. Without this we would get a harmless assert. |
| |
| * UserInterface/SourceCode.js: |
| (WebInspector.SourceCode): |
| (WebInspector.SourceCode.prototype.get sourceMaps): |
| (WebInspector.SourceCode.prototype.addSourceMap): |
| Any SourceCode resource can have a set of source maps. In the common case, |
| a Script will have a single source map. However a Document resource map |
| have multiple sourceMaps for different inline <script> sections. |
| |
| * UserInterface/DebuggerObserver.js: |
| (WebInspector.DebuggerObserver.prototype.scriptParsed): |
| * UserInterface/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype.scriptDidParse): |
| The SourceMap resource's url comes in from scriptDidParse. Pass it on |
| eventually to the Script constructor. |
| |
| * UserInterface/Script.js: |
| (WebInspector.Script): |
| If we have a source map URL, load and parse the source map. |
| |
| * UserInterface/SourceMapManager.js: Added. |
| (WebInspector.SourceMapManager): |
| (WebInspector.SourceMapManager.prototype.sourceMapForURL): |
| (WebInspector.SourceMapManager.prototype.downloadSourceMap): |
| (WebInspector.SourceMapManager.prototype._loadAndParseSourceMap): |
| (WebInspector.SourceMapManager.prototype._loadAndParseFailed): |
| (WebInspector.SourceMapManager.prototype._loadAndParseSucceeded): |
| (WebInspector.SourceMapManager.prototype._mainResourceDidChange): |
| A global set of SourceMaps by url. This prevents multiple downloads of |
| the same source map. The map is cleared on main resource changes. |
| |
| * UserInterface/Main.html: |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| Add new files and instantiate the new manager singleton. |
| |
| 2013-02-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Add parts of SourceMap.js from OpenSource. |
| |
| <rdar://problem/11735116> PARITY (WebKit Web Inspector): Missing Source Map support |
| |
| This parses a v3 SourceMap file. The spec is linked at the top. |
| SourceMap.js comes from OpenSource's frontend/SourceMap.js. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Main.html: |
| * UserInterface/SourceMap.js: Added. |
| (WebInspector.SourceMap): |
| (WebInspector.SourceMap.prototype.sources): |
| (WebInspector.SourceMap.prototype.sourceContent): |
| (WebInspector.SourceMap.prototype._parseMappingPayload): |
| (WebInspector.SourceMap.prototype._parseSections): |
| (WebInspector.SourceMap.prototype._parseMap): |
| (WebInspector.SourceMap.prototype._isSeparator): |
| (WebInspector.SourceMap.prototype._decodeVLQ): |
| (WebInspector.SourceMap.StringCharIterator): |
| (WebInspector.SourceMap.StringCharIterator.prototype.next): |
| (WebInspector.SourceMap.StringCharIterator.prototype.peek): |
| (WebInspector.SourceMap.StringCharIterator.prototype.hasNext): |
| (WebInspector.PositionBasedSourceMap): |
| (WebInspector.PositionBasedSourceMap.prototype.findEntry): |
| (WebInspector.PositionBasedSourceMap.prototype.findEntryReversed): |
| (WebInspector.PositionBasedSourceMap.prototype._parseMap): |
| |
| 2013-02-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Only allow left clicks on the gutter / dragging breakpoints. |
| |
| Reviewed by Ricky Mondello. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype): |
| Bail if the mouse down button is not the left button. |
| |
| 2013-02-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Remove unused ContextMenu soft menu code. |
| |
| Rubber-stamped by Ricky Mondello. |
| |
| * UserInterface/ContextMenu.js: |
| |
| 2013-02-21 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Standardize on "Event" not "Events". There were a few outliers. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DatabaseContentView.js: |
| (WebInspector.DatabaseContentView.prototype._queryFinished): |
| * UserInterface/StylePropertyTreeElement.js: |
| (WebInspector.StylePropertyTreeElement.prototype): |
| * UserInterface/TextPrompt.js: |
| (WebInspector.TextPrompt.prototype.applySuggestion): |
| (WebInspector.TextPrompt.prototype.acceptSuggestion): |
| |
| 2013-02-19 Jeff Miller <jeffm@apple.com> |
| |
| Regenerate localizedStrings.js after recent changes. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| Regenerated. |
| |
| 2013-02-18 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13232839> Show Error Console (Option+Cmd+C) should always put keyboard focus in the console |
| |
| The keyboard shortcut already existed, but if used to open the inspector |
| the focus was getting stolen away by other elements with tabindex and |
| the DOM Tree. Fix this so focus is not stolen away. As an added bonus |
| the console now keeps its focus across page reloads and navigations. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/InspectorFrontendAPI.js: |
| (InspectorFrontendAPI.showConsole): |
| When the keyboard shortcut is triggered, focus the quick console. If |
| the page is still loading, we will need to focus again because other |
| elements with tabindex may steal focus away from the console prompt. |
| |
| * UserInterface/Main.js: |
| (WebInspector.isConsoleFocused): |
| Global accessor for whether or not the console is focused. |
| |
| * UserInterface/DOMTreeContentView.js: |
| (WebInspector.DOMTreeContentView.prototype.shown): |
| When showing a the DOMTreeOutline, never steal focus from the console. |
| |
| (WebInspector.DOMTreeContentView.prototype._rootDOMNodeAvailable.selectNode): |
| When the root dom node changes and we reveal and select an element, |
| never steal focus from the console. |
| |
| * UserInterface/DOMTreeOutline.js: |
| (WebInspector.DOMTreeOutline.prototype.setVisible): |
| Provide an optional omitFocus parameter to pass on. It already exists below. |
| |
| 2013-02-18 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Move .indeterminate-progress-spinner from resources only to all content views. |
| |
| ScriptContentViews also use spinners, and they were not getting the |
| proper styling if you were fast enough to see it! |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ContentView.css: Renamed from WebInspector/UserInterface/ResourceContentView.css. |
| (.content-view > .indeterminate-progress-spinner): |
| * UserInterface/Main.html: |
| |
| 2013-02-18 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Hide the Image Size section for Image resources if the load failed. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ResourceDetailsSidebarPanel.js: |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshImageSizeSection): |
| Don't show an empty image size section if the image failed to load. |
| |
| 2013-02-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Accidentally added some code referencing SourceMapResource before it was added. |
| |
| Unreviewed cleanup. |
| |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype.cookieForContentView): |
| |
| 2013-02-18 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13180267> REGRESSION: Reload button is no longer visible in the Web Inspector |
| |
| Make the ResourceTreeElement's "status" property a reload button in case we're |
| dealing with the main resource of the main frame. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Images/Reload.pdf: Removed. |
| * UserInterface/Images/Reload.svg: Added. |
| * UserInterface/Images/ReloadSelected.svg: Added. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| * UserInterface/ResourceTreeElement.css: |
| (.item.resource-type-document > .status > .reload-button): |
| (.item.resource-type-document.selected > .status > .reload-button): |
| * UserInterface/ResourceTreeElement.js: |
| (WebInspector.ResourceTreeElement.prototype.get reloadButton): |
| (WebInspector.ResourceTreeElement.prototype._updateResource): |
| (WebInspector.ResourceTreeElement.prototype._updateStatus): |
| (WebInspector.ResourceTreeElement.prototype._reloadPageClicked): |
| |
| 2013-02-15 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Double clicking the disclosure triangle for a TreeElement should not |
| trigger the ondblclick for the element. |
| |
| This will be more possible once we add SourceMaps, but it is currently |
| possible right now with the Main Resource's disclosure triangle. |
| |
| Reviewed by Dean Jackson. |
| |
| * UserInterface/TreeOutline.js: |
| (TreeElement.treeElementDoubleClicked): |
| |
| 2013-02-15 Joseph Pecoraro <pecoraro@apple.com> |
| |
| We don't need to check the entire string when we mean to check just the |
| first character. Convert an indexOf to charAt(0). |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/FrameTreeElement.js: |
| (WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders): |
| |
| 2013-02-15 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13226395> Multiline console.asserts in ResourceSidebarPanel.js not getting stripped |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Scripts/remove-console-asserts.pl: |
| For safety, keep the script reading line by line and warn if there is |
| a console.assert that was not stripped. This almost always means the |
| assert spanned multiple lines. |
| |
| * UserInterface/ResourceSidebarPanel.js: |
| Converted multi-line asserts to a single line. |
| |
| 2013-02-15 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Manually running remove-console-asserts.pl was failing on rename. |
| Change instead to File::move from the File::copy module and |
| report errors if they happen. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Scripts/remove-console-asserts.pl: |
| |
| 2013-02-15 Timothy Hatcher <timothy@apple.com> |
| |
| Fix exceptions caused by my earlier InspectorBackendCommands change. |
| |
| Unreviewed. |
| |
| * UserInterface/DOMStorageObserver.js: |
| (WebInspector.DOMStorageObserver.prototype.domStorageItemsCleared): Call |
| updateDOMStorage instead of domStorageUpdated. |
| (WebInspector.DOMStorageObserver.prototype.domStorageItemRemoved): Ditto. |
| (WebInspector.DOMStorageObserver.prototype.domStorageItemAdded): Ditto. |
| (WebInspector.DOMStorageObserver.prototype.domStorageItemUpdated): Ditto. |
| |
| 2013-02-15 Jessie Berlin <jberlin@apple.com> |
| |
| Ran update-safari-localizable-strings. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| 2013-02-15 Timothy Hatcher <timothy@apple.com> |
| |
| Update InspectorBackendCommands.js for the latest protocol changes. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/CSSObserver.js: |
| (WebInspector.CSSObserver.prototype.styleSheetAdded): Added. |
| (WebInspector.CSSObserver.prototype.styleSheetRemoved): Added. |
| * UserInterface/CookieStorageContentView.js: |
| (WebInspector.CookieStorageContentView.prototype._deleteCallback): Pass both domain and url. |
| * UserInterface/DOMStorageObserver.js: |
| (WebInspector.DOMStorageObserver.prototype.updateDOMStorage): Renamed from domStorageUpdated. |
| (WebInspector.DOMStorageObserver.prototype.domStorageItemsCleared): Added. |
| (WebInspector.DOMStorageObserver.prototype.domStorageItemRemoved): Added. |
| (WebInspector.DOMStorageObserver.prototype.domStorageItemAdded): Added. |
| (WebInspector.DOMStorageObserver.prototype.domStorageItemUpdated): Added. |
| * UserInterface/DOMTreeManager.js: |
| (WebInspector.DOMTreeManager.prototype.highlightDOMNode): Use invoke since the argument |
| order changed and objectId is an optional argument we don't use. |
| * UserInterface/InspectorBackend.js: |
| (InspectorBackendClass.prototype.reportProtocolError): Log the whole error, not just the message. |
| * UserInterface/InspectorBackendCommands.js: Updated from OpenSource r142992. |
| * UserInterface/InspectorObserver.js: |
| (WebInspector.InspectorObserver.prototype.detached): Added. |
| * UserInterface/PageObserver.js: |
| (WebInspector.PageObserver.prototype.javascriptDialogOpening): Added. |
| (WebInspector.PageObserver.prototype.javascriptDialogClosed): Added. |
| (WebInspector.PageObserver.prototype.scriptsEnabled): Added. |
| |
| 2013-02-15 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13207008> Allow toggling showing shadow trees with a button in the DOM Tree navigation bar |
| |
| We do a few things in this patch: |
| |
| 1. We move the existing compositing borders navigation item from |
| FrameContentView to DOMTreeContentView. |
| |
| 2. We add a new navigation item on DOMTreeContentView to toggle |
| shadow tree DOM nodes. |
| |
| 3. We make ClusterContentView return its current content view's |
| navigation items in the navigationItems accessor since otherwise |
| the DOMTreeContentView navigation items wouldn't get picked up. |
| |
| 4. We add a new event to notify when a ContentView's navigation |
| items have changed so that they may be picked up by the ContentBrowser. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/ClusterContentView.js: |
| (WebInspector.ClusterContentView.prototype.get navigationItems): |
| (WebInspector.ClusterContentView.prototype._currentContentViewDidChange): |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser): |
| (WebInspector.ContentBrowser.prototype._contentViewNavigationItemsDidChange): |
| * UserInterface/ContentView.js: |
| * UserInterface/DOMTreeContentView.js: |
| (WebInspector.DOMTreeContentView): |
| (WebInspector.DOMTreeContentView.prototype.get navigationItems): |
| (WebInspector.DOMTreeContentView.prototype.shown): |
| (WebInspector.DOMTreeContentView.prototype._mouseWasClicked): |
| (WebInspector.DOMTreeContentView.prototype._toggleCompositingBorders): |
| (WebInspector.DOMTreeContentView.prototype._updateCompositingBordersButtonToMatchPageSettings): |
| (WebInspector.DOMTreeContentView.prototype._showShadowDOMSettingChanged): |
| (WebInspector.DOMTreeContentView.prototype._toggleShowsShadowDOMSetting): |
| * UserInterface/FrameContentView.js: |
| (WebInspector.FrameContentView.prototype.shown): |
| (WebInspector.FrameContentView.prototype._pathComponentSelected): |
| * UserInterface/Images/ShadowDOM.pdf: Added. |
| |
| 2013-02-15 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13026376> Layers sidebar panel should show layers associated with any descendant node |
| |
| Use the DOM hierarchy to compile a list of layers associated with any |
| descendant of the node passed to LayerTreeManager's layersForNode() |
| method. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/LayerTreeManager.js: |
| (WebInspector.LayerTreeManager.prototype.get flatLayerTree): New getter |
| to make it much easier to debug issues with the LayerTreeManager so we |
| get the flat list of all known layers from the console. |
| (WebInspector.LayerTreeManager.prototype.layersForNode): |
| (WebInspector.LayerTreeManager.prototype.): |
| (WebInspector.LayerTreeManager.prototype._flattenedLayerTree): |
| (WebInspector.LayerTreeManager.prototype._obtainNodeIdsForLayerIds): |
| (WebInspector.LayerTreeManager.prototype._layersForDescendantsOfNode): |
| |
| 2013-02-15 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13223597> Dashboard resources size may be only partial |
| |
| Wait until we've gotten an event indicating we're loading the main |
| resource to start tracking sizes. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DashboardManager.js: |
| (WebInspector.DashboardManager): |
| (WebInspector.DashboardManager.prototype._mainResourceDidChange): |
| (WebInspector.DashboardManager.prototype._startUpdatingTime): |
| |
| 2013-02-15 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13217869> Dashboard: LCD timer does not update when going back/forward |
| |
| Don't forget to kill any previously running timer when a new page loads |
| and reset the time reported in the dashboard to 0 before starting the |
| new timer. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DashboardManager.js: |
| (WebInspector.DashboardManager.prototype._mainResourceDidChange): |
| |
| 2013-02-15 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13207017> Nodes hosted in shadow trees should not be disregarded when "show-shadow-dom" setting is off |
| |
| We used to only deal with the "show-shadow-dom" setting as immutable and |
| would simply not create DOMNodes for payloads with shadow roots in case |
| the setting was false (the default). However, we would run in a situation |
| where the backend could push nodes that were part of a shadow tree, |
| regardless of the setting, and the parentId for the node would not be |
| referenced in the DOMTreeManager's _idToDOMNode map which would eventually |
| yield an error when handling setChildNodes payloads and break any further |
| DOM interaction in the inspector. This kind of case happened quite often |
| when the LayerTreeManager would get composted layers that were part of |
| an <input> element, <video> element, etc. |
| |
| We now switch to a system where the "show-shadow-dom" setting can be changed |
| at any time and we reflect the correct state in the DOMTreeOutline. Since |
| the DOMTreeOutline bases its representation on the data represented by |
| DOMNode instances, we make the "firstChild", "lastChild", "previousSibling", |
| "nextSibling" and "children" properties getters and dynamically check whether |
| child nodes hosted in shadow roots should be ignored. |
| |
| We only build the filtered children list in the case where we shouldn't |
| show shadow roots and we've identified through a call to _renumber() that |
| the filtered list needed updating. The filtered list is then cached until |
| the next time it needs updating. |
| |
| We also make the "childNodeCount" property use a getter / setter as it was |
| being accessed using the ivar from outside the DOMNode class and it would |
| not reflect whether shadow roots should be reported as children. |
| |
| Then, we move the setting to be a shared setting on the global WebInspector |
| object and track changes to it, updating all nodes in the DOMTreeOutline |
| when the change happens. |
| |
| Further fixes will ensure we refresh the layer tree when the setting changes, |
| and teach the LayerTreeManager to ignore layers attached to nodes in shadow |
| roots when the setting is to hide shadow nodes. Another fix will be to provide |
| a button to toggle that setting in the DOM tree's navigation bar in lieu of |
| a contextual menu item. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMNode.js: |
| (WebInspector.DOMNode): |
| (WebInspector.DOMNode.prototype.get firstChild): |
| (WebInspector.DOMNode.prototype.get lastChild): |
| (WebInspector.DOMNode.prototype.get nextSibling): |
| (WebInspector.DOMNode.prototype.get previousSibling): |
| (WebInspector.DOMNode.prototype.get childNodeCount): |
| (WebInspector.DOMNode.prototype.set childNodeCount): |
| (WebInspector.DOMNode.prototype.hasChildNodes): |
| (WebInspector.DOMNode.prototype.hasShadowRoots): |
| (WebInspector.DOMNode.prototype._insertChild): |
| (WebInspector.DOMNode.prototype._removeChild): |
| (WebInspector.DOMNode.prototype._setChildrenPayload): |
| (WebInspector.DOMNode.prototype._renumber): |
| * UserInterface/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.prototype.handleLoadAllChildren): |
| * UserInterface/DOMTreeManager.js: |
| (WebInspector.DOMTreeManager.prototype._childNodeCountUpdated): |
| * UserInterface/DOMTreeOutline.js: |
| (WebInspector.DOMTreeOutline): |
| (WebInspector.DOMTreeOutline.prototype.populateContextMenu): |
| (WebInspector.DOMTreeOutline.prototype._toggleShowShadowDOM): |
| (WebInspector.DOMTreeOutline.prototype._showShadowDOMSettingChanged): |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| |
| 2013-02-14 Timothy Hatcher <timothy@apple.com> |
| |
| Switch to the new flexbox model for significantly faster layout times. |
| |
| <rdar://problem/13206930> REGRESSION: Layout time in the Web Inspector |
| is 1.21x longer compared to Safari 6 |
| |
| Reviewed by Simon Fraser. |
| |
| * UserInterface/TextPrompt.js: |
| (WebInspector.TextPrompt.SuggestBox.prototype._updateBoxPosition): Make sure to absolute position |
| the element when measuring in the body to avoid flexbox layout. |
| |
| * UserInterface/HierarchicalPathNavigationItem.js: |
| (WebInspector.HierarchicalPathNavigationItem.prototype.set components): Use updateLayout instead |
| of updateLayoutSoon. Delaying the layout causes a visual flash of wrapped items. |
| |
| * UserInterface/ButtonToolbarItem.css: Replaced -webkit-box with -webkit-flex. |
| Replaced -webkit-box-flex with -webkit-flex. Replaced -webkit-box-orient: vertical |
| with -webkit-flex-direction: column. Replaced -webkit-box-orient: horizontal with |
| -webkit-flex-direction: row. Replaced -webkit-box-align: center with -webkit-align-items: center. |
| Replaced -webkit-box-pack: center with -webkit-justify-content: center. Replaced |
| -webkit-box-pack: start with -webkit-justify-content: flex-start. Replaced -webkit-box-pack: end |
| with -webkit-justify-content: flex-end. |
| * UserInterface/ContentBrowser.css: Ditto. |
| * UserInterface/ControlToolbarItem.css: Ditto. |
| * UserInterface/DashboardView.css: Ditto. |
| * UserInterface/FilterBar.css: Ditto. |
| * UserInterface/FlexibleSpaceNavigationItem.css: Ditto. |
| * UserInterface/FontResourceContentView.css: Ditto. |
| * UserInterface/ImageResourceContentView.css: Ditto. |
| * UserInterface/LayerTreeSidebarPanel.css: Ditto. |
| * UserInterface/Main.css: Ditto. |
| * UserInterface/NavigationSidebarPanel.css: Ditto. |
| * UserInterface/Popover.css: Ditto. |
| * UserInterface/QuickConsole.css: Ditto. |
| * UserInterface/ResourceSidebarPanel.css: Ditto. |
| * UserInterface/Toolbar.css: Ditto. |
| |
| * UserInterface/HierarchicalPathComponent.css: Ditto. |
| Plus added min-width: 0 in a couple places to get proper shrinking. |
| |
| * UserInterface/NavigationBar.css: Ditto. |
| Plus added -webkit-flex-wrap: wrap in a couple places to get proper measuring in JavaScript. |
| |
| 2013-02-14 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13200858> Popovers can draw their background twice |
| |
| Since the canvas context may be the very same context across |
| presentations of the popover, ensure that we restore the default |
| state after we're done drawing so that the previous clip path |
| is removed. |
| |
| We also clear the drawing region so that we don't get remnants |
| of the previously drawn frame in case the frame size is the same |
| as for the previous popover presentation. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Popover.js: |
| (WebInspector.Popover.prototype._drawBackground): |
| |
| 2013-02-14 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13192982> Debugger popovers should line-up arrow to match hovered token |
| |
| Use the token's bounds rather than the expression's bounds |
| to present the popover. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype._checkHoveredToken): |
| |
| 2013-02-14 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13209159> Dashboard load timer starts over when recording in the Timeline manually |
| |
| Instead of starting the timer upon starting recording the timeline, use the |
| WebInspector.Frame.Event.MainResourceDidChange event to track load of the |
| main frame only since it's the load of the main frame that we're showing |
| the time for in the dashboard. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DashboardManager.js: |
| (WebInspector.DashboardManager): |
| (WebInspector.DashboardManager.prototype._mainResourceDidChange): |
| |
| 2013-02-13 Timothy Hatcher <timothy@apple.com> |
| |
| Don't fire WebInspector.QuickConsole.Event.DidResize if nothing changed. |
| |
| Part of: <rdar://problem/12745890> Autocomplete slows down my typing in the Web Inspector console while debugging |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole.prototype._updateSize): Only change the style and fire the event |
| if the height of the toolbar or element changed. |
| |
| 2013-02-12 Timothy Hatcher <timothy@apple.com> |
| |
| Speed up selection of deeply nested DOM nodes. |
| |
| <rdar://problem/13201584> UI updates after selecting elements is very slow |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/HierarchicalPathNavigationItem.js: |
| (WebInspector.HierarchicalPathNavigationItem.prototype.updateLayout): Remove a offsetWidth |
| from a loop that also sets style info. |
| |
| 2013-02-12 Timothy Hatcher <timothy@apple.com> |
| |
| Treat an empty URL for frames as "about:blank" for the special empty page. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype._createFrame): |
| |
| 2013-02-13 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13193125> Debugger popovers don't appear for boolean values |
| |
| Don't forget to handle boolean values for the debugger popover. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype.tokenWasHovered.populate): |
| (WebInspector.SourceCodeTextEditor.prototype.tokenWasHovered): |
| (WebInspector.SourceCodeTextEditor.prototype._showPopoverForBoolean): |
| |
| 2013-02-12 Jessie Berlin <jberlin@apple.com> |
| |
| Ran update-safari-localizable-strings. |
| |
| Reviewed by Cody Krieger. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| Updated by the script. |
| |
| 2013-02-11 Timothy Hatcher <timothy@apple.com> |
| |
| Add support for computed style. |
| |
| <rdar://problem/7206272&12526319> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSProperty.js: |
| (WebInspector.CSSProperty.prototype.set text): Return early if not editable. |
| (WebInspector.CSSProperty.prototype.set name): Ditto. |
| (WebInspector.CSSProperty.prototype.get canonicalName): Use CSSStyleManager.canonicalNameForPropertyName. |
| (WebInspector.CSSProperty.prototype.set value): Return early if not editable. |
| (WebInspector.CSSProperty.prototype.set priority): Ditto. |
| (WebInspector.CSSProperty.prototype.set enabled): Ditto. |
| (WebInspector.CSSProperty.prototype.add): Ditto. |
| (WebInspector.CSSProperty.prototype.remove): Ditto. |
| * UserInterface/CSSStyleDeclaration.js: |
| (WebInspector.CSSStyleDeclaration): |
| (WebInspector.CSSStyleDeclaration.prototype.get editable): Added. |
| (WebInspector.CSSStyleDeclaration.prototype.update): Store the property in a map if we aren't editable. |
| (WebInspector.CSSStyleDeclaration.prototype.addProperty): Return early if not editable. |
| (WebInspector.CSSStyleDeclaration.prototype.removeProperty): Ditto. |
| (WebInspector.CSSStyleDeclaration.prototype.propertyForName): Use property map if not editable. |
| * UserInterface/CSSStyleManager.js: |
| (WebInspector.CSSStyleManager.prototype.canonicalNameForPropertyName): Added. Moved from CSSProperty. |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles): |
| (WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle): Added. Moved the finish here. |
| (WebInspector.DOMNodeStyles.prototype.get computedStyle): Added. |
| (WebInspector.DOMNodeStyles.prototype._parseStylePropertyPayload): Handle NaN index better. |
| (WebInspector.DOMNodeStyles.prototype._updateStyleCascade): Use an external effective property map for |
| the main element styles. |
| (WebInspector.DOMNodeStyles.prototype._markOverriddenProperties): Use an external effective property map |
| if one is passed in. |
| |
| 2013-02-11 Timothy Hatcher <timothy@apple.com> |
| |
| Add support for editing rules, styles and properties. |
| |
| <rdar://problem/7206272&12526319> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSProperty.js: |
| (WebInspector.CSSProperty.prototype.set index): Added. |
| (WebInspector.CSSProperty.prototype.update): Delete the pending properties. |
| (WebInspector.CSSProperty.prototype.get text): Use the getters to get the pending values. |
| (WebInspector.CSSProperty.prototype.set text): Added. |
| (WebInspector.CSSProperty.prototype.get name): Return _pendingName if index is NaN. |
| (WebInspector.CSSProperty.prototype.set name): Added. |
| (WebInspector.CSSProperty.prototype.get value): Return _pendingValue if index is NaN. |
| (WebInspector.CSSProperty.prototype.set value): Added. |
| (WebInspector.CSSProperty.prototype.get important): Use priority getter. |
| (WebInspector.CSSProperty.prototype.set important): Added. |
| (WebInspector.CSSProperty.prototype.get priority): Return _pendingPriority if index is NaN. |
| (WebInspector.CSSProperty.prototype.set priority): Added. |
| (WebInspector.CSSProperty.prototype.get enabled): Check ownerStyle and index too. |
| (WebInspector.CSSProperty.prototype.set enabled): Added. |
| (WebInspector.CSSProperty.prototype.add): Added. |
| (WebInspector.CSSProperty.prototype.remove): Added. |
| (WebInspector.CSSProperty.prototype._updatePropertySoon): Added. |
| (WebInspector.CSSProperty.prototype._updatePropertySoon.performUpdate): Added. |
| (WebInspector.CSSProperty.prototype._cancelPendingUpdate): Added. |
| * UserInterface/CSSRule.js: |
| (WebInspector.CSSRule.prototype.set selectorText): Added. |
| (WebInspector.CSSRule.prototype.set selectors): Added. |
| * UserInterface/CSSStyleDeclaration.js: |
| (WebInspector.CSSStyleDeclaration): |
| (WebInspector.CSSStyleDeclaration.prototype.update): Don't set ownerStyle to null anymore |
| since we reuse properties and want them associated still. |
| (WebInspector.CSSStyleDeclaration.prototype.set text): Added. |
| (WebInspector.CSSStyleDeclaration.prototype.get pendingProperties): Added. |
| (WebInspector.CSSStyleDeclaration.prototype.propertyForName): Added. |
| (WebInspector.CSSStyleDeclaration.prototype.propertyForName.findMatch): Added. |
| (WebInspector.CSSStyleDeclaration.prototype.addProperty): Added. |
| (WebInspector.CSSStyleDeclaration.prototype.removeProperty): Added. |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype.ruleSelectorChanged): Added. |
| (WebInspector.DOMNodeStyles.prototype.changeRuleSelector): Added. |
| (WebInspector.DOMNodeStyles.prototype.changeStyleText): Added. |
| (WebInspector.DOMNodeStyles.prototype.changeStyleText.fetchedStyleSheetContent): Added. |
| (WebInspector.DOMNodeStyles.prototype.changeProperty): Added. |
| (WebInspector.DOMNodeStyles.prototype.changePropertyText): Added. |
| (WebInspector.DOMNodeStyles.prototype.changePropertyEnabledState): Added. |
| (WebInspector.DOMNodeStyles.prototype.addProperty): Added. |
| (WebInspector.DOMNodeStyles.prototype.removeProperty): Added. |
| (WebInspector.DOMNodeStyles.prototype._handlePropertyChange): Added. |
| (WebInspector.DOMNodeStyles.prototype._parseStylePropertyPayload): Reuse pending properties. |
| (WebInspector.DOMNodeStyles.prototype._styleSheetContentDidChange): Ignore stylesheets we know |
| we just changed. |
| |
| 2013-02-11 Timothy Hatcher <timothy@apple.com> |
| |
| Mark overridden properties and associate shorthand to longhand properties. |
| |
| <rdar://problem/7206272&12526319> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSProperty.js: |
| (WebInspector.CSSProperty.prototype.update): |
| (WebInspector.CSSProperty.prototype.get canonicalName): Added. |
| (WebInspector.CSSProperty.prototype.get canonicalName.canonicalPropertyName): Added. |
| (WebInspector.CSSProperty.prototype.set overridden): Added. |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles.prototype.refresh.fetchedInlineStyles): Call _updateStyleCascade. |
| (WebInspector.DOMNodeStyles.prototype._updateStyleCascade): Added. |
| (WebInspector.DOMNodeStyles.prototype._collectStylesInCascadeOrder): Added. |
| (WebInspector.DOMNodeStyles.prototype._markOverriddenProperties): Added. |
| (WebInspector.DOMNodeStyles.prototype._associateRelatedProperties): Added. |
| |
| 2013-02-11 Timothy Hatcher <timothy@apple.com> |
| |
| Parse inherited rules, pseudo elements, inline style and attribute styles. |
| |
| <rdar://problem/7206272&12526319> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles): Added maps and properties. |
| (WebInspector.DOMNodeStyles.prototype.refresh.fetchedMatchedStyles): Parse pseudoElementRulesPayload |
| and inheritedRulesPayload. |
| (WebInspector.DOMNodeStyles.prototype.refresh.fetchedInlineStyles): Parse inlineStylePayload and |
| attributesStylePayload. |
| (WebInspector.DOMNodeStyles.prototype.get inheritedRules): Added. |
| (WebInspector.DOMNodeStyles.prototype.get inlineStyle): Added. |
| (WebInspector.DOMNodeStyles.prototype.get attributesStyle): Added. |
| (WebInspector.DOMNodeStyles.prototype.get pseudoElements): Added. |
| (WebInspector.DOMNodeStyles.prototype._styleSheetContentDidChange): Check inherited, |
| inline, attributes and pseudo elements. |
| |
| 2013-02-11 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.CSSStyleDeclaration and WebInspector.CSSProperty and have DOMNodeStyles parse and create them. |
| |
| <rdar://problem/7206272&12526319> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSProperty.js: Added. |
| (WebInspector.CSSProperty): |
| (WebInspector.CSSProperty.prototype.get ownerStyle): |
| (WebInspector.CSSProperty.prototype.set ownerStyle): |
| (WebInspector.CSSProperty.prototype.get index): |
| (WebInspector.CSSProperty.prototype.update): |
| (WebInspector.CSSProperty.prototype.get text): |
| (WebInspector.CSSProperty.prototype.get name): |
| (WebInspector.CSSProperty.prototype.get value): |
| (WebInspector.CSSProperty.prototype.get important): |
| (WebInspector.CSSProperty.prototype.get priority): |
| (WebInspector.CSSProperty.prototype.get enabled): |
| (WebInspector.CSSProperty.prototype.get overridden): |
| (WebInspector.CSSProperty.prototype.get implicit): |
| (WebInspector.CSSProperty.prototype.get valid): |
| (WebInspector.CSSProperty.prototype.get startStyleSheetTextPosition): |
| (WebInspector.CSSProperty.prototype.get endStyleSheetTextPosition): |
| (WebInspector.CSSProperty.prototype.get relatedShorthandProperty): |
| (WebInspector.CSSProperty.prototype.set relatedShorthandProperty): |
| (WebInspector.CSSProperty.prototype.get relatedLonghandProperties): |
| (WebInspector.CSSProperty.prototype.addRelatedLonghandProperty): |
| (WebInspector.CSSProperty.prototype.clearRelatedLonghandProperties): |
| (WebInspector.CSSProperty.prototype.isActive): |
| * UserInterface/CSSStyleDeclaration.js: Added. |
| (WebInspector.CSSStyleDeclaration): |
| (WebInspector.CSSStyleDeclaration.prototype.get id): |
| (WebInspector.CSSStyleDeclaration.prototype.get ownerStyleSheet): |
| (WebInspector.CSSStyleDeclaration.prototype.get type): |
| (WebInspector.CSSStyleDeclaration.prototype.get inherited): |
| (WebInspector.CSSStyleDeclaration.prototype.update): |
| (WebInspector.CSSStyleDeclaration.prototype.get ownerRule): |
| (WebInspector.CSSStyleDeclaration.prototype.set ownerRule): |
| (WebInspector.CSSStyleDeclaration.prototype.get text): |
| (WebInspector.CSSStyleDeclaration.prototype.get properties): |
| (WebInspector.CSSStyleDeclaration.prototype.get startStyleSheetTextPosition): |
| (WebInspector.CSSStyleDeclaration.prototype.get endStyleSheetTextPosition): |
| (WebInspector.CSSStyleDeclaration.prototype.get nodeStyles): |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles): |
| (WebInspector.DOMNodeStyles.prototype._parseStylePropertyPayload): |
| (WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload): |
| (WebInspector.DOMNodeStyles.prototype._parseRulePayload): |
| * UserInterface/Main.html: |
| |
| 2013-02-11 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.CSSRule and WebInspector.CSSMedia and have DOMNodeStyles parse and create them. |
| |
| <rdar://problem/7206272&12526319> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSMedia.js: Added. |
| (WebInspector.CSSMedia): |
| (WebInspector.CSSMedia.prototype.get type): |
| (WebInspector.CSSMedia.prototype.get text): |
| (WebInspector.CSSMedia.prototype.get sourceCodeLocation): |
| * UserInterface/CSSRule.js: Added. |
| (WebInspector.CSSRule): |
| (WebInspector.CSSRule.prototype.get id): |
| (WebInspector.CSSRule.prototype.get ownerStyleSheet): |
| (WebInspector.CSSRule.prototype.update): |
| (WebInspector.CSSRule.prototype.get type): |
| (WebInspector.CSSRule.prototype.get sourceCodeLocation): |
| (WebInspector.CSSRule.prototype.get selectorText): |
| (WebInspector.CSSRule.prototype.get selectors): |
| (WebInspector.CSSRule.prototype.get matchedSelectorIndices): |
| (WebInspector.CSSRule.prototype.get style): |
| (WebInspector.CSSRule.prototype.get mediaList): |
| (WebInspector.CSSRule.prototype.get nodeStyles): |
| * UserInterface/DOMNodeStyles.js: |
| (WebInspector.DOMNodeStyles): |
| (WebInspector.DOMNodeStyles.prototype.refresh.parseRuleMatchArrayPayload): |
| (WebInspector.DOMNodeStyles.prototype.refresh.fetchedMatchedStyles): |
| (WebInspector.DOMNodeStyles.prototype.refresh): |
| (WebInspector.DOMNodeStyles.prototype.get matchedRules): |
| (WebInspector.DOMNodeStyles.prototype._identifierToString): |
| (WebInspector.DOMNodeStyles.prototype._createSourceCodeLocation): |
| (WebInspector.DOMNodeStyles.prototype._parseRulePayload): |
| (WebInspector.DOMNodeStyles.prototype._styleSheetContentDidChange.markAsNeedsRefresh): |
| (WebInspector.DOMNodeStyles.prototype._styleSheetContentDidChange.checkRules): |
| (WebInspector.DOMNodeStyles.prototype._styleSheetContentDidChange): |
| * UserInterface/Main.html: |
| |
| 2013-02-11 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.DOMNodeStyles, a new class to inspect and manage styles for a node. |
| |
| <rdar://problem/7206272&12526319> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleManager.js: |
| (WebInspector.CSSStyleManager): Added _nodeStylesMap. |
| (WebInspector.CSSStyleManager.prototype.stylesForNode): Added. |
| (WebInspector.CSSStyleManager.prototype._mainResourceDidChange): Clear _nodeStylesMap. |
| * UserInterface/DOMNodeStyles.js: Added. |
| (WebInspector.DOMNodeStyles): |
| (WebInspector.DOMNodeStyles.prototype.get node): |
| (WebInspector.DOMNodeStyles.prototype.refreshIfNeeded): |
| (WebInspector.DOMNodeStyles.prototype.refresh.fetchedMatchedStyles): |
| (WebInspector.DOMNodeStyles.prototype.refresh.fetchedInlineStyles): |
| (WebInspector.DOMNodeStyles.prototype.refresh): |
| * UserInterface/Main.html: Added DOMNodeStyles.js. |
| |
| 2013-02-11 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.CSSStyleSheet and start using it. |
| |
| This replaces a collection of maps and content updating functions in CSSStyleManager |
| with a proper SourceCode subclass that manages its info, content and works with branches. |
| |
| <rdar://problem/7206272&12526319> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/BoxModelDetailsSectionRow.js: |
| (WebInspector.BoxModelDetailsSectionRow): Listen for the change event on CSSStyleSheet. |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel): Ditto. |
| * UserInterface/CSSStyleManager.js: |
| (WebInspector.CSSStyleManager): Added event listeners for resources. |
| (WebInspector.CSSStyleManager.prototype.styleSheetForIdentifier): Added. |
| (WebInspector.CSSStyleManager.prototype.styleSheetChanged): Call noteContentDidChange and |
| _updateResourceContent. |
| (WebInspector.CSSStyleManager.prototype._mainResourceDidChange): Added. Clear the maps when the |
| main frame navigates. |
| (WebInspector.CSSStyleManager.prototype._resourceAdded): Added. Call _clearStyleSheetsForResource. |
| (WebInspector.CSSStyleManager.prototype._resourceTypeDidChange): Ditto. |
| (WebInspector.CSSStyleManager.prototype._clearStyleSheetsForResource): Added. |
| (WebInspector.CSSStyleManager.prototype._frameURLMapKey): Added. |
| (WebInspector.CSSStyleManager.prototype._lookupStyleSheetForResource.syleSheetsFetched): Use |
| _styleSheetFrameURLMap instead of _styleSheetInfoMap. |
| (WebInspector.CSSStyleManager.prototype._setContentForStyleSheetIdentifier): Removed. |
| (WebInspector.CSSStyleManager.prototype._lookupStyleSheet): Updated function names. |
| (WebInspector.CSSStyleManager.prototype._fetchInfoForAllStyleSheets): Ditto. |
| (WebInspector.CSSStyleManager.prototype._resourceContentDidChange.applyStyleSheetChanges.styleSheetFound): |
| Use SourceCodeRevision to update the stylesheet content. |
| (WebInspector.CSSStyleManager.prototype._updateResourceContent): Added. |
| (WebInspector.CSSStyleManager.prototype._updateResourceContent.fetchedStyleSheetContent): Added. |
| (WebInspector.CSSStyleManager.prototype._updateResourceContent.styleSheetReady): Added. |
| (WebInspector.CSSStyleManager.prototype._updateResourceContent.applyStyleSheetChanges): Added. |
| * UserInterface/CSSStyleSheet.js: Added. |
| (WebInspector.CSSStyleSheet): |
| (WebInspector.CSSStyleSheet.resetUniqueDisplayNameNumbers): |
| (WebInspector.CSSStyleSheet.prototype.get id): |
| (WebInspector.CSSStyleSheet.prototype.get parentFrame): |
| (WebInspector.CSSStyleSheet.prototype.get url): |
| (WebInspector.CSSStyleSheet.prototype.get urlComponents): |
| (WebInspector.CSSStyleSheet.prototype.get displayName): |
| (WebInspector.CSSStyleSheet.prototype.updateInfo): |
| (WebInspector.CSSStyleSheet.prototype.get revisionForRequestedContent): |
| (WebInspector.CSSStyleSheet.prototype.handleCurrentRevisionContentChange.contentDidChange): |
| (WebInspector.CSSStyleSheet.prototype.handleCurrentRevisionContentChange): |
| (WebInspector.CSSStyleSheet.prototype.canRequestContentFromBackend): |
| (WebInspector.CSSStyleSheet.prototype.requestContentFromBackend): |
| (WebInspector.CSSStyleSheet.prototype.noteContentDidChange): |
| * UserInterface/Main.html: Added CSSStyleSheet.js. |
| * UserInterface/SourceCode.js: |
| (WebInspector.SourceCode.prototype.revisionContentDidChange): Call handleCurrentRevisionContentChange. |
| (WebInspector.SourceCode.prototype.handleCurrentRevisionContentChange): Added. |
| (WebInspector.SourceCode.prototype.get revisionForRequestedContent): Added. |
| (WebInspector.SourceCode.prototype.markContentAsStale): Added. |
| (WebInspector.SourceCode.prototype._processContent): Use revisionForRequestedContent. |
| |
| 2013-02-11 Timothy Hatcher <timothy@apple.com> |
| |
| Remove noteStyleSheetChanged and use the styleSheetChanged backend event. |
| |
| The backend already tells us when a stylesheet changes, so we should use it |
| instead of trying to fire the event when we think it should. |
| |
| <rdar://problem/7206272&12526319> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSObserver.js: |
| (WebInspector.CSSObserver.prototype.styleSheetChanged): Call CSSStyleManager. |
| * UserInterface/CSSStyleManager.js: |
| (WebInspector.CSSStyleManager.prototype.mediaQueryResultChanged): Moved to the top. |
| (WebInspector.CSSStyleManager.prototype.styleSheetChanged): Added. |
| (WebInspector.CSSStyleManager.prototype.noteStyleSheetChanged): Removed. |
| * UserInterface/OldCSSProperty.js: |
| (WebInspector.OldCSSProperty.prototype.callback): Removed call to noteStyleSheetChanged. |
| (WebInspector.OldCSSProperty.prototype.setText): Ditto. |
| (WebInspector.OldCSSProperty.prototype.setDisabled): Ditto. |
| * UserInterface/OldCSSStyleDeclaration.js: |
| (WebInspector.OldCSSStyleDeclaration.prototype.insertPropertyAt): Removed call to noteStyleSheetChanged. |
| |
| 2013-02-11 Timothy Hatcher <timothy@apple.com> |
| |
| Create mappings between shorthand and longhand property names. |
| |
| <rdar://problem/7206272&12526319> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSCompletions.js: |
| (WebInspector.CSSCompletions): Create the mappings. |
| (WebInspector.CSSCompletions.prototype.longhandsForShorthand): Added. |
| (WebInspector.CSSCompletions.prototype.shorthandsForLonghand): Added. |
| |
| 2013-02-11 Timothy Hatcher <timothy@apple.com> |
| |
| Rename current CSS model classes to have "Old" prefixes. |
| |
| This is in preparation for a new and improved CSS model classes. |
| |
| <rdar://problem/7206272&12526319> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleManager.js: |
| (WebInspector.CSSStyleManager.parseRuleArrayPayload): |
| (WebInspector.CSSStyleManager.prototype.): |
| (WebInspector.CSSStyleManager.prototype.getMatchedStylesAsync): |
| (WebInspector.CSSStyleManager.prototype.getComputedStyleAsync): |
| (WebInspector.CSSStyleManager.prototype.getInlineStylesAsync): |
| * UserInterface/Main.html: |
| * UserInterface/OldCSSMedia.js: Renamed from WebInspector/UserInterface/CSSMedia.js. |
| * UserInterface/OldCSSProperty.js: Renamed from WebInspector/UserInterface/CSSProperty.js. |
| * UserInterface/OldCSSRule.js: Renamed from WebInspector/UserInterface/CSSRule.js. |
| * UserInterface/OldCSSStyleDeclaration.js: Renamed from WebInspector/UserInterface/CSSStyleDeclaration.js. |
| * UserInterface/StylePropertiesSection.js: |
| (WebInspector.StylePropertiesSection): |
| (WebInspector.StylePropertiesSection.prototype.onpopulate): |
| |
| 2013-02-12 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/11053300> Profile recording button falsely indicates "recording" if started and then page navigates or refreshes |
| |
| We now correctly keep the recording state across a page reload, |
| only resetting it, as well as removing any previous profile, when |
| we navigate away from the current page. |
| |
| To do so, we alert the sidebar panel when a profile is interrupted |
| such that any old tree item for this profile is pruned and the |
| state of the profile recording button is updated to match that of |
| the profiler. Additionally, when the main frame is refreshed, we |
| attempt to resume profiling by looking for existing, though stale, |
| profile objects, and creating a new one as needed. In cases where |
| we navigate to a new frame, the "Cleared" event is dispatched and |
| the sidebar panel empties itself. |
| |
| Finally, we ensure that the number set for the profile's title |
| reflects the current list of profiles of this type and that any |
| selected CSS profile's content view is hidden if the profile list |
| is cleared. |
| |
| Note that profiles that were recorded prior to the current load |
| will show an empty content view unless they had also been selected |
| prior to a subsequent load. This is a known issue and will be fixed |
| with a followup task. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/InstrumentSidebarPanel.js: |
| (WebInspector.InstrumentSidebarPanel): |
| (WebInspector.InstrumentSidebarPanel.prototype._profilingInterrupted): |
| (WebInspector.InstrumentSidebarPanel.prototype._titleForProfile): |
| (WebInspector.InstrumentSidebarPanel.prototype._profilesCleared): |
| * UserInterface/ProfileManager.js: |
| (WebInspector.ProfileManager.prototype.initialize): |
| (WebInspector.ProfileManager.prototype.setRecordingJavaScriptProfile): |
| (WebInspector.ProfileManager.prototype._mainResourceDidChange): |
| (WebInspector.ProfileManager.prototype._checkForInterruptions): |
| (WebInspector.ProfileManager.prototype._attemptToResumeProfiling): |
| |
| 2013-02-12 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13171934> Control+click on toolbar doesn't bring up toolbar context menu items |
| |
| Don't do any custom handling of mousedown events on the toolbar if |
| the control key was pressed. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Main.js: |
| (WebInspector._toolbarMouseDown): |
| |
| 2013-02-11 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/10854712> REGRESSION (Safari 6): It's hard to see at a glance if a page has any JS/HTML errors/warnings |
| |
| We add a new DashboardManager singleton which taps into events exposed |
| by other managers and classes in order to monitor resources, timeline |
| records and console messages and display the respective counts in a |
| DashboardView. The DashboardView knows how to lay itself out in the |
| various toolbar modes and lets the user jump to various parts of the |
| inspector upon clicking its outlets, while providing useful information |
| as the user hovers over the item with the mouse. |
| |
| Reviewed by Timothy Hatcher and Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/DashboardManager.js: Added. |
| (WebInspector.DashboardManager): |
| (WebInspector.DashboardManager.prototype._resourceWasAdded): |
| (WebInspector.DashboardManager.prototype._resourcesWereCleared): |
| (WebInspector.DashboardManager.prototype._frameWasAdded): |
| (WebInspector.DashboardManager.prototype._resourceSizeDidChange): |
| (WebInspector.DashboardManager.prototype._timelineRecordingStarted): |
| (WebInspector.DashboardManager.prototype._updateTime): |
| (WebInspector.DashboardManager.prototype._consoleMessageAdded): |
| (WebInspector.DashboardManager.prototype._consoleMessageWasRepeated): |
| (WebInspector.DashboardManager.prototype._incrementConsoleMessageType): |
| (WebInspector.DashboardManager.prototype._consoleWasCleared): |
| * UserInterface/DashboardView.css: Added. |
| (.dashboard): |
| (.dashboard > .item): |
| (.dashboard > .item > *): |
| (.dashboard > .item > img): |
| (.dashboard > .item.enabled > img): |
| (.dashboard > .item.enabled:hover > img): |
| (.dashboard > .item > div): |
| (.dashboard > .item.issues > div > div): |
| (.dashboard > .item.enabled > div): |
| (.dashboard > .item.enabled:hover > div): |
| (.dashboard > .resources > img): |
| (.dashboard > .time > img): |
| (.dashboard > .logs > img): |
| (.dashboard > .memory > img): |
| (.dashboard > .errors > img): |
| (.dashboard > .errors.enabled > img): |
| (.dashboard > .errors.enabled:hover > img): |
| (.dashboard > .errors.enabled > div): |
| (.dashboard > .errors.enabled:hover > div): |
| (.dashboard > .issues > img): |
| (.dashboard > .issues.enabled > img): |
| (.dashboard > .issues.enabled:hover > img): |
| (.dashboard > .issues.enabled > div): |
| (.dashboard > .issues.enabled:hover > div): |
| (.toolbar.normal-size.icon-and-label-horizontal > .item-section > .dashboard): |
| (.toolbar.small-size.icon-and-label-vertical > .item-section > .dashboard): |
| (.toolbar.small-size.icon-and-label-vertical > .item-section > .dashboard > .item): |
| (.toolbar.small-size.icon-and-label-vertical > .item-section > .dashboard > .resources): |
| (.toolbar.small-size.icon-and-label-vertical > .item-section > .dashboard > .time): |
| (.toolbar.small-size.icon-and-label-vertical > .item-section > .dashboard > .logs): |
| (.toolbar.small-size.icon-and-label-vertical > .item-section > .dashboard > .memory): |
| (.toolbar.small-size.icon-and-label-vertical > .item-section > .dashboard > .errors): |
| (.toolbar.small-size.icon-and-label-vertical > .item-section > .dashboard > .issues): |
| (.toolbar.normal-size.icon-and-label-vertical > .item-section > .dashboard): |
| (.toolbar.normal-size.icon-and-label-vertical > .item-section > .dashboard > .item): |
| (.toolbar.normal-size.icon-and-label-vertical > .item-section > .dashboard > .resources): |
| (.toolbar.normal-size.icon-and-label-vertical > .item-section > .dashboard > .time): |
| (.toolbar.normal-size.icon-and-label-vertical > .item-section > .dashboard > .logs): |
| (.toolbar.normal-size.icon-and-label-vertical > .item-section > .dashboard > .memory): |
| (.toolbar.normal-size.icon-and-label-vertical > .item-section > .dashboard > .errors): |
| (.toolbar.normal-size.icon-and-label-vertical > .item-section > .dashboard > .issues): |
| * UserInterface/DashboardView.js: Added. |
| (WebInspector.DashboardView): |
| (WebInspector.DashboardView.prototype.get logs): |
| (WebInspector.DashboardView.prototype.set logs): |
| (WebInspector.DashboardView.prototype.get issues): |
| (WebInspector.DashboardView.prototype.set issues): |
| (WebInspector.DashboardView.prototype.get errors): |
| (WebInspector.DashboardView.prototype.set errors): |
| (WebInspector.DashboardView.prototype.set memory): |
| (WebInspector.DashboardView.prototype.set time): |
| (WebInspector.DashboardView.prototype.get resourcesCount): |
| (WebInspector.DashboardView.prototype.set resourcesCount): |
| (WebInspector.DashboardView.prototype.get resourcesSize): |
| (WebInspector.DashboardView.prototype.set resourcesSize): |
| (WebInspector.DashboardView.prototype._appendElementForNamedItem): |
| (WebInspector.DashboardView.prototype._itemWasClicked): |
| (WebInspector.DashboardView.prototype._resourcesWasClicked): |
| (WebInspector.DashboardView.prototype._timeWasClicked): |
| (WebInspector.DashboardView.prototype._consoleItemWasClicked): |
| (WebInspector.DashboardView.prototype._updateResourcesOutlet): |
| (WebInspector.DashboardView.prototype._setItemEnabled): |
| * UserInterface/Images/Errors.svg: Added. |
| * UserInterface/Images/ErrorsEnabled.svg: Added. |
| * UserInterface/Images/Issues.svg: Added. |
| * UserInterface/Images/IssuesEnabled.svg: Added. |
| * UserInterface/Images/Logs.svg: Added. |
| * UserInterface/Images/Memory.svg: Added. |
| * UserInterface/Images/Resources.svg: Added. |
| * UserInterface/Images/Time.svg: Added. |
| * UserInterface/Main.html: |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| * UserInterface/Resource.js: |
| (WebInspector.Resource.prototype.increaseSize): |
| |
| 2013-02-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13184288> REGRESSION: Undo / Redo no longer works in QuickConsole |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/KeyboardShortcut.js: |
| (WebInspector.KeyboardShortcut): |
| (WebInspector.KeyboardShortcut._handleKeyDown): |
| (WebInspector.KeyboardShortcut.prototype.get implicitlyPreventsDefault): |
| (WebInspector.KeyboardShortcut.prototype.set implicitlyPreventsDefault): |
| By default keyboard shortcuts prevent default. Allow the KeyboardShortcut |
| to opt out of implicitly preventing default. That way a keyboard shortcut |
| can be added that does not prevent default. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| The undo and redo keyboard shortcuts will not implicitly prevent default. |
| |
| (WebInspector._undoKeyboardShortcut): |
| (WebInspector._redoKeyboardShortcut): |
| Do not trigger WebInspector.undo or redo if the key event triggered |
| while in a text field. Instead let the event bubble to get default |
| text editing behavior. |
| |
| 2013-02-08 Timothy Hatcher <timothy@apple.com> |
| |
| Only record the load event time for the main frame. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/TimelineManager.js: |
| (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Check the frameId against the |
| mainFrame's id before setting _loadEventTime. |
| |
| 2013-02-07 Timothy Hatcher <timothy@apple.com> |
| |
| Make CSS autocompletion work again when editing a property. |
| |
| <rdar://problem/13058573> REGRESSION: CSS autocompletion broken after OpenSource r123612 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSCompletions.js: |
| (WebInspector.CSSCompletions): Support the change in format of values. |
| |
| 2013-02-07 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13162142> Contextual menu items on the toolbar are missing |
| |
| Pass the event when creating a ContextMenu object instead on calling show(). |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView.prototype._handleContextMenuEvent): |
| * UserInterface/Toolbar.js: |
| (WebInspector.Toolbar.prototype._handleContextMenuEvent): |
| |
| 2013-02-07 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Merge OpenSource r116305 to fix TextPrompt event listener and style leaks. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TextPrompt.js: |
| (WebInspector.TextPrompt.prototype._attachInternal): |
| (WebInspector.TextPrompt.prototype.detach): |
| |
| 2013-02-05 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/11007445> PARITY (WebKit Web Inspector): Support Undo/Redo for DOM changes |
| |
| Wire up Cmd+Z and Cmd+Shift+Z keyboard shortcuts to call DOMAgent's |
| undo() and redo() methods while marking DOM and CSS editing tasks |
| as undoable via the DOMAgent's markUndoableState() method. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/CSSProperty.js: |
| (WebInspector.CSSProperty.prototype.callback): |
| (WebInspector.CSSProperty.prototype.setText): |
| (WebInspector.CSSProperty.prototype.setDisabled): |
| * UserInterface/CSSStyleManager.js: |
| (WebInspector.CSSStyleManager.prototype.): |
| (WebInspector.CSSStyleManager.prototype._setContentForStyleSheetIdentifier): |
| (WebInspector.CSSStyleManager.prototype.callback): |
| (WebInspector.CSSStyleManager.prototype.setRuleSelector): |
| (WebInspector.CSSStyleManager.prototype.addRule): |
| * UserInterface/DOMNode.js: |
| (WebInspector.DOMNode.prototype.setNodeName): |
| (WebInspector.DOMNode.prototype.setNodeValue): |
| (WebInspector.DOMNode.prototype.setAttribute): |
| (WebInspector.DOMNode.prototype.setAttributeValue): |
| (WebInspector.DOMNode.prototype.): |
| (WebInspector.DOMNode.prototype.removeAttribute): |
| (WebInspector.DOMNode.prototype.setOuterHTML): |
| (WebInspector.DOMNode.prototype.removeNode): |
| (WebInspector.DOMNode.prototype.moveTo): |
| (WebInspector.DOMNode.prototype.setPseudoClassEnabled): |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| (WebInspector.undo): |
| (WebInspector.redo): |
| |
| 2013-02-05 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/11133526> PARITY (WebKit Web Inspector): Ability to force pseudo state for an element is missing |
| |
| In order to show submenu items in contextual menus in the Web Inspector, we update ContextMenu.js |
| to be the latest from OpenSource and update the way we use this API in our code so that the event |
| is provided at construction time rather than when calling the .show() method. |
| |
| We also have to update the RWI-specific front-end host in order to recognize the new "subMenu" |
| contextual menu item type and handle its items to show as a submenu item in the NSMenu we |
| create. |
| |
| Then, we allow the possibility to enforce certain pseudo-classes on a DOMNode, which triggers |
| a new event that the style and appearance panels listen to in order to refresh their display |
| and account for any style changes that may result from a pseudo-class being forced. |
| |
| Finally, we add new menu items to the contextual menu of a DOM node in the inspector's DOM |
| tree to allow to "Force CSS Pseudo-Classes". |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/BoxModelDetailsSectionRow.js: |
| (WebInspector.BoxModelDetailsSectionRow): |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel): |
| * UserInterface/ContextMenu.js: |
| (WebInspector.ContextMenuItem): |
| (WebInspector.ContextMenuItem.prototype.id): |
| (WebInspector.ContextMenuItem.prototype.type): |
| (WebInspector.ContextMenuItem.prototype.isEnabled): |
| (WebInspector.ContextMenuItem.prototype.setEnabled): |
| (WebInspector.ContextMenuItem.prototype._buildDescriptor): |
| (WebInspector.ContextSubMenuItem): |
| (WebInspector.ContextSubMenuItem.prototype.appendItem): |
| (WebInspector.ContextSubMenuItem.prototype.appendSubMenuItem): |
| (WebInspector.ContextSubMenuItem.prototype.appendCheckboxItem): |
| (WebInspector.ContextSubMenuItem.prototype.appendSeparator): |
| (WebInspector.ContextSubMenuItem.prototype._pushItem): |
| (WebInspector.ContextSubMenuItem.prototype.isEmpty): |
| (WebInspector.ContextSubMenuItem.prototype._buildDescriptor): |
| (WebInspector.ContextMenu): |
| (WebInspector.ContextMenu.prototype.nextId): |
| (WebInspector.ContextMenu.prototype.show): |
| (WebInspector.ContextMenu.prototype.showSoftMenu): |
| (WebInspector.ContextMenu.prototype._setHandler): |
| (WebInspector.ContextMenu.prototype._buildDescriptor): |
| (WebInspector.ContextMenu.prototype._itemSelected): |
| (WebInspector.ContextMenu.prototype.appendApplicableItems): |
| (WebInspector.ContextMenu.Provider): |
| (WebInspector.ContextMenu.Provider.prototype.appendApplicableItems): |
| (WebInspector.ContextMenu.registerProvider): |
| * UserInterface/DOMNode.js: |
| (WebInspector.DOMNode): |
| (WebInspector.DOMNode.prototype.isXMLNode): |
| (WebInspector.DOMNode.prototype.get enabledPseudoClasses): |
| (WebInspector.DOMNode.prototype.setPseudoClassEnabled): |
| * UserInterface/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.prototype._populateTagContextMenu): |
| (WebInspector.DOMTreeElement.prototype._populateForcedPseudoStateItems.string_appeared_here.forEach): |
| (WebInspector.DOMTreeElement.prototype._populateForcedPseudoStateItems): |
| * UserInterface/DOMTreeOutline.js: |
| (WebInspector.DOMTreeOutline.prototype._contextMenuEventFired): |
| * UserInterface/DataGrid.js: |
| (WebInspector.DataGrid.prototype._contextMenuInDataTable): |
| * UserInterface/ObjectPropertiesSection.js: |
| (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired): |
| (WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired): |
| * UserInterface/Utilities.js: |
| |
| 2013-02-04 Jessie Berlin <jberlin@apple.com> |
| |
| Ran update-safari-localizable-strings. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| 2013-02-04 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13042270> Debugger should be smarter about hovered tokens |
| |
| When notifying that we're hovering a new token, keep going through |
| previous tokens on the same line to find other expressions and . |
| so that a full property chain can be resolved. The result is now |
| stored in a new "fullExpression" property on the "hoveredToken" object. |
| |
| Additionally, the bounds of the token are now those of the full expression |
| such that highlight is correct and the highlight-related APIs have been |
| renamed to work within the context of an expression and not a token. |
| |
| While this patch doesn't handle expressions across several lines, it gets |
| us to parity with what the OpenSource Web Inspector knows how to handle. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype.tokenWasHovered): |
| (WebInspector.SourceCodeTextEditor.prototype._showPopover): |
| (WebInspector.SourceCodeTextEditor.prototype.willDismissPopover): |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.highlightHoveredExpression): |
| (WebInspector.TextEditor.prototype.removeHighlightOnHoveredExpression): |
| (WebInspector.TextEditor.prototype._mouseMovedOverEditor): |
| (WebInspector.TextEditor.prototype._checkHoveredToken): |
| |
| 2013-02-01 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13137010> Console toggle split / full-height button is showing the wrong direction |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView.prototype.shown): |
| (WebInspector.LogContentView.prototype._toggleSplit): |
| Always update the toggle button whenever the log content view is shown. |
| |
| * UserInterface/Main.js: |
| (WebInspector.toggleSplitConsole): |
| This no longer needs to return true or false, so clean it up. |
| |
| 2013-02-01 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/13137050> Clicking Console button in main toolbar should always toggle the console, even if no back history |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Main.js: |
| (WebInspector.toggleConsoleView): |
| When toggling and there is no history, open the source code for the main resource. |
| |
| 2013-02-01 Timothy Hatcher <timothy@apple.com> |
| |
| Add the ability to resize the split console. |
| |
| Part of: <rdar://problem/13118771> Unify the quick console and full console |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Main.css: |
| (#split-content-browser > .navigation-bar): Use row-resize cursor. |
| (#split-content-browser > .navigation-bar .item:not(.flexible-space)): Use default cursor. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Added height setting and event listener. Call _updateSplitConsoleHeight. |
| (WebInspector._updateSplitConsoleHeight): Added. |
| (WebInspector._consoleResizerMouseDown): Added. |
| (WebInspector._consoleResizerMouseDown.dockedResizerDrag): Added. |
| (WebInspector._consoleResizerMouseDown.dockedResizerDragEnd): Added. |
| |
| 2013-01-30 Timothy Hatcher <timothy@apple.com> |
| |
| Gut the old Quick Console except the prompt and make the Console view use the Quick Console prompt. |
| |
| Part of: <rdar://problem/13118771> Unify the quick console and full console |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView): Use the quick console prompt. Don't append a <br> now that the prompt |
| isn't in the view. |
| (WebInspector.LogContentView.prototype.didAppendConsoleMessage): Added. |
| (WebInspector.LogContentView.prototype.promptDidChangeHeight): Added. |
| * UserInterface/QuickConsole.css: Removed unused rules. |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole): |
| (WebInspector.QuickConsole.prototype.updateLayout): Just call _updateSize. |
| (WebInspector.QuickConsole.prototype._updateSize): Added. |
| (WebInspector.QuickConsole.prototype._toggleOrFocus): Call WebInspector.toggleConsoleView. |
| |
| 2013-01-30 Timothy Hatcher <timothy@apple.com> |
| |
| Add the ability to show a second content browser at the bottom for the console view. |
| |
| Part of: <rdar://problem/13118771> Unify the quick console and full console |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser.prototype.get element): Added. |
| * UserInterface/Images/SplitToggleDown.pdf: Added. |
| * UserInterface/Images/SplitToggleUp.pdf: Added. |
| * UserInterface/InspectorFrontendAPI.js: |
| (InspectorFrontendAPI.showConsole): Use toggleConsoleView instead. |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView): Create a navigation item for toggling the split. |
| (WebInspector.LogContentView.prototype.get navigationItems): Include the new item. |
| (WebInspector.LogContentView.prototype._toggleSplit): Added. |
| * UserInterface/Main.css: |
| (#split-content-browser): Added. |
| * UserInterface/Main.html: Added #split-content-browser element. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Create settings and the split content browser. |
| (WebInspector.prefersUsingSplitConsole): Added. |
| (WebInspector.isShowingSplitConsole): Added. |
| (WebInspector.toggleSplitConsole): Added. |
| (WebInspector.showSplitConsole): Added. |
| (WebInspector.hideSplitConsole): Added. |
| (WebInspector.showFullHeightConsole): Added. |
| (WebInspector.isShowingConsoleView): Added. |
| (WebInspector.showConsoleView): Call showSplitConsole or showFullHeightConsole. |
| (WebInspector.toggleConsoleView): Added. |
| (WebInspector._contentBrowserCurrentContentViewDidChange): Added. Update the console |
| button activated state. |
| |
| 2013-02-01 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/12808694> Enter and Shift+Enter should search forward and backwards |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/FindBanner.js: |
| (WebInspector.FindBanner): |
| Initialize new member variables. |
| |
| (WebInspector.FindBanner.prototype._inputFieldKeyDown): |
| (WebInspector.FindBanner.prototype._inputFieldKeyUp): |
| Track when the shift key is down inside the search field. Also track |
| when the enter key is pressed to trigger the input's "search" event. |
| We only want to respect shift when the user hits enter to search. |
| |
| (WebInspector.FindBanner.prototype._inputFieldSearch): |
| If the search value stayed the same, and there are search results, |
| and the user hit enter, then search forwards or backwards. |
| |
| 2013-01-31 Antoine Quint <graouts@apple.com> |
| |
| Followup fixes after <rdar://problem/11279186> REGRESSION (Safari 6): Timeline |
| view missing type filters. Addresses the good feedback from JoePeck. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TimelineDataGrid.js: |
| (WebInspector.TimelineDataGrid): |
| (WebInspector.TimelineDataGrid.prototype._scopeBarSelectedItemsDidChange): |
| * UserInterface/TimelinesContentView.js: |
| |
| 2013-01-31 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13085826> Add stubs for new Page protocol events (frameStartedLoading, etc.) |
| |
| WebCore added a bunch of Page events in http://trac.webkit.org/changeset/140649. We're |
| registering them and providing stub handlers until we actually do something with them. |
| This removes some annoying errors in the Inception console output. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/InspectorBackendCommands.js: |
| * UserInterface/PageObserver.js: |
| (WebInspector.PageObserver.prototype.frameDetached): |
| (WebInspector.PageObserver.prototype.frameStartedLoading): |
| (WebInspector.PageObserver.prototype.frameStoppedLoading): |
| (WebInspector.PageObserver.prototype.frameScheduledNavigation): |
| (WebInspector.PageObserver.prototype.frameClearedScheduledNavigation): |
| |
| 2013-01-31 Antoine Quint <graouts@apple.com> |
| |
| Followup fix to <rdar://problem/10981607> REGRESSION (Safari 6): CSS and JavaScript profiles need a visible way to toggle between absolute times and percentages. |
| |
| * UserInterface/ProfileView.js: |
| (WebInspector.ProfileView): |
| |
| 2013-01-30 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13115633> JavaScript profiles percentage values don't have the "%" symbol in them |
| |
| Ensure we add the "%" symbol to values reported in the JS profile data |
| grid when percents are used. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/ProfileDataGridTree.js: |
| (WebInspector.ProfileDataGridNode.prototype.get data): |
| |
| 2013-01-30 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13101516> REGRESSION: JavaScript profile recorded from Web Inspector UI never finishes |
| |
| Two changes made in WebCore broke our support for JavaScript profiling. The first introduced by |
| http://trac.webkit.org/changeset/126580 was that ProfilerAgent.getProfileHeaders() needed to be |
| called for any addProfileHeader event to be dispatched to the front-end. The second issue was |
| introduced by http://trac.webkit.org/changeset/139998 which changed the backend API in a non- |
| backward-compatible way so that ProfilerAgent.getProfile() was split in two methods: |
| getCPUProfile() and getHeapSnapshot(). |
| |
| This patch simply adds a call to ProfilerAgent.getProfileHeaders() as soon as the ProfilerAgent |
| is enabled and also changes the backend we register and call to get the profile to use the |
| most current WebCore API. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/InspectorBackendCommands.js: |
| * UserInterface/JavaScriptProfileView.js: |
| (WebInspector.JavaScriptProfileView): |
| * UserInterface/ProfileManager.js: |
| (WebInspector.ProfileManager): |
| |
| 2013-01-29 Timothy Hatcher <timothy@apple.com> |
| |
| Stop showing "undefined" and empty scope bar items in the Timeline view. |
| |
| <rdar://problem/13109468> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView.prototype._makeColumnScopeBar): Check the type of the value, |
| not the type of the key. |
| |
| 2013-01-29 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/11279186> REGRESSION (Safari 6): Timeline view missing type filters |
| |
| We now add a ScopeBar above the data grid shown for the currently selected record |
| type as the data grid is hovered. The filtered type is set by adding a .scopeBar |
| property on the column descriptor and the filtering code is ready to be able to |
| deal with multiple filterable types per data grid if/when we decide to do this. |
| However, the UI code only knows how to handle one filterable column per data grid |
| as it stands. The scope bar showing above the data grid fits snuggly where the timeline |
| would usually show and has a 10px invisible padding at the top to ensure the user |
| doesn't mouse out of it too easily. |
| |
| The hot path _updatePendingRecordsWithNewBounds was updated to filter the pending |
| records taking into account the current filters, and a new _refreshAllRecordsForCurrentDataGrid |
| method was added to deal with changes of filters, which takes a less optimized and |
| more brutal path. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ScopeBar.js: |
| (WebInspector.ScopeBar.prototype.get defaultItem): |
| * UserInterface/TimelineDataGrid.js: |
| (WebInspector.TimelineDataGrid): |
| (WebInspector.TimelineDataGrid.prototype._scopeBarSelectedItemsDidChange): |
| * UserInterface/TimelinesContentView.css: |
| (.content-view.timelines > .data-grid > .navigation-bar-container): |
| (.content-view.timelines > .data-grid:hover > .navigation-bar-container): |
| (.content-view.timelines > .data-grid > .navigation-bar-container > .navigation-bar): |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView): |
| (WebInspector.TimelinesContentView.prototype._updatePendingRecordsWithNewBounds): |
| (WebInspector.TimelinesContentView.prototype._scheduleGridNodeForRefresh): |
| (WebInspector.TimelinesContentView.prototype._makeColumnScopeBar): |
| (WebInspector.TimelinesContentView.prototype._dataGridFiltersDidChange): |
| (WebInspector.TimelinesContentView.prototype._refreshAllRecordsForCurrentDataGrid): |
| (WebInspector.TimelinesContentView.prototype.filterableValueForRecordAndIdentifier): |
| (WebInspector.TimelinesContentView.prototype._filterRecordsWithType): |
| |
| 2013-01-29 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/10981607> REGRESSION (Safari 6): CSS and JavaScript profiles need a visible way to toggle between absolute times and percentages |
| |
| Refactoring the CSSSelectorProfileView and JavaScriptProfileView classes to both |
| inherit from the new ProfileView class which provide a navigation bar item to |
| toggle how times are displayed (absolute times vs. a percentage) via a % icon. |
| |
| This was also the chance to simplify the settings used in the JavaScriptProfileView |
| which used three different settings for the self, total and average columns. Now these |
| columns shared the same setting. |
| |
| Note that part of this patch is speculative due to <rdar://problem/13101516> REGRESSION: |
| Profile recorded from Web Inspector UI never finishes. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/CSSSelectorProfileView.js: |
| (WebInspector.CSSSelectorProfileView): |
| (WebInspector.CSSSelectorProfileView.prototype.toggleTimeDisplay): |
| (WebInspector.CSSSelectorProfileView.prototype._sortProfile): |
| * UserInterface/Images/Percent.pdf: Added. |
| * UserInterface/JavaScriptProfileView.js: |
| (WebInspector.JavaScriptProfileView.profileCallback): |
| (WebInspector.JavaScriptProfileView): |
| (WebInspector.JavaScriptProfileView.prototype.toggleTimeDisplay): |
| * UserInterface/Main.html: |
| * UserInterface/ProfileDataGridTree.js: |
| (WebInspector.ProfileDataGridNode.prototype.get data): |
| * UserInterface/ProfileView.js: Added. |
| (WebInspector.ProfileView): |
| (WebInspector.ProfileView.prototype.get navigationItems): |
| (WebInspector.ProfileView.prototype.get profile): |
| (WebInspector.ProfileView.prototype.set profile): |
| (WebInspector.ProfileView.prototype.toggleTimeDisplay): |
| |
| 2013-01-26 Timothy Hatcher <timothy@apple.com> |
| |
| Update CodeMirror to from 3.0 to 3.0.2. |
| |
| https://github.com/marijnh/CodeMirror/compare/v3.0...v3.02 |
| |
| Reviewed by Ricky Mondello. |
| |
| * UserInterface/External/CodeMirror/LICENSE: Updated. |
| * UserInterface/External/CodeMirror/codemirror.css: Updated. |
| * UserInterface/External/CodeMirror/codemirror.js: Updated. |
| * UserInterface/External/CodeMirror/css.js: Updated. |
| * UserInterface/External/CodeMirror/javascript.js: Updated. |
| * UserInterface/External/CodeMirror/runmode.js: Updated. |
| * UserInterface/External/CodeMirror/searchcursor.js: Updated. |
| * UserInterface/External/CodeMirror/xml.js: Updated. |
| * UserInterface/TextEditor.css: |
| (.text-editor > .CodeMirror pre): Dropped the ":not(.CodeMirror-cursor)". |
| Since CodeMirror-cursor is now a div. |
| |
| 2013-01-25 Timothy Hatcher <timothy@apple.com> |
| |
| Account for a difference in how frames load about:blank. |
| |
| There was a change in how about:blank frame loads are reported over the Inspector |
| protocol that was causing a far reaching exception to break parts of the Inspector. |
| |
| <rdar://problem/13067806> REGRESSION: Timeline fail to record anything in some cases |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype.frameDidNavigate): If the frame isn't known, then |
| create a new resource which will make a new frame. Mark is as loaded at the end too since we don't |
| expect any more events about the load finishing for these frames. |
| |
| 2013-01-24 Timothy Hatcher <timothy@apple.com> |
| |
| Reduce the number layouts and style recalculations when switching views or updating |
| the navigation bar when the selection changes. |
| |
| <rdar://problem/12975185> 30 second hang inspecting scrolling perf results page |
| <rdar://problem/11349044> Changing element selection in the Web Inspector hangs |
| for ~2s because JavaScript forces 27 layouts |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/HierarchicalPathNavigationItem.js: |
| (WebInspector.HierarchicalPathNavigationItem.prototype.set components): Use updateLayoutSoon. |
| * UserInterface/NavigationBar.js: |
| (WebInspector.NavigationBar.prototype.insertNavigationItem): Use updateLayoutSoon. Remove explicit |
| call to _updateStyle and set _needsStyleUpdated instead. |
| (WebInspector.NavigationBar.prototype.removeNavigationItem): Ditto. |
| (WebInspector.NavigationBar.prototype.updateLayoutSoon): Added. |
| (WebInspector.NavigationBar.prototype.updateLayoutSoon.update): Added. |
| (WebInspector.NavigationBar.prototype.updateLayout): Clear _needsLayout. Call _updateStyle if |
| _needsStyleUpdated is true. |
| (WebInspector.NavigationBar.prototype._updateStyle): Clear _needsStyleUpdated. |
| * UserInterface/NavigationItem.js: |
| (WebInspector.NavigationItem.prototype.set hidden): Use updateLayoutSoon. |
| |
| 2013-01-24 Timothy Hatcher <timothy@apple.com> |
| |
| Show the resource and line info in the Initiator column, next to the function name. |
| |
| This helps further identify which file and line the event occurred on without needing |
| to hover for the tooltip. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/LayoutTimelineDataGridNode.js: |
| (WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent): Add a subtitle |
| element so the resource name is visible. |
| * UserInterface/TimelinesContentView.css: |
| (.content-view.timelines > .data-grid td .subtitle::before): Added. Show a emdash |
| before the subtitle. |
| |
| 2013-01-23 Timothy Hatcher <timothy@apple.com> |
| |
| Make editing CSS resources work and update the page live. |
| |
| <rdar://problem/3143094> Edit-mode for resources (local substation of resources) (16440) |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleManager.js: |
| (WebInspector.CSSStyleManager): |
| (WebInspector.CSSStyleManager.prototype.noteStyleSheetChanged.gotStyleSheetText): Implement the FIXME. |
| (WebInspector.CSSStyleManager.prototype._lookupStyleSheetIdentifiersForResource): Added. |
| (WebInspector.CSSStyleManager.prototype._lookupStyleSheetIdentifiers): Added. |
| (WebInspector.CSSStyleManager.prototype._setContentForStyleSheetIdentifier): Added. |
| (WebInspector.CSSStyleManager.prototype._resourceContentDidChange): Added. |
| (WebInspector.CSSStyleManager.prototype._resourceContentDidChange.applyStyleSheetChanges): Added. |
| (WebInspector.CSSStyleManager.prototype._resourceContentDidChange.applyStyleSheetChanges.styleSheetIdentifiersFound): Added. |
| * UserInterface/SourceCode.js: |
| (WebInspector.SourceCode.prototype.set currentRevision): Fire ContentDidChange event. |
| (WebInspector.SourceCode.prototype.revisionContentDidChange): Ditto. |
| (WebInspector.SourceCode.prototype._processContent): Ignore content change events for original content. |
| * UserInterface/SourceCodeRevision.js: |
| (WebInspector.SourceCodeRevision.prototype.set content): Call revisionContentDidChange on SourceCode. |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor): Listen for change event. |
| (WebInspector.TextEditor.prototype.set string): Ignore change event when setting the string. |
| (WebInspector.TextEditor.prototype.get readOnly): Added. |
| (WebInspector.TextEditor.prototype.set readOnly): Added. |
| (WebInspector.TextEditor.prototype._contentChanged): Added. |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView): Listen for SourceCode ContentDidChange event. |
| (WebInspector.TextResourceContentView.prototype.closed): Remove ContentDidChange event listener. |
| (WebInspector.TextResourceContentView.prototype._contentWillPopulate): Make editor writable for CSS. |
| (WebInspector.TextResourceContentView.prototype._sourceCodeContentDidChange): Added. Update editor content. |
| (WebInspector.TextResourceContentView.prototype._textEditorContentDidChange): Added. Update source code content. |
| |
| 2013-01-22 Timothy Hatcher <timothy@apple.com> |
| |
| Clean up how CSSStyleManager tracks stylesheet changes. |
| |
| Replaces _fireStyleSheetChanged with noteStyleSheetChanged and populates stylesheet |
| identifiers for later use. |
| |
| <rdar://problem/3143094> Edit-mode for resources (local substation of resources) (16440) |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSProperty.js: |
| (WebInspector.CSSProperty.prototype.callback): Use noteStyleSheetChanged instead of _fireStyleSheetChanged. |
| (WebInspector.CSSProperty.prototype.setText): Ditto. |
| (WebInspector.CSSProperty.prototype.setDisabled): Ditto. |
| * UserInterface/CSSStyleDeclaration.js: |
| (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt): Use noteStyleSheetChanged instead of _fireStyleSheetChanged. |
| * UserInterface/CSSStyleManager.js: |
| (WebInspector.CSSStyleManager): |
| (WebInspector.CSSStyleManager.prototype.noteStyleSheetChanged): Added. |
| (WebInspector.CSSStyleManager.prototype.noteStyleSheetChanged.gotStyleSheetText): Added. |
| (WebInspector.CSSStyleManager.prototype.noteStyleSheetChanged.syleSheetsFetched): Added. |
| (WebInspector.CSSStyleManager.prototype._fetchInfoForAllStyleSheets): Added. Populate the identifier maps. |
| (WebInspector.CSSStyleManager.prototype.setRuleSelector): Use noteStyleSheetChanged instead of _fireStyleSheetChanged. |
| (WebInspector.CSSStyleManager.prototype.addRule): Ditto. |
| * UserInterface/CSSStyleSheet.js: Removed. |
| * UserInterface/Main.html: Removed CSSStyleSheet.js. |
| |
| 2013-01-22 Timothy Hatcher <timothy@apple.com> |
| |
| Add a BranchManager class for tracking various branches. |
| |
| There are two initial branches -- Original and Working Copy. Currently |
| the Working Copy is always the current branch, but this will be controllable |
| from the user interface at some point. |
| |
| <rdar://problem/3143094> Edit-mode for resources (local substation of resources) (16440) |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/BranchManager.js: Added. |
| (WebInspector.BranchManager): |
| (WebInspector.BranchManager.prototype.get branches): |
| (WebInspector.BranchManager.prototype.get currentBranch): |
| (WebInspector.BranchManager.prototype.set currentBranch): |
| (WebInspector.BranchManager.prototype.createBranch): |
| (WebInspector.BranchManager.prototype.deleteBranch): |
| * UserInterface/Main.html: |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Instantiate BranchManager. |
| |
| 2013-01-22 Timothy Hatcher <timothy@apple.com> |
| |
| Add a SourceCodeRevision class for recording changes to SourceCode objects. |
| |
| Offloads the the content and contentIsBase64Encoded properties to SourceCodeRevision. |
| SourceCode now creates an original revision that holds the original content. In addition |
| to the original revision, there is a current revision that can be set to point to different |
| content based on the original. |
| |
| <rdar://problem/3143094> Edit-mode for resources (local substation of resources) (16440) |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Branch.js: |
| (WebInspector.Branch.prototype.revisionForRepresentedObject): Added. Helper for finding or |
| creating a new revision for an object. |
| * UserInterface/Main.html: |
| * UserInterface/SourceCode.js: |
| (WebInspector.SourceCode): |
| (WebInspector.SourceCode.prototype.get originalRevision): Added. |
| (WebInspector.SourceCode.prototype.get currentRevision): Added. |
| (WebInspector.SourceCode.prototype.set currentRevision): Added. |
| (WebInspector.SourceCode.prototype.get content): Use currentRevision. |
| (WebInspector.SourceCode.prototype.get contentIsBase64Encoded): Use currentRevision. |
| (WebInspector.SourceCode.prototype._processContent): Set originalRevision content. |
| * UserInterface/SourceCodeRevision.js: Added. |
| (WebInspector.SourceCodeRevision): |
| (WebInspector.SourceCodeRevision.prototype.get sourceCode): |
| (WebInspector.SourceCodeRevision.prototype.get content): |
| (WebInspector.SourceCodeRevision.prototype.set content): |
| (WebInspector.SourceCodeRevision.prototype.get contentIsBase64Encoded): |
| (WebInspector.SourceCodeRevision.prototype.set contentIsBase64Encoded): |
| (WebInspector.SourceCodeRevision.prototype.apply): Set currentRevision to point to this. |
| (WebInspector.SourceCodeRevision.prototype.revert): Set currentRevision to point to the original. |
| (WebInspector.SourceCodeRevision.prototype.copy): Copy the content and create a new SourceCodeRevision. |
| |
| 2013-01-22 Timothy Hatcher <timothy@apple.com> |
| |
| Add a BranchManager class for tracking various branches. |
| |
| There are two initial branches -- Original and Working Copy. Currently |
| the Working Copy is always the current branch, but this will be controllable |
| from the user interface at some point. |
| |
| <rdar://problem/3143094> Edit-mode for resources (local substation of resources) (16440) |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/BranchManager.js: Added. |
| (WebInspector.BranchManager): |
| (WebInspector.BranchManager.prototype.get branches): |
| (WebInspector.BranchManager.prototype.get currentBranch): |
| (WebInspector.BranchManager.prototype.set currentBranch): |
| (WebInspector.BranchManager.prototype.createBranch): |
| (WebInspector.BranchManager.prototype.deleteBranch): |
| * UserInterface/Main.html: |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Instantiate BranchManager. |
| |
| 2013-01-22 Timothy Hatcher <timothy@apple.com> |
| |
| Add a Branch and Revision class for tracking edits in the Inspector. |
| |
| These classes are not used yet and will be used in subsequent changes. |
| A branch holds revisions that are differences from the original page. |
| Concrete revision subclasses will know the specifics about the edited |
| part of the page and how to apply or revert the change. |
| |
| <rdar://problem/3143094> Edit-mode for resources (local substation of resources) (16440) |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Branch.js: Added. |
| (WebInspector.Branch): |
| (WebInspector.Branch.prototype.get displayName): |
| (WebInspector.Branch.prototype.set displayName): |
| (WebInspector.Branch.prototype.get revisions): |
| (WebInspector.Branch.prototype.get locked): |
| (WebInspector.Branch.prototype.addRevision): |
| (WebInspector.Branch.prototype.removeRevision): |
| (WebInspector.Branch.prototype.reset): |
| (WebInspector.Branch.prototype.apply): |
| (WebInspector.Branch.prototype.revert): |
| (WebInspector.Branch.prototype.lock): |
| (WebInspector.Branch.prototype.unlock): |
| * UserInterface/Main.html: |
| * UserInterface/Revision.js: Added. |
| (WebInspector.Revision): |
| (WebInspector.Revision.prototype.apply): |
| (WebInspector.Revision.prototype.revert): |
| (WebInspector.Revision.prototype.copy): |
| |
| 2013-01-22 Timothy Hatcher <timothy@apple.com> |
| |
| Move contentURL from SourceCode to Resource since _mimeType is |
| only available on Resource. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/Resource.js: |
| (WebInspector.Resource.prototype.get contentURL): Added. |
| * UserInterface/SourceCode.js: |
| (WebInspector.SourceCode.prototype.get contentURL): Removed. |
| |
| 2013-01-23 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13069440> Switching away from debugger using keyboard shortcut retains popover on screen |
| |
| Dismiss the popover upon hiding the debugger. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype.hidden): |
| |
| 2013-01-23 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13059630> Move debugger popover display support to SourceCodeTextEditor |
| |
| Split code between TextEditor and SourceCodeTextEditor such that TextEditor handles all |
| the user interaction and the interfacing with CodeMirror and notifies subclasses using |
| the .tokenWasHovered() method and keeping the currently hovered token in .hoveredToken. |
| This token contains the bounds of the hovered token as well as its expression, type, |
| start and end characters information. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/SourceCodeTextEditor.css: |
| (.popover .debugger-popover-content): |
| (.popover .expandable): |
| (.popover .debugger-popover-content .title): |
| (.popover .debugger-popover-content .body): |
| (.popover .debugger-popover-content.function .body): |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor): |
| (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameDidChange): |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointToggled): |
| (WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause): |
| (WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume): |
| (WebInspector.SourceCodeTextEditor.prototype.tokenWasHovered.populate): |
| (WebInspector.SourceCodeTextEditor.prototype.tokenWasHovered): |
| (WebInspector.SourceCodeTextEditor.prototype._showPopover): |
| (WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction.didGetDetails): |
| (WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction): |
| (WebInspector.SourceCodeTextEditor.prototype._showPopoverForObject): |
| (WebInspector.SourceCodeTextEditor.prototype._showPopoverForString): |
| (WebInspector.SourceCodeTextEditor.prototype._showPopoverForNumber): |
| (WebInspector.SourceCodeTextEditor.prototype.willDismissPopover): |
| * UserInterface/TextEditor.css: |
| (.text-editor > .CodeMirror .hovered-token-highlight): |
| (@-webkit-keyframes text-editor-hovered-token-highlight-fadeout): |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor): |
| (WebInspector.TextEditor.prototype.startTrackingTokenHovering): |
| (WebInspector.TextEditor.prototype.stopTrackingTokenHovering): |
| (WebInspector.TextEditor.prototype.handleEvent): |
| (WebInspector.TextEditor.prototype.highlightHoveredToken): |
| (WebInspector.TextEditor.prototype.removeHighlightOnHoveredToken): |
| (WebInspector.TextEditor.prototype.tokenWasHovered): |
| (WebInspector.TextEditor.prototype._openClickedLinks): |
| (WebInspector.TextEditor.prototype._mouseMovedOverEditor): |
| (WebInspector.TextEditor.prototype._mouseMovedOutOfEditor): |
| (WebInspector.TextEditor.prototype._checkHoveredToken): |
| |
| 2013-01-22 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13059425> Console filters should persist across sessions |
| |
| Make ScopeBarItem save their selected state in a WebInspector.Setting that |
| we read from to set the initial state. This change requires consumers of the |
| ScopeBar class to ensure they don't just rely on selection change events |
| but also run an initial update to match selected ScopeBarItems upon creation, |
| so we update LogContentView to do this. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView): |
| (WebInspector.LogContentView.prototype._scopeBarSelectionDidChange): |
| * UserInterface/ScopeBar.js: |
| (WebInspector.ScopeBar): |
| (WebInspector.ScopeBar.prototype.get selectedItems): |
| (WebInspector.ScopeBar.prototype._populate): |
| (WebInspector.ScopeBar.prototype._itemSelectionDidChange): |
| * UserInterface/ScopeBarItem.js: |
| (WebInspector.ScopeBarItem): |
| (WebInspector.ScopeBarItem.prototype.get selected): |
| (WebInspector.ScopeBarItem.prototype.setSelected): |
| (WebInspector.ScopeBarItem.prototype._markElementSelected): |
| |
| 2013-01-22 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/11651957> REGRESSION (Safari 6): Does not show var value on hover in the debugger |
| |
| Display a popover for any variable or function definition in the text editor |
| hovered long enough (500ms) during a debugging session. The popover contains |
| the expression as evaluated by the DebuggerAgent. Each value type has a specialized |
| display as borrowed from OpenSource code (from ObjectPopoverHelper) and adapted to fit |
| our coding style. |
| |
| We do a fair bit of nifty work to avoid unwanted actions. For instance, we track mouseout |
| events to identify when the user mouses out of the editor so that we can reset the hover |
| state and avoid having whatever was the last hovered token show a popover even though we |
| may have exited the editor along the way. Additionally, we track the pressed state of the |
| mouse button to avoid having the popover show during a selection. |
| |
| We're also making various enhancements to the Popover class to support the attachment of |
| popovers to tokens in the TextEditor as the debugger is paused. Here are the highlights: |
| |
| - adopt UIKit-like terminology for present/dismiss methods. |
| - let consumers of the Popover API provide bounds instead of an element as a reference to |
| which the popover should be attached, removing the dependency on having an element to work with. |
| - make the popover's element private since it really needs not to be customised as presentation |
| is fully managed by the popover itself, however allow a `content` element to be provided to |
| the .present() method and letting the popover host it as needed. |
| - no longer remove the popover on window blur as OpenSource leaves it on display and it makes |
| debugging of the popover difficult. |
| - handle padding of the popover frame in code for computations of the tighter bounding box |
| as we can't have it done in CSS until we already know what edge we end up using for the popover. |
| - begin to offer a delegation protocol for popovers, right now willDismiss / didDismiss. |
| - horizontal and vertically align content that is smaller than the minimal bounds of the popover. |
| |
| Reviewed by Joseph Pecoraro and Timothy Hatcher. |
| |
| * UserInterface/Main.html: |
| * UserInterface/Popover.css: |
| (.popover): |
| (.popover > .container): |
| (.popover > .container.center): |
| (.popover.arrow-up > .container): |
| (.popover.arrow-right > .container): |
| (.popover.arrow-down > .container): |
| (.popover.arrow-left > .container): |
| * UserInterface/Popover.js: |
| (WebInspector.Popover): |
| (WebInspector.Popover.prototype.set frame): |
| (WebInspector.Popover.prototype.present): |
| (WebInspector.Popover.prototype.dismiss): |
| (WebInspector.Popover.prototype.handleEvent): |
| (WebInspector.Popover.prototype._cssClassNameForEdge): |
| (WebInspector.Popover.prototype._bestFrameForEdge): |
| * UserInterface/TextEditor.css: |
| (.text-editor > .CodeMirror .popover-highlight): |
| (@-webkit-keyframes text-editor-popover-highlight-fadeout): |
| (to): |
| (.popover .debugger-popover-content): |
| (.popover .expandable): |
| (.popover .debugger-popover-content .title): |
| (.popover .debugger-popover-content .body): |
| (.popover .debugger-popover-content.function .body): |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor): |
| (WebInspector.TextEditor.prototype._openClickedLinks): |
| (WebInspector.TextEditor.prototype._debuggerDidPause): |
| (WebInspector.TextEditor.prototype._debuggerDidResume): |
| (WebInspector.TextEditor.prototype._debuggerActiveCallFrameDidChange): |
| (WebInspector.TextEditor.prototype.handleEvent): |
| (WebInspector.TextEditor.prototype._mouseMovedOverEditor): |
| (WebInspector.TextEditor.prototype._mouseMovedOutOfEditor): |
| (WebInspector.TextEditor.prototype._mouseButtonWasPressedOverEditor): |
| (WebInspector.TextEditor.prototype._mouseButtonWasReleasedOverEditor): |
| (WebInspector.TextEditor.prototype._windowLostFocus): |
| (WebInspector.TextEditor.prototype._tokenWasHovered): |
| (WebInspector.TextEditor.prototype._populateCallback): |
| (WebInspector.TextEditor.prototype._showPopover): |
| (WebInspector.TextEditor.prototype._showPopoverForFunction.didGetDetails): |
| (WebInspector.TextEditor.prototype._showPopoverForFunction): |
| (WebInspector.TextEditor.prototype._showPopoverForObject): |
| (WebInspector.TextEditor.prototype._showPopoverForString): |
| (WebInspector.TextEditor.prototype._showPopoverForNumber): |
| (WebInspector.TextEditor.prototype.willDismissPopover): |
| |
| 2013-01-22 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/12243633> REGRESSION (Safari 6): Console missing type filters |
| |
| Adding a new ScopeBar subclass of NavigationItem to allow the display of scope |
| options in a navigation bar. Use this new class in LogContentView to display |
| All / Errors / Warnings / Logs options in the right part of the view's navigation bar. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser.prototype._updateContentViewNavigationItems): |
| * UserInterface/LogContentView.css: |
| (.console-messages.supress-logs .console-log-level): |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView): |
| (WebInspector.LogContentView.prototype.get navigationItems): |
| (WebInspector.LogContentView.prototype._clearLog): |
| (WebInspector.LogContentView.prototype._scopeBarSelectionDidChange.toggle): |
| (WebInspector.LogContentView.prototype._scopeBarSelectionDidChange): |
| * UserInterface/Main.html: |
| * UserInterface/ScopeBar.css: Added. |
| (.scope-bar): |
| (.scope-bar > li): |
| (.scope-bar > li:active): |
| (.scope-bar > li:hover): |
| (.scope-bar > li.selected): |
| * UserInterface/ScopeBar.js: Added. |
| (WebInspector.ScopeBar): |
| (WebInspector.ScopeBar.prototype.item): |
| (WebInspector.ScopeBar.prototype._populate): |
| (WebInspector.ScopeBar.prototype._itemSelectionDidChange): |
| * UserInterface/ScopeBarItem.js: Added. |
| (WebInspector.ScopeBarItem): |
| (WebInspector.ScopeBarItem.prototype.get element): |
| (WebInspector.ScopeBarItem.prototype.get selected): |
| (WebInspector.ScopeBarItem.prototype.set selected): |
| (WebInspector.ScopeBarItem.prototype.setSelected): |
| (WebInspector.ScopeBarItem.prototype._clicked): |
| |
| 2013-01-17 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/13006824> Provide a Popover class |
| |
| Basic Popover class to allow the display of any HTML content within a popover. |
| |
| The public API of this class is very simple. Use .showRelativeToElement(element, preferredEdge) |
| to display the popover pointing to the provided target element with the provided edge as the |
| preferred edge of the target element towards which the popover's arrow should point to. |
| The method will check whether it can honour the edge preference based on the available screen |
| real estate. As it stands, the popover will constrain its display to the entire Web Inspector |
| window, but it could easily be made to match a more constrained space with a new WebInspector.Rect |
| parameter or Element reference. |
| |
| You can then use .close() to dismiss the popover with an animated transition, although the popover |
| will automatically dismiss itself upon user interaction initiated outside of the popover's bounds |
| or when the Web Inspector window is no longer focused. |
| |
| Additionally, the necessary geometry functions for the Popover class is taken from iAd JS and adapted |
| here to fit with the Web Inspector coding style. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Geometry.js: Added. |
| (WebInspector.Point): |
| (WebInspector.Point.fromEvent): |
| (WebInspector.Point.fromEventInElement): |
| (WebInspector.Point.prototype.toString): |
| (WebInspector.Point.prototype.copy): |
| (WebInspector.Point.prototype.equals): |
| (WebInspector.Size): |
| (WebInspector.Size.prototype.toString): |
| (WebInspector.Size.prototype.copy): |
| (WebInspector.Size.prototype.equals): |
| (WebInspector.Rect): |
| (WebInspector.Rect.rectFromClientRect): |
| (WebInspector.Rect.prototype.toString): |
| (WebInspector.Rect.prototype.copy): |
| (WebInspector.Rect.prototype.equals): |
| (WebInspector.Rect.prototype.inset): |
| (WebInspector.Rect.prototype.minX): |
| (WebInspector.Rect.prototype.minY): |
| (WebInspector.Rect.prototype.midX): |
| (WebInspector.Rect.prototype.midY): |
| (WebInspector.Rect.prototype.maxX): |
| (WebInspector.Rect.prototype.maxY): |
| (WebInspector.Rect.prototype.intersectionWithRect): |
| (WebInspector.EdgeInsets): |
| (WebInspector.EdgeInsets.prototype.equals): |
| (WebInspector.EdgeInsets.prototype.copy): |
| * UserInterface/Popover.css: Added. |
| (.popover): |
| (.popover.arrow-up): |
| (.popover.arrow-right): |
| (.popover.arrow-down): |
| (.popover.arrow-left): |
| (.popover.fade-out): |
| * UserInterface/Popover.js: Added. |
| (WebInspector.Popover): |
| (WebInspector.Popover.prototype.get element): |
| (WebInspector.Popover.prototype.get frame): |
| (WebInspector.Popover.prototype.set frame): |
| (WebInspector.Popover.prototype.area): |
| (WebInspector.Popover.prototype.showRelativeToElement): |
| (WebInspector.Popover.prototype.close): |
| (WebInspector.Popover.prototype.handleEvent): |
| (WebInspector.Popover.prototype._drawBackground): |
| (WebInspector.Popover.prototype._bestFrameForEdge): |
| (WebInspector.Popover.prototype._drawFrame): |
| |
| 2013-01-11 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/10015674> REGRESSION (Safari 5): Option-click on a disclosure triangle does not deep-expand a DOM subtree (66868) |
| |
| Up to now, the TreeElement.prototype.expandRecursively() method would correctly |
| expand children recursively based on the provided depth, but would not wait to |
| perform this task until all child nodes had been populated, which means that this |
| would only work incrementally with one additional level of child nodes being shown |
| expanded in the DOM tree upon alt+clicking a given node with a deep hierarchy. |
| |
| In order to fix this, we rely on the newly added optional argument to DOMAgent's |
| requestChildNodes() method to provide the depth at which we want to retrieve children |
| of a given node (see http://trac.webkit.org/changeset/139429). The DOMAgent provides |
| a new .getSubtree() method that calls requestChildNodes() with the provided depth. |
| |
| Then in DOMTreeElement, we subclass .expandRecursively() to first call DOMAgent's |
| new .getSubtree() method and then call the default implementation when all nodes |
| have been retrieved from the backend. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DOMNode.js: |
| (WebInspector.DOMNode.prototype.): |
| (WebInspector.DOMNode.prototype.getSubtree): New method allowing to specify at what |
| depth we want to retrieve children of a given node from the backend. |
| * UserInterface/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.prototype.expandRecursively): Override default implementation |
| to first obtain the deepest subtree for the current node so that deep expansion happens |
| as expected. |
| * UserInterface/InspectorBackendCommands.js: Register the new optional `depth` parameter |
| for DOMAgent's .requestChildNodes(). |
| |
| 2013-01-07 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Drive by style fix. Add super constructor call to CSSStyleManager. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/CSSStyleManager.js: |
| (WebInspector.CSSStyleManager): |
| No functional difference, but I just noticed a missing call. |
| |
| 2013-01-07 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/12967231> extract-localizable-js-strings should warn about improper WebInspector.UIString uses |
| |
| Reviewed by David Kilzer. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| Add missing strings. |
| |
| * UserInterface/ApplicationCacheFrameContentView.js: |
| (WebInspector.ApplicationCacheFrameContentView.prototype._updateCallback): |
| Remove a comment containing a UIString call. This is not needed for Safari. |
| |
| * UserInterface/DatabaseContentView.js: |
| (WebInspector.DatabaseContentView.prototype._queryError): |
| Use WebInspector.UIString("...").format syntax so the string is not missed. |
| |
| 2013-01-07 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/12964366> LayerTreeSidebarPanel._buildLayerInfoSection is too clever for update-safari-localizable-string / extract-localizable-js-strings |
| |
| Reviewed by David Kilzer. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/LayerTreeSidebarPanel.js: |
| (WebInspector.LayerTreeSidebarPanel.prototype._buildLayerInfoSection): |
| (WebInspector.LayerTreeSidebarPanel.prototype._updateLayerInfoSection): |
| Ensure all WebInspector.UIString uses contain a string literal, which |
| is what extract-localizable-js-strings expects. |
| |
| 2013-01-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/12961674> Resizing QuickConsole drawer may need to refresh CodeMirror editor for new visible size |
| |
| The CodeMirror TextEditor only has DOM elements for visible lines, with |
| some buffer. It needs to be updated when the visible (scroll dimensions) |
| of its content area are updated. The content view's dimensions flex with |
| the size of the QuickConsole. So, when the QuickConsole resizes we |
| should update the layout of the content browser. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| (WebInspector._quickConsoleDidResize): |
| Observe when the quick console resizes and update the layout of the content browser. |
| |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole.prototype._updateViewContainerSizeAndScrollDivider): |
| (WebInspector.QuickConsole.prototype._isResizing): |
| Whenever we resize we go through this method. Dispatch the resize event. |
| We may take the early path if we are resizing manually, in that case the |
| new height would have been set in the mouse handler. |
| |
| * UserInterface/ScriptContentView.js: |
| (WebInspector.ScriptContentView.prototype.updateLayout): |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView.prototype.updateLayout): |
| In content views containing text editors be sure to pass update layout |
| on to the text editor to refresh the CodeMirror editor. |
| |
| 2013-01-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/12961455> "No Style Properties" text in styles HTML Attributes sidebar should not be monospace |
| |
| Adjust the styles for the sidebar so that things look a bit nicer. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.css: |
| (.sidebar > .panel.details.css-style .styles-section): |
| Make the minimum size 17px. This makes the HTML attributes section not |
| look like there is extra padding at the bottom. This also reduces the |
| height of empty sections a bit, saving vertical space. |
| |
| * UserInterface/DetailsSection.css: |
| (.details-section > .content > .group > .row.empty.syntax-highlighted): |
| The HTML Attributes section is .syntax-highlighted. Ignore the fonts it |
| sets and revert back to the normal details section font. |
| |
| (.details-section > .content > .group > .row.properties:not(.empty)): |
| Remove extra padding on properties sections when its the empty message. |
| |
| 2013-01-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Skip document nodes when searching. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype.performSearch.domSearchResults): |
| (WebInspector.ResourceSidebarPanel.prototype.performSearch.domCallback): |
| (WebInspector.ResourceSidebarPanel.prototype.performSearch): |
| |
| 2013-01-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/12956057> REGRESSION: Cannot develop nodes in the DOM tree inspector for dynamically-generated content (106080) |
| |
| Handle a null ownerDocument to avoid an error. This worked previously |
| because each backend message was dispatched individually via setInterval. |
| Now however, they are batched after a setTimeout so an earlier uncaught |
| exception can break / prevent handling of other messages in that batch. |
| |
| Reviewed by Ricky Mondello. |
| |
| * UserInterface/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.prototype._buildAttributeDOM): |
| |
| 2013-01-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/12959910> Uncaught Error in LayerTreeSidebar breaks all right sidebars |
| |
| In SidebarPanel.prototype.hidden the parentSidebar might be null. In |
| those cases, LayerTreeSidebarPanel could cause an error that would |
| make changing the right sidebar impossible. |
| |
| The error was happening if the sidebar panel was removed instead of |
| being hidden. Removed meaning the content view changes and the sidebar |
| panel is no longer relevant. Hidden meaning the user just switched |
| to a different sidebar panel. |
| |
| The fix checks if parentSidebar exists when the panel is being hidden, |
| but we also make sure to remove our event listener if the parentSidebar |
| is being cleared with a new willRemove method. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/Sidebar.js: |
| (WebInspector.Sidebar.prototype.removeSidebarPanel): |
| * UserInterface/SidebarPanel.js: |
| (WebInspector.SidebarPanel.prototype.willRemove): |
| Give the sidebar panel an opportunity to handle the parentSidebar being cleared. |
| |
| * UserInterface/LayerTreeSidebarPanel.js: |
| (WebInspector.LayerTreeSidebarPanel.prototype.shown): |
| Assert that there is a parent sidebar when we are shown. |
| |
| (WebInspector.LayerTreeSidebarPanel.prototype.hidden): |
| If there is a parent sidebar and we are hidden, the user is just switching |
| sidebars, and we can remove the listener. |
| |
| (WebInspector.LayerTreeSidebarPanel.prototype.willRemove): |
| If the parent sidebar is being cleared remove our listener, if it existed. |
| |
| 2013-01-05 Dan Bernstein <mitz@apple.com> |
| |
| Updated localizable strings. |
| |
| * Localizations/en.lproj/localizedStrings.js: Let update-safari-localizable-string |
| remove one entry and one empty line. |
| |
| 2012-12-20 Antoine Quint <graouts@apple.com> |
| |
| Add missing localizedString that I forgot in the previous patch for |
| <rdar://problem/12908978> Layer Tree: resize data grid upon width change. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| 2012-12-19 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/12908978> Layer Tree: resize data grid upon width change |
| |
| Listen to width change events on the parent sidebar as the layer tree panel |
| is shown, and do the opposite operation when it's hidden. Upon a width change, |
| call .autoSizeColumns() on the data grid so that the separators are correctly |
| positioned. |
| |
| In this patch we also change the string used to show the paint count from |
| "Paint Count" to "Paints" which makes the data grid look much better. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/LayerTreeSidebarPanel.js: |
| (WebInspector.LayerTreeSidebarPanel.prototype.shown): |
| (WebInspector.LayerTreeSidebarPanel.prototype.hidden): |
| (WebInspector.LayerTreeSidebarPanel.prototype._widthDidChange): |
| (WebInspector.LayerTreeSidebarPanel.prototype._buildLayerInfoSection): |
| (WebInspector.LayerTreeSidebarPanel.prototype._buildDataGridSection): |
| (WebInspector.LayerTreeSidebarPanel.prototype._updateLayerInfoSection): |
| |
| 2012-12-19 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/12646424> Show redraw counts in layer tree inspector |
| |
| Simply add a new "Paint Count" field in the layer info and data grid to display |
| the contents of the .paintCount property provided by the back-end, which had already |
| landed in WebCore with <rdar://problem/12882763>. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/LayerTreeDataGridNode.js: |
| (WebInspector.LayerTreeDataGridNode.prototype.set layer): |
| * UserInterface/LayerTreeSidebarPanel.js: |
| (WebInspector.LayerTreeSidebarPanel.prototype._buildLayerInfoSection): |
| (WebInspector.LayerTreeSidebarPanel.prototype._buildDataGridSection): |
| (WebInspector.LayerTreeSidebarPanel.prototype._updateLayerInfoSection): |
| |
| 2012-12-19 Antoine Quint <graouts@apple.com> |
| |
| <rdar://problem/12031104> Show which elements are layer-backed |
| |
| This is the front-end part of the work started on the backend with |
| https://bugs.webkit.org/show_bug.cgi?id=103513. We now provide a |
| new details sidebar for the inspected element which lists the characteristics |
| of its backing RenderLayer (metrics, amount of memory used and whether it is |
| composited in hardware) and all child RenderLayers, with the option of only |
| showing layers composited in hardware. At the bottom of the pane, we also have |
| a status bar indicating the total number of layers for the selected node and |
| its descendants as well as the total amount of memory used. |
| |
| The list of child layers allows the developer to select a node to see it |
| highlighted on the page, and to click an arrow icon to jump to the layer's |
| associated node in the DOM tree. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/InspectorBackendCommands.js: |
| * UserInterface/LayerTreeDataGridNode.js: Added. DataGridNode custom subclass for the type of data grid nodes |
| we show in the child layers data grid. |
| (WebInspector.LayerTreeDataGridNode): |
| (WebInspector.LayerTreeDataGridNode.prototype.createCellContent): |
| (WebInspector.LayerTreeDataGridNode.prototype.set layer): |
| (WebInspector.LayerTreeDataGridNode.prototype._createNodeCellContent): |
| (WebInspector.LayerTreeDataGridNode.prototype._goToArrowWasClicked): |
| * UserInterface/LayerTreeManager.js: Added. |
| (WebInspector.LayerTreeManager): |
| (WebInspector.LayerTreeManager.prototype.get supported): |
| (WebInspector.LayerTreeManager.prototype.layerTreeMutations): Obtain the complete |
| list of mutations between two flattened layer trees. |
| (WebInspector.LayerTreeManager.prototype.refreshLayerTree): Retrieve the current layer |
| tree from the backend, eventually triggering a layerTreeDidChange event as a result. |
| (WebInspector.LayerTreeManager.prototype.flattenedLayerTree): |
| (WebInspector.LayerTreeManager.prototype.): |
| (WebInspector.LayerTreeManager.prototype.layersForNode): Obtain the layer associated to |
| the provided node, if any, and a list of child layers, if any. |
| (WebInspector.LayerTreeManager.prototype.layerTreeDidChange): |
| (WebInspector.LayerTreeManager.prototype.var): |
| (WebInspector.LayerTreeManager.prototype._obtainNodeIdsForLayerIds): Obtain the node ids |
| for the provided layer ids from the backend. |
| * UserInterface/LayerTreeObserver.js: Added. |
| (WebInspector.LayerTreeObserver): Listen to "layerTreeDidChange" events triggered by the |
| LayerTreeAgent exposed by WebCore. |
| (WebInspector.LayerTreeObserver.prototype.layerTreeDidChange): Inform the layer tree manager |
| that the layer tree has changed. |
| * UserInterface/LayerTreeSidebarPanel.css: Added. |
| * UserInterface/LayerTreeSidebarPanel.js: Added. |
| (WebInspector.LayerTreeSidebarPanel): |
| (WebInspector.LayerTreeSidebarPanel.prototype.shown): |
| (WebInspector.LayerTreeSidebarPanel.prototype.hidden): |
| (WebInspector.LayerTreeSidebarPanel.prototype.refresh): |
| (WebInspector.LayerTreeSidebarPanel.prototype.supportsDOMNode): Element nodes only are supported. |
| (WebInspector.LayerTreeSidebarPanel.prototype._layerTreeDidChange): Event handler for the |
| "layerTreeDidChange" triggered by the layer tree manager. |
| (WebInspector.LayerTreeSidebarPanel.prototype._buildCheckbox): Build the checkbox controlling |
| the option to only show layers composited in hardware. |
| (WebInspector.LayerTreeSidebarPanel.prototype._buildLayerInfoSection): Build the top section |
| containing information about the inspected node's layer, if any. |
| (WebInspector.LayerTreeSidebarPanel.prototype._buildDataGridSection): Build the middle section |
| containing the data grid showing the list of child layers, if any. |
| (WebInspector.LayerTreeSidebarPanel.prototype._buildBottomBar): Build the status bar displayed |
| at the bottom showing the total number of layers for the inspected node and the amount of |
| memory used. |
| (WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid.comparator): |
| (WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid): |
| (WebInspector.LayerTreeSidebarPanel.prototype._selectedDataGridNodeChanged): |
| (WebInspector.LayerTreeSidebarPanel.prototype._dataGridGainedFocus): |
| (WebInspector.LayerTreeSidebarPanel.prototype._dataGridLostFocus): |
| (WebInspector.LayerTreeSidebarPanel.prototype._dataGridWasClicked): |
| (WebInspector.LayerTreeSidebarPanel.prototype._highlightSelectedNode): |
| (WebInspector.LayerTreeSidebarPanel.prototype._updateDataGridFilter): |
| (WebInspector.LayerTreeSidebarPanel.prototype._updateDisplayWithLayers): Callback for the call |
| made to .layersForNode() on the manager, triggers an update of all of the information reported |
| in the panel. |
| (WebInspector.LayerTreeSidebarPanel.prototype._updateLayerInfoSection): Update only the top section. |
| (WebInspector.LayerTreeSidebarPanel.prototype._updateDataGrid): Update only the data grid. |
| (WebInspector.LayerTreeSidebarPanel.prototype._dataGridNodeForLayer): Generate a node for the data |
| grid for the provided layer. |
| (WebInspector.LayerTreeSidebarPanel.prototype._updateMetrics): Update only the bottom status bar. |
| * UserInterface/Main.html: |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| |
| 2012-12-04 Timothy Hatcher <timothy@apple.com> |
| |
| Prevent lines from highlighting again if the user scrolls with a line highlighted. |
| |
| This switches off of a webkitAnimationEnd event listener because the line element might |
| be removed if the user scrolls during the animation. In that case webkitAnimationEnd isn't |
| fired, and the line would highlight again the next time it scrolls into view. |
| |
| Reviewed by Ricky Mondello. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.removeStyleClass): Removed event listener code. |
| (WebInspector.TextEditor.prototype.revealAndHighlightLine): Schedule a timeout instead |
| of an event listener. |
| |
| 2012-12-04 Timothy Hatcher <timothy@apple.com> |
| |
| Delay revealing a line until visible and the line exists. |
| |
| This regressed when we switched to CodeMirror. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.set string.update): Call _revealPendingLineIfPossible. |
| (WebInspector.TextEditor.prototype.shown.update): Call _revealPendingLineIfPossible. |
| (WebInspector.TextEditor.prototype._revealPendingLineIfPossible): Store the line number |
| and requested range until visible and the line exists. |
| |
| 2012-12-03 Dean Jackson <dino@apple.com> |
| |
| Followup on <rdar://problem/11492568> Show shadow DOM elements |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: New string for "Shadow Content". |
| * UserInterface/DOMNode.js: |
| (WebInspector.DOMNode): Only create the _shadowRoots if necessary. |
| (WebInspector.DOMNode.prototype.hasChildNodes): Test for existence of _shadowRoots. |
| (WebInspector.DOMNode.prototype.hasShadowRoots): Ditto. |
| (WebInspector.DOMNode.prototype._insertChild): Ditto. |
| (WebInspector.DOMNode.prototype._setChildrenPayload): Ditto. |
| * UserInterface/DOMNodeDetailsSidebarPanel.js: |
| (WebInspector.DOMNodeDetailsSidebarPanel.prototype._nodeTypeDisplayName): Handle Document Fragment in switch. |
| * UserInterface/DOMTreeElement.js: Use new UIString. |
| * UserInterface/DOMTreeElementPathComponent.js: Handle Document Fragment in switch. |
| (WebInspector.DOMTreeElementPathComponent): |
| |
| 2012-12-03 Dean Jackson <dino@apple.com> |
| |
| Allow inspection of Shadow DOM elements in Web Inspector |
| <rdar://problem/11492568> Show shadow DOM elements |
| |
| Reviewed by Tim Hatcher. |
| |
| Add the Shadow DOM fragments to the DOM tree view. This allows |
| us to inspect things like HTML5 Media captions and controls. |
| Expose the setting via a checkbox in the context menu on the DOM |
| tree view (which requires a reload if changed). Luckily the |
| inspector protocol already provided all the Shadow DOM data so |
| this was purely a UI change. |
| |
| * Localizations/en.lproj/localizedStrings.js: New menu item. |
| * UserInterface/DOMNode.js: |
| (WebInspector.DOMNode): New parameter to constructor: "isInShadowTree". |
| (WebInspector.DOMNode.prototype.hasChildNodes): Check for shadow children too. |
| (WebInspector.DOMNode.prototype.hasShadowRoots): New method. |
| (WebInspector.DOMNode.prototype.isInShadowTree): New method. |
| (WebInspector.DOMNode.prototype._insertChild): Inherit the shadow state as constructing children. |
| (WebInspector.DOMNode.prototype._setChildrenPayload): Ditto. |
| * UserInterface/DOMObserver.js: |
| (WebInspector.DOMObserver.prototype.shadowRootPushed): Answer the protocol calls. |
| (WebInspector.DOMObserver.prototype.shadowRootPopped): Ditto. |
| * UserInterface/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.prototype._buildTagDOM): Document Fragments get a special style if they are shadow root elements. |
| (WebInspector.DOMTreeElement.prototype._singleTextChild): Return early if in shadow DOM. |
| * UserInterface/DOMTreeManager.js: |
| (WebInspector.DOMTreeManager.prototype._setDocument): Use new parameter when constructing DOMNode. |
| (WebInspector.DOMTreeManager.prototype._setDetachedRoot): Ditto. |
| * UserInterface/DOMTreeOutline.js: |
| (WebInspector.DOMTreeOutline): |
| (WebInspector.DOMTreeOutline.prototype.populateContextMenu): Add a new checkbox to toggle the Shadow DOM visibility. |
| (WebInspector.DOMTreeOutline.prototype._populateContextMenu): |
| (WebInspector.DOMTreeOutline.prototype._toggleShowShadowDOM): |
| * UserInterface/LogContentView.css: |
| (.webkit-html-fragment.shadow): New style for shadow root fragments. |
| |
| 2012-12-02 Timothy Hatcher <timothy@apple.com> |
| |
| Linkify "src" and "href" attributes in HTML/SVG/XML resources. |
| |
| This extends the XML tokenizer to change the style of the string following |
| "src" and "href" attributes into links. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CodeMirrorAdditions.js: |
| (tokenizeLinkString): Added. |
| (tokenizeEndOfLinkString): Added. |
| (extendedXMLToken): Added. |
| * UserInterface/SyntaxHighlightingDefaultTheme.css: |
| (.cm-s-default .cm-link): Added. |
| (.cm-s-default .cm-link:hover): Added. |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor): Added click event listener for _openClickedLinks. |
| (WebInspector.TextEditor.prototype._openClickedLinks): Added. |
| |
| 2012-11-30 Timothy Hatcher <timothy@apple.com> |
| |
| Use CodeMirror to syntax highlight strings used for the DOM tree. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/SyntaxHighlightingSupport.js: |
| (WebInspector.syntaxHighlightStringAsDocumentFragment): Use CodeMirror.runMode. |
| (WebInspector.syntaxHighlightStringAsDocumentFragment.appendText): Added. Create nodes based on the style. |
| |
| 2012-11-30 Timothy Hatcher <timothy@apple.com> |
| |
| Use WebInspector.CSSKeywordCompletions instead of WebInspector.SourceTokenizer to decide what |
| is a keyword in the Style details sidebar. |
| |
| Reviewed by Jon Honeycutt. |
| |
| * UserInterface/StylePropertyTreeElement.js: |
| (WebInspector.StylePropertyTreeElement.prototype.updateTitle): Get the keywords. |
| (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processKeyword): Use the keywords |
| for the current property. |
| |
| 2012-11-30 Timothy Hatcher <timothy@apple.com> |
| |
| Hook up issues using CodeMirror. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/SourceCodeTextEditor.css: |
| (.source-code.text-editor > .CodeMirror .error): Renamed. |
| (.source-code.text-editor > .CodeMirror .warning): Renamed. |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype._contentWillPopulate): Moved issue population from here. |
| (WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate): ... to here. |
| (WebInspector.SourceCodeTextEditor.prototype._issueWasAdded): Call _addIssue. |
| (WebInspector.SourceCodeTextEditor.prototype._addIssue): Renamed from _addIssueToLine. Use |
| addStyleClassToLine to add the styles. |
| (WebInspector.SourceCodeTextEditor.prototype._addIssueToLineNumberMap): Merged with _addIssue. |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.addStyleClassToLine): Added. |
| (WebInspector.TextEditor.prototype.removeStyleClassFromLine): Added. |
| (WebInspector.TextEditor.prototype.toggleStyleClassForLine): Added. |
| |
| 2012-11-30 Timothy Hatcher <timothy@apple.com> |
| |
| Hook up breakpoints using CodeMirror. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CodeMirrorAdditions.js: Added hasLineClass and toggleLineClass extensions. |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype._contentWillPopulate): Call setBreakpointInfoForLine |
| for each breakpoint. |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointInfo): Removed. |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointRemoved): Removed delete here |
| since calling removeBreakpoint will fire an event that causes us to delete the breakpoint. |
| Deleting early was causing an assert in the event handler. |
| * UserInterface/TextEditor.css: |
| (.text-editor > .CodeMirror .has-breakpoint:not(.breakpoint-disabled) .CodeMirror-linenumber): Added. |
| (.text-editor > .CodeMirror .has-breakpoint .CodeMirror-linenumber::before): Added. |
| (.text-editor > .CodeMirror .breakpoint-resolved .CodeMirror-linenumber::before): Added. |
| (.text-editor > .CodeMirror .breakpoint-disabled .CodeMirror-linenumber::before): Added. |
| (.text-editor > .CodeMirror .execution-line .CodeMirror-linenumber::after): Added. |
| (.text-editor > .CodeMirror .execution-line pre): Added. |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor): Added "gutterClick" event listener. |
| (WebInspector.TextEditor.prototype.set string): |
| (WebInspector.TextEditor.prototype.set string.updateStyles): Update the execution line and breakpoints |
| now that we might have content for that line. |
| (WebInspector.TextEditor.prototype.get executionLineNumber): |
| (WebInspector.TextEditor.prototype.set executionLineNumber): |
| (WebInspector.TextEditor.prototype.setBreakpointInfoForLine): |
| (WebInspector.TextEditor.prototype._updateExecutionLine): Added. |
| (WebInspector.TextEditor.prototype._addBreakpointToLineWithInfo): Added. |
| (WebInspector.TextEditor.prototype._setBreakpointStylesOnLineWithInfo): Added. |
| (WebInspector.TextEditor.prototype._removeBreakpointFromLine.updateStyles): Added. |
| (WebInspector.TextEditor.prototype._removeBreakpointFromLine): Added. |
| (WebInspector.TextEditor.prototype._gutterMouseDown): Added. |
| (WebInspector.TextEditor.prototype._documentMouseMoved): Added. |
| (WebInspector.TextEditor.prototype._documentMouseUp): Added. |
| |
| 2012-11-30 Timothy Hatcher <timothy@apple.com> |
| |
| Hook up search using CodeMirror. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype.customPerformSearch): Move off of textContent and AttributedString. |
| Use addSearchResults instead of the individual addSearchResultRange. |
| * UserInterface/TextEditor.css: |
| (.text-editor .bouncy-highlight): Added. |
| (@-webkit-keyframes text-editor-bouncy): Added. |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.performSearch): Create a search cursor. |
| (WebInspector.TextEditor.prototype.performSearch.batchSearch): Use the search cursor to find matches in |
| the slow path. Stop using _textContent. |
| (WebInspector.TextEditor.prototype.addSearchResults): Renamed from addSearchResultRange. |
| (WebInspector.TextEditor.prototype.addSearchResults.markRanges): Added. Mark the ranges in a CodeMirror |
| operation to get better performance. |
| (WebInspector.TextEditor.prototype.searchCleared): Clear the marked text ranges. |
| (WebInspector.TextEditor.prototype.revealPreviousSearchResult): Call _revealSearchResult. |
| (WebInspector.TextEditor.prototype.revealNextSearchResult): Ditto. |
| (WebInspector.TextEditor.prototype.line): Added. |
| (WebInspector.TextEditor.prototype._revealSearchResult): Added. |
| (WebInspector.TextEditor.prototype._revealSearchResult.animationEnded): Added. |
| |
| 2012-11-30 Timothy Hatcher <timothy@apple.com> |
| |
| Hook up the basics of CodeMirror in TextEditor. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorLineContentUpdated): Removed. |
| * UserInterface/SyntaxHighlightingDefaultTheme.css: Added CodeMirror selectors. |
| * UserInterface/TextEditor.css: |
| (.text-editor > .CodeMirror): Added. Reset box-sizing to content-box. |
| (.text-editor > .CodeMirror *): Added. Ditto. |
| (.text-editor > .CodeMirror .CodeMirror-lines): Added. |
| (.text-editor > .CodeMirror pre): Added. |
| (.text-editor > .CodeMirror .CodeMirror-selected): Added. |
| (.text-editor > .CodeMirror .CodeMirror-focused .CodeMirror-selected): Added. |
| (.text-editor > .CodeMirror textarea): Added. Prevent pointer events to make right |
| click Inspect Element hit the line instead of the input area. |
| (.text-editor > .CodeMirror .CodeMirror-gutters): Added. |
| (.text-editor > .CodeMirror .CodeMirror-linenumber): Added. |
| (.text-editor > .CodeMirror .highlighted): Added. |
| (@-webkit-keyframes text-editor-highlight-fadeout): |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor): |
| (WebInspector.TextEditor.prototype.get string): |
| (WebInspector.TextEditor.prototype.set string): |
| (WebInspector.TextEditor.prototype.get selectedTextRange): |
| (WebInspector.TextEditor.prototype.set selectedTextRange): |
| (WebInspector.TextEditor.prototype.get mimeType): |
| (WebInspector.TextEditor.prototype.set mimeType): |
| (WebInspector.TextEditor.prototype.revealLine): Set the cursor position and highlight the line. |
| (WebInspector.TextEditor.prototype.updateLayout): Call refresh to let CodeMirror know we might have changed size. |
| (WebInspector.TextEditor.prototype.shown): Ditto. |
| (WebInspector.TextEditor.prototype._textRangeFromCodeMirrorPosition): Added. |
| (WebInspector.TextEditor.prototype._codeMirrorPositionFromTextRange): Added. |
| |
| 2012-11-30 Timothy Hatcher <timothy@apple.com> |
| |
| Remove TextEditor implementation and supporting classes for syntax highlighting. |
| |
| Rubber-stamped by Jon Honeycutt. |
| |
| * UserInterface/AttributedString.js: Removed. |
| * UserInterface/CSSSourceTokenizer.js: Removed. |
| * UserInterface/HTMLSourceTokenizer.js: Removed. |
| * UserInterface/JavaScriptSourceTokenizer.js: Removed. |
| * UserInterface/Main.html: Removed deleted files. |
| * UserInterface/ScriptContentView.js: |
| * UserInterface/SourceTokenizer.js: Removed. |
| * UserInterface/SyntaxHighlighter.js: Removed. |
| * UserInterface/SyntaxHighlightingSupport.js: |
| (WebInspector.syntaxHighlightStringAsDocumentFragment): Cleared. |
| * UserInterface/TextContent.js: Removed. |
| * UserInterface/TextEditor.css: Removed most rules. |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor): Cleared. |
| (WebInspector.TextEditor.prototype.get string): Cleared. |
| (WebInspector.TextEditor.prototype.set string): Cleared. |
| (WebInspector.TextEditor.prototype.get selectedTextRange): Cleared. |
| (WebInspector.TextEditor.prototype.set selectedTextRange): Cleared. |
| (WebInspector.TextEditor.prototype.get mimeType): Cleared. |
| (WebInspector.TextEditor.prototype.set mimeType): Cleared. |
| (WebInspector.TextEditor.prototype.get executionLineNumber): Cleared. |
| (WebInspector.TextEditor.prototype.set executionLineNumber): Cleared. |
| (WebInspector.TextEditor.prototype.performSearch.batchSearch): Cleared. |
| (WebInspector.TextEditor.prototype.performSearch): Cleared. |
| (WebInspector.TextEditor.prototype.addSearchResultRange): Cleared. |
| (WebInspector.TextEditor.prototype.searchCleared): Cleared. |
| (WebInspector.TextEditor.prototype.revealPreviousSearchResult): Cleared. |
| (WebInspector.TextEditor.prototype.revealNextSearchResult): Cleared. |
| (WebInspector.TextEditor.prototype.revealLine): Cleared. |
| (WebInspector.TextEditor.prototype.updateLayout): Cleared. |
| (WebInspector.TextEditor.prototype.shown): Cleared. |
| (WebInspector.TextEditor.prototype.hidden): Cleared. |
| (WebInspector.TextEditor.prototype.setBreakpointInfoForLine): Cleared. |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView.prototype.get scrollableElements): Removed. |
| |
| 2012-11-30 Timothy Hatcher <timothy@apple.com> |
| |
| Extend CodeMirror to allow syntax highlighting styles based on the mode. |
| |
| By default CodeMirror defines syntax highlighting styles based on token |
| only and shared styles between modes. This limiting and does not match |
| what we have done in the Web Inspector. So this modifies the XML, CSS |
| and JavaScript modes to supply two styles for each token. One for the |
| token and one with the mode name. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CodeMirrorAdditions.js: Added. |
| * UserInterface/Main.html: Included CodeMirrorAdditions.js. |
| |
| 2012-11-30 Timothy Hatcher <timothy@apple.com> |
| |
| Define extra MIME-types for CodeMirror's syntax highlighting modes. |
| |
| Reviewed by Jon Honeycutt. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Define extra MIME-types for XML, HTML, SVG, |
| JSON and JavaScript. |
| |
| 2012-11-30 Timothy Hatcher <timothy@apple.com> |
| |
| Update CodeMirror from 3.0 beta 2 to 3.0 release candidate 2. |
| |
| Rubber-stamped by Jon Honeycutt. |
| |
| * UserInterface/External/CodeMirror/codemirror.css: Updated. |
| * UserInterface/External/CodeMirror/codemirror.js: Updated. |
| * UserInterface/External/CodeMirror/htmlmixed.js: Updated. |
| * UserInterface/External/CodeMirror/javascript.js: Updated. |
| * UserInterface/External/CodeMirror/matchbrackets.js: Updated. |
| * UserInterface/External/CodeMirror/xml.js: Updated. |
| |
| 2012-11-22 Timothy Hatcher <timothy@apple.com> |
| |
| Fix a perl script error that was preventing resources from being |
| copied on production builds. |
| |
| Perl thought the [\t ] that followed $tagExpression meant that |
| tagExpression should be @tagExpression. |
| |
| * Scripts/combine-resources.pl: |
| (concatinateFiles): Split the replacementExpression string into parts |
| and concat it to prevent this. Fix a typo too. |
| |
| 2012-11-18 Timothy Hatcher <timothy@apple.com> |
| |
| Include CodeMirror in the Web Inspector. |
| |
| This also teaches the scripts we use to copy the CodeMirror resources and skip them |
| when we concatenate our scripts/styles. |
| |
| Rubber-stamped by Antoine Quint. |
| |
| * Scripts/combine-resources.pl: |
| (concatinateFiles): Skip External files. Smartly replace the first concatenated file's tag |
| so we don't mix the order of style and script loading. |
| * Scripts/copy-user-interface-resources.sh: |
| * UserInterface/Main.html: Included CodeMirror files. |
| |
| 2012-11-18 Timothy Hatcher <timothy@apple.com> |
| |
| Add CodeMirror to the Web Inspector. |
| |
| Open Source Software use approved by Joyce Chow on 11/16/2012. |
| |
| Part of: <rdar://problem/3143094> Edit-mode for resources (local substation of resources) (16440) |
| |
| Rubber-stamped by Antoine Quint. |
| |
| * UserInterface/External/CodeMirror/LICENSE: Added. |
| * UserInterface/External/CodeMirror/codemirror.css: Added. |
| * UserInterface/External/CodeMirror/codemirror.js: Added. |
| * UserInterface/External/CodeMirror/css.js: Added. |
| * UserInterface/External/CodeMirror/htmlmixed.js: Added. |
| * UserInterface/External/CodeMirror/javascript.js: Added. |
| * UserInterface/External/CodeMirror/matchbrackets.js: Added. |
| * UserInterface/External/CodeMirror/overlay.js: Added. |
| * UserInterface/External/CodeMirror/runmode.js: Added. |
| * UserInterface/External/CodeMirror/searchcursor.js: Added. |
| * UserInterface/External/CodeMirror/xml.js: Added. |
| |
| 2012-11-17 Timothy Hatcher <timothy@apple.com> |
| |
| Hide the toolbar labels if there isn't enough room to show them. |
| |
| Reviewed by Brady Eidson. |
| |
| * UserInterface/ButtonToolbarItem.css: |
| (.toolbar.collapsed .item.button > .label): Added. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Added event listener for window resize. |
| (WebInspector._windowResized): Added. Update the toolbar layout. |
| * UserInterface/Toolbar.js: |
| (WebInspector.Toolbar.prototype.set displayMode): Update the toolbar layout. |
| (WebInspector.Toolbar.prototype.set sizeMode): Ditto. |
| |
| 2012-11-17 Timothy Hatcher <timothy@apple.com> |
| |
| Keep toolbar items in constant positions as items are added or removed. |
| |
| This keeps centered items in the center and adds the items on the right in reverse |
| order since right most items are more stable as context changes. Also vertically stack |
| the close and undock button if the toolbar is tall enough to fit them. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/ControlToolbarItem.css: |
| (.toolbar .item.control): |
| (.toolbar.small-size .item.control): |
| (.toolbar.icon-only .item.control): |
| (.toolbar .item.control:hover): |
| (.toolbar .item.control:active): |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Use addToolbarItem instead of addNavigationItem. Add the |
| detail sidebar items in reverse order. |
| * UserInterface/NavigationBar.js: |
| (WebInspector.NavigationBar.prototype.addNavigationItem): Added parentElement argument. |
| (WebInspector.NavigationBar.prototype.insertNavigationItem): Added parentElement argument. |
| Use the nextSibling only if it is in the same parent element. |
| (WebInspector.NavigationBar.prototype.removeNavigationItem): Use remove to remove the element. |
| * UserInterface/Toolbar.css: |
| (.toolbar .control-section): Added. |
| (.toolbar.label-only .control-section): Added. |
| (.toolbar .item-section): Added. |
| (.toolbar .item-section:not(.center)): Added. |
| (.toolbar .item-section.left): Added. |
| (.toolbar .item-section.center): Added. |
| (.toolbar .item-section.right): Added. |
| * UserInterface/Toolbar.js: |
| (WebInspector.Toolbar): Create the four sections. |
| (WebInspector.Toolbar.prototype.addToolbarItem): Added. |
| * UserInterface/Utilities.js: |
| (Element.prototype.remove): Added only if the engine does not have it. This is needed |
| for iAd Producer, which uses an older WebKit. |
| |
| 2012-11-17 Timothy Hatcher <timothy@apple.com> |
| |
| Change ".navigation-bar > .item" and ".toolbar > .item" selectors into ".navigation-bar .item" |
| and ".toolbar .item" so we can have intermediary elements between the bar and item. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/ActivateButtonNavigationItem.js: |
| (WebInspector.ActivateButtonNavigationItem.prototype.generateStyleText): |
| * UserInterface/ButtonNavigationItem.css: |
| (.navigation-bar .item.button): |
| (.navigation-bar .item.button > .glyph): |
| (body.window-inactive .navigation-bar .item.button:not(.suppress-emboss) > .glyph): |
| (.navigation-bar .item.button.disabled > .glyph): |
| (body.window-inactive .navigation-bar .item.button.disabled:not(.suppress-emboss) > .glyph): |
| (.navigation-bar .item.button.suppress-emboss > .glyph): |
| (.navigation-bar .item.button.suppress-emboss:active > .glyph): |
| (.navigation-bar .item.button.suppress-emboss.disabled > .glyph): |
| (.navigation-bar .item.button:not(.disabled):not(.radio):not(.suppress-bezel):active): |
| * UserInterface/ButtonNavigationItem.js: |
| (WebInspector.ButtonNavigationItem.prototype.generateStyleText): |
| * UserInterface/ButtonToolbarItem.css: |
| (.toolbar .item.button): |
| (.toolbar.icon-and-label-vertical .item.button): |
| (.toolbar.icon-and-label-horizontal .item.button): |
| (.toolbar .item.button > .glyph): |
| (.toolbar.small-size .item.button > .glyph): |
| (.toolbar.label-only .item.button > .glyph): |
| (.toolbar .item.button > .label): |
| (.toolbar.label-only .item.activate.button.activated > .label): |
| (.toolbar.icon-and-label-horizontal .item.button > .label): |
| * UserInterface/ControlToolbarItem.css: |
| (.toolbar .item.control): |
| (.toolbar .item.control:hover): |
| (.toolbar .item.control:active): |
| (.toolbar .item.control > .glyph): |
| (body.window-inactive .toolbar .item.control): |
| (body.window-inactive .toolbar .item.control.disabled): |
| * UserInterface/DividerNavigationItem.css: |
| (.navigation-bar .item.divider): |
| * UserInterface/FlexibleSpaceNavigationItem.css: |
| (.toolbar .item.flexible-space): |
| * UserInterface/NavigationBar.css: |
| (.navigation-bar .item): |
| * UserInterface/RadioButtonNavigationItem.css: |
| (.navigation-bar .item.radio.button): |
| (.navigation-bar.collapsed .item.radio.button): |
| (.navigation-bar .item.radio.button.selected): |
| (.navigation-bar.collapsed .item.radio.button.selected): |
| * UserInterface/RadioButtonNavigationItem.js: |
| (WebInspector.RadioButtonNavigationItem.prototype.generateStyleText): |
| * UserInterface/Toolbar.css: |
| (.toolbar .control-section): |
| |
| 2012-11-17 Timothy Hatcher <timothy@apple.com> |
| |
| Make the close and undock buttons in the docked Web Inspector better match |
| the style of the undock button and the iTunes 11 mini-player controls. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/ControlToolbarItem.css: |
| (.toolbar > .item.control): 50% opacity. |
| (.toolbar > .item.control:hover): Added. 90% opacity. |
| (.toolbar > .item.control:active): Added. 100% opacity. |
| (body.window-inactive .toolbar > .item.control): 35% opacity. |
| (.toolbar > .item.control.disabled): 35% opacity. |
| (body.window-inactive .toolbar > .item.control.disabled): 20% opacity. |
| * UserInterface/Images/Undock.pdf: Rounded the corners a bit. |
| |
| 2012-11-16 Timothy Hatcher <timothy@apple.com> |
| |
| Renamed the Breakpoint sidebar to Debugger and give it a new icon. |
| |
| Also removed unused images from previous sidebar panels. |
| |
| Reviewed by Brian Weinstein. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/DebuggerSidebarPanel.js: Renamed from WebInspector/UserInterface/BreakpointSidebarPanel.js. |
| (WebInspector.DebuggerSidebarPanel): Updated the keyboard shortcut to be Control-3. |
| * UserInterface/Images/NavigationItemBreakpoint.pdf: Removed. |
| * UserInterface/Images/NavigationItemBug.pdf: Added. |
| * UserInterface/Images/NavigationItemFunction.pdf: Removed. |
| * UserInterface/Images/NavigationItemThreads.pdf: Removed. |
| * UserInterface/InstrumentSidebarPanel.js: |
| (WebInspector.InstrumentSidebarPanel): Updated the keyboard shortcut to be Control-2. |
| * UserInterface/Main.html: Renamed BreakpointSidebarPanel to DebuggerSidebarPanel. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Ditto. |
| (WebInspector._debuggerDidPause): Ditto. |
| |
| 2012-11-16 Timothy Hatcher <timothy@apple.com> |
| |
| Merge the Debug sidebar panel into Breakpoints sidebar panel. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/BreakpointSidebarPanel.js: |
| (WebInspector.BreakpointSidebarPanel): Added CallFramesDidChange event listener. Create the content tree |
| outline and section for the Call Stack. |
| (WebInspector.BreakpointSidebarPanel.prototype._debuggerCallFramesDidChange): Added. |
| (WebInspector.BreakpointSidebarPanel.prototype._treeElementSelected): Support CallFrameTreeElement. |
| * UserInterface/DebugSidebarPanel.js: Removed. |
| * UserInterface/Main.html: Removed DebugSidebarPanel. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Removed DebugSidebarPanel. |
| (WebInspector._debuggerDidPause): Show the BreakpointSidebarPanel instead. |
| |
| 2012-11-16 Timothy Hatcher <timothy@apple.com> |
| |
| Place breakpoints into a section in preparation of merging the Debug and Breakpoints sidebars. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/BreakpointSidebarPanel.js: |
| (WebInspector.BreakpointSidebarPanel): Store contentTreeOutline as _breakpointsContentTreeOutline. |
| Make a DetailsSection and put the content tree in its only row. |
| (WebInspector.BreakpointSidebarPanel.prototype._addBreakpoint): Use _breakpointsContentTreeOutline. |
| (WebInspector.BreakpointSidebarPanel.prototype._scriptsCleared): Ditto. |
| (WebInspector.BreakpointSidebarPanel.prototype._breakpointRemoved): Ditto. |
| |
| 2012-11-13 Timothy Hatcher <timothy@apple.com> |
| |
| Make dragging the Web Inspector window in the toolbar move the window. |
| |
| <rdar://problem/12688599> Should be able to drag to move Web Inspector window from empty parts of toolbar |
| |
| Reviewed by Ricky Mondello. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Changed mousedown event listener to _toolbarMouseDown. |
| (WebInspector._toolbarMouseDown): Added. Call _moveWindowMouseDown or _dockedResizerMouseDown. |
| (WebInspector._moveWindowMouseDown): Added. |
| (WebInspector._moveWindowMouseDown.toolbarDrag): Added. |
| (WebInspector._moveWindowMouseDown.toolbarDragEnd): Added. |
| |
| 2012-11-13 Jeff Miller <jeffm@apple.com> |
| |
| Regenerated localizedStrings.js, which was out-of-date. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| 2012-11-13 Timothy Hatcher <timothy@apple.com> |
| |
| Disable sub-pixel antialiasing in the Web Inspector toolbar when in window mode. |
| |
| This portion of the window has no background (showing the window chrome). So text rendered |
| here does not look good when sub-pixel antialiased. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/Toolbar.css: |
| (body:not(.docked) .toolbar): Added. Set -webkit-font-smoothing: antialiased. |
| |
| 2012-11-12 Timothy Hatcher <timothy@apple.com> |
| |
| Don't show the dock button in the toolbar now that it is in the window title bar. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/InspectorFrontendAPI.js: |
| (InspectorFrontendAPI.setDockingUnavailable): Empty stub now. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Changed the dock toggle into an undock button. |
| (WebInspector.updateDockedState): Removed use of dockToggleButtonNavigationItem. |
| Removed call to _updateDockToggleButtonVisibility. |
| (WebInspector.setDockingUnavailable): Removed. |
| (WebInspector._updateDockToggleButtonVisibility): Removed. |
| (WebInspector._undock): Renamed from _toggleDockedState. Only undock now. |
| (WebInspector._updateDockNavigationItems): Update undockButtonNavigationItem too. |
| |
| 2012-11-11 Timothy Hatcher <timothy@apple.com> |
| |
| Give WebInspector.ContentBrowser the ability to not have back and forward buttons. |
| |
| This will be used for the ContentBrowser in the quick console area. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser): Added disableBackForward argument. Don't create the buttons |
| or keyboard shortcuts if disableBackForward is true. |
| (WebInspector.ContentBrowser.prototype._updateBackForwardButtons): Return early if the buttons |
| don't exist and there is nothing to update. |
| |
| 2012-11-11 Timothy Hatcher <timothy@apple.com> |
| |
| Fix some flashing while scrolling the Web Inspector when docked. |
| |
| When docked the toolbar isn't transparent, so we can have a background |
| on the body which fixes the flashing. This isn't an issue in when undocked. |
| This also isn't an issue with accelerated composting, which we should turn |
| on for the Inspector in <rdar://problem/12676223>. |
| |
| Reviewed by Anders Carlsson. |
| |
| * UserInterface/Main.css: |
| (body.docked): Set the background-color to white. |
| |
| 2012-11-11 Timothy Hatcher <timothy@apple.com> |
| |
| Fix an exception that was causing the Web Inspector to fail when trying to debug a script. |
| |
| The fact that we don't know about a script in a call frame is really a deeper bug. But this |
| at least makes things gracefully keep working. The deeper issue is <rdar://problem/12679475>. |
| |
| <rdar://problem/12676344> Web Inspector gets stuck trying to debug an exception |
| |
| Reviewed by Dean Jackson. |
| |
| * UserInterface/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype.debuggerDidPause): Continue if the SourceCodeLocation |
| ended up being null. This prevents an exception later. |
| (WebInspector.DebuggerManager.prototype._sourceCodeLocationFromPayload): Return null if |
| the script was not found. |
| |
| 2012-11-11 Timothy Hatcher <timothy@apple.com> |
| |
| Remove the Log navigation sidebar. |
| |
| Create a single LogContentView to be shown for the console. Previous sessions are now shown |
| inline like the quick console (with a divider between them). |
| |
| The ultimate goal here is to merge the quick console and the full height console. |
| |
| Reviewed by Dean Jackson. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/InspectorFrontendAPI.js: |
| (InspectorFrontendAPI.showConsole): Call WebInspector.showConsoleView. |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView): Add event listeners that were in LogSidebarPanel. |
| (WebInspector.LogContentView.prototype.shown): Removed disabled check. |
| (WebInspector.LogContentView.prototype._sessionsCleared): Added. |
| (WebInspector.LogContentView.prototype._sessionStarted): Added. |
| (WebInspector.LogContentView.prototype._messageAdded): Added. |
| (WebInspector.LogContentView.prototype._previousMessageRepeatCountUpdated): Added. |
| (WebInspector.LogContentView.prototype._handleContextMenuEvent): Removed disabled check. |
| (WebInspector.LogContentView.prototype._activeLogCleared): Ditto. |
| (WebInspector.LogContentView.prototype._clearLog): Ditto. |
| * UserInterface/LogSidebarPanel.js: Removed. |
| * UserInterface/LogTreeElement.js: |
| (WebInspector.LogTreeElement): Change "Current Log" to "Console". |
| * UserInterface/Main.html: Removed LogSidebarPanel.js. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Removed LogSidebarPanel use. Create a Console toolbar button. |
| Handle the last content cookie for the console. |
| (WebInspector.sidebarPanelForRepresentedObject): Return null for the console. |
| (WebInspector.contentBrowserTreeElementForRepresentedObject): Return the special tree element |
| for the console. |
| (WebInspector.showConsoleView): Added. |
| (WebInspector._updateCurrentContentViewCookie): Set a special cookie for the console view. |
| |
| 2012-11-11 Timothy Hatcher <timothy@apple.com> |
| |
| Add reload and inspect toolbar buttons. |
| |
| <rdar://problem/11187904> REGRESSION (Safari 6): Inspect node button should always be available |
| |
| Reviewed by Dean Jackson. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/FrameContentView.js: |
| (WebInspector.FrameContentView): Removed _inspectModeButtonNavigationItem. |
| (WebInspector.FrameContentView.prototype.get navigationItems): Ditto. |
| * UserInterface/Images/Reload.pdf: Added. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Create the reload and inspect toolbar buttons. |
| (WebInspector._inspectModeStateChanged): Added. |
| (WebInspector._toggleInspectMode): Added. |
| (WebInspector._reloadPageClicked): Added. |
| |
| 2012-11-11 Timothy Hatcher <timothy@apple.com> |
| |
| Use sticky positioning for the section headers in the Details sidebar. |
| |
| To make this work I had to dynamically generate style rules based on the |
| current height of the toolbar (now that it is dynamic). Kind of gross, but |
| the end result is really nice! |
| |
| While I was at it I bumped the height of the headers to 23px to match the |
| other bars. That way when they are at the top everything lines up nicely. |
| |
| <rdar://problem/12611547> Consider using sticky positioning for sidebar section headers |
| |
| Reviewed by Dean Jackson. |
| |
| * UserInterface/DetailsSection.css: |
| (.details-section > .header): Bump the height and padding up. |
| * UserInterface/Main.js: |
| (WebInspector.updateDockedState): Call _updateStickyPostionStyles. |
| (WebInspector._updateStickyPostionStyles): Added. |
| (WebInspector._toolbarDisplayModeDidChange): Call _updateStickyPostionStyles. |
| (WebInspector._toolbarSizeModeDidChange): Ditto. |
| * UserInterface/Utilities.js: |
| (Element.prototype.totalOffsetLeft): Use getBoundingClientRect for better results. |
| (Element.prototype.totalOffsetTop): Ditto. |
| |
| 2012-11-10 Timothy Hatcher <timothy@apple.com> |
| |
| Don't deselect the selected row when refreshing the Network data grid. |
| |
| This preserves selection during refreshes that happen while loading the page. |
| It also prevents notifying that the selectionPathComponents changed which causes |
| the details sidebar to refresh and hide because there was no selection. |
| |
| <rdar://problem/12603744> Details sidebar auto-closes while trying to read it on a loading page |
| |
| Reviewed by Dean Jackson. |
| |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView.prototype._selectedNodeChanged): Return early if _ignoreSelectionEvent. |
| (WebInspector.TimelinesContentView.prototype._updatePendingRecordsWithNewBounds): Save and restore the |
| selectedNode if it was refreshed. |
| (WebInspector.TimelinesContentView.prototype._sortCurrentDataGrid): Set _ignoreSelectionEvent while |
| updating the data grid. |
| |
| 2012-11-10 Timothy Hatcher <timothy@apple.com> |
| |
| Don't crossfade the indeterminate progress spinner. |
| |
| <rdar://problem/12676407> Web Inspector shouldn't cross-fade its "discrete" spinner |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/IndeterminateProgressSpinner.css: |
| (.indeterminate-progress-spinner): Use -webkit-animation-timing-function: step-start. |
| |
| 2012-11-10 Timothy Hatcher <timothy@apple.com> |
| |
| Prevent the details sidebar from ever being shown empty. |
| |
| This removes the setting to auto hide when empty and always hides when empty. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Removed _detailsSidebarAutoHideWhenEmptySetting and start the |
| details sidebar out in the collapsed state. |
| (WebInspector._sidebarCollapsedStateDidChange): Don't remember the collapsed state if |
| _ignoreDetailsSidebarPanelCollapsedEvent is set. This is for ignoring programatic changes. |
| (WebInspector._contentBrowserRepresentedObjectsDidChange): Removed _detailsSidebarAutoHideWhenEmptySetting. |
| |
| 2012-11-10 Timothy Hatcher <timothy@apple.com> |
| |
| Don't draw a background on the toolbar when the window is inactive. |
| |
| We want to show through to the window chrome in this case too. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/Toolbar.css: |
| (body.window-inactive .toolbar): Removed background-image. |
| |
| 2012-11-10 Timothy Hatcher <timothy@apple.com> |
| |
| Move the time bar to the bottom so the sidebar elements align with the timelines again. |
| |
| Now that the sidebars don't have a navigation bar, everything is shifted higher in the sidebar. |
| This caused a misalignment in the timeline view. The best solution is to move the time bar to the |
| bottom so the timeline overviews line up with the tree elements in the sidebar again. The Profiles |
| sidebar header does not align with the data grid header anymore, but that does not matter as much. |
| Maybe later we can add a summary or zoom slider to sidebar, shifting Profiles down again. |
| |
| To make the time bar not be as distracting the background is now white and the markers fade out. |
| The fade points in the direction of the graph, up for the overview and down for the network graph. |
| This prevents the lines from touching since the two time bars are now next to each other. |
| |
| Reviewed by Ricky Mondello. |
| |
| * UserInterface/NetworkDataGrid.css: |
| (.network-timeline-decorations > .header): |
| (.network-timeline-decorations > .header > .divider): |
| (.network-timeline-decorations:not(.sort-active) > .header > .divider:last-child): |
| (.network-timeline-decorations > .header > .divider > .label): |
| * UserInterface/TimelineDecorations.css: |
| (.timeline-decorations > .header): |
| (.timeline-decorations > .header > .divider): |
| (.timeline-decorations > .header > .divider:last-child): |
| (.timeline-decorations > .header > .divider > .label): |
| * UserInterface/TimelineOverview.js: |
| (WebInspector.TimelineOverview): |
| * UserInterface/Toolbar.css: |
| |
| 2012-11-10 Timothy Hatcher <timothy@apple.com> |
| |
| Merge the Storage sidebar into the Resources sidebar. |
| |
| Most of this is just copied from StorageSidebarPanel with trivial tweaks to work |
| inside of ResourceSidebarPanel. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/ApplicationCacheFrameTreeElement.js: |
| (WebInspector.ApplicationCacheFrameTreeElement.prototype.updateTitles): |
| * UserInterface/InspectorObserver.js: |
| (WebInspector.InspectorObserver.prototype.inspect): |
| * UserInterface/Main.html: |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| (WebInspector.sidebarPanelForRepresentedObject): |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel): |
| (WebInspector.ResourceSidebarPanel.prototype.cookieForContentView): |
| (WebInspector.ResourceSidebarPanel.prototype.showContentViewForCookie.finalizeCookieChecking): |
| (WebInspector.ResourceSidebarPanel.prototype.showContentViewForCookie): |
| (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject): |
| (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange): |
| (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork): |
| (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange): |
| (WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded): |
| (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected): |
| (WebInspector.ResourceSidebarPanel.prototype._domNodeWasInspected): |
| (WebInspector.ResourceSidebarPanel.prototype._checkStorageTreeElementAgainstPendingContentViewCookie): |
| (WebInspector.ResourceSidebarPanel.prototype._domStorageObjectWasAdded): |
| (WebInspector.ResourceSidebarPanel.prototype._domStorageObjectWasInspected): |
| (WebInspector.ResourceSidebarPanel.prototype._databaseWasAdded): |
| (WebInspector.ResourceSidebarPanel.prototype._databaseWasInspected): |
| (WebInspector.ResourceSidebarPanel.prototype._cookieStorageObjectWasAdded): |
| (WebInspector.ResourceSidebarPanel.prototype._frameManifestAdded): |
| (WebInspector.ResourceSidebarPanel.prototype._frameManifestRemoved): |
| (WebInspector.ResourceSidebarPanel.prototype._compareTreeElements): |
| (WebInspector.ResourceSidebarPanel.prototype._addStorageChild): |
| (WebInspector.ResourceSidebarPanel.prototype._storageCleared): |
| * UserInterface/StorageSidebarPanel.js: Removed. |
| |
| 2012-11-09 Timothy Hatcher <timothy@apple.com> |
| |
| Remove the Issues sidebar. |
| |
| It might come back in some form in the new Debugger sidebar if there is demand. |
| But it has proven to not be that helpful in its current form. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/IssueIcons.css: Removed. |
| * UserInterface/IssueSidebarPanel.js: Removed. |
| * UserInterface/IssueTreeElement.js: Removed. |
| * UserInterface/Main.html: |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| |
| 2012-11-09 Timothy Hatcher <timothy@apple.com> |
| |
| Add placeholders to all the search and filter fields in the navigation sidebars. |
| |
| <rdar://problem/11113717> Two search-related fields in the Search sidebar is confusing |
| |
| Reviewed by Dan Bernstein. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/BreakpointSidebarPanel.js: |
| (WebInspector.BreakpointSidebarPanel): |
| * UserInterface/DebugSidebarPanel.js: |
| (WebInspector.DebugSidebarPanel): |
| * UserInterface/FilterBar.js: |
| (WebInspector.FilterBar.prototype.get placeholder): Added. |
| (WebInspector.FilterBar.prototype.set placeholder): Added. |
| * UserInterface/InstrumentSidebarPanel.js: |
| (WebInspector.InstrumentSidebarPanel): |
| * UserInterface/LogSidebarPanel.js: |
| (WebInspector.LogSidebarPanel): |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel): |
| * UserInterface/StorageSidebarPanel.js: |
| (WebInspector.StorageSidebarPanel): |
| |
| 2012-11-09 Timothy Hatcher <timothy@apple.com> |
| |
| Merge the Search sidebar into the Resources sidebar. |
| |
| Most of this is just copied from SearchSidebarPanel with trivial tweaks to work |
| inside of ResourceSidebarPanel. |
| |
| Rubber-stamped by Antoine Quint. |
| |
| * UserInterface/Main.html: |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| * UserInterface/ResourceSidebarPanel.css: Added. |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel): |
| (WebInspector.ResourceSidebarPanel.prototype.get contentTreeOutlineToAutoPrune): |
| (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject): |
| (WebInspector.ResourceSidebarPanel.prototype.performSearch.updateEmptyContentPlaceholderSoon): |
| (WebInspector.ResourceSidebarPanel.prototype.performSearch.updateEmptyContentPlaceholder): |
| (WebInspector.ResourceSidebarPanel.prototype.performSearch.resourceCallback): |
| (WebInspector.ResourceSidebarPanel.prototype.performSearch.resourcesCallback): |
| (WebInspector.ResourceSidebarPanel.prototype.performSearch.domSearchResults): |
| (WebInspector.ResourceSidebarPanel.prototype.performSearch.domCallback): |
| (WebInspector.ResourceSidebarPanel.prototype.performSearch): |
| (WebInspector.ResourceSidebarPanel.prototype._searchFieldChanged): |
| (WebInspector.ResourceSidebarPanel.prototype._searchTreeElementForResource): |
| (WebInspector.ResourceSidebarPanel.prototype._focusSearchField): |
| (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange): |
| (WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded): |
| (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected): |
| * UserInterface/SearchSidebarPanel.css: Removed. |
| * UserInterface/SearchSidebarPanel.js: Removed. |
| |
| 2012-11-09 Timothy Hatcher <timothy@apple.com> |
| |
| Allow setting the contentTreeOutline of a WebInspector.NavigationSidebarPanel. |
| |
| This will allow one sidebar to manage multiple content trees, so we can merge |
| Resources and Search into one. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel): Use createContentTreeOutline. |
| (WebInspector.NavigationSidebarPanel.prototype.get contentTreeOutlineElement): Use .element. |
| (WebInspector.NavigationSidebarPanel.prototype.set contentTreeOutline): Added. |
| (WebInspector.NavigationSidebarPanel.prototype.get contentTreeOutlineToAutoPrune): Added. |
| (WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline): Added. |
| (WebInspector.NavigationSidebarPanel.prototype.show): Use contentTreeOutlineElement. |
| (WebInspector.NavigationSidebarPanel.prototype._checkForOldResources.delayedWork): Use the |
| new contentTreeOutlineToAutoPrune property. |
| * UserInterface/TreeOutline.js: |
| (TreeOutline): Set .element for public use. |
| |
| 2012-11-09 Nathan de Vries <ndevries@apple.com> |
| |
| Fix for <rdar://problem/11498628> Can inadvertently copy part of the UI |
| when attempting to copy the Full URL of a resource |
| |
| Ensure that when a value in the details side pane is triple-tapped to |
| select the whole value, the label from the following row is not included |
| in the selection. |
| |
| The table-cell selection issue will be addressed properly in |
| <rdar://problem/12668870> Triple-clicking text within a <div> set to |
| "display: table-cell" selects text outside the cell |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DetailsSectionSimpleRow.js: |
| (WebInspector.DetailsSectionSimpleRow): Add a click handler to the value |
| cell and adjust the selection range on triple-click if it extends beyond |
| the cell. |
| |
| 2012-11-09 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/12526413> Compositing borders button does not work for iOS 6 (should be suppressed or dimmed) |
| |
| Reviewed by Jon Honeycutt. |
| |
| Disable the toggle compositing borders navigation button when debugging |
| an iOS 6 device, which doesn't have backend support for it. |
| |
| * UserInterface/FrameContentView.js: |
| (WebInspector.FrameContentView.prototype._toggleCompositingBorders): |
| (WebInspector.FrameContentView.prototype._updateCompositingBordersButtonToMatchPageSettings): |
| |
| 2012-11-09 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/12462428> Make the Safari Curie Web Inspector compatible with iOS 6 |
| |
| Reviewed by Timothy Hatcher. |
| |
| In production builds be sure to copy over resources that are |
| dynamically loaded in the frontend, and aren't explicitly loaded |
| by Main.html. |
| |
| * Scripts/copy-user-interface-resources.sh: |
| |
| 2012-11-09 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/12462428> Make the Safari Curie Web Inspector compatible with iOS 6 |
| |
| Reviewed by Timothy Hatcher. |
| |
| In this change the inspector frontend will load a backend commands file |
| that is exactly compatible with the backend it is communicating with. |
| When loading the frontend for a remote session the RWI frontend host |
| can suggest a more specific InspectorBackendCommands file to load. |
| For non-remote session, or non-legacy remote session |
| the default InspectorBackendCommands.js file is loaded. |
| |
| This approach has some benefits: |
| |
| - loading the exact set of backend commands allows backend feature |
| detection by simply checking if the "BackendAgent.<method>" exists. |
| Therefore you immediately get errors if you use a backend agent |
| method without feature detecting it. |
| |
| - by having Legacy InspectorBackendCommands files checked in it is |
| easier to see exactly what an older version of iOS supported and |
| when functions were added / removed. |
| |
| And drawbacks: |
| |
| - if a protocol message changes in some way (renamed params, gains or |
| loses params, reorders params, changes to multiple methods, etc) we |
| may need to do extra work to ensure compatibility with older devices. |
| Like we've already seen with Database SQL handling. |
| |
| Timothy Hatcher already addressed all of the iOS 6 protocol changes so far. |
| |
| * UserInterface/LoadInspectorBackendCommands.js: Added. |
| Load either the default InspectorBackendCommands.js or the one exposed |
| by InspectorFrontendHost.inspectorBackendCommandsURL() in remote sessions. |
| |
| * UserInterface/Main.html: |
| Remove InspectorBackendLegacyCommands, add in LoadInspectorBackendCommands. |
| |
| * UserInterface/InspectorBackendLegacyCommands.js: Removed. |
| * UserInterface/Legacy/6.0/InspectorBackendCommands.js: Added. |
| This is the complete InspectorBackendCommands supported by iOS 6. |
| |
| 2012-11-08 Timothy Hatcher <timothy@apple.com> |
| |
| Fix an exception that started happening in the Web Inspector, that broke everything. |
| |
| Revision 133862 of WebCore started looking for InspectorFrontendAPI.dispatchMessageAsync. |
| So we need to implement thta method to make things work again. There are a few other |
| methods that needed added to InspectorFrontendAPI too. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/InspectorFrontendAPI.js: |
| (InspectorFrontendAPI.contextMenuItemSelected): Added. |
| (InspectorFrontendAPI.contextMenuCleared): Added. |
| (InspectorFrontendAPI.dispatchMessageAsync): Added. |
| (InspectorFrontendAPI.dispatchMessage): Added. |
| |
| 2012-11-08 Timothy Hatcher <timothy@apple.com> |
| |
| Default to horizontal labels and small icons for the toolbar when docked. |
| |
| This also remembers the toolbar modes for docked and undocked if the user changes them. |
| |
| Reviewed by Ricky Mondello. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Listen for the new toolbar events and create the settings. |
| (WebInspector.updateDockedState): Change the modes using the settings based on docked state. |
| (WebInspector._toolbarDisplayModeDidChange): Added. Store the mode in the setting. |
| (WebInspector._toolbarSizeModeDidChange): Added. Ditto. |
| * UserInterface/Toolbar.js: |
| (WebInspector.Toolbar.prototype.set displayMode): Fire the DisplayModeDidChange event. |
| (WebInspector.Toolbar.prototype.set sizeMode): Fire the SizeModeDidChange event. |
| |
| 2012-11-08 Timothy Hatcher <timothy@apple.com> |
| |
| Fix an exception that was preventing console expression from evaluating. |
| |
| This exposed a deeper issue where we were not using the origin property for DOM storage |
| objects and still looking for the host property. |
| |
| There also seems to be a backend issue where local storage is showing up twice. |
| https://bugs.webkit.org/show_bug.cgi?id=101643 |
| |
| <rdar://problem/12656188> Can't evaluate expressions in the console on this npr.org page |
| |
| Reviewed by Ricky Mondello. |
| |
| * UserInterface/DOMStorageObserver.js: |
| (WebInspector.DOMStorageObserver.prototype.addDOMStorage): Look for origin and parse |
| the host out of it since our code still expects the host. |
| * UserInterface/StorageSidebarPanel.js: |
| (WebInspector.StorageSidebarPanel.prototype._compareTreeElementsByMainTitle): Assert |
| that the mainTitle is not empty/null/undefined. Handle it anyway just in case. |
| |
| 2012-11-08 Timothy Hatcher <timothy@apple.com> |
| |
| Update the Web Inspector strings for all the string changes in the last few revisions. |
| |
| Part of: |
| <rdar://problem/10947541> Navigation bar buttons are too small |
| <rdar://problem/12294575> Navigation bar button icons are difficult to identify |
| <rdar://problem/12589291> Navigation bar buttons are unlabeled |
| |
| Reviewed by Ricky Mondello. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| |
| 2012-11-08 Timothy Hatcher <timothy@apple.com> |
| |
| Add the sidebar panel toolbar items and dock controls to the toolbar. |
| |
| Part of: |
| <rdar://problem/10947541> Navigation bar buttons are too small |
| <rdar://problem/12294575> Navigation bar button icons are difficult to identify |
| <rdar://problem/12589291> Navigation bar buttons are unlabeled |
| |
| Reviewed by Ricky Mondello. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| (WebInspector._updateDockToggleButtonVisibility): |
| (WebInspector._updateDockNavigationItems): |
| (WebInspector._contentBrowserRepresentedObjectsDidChange): |
| |
| 2012-11-08 Timothy Hatcher <timothy@apple.com> |
| |
| Remove the toggle sidebar buttons and keyboard shortcuts. |
| |
| Part of: |
| <rdar://problem/10947541> Navigation bar buttons are too small |
| <rdar://problem/12294575> Navigation bar button icons are difficult to identify |
| <rdar://problem/12589291> Navigation bar buttons are unlabeled |
| |
| Reviewed by Ricky Mondello. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| (WebInspector._navigationSidebarPanelSelected): |
| |
| 2012-11-08 Timothy Hatcher <timothy@apple.com> |
| |
| Don't have sidebars manage and display a NavigationBar anymore. |
| |
| This removes the navigation bar from Sidebar and makes each SidebarPanel have a toolbar item instead. |
| To work with the toolbar item the display names and tooltips have been tweaked. The toolbar items |
| are not used in the toolbar yet. |
| |
| Part of: |
| <rdar://problem/10947541> Navigation bar buttons are too small |
| <rdar://problem/12294575> Navigation bar button icons are difficult to identify |
| <rdar://problem/12589291> Navigation bar buttons are unlabeled |
| |
| Reviewed by Ricky Mondello. |
| |
| * UserInterface/AppearanceDetailsSidebarPanel.js: |
| (WebInspector.AppearanceDetailsSidebarPanel): |
| * UserInterface/ApplicationCacheDetailsSidebarPanel.js: |
| (WebInspector.ApplicationCacheDetailsSidebarPanel): |
| * UserInterface/BreakpointSidebarPanel.js: |
| (WebInspector.BreakpointSidebarPanel): |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel): |
| * UserInterface/DOMNodeDetailsSidebarPanel.js: |
| (WebInspector.DOMNodeDetailsSidebarPanel): |
| * UserInterface/DebugSidebarPanel.js: |
| (WebInspector.DebugSidebarPanel): |
| * UserInterface/DetailsSidebarPanel.js: |
| (WebInspector.DetailsSidebarPanel): |
| * UserInterface/InstrumentSidebarPanel.js: |
| (WebInspector.InstrumentSidebarPanel): |
| * UserInterface/IssueSidebarPanel.js: |
| (WebInspector.IssueSidebarPanel): |
| * UserInterface/LogSidebarPanel.js: |
| (WebInspector.LogSidebarPanel): |
| * UserInterface/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel): |
| (WebInspector.NavigationSidebarPanel.prototype.showEmptyContentPlaceholder): |
| (WebInspector.NavigationSidebarPanel.prototype.hideEmptyContentPlaceholder): |
| (WebInspector.NavigationSidebarPanel.prototype.updateEmptyContentPlaceholder): |
| (WebInspector.NavigationSidebarPanel.prototype.shown): |
| (WebInspector.NavigationSidebarPanel.prototype.hidden): |
| (WebInspector.NavigationSidebarPanel.prototype._updateToolbarItemVisibility): |
| * UserInterface/ResourceDetailsSidebarPanel.js: |
| (WebInspector.ResourceDetailsSidebarPanel): |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel): |
| * UserInterface/ScopeChainDetailsSidebarPanel.js: |
| (WebInspector.ScopeChainDetailsSidebarPanel): |
| * UserInterface/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel): |
| * UserInterface/Sidebar.css: |
| (.sidebar > .panel): |
| (.sidebar.right): |
| * UserInterface/Sidebar.js: |
| (WebInspector.Sidebar): |
| (WebInspector.Sidebar.prototype.addSidebarPanel): |
| (WebInspector.Sidebar.prototype.removeSidebarPanel): |
| (WebInspector.Sidebar.prototype.set selectedSidebarPanel): |
| (WebInspector.Sidebar.prototype.get minimumWidth): |
| (WebInspector.Sidebar.prototype.set width): |
| (WebInspector.Sidebar.prototype.set collapsed): |
| * UserInterface/SidebarPanel.js: |
| (WebInspector.SidebarPanel): |
| (WebInspector.SidebarPanel.prototype.get toolbarItem): |
| (WebInspector.SidebarPanel.prototype.get visible): |
| (WebInspector.SidebarPanel.prototype.hide): |
| (WebInspector.SidebarPanel.prototype.toggle): |
| (WebInspector.SidebarPanel.prototype.added): |
| (WebInspector.SidebarPanel.prototype.removed): |
| (WebInspector.SidebarPanel.prototype.hidden): |
| (WebInspector.SidebarPanel.prototype.visibilityDidChange): |
| * UserInterface/StorageSidebarPanel.js: |
| (WebInspector.StorageSidebarPanel): |
| |
| 2012-11-08 Timothy Hatcher <timothy@apple.com> |
| |
| Rename the QuickConsole toolbar style class so it does not conflict with the new Toolbar class. |
| |
| Part of: |
| <rdar://problem/10947541> Navigation bar buttons are too small |
| <rdar://problem/12294575> Navigation bar button icons are difficult to identify |
| <rdar://problem/12589291> Navigation bar buttons are unlabeled |
| |
| Reviewed by Ricky Mondello. |
| |
| * UserInterface/QuickConsole.css: |
| (.quick-console > .quick-console-toolbar): |
| (.quick-console > .quick-console-toolbar > .text-prompt): |
| (.quick-console > .quick-console-toolbar > .navigation-bar-container): |
| (.quick-console > .quick-console-toolbar > .navigation-bar-container > .navigation-bar-spacer): |
| (.quick-console > .quick-console-toolbar > .navigation-bar-container > .navigation-bar): |
| (.quick-console > .quick-console-toolbar.scroll-divider): |
| (.quick-console > .quick-console-toolbar > .text-prompt > .javascript-prompt): |
| * UserInterface/QuickConsole.js: |
| |
| 2012-11-08 Timothy Hatcher <timothy@apple.com> |
| |
| Add a toolbar class and toolbar item classes to the Web Inspector. |
| |
| The toolbar and item inherits most of the functionality from the existing NavigationBar and ButtonNavigationItem. |
| This also makes the toolbar be the resize area when docked. No items are added to the toolbar yet. |
| |
| Part of: |
| <rdar://problem/10947541> Navigation bar buttons are too small |
| <rdar://problem/12294575> Navigation bar button icons are difficult to identify |
| <rdar://problem/12589291> Navigation bar buttons are unlabeled |
| |
| Reviewed by Ricky Mondello. |
| |
| * UserInterface/ActivateButtonToolbarItem.js: Added. |
| (WebInspector.ActivateButtonToolbarItem): |
| (WebInspector.ActivateButtonToolbarItem.prototype.get label): |
| (WebInspector.ActivateButtonToolbarItem.prototype.set label): |
| * UserInterface/ButtonToolbarItem.css: Added. |
| (.toolbar > .item.button): |
| (.toolbar.icon-and-label-vertical > .item.button): |
| (.toolbar.icon-and-label-horizontal > .item.button): |
| (.toolbar > .item.button > .glyph): |
| (.toolbar.small-size > .item.button > .glyph): |
| (.toolbar.label-only > .item.button > .glyph): |
| (.toolbar > .item.button > .label): |
| (.toolbar.label-only > .item.activate.button.activated > .label): |
| (.toolbar.icon-and-label-horizontal > .item.button > .label): |
| (.toolbar.icon-only > .item.button > .label): |
| (body.window-inactive .toolbar > .item.button): |
| (.toolbar > .item.button.disabled): |
| (body.window-inactive .toolbar > .item.button.disabled): |
| * UserInterface/ButtonToolbarItem.js: Added. |
| (WebInspector.ButtonToolbarItem): |
| (WebInspector.ButtonToolbarItem.prototype.get label): |
| (WebInspector.ButtonToolbarItem.prototype.set label): |
| * UserInterface/ControlToolbarItem.css: Added. |
| (.toolbar > .item.control): |
| (.toolbar.icon-and-label-vertical > .item.control): |
| (.toolbar > .item.control:not(.hidden) + .item.control): |
| (.toolbar > .item.control > .glyph): |
| (body.window-inactive .toolbar > .item.control > .glyph): |
| (.toolbar > .item.control.disabled > .glyph): |
| (body.window-inactive .toolbar > .item.control.disabled > .glyph): |
| * UserInterface/ControlToolbarItem.js: Added. |
| (WebInspector.ControlToolbarItem): |
| * UserInterface/Main.css: |
| (body): |
| (#toolbar): |
| (body.docked #toolbar): |
| (body.docked #toolbar .item:not(.flexible-space)): |
| (#main): |
| * UserInterface/Main.html: |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| (WebInspector._reloadPageIgnoringCache): |
| (WebInspector._copy): |
| * UserInterface/ToggleControlToolbarItem.js: Added. |
| (WebInspector.ToggleControlToolbarItem): |
| * UserInterface/Toolbar.css: Added. |
| (.toolbar): |
| (.toolbar.icon-and-label-vertical): |
| (.toolbar.icon-and-label-vertical.small-size): |
| (.toolbar.icon-only): |
| (.toolbar.label-only): |
| (body.docked .toolbar): |
| (body.window-inactive .toolbar): |
| (.toolbar > .item): |
| * UserInterface/Toolbar.js: Added. |
| (WebInspector.Toolbar): |
| (WebInspector.Toolbar.prototype.get displayMode): |
| (WebInspector.Toolbar.prototype.set displayMode): |
| (WebInspector.Toolbar.prototype.get sizeMode): |
| (WebInspector.Toolbar.prototype.set sizeMode): |
| (WebInspector.Toolbar.prototype._handleContextMenuEvent): |
| (WebInspector.Toolbar.prototype._changeDisplayMode): |
| (WebInspector.Toolbar.prototype._toggleSmallIcons): |
| |
| 2012-11-07 Timothy Hatcher <timothy@apple.com> |
| |
| Make the Web Inspector correctly reflect the docked state again. |
| |
| The query parameter changed in r133393. The front-end needs to look for the |
| new dockSide parameter instead of docked. |
| |
| Reviewed by Jon Honeycutt. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Look for dockSide === "bottom". |
| |
| 2012-11-05 Timothy Hatcher <timothy@apple.com> |
| |
| Change the point to inspect button icon from a hand to a crosshair. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/FrameContentView.js: |
| (WebInspector.FrameContentView): Use Crosshair.pdf instead of Hand.pdf. |
| * UserInterface/Images/Crosshair.pdf: Added. |
| * UserInterface/Images/Hand.pdf: Removed. |
| |
| 2012-11-04 Timothy Hatcher <timothy@apple.com> |
| |
| Fix the line numbers in the JavaScript & Events timeline; make them 0-based. |
| |
| The rest of the Web Inspector expects 0-based line numbers. But the line numbers in the |
| JavaScript & Events timeline come in 1-based. We were displaying them correctly before, |
| but clicking the go-to arrow would instead highlight the next line in the source. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ScriptTimelineDataGridNode.js: |
| (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent): Correctly display the now |
| 0-based line number. Also add the line number to the tooltip to match what we do elsewhere. |
| (WebInspector.ScriptTimelineDataGridNode.prototype._goToResource): Only pass the lineNumber if it |
| isn't the first line. |
| * UserInterface/TimelineManager.js: |
| (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Subtract 1 from the line numbers |
| coming in over the protocol before using them elsewhere in the Inspector. |
| |
| 2012-11-04 Timothy Hatcher <timothy@apple.com> |
| |
| Rename ContentView.keepElementsScrolledToTheBottom to ContentView.shouldKeepElementsScrolledToBottom. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/ContentView.js: |
| (WebInspector.ContentView.prototype.get shouldKeepElementsScrolledToBottom): |
| * UserInterface/ContentViewContainer.js: |
| (WebInspector.ContentViewContainer.prototype._saveScrollPositionsForContentView): |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView.prototype.get shouldKeepElementsScrolledToBottom): |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView.prototype.get shouldKeepElementsScrolledToBottom): |
| |
| 2012-11-04 Timothy Hatcher <timothy@apple.com> |
| |
| Save and restore the timeline scroll positions when going back and forth between views. |
| |
| Reviewed by Dan Bernstein and Joseph Pecoraro. |
| |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView.prototype.showTimelineForRecordType): Save and restore |
| the scroll position when swapping the DataGrids. |
| (WebInspector.TimelinesContentView.prototype.get scrollableElements): Added. |
| (WebInspector.TimelinesContentView.prototype.get keepElementsScrolledToTheBottom): Added. |
| |
| 2012-11-04 Timothy Hatcher <timothy@apple.com> |
| |
| Show the Initiator for the layout and style events in the Layout and Rendering timeline. |
| |
| This removes the Area column to make room. |
| |
| <rdar://problem/10935408> PARITY (WebKit Web Inspector): Add initiator information to the timeline |
| data grids (e.g. JS stacks for RecalcStyle, Layout and Painting) |
| |
| Reviewed by Ricky Mondello and Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/CallFrame.js: |
| (WebInspector.CallFrame): Added nativeCode parameter. Allow more null parameters in asserts. |
| (WebInspector.CallFrame.prototype.get nativeCode): Ditto. |
| * UserInterface/LayoutTimelineDataGridNode.js: |
| (WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent): Removed "area" and added |
| "initiatorCallFrame" support. |
| * UserInterface/LayoutTimelineRecord.js: |
| (WebInspector.LayoutTimelineRecord): Added callFrames parameter. |
| (WebInspector.LayoutTimelineRecord.prototype.get callFrames): Added. |
| (WebInspector.LayoutTimelineRecord.prototype.get initiatorCallFrame): Added. |
| * UserInterface/Main.js: |
| (WebInspector.createSourceCodeLocationLink): Added helper. |
| * UserInterface/TimelineManager.js: |
| (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Build CallFrames from the |
| record stack trace. |
| (WebInspector.TimelineManager.prototype._callFramesFromPayload): Added. |
| (WebInspector.TimelineManager.prototype._callFramesFromPayload.createCallFrame): Added. |
| * UserInterface/TimelinesContentView.css: |
| (.content-view.timelines > .data-grid td .subtitle): Added. |
| (.content-view.timelines > .data-grid:focus tr.selected td .subtitle): Added. |
| (.content-view.timelines > .data-grid td .icon): Simplified selector to work with any column. |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView): Added Initiator column. |
| (WebInspector.TimelinesContentView.prototype._sortComparator): Added support for comparing CallFrame. |
| |
| 2012-11-03 Timothy Hatcher <timothy@apple.com> |
| |
| Rename ScriptLocation to SourceCodeLocation so it can be reused for more generic stack traces. |
| |
| Rubber-stamped by Dan Bernstein. |
| |
| * UserInterface/CallFrame.js: |
| (WebInspector.CallFrame): |
| (WebInspector.CallFrame.prototype.get sourceCodeLocation): |
| * UserInterface/CallFrameTreeElement.js: |
| (WebInspector.CallFrameTreeElement): |
| * UserInterface/DebugSidebarPanel.js: |
| (WebInspector.DebugSidebarPanel.prototype._treeElementSelected): |
| * UserInterface/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype.debuggerDidPause): |
| (WebInspector.DebuggerManager.prototype._sourceCodeLocationFromPayload): |
| * UserInterface/Main.html: |
| * UserInterface/SourceCodeLocation.js: Renamed from WebInspector/UserInterface/ScriptLocation.js. |
| (WebInspector.SourceCodeLocation): |
| (WebInspector.SourceCodeLocation.prototype.get sourceCode): |
| (WebInspector.SourceCodeLocation.prototype.get lineNumber): |
| (WebInspector.SourceCodeLocation.prototype.get columnNumber): |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameDidChange): |
| (WebInspector.SourceCodeTextEditor.prototype._matchesSourceCodeLocation): |
| |
| 2012-11-03 Timothy Hatcher <timothy@apple.com> |
| |
| Start showing "Invalidate Styles" and "Invalidate Layout" in the Layout and Rendering timeline. |
| |
| These records will be the one showing the initiator (back trace) information. |
| |
| Part of: <rdar://problem/10935408> PARITY (WebKit Web Inspector): Add initiator information to the timeline |
| data grids (e.g. JS stacks for RecalcStyle, Layout and Painting) |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/LayoutTimelineRecord.js: |
| (WebInspector.LayoutTimelineRecord.EventType.displayName): Support InvalidateStyles and InvalidateLayout. |
| * UserInterface/TimelineManager.js: |
| (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Handle "ScheduleStyleRecalculation" |
| and "InvalidateLayout" and create records for them. |
| |
| 2012-11-03 Timothy Hatcher <timothy@apple.com> |
| |
| Round width and height in the metrics sidebar to the nearest hundredth. |
| |
| Width and height were missed when the other metrics started to be rounded. This also fixes |
| editing by using the unrounded value instead of keeping the tilde. Also append "px" when |
| updating the style if there is a decimal value. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/BoxModelDetailsSectionRow.js: |
| (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics.createElement): Added. Moved from |
| the createBoxPartElement function. |
| (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics.createBoxPartElement): Use createElement. |
| (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics.createContentAreaWidthElement): Renamed |
| from getContentAreaWidthPx. Use createElement. |
| (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics.createContentAreaHeightElement): Renamed |
| from getContentAreaHeightPx. Use createElement. |
| (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics): Use createContentAreaWidthElement |
| and createContentAreaHeightElement instead. |
| (WebInspector.BoxModelDetailsSectionRow.prototype._startEditing): If the target element has a title use |
| it as the editing value since the current text is likely truncated/rounded. |
| (WebInspector.BoxModelDetailsSectionRow.prototype._applyUserInput): Account for decimals values. |
| |
| 2012-11-03 Timothy Hatcher <timothy@apple.com> |
| |
| Clear the quick console when navigating to another page. |
| |
| When reloading the same page we insert a divider. |
| |
| <rdar://problem/11194811> Quick Console does not clear on navigation/refresh |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ConsoleGroup.js: |
| (WebInspector.ConsoleGroup): Added newSession parameter and style class. |
| * UserInterface/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController): Removed group creation and call startNewSession. |
| (WebInspector.JavaScriptLogViewController.prototype.clear): Call startNewSession passing true. |
| (WebInspector.JavaScriptLogViewController.prototype.startNewSession): Added. Moved parts |
| from clear and the constructor. |
| * UserInterface/LogContentView.css: |
| (.console-messages > .console-group:last-of-type .console-user-command): Added. |
| (.console-message, .console-user-command): Removed border-bottom. |
| (.console-message:not(:last-child), .console-user-command:not(:last-child)): Added. |
| (.console-group:not(:first-child)): Added. |
| (.console-group.new-session): Added. |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView.prototype._activeLogCleared): Check isWaitingForResult |
| to make sure this was the console that requested the clear. |
| * UserInterface/QuickConsole.css: |
| (.quick-console > .toolbar): Added shadow to look like a border on the toolbar. This |
| is needed now that the last console message does not have a bottom-border. |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole): |
| (WebInspector.QuickConsole.prototype.didClearMessages): Clear _lastMessage and _lastMessageIgnored. |
| (WebInspector.QuickConsole.prototype._activeLogCleared): Check isWaitingForResult |
| to make sure this was the console that requested the clear. |
| (WebInspector.QuickConsole.prototype._previousMessageRepeatCountUpdated): |
| (WebInspector.QuickConsole.prototype._logsCleared): Added. |
| (WebInspector.QuickConsole.prototype._sessionStarted): Added. |
| |
| 2012-10-31 Timothy Hatcher <timothy@apple.com> |
| |
| Don't show 'undefined' in the console after sending the clear() command. |
| |
| Reviewed by Ada Chan. |
| |
| * UserInterface/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController): Set _cleared to true. |
| (WebInspector.JavaScriptLogViewController.prototype.clear): Ditto. |
| (WebInspector.JavaScriptLogViewController.prototype.printResult): Return early if _cleared. |
| (WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessage): Set _cleared to false. |
| |
| 2012-10-31 Timothy Hatcher <timothy@apple.com> |
| |
| Allow independently clearing either the log view or the quick console. |
| |
| This fixes up the clearing process and mostly decouples it from LogManager. |
| The ActiveLogCleared event is now only used to honor the clear() command. |
| This also adds the Clear Log context menu item to the Quick Console. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController.prototype.clear): Focus the prompt |
| and call the new didClearMessages delegate function. |
| (WebInspector.JavaScriptLogViewController.prototype._requestClearMessages): Removed. |
| (WebInspector.JavaScriptLogViewController.prototype._promptKeyDown): Call clear |
| instead of _requestClearMessages. |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView.prototype.didClearMessages): Added. Tell LogManager. |
| (WebInspector.LogContentView.prototype._activeLogCleared): Only clear this log if |
| it is being used at the time. |
| (WebInspector.LogContentView.prototype._clearLog): Call clear instead of requestClearMessages. |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole.prototype.didClearMessages): Added. |
| (WebInspector.QuickConsole.prototype.didAppendConsoleMessage): Set _cleared to false. |
| (WebInspector.QuickConsole.prototype._viewContainerHandleContextMenuEvent): Added Clear Log |
| context menu item. |
| (WebInspector.QuickConsole.prototype._clearLog): Added. |
| (WebInspector.QuickConsole.prototype._activeLogCleared): Only clear this log if it is |
| being used at the time. Move code from here to didClearMessages. |
| (WebInspector.QuickConsole.prototype._messageAdded): Even if we show the message, |
| remember it in case we get an updated repeat count later. |
| (WebInspector.QuickConsole.prototype._previousMessageRepeatCountUpdated): |
| |
| 2012-10-31 Timothy Hatcher <timothy@apple.com> |
| |
| Add an option to make the Quick Console only show messages while actively debugging. |
| |
| This adds a context menu item to toggle the option. When "Always Show Console Messages" |
| is unchecked then console messages will only show when evaluating and expression or |
| stepping through code in the debugger. The default is to always show messages. |
| |
| <rdar://problem/11194915> REGRESSION (Safari 6): Console messages are not echoed to Quick Console |
| |
| Reviewed by Brian Weinstein. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController.prototype.isWaitingForResult): Added. |
| (WebInspector.JavaScriptLogViewController.prototype._appendCommand): Set _waitingForResult. |
| (WebInspector.JavaScriptLogViewController.prototype._appendCommand.printResult): Clear _waitingForResult. |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole): Added event listeners for the contextmenu event. |
| (WebInspector.QuickConsole.prototype._viewContainerHandleContextMenuEvent): Added. Create and |
| show the context menu with the new option. |
| (WebInspector.QuickConsole.prototype._toggleAlwaysShowConsoleMessages): Added. Toggle the setting. |
| (WebInspector.QuickConsole.prototype._activeLogCleared): Clear the ignored emssage. |
| (WebInspector.QuickConsole.prototype._shouldAddNewMessage): Added. |
| (WebInspector.QuickConsole.prototype._messageAdded): Check _shouldAddNewMessage before appending. |
| Squirrel away the ignored message incase we need to show it later. |
| (WebInspector.QuickConsole.prototype._previousMessageRepeatCountUpdated): Check _shouldAddNewMessage. |
| Appended the squirreled away the ignored message first. |
| |
| 2012-10-30 Timothy Hatcher <timothy@apple.com> |
| |
| Remember and restore the console history between page reloads and Web Inspector sessions. |
| |
| <rdar://problem/11343640> REGRESSION (Safari 6): Log panel console history of commands |
| (up/down arrows) lost after page navigation |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController): Create the setting and initialize the prompt. |
| (WebInspector.JavaScriptLogViewController.prototype.printResult): Update the history setting |
| with the last 30 commands. |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView): Pass a history setting identifier. |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole): Ditto. |
| |
| 2012-10-30 Timothy Hatcher <timothy@apple.com> |
| |
| Echo console messages to the Web Inspector's quick console. |
| |
| <rdar://problem/11194915> REGRESSION (Safari 6): Console messages are not echoed to Quick Console |
| |
| Reviewed by Ada Chan. |
| |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole): Listen for MessageAdded and PreviousMessageRepeatCountUpdated. |
| (WebInspector.QuickConsole.prototype.didAppendConsoleMessage): Only auto expand and scroll down |
| for result messages. |
| (WebInspector.QuickConsole.prototype._messageAdded): Added. Call through. |
| (WebInspector.QuickConsole.prototype._previousMessageRepeatCountUpdated): Added. Call through. |
| |
| 2012-10-30 Timothy Hatcher <timothy@apple.com> |
| |
| Make JavaScriptLogViewController keep track of the previous message and repeat counts. |
| |
| Part of: <rdar://problem/11194915> REGRESSION (Safari 6): Console messages are not echoed to Quick Console |
| |
| Reviewed by Ada Chan. |
| |
| * UserInterface/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController): Don't store _messages, it wasn't used. Added _previousMessage |
| and _repeatCountWasInterrupted. |
| (WebInspector.JavaScriptLogViewController.prototype.clear): Reset _previousMessage and _repeatCountWasInterrupted. |
| (WebInspector.JavaScriptLogViewController.prototype.appendConsoleMessage): Clone the message since there might be |
| multiple clients using the message, and since the message has a DOM element it can't be two places at once. |
| (WebInspector.JavaScriptLogViewController.prototype.updatePreviousMessageRepeatCount): Added. Moved from LogManager. |
| (WebInspector.JavaScriptLogViewController.prototype._appendCommand): Pass true to _appendConsoleMessage to set the |
| _repeatCountWasInterrupted flag and not set _previousMessage. |
| (WebInspector.JavaScriptLogViewController.prototype._appendCommand.printResult): Ditto. |
| (WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessage): Set _repeatCountWasInterrupted and only |
| set _previousMessage when repeatCountWasInterrupted is false. Don't store _messages, it wasn't used. |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView.prototype.updatePreviousMessageRepeatCount): Added. Call through. |
| * UserInterface/LogManager.js: |
| (WebInspector.LogManager): Remove initialize call. |
| (WebInspector.LogManager.prototype.initialize): Removed. Not needed. |
| (WebInspector.LogManager.prototype.messageWasAdded): Dispatch the message in an object, not as data directly. |
| Assert the message was not used directly, it should be cloned. |
| (WebInspector.LogManager.prototype.messagesCleared): Removed call to initialize. |
| (WebInspector.LogManager.prototype.messageRepeatCountUpdated): MOved to JavaScriptLogViewController. |
| Fire PreviousMessageRepeatCountUpdated event instead. |
| (WebInspector.LogManager.prototype._mainResourceDidChange): Removed initialize call. |
| (WebInspector.LogManager.prototype._addMessage): Removed. |
| * UserInterface/LogSidebarPanel.js: |
| (WebInspector.LogSidebarPanel): Added event listener for PreviousMessageRepeatCountUpdated. |
| (WebInspector.LogSidebarPanel.prototype._messageAdded): Get message off data object. Update comment. |
| (WebInspector.LogSidebarPanel.prototype._previousMessageRepeatCountUpdated): Added. Call through to current view. |
| |
| 2012-10-30 Timothy Hatcher <timothy@apple.com> |
| |
| Change the icons for Debug, Storage and Log navigators. |
| |
| This also renamed Debug Navigator to Call Stack Navigator and moved |
| it and Issue to the end of the list since they are not always visible. |
| I updated the keyboard shortcut numbers to match the new order. |
| |
| For better balance, I updated the Breakpoint and Issue icons. |
| |
| To help clarify these navigation items I added "Navigator" or "Details" |
| to the tooltips, so they are no longer just singular word tooltips. |
| |
| <rdar://problem/11991020> Debug icon is unintuitive, consider a new icon |
| <rdar://problem/12598939> Storage icon is unintuitive, consider a new icon |
| <rdar://problem/12596756> Log icon is unintuitive, consider a new icon |
| |
| Reviewed by Conrad Shultz. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/AppearanceDetailsSidebarPanel.js: |
| (WebInspector.AppearanceDetailsSidebarPanel): |
| * UserInterface/ApplicationCacheDetailsSidebarPanel.js: |
| (WebInspector.ApplicationCacheDetailsSidebarPanel): |
| * UserInterface/BreakpointSidebarPanel.js: |
| (WebInspector.BreakpointSidebarPanel): |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel): |
| * UserInterface/DOMNodeDetailsSidebarPanel.js: |
| (WebInspector.DOMNodeDetailsSidebarPanel): |
| * UserInterface/DebugSidebarPanel.js: |
| (WebInspector.DebugSidebarPanel): |
| * UserInterface/Images/NavigationItemBreakpoint.pdf: Changed. |
| * UserInterface/Images/NavigationItemFunction.pdf: Added. |
| * UserInterface/Images/NavigationItemLog.pdf: Changed. |
| * UserInterface/Images/NavigationItemStorage.pdf: Changed. |
| * UserInterface/Images/NavigationItemWarning.pdf: Changed. |
| * UserInterface/InstrumentSidebarPanel.js: |
| (WebInspector.InstrumentSidebarPanel): |
| * UserInterface/IssueSidebarPanel.js: |
| (WebInspector.IssueSidebarPanel): |
| * UserInterface/LogSidebarPanel.js: |
| (WebInspector.LogSidebarPanel): |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| * UserInterface/ResourceDetailsSidebarPanel.js: |
| (WebInspector.ResourceDetailsSidebarPanel): |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel): |
| * UserInterface/ScopeChainDetailsSidebarPanel.js: |
| (WebInspector.ScopeChainDetailsSidebarPanel): |
| * UserInterface/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel): |
| * UserInterface/StorageSidebarPanel.js: |
| (WebInspector.StorageSidebarPanel): |
| |
| 2012-10-28 Mark Rowe <mrowe@apple.com> |
| |
| Remove references to unsupported OS and Xcode versions. |
| |
| Reviewed by Dan Bernstein. |
| |
| * Configurations/Base.xcconfig: |
| * Configurations/CompilerVersion.xcconfig: Removed. |
| * WebInspectorUI.xcodeproj/project.pbxproj: Remove reference to CompilerVersion.xcconfig. |
| |
| 2012-10-29 Timothy Hatcher <timothy@apple.com> |
| |
| Make the Web Inspector's clear() command work in the console again. |
| |
| <rdar://problem/11007383> REGRESSION (Safari 6): Should be able to clear current console log via clear() command |
| |
| Reviewed by Ada Chan. |
| |
| * UserInterface/ConsoleObserver.js: |
| (WebInspector.ConsoleObserver.prototype.messagesCleared): Call LogManager.messagesCleared. |
| * UserInterface/LogManager.js: |
| (WebInspector.LogManager.prototype.messageWasAdded): Added comment about ConsoleObserver. |
| (WebInspector.LogManager.prototype.messagesCleared): Added. Moved from requestClearMessages. |
| (WebInspector.LogManager.prototype.messageRepeatCountUpdated): Added comment about ConsoleObserver. |
| (WebInspector.LogManager.prototype.requestClearMessages): Removed clearing since that happens |
| in messagesCleared now in response to the request. |
| |
| 2012-10-29 Timothy Hatcher <timothy@apple.com> |
| |
| Allow resizing the docked Web Inspector from any empty space in the navigation bars. |
| |
| <rdar://problem/11964849> REGRESSION (Safari 6): Resizing the docked Web Inspector is not easy |
| |
| Reviewed by Ada Chan. |
| |
| * UserInterface/Main.css: |
| (body.docked #details-sidebar > .navigation-bar): Show row-resize cursor. |
| (body.docked #details-sidebar > .navigation-bar .item:not(.flexible-space)): Reset the cursor to default. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Add event listeners to the navigation bars. |
| |
| 2012-10-28 Timothy Hatcher <timothy@apple.com> |
| |
| Use a specific icon for application cache manifests instead of the generic document icon. |
| |
| <rdar://problem/11427380> In Storage navigator Application Cache icon should be better than a generic document icon |
| |
| Reviewed by Ricky Mondello. |
| |
| * UserInterface/ApplicationCacheIcons.css: |
| (.application-cache-manifest .icon): Use the new icons. |
| * UserInterface/Images/ApplicationCacheManifest.png: Added. |
| * UserInterface/Images/ApplicationCacheManifest@2x.png: Added. |
| |
| 2012-10-28 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Make radio navigation buttons only switch for the left mouse button. |
| |
| <rdar://problem/11795081> Right-clicking navigator icons produces unexpected results |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/NavigationBar.js: |
| (WebInspector.NavigationBar.prototype._mouseDown): Return early if event.button !== 0. |
| (WebInspector.NavigationBar.prototype._mouseMoved): Assert event.button !== 0. |
| (WebInspector.NavigationBar.prototype._mouseUp): Ditto. |
| |
| 2012-10-27 Timothy Hatcher <timothy@apple.com> |
| |
| Make the network timeline bars and callouts HiDPI compliant. |
| |
| <rdar://problem/10643175> Timeline pills/callouts should be made HiDPI compliant |
| |
| Reviewed by Sam Weinig. |
| |
| * UserInterface/Images/NetworkBarBlue.png: Added. |
| * UserInterface/Images/NetworkBarBlue@2x.png: Added. |
| * UserInterface/Images/NetworkBarGray.png: Added. |
| * UserInterface/Images/NetworkBarGray@2x.png: Added. |
| * UserInterface/Images/NetworkBarGreen.png: Added. |
| * UserInterface/Images/NetworkBarGreen@2x.png: Added. |
| * UserInterface/Images/NetworkBarLabelCalloutLeft.pdf: Added. |
| * UserInterface/Images/NetworkBarLabelCalloutRight.pdf: Added. |
| * UserInterface/Images/NetworkBarLabelCalloutWhiteLeft.pdf: Added. |
| * UserInterface/Images/NetworkBarLabelCalloutWhiteRight.pdf: Added. |
| * UserInterface/Images/NetworkBarOrange.png: Added. |
| * UserInterface/Images/NetworkBarOrange@2x.png: Added. |
| * UserInterface/Images/NetworkBarPurple.png: Added. |
| * UserInterface/Images/NetworkBarPurple@2x.png: Added. |
| * UserInterface/Images/NetworkBarRed.png: Added. |
| * UserInterface/Images/NetworkBarRed@2x.png: Added. |
| * UserInterface/Images/NetworkBarWhiteFlat.png: Added. |
| * UserInterface/Images/NetworkBarWhiteFlat@2x.png: Added. |
| * UserInterface/Images/NetworkBarYellow.png: Added. |
| * UserInterface/Images/NetworkBarYellow@2x.png: Added. |
| * UserInterface/Images/NetworkHollowBarBlue.png: Added. |
| * UserInterface/Images/NetworkHollowBarBlue@2x.png: Added. |
| * UserInterface/Images/NetworkHollowBarGray.png: Added. |
| * UserInterface/Images/NetworkHollowBarGray@2x.png: Added. |
| * UserInterface/Images/NetworkHollowBarGreen.png: Added. |
| * UserInterface/Images/NetworkHollowBarGreen@2x.png: Added. |
| * UserInterface/Images/NetworkHollowBarOrange.png: Added. |
| * UserInterface/Images/NetworkHollowBarOrange@2x.png: Added. |
| * UserInterface/Images/NetworkHollowBarPurple.png: Added. |
| * UserInterface/Images/NetworkHollowBarPurple@2x.png: Added. |
| * UserInterface/Images/NetworkHollowBarRed.png: Added. |
| * UserInterface/Images/NetworkHollowBarRed@2x.png: Added. |
| * UserInterface/Images/NetworkHollowBarYellow.png: Added. |
| * UserInterface/Images/NetworkHollowBarYellow@2x.png: Added. |
| * UserInterface/Images/graphLabelCalloutLeft.png: Removed. |
| * UserInterface/Images/graphLabelCalloutLeftWhite.png: Removed. |
| * UserInterface/Images/graphLabelCalloutRight.png: Removed. |
| * UserInterface/Images/graphLabelCalloutRightWhite.png: Removed. |
| * UserInterface/Images/timelineHollowPillBlue.png: Removed. |
| * UserInterface/Images/timelineHollowPillGray.png: Removed. |
| * UserInterface/Images/timelineHollowPillGreen.png: Removed. |
| * UserInterface/Images/timelineHollowPillOrange.png: Removed. |
| * UserInterface/Images/timelineHollowPillPurple.png: Removed. |
| * UserInterface/Images/timelineHollowPillRed.png: Removed. |
| * UserInterface/Images/timelineHollowPillYellow.png: Removed. |
| * UserInterface/Images/timelinePillBlue.png: Removed. |
| * UserInterface/Images/timelinePillGray.png: Removed. |
| * UserInterface/Images/timelinePillGreen.png: Removed. |
| * UserInterface/Images/timelinePillOrange.png: Removed. |
| * UserInterface/Images/timelinePillPurple.png: Removed. |
| * UserInterface/Images/timelinePillRed.png: Removed. |
| * UserInterface/Images/timelinePillWhiteFlat.png: Removed. |
| * UserInterface/Images/timelinePillYellow.png: Removed. |
| * UserInterface/NetworkTimeline.css: |
| (.network-graph-label.before): |
| (.network-graph-label.before::after): |
| (.network-graph-label.after): |
| (.network-graph-label.after::before): |
| (.network-graph-bar): |
| (.resource-cached .network-graph-bar): |
| (.network-resource-type-document .network-graph-bar): |
| (.network-resource-type-document.resource-cached .network-graph-bar): |
| (.network-resource-type-stylesheet .network-graph-bar): |
| (.network-resource-type-stylesheet.resource-cached .network-graph-bar): |
| (.network-resource-type-image .network-graph-bar): |
| (.network-resource-type-image.resource-cached .network-graph-bar): |
| (.network-resource-type-font .network-graph-bar): |
| (.network-resource-type-font.resource-cached .network-graph-bar): |
| (.network-resource-type-script .network-graph-bar): |
| (.network-resource-type-script.resource-cached .network-graph-bar): |
| (.network-resource-type-xhr .network-graph-bar): |
| (.network-resource-type-xhr.resource-cached .network-graph-bar): |
| (.network-resource-type-other .network-graph-bar): |
| (.network-resource-type-other.resource-cached .network-graph-bar): |
| (.data-grid:focus tr.selected .network-graph-bar): |
| (.data-grid:focus tr.selected .resource-cached .network-graph-bar): |
| (.data-grid:focus tr.selected .network-graph-label.before::after): |
| (.data-grid:focus tr.selected .network-graph-label.after::before): |
| |
| 2012-10-26 Timothy Hatcher <timothy@apple.com> |
| |
| Clear the issue navigator sidebar when the active log is cleared. |
| |
| Reviewed by Ada Chan. |
| |
| * UserInterface/IssueManager.js: |
| (WebInspector.IssueManager): Listen for the ActiveLogCleared event. |
| (WebInspector.IssueManager.prototype.initialize): Dispatch the Cleared event. |
| (WebInspector.IssueManager.prototype._activeLogCleared): Added. Call initialize. |
| (WebInspector.IssueManager.prototype._mainResourceDidChange): Just call initialize |
| since it now dispatches the Cleared event. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Create logManager before issueManager so IssueManager |
| can listen for the ActiveLogCleared event. |
| |
| 2012-10-26 Timothy Hatcher <timothy@apple.com> |
| |
| Clean up LogContentView and make clearing the console have straightforward code path. |
| |
| The icon for the trashcan was also 1px too low and not embossed. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Images/NavigationItemTrash.pdf: Updated. |
| * UserInterface/LogContentView.css: |
| (.console-messages): Changed from #console-messages. |
| (.console-messages a): Ditto. |
| (.console-messages a:hover): Ditto. |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView): Don't set ids on elements. Remove unused className. |
| Directly listen for the ActiveLogCleared event. Remove true from the end of the |
| ButtonNavigationItem for the clear button to make it embossed. |
| (WebInspector.LogContentView.prototype.disable): Set _disabled. Also disable the clear |
| button and add a FIXME. |
| (WebInspector.LogContentView.prototype.consoleCleared): Removed. Replaced by _activeLogCleared. |
| (WebInspector.LogContentView.prototype.closed): Added. |
| (WebInspector.LogContentView.prototype.didAppendConsoleMessage): Removed. Stop firing |
| and event no one listens for. |
| (WebInspector.LogContentView.prototype._handleContextMenuEvent): Use _clearLog. Don't |
| add the context menu item for disabled logs. |
| (WebInspector.LogContentView.prototype._requestClearMessages): Removed. Replaced by _clearLog. |
| (WebInspector.LogContentView.prototype._activeLogCleared): Added. |
| (WebInspector.LogContentView.prototype._clearLog): Call WebInspector.logManager.requestClearMessages |
| and wait for the ActiveLogCleared event. |
| * UserInterface/LogSidebarPanel.js: |
| (WebInspector.LogSidebarPanel): Removed ActiveLogCleared event listener. |
| (WebInspector.LogSidebarPanel.prototype._activeLogCleared): Removed. |
| |
| 2012-10-26 Timothy Hatcher <timothy@apple.com> |
| |
| Update all of the generated icons in the Web Inspector when the device pixel ratio changes. |
| |
| <rdar://problem/12579083> Update generated images as the window moves between 1x and 2x screens |
| |
| Reviewed by Ricky Mondello. |
| |
| * UserInterface/ImageUtilities.js: |
| (generateColoredImagesForCSS): Added matchMedia listener. |
| (generateColoredImagesForCSS.generateImages): Renamed from imageLoaded. |
| (generateEmbossedImages): Added matchMedia listener. |
| (generateEmbossedImages._generateImages): Renamed from _imageLoaded. |
| |
| 2012-10-25 Timothy Hatcher <timothy@apple.com> |
| |
| Make ImageUtilities.js in Web Inspector webkitGetImageDataHD and webkitGetImageDataHD. |
| |
| Since the 2x canvas approach was no longer working we now only generate one canvas that |
| matches the device pixel ratio. This does not properly update as the Web Inspector |
| changes screens, and that is tracked by <rdar://problem/12579083>. |
| |
| The icons are still blurry in HiDPI, and that is tracked by <rdar://problem/12574189>. |
| |
| <rdar://problem/12579056> Update ImageUtilities.js to properly work in HIDPI |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/ActivateButtonNavigationItem.js: |
| (WebInspector.ActivateButtonNavigationItem.prototype.generateStyleText): Remove 2x selectors. |
| * UserInterface/ButtonNavigationItem.js: |
| (WebInspector.ButtonNavigationItem.prototype.generateStyleText): Ditto. |
| * UserInterface/RadioButtonNavigationItem.js: |
| (WebInspector.RadioButtonNavigationItem.prototype.generateStyleText): Ditto. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.css: Remove 2x selectors and media queries. |
| * UserInterface/DOMTreeOutline.css: Ditto. |
| * UserInterface/DataGrid.css: Ditto. |
| * UserInterface/DetailsSection.css: Ditto. |
| * UserInterface/LogContentView.css: Ditto. |
| * UserInterface/Main.css: Ditto. |
| * UserInterface/NavigationSidebarPanel.css: Ditto. |
| * UserInterface/Section.css: Ditto. |
| * UserInterface/TimelinesContentView.css: Ditto. |
| |
| * UserInterface/ImageUtilities.js: |
| (generateColoredImage): Use webkitGetImageDataHD and webkitPutImageDataHD. |
| (generateColoredImagesForCSS): Stop generating 2x versions. |
| (generateEmbossedImages): Stop generating 2x versions. Use webkitGetImageDataHD and |
| webkitPutImageDataHD. |
| |
| 2012-10-25 Korhan Bircan <kbircan@apple.com> |
| |
| Fix for "<rdar://problem/12120092> REGRESSION (Safari 6): No button to clear the Log view or Quick Console". |
| |
| Reviewed by Timothy Hatcher. |
| |
| There's no "Clear Console" button in the log content view and we only support Command-K shortcut |
| to clear the console. This is a missing feature that has been mentioned a few times on Twitter |
| and Stack Overflow. This patch adds a "Clear Console" button in the navigation bar where we think |
| is a good place for discoverability. |
| |
| We can likely do the same for the Quick Console once we decide where the best place to put the |
| button is. |
| |
| * Localizations/en.lproj/localizedStrings.js: Regenerated after adding the tooltip. |
| * UserInterface/Images/NavigationItemTrash.pdf: Added. |
| * UserInterface/LogContentView.js: |
| Added a navigation item button with a trashcan icon for clearing the console log. |
| Renamed context menu tooltip from "Clear Console" to "Clear Log" for consistency. |
| |
| 2012-10-25 Timothy Hatcher <timothy@apple.com> |
| |
| Correct the blurriness of the Close, Dock and Undock navigation items in the Web Inspector. |
| |
| <rdar://problem/12573816> Close, Dock and Undock navigation items are blurry |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/ButtonNavigationItem.js: |
| (WebInspector.ButtonNavigationItem.prototype._generateImages): Pass _imageHeight instead of _imageWidth again. |
| |
| 2012-10-25 Timothy Hatcher <timothy@apple.com> |
| |
| Darken the blue used for Web Inspector active navigation items to have better contrast. |
| |
| This also adds a slight glow to simulate that these buttons have a blue light. |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/ImageUtilities.js: |
| (._createEmbossedCanvasImage): Tweak the colors and add a glow. |
| |
| 2012-10-24 Timothy Hatcher <timothy@apple.com> |
| |
| Hide empty navigation sidebars in the Web Inspector until they have content. |
| |
| This hides Issues, Debug and Storage if they are empty. This frees up the navigation |
| bar and makes it less intimidating in most cases. |
| |
| <rdar://problem/12569339> Empty navigation sidebars should be hidden until they have content. |
| |
| Rubber-stamped by Antoine Quint. |
| |
| * UserInterface/DebugSidebarPanel.js: |
| (WebInspector.DebugSidebarPanel.prototype._showNotPausedEmptyContentPlaceholder): Pass true |
| to showEmptyContentPlaceholder to indicate the navigation item should be hidden too. |
| * UserInterface/IssueSidebarPanel.js: |
| (WebInspector.IssueSidebarPanel): Pass true to NavigationSidebarPanel for auto-hiding. |
| * UserInterface/NavigationItem.js: |
| (WebInspector.NavigationItem.prototype.set hidden): Update layout os items expand and collapse |
| as the space available changes. |
| * UserInterface/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel): Start the navigation bar out as hidden if auto-hiding. |
| (WebInspector.NavigationSidebarPanel.prototype.showEmptyContentPlaceholder): Call |
| _updateNavigationItemVisibility after setting _hideNavigationItemWhenEmpty. |
| (WebInspector.NavigationSidebarPanel.prototype.hideEmptyContentPlaceholder): Ditto. |
| (WebInspector.NavigationSidebarPanel.prototype.updateEmptyContentPlaceholder): Call |
| _updateNavigationItemVisibility. |
| (WebInspector.NavigationSidebarPanel.prototype.shown): Force navigation item visible. |
| (WebInspector.NavigationSidebarPanel.prototype.hidden): Added. Call _updateNavigationItemVisibility. |
| (WebInspector.NavigationSidebarPanel.prototype._updateNavigationItemVisibility): Added. |
| * UserInterface/StorageSidebarPanel.js: |
| (WebInspector.StorageSidebarPanel): Pass true to NavigationSidebarPanel for auto-hiding. |
| |
| 2012-10-24 Timothy Hatcher <timothy@apple.com> |
| |
| Make Command-Shift-C toggle the "point to inspect" mode. |
| |
| This shortcut originates from Firebug and is also available in Chrome. To make this work |
| I had to make DOMTreeManager keep track of the state and fire an event when it changed. |
| That way the global shortcut could toggle the mode even if there isn't a FrameContentView. |
| This also allows all the FrameContentViews to keep in sync with the global switch. |
| |
| <rdar://problem/6275138> Inspect clicked element needs a keyboard shortcut |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/DOMTreeManager.js: |
| (WebInspector.DOMTreeManager.prototype.inspectElement): Fire InspectModeStateChanged. |
| (WebInspector.DOMTreeManager.prototype.get inspectModeEnabled): Added. |
| (WebInspector.DOMTreeManager.prototype.set inspectModeEnabled.callback): Added. |
| Handle the error case and fire InspectModeStateChanged. |
| (WebInspector.DOMTreeManager.prototype.set inspectModeEnabled): Changed from |
| setInspectModeEnabled into a setter. Use an internal callback. |
| * UserInterface/FrameContentView.js: |
| (WebInspector.FrameContentView.prototype.get navigationItems): Renamed _nodeSearchActivateButtonNavigationItem |
| to _inspectModeButtonNavigationItem. |
| (WebInspector.FrameContentView.prototype.shown): Removed call to _setNodeSearchEnabled. |
| (WebInspector.FrameContentView.prototype._inspectModeStateChanged): Renamed from _setNodeSearchEnabled. |
| (WebInspector.FrameContentView.prototype._toggleNodeSearch): Toggle WebInspector.domTreeManager.inspectModeEnabled |
| and listen for the event instead of a callback. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Create a shortcut for inspect mode. |
| (WebInspector._toggleInspectMode): Added. |
| |
| 2012-10-24 Timothy Hatcher <timothy@apple.com> |
| |
| Make it easy to have different tooltips for toggle buttons in the Web Inspector. |
| |
| Also tweak the wording of the hand button in an attempt to keep it clear and terse. |
| |
| Reviewed by Jeff Miller. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/ActivateButtonNavigationItem.js: |
| (WebInspector.ActivateButtonNavigationItem): Take an activatedToolTip param in addition to |
| defaultToolTip and store them. |
| (WebInspector.ActivateButtonNavigationItem.prototype.get defaultToolTip): Added. |
| (WebInspector.ActivateButtonNavigationItem.prototype.get activatedToolTip): Added. |
| (WebInspector.ActivateButtonNavigationItem.prototype.set activated): Switch the tooltips. |
| * UserInterface/FrameContentView.js: |
| (WebInspector.FrameContentView): Pass in alternate tooltips for the navigation items. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Setup the tooltips when the navigation items are created. |
| (WebInspector.updateDockedState): Remove toolTip manipulation. |
| (WebInspector._sidebarCollapsedStateDidChange): Ditto. |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole): Setup the tooltips when the navigation items are created. |
| (WebInspector.QuickConsole.prototype.set collapsed): Remove toolTip manipulation. |
| (WebInspector.QuickConsole.prototype._debuggerDidPause): Ditto. |
| (WebInspector.QuickConsole.prototype._debuggerDidResume): Ditto. |
| * UserInterface/ToggleButtonNavigationItem.js: |
| (WebInspector.ToggleButtonNavigationItem):Take an alternateToolTip param in addition to |
| defaultToolTip and store them. |
| (WebInspector.ToggleButtonNavigationItem.prototype.get defaultToolTip): Added. |
| (WebInspector.ToggleButtonNavigationItem.prototype.get alternateToolTip): Added. |
| (WebInspector.ToggleButtonNavigationItem.prototype.set toggled): Switch the tooltips. |
| |
| 2012-10-25 Antoine Quint <graouts@apple.com> |
| |
| Customise the word-wrapping behaviour to break even when there is no space in the text |
| typed into the console (W3C spec at http://www.w3.org/TR/css3-text/#overflow-wrap) |
| |
| <rdar://problem/12331949> Quick console text overlaps debugging controls |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/JavaScriptTextPrompt.css: |
| (.javascript-prompt): |
| |
| 2012-10-24 Antoine Quint <graouts@apple.com> |
| |
| Add the "active-focus" state as a shared state for all button navigation items and use that state as well |
| as the "focus" state regardless of keyboard focus. |
| |
| <rdar://problem/11742049> Web Inspector navigation bar buttons need a more noticeable selected state |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ActivateButtonNavigationItem.js: Stop using custom states and use the shared states defined in |
| ButtonNavigationItem. |
| (WebInspector.ActivateButtonNavigationItem.prototype.generateStyleText): |
| * UserInterface/ButtonNavigationItem.js: Add the "active-focus" from ActivateButtonNavigationItem. |
| * UserInterface/RadioButtonNavigationItem.js: Use the "focus" state even when we're not using keyboard focus |
| and use the "active-focus" state when we're pressing the button as well. |
| (WebInspector.RadioButtonNavigationItem.prototype.generateStyleText): |
| |
| 2012-10-23 Timothy Hatcher <timothy@apple.com> |
| |
| Make "Inspect Element" and the inspect() console API switch the sidebar to match the content view. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/InspectorObserver.js: |
| (WebInspector.InspectorObserver.prototype.inspect): Select the resourceSidebarPanel or |
| the storageSidebarPanel depending on the type of object being inspected. |
| |
| 2012-10-23 Timothy Hatcher <timothy@apple.com> |
| |
| Fix event listener links and make them work with anonymous scripts. |
| |
| <rdar://problem/12557978> REGRESSION: Event listener function links are displayed as |
| numbers and don't work |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype.reset): Call Script.resetUniqueDisplayNameNumbers. This |
| way the anonymous scripts scripts start back at 1 when you reload or load a new page. |
| * UserInterface/EventListenerSectionGroup.js: |
| (WebInspector.EventListenerSectionGroup.prototype._functionTextOrLink): In the past scriptId |
| could be a URL. Now it is always a script identifier. So try looking up the resource by URL |
| if a script can't be found directly. Use WebInspector.createSourceCodeLink. |
| * UserInterface/Main.css: |
| (.go-to-link): Added cursor: pointer for cases when the link has no href. |
| * UserInterface/Main.js: |
| (WebInspector.createSourceCodeLink): Added. |
| (WebInspector.createSourceCodeLink.showSourceCode): Added. |
| * UserInterface/Resource.js: |
| (WebInspector.Resource.prototype.get displayName): Added. |
| * UserInterface/Script.js: |
| (WebInspector.Script.resetUniqueDisplayNameNumbers): Added. |
| (WebInspector.Script.prototype.get displayName): Added. |
| * UserInterface/ScriptTreeElement.js: |
| (WebInspector.ScriptTreeElement): Use the displayName getter for mainTitle. |
| * UserInterface/SourceCode.js: |
| (WebInspector.SourceCode.prototype.get displayName): Added. |
| |
| 2012-10-22 Timothy Hatcher <timothy@apple.com> |
| |
| Make docking/undocking the Web Inspector work again. |
| |
| <rdar://problem/12554785> REGRESSION (r132045): Docking/undocking does not work |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/InspectorFrontendAPI.js: |
| (InspectorFrontendAPI.setAttachedWindow): Removed. |
| (InspectorFrontendAPI.setDockSide): Added. |
| * UserInterface/Main.js: |
| (WebInspector._toggleDockedState): Use InspectorFrontendHost.requestSetDockSide. |
| |
| 2012-10-22 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/12540519> Should be able to copy text from datagrid easier |
| |
| Reviewed by Timothy Hatcher. |
| |
| Have a DataGrid handle a copy event if the last selection was in the |
| DataGrid and it has a selected row. Also add a "Copy Row" context menu. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| Add "Copy Row" context menu string. |
| |
| * UserInterface/DataGrid.js: |
| (WebInspector.DataGrid): |
| (WebInspector.DataGrid.prototype._contextMenuInDataTable): |
| Add "Copy Row" context menu item if the node is selectable. |
| |
| (WebInspector.DataGrid.prototype._copyTextForDataGridNode): |
| Return a tab separated list of values. This uses the original data from |
| which the node is created. In some cases, like the instrument navigator's |
| datagrids, this may not match the final DataGrid row's content. |
| |
| (WebInspector.DataGrid.prototype._beforeCopy): |
| (WebInspector.DataGrid.prototype._copy): |
| Allow copy when the event is inside the datagrid, there is no range |
| selection, and we have a selected row. |
| |
| (WebInspector.DataGrid.prototype._copyRow): |
| Directly copy an individual row. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| Remove useCapture from the main document's beforecopy handler. |
| |
| 2012-10-22 Timothy Hatcher <timothy@apple.com> |
| |
| Make the Web Inspector fast! |
| |
| Use a timeout instead of an interval to prevent being capped on the time between protocol messages. |
| Only one timeout is created and the whole queue is dispatched when the timer fires. This prevents |
| creating potentially hundreds of timers that were all firing at the same time. |
| |
| <rdar://problem/11759145> REGRESSION (Safari 6): console.log() exhibits extremely long delay (slow) |
| when many javascript files have just been loaded |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Main.js: |
| (WebInspector.dispatchNextQueuedMessageFromBackend): Removed interval code. |
| (WebInspector.dispatchMessageFromBackend): Use setTimeout instead of setInterval. Updated the comment |
| and removed the reentrancy part, which isn't possible since the backend also has a queue with a timer. |
| |
| 2012-10-22 Timothy Hatcher <timothy@apple.com> |
| |
| Make WebInspector.JavaScriptLogViewController be responsible for scrolling to the bottom, |
| since it can check before new messages are added to know if a scroll is needed. |
| |
| This fixes a bug where we were not auto scrolling down if you were at the bottom. |
| |
| <rdar://problem/12049983> REGRESSION (Safari 6): Console doesn't autoscroll when it should |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController): Store element as _element. |
| (WebInspector.JavaScriptLogViewController.prototype.isScrolledToBottom): Added. |
| (WebInspector.JavaScriptLogViewController.prototype.scrollToBottom.delayedWork): Added. |
| Do the actual scroll here. |
| (WebInspector.JavaScriptLogViewController.prototype.scrollToBottom): Added. Don't scroll |
| immediately so we are not causing excessive layouts. |
| (WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessage): Remember if we |
| were scrolled to the bottom before appending the message. This was the bug, before the delegate |
| didAppendConsoleMessage was checking and that was after the content was appended and we were |
| never scrolled to the bottom at that point. |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView.prototype.didAppendConsoleMessage): Don't try to scroll, it is |
| now handled by JavaScriptLogViewController. |
| (WebInspector.LogContentView.prototype._isScrollIntoViewScheduled): Removed. |
| (WebInspector.LogContentView.prototype._scheduleScrollIntoView): Removed. |
| (WebInspector.LogContentView.prototype._immediatelyScrollIntoView): Removed. |
| (WebInspector.LogContentView.prototype._cancelScheduledScrollIntoView): Removed. |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole.prototype._isScrolledToBottom): Call through to JavaScriptLogViewController. |
| (WebInspector.QuickConsole.prototype._scrollToBottom): Ditto. |
| |
| 2012-10-22 Timothy Hatcher <timothy@apple.com> |
| |
| Make WebInspector.JavaScriptLogViewController create the top WebInspector.ConsoleGroup. |
| |
| JavaScriptLogViewController now takes the parent element so it controls more of the DOM. This will |
| be needed to control the scroll state instead of having LogContentView and QuickConsole do it. |
| |
| Part of: <rdar://problem/12049983> REGRESSION (Safari 6): Console doesn't autoscroll when it should |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController): Don't take in a ConsoleGroup, create it internally. |
| Insert or append the ConsoleGroup into the parentElement. |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView): Don't make the ConsoleGroup, just get it from _logViewController. |
| Create and assign this.prompt first so it is in the DOM before making the _logViewController. |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole): Don't make the ConsoleGroup. |
| |
| 2012-10-21 Timothy Hatcher <timothy@apple.com> |
| |
| Prevent the scroll position from changing when rebuilding the styles sidebar. |
| |
| <rdar://problem/12544009> The Styles details sidebar scrolls to the top after editing a property |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections): Save and restore scrollTop. |
| |
| 2012-10-20 Timothy Hatcher <timothy@apple.com> |
| |
| Add an "Inherited Styles" section to the Style details sidebar. |
| |
| <rdar://problem/11981468> REGRESSION (Safari 6): Inspector does not show Inherited Style Rules |
| |
| Reviewed by Ricky Mondello. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/CSSStyleDetailsSidebarPanel.css: |
| (.sidebar > .panel.details.css-style .styles-section.inherited .properties .inherited): Added. |
| Hides non-iherited properties for inherited rules. |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel): Create and add the Inherited Styles section. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections.createStylePropertiesSection): |
| Pass styleRule.isInherited instead of always passing false. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections.createRuleGroups): Added. |
| Factored out of createMatchedRuleGroups for reuse by inherited rules. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections.createMatchedRuleGroups): |
| Use the factored out createRuleGroups function. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections): Append inherited rules |
| to inheritedStyleRules for later use. Walk the inheritedStyleRules and create the sections and groups. |
| * UserInterface/DetailsSection.css: |
| (.details-section > .header): Reduce right padding, it was too wide. |
| (.details-section > .header > .node-link, .details-section > .header > .go-to-arrow): Added. |
| Float right to position the arrow on the right side of the title. |
| (.details-section > .header .go-to-arrow): Added. Adjust the size and margin to better fit the header. |
| * UserInterface/StylePropertiesSection.js: |
| (WebInspector.StylePropertiesSection): Changed "show-inherited" to just "inherited". This reduces the |
| confusion with the computed style "show-inherited" class. |
| |
| 2012-10-20 Timothy Hatcher <timothy@apple.com> |
| |
| Make the console log stay active when navigating to a new page if one was showing. |
| |
| <rdar://problem/12542303> DOM Tree forces itself visible when navigating to a new page while looking at a Log |
| |
| Reviewed by Ricky Mondello. |
| |
| * UserInterface/LogManager.js: |
| (WebInspector.LogManager.prototype._mainResourceDidChange): Only send SessionStarted or Cleared, |
| not both. This way listeners of Cleared can start the new session with some context. |
| * UserInterface/LogSidebarPanel.js: |
| (WebInspector.LogSidebarPanel.prototype._startSession): Added. Factored out of _sessionStarted. |
| Honor the forceActiveContentView parameter when deciding to show the content view. |
| (WebInspector.LogSidebarPanel.prototype._sessionStarted): Call _startSession. |
| (WebInspector.LogSidebarPanel.prototype._logsCleared): Remember if we were showing a log before |
| closing all the logs. Call _startSession can force the content view to be active if we were |
| showing a log before. |
| |
| 2012-10-20 Timothy Hatcher <timothy@apple.com> |
| |
| Make Encoded and Transfer Size update when the values change during page load. |
| |
| Renamed Encoded Size to Transfer Size to avoid confusion in cases where it isn't encoded. Also |
| the value includes the response headers size, which is the only size when showing a 304. This |
| is consistent with the title of the Transferred column in the Network Timeline. |
| |
| <rdar://problem/12542122> Encoded and Decoded Size doesn't update in the Resource details sidebar |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/Resource.js: |
| (WebInspector.Resource.prototype.get transferSize): Move the 304 check before the cached |
| check since we mark 304 loads as cached now, but there still was network transfer of headers. |
| (WebInspector.Resource.prototype.updateForResponse): Fire TransferSizeDidChange for 304 and |
| if we have a Content-Length. |
| (WebInspector.Resource.prototype.increaseSize): Fire TransferSizeDidChange if we don't have |
| a _transferSize and it isn't a 304 or Content-Length is missing. |
| (WebInspector.Resource.prototype.markAsCached): Fire TransferSizeDidChange when not a 304. |
| * UserInterface/ResourceDetailsSidebarPanel.js: |
| (WebInspector.ResourceDetailsSidebarPanel): Renamed "Encoded Size" to "Transfer Size". |
| (WebInspector.ResourceDetailsSidebarPanel.prototype.set resource): Listen for SizeDidChange and |
| TransferSizeDidChange events. |
| (WebInspector.ResourceDetailsSidebarPanel.prototype.refresh): Call _refreshDecodedSize and |
| _refreshTransferSize. |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestAndResponse): Use emDash |
| in more places. Removed valueForSize and updating of size rows. |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._valueForSize): Added. |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshDecodedSize): Added. |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshTransferSize): Added. |
| |
| 2012-10-19 Timothy Hatcher <timothy@apple.com> |
| |
| Make the Scope Chain details sidebar update when continuing in a loop. |
| |
| <rdar://problem/11828667> REGRESSION (Safari 6): Variables do not update when continuing in a loop |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameDidChange): Don't return early if the line |
| number didn't change. The execution state still could have changed. |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.set executionLineNumber): Only return early if there isn't a line |
| number and that isn't changing. Still dispatch the event even if the number didn't change. The execution |
| state still could have changed. |
| |
| 2012-10-19 Timothy Hatcher <timothy@apple.com> |
| |
| Better support for complex Content-Types in the Post Data section. |
| |
| This change splits out the charset and boundary info from the Content-Type and |
| displays that info on separate rows. It also handles zero size data since the |
| backend does not send data if there are any files present. |
| |
| Part of: <rdar://problem/6716080> REGRESSION (Safari 6): Missing POST request data |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/DetailsSection.css: |
| (.details-section > .content > .group > .row.simple.data > .value): Added. |
| * UserInterface/DetailsSectionSimpleRow.js: |
| (WebInspector.DetailsSectionSimpleRow.prototype.set value): Set the data class name |
| if the value does not have any spaces for good word breaking. This will allow breaking |
| on every character, which looks better for the boundary post data string. |
| * UserInterface/ResourceDetailsSidebarPanel.js: |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshPostDataSection): Parse |
| the content type into MIME-type and the boundary and/or charset. |
| |
| 2012-10-19 Timothy Hatcher <timothy@apple.com> |
| |
| Add the first part of showing POST data: simple data in the Resource details sidebar. |
| |
| Part of: <rdar://problem/6716080> REGRESSION (Safari 6): Missing POST request data |
| |
| Reviewed by Dean Jackson. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype.frameDidNavigate): Removed optional parameters |
| when making a Resource. |
| (WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent): Pass along postData. |
| (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache): Pass null for postData. |
| (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame): Added parameter for postData. |
| Pass along postData to Resource constructor. |
| (WebInspector.FrameResourceManager.prototype._createFrame): Removed optional parameters |
| when making a Resource. |
| (WebInspector.FrameResourceManager.prototype._createResource): Ditto. |
| * UserInterface/Resource.js: |
| (WebInspector.Resource): Added postData parameter. Store the _postData. |
| (WebInspector.Resource.prototype.get postData): Added. |
| (WebInspector.Resource.prototype.get postDataContentType): Added. |
| * UserInterface/ResourceDetailsSidebarPanel.js: |
| (WebInspector.ResourceDetailsSidebarPanel): Create _postDataSection. Don't show _queryParametersSection |
| by default, it is now added or removed in _refreshURL. |
| (WebInspector.ResourceDetailsSidebarPanel.prototype.refresh): Call _refreshPostDataSection. |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshURL): Show and hide the query |
| parameters section based on the query string. |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshPostDataSection): Added. |
| |
| 2012-10-19 Timothy Hatcher <timothy@apple.com> |
| |
| Support text/x-javascript and other MIME-types as scripts. |
| |
| The code was also throwing an exception for unknown MIME-types, which was causing |
| the view displaying the Resource to not show anything. Now we just log an error |
| and return null so plain text will be shown for unknown types. |
| |
| <rdar://problem/11961403> REGRESSION (Safari 6): XHR response is blank for some |
| sites (including store.apple.com) |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/Resource.js: |
| (WebInspector.Resource.Type._mimeTypeMap): Added application/x-json and variants. |
| * UserInterface/SourceTokenizer.js: |
| (WebInspector.SourceTokenizer): Added application/x-json and variants. Changed a throw |
| into a console.error with a return of null. |
| |
| 2012-10-19 Timothy Hatcher <timothy@apple.com> |
| |
| Properly clear the special script folders after a reload so old scripts don't stay around. |
| |
| <rdar://problem/11329600> REGRESSION (Safari 6): Special scripts duplicate for each reload |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype._scriptsCleared): Set each folder to null so they will be |
| recreated instead of reused the next time there is a script to show. |
| |
| =2012-10-18 Timothy Hatcher <timothy@apple.com> |
| |
| Fix an issue where the Inspector would show duplicate broken resources if you opened it |
| while the page was still loading. |
| |
| <rdar://problem/11328818> Broken resources if you open the inspector while the page is loading |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype.markResourceRequestAsServedFromMemoryCache): Add a comment |
| about why we might not have a resource. |
| (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse): Don't try to make a |
| resource here since we missed the resourceRequestWillBeSent call. It just caused duplicate resources |
| and broken ones too. Add a comment and return early. |
| (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveData): Add a comment about why we |
| might not have a resource. Removed an assert. |
| (WebInspector.FrameResourceManager.prototype.resourceRequestDidFinishLoading): Ditto. |
| (WebInspector.FrameResourceManager.prototype.resourceRequestDidFailLoading): Ditto. |
| |
| 2012-10-18 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Add missing color aware CSS properties. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/CSSKeywordCompletions.js: |
| |
| 2012-10-18 Joseph Pecoraro <pecoraro@apple.com> |
| |
| In cases where the search term is a CSS Selector or XPath query and |
| not a textual match we were not adding a sidebar entry. In such cases |
| add a sidebar entry and highlight the entire title. |
| |
| <rdar://problem/12522494> Searching "link[href]" in search navigator has missing sidebar items |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel.performSearch.domCallback.domSearchResults): |
| First check for partial highlights in textual matches. If none were |
| found, this is a Selector or XPath match, and we highlight it entirely. |
| |
| 2012-10-18 Timothy Hatcher <timothy@apple.com> |
| |
| Harden the Web Inspector a bit with a Content Security Policy header. |
| |
| By default only load content from 'self'. Allow external loading of images, media and |
| fonts; because large resources are not sent over the inspector protocol. Allow inline |
| styles and eval for scripts. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Main.html: |
| |
| 2012-10-17 Timothy Hatcher <timothy@apple.com> |
| |
| Improve error reporting for Inspector protocol errors. |
| |
| Reviewed by Dean Jackson. |
| |
| * UserInterface/InspectorBackend.js: |
| (InspectorBackendClass.prototype.reportProtocolError): Log the message of the error |
| object, not the error object itself. |
| |
| 2012-10-17 Antoine Quint <graouts@apple.com> |
| |
| We now display a new section in the resource details sidebar panel for the image size when we're inspecting |
| an image resource. To facilitate this, we add a new .getImageSize() method on Resource which creates an |
| <img> element to load the base64 version of the image as it was loaded and use the loaded element to query |
| the intrinsic image metrics. |
| |
| <rdar://problem/11247288> REGRESSION (Safari 6): Width and height size info for image resources is missing |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Resource.js: |
| (WebInspector.Resource.prototype.markAsFailed): |
| (WebInspector.Resource.prototype.getImageSize.imageDidLoad): |
| (WebInspector.Resource.prototype.getImageSize): |
| * UserInterface/ResourceDetailsSidebarPanel.js: |
| (WebInspector.ResourceDetailsSidebarPanel): |
| (WebInspector.ResourceDetailsSidebarPanel.prototype.refresh): |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid): |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshImageSizeSection): |
| |
| 2012-10-16 Mark Rowe <mrowe@apple.com> |
| |
| Add a configuration setting to control whether resources in the |
| Web Inspector framework are combined and minified. |
| |
| Reviewed by Timothy Hatcher. |
| |
| This allows non-Production builds to enable this functionality if desired. |
| |
| * Configurations/WebInspectorFramework.xcconfig: |
| * Scripts/copy-user-interface-resources.sh: |
| |
| 2012-10-16 Timothy Hatcher <timothy@apple.com> |
| |
| Fix an exception and properly deactivate the node search button after a node is inspected. |
| |
| <rdar://problem/12507181> Remnant mention of .nodeSearchActivateButtonNavigationItem in Main.js |
| |
| Reviewed by Ricky Mondello. |
| |
| * UserInterface/FrameContentView.js: |
| (WebInspector.FrameContentView): Added DOMNodeWasInspected event listener. |
| (WebInspector.FrameContentView.prototype._domNodeWasInspected): Added. Deactivate the node search button. |
| * UserInterface/Main.js: |
| (WebInspector._domNodeWasInspected): Always call InspectorFrontendHost.bringToFront(). This is good |
| for the Inspect Element context menu item in windowed mode too. |
| |
| 2012-10-16 Timothy Hatcher <timothy@apple.com> |
| |
| Fix the dock buttons in the Web Inspector navigation bar when opening the Inspector with the left sidebar hidden. |
| |
| <rdar://problem/12509577> REGRESSION: Dock navigation items are in the wrong place if the |
| Inspector is opened with the left sidebar hidden |
| |
| Reviewed by Ricky Mondello. |
| |
| * UserInterface/Main.js: |
| (WebInspector._updateDockNavigationItems): Only do this work if needed by checking if the close button is not |
| in the right place. This function can be called multiple times, and the concat can cause the items to be |
| inserted into the leftNavigationItems array multiple times. |
| |
| 2012-10-16 Antoine Quint <graouts@apple.com> |
| |
| Adding decoded and encoded sizes as a new group in the Request & Response panel in |
| the resource details sidebar panel. To make the reported sizes more legible, we also |
| make a small change in Number.bytesToString() such that we have a space between the |
| value and the unit, just like what the Get Info panel does in the Finder. |
| |
| <rdar://problem/12508215> Add decoded and encoded sizes to Request & Response panel |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/ResourceDetailsSidebarPanel.js: |
| (WebInspector.ResourceDetailsSidebarPanel): |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestAndResponse.valueForSize): |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestAndResponse): |
| * UserInterface/Utilities.js: |
| (Number.string_appeared_here.value): |
| |
| 2012-10-16 Antoine Quint <graouts@apple.com> |
| |
| We add a new method to sync the state of the compositing borders button to the WebCore page settings |
| when a frame content view is shown in the Web Inspector UI. We also add a new backend command to complement |
| the OpenSource patch for https://bugs.webkit.org/show_bug.cgi?id=99458 which is also out for review. |
| |
| <rdar://problem/12498181> "Show compositing borders" button is not activated when inspector is re-opened |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/FrameContentView.js: |
| (WebInspector.FrameContentView.prototype.shown): |
| (WebInspector.FrameContentView.prototype._toggleCompositingBorders): |
| (WebInspector.FrameContentView.prototype._updateCompositingBordersButtonToMatchPageSettings): |
| * UserInterface/InspectorBackendCommands.js: |
| |
| 2012-10-16 Antoine Quint <graouts@apple.com> |
| |
| Add a new .highlight() method on TextEditorChunk which applies a simple CSS |
| animation to the HTML element for the text chunk, and call this method in |
| TextEditor's revealLine() method. Since the CSS class we're applying is only |
| meant to be transitory, we remove the CSS class name upon completion of the |
| animation. |
| |
| <rdar://problem/12349298> REGRESSION (Safari 6): When clicking a file/line link |
| in the console the line is not highlighted in the source |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TextEditor.css: |
| (.text-editor-text-chunk.highlighted): |
| (@-webkit-keyframes fadeout): |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.revealLine): |
| (WebInspector.TextEditorTextChunk.prototype.updateContent): |
| (WebInspector.TextEditorTextChunk.prototype.highlight): |
| |
| 2012-10-15 Timothy Hatcher <timothy@apple.com> |
| |
| Fix an exception in ContentBrowser._updateContentViewNavigationItems that was causing resource to not be cleared. |
| |
| <rdar://problem/12501269> REGRESSION: Reloading or loading a new page does not clear previous resources |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser.prototype._updateContentViewNavigationItems): The currentContentView can be |
| null when this is called. In that case just clear _currentContentViewNavigationItems and return early. |
| |
| 2012-10-15 Timothy Hatcher <timothy@apple.com> |
| |
| Remove extra line breaks before color values when copying from the style sidebar. |
| |
| <rdar://problem/12506099> When copying style rule sets from the sidebar, |
| line breaks are inserted in the middle of each line |
| |
| Reviewed by Simon Fraser. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.css: |
| (.sidebar > .panel.details.css-style .swatch): Improve spacing and alignment since |
| having swatch-inner as an inline-block affects layout slightly. |
| (.sidebar > .panel.details.css-style .swatch-inner): Change display from block to |
| inline-block. This fixes the bug by making WebKit not insert a newline for the block. |
| |
| 2012-10-15 Timothy Hatcher <timothy@apple.com> |
| |
| Treat SVG main resources as documents and syntax highlight them using the HTML tokenizer. |
| |
| SVG subresources are still treated as images and preview as such. This matches how the |
| WebKit Web Inspector treats SVGs. |
| |
| <rdar://problem/11332688> REGRESSION (Safari 6): Source code view shows SVG image instead of source |
| |
| Reviewed by Ada Chan and Dan Bernstein. |
| |
| * UserInterface/Resource.js: |
| (WebInspector.Resource.Type._mimeTypeMap): Added image/svg+xml |
| * UserInterface/SourceTokenizer.js: |
| (WebInspector.SourceTokenizer): Use HTMLSourceTokenizer for image/svg+xml. |
| |
| 2012-10-14 Jeff Miller <jeffm@apple.com> |
| |
| Regenerate localizedStrings.js after r45263. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| Regenerated. |
| |
| 2012-10-13 Timothy Hatcher <timothy@apple.com> |
| |
| Avoid direct manipulation of the ContentBrowser and Sidebar navigation bars in Main.js. |
| |
| <rdar://problem/12494193> Main.js should not modify the navigationBars directly |
| |
| Reviewed by Antoine Quint. |
| |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser): Added _leftNavigationItems and _rightNavigationItems. |
| (WebInspector.ContentBrowser.prototype.get leftNavigationItems): Added. |
| (WebInspector.ContentBrowser.prototype.set leftNavigationItems): Added. |
| (WebInspector.ContentBrowser.prototype.get rightNavigationItems): Added. |
| (WebInspector.ContentBrowser.prototype.set rightNavigationItems): Added. |
| (WebInspector.ContentBrowser.prototype._updateContentViewNavigationItems): Fix a |
| FIXME when calculating the insertionIndex by using _rightNavigationItems. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Use leftNavigationItems and rightNavigationItems |
| instead of direct manipulation of the navigation bar. |
| (WebInspector._updateDockNavigationItems): Ditto. |
| * UserInterface/NavigationBar.js: |
| (WebInspector.NavigationBar.prototype.insertNavigationItem): Remove the item if it |
| is already in another NavigationBar. |
| * UserInterface/Sidebar.js: |
| (WebInspector.Sidebar): Added _leftNavigationItems and _rightNavigationItems. |
| (WebInspector.Sidebar.prototype.insertSidebarPanel): Don't use addNavigationItem |
| since that would go after the right items. |
| (WebInspector.Sidebar.prototype.get leftNavigationItems): Added. |
| (WebInspector.Sidebar.prototype.set leftNavigationItems): Added. |
| (WebInspector.Sidebar.prototype.get rightNavigationItems): Added. |
| (WebInspector.Sidebar.prototype.set rightNavigationItems): Added. |
| |
| 2012-10-13 Antoine Quint <graouts@apple.com> |
| |
| We add a new navigation item to the FrameContentView to toggle composition debug options using |
| the page's settings. To facilitate that, we added a new method in InspectorPageAgent to allow |
| to tap into WebCore and change those settings. That work is covered by an OpenSource patch for |
| https://bugs.webkit.org/show_bug.cgi?id=99253. |
| |
| <rdar://problem/10358004> Would like ability to turn layer borders on/off via the Web Inspector |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/FrameContentView.js: |
| (WebInspector.FrameContentView.prototype.get navigationItems): |
| (WebInspector.FrameContentView.prototype.shown): |
| (WebInspector.FrameContentView.prototype._toggleNodeSearch): |
| (WebInspector.FrameContentView.prototype._toggleCompositingBorders): |
| * UserInterface/Images/NavigationItemLayers.pdf: Added. |
| * UserInterface/InspectorBackendCommands.js: |
| |
| 2012-10-12 Antoine Quint <graouts@apple.com> |
| |
| We remove the code that manages the display of the "node inspection by selection" toggle navigation |
| item from Main.js and let the ContentBrowser add and remove navigation items registered on the ContentView |
| instance made the current content view. |
| |
| <rdar://problem/12487959> Let content views provide navigation items to the content browser. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser): |
| (WebInspector.ContentBrowser.prototype._updateContentViewNavigationItems.var): |
| (WebInspector.ContentBrowser.prototype._updateContentViewNavigationItems): |
| (WebInspector.ContentBrowser.prototype._currentContentViewDidChange): |
| * UserInterface/ContentView.js: |
| (WebInspector.ContentView.prototype.get navigationItems): |
| * UserInterface/FrameContentView.js: |
| (WebInspector.FrameContentView.prototype.get navigationItems): |
| (WebInspector.FrameContentView.prototype.shown): |
| (WebInspector.FrameContentView.prototype._pathComponentSelected): |
| (WebInspector.FrameContentView.prototype._setNodeSearchEnabled): |
| (WebInspector.FrameContentView.prototype._toggleNodeSearch): |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| |
| 2012-10-12 Timothy Hatcher <timothy@apple.com> |
| |
| Update the CSSKeywordCompletions.InheritedProperties list. |
| |
| <rdar://problem/12371756> Computed -webkit-font-smoothing should appear in Inspector |
| |
| Rubber-stamped by Brian Weinstein. |
| |
| * UserInterface/CSSKeywordCompletions.js: |
| (WebInspector.CSSKeywordCompletions.InheritedProperties): Updated from CSSProperty::isInheritedProperty |
| from WebCore. The old list was from an old CSS 2.1 list. |
| |
| 2012-10-12 Timothy Hatcher <timothy@apple.com> |
| |
| Don't overdraw the DataGrid sort indicator each time a DataGrid is created. |
| |
| <rdar://problem/12488653> DataGrid sort indicator keeps getting darker |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/DataGrid.js: |
| (WebInspector.DataGrid.prototype._generateSortIndicatorImagesIfNeeded): Store _generatedSortIndicatorImages |
| on the WebInspector.DataGrid constructor so it only generates the images once. Use a solid color for the |
| arrows. The previous color was too light now that it isn't overdrawing. |
| |
| 2012-10-11 Timothy Hatcher <timothy@apple.com> |
| |
| Show the HTTP method, cached and HTTP status code/text in the Resource details sidebar. |
| |
| This fixes two cases where the resource was not marked as cached; when loaded from the |
| disk cache and when there is a 304 response. |
| |
| <rdar://problem/11256645> REGRESSION (Safari 6): No HTTP method shown |
| |
| Reviewed by Ricky Mondello. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent): Pass along the method. |
| (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache): Pass null |
| for the request method. |
| (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse): Mark as cached |
| when loaded from the disk cache. |
| (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame): Pass along the method. |
| * UserInterface/Resource.js: |
| (WebInspector.Resource): Added requestMethod and store it. |
| (WebInspector.Resource.prototype.get requestMethod): Added. |
| (WebInspector.Resource.prototype.updateForResponse): Renamed ResponseHeadersDidChange event to |
| ResponseReceived since it represents more than headers. |
| (WebInspector.Resource.prototype.markAsCached): Fire CacheStatusDidChange event. |
| * UserInterface/ResourceDetailsSidebarPanel.js: |
| (WebInspector.ResourceDetailsSidebarPanel): Create new rows and section. |
| (WebInspector.ResourceDetailsSidebarPanel.prototype.set resource): Listen for new events. |
| (WebInspector.ResourceDetailsSidebarPanel.prototype.refresh): Call _refreshRequestAndResponse |
| instead of _refreshResponseHeaders. |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestAndResponse): Added. |
| Update the new section and also call _refreshResponseHeaders. |
| |
| 2012-10-11 Antoine Quint <graouts@apple.com> |
| |
| Identify floating value and display a rounded value to the 100th in the box model |
| section with a thumbnail showing the full value. Here are screenshots of before |
| after applying this patch for margins with a floating value. |
| |
| <rdar://problem/12478166> Box Model section can show values overlapping their label |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/BoxModelDetailsSectionRow.js |
| |
| 2012-10-11 Antoine Quint <graouts@apple.com> |
| |
| Make headers in the details section use an ellipsis overflow style. |
| |
| <rdar://problem/12478151> Class names in the list of inherited classes in the Node |
| sidebar can overflow |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DetailsSection.css |
| |
| 2012-10-10 Timothy Hatcher <timothy@apple.com> |
| |
| Prevent searches from breaking links in the Source Code view of the Web Inspector. |
| |
| This changes how the syntax highlighter appends tokens and search results. The token |
| elements are now created in whole before processing the inner text and search results. |
| Before the DOM would end up being flatter, but it caused multiple links to be created |
| if a search result was in the middle. The links were broken too because it only knew |
| about the fragment of the text and it resolved the absolute URL on that. |
| |
| <rdar://problem/12461082> Searching in Safari's Web Inspector breaks links in source |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/SyntaxHighlightingSupport.js: |
| (WebInspector.createSyntaxHighlightedDocumentFragment): |
| (WebInspector.createSyntaxHighlightedDocumentFragment.createTextNode): |
| (WebInspector.createSyntaxHighlightedDocumentFragment.appendText): |
| (WebInspector.createSyntaxHighlightedDocumentFragment.appendToken): |
| |
| 2012-10-10 Timothy Hatcher <timothy@apple.com> |
| |
| Make DOM storage refresh on update when inspecting iOS 6 devices. |
| |
| <rdar://problem/12472491> REGRESSION: DOM Storage does not refresh when inspecting iOS 6 |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DOMStorageObserver.js: |
| (WebInspector.DOMStorageObserver.prototype.updateDOMStorage): Added. Call domStorageUpdated. |
| * UserInterface/InspectorBackendLegacyCommands.js: Registered DOMStorage.updateDOMStorage event. |
| |
| 2012-10-10 Timothy Hatcher <timothy@apple.com> |
| |
| Make database inspection work with Curie and keep it backwards compatible with iOS 6. |
| |
| <rdar://problem/12463671> REGRESSION: Database inspection is broken |
| |
| Reviewed by Brian Weinstein. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/DatabaseObject.js: |
| (WebInspector.DatabaseObject.prototype.executeSQL): Set expectsResultObject on the callback. |
| (WebInspector.DatabaseObject.prototype.executeSQL.queryCallback): Added. |
| (WebInspector.DatabaseObject.prototype.executeSQL.callback): Reworked for compatibility |
| by using the result object. |
| * UserInterface/DatabaseObserver.js: |
| (WebInspector.DatabaseObserver.prototype.sqlTransactionSucceeded): Added. |
| (WebInspector.DatabaseObserver.prototype.sqlTransactionFailed): Added. |
| * UserInterface/InspectorBackend.js: |
| (InspectorBackendClass.prototype.dispatch): See if the callback needs the result |
| object by checking for expectsResultObject. |
| * UserInterface/InspectorBackendLegacyCommands.js: Added. |
| * UserInterface/Main.html: Included InspectorBackendLegacyCommands.js. |
| |
| 2012-10-09 Timothy Hatcher <timothy@apple.com> |
| |
| When using "Inspect Element", select the Style details sidebar panel if one of the DOM |
| details sidebar panels isn't already selected. |
| |
| <rdar://problem/12239441> REGRESSION (Safari 6): "Inspect Element" shows Resource |
| details instead of useful Style details |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/Main.js: |
| (WebInspector._domNodeWasInspected): Set this.detailsSidebar.selectedSidebarPanel |
| to this.cssStyleDetailsSidebarPanel if the current sidebar ins't an instance of |
| the WebInspector.DOMDetailsSidebarPanel prototype. |
| |
| 2012-10-09 Timothy Hatcher <timothy@apple.com> |
| |
| Make the Style details sidebar work again after recent protocol changes. |
| |
| This change makes the Web Inspector work with Curie's Inspector protocol as well |
| as maintaining backwards compatibility with iOS 6. |
| |
| <rdar://problem/12281730> REGRESSION (r129470): Nothing is showing in the Style sidebar |
| |
| Reviewed by Ricky Mondello. |
| |
| * UserInterface/BoxModelDetailsSectionRow.js: |
| (WebInspector.BoxModelDetailsSectionRow.prototype._refresh): Removed forcedPseudoClasses |
| from the call to getComputedStyleAsync, because it was always ignored. |
| * UserInterface/CSSRule.js: |
| (WebInspector.CSSRule): Support selectorList and selectorText. |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections): Removed |
| forcedPseudoClasses from the calls to getComputedStyleAsync and getMatchedStylesAsync. |
| Fallback to empty array for matchedCSSRules. |
| * UserInterface/CSSStyleManager.js: |
| (WebInspector.CSSStyleManager.parseRuleArrayPayload): The protocol had just an array of |
| rules, now it is an array of matches that have a 'rule' property. Support both. |
| (WebInspector.CSSStyleManager.prototype.forcedPseudoClasses): Removed. |
| (WebInspector.CSSStyleManager.prototype.getMatchedStylesAsync): Removed forcedPseudoClasses |
| parameter. The protocol used 'rules' as a property, now it is 'matches'. Support both. |
| Use invoke() when calling CSSAgent.getMatchedStylesForNode since forcedPseudoClasses was removed |
| as an parameter, and invoke uses parameter names instead of parameter order. |
| (WebInspector.CSSStyleManager.prototype.getComputedStyleAsync): Removed forcedPseudoClasses |
| parameter. Use invoke() here too. |
| |
| 2012-10-09 Timothy Hatcher <timothy@apple.com> |
| |
| Update InspectorBackendCommands.js to r130785 of the Inspector protocol. |
| |
| <rdar://problem/12463786> |
| |
| Some features need to be updated to work with these changes: |
| <rdar://problem/12281730> REGRESSION (r129470): Nothing is showing in the Style sidebar |
| <rdar://problem/12463671> REGRESSION: Database inspection is broken |
| <rdar://problem/12463631> REGRESSION: Subframes don't show the correct DOM (always the main frame's DOM) |
| |
| Reviewed by Ricky Mondello. |
| |
| * UserInterface/CSSObserver.js: |
| (WebInspector.CSSObserver.prototype.namedFlowCreated): Added stub. |
| (WebInspector.CSSObserver.prototype.namedFlowRemoved): Added stub. |
| (WebInspector.CSSObserver.prototype.regionLayoutUpdated): Added stub. |
| * UserInterface/DOMStorageObserver.js: |
| (WebInspector.DOMStorageObserver.prototype.updateDOMStorage): Removed. |
| * UserInterface/DatabaseObserver.js: |
| (WebInspector.DatabaseObserver.prototype.sqlTransactionSucceeded): Removed. |
| (WebInspector.DatabaseObserver.prototype.sqlTransactionFailed): Removed. |
| * UserInterface/DebuggerObserver.js: |
| (WebInspector.DebuggerObserver.prototype.scriptParsed): Added sourceMapURL and hasSourceURL arguments. |
| * UserInterface/InspectorBackendCommands.js: Updated to r130785. |
| * UserInterface/InspectorObserver.js: |
| (WebInspector.InspectorObserver.prototype.didCreateWorker): Removed. |
| (WebInspector.InspectorObserver.prototype.didDestroyWorker): Removed. |
| |
| 2012-10-04 Mark Rowe <mrowe@apple.com> |
| |
| Take Xcode's suggestions for changes to our internal Xcode projects. |
| |
| Rubber-stamped by John Sullivan. |
| |
| Xcode 4.5 suggests enabling several new warnings in most of our projects. While doing this |
| I also noticed and removed a number of obsolete configuration settings, and upgraded the |
| project format for the few projects that were not using the latest version. |
| |
| * Configurations/Base.xcconfig: |
| * WebInspectorUI.xcodeproj/project.pbxproj: |
| |
| 2012-09-13 Timothy Hatcher <timothy@apple.com> |
| |
| Collapse the Computed Style section by default. |
| |
| We do remember the state, but lets help people along here and collapse it by default. |
| |
| <rdar://problem/12294479> |
| |
| Reviewed by Cody Krieger and Mark Rowe. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel): Pass true when making the _computedStyleSection |
| to make it collapse by default. |
| |
| 2012-08-27 Timothy Hatcher <timothy@apple.com> |
| |
| Use -webkit-image-set for border-image instead of media queries in the Web Inspector. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/TextEditor.css: |
| (.text-editor > .gutter > .line-number > .breakpoint): Use -webkit-image-set. |
| (.text-editor > .gutter > .line-number.breakpoint-resolved > .breakpoint): Ditto. |
| (.text-editor > .gutter > .line-number.execution-line::after): Ditto. |
| * UserInterface/TimelineOverview.css: |
| (.timeline-overview > .timeline .bar): Combine two rules with identical selectors. |
| (.timeline-overview > .timeline.timeline-record-type-network .bar): Use -webkit-image-set. |
| (.timeline-overview > .timeline.timeline-record-type-layout .bar): Ditto. |
| (.timeline-overview > .timeline.timeline-record-type-script .bar): Ditto. |
| |
| 2012-08-27 Timothy Hatcher <timothy@apple.com> |
| |
| Make the JavaScript & Events timeline pills render correctly in HiDPI. |
| |
| <rdar://problem/12183848> JavaScript timeline pill broken in HiDPI |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/TimelineOverview.css: |
| (.timeline-overview > .timeline.timeline-record-type-script .bar): Changed from |
| .timeline-overview > .timeline.timeline-record-type-script > .bar. |
| |
| 2012-08-15 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Add iOS inheritable properties to the inspector to match |
| CSSProperty::isInheritedProperty. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/CSSKeywordCompletions.js: |
| |
| 2012-08-16 Timothy Hatcher <timothy@apple.com> |
| |
| Save and restore the text selection when modifying the DOM representation of the text. |
| |
| <rdar://problem/12059199> Selection is lost when scrolling in the source code view |
| |
| Reviewed by Darin Adler. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.set selectedTextRange): Return early if null is passed. |
| This allow the callers to avoid a null check. |
| (WebInspector.TextEditor.prototype._breakVisibleTextChunksIntoSingleLineTextChunks): |
| Save at the beginning the text selection, and restore it at the end. |
| (WebInspector.TextEditor.prototype._consolidateHiddenSingleLineTextChunks): Ditto. |
| |
| 2012-08-14 Timothy Hatcher <timothy@apple.com> |
| |
| Make the "Show Error Console" and "Show Page Source" menu items also change the selected navigator |
| to match the view showing in the content browser. |
| |
| <rdar://problem/12058796> Web Inspector comes up in an inconsistent state, always showing the console |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/InspectorFrontendAPI.js: |
| (InspectorFrontendAPI.showConsole): Select the Log sidebar. |
| (InspectorFrontendAPI.showMainResourceForFrame): Select the Resource sidebar. |
| |
| 2012-08-03 Timothy Hatcher <timothy@apple.com> |
| |
| Disable pause on exception by default. |
| |
| Developers are confused that pause on uncaught exceptions is enabled by default. |
| |
| <rdar://problem/12025998> |
| |
| Reviewed by Jessie Berlin. |
| |
| * UserInterface/DebuggerManager.js: |
| (WebInspector.DebuggerManager): Change true to false for the "break-on-all-uncaught-exceptions" |
| setting default value. |
| |
| 2012-08-01 Timothy Hatcher <timothy@apple.com> |
| |
| Update CSSKeywordCompletions.js. |
| |
| <rdar://problem/12008709> |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/CSSKeywordCompletions.js: Merge r124016 from WebKit. |
| |
| 2012-08-01 Timothy Hatcher <timothy@apple.com> |
| |
| DOMStorageObserver.updateDOMStorage should be DOMStorageObserver.domStorageUpdated. |
| |
| "updateDOMStorage" was renamed to "domStorageUpdated" in WebKit r118349. We need to support |
| the old and new name for backwards compatibility. |
| |
| <rdar://problem/12008490> |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DOMStorageObserver.js: |
| (WebInspector.DOMStorageObserver.prototype.updateDOMStorage): Added comment. Call domStorageUpdated. |
| (WebInspector.DOMStorageObserver.prototype.domStorageUpdated): Added. Does what updateDOMStorage did. |
| |
| 2012-07-31 Timothy Hatcher <timothy@apple.com> |
| |
| Show the file and line number instead of a go-to arrow for style rules and event listeners. |
| |
| <rdar://problem/11347946> REGRESSION (New Web Inspector): Inspector does not show filename/line number for CSS rules |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.css: |
| (.sidebar > .panel.details.css-style .styles-section .header .title .media a): Added !important to color. Renamed from .subtitle. |
| * UserInterface/DetailsSection.css: |
| (.details-section > .content > .group > .row.simple > .label): Remove duplicate padding property, set padding-left to be 6px. |
| (.details-section > .content > .group > .row.simple > .value): Set padding-right to be 6px. |
| (.details-section > .content > .group > .row.properties): Make left and right padding equal. |
| * UserInterface/EventListenerSectionGroup.css: |
| (.event-listener-section > .content > .group > .row.simple > .value .go-to-arrow): Removed. |
| * UserInterface/EventListenerSectionGroup.js: |
| (WebInspector.EventListenerSectionGroup.prototype._functionTextOrLink): Use WebInspector.createResourceLink. |
| * UserInterface/Main.css: |
| (.go-to-link): Added. |
| (.go-to-link:not(.dont-float)): Added. |
| * UserInterface/Main.js: |
| (WebInspector.createResourceLink): Added. |
| * UserInterface/StylePropertiesSection.js: |
| (WebInspector.StylePropertiesSection): Use WebInspector.createResourceLink. |
| (WebInspector.StylePropertiesSection.prototype._linkify): Removed. |
| (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode): Use WebInspector.createResourceLink. |
| |
| 2012-07-28 Timothy Hatcher <timothy@apple.com> |
| |
| Make reloading while viewing a resource in the Web Inspector show the main resource. |
| |
| This keeps you looking at resources instead of dumping you into a log or timeline view. |
| This was only an issue if you had viewed a log or timeline before viewing a resource. |
| |
| <rdar://problem/11981540> Reloading while viewing a resource sometimes switches to the Log or Timeline |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange): Remember if the current view was one |
| that we care about before closing them. |
| (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork): Show the main frame since |
| there is no content view showing or we were showing a resource before. |
| |
| 2012-07-28 Timothy Hatcher <timothy@apple.com> |
| |
| Make selection of a navigator in the Web Inspector show the last selected content view from that navigator. |
| |
| This makes switching between different content quicker, especially for the Resource, Instrument and Log |
| navigators which have default initial selections. |
| |
| <rdar://problem/10854727> Selecting the Log sidebar should select a log by default |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/InstrumentSidebarPanel.js: |
| (WebInspector.InstrumentSidebarPanel): Make the Network Requests timeline selected by default. |
| (WebInspector.InstrumentSidebarPanel.prototype.shown): |
| (WebInspector.InstrumentSidebarPanel.prototype._timelinesTreeElementSelected): Deselect any tree element |
| in the main content tree outline to prevent two selections in the sidebar. |
| (WebInspector.InstrumentSidebarPanel.prototype._profileSelected): Deselect any tree element in the timelines |
| tree outline to prevent two selections in the sidebar. |
| * UserInterface/LogSidebarPanel.js: |
| (WebInspector.LogSidebarPanel.prototype._sessionStarted): Select the Current Log tree element by default the first time. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Move some settings above this.navigationSidebar.selectedSidebarPanel to prevent |
| an exception from accessing them before they are set. This was triggered by the new code in NavigationSidebarPanel.shown. |
| * UserInterface/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel.prototype.shown): Reselect the selected tree element to cause the content view |
| to be shown as well. |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange): Select the main frame tree element by default. |
| |
| 2012-07-26 Timothy Hatcher <timothy@apple.com> |
| |
| Make searching source code via the find banner fast again. |
| |
| <rdar://problem/11955081> REGRESSION (New Web Inspector): Searching large resources via Find Banner is dramatically slower than Safari 5 |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype.customPerformSearch): Added. Uses the backend agents to do a quick search pass before doing |
| the inner-line matches. |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor): |
| (WebInspector.TextEditor.prototype.get currentSearchQuery): Added. Needed by SourceCodeTextEditor.customPerformSearch. |
| (WebInspector.TextEditor.prototype.performSearch): Use searchCleared to fully clear the previous results. |
| (WebInspector.TextEditor.prototype.performSearch.batchSearch): Use addSearchResultRange for adding a new result. |
| (WebInspector.TextEditor.prototype.addSearchResultRange): Added. Factored out of performSearch.batchSearch. Calls _updateLineForSearchResultMatchSoon. |
| (WebInspector.TextEditor.prototype.searchCleared): Clear _pendingSearchResultLineNumbers. |
| (WebInspector.TextEditor.prototype._updateLineForSearchResultMatchSoon): Added. Helper for batching line updates. |
| (WebInspector.TextEditor.prototype._updateLineForSearchResultMatchSoon.delayedWork): Added. Factored out of performSearch.batchSearch. |
| |
| 2012-07-11 Mark Rowe <mrowe@apple.com> |
| |
| Build against the latest SDK when targeting older OS X versions. |
| |
| The deployment target is already set to the version that we're targeting, and it's that setting |
| which determines which functionality from the SDK is available to us. |
| |
| Reviewed by Dan Bernstein. |
| |
| * Configurations/Base.xcconfig: |
| |
| 2012-06-18 Timothy Hatcher <timothy@apple.com> |
| |
| Fix an exception when viewing a JavaScript profile with milliseconds instead of percentages. |
| |
| <rdar://problem/11691663> REGRESSION (New Web Inspector): Exception when viewing JavaScript Profile, making profiles unusable |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ProfileDataGridTree.js: |
| (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds): Pass true for the last argument of Number.secondsToString. |
| |
| 2012-06-16 Timothy Hatcher <timothy@apple.com> |
| |
| Show Resource details for the selected row in Network requests. |
| |
| <rdar://problem/11683757> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DataGrid.js: |
| (WebInspector.DataGridNode.prototype.select): Fire the WebInspector.DataGrid.Event.SelectedNodeChanged event. |
| (WebInspector.DataGridNode.prototype.deselect): Ditto. |
| * UserInterface/Main.html: Include ResourceTimelineDataGridNodePathComponent.js. |
| * UserInterface/ResourceTimelineDataGridNodePathComponent.js: Added. |
| (WebInspector.ResourceTimelineDataGridNodePathComponent): |
| (WebInspector.ResourceTimelineDataGridNodePathComponent.prototyp.get resourceTimelineDataGridNode): |
| (WebInspector.ResourceTimelineDataGridNodePathComponent.prototype.get previousSibling): |
| (WebInspector.ResourceTimelineDataGridNodePathComponent.prototype.get nextSibling): |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView): Add WebInspector.DataGrid.Event.SelectedNodeChanged listener. |
| (WebInspector.TimelinesContentView.prototype.get selectionPathComponents): Include a ResourceTimelineDataGridNodePathComponent |
| if the selected node is a ResourceTimelineDataGridNode. |
| (WebInspector.TimelinesContentView.prototype._dataGridNodePathComponentSelected): Added. Reveal and select the node. |
| (WebInspector.TimelinesContentView.prototype._selectedNodeChanged): Dispatch WebInspector.ContentView.Event.SelectionPathComponentsDidChange. |
| |
| 2012-06-09 Timothy Hatcher <timothy@apple.com> |
| |
| Switch the Web Inspector over to use tab-size for the source code view. |
| |
| <rdar://problem/11633291> Use tab-size CSS property in the Web Inspector instead of an inline-block |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/SyntaxHighlighter.js: |
| (WebInspector.SyntaxHighlighter.CharacterTokens): Removed \t. |
| * UserInterface/SyntaxHighlightingDefaultTheme.css: |
| (.syntax-highlighted): Added tab-size: 4. |
| (.syntax-highlighted .tab): Removed. |
| * UserInterface/SyntaxHighlightingSupport.js: |
| (WebInspector.createSyntaxHighlightedDocumentFragment): Removed tab token support. |
| |
| 2012-06-07 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/11613940> DataGrid column collapser button should have a tooltip |
| |
| Reviewed by Darin Adler and Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/DataGrid.js: |
| (WebInspector.DataGrid): |
| (WebInspector.DataGrid.prototype._collapseColumnGroupWithCell): |
| (WebInspector.DataGrid.prototype._collapserButtonCollapseColumnsToolTip): |
| (WebInspector.DataGrid.prototype._collapserButtonExpandColumnsToolTip): |
| |
| 2012-05-30 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Workaround for: <rdar://problem/11536832> Cannot access content view from Instruments navigator if name of file is truncated |
| |
| Implement a workaround so that go-to arrows still work in situations |
| where text boxes incorrectly prevent them from being clickable. |
| Giving the arrows a z-index always makes them work. |
| |
| Reviewed by Timothy hatcher. |
| |
| * UserInterface/Main.css: |
| (.go-to-arrow): |
| |
| 2012-05-25 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/11538965> Breakpoint callframe tooltips show wrong line number |
| |
| ScriptLocation lineNumber is 0-based. Convert to 1-based for display. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/CallFrameTreeElement.js: |
| (WebInspector.CallFrameTreeElement): |
| |
| 2012-05-24 Timothy Hatcher <timothy@apple.com> |
| |
| Make the WebInspector.framework build 32/64-bit universal to match WebKit. |
| |
| Since WebKit links against the WebInspector framework, they need to support |
| the same architectures. Otherwise, the framework fails to load when soft |
| linking and the resources aren't found, which causes an exception/crash. |
| |
| <rdar://problem/11373948> Crash opening the Web Inspector in 32-bit apps |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Configurations/Base.xcconfig: Set VALID_ARCHS to ARCHS_STANDARD_32_64_BIT. |
| * Configurations/DebugRelease.xcconfig: Set ARCHS to ARCHS_STANDARD_32_64_BIT. |
| |
| 2012-05-23 Timothy Hatcher <timothy@apple.com> |
| |
| Fix some occasional assertions and an exception that happens in CSSStyleDetailsSidebarPanel. |
| |
| These can happen if there is an error from the protocol when fetching the CSS rules. Now when |
| this happens the sidebar will not show stale data. |
| |
| <rdar://problem/11516416> |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.matchedStylesCallback): Added fallback values. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections): Ditto. |
| |
| 2012-05-22 Timothy Hatcher <timothy@apple.com> |
| |
| Fix a regression that would cause resource content to overlap when reloading. |
| |
| <rdar://problem/11509620> REGRESSION (r42994): Overlapping content views when navigating |
| |
| Reviewed by Kevin Decker. |
| |
| * UserInterface/ContentViewContainer.js: |
| (WebInspector.ContentViewContainer.prototype.closeAllContentViewsOfPrototype): Use oldCurrentContentView |
| in the loop. The currentContentView variable is not declared until after the loop, so using currentContentView |
| is just comparing to undefined at this point. |
| |
| 2012-05-21 Timothy Hatcher <timothy@apple.com> |
| |
| Fixes an uncaught exception in WebInspector.ContentBrowser._currentContentViewDidChange. |
| |
| This event fires when all content views are closed and there is no longer a current view. |
| The code under this listener was not properly null checking the content view. |
| |
| <rdar://problem/11467085> ContentBrowser has uncaught exception on reload needs to handle null currentContentView |
| |
| Reviewed by Oliver Hunt. |
| |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser.prototype._updateHierarchicalPathNavigationItem): Added null check for representedObject. |
| (WebInspector.ContentBrowser.prototype._updateContentViewSelectionPathNavigationItem): Added null check for contentView. |
| (WebInspector.ContentBrowser.prototype._currentContentViewDidChange): Added null check for currentContentView. |
| |
| 2012-05-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/11468003> REGRESSION: Error log messages contains wrong line number in jump link |
| |
| The Log messages coming from the backend contain the expected, file and 1-based |
| line number. In the Safari inspector _linkifyLocation was adjusting this to 0-based |
| and using the 0-based line number as the display text. The OpenSource inspector's |
| linkifier uses WebInspector.formatLinkText for display text which adds back the 1. |
| The Safari inspector does not have that. We can just display the correct line number. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ConsoleMessageImpl.js: |
| (WebInspector.ConsoleMessageImpl.prototype._linkifyLocation): |
| |
| 2012-05-11 Timothy Hatcher <timothy@apple.com> |
| |
| Fix an issue where the DOM Tree and Source Code would overlap. |
| |
| <rdar://problem/11329121> REGRESSION (r42567): Overlapping display DOM Tree and Source Code |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ContentViewContainer.js: |
| (WebInspector.ContentViewContainer.prototype.showContentView): Remove assert and call to _removeContentViewElement. |
| The content view is already guaranteed to be removed. The _disassociateFromContentView function now does the assert. |
| (WebInspector.ContentViewContainer.prototype.showBackForwardEntry): Return early if it is the same index. Fire the |
| CurrentContentViewDidChange event here since _showContentView no longer fires it. |
| (WebInspector.ContentViewContainer.prototype.closeAllContentViewsOfPrototype): Remove call to _removeContentViewElement. |
| Only call _showContentView and fire the CurrentContentViewDidChange event if the content view actually changed. |
| (WebInspector.ContentViewContainer.prototype.closeAllContentViews): Remove call to _removeContentViewElement. |
| Fire the CurrentContentViewDidChange event here since _showContentView no longer fires it. |
| (WebInspector.ContentViewContainer.prototype.shown): Call _showContentView instead of _prepareContentViewToShow. |
| (WebInspector.ContentViewContainer.prototype.hidden): Call _hideContentView instead of _prepareContentViewToShow. |
| (WebInspector.ContentViewContainer.prototype._disassociateFromContentView): Added assert for visible. |
| (WebInspector.ContentViewContainer.prototype._showContentView): Added assert for visible. Removed event dispatch. |
| (WebInspector.ContentViewContainer.prototype._hideContentView): Added assert for visible. |
| |
| 2012-05-10 Timothy Hatcher <timothy@apple.com> |
| |
| Timer events in the WebInspector should show where they were scheduled from. |
| |
| Depends on: https://webkit.org/b/86173 |
| |
| <rdar://problem/11427463> |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/TimelineManager.js: |
| (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Process TimerFire when the corresponding |
| EvaluateScript or FunctionCall record is encountered so we can gather the resource and line number. |
| |
| 2012-05-10 Timothy Hatcher <timothy@apple.com> |
| |
| Use a static copy of InspectorBackend.js and InspectorBackendCommands.js. |
| |
| This fixes a build failure since WebCore renamed the file we were coping. |
| |
| For compatibility reasons we should use a static copy of the InspectorBackend instead |
| of copying the latest version from WebCore during the build. Using a stable version of |
| the InspectorBackend guarantees a constant API for the front-end and protocol level |
| changes in WebCore are compatible with older versions of the InspectorBackend. |
| |
| <rdar://problem/11426912> |
| |
| * Scripts/copy-user-interface-resources.sh: Removed copy commands from derived sources. |
| * UserInterface/InspectorBackend.js: Copied from OpenSource r116449. |
| * UserInterface/InspectorBackendCommands.js: Ditto. |
| * WebInspectorUI.xcodeproj/project.pbxproj: Removed build phase to copy from WebCore. |
| |
| 2012-04-26 Timothy Hatcher <timothy@apple.com> |
| |
| Update the Web Inspector to work with recent protocol changes. |
| |
| <rdar://problem/11329835> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMNodeDetailsSidebarPanel.js: |
| (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.nodeResolved): Pass undefined for the args parameter of callFunction. |
| * UserInterface/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.prototype._createTooltipForNode.resolvedNode): Ditto. |
| * UserInterface/JavaScriptTextPrompt.js: |
| (WebInspector.JavaScriptTextPrompt.prototype.evalInInspectedWindow): Renamed doNotPauseOnExceptions to doNotPauseOnExceptionsAndMuteConsole. |
| Pass doNotPauseOnExceptionsAndMuteConsole to evaluateOnCallFrame. |
| (WebInspector.JavaScriptTextPrompt.prototype._completions.evaluated): Pass undefined for the args parameter of callFunctionJSON. |
| * UserInterface/NetworkObserver.js: |
| (WebInspector.NetworkObserver.prototype.requestWillBeSent): Removed stackTrace parameter. |
| * UserInterface/RemoteObject.js: |
| (WebInspector.RemoteObject.prototype.setPropertyValue): Renamed doNotPauseOnExceptions to doNotPauseOnExceptionsAndMuteConsole. |
| Pass true for doNotPauseOnExceptionsAndMuteConsole in RuntimeAgent.callFunctionOn. |
| (WebInspector.RemoteObject.prototype.callFunction): Added args parameter and pass it along. Pass true for doNotPauseOnExceptionsAndMuteConsole. |
| (WebInspector.RemoteObject.prototype.callFunctionJSON): Ditto. |
| |
| 2012-04-20 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/11287053> ApplicationCache sorting Resource column is broken |
| |
| The items being sorted in the data grid are ApplicationCacheResources |
| from the Inspector protocol. Those resources do not have a "name" |
| property. Only "url", "size", and "type". |
| |
| Reviewed by Jon Honeycutt. |
| |
| * UserInterface/ApplicationCacheFrameContentView.js: |
| (WebInspector.ApplicationCacheFrameContentView.prototype._populateDataGrid): |
| |
| 2012-04-20 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/11287121> REGRESSION: Inspector window should move to front when you hit a breakpoint |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/Main.js: |
| (WebInspector._debuggerDidPause): |
| |
| 2012-04-18 Timothy Hatcher <timothy@apple.com> |
| |
| Fix an regression where issues were replacing the content view when they should be inline. |
| |
| This also fixes an regression where issue lines were not highlighting because the style class |
| was not being applied, 'undefined' was. |
| |
| <rdar://problem/11180526> REGRESSION (r41932-r41943): ResourceContentView was only showing |
| an error message and not content |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ResourceContentView.js: |
| (WebInspector.ResourceContentView): Only add issue event listener and issues if !managesOwnIssues. |
| (WebInspector.ResourceContentView.prototype.closed): Remove issue event listener only if !managesOwnIssues. |
| (WebInspector.ResourceContentView.prototype._issueWasAdded): Assert !managesOwnIssues. |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype._addIssueToLine): Use the connect object for the style classes. |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView.get managesOwnIssues): Added. Return true. |
| |
| 2012-04-16 Timothy Hatcher <timothy@apple.com> |
| |
| Save and restore the scroll position for content views when hiding and showing. |
| |
| <rdar://problem/11184241> REGRESSION (New Web Inspector): Console log view scroll offset |
| does not follow most recent messages |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ApplicationCacheFrameContentView.js: |
| (WebInspector.ApplicationCacheFrameContentView.prototype.get scrollableElements): Added. |
| * UserInterface/ClusterContentView.js: |
| (WebInspector.ClusterContentView.prototype.shown): Call shown directly on the _contentViewContainer. |
| (WebInspector.ClusterContentView.prototype.hidden): Ditto for hidden. |
| * UserInterface/ContentView.js: |
| (WebInspector.ContentView.prototype.get visible): Use a simple boolean. |
| (WebInspector.ContentView.prototype.set visible): Ditto. |
| (WebInspector.ContentView.prototype.get scrollableElements): Added stub. |
| (WebInspector.ContentView.prototype.get keepElementsScrolledToTheBottom): Added stub. |
| * UserInterface/ContentViewContainer.css: |
| (.content-view-container > .content-view): Removed. Using display: none was pointless since the |
| element is removed from the DOM. This prevented saving scroll positions. |
| * UserInterface/ContentViewContainer.js: |
| (WebInspector.ContentViewContainer.prototype.shown): Added. Calls _prepareContentViewToShow. |
| (WebInspector.ContentViewContainer.prototype.hidden): Added. Calls _prepareContentViewToHide. |
| (WebInspector.ContentViewContainer.prototype._saveScrollPositionsForContentView): Added. |
| (WebInspector.ContentViewContainer.prototype._restoreScrollPositionsForContentView): Added. |
| (WebInspector.ContentViewContainer.prototype._showContentView): Calls _prepareContentViewToShow. |
| (WebInspector.ContentViewContainer.prototype._prepareContentViewToShow): Added. Calls |
| _restoreScrollPositionsForContentView in addition to the work _showContentView did. |
| (WebInspector.ContentViewContainer.prototype._hideContentView): Calls _prepareContentViewToHide. |
| (WebInspector.ContentViewContainer.prototype._prepareContentViewToHide): Added. Calls |
| _saveScrollPositionsForContentView in addition to the work _hideContentView did. |
| * UserInterface/CookieStorageContentView.js: |
| (WebInspector.CookieStorageContentView.prototype.get scrollableElements): Added. |
| * UserInterface/DOMStorageContentView.js: |
| (WebInspector.DOMStorageContentView.prototype.get scrollableElements): Added. |
| * UserInterface/DOMTreeContentView.js: |
| (WebInspector.DOMTreeContentView.prototype.get scrollableElements): Added. |
| * UserInterface/DatabaseTableContentView.js: |
| (WebInspector.DatabaseTableContentView.prototype.get scrollableElements): Added. |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView): Removed _scrolledToBottom. |
| (WebInspector.LogContentView.prototype.consoleCleared): Removed _scrolledToBottom. |
| (WebInspector.LogContentView.prototype.hidden): Removed call to storeScrollPositions. |
| (WebInspector.LogContentView.prototype.get scrollableElements): Added. |
| (WebInspector.LogContentView.prototype.get keepElementsScrolledToTheBottom): Added. |
| * UserInterface/ScriptContentView.js: |
| (WebInspector.ScriptContentView.prototype.get scrollableElements): Added. |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.get contentContainerElement): Added. |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView.prototype.get scrollableElements): Added. |
| |
| 2012-04-14 Timothy Hatcher <timothy@apple.com> |
| |
| Add support for searching the DOM tree with the Find Banner. |
| |
| Part of: <rdar://problem/11039642> REGRESSION (New Web Inspector): Can't search in the DOM tree and source |
| code view (no Find banner is present) |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMTreeContentView.js: |
| (WebInspector.DOMTreeContentView.prototype.get supportsSearch): Added. Return true. |
| (WebInspector.DOMTreeContentView.prototype.get numberOfSearchResults): Added. |
| (WebInspector.DOMTreeContentView.prototype.performSearch): Added. Clear previous results and call |
| DOMAgent.performSearch. |
| (WebInspector.DOMTreeContentView.prototype.performSearch.searchResultsReady): Store the identifier and |
| fire the NumberOfSearchResultsDidChange event. |
| (WebInspector.DOMTreeContentView.prototype.searchCleared): Added. Clear the result and state. |
| (WebInspector.DOMTreeContentView.prototype.revealPreviousSearchResult): Added. Call _revealSearchResult. |
| (WebInspector.DOMTreeContentView.prototype.revealNextSearchResult): Added. Ditto. |
| (WebInspector.DOMTreeContentView.prototype._revealSearchResult): Added. Call DOMAgent.getSearchResults. |
| (WebInspector.DOMTreeContentView.prototype._revealSearchResult.revealResult): Select the DOM node. |
| |
| 2012-04-14 Timothy Hatcher <timothy@apple.com> |
| |
| Show the yellow bouncy when highlighting the current search result. |
| |
| Part of: <rdar://problem/11039642> REGRESSION (New Web Inspector): Can't search in the DOM tree and source |
| code view (no Find banner is present) |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/TextEditor.css: |
| (.text-editor .bouncy-highlight): Added. |
| (@-webkit-keyframes bouncy): Added. |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype._revealSearchResultTextRange): Create and add the bouncy element, |
| positioned to line up with the search result element. |
| |
| 2012-04-13 Timothy Hatcher <timothy@apple.com> |
| |
| Support searching via the find banner on text resources and scripts. |
| |
| Part of: <rdar://problem/11039642> REGRESSION (New Web Inspector): Can't search in the DOM tree and source |
| code view (no Find banner is present) |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ScriptContentView.js: |
| (WebInspector.ScriptContentView): Add event listener for TextEditor.Event.NumberOfSearchResultsDidChange. |
| (WebInspector.ScriptContentView.prototype.get supportsSearch): Return true. |
| (WebInspector.ScriptContentView.prototype.get numberOfSearchResults): Forward to _textEditor. |
| (WebInspector.ScriptContentView.prototype.performSearch): Ditto. |
| (WebInspector.ScriptContentView.prototype.searchCleared): Ditto. |
| (WebInspector.ScriptContentView.prototype.revealPreviousSearchResult): Ditto. |
| (WebInspector.ScriptContentView.prototype.revealNextSearchResult): Ditto. |
| (WebInspector.ScriptContentView.prototype._numberOfSearchResultsDidChange): Added. Fire ContentView.Event.NumberOfSearchResultsDidChange. |
| * UserInterface/SyntaxHighlighter.js: |
| * UserInterface/SyntaxHighlightingDefaultTheme.css: |
| (.supports-find-banner.showing-find-banner .syntax-highlighted .search-result): Added. |
| * UserInterface/SyntaxHighlightingSupport.js: |
| (WebInspector.createSyntaxHighlightedDocumentFragment.createTokenElement): Added parameter for search result. Append the search-result |
| class when needed. Fixes the quoting for links now that the attribute range can be split by a search result. |
| (WebInspector.createSyntaxHighlightedDocumentFragment.appendText): Changed to work with enumerateAttributes instead of enumerateAttribute. |
| Check for the search result attribute. Call createTokenElement for search results. |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.get numberOfSearchResults): Added. |
| (WebInspector.TextEditor.prototype.performSearch): Added. Iterate over the lines in batches to prevent blocking too long. |
| (WebInspector.TextEditor.prototype.performSearch.reportNumberOfSearchResultsDidChange): |
| (WebInspector.TextEditor.prototype.performSearch.batchSearch): Loop over lines and perform a regex to find matches. |
| (WebInspector.TextEditor.prototype.searchCleared): Added. Clear the results and remove the attribute from the lines. |
| (WebInspector.TextEditor.prototype.revealPreviousSearchResult): Added. Decrement the index and call _revealSearchResultTextRange. |
| (WebInspector.TextEditor.prototype.revealNextSearchResult): Added. Increment the index and call _revealSearchResultTextRange. |
| (WebInspector.TextEditor.prototype._revealSearchResultTextRange): Added. Helper for revealPreviousSearchResult and revealNextSearchResult. |
| (WebInspector.TextEditor.prototype._removeSearchResultStyles): Added. Query for all the search results and remove the style. |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView): Add event listener for TextEditor.Event.NumberOfSearchResultsDidChange. |
| (WebInspector.TextResourceContentView.prototype.get supportsSearch): Return true. |
| (WebInspector.TextResourceContentView.prototype.get numberOfSearchResults): Forward to _textEditor. |
| (WebInspector.TextResourceContentView.prototype.performSearch): Ditto. |
| (WebInspector.TextResourceContentView.prototype.searchCleared): Ditto. |
| (WebInspector.TextResourceContentView.prototype.revealPreviousSearchResult): Ditto. |
| (WebInspector.TextResourceContentView.prototype.revealNextSearchResult): Ditto. |
| (WebInspector.TextResourceContentView.prototype._numberOfSearchResultsDidChange): Added. Fire ContentView.Event.NumberOfSearchResultsDidChange. |
| |
| 2012-04-13 Timothy Hatcher <timothy@apple.com> |
| |
| Add keyboard shortcuts for next and previous search results. |
| |
| Part of: <rdar://problem/11039642> REGRESSION (New Web Inspector): Can't search in the DOM tree |
| and source code view (no Find banner is present) |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/FindBanner.js: |
| (WebInspector.FindBanner): Added keyboard shortcuts for Command-G and Command-Shift-G. |
| |
| 2012-04-05 Timothy Hatcher <timothy@apple.com> |
| |
| Add support to WebInspector.ContentView for dealing with the find banner. |
| |
| Part of: <rdar://problem/11039642> REGRESSION (New Web Inspector): Can't search in the DOM tree and |
| source code view (no Find banner is present) |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ClusterContentView.js: |
| (WebInspector.ClusterContentView): |
| (WebInspector.ClusterContentView.prototype.get supportsSearch): Added. Always return true. |
| (WebInspector.ClusterContentView.prototype.get numberOfSearchResults): Added. Forward to the current content view. |
| (WebInspector.ClusterContentView.prototype.performSearch): Added. Ditto. |
| (WebInspector.ClusterContentView.prototype.searchCleared): Added. Ditto. |
| (WebInspector.ClusterContentView.prototype.revealPreviousSearchResult): Added. Ditto. |
| (WebInspector.ClusterContentView.prototype.revealNextSearchResult): Added. Ditto. |
| (WebInspector.ClusterContentView.prototype._currentContentViewDidChange): Dispatch the |
| NumberOfSearchResultsDidChange event. |
| (WebInspector.ClusterContentView.prototype._contentViewNumberOfSearchResultsDidChange): Re-dispatch |
| the NumberOfSearchResultsDidChange event with this content view as the target. |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser): |
| (WebInspector.ContentBrowser.prototype.findBannerPerformSearch): Added. Forward to the current content view. |
| (WebInspector.ContentBrowser.prototype.findBannerSearchCleared): Added. Ditto. |
| (WebInspector.ContentBrowser.prototype.findBannerRevealPreviousResult): Added. Ditto. |
| (WebInspector.ContentBrowser.prototype.findBannerRevealNextResult): Added. Ditto. |
| (WebInspector.ContentBrowser.prototype._showFindBanner): Don't show if the current content view does not support search. |
| (WebInspector.ContentBrowser.prototype._contentViewNumberOfSearchResultsDidChange): Added. Update the find banner. |
| * UserInterface/ContentView.js: |
| (WebInspector.ContentView.prototype.get supportsSearch): Added stub. |
| (WebInspector.ContentView.prototype.get numberOfSearchResults): Added stub. |
| (WebInspector.ContentView.prototype.performSearch): Added stub. |
| (WebInspector.ContentView.prototype.searchCleared): Added stub. |
| (WebInspector.ContentView.prototype.revealPreviousSearchResult): Added stub. |
| (WebInspector.ContentView.prototype.revealNextSearchResult): Added stub. |
| * UserInterface/FindBanner.js: |
| (WebInspector.FindBanner): Added event listeners. |
| (WebInspector.FindBanner.prototype._inputFieldChanged): Added. Call the delegate. |
| (WebInspector.FindBanner.prototype._previousResultButtonClicked): Added. Ditto. |
| (WebInspector.FindBanner.prototype._nextResultButtonClicked): Added. Ditto. |
| |
| 2012-04-02 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.FindBanner which implements the user interface for searching in content views. |
| |
| The banner shows via Command-F and hides with Escape. Searching is not hooked up yet. |
| |
| Part of: <rdar://problem/11039642> REGRESSION (New Web Inspector): Can't search in the |
| DOM tree and source code view (no Find banner is present) |
| |
| Reviewed by Brian Weinstein. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser): Create a FindBanner and keyboard shortcut for Command-F. |
| (WebInspector.ContentBrowser.prototype._showFindBanner): Added. |
| (WebInspector.ContentBrowser.prototype._currentContentViewDidChange): Change the target element |
| of the find banner to the new content view. |
| * UserInterface/ContentViewContainer.css: |
| (.content-view-container): Added overflow hidden so the find-banner does not show when hidden. |
| (.content-view-container > .content-view): Ditto. |
| * UserInterface/FindBanner.css: Added. |
| * UserInterface/FindBanner.js: Added. |
| (WebInspector.FindBanner): |
| (WebInspector.FindBanner.prototype.get delegate): |
| (WebInspector.FindBanner.prototype.set delegate): |
| (WebInspector.FindBanner.prototype.get element): |
| (WebInspector.FindBanner.prototype.get inputField): |
| (WebInspector.FindBanner.prototype.get searchQuery): |
| (WebInspector.FindBanner.prototype.set searchQuery): |
| (WebInspector.FindBanner.prototype.get numberOfResults): |
| (WebInspector.FindBanner.prototype.set numberOfResults): |
| (WebInspector.FindBanner.prototype.get targetElement): |
| (WebInspector.FindBanner.prototype.set targetElement.delayedWork): |
| (WebInspector.FindBanner.prototype.set targetElement): |
| (WebInspector.FindBanner.prototype.show.delayedWork): |
| (WebInspector.FindBanner.prototype.show): |
| (WebInspector.FindBanner.prototype.hide): |
| (WebInspector.FindBanner.prototype._doneButtonClicked): |
| (WebInspector.FindBanner.prototype._generateButtonsGlyphsIfNeeded): |
| * UserInterface/Main.html: Included FindBanner.css and FindBanner.js. |
| |
| 2012-04-13 Timothy Hatcher <timothy@apple.com> |
| |
| Use searchRegex.lastIndex instead of lineMatch.index + searchTerm.length. |
| |
| When creating TextRanges in SearchSidebarPanel it is better to use lastIndex instead of the search term length. |
| This isn't a bug now, but it could be later when we support regex search queries in addition of plan text searches. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel.prototype.performSearch.resourcesCallback.resourceCallback): Use searchRegex.lastIndex. |
| (WebInspector.SearchSidebarPanel.prototype.performSearch.domCallback.domSearchResults): Ditto. |
| |
| 2012-04-05 Timothy Hatcher <timothy@apple.com> |
| |
| Add better support for getting and setting the text selection in WebInspector.TextEditor. |
| |
| This will be needed for the find banner support. <rdar://problem/11193282> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.get selectedTextRange): Added. |
| (WebInspector.TextEditor.prototype.set selectedTextRange): Added. |
| (WebInspector.TextEditor.prototype.revealLine): Use the selectedTextRange setter. |
| (WebInspector.TextEditor.prototype._textRangeToDOMRange): Added. Use _textPositionToDOMLocation |
| to get the start and end and make a new Range. |
| (WebInspector.TextEditor.prototype._domRangeToTextRange): Added. Use _domLocationToTextPosition |
| to get the start and end and make a new TextRange. |
| (WebInspector.TextEditor.prototype._domLocationToTextPosition): Added. |
| (WebInspector.TextEditor.prototype._textPositionToDOMLocation): Added. |
| (WebInspector.TextEditorTextChunk): Set _textChunk on the element. |
| * UserInterface/Utilities.js: |
| (Node.prototype.traverseNextTextNode): Added. Copied from OpenSource utilities.js. |
| (Node.prototype.rangeBoundaryForOffset): Added. Ditto. |
| |
| 2012-04-02 Timothy Hatcher <timothy@apple.com> |
| |
| Add support for disabling keyboard shortcuts and unbinding them altogether. |
| |
| You might disable a shortcut to make it only apply when a content view is showing, but still |
| have the shortcut be global. Also added support for unbinding a shortcut if you need to remove |
| it altogether from the document. |
| |
| This is likely to be required for find banner support. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/KeyboardShortcut.js: |
| (WebInspector.KeyboardShortcut): |
| (WebInspector.KeyboardShortcut.prototype.get disabled): Added. |
| (WebInspector.KeyboardShortcut.prototype.set disabled): Added. |
| (WebInspector.KeyboardShortcut.prototype.unbind): Added. Removes the shortcut from the target. |
| (WebInspector.KeyboardShortcut.prototype.matchesEvent): Return early if disabled. |
| |
| 2012-04-02 Timothy Hatcher <timothy@apple.com> |
| |
| Make it possible to generate colored images at different sizes than the intrinsic image size. |
| |
| This is useful when the input image is a PDF and a different size is needed. This support |
| is needed for the find banner back/forward arrows. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ImageUtilities.js: |
| (generateColoredImage): Added optional width and height parameters. Use the intrinsic width and |
| height as fallback. |
| (generateColoredImagesForCSS.generateImage): Pull the width and height out of the specification. |
| Use the intrinsic width and height as fallback. Pass the width and height to generateColoredImage |
| with a scale of 1 now that the pixelRatio is now premultiplied in the width and height. |
| |
| 2012-04-02 Timothy Hatcher <timothy@apple.com> |
| |
| Tweak the colors and gradients used by the search sidebar to match other bars in the Web Inspector. |
| |
| If only we had variables in CSS... |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/SearchSidebarPanel.css: |
| (.sidebar > .panel.search > .search-bar): Tweaked the colors to match the ones in TimelinesContentView.css |
| the upcoming FindBanner.css. |
| |
| 2012-04-12 Timothy Hatcher <timothy@apple.com> |
| |
| Create a funnel point for display names of URLs and hosts, and properly decode lastPathComponent. |
| |
| This decodes lastPathComponent as a URL escaped string. The host needs to be decoded as a punycode string, |
| but that isn't easily done in JavaScript so <rdar://problem/11237413> tracks that. |
| |
| <rdar://problem/11236933> High-ascii web addresses show corrupted in Web Inspector |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ApplicationCacheFrameContentView.js: |
| (WebInspector.ApplicationCacheFrameContentView.prototype._updateCallback): Remove unused lastPathComponent var. |
| * UserInterface/ApplicationCacheFrameTreeElement.js: |
| (WebInspector.ApplicationCacheFrameTreeElement.prototype.updateTitles): Use displayNameForURL and displayNameForHost. |
| * UserInterface/ApplicationCacheManifestTreeElement.js: |
| (WebInspector.ApplicationCacheManifestTreeElement.prototype._generateTitles): Ditto. |
| * UserInterface/CallFrameTreeElement.js: |
| (WebInspector.CallFrameTreeElement): Use displayNameForURL. |
| * UserInterface/ConsoleMessageImpl.js: |
| (WebInspector.ConsoleMessageImpl.prototype._linkifyLocation): Ditto. |
| * UserInterface/CookieStorageTreeElement.js: |
| (WebInspector.CookieStorageTreeElement): Use displayNameForHost. |
| * UserInterface/DOMStorageTreeElement.js: |
| (WebInspector.DOMStorageTreeElement): Ditto. |
| (WebInspector.DOMStorageTreeElement.prototype.get name): Ditto. |
| * UserInterface/DatabaseHostTreeElement.js: |
| (WebInspector.DatabaseHostTreeElement): Ditto. |
| (WebInspector.DatabaseHostTreeElement.prototype.get name): Ditto. |
| * UserInterface/EventListenerSectionGroup.js: |
| (WebInspector.EventListenerSectionGroup.prototype._functionTextOrLink): Use displayNameForURL. |
| * UserInterface/Main.js: |
| (WebInspector.displayNameForURL): Added. Use decodeURIComponent for lastPathComponent and displayNameForHost for host. |
| (WebInspector.displayNameForHost): Added. Returns the input, with a comment about decoding punycode. |
| (WebInspector.updateWindowTitle): Use decodeURIComponent for lastPathComponent and displayNameForHost for host. |
| * UserInterface/ProfileDataGridTree.js: |
| (WebInspector.ProfileDataGridNode.prototype._linkifyLocation): Use displayNameForURL. |
| * UserInterface/ResourceTimelineDataGridNode.js: |
| (WebInspector.ResourceTimelineDataGridNode.prototype.get data): Use displayNameForURL and displayNameForHost. |
| * UserInterface/ResourceTreeElement.js: |
| (WebInspector.ResourceTreeElement.prototype._updateTitles): Ditto. |
| * UserInterface/ScriptTimelineDataGridNode.js: |
| (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent): Use displayNameForURL. |
| * UserInterface/ScriptTreeElement.js: |
| (WebInspector.ScriptTreeElement): Use displayNameForURL and displayNameForHost. |
| |
| 2012-04-11 Timothy Hatcher <timothy@apple.com> |
| |
| Strip common error message prefixes from the message line in the Issue sidebar. |
| |
| The prefix is used to determine the title line, so it redundant to include it in the message. |
| And removing it from the message gives more room for the important info of the message. |
| |
| <rdar://problem/11219712> Can't see entire content of errors in the Issue sidebar |
| |
| Reviewed by Brian Weinstein. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/IssueMessage.js: |
| (WebInspector.IssueMessage): Determine the type based on source and text prefix matching. |
| Removed _source property, and added _type to replace it. |
| (WebInspector.IssueMessage.Type.displayName): Added. |
| (WebInspector.IssueMessage.prototype.get type): Renamed from source and return _type instead. |
| * UserInterface/IssueTreeElement.js: |
| (WebInspector.IssueTreeElement): Use a switch for the level instead of raw string comparison. |
| Use WebInspector.IssueMessage.Type.displayName to get the title. |
| (WebInspector.IssueTreeElement.titleForIssue): Removed. |
| |
| 2012-04-09 Timothy Hatcher <timothy@apple.com> |
| |
| Add keyboard shortcuts for pause/continue, step over, step into and step out. |
| |
| This matches Xcode's keyboard shortcuts and also supports the original Web Inspector |
| keyboard shortcuts for compatibility. |
| |
| <rdar://problem/11205675> Debugger keyboard shortcuts are broken (step into, step over, etc) |
| |
| Reviewed by John Sullivan. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole): Create the KeyboardShortcuts and show them in the tooltips. |
| (WebInspector.QuickConsole.prototype.set collapsed): Add the keyboard shortcut to the tooltips. |
| (WebInspector.QuickConsole.prototype._debuggerDidPause): Ditto. |
| (WebInspector.QuickConsole.prototype._debuggerDidResume): Ditto. |
| |
| 2012-04-07 Timothy Hatcher <timothy@apple.com> |
| |
| Make the completion popup look like the one in Xcode. |
| |
| <rdar://problem/11201824> Console: Autocomplete suggestion list is ugly (has wrong typeface) |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/TextPrompt.css: |
| (.suggest-box): |
| (.suggest-box .container): |
| (.suggest-box-content-item): |
| (.suggest-box-content-item.selected): |
| * UserInterface/TextPrompt.js: |
| (WebInspector.TextPrompt.SuggestBox.prototype._updateBoxPosition): Adjusted padding. Impose a max |
| height of 160, which turns out to be 10 items. |
| |
| 2012-04-07 Timothy Hatcher <timothy@apple.com> |
| |
| Make the completion popup work when the console is scrolled. |
| |
| <rdar://problem/11184504> "Current Log" console input is way broken when using inline completion popup |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Utilities.js: |
| (Element.prototype.offsetRelativeToWindow): Removed. boxInWindow was the only client. |
| (Element.prototype.boxInWindow): Removed targetWindow parameter, the only client always passed 'window'. |
| Use getClientRects instead of the broken offsetRelativeToWindow. |
| |
| 2012-04-06 Timothy Hatcher <timothy@apple.com> |
| |
| Make console completion behave more like Xcode's auto completion. |
| |
| This makes the suggestion popup appear for single items and completions are always shown |
| as unselected grey text, not a selected range. The tab key now also accepts the completion. |
| |
| <rdar://problem/11201751> Console: Tab to autocomplete does not work |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/TextPrompt.js: |
| (WebInspector.TextPrompt.prototype._completionsReady): Always pass true for canShowForSingleItem when call |
| _suggestBox.updateSuggestions. |
| (WebInspector.TextPrompt.prototype._completionsReady): Remove the auto completion path. There is now only |
| one completion style, handled by applySuggestion. |
| (WebInspector.TextPrompt.prototype.applySuggestion): Don't select the completion, do the what _completionsReady |
| did for the auto complete path -- create an auto complete element for the grey text. |
| (WebInspector.TextPrompt.prototype.tabKeyPressed): Call tabKeyPressed on _suggestBox to accept the completion |
| instead of doing nothing. |
| |
| 2012-04-06 Timothy Hatcher <timothy@apple.com> |
| |
| Make the reload keyboard shortcut work when an input field is focused. |
| |
| This makes the reload shortcuts and quick console toggle use the KeyboardShortcut class. |
| |
| <rdar://problem/11187008> Web Inspector is very picky about what has to be focused in order to reload the page |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Remove keydown event listener. Added reload keyboard shortcuts. |
| (WebInspector._reloadPage): Added. |
| (WebInspector._reloadPageIgnoringCache): Added. |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole): Added toggle or focus keyboard shortcut. |
| (WebInspector.QuickConsole.prototype._toggleOrFocus): Added. |
| |
| 2012-04-02 Timothy Hatcher <timothy@apple.com> |
| |
| Select the contents of the search field when pressing the Command-Shift-F keyboard shortcut. |
| |
| In addition to focusing the field, we now select the contents. This matches behavior of all |
| search fields tied to keyboard shortcuts. |
| |
| <rdar://problem/11169101> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel.prototype._focusSearchField): Call select() on the field. |
| |
| 2012-04-05 Timothy Hatcher <timothy@apple.com> |
| |
| Make clicking search results select the text range again. |
| |
| This broke when the TextEditor content element was made user modifiable. When a user modifiable region is blurred |
| it loses its selection. To prevent this we make it user modifiable only when focused. |
| |
| <rdar://problem/11193282> REGRESSION (r42062): Search results are not selected when clicked in the Search sidebar |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/TextEditor.css: |
| (.text-editor > .content-container > .content): Removed -webkit-user-modify. |
| (.text-editor > .content-container > .content:focus): Added. Set -webkit-user-modify here when focused. |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor): Set a tabIndex so the content can be focused when not user modifiable. |
| |
| 2012-03-31 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/11160188> Headers in resource details sidebar panel should be sortable |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ResourceDetailsSidebarPanel.js: |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid.sortDataGrid.comparator): |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid.sortDataGrid): |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid): |
| |
| 2012-03-30 Timothy Hatcher <timothy@apple.com> |
| |
| Prevent dragging and dropping everywhere except editable fields in the Web Inspector. |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Added dragover event listener. |
| (WebInspector._dragOver): Added. Prevent the drop from being accepted unless the target |
| is an editable field. |
| |
| 2012-03-30 Timothy Hatcher <timothy@apple.com> |
| |
| Make revealing line numbers in the Web Inspector work again in all cases. |
| |
| This removes line number revealing from SourceCodeTextEditor and merges the extra logic that |
| SourceCodeTextEditor had down into TextEditor. The problem was in WebInspector.TextEditor.shown, |
| where _lineNumberToReveal was being deleted before SourceCodeTextEditor could use it. |
| |
| <rdar://problem/11148983> REGRESSION: Debugger does not scroll execution line into view when |
| pausing in the debugger |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate): Remove call to |
| _revealPendingLineIfPossible. |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.shown): Call _revealPendingLineIfPossible instead of revealLine. |
| (WebInspector.TextEditor.prototype.revealLine): Delete _lineNumberToReveal now that the reveal |
| is likely to happen. |
| (WebInspector.TextEditor.prototype._revealPendingLineIfPossible): Added. |
| (WebInspector.TextEditor.prototype._reset): Call _revealPendingLineIfPossible. |
| |
| 2012-03-29 Timothy Hatcher <timothy@apple.com> |
| |
| Switch to the new current log when reloading the page while viewing the current log. |
| |
| <rdar://problem/11145724> Reloading the page should switch to Current Log |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/LogSidebarPanel.js: |
| (WebInspector.LogSidebarPanel.prototype._sessionStarted): Select the new Current Log |
| if the current view is the previously active content view. |
| |
| 2012-03-29 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10657781> Remote Inspector: Improve Generic Searching for Node "Inspect Element Eyeglass" |
| |
| Match Open Source and add the two second highlight for inspected |
| nodes. This is very useful for the Remote Inspector when using |
| node searching. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Main.js: |
| (WebInspector._domNodeWasInspected): |
| |
| 2012-03-28 Timothy Hatcher <timothy@apple.com> |
| |
| Add keyboard shortcuts for back and forward in the content browser. |
| |
| The shortcuts are Command-Control-Left and Command-Control-Right. |
| |
| Part of: <rdar://problem/10947746> Add keyboard shortcuts for common actions in the new Web Inspector |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser): Create the KeyboardShortcuts and add the shortcut to the button tooltips. |
| |
| 2012-03-28 Timothy Hatcher <timothy@apple.com> |
| |
| Add keyboard shortcuts for toggling the navigation and details sidebars. |
| |
| The shortcuts are Control-0 and Control-Shift-0. |
| |
| Part of: <rdar://problem/10947746> Add keyboard shortcuts for common actions in the new Web Inspector |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Create the KeyboardShortcuts. |
| (WebInspector._leftSidebarToggleButtonToolTip): Include the keyboard shortcut. |
| (WebInspector._rightSidebarToggleButtonToolTip): Ditto. |
| |
| 2012-03-28 Timothy Hatcher <timothy@apple.com> |
| |
| Add keyboard shortcuts for the details sidebar panels. |
| |
| The shortcuts are Control-Shift-1, Control-Shift-2, etc. |
| |
| Part of: <rdar://problem/10947746> Add keyboard shortcuts for common actions in the new Web Inspector |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/AppearanceDetailsSidebarPanel.js: |
| (WebInspector.AppearanceDetailsSidebarPanel): Pass "4" as the keyboard shortcut key. |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel): Pass "3" as the keyboard shortcut key. |
| * UserInterface/DOMDetailsSidebarPanel.js: |
| (WebInspector.DOMDetailsSidebarPanel): Pass the keyboard shortcut key through. |
| * UserInterface/DOMNodeDetailsSidebarPanel.js: |
| (WebInspector.DOMNodeDetailsSidebarPanel): Pass "2" as the keyboard shortcut key. |
| * UserInterface/DetailsSidebarPanel.js: |
| (WebInspector.DetailsSidebarPanel): Create a KeyboardShortcut and add it to the displayName. |
| * UserInterface/ResourceDetailsSidebarPanel.js: |
| (WebInspector.ResourceDetailsSidebarPanel): Pass "1" as the keyboard shortcut key. |
| * UserInterface/ScopeChainDetailsSidebarPanel.js: |
| (WebInspector.ScopeChainDetailsSidebarPanel): Pass "5" as the keyboard shortcut key. |
| |
| 2012-03-28 Timothy Hatcher <timothy@apple.com> |
| |
| Add keyboard shortcuts for the navigation sidebar panels. |
| |
| The shortcuts are Control-1, Control-2, etc. We don't use Command to prevent conflicting with |
| Safari's existing bookmarks bar commands. |
| |
| Part of: <rdar://problem/10947746> Add keyboard shortcuts for common actions in the new Web Inspector |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/BreakpointSidebarPanel.js: |
| (WebInspector.BreakpointSidebarPanel): Pass "7" as the keyboard shortcut key. |
| * UserInterface/DebugSidebarPanel.js: |
| (WebInspector.DebugSidebarPanel): Pass "6" as the keyboard shortcut key. |
| * UserInterface/InstrumentSidebarPanel.js: |
| (WebInspector.InstrumentSidebarPanel): Pass "3" as the keyboard shortcut key. |
| * UserInterface/IssueSidebarPanel.js: |
| (WebInspector.IssueSidebarPanel): Pass "5" as the keyboard shortcut key. |
| * UserInterface/LogSidebarPanel.js: |
| (WebInspector.LogSidebarPanel): Pass "8" as the keyboard shortcut key. |
| * UserInterface/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel): Create a KeyboardShortcut and add it to the displayName. |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel): Pass "1" as the keyboard shortcut key. |
| * UserInterface/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel): Pass "4" as the keyboard shortcut key. |
| * UserInterface/StorageSidebarPanel.js: |
| (WebInspector.StorageSidebarPanel): Pass "2" as the keyboard shortcut key. |
| |
| 2012-03-28 Timothy Hatcher <timothy@apple.com> |
| |
| Make it easier to properly show a sidebar panel in the Web Inspector. |
| |
| This adds a show function to SidebarPanel that reveals the Sidebar if needed and selects |
| the sidebar panel. For navigation sidebar panels it also focuses the TreeOutline. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/InspectorFrontendAPI.js: |
| (InspectorFrontendAPI.stopProfilingJavaScript): Use show(). |
| * UserInterface/Main.js: |
| (WebInspector._debuggerDidPause): Use show(). |
| * UserInterface/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel.prototype.show): Added. Call the superclass show and focus the tree. |
| * UserInterface/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel.prototype._focusSearchField): Use show(). |
| * UserInterface/Sidebar.js: |
| (WebInspector.Sidebar.prototype.addSidebarPanel): Use insertSidebarPanel. |
| (WebInspector.Sidebar.prototype.insertSidebarPanel): Set the _parentSidebar to this. |
| (WebInspector.Sidebar.prototype.removeSidebarPanel): Set the _parentSidebar to null. |
| * UserInterface/SidebarPanel.js: |
| (WebInspector.SidebarPanel.prototype.get parentSidebar): Added. |
| (WebInspector.SidebarPanel.prototype.show): Added. |
| |
| 2012-03-28 Timothy Hatcher <timothy@apple.com> |
| |
| Add support to WebInspector.KeyboardShortcut for specifying a target element and callback. |
| |
| This adds support for Command-Shift-F to focus the search field as the first shortcut. |
| |
| Part of: <rdar://problem/10947746> Add keyboard shortcuts for common actions in the new Web Inspector |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/KeyboardShortcut.js: |
| (WebInspector.KeyboardShortcut): Added targetElement and callback parameters. Register a keydown listener. |
| (WebInspector.KeyboardShortcut._handleKeyDown): Added. Walk the tree from the target and check for matching |
| keyboard shortcuts. |
| (WebInspector.KeyboardShortcut.prototype.get callback): Added. |
| * UserInterface/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel): Create a KeyboardShortcut for Command-Shift-F to focus the search field. |
| (WebInspector.SearchSidebarPanel.prototype._focusSearchFiled): Added. |
| |
| 2012-03-28 Timothy Hatcher <timothy@apple.com> |
| |
| Reintroduce WebInspector.KeyboardShortcut as a proper class. |
| |
| Part of: <rdar://problem/10947746> Add keyboard shortcuts for common actions in the new Web Inspector |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/EditingSupport.js: |
| (WebInspector.startEditing.defaultFinishHandler): Use KeyboardShortcut.Key.Escape.keyCode instead of |
| KeyboardShortcut.Keys.Esc.code. |
| * UserInterface/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController): Remove the _shortcuts object and assign individual shortcuts. |
| (WebInspector.JavaScriptLogViewController.prototype._promptKeyDown): Call matchesEvent on each shortcut. |
| * UserInterface/KeyboardShortcut.js: Added. |
| (WebInspector.KeyboardShortcut): |
| (WebInspector.Key): |
| (WebInspector.Key.prototype.get keyCode): |
| (WebInspector.Key.prototype.get displayName): |
| (WebInspector.Key.prototype.toString): |
| (WebInspector.KeyboardShortcut.prototype.get modifiers): |
| (WebInspector.KeyboardShortcut.prototype.get key): |
| (WebInspector.KeyboardShortcut.prototype.get displayName): |
| (WebInspector.KeyboardShortcut.prototype.matchesEvent): |
| * UserInterface/StylePropertyTreeElement.js: |
| (WebInspector.StylePropertyTreeElement.prototype.editingNameValueKeyDown): Use KeyboardShortcut.Key |
| instead of KeyboardShortcut.Keys. |
| |
| 2012-03-28 Timothy Hatcher <timothy@apple.com> |
| |
| Remove WebInspector.KeyboardShortcut, soon to be replaced by a better version. |
| |
| Part of: <rdar://problem/10947746> Add keyboard shortcuts for common actions in the new Web Inspector |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/KeyboardShortcut.js: Removed. |
| |
| 2012-03-26 Timothy Hatcher <timothy@apple.com> |
| |
| Fix an issue where Inspect Element would sometimes not stick and the DOM node selection would revert to |
| the previous selected DOM node. |
| |
| <rdar://problem/11122326> Using the Inspect Element content menu sometimes fails to select the right DOM node |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMTreeContentView.js: |
| (WebInspector.DOMTreeContentView.prototype._rootDOMNodeAvailable.selectNode): Return early if the DOM tree |
| has a selection already. A selection can be made while waiting for the async reply. |
| |
| 2012-03-26 Timothy Hatcher <timothy@apple.com> |
| |
| Add some missing checks to the DOMNodeDetailsSidebarPanel. |
| |
| This prevents updating the interface if the DOM node selection changed while waiting for a response about |
| the previous node from the backend. |
| |
| Reviewed by Ada Chan. |
| |
| * UserInterface/DOMNodeDetailsSidebarPanel.js: |
| (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.nodePrototypesReady): Return early if the |
| DOM node does not match the current DOM node. The DOM node changed while we were waiting for the async response. |
| (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.fillSection): Ditto. |
| (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshEventListeners.eventListenersCallback): Ditto. |
| |
| 2012-03-25 Timothy Hatcher <timothy@apple.com> |
| |
| Use DetailsSectionPropertiesRow for the DOM node Properties section. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMNodeDetailsSidebarPanel.css: Removed. |
| * UserInterface/DOMNodeDetailsSidebarPanel.js: |
| (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.fillSection): Create a |
| DetailsSection and DetailsSectionPropertiesRow for each prototype. |
| * UserInterface/DetailsSection.css: Set margin-bottom to -1px so nested section borders |
| collapse into a single border. |
| (.details-section): |
| * UserInterface/Main.html: Removed DOMNodeDetailsSidebarPanel.css. |
| |
| 2012-03-24 Timothy Hatcher <timothy@apple.com> |
| |
| Make Select All only select the text content of the resource. |
| |
| To do this content element needs to either be in an iframe or editable. Working with frames is |
| pretty annoying, so making the content editable was the best option. But since we don't support |
| editing resources yet, we need to prevent the editing from occurring. |
| |
| <rdar://problem/11039596> REGRESSION (New Web Inspector): Select all while viewing source selects |
| info in Details sidebar |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/TextEditor.css: |
| (.text-editor > .content-container > .content): Added -webkit-user-modify: read-write-plaintext-only. |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor): Added event listeners for keydown, textInput and webkitEditableContentChanged. |
| (WebInspector.TextEditor.prototype._preventKeyDown): Added. Allow command keys and page up, page down, |
| home, end, up, down, left, right. |
| (WebInspector.TextEditor.prototype._preventTextInput): Added. Prevent paste and other input. |
| (WebInspector.TextEditor.prototype._editableContentChanged): Added. Do a reset if this happens. |
| |
| 2012-03-24 Timothy Hatcher <timothy@apple.com> |
| |
| Remove WebInspector.isMac() and the dead code that came with it. |
| |
| Rubber-stamped by Dan Bernstein. |
| |
| * UserInterface/EditingSupport.js: |
| (WebInspector.startEditing.defaultFinishHandler): |
| (WebInspector.setCurrentFocusElement): |
| * UserInterface/KeyboardShortcut.js: |
| (WebInspector.KeyboardShortcut._modifiersToString): |
| * UserInterface/TextPrompt.js: |
| (WebInspector.TextPromptWithHistory.prototype.defaultKeyHandler): |
| |
| 2012-03-22 Timothy Hatcher <timothy@apple.com> |
| |
| Make the Web Inspector DataGrid sort indicator be HiDPI compliant. |
| |
| Part of: <rdar://problem/10643175> DataGrid sort indicator arrow and Timeline pills/callouts should be made HiDPI compliant |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DataGrid.css: |
| (.data-grid th.sort-ascending > div:first-child::after): Use the canvas based image. |
| (.data-grid th.sort-descending > div:first-child::after): Ditto. |
| |
| * UserInterface/DataGrid.js: |
| (WebInspector.DataGrid): Call _generateSortIndicatorImagesIfNeeded. |
| (WebInspector.DataGrid.prototype._generateSortIndicatorImagesIfNeeded): Added. |
| |
| * UserInterface/Images/SortIndicatorDownArrow.pdf: Added. |
| * UserInterface/Images/SortIndicatorUpArrow.pdf: Added. |
| * UserInterface/Images/treeDownTriangleBlack.png: Removed. |
| * UserInterface/Images/treeUpTriangleBlack.png: Removed. |
| |
| 2012-03-22 Timothy Hatcher <timothy@apple.com> |
| |
| Make the rest of the disclosure triangles in the Web Inspector HiDPI compliant. |
| |
| Part of: <rdar://problem/10643175> Some disclosure triangles and Timeline pills should be made HiDPI compliant |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Images/DisclosureTriangleTinyClosed.pdf: Added. |
| * UserInterface/Images/DisclosureTriangleTinyOpen.pdf: Added. |
| * UserInterface/Images/disclosureTriangleSmallDown.png: Removed. |
| * UserInterface/Images/disclosureTriangleSmallRight.png: Removed. |
| * UserInterface/Images/treeDownTriangleWhite.png: Removed. |
| * UserInterface/Images/treeRightTriangleBlack.png: Removed. |
| * UserInterface/Images/treeRightTriangleWhite.png: Removed. |
| |
| * UserInterface/ConsoleGroup.js: |
| (WebInspector.ConsoleGroup): Delete bracket element. It was ugly and sooo Windows... |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Call _generateDisclosureTriangleImages. |
| (WebInspector._generateDisclosureTriangleImages): Added. Generate images for small and tiny. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.css: Use the canvas based disclosure triangles. |
| * UserInterface/DOMTreeOutline.css: Ditto. |
| * UserInterface/DataGrid.css: Ditto. |
| * UserInterface/Section.css: Ditto. |
| * UserInterface/LogContentView.css: Ditto. Also delete the bracket style rules. |
| |
| 2012-03-22 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10391969> Remote Inspector: Add CSS Completion for iOS Properties |
| |
| Add CSS auto-completion keywords for iOS properties. |
| Add "touch" to the list of syntax highlighted value keywords. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/CSSKeywordCompletions.js: |
| * UserInterface/CSSSourceTokenizer.js: |
| (WebInspector.CSSSourceTokenizer): |
| |
| |
| 2012-03-21 Timothy Hatcher <timothy@apple.com> |
| |
| Use -webkit-image-set instead of media queries in the Web Inspector. |
| |
| This patch also uses separate border-image-slice and border-image-source properties to |
| avoid duplicate slice numbers in each rule. |
| |
| I didn't use image-set for the border-image cases since you still need a media query |
| for the 2x slice numbers. |
| |
| Reviewed by Jon Honeycutt. |
| |
| * UserInterface/ApplicationCacheIcons.css: |
| (.application-cache-manifest .icon): Use -webkit-image-set. |
| (.application-cache-frame .icon): Ditto. |
| * UserInterface/CookieIcon.css: |
| (.cookie-icon .icon): Use -webkit-image-set. |
| * UserInterface/DOMStorageIcons.css: |
| (.local-storage-icon .icon): Use -webkit-image-set. |
| (.session-storage-icon .icon): Ditto. |
| * UserInterface/DatabaseIcon.css: |
| (.database-icon .icon): Use -webkit-image-set. |
| * UserInterface/DatabaseTableIcon.css: |
| (.database-table-icon .icon): Use -webkit-image-set. |
| * UserInterface/FolderIcon.css: |
| (.folder-icon .icon): Use -webkit-image-set. |
| * UserInterface/InstrumentIcons.css: |
| (.network-icon .icon): Use -webkit-image-set. |
| (.colors-icon .icon): Ditto. |
| (.script-icon .icon): Ditto. |
| (.stopwatch-icon .icon): |
| (.profile-icon .icon): Use -webkit-image-set. |
| * UserInterface/InstrumentSidebarPanel.css: |
| (.sidebar > .panel.instrument > .title-bar > .record-glyph): Use -webkit-image-set. |
| (.sidebar > .panel.instrument > .title-bar > .record-glyph.recording): Ditto. |
| (.sidebar > .panel.instrument > .title-bar > .record-glyph:hover): Ditto. |
| (.sidebar > .panel.instrument > .title-bar > .record-glyph.recording:hover): Ditto. |
| (.sidebar > .panel.instrument > .title-bar > .record-glyph.forced): Ditto. |
| (.sidebar > .panel.instrument > .title-bar > .record-glyph.recording.forced): Ditto. |
| * UserInterface/LogIcon.css: |
| (.log-icon .icon): Use -webkit-image-set. |
| * UserInterface/ResourceIcons.css: |
| (.resource-icon .icon): Use -webkit-image-set. |
| (.resource-icon.resource-type-document .icon): Ditto. |
| (.resource-icon.resource-type-image .icon): Ditto. |
| (.resource-icon.resource-type-font .icon): Ditto. |
| (.resource-icon.resource-type-stylesheet .icon): Ditto. |
| (.resource-icon.resource-type-script .icon): Ditto. |
| (.anonymous-script-icon .icon): Ditto. |
| * UserInterface/TextEditor.css: |
| (.text-editor > .gutter > .line-number.breakpoint-resolved > .breakpoint): Use border-image-source. |
| * UserInterface/TimelineOverview.css: |
| (.timeline-overview > .timeline .bar): Use border-image-slice. |
| (.timeline-overview > .timeline.timeline-record-type-network .bar): Use border-image-source. |
| (.timeline-overview > .timeline.timeline-record-type-layout .bar): Ditto. |
| (.timeline-overview > .timeline.timeline-record-type-script .bar): Ditto. |
| |
| 2012-03-21 Timothy Hatcher <timothy@apple.com> |
| |
| Make the Web Inspector navigation bar and some disclosure triangles HiDPI aware again. |
| |
| This regressed when HiDPI canvas was turned off by <rdar://problem/10887881>. This change also uses |
| media queries, so dragging the Web Inspector between different DPI monitors will correctly switch. |
| |
| <rdar://problem/11091555> HiDPI: Many small icons in new Web Inspector are blurry in HiDPI |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ActivateButtonNavigationItem.js: |
| (WebInspector.ActivateButtonNavigationItem.prototype.generateStyleText): Added media query and 2x versions. |
| * UserInterface/ButtonNavigationItem.js: |
| (WebInspector.ButtonNavigationItem.prototype.generateStyleText): Added media query and 2x versions. |
| * UserInterface/DetailsSection.css: |
| (.details-section > .header::before): Set background-size. |
| (.details-section > .header:not(.mouse-over-options-element):active::before): Added 2x version. |
| (.details-section.collapsed > .header::before): Ditto. |
| (.details-section.collapsed > .header:not(.mouse-over-options-element):active::before): Ditto. |
| * UserInterface/ImageUtilities.js: |
| (generateColoredImage): Added scale parameter. Multiply width and height by scale. |
| (generateColoredImagesForCSS.imageLoaded): Call generateImage for each pixel ratio. |
| (generateColoredImagesForCSS.generateImage): Added pixelRatio parameter. Multiply the shadow values by pixelRatio. |
| Pass the pixelRation to generateColoredImage. |
| (generateColoredImagesForCSS): Remove depth and scale. |
| (generateEmbossedImages._imageLoaded): Call _createEmbossedCanvasImage for each pixel ratio. |
| (generateEmbossedImages._createEmbossedCanvasImage): Added pixelRatio parameter. Define the depth. Multiply the |
| width and height by pixelRatio. Use width and height instead of image.width and image.height through out. |
| (generateEmbossedImages._invertMaskImage): Added width and height parameters. Use instead of image.width and image.height. |
| (generateEmbossedImages._applyImageMask): Remove unused HTMLCanvasElement as input code path. |
| * UserInterface/Main.css: |
| (.go-to-arrow:active): Added 2x version. |
| (:focus .selected .go-to-arrow): Added 2x version. |
| (:focus .selected .go-to-arrow:active): Added 2x version. |
| * UserInterface/NavigationSidebarPanel.css: |
| (.navigation-sidebar-panel-content-tree-outline .item .disclosure-button): Set background-size. |
| (.navigation-sidebar-panel-content-tree-outline .item.selected .disclosure-button): Added 2x version. |
| (.navigation-sidebar-panel-content-tree-outline .item.expanded .disclosure-button): Added 2x version. |
| (.navigation-sidebar-panel-content-tree-outline .item.selected.expanded .disclosure-button): Added 2x version. |
| * UserInterface/RadioButtonNavigationItem.js: |
| (WebInspector.RadioButtonNavigationItem.prototype.generateStyleText): Added media query and 2x versions. |
| * UserInterface/TimelinesContentView.css: |
| (.content-view.timelines > .data-grid th.collapser > .collapser-button): Set background-size. |
| (.content-view.timelines > .data-grid th.collapser > .collapser-button:active): Added 2x version. |
| (.content-view.timelines > .data-grid th.collapser.collapsed > .collapser-button): Added 2x version. |
| (.content-view.timelines > .data-grid th.collapser.collapsed > .collapser-button:active): Added 2x version. |
| |
| 2012-03-20 Timothy Hatcher <timothy@apple.com> |
| |
| Don't allow setting breakpoints for resource types that are not Script or Document. |
| |
| <rdar://problem/11044410> Should not be allowed to set breakpoints on CSS resources |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor): Don't add event listeners unless _supportsDebugging is true. |
| (WebInspector.SourceCodeTextEditor.prototype.close): Remove event listeners inside if _supportsDebugging block. |
| (WebInspector.SourceCodeTextEditor.prototype._contentWillPopulate): Don't add breakpoints unless _supportsDebugging. |
| (WebInspector.SourceCodeTextEditor.prototype._updateBreakpointStatus): Assert _supportsDebugging. |
| (WebInspector.SourceCodeTextEditor.prototype._breakpointRemoved): Ditto. |
| (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameDidChange): Ditto. |
| (WebInspector.SourceCodeTextEditor.prototype._matchesBreakpoint): Ditto. |
| (WebInspector.SourceCodeTextEditor.prototype.get _supportsDebugging): Added. |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointInfo): Return early if !_supportsDebugging. |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointAdded): Ditto. |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointRemoved): Assert and return early if !_supportsDebugging. |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointMoved): Ditto. |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointToggled): Ditto. |
| |
| 2012-03-20 Timothy Hatcher <timothy@apple.com> |
| |
| Add and remove the window-inactive style class so controls, row selections, and backgrounds use their inactive colors. |
| |
| <rdar://problem/11064364> Inspector controls (bars and buttons) have active appearance in inactive windows |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ButtonNavigationItem.css: |
| (body.window-inactive .navigation-bar > .item.button:not(.suppress-emboss) > .glyph): |
| (.navigation-bar > .item.button.disabled > .glyph): |
| (body.window-inactive .navigation-bar > .item.button.disabled:not(.suppress-emboss) > .glyph): |
| (.navigation-bar > .item.button.suppress-emboss > .glyph): |
| (.navigation-bar > .item.button.suppress-emboss:active > .glyph): |
| (.navigation-bar > .item.button.suppress-emboss.disabled > .glyph): Moved from QuickConsole.css. |
| * UserInterface/DataGrid.css: |
| (body.window-inactive .data-grid th.sort-descending): Fixed the selector to use window-inactive. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Added window event listeners for blur and focus. |
| (WebInspector.updateDockedState): Remove the window-inactive class when docking, just in case. |
| (WebInspector._windowFocused): Added. |
| (WebInspector._windowBlurred): Added. |
| * UserInterface/QuickConsole.css: Moved the disabled button style to ButtonNavigationItem.css. |
| |
| 2012-03-19 Timothy Hatcher <timothy@apple.com> |
| |
| Support showing and working with Script breakpoints from the Breakpoint sidebar. |
| |
| Part of: <rdar://problem/11075565> REGRESSION (New Web Inspector): Injected extension content scripts are not shown |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/BreakpointSidebarPanel.js: |
| (WebInspector.BreakpointSidebarPanel): |
| (WebInspector.BreakpointSidebarPanel.prototype._addBreakpoint): Refactor code to work in terms on both Resource and Script. |
| (WebInspector.BreakpointSidebarPanel.prototype._addBreakpointsForSourceCode): Renamed from _addBreakpointsForResource. |
| (WebInspector.BreakpointSidebarPanel.prototype._resourceAdded): Use _addBreakpointsForSourceCode. |
| (WebInspector.BreakpointSidebarPanel.prototype._mainResourceChanged): Ditto. |
| (WebInspector.BreakpointSidebarPanel.prototype._scriptAdded): Added. Call _addBreakpointsForSourceCode if this script isn't |
| backed by a Resource. |
| (WebInspector.BreakpointSidebarPanel.prototype._scriptsCleared): Added. Remove all ScriptTreeElements. |
| (WebInspector.BreakpointSidebarPanel.prototype._treeElementSelected): Refactored to work with either Resource or Script. |
| * UserInterface/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype.scriptForIdentifier): Added. |
| (WebInspector.DebuggerManager.prototype.scriptsForURL): Added. |
| (WebInspector.DebuggerManager.prototype._setBreakpoint): Set the breakpoint correctly for Script's without URLs. |
| |
| 2012-03-19 Timothy Hatcher <timothy@apple.com> |
| |
| Show Scripts in the Resource sidebar at the top level. |
| |
| These scripts are grouped into 3 folders: Extension Scripts, Extra Scripts and Anonymous Scripts. |
| |
| <rdar://problem/11075565> REGRESSION (New Web Inspector): Injected extension content scripts are not shown |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype.reset): Fire ScriptsCleared event. |
| (WebInspector.DebuggerManager.prototype.scriptDidParse): Fire ScriptAdded event. Pass isContentScript |
| to the Script constructor. |
| * UserInterface/Images/ClippingJS.png: Added. |
| * UserInterface/Images/ClippingJS@2x.png: Added. |
| * UserInterface/Main.html: Included ScriptTreeElement.js. |
| * UserInterface/ResourceIcons.css: |
| (.anonymous-script-icon .icon): Added. |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel): Added event listeners for ScriptAdded and ScriptsCleared. |
| (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject): Create a tree element for |
| the anonymous script. |
| (WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded): Create a tree element for scripts with URLs. |
| (WebInspector.ResourceSidebarPanel.prototype._scriptsCleared): Remove the script folders. |
| (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected): Support ScriptTreeElement. |
| * UserInterface/Script.js: |
| (WebInspector.Script): Added injected parameter. |
| (WebInspector.Script.prototype.get injected): Added. |
| * UserInterface/ScriptTreeElement.js: Added. |
| (WebInspector.ScriptTreeElement): |
| (WebInspector.ScriptTreeElement.prototype.get script): |
| |
| 2012-03-19 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.ScriptContentView for showing content of Script objects. |
| |
| Part of: <rdar://problem/11047982> REGRESSION (New Web Inspector): Page source does not show when a |
| breakpoint is hit while loading the page |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ContentView.js: |
| (WebInspector.ContentView): Added case for Script. |
| (WebInspector.ContentView.isViewable): Ditto. |
| * UserInterface/DebugSidebarPanel.js: |
| (WebInspector.DebugSidebarPanel.prototype._treeElementSelected): Simplify and use ResourceSidebarPanel.showSourceCode. |
| * UserInterface/Main.html: |
| * UserInterface/Main.js: |
| (WebInspector.sidebarPanelForRepresentedObject): |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype.cookieForContentView): Update assert for ScriptContentView. |
| (WebInspector.ResourceSidebarPanel.prototype.showContentViewForCookie): Move a variable down below an early return. |
| (WebInspector.ResourceSidebarPanel.prototype.showSourceCode): Updated to work with Scripts. |
| (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange): Close all ScriptContentViews. |
| * UserInterface/ScriptContentView.css: Added. |
| (.content-view.script > .text-editor): |
| * UserInterface/ScriptContentView.js: Added. Copied mostly from TextResourceContentView. |
| (WebInspector.ScriptContentView): |
| (WebInspector.ScriptContentView.prototype.get script): |
| (WebInspector.ScriptContentView.prototype.get textEditor): |
| (WebInspector.ScriptContentView.prototype.get supplementalRepresentedObjects): |
| (WebInspector.ScriptContentView.prototype.revealLine): |
| (WebInspector.ScriptContentView.prototype.shown): |
| (WebInspector.ScriptContentView.prototype.hidden): |
| (WebInspector.ScriptContentView.prototype.closed): |
| (WebInspector.ScriptContentView.prototype._contentWillPopulate): |
| (WebInspector.ScriptContentView.prototype._executionLineNumberDidChange): |
| |
| 2012-03-18 Timothy Hatcher <timothy@apple.com> |
| |
| Hide line numbers for blank lines when showing inline scripts while the debugger is paused. |
| |
| When paused in the debugger we sometimes can only show the scripts for the HTML file. When |
| this happens the scripts are the only thing visible (in their final position) with blank |
| lines for the earlier HTML content. This hides the line numbers for those blank lines |
| to provide a clue to the user that they shouldn't expect content there. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor): Start with the first line as invalid, before a populate there |
| is always a blank first line. |
| (WebInspector.SourceCodeTextEditor.prototype._contentAvailable): Clear the invalid line numbers. |
| (WebInspector.SourceCodeTextEditor.prototype._populateWithInlineScriptContent.scriptContentAvailable): |
| Add blank lines to the invalid line numbers map. |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorShouldHideLineNumber): Added. Check the invalid |
| line numbers map. |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.updateLayout): Added force parameter and pass it to _updateLineNumbers. |
| (WebInspector.TextEditor.prototype._reset): Pass true to updateLayout. |
| (WebInspector.TextEditor.prototype._updateLineNumbers): Added force parameter. Always rebuild the line numbers |
| when this is true. |
| (WebInspector.TextEditor.prototype._lineNumberTextContent): Added. Helper. |
| (WebInspector.TextEditor.prototype._addBreakpointElementToLineElementWithInfo): Use _lineNumberTextContent. |
| (WebInspector.TextEditor.prototype._removePossibleBreakpointElementFromLineElement): Ditto. |
| |
| 2012-03-18 Timothy Hatcher <timothy@apple.com> |
| |
| Remove duplicate copies of _checkForOldResources and put it in the NavigationSidebarPanel base class. |
| |
| Now that the individual _checkForOldResources functions don't access different URL maps, this code |
| can now be shared down in NavigationSidebarPanel. |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/BreakpointSidebarPanel.js: |
| (WebInspector.BreakpointSidebarPanel): Removed event listeners for _checkForOldResources. |
| (WebInspector.BreakpointSidebarPanel.prototype._mainResourceChanged): Remove call to _checkForOldResources. |
| (WebInspector.BreakpointSidebarPanel.prototype._checkForOldResources): Removed. |
| * UserInterface/IssueSidebarPanel.js: |
| (WebInspector.IssueSidebarPanel): Removed event listeners for _checkForOldResources. |
| (WebInspector.IssueSidebarPanel.prototype._checkForOldResources): Removed. |
| * UserInterface/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel): Added event listeners for _checkForOldResources. |
| (WebInspector.NavigationSidebarPanel.prototype._checkForOldResources): Added. |
| (WebInspector.NavigationSidebarPanel.prototype._checkForOldResources.delayedWork): Added. |
| * UserInterface/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel): Removed event listeners for _checkForOldResources. |
| (WebInspector.SearchSidebarPanel.prototype._checkForOldResources): Removed. |
| |
| 2012-03-18 Timothy Hatcher <timothy@apple.com> |
| |
| Simplify IssueSidebarPanel and SearchSidebarPanel by using TreeOutline.getCachedTreeElement to |
| find existing ResourceTreeElements. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/IssueSidebarPanel.js: |
| (WebInspector.IssueSidebarPanel): Removed _issueRootElements. |
| (WebInspector.IssueSidebarPanel.prototype._issueWasAdded): Use getCachedTreeElement to find |
| the existing ResourceTreeElement. |
| (WebInspector.IssueSidebarPanel.prototype._issuesCleared): Removed _issueRootElements reference. |
| (WebInspector.IssueSidebarPanel.prototype._checkForOldResources.delayedWork): Ditto. |
| * UserInterface/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel): Removed _resourceSearchResultMap. |
| (WebInspector.SearchSidebarPanel.prototype._treeElementForResource): Removed _resourceSearchResultMap |
| reference. Use getCachedTreeElement to find the existing ResourceTreeElement. |
| (WebInspector.SearchSidebarPanel.prototype._checkForOldResources.delayedWork): |
| Removed _resourceSearchResultMap reference. |
| |
| 2012-03-18 Timothy Hatcher <timothy@apple.com> |
| |
| Simplify BreakpointSidebarPanel by using TreeOutline.getCachedTreeElement to find existing |
| the BreakpointTreeElements and ResourceTreeElements. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/BreakpointSidebarPanel.js: |
| (WebInspector.BreakpointSidebarPanel): Removed _resourceTreeElementURLMap. |
| (WebInspector.BreakpointSidebarPanel.prototype._addBreakpoint): Use getCachedTreeElement to |
| find the existing ResourceTreeElement. |
| (WebInspector.BreakpointSidebarPanel.prototype._breakpointRemoved): Use getCachedTreeElement to |
| find the BreakpointTreeElement to remove. |
| (WebInspector.BreakpointSidebarPanel.prototype._checkForOldResources.delayedWork): Removed |
| _resourceTreeElementURLMap reference. |
| |
| 2012-03-18 Timothy Hatcher <timothy@apple.com> |
| |
| Fix some exceptions I hit while adding ScriptContentView. |
| |
| Add some null checks at the callers of sidebarPanelForRepresentedObject, since sidebarPanelForRepresentedObject |
| can return null when the representedObject is unknown. The sidebarPanelForRepresentedObject function logs an |
| error to the console when it returns null. So the exceptions were just more noise. |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentBrowserTreeElementForRepresentedObject): Null check the result of sidebarPanelForRepresentedObject. |
| (WebInspector._updateCurrentContentViewCookie): Ditto. |
| |
| 2012-03-18 Timothy Hatcher <timothy@apple.com> |
| |
| Fix an issue where the execution line was not highlighted for single line scripts. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype._reset): Add ExecutionLineStyleClassName to the text chunk element |
| if the chunk is one line and it is the execution line. |
| |
| 2012-03-18 Timothy Hatcher <timothy@apple.com> |
| |
| Rename ResourceSidebarPanel.showResourceSourceCode to ResourceSidebarPanel.showSourceCode. |
| |
| This is prep for making ResourceSidebarPanel be responsible for showing Scripts. |
| |
| Part of: <rdar://problem/11047982> REGRESSION (New Web Inspector): Page source does not show when a |
| breakpoint is hit while loading the page |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/BreakpointSidebarPanel.js: |
| (WebInspector.BreakpointSidebarPanel.prototype._treeElementSelected): |
| * UserInterface/DebugSidebarPanel.js: |
| * UserInterface/IssueSidebarPanel.js: |
| (WebInspector.IssueSidebarPanel.prototype._treeElementSelected): |
| * UserInterface/Main.js: |
| (WebInspector.openURL): |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype.showSourceCode): Renamed from showResourceSourceCode. Changed |
| to not assume we are dealing with a Resource. |
| * UserInterface/ResourceTimelineDataGridNode.js: |
| (WebInspector.ResourceTimelineDataGridNode.prototype._goToResource): |
| * UserInterface/ScriptTimelineDataGridNode.js: |
| (WebInspector.ScriptTimelineDataGridNode.prototype._goToResource): |
| * UserInterface/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel.prototype._treeElementSelected): |
| |
| 2012-03-18 Timothy Hatcher <timothy@apple.com> |
| |
| Prevent double dividers in the navigation bar when viewing a non-frame content view. |
| |
| The node search navigation item is hidden when not on a frame content view, but that causes |
| the adjacent dividers to come together. We need to hide one divider in this case. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Remember the divider to the left of the node search item. |
| (WebInspector._currentContentViewDidChange): Hide the divider too. |
| |
| 2012-03-18 Timothy Hatcher <timothy@apple.com> |
| |
| Show script content when the debugger pauses on a resource that hasn't populated its full content yet. |
| |
| Part of: <rdar://problem/11047982> REGRESSION (New Web Inspector): Page source does not show when a |
| breakpoint is hit while loading the page |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DebuggerManager.js: |
| (WebInspector.DebuggerManager): |
| (WebInspector.DebuggerManager.prototype.scriptsForResource): Added. |
| (WebInspector.DebuggerManager.prototype.reset): Clear _scriptURLMap. |
| (WebInspector.DebuggerManager.prototype.scriptDidParse): Don't add the script again if it is already known. |
| Add scripts with URLs to _scriptURLMap. |
| * UserInterface/SourceCodeTextEditor.js: |
| (WebInspector.SourceCodeTextEditor): Call _activeCallFrameDidChange to update the execution line and request |
| script content if needed. |
| (WebInspector.SourceCodeTextEditor.prototype.revealLine): Store the line number if we don't have the line needed |
| to show yet. Delete the stored values if we call through to TextEditor. |
| (WebInspector.SourceCodeTextEditor.prototype._revealPendingLineIfPossible): Don't delete the stored values here. |
| Return early if we don't have the line needed. |
| (WebInspector.SourceCodeTextEditor.prototype._contentWillPopulate): Added. |
| (WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate): Added. |
| (WebInspector.SourceCodeTextEditor.prototype._populateWithContent): Added. |
| (WebInspector.SourceCodeTextEditor.prototype._contentAvailable): Set _fullContentPopulated and call _populateWithContent. |
| (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameDidChange): Call _populateWithInlineScriptContent or |
| _populateWithScriptContent for Resource source code. |
| (WebInspector.SourceCodeTextEditor.prototype._populateWithInlineScriptContent): Added. Request the content for all |
| the scripts for this URL. |
| (WebInspector.SourceCodeTextEditor.prototype._populateWithInlineScriptContent.scriptContentAvailable): Concat the scripts |
| together, adding the script tags. |
| (WebInspector.SourceCodeTextEditor.prototype._populateWithScriptContent): Added. Request the single script content. |
| (WebInspector.SourceCodeTextEditor.prototype._populateWithScriptContent.scriptContentAvailable): Set _fullContentPopulated |
| and call _populateWithContent. |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView): Listen for the ContentWillPopulate event. |
| (WebInspector.TextResourceContentView.prototype._contentWillPopulate): Renamed from contentAvailable. Do nothing if the text |
| editor is already added. |
| |
| 2012-03-16 Timothy Hatcher <timothy@apple.com> |
| |
| Factor most of TextResourceContentView out into SourceCodeTextEditor, a new TextEditor subclass. |
| |
| This is prep work for making a ScriptContentView to show Scripts before the resource loads. |
| |
| Part of: <rdar://problem/11047982> REGRESSION (New Web Inspector): Page source does not |
| show when a breakpoint is hit while loading the page |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/IssueManager.js: |
| (WebInspector.IssueManager.prototype.issuesForSourceCode): Renamed from issuesForResource. |
| * UserInterface/Main.html: Included SourceCodeTextEditor.js and SourceCodeTextEditor.css. |
| * UserInterface/ResourceContentView.js: |
| (WebInspector.ResourceContentView): Use issuesForSourceCode. |
| * UserInterface/SourceCodeTextEditor.css: Copied from TextResourceContentView.css. |
| (.source-code.text-editor .text-editor-text-chunk.error): |
| (.source-code.text-editor .text-editor-text-chunk.warning): |
| * UserInterface/SourceCodeTextEditor.js: Added. |
| (WebInspector.SourceCodeTextEditor): |
| (WebInspector.SourceCodeTextEditor.prototype.get sourceCode): |
| (WebInspector.SourceCodeTextEditor.prototype.revealLine): Copied from TextResourceContentView. |
| (WebInspector.SourceCodeTextEditor.prototype.shown): Call _revealPendingLineIfPossible. |
| (WebInspector.SourceCodeTextEditor.prototype.close): Remove event listeners. |
| (WebInspector.SourceCodeTextEditor.prototype._revealPendingLineIfPossible): Helper. |
| (WebInspector.SourceCodeTextEditor.prototype._contentAvailable): Copied from TextResourceContentView. |
| (WebInspector.SourceCodeTextEditor.prototype._updateBreakpointStatus): Ditto. |
| (WebInspector.SourceCodeTextEditor.prototype._breakpointRemoved): Ditto. |
| (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameDidChange): Ditto. |
| (WebInspector.SourceCodeTextEditor.prototype._matchesScriptLocation): Helper. |
| (WebInspector.SourceCodeTextEditor.prototype._matchesBreakpoint): Helper. |
| (WebInspector.SourceCodeTextEditor.prototype._matchesIssue): Helper. |
| (WebInspector.SourceCodeTextEditor.prototype._issueWasAdded): Copied from TextResourceContentView. |
| (WebInspector.SourceCodeTextEditor.prototype._addIssueToLineNumberMap): Helper. |
| (WebInspector.SourceCodeTextEditor.prototype._addIssueToLine): Copied from TextResourceContentView. |
| (WebInspector.SourceCodeTextEditor.prototype._breakpointInfoForBreakpoint): Ditto. |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorBaseURL): Ditto. |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorLineContentUpdated): Ditto. |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointInfo): Ditto. |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointAdded): Ditto. |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointRemoved): Ditto. |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointMoved): Ditto. |
| (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointToggled): Ditto. |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor): Call the Object constructor. |
| (WebInspector.TextEditor.prototype.set executionLineNumber): Fire the ExecutionLineNumberDidChange event. |
| * UserInterface/TextResourceContentView.css: |
| (.text-editor .text-editor-text-chunk.error): Removed. |
| (.text-editor .text-editor-text-chunk.warning): Removed. |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView): Listen for the ExecutionLineNumberDidChange event. |
| (WebInspector.TextResourceContentView.prototype.get supplementalRepresentedObjects): If the SourceCodeTextEditor |
| has an executionLineNumber, we can assume it is always the active call frame. |
| (WebInspector.TextResourceContentView.prototype.contentAvailable): Just remove the spinner or error message |
| and append the text editor. |
| (WebInspector.TextResourceContentView.prototype.revealLine): Just call revealLine on the text editor. |
| (WebInspector.TextResourceContentView.prototype.closed): Call close on the text editor. |
| (WebInspector.TextResourceContentView.prototype._executionLineNumberDidChange): Added. |
| |
| 2012-03-15 Timothy Hatcher <timothy@apple.com> |
| |
| Allow breakpoints to be set for a Resource or a Script. |
| |
| This is prep for making a TextEditor subclass that works with either a Script or a Resource. |
| |
| Part of: <rdar://problem/11047982> REGRESSION (New Web Inspector): Page source does not |
| show when a breakpoint is hit while loading the page |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Breakpoint.js: |
| (WebInspector.Breakpoint): Make the constructor take a SourceCode object instead of a URL. |
| (WebInspector.Breakpoint.prototype.get scriptIdentifier): Added. |
| (WebInspector.Breakpoint.prototype.get info): Updated the comment. |
| * UserInterface/BreakpointSidebarPanel.js: |
| (WebInspector.BreakpointSidebarPanel.prototype._addBreakpointsForResource): Use breakpointsForSourceCode. |
| * UserInterface/DebuggerManager.js: |
| (WebInspector.DebuggerManager): |
| (WebInspector.DebuggerManager.prototype.breakpointsForSourceCode): Renamed from breakpointsForURL. Takes |
| a SourceCode object and looks up by url or id. |
| (WebInspector.DebuggerManager.prototype.addBreakpoint): Don't assume there is a url. Adds the breakpoint |
| to the URL map and/or the script identifier map. |
| (WebInspector.DebuggerManager.prototype.removeBreakpoint): Ditto for removal. |
| (WebInspector.DebuggerManager.prototype._saveBreakpoints): Skips breakpoints without URLs. |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView.prototype.contentAvailable): Use breakpointsForSourceCode. |
| (WebInspector.TextResourceContentView.prototype.textEditorBreakpointAdded): Pass the resource to the |
| Breakpoint constructor instead of the URL. |
| |
| 2012-03-17 Timothy Hatcher <timothy@apple.com> |
| |
| Use Date.toLocaleString() to format the date in the Exprires column of the Cookies view. |
| |
| <rdar://problem/9628659> Expires date in the Cookies view should be localized |
| |
| Reviewed by Ada Chan. |
| |
| * UserInterface/CookieStorageContentView.js: |
| (WebInspector.CookieStorageContentView.prototype._rebuildTable): Use toLocaleString(). |
| |
| 2012-03-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Give each Timeline DataGrid a chance to react to EventMarkers. |
| |
| If another timeline data grid was active when event markers arrived, |
| then switching to the Network data grid was not showing those event |
| markers. Give each Timeline data grid a chance to react to the |
| event marker, not just the active data grid. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView): |
| (WebInspector.TimelinesContentView.prototype._recordingStarted): |
| (WebInspector.TimelinesContentView.prototype._recordedEventMarker): |
| (WebInspector.TimelinesContentView.prototype._updateCalculatorBoundsForPendingRecordsAndEventMarkers): |
| |
| 2012-03-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Workaround sporatic double thick border appearing in collapsed columns. |
| |
| Occasionally the Networks data grid will show a double thick border where |
| the collapsed, 0-width, columns were. Workaround this by just hiding the |
| border for collapsed columns. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TimelinesContentView.css: |
| (.content-view.timelines > .data-grid.collapsed-details td.column-group-details:not(:last-child)): |
| * UserInterface/NetworkDataGrid.js: |
| (WebInspector.NetworkDataGrid.prototype.didToggleColumnGroup): |
| |
| 2012-03-15 Timothy Hatcher <timothy@apple.com> |
| |
| Make the Quick Console toolbar buttons pin to the bottom when doing multi-line input. |
| |
| Also make the scrollbars not interfere if the user has old-school scrollbars. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/QuickConsole.css: |
| (.quick-console): Specify overflow-x and overflow-y separately. Use auto instead of scroll. |
| (.quick-console > .view-container): Use auto instead of scroll. |
| (.quick-console > .toolbar > .navigation-bar-container): Added. |
| (.quick-console > .toolbar > .navigation-bar-container > .navigation-bar-spacer): Added. |
| (.quick-console > .toolbar > .navigation-bar-container > .navigation-bar): Updated the selector. |
| (.quick-console > .toolbar > .navigation-bar-container > .navigation-bar > .item.button.disabled > .glyph): Ditto. |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole): Create navigation bar container and spacer. |
| |
| 2012-03-15 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/11049672> Delete key should delete selected breakpoint in sidebar |
| |
| - Delete key removes the breakpoint. |
| - Enter / Space toggles the breakpoint. |
| - All Exceptions and Uncaught Exceptions breakpoints cannot be removed |
| and will beep if the user attempts to delete them. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TreeOutline.js: |
| (TreeOutline.prototype._treeKeyDown): |
| Expose onspace like onenter and ondelete. |
| |
| * UserInterface/BreakpointTreeElement.js: |
| (WebInspector.BreakpointTreeElement.prototype.ondelete): |
| (WebInspector.BreakpointTreeElement.prototype.onenter): |
| (WebInspector.BreakpointTreeElement.prototype.onspace): |
| Implement default TreeElement handlers for keys. |
| |
| * UserInterface/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype.removeBreakpoint): |
| (WebInspector.DebuggerManager.prototype.isBreakpointRemovable): |
| Ensure we never try to remove the custom breakpoints. |
| |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView): |
| (WebInspector.TextResourceContentView.prototype._breakpointRemoved): |
| When a breakpoint is removed update the ContentView and TextEditor. |
| |
| 2012-03-15 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/11050670> REGRESSION (New Web Inspector): Add Inspect Element button (magnifying glass button) |
| |
| Only show the button when a FrameView (DOM Tree / Source Code) is available. |
| When switching away from a FrameView make sure to disable node searching |
| if it was active. Also since the nav bar may have changed size have the |
| content browser update its navigation bar layout. |
| |
| If this happens more in the future the buttons should be owned by the |
| individual ContentViews instead of WebInspector. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| (WebInspector._currentContentViewDidChange): |
| |
| 2012-03-15 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/11050670> REGRESSION (New Web Inspector): Add Inspect Element button (magnifying glass button) |
| |
| Add an on/off button for node searching. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ActivateButtonNavigationItem.js: Added. |
| (WebInspector.ActivateButtonNavigationItem): |
| (WebInspector.ActivateButtonNavigationItem.prototype.get activated): |
| (WebInspector.ActivateButtonNavigationItem.prototype.set activated): |
| (WebInspector.ActivateButtonNavigationItem.prototype.generateStyleText): |
| ActivateButton uses the normal "Focus" style when "Activated". It |
| then includes a darker version of "Focus" for "Activated:active". |
| |
| * UserInterface/ButtonNavigationItem.js: |
| (WebInspector.ButtonNavigationItem.prototype._generateImages): |
| Allow for more flexible subclassing. |
| |
| * UserInterface/ImageUtilities.js: |
| (generateEmbossedImages._imageLoaded): |
| (generateEmbossedImages._createEmbossedCanvasImage): |
| Create a FocusDark style if requested. |
| |
| * UserInterface/Images/Hand.pdf: Added. |
| * UserInterface/Main.html: |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| (WebInspector._domNodeWasInspected): |
| (WebInspector._toggleNodeSearch.callback): |
| (WebInspector._toggleNodeSearch): |
| Add the button to the right. |
| |
| 2012-03-14 Timothy Hatcher <timothy@apple.com> |
| |
| Fix typo of the servicePendingContentRequests function was mentioned in review but I forgot to save the file. |
| |
| * UserInterface/Resource.js: |
| (WebInspector.Resource.prototype.markAsFailed): Fix typo of servicePendingContentRequests. |
| |
| 2012-03-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10935394> REGRESSION (New Web Inspector): load and DOMContentLoaded event lines are not shown in the Timeline overview |
| <rdar://problem/10935417> REGRESSION (New Web Inspector): developer generated timestamps are not shown in the Timeline overview |
| |
| Add event marker decorations to the TimelineOverview. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TimelineDecorations.css: |
| (.timeline-decorations > .event-markers > .event-marker.timestamp): |
| Make markTimeline/timeStamp green instead of yellow. Easier to see. |
| |
| * UserInterface/TimelineDecorations.js: |
| (WebInspector.TimelineDecorations.prototype.clear): |
| Clearing should also remove visible EventMarkers. |
| |
| * UserInterface/TimelineOverview.css: |
| (.timeline-overview .timeline-decorations > .event-markers): |
| (.timeline-overview .timeline-decorations > .event-markers > .event-marker-tooltip): |
| |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView.prototype._recordedEventMarker): |
| Pass event markers on to the TimelineOverview. |
| |
| * UserInterface/TimelineOverview.js: |
| (WebInspector.TimelineOverview.prototype.update): |
| (WebInspector.TimelineOverview.prototype.addTimelineEventMarker): |
| Have the decorator draw event markers. |
| |
| 2012-03-14 Timothy Hatcher <timothy@apple.com> |
| |
| Provide a way to request content from a Script. |
| |
| Factor out the content requesting parts of Resource down into a SourceCode class that |
| both Resource and Script now inherit from. |
| |
| Part of: <rdar://problem/11047982> REGRESSION: Page source does not show when a breakpoint |
| is hit while loading the page |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Main.html: Included SourceCode.js. |
| * UserInterface/Resource.js: |
| (WebInspector.Resource): |
| (WebInspector.Resource.prototype.canRequestContentFromBackend): Added. |
| (WebInspector.Resource.prototype.requestContentFromBackend): Added. |
| (WebInspector.Resource.prototype.markAsFinished): Call requestContentFromBackendIfNeeded. |
| (WebInspector.Resource.prototype.markAsFailed): Call servicePendingContentRequests with force. |
| * UserInterface/Script.js: |
| (WebInspector.Script): |
| (WebInspector.Script.prototype.canRequestContentFromBackend): Added. |
| (WebInspector.Script.prototype.requestContentFromBackend): Added. |
| * UserInterface/SourceCode.js: Added. |
| (WebInspector.SourceCode): |
| (WebInspector.SourceCode.prototype.get content): |
| (WebInspector.SourceCode.prototype.get contentIsBase64Encoded): |
| (WebInspector.SourceCode.prototype.get contentURL): |
| (WebInspector.SourceCode.prototype.requestContent): |
| (WebInspector.SourceCode.prototype.canRequestContentFromBackend): |
| (WebInspector.SourceCode.prototype.requestContentFromBackend): |
| (WebInspector.SourceCode.prototype.requestContentFromBackendIfNeeded): |
| (WebInspector.SourceCode.prototype.servicePendingContentRequests): |
| (WebInspector.SourceCode.prototype._processContent): |
| |
| 2012-03-13 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/11044135> Quick Console should handle multiline input better |
| |
| The QuickConsole consists of two pieces in a fixed height. The toolbar with |
| JavaScript prompt, and the output content view container. The console itself |
| grows to a maximum size (75% of the total window size or user specified by |
| resizing). When handling multiline input the toolbar containing the prompt |
| is allowed to grow, pushing up the content. When the maximum is reached the |
| content will scroll under it, and likewise the multiline JavaScript prompt |
| will eventually scroll under it. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController): |
| (WebInspector.JavaScriptLogViewController.prototype._promptKeyDown): |
| (WebInspector.JavaScriptLogViewController.prototype._promptHistoryChange): |
| (WebInspector.JavaScriptLogViewController.prototype._promptPasteboardEvent): |
| (WebInspector.JavaScriptLogViewController.prototype._detectPromptHeightChanges.afterEvent): |
| (WebInspector.JavaScriptLogViewController.prototype._detectPromptHeightChanges): |
| * UserInterface/TextPrompt.js: |
| (WebInspector.TextPrompt): |
| (WebInspector.TextPromptWithHistory.prototype.defaultKeyHandler): |
| In order to detect with the input prompt changes height, we hook into |
| a number of events. Keydown, cut/paste, and TextPrompt history changes. |
| |
| * UserInterface/QuickConsole.css: |
| (.quick-console): |
| (.quick-console.collapsed): |
| Let the console scroll when multiline input fills the entire console. |
| To allow multiline input when collapsed remove !important from height. |
| |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole): |
| (WebInspector.QuickConsole.prototype.set collapsed): |
| (WebInspector.QuickConsole.prototype.get multiline): |
| (WebInspector.QuickConsole.prototype.get collapsedHeight): |
| Use constants where possible for height values. |
| |
| (WebInspector.QuickConsole.prototype.didAppendConsoleMessage): |
| (WebInspector.QuickConsole.prototype.promptDidChangeHeight): |
| Responds to actions that will most like require resizes. |
| |
| (WebInspector.QuickConsole.prototype._updateToolbarSize): |
| Update the toolbar size if the prompt size changed. |
| |
| (WebInspector.QuickConsole.prototype._updateViewContainerSizeAndScrollDivider): |
| Update the view container's size when single line or multiline. |
| |
| 2012-03-13 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Tweak quick console focusing. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole.prototype._viewContainerClick.afterDispatches): |
| This didn't appear to work for all actions. Ignore the caret checking, |
| and more proactively focus as long as there is no selection. |
| |
| 2012-03-13 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Minor quick console mouse improvements. |
| |
| Allow selection in the messages output. |
| |
| Clicking in the messages output focuses the prompt if there is no |
| selection. This matches LogContentView. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/QuickConsole.css: |
| (.quick-console > .view-container): |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole): |
| (WebInspector.QuickConsole.prototype._viewContainerClick.afterDispatches): |
| |
| 2012-03-13 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Event marker lines should not overlap the quick console. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/TimelineDecorations.css: |
| (.timeline-decorations > .event-markers): |
| |
| 2012-03-13 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Renamed isFocused() to a focused getter based on earlier review feedback. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/JavaScriptTextPrompt.js: |
| (WebInspector.JavaScriptTextPrompt.prototype.get focused): |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView.prototype.consoleCleared): |
| * UserInterface/Main.js: |
| (WebInspector._keydown): |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole.prototype._activeLogCleared): |
| |
| 2012-03-13 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Converge to a single RecordedEventMarker event based on earlier review feedback. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TimelineManager.js: |
| (WebInspector.TimelineManager): |
| (WebInspector.TimelineManager.prototype.startRecording): |
| (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): |
| (WebInspector.TimelineManager.prototype.eventRecorded): |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView): |
| |
| 2012-03-13 Timothy Hatcher <timothy@apple.com> |
| |
| Make profiles work again while retaining the correct insertion order in the Timeline DataGrids. |
| |
| This reverts most of r41172 and fixes the single issue from the open source version of the code. |
| When there isn't a previousGridNode that means we need to insert at the top of the DataGrid. |
| But the open source code was missing the !previousGridNode check, causing elements to append |
| at the end instead. |
| |
| <rdar://problem/10960578> REGRESSION (r41172): DOM exceptions when showing profile data grid |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DataGrid.js: |
| (WebInspector.DataGridNode.prototype._attach): Revert r41172 and add a check for !previousGridNode. |
| |
| 2012-03-13 Timothy Hatcher <timothy@apple.com> |
| |
| Don't follow links when they are being edited by the user. |
| |
| Inspired by the fix for https://webkit.org/b/60814. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMTreeContentView.js: |
| (WebInspector.DOMTreeContentView.prototype._mouseWasClicked): Call isBeingEdited and return early if true. |
| * UserInterface/EditingSupport.js: |
| (WebInspector.isBeingEdited): Check ancestor elements too. |
| * UserInterface/Main.js: |
| (WebInspector.handlePossibleLinkClick): Call isBeingEdited and return early if true. |
| |
| 2012-03-13 Timothy Hatcher <timothy@apple.com> |
| |
| Remove duplicate code for the handling clicked links. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSSelectorProfileView.js: |
| (WebInspector.CSSSelectorProfileView): Removed click event listener. |
| (WebInspector.CSSSelectorProfileView.prototype._mouseWasClicked): Removed. |
| * UserInterface/DOMDetailsSidebarPanel.js: |
| (WebInspector.DOMDetailsSidebarPanel.prototype._mouseWasClicked): Use handlePossibleLinkClick. |
| * UserInterface/DOMTreeContentView.js: |
| (WebInspector.DOMTreeContentView.prototype._mouseWasClicked.followLink): Pass along the lineNumber. |
| * UserInterface/JavaScriptProfileView.js: |
| (WebInspector.JavaScriptProfileView): Removed click event listener. |
| (WebInspector.JavaScriptProfileView.prototype._mouseWasClicked): Removed. |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView): Removed click event listener. |
| (WebInspector.LogContentView.prototype._messagesClicked): Removed. |
| * UserInterface/Main.js: |
| (WebInspector.handlePossibleLinkClick): Added. |
| (WebInspector._mouseWasClicked): Call handlePossibleLinkClick. |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole): Removed click event listener. |
| (WebInspector.QuickConsole.prototype._messagesClicked): Removed. |
| * UserInterface/ResourceContentView.js: |
| (WebInspector.ResourceContentView.prototype._mouseWasClicked): Use handlePossibleLinkClick. |
| |
| 2012-03-13 Timothy Hatcher <timothy@apple.com> |
| |
| Properly bind and unbind every DOMNode to DOMTreeManager. |
| |
| Merges the fix for https://webkit.org/b/78116 from open source (r107093). |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMNode.js: |
| (WebInspector.DOMNode): Inserts the node into the DOMTreeManager map here. So all |
| the callers don't need to do it. |
| * UserInterface/DOMTreeManager.js: |
| (WebInspector.DOMTreeManager.prototype._setDocument): Removed binding code. |
| (WebInspector.DOMTreeManager.prototype._setDetachedRoot): Ditto. |
| (WebInspector.DOMTreeManager.prototype._setChildNodes): Removed call to _bindNodes. |
| (WebInspector.DOMTreeManager.prototype._bindNodes): Removed. |
| (WebInspector.DOMTreeManager.prototype._childNodeRemoved): Call _unbind. |
| (WebInspector.DOMTreeManager.prototype._unbind): Added. Recursively unbind. |
| |
| 2012-03-13 Timothy Hatcher <timothy@apple.com> |
| |
| Fix an issue where removing a TreeElement from a TreeOutline would cause the TreeOutline |
| to forget all TreeElements that came after the TreeElement that was removed. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/TreeOutline.js: |
| (TreeOutline.prototype._forgetChildrenRecursive): Pass parentElement instead of this to |
| traverseNextTreeElement, forcing it to stop when it reaches the last descendant of parentElement. |
| |
| 2012-03-12 Timothy Hatcher <timothy@apple.com> |
| |
| Keep the QuickConsole scroll position pinned to the bottom when changing the height. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole.prototype.updateLayout): Scroll to the bottom if we were before the possible height change. |
| (WebInspector.QuickConsole.prototype._isScrolledToBottom): Added. |
| (WebInspector.QuickConsole.prototype._scrollToBottom): Added. |
| (WebInspector.QuickConsole.prototype._resizerMouseDown): Remember if the view was scrolled to the bottom before resize. |
| (WebInspector.QuickConsole.prototype._resizerMouseMoved): Scroll to the bottom if we were before resize. |
| (WebInspector.QuickConsole.prototype._resizerMouseUp): Delete the flag. |
| (WebInspector.QuickConsole.prototype._viewContainerClick.afterDispatches): Scroll the console element into view that |
| was clicked or scroll to the bottom if we were before. |
| |
| 2012-03-12 Timothy Hatcher <timothy@apple.com> |
| |
| Allow the QuickConsole to shrink in height when it auto grew in height. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole.prototype.set collapsed): Reset _userPreferredMaximumHeightWasSetSinceLastToggle back to false. |
| (WebInspector.QuickConsole.prototype.set userPreferredMaximumHeight): Set _userPreferredMaximumHeightWasSetSinceLastToggle to true. |
| (WebInspector.QuickConsole.prototype._updateViewContainerSizeAndScrollDivider): Return early if _userPreferredMaximumHeightWasSetSinceLastToggle |
| is set after calling _updateScrollDivider. Added an allowShrinking parameter. |
| (WebInspector.QuickConsole.prototype._viewContainerClick): Update comment. And call _updateViewContainerSizeAndScrollDivider, |
| passing true to allow shrinking. |
| |
| 2012-03-12 Timothy Hatcher <timothy@apple.com> |
| |
| Quick fixes to the QuickConsole styles. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/QuickConsole.css: |
| (.quick-console): Set overflow to hidden so the toolbar box-shadow does not spill out the sides. Also |
| removes a box-shadow that was not doing anything useful. |
| (.quick-console > .view-container): Set overflow-x to hidden so the horizontal scrollbar never shows. |
| (.quick-console > .toolbar): Set a transition on box-shadow so the shadow animates. Add a base box-shadow |
| that has 0 for blur so it animates nicely. |
| (.quick-console > .toolbar.scroll-divider): Tweak the shadow so it is rgba() and a larger blur. |
| |
| 2012-03-12 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Disable the Toggle button when there is no Quick Console content. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Main.js: |
| (WebInspector._keydown): |
| * UserInterface/QuickConsole.css: |
| (.quick-console > .toolbar > .navigation-bar > .item.button.disabled > .glyph): |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole): |
| (WebInspector.QuickConsole.prototype.toggle): |
| (WebInspector.QuickConsole.prototype.didAppendConsoleMessage): |
| (WebInspector.QuickConsole.prototype._toggleButtonClicked): |
| (WebInspector.QuickConsole.prototype._resizerDoubleClicked): |
| (WebInspector.QuickConsole.prototype._activeLogCleared): |
| |
| 2012-03-12 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/11034808> Esc should focus or toggle the QuickConsole |
| |
| Esc will focus the quick console if nothing else is focused and accepting |
| input. When focused, Esc will toggle the console's drawer. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Main.js: |
| (WebInspector._keydown): |
| Handle the Esc key. |
| |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole.prototype._toggleButtonClicked): |
| When the quick console is focused and a user clicks the toggle button, |
| the quick console emits a "blur" event even though the caret is still |
| inside it and commands can be run. This breaks the "isFocused()" state |
| of the field and thus the Esc key toggling the field. So, lets just |
| auto-focus the TextPrompt when the toggle button is clicked. |
| |
| 2012-03-12 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/11034699> Quick Console should respect clear keyboard shortcuts |
| |
| React to the clear active log event but only on the currently active console. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/JavaScriptTextPrompt.js: |
| (WebInspector.JavaScriptTextPrompt): |
| (WebInspector.JavaScriptTextPrompt.prototype.isFocused): |
| (WebInspector.JavaScriptTextPrompt.prototype._focusedPrompt): |
| (WebInspector.JavaScriptTextPrompt.prototype._blurredPrompt): |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView.prototype.consoleCleared): |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole): |
| (WebInspector.QuickConsole.prototype._activeLogCleared): |
| |
| 2012-03-12 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Improve QuickConsole content sizing. |
| |
| Make the quick console work like a calculator. The most recent |
| result is closest to the console prompt. Older results scroll |
| up off the top. Now when resizing, the user is setting their |
| preferred maximum size of the drawer. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole): |
| (WebInspector.QuickConsole.prototype.set collapsed): |
| (WebInspector.QuickConsole.prototype.get collapsedHeight): |
| (WebInspector.QuickConsole.prototype.get minimumUncollapsedHeight): |
| (WebInspector.QuickConsole.prototype.get maximumUncollapsedHeight): |
| Give comments describing the boundary heights. |
| |
| (WebInspector.QuickConsole.prototype.get userPreferredMaximumHeight): |
| (WebInspector.QuickConsole.prototype.set userPreferredMaximumHeight): |
| Add a convenient function for getting the user preferred sizes. |
| |
| (WebInspector.QuickConsole.prototype.set height): |
| (WebInspector.QuickConsole.prototype._expandViewContainerSize): |
| (WebInspector.QuickConsole.prototype._updateViewContainerSizeAndScrollDivider): |
| (WebInspector.QuickConsole.prototype._updateScrollDivider): |
| When setting the height, we typically drop through to updating the |
| container size to get the size to fit, and update the scroll divider |
| if needed. |
| |
| (WebInspector.QuickConsole.prototype._resizerMouseMoved): |
| When the user resized, save the height into Settings. |
| |
| (WebInspector.QuickConsole.prototype.updateLayout): |
| (WebInspector.QuickConsole.prototype.didAppendConsoleMessage): |
| Times when we need to adjust sizes. |
| |
| (WebInspector.QuickConsole.prototype._viewContainerScroll): |
| Don't adjust the size, just show/hide the divider. |
| |
| (WebInspector.QuickConsole.prototype._viewContainerClick.afterDispatches): |
| (WebInspector.QuickConsole.prototype._viewContainerClick.afterClickHandling): |
| (WebInspector.QuickConsole.prototype._viewContainerClick): |
| Adjust the size, but only after any possible work. |
| |
| 2012-03-12 Timothy Hatcher <timothy@apple.com> |
| |
| Don't break into the debugger when evaluating an expression in the console that triggers an exception. |
| |
| The exception will still be logged as the result in the console. We might tweak how this works later, |
| but right now breaking into the debugger for this is annoying. This change matches open source. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/JavaScriptLogViewController.js: |
| (WebInspector.JavaScriptLogViewController.prototype._appendCommand): Pass true for doNotPauseOnExceptions parameter. |
| |
| 2012-03-12 Timothy Hatcher <timothy@apple.com> |
| |
| Remove an overzealous assert in DebuggerManager. |
| |
| The script identifier can be reused, so just make a new Script and insert it into the map again. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype.scriptDidParse): Removed console.assert. |
| |
| 2012-03-12 Timothy Hatcher <timothy@apple.com> |
| |
| Clean up the styles for the console and log views. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/JavaScriptTextPrompt.css: |
| (.javascript-prompt): Adjust the padding and remove the margin. |
| * UserInterface/JavaScriptTextPrompt.js: |
| (WebInspector.JavaScriptTextPrompt): Set the text to "" so a "<br>" is inserted into the prompt. This lets the insertion |
| caret to position correctly. |
| * UserInterface/LogContentView.css: |
| (.console-message, .console-user-command): Adjust the padding and remove the margin. |
| (.console-message::before, .console-user-command::before, .javascript-prompt::before, .console-group-title::before): |
| Don't use a negative margin, make it a positive one. The padding above makes room. |
| (.console-group-messages .section .header::before): Bump up the disclosure triangle, it was 1px too low. |
| (.console-group-messages .section .header .title): Reset the line-height to make the logged object not take up extra space. |
| * UserInterface/QuickConsole.css: |
| (.quick-console > .toolbar > .text-prompt > .javascript-prompt): Reduce top position to better center the prompt. |
| |
| 2012-03-12 Timothy Hatcher <timothy@apple.com> |
| |
| Fix an issue where the whole Web Inspector Ui would just 1px after typing in the quick console. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/QuickConsole.css: |
| (.quick-console > .toolbar): Removed -webkit-box-sizing. |
| (.quick-console > .toolbar > .navigation-bar): Set the height to 21px so it does not extend out of .toolbar. |
| |
| 2012-03-11 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10319586> Implement the Quick Console for the new Web Inspector design |
| |
| Give the QuickConsole a LogViewController. The JavaScriptTextPrompt will |
| go in the toolbar, and the ViewContainer will hold the ConsoleGroup output. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/QuickConsole.css: |
| (.quick-console): |
| (.quick-console > .toolbar > .text-prompt): |
| (.quick-console > .toolbar > .text-prompt > .javascript-prompt): |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole): |
| (WebInspector.QuickConsole.prototype.didAppendConsoleMessage): |
| (WebInspector.QuickConsole.prototype._mouseWasClicked): |
| |
| 2012-03-11 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10319586> Implement the Quick Console for the new Web Inspector design |
| |
| Add a scroll divider box shadow when the Quick Console's view |
| contains scrollable content. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/QuickConsole.css: |
| (.quick-console > .view-container): |
| (.quick-console > .toolbar.scroll-divider): |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole): |
| (WebInspector.QuickConsole.prototype.set collapsed): |
| (WebInspector.QuickConsole.prototype.set height): |
| (WebInspector.QuickConsole.prototype._resizerMouseUp): |
| (WebInspector.QuickConsole.prototype._updateScrollDivider): |
| |
| 2012-03-11 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10319586> Implement the Quick Console for the new Web Inspector design |
| |
| Add JavaScriptLogViewController class. This holds a JavaScriptTextPrompt |
| for input and a ConsoleGroup to put the output of JavaScript commands. |
| The idea being that you could swap out either the input source or output |
| destination. Currently this class just knows how to deal with JavaScript. |
| |
| This moves out most of the remaining JavaScript knowledge from |
| LogContentView and puts it into this new controller. There is just one |
| delegate message back. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/JavaScriptLogViewController.js: Added. |
| (WebInspector.JavaScriptLogViewController): |
| (WebInspector.JavaScriptLogViewController.prototype.constructor.WebInspector.JavaScriptLogViewController.get prompt): |
| (WebInspector.JavaScriptLogViewController.prototype.get topConsoleGroup): |
| (WebInspector.JavaScriptLogViewController.prototype.get currentConsoleGroup): |
| (WebInspector.JavaScriptLogViewController.prototype.clear): |
| (WebInspector.JavaScriptLogViewController.prototype.appendConsoleMessage): |
| (WebInspector.JavaScriptLogViewController.prototype._requestClearMessages): |
| (WebInspector.JavaScriptLogViewController.prototype._promptKeyDown): |
| (WebInspector.JavaScriptLogViewController.prototype._enterKeyPressed): |
| (WebInspector.JavaScriptLogViewController.prototype._appendCommand.printResult): |
| (WebInspector.JavaScriptLogViewController.prototype._appendCommand): |
| (WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessage): |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView): |
| (WebInspector.LogContentView.prototype.constructor.WebInspector.LogContentView.messageAdded): |
| (WebInspector.LogContentView.prototype.consoleCleared): |
| (WebInspector.LogContentView.prototype.didAppendConsoleMessage): |
| (WebInspector.LogContentView.prototype._messagesClicked): |
| * UserInterface/Main.html: |
| |
| 2012-03-11 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10319586> Implement the Quick Console for the new Web Inspector design |
| |
| Remove unused OpenSource code from LogContentView. |
| Also simplify keyboard shortcut registrations. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ConsoleCommandResult.js: |
| (WebInspector.ConsoleCommandResult): |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView): |
| (WebInspector.LogContentView.prototype._appendCommand.printResult): |
| (WebInspector.LogContentView.prototype._appendCommand): |
| |
| 2012-03-11 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10319586> Implement the Quick Console for the new Web Inspector design |
| |
| Add OpenSource's ConsoleView copyright headers to JSTextPrompt, ConsoleGroup, and Command files. |
| Add OpenSource's ConsoleMessage* copyright headers to ConsoleMessage* files. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ConsoleCommand.js: |
| * UserInterface/ConsoleCommandResult.js: |
| * UserInterface/ConsoleGroup.js: |
| * UserInterface/ConsoleMessage.js: |
| * UserInterface/ConsoleMessageImpl.js: |
| * UserInterface/JavaScriptTextPrompt.js: |
| |
| 2012-03-11 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10319586> Implement the Quick Console for the new Web Inspector design |
| |
| Split ConsoleGroup, ConsoleCommand, and ConsoleCommandResult into |
| separate files and do a tiny bit of cleanup to match the Safari |
| frontend style. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ConsoleCommand.js: Added. |
| (WebInspector.ConsoleCommand): |
| (WebInspector.ConsoleCommand.prototype.constructor.WebInspector.ConsoleCommand.clearHighlight): |
| (WebInspector.ConsoleCommand.prototype.highlightSearchResults): |
| (WebInspector.ConsoleCommand.prototype.matchesRegex): |
| (WebInspector.ConsoleCommand.prototype.toMessageElement): |
| (WebInspector.ConsoleCommand.prototype._formatCommand): |
| * UserInterface/ConsoleCommandResult.js: Added. |
| (WebInspector.ConsoleCommandResult): |
| (WebInspector.ConsoleCommandResult.prototype.constructor.WebInspector.ConsoleCommandResult.toMessageElement): |
| * UserInterface/ConsoleGroup.js: Added. |
| (WebInspector.ConsoleGroup): |
| (WebInspector.ConsoleGroup.prototype.constructor.WebInspector.ConsoleGroup.addMessage): |
| (WebInspector.ConsoleGroup.prototype._titleClicked): |
| * UserInterface/ConsoleMessage.js: |
| (WebInspector.ConsoleMessage.create): |
| * UserInterface/LogContentView.js: |
| * UserInterface/Main.html: |
| |
| 2012-03-11 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10319586> Implement the Quick Console for the new Web Inspector design |
| |
| Extract the JavaScript TextPrompt details into a new class, |
| JavaScriptTextPrompt, which is a TextPrompt with JavaScript |
| completion logic. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/JavaScriptTextPrompt.js: Added. |
| (WebInspector.JavaScriptTextPrompt): |
| (WebInspector.JavaScriptTextPrompt.prototype.constructor.WebInspector.JavaScriptTextPrompt.get promptElement): |
| (WebInspector.JavaScriptTextPrompt.prototype.completions): |
| (WebInspector.JavaScriptTextPrompt.prototype._completions.evaluated.getCompletions): |
| (WebInspector.JavaScriptTextPrompt.prototype._completions.evaluated): |
| (WebInspector.JavaScriptTextPrompt.prototype._completions.receivedPropertyNamesFromEval): |
| (WebInspector.JavaScriptTextPrompt.prototype._completions.receivedPropertyNames): |
| (WebInspector.JavaScriptTextPrompt.prototype._completions): |
| (WebInspector.JavaScriptTextPrompt.prototype._reportCompletions): |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView): |
| (WebInspector.LogContentView.prototype.disable): |
| (WebInspector.LogContentView.prototype.shown): |
| (WebInspector.LogContentView.prototype._scheduleScrollIntoView.scrollIntoView): |
| (WebInspector.LogContentView.prototype._scheduleScrollIntoView): |
| (WebInspector.LogContentView.prototype._immediatelyScrollIntoView): |
| * UserInterface/Main.html: |
| |
| 2012-03-10 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/11025039> Console error when right clicking in Console: missing WebInspector.populateHrefContextMenu |
| |
| Remove unnecessary or unsupported Console contextmenu options that |
| came from OpenSource. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView.prototype._handleContextMenuEvent): |
| * Localizations/en.lproj/localizedStrings.js: |
| |
| 2012-03-11 Timothy Hatcher <timothy@apple.com> |
| |
| Don't highlight non-enumerable properties at the top level for Local, Closure, and Catch scopes. |
| |
| Those scopes are synthesized scope objects, unlike Global and With scopes. |
| |
| Part of: <rdar://problem/10318770> |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ObjectPropertiesSection.js: |
| (WebInspector.ObjectPropertyTreeElement.prototype.update): Check for dontHighlightNonEnumerablePropertiesAtTopLevel. |
| * UserInterface/ScopeChainDetailsSidebarPanel.js: |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh): Set dontHighlightNonEnumerablePropertiesAtTopLevel |
| for the Local, Closure, and Catch scopes. |
| |
| 2012-03-11 Timothy Hatcher <timothy@apple.com> |
| |
| Select and show the Scope Chain details sidebar panel when paused. |
| |
| Part of: <rdar://problem/10318770> |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Main.js: |
| (WebInspector._debuggerDidPause): Set a flag to show it when available. |
| (WebInspector._contentBrowserRepresentedObjectsDidChange): Check for the flag and show the panel. |
| |
| 2012-03-11 Timothy Hatcher <timothy@apple.com> |
| |
| Populate the Scope Chain details sidebar panel. |
| |
| Part of: <rdar://problem/10318770> |
| |
| Reviewed by Brian Weinstein. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/Main.html: Included ScopeVariableTreeElement.js. |
| * UserInterface/ScopeChainDetailsSidebarPanel.js: |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh): Build ObjectPropertiesSections and DetailsSections |
| for each ScopeChainNode in the scope chain. |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh.delayedWork): Added. Append the DetailsSections. |
| * UserInterface/ScopeVariableTreeElement.js: Copied from OpenSource/Source/WebCore/inspector/front-end/ScopeChainSidebarPane.js. |
| Some code style clean up and modifications to how _expandedProperties and the _propertyIdentifier prefix are accessed. |
| |
| 2012-03-11 Timothy Hatcher <timothy@apple.com> |
| |
| Clean up the styles for properties sections and support creation without the header element. |
| |
| This is needed for the Scope Chain sidebar panel. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.css: |
| (.sidebar > .panel.details.css-style .styles-section): Removed padding and background properties. |
| (.sidebar > .panel.details.css-style .styles-section .header): Removed background properties. |
| (.sidebar > .panel.details.css-style .styles-section.no-header .properties): Added. Reset padding. |
| * UserInterface/ComputedStylePropertiesSection.js: |
| (WebInspector.ComputedStylePropertiesSection): Call the PropertiesSection constructor after |
| some initial setup since Section will now call expand() when there is no header. |
| * UserInterface/DOMTreeOutline.js: |
| (WebInspector.DOMTreeOutline): Use the syntax-highlighted class name constant. |
| * UserInterface/DetailsSection.css: |
| (.details-section > .content > .group > .row.properties): Added. Specify padding. |
| * UserInterface/DetailsSectionPropertiesRow.js: |
| (WebInspector.DetailsSectionPropertiesRow): Add the syntax-highlighted class name. |
| * UserInterface/PropertiesSection.js: |
| (WebInspector.PropertiesSection): Call the Section constructor after some initial setup since |
| Section will now call expand() when there is no header. |
| * UserInterface/Section.css: |
| (.section.expanded.no-header .properties): Added. Reset padding-left. |
| * UserInterface/Section.js: |
| (WebInspector.Section): Don't create the header element if there if title and subtitle are not |
| strings or Nodes. |
| * UserInterface/StylePropertiesSection.js: |
| (WebInspector.StylePropertiesSection): Removed syntax-highlighted class name since it is added |
| by DetailsSectionPropertiesRow now. |
| * UserInterface/SyntaxHighlightingDefaultTheme.css: Removed background-color so this does not cause |
| sidebar to be white. |
| * UserInterface/SyntaxHighlightingSupport.js: Added syntax-highlighted class name constant. |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor): Use constant from SyntaxHighlightingSupport.js. |
| |
| 2012-03-10 Timothy Hatcher <timothy@apple.com> |
| |
| Add the start of the Scope Chain details sidebar panel which will show all the variables |
| available when paused in the debugger. |
| |
| Part of: <rdar://problem/10318770> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/Images/NavigationItemVariable.pdf: Added. |
| * UserInterface/Main.html: Included ScopeChainDetailsSidebarPanel.js. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Create a ScopeChainDetailsSidebarPanel and include it. |
| * UserInterface/ScopeChainDetailsSidebarPanel.js: Added. |
| (WebInspector.ScopeChainDetailsSidebarPanel): |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype.inspect): Look for CallFrame objects. |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype.get callFrame): |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype.set callFrame): |
| (WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh): Needs implemented. |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView.prototype.get supplementalRepresentedObjects): Include _callFrame. |
| (WebInspector.TextResourceContentView.prototype._updateExecutionLineNumber): Store the activeCallFrame when |
| it applies to this resource to we can return it in supplementalRepresentedObjects. |
| |
| 2012-03-10 Timothy Hatcher <timothy@apple.com> |
| |
| Add support to ContentView for supplemental represented objects. |
| |
| Supplemental represented objects can be used to provide more matching choices to the details |
| sidebar panels for things that are are not represented as path components in the navigation bar. |
| This support will be used to supply the call frame that is active in a TextResourceContentView, |
| for the purposes of showing a details sidebar panel with scope chain information. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ClusterContentView.js: |
| (WebInspector.ClusterContentView): Listen for the SupplementalRepresentedObjectsDidChange event. |
| (WebInspector.ClusterContentView.prototype.get supplementalRepresentedObjects): Added. Pass through |
| the current content view's supplementalRepresentedObjects. |
| (WebInspector.ClusterContentView.prototype._contentViewSupplementalRepresentedObjectsDidChange): Added. |
| Fire the SupplementalRepresentedObjectsDidChange on behalf of the current content view. |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser): Listen for the SupplementalRepresentedObjectsDidChange event. |
| (WebInspector.ContentBrowser.prototype.get currentRepresentedObjects): Include the current content view's |
| supplementalRepresentedObjects if they are not null and not empty. |
| (WebInspector.ContentBrowser.prototype._contentViewSupplementalRepresentedObjectsDidChange): Added. |
| Dispatch the CurrentRepresentedObjectsDidChange event soon. |
| * UserInterface/ContentView.js: |
| (WebInspector.ContentView.prototype.get supplementalRepresentedObjects): Added stub. |
| |
| 2012-03-10 Timothy Hatcher <timothy@apple.com> |
| |
| Include scope variables when doing autocompletion in the console. |
| |
| Part of: <rdar://problem/10318770> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CallFrame.js: |
| (WebInspector.CallFrame.prototype.collectScopeChainVariableNames): Added. Walk the scope chain and |
| request all the properties for each scope node object. |
| (WebInspector.CallFrame.prototype.collectScopeChainVariableNames.propertiesCollected): Added. Add the property |
| names to the result and call the callback when pendingRequests is 0. |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView.prototype._completions): Use CallFrame.collectScopeChainVariableNames. |
| |
| 2012-03-10 Timothy Hatcher <timothy@apple.com> |
| |
| Support evaluating against the local scope when paused in the debugger. |
| |
| Part of: <rdar://problem/10318770> |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView.prototype.evalInInspectedWindow): Use DebuggerAgent.evaluateOnCallFrame |
| when there is an active call frame. |
| |
| 2012-03-10 Timothy Hatcher <timothy@apple.com> |
| |
| Move the flashing prevention code from DebugSidebarPanel to DebuggerManager. |
| |
| Part of: <rdar://problem/10318770> |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DebugSidebarPanel.js: |
| (WebInspector.DebugSidebarPanel): Listen for the new CallFramesDidChange event instead of |
| the Paused and Resumed events. |
| (WebInspector.DebugSidebarPanel.prototype._showNotPausedEmptyContentPlaceholder): Added. |
| (WebInspector.DebugSidebarPanel.prototype._updateEmptyContentPlaceholder): Updated the message. |
| (WebInspector.DebugSidebarPanel.prototype._debuggerCallFramesDidChange): Check for null callFrames |
| and call _showNotPausedEmptyContentPlaceholder. |
| * UserInterface/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype.debuggerDidPause): Remove assert, since we might be paused still. |
| Clear the delayed resume timeout. |
| (WebInspector.DebuggerManager.prototype.debuggerDidResume): Delay clearing the state and firing events. |
| |
| 2012-03-10 Timothy Hatcher <timothy@apple.com> |
| |
| Add debugger controls for pause, resume, step over, step in, and step out. |
| |
| Part of: <rdar://problem/10318770> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Images/Pause.pdf: Added. |
| * UserInterface/Images/Resume.pdf: Added. |
| * UserInterface/Images/StepInto.pdf: Added. |
| * UserInterface/Images/StepOut.pdf: Added. |
| * UserInterface/Images/StepOver.pdf: Added. |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole): Create the button items. |
| (WebInspector.QuickConsole.prototype._debuggerPauseResumeButtonClicked): Added. |
| (WebInspector.QuickConsole.prototype._debuggerStepOverButtonClicked): Added. |
| (WebInspector.QuickConsole.prototype._debuggerStepIntoButtonClicked): Added. |
| (WebInspector.QuickConsole.prototype._debuggerStepOutButtonClicked): Added. |
| (WebInspector.QuickConsole.prototype._debuggerDidPause): Added. |
| (WebInspector.QuickConsole.prototype._debuggerDidResume): Added. |
| |
| 2012-03-10 Timothy Hatcher <timothy@apple.com> |
| |
| Use ToggleButtonNavigationItem for the quick console toggle button. |
| |
| Also start using the right artwork for the glyph. |
| |
| Part of: <rdar://problem/10319586> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Images/ToggleArrowDown.pdf: Added. |
| * UserInterface/Images/ToggleArrowUp.pdf: Added. |
| * UserInterface/QuickConsole.css: Removed styles to flip the arrow when collapsed. |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole): Use ToggleButtonNavigationItem. Add a divider to the left of the button. |
| (WebInspector.QuickConsole.prototype.set collapsed): Change the image for the toggle button. |
| |
| 2012-03-10 Timothy Hatcher <timothy@apple.com> |
| |
| Remove QuickConsoleButtonNavigationItem and merge its functionality down into ButtonNavigationItem. |
| |
| Having a special subclass prevent us from using ToggleButtonNavigationItem without adding another |
| special QuickConsoleToggleButtonNavigationItem subclass. |
| |
| Part of: <rdar://problem/10319586> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ButtonNavigationItem.css: |
| (.navigation-bar > .item.suppress-emboss > .glyph): |
| (.navigation-bar > .item.suppress-emboss:active > .glyph): |
| (.navigation-bar > .item.button.disabled > .glyph): |
| * UserInterface/ButtonNavigationItem.js: |
| (WebInspector.ButtonNavigationItem): Call _updateImage and the suppress-emboss style class if needed. |
| (WebInspector.ButtonNavigationItem.prototype.set image): Call _updateImage. |
| (WebInspector.ButtonNavigationItem.prototype.generateStyleText): Generate a background-size for _suppressEmboss. |
| (WebInspector.ButtonNavigationItem.prototype._canvasIdentifier): Added assert. |
| (WebInspector.ButtonNavigationItem.prototype._updateImage): Added. |
| (WebInspector.ButtonNavigationItem.prototype._generateImages): Added assert. |
| * UserInterface/Main.html: Removed QuickConsoleButtonNavigationItem.{css,js}. |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole): Use ButtonNavigationItem. |
| * UserInterface/QuickConsoleButtonNavigationItem.css: Removed. |
| * UserInterface/QuickConsoleButtonNavigationItem.js: Removed. |
| |
| 2012-03-10 Timothy Hatcher <timothy@apple.com> |
| |
| Make line numbers in the Breakpoint sidebar be 1-based. Also fixes a couple asserts that the |
| breakpoint lineNumber is 0-based. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/Breakpoint.js: |
| (WebInspector.Breakpoint): Fix assert. |
| (WebInspector.Breakpoint.prototype.set lineNumber): Ditto. |
| * UserInterface/BreakpointTreeElement.js: |
| (WebInspector.BreakpointTreeElement.prototype._updateMainTitle): Add 1 to the user visible number. |
| |
| 2012-03-10 Timothy Hatcher <timothy@apple.com> |
| |
| Select the Debug sidebar panel and show the navigation sidebar when the debugger pauses. |
| |
| Part of: <rdar://problem/10318770> |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Added Paused event listener. |
| (WebInspector._debuggerDidPause): Added. |
| |
| 2012-03-10 Timothy Hatcher <timothy@apple.com> |
| |
| Highlight the current execution line. |
| |
| Part of: <rdar://problem/10318770> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DebugSidebarPanel.js: |
| (WebInspector.DebugSidebarPanel.prototype._debuggerDidPause): Select the active call frame tree element. |
| (WebInspector.DebugSidebarPanel.prototype._treeElementSelected): Set the active call frame. |
| * UserInterface/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype.get activeCallFrame): Added. |
| (WebInspector.DebuggerManager.prototype.set activeCallFrame): Added. Fire ActiveCallFrameDidChange |
| (WebInspector.DebuggerManager.prototype.debuggerDidPause): Set _activeCallFrame and fire ActiveCallFrameDidChange. |
| (WebInspector.DebuggerManager.prototype.debuggerDidResume): Ditto. |
| * UserInterface/Images/InstructionPointer.png: Added. |
| * UserInterface/Images/InstructionPointer@2x.png: Added. |
| * UserInterface/TextEditor.css: |
| (.text-editor > .gutter > .line-number.execution-line::after): |
| (.text-editor .text-editor-text-chunk.execution-line): |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor): Initialize _executionLineNumber to NaN. |
| (WebInspector.TextEditor.prototype.get executionLineNumber): Added. |
| (WebInspector.TextEditor.prototype.set executionLineNumber): Added. Call _updateExecutionLineNumber. |
| (WebInspector.TextEditor.prototype.singleLineElementForLine): Handle a null result from _textChunkForLine. |
| (WebInspector.TextEditor.prototype._updateExecutionLineNumber): Added. Removes from the old line and adds to the new. |
| (WebInspector.TextEditor.prototype._updateLineNumbers): Make lineNumber 0-based instead of 1-based. |
| (WebInspector.TextEditor.prototype._addBreakpointElementToLineElementWithInfo): Add 1 for user visible line numbers. |
| (WebInspector.TextEditor.prototype._removePossibleBreakpointElementFromLineElement): Ditto. |
| (WebInspector.TextEditor.prototype._textChunkForLine): Handle negative numbers and NaN. |
| (WebInspector.TextEditor.prototype._breakTextChunkAtIndexIntoSingleLineTextChunks): Assert the textChunk isn't null. |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView): |
| (WebInspector.TextResourceContentView.prototype.contentAvailable): |
| (WebInspector.TextResourceContentView.prototype._updateExecutionLineNumber): |
| |
| 2012-03-09 Timothy Hatcher <timothy@apple.com> |
| |
| Populate the Debug sidebar with call frames when the debugger pauses. |
| |
| Part of: <rdar://problem/10318770> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/CallFrameIcons.css: Added. |
| (.function-icon .icon): |
| (.event-listener-icon .icon): |
| * UserInterface/CallFrameTreeElement.js: Added. |
| (WebInspector.CallFrameTreeElement): |
| (WebInspector.CallFrameTreeElement.prototype.get callFrame): |
| * UserInterface/DebugSidebarPanel.js: |
| (WebInspector.DebugSidebarPanel): |
| (WebInspector.DebugSidebarPanel.prototype._updateEmptyContentPlaceholder): Added. |
| (WebInspector.DebugSidebarPanel.prototype._debuggerDidPause): Added. Create CallFrameTreeElements. |
| (WebInspector.DebugSidebarPanel.prototype._debuggerDidResume): Added. Set a timeout for delayedWork. |
| (WebInspector.DebugSidebarPanel.prototype._debuggerDidResume.delayedWork): Added. Remove the tree elements. |
| (WebInspector.DebugSidebarPanel.prototype._treeElementSelected): Added. Show the resource source code. |
| * UserInterface/Images/EventListener.pdf: Added. |
| * UserInterface/Images/Function.pdf: Added. |
| * UserInterface/Main.html: Included CallFrameIcons.css and CallFrameTreeElement.js. |
| |
| 2012-03-09 Timothy Hatcher <timothy@apple.com> |
| |
| Process the call frames when the debugger pauses and create easy to use objects. |
| |
| Part of: <rdar://problem/10318770> |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/CallFrame.js: Added. |
| (WebInspector.CallFrame): |
| (WebInspector.CallFrame.prototype.get id): |
| (WebInspector.CallFrame.prototype.get scriptLocation): |
| (WebInspector.CallFrame.prototype.get functionName): |
| (WebInspector.CallFrame.prototype.get thisObject): |
| (WebInspector.CallFrame.prototype.get scopeChain): |
| * UserInterface/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype.get callFrames): Added. |
| (WebInspector.DebuggerManager.prototype.debuggerDidPause): Process the callFramesPayload. |
| (WebInspector.DebuggerManager.prototype.debuggerDidResume): Clear the _callFrames. |
| (WebInspector.DebuggerManager.prototype._scriptLocationFromPayload): Added. Helper. |
| (WebInspector.DebuggerManager.prototype._scopeChainFromPayload): Added. Helper. |
| (WebInspector.DebuggerManager.prototype._scopeChainNodeFromPayload): Added. Helper. |
| * UserInterface/Main.html: Included CallFrame.js, ScopeChainNode.js, and ScriptLocation.js. |
| * UserInterface/ScopeChainNode.js: Added. |
| (WebInspector.ScopeChainNode): |
| (WebInspector.ScopeChainNode.prototype.get type): |
| (WebInspector.ScopeChainNode.prototype.get object): |
| * UserInterface/ScriptLocation.js: Added. |
| (WebInspector.ScriptLocation): |
| (WebInspector.ScriptLocation.prototype.get script): |
| (WebInspector.ScriptLocation.prototype.get lineNumber): |
| (WebInspector.ScriptLocation.prototype.get columnNumber): |
| |
| 2012-03-09 Timothy Hatcher <timothy@apple.com> |
| |
| Track the paused state of the debugger and add functions to pause, resume, and step. |
| |
| Part of: <rdar://problem/10318770> |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DebuggerManager.js: |
| (WebInspector.DebuggerManager.prototype.get paused): Added. |
| (WebInspector.DebuggerManager.prototype.pause): Added. |
| (WebInspector.DebuggerManager.prototype.resume): Added. |
| (WebInspector.DebuggerManager.prototype.stepOver): Added. |
| (WebInspector.DebuggerManager.prototype.stepInto): Added. |
| (WebInspector.DebuggerManager.prototype.reset): Reset _paused and fire the Resumed event. |
| (WebInspector.DebuggerManager.prototype.debuggerDidPause): Set _paused and fire the Paused event. |
| (WebInspector.DebuggerManager.prototype.debuggerDidResume): Set _paused and fire the Resumed event. |
| * UserInterface/DebuggerObserver.js: |
| (WebInspector.DebuggerObserver.prototype.paused): Call DebuggerManager.debuggerDidPause. |
| (WebInspector.DebuggerObserver.prototype.resumed): Call DebuggerManager.debuggerDidResume. |
| |
| 2012-03-09 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.Script and create them when scripts are parsed. |
| |
| Part of: <rdar://problem/10318770> |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DebuggerManager.js: |
| (WebInspector.DebuggerManager): |
| (WebInspector.DebuggerManager.prototype.reset): Clear the script map. |
| (WebInspector.DebuggerManager.prototype.scriptDidParse): Added. Create a Script instance |
| and add it to the id map. |
| * UserInterface/DebuggerObserver.js: |
| (WebInspector.DebuggerObserver.prototype.scriptParsed): Call DebuggerManager.scriptDidParse. |
| * UserInterface/Main.html: Included Script.js. |
| * UserInterface/Script.js: Added. |
| (WebInspector.Script): |
| (WebInspector.Script.prototype.get id): |
| (WebInspector.Script.prototype.get range): |
| (WebInspector.Script.prototype.get url): |
| (WebInspector.Script.prototype.get urlComponents): |
| |
| 2012-03-09 Timothy Hatcher <timothy@apple.com> |
| |
| Add a way to break on all exceptions and uncaught exceptions. |
| |
| Part of: <rdar://problem/10318770&10318777> |
| |
| Reviewed by Brian Weinstein and Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/BreakpointIcons.css: |
| (.breakpoint-exception-icon .icon): Added. |
| * UserInterface/BreakpointSidebarPanel.js: |
| (WebInspector.BreakpointSidebarPanel): Create BreakpointTreeElements for the two exception breakpoints. |
| * UserInterface/BreakpointTreeElement.js: |
| (WebInspector.BreakpointTreeElement): Add support for a custom style class and title. |
| * UserInterface/DebuggerManager.js: |
| (WebInspector.DebuggerManager): Create an all exceptions and and all uncaught exceptions breakpoint. |
| (WebInspector.DebuggerManager.prototype.get allExceptionsBreakpoint): Added. |
| (WebInspector.DebuggerManager.prototype.get allUncaughtExceptionsBreakpoint): Added. |
| (WebInspector.DebuggerManager.prototype.breakpointResolved): Remove an overzealous assert. |
| (WebInspector.DebuggerManager.prototype._breakpointDisabledStateDidChange): Intercept the exception breakpoints |
| and call _updateBreakOnExceptionsState after updating the settings. |
| (WebInspector.DebuggerManager.prototype._updateBreakOnExceptionsState): Added. Communicate the state to the |
| backend and update resolved state. |
| |
| 2012-03-10 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10319586> Implement the Quick Console for the new Web Inspector design |
| |
| Allow resizing of the quick console. The quick console behaves like |
| sidebars. It toggles collapsed state when double clicked, and opens |
| or closes when resizing. The allowed maximum height is 75% of the |
| screen. When the window is resized smaller, we may need to shorten |
| the console to be within the 75%. |
| |
| Remember the height before we collapsed so that if you toggle |
| immediately it will restore the height to what it was. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Main.js: |
| (WebInspector._contentBrowserSizeDidChange): |
| * UserInterface/QuickConsole.css: |
| (.quick-console): |
| (.quick-console > .resizer): |
| Position the quick-console resizer like a sidebar resizer. 5px |
| wide, with a couple pixels above and below the border. |
| |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole): |
| (WebInspector.QuickConsole.prototype.get collapsedHeight): |
| (WebInspector.QuickConsole.prototype.get minimumUncollapsedHeight): |
| (WebInspector.QuickConsole.prototype.get maximumUncollapsedHeight): |
| (WebInspector.QuickConsole.prototype.updateLayout): |
| (WebInspector.QuickConsole.prototype.get height): |
| (WebInspector.QuickConsole.prototype.set height): |
| (WebInspector.QuickConsole.prototype._toggleButtonClicked): |
| (WebInspector.QuickConsole.prototype._resizerDoubleClicked): |
| (WebInspector.QuickConsole.prototype._resizerMouseDown): |
| (WebInspector.QuickConsole.prototype._resizerMouseMoved): |
| (WebInspector.QuickConsole.prototype._resizerMouseUp): |
| |
| 2012-03-09 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10319586> Implement the Quick Console for the new Web Inspector design |
| |
| Pull the console out of ContentBrowser and instead just put it underneath. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser): |
| * UserInterface/Main.css: |
| (#content): |
| * UserInterface/Main.html: |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| * UserInterface/QuickConsole.css: |
| (#quick-console): |
| (#quick-console.collapsed): |
| (#quick-console .navigation-bar > .console-toggle): |
| (#quick-console.collapsed .navigation-bar > .console-toggle): |
| (#quick-console > .quick-console-view-container): |
| (#quick-console > .quick-console-toolbar): |
| (#quick-console > .quick-console-toolbar > .quick-console-text-prompt): |
| (#quick-console > .quick-console-toolbar > .navigation-bar): |
| |
| 2012-03-09 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10319586> Implement the Quick Console for the new Web Inspector design |
| |
| Add a toggle button to the quick console's navigation bar. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Main.html: |
| Misc changes. |
| |
| * UserInterface/ButtonNavigationItem.js: |
| (WebInspector.ButtonNavigationItem): |
| (WebInspector.ButtonNavigationItem.prototype.get glyphElement): |
| Expose glyphElement for QuickConsole buttons to use. |
| Add a way to suppress creating embossed images. |
| |
| * UserInterface/QuickConsoleButtonNavigationItem.css: Added. |
| (.navigation-bar > .item.quick-console-button): |
| (.navigation-bar > .item.quick-console-button:active): |
| * UserInterface/QuickConsoleButtonNavigationItem.js: Added. |
| (WebInspector.QuickConsoleButtonNavigationItem): |
| (WebInspector.QuickConsoleButtonNavigationItem.prototype.generateStyleText): |
| The QuickConsole buttons are just styled with different opacities. We |
| can remove most of the custom NavigationItem styles and set the glyph |
| image directly. |
| |
| * UserInterface/QuickConsole.css: |
| (.quick-console .navigation-bar > .console-toggle): |
| (.quick-console.collapsed .navigation-bar > .console-toggle): |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole): |
| (WebInspector.QuickConsole.prototype.get collapsed): |
| (WebInspector.QuickConsole.prototype.set collapsed): |
| (WebInspector.QuickConsole.prototype._toggleButtonClicked): |
| Give the console a toggle button. |
| |
| 2012-03-09 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10319586> Implement the Quick Console for the new Web Inspector design |
| |
| View hierarchy for the quick console: |
| |
| <div class="quick-console"> |
| <!-- |
| Content view container. When the console adjusts its height this becomes |
| visible. This flex fills the vertical space. |
| --> |
| <div class="view-container"></div> |
| |
| <!-- |
| Toolbar fixed to the bottom. TextPrompt and NavigationBar with buttons. |
| Fixed height, position:relative to appear on top, and the text-prompt |
| flex fills horizontally. |
| --> |
| <div class="toolbar"> |
| <div class="text-prompt" contenteditable="true"></div> |
| <div class="navigation-bar"></div> |
| </div> |
| </div> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Main.html: |
| * UserInterface/QuickConsole.css: |
| (.quick-console): |
| (.quick-console.collapsed): |
| (.quick-console > .view-container): |
| (.quick-console > .toolbar): |
| (.quick-console > .toolbar > .text-prompt): |
| (.quick-console > .toolbar > .navigation-bar): |
| * UserInterface/QuickConsole.js: |
| (WebInspector.QuickConsole): |
| (WebInspector.QuickConsole.get element): |
| |
| * UserInterface/QuickConsoleNavigationBar.js: Added. |
| (WebInspector.QuickConsoleNavigationBar): |
| (WebInspector.QuickConsoleNavigationBar.prototype.addNavigationItem): |
| Add navigation items on the left. Since we will always want the toggle button on the right. |
| |
| 2012-03-09 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10319586> Implement the Quick Console for the new Web Inspector design |
| |
| Add the QuickConsole to the bottom of the ContentBrowser. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser): |
| * UserInterface/Main.html: |
| * UserInterface/QuickConsole.css: Added. |
| (.quick-console): |
| (body.window-inactive .navigation-bar): |
| * UserInterface/QuickConsole.js: Added. |
| (WebInspector.QuickConsole): |
| (WebInspector.QuickConsole.prototype.get element): |
| |
| 2012-03-09 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/11017753> Sometimes Load event-marker doesn't show up (99%) |
| |
| When an event-marker is very close to, but not, the new maximum boundary |
| the maximum boundary wasn't being extended to allow for a nice display of |
| the event-marker. Now, if the event-marker is within 3% of the maximum |
| boundary, then just extend the maximum boundary by 3%. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/NetworkGraphCalculator.js: |
| (WebInspector.NetworkTimeCalculator.prototype.updateBoundariesForEventMarker): |
| |
| 2012-03-08 Timothy Hatcher <timothy@apple.com> |
| |
| Follow up to my previous fix for reloading the page sometimes removes the main resource from breakpoints. |
| |
| Not all breakpoints pass in the resource to _addBreakpoint. If resource was undefined it would cause |
| a new ResourceTreeElement to be created for each breakpoint. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/BreakpointSidebarPanel.js: |
| (WebInspector.BreakpointSidebarPanel.prototype._addBreakpoint): Lookup the resource first, |
| so it can always be compared to the ResourceTreeElement's resource. |
| |
| 2012-03-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Follow-up patch to clean up DOMTreeManager events data. |
| |
| Always pass the node as "node" and parentNode as "parent". There was |
| one case looking for parentNode that was totally wrong. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DOMTreeContentView.js: |
| (WebInspector.DOMTreeContentView.prototype._domNodeChanged): |
| * UserInterface/DOMTreeManager.js: |
| (WebInspector.DOMTreeManager.prototype._characterDataModified): |
| (WebInspector.DOMTreeManager.prototype._childNodeInserted): |
| * UserInterface/DOMTreeUpdater.js: |
| (WebInspector.DOMTreeUpdater.prototype._characterDataModified): |
| (WebInspector.DOMTreeUpdater.prototype._nodeInserted): |
| |
| 2012-03-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/11005082> Editing node attribute should or HTML should update Path Components |
| |
| Update path components when the selected node has an attribute |
| or character data change. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DOMTreeContentView.js: |
| (WebInspector.DOMTreeContentView): |
| (WebInspector.DOMTreeContentView.prototype._domNodeChanged): |
| In the attribute events the changed node is event.data.node. |
| In the character data event the changed node is event.data. |
| |
| 2012-03-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/11014611> Inline Web SQL Database DataGrid resizers are not updated if inspector window resized |
| |
| When the window resizes, the ContentView gets an updateLayout. Use this |
| opportunity to update the layout of any inline DataGrids so that their |
| resizers are positioned correctly. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DatabaseContentView.js: |
| (WebInspector.DatabaseContentView.prototype.constructor.WebInspector.DatabaseContentView.updateLayout): |
| (WebInspector.DatabaseContentView.prototype._appendViewQueryResult): |
| |
| 2012-03-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Remove uses of WebInspector.useLowerCaseMenuTitles. On the Safari frontend |
| this is always yes and the function doesn't even exist. This code is currently |
| unreachable, the change is to fix update-safari-localizable-strings usage. |
| |
| Reviewed by Brian Weinstein. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/LogContentView.js: |
| |
| 2012-03-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10960903> Include Network timeline graph in the network data grid |
| |
| Tweak the event-markers so they are always behind the network datagrid's |
| timeline pills. This is done by making three layers: event-marker (bottom), |
| timeline pills (middle), and tooltip div (top). |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/NetworkDataGrid.css: |
| (.network-timeline-decorations > .event-markers > .event-marker): |
| (.network-datagrid tr > td.timeline-column): |
| (.network-timeline-decorations > .event-markers > .event-marker-tooltip): |
| Style the three layers, z-indexes. |
| |
| * UserInterface/TimelinesContentView.css: |
| Remove old z-index. |
| |
| * UserInterface/NetworkDataGrid.js: |
| (WebInspector.NetworkDataGrid): |
| Rename the constants to use the standard "StyleClassName" suffix and |
| give the DataGrid a class name. |
| |
| * UserInterface/TimelineDecorations.css: |
| (.timeline-decorations > .event-markers > .event-marker-tooltip): |
| (.timeline-decorations > .event-markers > .event-marker): |
| (.timeline-decorations > .event-markers > .event-marker.load-event): |
| (.timeline-decorations > .event-markers > .event-marker.dom-content-event): |
| (.timeline-decorations > .event-markers > .event-marker.timestamp): |
| Drop the "wrapper" element. The event-marker now displays the same as the tooltip div. |
| |
| * UserInterface/TimelineDecorations.js: |
| (WebInspector.TimelineDecorations.prototype.updateEventMarkers): |
| Rename "wrapper" -> "tooltip" and position the tooltip and marker the same. |
| |
| 2012-03-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10960903> Include Network timeline graph in the network data grid |
| |
| Remember if the Network DataGrid column group was collapsed or expanded. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DataGrid.js: |
| (WebInspector.DataGrid.prototype._clickInColumnCollapser): |
| (WebInspector.DataGrid.prototype.collapseColumnGroup): |
| (WebInspector.DataGrid.prototype._collapseColumnGroupWithCell): |
| Add collapseColumnGroup(name) API to DataGrid and share the |
| code with the old path, when the user clicks the button. |
| |
| * UserInterface/NetworkDataGrid.js: |
| (WebInspector.NetworkDataGrid): |
| (WebInspector.NetworkDataGrid.prototype.didToggleColumnGroup): |
| On creation load the setting, and save the setting on toggle. |
| |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView): |
| Give all columns a starting width (based on the auto-calculated widths). |
| |
| 2012-03-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/11014578> DOM Storage DataGrids should be sortable |
| |
| Allow sorting of both of the DOM Storage DataGrid columns. |
| Before sorting nodes, make sure to delete the creation node |
| and re-add it in the end. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DOMStorageContentView.js: |
| (WebInspector.DOMStorageContentView.prototype._updateDataGridForDOMStorageEntries): |
| (WebInspector.DOMStorageContentView.prototype._sortDataGrid): |
| (WebInspector.DOMStorageContentView.prototype._insertNodesIntoDataGridWithSort.comparator): |
| (WebInspector.DOMStorageContentView.prototype._insertNodesIntoDataGridWithSort): |
| Share sort code with table creation and sort changed. |
| |
| * UserInterface/DataGrid.js: |
| (WebInspector.DataGrid.prototype.removeChild): |
| When the creation node is removed, delete the reference to it. |
| |
| 2012-03-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Rename DataGrid methods and events. |
| |
| DataGrid.prototype.updateWidths -> updateLayout |
| "sorting changed" event -> WebInspector.DataGrid.Event.SortChanged |
| "width changed" event -> WebInspector.DataGrid.Event.DidLayout |
| |
| This then also renames the NetworkDataGrid event handlers |
| and moves the sorting dispatch function into its only caller. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ApplicationCacheFrameContentView.js: |
| (WebInspector.ApplicationCacheFrameContentView.prototype.updateLayout): |
| (WebInspector.ApplicationCacheFrameContentView.prototype._createDataGrid): |
| * UserInterface/CSSSelectorProfileView.js: |
| (WebInspector.CSSSelectorProfileView): |
| (WebInspector.CSSSelectorProfileView.prototype.updateLayout): |
| * UserInterface/CookieStorageContentView.js: |
| (WebInspector.CookieStorageContentView.prototype.updateLayout): |
| (WebInspector.CookieStorageContentView.prototype._rebuildTable): |
| * UserInterface/DOMStorageContentView.js: |
| (WebInspector.DOMStorageContentView.prototype.updateLayout): |
| (WebInspector.DOMStorageContentView.prototype._showDOMStorageEntries): |
| * UserInterface/DataGrid.js: |
| (WebInspector.DataGrid.prototype.autoSizeColumns): |
| (WebInspector.DataGrid.prototype.updateLayout): |
| (WebInspector.DataGrid.prototype.applyColumnWidthsMap): |
| (WebInspector.DataGrid.prototype._clickInHeaderCell): |
| (WebInspector.DataGrid.prototype._resizerDragging): |
| (WebInspector.DataGrid.prototype._endResizerDragging): |
| * UserInterface/DatabaseTableContentView.js: |
| (WebInspector.DatabaseTableContentView.prototype.updateLayout): |
| (WebInspector.DatabaseTableContentView.prototype._queryFinished): |
| * UserInterface/JavaScriptProfileView.js: |
| (WebInspector.JavaScriptProfileView.prototype.updateLayout): |
| * UserInterface/NetworkDataGrid.js: |
| (WebInspector.NetworkDataGrid): |
| (WebInspector.NetworkDataGrid.prototype._dataGridSortChanged): |
| (WebInspector.NetworkDataGrid.prototype._dataGridDidLayout): |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView): |
| (WebInspector.TimelinesContentView.prototype.constructor.WebInspector.TimelinesContentView.showTimelineForRecordType): |
| (WebInspector.TimelinesContentView.prototype.updateLayout): |
| |
| 2012-03-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Relayout the selected node when widths change. This is only needed for |
| the selected node because currently it is the only node that can be |
| displaying labels when the data grid's columns widths change. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DataGrid.js: |
| (WebInspector.DataGridNode.prototype.updateLayout): |
| * UserInterface/NetworkDataGrid.js: |
| (WebInspector.NetworkDataGrid): |
| (WebInspector.NetworkDataGrid.prototype._updateLayout): |
| * UserInterface/ResourceTimelineDataGridNode.js: |
| (WebInspector.ResourceTimelineDataGridNode.prototype.updateLayout): |
| |
| 2012-03-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10960903> Include Network timeline graph in the network data grid |
| |
| Draw the event markers over the Network datagrid. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| Tooltip strings for the event-marker lines. |
| |
| * UserInterface/NetworkDataGrid.js: |
| (WebInspector.NetworkDataGrid.prototype.updateCalculatorBoundariesWithEventMarker): |
| (WebInspector.NetworkDataGrid.prototype._updateDecorations): |
| (WebInspector.NetworkDataGrid.prototype._updateEventMarkers): |
| Let the calculator handle updating the bounds and the decorator drawing the markers. |
| |
| * UserInterface/NetworkGraphCalculator.js: |
| (WebInspector.NetworkTimeCalculator.prototype.updateBoundariesForEventMarker): |
| When updating boundaries for event markers its possible that event markers will |
| arrive later then resources (onload or console.timeStamp() for example). If such |
| an event is more than 10% past the current bounds we don't stretch the bounds |
| because it would distort the graph too much. Likewise, if a timestamp will become |
| the new maximum extend an extra 3% to provide some white-space past the marker. |
| |
| * UserInterface/TimelineDecorations.css: |
| (.timeline-decorations > .event-markers): |
| (.timeline-decorations > .event-markers > .event-marker-wrapper): |
| This wrapper provides a larger surface area for the tooltip. 9px total (4px + 1px + 4px). |
| |
| (.timeline-decorations > .event-markers > .event-marker-wrapper > .event-marker): |
| (.timeline-decorations > .event-markers > .event-marker-wrapper > .event-marker.load-event): |
| (.timeline-decorations > .event-markers > .event-marker-wrapper > .event-marker.dom-content-event): |
| (.timeline-decorations > .event-markers > .event-marker-wrapper > .event-marker.timestamp): |
| Different colors for the different types of event-markers. |
| |
| * UserInterface/TimelinesContentView.css: |
| (.content-view.timelines > .data-grid tr.selected td.timeline-column): |
| Make sure the selected timeline datagrid row draws over the event-marker. |
| |
| * UserInterface/TimelineDecorations.js: |
| (WebInspector.TimelineDecorations): |
| (WebInspector.TimelineDecorations.prototype.updateEventMarkers.toolTipForEventMarker): |
| (WebInspector.TimelineDecorations.prototype.updateEventMarkers): |
| Position and style the event markers within the bounds. |
| |
| 2012-03-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10960903> Include Network timeline graph in the network data grid |
| |
| Add TimelineEventMarkers to the Network's TimelineDecorations. They are |
| not displayed yet, and the TimelineOverview won't show markers yet. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView): |
| (WebInspector.TimelinesContentView.prototype._recordedEventMarker): |
| Pass incoming event markers to the current datagrid. Only the network data grid uses them. |
| |
| (WebInspector.TimelinesContentView.prototype._updatePendingRecords): |
| (WebInspector.TimelinesContentView.prototype._updateCalculatorBoundsForPendingRecordsAndEventMarkers): |
| When updating the bounds of the timeline graph also provide pending event markers |
| so that late events (like onload) can stretch the maximum bounds if necessary. |
| |
| * UserInterface/TimelineDataGrid.js: |
| (WebInspector.TimelineDataGrid.prototype.updateCalculatorBoundariesWithEventMarker): |
| (WebInspector.TimelineDataGrid.prototype.addTimelineEventMarker): |
| Default empty implementations for DataGrids to handle event markers. |
| |
| * UserInterface/NetworkDataGrid.js: |
| (WebInspector.NetworkDataGrid.prototype.reset): |
| (WebInspector.NetworkDataGrid.prototype.addTimelineEventMarker): |
| Pass event markers on to the decorations manager. We also need a way to reset now. |
| |
| * UserInterface/TimelineDecorations.js: |
| (WebInspector.TimelineDecorations): |
| (WebInspector.TimelineDecorations.prototype.addTimelineEventMarker): |
| Keep track of event makers we may need to display. |
| |
| * UserInterface/TimelineOverview.js: |
| (WebInspector.TimelineOverview.prototype.clear): |
| Add clear, just in case it is needed later. The overview currently doesn't handle event markers. |
| |
| 2012-03-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10960903> Include Network timeline graph in the network data grid |
| |
| Add a TimelineEventMarker class for marked timestamps. Current |
| event markers that we are interested in are the DOMContent event, |
| Load event, and console.timeStamp() calls. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Main.html: |
| * UserInterface/PageObserver.js: |
| (WebInspector.PageObserver.domContentEventFired): |
| (WebInspector.PageObserver.prototype.loadEventFired): |
| Point out that these are not needed, they are covered by TimelineAgent |
| in the Safari frontend. |
| |
| * UserInterface/TimelineEventMarker.js: Added. |
| (WebInspector.TimelineEventMarker): |
| (WebInspector.TimelineEventMarker.prototype.constructor.WebInspector.TimelineEventMarker.get timestamp): |
| (WebInspector.TimelineEventMarker.prototype.get type): |
| Simple class encapsulating a timestamp and type. |
| |
| * UserInterface/TimelineManager.js: |
| (WebInspector.TimelineManager): |
| (WebInspector.TimelineManager.prototype.get timelineEventMarkers): |
| (WebInspector.TimelineManager.prototype.startRecording): |
| (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): |
| (WebInspector.TimelineManager.prototype.eventRecorded): |
| Keep a record of event markers. |
| |
| 2012-03-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| When hiding the dock button also hide the divider between the dock |
| button and the sidebar's other navigation items. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ButtonNavigationItem.js: |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| (WebInspector._updateDockToggleButtonVisibility): |
| * UserInterface/NavigationItem.js: |
| (WebInspector.NavigationItem.prototype.get hidden): |
| (WebInspector.NavigationItem.prototype.set hidden): |
| |
| 2012-03-08 Timothy Hatcher <timothy@apple.com> |
| |
| Reloading the page sometimes removes the main resource from breakpoints. |
| |
| The _checkForOldResources function is delayed on the timeout. This caused the |
| breakpoints to be appended to a ResourceTreeElement that will soon be removed. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/BreakpointSidebarPanel.js: |
| (WebInspector.BreakpointSidebarPanel.prototype._addBreakpoint): Create a new ResourceTreeElement |
| if the resource is different from the previous ResourceTreeElement. |
| * UserInterface/IssueSidebarPanel.js: |
| (WebInspector.IssueSidebarPanel.prototype._issueWasAdded): Ditto. |
| * UserInterface/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel.prototype._treeElementForResource): Ditto. |
| |
| 2012-03-08 Timothy Hatcher <timothy@apple.com> |
| |
| Communicate breakpoints to the backend and update the resolved state of the breakpoints. |
| |
| Part of: <rdar://problem/10318770&10318777> |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Breakpoint.js: |
| (WebInspector.Breakpoint): Initialize _id to null. |
| (WebInspector.Breakpoint.prototype.get id): Added. |
| (WebInspector.Breakpoint.prototype.set id): Added. |
| (WebInspector.Breakpoint.prototype.set lineNumber): Report oldLineNumber in the event. |
| (WebInspector.Breakpoint.prototype.get info): Updated comment. |
| * UserInterface/BreakpointSidebarPanel.js: |
| (WebInspector.BreakpointSidebarPanel.prototype._addBreakpoint): Mark disabled breakpoints as resolved |
| when they are added to the user interface. |
| * UserInterface/DebuggerManager.js: |
| (WebInspector.DebuggerManager): |
| (WebInspector.DebuggerManager.prototype.addBreakpoint): Call _setBreakpoint. |
| (WebInspector.DebuggerManager.prototype.removeBreakpoint): Call _removeBreakpoint. |
| (WebInspector.DebuggerManager.prototype.breakpointResolved): Added. |
| (WebInspector.DebuggerManager.prototype.reset): Added. |
| (WebInspector.DebuggerManager.prototype._setBreakpoint): Added. Talk to the DebuggerAgent. |
| (WebInspector.DebuggerManager.prototype._setBreakpoint.didSetBreakpoint): |
| (WebInspector.DebuggerManager.prototype._removeBreakpoint): Added. Talk to the DebuggerAgent. |
| (WebInspector.DebuggerManager.prototype._removeBreakpoint.didRemoveBreakpoint): |
| (WebInspector.DebuggerManager.prototype._breakpointLineNumberDidChange): Added. Call _removeBreakpoint. |
| (WebInspector.DebuggerManager.prototype._breakpointLineNumberDidChange.breakpointRemoved): Call _setBreakpoint. |
| (WebInspector.DebuggerManager.prototype._breakpointDisabledStateDidChange): Call _removeBreakpoint or _setBreakpoint. |
| * UserInterface/DebuggerObserver.js: |
| (WebInspector.DebuggerObserver.prototype.globalObjectCleared): Call DebuggerManager.reset. |
| (WebInspector.DebuggerObserver.prototype.breakpointResolved): Call DebuggerManager.breakpointResolved. |
| |
| 2012-03-08 Timothy Hatcher <timothy@apple.com> |
| |
| Use "resolved" to describe breakpoints instead of "inactive". |
| |
| The term inactive was confusing since we also have disabled. Using resolved better |
| describes the property. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Breakpoint.js: |
| (WebInspector.Breakpoint): |
| (WebInspector.Breakpoint.prototype.set lineNumber): |
| (WebInspector.Breakpoint.prototype.get resolved): Renamed from inactive. |
| (WebInspector.Breakpoint.prototype.set resolved): Renamed from inactive. |
| (WebInspector.Breakpoint.prototype.get info): |
| * UserInterface/BreakpointTreeElement.css: |
| (.item.breakpoint .status > .status-image): |
| (.item.breakpoint .status > .status-image.resolved): |
| * UserInterface/BreakpointTreeElement.js: |
| (WebInspector.BreakpointTreeElement): |
| (WebInspector.BreakpointTreeElement.prototype._updateStatus): |
| * UserInterface/TextEditor.css: |
| (.text-editor > .gutter > .line-number > .breakpoint): |
| (.text-editor > .gutter > .line-number.breakpoint-resolved > .breakpoint): |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype._addBreakpointElementToLineElementWithInfo): |
| (WebInspector.TextEditor.prototype._removePossibleBreakpointElementFromLineElement): |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView): |
| (WebInspector.TextResourceContentView.prototype.closed): |
| (WebInspector.TextResourceContentView.prototype._updateBreakpointStatus): |
| (WebInspector.TextResourceContentView.prototype.textEditorBreakpointInfo): |
| (WebInspector.TextResourceContentView.prototype.textEditorBreakpointAdded): |
| (WebInspector.TextResourceContentView.prototype.textEditorLineContentUpdated): |
| (WebInspector.TextResourceContentView.prototype._textEditorBreakpointInfoForBreakpoint): |
| |
| 2012-03-08 Timothy Hatcher <timothy@apple.com> |
| |
| Fix an assertion and exception that is seen sometimes when opening the Web Inspector. |
| |
| The _rebuildSections function is wired up to events. Those events can fire when we don't have |
| a selected DOM node. So we need to return early in that case and not assert. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections): Return early if domNode is null. |
| |
| 2012-03-08 Timothy Hatcher <timothy@apple.com> |
| |
| Fix a merge issue that caused breakpoint lines to not have an icon. |
| |
| Part of: <rdar://problem/10318777> |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/BreakpointTreeElement.js: Remove the duplicate GenericLineIconStyleClassName that |
| had a typo in the value. |
| |
| 2012-03-08 Brian Weinstein <bweinstein@apple.com> |
| |
| <rdar://problem/11007383> Need a way to clear the current console log. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView): Call this._registerShortcuts. |
| (WebInspector.LogContentView.prototype.consoleCleared): Renamed from _consoleCleared. |
| (WebInspector.LogContentView.prototype._registerShortcuts): Remove the shortcut to dump memory, and remove |
| the code to set up shortcuts screen. |
| (WebInspector.LogContentView.prototype._requestClearMessages): Call to the LogManager. |
| (WebInspector.LogContentView.prototype._promptKeyDown): Actually look up the shortcut in the shortcuts |
| list. |
| * UserInterface/LogManager.js: |
| (WebInspector.LogManager.prototype.requestClearMessages): Call clearMessages on the ConsoleAgent, and fire |
| an event saying the active log was cleared. |
| * UserInterface/LogSidebarPanel.js: |
| (WebInspector.LogSidebarPanel): Listen for the active log being cleared. |
| (WebInspector.LogSidebarPanel.prototype._activeLogCleared): Call consoleCleared on the active log content view. |
| |
| 2012-03-08 Brian Weinstein <bweinstein@apple.com> |
| |
| <rdar://problem/11012162> Log repeat counts are not updated when the console is open. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/ConsoleObserver.js: |
| (WebInspector.ConsoleObserver.prototype.messageRepeatCountUpdated): Call through to the LogManager. |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView.prototype._appendCommand): Call LogManager.repeatCountWasInterrupted. |
| * UserInterface/LogManager.js: |
| (WebInspector.LogManager.prototype.constructor.WebInspector.LogManager.initialize): Initialize whether or |
| not the repeat count was interrupted (by the user entering a command in the log content view). |
| (WebInspector.LogManager.prototype.messageWasAdded): Create a ConsoleMessage and call _addMessage. |
| (WebInspector.LogManager.prototype.messageRepeatCountUpdated): If the repeat count wasn't interrupted, |
| update the count. If it was, then clone our message element, and create a new one, and set its repeat |
| and ignored count. |
| (WebInspector.LogManager.prototype.repeatCountWasInterrupted): Set the flag indicating our repeat count |
| was interrupted. |
| (WebInspector.LogManager.prototype._addMessage): Add the message to our list of messages, set it as our |
| previous message, and fire our event. |
| |
| 2012-03-08 Timothy Hatcher <timothy@apple.com> |
| |
| Update the disabled and inactive state of breakpoints in the TextEditor gutter as they change. |
| |
| Part of: <rdar://problem/10318777> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.setBreakpointInfoForLine): Added. |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView): Added event listeners for DisabledStateDidChange and InactiveStateDidChange. |
| (WebInspector.TextResourceContentView.prototype.closed): Removed the added event listeners. |
| (WebInspector.TextResourceContentView.prototype._updateBreakpointStatus): Added. Calls setBreakpointInfoForLine. |
| |
| 2012-03-08 Timothy Hatcher <timothy@apple.com> |
| |
| Show the status of each breakpoint in the Breakpoint sidebar. Also update the title when the line number changes. |
| |
| Clicking the breakpoint image will toggle the disabled state. |
| |
| Part of: <rdar://problem/10318777> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Breakpoint.js: |
| * UserInterface/BreakpointTreeElement.css: Added. |
| (.item.breakpoint .status > .status-image): |
| (.item.breakpoint .status > .status-image.inactive): |
| (.item.breakpoint .status > .status-image.disabled): |
| * UserInterface/BreakpointTreeElement.js: |
| (WebInspector.BreakpointTreeElement): |
| (WebInspector.BreakpointTreeElement.prototype._updateMainTitle): Added. |
| (WebInspector.BreakpointTreeElement.prototype._updateStatus): Added. |
| (WebInspector.BreakpointTreeElement.prototype._statusImageElementMouseDown): Added |
| (WebInspector.BreakpointTreeElement.prototype._statusImageElementClicked): Added |
| * UserInterface/Images/BreakpointButton.pdf: Added. |
| * UserInterface/Images/BreakpointInactiveButton.pdf: Added. |
| * UserInterface/Main.html: Included BreakpointTreeElement.css. |
| |
| 2012-03-07 Timothy Hatcher <timothy@apple.com> |
| |
| Fix the AttributedString prototype chain. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/AttributedString.js: Set the AttributedString prototype instead of the SourceTokenizer prototype. |
| |
| 2012-03-07 Timothy Hatcher <timothy@apple.com> |
| |
| Make selecting a breakpoint in the sidebar show the resource and reveal the line. |
| |
| Part of: <rdar://problem/10318777> |
| |
| Reviewed by Brian Weinstein and Joseph Pecoraro. |
| |
| * UserInterface/BreakpointSidebarPanel.js: |
| (WebInspector.BreakpointSidebarPanel): Set onselect to _treeElementSelected. |
| (WebInspector.BreakpointSidebarPanel.prototype._treeElementSelected): Added. |
| |
| 2012-03-07 Timothy Hatcher <timothy@apple.com> |
| |
| Populate the Breakpoint sidebar with breakpoints. |
| |
| Part of: <rdar://problem/10318777> |
| |
| Reviewed by Brian Weinstein. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/BreakpointIcons.css: Added. |
| (.breakpoint-generic-line-icon .icon): |
| * UserInterface/BreakpointSidebarPanel.js: |
| (WebInspector.BreakpointSidebarPanel): |
| (WebInspector.BreakpointSidebarPanel.prototype._addBreakpoint): Added. Helper. |
| (WebInspector.BreakpointSidebarPanel.prototype._addBreakpointsForResource): Added. Helper. |
| (WebInspector.BreakpointSidebarPanel.prototype._resourceAdded): Added. Call _addBreakpointsForResource. |
| (WebInspector.BreakpointSidebarPanel.prototype._mainResourceChanged): Added. Call _addBreakpointsForResource. |
| (WebInspector.BreakpointSidebarPanel.prototype._breakpointAdded): Added. Call _addBreakpoint. |
| (WebInspector.BreakpointSidebarPanel.prototype._breakpointRemoved): Added. Remove the breakpoint, and resource |
| if that was the last breakpoint. |
| (WebInspector.BreakpointSidebarPanel.prototype._checkForOldResources): |
| (WebInspector.BreakpointSidebarPanel.prototype._checkForOldResources.delayedWork): Check for detached resources |
| and remove them from the tree. |
| * UserInterface/BreakpointTreeElement.js: Added. |
| (WebInspector.BreakpointTreeElement): |
| (WebInspector.BreakpointTreeElement.prototype.get breakpoint): |
| * UserInterface/Main.html: Included BreakpointTreeElement.js and BreakpointIcons.css. |
| |
| 2012-03-07 Timothy Hatcher <timothy@apple.com> |
| |
| Rename ResourceSearchMatch.pdf to ResultLine.pdf to be more generic so it can be used by the Breakpoint sidebar. |
| |
| Part of: <rdar://problem/10318777> |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Images/ResultLine.pdf: Renamed from WebInspector/UserInterface/Images/ResourceSearchMatch.pdf. |
| * UserInterface/SearchIcons.css: |
| (.resource-match-icon .icon): Use ResultLine.pdf. |
| |
| 2012-03-07 Timothy Hatcher <timothy@apple.com> |
| |
| Persist breakpoints between sessions. |
| |
| Part of: <rdar://problem/10318770&10318777> |
| |
| Reviewed by Brian Weinstein and Joseph Pecoraro. |
| |
| * UserInterface/Breakpoint.js: |
| (WebInspector.Breakpoint): Support taking an info object or url. Make inactive default to true. |
| The backend will later mark them as active once they are resolved. |
| (WebInspector.Breakpoint.prototype.get info): Added. Returns an object to store. |
| * UserInterface/DebuggerManager.js: |
| (WebInspector.DebuggerManager): Iterate over the info objects in the setting and make breakpoints. |
| (WebInspector.DebuggerManager.prototype.addBreakpoint): Return early if null. |
| (WebInspector.DebuggerManager.prototype.removeBreakpoint): Ditto. |
| (WebInspector.DebuggerManager.prototype._inspectorClosing): Added. Call _saveBreakpoints. |
| (WebInspector.DebuggerManager.prototype._saveBreakpoints): Added. Make an array of info objects |
| and save them in the setting. |
| |
| 2012-03-07 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10960903> Include Network timeline graph in the network data grid |
| |
| Bring the padding down to 1px for both sides of the timeline graph. |
| This makes the percent widths a little more accurate and matches |
| the padding on the timeline overview. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TimelinesContentView.css: |
| (.content-view.timelines > .data-grid td.timeline-column): |
| |
| 2012-03-07 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10960903> Include Network timeline graph in the network data grid |
| |
| Dynamically determine the width of the localized string |
| with similar table heading styles. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/NetworkDataGrid.js: |
| (WebInspector.NetworkDataGrid.prototype._localizedTimelineHeaderWidth): |
| |
| 2012-03-07 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10960903> Include Network timeline graph in the network data grid |
| |
| Improve the header display to only show dividers within the visible range. |
| Now, when we show dividers in that range, the first divider always has a left |
| border, and the last divider only does when that column is not the active sort. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/NetworkDataGrid.css: |
| (.network-timeline-decorations > .header > .divider:last-child): |
| (.network-timeline-decorations:not(.sort-active) > .header > .divider:last-child): |
| * UserInterface/NetworkDataGrid.js: |
| (WebInspector.NetworkDataGrid.prototype._updateHeaderTimes): |
| * UserInterface/TimelineDecorations.js: |
| (WebInspector.TimelineDecorations.prototype.updateHeaderTimes): |
| |
| 2012-03-07 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10960903> Include Network timeline graph in the network data grid |
| |
| Changing the sort column might not be enough of a size difference to |
| cause the headers to refresh. Force a refresh in this case. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/NetworkDataGrid.js: |
| (WebInspector.NetworkDataGrid.prototype._sortChanged): |
| (WebInspector.NetworkDataGrid.prototype._updateDecorations): |
| (WebInspector.NetworkDataGrid.prototype._updateHeaderTimes): |
| * UserInterface/TimelineDecorations.js: |
| (WebInspector.TimelineDecorations.prototype.updateHeaderTimes): |
| |
| 2012-03-07 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10960903> Include Network timeline graph in the network data grid |
| |
| The NetworkDataGrid's timeline graph should only show header |
| values when its "details" columns are collapsed. Give |
| TimelineDecorations a way to hide header times. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/NetworkDataGrid.js: |
| (WebInspector.NetworkDataGrid): |
| (WebInspector.NetworkDataGrid.prototype.didToggleColumnGroup): |
| Hide / show the header dividers when columns are collapsed / expanded. |
| |
| * UserInterface/TimelineDecorations.js: |
| (WebInspector.TimelineDecorations.prototype.updateHeaderTimes): |
| (WebInspector.TimelineDecorations.prototype.isShowingHeaderDividers): |
| (WebInspector.TimelineDecorations.prototype.showHeaderDividers): |
| (WebInspector.TimelineDecorations.prototype.hideHeaderDividers): |
| Hide / show the header dividers by applying the "hidden" class to the headerElement. |
| |
| 2012-03-07 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10960903> Include Network timeline graph in the network data grid |
| |
| Give the NetworkDataGrid timeline TimelineDecorations. We want to |
| make sure that the header labels don't overlap the column header |
| "Timeline" on the left or sort / collapse columns button on the right. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DataGrid.js: |
| (WebInspector.DataGrid.prototype._clickInHeaderCell): |
| (WebInspector.DataGrid.prototype._sortChanged): |
| (WebInspector.DataGrid.prototype.isColumnSortColumn): |
| Expose a way for a subclass to act on sort changes and check |
| if a column is the active sort column. |
| |
| * UserInterface/Main.html: |
| * UserInterface/NetworkDataGrid.css: Added. |
| (.network-timeline-decorations): |
| (.network-timeline-decorations > .header): |
| Give the network timeline decorations some specific styles because |
| JavaScript will have to position the decorations. |
| |
| * UserInterface/NetworkDataGrid.js: |
| (WebInspector.NetworkDataGrid): |
| (WebInspector.NetworkDataGrid.prototype.reset): |
| (WebInspector.NetworkDataGrid.prototype.update): |
| (WebInspector.NetworkDataGrid.prototype.updateWidths): |
| (WebInspector.NetworkDataGrid.prototype._sortChanged): |
| Update the timeline decorations whenever widths change or content changes. |
| |
| (WebInspector.NetworkDataGrid.prototype._localizedTimelineHeaderWidth): |
| (WebInspector.NetworkDataGrid.prototype._updateDecorations): |
| (WebInspector.NetworkDataGrid.prototype._updateDecorationsPosition): |
| (WebInspector.NetworkDataGrid.prototype._updateHeaderTimes): |
| Position the header decorations over the timeline columns, and update the |
| header times using our current calculator's bounds. |
| |
| * UserInterface/TimelineDecorations.css: |
| (.timeline-decorations): |
| Allow clicking through all decorations, they are simply overlays. |
| |
| * UserInterface/TimelineDecorations.js: |
| (WebInspector.TimelineDecorations.prototype.updateHeaderTimes): |
| Adjust for a left / right padding in which we won't let labels overflow into. |
| This can be improved further by packing the labels just into the visible area. |
| |
| 2012-03-07 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10960903> Include Network timeline graph in the network data grid |
| |
| Make the timeline data grids share a common base class so we don't need |
| to check for functions before calling them. Only the NetworkDataGrid |
| has a graph right now and needs extra calls, other others are empty. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView): |
| (WebInspector.TimelinesContentView.prototype._recordingStarted): |
| (WebInspector.TimelinesContentView.prototype._updatePendingRecords): |
| (WebInspector.TimelinesContentView.prototype._updateCalculatorBoundsForPendingRecords): |
| No need to check if the DataGrid implements a function now. |
| Also call update on the datagrid after we update records. |
| |
| * UserInterface/TimelineDataGrid.js: Added. |
| (WebInspector.TimelineDataGrid): |
| (WebInspector.TimelineDataGrid.prototype.constructor.WebInspector.TimelinesDataGrid.get currentCalculator): |
| (WebInspector.TimelineDataGrid.prototype.updateCalculatorBoundariesWithRecord): |
| (WebInspector.TimelineDataGrid.prototype.updateCalculatorBoundariesWithDataGridNode): |
| (WebInspector.TimelineDataGrid.prototype.reset): |
| (WebInspector.TimelineDataGrid.prototype.update): |
| Shared base class interface. |
| |
| * UserInterface/NetworkDataGrid.js: |
| (WebInspector.NetworkDataGrid): |
| Extend from TimelineDataGrid instead of DataGrid directly. |
| |
| 2012-03-07 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10960903> Include Network timeline graph in the network data grid |
| |
| Refactor the display of timeline headers into a separate file. |
| This currently handles drawing the header dividers, but will |
| also manage event markers (DOMContent and onload events). |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Main.html: |
| * UserInterface/TimelineOverview.css: |
| * UserInterface/TimelineDecorations.css: Added. |
| (.timeline-decorations): |
| (.timeline-decorations > .header): |
| (.timeline-decorations > .header > .divider): |
| (.timeline-decorations > .header > .divider:last-child): |
| (.timeline-decorations > .header > .divider > .label): |
| (.timeline-decorations > .header > .divider:first-child > .label): |
| Move timeline-overview header styles to timeline-decorations header styles. |
| |
| * UserInterface/TimelineDecorations.js: Added. |
| (WebInspector.TimelineDecorations): |
| (WebInspector.TimelineDecorations.prototype.constructor.WebInspector.TimelineDecorations.get element): |
| (WebInspector.TimelineDecorations.prototype.get headerElement): |
| (WebInspector.TimelineDecorations.prototype.updateHeaderTimes): |
| Manage the header and dividers. |
| |
| * UserInterface/TimelineOverview.js: |
| (WebInspector.TimelineOverview): |
| (WebInspector.TimelineOverview.prototype.clear): |
| (WebInspector.TimelineOverview.prototype.update): |
| (WebInspector.TimelineOverview.prototype.updateLayout): |
| User the decorations class to draw headers over the timeline. |
| |
| 2012-03-07 Timothy Hatcher <timothy@apple.com> |
| |
| Install the Web Inspector user interface files in Production builds again. |
| |
| <rdar://problem/10957655> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Scripts/copy-user-interface-resources.sh: Removed early exit and FIXME comment. |
| |
| 2012-03-07 Timothy Hatcher <timothy@apple.com> |
| |
| Implement the TextEditor breakpoint delegates in WebInspector.TextResourceContentView. |
| |
| Part of: <rdar://problem/10318770&10318777> |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView.prototype.contentAvailable): Populate the breakpoint |
| map by asking the DebuggerManager for all the breakpoints for this URL. |
| (WebInspector.TextResourceContentView.prototype.textEditorBreakpointInfo): Added. |
| (WebInspector.TextResourceContentView.prototype.textEditorBreakpointAdded): Added. |
| (WebInspector.TextResourceContentView.prototype.textEditorBreakpointRemoved): Added. |
| (WebInspector.TextResourceContentView.prototype.textEditorBreakpointMoved): Added. |
| (WebInspector.TextResourceContentView.prototype.textEditorBreakpointToggled): Added. |
| |
| 2012-03-07 Timothy Hatcher <timothy@apple.com> |
| |
| Add the start of WebInspector.DebuggerManager. |
| |
| Part of: <rdar://problem/10318770&10318777> |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DebuggerManager.js: Added. |
| (WebInspector.DebuggerManager): |
| (WebInspector.DebuggerManager.prototype.get breakpoints): |
| (WebInspector.DebuggerManager.prototype.breakpointsForURL): |
| (WebInspector.DebuggerManager.prototype.addBreakpoint): |
| (WebInspector.DebuggerManager.prototype.removeBreakpoint): |
| * UserInterface/Main.html: Incldued DebuggerManager.js. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Create an instance of WebInspector.DebuggerManager. |
| |
| 2012-03-07 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.Breakpoint. |
| |
| Part of: <rdar://problem/10318770&10318777> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Breakpoint.js: Added. |
| (WebInspector.Breakpoint): |
| (WebInspector.Breakpoint.prototype.get url): |
| (WebInspector.Breakpoint.prototype.get lineNumber): |
| (WebInspector.Breakpoint.prototype.set lineNumber): |
| (WebInspector.Breakpoint.prototype.get inactive): |
| (WebInspector.Breakpoint.prototype.set inactive): |
| (WebInspector.Breakpoint.prototype.get disabled): |
| (WebInspector.Breakpoint.prototype.set disabled): |
| * UserInterface/Main.html: Included Breakpoint.js. |
| |
| 2012-03-06 Timothy Hatcher <timothy@apple.com> |
| |
| Support dragging breakpoints to move them to a new line or to delete them. |
| |
| Part of: <rdar://problem/10318770&10318777> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor): |
| (WebInspector.TextEditor.prototype._gutterElementMouseDown): Add a new breakpoint |
| if the target does not already have one. Otherwise start tracking the existing |
| breakpoint for dragging. |
| (WebInspector.TextEditor.prototype._documentMouseMoved): Added. |
| (WebInspector.TextEditor.prototype._documentMouseUp): Added. |
| (WebInspector.TextEditor.prototype._gutterElementMouseUp): Only toggle on mouse up. |
| |
| 2012-03-06 Timothy Hatcher <timothy@apple.com> |
| |
| Make clicking on the line gutter create and toggle breakpoints. |
| |
| Part of: <rdar://problem/10318770&10318777> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor): Added mouseup event listener. |
| (WebInspector.TextEditor.prototype._gutterElementMouseUp): Added. Notifies the delegate to add |
| or toggle a breakpoint when a line number if clicked. |
| |
| 2012-03-06 Timothy Hatcher <timothy@apple.com> |
| |
| Add initial support for displaying breakpoints. |
| |
| Part of: <rdar://problem/10318770&10318777> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Images/Breakpoint.png: Added. |
| * UserInterface/Images/Breakpoint@2x.png: Added. |
| * UserInterface/Images/BreakpointInactive.png: Added. |
| * UserInterface/Images/BreakpointInactive@2x.png: Added. |
| * UserInterface/TextEditor.css: |
| (.text-editor > .gutter): |
| (.text-editor > .gutter > .line-number.has-breakpoint): |
| (.text-editor > .gutter > .line-number.has-breakpoint > .text): |
| (.text-editor > .gutter > .line-number.has-breakpoint.breakpoint-disabled > .text): |
| (.text-editor > .gutter > .line-number > .breakpoint): |
| (.text-editor > .gutter > .line-number.breakpoint-inactive > .breakpoint): |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype._updateLineNumbers): Call _addBreakpointElementToLineElementWithInfo |
| and _removePossibleBreakpointElementFromLineElement depending on the delegate result. |
| (WebInspector.TextEditor.prototype._addBreakpointElementToLineElementWithInfo): Added. |
| (WebInspector.TextEditor.prototype._removePossibleBreakpointElementFromLineElement): Added. |
| |
| 2012-03-06 Mark Rowe <mrowe@apple.com> |
| |
| <rdar://problem/10873285> Make WebInspector.framework work with staged frameworks |
| |
| Install WebInspector.framework in /System/Library/StagedFrameworks/Safari when USE_STAGING_INSTALL_PATH is set to YES. |
| |
| Reviewed by Dan Bernstein. |
| |
| * Configurations/WebInspectorFramework.xcconfig: |
| |
| 2012-03-06 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Share duplicated code to get a display name for a node. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DOMTreeElementPathComponent.js: |
| (WebInspector.DOMTreeElementPathComponent): |
| * UserInterface/DOMUtilities.js: |
| (WebInspector.displayNameForNode): |
| * UserInterface/Main.html: |
| |
| 2012-03-06 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10989550> Inspector should hide docking button when undocked and not allowed to dock (78575) |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ButtonNavigationItem.js: |
| (WebInspector.ButtonNavigationItem.prototype.get hidden): |
| (WebInspector.ButtonNavigationItem.prototype.set hidden): |
| Allow a button navigation item to be hidden. |
| |
| * UserInterface/InspectorFrontendAPI.js: |
| (InspectorFrontendAPI.setDockingAvailable): |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| (WebInspector.updateDockedState): |
| (WebInspector.setDockingAvailable): |
| (WebInspector._updateDockToggleButtonVisibility): |
| Update the dock toggle button's visibility when it is created, |
| when the attached state changes, or when availability changes. |
| |
| 2012-03-05 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.BreakpointSidebarPanel and WebInspector.DebugSidebarPanel. |
| |
| Start of: <rdar://problem/10318770&10318777> |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/BreakpointSidebarPanel.js: Added. |
| (WebInspector.BreakpointSidebarPanel): |
| * UserInterface/DebugSidebarPanel.js: Added. |
| (WebInspector.DebugSidebarPanel): |
| * UserInterface/Main.html: Included BreakpointSidebarPanel.js and DebugSidebarPanel.js. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Use BreakpointSidebarPanel and DebugSidebarPanel classes. |
| |
| 2012-03-05 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Follow-up and remove unnecessary outline:none from specific |
| data-grids now that this style is the default. |
| |
| * UserInterface/ApplicationCacheFrameContentView.css: |
| (.content-view.application-cache-frame > .data-grid): |
| * UserInterface/CookieStorageContentView.css: |
| (.content-view.cookie-storage > .data-grid): |
| * UserInterface/DatabaseTableContentView.css: |
| (.content-view.database-table > .data-grid): |
| * UserInterface/DetailsSection.css: |
| |
| 2012-03-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| WebSQL Database inline data grids should not have an outline |
| when clicked on. The data grid can keep its tabindex, but |
| just remove the outline when its focused. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DataGrid.css: |
| (.data-grid): |
| |
| 2012-03-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Format the Cookie size column using standard size representations. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/CookieStorageContentView.js: |
| (WebInspector.CookieStorageContentView.prototype._rebuildTable): |
| |
| 2012-03-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10982421> Event Listeners section flashes when switching between nodes |
| |
| We no longer need to resolve the node, since the Safari frontend |
| doesn't show an ObjectProperties tree. We already have all the |
| information we need in the eventListener callback. Removing this |
| async call removes the flashing. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DOMNodeDetailsSidebarPanel.js: |
| * UserInterface/EventListenerSectionGroup.js: |
| (WebInspector.EventListenerSectionGroup): |
| |
| 2012-03-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| We should save state the expanded/collapsed state of different event types. |
| Just default to having them collapsed and save the state when they are expanded. |
| |
| Rubber-stamped by Timothy Hatcher. |
| |
| * UserInterface/DetailsSection.js: |
| (WebInspector.DetailsSection): |
| * UserInterface/EventListenerSection.js: |
| (WebInspector.EventListenerSection): |
| |
| 2012-03-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Don't linkify EventListeners without a URL. |
| |
| This can happen for EventListeners added through the Inspector's console. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/EventListenerSectionGroup.js: |
| (WebInspector.EventListenerSectionGroup.prototype._functionTextOrLink): |
| |
| 2012-03-04 Timothy Hatcher <timothy@apple.com> |
| |
| Hook up the Start Timeline Recording Develop menu items. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/InspectorFrontendAPI.js: |
| (InspectorFrontendAPI.isTimelineProfilingEnabled): Return WebInspector.timelineManager.recording. |
| (InspectorFrontendAPI.setTimelineProfilingEnabled): Show the Instrument panel and timeline, then start recording. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Only load the last content view if InspectorFrontendAPI didn't show one. |
| * UserInterface/TimelineManager.js: |
| (WebInspector.TimelineManager.prototype._mainResourceDidChange): Ignore resource events when there isn't a main frame yet. |
| (WebInspector.TimelineManager.prototype._resourceWasAdded): Ditto. |
| |
| 2012-03-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10981986> Back button should be enabled when link causes a switch between "DOM Tree" and "Source Code" |
| |
| Update the back/forward buttons when the path components change. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange): |
| |
| 2012-03-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Rename WebInspector.domAgent -> WebInspector.domTreeManager. |
| This code is currently unreachable. |
| |
| Reviewed by Brian Weinstein and Timothy Hatcher. |
| |
| * UserInterface/ObjectPropertiesSection.js: |
| (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired): |
| |
| 2012-03-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10319546> Implement the Event Listener inspector for the new Web Inspector design |
| |
| Make node name's in the EventListener section links that jump to |
| that node. Also, when hovering the node it highlights on the page. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DOMUtilites.js: Added. |
| (WebInspector.displayNameForNode): |
| (WebInspector.linkifyNodeReference): |
| Copied from OpenSource's DOMPresentationUtils.js, updated for the new |
| frontend, and remove unused code. |
| |
| * UserInterface/EventListenerSectionGroup.js: |
| (WebInspector.EventListenerSectionGroup.prototype._nodeTextOrLink): |
| Use the DOMUtilities method to linkify the node. |
| |
| * UserInterface/Main.html: |
| * UserInterface/Main.css: |
| (.node-link): |
| |
| 2012-03-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10319546> Implement the Event Listener inspector for the new Web Inspector design |
| |
| Add event listener information to the DOM Node Details Sidebar panel. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DOMNodeDetailsSidebarPanel.js: |
| (WebInspector.DOMNodeDetailsSidebarPanel): |
| (WebInspector.DOMNodeDetailsSidebarPanel.prototype.constructor.WebInspector.DOMNodeDetailsSidebarPanel.refresh): |
| (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshEventListeners.eventListenersCallback): |
| (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshEventListeners): |
| Add a new "Event Listeners" Section and refresh it when the selected node changes. |
| Each row in this section is an EventListenerSection. |
| |
| * UserInterface/DetailsSection.css: |
| (.details-section .details-section > .header): |
| Style a nested details section to be gray. |
| |
| * UserInterface/DetailsSection.js: |
| (WebInspector.DetailsSection): |
| Take an extra parameter in the Constructor to avoid saving collapsed states. |
| EventListener event type sections will always start out collapsed. |
| |
| * UserInterface/EventListenerSection.js: Added. |
| (WebInspector.EventListenerSection): |
| (WebInspector.EventListenerSection.prototype.constructor.WebInspector.EventListenerSection.addListener): |
| EventListenerSection is a specific event type, and contains a group for each listener. |
| |
| * UserInterface/EventListenerSectionGroup.js: Added. |
| (WebInspector.EventListenerSectionGroup): |
| (WebInspector.EventListenerSectionGroup.prototype.constructor.WebInspector.EventListenerSectionGroup.update.updateWithNodeObject): |
| (WebInspector.EventListenerSectionGroup.prototype.constructor.WebInspector.EventListenerSectionGroup.update): |
| (WebInspector.EventListenerSectionGroup.prototype._nodeTextOrLink): |
| (WebInspector.EventListenerSectionGroup.prototype._type): |
| (WebInspector.EventListenerSectionGroup.prototype._functionTextOrLink): |
| Each listener displays a few rows of information about it. Go-to arrow |
| links are provided to jump to the function. |
| |
| * UserInterface/EventListenerSectionGroup.css: Added. |
| (.event-listener-section > .content > .group > .row.simple > .value .go-to-arrow): |
| (.event-listener-section > .content > .group > .row.simple > .value): |
| Style the simple row in the section to play nicely with resizing and the go-to arrow. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/Main.html: |
| Add new strings and files. |
| |
| 2012-03-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10319546> Implement the Event Listener inspector for the new Web Inspector design |
| |
| Rename the DOM Node sidebar's Properties object group and make sure |
| to release it when its no longer needed. There will be a separate |
| object group for Event Listeners. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DOMNodeDetailsSidebarPanel.js: |
| (WebInspector.DOMNodeDetailsSidebarPanel): |
| |
| 2012-03-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Add missing Copyright entires to the pre-built License. |
| |
| Reviewed by Damian Kaleta. |
| |
| * Scripts/copy-user-interface-resources.sh: |
| |
| 2012-03-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Fix outline around previously edited DOM element attribute. |
| |
| When editing, the tabIndex attribute of the element is set |
| to 0 and restored to the old value after editing. In most cases |
| the previous value was unset, which returns -1. When cleaning |
| up elem.tabIndex = -1 was actually keeping around the tabIndex |
| attribute and giving the element an outline when clicked once |
| and receiving :focus. |
| |
| Instead of restoring the tabIndex to -1, just remove the |
| tabIndex attribute and avoid its associated focus behavior. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/EditingSupport.js: |
| (WebInspector.startEditing.cleanUpAfterEditing): |
| |
| 2012-03-04 Brian Weinstein <bweinstein@apple.com> |
| |
| Part of <rdar://problem/10981607> CSS and JavaScript profiles need a way to toggle between absolute times and percentages. |
| |
| The CSS selector profile code had the ability to switch from percentages to time when the |
| user double clicks an element in the "Total" column. |
| |
| However, we were accessing a WebInspector setting the wrong way. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/CSSSelectorProfileView.js: |
| (WebInspector.CSSSelectorProfileView.prototype._mouseDownInDataGrid): Access the WebInspector setting the right way. |
| |
| 2012-03-04 Brian Weinstein <bweinstein@apple.com> |
| |
| Have ConsoleMessageImpl and ProfileDataGridTree use WebInspector.linkifyURLAsNode instead of |
| using their own custom code to do the same thing. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/ConsoleMessageImpl.js: |
| (WebInspector.ConsoleMessageImpl.prototype._linkifyLocation): Call WebInspector.linkifyURLAsNode. |
| * UserInterface/ProfileDataGridTree.js: |
| (WebInspector.ProfileDataGridNode.prototype._linkifyLocation): Ditto. |
| |
| 2012-03-04 Brian Weinstein <bweinstein@apple.com> |
| |
| Hook up the links in the CSS selector profile view. |
| |
| Rest of <rdar://problem/10897489> Implement CSS profiling in the new Web Inspector. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/CSSSelectorProfileView.js: |
| (WebInspector.CSSSelectorDataGridNode.prototype.createCell): Pass the line number to WebInspector.linkifyURLAsNode. |
| (WebInspector.CSSSelectorProfileView): Add a click event listener. |
| (WebInspector.CSSSelectorProfileView.prototype._mouseWasClicked): Call WebInspector.openURL on the clicked link. |
| * UserInterface/Main.js: |
| (WebInspector.linkifyURLAsNode): Set the link's lineNumber property to be the passed in line number. |
| |
| 2012-03-04 Brian Weinstein <bweinstein@apple.com> |
| |
| Make the columns in all DataGrids resizable. |
| |
| This fixes: |
| - JavaScript profile views |
| - CSS selector profile views |
| - Application cache views. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/ApplicationCacheFrameContentView.js: |
| (WebInspector.ApplicationCacheFrameContentView.prototype.updateLayout): |
| * UserInterface/CSSSelectorProfileView.js: |
| (WebInspector.CSSSelectorProfileView.prototype.updateLayout): |
| * UserInterface/JavaScriptProfileView.js: |
| (WebInspector.JavaScriptProfileView.prototype.updateLayout): |
| |
| 2012-03-04 Brian Weinstein <bweinstein@apple.com> |
| |
| Rename some functions to make them more clear that they are for JavaScript. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/ProfileManager.js: |
| (WebInspector.ProfileManager.prototype.addJavaScriptProfile): Renamed from addProfile. |
| (WebInspector.ProfileManager.prototype.setRecordingJavaScriptProfile): Renamed from setRecordingProfile. |
| * UserInterface/ProfilerObserver.js: |
| (WebInspector.ProfilerObserver.prototype.addProfileHeader): Update for naming. |
| (WebInspector.ProfilerObserver.prototype.setRecordingProfile): Ditto. |
| |
| 2012-03-04 Brian Weinstein <bweinstein@apple.com> |
| |
| Implement the recording of CSS selector profiles, and have them show up in the inspector and be |
| selectable. |
| |
| There are a few loose ends to clean up after this patch. |
| |
| - Some renames in ProfileManager. |
| - Make link clicking work in CSS selector profiles. |
| |
| More of <rdar://problem/10897489> Implement CSS profiling in the new Web Inspector. |
| |
| Reviewed by Tim Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated localized strings |
| |
| * UserInterface/CSSSelectorProfileType.js: |
| (WebInspector.CSSSelectorProfileType.prototype.nextProfileId): Returns the available profile ID. |
| (WebInspector.CSSSelectorProfileType.prototype.startRecordingProfile): Don't call anything in the profiles panel. |
| (WebInspector.CSSSelectorProfileType.prototype.stopRecordingProfile): Remove the callback that creates a profile |
| header. |
| |
| * UserInterface/ContentView.js: |
| (WebInspector.ContentView): Change ProfileObject to JavaScriptProfileObject and add a case for CSSSelectorProfileObject. |
| (WebInspector.ContentView.isViewable): Ditto. |
| |
| * UserInterface/InstrumentSidebarPanel.js: |
| (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphMousedOver): Check the CSS selector case. |
| (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphMousedDown): Ditto. |
| (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphClicked): Ditto. |
| (WebInspector.InstrumentSidebarPanel.prototype._profileTypeWasSelected): Ditto. |
| |
| * UserInterface/JavaScriptProfileView.js: Change the assert. |
| |
| * UserInterface/Main.html: Add new files. |
| |
| * UserInterface/ProfileManager.js: |
| (WebInspector.ProfileManager): Create a CSS selector profile type. |
| (WebInspector.ProfileManager.prototype.constructor.WebInspector.ProfileManager.initialize): Clear the recording CSS |
| selector profile. |
| (WebInspector.ProfileManager.prototype.isProfilingCSSSelectors): Returns whether or not we are recording a CSS selector |
| profile. |
| (WebInspector.ProfileManager.prototype.startProfilingCSSSelectors): Start recording a CSS selector profile, and create |
| a WebInspector.CSSSelectorProfileObject, and send an event to tell the instrument sidebar panel about it. |
| (WebInspector.ProfileManager.prototype.stopProfilingCSSSelectors): Stop recording the CSS selector profile, and in the |
| callback for when the profile finished, update the information about the CSS selector profile and tell the instrument |
| sidebar that the profile was updated. |
| (WebInspector.ProfileManager.prototype.addProfile): Create a JavaScriptProfileObject instead of a ProfileObject. |
| (WebInspector.ProfileManager.prototype.setRecordingProfile): Ditto. |
| |
| 2012-03-04 Brian Weinstein <bweinstein@apple.com> |
| |
| Add subclasses of ProfileObject for CSS Selector profile and JavaScript profiles. They are not used anywhere, |
| but they will be to be able to differentiate between the two types of profiles. |
| |
| It also gives us a way to store the CSS selector profile data on the CSSSelectorProfileObject. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/CSSSelectorProfileObject.js: Added. |
| (WebInspector.CSSSelectorProfileObject): |
| (WebInspector.CSSSelectorProfileObject.prototype.constructor.WebInspector.CSSSelectorProfileObject.get data): Returns |
| the data. |
| (WebInspector.CSSSelectorProfileObject.prototype.set data): Sets the data. |
| (WebInspector.CSSSelectorProfileObject.prototype.get totalTime): Returns the total time. |
| (WebInspector.CSSSelectorProfileObject.prototype.set totalTime): Sets the total time. |
| * UserInterface/JavaScriptProfileObject.js: Added. |
| (WebInspector.JavaScriptProfileObject): |
| * UserInterface/Main.html: Add new files |
| |
| 2012-03-04 Brian Weinstein <bweinstein@apple.com> |
| |
| Fix some issues in CSSSelectorProfileView.js to get it running with the new inspector. |
| |
| This patch changes the superclass from View -> ContentView, removes instances of the percent button, |
| and changes *styleClass -> classList.*. |
| |
| More of <rdar://problem/10897489> Implement CSS profiling in the new Web Inspector. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/CSSSelectorProfileView.js: |
| (WebInspector.CSSSelectorDataGridNode.prototype.get data): Switch the format of a setting. |
| (WebInspector.CSSSelectorDataGridNode.prototype.createCell): Use linkifyURLAsNode instead of |
| linkifyResourceAsNode (which we don't have). |
| (WebInspector.CSSSelectorProfileView): Add an assert, change our superclass type, update the |
| setting syntax, and call updateWidths on the data grid. |
| (WebInspector.CSSSelectorProfileView.prototype.refreshShowAsPercents): Use classList.contains. |
| |
| 2012-03-02 Brian Weinstein <bweinstein@apple.com> |
| |
| Bring in some files from open source. |
| |
| More of <rdar://problem/10897489> Implement CSS profiling in the new Web Inspector. |
| |
| Rubber-stamped by Jing Jin. |
| |
| * UserInterface/CSSSelectorProfileType.js: Added. Moved from CSSSelectorProfileView.js to its own file. |
| * UserInterface/CSSSelectorProfileView.js: Added. Copied from open source. |
| |
| 2012-03-02 Brian Weinstein <bweinstein@apple.com> |
| |
| Turn the glyph that starts profiles in the inspector into a select with two options. |
| |
| - Start JavaScript Profiling |
| - Start CSS Profiling |
| |
| JavaScript profiling uses the same codepath as before, and CSS profiling isn't hooked up |
| yet, but will be in future patches. |
| |
| Start of <rdar://problem/10897489> Implement CSS profiling in the new Web Inspector. |
| |
| Reviewed by Tim Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: Update localized strings. |
| |
| * UserInterface/InstrumentSidebarPanel.css: |
| (.sidebar > .panel.instrument > .title-bar > .record-glyph): Add some additional rules so |
| this style works for a select and a div. |
| |
| * UserInterface/InstrumentSidebarPanel.js: |
| (WebInspector.InstrumentSidebarPanel): Change _recordProfileGlyphElement to a select, and add |
| options to it. |
| (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphMousedDown): Clear any selection |
| the select might have had, and prevent opening the select if we are stopping a profile. |
| (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphClicked): Return early if we are |
| ignoring this click. |
| (WebInspector.InstrumentSidebarPanel.prototype._profileTypeWasSelected): Start a JavaScript profile |
| if that was the user's selection, and add a FIXME for starting a CSS profile. |
| |
| 2012-03-04 Timothy Hatcher <timothy@apple.com> |
| |
| Strike out all properties that did not parse correctly. |
| |
| The broken case is if you use: background: -webkit-linear-gradient(...); |
| and background: -moz-linear-gradient(...) in the same rule. Before they |
| would both be shown normal (except for the warning icon on the -moz line), |
| now the -moz property is also striked out. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.css: Added not-parsed-ok to the |
| rule that adds text-decoration: line-through to properties. |
| |
| 2012-03-04 Timothy Hatcher <timothy@apple.com> |
| |
| Syntax highlight values in the Style details sidebar. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/StylePropertyTreeElement.js: |
| (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor): Call numberProcessor instead |
| of directly making text nodes for unknown colors and color values. |
| (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processKeyword): Added. |
| (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processSimpleSyntax): Added. |
| (WebInspector.StylePropertyTreeElement.prototype.updateTitle): Add new processors for strings, numbers, and keywords. |
| |
| 2012-03-03 Brian Weinstein <bweinstein@apple.com> |
| |
| <rdar://problem/10977869> Profile Link in Log View doesn't jump to Profile in Instruments View. |
| |
| Give WebInspector.openURL the ability to open URLs with the webkit-profile scheme. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/InstrumentSidebarPanel.js: |
| (WebInspector.InstrumentSidebarPanel.prototype.showProfile): Look over the tree elements for one with |
| a profile with the matching title and type, and show it. |
| * UserInterface/Main.js: |
| (WebInspector.openURL): If the URL has the webkit-profile scheme, call InstrumentSidebarPanel.showProfile. |
| * UserInterface/ProfileType.js: Add a constant for "webkit-profile". |
| |
| 2012-03-03 Timothy Hatcher <timothy@apple.com> |
| |
| Hide the DOM node highlight when the DOM tree content view is hidden. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/DOMTreeContentView.js: |
| (WebInspector.DOMTreeContentView.prototype.hidden): Call WebInspector.domTreeManager.hideDOMNodeHighlight(). |
| |
| 2012-03-03 Timothy Hatcher <timothy@apple.com> |
| |
| Reduce flashing in the details sidebar when switching content views. |
| |
| This makes sure to fire the represented objects did change event immediately after the content |
| view changes so the sidebar updates at the same time as the content view. This is especially important |
| if the sidebar is auto showing or hiding. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser.prototype._dispatchCurrentRepresentedObjectsDidChangeEventSoon): |
| Use _dispatchCurrentRepresentedObjectsDidChangeEvent instead of a nested function. |
| (WebInspector.ContentBrowser.prototype._dispatchCurrentRepresentedObjectsDidChangeEvent): Added. |
| Clears the timeout if there is one pending. |
| (WebInspector.ContentBrowser.prototype._currentContentViewDidChange): Call _dispatchCurrentRepresentedObjectsDidChangeEvent |
| instead of _dispatchCurrentRepresentedObjectsDidChangeEventSoon. |
| |
| 2012-03-03 Timothy Hatcher <timothy@apple.com> |
| |
| Auto hide the details sidebar when empty if the user closed it when empty. |
| |
| The details sidebar will show again when switching to a content view that has sidebar panels to show. |
| If the user shows the sidebar when empty it will not auto hide anymore. If the user hides the sidebar |
| when it isn't empty it will stay hidden until manually shown. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Added setting. |
| (WebInspector._sidebarCollapsedStateDidChange): Update setting based on collapsed state and sidebar panel count. |
| (WebInspector._contentBrowserRepresentedObjectsDidChange): Show or hide the details sidebar when the sidebar |
| panel count changes. |
| |
| 2012-03-03 Timothy Hatcher <timothy@apple.com> |
| |
| Add the "Show All" checkbox to the Computed Style section header. |
| |
| Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/CSSStyleDetailsSidebarPanel.css: |
| (.sidebar > .panel.details.css-style .styles-section .properties li): Clean up to better align the text. |
| (.sidebar > .panel.details.css-style .styles-section.read-only .properties > li): Ditto. |
| (.sidebar > .panel.details.css-style .styles-section.computed-style .properties .inherited): Fixed to work. |
| (.sidebar > .panel.details.css-style .details-section.show-all .styles-section.computed-style .properties .inherited): Ditto. |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel): Create the checkbox and label. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._computedStyleShowAllCheckboxValueChanged): Added. Toggle the setting |
| and show-all class on the computed style section. |
| * UserInterface/DetailsSection.css: |
| (.details-section > .header:not(.mouse-over-options-element):active::before): Don't show active if the options element is. |
| (.details-section.collapsed > .header:not(.mouse-over-options-element):active::before): Ditto. |
| (.details-section > .header > label): Added. Generic support for a label and checkbox. |
| (.details-section.collapsed > .header > label): Ditto. |
| (.details-section > .header > label > input[type="checkbox"]): Ditto. |
| * UserInterface/DetailsSection.js: |
| (WebInspector.DetailsSection): Make a title element span so it can be updated separately. Append the options element. |
| (WebInspector.DetailsSection.prototype.get title): Use the title element. |
| (WebInspector.DetailsSection.prototype.set title): Ditto. |
| (WebInspector.DetailsSection.prototype._headerElementClicked): Return early if it is within the options element. |
| (WebInspector.DetailsSection.prototype._optionsElementMouseDown): Added. Add the mouse-over-options-element class. |
| (WebInspector.DetailsSection.prototype._optionsElementMouseUp): Added. Remove the mouse-over-options-element class. |
| |
| 2012-03-03 Brian Weinstein <bweinstein@apple.com> |
| |
| <rdar://problem/10979339> Links in Log and Profile content views don't take you to the correct line |
| |
| r41258 added the ability to jump to a certain line number when opening a resource |
| in the inspector by setting the lineNumber property on the link element that will |
| be clicked. |
| |
| Adopt this for JavaScript profiles and the Log content view. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/ConsoleMessageImpl.js: |
| (WebInspector.ConsoleMessageImpl.prototype._linkifyLocation): Set the line number of the link |
| element. |
| * UserInterface/JavaScriptProfileView.js: |
| (WebInspector.JavaScriptProfileView): Add a mouse listener. |
| (WebInspector.JavaScriptProfileView.prototype._mouseWasClicked): Call WebInspector.openURL. |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView.prototype._mouseWasClicked): Get the line number from the link |
| element and pass that line number to WebInspector.openURL. |
| * UserInterface/ProfileDataGridTree.js: |
| (WebInspector.ProfileDataGridNode.prototype._linkifyLocation): Set the line number of the |
| link element. |
| |
| 2012-03-03 Timothy Hatcher <timothy@apple.com> |
| |
| Make $0..$9 work in the new Web Inspector's console. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DOMTreeContentView.js: |
| (WebInspector.DOMTreeContentView.prototype._selectedNodeDidChange): Call ConsoleAgent.addInspectedNode |
| when the selected DOM node changes. |
| |
| 2012-03-03 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10960903> Include Network timeline graph in the network data grid |
| |
| When we need to refresh all of the rows, we need to make a copy of the |
| children array, because the children array gets resorted as the rows |
| are updated. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView.prototype._updatePendingRecordsWithNewBounds): |
| |
| 2012-03-03 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10960903> Include Network timeline graph in the network data grid |
| |
| Tweak to prevent hiding a few of the rows on either end of the |
| visible bounds. This makes scrolling feel a little bit nicer. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView.prototype._updateOffscreenRows): |
| |
| 2012-03-03 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10960903> Include Network timeline graph in the network data grid |
| |
| Style the collapse-button and divider. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DataGrid.css: |
| (.data-grid th.sortable:not(.mouse-over-collapser):active): |
| (.data-grid th.sortable.sort-ascending:not(.mouse-over-collapser):active, .data-grid th.sortable.sort-descending:not(.mouse-over-collapser):active): |
| When the collapse-button is moused over, we shouldn't apply the :active |
| style to the entire table header cell when its clicked, because the |
| user will be clicking on the collapser-button. |
| |
| * UserInterface/TimelinesContentView.css: |
| (.content-view.timelines > .data-grid th.sortable:not(.mouse-over-collapser):active): |
| (.content-view.timelines > .data-grid th.collapser): |
| (.content-view.timelines > .data-grid th.collapser > .divider): |
| (.content-view.timelines > .data-grid th.collapser > .collapser-button): |
| (.content-view.timelines > .data-grid th.collapser > .collapser-button:active): |
| (.content-view.timelines > .data-grid th.collapser.collapsed > .collapser-button): |
| (.content-view.timelines > .data-grid th.collapser.collapsed > .collapser-button:active): |
| (.content-view.timelines > .data-grid th.sort-descending.collapser > div:first-child): |
| Style the button to the far right. Adjust the sort indicator |
| to be the left of the collapse-button and divider. |
| |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView): |
| (WebInspector.TimelinesContentView.generateEmbossedCollapseImages.canvasIdentifier): |
| (WebInspector.TimelinesContentView.generateEmbossedCollapseImages): |
| Generate embossed images once for all Timeline DataGrids. |
| |
| * UserInterface/DataGrid.js: |
| (WebInspector.DataGrid.prototype._mouseoverColumnCollapser): |
| (WebInspector.DataGrid.prototype._mouseoutColumnCollapser): |
| Add a class to the <th> so that the :active highlight won't take |
| affect when the user clicks the collapser button, but does when |
| the user clicks on the test of the header cell. |
| |
| * UserInterface/ImageUtilities.js: |
| (generateEmbossedImages._imageLoaded): |
| Make the Focus state optional, and don't generate it if its not needed. |
| |
| * UserInterface/Images/LessColumns.pdf: Added. |
| * UserInterface/Images/MoreColumns.pdf: Added. |
| Images added for the collapse button. |
| |
| 2012-03-03 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10960903> Include Network timeline graph in the network data grid |
| |
| Move generating embossed canvas images into ImageUtilities so |
| that it can be shared with DataGrid in the next part. This turns |
| all self/this references into parameters. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ButtonNavigationItem.js: |
| (WebInspector.ButtonNavigationItem.prototype._generateImages): |
| * UserInterface/ImageUtilities.js: |
| (generateEmbossedImages._imageLoaded): |
| (generateEmbossedImages._createEmbossedCanvasImage): |
| (generateEmbossedImages._drawImageShadow): |
| (generateEmbossedImages._invertMaskImage): |
| (generateEmbossedImages._applyImageMask): |
| (generateEmbossedImages): |
| * UserInterface/Main.html: |
| |
| 2012-03-03 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10960903> Include Network timeline graph in the network data grid |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DataGrid.css: |
| (.data-grid th): |
| When columns were collapsed down to width:0, the <th> content was overflowing. |
| <td> already had overflow:hidden, so this just adds it to <th>. |
| |
| (.data-grid th.sort-descending > div:first-child): |
| (.data-grid th.sort-ascending > div:first-child::after): |
| (.data-grid th.sort-descending > div:first-child::after): |
| Now that a <th> may have multiple divs, specify that we want the |
| sort indicator to show up after the first <div>, before the |
| divider and collapse-button. |
| |
| * UserInterface/DataGrid.js: |
| (WebInspector.DataGrid): |
| (WebInspector.DataGrid.prototype.updateWidths): |
| Move code into the block that was only used in the block. |
| |
| (WebInspector.DataGrid.prototype.columnWidthsMap): |
| (WebInspector.DataGrid.prototype.applyColumnWidthsMap): |
| A brute force API to get / adjust all column widths. |
| |
| (WebInspector.DataGrid.prototype._isColumnVisible): |
| (WebInspector.DataGrid.prototype._showColumn): |
| (WebInspector.DataGrid.prototype._hideColumn): |
| (WebInspector.DataGrid.prototype._positionResizers): |
| Rewrite to actually work. Setting a colgroup as hidden or display:none |
| was actually ignoring the colgroup alltogether, breaking the normal |
| colgroup[i] === column[i] relationship. Setting the width to 0 kept |
| the relationship, and hides the column's contents. |
| |
| (WebInspector.DataGrid.prototype._clickInHeaderCell): |
| (WebInspector.NetworkDataGrid.prototype.willToggleColumnGroup): |
| (WebInspector.NetworkDataGrid.prototype.didToggleColumnGroup): |
| Handle clicks on the collapser button. Run some optional subclass |
| methods so state can be saved and so the column widths can be adjusted. |
| |
| * UserInterface/NetworkDataGrid.js: |
| (WebInspector.NetworkDataGrid.prototype.willToggleColumnGroup): |
| (WebInspector.NetworkDataGrid.prototype.didToggleColumnGroup): |
| Handle toggling the column sizes. When collapsing, keep the "Name" |
| field the same width that it was. But when expanding, just relayout |
| back to whatever the original widths were. |
| |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView): |
| Add rows to a "details" column group and specify a collapser. |
| |
| * UserInterface/TimelinesContentView.css: |
| (.content-view.timelines > .data-grid .column-group-details): |
| Slightly dim the "details" column group. |
| |
| 2012-03-03 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Update offscreen rows after sorting. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView.prototype._sortCurrentDataGrid): |
| |
| 2012-03-03 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Sorting the Network Timeline column should sort by resource |
| response time, falling back to request time. Make this |
| the default sort for the DataGrid. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/ResourceTimelineDataGridNode.js: |
| (WebInspector.ResourceTimelineDataGridNode.prototype.get data): |
| |
| 2012-03-03 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Fix the Timeline Grid sizes for the RemoteDebugger. It looks |
| as if this isn't needed anymore and actually displays poorly |
| on 10.7.3 WebKit. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TimelinesContentView.css: |
| |
| 2012-03-03 Timothy Hatcher <timothy@apple.com> |
| |
| Don't move to editing the next property when pressing return/enter while editing a property value. |
| |
| Pressing return/enter still moves to the value when you are editing the property name. If you want |
| to edit the next property, that is what tab is for! |
| |
| Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/StylePropertyTreeElement.js: |
| (WebInspector.StylePropertyTreeElement.prototype.editingNameValueKeyDown): Support a move direction of "none". |
| (WebInspector.StylePropertyTreeElement.prototype.selectElement.editingCommitted): Don't call the moveToNextCallback |
| if there is no moveDirection or moveDirection is "none". |
| |
| 2012-03-03 Timothy Hatcher <timothy@apple.com> |
| |
| Override TreeElement.ondblclick instead of having a separate dblclick listener in StylePropertyTreeElement. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/StylePropertyTreeElement.js: |
| (WebInspector.StylePropertyTreeElement.prototype.onattach): Removed dblclick event listener. |
| (WebInspector.StylePropertyTreeElement.prototype.ondblclick): Renamed from _startEditing. |
| |
| 2012-03-03 Timothy Hatcher <timothy@apple.com> |
| |
| Make URLs that go to the main resource of a frame open in the Web Inspector instead of in a new tab. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Main.js: |
| (WebInspector.openURL): Check frame.mainResource.url before calling frame.resourceForURL. |
| |
| 2012-03-02 Timothy Hatcher <timothy@apple.com> |
| |
| Fix an error that was showing in the console and prevented revalidation of styled when DOM attributes are removed. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._attributesModified): Renamed from _attributesRemovedOrStyleInvalidated |
| since _attributesModified is what was registered as the event listener. |
| * UserInterface/Object.js: |
| (WebInspector.Object.addEventListener): Assert the event type and listener are not null/undefined/empty. |
| (WebInspector.Object.removeEventListener): Ditto. |
| |
| 2012-03-03 Timothy Hatcher <timothy@apple.com> |
| |
| Use a go-to arrow to link to the location of the style rule in the stylesheet resource. |
| |
| The text links added a lot of clutter and often collided with the selector in bad ways. |
| |
| Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.css: |
| (.sidebar > .panel.details.css-style .styles-section .go-to-arrow): Sized to fit the line. Hidden by default. |
| (.sidebar > .panel.details.css-style .styles-section:hover .go-to-arrow): Reveal on hover of the section. |
| * UserInterface/StylePropertiesSection.js: |
| (WebInspector.StylePropertiesSection.prototype._linkify): Create the go-to arrow instead of a text link. |
| |
| 2012-03-02 Timothy Hatcher <timothy@apple.com> |
| |
| Show user agent rules in a separate section called "Base Style Rules". |
| |
| Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel): Create the Base Style Rules section. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections.createMatchedRuleGroups): Take an array and |
| return a modified version of the array instead of fixed modification of the matchedRuleGroups array. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections): Update the user agent section separately. |
| * UserInterface/StylePropertiesSection.js: |
| (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode): Don't show an origin for user agent rules, since they are |
| in their own section now. |
| |
| 2012-03-02 Timothy Hatcher <timothy@apple.com> |
| |
| Style the Style details sidebar. |
| |
| Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.css: Added. |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections.createStylePropertiesSection): |
| Stop passing false for isFirstSection argument. |
| * UserInterface/ComputedStylePropertiesSection.js: |
| (WebInspector.ComputedStylePropertiesSection): Update className. |
| * UserInterface/DetailsSection.css: |
| * UserInterface/Main.html: Included CSSStyleDetailsSidebarPanel.css. |
| * UserInterface/StylePropertiesSection.js: |
| (WebInspector.StylePropertiesSection): Remove isFirstSection argument. |
| * UserInterface/StylePropertyTreeElement.js: |
| (WebInspector.StylePropertyTreeElement.prototype.updateTitle): Create and append the expand element for the |
| disclosure triangle use for shorthands. Create an inner element for the swatch for transparent colors. |
| (WebInspector.StylePropertyTreeElement.prototype.restoreNameElement): Remove "webkit-" class prefix. |
| (WebInspector.StylePropertyTreeElement.prototype._isNameElement): Ditto. |
| (WebInspector.StylePropertyTreeElement.prototype._isValueElement): Ditto. Return early if it is the expand element. |
| (WebInspector.StylePropertyTreeElement.prototype.isEventWithinDisclosureTriangle): Added. |
| |
| 2012-03-01 Timothy Hatcher <timothy@apple.com> |
| |
| Show an empty content message in the Issue sidebar when there are no issues. |
| |
| Reviewed by Brian Weinstein. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/IssueSidebarPanel.js: |
| (WebInspector.IssueSidebarPanel): Call _updateEmptyContentPlaceholder. |
| (WebInspector.IssueSidebarPanel.prototype._updateEmptyContentPlaceholder): Added. |
| (WebInspector.IssueSidebarPanel.prototype._issuesCleared): Call _updateEmptyContentPlaceholder. |
| (WebInspector.IssueSidebarPanel.prototype._checkForOldResources.delayedWork): Ditto. |
| |
| 2012-03-01 Timothy Hatcher <timothy@apple.com> |
| |
| Don't show the same node twice in the navigation bar when the close tag is selected in the DOM tree. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DOMTreeContentView.js: |
| (WebInspector.DOMTreeContentView.prototype.get selectionPathComponents): Skip close tag tree elements. |
| |
| 2012-03-01 Timothy Hatcher <timothy@apple.com> |
| |
| Update the Style details sidebar when stylesheets, the media query result, or the DOM changes. |
| |
| Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel): Added event listeners for the DOM and CSS changes. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.get _userOperationInProgress): Added. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSectionsIfNonUserAction): Added. Call _rebuildSections. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._attributesModified): Added. Call _rebuildSectionsIfNonUserAction. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._attributesRemoved): Added. Ditto. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._styleInvalidated): Added. Ditto. |
| |
| 2012-03-01 Timothy Hatcher <timothy@apple.com> |
| |
| Include pseudo elements in the Style details sidebar. |
| |
| Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections): Go through the pseudo elements. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections.createStylePropertiesSection): Broken out from |
| createStylePropertiesSectionGroup. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections.createStylePropertiesSectionGroup): Only create |
| the row and group now. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections.createMatchedRuleGroups): Added. Creates sections |
| and groups for each pseudo element identifier. |
| |
| 2012-03-01 Timothy Hatcher <timothy@apple.com> |
| |
| Update the computed style and overloaded properties when editing a style property. |
| |
| Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections.createStylePropertiesSectionGroup): |
| Add the StylePropertiesSection to the mainPropertySectionMap. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections): Store direct references to the important |
| property sections and add them to the mainPropertySections. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._refreshSections): Added. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._refreshSections.computedStyleCallback): Iterate over all the property sections |
| and build the style rules needed to update overloaded and used properties. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._markUsedProperties): Clean up. |
| * UserInterface/StylePropertiesSection.js: |
| (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback): Call _refreshSections. |
| (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted): Remove reference to WebInspector.panels.elements. |
| * UserInterface/StylePropertyTreeElement.js: |
| (WebInspector.StylePropertyTreeElement.prototype._updatePane): Use _refreshSections. |
| (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled): Use _parentPane. |
| (WebInspector.StylePropertyTreeElement.prototype.applyStyleText): Ditto. |
| |
| 2012-03-01 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Fixed localization typo. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView): |
| |
| 2012-03-01 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10960903> Include Network timeline graph in the network data grid |
| |
| Before we make other improvements at least adjust the timeline graph |
| sizes to reasonable sizes. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView): |
| |
| 2012-03-01 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10960903> Include Network timeline graph in the network data grid |
| |
| Adopt OpenSource's "offscreen" row hiding for performance. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TimelinesContentView.css: |
| (.content-view.timelines > .data-grid tr.offscreen): |
| (.content-view.timelines > .data-grid tr.offscreen td): |
| Ensure offscreen table rows still have a height, and hide their contents. |
| |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView): |
| (WebInspector.TimelinesContentView.prototype.updateLayout): |
| (WebInspector.TimelinesContentView.prototype._updatePendingRecords): |
| Update offscreen rows when the view resizes, and after we've sorted / added new rows. |
| |
| (WebInspector.TimelinesContentView.prototype._updateOffscreenRows): |
| Mark data grid table rows outside the visible bounds as "offscreen". |
| |
| * UserInterface/ResourceTimelineDataGridNode.js: |
| (WebInspector.ResourceTimelineDataGridNode.prototype.select): |
| When a user uses keyboard shortcuts and moves up/down to a row that |
| was offscreen, the selection happens before the node scrolls into view. |
| In order for its layout to work properly it can't be display none, |
| so remove the offscreen class preemptively. |
| |
| 2012-03-01 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10960903> Include Network timeline graph in the network data grid |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Images/graphLabelCalloutLeft.png: Added. |
| * UserInterface/Images/graphLabelCalloutLeftWhite.png: Added. |
| * UserInterface/Images/graphLabelCalloutRight.png: Added. |
| * UserInterface/Images/graphLabelCalloutRightWhite.png: Added. |
| * UserInterface/Images/timelineHollowPillBlue.png: Added. |
| * UserInterface/Images/timelineHollowPillGray.png: Added. |
| * UserInterface/Images/timelineHollowPillGreen.png: Added. |
| * UserInterface/Images/timelineHollowPillOrange.png: Added. |
| * UserInterface/Images/timelineHollowPillPurple.png: Added. |
| * UserInterface/Images/timelineHollowPillRed.png: Added. |
| * UserInterface/Images/timelineHollowPillYellow.png: Added. |
| * UserInterface/Images/timelinePillBlue.png: Added. |
| * UserInterface/Images/timelinePillGray.png: Added. |
| * UserInterface/Images/timelinePillGreen.png: Added. |
| * UserInterface/Images/timelinePillOrange.png: Added. |
| * UserInterface/Images/timelinePillPurple.png: Added. |
| * UserInterface/Images/timelinePillRed.png: Added. |
| * UserInterface/Images/timelinePillWhiteFlat.png: Added. |
| Open Source images and new white images from Timothy Hatcher. |
| There will need to be HiDPI versions of these images. |
| |
| * UserInterface/Main.html: |
| Added new files. |
| |
| * UserInterface/Main.html: |
| * UserInterface/NetworkTimeline.css: Added. |
| Basic styles copied from Open Source. Minor adjustments for image sizes. |
| |
| (.data-grid:focus tr.selected .network-graph-bar): |
| (.data-grid:focus tr.selected .resource-cached .network-graph-bar): |
| (.data-grid:focus tr.selected .network-graph-bar.waiting): |
| (.data-grid:focus tr.selected .network-graph-label): |
| (.data-grid:focus tr.selected .network-graph-label.after): |
| (.data-grid:focus tr.selected .network-graph-label.before::after): |
| (.data-grid:focus tr.selected .network-graph-label.after::before): |
| New frontend styles for the network graph when the data grid row is selected. |
| This makes the pill, callouts, and text white / blue matching the data grid |
| selected style. |
| |
| * UserInterface/NetworkDataGrid.js: Added. |
| (WebInspector.NetworkDataGrid): |
| (WebInspector.NetworkDataGrid.prototype.constructor.WebInspector.NetworkDataGrid.get currentCalculator): |
| (WebInspector.NetworkDataGrid.prototype.updateCalculatorBoundariesWithRecord): |
| (WebInspector.NetworkDataGrid.prototype.updateCalculatorBoundariesWithDataGridNode): |
| (WebInspector.NetworkDataGrid.prototype.reset): |
| NetworkDataGrid has a just a time calculator right now, that adjusts its bounds |
| based on resource start time, end times, and on-going load times. |
| |
| * UserInterface/ResourceTimelineDataGridNode.js: |
| (WebInspector.ResourceTimelineDataGridNode): |
| (WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent): |
| (WebInspector.ResourceTimelineDataGridNode.prototype._createGraphElement): |
| Create and update the network graph elements for the cell content. |
| |
| (WebInspector.ResourceTimelineDataGridNode.prototype.select): |
| Show the pill labels when the row is selected. Not just onmouseover. |
| |
| (WebInspector.ResourceTimelineDataGridNode.prototype._refreshGraph): |
| (WebInspector.ResourceTimelineDataGridNode.prototype._refreshLabelPositions): |
| Use the provided network calculator shared with the other grid nodes to create |
| the appropriate bar for this resource. |
| appropriately within the network calculators bounds. |
| |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView): |
| Timeline DataGrids may have embedded timeline graphs that adjust their bounds |
| based on the records (start times, max sizes, etc) their content contains. |
| Calculator objects manage those bounds. If the current data grid has a |
| calculator we do a few extra actions to ensure nice updates. |
| |
| (WebInspector.TimelinesContentView.prototype._recordingStarted): |
| Reset the data grid's calculators. |
| |
| (WebInspector.TimelinesContentView.prototype._updatePendingRecords): |
| (WebInspector.TimelinesContentView.prototype._updateCalculatorBoundsForPendingRecords): |
| (WebInspector.TimelinesContentView.prototype._updatePendingRecordsWithNewBounds): |
| Update the calculator's bounds before updating pending records so that all records |
| are drawn with the same, most accurate bounds. |
| |
| 2012-03-01 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10960903> Include Network timeline graph in the network data grid |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: |
| New strings for the tooltips provided by the graph calculator. |
| |
| * UserInterface/Main.html: |
| * UserInterface/NetworkGraphCalculator.js: Added. |
| (WebInspector.NetworkTimeCalculator): |
| (WebInspector.NetworkTimeCalculator.prototype.get boundarySpan): |
| (WebInspector.NetworkTimeCalculator.prototype.reset): |
| (WebInspector.NetworkTimeCalculator.prototype.computeBarGraphPercentages): |
| (WebInspector.NetworkTimeCalculator.prototype.computeBarGraphLabels): |
| (WebInspector.NetworkTimeCalculator.prototype.updateBoundaries): |
| (WebInspector.NetworkTimeCalculator.prototype.formatValue): |
| (WebInspector.NetworkTimeCalculator.prototype._lowerBound): |
| (WebInspector.NetworkTimeCalculator.prototype._upperBound): |
| (WebInspector.NetworkTransferTimeCalculator): |
| (WebInspector.NetworkTransferTimeCalculator.prototype._lowerBound): |
| (WebInspector.NetworkTransferTimeCalculator.prototype._upperBound): |
| (WebInspector.NetworkTransferDurationCalculator): |
| (WebInspector.NetworkTransferDurationCalculator.prototype._upperBound): |
| Port from OpenSource to work with the new frontend's resource objects. |
| |
| * UserInterface/ResourceTimelineRecord.js: |
| (WebInspector.ResourceTimelineRecord.prototype.get endTime): |
| Move "endTime" resource calculation from here ... |
| |
| * UserInterface/Resource.js: |
| (WebInspector.Resource.prototype.get lastTimestamp): |
| ... to here as "lastTimestamp". |
| |
| 2012-03-01 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Upgrade .hidden to a common case that does display:none. |
| This is used throughout the OpenSource frontend to hide elements |
| and some existing code already uses it and may not be getting |
| the proper treatment. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TextEditor.css: |
| * UserInterface/NavigationSidebarPanel.css: |
| * UserInterface/ApplicationCacheFrameContentView.css: |
| * UserInterface/Main.css: |
| (.hidden): |
| * UserInterface/TextEditor.css: |
| This removes new front-end occurrences of "hidden". However |
| it did not remove their JavaScript property. |
| |
| 2012-03-01 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Prevent adding a node to the pending refresh list multiple times. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView): |
| (WebInspector.TimelinesContentView.prototype._updatePendingRecords): |
| (WebInspector.TimelinesContentView.prototype._scheduleGridNodeForRefresh): |
| Flag on the DataGridNode as pending a refresh if we've added it |
| to the refresh list and remove the flag after refreshing. |
| |
| 2012-03-01 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10952471> Page should reload when pushing <cmd>+R |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/EditingSupport.js: |
| (WebInspector.isEventTargetAnEditableField): |
| Add code, similar to Open Source to detect if the event is inside of |
| an editable field. Although some TextPrompt's mark their element as |
| editing, the Console does not. Nor do <input>s. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| (WebInspector._keydown): |
| Add a keydown listener on the document checking for <cmd>+R. |
| |
| 2012-03-01 Brian Weinstein <bweinstein@apple.com> |
| |
| Finish up JavaScript profiling in the new inspector. |
| |
| This patch fixes some loose ends. |
| - Profiles started by the user now have the title "JavaScript Profile n". |
| - Profile tree elements now have an icon. |
| - Selecting "Start Profiling JavaScript" or "Stop Profiling JavaScript" from the Develop menu |
| now take you to the instrument sidebar panel. |
| |
| Rest of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector. |
| |
| Reviewed by Tim Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: Update localized strings. |
| |
| * UserInterface/Images/Profile.png: Added. |
| * UserInterface/Images/Profile@2x.png: Added. |
| |
| * UserInterface/InspectorFrontendAPI.js: |
| (InspectorFrontendAPI.startProfilingJavaScript): Show the instrument sidebar panel. |
| (InspectorFrontendAPI.stopProfilingJavaScript): Ditto. |
| |
| * UserInterface/InstrumentIcons.css: Add icons for profile tree elements. |
| |
| * UserInterface/InstrumentSidebarPanel.js: |
| (WebInspector.InstrumentSidebarPanel.prototype._titleForProfile): Make the title for user generated |
| profiles "JavaScript Profile n", instead of just "Profile n". |
| (WebInspector.InstrumentSidebarPanel.prototype._profileWasAdded): Use the class name for the icon. |
| |
| 2012-03-01 Brian Weinstein <bweinstein@apple.com> |
| |
| Clear the list of profiles when the page navigates. |
| |
| More of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/InstrumentSidebarPanel.js: |
| (WebInspector.InstrumentSidebarPanel): Add a listener for when the profile manager says the profiles |
| were cleared. |
| (WebInspector.InstrumentSidebarPanel.prototype._profilesCleared): Remove the tree elements from the sidebar, |
| clear the map from profile titles -> tree elements, close all profile content views, and update the empty |
| content placeholder. |
| * UserInterface/ProfileManager.js: |
| (WebInspector.ProfileManager): Add a listener for when the main resource did change. |
| (WebInspector.ProfileManager.prototype.constructor.WebInspector.ProfileManager.initialize): Remove an unused variable. |
| (WebInspector.ProfileManager.prototype._mainResourceDidChange): Call initialize and fire an event saying that profiles |
| were cleared. |
| |
| 2012-02-29 Brian Weinstein <bweinstein@apple.com> |
| |
| Add the ability to start/stop JavaScript profiling from the inspector. |
| |
| This patch adds a recording glyph to the profiles title bar (which matches the one in the timelines title bar). |
| The button will start and stop JavaScript profiling. |
| |
| More of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector. |
| |
| Reviewed by Tim Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: Update localized strings. |
| |
| * UserInterface/InstrumentSidebarPanel.css: Make all of these rules work for title bars in the instruments |
| sidebar panel other than the Timelines title bar. We need these rules for the Profiles title bar as well. |
| |
| * UserInterface/InstrumentSidebarPanel.js: |
| (WebInspector.InstrumentSidebarPanel): Add a record button and status text next to the profiles sidebar. Also start |
| listening for when the profile manager starts and stops profiling. |
| (WebInspector.InstrumentSidebarPanel.prototype._profilingStarted): Start the text of the profiling status and add |
| a recording style class to the glyph. |
| (WebInspector.InstrumentSidebarPanel.prototype._profilingEnded): Clear the text of the profiling status and remove |
| the recording style class from the glyph. |
| (WebInspector.InstrumentSidebarPanel.prototype._profileGlyphMousedOver): Update the text of the profiling status. |
| (WebInspector.InstrumentSidebarPanel.prototype._profileGlyphMousedOut): Ditto. |
| (WebInspector.InstrumentSidebarPanel.prototype._profileGlyphClicked): Toggle the profiling state. |
| |
| * UserInterface/ProfileManager.js: |
| (WebInspector.ProfileManager.prototype.constructor.WebInspector.ProfileManager.initialize): Add a flag that represents |
| whether or not we are currently profiling. |
| (WebInspector.ProfileManager.prototype.setRecordingProfile): Fire events for when we start or stop profiling. |
| |
| 2012-02-29 Timothy Hatcher <timothy@apple.com> |
| |
| Remember the last selected details sidebar panel and restore it when that panel becomes available. |
| |
| Reviewed by Jon Honeycutt. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Add event listener for SidebarPanelSelected event. |
| (WebInspector._detailsSidebarPanelSelected): Added. Remember the identifier of the selected sidebar panel. |
| (WebInspector._contentBrowserRepresentedObjectsDidChange): Ignore selection changes and restore the selection |
| when the last selected sidebar panel is reinserted into the sidebar. |
| |
| 2012-02-29 Timothy Hatcher <timothy@apple.com> |
| |
| Prevent the new Web Inspector resources from installing in production builds since we are |
| not enabling the Inspector in DP2. |
| |
| Reviewed by Mark Rowe. |
| |
| * Scripts/copy-user-interface-resources.sh: Exit early before copying. |
| |
| 2012-02-29 Timothy Hatcher <timothy@apple.com> |
| |
| Include missing image needed by the Log and Database content views. |
| |
| <rdar://problem/10952496> "userInputPreviousIcon.png" resource failed to load in Console |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/DatabaseContentView.css: |
| (.database-user-query::before): Use UserInputPromptPrevious.pdf. |
| * UserInterface/Images/UserInputPromptPrevious.pdf: Added. |
| * UserInterface/LogContentView.css: |
| (.console-user-command::before): Use UserInputPromptPrevious.pdf. |
| |
| 2012-02-29 Timothy Hatcher <timothy@apple.com> |
| |
| Go through the style rules and mark the used and overloaded properties. |
| |
| Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections): Call _markUsedProperties and |
| pass the result to WebInspector.ComputedStylePropertiesSection. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._markUsedProperties): Added. Copied from open source's |
| StylesSidebarPane.js file. |
| |
| 2012-02-29 Timothy Hatcher <timothy@apple.com> |
| |
| Populate the Style sidebar sections after getting all the style info. |
| |
| Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections): Build a list of style rules |
| that match the cascade order so we can mark used and overloaded properties. Rebuild the sections. |
| * UserInterface/CSSStyleManager.js: |
| (WebInspector.CSSStyleManager.prototype.getInlineStylesAsync): Merge from open source to work with TOT protocol. |
| * UserInterface/StylePropertiesSection.js: |
| (WebInspector.StylePropertiesSection): Don't show a selector if selectorText is empty. |
| |
| 2012-02-29 Timothy Hatcher <timothy@apple.com> |
| |
| Request the style information and store it, then build the sections after the last callback. |
| |
| Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections): Request the style info. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.computedStyleCallback): Store the result. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.matchedStylesCallback): Store the result. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.inlineStylesCallback): Store the results and |
| call buildSections. Since this was the last async call to cssStyleManager, this will always be the last response. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections): Added stub that needs implemented. |
| |
| 2012-02-29 Timothy Hatcher <timothy@apple.com> |
| |
| Remove the refresh code in the Style sidebar since it needs reworked to properly update in one step. |
| |
| The updating needs to be done in one step so the cascade and property priority are taken into account. |
| The previous way of updating the sections in three async steps was not going to work. |
| |
| Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh): Call _rebuildSections. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._refreshStyleRules): Removed. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._refreshAttributeStyles): Removed. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._refreshComputedStyle): Removed. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections): Added stub that needs implemented. |
| |
| 2012-02-28 Timothy Hatcher <timothy@apple.com> |
| |
| More work for resource links in the Style details sidebar. |
| |
| Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DOMDetailsSidebarPanel.js: |
| (WebInspector.DOMDetailsSidebarPanel): Make the event listener capture since another listener interferes. |
| (WebInspector.DOMDetailsSidebarPanel.prototype._mouseWasClicked): Pass along the line number. |
| * UserInterface/Main.js: |
| (WebInspector.openURL): Add support for opening to a line number. Use ResourceSidebarPanel which does all the work. |
| * UserInterface/StylePropertiesSection.js: |
| (WebInspector.StylePropertiesSection): Use _linkify instead of linkifyResourceAsNode. |
| (WebInspector.StylePropertiesSection.prototype._linkify): Added. |
| (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode): Use _linkify instead of linkifyResourceAsNode. |
| |
| 2012-02-28 Timothy Hatcher <timothy@apple.com> |
| |
| Copy over Color.js from open source and hook it up to the Style details sidebar. |
| |
| Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/CSSStyleManager.js: |
| (WebInspector.CSSStyleManager): Use WebInspector.Color.Format. |
| * UserInterface/Color.js: Copied from OpenSource/Source/WebCore/inspector/front-end/Color.js. |
| * UserInterface/Main.html: Included Color.js. |
| * UserInterface/StylePropertyTreeElement.js: Use WebInspector.Color.Format. |
| |
| 2012-02-28 Timothy Hatcher <timothy@apple.com> |
| |
| Get style editing working. |
| |
| Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/BoxModelDetailsSectionRow.js: |
| (WebInspector.BoxModelDetailsSectionRow.prototype._handleKeyDown): Use WebInspector.CSSPropertyPrompt.alteredFloatNumber. |
| * UserInterface/CSSPropertyPrompt.js: |
| (WebInspector.CSSPropertyPrompt): |
| (WebInspector.CSSPropertyPrompt.alteredFloatNumber): Moved from BoxModelDetailsSectionRow. |
| (WebInspector.CSSPropertyPrompt.alteredHexNumber): Added from Open Source. |
| (WebInspector.CSSPropertyPrompt.prototype._handleUpOrDownValue): Use alteredFloatNumber and alteredHexNumber on this class. |
| * UserInterface/EditingSupport.js: |
| (WebInspector.restoreFocusFromElement): Added from Open Source. |
| * UserInterface/Main.html: Included CSSPropertyPrompt.js. |
| * UserInterface/StylePropertyTreeElement.js: |
| (WebInspector.StylePropertyTreeElement.prototype): Create CSSPropertyPrompt correctly. |
| |
| 2012-02-28 Timothy Hatcher <timothy@apple.com> |
| |
| Replace more uses of {add,remove,has}StyleClass with classList.{add,remove,contains}. |
| |
| Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/BlankStylePropertiesSection.js: |
| (WebInspector.BlankStylePropertiesSection): |
| (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback): |
| (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted): |
| (WebInspector.BlankStylePropertiesSection.prototype.makeNormal): |
| * UserInterface/ProfileDataGridTree.js: |
| (WebInspector.ProfileDataGridNode.prototype.createCell): |
| * UserInterface/StylePropertiesSection.js: |
| (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceDoubleClick): |
| |
| 2012-02-28 Timothy Hatcher <timothy@apple.com> |
| |
| Make links work in the Style details sidebar. |
| |
| Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._refreshAttributeStyles): Pass the domNode. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._refreshComputedStyle): Ditto. |
| * UserInterface/DOMDetailsSidebarPanel.js: |
| (WebInspector.DOMDetailsSidebarPanel): Add click event listener. |
| (WebInspector.DOMDetailsSidebarPanel.prototype._mouseWasClicked): Added. Find the parentFrame for |
| the inspected DOM node and then call openURL. |
| * UserInterface/StylePropertyTreeElement.js: |
| (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL): Remove references to |
| elements panel and fix up the linifying code to work with the new Inspector code. |
| |
| 2012-02-29 Brian Weinstein <bweinstein@apple.com> |
| |
| Group together profiles with the same name into folders when there is more than |
| one of them. |
| |
| More of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector. |
| |
| Reviewed by Tim Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: Update localized strings. |
| * UserInterface/InstrumentSidebarPanel.js: |
| (WebInspector.InstrumentSidebarPanel): Add a mapping from profile title -> profile tree element (or folder). |
| (WebInspector.InstrumentSidebarPanel.prototype._profileWasAdded): Add multiple cases for when |
| we add a profile. If it's the first profile with a given name, add it to the sidebar. If there already |
| is a folder that represents all profiles with that name, then add the profile to that folder. If there |
| is already a profile with that same name, create a folder to represent all profiles with that name, |
| and add both the previous profile and the new profile to that folder. |
| |
| 2012-02-28 Brian Weinstein <bweinstein@apple.com> |
| |
| Make console.profile work and show entries in the instrument sidebar. |
| |
| We now enable profiling when we open the web inspector, instead of when we are just told to create |
| a profile. This allows console.profile to work when the web inspector is open. |
| |
| More of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/ProfileManager.js: |
| (WebInspector.ProfileManager): Enable the ProfilerAgent when we start the ProfileManager. |
| (WebInspector.ProfileManager.prototype.startProfilingJavaScript): Call startRecordingProfile. |
| (WebInspector.ProfileManager.prototype.stopProfilingJavaScript): Don't disable the ProfilerAgent. |
| (WebInspector.ProfileManager.prototype.addProfile): If we don't have a recording JavaScript profile (which |
| we wouldn't if addProfile was called from console.profile), then create a new ProfileObject and fire an |
| event. |
| |
| 2012-02-28 Timothy Hatcher <timothy@apple.com> |
| |
| Start showing Computed Style in the Style details sidebar. |
| |
| Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel): Create a Computed Style section. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh): Call _refreshComputedStyle. |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype._refreshComputedStyle): Added. Request the computed styles |
| then make a ComputedStylePropertiesSection. |
| * UserInterface/CSSStyleManager.js: |
| (WebInspector.CSSStyleManager): Added setting for color format. |
| (WebInspector.CSSStyleManager.prototype.get preferredColorFormat): Added. |
| * UserInterface/ComputedStylePropertiesSection.js: |
| (WebInspector.ComputedStylePropertiesSection): Replace addStyleClass with classList.add. |
| (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace): Ditto. |
| * UserInterface/DetailsSection.js: |
| (WebInspector.DetailsSection): Make a empty group by default if none are passed in. |
| * UserInterface/DetailsSectionPropertiesRow.js: Added. |
| (WebInspector.DetailsSectionPropertiesRow): |
| (WebInspector.DetailsSectionPropertiesRow.prototype.get propertiesSection): |
| (WebInspector.DetailsSectionPropertiesRow.prototype.set propertiesSection): |
| * UserInterface/Main.html: Included DetailsSectionPropertiesRow. |
| * UserInterface/StylePropertiesSection.js: |
| (WebInspector.StylePropertiesSection): Removed single-click experiment. |
| * UserInterface/StylePropertyTreeElement.js: |
| (WebInspector.StylePropertyTreeElement.prototype.onattach): Removed single-click experiment. |
| (WebInspector.StylePropertyTreeElement.prototype.updateTitle): Use CSSStyleManager for the color format. |
| Replaced addStyleClass with classList.add and removeStyleClass with classList.remove. |
| |
| 2012-02-27 Timothy Hatcher <timothy@apple.com> |
| |
| Fix some exceptions when running against shipping WebKit. |
| |
| There are no setters for sortOrder or sortColumnIdentifier. Trying to set them use to throw an exception. |
| They just are silently ignored in TOT WebKit. The sort info is properly set earlier in the function. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView): Remove sets for sortOrder and sortColumnIdentifier. |
| |
| 2012-02-27 Timothy Hatcher <timothy@apple.com> |
| |
| Hide the appearance and style details sidebars when the node is not an element. |
| |
| Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/AppearanceDetailsSidebarPanel.js: |
| (WebInspector.AppearanceDetailsSidebarPanel.prototype.supportsDOMNode): Added. Support only ELEMENT_NODE types. |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.supportsDOMNode): Added. Support only ELEMENT_NODE types. |
| * UserInterface/DOMDetailsSidebarPanel.js: |
| (WebInspector.DOMDetailsSidebarPanel.prototype..inspect): Call supportsDOMNode before setting domNode. |
| (WebInspector.DOMDetailsSidebarPanel.prototype.supportsDOMNode): Added. Always return true. |
| |
| 2012-02-27 Timothy Hatcher <timothy@apple.com> |
| |
| Move empty message support from DetailsSectionDataGridRow down to DetailsSectionRow. |
| |
| This allows BoxModelDetailsSectionRow to show a properly styled empty message. It will |
| also allow other rows in the Style details sidebar to do the same. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/BoxModelDetailsSectionRow.js: |
| (WebInspector.BoxModelDetailsSectionRow): Pass the emptyMessage to the DetailsSectionRow constructor. |
| (WebInspector.BoxModelDetailsSectionRow.prototype._refresh): Use showEmptyMessage. |
| (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics): Use hideEmptyMessage |
| * UserInterface/DetailsSection.css: |
| (.details-section > .content > .group > .row.empty): Removed .data-grid from the selector. |
| * UserInterface/DetailsSectionDataGridRow.js: |
| (WebInspector.DetailsSectionDataGridRow): Pass the emptyMessage to DetailsSectionRow constructor. |
| (WebInspector.DetailsSectionDataGridRow.prototype.set dataGrid): Use showEmptyMessage |
| and hideEmptyMessage. |
| * UserInterface/DetailsSectionRow.js: |
| (WebInspector.DetailsSectionRow): Initialize the _emptyMessage. |
| (WebInspector.DetailsSectionRow.prototype.get emptyMessage): Added. |
| (WebInspector.DetailsSectionRow.prototype.set emptyMessage): Added. |
| (WebInspector.DetailsSectionRow.prototype.showEmptyMessage): Added. |
| (WebInspector.DetailsSectionRow.prototype.hideEmptyMessage): Added. |
| |
| 2012-02-27 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.CSSStyleDetailsSidebarPanel and make it show up in the details sidebar. |
| |
| Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/CSSStyleDetailsSidebarPanel.js: Added. |
| (WebInspector.CSSStyleDetailsSidebarPanel): |
| (WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh): |
| * UserInterface/Images/NavigationItemCurleyBraces.pdf: Added. |
| * UserInterface/Main.html: |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| |
| 2012-02-27 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.CSSObserver and wire it up to the InspectorBackend. |
| |
| Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/CSSObserver.js: Added. |
| (WebInspector.CSSObserver): |
| (WebInspector.CSSObserver.prototype.mediaQueryResultChanged): |
| (WebInspector.CSSObserver.prototype.styleSheetChanged): |
| * UserInterface/Main.html: Included CSSObserver.js. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Call registerCSSDispatcher with an CSSObserver instance. |
| |
| 2012-02-24 Brian Weinstein <bweinstein@apple.com> |
| |
| Add a sane name for user generated profiles. |
| |
| More of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/InstrumentSidebarPanel.js: |
| (WebInspector.InstrumentSidebarPanel.prototype.addProfile): |
| * UserInterface/ProfileManager.js: |
| |
| 2012-02-24 Brian Weinstein <bweinstein@apple.com> |
| |
| Create a JavaScriptProfileView when a profile is selected and show it. |
| |
| More of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector. |
| |
| Reviewed by Tim Hatcher. |
| |
| * Localizations/en.lproj/localizedStrings.js: Update localized strings. |
| * UserInterface/ContentView.js: |
| (WebInspector.ContentView): Add a case for ProfileObject. |
| (WebInspector.ContentView.isViewable): Ditto. |
| * UserInterface/InstrumentSidebarPanel.js: |
| (WebInspector.InstrumentSidebarPanel): Add a listener for when items in the content tree outline are selected. |
| (WebInspector.InstrumentSidebarPanel.prototype._profileSelected): Call showContentViewForRepresentedObject on |
| the selected ProfileObject. |
| * UserInterface/Main.js: |
| (WebInspector.sidebarPanelForRepresentedObject): Add a case for ProfileObject. |
| |
| 2012-02-24 Brian Weinstein <bweinstein@apple.com> |
| |
| Hook up Start/Stop Profiling JavaScript in the Develop menu, and make each profile show |
| up as a sidebar item. |
| |
| More of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/InspectorFrontendAPI.js: |
| (InspectorFrontendAPI.isProfilingJavaScript): Call into the ProfileManager. |
| (InspectorFrontendAPI.startProfilingJavaScript): Ditto. |
| (InspectorFrontendAPI.stopProfilingJavaScript): Ditto. |
| |
| * UserInterface/InstrumentSidebarPanel.js: |
| (WebInspector.InstrumentSidebarPanel.prototype._profileWasAdded): Create a tree element for the added profile. |
| (WebInspector.InstrumentSidebarPanel.prototype._profileWasUpdated): Update the title of the tree element for the |
| profile that was updated. |
| |
| * UserInterface/JavaScriptProfileType.js: Change the value of a constant to match data we get back |
| from the Profiler. |
| |
| * UserInterface/ProfileManager.js: |
| (WebInspector.ProfileManager.prototype.constructor.WebInspector.ProfileManager.initialize): Clear the current JavaScript |
| profile variable. |
| (WebInspector.ProfileManager.prototype.isProfilingJavaScript): Return whether or not we are profiling JavaScript. |
| (WebInspector.ProfileManager.prototype.startProfilingJavaScript): Enable the ProfilerAgent, we kick off the profile in |
| the callback. |
| (WebInspector.ProfileManager.prototype.stopProfilingJavaScript): Stop recording the current profile and disable the |
| ProfilerAgent. |
| (WebInspector.ProfileManager.prototype.addProfile): Update our temporary recording profile to give it the information about |
| the profile that was added, and fire an event that the profile was u pdated. |
| (WebInspector.ProfileManager.prototype.setRecordingProfile): Create a temporary profile if needed, and fire an event that |
| it was created. |
| (WebInspector.ProfileManager.prototype._profilerWasEnabled): Create a JavaScriptProfileType and start recording. |
| |
| * UserInterface/ProfilerObserver.js: |
| (WebInspector.ProfilerObserver.prototype.addProfileHeader): Call ProfileManager.addProfile. |
| (WebInspector.ProfilerObserver.prototype.setRecordingProfile): Call ProfileManager.setRecordingProfile. |
| |
| 2012-02-24 Brian Weinstein <bweinstein@apple.com> |
| |
| Add a stub ProfilerObserver and hook it up in Main.js. |
| |
| More of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/Main.html: Add new file. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Set up the ProfilerObserver. |
| * UserInterface/ProfilerObserver.js: Added. |
| (WebInspector.ProfilerObserver): |
| (WebInspector.ProfilerObserver.prototype.constructor.WebInspector.ProfilerObserver.resetProfiles): |
| (WebInspector.ProfilerObserver.prototype.addProfileHeader): |
| (WebInspector.ProfilerObserver.prototype.addHeapSnapshotChunk): |
| (WebInspector.ProfilerObserver.prototype.finishHeapSnapshot): |
| (WebInspector.ProfilerObserver.prototype.setRecordingProfile): |
| (WebInspector.ProfilerObserver.prototype.reportHeapSnapshotProgress): |
| |
| 2012-02-24 Brian Weinstein <bweinstein@apple.com> |
| |
| Add ProfileType and JavaScriptProfileType to Main.html, since later patches will depend on them. |
| |
| More of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/Main.html: |
| |
| 2012-02-24 Brian Weinstein <bweinstein@apple.com> |
| |
| Make ProfileDataGridTree work with the changes to the new inspector. |
| |
| - Update the way formatted strings are created |
| - Changes the settings to use the new inspector's syntax |
| - Remove the depedency on the linkifier |
| |
| More of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/ProfileDataGridTree.js: |
| (WebInspector.ProfileDataGridNode.prototype.get data): |
| (WebInspector.ProfileDataGridNode.prototype.linkifyLocation): |
| (WebInspector.ProfileDataGridNode.prototype.createCell): |
| |
| 2012-02-24 Brian Weinstein <bweinstein@apple.com> |
| |
| Bring in some specialized profile data grid components from open source. |
| |
| More of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/BottomUpProfileDataGridTree.js: Added. Copied from open source. |
| * UserInterface/ProfileDataGridTree.js: Added. Copied from open source. |
| * UserInterface/TopDownProfileDataGridTree.js: Added. Copied from open source. |
| * UserInterface/Main.html: Add new files. |
| |
| 2012-02-24 Brian Weinstein <bweinstein@apple.com> |
| |
| Add rules from open source for the profile view to JavaScriptProfileView.css. |
| |
| More of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/JavaScriptProfileView.css: Added. Copied rules from open source. |
| * UserInterface/Main.html: Added file. |
| |
| 2012-02-24 Brian Weinstein <bweinstein@apple.com> |
| |
| Clean up JavaScriptProfileView so it can be used in the new inspector. |
| |
| This patch: |
| - Removes the status bar buttons (adding a FIXME to bring back that functionality) |
| - Makes the class inherit from ContentView instead of just View |
| - Replaces *styleClass functions with classList.* |
| - Changes the settings to use the new inspector's syntax |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/JavaScriptProfileView.js: |
| (WebInspector.JavaScriptProfileView): |
| (WebInspector.JavaScriptProfileView.prototype._changeView): |
| (WebInspector.JavaScriptProfileView.prototype._percentClicked): |
| (WebInspector.JavaScriptProfileView.prototype._updatePercentButton): |
| (WebInspector.JavaScriptProfileView.prototype._focusClicked): |
| (WebInspector.JavaScriptProfileView.prototype._excludeClicked): |
| (WebInspector.JavaScriptProfileView.prototype._resetClicked): |
| (WebInspector.JavaScriptProfileView.prototype._dataGridNodeSelected): |
| (WebInspector.JavaScriptProfileView.prototype._dataGridNodeDeselected): |
| (WebInspector.JavaScriptProfileView.prototype._mouseDownInDataGrid): |
| * UserInterface/Main.html: Add JavaScriptProfileView. |
| |
| 2012-02-24 Brian Weinstein <bweinstein@apple.com> |
| |
| Add a ProfileObject class, which just holds some data about profiles (type, title, uid, and whether or not |
| it is temporary). |
| |
| More of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/ProfileObject.js: Added. |
| (WebInspector.ProfileObject): |
| (WebInspector.ProfileObject.prototype.constructor.WebInspector.ProfileObject.get typeId): |
| (WebInspector.ProfileObject.prototype.get title): |
| (WebInspector.ProfileObject.prototype.get uid): |
| (WebInspector.ProfileObject.prototype.get isTemporary): |
| |
| 2012-02-22 Brian Weinstein <bweinstein@apple.com> |
| |
| Create a stub ProfileManager and add an initialize method. |
| |
| More of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/Main.html: Add new file. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Create a profile manager. |
| * UserInterface/ProfileManager.js: Added. |
| (WebInspector.ProfileManager): |
| (WebInspector.ProfileManager.prototype.constructor.WebInspector.ProfileManager.initialize): |
| |
| 2012-02-20 Brian Weinstein <bweinstein@apple.com> |
| |
| Rename CPUProfile to JavaScriptProfile. |
| |
| More of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/JavaScriptProfileType.js: |
| (WebInspector.JavaScriptProfileType): |
| (WebInspector.JavaScriptProfileType.prototype.createView): |
| * UserInterface/JavaScriptProfileView.js: |
| (WebInspector.JavaScriptProfileView.prototype._changeView.set else): |
| |
| 2012-02-20 Brian Weinstein <bweinstein@apple.com> |
| |
| Bring in some files from open source. |
| |
| Start of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/JavaScriptProfileType.js: Added. Copied from open source. |
| * UserInterface/JavaScriptProfileView.js: Added. Copied from open source. |
| * UserInterface/ProfileType.js: Added. Copied from open source. |
| |
| 2012-02-26 Timothy Hatcher <timothy@apple.com> |
| |
| Use insertionIndexForObjectInListSortedByFunction to efficiently build the timeline data grids. |
| |
| Calling _sortCurrentDataGrid for each update was expensive since it removes all the rows and reinserts them. |
| |
| Part of: <rdar://problem/10319553&10319567&10319571> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DataGrid.js: |
| (WebInspector.DataGridNode.prototype._attach): Fix a bug that prevented inserting the row in the right place. |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView.prototype._updatePendingRecords): Use insertionIndexForObjectInListSortedByFunction |
| when there is a sortColumnIdentifier. Don't call _sortCurrentDataGrid anymore. |
| (WebInspector.TimelinesContentView.prototype._sortCurrentDataGrid): Use _sortComparator. |
| (WebInspector.TimelinesContentView.prototype._sortComparator): Added. Factored out of _sortCurrentDataGrid. |
| |
| 2012-02-26 Timothy Hatcher <timothy@apple.com> |
| |
| Show recoding status in the Instrument sidebar and allow manually starting and stopping recording. |
| |
| Part of: <rdar://problem/10319553&10319567&10319571> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/Images/Recording.png: Added. |
| * UserInterface/Images/Recording@2x.png: Added. |
| * UserInterface/Images/RecordingHovered.png: Added. |
| * UserInterface/Images/RecordingHovered@2x.png: Added. |
| * UserInterface/Images/RecordingStopped.png: Added. |
| * UserInterface/Images/RecordingStopped@2x.png: Added. |
| * UserInterface/InstrumentSidebarPanel.css: |
| (.sidebar > .panel.instrument > .title-bar): |
| (.sidebar > .panel.instrument > .title-bar.timelines > .record-glyph): |
| (.sidebar > .panel.instrument > .title-bar.timelines > .record-glyph.recording): |
| (.sidebar > .panel.instrument > .title-bar.timelines > .record-glyph:hover): |
| (.sidebar > .panel.instrument > .title-bar.timelines > .record-glyph.recording:hover): |
| (.sidebar > .panel.instrument > .title-bar.timelines > .record-glyph.forced): |
| (.sidebar > .panel.instrument > .title-bar.timelines > .record-glyph.recording.forced): |
| (.sidebar > .panel.instrument > .title-bar.timelines > .record-status): |
| * UserInterface/InstrumentSidebarPanel.js: |
| (WebInspector.InstrumentSidebarPanel): Create glyph and status elements. |
| (WebInspector.InstrumentSidebarPanel.prototype._recordingStarted): Added. Update glyph and status. |
| (WebInspector.InstrumentSidebarPanel.prototype._recordingStopped): Added. Ditto. |
| (WebInspector.InstrumentSidebarPanel.prototype._recordGlyphMousedOver): Added. Clear forced class. |
| Update status to reflect what it will be if the button is clicked. |
| (WebInspector.InstrumentSidebarPanel.prototype._recordGlyphMousedOut): Added. Restore current status. |
| (WebInspector.InstrumentSidebarPanel.prototype._recordGlyphClicked): Added. Add forced class to prevent |
| the glyph from showing a confusing status after click. |
| |
| 2012-02-26 Timothy Hatcher <timothy@apple.com> |
| |
| Draw the overview bar graph at the top of the timeline content view. |
| |
| Part of: <rdar://problem/10319553&10319567&10319571> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/TimelineOverview.css: |
| (.timeline-overview > .timeline > .bar-container): |
| (.timeline-overview > .timeline .bar): |
| (.timeline-overview > .timeline .bar.waiting): |
| (.timeline-overview > .timeline.timeline-record-type-network .bar): |
| (.timeline-overview > .timeline.timeline-record-type-layout .bar): |
| (.timeline-overview > .timeline.timeline-record-type-script .bar): |
| * UserInterface/TimelineOverview.js: |
| (WebInspector.TimelineOverview): Create a bar container in each timeline. |
| (WebInspector.TimelineOverview.prototype.update): Call _updateTimelineBars for each type. |
| (WebInspector.TimelineOverview.prototype._updateTimelineBars): Added. |
| (WebInspector.TimelineOverview.prototype._updateTimelineBars.computePercentages): Compute percentages |
| for startTime and endTime. |
| (WebInspector.TimelineOverview.prototype._updateTimelineBars.computeActivePercentages): Compute percentages |
| for endTime and the start of activeDuration. |
| (WebInspector.TimelineOverview.prototype._updateTimelineBars.addBar): Create a bar and append it. |
| (WebInspector.TimelineOverview.prototype._updateTimelineBars.createBars): Iterate over the records and find |
| the distribution on the graph. |
| |
| 2012-02-26 Timothy Hatcher <timothy@apple.com> |
| |
| Improve auto recording of timeline data so it stops at a reasonable time instead of a fixed 30 seconds. |
| |
| Recording will now stop when there has been 1 second of dead time after the load event fires. Or after a |
| maximum of 10 seconds after the load event fires. This works well for a number of large and small sites. |
| |
| Part of: <rdar://problem/10319553&10319567&10319571> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/TimelineManager.js: |
| (WebInspector.TimelineManager): Initialize _domContentLoadedEventTime and _loadEventTime. |
| (WebInspector.TimelineManager.prototype.get mainFrameLoadEventTime): Added. |
| (WebInspector.TimelineManager.prototype.get mainFrameDOMContentLoadedEventTime): Added. |
| (WebInspector.TimelineManager.prototype.startRecording): Initialize _domContentLoadedEventTime and _loadEventTime. |
| (WebInspector.TimelineManager.prototype.stopRecording): Clear _deadTimeTimeout. |
| (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Process the MarkLoad and MarkDOMContent records. |
| Call _stopAutoRecordingSoon for MarkLoad. |
| (WebInspector.TimelineManager.prototype._addRecord): Call _resetAutoRecordingDeadTimeTimeout. |
| (WebInspector.TimelineManager.prototype._startAutoRecording): Removed timeout for stopRecording. |
| (WebInspector.TimelineManager.prototype._stopAutoRecordingSoon): Added. Start a timeout for the maximum time. Also |
| call _resetAutoRecordingDeadTimeTimeout to start watching dead time. |
| (WebInspector.TimelineManager.prototype._resetAutoRecordingDeadTimeTimeout): Added. Reset the dead time timeout. |
| |
| 2012-02-26 Timothy Hatcher <timothy@apple.com> |
| |
| Draw the times in the timeline overview header. |
| |
| Part of: <rdar://problem/10319553&10319567&10319571> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/InstrumentSidebarPanel.css: |
| (.sidebar > .panel.instrument > .navigation-sidebar-panel-content-tree-outline.timelines .item:not(:first-child):not(.selected)): Reduce divider opacity. |
| * UserInterface/TimelineOverview.css: |
| (.timeline-overview > .header): Added. |
| (.timeline-overview > .header > .divider): Added. |
| (.timeline-overview > .header > .divider:last-child): Added. |
| (.timeline-overview > .header > .divider > .label): Added. |
| (.timeline-overview > .header > .divider:first-child > .label): Added. |
| (.timeline-overview > .timeline): Added. |
| (.timeline-overview > .timeline:not(:first-child)): Added. |
| * UserInterface/TimelineOverview.js: |
| (WebInspector.TimelineOverview): Create the header element and timeline rows. |
| (WebInspector.TimelineOverview.prototype.get recordTypes): Added. |
| (WebInspector.TimelineOverview.prototype.clear): Added. Reset the minimum and maximum boundaries. Call _updateHeaderTimes. |
| (WebInspector.TimelineOverview.prototype.update): Added. Find the minimum and maximum times. Call _updateHeaderTimes. |
| (WebInspector.TimelineOverview.prototype.updateLayout): Added. Call _updateHeaderTimes. |
| (WebInspector.TimelineOverview.prototype._updateHeaderTimes): Added. Update the dividers and labels. |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView.prototype.updateLayout): Call updateLayout on the timeline overview. |
| (WebInspector.TimelinesContentView.prototype.timelineOverviewRecordsWithType): Added. |
| (WebInspector.TimelinesContentView.prototype._addRecordToDataGrid): Don't return early, call _updatePendingRecordsSoon. |
| (WebInspector.TimelinesContentView.prototype._updatePendingRecordsSoon): Return early if not visible. |
| (WebInspector.TimelinesContentView.prototype._updatePendingRecords): Call update on the timeline overview. Fix if statement. |
| (WebInspector.TimelinesContentView.prototype._scheduleGridNodeForRefresh): Don't return early, call _updatePendingRecordsSoon. |
| |
| 2012-02-25 Timothy Hatcher <timothy@apple.com> |
| |
| Add the start of WebInspector.TimelineOverview, the overview graph at the top of the timeline content view. |
| |
| Part of: <rdar://problem/10319553&10319567&10319571> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Main.html: |
| * UserInterface/TimelineOverview.css: Added. |
| (.timeline-overview): |
| * UserInterface/TimelineOverview.js: Added. |
| (WebInspector.TimelineOverview): |
| (WebInspector.TimelineOverview.prototype.get element): |
| * UserInterface/TimelinesContentView.css: |
| (.content-view.timelines > .timeline-overview): |
| * UserInterface/TimelinesContentView.js: |
| |
| 2012-02-25 Timothy Hatcher <timothy@apple.com> |
| |
| Add a way to jump to resource source code from the Network and Script timeline data grid. |
| |
| Part of: <rdar://problem/10319553&10319567> |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DataGrid.js: |
| (WebInspector.DataGrid): Remove capture on the click and mousedown events. This allows the go-to |
| to prevent row selection in the data grid. |
| * UserInterface/ImageUtilities.js: |
| (generateColoredImage): Added support for adjusting the alpha by multiplying. |
| (generateColoredImagesForCSS.generateImage): Pass along the fillColor alpha. |
| * UserInterface/Main.css: |
| (.go-to-arrow): Added. |
| (.go-to-arrow:active): Added. |
| (:focus .selected .go-to-arrow): Added. |
| (:focus .selected .go-to-arrow:active): Added. |
| * UserInterface/Main.js: |
| (WebInspector.createGoToArrowButton.stopPropagation): Added. |
| (WebInspector.createGoToArrowButton): Added. Generate the images and button element. |
| * UserInterface/ResourceTimelineDataGridNode.js: |
| (WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent): Append a go-to button to the name column. |
| (WebInspector.ResourceTimelineDataGridNode.prototype._goToResource): Added. Show the resource. |
| * UserInterface/ScriptTimelineDataGridNode.js: |
| (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent): Append a go-to button to the resource column. |
| (WebInspector.ScriptTimelineDataGridNode.prototype._goToResource): Added. Show the resource and line. |
| * UserInterface/TimelinesContentView.css: |
| (.content-view.timelines > .data-grid td .go-to-arrow): Added. Float right, hidden by default |
| (.content-view.timelines > .data-grid tr:hover .go-to-arrow): Added. Show the button. |
| |
| 2012-02-25 Timothy Hatcher <timothy@apple.com> |
| |
| Fix some exceptions that occurred when clicking on a resource in the Issues sidebar. |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView): Move _issues and _contentPopulated above the call to the ResourceContentView |
| constructor since addIssue needs them and ResourceContentView populates the issues. |
| |
| 2012-02-25 Timothy Hatcher <timothy@apple.com> |
| |
| Share code for generating disclosure triangles so it can be used in other places. |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/DetailsSection.js: |
| (WebInspector.DetailsSection.prototype._generateDisclosureTrianglesIfNeeded): Use generateColoredImagesForCSS. |
| * UserInterface/ImageUtilities.js: |
| (generateColoredImagesForCSS): Added. Copied from NavigationSidebarPanel and made generic. |
| (generateColoredImagesForCSS.imageLoaded): Added. |
| (generateColoredImagesForCSS.generateImage): Added. |
| * UserInterface/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel.prototype._generateDisclosureTrianglesIfNeeded): Use generateColoredImagesForCSS. |
| |
| 2012-02-24 Timothy Hatcher <timothy@apple.com> |
| |
| Populate the Script data grid in the timeline content view. |
| |
| Part of: <rdar://problem/10319567> Implement the Script instrument for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/Main.html: Included ScriptTimelineDataGridNode.js and ScriptTimelineRecord.js. |
| * UserInterface/ScriptTimelineDataGridNode.js: Added. |
| (WebInspector.ScriptTimelineDataGridNode): |
| (WebInspector.ScriptTimelineDataGridNode.prototype.get record): |
| (WebInspector.ScriptTimelineDataGridNode.prototype.get data): |
| (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent): |
| * UserInterface/ScriptTimelineRecord.js: Added. |
| (WebInspector.ScriptTimelineRecord): |
| (WebInspector.ScriptTimelineRecord.EventType.displayName): |
| (WebInspector.ScriptTimelineRecord.prototype.get eventType): |
| (WebInspector.ScriptTimelineRecord.prototype.get details): |
| (WebInspector.ScriptTimelineRecord.prototype.get resource): |
| (WebInspector.ScriptTimelineRecord.prototype.get lineNumber): |
| * UserInterface/TimelineManager.js: |
| (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Handle script record types. |
| (WebInspector.TimelineManager.prototype.eventRecorded): Pass along the parent record to processRecord. |
| * UserInterface/TimelinesContentView.css: |
| (.content-view.timelines > .data-grid .resource-column .icon): Updated the selector to work with name-column and resource-column. |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView): |
| (WebInspector.TimelinesContentView.prototype._sortCurrentDataGrid.comparator): Handle WebInspector.Resource values. |
| (WebInspector.TimelinesContentView.prototype._createDataGridNodeForRecord): Create a ScriptTimelineDataGridNode. |
| |
| 2012-02-24 Timothy Hatcher <timothy@apple.com> |
| |
| Populate the Layout & Rendering data grid in timeline content view. |
| |
| Part of: <rdar://problem/10319571> Implement the Rendering instrument for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/LayoutTimelineDataGridNode.js: Added. |
| (WebInspector.LayoutTimelineDataGridNode): |
| (WebInspector.LayoutTimelineDataGridNode.prototype.get record): |
| (WebInspector.LayoutTimelineDataGridNode.prototype.get data): |
| (WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent): |
| * UserInterface/LayoutTimelineRecord.js: Added. |
| (WebInspector.LayoutTimelineRecord): |
| (WebInspector.LayoutTimelineRecord.EventType.displayName): |
| (WebInspector.LayoutTimelineRecord.prototype.get eventType): |
| (WebInspector.LayoutTimelineRecord.prototype.get x): |
| (WebInspector.LayoutTimelineRecord.prototype.get y): |
| (WebInspector.LayoutTimelineRecord.prototype.get width): |
| (WebInspector.LayoutTimelineRecord.prototype.get height): |
| (WebInspector.LayoutTimelineRecord.prototype.get area): |
| * UserInterface/Main.html: Included LayoutTimelineRecord.js and LayoutTimelineDataGridNode.js. |
| * UserInterface/TimelineManager.js: |
| (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Create record objects for each type. |
| (WebInspector.TimelineManager.prototype.eventRecorded): Iterate over the records. |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView): Create columns for the Layout data grid. |
| (WebInspector.TimelinesContentView.prototype._createDataGridNodeForRecord): Create a LayoutTimelineDataGridNode. |
| |
| 2012-02-22 Timothy Hatcher <timothy@apple.com> |
| |
| Adjust the output of Number.secondsToString to give higher resolution for < 100ms. |
| |
| Part of: <rdar://problem/10319553> Implement the Network instrument for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/Utilities.js: |
| (Number.secondsToString): Show more decimal points for < 100ms. Reduce the number of |
| decimal points in higher resolution mode as well. |
| |
| 2012-02-22 Timothy Hatcher <timothy@apple.com> |
| |
| Support sorting the data grids in the timeline view. |
| |
| Part of: <rdar://problem/10319553&10319567&10319571> |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DataGrid.css: |
| (.data-grid th.sort-descending > div): Add some padding so the sort direction arrow does not overlap the text. |
| * UserInterface/Resource.js: |
| (WebInspector.Resource): Initialize _cached so it can sort properly. |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView): Add event listeners for sorting changes. |
| (WebInspector.TimelinesContentView.prototype._updatePendingRecords): Call _sortCurrentDataGrid. |
| (WebInspector.TimelinesContentView.prototype._sortCurrentDataGrid): Added. |
| (WebInspector.TimelinesContentView.prototype._sortCurrentDataGrid.comparator): Added. |
| |
| 2012-02-22 Timothy Hatcher <timothy@apple.com> |
| |
| Separate data from presentation in ResourceTimelineDataGridNode to make it easy to sort using the raw data. |
| |
| Part of: <rdar://problem/10319553> Implement the Network instrument for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DataGrid.js: |
| (WebInspector.DataGridNode.prototype.createCell): Make a text node if the content isn't a Node. |
| (WebInspector.DataGridNode.prototype.createCellContent): Return raw data. The text node is made by the caller. |
| * UserInterface/ResourceTimelineDataGridNode.js: |
| (WebInspector.ResourceTimelineDataGridNode.prototype.get data): Return the raw data instead of formatted data. |
| (WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent): Format the data based on the column. |
| |
| 2012-02-22 Timothy Hatcher <timothy@apple.com> |
| |
| Cause network records to update in batches with any new records being added to reduce flashing. |
| |
| Part of: <rdar://problem/10319553> Implement the Network instrument for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ResourceTimelineDataGridNode.js: |
| (WebInspector.ResourceTimelineDataGridNode): Update event listeners to call _needsRefresh. |
| (WebInspector.ResourceTimelineDataGridNode.prototype.get record): Added. |
| (WebInspector.ResourceTimelineDataGridNode.prototype.refresh): Remove timeout check. |
| (WebInspector.ResourceTimelineDataGridNode.prototype._needsRefresh): Renamed from _refreshSoon. Fire |
| NeedsRefresh event. |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView): Add event listener for NeedsRefresh. |
| (WebInspector.TimelinesContentView.prototype.showTimelineForRecordType): Call _updatePendingRecords. |
| (WebInspector.TimelinesContentView.prototype.shown): Call _updatePendingRecords. |
| (WebInspector.TimelinesContentView.prototype._addRecordToDataGrid): Call _updatePendingRecordsSoon. |
| (WebInspector.TimelinesContentView.prototype._updatePendingRecordsSoon): Renamed from _addPendingRecordsSoon. |
| (WebInspector.TimelinesContentView.prototype._updatePendingRecords): Renamed from _addPendingRecords. Also |
| refresh pending grid nodes. |
| (WebInspector.TimelinesContentView.prototype._scheduleGridNodeForRefresh): Added. Store the grid node and |
| call _updatePendingRecordsSoon. |
| |
| 2012-02-22 Timothy Hatcher <timothy@apple.com> |
| |
| Properly record main resources for all frames in the Network timeline. |
| |
| Part of: <rdar://problem/10319553> Implement the Network instrument for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/TimelineManager.js: |
| (WebInspector.TimelineManager): Change MainFrameDidChange listener to _mainResourceDidChange. |
| (WebInspector.TimelineManager.prototype._startAutoRecording): Return true if recording started. |
| (WebInspector.TimelineManager.prototype._mainResourceDidChange): Added. Call _startAutoRecording, |
| return early if true. Add the main resource as a record if it isn't the auto recording resource. |
| |
| 2012-02-22 Timothy Hatcher <timothy@apple.com> |
| |
| Always clear records and restart recording when navigating to a new page. |
| |
| Part of: <rdar://problem/10319553&10319567&10319571> |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/TimelineManager.js: |
| (WebInspector.TimelineManager.prototype.stopRecording): Clear _autoRecordingMainResourceRequestIdentifier. |
| (WebInspector.TimelineManager.prototype._startAutoRecording): Set _autoRecordingMainResourceRequestIdentifier. |
| Don't return early if _autoRecordingMainResourceRequestIdentifier. |
| |
| 2012-02-22 Timothy Hatcher <timothy@apple.com> |
| |
| Show resource icons and failed loads in the Network data grid. |
| |
| Part of: <rdar://problem/10319553> Implement the Network instrument for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DataGrid.js: |
| (WebInspector.DataGridNode.prototype.createCell): Call createCellContent. |
| (WebInspector.DataGridNode.prototype.createCellContent): Added. Make a text node. |
| * UserInterface/ResourceTimelineDataGridNode.js: |
| (WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent): Added. Create a fragment |
| for the name column with an icon. Add the error class to all cells for failed loads. |
| * UserInterface/TimelinesContentView.css: |
| (.content-view.timelines > .data-grid .name-column .icon): Added. |
| (.content-view.timelines > .data-grid td.error): Added. Color red. |
| (.content-view.timelines > .data-grid tr.selected td.error): Added. Color white. |
| |
| 2012-02-21 Timothy Hatcher <timothy@apple.com> |
| |
| Start populating the Network timeline data grid with resource load information. |
| |
| Part of: <rdar://problem/10319553> Implement the Network instrument for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/Main.html: Included ResourceTimelineDataGridNode.js. |
| * UserInterface/Resource.js: |
| (WebInspector.Resource): Initialize _responseHeaders to avoid an exception. |
| (WebInspector.Resource.prototype.get statusCode): Added. |
| (WebInspector.Resource.prototype.get statusText): Added. |
| * UserInterface/ResourceTimelineDataGridNode.js: Added. |
| (WebInspector.ResourceTimelineDataGridNode): |
| (WebInspector.ResourceTimelineDataGridNode.prototype.get data): |
| * UserInterface/ResourceTimelineRecord.js: |
| (WebInspector.ResourceTimelineRecord): Add event listener for TimestampsDidChange. |
| (WebInspector.ResourceTimelineRecord.prototype._dispatchUpdatedEvent): Added. Fire Updated event. |
| * UserInterface/TimelinesContentView.css: |
| (.content-view.timelines > .data-grid td:last-child): |
| (.content-view.timelines > .data-grid td): |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView): Create the Network data grid headers and populate _pendingRecords. |
| (WebInspector.TimelinesContentView.prototype.showTimelineForRecordType): Call updateWidths |
| and _addPendingRecords. |
| (WebInspector.TimelinesContentView.prototype.updateLayout): Added. |
| (WebInspector.TimelinesContentView.prototype.shown): Call _addPendingRecords. |
| (WebInspector.TimelinesContentView.prototype._recordingStarted): Added. |
| (WebInspector.TimelinesContentView.prototype._recordAdded): Added. |
| (WebInspector.TimelinesContentView.prototype._addRecordToDataGrid): Added. |
| (WebInspector.TimelinesContentView.prototype._addPendingRecordsSoon): Added. |
| (WebInspector.TimelinesContentView.prototype._addPendingRecords): Added. |
| (WebInspector.TimelinesContentView.prototype._createDataGridNodeForRecord): Added. |
| * UserInterface/Utilities.js: |
| (Number.secondsToString): Added. Copied from open source. |
| |
| 2012-02-21 Timothy Hatcher <timothy@apple.com> |
| |
| Make showing a timeline switch to a different data grid and reflect the selected timeline |
| in the sidebar and the navigation bar. |
| |
| Also make the timeline show when reopening the inspector when it was showing last time. |
| |
| Part of: <rdar://problem/10319553&10319567&10319571> |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/InstrumentSidebarPanel.js: |
| (WebInspector.InstrumentSidebarPanel): Don't store the tree elements on this. Create a map of tree elements |
| based on the the record type. |
| (WebInspector.InstrumentSidebarPanel.prototype.showTimeline): Added. |
| (WebInspector.InstrumentSidebarPanel.prototype.showTimelineForRecordType): Added. Select the tree element. |
| (WebInspector.InstrumentSidebarPanel.prototype.cookieForContentView): Added. |
| (WebInspector.InstrumentSidebarPanel.prototype.showContentViewForCookie): Added. |
| (WebInspector.InstrumentSidebarPanel.prototype._timelinesTreeElementSelected): |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView.createPathComponent): Added. |
| (WebInspector.TimelinesContentView): Create the path components and test data grids. |
| (WebInspector.TimelinesContentView.prototype.showTimelineForRecordType): Added. Show the data grid. Update |
| the path component. Tell the sidebar panel to select the right tree element. |
| (WebInspector.TimelinesContentView.prototype.get selectionPathComponents): Added. |
| (WebInspector.TimelinesContentView.prototype.shown): Added. |
| (WebInspector.TimelinesContentView.prototype._pathComponentSelected): Added. |
| |
| 2012-02-21 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.TimelineRecord and WebInspector.ResourceTimelineRecord. Start recording Network records on load. |
| |
| Part of: <rdar://problem/10319553&10319567&10319571> |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Main.html: |
| * UserInterface/ResourceTimelineRecord.js: Added. |
| (WebInspector.ResourceTimelineRecord): |
| (WebInspector.ResourceTimelineRecord.prototype.get resource): |
| (WebInspector.ResourceTimelineRecord.prototype.get startTime): |
| (WebInspector.ResourceTimelineRecord.prototype.get endTime): |
| (WebInspector.ResourceTimelineRecord.prototype.get waitingDuration): |
| (WebInspector.ResourceTimelineRecord.prototype.get activeDuration): |
| * UserInterface/TimelineManager.js: |
| (WebInspector.TimelineManager): Listen for Frame events. Initialize properties. |
| (WebInspector.TimelineManager.prototype.get recording): Added. |
| (WebInspector.TimelineManager.prototype.get records): Added. |
| (WebInspector.TimelineManager.prototype.get recordsWithType): Added. |
| (WebInspector.TimelineManager.prototype.startRecording): Clear records. Dispatch RecordingStarted event. |
| (WebInspector.TimelineManager.prototype.stopRecording): Clear timeout. Dispatch RecordingStopped event. |
| (WebInspector.TimelineManager.prototype._addRecord): Added. Adds record and dispatches RecordAdded event. |
| (WebInspector.TimelineManager.prototype._startAutoRecording): Added. Start recording and |
| (WebInspector.TimelineManager.prototype._resourceWasAdded): Added. Create a record. |
| * UserInterface/TimelineRecord.js: Added. |
| (WebInspector.TimelineRecord): |
| (WebInspector.TimelineRecord.prototype.get startTime): |
| (WebInspector.TimelineRecord.prototype.get endTime): |
| (WebInspector.TimelineRecord.prototype.get duration): |
| (WebInspector.TimelineRecord.prototype.get waitingDuration): |
| (WebInspector.TimelineRecord.prototype.get activeDuration): |
| |
| 2012-02-20 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.TimelineObserver and WebInspector.TimelineManager. |
| |
| Part of: <rdar://problem/10319553&10319567&10319571> |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Main.html: Included TimelineManager.js and TimelineObserver.js. |
| * UserInterface/Main.js: Create an instance of TimelineManager. |
| (WebInspector.contentLoaded): |
| * UserInterface/TimelineManager.js: Added. |
| (WebInspector.TimelineManager): |
| (WebInspector.TimelineManager.prototype.startRecording): |
| (WebInspector.TimelineManager.prototype.stopRecording): |
| (WebInspector.TimelineManager.prototype.eventRecorded): |
| * UserInterface/TimelineObserver.js: Added. |
| (WebInspector.TimelineObserver): |
| (WebInspector.TimelineObserver.prototype.eventRecorded): Call TimelineManager. |
| |
| 2012-02-20 Timothy Hatcher <timothy@apple.com> |
| |
| Change the names for the Instrument timelines based on feedback from Adam. |
| |
| Now: "Network Requests", "Layout & Rendering" and "JavaScript & Events". |
| |
| Reviewed by Adam Roben. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/InstrumentSidebarPanel.js: |
| (WebInspector.InstrumentSidebarPanel): Update the tree element titles. |
| |
| 2012-02-19 Timothy Hatcher <timothy@apple.com> |
| |
| Record network timestamps on WebInspector.Resource along with HTTP response status and sizes. |
| |
| Needed for: <rdar://problem/10319553> Implement the Network instrument for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent): Added timestamp parameter. |
| (WebInspector.FrameResourceManager.prototype.markResourceRequestAsServedFromMemoryCache): Added. |
| (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache): Added timestamp parameter. |
| (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse): Ditto. |
| (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveData): Added. |
| (WebInspector.FrameResourceManager.prototype.resourceRequestDidFinishLoading): Added timestamp parameter. |
| (WebInspector.FrameResourceManager.prototype.resourceRequestDidFailLoading): Ditto. |
| (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame): Ditto. |
| * UserInterface/NetworkObserver.js: |
| (WebInspector.NetworkObserver.prototype.requestWillBeSent): Pass along timestamp. |
| (WebInspector.NetworkObserver.prototype.requestServedFromCache): Call markResourceRequestAsServedFromMemoryCache. |
| (WebInspector.NetworkObserver.prototype.responseReceived): Pass along timestamp. |
| (WebInspector.NetworkObserver.prototype.dataReceived): Call resourceRequestDidReceiveData. |
| (WebInspector.NetworkObserver.prototype.loadingFinished): Pass along timestamp. |
| (WebInspector.NetworkObserver.prototype.loadingFailed): Ditto. |
| (WebInspector.NetworkObserver.prototype.requestServedFromMemoryCache): Ditto. |
| * UserInterface/Resource.js: |
| (WebInspector.Resource): Added timestamp parameter. |
| (WebInspector.Resource.prototype.get requestSentTimestamp): Added. |
| (WebInspector.Resource.prototype.get lastRedirectReceivedTimestamp): Added. |
| (WebInspector.Resource.prototype.get responseReceivedTimestamp): Added. |
| (WebInspector.Resource.prototype.get lastDataReceivedTimestamp): Added. |
| (WebInspector.Resource.prototype.get finishedOrFailedTimestamp): Added. |
| (WebInspector.Resource.prototype.get duration): Added. |
| (WebInspector.Resource.prototype.get latency): Added. |
| (WebInspector.Resource.prototype.get receiveDuration): Added. |
| (WebInspector.Resource.prototype.get cached): Added. |
| (WebInspector.Resource.prototype.get size): Added. |
| (WebInspector.Resource.prototype.get transferSize): Added. |
| (WebInspector.Resource.prototype.updateForRedirectResponse): Added timestamp parameter. |
| (WebInspector.Resource.prototype.updateForResponse): Ditto. |
| (WebInspector.Resource.prototype.increaseSize): Added. |
| (WebInspector.Resource.prototype.increaseTransferSize): Added. |
| (WebInspector.Resource.prototype.markAsCached): Added. |
| (WebInspector.Resource.prototype.markAsFinished): Added timestamp parameter. |
| (WebInspector.Resource.prototype.markAsFailed): Ditto. |
| |
| 2012-02-19 Timothy Hatcher <timothy@apple.com> |
| |
| Show empty content messages for no search results, no recorded profiles and no storage. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/InstrumentSidebarPanel.css: |
| (.sidebar > .panel.instrument > .empty-content-placeholder): Position with the content. |
| * UserInterface/InstrumentSidebarPanel.js: |
| (WebInspector.InstrumentSidebarPanel): Call updateEmptyContentPlaceholder. |
| * UserInterface/NavigationSidebarPanel.css: |
| (.sidebar > .panel.navigation > .empty-content-placeholder): Use a flex box to center the message. |
| * UserInterface/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel.prototype.updateEmptyContentPlaceholder): Added. Helper. |
| (WebInspector.NavigationSidebarPanel.prototype._checkForEmptyFilterResults): Set and unset _emptyFilterResults. |
| * UserInterface/SearchSidebarPanel.css: |
| (.sidebar > .panel.search > .empty-content-placeholder): Position with the content. |
| * UserInterface/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel.performSearch.updateEmptyContentPlaceholderSoon): Added. |
| (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel.performSearch.updateEmptyContentPlaceholder): Added. |
| (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel.performSearch.resourcesCallback.resourceCallback): Call |
| updateEmptyContentPlaceholderSoon before any return. |
| (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel.performSearch.resourcesCallback): Ditto. |
| (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel.performSearch.domCallback.domSearchResults): Ditto. |
| (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel.performSearch.domCallback): Ditto. |
| * UserInterface/StorageSidebarPanel.js: |
| (WebInspector.StorageSidebarPanel): Call _updateEmptyContentPlaceholder. |
| (WebInspector.StorageSidebarPanel.prototype._updateEmptyContentPlaceholder): Added. |
| (WebInspector.StorageSidebarPanel.prototype._addChild): Call _updateEmptyContentPlaceholder. |
| (WebInspector.StorageSidebarPanel.prototype._storageCleared): Call _updateEmptyContentPlaceholder. |
| |
| 2012-02-19 Timothy Hatcher <timothy@apple.com> |
| |
| Make DataGrid have a custom style in the timelines content view. |
| |
| Larger headers with matching gradient to the sidebar panel. Also larger rows with a grey alternating row color. |
| |
| Part of: <rdar://problem/10319553&10319567&10319571> |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Main.html: |
| * UserInterface/TimelinesContentView.css: Added. |
| (.content-view.timelines > .data-grid): |
| (.content-view.timelines > .data-grid th): |
| (.content-view.timelines > .data-grid th:not(:last-child)): |
| (.content-view.timelines > .data-grid th.sortable:active): |
| (.content-view.timelines > .data-grid th.sort-descending): |
| (.content-view.timelines > .data-grid .data-container): |
| (.content-view.timelines > .data-grid table.data): |
| (.content-view.timelines > .data-grid td): |
| (.content-view.timelines > .data-grid td:not(:last-child)): |
| * UserInterface/TimelinesContentView.js: |
| (WebInspector.TimelinesContentView): Create a dummy DataGrid for position and style testing. |
| |
| 2012-02-19 Timothy Hatcher <timothy@apple.com> |
| |
| Add an empty content view for the Instrument sidebar timelines. |
| |
| Part of: <rdar://problem/10318728> Implement the Instrument sidebar for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ContentView.js: |
| (WebInspector.ContentView): Added check for TimelinesObject. |
| (WebInspector.ContentView.isViewable): Added check for TimelinesObject. |
| * UserInterface/Images/Stopwatch.png: Added. |
| * UserInterface/Images/Stopwatch@2x.png: Added. |
| * UserInterface/InstrumentIcons.css: |
| (.stopwatch-icon .icon): |
| * UserInterface/InstrumentSidebarPanel.js: |
| (WebInspector.InstrumentSidebarPanel): Create the _timelinesElement and an instance of TimelinesObject. |
| (WebInspector.InstrumentSidebarPanel.prototype.treeElementForRepresentedObject): Added. |
| (WebInspector.InstrumentSidebarPanel.prototype._timelinesTreeElementSelected): Added. |
| * UserInterface/Main.html: Included TimelinesContentView.js and TimelinesObject.js. |
| * UserInterface/Main.js: |
| (WebInspector.sidebarPanelForRepresentedObject): Added check for TimelinesObject. |
| * UserInterface/TimelinesContentView.js: Added. |
| (WebInspector.TimelinesContentView): |
| * UserInterface/TimelinesObject.js: Added. |
| (WebInspector.TimelinesObject): |
| |
| 2012-02-18 Timothy Hatcher <timothy@apple.com> |
| |
| Start implementing the user interface for the Instrument sidebar panel. |
| |
| This adds the Loading, Rendering and Scripting tree elements to the top of the sidebar. |
| |
| Part of: <rdar://problem/10318728> Implement the Instrument sidebar for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/Images/Colors.png: Added. |
| * UserInterface/Images/Colors@2x.png: Added. |
| * UserInterface/Images/Network.png: Added. |
| * UserInterface/Images/Network@2x.png: Added. |
| * UserInterface/Images/Script.png: Added. |
| * UserInterface/Images/Script@2x.png: Added. |
| * UserInterface/InstrumentIcons.css: Added. |
| (.network-icon .icon): |
| (.colors-icon .icon): |
| (.script-icon .icon): |
| * UserInterface/InstrumentSidebarPanel.css: Added. |
| (.sidebar > .panel.instrument > .title-bar): |
| (.sidebar > .panel.instrument > .title-bar.timelines): |
| (.sidebar > .panel.instrument > .navigation-sidebar-panel-content-tree-outline.timelines): |
| (.sidebar > .panel.instrument > .navigation-sidebar-panel-content-tree-outline.timelines .item:not(:first-child):not(.selected)): |
| (.sidebar > .panel.instrument > .navigation-sidebar-panel-content-tree-outline.timelines .item.selected + .item): |
| (.sidebar > .panel.instrument > .title-bar.profiles): |
| (.sidebar > .panel.instrument > .content): |
| * UserInterface/InstrumentSidebarPanel.js: |
| (WebInspector.InstrumentSidebarPanel): Create the title abrs and tree outline. |
| * UserInterface/Main.html: Included InstrumentSidebarPanel.css and InstrumentIcons.css. |
| |
| 2012-02-18 Timothy Hatcher <timothy@apple.com> |
| |
| Add support for hiding the disclosure triangle column for sidebar panels that don't have a hierarchy. |
| |
| The only panel we have like this right now is Log, but Instrument will also use it. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/LogSidebarPanel.js: |
| (WebInspector.LogSidebarPanel): Set HideDisclosureButtonsStyleClassName on the contentTreeOutlineElement. |
| * UserInterface/NavigationSidebarPanel.css: |
| (.navigation-sidebar-panel-content-tree-outline .item): Remove a margin-top that was pushing all items down |
| for no good reason. |
| (.navigation-sidebar-panel-content-tree-outline.hide-disclosure-buttons > .children): Added. |
| (.navigation-sidebar-panel-content-tree-outline > .children.hide-disclosure-buttons > .children): Added. |
| (.navigation-sidebar-panel-content-tree-outline:not(.hide-disclosure-buttons) .item:not(.parent) .icon): Added. |
| (.navigation-sidebar-panel-content-tree-outline.hide-disclosure-buttons .item .disclosure-button): Added. |
| * UserInterface/NavigationSidebarPanel.js: |
| |
| 2012-02-18 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.InstrumentSidebarPanel. |
| |
| Part of: <rdar://problem/10318728> Implement the Instrument sidebar for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/InstrumentSidebarPanel.js: Added. |
| (WebInspector.InstrumentSidebarPanel): |
| * UserInterface/Main.html: Included InstrumentSidebarPanel.js. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Create an instance of InstrumentSidebarPanel. |
| |
| 2012-02-20 Jeff Miller <jeffm@apple.com> |
| |
| Ignore files generated by Xcode inside WebInspectorUI.xcodeproj. |
| |
| * WebInspectorUI.xcodeproj: Added property svn:ignore. |
| |
| 2012-02-17 Timothy Hatcher <timothy@apple.com> |
| |
| Fix a couple of issues where settings were not being retrieved or stored. |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/Setting.js: |
| (WebInspector.Setting.prototype.get value): Make a copy of the default value so changes to object values don't modify the default value. |
| Switch a use of _name to _localStorageKey when checking if the key in in localStorage. |
| (WebInspector.Setting.prototype.set value): Use Object.shallowEqual to better check if objects are equal. |
| * UserInterface/Utilities.js: |
| (Object.defineProperty): Return early if a or b are null. null is an object, but Object.keys throws for null. |
| |
| 2012-02-17 Timothy Hatcher <timothy@apple.com> |
| |
| Fix an exception when using the Web Inspector with empty settings. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DOMTreeContentView.js: |
| (WebInspector.DOMTreeContentView.prototype._rootDOMNodeAvailable): Null check this._lastSelectedNodePathSetting.value |
| and this._lastSelectedNodePathSetting.value.path. |
| |
| 2012-02-17 Timothy Hatcher <timothy@apple.com> |
| |
| Prefix the setting keys in localStorage with "com.apple.WebInspector". |
| |
| The Web Inspector is loaded from a file url it share localStorage with other local files. |
| This prevents conflicting with another key. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Setting.js: |
| (WebInspector.Setting): Set _localStorageKey. |
| (WebInspector.Setting.prototype.get value): Use _localStorageKey. |
| (WebInspector.Setting.prototype.set value): Ditto. |
| |
| 2012-02-17 Timothy Hatcher <timothy@apple.com> |
| |
| Cache setting values locally to avoid JSON and localStorage when the value doesn't change often. |
| This mimics r107953 from open source with some style cleanup. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Setting.js: |
| (WebInspector.Setting.prototype.get value): Return this._value if it exists. |
| (WebInspector.Setting.prototype.set value): Set _value. |
| |
| 2012-02-16 Timothy Hatcher <timothy@apple.com> |
| |
| Don't store settings in localStorage with values equal to the default value. |
| |
| Part of: <rdar://problem/10854042> Remember aspects of the user interface customization |
| |
| Reviewed by Ada Chan. |
| |
| * UserInterface/Setting.js: |
| (WebInspector.Setting.prototype.set value): Call removeItem if the value equals the default value. |
| |
| 2012-02-17 Timothy Hatcher <timothy@apple.com> |
| |
| Remember the last selected DOM node between reloads and Inspector sessions. |
| |
| Last part of: <rdar://problem/10854042> Remember aspects of the user interface customization |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DOMTreeContentView.js: |
| (WebInspector.DOMTreeContentView): Create the setting. Use _requestRootDOMNode. |
| (WebInspector.DOMTreeContentView.prototype._rootDOMNodeAvailable): Try to select the last DOM node |
| if the URL matches, otherwise just select the body or document element. |
| (WebInspector.DOMTreeContentView.prototype._rootDOMNodeAvailable.selectNode): Added. |
| (WebInspector.DOMTreeContentView.prototype._rootDOMNodeAvailable.selectLastSelectedNode): Added. |
| (WebInspector.DOMTreeContentView.prototype._rootDOMNodeInvalidated): Don't set rootDOMNode to null. |
| This minimizes DOM tree churn and better matches what the open source inspector does. |
| (WebInspector.DOMTreeContentView.prototype._requestRootDOMNode): Added helper. |
| (WebInspector.DOMTreeContentView.prototype._selectedNodeDidChange): Remember the selected node path. |
| * UserInterface/DOMTreeUpdater.js: |
| (WebInspector.DOMTreeUpdater.prototype._reset): Don't set rootDOMNode to null. DOMTreeContentView handles it. |
| |
| 2012-02-17 Timothy Hatcher <timothy@apple.com> |
| |
| Minimize the number of times DOMTree's RootDOMNodeInvalidated event fires. |
| |
| This was causing some DOM tree churn on reload. There is still some churn, but this helps. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DOMTree.js: |
| (WebInspector.DOMTree): Only add extra event listeners when not the main frame. |
| (WebInspector.DOMTree.prototype.get frame): Added for good measure, will be needed soon. |
| (WebInspector.DOMTree.prototype.requestRootDOMNode): Bump the request identifier. |
| (WebInspector.DOMTree.prototype.requestRootDOMNode.rootObjectAvailable): Check the request identifier. |
| (WebInspector.DOMTree.prototype.requestRootDOMNode.rootDOMNodeAvailable): Ditto. |
| (WebInspector.DOMTree.prototype.requestRootDOMNode.dispatchCallbacks): Ditto. |
| (WebInspector.DOMTree.prototype._nodeRemoved): Assert not the main frame. |
| (WebInspector.DOMTree.prototype._frameMainResourceDidChange): Ditto. |
| |
| 2012-02-16 Timothy Hatcher <timothy@apple.com> |
| |
| Add support to the storage sidebar panel to restore the last content view. |
| |
| Part of: <rdar://problem/10854042> Remember aspects of the user interface customization |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/StorageSidebarPanel.js: |
| (WebInspector.StorageSidebarPanel.prototype.cookieForContentView): Added. Create a cookie based on the |
| type of the represented object. |
| (WebInspector.StorageSidebarPanel.prototype.showContentViewForCookie.finalizeCookieChecking): Walk all the tree |
| elements and match them based on type alone. So if you were looking at cookies on one site, and later open the |
| inspector on another site, the new site's cookies will show. |
| (WebInspector.StorageSidebarPanel.prototype.showContentViewForCookie): Set a timeout to call finalizeCookieChecking. |
| (WebInspector.StorageSidebarPanel.prototype._checkTreeElementAgainstPendingContentViewCookie): Added. |
| (WebInspector.StorageSidebarPanel.prototype._domStorageObjectWasAdded): Call _checkTreeElementAgainstPendingContentViewCookie. |
| (WebInspector.StorageSidebarPanel.prototype._databaseWasAdded): Ditto. |
| (WebInspector.StorageSidebarPanel.prototype._cookieStorageObjectWasAdded): Ditto. |
| (WebInspector.StorageSidebarPanel.prototype._frameManifestAdded): Ditto. |
| (WebInspector.StorageSidebarPanel.prototype._treeElementSelected): Style cleanup. |
| |
| 2012-02-16 Timothy Hatcher <timothy@apple.com> |
| |
| Add support to the log sidebar panel to restore the last content view. |
| |
| Part of: <rdar://problem/10854042> Remember aspects of the user interface customization |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/LogSidebarPanel.js: |
| (WebInspector.LogSidebarPanel.prototype.cookieForContentView): Added. |
| (WebInspector.LogSidebarPanel.prototype.showContentViewForCookie): Added. |
| |
| 2012-02-16 Timothy Hatcher <timothy@apple.com> |
| |
| Add support to the resource sidebar panel to restore the last content view and select the resource in the sidebar. |
| |
| Part of: <rdar://problem/10854042> Remember aspects of the user interface customization |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype.cookieForContentView): Added. Return a cookie with the resource URL. |
| (WebInspector.ResourceSidebarPanel.prototype.showContentViewForCookie): Added. Find the resource by URL and shows it. |
| (WebInspector.ResourceSidebarPanel.prototype.showSourceCodeForFrame): Cleaned up to match showContentViewForCookie. |
| (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange): Call showContentViewForCookie if _cookieToShowWhenAvailable. |
| (WebInspector.ResourceSidebarPanel.prototype._frameWasAdded): Remove code that moved into showSourceCodeForFrame. |
| |
| 2012-02-16 Timothy Hatcher <timothy@apple.com> |
| |
| Add support for remembering the last content view so it can potentially be restored next session. |
| This requires each sidebar to supply a cookie and restore it on load. No sidebars support it yet. |
| |
| Part of: <rdar://problem/10854042> Remember aspects of the user interface customization |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Create setting objects for the responsible sidebar panel and cookie. |
| (WebInspector.sidebarPanelForRepresentedObject): Added. Broke out of contentBrowserTreeElementForRepresentedObject. |
| (WebInspector.contentBrowserTreeElementForRepresentedObject): Use sidebarPanelForRepresentedObject. |
| (WebInspector._updateCurrentContentViewCookie): Added. Asks the responsible sidebar panel for a cookie. |
| (WebInspector._contentBrowserRepresentedObjectsDidChange): Call _updateCurrentContentViewCookie. |
| * UserInterface/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel.prototype.cookieForContentView): Added stub. |
| (WebInspector.NavigationSidebarPanel.prototype.showContentViewForCookie): Added. Ditto. |
| * UserInterface/Sidebar.js: |
| (WebInspector.Sidebar.prototype.removeSidebarPanel): Use findSidebarPanel. |
| (WebInspector.Sidebar.prototype.set selectedSidebarPanel): Ditto. |
| (WebInspector.Sidebar.prototype.findSidebarPanel): Renamed from _findSidebarPanel. |
| |
| 2012-02-16 Timothy Hatcher <timothy@apple.com> |
| |
| Remember what view was last used for frames (DOM Tree or Source Code). |
| |
| Part of: <rdar://problem/10854042> Remember aspects of the user interface customization |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/FrameContentView.js: |
| (WebInspector.FrameContentView): Create a setting. |
| (WebInspector.FrameContentView.prototype.shown): Use the setting to call _showContentViewForIdentifier. |
| (WebInspector.FrameContentView.prototype._identifierForContentView): Added. Helper. |
| (WebInspector.FrameContentView.prototype._showContentViewForIdentifier): Set the setting value. |
| |
| 2012-02-16 Timothy Hatcher <timothy@apple.com> |
| |
| If the left sidebar is collapsed, then show the dock buttons in the content browser navigation bar. |
| |
| Reviewed by Adam Roben. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Make a static dockButtonDividerNavigationItem. Remove inserts for the buttons. |
| (WebInspector.updateDockedState): Call _updateDockNavigationItems. |
| (WebInspector._updateDockNavigationItems): Added. Shows the buttons in the right navigation bar based on |
| docked and left sidebar collapsed state. |
| (WebInspector._sidebarCollapsedStateDidChange): Call _updateDockNavigationItems. |
| |
| 2012-02-16 Timothy Hatcher <timothy@apple.com> |
| |
| Add a null check in resourceForURL, since the mainFrame can be null if called early enough. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype.resourceForURL): Null check mainFrame. |
| |
| 2012-02-16 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.ContentBrowser.Event.CurrentContentViewDidChange. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser.prototype._currentContentViewDidChange): Fire the CurrentContentViewDidChange event. |
| |
| 2012-02-16 Timothy Hatcher <timothy@apple.com> |
| |
| Remember the expanded state of frames and folders in the resource sidebar panel. |
| |
| Part of: <rdar://problem/10854042> Remember aspects of the user interface customization |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/FrameTreeElement.js: |
| (WebInspector.FrameTreeElement): Call _updateExpandedSetting. |
| (WebInspector.FrameTreeElement.prototype.onexpand): Added. Set the expanded setting value. |
| (WebInspector.FrameTreeElement.prototype.oncollapse): Added. Set the expanded setting value. |
| (WebInspector.FrameTreeElement.prototype.removeChildren): Delete the folder tree elements. |
| (WebInspector.FrameTreeElement.prototype._updateExpandedSetting): Added. |
| (WebInspector.FrameTreeElement.prototype._mainResourceDidChange): Change the expanded setting since the frame URL has changed. |
| (WebInspector.FrameTreeElement.prototype._addChildForRepresentedObject): Removed _shouldExpandWhenFirstChildIsAdded code. |
| (WebInspector.FrameTreeElement.prototype._parentTreeElementForRepresentedObject.createFolderTreeElement): Added. |
| Sets up the onexpand and oncollapse listeners and creates a expanded setting. |
| (WebInspector.FrameTreeElement.prototype._parentTreeElementForRepresentedObject): Use createFolderTreeElement. |
| (WebInspector.FrameTreeElement.prototype._folderTreeElementExpandedStateChange): Added. Set the expanded setting value. |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange): Remove a call to expand, that is handled by FrameTreeElement now. |
| |
| 2012-02-16 Timothy Hatcher <timothy@apple.com> |
| |
| Support expanding a TreeElement before it has children, so it will expand once the first child is added. |
| |
| Needed for: <rdar://problem/10854042> Remember aspects of the user interface customization |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/TreeOutline.js: |
| (TreeOutline.prototype.appendChild): Call expand if this is the first child. |
| (TreeOutline.prototype.insertChild): Ditto. |
| (TreeElement.prototype.expand): Set the expanded flag even if there are no children. |
| |
| 2012-02-16 Timothy Hatcher <timothy@apple.com> |
| |
| Use a hash of the URL instead of the whole URL for remembering the last page searched. |
| |
| This way the URL isn't cluttering localStorage for size and privacy reasons. |
| |
| Part of: <rdar://problem/10854042> Remember aspects of the user interface customization |
| |
| Reviewed by Adam Roben. |
| |
| * UserInterface/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel.prototype.performSearch): Use hash when setting |
| the _lastSearchedPageSetting.value. |
| (WebInspector.SearchSidebarPanel.prototype._mainFrameDidChange): Use hash when comparing |
| with the _lastSearchedPageSetting.value. |
| * UserInterface/Utilities.js: |
| (String.prototype.hash): Added. Based on wtf/StringHasher.h (SuperFastHash) algorithm. |
| |
| 2012-02-15 Timothy Hatcher <timothy@apple.com> |
| |
| Remember the search term and rerun the search when re-opening the inspector on the same page. |
| |
| Part of: <rdar://problem/10854042> Remember aspects of the user interface customization |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel): Store the inputElement on the object and add an event |
| listener for the MainFrameChanged event. Create the setting objects and restore the search term. |
| (WebInspector.SearchSidebarPanel.prototype.performSearch): Broken out from _searchFieldChanged. |
| (WebInspector.SearchSidebarPanel.prototype._searchFieldChanged): Call performSearch. |
| (WebInspector.SearchSidebarPanel.prototype._mainFrameDidChange): Added. Call performSearch |
| if the frame change is the first and the page is the same as the last time. |
| |
| 2012-02-15 Timothy Hatcher <timothy@apple.com> |
| |
| Remember the filter bar filters for each navigation sidebar panel. |
| |
| Part of: <rdar://problem/10854042> Remember aspects of the user interface customization |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/FilterBar.js: |
| (WebInspector.FilterBar.prototype.set filters): Added. |
| * UserInterface/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel): Create the filters setting. |
| (WebInspector.NavigationSidebarPanel.prototype._updateFilter): Set the filters setting. |
| |
| 2012-02-15 Timothy Hatcher <timothy@apple.com> |
| |
| Remember the collapsed state of sections in the details sidebar. |
| |
| Part of: <rdar://problem/10854042> Remember aspects of the user interface customization |
| (sidebar state, last view, etc.) |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/AppearanceDetailsSidebarPanel.js: |
| (WebInspector.AppearanceDetailsSidebarPanel): Give identifiers to DetailsSections. |
| * UserInterface/ApplicationCacheDetailsSidebarPanel.js: |
| (WebInspector.ApplicationCacheDetailsSidebarPanel): Give identifiers to DetailsSections. |
| * UserInterface/DOMNodeDetailsSidebarPanel.js: |
| (WebInspector.DOMNodeDetailsSidebarPanel): Give identifiers to DetailsSections. |
| * UserInterface/DetailsSection.js: |
| (WebInspector.DetailsSection): Create a collapsed setting. Set collapsed to the value of the setting. |
| (WebInspector.DetailsSection.prototype.get identifier): Added. |
| (WebInspector.DetailsSection.prototype.set collapsed): Update the collapsed setting. |
| * UserInterface/ResourceDetailsSidebarPanel.js: |
| (WebInspector.ResourceDetailsSidebarPanel): Give identifiers to DetailsSections. |
| |
| 2012-02-15 Timothy Hatcher <timothy@apple.com> |
| |
| Remember the last selected navigation sidebar panel, the sidebar widths and their collapsed state. |
| |
| <rdar://problem/10854042> Remember aspects of the user interface customization (sidebar state, last view, etc.) |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Listed for SidebarPanelSelected. Use _sidebarWidthDidChange for WidthDidChange. |
| Create setting objects for last selected navigation sidebar panel, the sidebar widths and their collapsed state. |
| (WebInspector._sidebarCollapsedStateDidChange): Update the collapsed settings. |
| (WebInspector._navigationSidebarPanelSelected): Added. Update the last selected navigation sidebar panel setting. |
| (WebInspector._sidebarWidthDidChange): Added. Update the width settings. Call _contentBrowserSizeDidChange. |
| * UserInterface/Sidebar.js: |
| (WebInspector.Sidebar.prototype.set width): Return early if the width is the same. This avoids sending events |
| if the width didn't change. |
| (WebInspector.Sidebar.prototype.set collapsed): Return early if the collapsed state is the same. This avoids |
| sending events if the collapsed state didn't change. |
| |
| 2012-02-15 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.Setting from Open Source. |
| |
| <rdar://problem/10854042> Remember aspects of the user interface customization (sidebar state, last view, etc.) |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Main.html: Included Setting.js. |
| * UserInterface/Setting.js: Added. Copied partially from OpenSource/Source/WebCore/inspector/front-end/Settings.js. |
| (WebInspector.Setting): |
| (WebInspector.Setting.prototype.get name): |
| (WebInspector.Setting.prototype.get value): |
| (WebInspector.Setting.prototype.set value): |
| |
| 2012-02-14 Brian Weinstein <bweinstein@apple.com> |
| |
| <rdar://problem/10857306> Consider putting "Show Activity" menu item in Develop menu as mitigation for the old Activity window. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/InspectorFrontendAPI.js: |
| (InspectorFrontendAPI.showResources): Make the resources panel the selected panel, and make it not collapsed. |
| |
| 2012-02-14 Timothy Hatcher <timothy@apple.com> |
| |
| Tail truncate the search result title so the tooltip does not get too large. |
| |
| <rdar://problem/10843369> Web Inspector should impose limit on tooltip size to avoid insanely large tooltips |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/SearchResultTreeElement.js: |
| (WebInspector.SearchResultTreeElement.truncateAndHighlightTitle): Truncate the title at the end to 50 characters max. |
| Use \u2026 instead of the actual ellipsis character since UTF8 in source code makes me nervous. |
| |
| 2012-02-14 Timothy Hatcher <timothy@apple.com> |
| |
| Show failed resources when first opening the Web Inspector. |
| |
| This is the Safari side of the Open Source r107715. |
| |
| Follow up to: <rdar://problem/10843653> |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype._createResource): Set the loaderId for good measure. |
| (WebInspector.FrameResourceManager.prototype._addFrameTreeFromFrameResourceTreePayload): Check for failed and canceled. |
| |
| 2012-02-13 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10854052> Cmd-C (and Copy menu item) don't work for selected line in DOM Tree |
| |
| Allow the current ContentView to handle a "copy" event. |
| If the ContentView implements handleCopyEvent and there is |
| no window selection, we send the copy event to the ContentView. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| (WebInspector._beforecopy): |
| (WebInspector._copy): |
| Add support for passing copy event to a ContentView implementing handleCopyEvent. |
| |
| * UserInterface/DOMTreeContentView.js: |
| (WebInspector.DOMTreeContentView.prototype.handleCopyEvent): |
| * UserInterface/FrameContentView.js: |
| (WebInspector.FrameContentView.prototype.handleCopyEvent): |
| A DOMTreeContentView allows copying the current selected element. |
| |
| 2012-02-13 Joseph Pecoraro <pecoraro@apple.com> |
| |
| <rdar://problem/10854052> Cmd-C (and Copy menu item) don't work for selected line in DOM Tree |
| |
| Merge r105679 from Open Source's frontend to get the "Copy as HTML" |
| context menu working. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/DOMNode.js: |
| (WebInspector.DOMNode.prototype.copyNode): |
| |
| 2012-02-13 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Make RemoteDebugger work on 10.7.3. |
| |
| When the front-end is run on an earlier Lion system, such as |
| SULionDuchess in RemoteDebugger.app, it fails because |
| Function.prototype.bind is unavailable. Since this appears to be the |
| only deficiency at the moment, lets define it when its not available. |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UserInterface/Main.html: |
| Move Utilities.js earlier. |
| |
| * UserInterface/Utilities.js: |
| Provide a Function.prototype.bind implementation when unavailable. |
| |
| 2012-02-13 Timothy Hatcher <timothy@apple.com> |
| |
| Make failed resources show up with red text in the sidebar and show an error message when selected. |
| |
| <rdar://problem/10843653> Failed resources have no visible distinction in the new Web Inspector |
| |
| Reviewed by Brian Weinstein. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/FontResourceContentView.js: |
| (WebInspector.FontResourceContentView.prototype.contentAvailable): Removed FIXME and resource parameter. |
| * UserInterface/GeneralTreeElement.js: |
| (WebInspector.GeneralTreeElement.prototype.addClassName): Added. |
| (WebInspector.GeneralTreeElement.prototype.removeClassName): Added. |
| * UserInterface/ImageResourceContentView.js: |
| (WebInspector.ImageResourceContentView.prototype.contentAvailable): Removed FIXME and resource parameter. |
| * UserInterface/Main.css: |
| (.message-text-view): Reduced the line-height and added some padding. |
| (.message-text-view.error): Changed the color of red to a ddarker shade. |
| (.message-text-view.error::before): Added. Show an error icon. |
| * UserInterface/Main.html: |
| * UserInterface/ResourceContentView.js: |
| (WebInspector.ResourceContentView): Added issue event listener and issue code from TextResourceContentView. |
| (WebInspector.ResourceContentView.prototype.contentAvailable): Removed resource parameter. |
| (WebInspector.ResourceContentView.prototype.addIssue): Added. |
| (WebInspector.ResourceContentView.prototype.closed): Remove issue event listener. |
| (WebInspector.ResourceContentView.prototype._contentAvailable): Added. |
| (WebInspector.ResourceContentView.prototype._issueWasAdded): Added. |
| * UserInterface/ResourceTreeElement.css: Added. |
| (.item.resource.failed): Color text red. |
| (.item.resource.failed .subtitle): Ditto. |
| * UserInterface/ResourceTreeElement.js: |
| (WebInspector.ResourceTreeElement): Add the resource style class. |
| (WebInspector.ResourceTreeElement.prototype._updateLoadingStatus): Add or remove the failed style class. |
| (WebInspector.ResourceTreeElement.prototype._typeDidChange): Use addClassName and removeClassName. |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView): Removed the issue code, it is now in ResourceContentView. |
| (WebInspector.TextResourceContentView.prototype.contentAvailable): Removed FIXME and resource parameter. |
| (WebInspector.TextResourceContentView.prototype.addIssue): Show a full error message if there is no content yet. |
| |
| 2012-02-13 Timothy Hatcher <timothy@apple.com> |
| |
| Fix a bug where opening the Inspector while loading a page could cause a subresource that just finished loading |
| to be shown in the Inspector as the main resource. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype.initialize): Set _waitingForMainFrameResourceTreePayload. |
| (WebInspector.FrameResourceManager.prototype.frameDidNavigate): Return early if _waitingForMainFrameResourceTreePayload. |
| (WebInspector.FrameResourceManager.prototype.frameDidDetach): Ditto. |
| (WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent): Ditto. |
| (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache): Ditto. |
| (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse): Ditto. |
| (WebInspector.FrameResourceManager.prototype.resourceRequestDidFinishLoading): Ditto. |
| (WebInspector.FrameResourceManager.prototype.resourceRequestDidFailLoading): Ditto. |
| (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame): Ditto. |
| (WebInspector.FrameResourceManager.prototype._addResourceToFrame): Ditto. |
| (WebInspector.FrameResourceManager.prototype._processMainFrameResourceTreePayload): Delete _waitingForMainFrameResourceTreePayload. |
| Also clear the _resourceRequestIdentifierMap and _frameIdentifierMap maps. |
| |
| 2012-02-13 Timothy Hatcher <timothy@apple.com> |
| |
| Make sure the sidebar tree is ready before showing the source code in response to a Show Page Source user action. |
| Also reveal and select the frame in the Resource sidebar for which the source was shown. |
| |
| <rdar://problem/10855004> File path components are missing when using Show Page Source menu item |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/InspectorFrontendAPI.js: |
| (InspectorFrontendAPI.showMainResourceForFrame): |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype.showSourceCodeForFrame): |
| (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject): Added. A custom implementation is |
| needed for this since the frames are populated lazily. |
| (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject.getParent): Added. |
| (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject.isAncestor): Added. |
| (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange): Check for _frameIdentifierToShowSourceCodeWhenAvailable |
| and call showSourceCodeForFrame. |
| (WebInspector.ResourceSidebarPanel.prototype._frameWasAdded): Return early if the main frame tree element isn't |
| in the sidebar tree outline yet. |
| |
| 2012-02-13 Timothy Hatcher <timothy@apple.com> |
| |
| Remove the "Create RemoteWebInspector.framework symlinks" build phase now that all |
| clients are off the old framework. |
| |
| This also fixes a build error seen in the archive builders. |
| |
| <rdar://problem/10828236> Remove Symlinks for RemoteWebInspector.framework |
| |
| Rubber-stamped by Joseph Pecoraro. |
| |
| * WebInspectorUI.xcodeproj/project.pbxproj: Removed "Create RemoteWebInspector.framework symlinks". |
| |
| 2012-02-12 Timothy Hatcher <timothy@apple.com> |
| |
| Enable localization of the new Web Inspector again. |
| |
| <rdar://problem/10688721> |
| |
| Reviewed by John Sullivan. |
| |
| * Localizations/en.lproj/localizedStrings.js: Updated. |
| * UserInterface/Main.js: |
| (WebInspector.UIString): Lookup the string in window.localizedStrings again. |
| |
| 2012-02-11 Timothy Hatcher <timothy@apple.com> |
| |
| Minify the CSS and JavaScript resources in Production builds. |
| |
| <rdar://problem/10408292> Master the new Web Inspector resources into a separate framework |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Scripts/cssmin.py: Added. |
| * Scripts/jsmin.py: Copied from Safari/Reader/jsmin.py. |
| * WebInspectorUI.xcodeproj/project.pbxproj: Call cssmin.py on Main.css and jsmin.py on Main.js. |
| |
| 2012-02-11 Timothy Hatcher <timothy@apple.com> |
| |
| Remove console.assert() calls from Productions builds. |
| |
| <rdar://problem/10408292> Master the new Web Inspector resources into a separate framework |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Scripts/remove-console-asserts.pl: Added. |
| * WebInspectorUI.xcodeproj/project.pbxproj: Call remove-console-asserts.pl on the combined Main.js file. |
| |
| 2012-02-11 Timothy Hatcher <timothy@apple.com> |
| |
| Combine scripts and stylesheets into single files in Production builds. |
| |
| <rdar://problem/10408292> Master the new Web Inspector resources into a separate framework |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Scripts/combine-resources.pl: Added. |
| * Scripts/copy-user-interface-resources.sh: Call combine-resources.pl in Production builds. |
| * UserInterface/Main.html: Removed a FIXME comment that gets in the way of combine-resources.pl. |
| * WebInspectorUI.xcodeproj/project.pbxproj: Added combine-resources.pl. |
| |
| 2012-02-11 Timothy Hatcher <timothy@apple.com> |
| |
| Build the user interface files into the WebInspector framework. |
| |
| <rdar://problem/10408292> Master the new Web Inspector resources into a separate framework |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Configurations/Base.xcconfig: Added WEBKIT_UMBRELLA_FRAMEWORKS_DIR and WEBCORE_PRIVATE_HEADERS_DIR. |
| * Configurations/DebugRelease.xcconfig: Added WEBKIT_UMBRELLA_FRAMEWORKS_DIR for engineering builds. |
| * Scripts/copy-user-interface-resources.sh: Added. |
| * WebInspectorUI.xcodeproj/project.pbxproj: Added UserInterface folder, localizedStrings.js, |
| Copy User Interface Resources and Copy WebCore Inspector Resources build phases. |
| |
| 2012-02-11 Timothy Hatcher <timothy@apple.com> |
| |
| Move Safari/Develop/WebInspector to WebInspector/UserInterface. |
| |
| <rdar://problem/10408292> Master the new Web Inspector resources into a separate framework |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * ChangeLog: Copied over the Safari/ChangeLog entries with changes in Safari/Develop/WebInspector. |
| * UserInterface: Renamed from Safari/Develop/WebInspector. |
| |
| 2012-02-10 Timothy Hatcher <timothy@apple.com> |
| |
| Copy over StylesSidebarPane.js from Open Source and break it up into one class per file. |
| |
| Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/BlankStylePropertiesSection.js: Copied from OpenSource/Source/WebCore/inspector/front-end/StylesSidebarPane.js. |
| * UserInterface/CSSPropertyPrompt.js: Ditto. |
| * UserInterface/ComputedStylePropertiesSection.js: Ditto. |
| * UserInterface/StylePropertiesSection.js: Ditto. |
| * UserInterface/StylePropertyTreeElement.js: Ditto. |
| |
| 2012-02-10 Timothy Hatcher <timothy@apple.com> |
| |
| Collapse bread-crumb compoenents in the middle when there ins't enough room to show them all. |
| This keeps the important ones (the ends) on the screen while hiding the less important middle. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/HierarchicalPathComponent.css: |
| (.hierarchical-path-component.hidden): Added. |
| (.hierarchical-path-component.collapsed): Added. |
| (.hierarchical-path-component.collapsed > .icon): Added. |
| (.hierarchical-path-component.collapsed > .title): Added. |
| (.hierarchical-path-component.collapsed > select): Added. |
| (.hierarchical-path-component > .separator): Added. |
| * UserInterface/HierarchicalPathComponent.js: |
| (WebInspector.HierarchicalPathComponent.prototype.get hidden): Added. |
| (WebInspector.HierarchicalPathComponent.prototype.set hidden): Added. |
| (WebInspector.HierarchicalPathComponent.prototype.get collapsed): Added. |
| (WebInspector.HierarchicalPathComponent.prototype.set collapsed): Added. |
| * UserInterface/HierarchicalPathNavigationItem.js: |
| (WebInspector.HierarchicalPathNavigationItem.prototype.set components): Delete _collapsedComponent. |
| (WebInspector.HierarchicalPathNavigationItem.prototype.updateLayout): Loop through the components starting |
| at the middle and fanning out in each direction to collapse until widthToRemove depleted. |
| |
| 2012-02-10 Brian Weinstein <bweinstein@apple.com> |
| |
| Show page and frame source using the new inspector if it is enabled. |
| |
| When the user selects Show Page Source from the Develop menu or Show Page Source or Show Frame Source |
| from the context menu, call new WKInspector API if we are using the new inspector. |
| |
| <rdar://problem/10830076> Show Page Source should open the new Web Inspector to the page source |
| <rdar://problem/10844831> Show Frame Source should open the new Web Inspector to that frame's source |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/InspectorFrontendAPI.js: |
| (InspectorFrontendAPI.showMainResourceForFrame): Call through to the ResourceSidebarPanel. |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel): |
| (WebInspector.ResourceSidebarPanel.prototype.showSourceCodeForFrame): If we have a Frame object for |
| the frame ID we were given, find its content view and show the source for it. If there isn't a frame |
| object yet, store the frame ID for the frame we want to show. |
| (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange): If we want to show a frame ID when it becomes |
| available, then return early before showing the main resource. |
| (WebInspector.ResourceSidebarPanel.prototype._frameWasAdded): If we are waiting to show a frame's source, and it |
| was just added, then call showSourceCodeForFrame. |
| |
| 2012-02-09 Timothy Hatcher <timothy@apple.com> |
| |
| Set a default tooltip for GeneralTreeElements if there isn't a custom one already assigned. |
| |
| This gives the user a way to read truncated titles for all the sidebar tree elements. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/GeneralTreeElement.js: |
| (WebInspector.GeneralTreeElement.prototype._updateTitleElements): Build a tool tip based on the |
| main title and subtitle. |
| |
| 2012-02-09 Brian Weinstein <bweinstein@apple.com> |
| |
| Clean up the code to set the titles of application cache manifest and frame tree elements. |
| |
| This patch moves the responsibility of generating titles and subtitles for the application cache |
| manifests and frames from their represented objects to the tree elements. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/ApplicationCacheFrame.js: Moved code from here... |
| * UserInterface/ApplicationCacheFrameTreeElement.js: ... to here. |
| (WebInspector.ApplicationCacheFrameTreeElement): Pass a blank title, it will be populated by updateTitles, and then call updateTitles. |
| (WebInspector.ApplicationCacheFrameTreeElement.prototype.constructor.WebInspector.ApplicationCacheFrameTreeElement.updateTitles): Set the |
| mainTitle and the subtitle on the GeneralTreeElement. |
| * UserInterface/ApplicationCacheManifest.js: Moved code from here... |
| * UserInterface/ApplicationCacheManifestTreeElement.js: ... to here. |
| (WebInspector.ApplicationCacheManifestTreeElement): Pass an empty title. StorageTreeElement will populate it when the flattened variable |
| is set. |
| (WebInspector.ApplicationCacheManifestTreeElement.prototype.constructor.WebInspector.ApplicationCacheManifestTreeElement.get name): Call _generateTitles |
| if necessary, and then return the name. |
| (WebInspector.ApplicationCacheManifestTreeElement.prototype.get secondaryName): Call _generateTitles if necessary, and then |
| return the secondary name. |
| (WebInspector.ApplicationCacheManifestTreeElement.prototype._generateTitles): Moved from ApplicationCacheManifest.js. |
| |
| 2012-02-09 Brian Weinstein <bweinstein@apple.com> |
| |
| Implement a better titling scheme for application cache manifests and frames. |
| |
| This patch reworks the titles and subtitles of application cache manifests and frames. |
| |
| For the manifest, if it is collapsed, it will say: Application Cache - Manifest Name. |
| If it isn't collapsed (there is a top level "Application Cache" folder), then it will say: Manifest Name - Host Name. |
| |
| For the frame, the main title will be the last path component of the frame (if it exists), or the host. The subtitle |
| will be the host, if the host isn't the same as the main title of the frame, or the subtitle of the application cache |
| manifest's tree element. |
| |
| Rest of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/ApplicationCacheFrame.js: |
| (WebInspector.ApplicationCacheFrame.prototype.get title): Call _generateTitles, which doesn't return a title anymore. |
| (WebInspector.ApplicationCacheFrame.prototype.get subtitle): Call _generateTitles and return this._subtitle. |
| (WebInspector.ApplicationCacheFrame.prototype.clearTitles): Set the subtitle and main title to null, and call _generateTitles. |
| (WebInspector.ApplicationCacheFrame.prototype._generateTitles): Clean up the code to generate a main title, and generate |
| a subtitle as well. |
| |
| * UserInterface/ApplicationCacheFrameTreeElement.js: |
| (WebInspector.ApplicationCacheFrameTreeElement): Pass the title and the subtitle. |
| (WebInspector.ApplicationCacheFrameTreeElement.prototype.constructor.WebInspector.ApplicationCacheFrameTreeElement.updateTitles): |
| Clear the titles on the represented object, and set the mainTitle and subtitle on the tree element to their new values. |
| |
| * UserInterface/ApplicationCacheManifest.js: |
| (WebInspector.ApplicationCacheManifest.prototype.get title): Call _generateTitles. |
| (WebInspector.ApplicationCacheManifest.prototype.get subtitle): Ditto. |
| (WebInspector.ApplicationCacheManifest.prototype._generateTitles): Clean up the code to generate a main title and also generate |
| a subtitle. |
| |
| * UserInterface/ApplicationCacheManifestTreeElement.js: |
| (WebInspector.ApplicationCacheManifestTreeElement.prototype.get secondaryName): Get the represented object's subtitle. |
| |
| * UserInterface/StorageTreeElement.js: |
| (WebInspector.StorageTreeElement): Use the flattened setter instead of setting the variable. The setter does a bit more work |
| that we need to do. |
| (WebInspector.StorageTreeElement.prototype.set flattened): Add the ability to set a subtitle when we are not flattened. If the |
| flattening changes, call _updateChildrensTitles. |
| (WebInspector.StorageTreeElement.prototype._updateChildrensTitles): Call updateTitles for each child that has updateTitles in their |
| prototype. |
| |
| 2012-02-09 Brian Weinstein <bweinstein@apple.com> |
| |
| Have ApplicationCacheFrameContentView listen for when application cache statuses change. |
| |
| More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/ApplicationCacheFrameContentView.js: |
| (WebInspector.ApplicationCacheFrameContentView): Add an event listener. |
| (WebInspector.ApplicationCacheFrameContentView.prototype.closed): Remove an event listener. |
| (WebInspector.ApplicationCacheFrameContentView.prototype._updateStatus): Call through to updateStatus. |
| |
| 2012-02-09 Brian Weinstein <bweinstein@apple.com> |
| |
| Remove a bunch of dead code from ApplicationCacheFrameContentView. |
| |
| More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/ApplicationCacheFrameContentView.js: |
| (WebInspector.ApplicationCacheFrameContentView): |
| (WebInspector.ApplicationCacheFrameContentView.prototype.updateStatus): |
| |
| 2012-02-09 Brian Weinstein <bweinstein@apple.com> |
| |
| Add icons for application cache manifest and frame tree elements. |
| |
| More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/ApplicationCacheFrameTreeElement.js: |
| (WebInspector.ApplicationCacheFrameTreeElement): Set a class name. |
| * UserInterface/ApplicationCacheManifestTreeElement.js: |
| (WebInspector.ApplicationCacheManifestTreeElement): Ditto. |
| * UserInterface/ApplicationCacheIcons.css: Added. |
| * UserInterface/Images/ApplicationCache.png: Added. |
| * UserInterface/Images/ApplicationCache@2x.png: Added. |
| * UserInterface/Main.html: Add new file. |
| |
| 2012-02-09 Timothy Hatcher <timothy@apple.com> |
| |
| Fix a file not found error in the Web Inspector. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/IndeterminateProgressSpinner.css: |
| (.indeterminate-progress-spinner): Use IndeterminateProgressSpinner1.pdf instead of IndeterminateProgressSpinner.pdf. |
| |
| 2012-02-09 Timothy Hatcher <timothy@apple.com> |
| |
| Don't add event listeners in the ContentView "shown" functions. |
| |
| This was leading to duplicate listeners if the content view was hidden and shown multiple times. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ClusterContentView.js: |
| (WebInspector.ClusterContentView): Add the event listener here... |
| (WebInspector.ClusterContentView.prototype.shown): ... instead of here. |
| * UserInterface/DOMTreeContentView.js: |
| (WebInspector.DOMTreeContentView): Add the event listener here... |
| (WebInspector.DOMTreeContentView.prototype.shown): ... instead of here. |
| * UserInterface/ResourceContentView.js: |
| (WebInspector.ResourceContentView): Add the event listener here. |
| (WebInspector.ResourceContentView.prototype.shown): Removed. |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView): Add the event listener here... |
| (WebInspector.TextResourceContentView.prototype.shown): ... instead of here. |
| (WebInspector.TextResourceContentView.prototype.hidden): Don't remove the event listener here... |
| (WebInspector.TextResourceContentView.prototype.closed): ... remove it here instead. |
| |
| 2012-02-07 Brian Weinstein <bweinstein@apple.com> |
| |
| Update the details sidebar when the network state or the frame manifest state changes. |
| |
| More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ApplicationCacheDetailsSidebarPanel.js: |
| (WebInspector.ApplicationCacheDetailsSidebarPanel): |
| (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.refresh): Call _refreshOnlineRow and _refreshStatusRow. |
| (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype._networkStateUpdated): Call _refreshOnlineRow. |
| (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype._frameManifestStatusChanged): If the frame that changed |
| matches ours, call _refreshStatusRow. |
| (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype._refreshOnlineRow): Set the text of the online row. |
| (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype._refreshStatusRow): Set the text of the status row. |
| * UserInterface/ApplicationCacheManager.js: |
| (WebInspector.ApplicationCacheManager.prototype.networkStateUpdated): |
| (WebInspector.ApplicationCacheManager.prototype._frameManifestUpdated): |
| |
| 2012-02-07 Brian Weinstein <bweinstein@apple.com> |
| |
| Make sure we update the status of an existing cache frame in _frameManifestUpdated. |
| |
| More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ApplicationCacheFrame.js: |
| (WebInspector.ApplicationCacheFrame.prototype.set status): Add a setter. |
| * UserInterface/ApplicationCacheManager.js: |
| (WebInspector.ApplicationCacheManager.prototype._frameManifestUpdated): If we already have an ApplicationCacheFrame, |
| make sure to set the status when it changes. |
| |
| 2012-02-07 Brian Weinstein <bweinstein@apple.com> |
| |
| Add a status section to the details sidebar that shows the application cache status and whether the user is online |
| or offline. |
| |
| This doesn't listen to changes in state while the sidebar is showing yet, but it will in the next patch. |
| |
| More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ApplicationCacheDetailsSidebarPanel.js: |
| (WebInspector.ApplicationCacheDetailsSidebarPanel): |
| (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.refresh): |
| |
| 2012-02-07 Brian Weinstein <bweinstein@apple.com> |
| |
| Add the manifest URL and the frame URL that loaded the manifest to the details sidebar. |
| |
| More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ApplicationCacheDetailsSidebarPanel.js: |
| (WebInspector.ApplicationCacheDetailsSidebarPanel): Create a start to our structure of groups and rows. |
| (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.get applicationCacheFrame): Return the application cache frame. |
| (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.set applicationCacheFrame): Set the application cache frame and say |
| we need a refresh. |
| (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.refresh): Set the data in our rows. |
| |
| 2012-02-07 Brian Weinstein <bweinstein@apple.com> |
| |
| Add a basic ApplicationCacheDetailsSidebarPanel, and make it be enabled at the right time. |
| |
| More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ApplicationCacheDetailsSidebarPanel.js: Added. |
| (WebInspector.ApplicationCacheDetailsSidebarPanel): Call the DetailsSidebarPanel constructor. |
| (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.constructor.WebInspector.ApplicationCacheDetailsSidebarPanel.inspect): Determine |
| if one of the selected objects is an ApplicationCacheFrame. |
| (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.refresh): Add a FIXME. |
| * UserInterface/Main.html: Add a new file. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Create the ApplicationCacheDetailsSidebarPanel. |
| |
| 2012-02-07 Brian Weinstein <bweinstein@apple.com> |
| |
| Create an ApplicationCacheFrameContentView when an ApplicationCacheFrameTreeElement is selected. |
| |
| More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ContentView.js: |
| (WebInspector.ContentView): |
| (WebInspector.ContentView.isViewable): |
| * UserInterface/Main.js: |
| (WebInspector.contentBrowserTreeElementForRepresentedObject): |
| * UserInterface/StorageSidebarPanel.js: |
| (WebInspector.StorageSidebarPanel.prototype._storageCleared): |
| (WebInspector.StorageSidebarPanel.prototype._treeElementSelected): |
| |
| 2012-02-07 Brian Weinstein <bweinstein@apple.com> |
| |
| Implement some needed functions in ApplicationCacheManager to handle calls from ApplicationCacheObserver and |
| ApplicationCacheFrameContentView. |
| |
| More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ApplicationCacheManager.js: |
| (WebInspector.ApplicationCacheManager): |
| (WebInspector.ApplicationCacheManager.prototype.networkStateUpdated): Update the online state, and add a FIXME to fire an event. |
| (WebInspector.ApplicationCacheManager.prototype.get online): |
| (WebInspector.ApplicationCacheManager.prototype.applicationCacheStatusUpdated): |
| (WebInspector.ApplicationCacheManager.prototype.requestApplicationCache): |
| * UserInterface/ApplicationCacheObserver.js: |
| (WebInspector.ApplicationCacheObserver.prototype.constructor.WebInspector.ApplicationCacheObserver.applicationCacheStatusUpdated): |
| (WebInspector.ApplicationCacheObserver.prototype.networkStateUpdated): |
| |
| 2012-02-07 Brian Weinstein <bweinstein@apple.com> |
| |
| Implement Number.bytesToString. |
| |
| More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Utilities.js: |
| (Number.string_appeared_here.value): |
| |
| 2012-02-07 Brian Weinstein <bweinstein@apple.com> |
| |
| Make more of ApplicationFrameContentView work. |
| |
| Add some styling, and make some of the code in ApplicationFrameContentView match our mannerisms. There are a couple |
| places we ask the ApplicationCacheManager for data. These functions don't exist yet, but they will in the next patch. |
| |
| More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ApplicationCacheFrameContentView.css: Added. |
| (.content-view.application-cache-frame > .data-grid): |
| (.content-view.application-cache-frame .hidden): |
| * UserInterface/ApplicationCacheFrameContentView.js: |
| (WebInspector.ApplicationCacheFrameContentView): Create our version of an empty view instead of open source's. Ask the application |
| cache manager for data. |
| (WebInspector.ApplicationCacheFrameContentView.prototype.shown): Use our correct method name. |
| (WebInspector.ApplicationCacheFrameContentView.prototype.hidden): Ditto. |
| (WebInspector.ApplicationCacheFrameContentView.prototype._maybeUpdate): Check this.visible instead of isVisible(). |
| (WebInspector.ApplicationCacheFrameContentView.prototype.updateStatus): Ditto. |
| (WebInspector.ApplicationCacheFrameContentView.prototype._update): Ask the application cache manager for data. |
| (WebInspector.ApplicationCacheFrameContentView.prototype._updateCallback): Use our functions to hide and show the empty views / datagrids. |
| (WebInspector.ApplicationCacheFrameContentView.prototype._createDataGrid): Ditto. |
| |
| 2012-02-07 Brian Weinstein <bweinstein@apple.com> |
| |
| Do some clean-up of ApplicationCacheFrameContentView. |
| |
| Change the argument it takes to a represented object, have it inherit from ContentView, and remove calls to add/removeStyleClass. |
| |
| More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ApplicationCacheFrameContentView.js: |
| (WebInspector.ApplicationCacheFrameContentView): |
| (WebInspector.ApplicationCacheFrameContentView.prototype._updateCallback): |
| |
| 2012-02-07 Brian Weinstein <bweinstein@apple.com> |
| |
| Bring in ApplicationCacheItemsView from open source as ApplicationCacheFrameContentView. |
| |
| More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ApplicationCacheFrameContentView.js: Added. Copied from open source. |
| |
| 2012-02-07 Brian Weinstein <bweinstein@apple.com> |
| |
| Add tree elements for application cache manifests and frames that have an application cache. |
| |
| When the document adds or removes frames from the application cache, ApplicationCacheManager fires events. The storage sidebar |
| panel listens for these events and updates the state of the tree elements in the sidebar panel. Currently, we only add |
| sidebar items, but removing them will be added in a future patch. |
| |
| More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ApplicationCacheManager.js: |
| (WebInspector.ApplicationCacheManager.prototype._frameManifestUpdated): |
| (WebInspector.ApplicationCacheManager.prototype._frameManifestRemoved): |
| * UserInterface/StorageSidebarPanel.js: |
| (WebInspector.StorageSidebarPanel): |
| (WebInspector.StorageSidebarPanel.prototype._frameManifestAdded): |
| (WebInspector.StorageSidebarPanel.prototype._frameManifestRemoved): |
| (WebInspector.StorageSidebarPanel.prototype._storageCleared): |
| |
| 2012-02-06 Brian Weinstein <bweinstein@apple.com> |
| |
| Add tree elements for application cache frames and application cache manifests. |
| |
| They aren't used yet, but will be used by the StorageSidebarPanel in a later patch. |
| |
| More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ApplicationCacheFrameTreeElement.js: Added. |
| (WebInspector.ApplicationCacheFrameTreeElement): Basic tree element subclass with a FIXME for an icon. |
| * UserInterface/ApplicationCacheManifest.js: |
| (WebInspector.ApplicationCacheManifest.prototype.get title): Call _generateTitle if we don't already have one. |
| (WebInspector.ApplicationCacheManifest.prototype._generateTitle): Try and get a title from the manifest URL's last path component, host |
| or the whole URL. |
| * UserInterface/ApplicationCacheManifestTreeElement.js: Added. |
| (WebInspector.ApplicationCacheManifestTreeElement): Inherits from StorageTreeElement. |
| (WebInspector.ApplicationCacheManifestTreeElement.prototype.constructor.WebInspector.ApplicationCacheManifestTreeElement.get name): Get the |
| represented object's title. |
| (WebInspector.ApplicationCacheManifestTreeElement.prototype.get categoryName): return Application Cache. |
| * UserInterface/Main.html: Add new files. |
| |
| 2012-02-06 Brian Weinstein <bweinstein@apple.com> |
| |
| Implement the callback functions when we get information about the application cache. We create the necessary |
| application cache objects now, but don't create tree elements or notify the storage sidebar panel about them |
| yet. |
| |
| More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ApplicationCacheManager.js: |
| (WebInspector.ApplicationCacheManager): Listen for when child frames are removed. |
| (WebInspector.ApplicationCacheManager.prototype.constructor.WebInspector.ApplicationCacheManager.initialize): Get the |
| frames with application caches here.. |
| (WebInspector.ApplicationCacheManager.prototype._mainResourceDidChange): .. Instead of here. |
| (WebInspector.ApplicationCacheManager.prototype._childFrameWasRemoved): Call _frameManifestRemoved. |
| (WebInspector.ApplicationCacheManager.prototype._manifestForFrameLoaded): If the frame doesn't have a manifest URL, |
| call _frameManifestRemoved. |
| (WebInspector.ApplicationCacheManager.prototype._framesWithManifestsLoaded): Call _frameManifestUpdated for all frames |
| that have manifests. |
| (WebInspector.ApplicationCacheManager.prototype._frameManifestUpdated): Create a frame manifest object if it is necessary, |
| and add FIXMEs to fire some events about the application cache state. |
| (WebInspector.ApplicationCacheManager.prototype._frameManifestRemoved): Remove the manifest object for this frame. |
| |
| 2012-02-06 Brian Weinstein <bweinstein@apple.com> |
| |
| Add ApplicationCacheFrame and ApplicationCacheManifest. These are just simple objects that wrap a few properties. |
| |
| More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ApplicationCacheFrame.js: Added. |
| (WebInspector.ApplicationCacheFrame): |
| (WebInspector.ApplicationCacheFrame.prototype.constructor.WebInspector.ApplicationCacheFrame.get frame): |
| (WebInspector.ApplicationCacheFrame.prototype.get manifest): |
| (WebInspector.ApplicationCacheFrame.prototype.get status): |
| * UserInterface/ApplicationCacheManifest.js: Added. |
| (WebInspector.ApplicationCacheManifest): |
| (WebInspector.ApplicationCacheManifest.prototype.constructor.WebInspector.ApplicationCacheManifest.get manifestURL): |
| * UserInterface/Main.html: |
| |
| 2012-02-06 Brian Weinstein <bweinstein@apple.com> |
| |
| Add ApplicationCacheManager, and have it listen for when frames navigate, and call some ApplicationCacheAgent |
| methods to get data from WebCore. |
| |
| We don't do anything with this data yet, but will in follow-up patches. |
| |
| Part of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ApplicationCacheManager.js: Added. |
| (WebInspector.ApplicationCacheManager): Initialize the ApplicationCacheAgent, and add a listener for when frames navigate. |
| (WebInspector.ApplicationCacheManager.prototype.constructor.WebInspector.ApplicationCacheManager.initialize): Clear our (always empty) |
| list of application cache objects. |
| (WebInspector.ApplicationCacheManager.prototype._mainResourceDidChange): Get the list of frames with application caches if the main frame |
| navigated. If it was a subframe, check the status of the application cache for the subframe. |
| (WebInspector.ApplicationCacheManager.prototype._manifestForFrameLoaded): Stub. |
| (WebInspector.ApplicationCacheManager.prototype._framesWithManifestsLoaded): Ditto. |
| * UserInterface/Main.html: Add new file. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Create an ApplicationCacheManager. |
| |
| 2012-02-06 Timothy Hatcher <timothy@apple.com> |
| |
| Show the full URL in the tool tip for resources in the Web Inspector. |
| |
| Part of: <rdar://problem/10259020> Improve Web Inspector's view of per-page resources enough that Activity window can be eliminated |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ResourceTreeElement.js: |
| (WebInspector.ResourceTreeElement.prototype._updateResource): Call _updateToolTip. |
| (WebInspector.ResourceTreeElement.prototype._updateToolTip): Added. |
| (WebInspector.ResourceTreeElement.prototype._urlDidChange): Call _updateToolTip. |
| |
| 2012-02-06 Timothy Hatcher <timothy@apple.com> |
| |
| Make double-click in the Web Inspector Resource sidebar open the resource in a new Safari tab/window. |
| |
| This is like the Activity window, which we want to replace with the new Web Inspector. |
| |
| Part of: <rdar://problem/10259020> Improve Web Inspector's view of per-page resources enough that Activity window can be eliminated |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ResourceTreeElement.js: |
| (WebInspector.ResourceTreeElement.prototype.ondblclick): Added. |
| |
| 2012-02-06 Timothy Hatcher <timothy@apple.com> |
| |
| Fix an error on reload in the Web Inspector where the main resource would not be marked as finished, so the source |
| would never display and the spinner in the sidebar would never go away. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame): Only reuse the main resource |
| or provisional main resource if the loader identifiers match. |
| |
| 2012-02-06 Timothy Hatcher <timothy@apple.com> |
| |
| Show a spinner in resource content views while waiting for content to become available. |
| |
| Part of: <rdar://problem/10259020> Improve Web Inspector's view of per-page resources enough that Activity window can be eliminated |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Main.html: |
| * UserInterface/ResourceContentView.css: Added. |
| (.content-view.resource > .indeterminate-progress-spinner): |
| * UserInterface/ResourceContentView.js: |
| (WebInspector.ResourceContentView): Append a spinner. |
| |
| 2012-02-06 Timothy Hatcher <timothy@apple.com> |
| |
| Show a progress spinner in the Resource sidebar next to resources that are still loading. |
| |
| Part of: <rdar://problem/10259020> Improve Web Inspector's view of per-page resources enough that Activity window can be eliminated |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/GeneralTreeElement.js: |
| (WebInspector.GeneralTreeElement): Initialize status to "". |
| (WebInspector.GeneralTreeElement.prototype.get status): Added. |
| (WebInspector.GeneralTreeElement.prototype.set status): Added. |
| (WebInspector.GeneralTreeElement.prototype.onattach): Call _updateStatusElement. |
| (WebInspector.GeneralTreeElement.prototype._createElementsIfNeeded): Create the status element. |
| (WebInspector.GeneralTreeElement.prototype._updateStatusElement): Added. |
| * UserInterface/Images/IndeterminateProgressSpinner1.pdf: Added. |
| * UserInterface/Images/IndeterminateProgressSpinner10.pdf: Added. |
| * UserInterface/Images/IndeterminateProgressSpinner11.pdf: Added. |
| * UserInterface/Images/IndeterminateProgressSpinner12.pdf: Added. |
| * UserInterface/Images/IndeterminateProgressSpinner2.pdf: Added. |
| * UserInterface/Images/IndeterminateProgressSpinner3.pdf: Added. |
| * UserInterface/Images/IndeterminateProgressSpinner4.pdf: Added. |
| * UserInterface/Images/IndeterminateProgressSpinner5.pdf: Added. |
| * UserInterface/Images/IndeterminateProgressSpinner6.pdf: Added. |
| * UserInterface/Images/IndeterminateProgressSpinner7.pdf: Added. |
| * UserInterface/Images/IndeterminateProgressSpinner8.pdf: Added. |
| * UserInterface/Images/IndeterminateProgressSpinner9.pdf: Added. |
| * UserInterface/IndeterminateProgressSpinner.css: Added. |
| * UserInterface/IndeterminateProgressSpinner.js: Added. |
| (WebInspector.IndeterminateProgressSpinner): |
| (WebInspector.IndeterminateProgressSpinner.prototype.get element): |
| * UserInterface/Main.html: |
| * UserInterface/NavigationSidebarPanel.css: |
| (.navigation-sidebar-panel-content-tree-outline .item .status): |
| (.navigation-sidebar-panel-content-tree-outline .item .status:empty): |
| (.navigation-sidebar-panel-content-tree-outline .item.small .status): |
| (.navigation-sidebar-panel-content-tree-outline .item.small .status .indeterminate-progress-spinner): |
| (.navigation-sidebar-panel-content-tree-outline .item.small.two-line .status): |
| * UserInterface/ResourceTreeElement.js: |
| (WebInspector.ResourceTreeElement.prototype._updateResource): Add event listeners and call _updateLoadingStatus. |
| (WebInspector.ResourceTreeElement.prototype._updateLoadingStatus): Added. Sets status to a spinner when loading. |
| |
| 2012-02-04 Timothy Hatcher <timothy@apple.com> |
| |
| Use PDFs for the user input prompt and result icons. |
| |
| Part of: <rdar://problem/10643175> DataGrid and the DOM tree and the Console should be HiDPI compliant |
| |
| Reviewed by Sam Weinig. |
| |
| * UserInterface/DatabaseContentView.css: |
| (.database-query-prompt::before): Use Use UserInputPrompt.pdf. |
| * UserInterface/Images/UserInputPrompt.pdf: Added. |
| * UserInterface/Images/UserInputResult.pdf: Added. |
| * UserInterface/Images/userInputIcon.png: Removed. |
| * UserInterface/Images/userInputResultIcon.png: Removed. |
| * UserInterface/LogContentView.css: |
| (#console-prompt::before): Use UserInputPrompt.pdf. |
| (.console-user-command-result.console-log-level::before): Use UserInputResult.pdf. |
| |
| 2012-02-04 Timothy Hatcher <timothy@apple.com> |
| |
| Use PDFs for the error and wrning icons. |
| |
| Part of: <rdar://problem/10643175> DataGrid and the DOM tree and the Console should be HiDPI compliant |
| |
| Reviewed by Sam Weinig. |
| |
| * UserInterface/DatabaseContentView.css: |
| (.database-query-result.error::before): Use ErrorSmall.pdf. |
| * UserInterface/Images/ErrorSmall.pdf: Added. |
| * UserInterface/Images/WarningSmall.pdf: Added. |
| * UserInterface/Images/errorIcon.png: Removed. |
| * UserInterface/Images/warningIcon.png: Removed. |
| * UserInterface/LogContentView.css: |
| (.console-error-level::before): Use ErrorSmall.pdf. |
| (.console-warning-level::before): Use WarningSmall.pdf. |
| |
| 2012-02-04 Timothy Hatcher <timothy@apple.com> |
| |
| Remove unused code and images from the log content view for status bar items and filtering. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Images/deleteIcon.png: Removed. |
| * UserInterface/Images/searchSmallBrightBlue.png: Removed. |
| * UserInterface/LogContentView.css: |
| (.console-debug-level::before): Use a background color instead of an image. The debug |
| level is not used by the new Web Inspector. |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView): Removed creation code for status bar items and filtering. |
| (WebInspector.LogContentView.prototype.evalInInspectedWindow): Pass undefined for the context. |
| * UserInterface/Section.css: |
| (.section .properties .delete-button): Removed. |
| (.section .properties li.hovered .delete-button): Removed. |
| |
| 2012-02-04 Timothy Hatcher <timothy@apple.com> |
| |
| Update LogContentView to work with the new Web Inspector's ContentView instead of the old View. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView.prototype.hidden): Renamed from willHide. Call storeScrollPositions. |
| (WebInspector.LogContentView.prototype.shown): Renamed from willShow. Merged with afterShow. |
| (WebInspector.LogContentView.prototype.storeScrollPositions): Removed WebInspector.View.prototype call. |
| (WebInspector.LogContentView.prototype.restoreScrollPositions): Ditto. |
| (WebInspector.LogContentView.prototype.updateLayout): Renamed from onResize. |
| |
| 2012-02-04 Timothy Hatcher <timothy@apple.com> |
| |
| Make the "Show Error Console" develop menu item work with the new Web Inspector. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser.prototype.get currentContentView): Added. |
| (WebInspector.ContentBrowser.prototype.canGoBack): Use this.currentContentView. |
| (WebInspector.ContentBrowser.prototype.canGoForward): Ditto. |
| (WebInspector.ContentBrowser.prototype.goBack): Ditto. |
| (WebInspector.ContentBrowser.prototype.goForward): Ditto. |
| (WebInspector.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange): Ditto. |
| (WebInspector.ContentBrowser.prototype._currentContentViewDidChange): Ditto. |
| * UserInterface/InspectorFrontendAPI.js: |
| (InspectorFrontendAPI.showConsole): Call LogSidebarPanel.showCurrentLog. |
| * UserInterface/LogSidebarPanel.js: |
| (WebInspector.LogSidebarPanel.prototype.showCurrentLog): |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange): Don't select the main frame |
| if there is already a content view showing. |
| (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork): Ditto. |
| |
| 2012-02-04 Timothy Hatcher <timothy@apple.com> |
| |
| Fix an infinite loop when doing "Show Error Console" or any of the Inspector develop menu items. |
| |
| <rdar://problem/10801359> Hitting Cmd-Opt-C (Develop -> Show Error Console) causes WebProcess |
| to freak out (100% CPU, GBs of RAM) |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/InspectorFrontendAPI.js: |
| (InspectorFrontendAPI.loadCompleted): Set _loaded before calling dispatch, otherwise dispatch |
| will keep append commands to _pendingCommands and the for loop will never finish. |
| |
| 2012-02-02 Timothy Hatcher <timothy@apple.com> |
| |
| Add the Box Model to the Appearance details sidebar panel. |
| |
| Last part of: <rdar://problem/10319536> Implement the Metrics inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/AppearanceDetailsSidebarPanel.js: |
| (WebInspector.AppearanceDetailsSidebarPanel): |
| (WebInspector.AppearanceDetailsSidebarPanel.prototype._refreshBoxModel): |
| * UserInterface/BoxModelDetailsSectionRow.css: Added. |
| * UserInterface/BoxModelDetailsSectionRow.js: Copied from OpenSource/Source/WebCore/inspector/front-end/MetricsSidebarPane.js. |
| Modified to use DOMTreeManager and CSSStyleManager and other minor renames to work in the new inspector. |
| * UserInterface/CSSStyleManager.js: |
| (WebInspector.CSSStyleManager.prototype.get forcedPseudoClasses): Added stub with FIXME. |
| * UserInterface/Main.html: Included BoxModelDetailsSectionRow.{css,js}. |
| |
| 2012-02-02 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.AppearanceDetailsSidebarPanel, future home for the box-model diagram. |
| |
| Part of: <rdar://problem/10319536> Implement the Metrics inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/AppearanceDetailsSidebarPanel.js: Added. |
| (WebInspector.AppearanceDetailsSidebarPanel): |
| (WebInspector.AppearanceDetailsSidebarPanel.prototype.refresh): Call _refreshBoxModel. |
| (WebInspector.AppearanceDetailsSidebarPanel.prototype._refreshBoxModel): |
| * UserInterface/Main.html: Included AppearanceDetailsSidebarPanel.js. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Create an instance of AppearanceDetailsSidebarPanel. |
| |
| 2012-02-02 Timothy Hatcher <timothy@apple.com> |
| |
| Replace WebInspector.domAgent use with WebInspector.domTreeManager. |
| |
| Needed for: |
| <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| <rdar://problem/10319536> Implement the Metrics inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/CSSStyleManager.js: |
| (WebInspector.CSSStyleManager.prototype.setRuleSelector.callback): |
| (WebInspector.CSSStyleManager.prototype.addRule.callback): |
| (WebInspector.CSSStyleManager.prototype._ownerDocumentId): |
| |
| 2012-02-02 Timothy Hatcher <timothy@apple.com> |
| |
| Create a singelton WebInspector.CSSStyleManager instance. |
| |
| Needed for: |
| <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| <rdar://problem/10319536> Implement the Metrics inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| |
| 2012-02-02 Timothy Hatcher <timothy@apple.com> |
| |
| WebInspector.CSSStyleModel to WebInspector.CSSStyleManager. |
| |
| Also rename WebInspector.CSSStyleModel.Events to WebInspector.CSSStyleManager.Event |
| and delete some calls in the CSSStyleManager constructor we don't need. |
| |
| Needed for: |
| <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| <rdar://problem/10319536> Implement the Metrics inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/CSSStyleManager.js: |
| (WebInspector.CSSStyleManager): |
| (WebInspector.CSSStyleManager.parseRuleArrayPayload): |
| (WebInspector.CSSStyleManager.prototype.getMatchedStylesAsync): |
| (WebInspector.CSSStyleManager.prototype.mediaQueryResultChanged): |
| (WebInspector.CSSStyleManager.prototype._fireStyleSheetChanged.if): |
| (WebInspector.CSSStyleManager.prototype._fireStyleSheetChanged.mycallback): |
| (WebInspector.CSSStyleManager.prototype._fireStyleSheetChanged): |
| |
| 2012-02-02 Timothy Hatcher <timothy@apple.com> |
| |
| Copy over classes from open source's CSSStyleModel.js. |
| |
| Needed for: |
| <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| <rdar://problem/10319536> Implement the Metrics inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/CSSMedia.js: Added. |
| (WebInspector.CSSMedia): |
| (WebInspector.CSSMedia.parsePayload): |
| (WebInspector.CSSMedia.parseMediaArrayPayload): |
| * UserInterface/CSSProperty.js: Added. |
| (WebInspector.CSSProperty): |
| (WebInspector.CSSProperty.parsePayload): |
| (WebInspector.CSSProperty.prototype.get propertyText): |
| (WebInspector.CSSProperty.prototype.get isLive): |
| (WebInspector.CSSProperty.prototype.get active): |
| (WebInspector.CSSProperty.prototype.get styleBased): |
| (WebInspector.CSSProperty.prototype.get inactive): |
| (WebInspector.CSSProperty.prototype.get disabled): |
| (WebInspector.CSSProperty.prototype.setText): |
| (WebInspector.CSSProperty.prototype.setText.callback): |
| (WebInspector.CSSProperty.prototype.setValue): |
| (WebInspector.CSSProperty.prototype.setDisabled.callback): |
| (WebInspector.CSSProperty.prototype.setDisabled): |
| * UserInterface/CSSRule.js: Added. |
| (WebInspector.CSSRule): |
| (WebInspector.CSSRule.parsePayload): |
| (WebInspector.CSSRule.prototype.get isUserAgent): |
| (WebInspector.CSSRule.prototype.get isUser): |
| (WebInspector.CSSRule.prototype.get isViaInspector): |
| (WebInspector.CSSRule.prototype.get isRegular): |
| * UserInterface/CSSStyleDeclaration.js: Added. |
| (WebInspector.CSSStyleDeclaration): |
| (WebInspector.CSSStyleDeclaration.buildShorthandValueMap): |
| (WebInspector.CSSStyleDeclaration.parsePayload): |
| (WebInspector.CSSStyleDeclaration.parseComputedStylePayload): |
| (WebInspector.CSSStyleDeclaration.prototype.get allProperties): |
| (WebInspector.CSSStyleDeclaration.prototype.getLiveProperty): |
| (WebInspector.CSSStyleDeclaration.prototype.getPropertyValue): |
| (WebInspector.CSSStyleDeclaration.prototype.getPropertyPriority): |
| (WebInspector.CSSStyleDeclaration.prototype.getPropertyShorthand): |
| (WebInspector.CSSStyleDeclaration.prototype.isPropertyImplicit): |
| (WebInspector.CSSStyleDeclaration.prototype.styleTextWithShorthands): |
| (WebInspector.CSSStyleDeclaration.prototype.getLonghandProperties): |
| (WebInspector.CSSStyleDeclaration.prototype.getShorthandValue): |
| (WebInspector.CSSStyleDeclaration.prototype.getShorthandPriority): |
| (WebInspector.CSSStyleDeclaration.prototype.propertyAt): |
| (WebInspector.CSSStyleDeclaration.prototype.pastLastSourcePropertyIndex): |
| (WebInspector.CSSStyleDeclaration.prototype.newBlankProperty): |
| (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt): |
| (WebInspector.CSSStyleDeclaration.prototype.appendProperty): |
| * UserInterface/CSSStyleManager.js: Added. |
| (WebInspector.CSSStyleModel): |
| (WebInspector.CSSStyleModel.parseRuleArrayPayload): |
| (WebInspector.CSSStyleModel.prototype.getMatchedStylesAsync): |
| (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync): |
| (WebInspector.CSSStyleModel.prototype.getInlineStylesAsync): |
| (WebInspector.CSSStyleModel.prototype.setRuleSelector): |
| (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback): |
| (WebInspector.CSSStyleModel.prototype.addRule): |
| (WebInspector.CSSStyleModel.prototype.addRule.callback): |
| (WebInspector.CSSStyleModel.prototype.mediaQueryResultChanged): |
| (WebInspector.CSSStyleModel.prototype._ownerDocumentId): |
| (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.if): |
| (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.mycallback): |
| (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged): |
| (WebInspector.CSSStyleModel.prototype.setStyleSheetText): |
| * UserInterface/CSSStyleSheet.js: Added. |
| (WebInspector.CSSStyleSheet): |
| (WebInspector.CSSStyleSheet.createForId): |
| (WebInspector.CSSStyleSheet.prototype.getText): |
| (WebInspector.CSSStyleSheet.prototype.setText): |
| * UserInterface/Main.html: |
| |
| 2012-02-02 Timothy Hatcher <timothy@apple.com> |
| |
| Fix asserts in the Web Inspector when loading a loopinsight.com article. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Frame.js: |
| (WebInspector.Frame.prototype.constructor.WebInspector.Frame.initialize): Don't disassociate from the |
| old main resource if it didn't change. |
| (WebInspector.Frame.prototype.commitProvisionalLoad): Ditto. |
| |
| 2012-02-01 Timothy Hatcher <timothy@apple.com> |
| |
| Fix issue where log views would draw over the previous log view on reload. |
| This fixes a bunch of asserts that ContentViewContainer was spewing. |
| |
| <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ContentViewContainer.js: |
| (WebInspector.ContentViewContainer.prototype.closeAllContentViewsOfPrototype): Decrement the |
| currentIndex when it is greater than or equal to i. |
| |
| 2012-01-31 Brian Weinstein <bweinstein@apple.com> |
| |
| Add DatabaseContentView.{js|css}. These were taken from open source, with a few modifications. |
| |
| Rest of <rdar://problem/10684679> Implement a database query view for the new Inspector. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/DatabaseContentView.css: Added. Copied rules from open source. |
| * UserInterface/DatabaseContentView.js: Added. Copied from open source. |
| * UserInterface/Main.html: Added new files. |
| |
| 2012-01-31 Brian Weinstein <bweinstein@apple.com> |
| |
| Stub the boilerplate that is needed to hook up DatabaseContentView. |
| |
| DatabaseContentView doesn't exist yet, but when it does, a new DatabaseContentView will be |
| created when a DatabaseTreeElement is selected. |
| |
| Work towards <rdar://problem/10684679> Implement a database query view for the new Inspector. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/ContentView.js: |
| (WebInspector.ContentView): Add a new case for DatabaseContentView. |
| (WebInspector.ContentView.isViewable): Ditto. |
| * UserInterface/Main.html: |
| * UserInterface/Main.js: Ditto. |
| (WebInspector.contentBrowserTreeElementForRepresentedObject): |
| * UserInterface/StorageSidebarPanel.js: |
| (WebInspector.StorageSidebarPanel.prototype._storageCleared): Ditto. |
| (WebInspector.StorageSidebarPanel.prototype._treeElementSelected): Ditto. |
| |
| 2012-01-31 Timothy Hatcher <timothy@apple.com> |
| |
| Generate friendlier titles for the current log and previous logs in the Log sidebar. |
| |
| Part of: <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/LogSidebarPanel.js: |
| (WebInspector.LogSidebarPanel.prototype._sessionStarted): Set the previous current tree element title |
| to "Previous Log %d". |
| (WebInspector.LogSidebarPanel.prototype._activeTreeElement): Added. |
| (WebInspector.LogSidebarPanel.prototype._activeLogContentView): Use _activeTreeElement(). |
| * UserInterface/LogTreeElement.js: |
| (WebInspector.LogTreeElement): Set the main title to "Current Log" and the subtitle to the time. |
| |
| 2012-01-31 Timothy Hatcher <timothy@apple.com> |
| |
| Add an icon for logs in the Web Inspector Log sidebar. |
| |
| Part of: <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Images/Log.png: Added. |
| * UserInterface/Images/Log@2x.png: Added. |
| * UserInterface/LogIcon.css: Added. |
| * UserInterface/LogObject.js: |
| (WebInspector.LogObject): Added startDate parameter and set _startDate. |
| (WebInspector.LogObject.prototype.get startDate): Added. |
| * UserInterface/LogSidebarPanel.js: |
| (WebInspector.LogSidebarPanel.prototype._sessionStarted): |
| * UserInterface/LogTreeElement.js: Added. |
| (WebInspector.LogTreeElement): |
| (WebInspector.LogTreeElement.prototype.get logObject): |
| * UserInterface/Main.html: Included LogTreeElement.js and LogIcon.css. |
| |
| 2012-01-30 Timothy Hatcher <timothy@apple.com> |
| |
| Fix disclosure triangles in the Log content view after they broke in r40433. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Section.css: |
| (.section): Added. Moved position: relative here. |
| (.section .header): Removed position: relative from here. |
| |
| 2012-01-30 Brian Weinstein <bweinstein@apple.com> |
| |
| Clear all content views of type LogContentView when we clear the log sidebar panel. |
| |
| More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/LogSidebarPanel.js: |
| (WebInspector.LogSidebarPanel.prototype._logsCleared): |
| |
| 2012-01-30 Brian Weinstein <bweinstein@apple.com> |
| |
| Make the log views from previous loads of the page non-editable. |
| |
| More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/LogContentView.css: |
| (#console-prompt.disabled): Make the field read only. |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView.prototype.setDisabled): Add the disabled class to the content prompt. |
| * UserInterface/LogSidebarPanel.js: |
| (WebInspector.LogSidebarPanel.prototype.constructor.WebInspector.LogSidebarPanel._sessionStarted): Call setDisabled |
| on the previously active LogContentView. |
| |
| 2012-01-30 Brian Weinstein <bweinstein@apple.com> |
| |
| Have to double click on disclosure triangles for log messages with backtraces. |
| |
| More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/DOMTreeOutline.css: |
| (.dom-tree-outline li.parent): Switch from text-indent to margin-left. |
| * UserInterface/TreeOutline.js: |
| (TreeElement.prototype.isEventWithinDisclosureTriangle): Update this to match open source. |
| |
| 2012-01-30 Brian Weinstein <bweinstein@apple.com> |
| |
| Make console log messages with backtraces display correctly in the log view. |
| |
| More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/LogContentView.css: Copied some rules about outline-disclosure from Open Source. |
| |
| 2012-01-30 Brian Weinstein <bweinstein@apple.com> |
| |
| Create correct links in the Log content view. |
| |
| Instead of calling through to this._linkifier (which we don't have), create links ourselves. |
| |
| This will work by calling through to WebInspector.openURL, which will either open a resource in a new tab, |
| or show you the resource content view for the link you clicked. |
| |
| More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/ConsoleMessageImpl.js: |
| (WebInspector.ConsoleMessageImpl.prototype._linkifyLocation): We don't have a this._linkifier, so use our own function. |
| |
| 2012-01-30 Brian Weinstein <bweinstein@apple.com> |
| |
| When we get a console message from the ConsoleObserver, add it to the correct LogContentView. |
| |
| With this patch, we show console logging from the page in the content view, so it is now more than |
| just a place to evaluate JavaScript. |
| |
| More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/ConsoleObserver.js: |
| (WebInspector.ConsoleObserver.prototype.constructor.WebInspector.ConsoleObserver.messageAdded): Tell the LogManager about the |
| added message. |
| * UserInterface/LogManager.js: |
| (WebInspector.LogManager.prototype.messageWasAdded): Create a ConsoleMessage object, and fire an event that a new message |
| was added. |
| * UserInterface/LogSidebarPanel.js: |
| (WebInspector.LogSidebarPanel): Add a listener for when messages are added. |
| (WebInspector.LogSidebarPanel.prototype._messageAdded): Find the content view for the current log item, and call messageAdded |
| on the LogContentView. |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView.prototype.messageAdded): Call _consoleMessageAdded. |
| (WebInspector.LogContentView.prototype._consoleMessageAdded): This now takes just the ConsoleMessage instead of an event. |
| |
| 2012-01-30 Brian Weinstein <bweinstein@apple.com> |
| |
| Enable the ConsoleAgent after creating the managers. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| |
| 2012-01-30 Timothy Hatcher <timothy@apple.com> |
| |
| Add DOM properties to the DOM node details sidebar panel. |
| |
| Last part of: <rdar://problem/10319527> Implement the DOM Attributes inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DOMNodeDetailsSidebarPanel.css: Added. |
| (.sidebar > .panel.details.dom-node .row.properties): |
| * UserInterface/DOMNodeDetailsSidebarPanel.js: |
| (WebInspector.DOMNodeDetailsSidebarPanel): |
| (WebInspector.DOMNodeDetailsSidebarPanel.prototype.refresh): Call _refreshProperties. |
| (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties): Added. |
| (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.nodeResolved.collectPrototypes): Added. |
| (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.nodeResolved): Added. |
| (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.nodePrototypesReady): Added. |
| (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.fillSection): Added. |
| * UserInterface/Main.html: Included DOMNodeDetailsSidebarPanel.css. |
| * UserInterface/Section.css: |
| (.section .header): Added position: relative so the disclosure triangles show up correctly. |
| (.properties-tree): Added outline: none to prevent a focus ring. |
| |
| 2012-01-29 Timothy Hatcher <timothy@apple.com> |
| |
| Add a simple DOM node details sidebar panel that shows type, name and attributes. |
| |
| Part of: <rdar://problem/10319527> Implement the DOM Attributes inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DOMNodeDetailsSidebarPanel.js: Added. |
| (WebInspector.DOMNodeDetailsSidebarPanel): |
| (WebInspector.DOMNodeDetailsSidebarPanel.prototype.refresh): |
| (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAttributes): |
| (WebInspector.DOMNodeDetailsSidebarPanel.prototype._attributesChanged): |
| (WebInspector.DOMNodeDetailsSidebarPanel.prototype._nodeTypeDisplayName): |
| (WebInspector.DOMNodeDetailsSidebarPanel.prototype._createAttributesDataGrid): |
| * UserInterface/Images/NavigationItemAngleBrackets.pdf: Added. |
| * UserInterface/Main.html: Included DOMNodeDetailsSidebarPanel.js. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Included DOMNodeDetailsSidebarPanel in the details sidebar list. |
| |
| 2012-01-29 Timothy Hatcher <timothy@apple.com> |
| |
| Add DOMDetailsSidebarPanel as a base class for all the DOM node focused details sidebar panels. |
| |
| Needed for: |
| <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| <rdar://problem/10319527> Implement the DOM Attributes inspector for the new Web Inspector design |
| <rdar://problem/10319536> Implement the Metrics inspector for the new Web Inspector design |
| <rdar://problem/10319541> Implement the Properties/DOM object inspector for the new Web Inspector design |
| <rdar://problem/10319546> Implement the Event Listener inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DOMDetailsSidebarPanel.js: Added. |
| (WebInspector.DOMDetailsSidebarPanel): |
| (WebInspector.DOMDetailsSidebarPanel.prototype.inspect): |
| (WebInspector.DOMDetailsSidebarPanel.prototype.get domNode): |
| (WebInspector.DOMDetailsSidebarPanel.prototype.set domNode): |
| (WebInspector.DOMDetailsSidebarPanel.prototype.addEventListeners): |
| (WebInspector.DOMDetailsSidebarPanel.prototype.removeEventListeners): |
| * UserInterface/Main.html: Included DOMDetailsSidebarPanel.js. |
| |
| 2012-01-29 Timothy Hatcher <timothy@apple.com> |
| |
| Display information about the selected resource in the resource details sidebar panel. |
| |
| Last part of: <rdar://problem/10319511> Implement the File inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ResourceDetailsSidebarPanel.js: |
| (WebInspector.ResourceDetailsSidebarPanel): Create DetailsSections for the various parts of info to display. |
| (WebInspector.ResourceDetailsSidebarPanel.prototype.set resource): Remove and add event listeners. |
| (WebInspector.ResourceDetailsSidebarPanel.prototype.refresh): Call the individual refresh functions. |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshURL): Added. Update the affected rows. |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshResourceType): Added. Ditto. |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshMIMEType): Added. Ditto. |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestHeaders): Added. Ditto. |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshResponseHeaders): Added. Ditto. |
| (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid): Added. Helper to create a simple grid. |
| * UserInterface/Utilities.js: |
| (parseLocationQueryParameters): Use the queryString function after trimming the "?". |
| (queryString): Added. Factored out of parseLocationQueryParameters. |
| (queryString.decode): Added. Properly decode "+" as " ". |
| |
| 2012-01-26 Timothy Hatcher <timothy@apple.com> |
| |
| Add the start of WebInspector.ResourceDetailsSidebarPanel. |
| |
| Part of: <rdar://problem/10319511> Implement the File inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Main.html: Included ResourceDetailsSidebarPanel.js. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Create a WebInspector.ResourceDetailsSidebarPanel. |
| * UserInterface/ResourceDetailsSidebarPanel.js: Added. |
| (WebInspector.ResourceDetailsSidebarPanel): |
| (WebInspector.ResourceDetailsSidebarPanel.prototype.inspect): |
| (WebInspector.ResourceDetailsSidebarPanel.prototype.get resource): |
| (WebInspector.ResourceDetailsSidebarPanel.prototype.refresh): |
| |
| 2012-01-29 Timothy Hatcher <timothy@apple.com> |
| |
| Add DetailsSection and friends to be used by details sidebar panels. |
| |
| Needed for: |
| <rdar://problem/10319511> Implement the File inspector for the new Web Inspector design |
| <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| <rdar://problem/10319527> Implement the DOM Attributes inspector for the new Web Inspector design |
| <rdar://problem/10319536> Implement the Metrics inspector for the new Web Inspector design |
| <rdar://problem/10319541> Implement the Properties/DOM object inspector for the new Web Inspector design |
| <rdar://problem/10319546> Implement the Event Listener inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DetailsSection.css: Added. |
| (.details-section): |
| (.details-section > .header): |
| (.details-section > .header::before): |
| (.details-section > .header:active::before): |
| (.details-section.collapsed > .header::before): |
| (.details-section.collapsed > .header:active::before): |
| (.details-section > .content): |
| (.details-section.collapsed > .content): |
| (.details-section > .content > .group): |
| (.details-section > .content > .group:nth-child(even)): |
| (.details-section > .content > .group:nth-child(even) > .row:first-child > *): |
| (.details-section > .content > .group:nth-child(even) > .row:last-child > *): |
| (.details-section > .content > .group > .row): |
| (.details-section > .content > .group > .row:last-child > *): |
| (.details-section > .content > .group > .row.empty): |
| (.details-section > .content > .group:nth-child(even) > .row.empty:last-child): |
| (.details-section > .content > .group:nth-child(even) > .row.empty:last-child > *): |
| (.details-section > .content > .group:nth-child(even) > .row.empty:last-child > * > *): |
| (.details-section > .content > .group > .row > *): |
| (.details-section > .content > .group > .row > .label): |
| (.details-section > .content > .group > .row > .value): |
| (.details-section > .content > .group > .data-grid-row): |
| (.details-section > .content > .group > .data-grid-row.empty): |
| (.details-section > .content .data-grid): |
| * UserInterface/DetailsSection.js: Added. |
| (WebInspector.DetailsSection): |
| (WebInspector.DetailsSection.prototype.get element): |
| (WebInspector.DetailsSection.prototype.get title): |
| (WebInspector.DetailsSection.prototype.set title): |
| (WebInspector.DetailsSection.prototype.get collapsed): |
| (WebInspector.DetailsSection.prototype.set collapsed): |
| (WebInspector.DetailsSection.prototype.get groups): |
| (WebInspector.DetailsSection.prototype.set groups): |
| (WebInspector.DetailsSection.prototype._headerElementClicked): |
| (WebInspector.DetailsSection.prototype._generateDisclosureTrianglesIfNeeded.disclosureImageLoaded): |
| (WebInspector.DetailsSection.prototype._generateDisclosureTrianglesIfNeeded.generateDisclosureTriangle): |
| (WebInspector.DetailsSection.prototype._generateDisclosureTrianglesIfNeeded): |
| * UserInterface/DetailsSectionDataGridRow.js: Added. |
| (WebInspector.DetailsSectionDataGridRow): |
| (WebInspector.DetailsSectionDataGridRow.prototype.constructor.WebInspector.DetailsSectionDataGridRow.get element): |
| (WebInspector.DetailsSectionDataGridRow.prototype.get emptyMessage): |
| (WebInspector.DetailsSectionDataGridRow.prototype.set emptyMessage): |
| (WebInspector.DetailsSectionDataGridRow.prototype.get dataGrid): |
| (WebInspector.DetailsSectionDataGridRow.prototype.set dataGrid): |
| * UserInterface/DetailsSectionGroup.js: Added. |
| (WebInspector.DetailsSectionGroup): |
| (WebInspector.DetailsSectionGroup.prototype.get element): |
| (WebInspector.DetailsSectionGroup.prototype.get rows): |
| (WebInspector.DetailsSectionGroup.prototype.set rows): |
| * UserInterface/DetailsSectionRow.js: Added. |
| (WebInspector.DetailsSectionRow): |
| (WebInspector.DetailsSectionRow.prototype.get element): |
| (WebInspector.DetailsSectionRow.prototype.get label): |
| (WebInspector.DetailsSectionRow.prototype.set label): |
| (WebInspector.DetailsSectionRow.prototype.get value): |
| (WebInspector.DetailsSectionRow.prototype.set value): |
| * UserInterface/Main.html: Included DetailsSection.{css,js}, DetailsSectionDataGridRow.js, |
| DetailsSectionGroup.js, and DetailsSectionRow.js. |
| |
| 2012-01-26 Timothy Hatcher <timothy@apple.com> |
| |
| Selectively show and hide panels in the Details sidebar based on if they can inspect the current |
| represented objects being viewed in the content browser. |
| |
| Needed for: |
| <rdar://problem/10319511> Implement the File inspector for the new Web Inspector design |
| <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| <rdar://problem/10319527> Implement the DOM Attributes inspector for the new Web Inspector design |
| <rdar://problem/10319536> Implement the Metrics inspector for the new Web Inspector design |
| <rdar://problem/10319541> Implement the Properties/DOM object inspector for the new Web Inspector design |
| <rdar://problem/10319546> Implement the Event Listener inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Added event listener for CurrentRepresentedObjectsDidChange event. |
| (WebInspector._contentBrowserRepresentedObjectsDidChange): Added. Call inspect on each details |
| sidebar panel and show ones that return true and hide ones that return false. |
| |
| 2012-01-26 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.DetailsSidebarPanel for use by panels in the Details sidebar. |
| |
| Needed for: |
| <rdar://problem/10319511> Implement the File inspector for the new Web Inspector design |
| <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| <rdar://problem/10319527> Implement the DOM Attributes inspector for the new Web Inspector design |
| <rdar://problem/10319536> Implement the Metrics inspector for the new Web Inspector design |
| <rdar://problem/10319541> Implement the Properties/DOM object inspector for the new Web Inspector design |
| <rdar://problem/10319546> Implement the Event Listener inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DetailsSidebarPanel.js: Added. |
| (WebInspector.DetailsSidebarPanel): |
| (WebInspector.DetailsSidebarPanel.prototype.inspect): |
| (WebInspector.DetailsSidebarPanel.prototype.shown): |
| (WebInspector.DetailsSidebarPanel.prototype.needsRefresh): |
| (WebInspector.DetailsSidebarPanel.prototype.refresh): |
| * UserInterface/Sidebar.js: |
| (WebInspector.Sidebar.prototype.set selectedSidebarPanel): Call hidden and shown on the SidebarPanel. |
| (WebInspector.Sidebar.prototype.set collapsed): Update layout of the navigation bar when uncollapsed. |
| * UserInterface/SidebarPanel.js: |
| (WebInspector.SidebarPanel.prototype.shown): Added stub. |
| (WebInspector.SidebarPanel.prototype.hidden): Added stub. |
| |
| 2012-01-26 Timothy Hatcher <timothy@apple.com> |
| |
| Add support for removing and inserting SidebarPanels to WebInspector.Sidebar. |
| |
| Needed for: |
| <rdar://problem/10319511> Implement the File inspector for the new Web Inspector design |
| <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| <rdar://problem/10319527> Implement the DOM Attributes inspector for the new Web Inspector design |
| <rdar://problem/10319536> Implement the Metrics inspector for the new Web Inspector design |
| <rdar://problem/10319541> Implement the Properties/DOM object inspector for the new Web Inspector design |
| <rdar://problem/10319546> Implement the Event Listener inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/NavigationBar.js: |
| (WebInspector.NavigationBar.prototype.removeNavigationItem): Clear the selected navigation item if it is this. |
| * UserInterface/Sidebar.js: |
| (WebInspector.Sidebar.prototype.insertSidebarPanel): Added. |
| (WebInspector.Sidebar.prototype.removeSidebarPanel): Added. |
| (WebInspector.Sidebar.prototype.set selectedSidebarPanel): Allow setting of null. Factored out code into _findSidebarPanel. |
| (WebInspector.Sidebar.prototype._findSidebarPanel): Added. |
| |
| 2012-01-25 Timothy Hatcher <timothy@apple.com> |
| |
| Add support for getting the current represented objects from ContentBrowser. |
| |
| Needed for: |
| <rdar://problem/10319511> Implement the File inspector for the new Web Inspector design |
| <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design |
| <rdar://problem/10319527> Implement the DOM Attributes inspector for the new Web Inspector design |
| <rdar://problem/10319536> Implement the Metrics inspector for the new Web Inspector design |
| <rdar://problem/10319541> Implement the Properties/DOM object inspector for the new Web Inspector design |
| <rdar://problem/10319546> Implement the Event Listener inspector for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser.prototype.get currentRepresentedObjects): Added. |
| (WebInspector.ContentBrowser.prototype._updateContentViewSelectionPathNavigationItem): Make sure to set |
| components even if it is empty. |
| (WebInspector.ContentBrowser.prototype._dispatchCurrentRepresentedObjectsDidChangeEventSoon): Set a timeout. |
| (WebInspector.ContentBrowser.prototype._dispatchCurrentRepresentedObjectsDidChangeEventSoon.delayed): Fire the event. |
| (WebInspector.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange): Call |
| _dispatchCurrentRepresentedObjectsDidChangeEventSoon. |
| (WebInspector.ContentBrowser.prototype._currentContentViewDidChange): Call |
| _dispatchCurrentRepresentedObjectsDidChangeEventSoon. |
| * UserInterface/DOMTreeElementPathComponent.js: |
| (WebInspector.DOMTreeElementPathComponent): Set the representedObject to the treeElement.representedObject if |
| a representedObject wasn't passed in. |
| * UserInterface/GeneralTreeElementPathComponent.js: |
| (WebInspector.GeneralTreeElementPathComponent): Set the representedObject to the treeElement.representedObject if |
| a representedObject wasn't passed in. |
| * UserInterface/HierarchicalPathNavigationItem.js: |
| (WebInspector.HierarchicalPathNavigationItem.prototype.get lastComponent): Added. |
| |
| 2012-01-26 Timothy Hatcher <timothy@apple.com> |
| |
| Center align navigation items in navigation bars by default. |
| |
| You can still get left alignment by adding a flexible space on the left. This make it easier than |
| flexible spaces on each side for center alignment. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/NavigationBar.css: |
| (.navigation-bar): Set -webkit-box-pack to center. |
| |
| 2012-01-29 Timothy Hatcher <timothy@apple.com> |
| |
| Add a helper function for display names of resource types. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/FrameTreeElement.js: |
| (WebInspector.FrameTreeElement.prototype._folderNameForResourceType): Use WebInspector.Resource.Type.displayName. |
| * UserInterface/Resource.js: |
| (WebInspector.Resource.Type.displayName): Added. Can return plural or singular strings. |
| |
| 2012-01-29 Timothy Hatcher <timothy@apple.com> |
| |
| Update the request headers when resources are redirected. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent): Pass along the |
| request headers to updateForRedirectResponse. |
| * UserInterface/Resource.js: |
| (WebInspector.Resource.prototype.get updateForRedirectResponse): Added requestHeaders parameter. |
| Set _requestHeaders and fire the RequestHeadersDidChange event. |
| |
| 2012-01-29 Timothy Hatcher <timothy@apple.com> |
| |
| Centralize the code that adds zero-width spaces to long strings so it can be used |
| in other places. |
| |
| Also add a copy event listener that strips the zero-width spaces from the pasteboard. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.prototype._buildAttributeDOM): Use insertWordBreakCharacters. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Added copy event listener. |
| (WebInspector._sanitizeClipboardData): Added. |
| * UserInterface/Utilities.js: |
| (String.prototype.insertWordBreakCharacters): Added. |
| (String.prototype.removeWordBreakCharacters): Added. |
| |
| 2012-01-27 Brian Weinstein <bweinstein@apple.com> |
| |
| Create a log session when the inspector is first loaded. |
| |
| More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/LogSidebarPanel.js: |
| (WebInspector.LogSidebarPanel): |
| |
| 2012-01-27 Brian Weinstein <bweinstein@apple.com> |
| |
| Add some functions for open source needed to create links and strings. |
| |
| More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/LogContentView.js: |
| (WebInspector.LogContentView): Add a click handler to the content view. |
| (WebInspector.LogContentView.prototype._mouseWasClicked): Find the <a> element we clicked on, |
| and open the URL. This does the right thing for external resources (loads them in Safari), |
| and resources from the page (loads the Resource in the inspector). |
| * UserInterface/Main.js: |
| (WebInspector.linkifyURLAsNode): Copied from open source. |
| (WebInspector.linkifyStringAsFragmentWithCustomLinkifier): Ditto. |
| (WebInspector.linkifyStringAsFragment): Ditto. |
| |
| 2012-01-27 Brian Weinstein <bweinstein@apple.com> |
| |
| Show the DOM tree for an element that the user enters. |
| |
| More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/ConsoleMessageImpl.js: |
| (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode): Create a DOMTreeOutline instead |
| of an ElementTreeOutline, and get the node from the DOMTreeManager. |
| |
| 2012-01-26 Brian Weinstein <bweinstein@apple.com> |
| |
| More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design. |
| |
| Add working versions of LogContentView.css and LogContentView.js. |
| |
| LogContentView.css copied rules for open source's |
| inspector.css, with one change to add outline: none to the prompt and a change to use the same font that |
| we use in the text editor. |
| |
| LogContentView.js changed *styleClass to classList.*, and removed calls to objects that we don't have in |
| our inspector (WebInspector.settings, WebInspector.debuggerPresentationModel). |
| |
| This patch makes the console view show up, and you can type and run JavaScript. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/LogContentView.css: Added. Copied selected rules from inspector.css in Open Source. |
| * UserInterface/LogContentView.js: Added. This file was copied from Open Source, but changes have been |
| made to remove calls to objects that we don't have in our inspector (WebInspector.settings, WebInspector.debuggerPresentationModel), |
| and *styleClass has been changed to classList.*. |
| * UserInterface/Main.html: Added new files. |
| |
| 2012-01-26 Brian Weinstein <bweinstein@apple.com> |
| |
| More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design. |
| |
| Add some needed functions to Utilities.js. These were copied from Open Source, but switched over |
| to the Object.defineProperty syntax. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/Utilities.js: |
| |
| 2012-01-26 Brian Weinstein <bweinstein@apple.com> |
| |
| More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design. |
| |
| Add the ConsoleMessage and ConsoleMessageImpl files from Open Source. These will be renamed |
| and combined in a follow-up patch. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/ConsoleMessage.js: Added. Copied from Open Source's ConsoleModel.js. |
| * UserInterface/ConsoleMessageImpl.js: Added. Copied from Open Source. The only changes are |
| changing *styleClass -> classList.*. |
| * UserInterface/Main.html: Added new files. |
| |
| 2012-01-26 Brian Weinstein <bweinstein@apple.com> |
| |
| More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design. |
| |
| Add the TextPrompt.js and TextPrompt.css files. These are needed for autocompleting of the |
| user's input. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/Main.html: Add new files. |
| * UserInterface/TextPrompt.css: Added. Copied from Open Source. |
| * UserInterface/TextPrompt.js: Added. Copied from Open Source. The only changes that were |
| made were changing *styleClass("class") -> classList.*("class"). |
| |
| 2012-01-26 Brian Weinstein <bweinstein@apple.com> |
| |
| More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design. |
| |
| Add some images that will be needed by the log console view. |
| |
| These need to be in HiDPI. I updated <rdar://problem/10749265> to say that the console images |
| need to be HiDPI as well. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/Images/disclosureTriangleSmallDown.png: Added. |
| * UserInterface/Images/disclosureTriangleSmallRight.png: Added. |
| * UserInterface/Images/errorIcon.png: Added. |
| * UserInterface/Images/searchSmallBrightBlue.png: Added. |
| * UserInterface/Images/userInputIcon.png: Added. |
| * UserInterface/Images/userInputResultIcon.png: Added. |
| * UserInterface/Images/warningIcon.png: Added. |
| |
| 2012-01-26 Brian Weinstein <bweinstein@apple.com> |
| |
| More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design. |
| |
| Add some needed files from Open Source. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/Images/deleteIcon.png: Added. |
| * UserInterface/Main.html: Added new files. |
| * UserInterface/ObjectPropertiesSection.js: Added. Copied from Open Source. |
| * UserInterface/PropertiesSection.js: Added. Copied from Open Source. |
| * UserInterface/Section.css: Added. Copied selected rules about .section and .properties-tree from Open Source. |
| * UserInterface/Section.js: Added. Copied from Open Source. |
| |
| 2012-01-26 Brian Weinstein <bweinstein@apple.com> |
| |
| More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design. |
| |
| This patch hooks up the plumbing to show a LogContentView (which doesn't exist), when a tree element |
| from the Log sidebar panel is selected. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/ContentView.js: |
| (WebInspector.ContentView): Add a case for LogObject. It creates a LogContentView, which isn't available |
| yet, but will be in a later patch. |
| (WebInspector.ContentView.isViewable): Ditto. |
| * UserInterface/LogSidebarPanel.js: |
| (WebInspector.LogSidebarPanel): |
| (WebInspector.LogSidebarPanel.prototype._treeElementSelected): Make sure the selected element |
| has a LogObject as its represented object, and then show the correct content view. |
| * UserInterface/Main.js: |
| (WebInspector.contentBrowserTreeElementForRepresentedObject): Add a case for LogObject. |
| |
| |
| 2012-01-26 Brian Weinstein <bweinstein@apple.com> |
| |
| More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design. |
| |
| Add a stub LogObject and use that as the represented object for the logs sidebar panel. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/LogObject.js: Added. |
| (WebInspector.LogObject): |
| * UserInterface/LogSidebarPanel.js: |
| (WebInspector.LogSidebarPanel.prototype._sessionStarted): |
| * UserInterface/Main.html: |
| |
| 2012-01-26 Brian Weinstein <bweinstein@apple.com> |
| |
| More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design. |
| |
| Add tree elements to the Log Sidebar. Each tree element has the URL and date of when the page started loading, |
| and selecting it will show a console view in the future. |
| |
| If the same page is loaded, the console sidebar isn't cleared, but when a page with a different URL is loaded, |
| then the sidebar is cleared. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/LogManager.js: |
| (WebInspector.LogManager): |
| (WebInspector.LogManager.prototype.constructor.WebInspector.LogManager.initialize): |
| (WebInspector.LogManager.prototype._mainResourceDidChange): |
| * UserInterface/LogSidebarPanel.js: |
| (WebInspector.LogSidebarPanel): |
| (WebInspector.LogSidebarPanel.prototype.constructor.WebInspector.LogSidebarPanel._sessionStarted): |
| (WebInspector.LogSidebarPanel.prototype._logsCleared): |
| |
| 2012-01-26 Brian Weinstein <bweinstein@apple.com> |
| |
| More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design. |
| |
| Add a stub LogManager, and call it from Main.js. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/ConsoleObserver.js: |
| (WebInspector.ConsoleObserver.prototype.constructor.WebInspector.ConsoleObserver.messageAdded): |
| * UserInterface/LogManager.js: Added. |
| (WebInspector.LogManager): |
| (WebInspector.LogManager.prototype.constructor.WebInspector.LogManager.initialize): |
| * UserInterface/Main.html: |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| |
| 2012-01-26 Brian Weinstein <bweinstein@apple.com> |
| |
| Start of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design. |
| |
| Add a stub LogSidebarPanel and create it instead of a generic sidebar panel for Log. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/Main.html: |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| |
| 2012-01-25 Brian Weinstein <bweinstein@apple.com> |
| |
| More of <rdar://problem/10318761> Implement the Issue sidebar for the new Web Inspector design. |
| |
| Highlight lines that have errors or warnings. This patch doesn't behave correctly for lines that |
| have multiple issues, but that won't be implemented until we actually show the issues on the page. |
| |
| This patch adds a new delegate call to TextEditor - textEditorLineContentUpdated. When a single line's |
| content is updated, it calls to the delegate, which will add a style class if there is an issue on that |
| line. In the future, it will also add the error text, but that will be done later as well. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/TextResourceContentView.css: |
| (.text-editor .text-editor-text-chunk.error): Add a background color and a box shadow. |
| (.text-editor .text-editor-text-chunk.warning): Ditto. |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.singleLineElementForLine): Returns the element of the line if it is |
| a single line (if it's not, it isn't visible and we don't need to worry about it). |
| (WebInspector.TextEditorTextChunk.prototype.updateContent): |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView.prototype.addIssue): Call _addIssueToLine if we have an element to update. |
| (WebInspector.TextResourceContentView.prototype._addIssueToLine): Add a style class to the line if there is an |
| issue. |
| (WebInspector.TextResourceContentView.prototype.textEditorLineContentUpdated): Call _addIssueToLine if we have |
| any issues on that line. |
| * UserInterface/IssueManager.js |
| (WebInspector.IssueManager.prototype.issueWasAdded): We are given 1-based line numbers from the protocol, but everywhere |
| in the inspector deals with 0 based line numbers. Subtract 1 from the issue line number that we are given before |
| storing the IssueMessage. |
| |
| 2012-01-24 Brian Weinstein <bweinstein@apple.com> |
| |
| More of <rdar://problem/10318761> Implement the Issue sidebar for the new Web Inspector design. |
| |
| When a TextResourceContentView is instantiated, get a list of issues for its resource, and start listening for more. |
| |
| When we get an issue from the listener or from the constructor, call _addIssue on them, which adds the issue to |
| the content view's collection of issues. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView): Start listening for issues and build a list of issues. |
| (WebInspector.TextResourceContentView.prototype._issueWasAdded): Call _addIssue. |
| (WebInspector.TextResourceContentView.prototype._addIssue): Add the issue to our list of issues, and add a FIXME to do more |
| with it. |
| |
| 2012-01-23 Brian Weinstein <bweinstein@apple.com> |
| |
| Remove some unused variables. |
| |
| Rubber-stamped by Joseph Pecoraro. |
| |
| * UserInterface/TextEditor.js: |
| |
| 2012-01-23 Brian Weinstein <bweinstein@apple.com> |
| |
| Last part of <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design. |
| |
| When a resource match is selected in the search sidebar, select the text that was searched for in |
| the TextContentResourceView and scroll it into view. |
| |
| This makes it easier to find the text that the user searched for in long lines. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/FrameContentView.js: |
| (WebInspector.FrameContentView.prototype.showSourceCode): Pass the text range to select along. |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype.showResourceSourceCode): Ditto. |
| * UserInterface/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel.prototype._treeElementSelected): Ditto. |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView.prototype.contentAvailable): Ditto. |
| (WebInspector.TextResourceContentView.prototype.revealLine): Ditto. |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.shown): Ditto. |
| (WebInspector.TextEditor.prototype.revealLine): Build a selection range (start and end nodes and offsets), and set our selection |
| and bring the container of the selection end into view. |
| (WebInspector.TextEditor.prototype.revealLine.getTextNodes): Finds all of the text nodes in a possibly syntax highlighted line. |
| (WebInspector.TextEditor.prototype.revealLine.findOffsetInTextNodes): Iterate over all of the text nodes, and find the child |
| node and offset into the child node that matches the offset into the whole line. |
| |
| 2012-01-23 Timothy Hatcher <timothy@apple.com> |
| |
| Fix some errors when inspecting frames now that #document is included in the tree. |
| |
| This gives document nodes their own "D" icon, which was previously missing because of |
| a typo for the "N" icon. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DOMTreeElementPathComponent.js: |
| (WebInspector.DOMTreeElementPathComponent): Add a case for Node.DOCUMENT_NODE. Fix a typo |
| by using DOMNodeIconStyleClassName instead of DOMUnknownNodeIconStyleClassName. |
| * UserInterface/Images/DOMDocument.pdf: Added. |
| * UserInterface/PathComponentIcons.css: |
| (.dom-document-icon .icon): Added. |
| |
| 2012-01-23 Timothy Hatcher <timothy@apple.com> |
| |
| Merge the DOMAgent.js change in r105620 so the Inspect Element content menu works in frames. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DOMNode.js: |
| (WebInspector.DOMNode.prototype._setChildrenPayload): Return early for frame elements. |
| |
| 2012-01-23 Timothy Hatcher <timothy@apple.com> |
| |
| Make command-clicking links in the DOM tree always open into a new Safari window/tab. |
| |
| Since DOMTreeContentView delays the call to WebInspector.openURL, the openURL function |
| can't look at window.event to see if the command key is down. So we need to do that |
| check before calling openURL. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DOMTreeContentView.js: |
| (WebInspector.DOMTreeContentView.prototype._mouseWasClicked.followLink): Check for metaKey |
| and pass that as alwaysOpenExternally to WebInspector.openURL. |
| |
| 2012-01-23 Timothy Hatcher <timothy@apple.com> |
| |
| Use InspectorFrontendHost.openInNewTab instead of PageAgent.open now that |
| https://webkit.org/b/74790 is fixed. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Main.js: |
| (WebInspector.openURL): Use InspectorFrontendHost.openInNewTab instead of PageAgent.open. |
| |
| 2012-01-23 Brian Weinstein <bweinstein@apple.com> |
| |
| More of <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design. |
| |
| Support the ability to have multiple matches on a line when we search the DOM. |
| |
| When we find a DOM element matches our search term, we generate a title for it (by moving the _generateTitle |
| function from DOMSearchMatchObject out of the class to a static method), and find all of our matches in the title. |
| |
| We then generate DOMSearchMatchObjects and SearchResultTreeElements for each of these. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/DOMSearchMatchObject.js: |
| (WebInspector.DOMSearchMatchObject): |
| (WebInspector.DOMSearchMatchObject.prototype.get title): Returns the title. |
| (WebInspector.DOMSearchMatchObject.prototype.get textRange): Returns the text range. |
| (WebInspector.DOMSearchMatchObject.titleForDOMNode): |
| * UserInterface/SearchResultTreeElement.js: |
| (WebInspector.SearchResultTreeElement.truncateAndHighlightTitle): We always have a textRange now, both DOMSearchMatchObject and ResourceSearchMatchObject |
| both have a textRange getter. |
| * UserInterface/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged.domCallback.domSearchResults): Generate |
| the text for the DOM node that we found a result for, and find all of the matching instances in that node. |
| |
| |
| 2012-01-23 Brian Weinstein <bweinstein@apple.com> |
| |
| More of <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design. |
| |
| Support the ability to have multiple matches on a line for when we search in a resource. |
| |
| When the PageAgent gives us information about the lines that match our search query, instead of just |
| finding the first match, find all of the matches on that line. Create a ResourceSearchMatchObject and |
| SearchResultTreeElement for each result on the line. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/ResourceSearchMatchObject.js: |
| (WebInspector.ResourceSearchMatchObject): Set the textRange |
| (WebInspector.ResourceSearchMatchObject.prototype.get textRange): |
| * UserInterface/SearchResultTreeElement.js: |
| (WebInspector.SearchResultTreeElement): |
| (WebInspector.SearchResultTreeElement.truncateAndHighlightTitle): If we were given a text range, use that instead of finding the first match |
| in the title. |
| * UserInterface/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged.resourcesCallback.resourceCallback): Find |
| all of the matches on the line instead of just the first one. |
| |
| 2012-01-23 Brian Weinstein <bweinstein@apple.com> |
| |
| More of <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design. |
| |
| Bring TextRange over from open source. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/TextRange.js: Added. |
| (WebInspector.TextRange): |
| (WebInspector.TextRange.prototype.constructor.WebInspector.TextRange.isEmpty): |
| (WebInspector.TextRange.prototype.get linesCount): |
| (WebInspector.TextRange.prototype.collapseToEnd): |
| (WebInspector.TextRange.prototype.normalize): |
| (WebInspector.TextRange.prototype.clone): |
| |
| 2012-01-20 Brian Weinstein <bweinstein@apple.com> |
| |
| More of <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design. |
| |
| Cancel old searches when new ones are started. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged.domCallback.domSearchResults): Check |
| to make sure we are still appending results for the right searchId. |
| (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged.domCallback): Set the current _searchId. |
| (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged): Call _cancelCurrentSearch. |
| (WebInspector.SearchSidebarPanel.prototype._cancelCurrentSearch): If a search ID is set, call DOMAgent.discardSearchResults on it, |
| and delete the searchId. |
| |
| 2012-01-22 Timothy Hatcher <timothy@apple.com> |
| |
| Collaspe path components in the navigation bar when they are too wide to fit. |
| |
| The components collapse from left to right with text truncation and eventually to just the icon. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/HierarchicalPathComponent.css: |
| (.hierarchical-path-component): Use -webkit-box and set a min-width. |
| (.hierarchical-path-component > .title): Use -webkit-box so the title can flex. |
| (.hierarchical-path-component > .title > .content): Added. Needed to make text-overflow work. |
| (.hierarchical-path:not(.always-show-last-path-component-separator) > .hierarchical-path-component:last-child): Added. |
| Use a different min-width since the separator is hidden. |
| (.hierarchical-path:not(.always-show-last-path-component-separator) > .hierarchical-path-component:last-child > .separator): |
| Renamed to use :last-child instead of :last-of-type. |
| * UserInterface/HierarchicalPathComponent.js: |
| (WebInspector.HierarchicalPathComponent): Create a title content element. |
| (WebInspector.HierarchicalPathComponent.prototype.get displayName): Use the title content element. |
| (WebInspector.HierarchicalPathComponent.prototype.set displayName): Ditto. Also set the tool tip. |
| (WebInspector.HierarchicalPathComponent.prototype.get forcedWidth): Added. |
| (WebInspector.HierarchicalPathComponent.prototype.set forcedWidth): Added. |
| * UserInterface/HierarchicalPathNavigationItem.js: |
| (WebInspector.HierarchicalPathNavigationItem.prototype.set components): Call updateLayout on the NavigationBar. |
| (WebInspector.HierarchicalPathNavigationItem.prototype.updateLayout): Added. |
| * UserInterface/NavigationBar.js: |
| (WebInspector.NavigationBar.prototype.insertNavigationItem): Set _parentNavigationBar to this. |
| (WebInspector.NavigationBar.prototype.removeNavigationItem): Set _parentNavigationBar to null. |
| (WebInspector.NavigationBar.prototype.updateLayout): Call updateLayout on each navigation item. |
| * UserInterface/NavigationItem.js: |
| (WebInspector.NavigationItem.prototype.get parentNavigationBar): Added. |
| (WebInspector.NavigationItem.prototype.updateLayout): Added stub. |
| |
| 2012-01-22 Timothy Hatcher <timothy@apple.com> |
| |
| Make it possible for content views to update their layout as the size of the content area changes. |
| |
| The DOM tree needs this to update the size of the selection to stay aligned with the row. Data grid |
| based content views need this to update the position of the resizer elements. The font content view |
| uses this to update the size of the font preview. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ClusterContentView.js: |
| (WebInspector.ClusterContentView.prototype.updateLayout): Added. Call through to the current content view. |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser.prototype.updateLayout): Added. Call updateLayout on the navigation bar and |
| the content view container. |
| * UserInterface/ContentView.js: |
| (WebInspector.ContentView.prototype.updateLayout): Added stub. |
| * UserInterface/ContentViewContainer.js: |
| (WebInspector.ContentViewContainer.prototype.updateLayout): Added. Call through to the current content view. |
| * UserInterface/CookieStorageContentView.js: |
| (WebInspector.CookieStorageContentView.prototype.updateLayout): Added. Call updateWidths on the DataGrid. |
| * UserInterface/DOMStorageContentView.js: |
| (WebInspector.DOMStorageContentView.prototype.updateLayout): Added. Call updateWidths on the DataGrid. |
| * UserInterface/DOMTreeContentView.js: |
| (WebInspector.DOMTreeContentView.prototype.updateLayout): Added. Call updateSelection on the DOMTreeOutline. |
| * UserInterface/DatabaseTableContentView.js: |
| (WebInspector.DatabaseTableContentView.prototype.updateLayout): Added. Call updateWidths on the DataGrid. |
| * UserInterface/FontResourceContentView.js: |
| (WebInspector.FontResourceContentView.prototype.updateLayout): Added. Call sizeToFit. |
| (WebInspector.FontResourceContentView.prototype.shown): Removed call to sizeToFit since updateLayout is |
| called on show too. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Added event listeners for Sidebar.Event.WidthDidChange and window resize. |
| (WebInspector._contentBrowserSizeDidChange): Added. Call updateLayout on contentBrowser. |
| * UserInterface/Sidebar.js: |
| (WebInspector.Sidebar.prototype.set width): Fire WidthDidChange event. |
| (WebInspector.Sidebar.prototype.set collapsed): Ditto. |
| |
| 2012-01-21 Timothy Hatcher <timothy@apple.com> |
| |
| Remove resources from the Search and Issue sidebars when the frames they belong to are |
| removed or navigated to a new page. |
| |
| Part of: |
| <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design |
| <rdar://problem/10318761> Implement the Issue sidebar for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Frame.js: |
| (WebInspector.Frame.prototype.isDetached): Added. Helper function. |
| * UserInterface/IssueSidebarPanel.js: |
| (WebInspector.IssueSidebarPanel): Added event listeners. |
| (WebInspector.IssueSidebarPanel.prototype._checkForOldResources): Added. |
| (WebInspector.IssueSidebarPanel.prototype._checkForOldResources.delayedWork): Added. |
| * UserInterface/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel): Added event listeners. |
| (WebInspector.SearchSidebarPanel.prototype._checkForOldResources): Added. |
| (WebInspector.SearchSidebarPanel.prototype._checkForOldResources.delayedWork): Added. |
| |
| 2012-01-21 Timothy Hatcher <timothy@apple.com> |
| |
| Disassociate resources from their frame when the main resource changes. |
| |
| Resources were not being disassociated, so they always had a valid parentFrame. This made it |
| hard to tell if a resource was still part of the page or not. This change is needed so the Search |
| and Issue sidebars knows when it can remove resources during navigation. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Frame.js: |
| (WebInspector.Frame.prototype.initialize): Call _disassociateWithResource for the old main resource. |
| (WebInspector.Frame.prototype.commitProvisionalLoad): Ditto. Also call removeAllResources before |
| committing the provisional resources. |
| * UserInterface/Resource.js: |
| (WebInspector.Resource.prototype.isMainResource): Null check _parentFrame. |
| (WebInspector.Resource.prototype._requestContentFromBackend): Null check _parentFrame and add a |
| fallback branch so pending callbacks get notified. |
| * UserInterface/ResourceTreeElement.js: |
| (WebInspector.ResourceTreeElement.prototype._updateTitles): Null check frame. |
| |
| 2012-01-21 Timothy Hatcher <timothy@apple.com> |
| |
| Show a focus ring around the search field in the Search sidebar of the Web Inspector. |
| |
| The filter field does not show a focus ring (matching Xcode), but the search field should. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/FilterBar.css: |
| (.filter-bar): Remove outline: none. Not sure why it was here, it is still set on |
| .filter-bar > input[type="search"]. |
| * UserInterface/SearchSidebarPanel.css: |
| (.sidebar > .panel.search > .search-bar): Remove outline: none. |
| (.sidebar > .panel.search > .search-bar > input[type="search"]): Ditto. |
| |
| 2012-01-21 Timothy Hatcher <timothy@apple.com> |
| |
| Make filtering work again in the Search sidebar of the Web Inspector. |
| |
| In r40218 the mainTitle became a DocumentFragemnt, but the filtering code expects a string. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/SearchResultTreeElement.js: |
| (WebInspector.SearchResultTreeElement.prototype.get filterableData): Added. Return the raw |
| title of the represented object, which is still a string. |
| |
| 2012-01-20 Timothy Hatcher <timothy@apple.com> |
| |
| Allow resizing the Web Inspector when docked. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Main.css: |
| (#docked-resizer): Added. |
| (body.docked #docked-resizer): Added. |
| * UserInterface/Main.html: Added #docked-resizer element. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Add mousedown listener on #docked-resizer. |
| (WebInspector._dockedResizerMouseDown): Added. |
| (WebInspector._dockedResizerMouseDown.dockedResizerDrag): Added. |
| (WebInspector._dockedResizerMouseDown.dockedResizerDragEnd): Added. |
| |
| 2012-01-20 Timothy Hatcher <timothy@apple.com> |
| |
| Add dock toggle and close buttons to the new Web Inspector. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ButtonNavigationItem.css: |
| (.navigation-bar > .item.button:not(.disabled):not(.radio):not(.suppress-bezel):active): |
| Added :not(.suppress-bezel). |
| * UserInterface/ButtonNavigationItem.js: |
| (WebInspector.ButtonNavigationItem.prototype.get suppressBezel): Added. |
| (WebInspector.ButtonNavigationItem.prototype.set suppressBezel): Added. |
| * UserInterface/Images/Close.pdf: Added. |
| * UserInterface/Images/Dock.pdf: Added. |
| * UserInterface/Images/Undock.pdf: Added. |
| * UserInterface/InspectorFrontendAPI.js: Added. |
| (InspectorFrontendAPI._loaded): Added. |
| (InspectorFrontendAPI._pendingCommands): Added. |
| (InspectorFrontendAPI.isDebuggingEnabled): Added stub. |
| (InspectorFrontendAPI.setDebuggingEnabled): Added stub. |
| (InspectorFrontendAPI.isTimelineProfilingEnabled): Added stub. |
| (InspectorFrontendAPI.setTimelineProfilingEnabled): Added stub. |
| (InspectorFrontendAPI.isProfilingJavaScript): Added stub. |
| (InspectorFrontendAPI.startProfilingJavaScript): Added stub. |
| (InspectorFrontendAPI.stopProfilingJavaScript): Added stub. |
| (InspectorFrontendAPI.setAttachedWindow): Added. Calls updateDockedState. |
| (InspectorFrontendAPI.showConsole): Added stub. |
| (InspectorFrontendAPI.dispatch): Added stub. |
| (InspectorFrontendAPI.loadCompleted): Added stub. |
| * UserInterface/Main.css: |
| (body.docked): Added. Adds a top border. |
| * UserInterface/Main.html: Included InspectorFrontendAPI.js. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Create and insert the dock toggle and close buttons. Tell InspectorFrontendAPI |
| that we are loaded so pending commands are dispatched. |
| (WebInspector.updateDockedState): Added. Updates the sate of the navigation bar buttons. |
| (WebInspector.close): Added. |
| (WebInspector._dockToggleButtonToolTip): Added. |
| (WebInspector._toggleDockedState): Added. |
| * UserInterface/Utilities.js: |
| (parseLocationQueryParameters): Added. Helper to parse the query string. |
| |
| 2012-01-19 Brian Weinstein <bweinstein@apple.com> |
| |
| More of <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design. |
| |
| Instead of passing a string as a title to the GeneralTreeElement, pass a DocumentFragment which |
| contains our necessary text, but highlights the search string. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/GeneralTreeElement.js: |
| (WebInspector.GeneralTreeElement.prototype._updateTitleElements): Add a special case for _mainTitle |
| being a Node. |
| * UserInterface/NavigationSidebarPanel.css: |
| (.navigation-sidebar-panel-content-tree-outline .item .highlight): Set the highlighted text to have |
| a yellow background with a darker yellow bottom border to match Xcode. |
| * UserInterface/SearchResultTreeElement.js: |
| (WebInspector.SearchResultTreeElement.truncateAndHighlightTitle): Create a document fragment, and |
| break the matching text into parts (before match, match, after match), and add a span around |
| the matching text. |
| |
| 2012-01-19 Brian Weinstein <bweinstein@apple.com> |
| |
| More of <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design. |
| |
| Implement proper truncation of the search results, so the search term will always show up in the |
| title text of the search term |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/DOMSearchMatchObject.js: |
| (WebInspector.DOMSearchMatchObject.prototype.get searchTerm): Return the search term. |
| * UserInterface/ResourceSearchMatchObject.js: |
| (WebInspector.ResourceSearchMatchObject.prototype.get searchTerm): Ditto. |
| * UserInterface/SearchResultTreeElement.js: |
| (WebInspector.SearchResultTreeElement): Call truncateAndHighlightTitle. |
| (WebInspector.SearchResultTreeElement.truncateAndHighlightTitle): Truncate the title, and |
| add a FIXME about highlighting it. |
| |
| 2012-01-19 Timothy Hatcher <timothy@apple.com> |
| |
| Make selecting an issue in the Issue sidebar show the resource's content view and reveal the line. |
| |
| Part of: <rdar://problem/10318761> Implement the Issue sidebar for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ConsoleObserver.js: |
| (WebInspector.ConsoleObserver.prototype.messageAdded): Pass line to IssueManager. |
| * UserInterface/IssueManager.js: |
| (WebInspector.IssueManager.prototype.issueWasAdded): Added lineNumber parameter. |
| * UserInterface/IssueMessage.js: |
| (WebInspector.IssueMessage): Added lineNumber parameter. |
| (WebInspector.IssueMessage.prototype.get lineNumber): Added. |
| * UserInterface/IssueSidebarPanel.js: |
| (WebInspector.IssueSidebarPanel): Set onselect to _treeElementSelected. |
| (WebInspector.IssueSidebarPanel.prototype._treeElementSelected): Added. Call showResourceSourceCode |
| based on the type of tree element selected. |
| * UserInterface/IssueTreeElement.js: |
| (WebInspector.IssueTreeElement): Added _issueMessage. |
| (WebInspector.IssueTreeElement.prototype.get issueMessage): Added. |
| |
| 2012-01-19 Timothy Hatcher <timothy@apple.com> |
| |
| Make selecting the resource in the search sidebar show the resource. |
| |
| Part of: <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype.showResource): Added. |
| * UserInterface/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel.prototype._treeElementSelected): Call ResourceSidebarPanel.showResource |
| if the tree element is a ResourceTreeElement. |
| |
| 2012-01-19 Timothy Hatcher <timothy@apple.com> |
| |
| Make selecting text search results show the resource's content view and reveal the line. |
| |
| Part of: <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/FrameContentView.js: |
| (WebInspector.FrameContentView.prototype.showSourceCode): Added lineNumberToReveal parameter. |
| * UserInterface/ResourceSearchMatchObject.js: |
| (WebInspector.ResourceSearchMatchObject.prototype.get resource): Added. |
| (WebInspector.ResourceSearchMatchObject.prototype.get lineNumber): Added. |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype.showMainFrameSourceCode): Added lineNumberToReveal parameter. |
| (WebInspector.ResourceSidebarPanel.prototype.showResourceSourceCode): Added. |
| * UserInterface/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel.prototype._treeElementSelected): Handle ResourceSearchMatchObject. |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.revealLine): Added. Find the right text chunk for the line, then |
| break it into single line text chunks then call scrollIntoViewIfNeeded on that text chunk. |
| (WebInspector.TextEditor.prototype.shown): Set _visible to true. Check if there is a line number that |
| needs to be revealed. |
| (WebInspector.TextEditor.prototype.hidden): Set _visible to false. |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView): Start _contentPopulated as false. |
| (WebInspector.TextResourceContentView.prototype.contentAvailable): Set _contentPopulated to true. Check if |
| there is a line number that needs to be revealed. |
| (WebInspector.TextResourceContentView.prototype.revealLine): Added. |
| |
| 2012-01-19 Timothy Hatcher <timothy@apple.com> |
| |
| Expand the resources tree elements in the Issues and Search sidebars by default. |
| |
| Part of: |
| <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design |
| <rdar://problem/10318761> Implement the Issue sidebar for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/IssueSidebarPanel.js: |
| (WebInspector.IssueSidebarPanel.prototype._issueWasAdded): Call expand. |
| * UserInterface/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel.prototype._treeElementForResource): Call expand. |
| |
| 2012-01-19 Timothy Hatcher <timothy@apple.com> |
| |
| Call shown and hidden on the current content view in ClusterContentView. |
| |
| This is needed for DOMTreeContentView to correctly reveal the selected DOM node when shown. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ClusterContentView.js: |
| (WebInspector.ClusterContentView.prototype.shown): Call shown on the currentContentView if there is one. |
| (WebInspector.ClusterContentView.prototype.hidden): Call hidden on the currentContentView if there is one. |
| (WebInspector.ClusterContentView.prototype.get selectionPathComponents): Return [] if there is no currentContentView. |
| |
| 2012-01-19 Timothy Hatcher <timothy@apple.com> |
| |
| Make selecting DOM search results reveal and select the node in the DOM tree. |
| |
| Part of: <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DOMSearchMatchObject.js: |
| (WebInspector.DOMSearchMatchObject.get domNode): Added. |
| * UserInterface/FrameContentView.js: |
| (WebInspector.FrameContentView.prototype.showDOMTree): Added preventFocusChange parameter. |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype.showMainFrameDOMTree): Added preventFocusChange parameter. |
| * UserInterface/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel): Set onselect to _treeElementSelected. |
| (WebInspector.SearchSidebarPanel.prototype._treeElementSelected): Added. Call showMainFrameDOMTree for |
| DOMSearchMatchObject results. |
| |
| 2012-01-18 Brian Weinstein <bweinstein@apple.com> |
| |
| Work towards <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design. |
| |
| Add icons for the search sidebar. We are reusing the icons from the path components icons, and added |
| the resource match icon from Xcode. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/DOMSearchMatchObject.js: |
| (WebInspector.DOMSearchMatchObject.prototype.get className): Call _generateClassName. |
| (WebInspector.DOMSearchMatchObject.prototype._generateClassName): Generate the correct class name from the node |
| type. |
| * UserInterface/Images/ResourceSearchMatch.pdf: Added. |
| * UserInterface/Main.html: |
| * UserInterface/ResourceSearchMatchObject.js: |
| (WebInspector.ResourceSearchMatchObject.prototype.get className): Return the resource match class name. |
| * UserInterface/SearchIcons.css: Added. |
| * UserInterface/SearchResultTreeElement.js: |
| (WebInspector.SearchResultTreeElement): Ask either the DOMSearchMatchObject or ResourceSearchMatchObject for its className. |
| |
| 2012-01-18 Brian Weinstein <bweinstein@apple.com> |
| |
| Work towards <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design. |
| |
| Add some new classes, and generate proper titles for DOM search matches. |
| |
| The new classes added are: |
| - DOMSearchMatchObject, which represents a match of the search term in the DOM. |
| - ResourceSearchMatchObject, which represents a match of the search term in a resource. |
| - SearchResultTreeElement, which represents the tree elements in the search sidebar, and its represented |
| object is either a DOMSearchMatchObject or a ResourceSearchMatchObject. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/DOMSearchMatchObject.js: Added. |
| (WebInspector.DOMSearchMatchObject): |
| (WebInspector.DOMSearchMatchObject.prototype.constructor.WebInspector.DOMSearchMatchObject.get title): Call _generateTitle if we don't |
| have one yet. |
| (WebInspector.DOMSearchMatchObject.prototype._generateTitle): Generate a title from the DOMNode. |
| * UserInterface/Main.html: |
| * UserInterface/ResourceSearchMatchObject.js: Added. |
| (WebInspector.ResourceSearchMatchObject): |
| (WebInspector.ResourceSearchMatchObject.prototype.constructor.WebInspector.ResourceSearchMatchObject.get title): Return the matching line |
| text with a FIXME. |
| * UserInterface/SearchResultTreeElement.js: Added. |
| (WebInspector.SearchResultTreeElement): Assert our represented object is either a DOMSearchMatchObject or a ResourceSearchMatchObject. |
| * UserInterface/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged.resourcesCallback.resourceCallback): Create a SearchResultTreeElement. |
| (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged.domCallback.domSearchResults): Ditto. |
| |
| 2012-01-18 Brian Weinstein <bweinstein@apple.com> |
| |
| Work towards <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design. |
| |
| Implement searching of the DOM, and add the results to the search sidebar alongside matches in resources. |
| |
| This patch also stores the ResourceTreeElements in the SearchSidebarPanel class, since both DOM search results |
| and resource search results will need to be under the same parent. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel): |
| (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged.resourcesCallback.resourceCallback): |
| (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged.resourcesCallback): |
| (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged.domCallback.domSearchResults): For each |
| search result, get the DOM Node and owner document's URL, and add the DOM node under the owner document's ResourceTreeElement. |
| (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged.domCallback): Call DOMAgent.getSearchResults. |
| (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged): Call DOMAgent.performSearch. |
| |
| 2012-01-18 Brian Weinstein <bweinstein@apple.com> |
| |
| Work towards <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design. |
| |
| Implement searching of resources. Call the inspector API to search in all resources for our search term, |
| and then for each resource that found a match, search in that resource for all of the matching lines. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged.resourcesCallback.resourceCallback): Loop |
| over each matching line, and add a ResourceTreeElement for the parent, and a tree element for each matching search result. |
| (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged.resourcesCallback): For |
| each matching resource, search the resource. |
| (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged): Call PageAgent.searchInResources. |
| |
| 2012-01-17 Brian Weinstein <bweinstein@apple.com> |
| |
| Work towards <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design. |
| |
| Add a search field to the search sidebar. It is there and looks pretty, but doesn't do anything yet. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/Main.html: |
| * UserInterface/SearchSidebarPanel.css: Added. |
| (.sidebar > .panel.search > .content): |
| (.sidebar > .panel.search > .search-bar): |
| (.search-bar): |
| (.search-bar > input[type="search"]): |
| * UserInterface/SearchSidebarPanel.js: |
| (WebInspector.SearchSidebarPanel): |
| (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged): |
| |
| 2012-01-17 Brian Weinstein <bweinstein@apple.com> |
| |
| Start of <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design. |
| |
| Add a stub Search sidebar and call it from Main.js instead of creating a generic sidebar panel. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/Main.html: |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| * UserInterface/SearchSidebarPanel.js: Added. |
| (WebInspector.SearchSidebarPanel): |
| |
| 2012-01-18 Timothy Hatcher <timothy@apple.com> |
| |
| Make the Inspect Element context menu item work along with the inspect() console function. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DOMTreeContentView.js: |
| (WebInspector.DOMTreeContentView.prototype.selectAndRevealDOMNode): Added. |
| (WebInspector.DOMTreeContentView.prototype._pathComponentSelected): Use selectDOMNode |
| instead of revealAndSelect since that also fires an event. |
| * UserInterface/DOMTreeManager.js: |
| (WebInspector.DOMTreeManager.prototype.inspectElement): Fire DOMNodeWasInspected. |
| (WebInspector.DOMTreeManager.prototype.inspectNodeObject): Added. Resolves an object to |
| a DOMNode and calls inspectElement. |
| * UserInterface/FrameContentView.js: |
| (WebInspector.FrameContentView): Remove call to _showContentViewForIdentifier. |
| (WebInspector.FrameContentView.prototype.get selectionPathComponents): Return [] if there |
| is no current content view. |
| (WebInspector.FrameContentView.prototype.shown): Added. Show the DOM tree if _shownInitialContent |
| is not true. |
| (WebInspector.FrameContentView.prototype.closed): Added. Reset _shownInitialContent to false. |
| (WebInspector.FrameContentView.prototype.showSourceCode): Added. Helper function. |
| (WebInspector.FrameContentView.prototype.showDOMTree): Added. Helper function. |
| (WebInspector.FrameContentView.prototype._pathComponentForContentView): Return null if there |
| is no current content view. |
| * UserInterface/InspectorObserver.js: |
| (WebInspector.InspectorObserver.prototype.inspect): Pass the object to the right manager. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Enable the InspectorAgent. |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel): Add DOMNodeWasInspected event listener. |
| (WebInspector.ResourceSidebarPanel.prototype.showMainFrameDOMTree): Added. Helper function. |
| (WebInspector.ResourceSidebarPanel.prototype.showMainFrameSourceCode): Added. Helper function. |
| (WebInspector.ResourceSidebarPanel.prototype._domNodeWasInspected): Added. Call showMainFrameDOMTree. |
| * UserInterface/StorageManager.js: |
| (WebInspector.StorageManager.prototype.inspectDatabase): Added. Fire DatabaseWasInspected event. |
| (WebInspector.StorageManager.prototype.inspectDOMStorage): Added. Fire DOMStorageObjectWasInspected event. |
| (WebInspector.StorageManager.prototype._databaseForId): Added. |
| * UserInterface/StorageSidebarPanel.js: |
| (WebInspector.StorageSidebarPanel): |
| (WebInspector.StorageSidebarPanel.prototype._domStorageObjectWasInspected): Added. Reveal and select the tree element. |
| (WebInspector.StorageSidebarPanel.prototype._databaseWasInspected): Added. Ditto. |
| |
| 2012-01-18 Timothy Hatcher <timothy@apple.com> |
| |
| Add String.prototype.collapseWhitespace since it is needed by DOMTreeElement.js. |
| |
| Reviewed by Jing Jin. |
| |
| * UserInterface/Utilities.js: |
| (String.prototype.collapseWhitespace): Added. |
| |
| 2012-01-18 Timothy Hatcher <timothy@apple.com> |
| |
| Now that the document node for child frames is included in the DOM tree, use it as the root |
| for child frames to avoid seeing "#document" and having everything nested under it. |
| |
| Also use the straight forward approach to request the document if the DOMTree is for the main frame. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DOMTree.js: |
| (WebInspector.DOMTree.prototype.requestRootDOMNode.mainDocumentAvailable): Added. |
| (WebInspector.DOMTree.prototype.requestRootDOMNode): Evaluate "document" for child frames instead of |
| "window.frameElement". And use WebInspector.domTreeManager.requestDocument for the main frame. |
| |
| 2012-01-17 Timothy Hatcher <timothy@apple.com> |
| |
| Rename ContentBrowser.showContentForRepresentedObject to ContentBrowser.showContentViewForRepresentedObject. |
| |
| Also adds ContentBrowser.showContentView and ContentBrowser.contentViewForRepresentedObject while making |
| the showContentView* functions return the content view that was shown so it can be used by the caller. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser.prototype.showContentViewForRepresentedObject): Renamed from showContentForRepresentedObject. |
| (WebInspector.ContentBrowser.prototype.showContentView): Added. Call through to the contentViewContainer. |
| (WebInspector.ContentBrowser.prototype.contentViewForRepresentedObject): Added. Ditto. |
| (WebInspector.ContentBrowser.prototype._hierarchicalPathComponentWasSelected): Use showContentViewForRepresentedObject. |
| * UserInterface/ContentViewContainer.js: |
| (WebInspector.ContentViewContainer.prototype.showContentViewForRepresentedObject): Return the contentView shown. |
| (WebInspector.ContentViewContainer.prototype.showContentView): Ditto. |
| * UserInterface/FrameContentView.js: |
| (WebInspector.FrameContentView.prototype._showContentViewForIdentifier): Return the contentView shown. |
| * UserInterface/Main.js: |
| (WebInspector.openURL): Use showContentViewForRepresentedObject. |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected): Use showContentViewForRepresentedObject |
| * UserInterface/StorageSidebarPanel.js: |
| (WebInspector.StorageSidebarPanel.prototype._treeElementSelected): Use showContentViewForRepresentedObject |
| |
| 2012-01-17 Timothy Hatcher <timothy@apple.com> |
| |
| Prevent leaking Web Inspector content views by unregistering event listeners from external objects |
| when the content views are closed. |
| |
| Since some content views were registering as event listeners on external objects that had indefinite or |
| indeterminate lifetimes, that meant the closed content views were still around and responding to events |
| after they had been closed. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ClusterContentView.js: |
| (WebInspector.ClusterContentView): Moved event listnener to shown. |
| (WebInspector.ClusterContentView.prototype.shown): Added. Add event listener that was in the constructor. |
| (WebInspector.ClusterContentView.prototype.closed): Added. Remove event listener and close all |
| content views so they can do their own work. |
| * UserInterface/ContentView.js: |
| (WebInspector.ContentView.prototype.closed): Added stub. |
| * UserInterface/ContentViewContainer.js: |
| (WebInspector.ContentViewContainer.prototype._disassociateFromContentView): Call closed on the view. |
| * UserInterface/DOMTreeContentView.js: |
| (WebInspector.DOMTreeContentView): Moved event listnener to shown. |
| (WebInspector.DOMTreeContentView.prototype.shown): Add event listener that was in the constructor. |
| (WebInspector.DOMTreeContentView.prototype.closed): Added. Remove event listener. |
| * UserInterface/ResourceContentView.js: |
| (WebInspector.ResourceContentView): Moved event listnener to shown. |
| (WebInspector.ResourceContentView.prototype.shown): Added. Add event listener that was in the constructor. |
| (WebInspector.ResourceContentView.prototype.closed): Added. Remove event listener. |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange): Close the content views right away, not after |
| a delay to prevent the content views from responding to events when they are about to be closed anyway. |
| |
| 2012-01-17 Timothy Hatcher <timothy@apple.com> |
| |
| Minimize churn in the DOM tree content view when navigating between pages. |
| |
| The DOMTree was calling callbacks multiple times because the list wasn't cleared |
| when the RootDOMNodeDidChange was sent. And DOMTreeContentView would request |
| the DOM node again when RootDOMNodeDidChange was observed, causing the same |
| callback to be added back into the pending callbacks array. |
| |
| This change clears the pending callbacks array each time the DOMTree is invalidated |
| so it is the responsibility of the client to listen for the RootDOMNodeInvalidated |
| event and request the root DOM node again (which is what happens already.) |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DOMTree.js: |
| (WebInspector.DOMTree.Event.RootDOMNodeInvalidated): Renamed from RootDOMNodeDidChange to better |
| reflect what is means. |
| (WebInspector.DOMTree.prototype.invalidate.performInvalidate): Always fire the RootDOMNodeInvalidated |
| event and clear the pending callbacks. |
| (WebInspector.DOMTree.prototype.requestRootDOMNode.rootObjectAvailable): Check if we were invalidated |
| before continuing. |
| (WebInspector.DOMTree.prototype.requestRootDOMNode.rootDOMNodeAvailable): Ditto. |
| (WebInspector.DOMTree.prototype.requestRootDOMNode.dispatchCallbacks): Ditto. |
| * UserInterface/DOMTreeContentView.js: |
| (WebInspector.DOMTreeContentView): Listen for the renamed RootDOMNodeInvalidated event. |
| (WebInspector.DOMTreeContentView.prototype._rootDOMNodeInvalidated): Renamed from _rootDOMNodeDidChange. |
| * UserInterface/DOMTreeUpdater.js: |
| (WebInspector.DOMTreeUpdater.prototype._documentUpdated): Don't set rootDOMNode since the outline |
| might be for a subframe, and this is always the main document. |
| |
| 2012-01-16 Timothy Hatcher <timothy@apple.com> |
| |
| Properly create a RemoteObject in WebInspector.DOMTree so it can be released correctly. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DOMTree.js: |
| (WebInspector.DOMTree.prototype.requestRootDOMNode.rootObjectAvailable): Make a RemoteObject using |
| WebInspector.RemoteObject.fromPayload and bind it to rootDOMNodeAvailable. |
| (WebInspector.DOMTree.prototype.requestRootDOMNode.rootDOMNodeAvailable): Release the remote object. |
| |
| 2012-01-17 Brian Weinstein <bweinstein@apple.com> |
| |
| Work towards <rdar://problem/10318761> Implement the Issue sidebar for the new Web Inspector design. |
| |
| Add images for for the error and warning tree elements. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/Images/Error.pdf: Added. |
| * UserInterface/Images/Warning.pdf: Added. |
| * UserInterface/IssueIcons.css: Added. |
| (.error-issue-icon .icon): |
| (.warning-issue-icon .icon): |
| * UserInterface/IssueTreeElement.js: |
| (WebInspector.IssueTreeElement): |
| * UserInterface/Main.html: |
| |
| 2012-01-16 Brian Weinstein <bweinstein@apple.com> |
| |
| Work towards <rdar://problem/10318761> Implement the Issue sidebar for the new Web Inspector design. |
| |
| Move the information about an Issue tree element from IssueSidebarPanel to its own class - IssueTreeElement. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/IssueSidebarPanel.js: |
| (WebInspector.IssueSidebarPanel.prototype.constructor.WebInspector.IssueSidebarPanel._issueWasAdded): Create a new |
| IssueTreeElement, instead of a GeneralTreeElement. |
| * UserInterface/IssueTreeElement.js: Added. |
| (WebInspector.IssueTreeElement): Call through to GeneralTreeElement and set some properties. |
| (WebInspector.IssueTreeElement.titleForIssue): Moved from IssueSidebarPanel. |
| * UserInterface/Main.html: Added new file. |
| |
| 2012-01-16 Brian Weinstein <bweinstein@apple.com> |
| |
| Work towards <rdar://problem/10318761> Implement the Issue sidebar for the new Web Inspector design. |
| |
| Implement displaying formatted console messages in the Issues Sidebar. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/ConsoleObserver.js: |
| (WebInspector.ConsoleObserver.prototype.constructor.WebInspector.ConsoleObserver.messageAdded): Pass along the |
| parameters. |
| * UserInterface/IssueManager.js: |
| (WebInspector.IssueManager.prototype.issueWasAdded): Ditto. |
| * UserInterface/IssueMessage.js: |
| (WebInspector.IssueMessage): Turn the objects that we were passed in as parameters |
| into WebInspector.RemoteObjects, and call this._formatTextIfNecessary to format |
| our text. |
| (WebInspector.IssueMessage.prototype._formatTextIfNecessary.valueFormatter): Get the value of the RemoteObject. |
| (WebInspector.IssueMessage.prototype._formatTextIfNecessary.append): Append b to a, and return a. |
| (WebInspector.IssueMessage.prototype._formatTextIfNecessary): Format our text, and append any unused substitutions |
| to the string we generate. Once we are done generating the string, we set that as our text. |
| |
| 2012-01-13 Brian Weinstein <bweinstein@apple.com> |
| |
| Work towards <rdar://problem/10318761> Implement the Issue sidebar for the new Web Inspector design. |
| |
| Clear the issues sidebar when the page is navigated. Add a listener in IssueManager that fires an |
| event that IssueSidebarPanel listens to. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/IssueManager.js: |
| (WebInspector.IssueManager): |
| (WebInspector.IssueManager.prototype.issueWasAdded): |
| (WebInspector.IssueManager.prototype._mainResourceDidChange): |
| * UserInterface/IssueSidebarPanel.js: |
| (WebInspector.IssueSidebarPanel): |
| (WebInspector.IssueSidebarPanel.prototype.constructor.WebInspector.IssueSidebarPanel._issueWasAdded): |
| (WebInspector.IssueSidebarPanel.prototype._issuesCleared): |
| |
| 2012-01-13 Brian Weinstein <bweinstein@apple.com> |
| |
| Work towards <rdar://problem/10318761> Implement the Issue sidebar for the new Web Inspector design. |
| |
| Add things to the Issues sidebar, sorted by file. We currently only show issues that have a URL provided. |
| |
| Each folder in the sidebar is a resource where the error came from. Each issue has a main title of the |
| kind of issue it is, and a subtitle of the issue text. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/ConsoleObserver.js: |
| (WebInspector.ConsoleObserver.prototype.constructor.WebInspector.ConsoleObserver.messageAdded): If the message |
| was an error or warning, tell the IssueManager about it. |
| * UserInterface/IssueManager.js: Added. |
| (WebInspector.IssueManager): |
| (WebInspector.IssueManager.prototype.constructor.WebInspector.IssueManager.initialize): |
| (WebInspector.IssueManager.prototype.issueWasAdded): Dispatch a message saying an issue was added. |
| * UserInterface/IssueMessage.js: Added. |
| (WebInspector.IssueMessage): |
| * UserInterface/IssueSidebarPanel.js: |
| (WebInspector.IssueSidebarPanel): |
| (WebInspector.IssueSidebarPanel.prototype.constructor.WebInspector.IssueSidebarPanel._issueWasAdded): |
| (WebInspector.titleForIssue): |
| * UserInterface/Main.html: Add new files. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Initialize the IssueManager. |
| * UserInterface/Utilities.js: |
| (Object.defineProperty): Add String.prototype.startsWith. |
| |
| 2012-01-13 Brian Weinstein <bweinstein@apple.com> |
| |
| Work towards <rdar://problem/10318761> Implement the Issue sidebar for the new Web Inspector design. |
| |
| Add a new flavor of tree item to tree elements in a NavigationSidebarPanel. If you set both the small and twoLine properties |
| on a tree element, the title and subtitle will be on two lines, but it will only be slightly bigger than the |
| small style, and will still use the same small icon size. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/GeneralTreeElement.js: |
| (WebInspector.GeneralTreeElement.prototype.get twoLine): |
| (WebInspector.GeneralTreeElement.prototype.set twoLine): |
| (WebInspector.GeneralTreeElement.prototype.onattach): |
| * UserInterface/NavigationSidebarPanel.css: |
| (.navigation-sidebar-panel-content-tree-outline .item.small.two-line): |
| (.navigation-sidebar-panel-content-tree-outline .item.small.two-line .titles): |
| (.navigation-sidebar-panel-content-tree-outline .item.small.two-line .titles.no-subtitle): |
| (.navigation-sidebar-panel-content-tree-outline .item.small.two-line .icon): |
| (.navigation-sidebar-panel-content-tree-outline .item.small:not(.two-line) .title::after): |
| (.navigation-sidebar-panel-content-tree-outline .item.small:not(.two-line) .subtitle::before): |
| |
| 2012-01-13 Brian Weinstein <bweinstein@apple.com> |
| |
| Work towards <rdar://problem/10318761> Implement the Issue sidebar for the new Web Inspector design. |
| |
| Implement FrameResourceManager.resourceForURL. This checks the main frame's main resource for the passed in URL, |
| and then calls the main frame's resourceForURL function, which checks subresources and recursively checks |
| subframes for the correct URL. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype.resourceForURL): |
| |
| 2012-01-12 Brian Weinstein <bweinstein@apple.com> |
| |
| Start of <rdar://problem/10318761> Implement the Issue sidebar for the new Web Inspector design. |
| |
| Add a stub IssueSidebarPanel and call it from Main.js instead of just creating a generic sidebar panel. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/IssueSidebarPanel.js: Added. |
| (WebInspector.IssueSidebarPanel): |
| * UserInterface/Main.html: Add new file. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Create an IssueSidebarPanel. |
| |
| 2012-01-16 Timothy Hatcher <timothy@apple.com> |
| |
| Make the DOM tree content view show the current DOM node selection path in the quick navigation bar. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Reviewed by Brian Weinstein and Joseph Pecoraro. |
| |
| * UserInterface/DOMTreeContentView.js: |
| (WebInspector.DOMTreeContentView): Added event listener for DOM tree selection changes. |
| (WebInspector.DOMTreeContentView.prototype.get selectionPathComponents): Added. Return path components for the DOM tree selection. |
| (WebInspector.DOMTreeContentView.prototype._selectedNodeDidChange): Added. Fire the SelectionPathComponentsDidChange event. |
| (WebInspector.DOMTreeContentView.prototype._pathComponentSelected): Added. Reveal and select the DOM tree element. |
| * UserInterface/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.prototype.isCloseTag): Added. |
| * UserInterface/DOMTreeElementPathComponent.js: Added. |
| (WebInspector.DOMTreeElementPathComponent): Added. |
| (WebInspector.DOMTreeElementPathComponent.prototype.get domTreeElement): Added. |
| (WebInspector.DOMTreeElementPathComponent.prototype.get previousSibling): Added. |
| (WebInspector.DOMTreeElementPathComponent.prototype.get nextSibling): Added. Return null if isCloseTag. |
| * UserInterface/Images/DOMCharacterData.pdf: Added. |
| * UserInterface/Images/DOMComment.pdf: Added. |
| * UserInterface/Images/DOMDocumentType.pdf: Added. |
| * UserInterface/Images/DOMElement.pdf: Added. |
| * UserInterface/Images/DOMNode.pdf: Added. |
| * UserInterface/Images/DOMTextNode.pdf: Added. |
| * UserInterface/Main.html: Included DOMTreeElementPathComponent.js. |
| * UserInterface/PathComponentIcons.css: |
| (.dom-element-icon .icon): Added. |
| (.dom-text-node-icon .icon): Added. |
| (.dom-comment-icon .icon): Added. |
| (.dom-document-type-icon .icon): Added. |
| (.dom-character-data-icon .icon): Added. |
| (.dom-node-icon .icon): Added. |
| |
| 2012-01-16 Timothy Hatcher <timothy@apple.com> |
| |
| Make link navigation work in the DOM tree. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DOMTreeContentView.js: |
| (WebInspector.DOMTreeContentView): Add click event listener. |
| (WebInspector.DOMTreeContentView.prototype._mouseWasClicked): Added. Start a timeout since this is a single |
| click, if the timeout is canceled before it fires, then a double-click happened or another link was clicked. |
| (WebInspector.DOMTreeContentView.prototype._mouseWasClicked.followLink): Added. |
| * UserInterface/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.prototype.onattach): Removed call to _preventFollowingLinksOnDoubleClick. |
| (WebInspector.DOMTreeElement.prototype.updateTitle): Ditto. |
| (WebInspector.DOMTreeElement.prototype._preventFollowingLinksOnDoubleClick): Removed. |
| (WebInspector.DOMTreeElement.prototype._buildAttributeDOM): Removed linkify parameter and remove dependency on |
| WebInspector.resourceURLForRelatedNode by making the anchor element directly. |
| (WebInspector.DOMTreeElement.prototype._buildTagDOM): Removed linkify parameter. |
| (WebInspector.DOMTreeElement.prototype._nodeTitleInfo): Ditto. |
| * UserInterface/Utilities.js: |
| (String.prototype.trimMiddle): Added. |
| (String.prototype.trimEnd): Added. |
| |
| 2012-01-16 Timothy Hatcher <timothy@apple.com> |
| |
| Remove dependency on WebInspector.DOMSyntaxHighlighter and make style and script DOM nodes syntax highlighted |
| by using WebInspector.SyntaxHighlighter. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Reviewed by Brian Weinstein and Joseph Pecoraro. |
| |
| * UserInterface/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.prototype._nodeTitleInfo): Use WebInspector.syntaxHighlightStringAsDocumentFragment |
| instead of WebInspector.DOMSyntaxHighlighter. Also syntax highlight inline script and style text nodes. |
| * UserInterface/DOMTreeOutline.css: |
| (.dom-tree-outline .html-text-node.large): Added. Used for large text blocks, making viewing/editing more pleasant. |
| * UserInterface/SyntaxHighlighter.js: |
| (WebInspector.SyntaxHighlighter.prototype.synchronousHighlight): Added dontChunk parameter and fix undefined/null checks. |
| (WebInspector.SyntaxHighlighter.prototype.startHighlighting): Fix undefined/null checks |
| (WebInspector.SyntaxHighlighter.prototype._highlightNextChunk): Added dontChunk parameter and don't bail early if it is set. |
| * UserInterface/SyntaxHighlightingSupport.js: |
| (WebInspector.syntaxHighlightStringAsDocumentFragment): Added. Creates a TextContent and syntax highlights it and returns |
| the document fragment. |
| |
| 2012-01-16 Timothy Hatcher <timothy@apple.com> |
| |
| Break out the code for creating a syntax highlighted document fragment so it can be used |
| by the DOM tree for inline CSS and JavaScript. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/SyntaxHighlightingSupport.js: Added. |
| (WebInspector.createSyntaxHighlightedDocumentFragment): Copied from WebInspector.TextEditorTextChunk.prototype.updateContent. |
| (WebInspector.createSyntaxHighlightedDocumentFragment.appendText): Ditto. |
| (WebInspector.createSyntaxHighlightedDocumentFragment.createTokenElement): Ditto. |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditorTextChunk.prototype.updateContent): Use WebInspector.createSyntaxHighlightedDocumentFragment. |
| * UserInterface/Main.html: Included SyntaxHighlightingSupport.js. |
| |
| 2012-01-16 Timothy Hatcher <timothy@apple.com> |
| |
| Remove references to the Elements panel and make the context menu work in the DOM tree. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.prototype.selectOnMouseDown): Removed elements panel code. |
| * UserInterface/DOMTreeOutline.js: |
| (WebInspector.DOMTreeOutline): Remove showInElementsPanelEnabled parameter. |
| (WebInspector.DOMTreeOutline.prototype._contextMenuEventFired): Removed elements panel code and call populateContextMenu. |
| (WebInspector.DOMTreeOutline.prototype.populateContextMenu): Removed call to populateHrefContextMenu which doesn't exist. |
| |
| 2012-01-16 Timothy Hatcher <timothy@apple.com> |
| |
| Style and syntax highlight the DOM tree elements. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Reviewed by Brian Weinstein and Joseph Pecoraro. |
| |
| * UserInterface/DOMTreeElement.js: Found and replaced "webkit-" with "" to fix the syntax highlighting class names. |
| * UserInterface/DOMTreeOutline.css: Added. |
| (.dom-tree-outline): |
| (.dom-tree-outline li.hovered:not(.selected) .selection): |
| (.dom-tree-outline li .selection): |
| (.dom-tree-outline li.selected .selection): |
| (.dom-tree-outline li.elements-drag-over .selection): |
| (.dom-tree-outline:focus li.selected .selection): |
| (.dom-tree-outline, .dom-tree-outline ol): |
| (.dom-tree-outline ol.children): |
| (.dom-tree-outline ol.children.expanded): |
| (.dom-tree-outline li): |
| (.dom-tree-outline:focus li.selected): |
| (.dom-tree-outline:focus li.selected *): |
| (.dom-tree-outline li.parent): |
| (.dom-tree-outline li .html-tag.close): |
| (.dom-tree-outline li.parent::before): |
| (.dom-tree-outline:focus li.parent.selected::before): |
| (.dom-tree-outline li.parent.expanded::before): |
| (.dom-tree-outline:focus li.parent.expanded.selected::before): |
| * UserInterface/DOMTreeOutline.js: |
| (WebInspector.DOMTreeOutline): Set the dom-tree-outline and syntax-highlighted class names. |
| (WebInspector.DOMTreeOutline.prototype.populateContextMenu): Found and replaced "webkit-" with "" to fix the |
| syntax highlighting class names. |
| * UserInterface/Main.html: Included DOMTreeOutline.css. |
| |
| 2012-01-16 Timothy Hatcher <timothy@apple.com> |
| |
| Make it possible to share the syntax highlighting styles with the DOM tree. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/Main.html: |
| * UserInterface/SyntaxHighlightingDefaultTheme.css: Renamed from Safari/Develop/WebInspector/TextEditorDefaultTheme.css. |
| Found and replaced .text-editor with .syntax-highlighted. |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor): Add the syntax-highlighted class name to the content container. |
| |
| 2012-01-16 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.DOMTreeContentView and have it as a second view available in WebInspector.FrameContentView. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/ContentView.js: |
| (WebInspector.ContentView): Added support for WebInspector.DOMTree. |
| (WebInspector.ContentView.isViewable): Ditto. |
| * UserInterface/DOMTreeContentView.css: Added. |
| (.content-view.dom-tree): |
| * UserInterface/DOMTreeContentView.js: Added. |
| (WebInspector.DOMTreeContentView): Create the DOMTreeOutline and request the root DOMNode. |
| (WebInspector.DOMTreeContentView.prototype.get domTree): Return _domTree. |
| (WebInspector.DOMTreeContentView.prototype.shown): Call setVisible on the DOMTreeOutline. |
| (WebInspector.DOMTreeContentView.prototype.hidden): Ditto. |
| (WebInspector.DOMTreeContentView.prototype._rootDOMNodeAvailable): Set the rootDOMNode on DOMTreeOutline. |
| (WebInspector.DOMTreeContentView.prototype._rootDOMNodeDidChange): Request the root DOMNode. |
| * UserInterface/FrameContentView.js: |
| (WebInspector.FrameContentView): Create the DOM tree path component. |
| (WebInspector.FrameContentView.prototype._pathComponentForContentView): Return the DOM tree patch component |
| for DOMTree represented objects. |
| (WebInspector.FrameContentView.prototype._showContentViewForIdentifier): Use the DOMTree of the frame. |
| * UserInterface/Images/DOMTree.pdf: Added. |
| * UserInterface/Main.html: Included DOMTreeContentView.{js,css}. |
| * UserInterface/PathComponentIcons.css: |
| (.dom-tree-icon .icon): Added. |
| |
| 2012-01-16 Timothy Hatcher <timothy@apple.com> |
| |
| Add support for getting the DOM tree for a specific WebInspector.Frame. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Reviewed by Brian Weinstein and Joseph Pecoraro. |
| |
| * UserInterface/DOMTree.js: Added. |
| (WebInspector.DOMTree): |
| (WebInspector.DOMTree.prototype.invalidate): Delay the invalidation on a timeout to coalesce multiple calls to invalidate. |
| (WebInspector.DOMTree.prototype.invalidate.performInvalidate): Do the work to invalidate. |
| (WebInspector.DOMTree.prototype.requestRootDOMNode): Get window.frameElement or document from the desired frame. |
| (WebInspector.DOMTree.prototype.requestRootDOMNode.rootObjectAvailable): Convert the RemoteObject to a DOMNode. |
| (WebInspector.DOMTree.prototype.requestRootDOMNode.rootDOMNodeAvailable): Get the child nodes before calling the callbacks. |
| (WebInspector.DOMTree.prototype.requestRootDOMNode.dispatchCallbacks): Helper to dispatch pending callbacks. |
| (WebInspector.DOMTree.prototype._nodeRemoved): Call invalidate if the node is the root node. |
| (WebInspector.DOMTree.prototype._documentUpdated): Call invalidate. |
| (WebInspector.DOMTree.prototype._frameMainResourceDidChange): Ditto. |
| * UserInterface/Frame.js: |
| (WebInspector.Frame.prototype.get domTree): Added. |
| |
| 2012-01-16 Timothy Hatcher <timothy@apple.com> |
| |
| Remove dependency on Preferences.maxInlineTextChildLength from WebInspector.DOMTreeElement. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.MaximumInlineTextChildLength): Added. |
| (WebInspector.DOMTreeElement.prototype._nodeTitleInfo): Use WebInspector.DOMTreeElement.MaximumInlineTextChildLength. |
| (WebInspector.DOMTreeElement.prototype._showInlineText): Ditto. |
| |
| 2012-01-16 Timothy Hatcher <timothy@apple.com> |
| |
| Use WebInspector.DOMNode instead of WebInspector.DOMDocument since we don't have DOMDocument |
| in the new Web Inspector. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/DOMNode.js: |
| (WebInspector.DOMNode): Set ownerDocument to this when this is a document node. |
| * UserInterface/DOMTreeManager.js: |
| (WebInspector.DOMTreeManager.prototype._setDocument): Use DOMNode instead of DOMDocument. |
| |
| 2012-01-16 Timothy Hatcher <timothy@apple.com> |
| |
| Update DOMTreeElement to correctly use the new non-formating WebInspector.UIString. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Rubber-stamped by John Sullivan. |
| |
| * UserInterface/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.prototype._createTooltipForNode.setTooltip): Use format() after UIString. |
| (WebInspector.DOMTreeElement.prototype.adjustCollapsedRange): Ditto. |
| (WebInspector.DOMTreeElement.prototype._populateTagContextMenu): Removed WebInspector.useLowerCaseMenuTitles() use. |
| (WebInspector.DOMTreeElement.prototype._populateTextContextMenu): Ditto. |
| (WebInspector.DOMTreeElement.prototype._populateNodeContextMenu): Ditto. |
| |
| 2012-01-16 Timothy Hatcher <timothy@apple.com> |
| |
| Replace {add,remove,has}StyleClass in DOMTree{Element,Outline} with classList.{add,remove,contains}. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Rubber-stamped by John Sullivan. |
| |
| * UserInterface/DOMTreeElement.js: |
| (WebInspector.ElementsTreeElement.prototype.set hovered): |
| (WebInspector.ElementsTreeElement.prototype.onattach): |
| (WebInspector.ElementsTreeElement.prototype._triggerEditAttribute): |
| * UserInterface/DOMTreeOutline.js: |
| (WebInspector.ElementsTreeOutline.prototype._ondragover): |
| (WebInspector.ElementsTreeOutline.prototype._clearDragOverTreeElementMarker): |
| |
| 2012-01-16 Timothy Hatcher <timothy@apple.com> |
| |
| Remove dependancy on WebInspector.Color from WebInspector.DOMTreeManager. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Rubber-stamped by John Sullivan. |
| |
| * UserInterface/DOMTreeManager.js: |
| (WebInspector.DOMTreeManager.prototype._buildHighlightConfig): Include the colors directly. |
| |
| 2012-01-16 Timothy Hatcher <timothy@apple.com> |
| |
| Make WebInspector.DOMTreeUpdater listen for events on the correct object. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Rubber-stamped by John Sullivan. |
| |
| * UserInterface/DOMTreeUpdater.js: |
| (WebInspector.DOMTreeUpdater): Use DOMTreeManager instead of the old DOMAgent name. |
| |
| 2012-01-16 Timothy Hatcher <timothy@apple.com> |
| |
| Make WebInspector.DOMTreeOutline conform to the right style for objects with events. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/DOMTreeOutline.js: |
| (WebInspector.DOMTreeOutline.prototype._selectedNodeChanged): |
| |
| 2012-01-16 Timothy Hatcher <timothy@apple.com> |
| |
| Make WebInspector.DOMTreeManager events conform to the style we use in the new Web Inspector. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/DOMTreeManager.js: |
| (WebInspector.DOMTreeManager.prototype._attributeModified): Use WebInspector.DOMTreeManager.Event and spell out Attribute. |
| (WebInspector.DOMTreeManager.prototype._attributeRemoved): Ditto. |
| (WebInspector.DOMTreeManager.prototype._loadNodeAttributes): Ditto. |
| (WebInspector.DOMTreeManager.prototype._characterDataModified): WebInspector.DOMTreeManager.Event. |
| (WebInspector.DOMTreeManager.prototype._setDocument): Ditto. |
| (WebInspector.DOMTreeManager.prototype._childNodeCountUpdated): Ditto. |
| (WebInspector.DOMTreeManager.prototype._childNodeInserted): Ditto. |
| (WebInspector.DOMTreeManager.prototype._childNodeRemoved): Ditto. |
| (WebInspector.DOMTreeManager.prototype.inspectElement): Ditto. |
| |
| 2012-01-16 Timothy Hatcher <timothy@apple.com> |
| |
| Don't call InspectorBackend.registerDOMDispatcher from WebInspector.DOMTreeManager. |
| |
| The new Web Inspector calls InspectorBackend.registerDOMDispatcher from Main.js. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/DOMTreeManager.js: |
| (WebInspector.DOMTreeManager): Remove call to InspectorBackend.registerDOMDispatcher. |
| |
| 2012-01-16 Timothy Hatcher <timothy@apple.com> |
| |
| Wire up WebInspector.DOMObserver to WebInspector.DOMTreeManager. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/DOMObserver.js: |
| (WebInspector.DOMObserver.prototype.documentUpdated): |
| (WebInspector.DOMObserver.prototype.setChildNodes): |
| (WebInspector.DOMObserver.prototype.attributeModified): |
| (WebInspector.DOMObserver.prototype.attributeRemoved): |
| (WebInspector.DOMObserver.prototype.inlineStyleInvalidated): |
| (WebInspector.DOMObserver.prototype.characterDataModified): |
| (WebInspector.DOMObserver.prototype.childNodeCountUpdated): |
| (WebInspector.DOMObserver.prototype.childNodeInserted): |
| (WebInspector.DOMObserver.prototype.childNodeRemoved): |
| |
| 2012-01-16 Timothy Hatcher <timothy@apple.com> |
| |
| Use WebInspector.domTreeManager instead of the old WebInspector.domAgent. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Rubber-stamped by John Sullivan. |
| |
| * UserInterface/DOMTreeElement.js: |
| (WebInspector.DOMTreeElement.prototype.onselect): |
| (WebInspector.DOMTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback): |
| (WebInspector.DOMTreeElement.prototype._tagNameEditingCommitted): |
| * UserInterface/DOMTreeOutline.js: |
| (WebInspector.DOMTreeOutline.prototype._onmousemove): |
| (WebInspector.DOMTreeOutline.prototype._onmouseout): |
| (WebInspector.DOMTreeOutline.prototype._ondragstart): |
| (WebInspector.DOMTreeOutline.prototype._ondrop.callback): |
| (WebInspector.DOMTreeOutline.prototype._ondrop): |
| (WebInspector.DOMTreeOutline.prototype._contextMenuEventFired.focusElement): |
| (WebInspector.DOMTreeOutline.prototype._contextMenuEventFired): |
| * UserInterface/DOMTreeUpdater.js: |
| (WebInspector.DOMTreeUpdater.prototype._reset): |
| * UserInterface/RemoteObject.js: |
| (WebInspector.RemoteObject.prototype.pushNodeToFrontend): |
| |
| 2012-01-16 Timothy Hatcher <timothy@apple.com> |
| |
| Create a WebInspector.DOMTreeManager instance. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Create a WebInspector.DOMTreeManager instance. |
| |
| 2012-01-16 Timothy Hatcher <timothy@apple.com> |
| |
| Rename WebInspector.ElementsTree{Outline,Element,Updater} to WebInspector.DOMTree{Outline,Element,Updater}. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Rubber-stamped by John Sullivan. |
| |
| * UserInterface/DOMTreeElement.js: Found and replaced WebInspector.ElementsTree with WebInspector.DOMTree. |
| * UserInterface/DOMTreeOutline.js: Ditto. |
| * UserInterface/DOMTreeUpdater.js: Ditto. |
| |
| 2012-01-16 Timothy Hatcher <timothy@apple.com> |
| |
| Rename WebInspector.DOMAgent to WebInspector.DOMTreeManager. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Rubber-stamped by John Sullivan. |
| |
| * UserInterface/DOMTreeManager.js: Found and replaced WebInspector.DOMAgent with WebInspector.DOMTreeManager. |
| |
| 2012-01-16 Timothy Hatcher <timothy@apple.com> |
| |
| Copy over WebInspector.ElementsTree{Outline,Element,Updater} from Open Source. |
| |
| Copied into DOMTreeElement.js, DOMTreeOutline.js and DOMTreeUpdater.js since the classes will |
| soon be renamed to WebInspector.DOMTree{Outline,Element,Updater}. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Rubber-stamped by John Sullivan. |
| |
| * UserInterface/DOMTreeElement.js: Added. |
| (WebInspector.ElementsTreeElement): |
| (WebInspector.ElementsTreeElement.prototype.highlightSearchResults): |
| (WebInspector.ElementsTreeElement.prototype.hideSearchHighlights): |
| (WebInspector.ElementsTreeElement.prototype._updateSearchHighlight.updateEntryShow): |
| (WebInspector.ElementsTreeElement.prototype._updateSearchHighlight.updateEntryHide): |
| (WebInspector.ElementsTreeElement.prototype._updateSearchHighlight): |
| (WebInspector.ElementsTreeElement.prototype.get hovered): |
| (WebInspector.ElementsTreeElement.prototype.set hovered): |
| (WebInspector.ElementsTreeElement.prototype.get expandedChildrenLimit): |
| (WebInspector.ElementsTreeElement.prototype.set expandedChildrenLimit): |
| (WebInspector.ElementsTreeElement.prototype.get expandedChildCount): |
| (WebInspector.ElementsTreeElement.prototype.showChild): |
| (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip): |
| (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode.dimensions): |
| (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode): |
| (WebInspector.ElementsTreeElement.prototype._createTooltipForNode): |
| (WebInspector.ElementsTreeElement.prototype.updateSelection): |
| (WebInspector.ElementsTreeElement.prototype.onattach): |
| (WebInspector.ElementsTreeElement.prototype._preventFollowingLinksOnDoubleClick): |
| (WebInspector.ElementsTreeElement.prototype.onpopulate): |
| (WebInspector.ElementsTreeElement.prototype.updateChildren): |
| (WebInspector.ElementsTreeElement.prototype.insertChildElement): |
| (WebInspector.ElementsTreeElement.prototype.moveChild): |
| (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode): |
| (WebInspector.ElementsTreeElement.prototype._updateChildren): |
| (WebInspector.ElementsTreeElement.prototype.adjustCollapsedRange): |
| (WebInspector.ElementsTreeElement.prototype.handleLoadAllChildren): |
| (WebInspector.ElementsTreeElement.prototype.onexpand): |
| (WebInspector.ElementsTreeElement.prototype.oncollapse): |
| (WebInspector.ElementsTreeElement.prototype.onreveal): |
| (WebInspector.ElementsTreeElement.prototype.onselect): |
| (WebInspector.ElementsTreeElement.prototype.ondelete): |
| (WebInspector.ElementsTreeElement.prototype.onenter): |
| (WebInspector.ElementsTreeElement.prototype.selectOnMouseDown): |
| (WebInspector.ElementsTreeElement.prototype.ondblclick): |
| (WebInspector.ElementsTreeElement.prototype._insertInLastAttributePosition): |
| (WebInspector.ElementsTreeElement.prototype._startEditingTarget): |
| (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu): |
| (WebInspector.ElementsTreeElement.prototype._populateTextContextMenu): |
| (WebInspector.ElementsTreeElement.prototype._populateNodeContextMenu): |
| (WebInspector.ElementsTreeElement.prototype._startEditing): |
| (WebInspector.ElementsTreeElement.prototype._addNewAttribute): |
| (WebInspector.ElementsTreeElement.prototype._triggerEditAttribute): |
| (WebInspector.ElementsTreeElement.prototype._startEditingAttribute.removeZeroWidthSpaceRecursive): |
| (WebInspector.ElementsTreeElement.prototype._startEditingAttribute): |
| (WebInspector.ElementsTreeElement.prototype._startEditingTextNode): |
| (WebInspector.ElementsTreeElement.prototype._startEditingTagName.keyupListener): |
| (WebInspector.ElementsTreeElement.prototype._startEditingTagName.editingComitted): |
| (WebInspector.ElementsTreeElement.prototype._startEditingTagName.editingCancelled): |
| (WebInspector.ElementsTreeElement.prototype._startEditingTagName): |
| (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML.commit): |
| (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML.dispose): |
| (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML): |
| (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.moveToNextAttributeIfNeeded): |
| (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted): |
| (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.cancel): |
| (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.moveToNextAttributeIfNeeded): |
| (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback): |
| (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted): |
| (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted): |
| (WebInspector.ElementsTreeElement.prototype._editingCancelled): |
| (WebInspector.ElementsTreeElement.prototype._distinctClosingTagElement): |
| (WebInspector.ElementsTreeElement.prototype.updateTitle): |
| (WebInspector.ElementsTreeElement.prototype._buildAttributeDOM): |
| * UserInterface/DOMTreeOutline.js: Added. |
| (WebInspector.ElementsTreeOutline): |
| (WebInspector.ElementsTreeOutline.prototype.wireToDomAgent): |
| (WebInspector.ElementsTreeOutline.prototype.setVisible): |
| (WebInspector.ElementsTreeOutline.prototype.addEventListener): |
| (WebInspector.ElementsTreeOutline.prototype.removeEventListener): |
| (WebInspector.ElementsTreeOutline.prototype.get rootDOMNode): |
| (WebInspector.ElementsTreeOutline.prototype.set rootDOMNode): |
| (WebInspector.ElementsTreeOutline.prototype.get isXMLMimeType): |
| (WebInspector.ElementsTreeOutline.prototype.selectedDOMNode): |
| (WebInspector.ElementsTreeOutline.prototype.selectDOMNode): |
| (WebInspector.ElementsTreeOutline.prototype.get editing): |
| (WebInspector.ElementsTreeOutline.prototype.update): |
| (WebInspector.ElementsTreeOutline.prototype.updateSelection): |
| (WebInspector.ElementsTreeOutline.prototype._selectedNodeChanged): |
| (WebInspector.ElementsTreeOutline.prototype.findTreeElement): |
| (WebInspector.ElementsTreeOutline.prototype.findTreeElement.parentNode): |
| (WebInspector.ElementsTreeOutline.prototype.createTreeElementFor): |
| (WebInspector.ElementsTreeOutline.prototype.set suppressRevealAndSelect): |
| (WebInspector.ElementsTreeOutline.prototype._revealAndSelectNode): |
| (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent): |
| (WebInspector.ElementsTreeOutline.prototype._onmousedown): |
| (WebInspector.ElementsTreeOutline.prototype._onmousemove): |
| (WebInspector.ElementsTreeOutline.prototype._onmouseout): |
| (WebInspector.ElementsTreeOutline.prototype._ondragstart): |
| (WebInspector.ElementsTreeOutline.prototype._ondragover): |
| (WebInspector.ElementsTreeOutline.prototype._ondragleave): |
| (WebInspector.ElementsTreeOutline.prototype._isValidDragSourceOrTarget): |
| (WebInspector.ElementsTreeOutline.prototype._ondrop.callback): |
| (WebInspector.ElementsTreeOutline.prototype._ondrop): |
| (WebInspector.ElementsTreeOutline.prototype._ondragend): |
| (WebInspector.ElementsTreeOutline.prototype._clearDragOverTreeElementMarker): |
| (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement): |
| (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired): |
| (WebInspector.ElementsTreeOutline.prototype.populateContextMenu): |
| (WebInspector.ElementsTreeOutline.prototype.adjustCollapsedRange): |
| (WebInspector.ElementsTreeOutline.prototype._updateModifiedNodes): |
| (WebInspector.ElementsTreeOutline.prototype._populateContextMenu): |
| * UserInterface/DOMTreeUpdater.js: Added. |
| (WebInspector.ElementsTreeUpdater): |
| (WebInspector.ElementsTreeUpdater.prototype._documentUpdated): |
| (WebInspector.ElementsTreeUpdater.prototype._attributesUpdated): |
| (WebInspector.ElementsTreeUpdater.prototype._characterDataModified): |
| (WebInspector.ElementsTreeUpdater.prototype._nodeInserted): |
| (WebInspector.ElementsTreeUpdater.prototype._nodeRemoved): |
| (WebInspector.ElementsTreeUpdater.prototype._childNodeCountUpdated): |
| (WebInspector.ElementsTreeUpdater.prototype._updateModifiedNodesSoon): |
| (WebInspector.ElementsTreeUpdater.prototype._updateModifiedNodes): |
| (WebInspector.ElementsTreeUpdater.prototype._reset): |
| * UserInterface/Main.html: Included DOMTree{Outline,Element,Updater}.js. |
| |
| 2012-01-16 Timothy Hatcher <timothy@apple.com> |
| |
| Copy over WebInspector.DOMAgent from Open Source. |
| |
| Copied into DOMTreeManager.js since WebInspector.DOMAgent will soon be renamed to WebInspector.DOMTreeManager. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Rubber-stamped by John Sullivan. |
| |
| * UserInterface/DOMTreeManager.js: Copied from OpenSource/Source/WebCore/inspector/front-end/DOMAgent.js. |
| (WebInspector.DOMAgent): |
| (WebInspector.DOMAgent.prototype.requestDocument.onDocumentAvailable): |
| (WebInspector.DOMAgent.prototype.requestDocument): |
| (WebInspector.DOMAgent.prototype.pushNodeToFrontend): |
| (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend): |
| (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable.onDocumentAvailable): |
| (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable): |
| (WebInspector.DOMAgent.prototype._attributeModified): |
| (WebInspector.DOMAgent.prototype._attributeRemoved): |
| (WebInspector.DOMAgent.prototype._inlineStyleInvalidated): |
| (WebInspector.DOMAgent.prototype._loadNodeAttributes): |
| (WebInspector.DOMAgent.prototype._characterDataModified): |
| (WebInspector.DOMAgent.prototype.nodeForId): |
| (WebInspector.DOMAgent.prototype._documentUpdated): |
| (WebInspector.DOMAgent.prototype._setDocument): |
| (WebInspector.DOMAgent.prototype._setDetachedRoot): |
| (WebInspector.DOMAgent.prototype._setChildNodes): |
| (WebInspector.DOMAgent.prototype._bindNodes): |
| (WebInspector.DOMAgent.prototype._childNodeCountUpdated): |
| (WebInspector.DOMAgent.prototype._childNodeInserted): |
| (WebInspector.DOMAgent.prototype._childNodeRemoved): |
| (WebInspector.DOMAgent.prototype.inspectElement): |
| (WebInspector.DOMAgent.prototype.performSearch.callback): |
| (WebInspector.DOMAgent.prototype.performSearch): |
| (WebInspector.DOMAgent.prototype.searchResult.mycallback): |
| (WebInspector.DOMAgent.prototype.searchResult): |
| (WebInspector.DOMAgent.prototype.cancelSearch): |
| (WebInspector.DOMAgent.prototype.querySelector): |
| (WebInspector.DOMAgent.prototype.querySelectorAll): |
| (WebInspector.DOMAgent.prototype.highlightDOMNode): |
| (WebInspector.DOMAgent.prototype.hideDOMNodeHighlight): |
| (WebInspector.DOMAgent.prototype.highlightDOMNodeForTwoSeconds): |
| (WebInspector.DOMAgent.prototype.setInspectModeEnabled): |
| (WebInspector.DOMAgent.prototype._buildHighlightConfig): |
| |
| 2012-01-16 Timothy Hatcher <timothy@apple.com> |
| |
| Copy over WebInspector.DOMNode from Open Source. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Rubber-stamped by John Sullivan. |
| |
| * UserInterface/DOMNode.js: Copied from OpenSource/Source/WebCore/inspector/front-end/DOMAgent.js. |
| (WebInspector.DOMNode): |
| (WebInspector.DOMNode.prototype.hasAttributes): |
| (WebInspector.DOMNode.prototype.hasChildNodes): |
| (WebInspector.DOMNode.prototype.nodeType): |
| (WebInspector.DOMNode.prototype.nodeName): |
| (WebInspector.DOMNode.prototype.nodeNameInCorrectCase): |
| (WebInspector.DOMNode.prototype.setNodeName): |
| (WebInspector.DOMNode.prototype.localName): |
| (WebInspector.DOMNode.prototype.nodeValue): |
| (WebInspector.DOMNode.prototype.setNodeValue): |
| (WebInspector.DOMNode.prototype.getAttribute): |
| (WebInspector.DOMNode.prototype.setAttribute): |
| (WebInspector.DOMNode.prototype.setAttributeValue): |
| (WebInspector.DOMNode.prototype.attributes): |
| (WebInspector.DOMNode.prototype.removeAttribute): |
| (WebInspector.DOMNode.prototype.getChildNodes.mycallback): |
| (WebInspector.DOMNode.prototype.getChildNodes): |
| (WebInspector.DOMNode.prototype.getOuterHTML): |
| (WebInspector.DOMNode.prototype.setOuterHTML): |
| (WebInspector.DOMNode.prototype.removeNode): |
| (WebInspector.DOMNode.prototype.copyNode): |
| (WebInspector.DOMNode.prototype.eventListeners): |
| (WebInspector.DOMNode.prototype.path): |
| (WebInspector.DOMNode.prototype.appropriateSelectorFor): |
| (WebInspector.DOMNode.prototype.isAncestor): |
| (WebInspector.DOMNode.prototype.isDescendant): |
| (WebInspector.DOMNode.prototype._setAttributesPayload): |
| (WebInspector.DOMNode.prototype._insertChild): |
| (WebInspector.DOMNode.prototype._removeChild): |
| (WebInspector.DOMNode.prototype._setChildrenPayload): |
| (WebInspector.DOMNode.prototype._renumber): |
| (WebInspector.DOMNode.prototype._addAttribute): |
| (WebInspector.DOMNode.prototype._setAttribute): |
| (WebInspector.DOMNode.prototype._removeAttribute): |
| (WebInspector.DOMNode.prototype.ownerDocumentElement): |
| (WebInspector.DOMNode.prototype.moveTo): |
| (WebInspector.DOMNode.prototype.isXMLNode): |
| * UserInterface/Main.html: Included DOMNode.js. |
| |
| 2012-01-16 Timothy Hatcher <timothy@apple.com> |
| |
| Copy over WebInspector.RemoteObject from Open Source. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Rubber-stamped by John Sullivan. |
| |
| * UserInterface/Main.html: Included RemoteObject.js. |
| * UserInterface/RemoteObject.js: Copied from OpenSource/Source/WebCore/inspector/front-end/RemoteObject.js. |
| |
| 2012-01-16 Timothy Hatcher <timothy@apple.com> |
| |
| Copy over WebInspector.ContextMenu from Open Source. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Rubber-stamped by John Sullivan. |
| |
| * UserInterface/ContextMenu.js: Copied from OpenSource/Source/WebCore/inspector/front-end/ContextMenu.js. |
| * UserInterface/Main.html: Included ContextMenu.js. |
| |
| 2012-01-16 Timothy Hatcher <timothy@apple.com> |
| |
| Rename TreeElementHierarchicalPathComponent.js to GeneralTreeElementPathComponent.js. |
| |
| It always dealt with GeneralTreeElements from the start, not TreeElements. This makes it clear |
| that is can't be used with other TreeElement subclasses (like DOMTreeElement). |
| |
| Rubber-stamped by John Sullivan. |
| |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser.prototype._updateHierarchicalPathNavigationItem): Use GeneralTreeElementPathComponent. |
| (WebInspector.ContentBrowser.prototype._hierarchicalPathComponentWasSelected): Ditto. |
| * UserInterface/GeneralTreeElementPathComponent.js: Renamed from TreeElementHierarchicalPathComponent.js. |
| * UserInterface/Main.html: Renamed TreeElementHierarchicalPathComponent.js to GeneralTreeElementPathComponent.js. |
| |
| 2012-01-14 Timothy Hatcher <timothy@apple.com> |
| |
| Prevent deselection of frames in the Resources sidebar when they navigate, or when resources redirect. |
| |
| When a frame navigates or a resource redirects we remove it from the tree and reinsert it at the correct |
| sort order based on the new URL. When the tree element was removed we would automatically select a sibling. |
| This uses new TreeOutline support to suppress notifying select/deselect listeners so the temporary removal |
| is not noticed, so the content view does not change briefly. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/FrameTreeElement.js: |
| (WebInspector.FrameTreeElement.prototype._addTreeElement): |
| (WebInspector.FrameTreeElement.prototype._removeTreeElement): |
| |
| 2012-01-14 Timothy Hatcher <timothy@apple.com> |
| |
| Add more support for suppressing the select and deselect events in TreeOutline. This also fixes |
| a typo where suppress was pervasively misspelled. |
| |
| This is needed to prevent changing views when a tree element in the Resources sidebar moves to a folder. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/TreeOutline.js: |
| (TreeOutline.prototype.removeChildAtIndex): Added suppressOnDeselect and suppressSelectSibling. |
| (TreeOutline.prototype.removeChild): Ditto. |
| (TreeOutline.prototype.removeChildren): Added suppressOnDeselect. |
| (TreeOutline.prototype.removeChildrenRecursive): Ditto. |
| (TreeElement.prototype.select): Added suppressOnSelect and suppressOnDeselect. |
| (TreeElement.prototype.revealAndSelect): Added the same parameters as select. |
| |
| 2012-01-11 Timothy Hatcher <timothy@apple.com> |
| |
| Make DataGrid use CSS gradients for headers instead of images. |
| |
| Part of: <rdar://problem/10643175> DataGrid should be HiDPI compliant |
| |
| Reviewed by Jing Jin. |
| |
| * UserInterface/DataGrid.css: |
| (.data-grid th): |
| (.data-grid th:first-child): |
| (.data-grid th:active:first-child): |
| (.data-grid th:last-child): |
| (.data-grid th:active:last-child): |
| (.data-grid table.data): |
| (.data-grid td): |
| (.data-grid td:last-child): |
| (.data-grid th.sortable:active): |
| (.data-grid th.sort-ascending, .data-grid th.sort-descending): |
| (.data-grid th.sortable.sort-ascending:active, .data-grid th.sortable.sort-descending:active): |
| (.data-grid th.sort-descending + th): |
| (.data-grid th.sort-descending + th:active): |
| (.data-grid th.sort-descending:first-child): |
| (.data-grid th.sort-descending:last-child): |
| (body.inactive .data-grid th.sort-ascending, body.inactive .data-grid th.sort-descending): |
| * UserInterface/Images/glossyHeader.png: Removed. |
| * UserInterface/Images/glossyHeaderPressed.png: Removed. |
| * UserInterface/Images/glossyHeaderSelected.png: Removed. |
| * UserInterface/Images/glossyHeaderSelectedPressed.png: Removed. |
| |
| 2012-01-10 Timothy Hatcher <timothy@apple.com> |
| |
| Improve appearance of DataGrid in the new Web Inspector. |
| |
| This removes the extra border and outline around the DOM Storage and Cookie Storage content views. |
| The empty gutter on the right is also removed now that OS X has overlay scrollers. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/CookieStorageContentView.css: |
| (.content-view.cookie-storage > .data-grid): Set border and outline to none. |
| * UserInterface/DOMStorageContentView.css: |
| (.content-view.dom-storage > .data-grid): Ditto. |
| * UserInterface/DataGrid.css: |
| (.data-grid .data-container): Remove padding-right. |
| (.data-grid th:last-child): Added. Remove right border and set padding-right to give room for the scroller. |
| (.data-grid td:last-child): Added. Ditto. |
| * UserInterface/DataGrid.js: |
| (WebInspector.DataGrid): Removed the corder cell since it ins't needed to make room for the scroller anymore. |
| |
| 2012-01-10 Timothy Hatcher <timothy@apple.com> |
| |
| Add utility functions needed by the DOM tree code. |
| |
| Part of: <rdar://problem/10663163> Implement the DOM Tree content view |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/Utilities.js: |
| (Node.prototype.isAncestor): Copied from OpenSource/Source/WebCore/inspector/front-end/utilities.js. |
| (Node.prototype.isDescendant): Ditto. |
| (Element.prototype.createChild): Ditto. |
| (DocumentFragment.prototype.createChild): Ditto. |
| |
| 2012-01-10 Timothy Hatcher <timothy@apple.com> |
| |
| Fix a case where Element.totalOffsetLeft is used as a function instead of a property. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/TreeOutline.js: |
| (TreeElement.prototype.isEventWithinDisclosureTriangle): Don't call totalOffsetLeft as a function. |
| |
| 2012-01-10 Timothy Hatcher <timothy@apple.com> |
| |
| Make events dispatch to listeners on all constructors up the prototype chain, not just immediate constructor. |
| |
| This is needed so subclasses of ContentView can dispatch events to listeners without the need for them to listen |
| on the concrete ContentView subclasses. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Object.js: |
| (WebInspector.Object.prototype.dispatchEventToListeners): |
| |
| 2012-01-10 Timothy Hatcher <timothy@apple.com> |
| |
| Make clicking of links for main resources of frames navigate to those resources. Before this only subresources |
| were navigable and clicking a main resource link would open a new Safari window instead of showing the source. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Frame.js: |
| (WebInspector.Frame.prototype.resourceForURL): Check the main resources of the child frames for the requested URL. |
| |
| 2012-01-10 Timothy Hatcher <timothy@apple.com> |
| |
| Allow repeated selection of tree elements in the Storage panel (and all future NavigationSidebarPanels.) |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel): Set this._contentTreeOutline.allowsRepeatSelection to true. |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel): Moved this.contentTreeOutline.allowsRepeatSelection = true from here |
| to WebInspector.NavigationSidebarPanel. |
| |
| 2012-01-12 Timothy Hatcher <timothy@apple.com> |
| |
| Exclude Web Inspector strings from localizedStrings.js until they can be included |
| in Production builds. |
| |
| Reviewed by Darin Adler. |
| |
| * UserInterface/Main.js: |
| (WebInspector.UIString): Always return the string until we can actually do the lookup. |
| * English.lproj/localizedStrings.js: Updated to exclude Web Inspector strings. |
| |
| 2012-01-11 Brian Weinstein <bweinstein@apple.com> |
| |
| Rest of <rdar://problem/10643012> Implement Database content views for new inspector design. |
| |
| Implement custom views for when a database table is empty, or when there was an error |
| loading the data. |
| |
| If a table is empty, we don't get a list of column names, and can't show an empty data grid. |
| If there was an error, we also can't show a data grid because we don't know anything about |
| the table. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/DatabaseTableContentView.js: |
| (WebInspector.DatabaseTableContentView.prototype._queryFinished): If we were unable to create |
| a data grid, the table was empty, so call createMessageTextView. |
| (WebInspector.DatabaseTableContentView.prototype._queryError): Call createMessageTextView. |
| * UserInterface/Main.css: |
| (.message-text-view, message-text-view > p, message-text-view.error): Added styles for createMessageTextView. |
| * UserInterface/Main.js: |
| (WebInspector.createMessageTextView): Creates a view and returns it to the caller. |
| * English.lproj/localizedStrings.js: |
| |
| 2012-01-11 Brian Weinstein <bweinstein@apple.com> |
| |
| Clear database table views when the page navigates. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/StorageSidebarPanel.js: |
| (WebInspector.StorageSidebarPanel.prototype._storageCleared): |
| |
| 2012-01-11 Brian Weinstein <bweinstein@apple.com> |
| |
| Work towards <rdar://problem/10643012> Implement Database content views for new inspector design. |
| |
| Implement the DataGrid for database tables. |
| |
| This patch adds the ability to be able to execute SQL queries on a DatabaseObject, and DatabaseContentView |
| uses that to get the data from the selected table. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/DatabaseObject.js: |
| (WebInspector.DatabaseObject.prototype.executeSQL): Call through to DatabaseAgent.executeSQL. |
| * UserInterface/DatabaseObserver.js: Add a map from transaction ID -> callbacks to be able to do the right |
| thing when sqlTransactionSucceeded or sqlTransactionFailed is called. |
| (WebInspector.DatabaseObserver.prototype.sqlTransactionSucceeded): Call the onSuccess callback for that |
| transaction ID. |
| (WebInspector.DatabaseObserver.prototype.sqlTransactionFailed): Call the onError callback for that transaction |
| ID. |
| * UserInterface/DatabaseTableContentView.css: Added. |
| (.content-view.database-table > .data-grid): |
| * UserInterface/DatabaseTableContentView.js: |
| (WebInspector.DatabaseTableContentView): Call update. |
| (WebInspector.DatabaseTableContentView.prototype.constructor.WebInspector.DatabaseTableContentView.update): Get the |
| data from the table. |
| (WebInspector.DatabaseTableContentView.prototype._escapeTableName): Taken from open source. |
| (WebInspector.DatabaseTableContentView.prototype._queryFinished): Create a sortable data grid with the column names |
| and the values returned from the SQL call. |
| (WebInspector.DatabaseTableContentView.prototype._queryError): Added a FIXME to handle the error. |
| * UserInterface/Main.html: |
| |
| 2012-01-10 Brian Weinstein <bweinstein@apple.com> |
| |
| Work towards <rdar://problem/10643012> Implement Database content views for new inspector design. |
| |
| Add a content view for database tables. It is currently empty, but a datagrid will be added that |
| will show the correct data. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/ContentView.js: |
| (WebInspector.ContentView): |
| (WebInspector.ContentView.isViewable): |
| * UserInterface/DatabaseTableContentView.js: Added. |
| (WebInspector.DatabaseTableContentView): |
| * UserInterface/Main.html: |
| * UserInterface/Main.js: |
| (WebInspector.contentBrowserTreeElementForRepresentedObject): |
| * UserInterface/StorageSidebarPanel.js: |
| (WebInspector.StorageSidebarPanel.prototype._treeElementSelected): |
| |
| 2012-01-10 Brian Weinstein <bweinstein@apple.com> |
| |
| Clear the DOM and cookie storage content views when we navigate. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/StorageSidebarPanel.js: |
| (WebInspector.StorageSidebarPanel.prototype._storageCleared): |
| |
| 2012-01-10 Brian Weinstein <bweinstein@apple.com> |
| |
| Rest of <rdar://problem/10642964> Implement Cookie content view for new web inspector design. |
| |
| Implement deleting of individual cookies. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/CookieStorageContentView.js: |
| (WebInspector.CookieStorageContentView.prototype._rebuildTable): Add a delete callback. |
| (WebInspector.CookieStorageContentView.prototype._deleteCallback): Delete the cookie. |
| |
| 2012-01-10 Brian Weinstein <bweinstein@apple.com> |
| |
| Work towards <rdar://problem/10642964> Implement Cookie content view for new web inspector design. |
| |
| Implement the sorting of columns in the cookie data grid. |
| |
| The code to sort the array was brought from open source. The rest of the patch is some refactoring |
| which makes the code more efficient. When we get the cookies from the PageAgent, we filter them, |
| and store the filtered cookies as a property in the class. When the sorting order is changed, |
| we just rebuild the table using the filtered cookies already stored, so we don't need to refilter |
| them when the sorting order changed. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/CookieStorageContentView.js: |
| (WebInspector.CookieStorageContentView.prototype.constructor.WebInspector.CookieStorageContentView.update): Store the filtered |
| cookies as a property, then call rebuildTable. |
| (WebInspector.CookieStorageContentView.prototype._rebuildTable): Don't take cookies as a parameter any more, and don't |
| filter them. |
| |
| (WebInspector.CookieStorageContentView.prototype._sortCookies.localeCompare): Copied from open source. |
| (WebInspector.CookieStorageContentView.prototype._sortCookies.numberCompare): Ditto. |
| (WebInspector.CookieStorageContentView.prototype._sortCookies.expiresCompare): Ditto. |
| (WebInspector.CookieStorageContentView.prototype._sortCookies): Ditto. |
| * UserInterface/Utilities.js: |
| (Object.defineProperty): Copied from open source. |
| |
| 2012-01-10 Brian Weinstein <bweinstein@apple.com> |
| |
| Work towards <rdar://problem/10642964> Implement Cookie content view for new web inspector design. |
| |
| Filter the cookies that are shown for each domain that the page has loaded. This means that when |
| you see the cookies for twitter.com, you will only see the twitter.com cookies, and not the doubleclick |
| cookies that twitter might have loaded. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/CookieStorageContentView.js: |
| (WebInspector.CookieStorageContentView.prototype._updateWithCookies): Use the filtered cookies. |
| (WebInspector.CookieStorageContentView.prototype._filterCookies): Get a list of all the resources |
| that are loaded with the CookieStorageContentView's host, and when looking at the document's cookies, |
| only add the ones that match the host. |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype.get frames): Get the frames of the document. |
| |
| (WebInspector.cookieMatchesResourceURL): Brought over from open source. |
| (WebInspector.cookieDomainMatchesResourceDomain): Ditto. |
| |
| 2012-01-09 Brian Weinstein <bweinstein@apple.com> |
| |
| Work towards <rdar://problem/10642964> Implement Cookie content view for new web inspector design. |
| |
| Show a list of cookies on the page. It can't be sorted, and isn't filtered for the cookie host that |
| you selected, but cookies do show up. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/CookieStorageContentView.css: Added. |
| (.content-view.cookie-storage > .data-grid): The data grid takes up the whole view. |
| * UserInterface/CookieStorageContentView.js: |
| (WebInspector.CookieStorageContentView): Call update. |
| (WebInspector.CookieStorageContentView.prototype.constructor.WebInspector.CookieStorageContentView.update): Get the cookies |
| on the page, and then call _updateWithCookies on the result. |
| (WebInspector.CookieStorageContentView.prototype._updateWithCookies): Create the data grid if it hasn't been created yet, and |
| populate it. |
| * UserInterface/Main.html: Add new file. |
| * English.lproj/localizedStrings.js: Update localized string. |
| |
| 2012-01-09 Brian Weinstein <bweinstein@apple.com> |
| |
| Work towards <rdar://problem/10642964> Implement Cookie content view for new web inspector design. |
| |
| Add a content view for cookie storage. It is currently empty, but a datagrid will be added that |
| will show the correct data. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/ContentView.js: |
| (WebInspector.ContentView): Add a new case for CookieStorageObject, |
| (WebInspector.ContentView.isViewable): Ditto. |
| * UserInterface/CookieStorageContentView.js: Added. |
| (WebInspector.CookieStorageContentView): |
| * UserInterface/Main.html: Add new files. |
| * UserInterface/Main.js: |
| (WebInspector.contentBrowserTreeElementForRepresentedObject): Add a new case for CookieStorageObject. |
| * UserInterface/StorageSidebarPanel.js: |
| (WebInspector.StorageSidebarPanel.prototype._treeElementSelected): Ditto. |
| |
| 2012-01-09 Brian Weinstein <bweinstein@apple.com> |
| |
| When we want to update the DOM storage data grid, don't remove the whole data grid and re-create it, |
| just remove the DataGridNodes and regenerate those. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/DOMStorageContentView.js: |
| (WebInspector.DOMStorageContentView.prototype.constructor.WebInspector.DOMStorageContentView.update): Don't remove the content |
| view's children. |
| (WebInspector.DOMStorageContentView.prototype._showDOMStorageEntries): Call _updateDataGridForDOMStorageEntries (which was renamed). |
| (WebInspector.DOMStorageContentView.prototype._updateDataGridForDOMStorageEntries): Renamed. It also now only creates the data grid |
| if necessary, and removes the children from the data grid before adding the new children. |
| |
| 2012-01-06 Brian Weinstein <bweinstein@apple.com> |
| |
| Rest towards <rdar://problem/10643005> Implement DOM Storage content views for new inspector design. |
| |
| Hook up editing of the DOM storage items. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/DOMStorageContentView.js: |
| (WebInspector.DOMStorageContentView.prototype._dataGridForDOMStorageEntries): Add an editing callback. |
| (WebInspector.DOMStorageContentView.prototype._editingCallback): Tell the DOMStorageObject about what |
| item to modify. |
| * UserInterface/DOMStorageObject.js: |
| (WebInspector.DOMStorageObject.prototype.setItem): Call through to DOMStorageAgent. |
| * UserInterface/Editing.css: Added. Copied some rules from inspector.css in Open Source. |
| * UserInterface/EditingSupport.js: Added. Copied selected functions from Open Source UIUtils.js. |
| * UserInterface/KeyboardShortcut.js: Added. |
| * UserInterface/Main.html: Added new files. |
| * UserInterface/Utilities.js: Copied isInsertionCaretInside from Open Source utilities.js, but made it |
| a property. |
| |
| 2012-01-06 Brian Weinstein <bweinstein@apple.com> |
| |
| Work towards <rdar://problem/10643005> Implement DOM Storage content views for new inspector design. |
| |
| Implement DOMStorageObserver.updateDOMStorage, and have it call all the way through to calling |
| update on the DOMStorageContentView. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/DOMStorageObserver.js: |
| (WebInspector.DOMStorageObserver.prototype.updateDOMStorage): |
| * UserInterface/StorageManager.js: |
| (WebInspector.StorageManager.prototype.domStorageWasUpdated): |
| (WebInspector.StorageManager.prototype._mainResourceDidChange): |
| (WebInspector.StorageManager.prototype._domStorageForId): |
| |
| 2012-01-06 Brian Weinstein <bweinstein@apple.com> |
| |
| Work towards <rdar://problem/10643005> Implement DOM Storage content views for new inspector design. |
| |
| Hook up the delete callback from the datagrid. When the delete key is pressed and a row is selected, |
| that DOM storage item will be deleted. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/DOMStorageContentView.js: |
| (WebInspector.DOMStorageContentView.prototype._dataGridForDOMStorageEntries): |
| (WebInspector.DOMStorageContentView.prototype._deleteCallback): |
| * UserInterface/DOMStorageObject.js: |
| (WebInspector.DOMStorageObject.prototype.getEntries): |
| (WebInspector.DOMStorageObject.prototype.removeItem): |
| |
| 2012-01-06 Brian Weinstein <bweinstein@apple.com> |
| |
| Work towards <rdar://problem/10643005> Implement DOM Storage content views for new inspector design. |
| |
| Make resizing columns work. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/DataGrid.js: |
| (WebInspector.DataGrid.prototype._resizerDragging): Change totalOffsetLeft to be a property instead of |
| a function. This matches Utilities.js and code that we already have. |
| (WebInspector.DataGridNode.prototype.isEventWithinDisclosureTriangle): Ditto. |
| * UserInterface/Main.js: |
| (WebInspector.elementDragStart): Copied from Open Source. |
| (WebInspector.elementDragEnd): Ditto. |
| * UserInterface/Utilities.js: |
| (Object.defineProperty): |
| |
| 2012-01-06 Brian Weinstein <bweinstein@apple.com> |
| |
| Work towards <rdar://problem/10643005> Implement DOM Storage content views for new inspector design. |
| |
| We now show a data grid with the contents of the local or session storage. |
| |
| It's not editable, and you can't resize the columns yet, but that will come in |
| the not too distant future. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/DOMStorageContentView.css: Added. |
| (.content-view.dom-storage > .data-grid): Make the data grid take up the whole content view. |
| * UserInterface/DOMStorageContentView.js: |
| (WebInspector.DOMStorageContentView): Call update. |
| (WebInspector.DOMStorageContentView.prototype.constructor.WebInspector.DOMStorageContentView.update): Remove all children |
| from the content view, and ask the DOM storage object for a list of entries, and pass _showDOMStorageEntries as a callback. |
| (WebInspector.DOMStorageContentView.prototype._showDOMStorageEntries): Call _dataGridForDOMStorageEntries and add the data grid |
| to the |
| (WebInspector.DOMStorageContentView.prototype._dataGridForDOMStorageEntries): Create the data grid and populate it. |
| * UserInterface/DOMStorageObject.js: |
| (WebInspector.DOMStorageObject.prototype.isLocalStorage): |
| (WebInspector.DOMStorageObject.prototype.getEntries): Ask for the entries for the DOM storage. |
| * UserInterface/Main.html: Add the new CSS file. |
| * English.lproj/localizedStrings.js: Update the localized strings. |
| |
| 2012-01-06 Brian Weinstein <bweinstein@apple.com> |
| |
| Work towards <rdar://problem/10643005> Implement DOM Storage content views for new inspector design. |
| |
| Clean up DataGrid by replacing (add|remove|has)StyleClass with classList.(add|remove|contains). |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/DataGrid.js: |
| |
| 2012-01-06 Brian Weinstein <bweinstein@apple.com> |
| |
| Work towards <rdar://problem/10643005> Implement DOM Storage content views for new inspector design. |
| |
| Add a content view for DOM storage. Currently it is just a blank view, but a datagrid will be |
| added that will show the correct data. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/ContentView.js: |
| (WebInspector.ContentView): Add a new case for DOMStorageObject. |
| (WebInspector.ContentView.isViewable): Ditto. |
| (.content-view.dom-storage > .content-view-container): |
| * UserInterface/DOMStorageContentView.js: Added. |
| (WebInspector.DOMStorageContentView): |
| * UserInterface/Main.html: |
| * UserInterface/StorageSidebarPanel.js: |
| (WebInspector.StorageSidebarPanel): Add a listener for when a tree element is selected. |
| (WebInspector.StorageSidebarPanel.prototype._storageCleared): |
| (WebInspector.StorageSidebarPanel.prototype._treeElementSelected): Install the content view. |
| |
| 2012-01-04 Brian Weinstein <bweinstein@apple.com> |
| |
| Work towards <rdar://problem/10643005> Implement DOM Storage content views for new inspector design. |
| |
| Add DataGrid JavaScript, CSS files, and necessary images to the internal project. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/DataGrid.js: Added. This was copied from ToT Open Source, but the changes from |
| http://trac.webkit.org/changeset/98225 and http://trac.webkit.org/changeset/98228 were rolled out, |
| because we don't share the same concept of a WebInspector view. |
| |
| * UserInterface/Images/glossyHeader.png: Added. |
| * UserInterface/Images/glossyHeaderPressed.png: Added. |
| * UserInterface/Images/glossyHeaderSelected.png: Added. |
| * UserInterface/Images/glossyHeaderSelectedPressed.png: Added. |
| * UserInterface/Images/treeDownTriangleBlack.png: Added. |
| * UserInterface/Images/treeDownTriangleWhite.png: Added. |
| * UserInterface/Images/treeRightTriangleBlack.png: Added. |
| * UserInterface/Images/treeRightTriangleWhite.png: Added. |
| * UserInterface/Images/treeUpTriangleBlack.png: Added. |
| |
| * UserInterface/Main.html: Added new files. |
| |
| * UserInterface/dataGrid.css: Added. |
| |
| 2012-01-06 Timothy Hatcher <timothy@apple.com> |
| |
| Add a path component to WebInspector.FrameContentView that will eventually let you switch |
| between Source Code and DOM Tree. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/FrameContentView.js: |
| (WebInspector.FrameContentView.createPathComponent): Added. Helper for making HierarchicalPathComponents. |
| (WebInspector.FrameContentView): Create a Source Code path component. |
| (WebInspector.FrameContentView.prototype.get selectionPathComponents): Added. Append the current view's path |
| components to the path component representing the current view. |
| (WebInspector.FrameContentView.prototype._pathComponentForContentView): Added. |
| (WebInspector.FrameContentView.prototype._showContentViewForIdentifier): Added. |
| (WebInspector.FrameContentView.prototype._pathComponentSelected): Added. |
| * UserInterface/Images/SourceCode.pdf: Added. |
| * UserInterface/Main.html: Included PathComponentIcons.css. |
| * UserInterface/PathComponentIcons.css: Added. |
| (.source-code-icon .icon): |
| * English.lproj/localizedStrings.js: Updated. |
| |
| 2012-01-06 Timothy Hatcher <timothy@apple.com> |
| |
| Add support for path components in the Quick Navigation bar that represent the current selection in a content view. |
| |
| Part of: <rdar://problem/10318787> Implement the Quick Navigation bar for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ClusterContentView.js: |
| (WebInspector.ClusterContentView): Listen for CurrentContentViewDidChange and SelectionPathComponentsDidChange events. |
| (WebInspector.ClusterContentView.prototype.get selectionPathComponents): Added. Forward the selectionPathComponents |
| of the current view. |
| (WebInspector.ClusterContentView.prototype._currentContentViewDidChange): Added. Dispatch SelectionPathComponentsDidChange event. |
| (WebInspector.ClusterContentView.prototype._contentViewSelectionPathComponentDidChange): Added. Dispatch the |
| SelectionPathComponentsDidChange event if the event target is our current content view. |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser): Create a hierarchical path navigation item for the content view path components. |
| (WebInspector.ContentBrowser.prototype._updateContentViewSelectionPathNavigationItem): Added. Remove and insert the navigation |
| item if needed and update the components. |
| (WebInspector.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange): Added. Call _updateContentViewSelectionPathNavigationItem. |
| (WebInspector.ContentBrowser.prototype._currentContentViewDidChange): Call _updateContentViewSelectionPathNavigationItem. |
| * UserInterface/ContentView.js: |
| (WebInspector.ContentView.prototype.get selectionPathComponents): Added stub. |
| * UserInterface/HierarchicalPathComponent.css: |
| (.hierarchical-path:not(.always-show-last-path-component-separator) > .hierarchical-path-component:last-of-type > .separator): Added |
| the :not(.always-show-last-path-component-separator) part so so prevent hiding the separator in that case. |
| * UserInterface/HierarchicalPathNavigationItem.js: |
| (WebInspector.HierarchicalPathNavigationItem.prototype.get alwaysShowLastPathComponentSeparator): Added. |
| (WebInspector.HierarchicalPathNavigationItem.prototype.set alwaysShowLastPathComponentSeparator): Added. |
| |
| 2012-01-05 Timothy Hatcher <timothy@apple.com> |
| |
| Fix a regression from r39746 where link navigation between Web Inspector resource broke. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Main.js: |
| (WebInspector.openURL): Use contentBrowser instead of the now removed contentViewContainer. |
| Also show the frame for main resources instead of the resource itself. |
| |
| 2012-01-05 Timothy Hatcher <timothy@apple.com> |
| |
| Fix an issue where host names for frames where not shown when they differ from the frame that includes them. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Resource.js: |
| (WebInspector.Resource.prototype.isMainResource): Added. Helper function. |
| * UserInterface/ResourceTreeElement.js: |
| (WebInspector.ResourceTreeElement.prototype._updateTitles): When the resource is a main resource, get the |
| host from the parent frame instead of the current frame. |
| |
| 2012-01-05 Timothy Hatcher <timothy@apple.com> |
| |
| Add support for intra-view back/forward navigation. |
| |
| Part of: <rdar://problem/10318787> Implement the Quick Navigation bar for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ClusterContentView.js: |
| (WebInspector.ClusterContentView.prototype.canGoBack): Added. Call through to the content view container. |
| (WebInspector.ClusterContentView.prototype.canGoForward): Added. Ditto. |
| (WebInspector.ClusterContentView.prototype.goBack): Added. Ditto. |
| (WebInspector.ClusterContentView.prototype.goForward): Added. Ditto. |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser.prototype.canGoBack): Added. Check the current content view first. |
| (WebInspector.ContentBrowser.prototype.canGoForward): Added. Check the current content view first. |
| (WebInspector.ContentBrowser.prototype.goBack): Added. Try the current content view first. |
| (WebInspector.ContentBrowser.prototype.goForward): Added. Try the current content view first. |
| (WebInspector.ContentBrowser.prototype._backButtonClicked): Call goBack on this instead of the content |
| view container directly. |
| (WebInspector.ContentBrowser.prototype._forwardButtonClicked): Call goForward on this instead of the |
| content view container directly. |
| (WebInspector.ContentBrowser.prototype._updateBackForwardButtons): Added. |
| (WebInspector.ContentBrowser.prototype._currentContentViewDidChange): Call _udpateBackForwardButtons. |
| * UserInterface/ContentView.js: |
| (WebInspector.ContentView.prototype.canGoBack): Added stub. |
| (WebInspector.ContentView.prototype.canGoForward): Added stub. |
| (WebInspector.ContentView.prototype.goBack): Added stub. |
| (WebInspector.ContentView.prototype.goForward): Added stub. |
| |
| 2012-01-04 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.FrameContentView and WebInspector.ClusterContentView in preparation for showing |
| either the main resource text or the DOM tree for a frame. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ClusterContentView.css: Added. |
| (.content-view.cluster > .content-view-container): |
| * UserInterface/ClusterContentView.js: Added. |
| (WebInspector.ClusterContentView): |
| (WebInspector.ClusterContentView.prototype.get contentViewContainer): |
| * UserInterface/ContentView.js: |
| (WebInspector.ContentView): Return a FrameContentView for a Frame. |
| (WebInspector.ContentView.isViewable): Added Frame. |
| * UserInterface/FrameContentView.js: Added. |
| (WebInspector.FrameContentView): |
| (WebInspector.FrameContentView.prototype.get frame): |
| * UserInterface/Main.html: Included ClusterContentView.{css,js} and FrameContentView.js. |
| * UserInterface/Main.js: |
| (WebInspector.contentBrowserTreeElementForRepresentedObject): Added WebInspector.Frame check. |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject): Removed. The base class |
| version of this function is enough now. |
| (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange): Close all FrameContentViews |
| and improve a comment and add a FIXME. |
| (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected): Use treeElement.representedObject |
| instead of treeElement.resource since we want a FrameContentView for frames. |
| |
| 2012-01-04 Timothy Hatcher <timothy@apple.com> |
| |
| Populate the on-click menu for path components backed by tree elements. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser): Add PathComponentWasSelected event listener. |
| (WebInspector.ContentBrowser.prototype._updateHierarchicalPathNavigationItem): Use TreeElementHierarchicalPathComponent. |
| (WebInspector.ContentBrowser.prototype._hierarchicalPathComponentWasSelected): Added. |
| * UserInterface/ContentView.js: |
| (WebInspector.ContentView): Add assertions that isViewable is correct. |
| (WebInspector.ContentView.isViewable): Added. |
| * UserInterface/Main.html: Included TreeElementHierarchicalPathComponent.js. |
| * UserInterface/TreeElementHierarchicalPathComponent.js: Added. |
| (WebInspector.TreeElementHierarchicalPathComponent): |
| (WebInspector.TreeElementHierarchicalPathComponent.prototype.get treeElement): |
| (WebInspector.TreeElementHierarchicalPathComponent.prototype.get previousSibling): |
| (WebInspector.TreeElementHierarchicalPathComponent.prototype.get nextSibling): |
| |
| 2012-01-04 Timothy Hatcher <timothy@apple.com> |
| |
| Show a popup menu on click in HierarchicalPathComponent that contains sibling path components. |
| |
| Part of: <rdar://problem/10318787> Implement the Quick Navigation bar for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/HierarchicalPathComponent.css: |
| (.hierarchical-path-component): Make positioning relative. |
| (.hierarchical-path-component > select): Added. Positioned so the text in the menu aligns with the text in .title. |
| * UserInterface/HierarchicalPathComponent.js: |
| (WebInspector.HierarchicalPathComponent): Create the select element. |
| (WebInspector.HierarchicalPathComponent.prototype.get previousSibling): Added. |
| (WebInspector.HierarchicalPathComponent.prototype.set previousSibling): Added. |
| (WebInspector.HierarchicalPathComponent.prototype.get nextSibling): Added. |
| (WebInspector.HierarchicalPathComponent.prototype.set nextSibling): Added. |
| (WebInspector.HierarchicalPathComponent.prototype._updateSelectElement): Added. Build the select menu. |
| (WebInspector.HierarchicalPathComponent.prototype._updateSelectElement.createOption): Added. Helper to create |
| an option element from a path component. |
| (WebInspector.HierarchicalPathComponent.prototype._selectElementMouseDown): Added. Call _updateSelectElement. |
| (WebInspector.HierarchicalPathComponent.prototype._selectElementSelectionChanged): Added. Fire the SiblingWasSelected event. |
| * UserInterface/HierarchicalPathNavigationItem.js: |
| (WebInspector.HierarchicalPathNavigationItem.prototype.set components): Remove and add event listeners. |
| (WebInspector.HierarchicalPathNavigationItem.prototype._siblingPathComponentWasSelected): Added. Fire the PathComponentWasSelected event. |
| |
| 2012-01-03 Brian Weinstein <bweinstein@apple.com> |
| |
| If a database doesn't have any tables, its tree element shouldn't have a disclosure triangle. |
| |
| When creating the tree element for a database, initially set it not to have children, but make sure |
| it is populated when it is first created, so children will be added if it has them. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/DatabaseTreeElement.js: |
| (WebInspector.DatabaseTreeElement): |
| (WebInspector.DatabaseTreeElement.prototype.onpopulate.tableNamesCallback): |
| (WebInspector.DatabaseTreeElement.prototype.onpopulate): |
| |
| 2012-01-02 Timothy Hatcher <timothy@apple.com> |
| |
| Localize the Web Inspector by adding WebInspector.UIString in places that need it. |
| |
| Reviewed by Jessie Berlin. |
| |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser): |
| * UserInterface/CookieStorageTreeElement.js: |
| (WebInspector.CookieStorageTreeElement.prototype.get categoryName): |
| * UserInterface/DOMStorageTreeElement.js: |
| (WebInspector.DOMStorageTreeElement.prototype.get categoryName): |
| * UserInterface/DatabaseHostTreeElement.js: |
| (WebInspector.DatabaseHostTreeElement.prototype.get categoryName): |
| * UserInterface/DatabaseObject.js: |
| (WebInspector.DatabaseObject): |
| * UserInterface/FrameTreeElement.js: |
| (WebInspector.FrameTreeElement.prototype._folderNameForResourceType): |
| (WebInspector.FrameTreeElement.prototype._parentTreeElementForRepresentedObject): |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| (WebInspector._leftSidebarToggleButtonToolTip): |
| (WebInspector._rightSidebarToggleButtonToolTip): |
| * UserInterface/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel.prototype._checkForEmptyFilterResults): |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel): |
| * UserInterface/StorageSidebarPanel.js: |
| (WebInspector.StorageSidebarPanel): |
| (WebInspector.StorageSidebarPanel.prototype._domStorageObjectWasAdded): |
| (WebInspector.StorageSidebarPanel.prototype._databaseWasAdded): |
| (WebInspector.StorageSidebarPanel.prototype._cookieStorageObjectWasAdded): |
| * English.lproj/localizedStrings.js: Updated with update-safari-localizable-strings. |
| |
| 2012-01-02 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.UIString and load the localized strings file. |
| |
| Reviewed by Jessie Berlin. |
| |
| * UserInterface/Main.js: |
| (WebInspector.loadLocalizedStrings): Added. Load the localized strings file and call |
| content loaded when it loads. |
| (WebInspector.UIString): Added. |
| |
| 2012-01-02 Timothy Hatcher <timothy@apple.com> |
| |
| Add string formatting functions to Web Inspector. |
| |
| These will be needed for localization and the console. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Utilities.js: |
| (Array.convert): Copied from OpenSource/Source/WebCore/inspector/front-end/utilities.js. |
| (String.tokenizeFormatString): Ditto. |
| (String.standardFormatters): Ditto. |
| (String.format): Ditto. |
| (String.prototype.format): Added. |
| |
| 2011-12-31 Timothy Hatcher <timothy@apple.com> |
| |
| Add the toggle left and right sidebar buttons to the Quick Navigation bar. |
| |
| Part of: <rdar://problem/10318787> Implement the Quick Navigation bar for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/Images/LeftSidebarClose.pdf: Added. |
| * UserInterface/Images/LeftSidebarOpen.pdf: Added. |
| * UserInterface/Images/RightSidebarClose.pdf: Added. |
| * UserInterface/Images/RightSidebarOpen.pdf: Added. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Create the left and right toggle sidebar buttons and add event listeners. |
| (WebInspector._leftSidebarToggleButtonToolTip): Added. Return the correct tool tip based on which sidebar |
| is currently on the left. |
| (WebInspector._rightSidebarToggleButtonToolTip): Added. Ditto for the right. |
| (WebInspector._toggleLeftSidebar): Added. |
| (WebInspector._toggleRightSidebar): Added. |
| (WebInspector._sidebarCollapsedStateDidChange): Added. Update the toggle navigation buttons. |
| * UserInterface/Sidebar.js: |
| (WebInspector.Sidebar.prototype.set collapsed): Fire the CollapsedStateDidChange event. |
| * UserInterface/TextEditor.css: |
| (.text-editor > .gutter): Made the min-width 1px smaller to align with the divider in the navigation bar. |
| |
| 2011-12-31 Timothy Hatcher <timothy@apple.com> |
| |
| Add support for removing navigation items. |
| |
| Part of: <rdar://problem/10318787> Implement the Quick Navigation bar for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/NavigationBar.js: |
| (WebInspector.NavigationBar.prototype.removeNavigationItem): Added. |
| (WebInspector.NavigationBar.prototype.set selectedNavigationItem): Moved code from here into _findNavigationItem. |
| (WebInspector.NavigationBar.prototype._findNavigationItem): Added. |
| |
| 2011-12-31 Timothy Hatcher <timothy@apple.com> |
| |
| Add support for inserting navigation items at a specific index. |
| |
| Part of: <rdar://problem/10318787> Implement the Quick Navigation bar for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/NavigationBar.js: |
| (WebInspector.NavigationBar.prototype.addNavigationItem): Call insertNavigationItem. |
| (WebInspector.NavigationBar.prototype.insertNavigationItem): Added. |
| |
| 2011-12-31 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.ToggleButtonNavigationItem for the sidebar toggle buttons in the Quick Navigation bar. |
| |
| Part of: <rdar://problem/10318787> Implement the Quick Navigation bar for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ButtonNavigationItem.js: |
| (WebInspector.ButtonNavigationItem.prototype.set image): Added. |
| (WebInspector.ButtonNavigationItem.prototype._generateImages._createEmbossedCanvasImage): Call clearRect |
| since _generateImages can be called multiple times now. |
| * UserInterface/Main.html: Included ToggleButtonNavigationItem.js. |
| * UserInterface/ToggleButtonNavigationItem.js: Added. |
| (WebInspector.ToggleButtonNavigationItem): Added. |
| (WebInspector.ToggleButtonNavigationItem.prototype.get defaultImage): Added. |
| (WebInspector.ToggleButtonNavigationItem.prototype.get alternateImage): Added. |
| (WebInspector.ToggleButtonNavigationItem.prototype.get toggled): Added. |
| (WebInspector.ToggleButtonNavigationItem.prototype.set toggled): Added. Set _toggled and set the correct image. |
| |
| 2011-12-31 Timothy Hatcher <timothy@apple.com> |
| |
| Actually set the ButtonNavigationItem tool tip so it shows up as expected. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/ButtonNavigationItem.js: |
| (WebInspector.ButtonNavigationItem): Use the toolTip setter instead of _toolTip. |
| (WebInspector.ButtonNavigationItem.prototype.get toolTip): Return the title instead of _toolTip. |
| (WebInspector.ButtonNavigationItem.prototype.set toolTip): Added. Set the element title. |
| |
| 2011-12-31 Timothy Hatcher <timothy@apple.com> |
| |
| Rename ButtonNavigationItem.displayName to toolTip. |
| |
| It was always intended to be used as the tool tip, so this makes it clear. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/ButtonNavigationItem.js: |
| (WebInspector.ButtonNavigationItem): |
| (WebInspector.ButtonNavigationItem.prototype.constructor.WebInspector.ButtonNavigationItem.get toolTip): |
| * UserInterface/RadioButtonNavigationItem.js: |
| (WebInspector.RadioButtonNavigationItem): |
| |
| 2011-12-29 Timothy Hatcher <timothy@apple.com> |
| |
| Fix an issue in the Web Inspector where the old page content might appear when |
| pressing the back button. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange): Delay this work because |
| other listeners of this event might not have fired yet. So selecting the main frame before those listeners |
| do their work might cause the content of the old page to show instead of the new page. |
| |
| 2011-12-29 Timothy Hatcher <timothy@apple.com> |
| |
| Add back/forward buttons to the Quick Navigation bar and hook them up. |
| |
| Part of: <rdar://problem/10318787> Implement the Quick Navigation bar for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser): Create the back and forward button navigation items. |
| (WebInspector.ContentBrowser.prototype._backButtonClicked): Added. |
| (WebInspector.ContentBrowser.prototype._forwardButtonClicked): Added. |
| (WebInspector.ContentBrowser.prototype._currentContentViewDidChange): Update the enabled state |
| of the back/forward navigation items. |
| * UserInterface/Images/BackArrow.pdf: Added. |
| * UserInterface/Images/ForwardArrow.pdf: Added. |
| |
| 2011-12-29 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.DividerNavigationItem for dividing items in the Quick Navigation bar. |
| |
| Part of: <rdar://problem/10318787> Implement the Quick Navigation bar for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/DividerNavigationItem.css: Added. |
| (.navigation-bar > .item.divider): |
| * UserInterface/DividerNavigationItem.js: Added. |
| (WebInspector.DividerNavigationItem): |
| * UserInterface/Main.html: Included DividerNavigationItem.js and DividerNavigationItem.css. |
| |
| 2011-12-29 Timothy Hatcher <timothy@apple.com> |
| |
| Add disabled support to WebInspector.ButtonNavigationItem. |
| |
| This is needed for the back/forward buttons. |
| |
| Part of: <rdar://problem/10318787> Implement the Quick Navigation bar for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ButtonNavigationItem.css: |
| (.navigation-bar > .item.button.disabled > .glyph): Added. |
| (.navigation-bar > .item.button:not(.disabled):not(.radio):active): Don't highlight on click when disabled. |
| * UserInterface/ButtonNavigationItem.js: |
| (WebInspector.ButtonNavigationItem.prototype.get enabled): Added. |
| (WebInspector.ButtonNavigationItem.prototype.set enabled): Added. |
| (WebInspector.ButtonNavigationItem.prototype.generateStyleText): Added :not(.disabled) to the focus and active rules. |
| (WebInspector.ButtonNavigationItem.StyleClassName._mouseClicked): Don't fire the event when disabled. |
| * UserInterface/RadioButtonNavigationItem.js: |
| (WebInspector.RadioButtonNavigationItem.prototype.generateStyleText): Added :not(.disabled) to the focus and active rules. |
| |
| 2011-12-29 Timothy Hatcher <timothy@apple.com> |
| |
| Add support for click events to WebInspector.ButtonNavigationItem. |
| |
| Part of: <rdar://problem/10318787> Implement the Quick Navigation bar for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ButtonNavigationItem.js: |
| (WebInspector.ButtonNavigationItem): Added click event listener to the element. |
| (WebInspector.ButtonNavigationItem.StyleClassName._mouseClicked): Added. Dispatch the Clicked event. |
| |
| 2011-12-29 Timothy Hatcher <timothy@apple.com> |
| |
| Support different size glyph images on WebInspector.ButtonNavigationItem. Also adds a highlight to |
| buttons when pressed and general style clean up. |
| |
| Part of: <rdar://problem/10318787> Implement the Quick Navigation bar for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ButtonNavigationItem.css: |
| (.navigation-bar > .item.button): Default buttons to a width of 26px. Removed background styles. |
| (.navigation-bar > .item.button > .glyph): Set width and height to 100% and have the background |
| centered and non-repeating. |
| (.navigation-bar > .item.button:not(.radio):active): Added. Highlight when pressed. |
| * UserInterface/ButtonNavigationItem.js: |
| (WebInspector.ButtonNavigationItem): Added image width and height arguments. |
| (WebInspector.ButtonNavigationItem.prototype.generateStyleText): Added background-size to the generated rules. |
| * UserInterface/RadioButtonNavigationItem.css: |
| (.navigation-bar > .item.radio.button): Added. Moved from ButtonNavigationItem.css. |
| (.navigation-bar.collapsed > .item.radio.button): Added. Moved from ButtonNavigationItem.css. |
| (.navigation-bar > .item.radio.button.selected): Moved background-repeat from ButtonNavigationItem.css to here. |
| (.navigation-bar.collapsed > .item.radio.button.selected): Added. Adjust the background-size to fit the width. |
| * UserInterface/RadioButtonNavigationItem.js: |
| (WebInspector.RadioButtonNavigationItem): Added image width and height arguments. |
| (WebInspector.RadioButtonNavigationItem.prototype.generateStyleText): Added background-size to the generated rules. |
| |
| 2011-12-28 Timothy Hatcher <timothy@apple.com> |
| |
| Populate the Quick Navigation bar with the path of the selected item. |
| |
| Part of: <rdar://problem/10318787> Implement the Quick Navigation bar for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ContentBrowser.js: |
| (WebInspector.ContentBrowser): Added delegate argument. Create a HierarchicalPathNavigationItem and add |
| to the navigation bar. |
| (WebInspector.ContentBrowser.prototype.get delegate): Added. |
| (WebInspector.ContentBrowser.prototype.set delegate): Added. |
| (WebInspector.ContentBrowser.prototype._updateHierarchicalPathNavigationItem): Added. Build path components |
| based on the tree element for the represented object. |
| (WebInspector.ContentBrowser.prototype._currentContentViewDidChange): Added. Call _updateHierarchicalPathNavigationItem. |
| * UserInterface/ContentViewContainer.js: |
| (WebInspector.ContentViewContainer.prototype._showContentView): Dispatch the CurrentContentViewDidChange event. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Pass this as the delegate to the ContentBrowser. |
| (WebInspector.contentBrowserTreeElementForRepresentedObject): Added. Call treeElementForRepresentedObject on |
| the ResourceSidebarPanel for Resource represented objects. |
| * UserInterface/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel.prototype.treeElementForRepresentedObject): Added. Generic implementation |
| that will work for most NavigationSidebarPanel subclasses. |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject): Added. If the resource is a |
| main resource, return the tree element for the parent frame. |
| |
| 2011-12-28 Timothy Hatcher <timothy@apple.com> |
| |
| Add HierarchicalPathNavigationItem and friends for the Quick Navigation Bar. |
| |
| Part of: <rdar://problem/10318787> Implement the Quick Navigation bar for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/HierarchicalPathComponent.css: Added. |
| (.hierarchical-path-component): |
| (.hierarchical-path-component > .icon): |
| (.hierarchical-path-component > .title): |
| (.hierarchical-path-component:last-of-type > .separator): |
| (.hierarchical-path-component > .separator): |
| (.hierarchical-path-component.collapsed > .title): |
| * UserInterface/HierarchicalPathComponent.js: Added. |
| (WebInspector.HierarchicalPathComponent): |
| (WebInspector.HierarchicalPathComponent.prototype.get element): |
| (WebInspector.HierarchicalPathComponent.prototype.get representedObject): |
| (WebInspector.HierarchicalPathComponent.prototype.get displayName): |
| (WebInspector.HierarchicalPathComponent.prototype.set displayName): |
| * UserInterface/HierarchicalPathNavigationItem.js: Added. |
| (WebInspector.HierarchicalPathNavigationItem): |
| (WebInspector.HierarchicalPathNavigationItem.prototype.get components): |
| (WebInspector.HierarchicalPathNavigationItem.prototype.set components): |
| * UserInterface/Images/HierarchicalNavigationItemChevron.pdf: Added. |
| * UserInterface/Main.html: Included HierarchicalPathComponent.css, HierarchicalPathNavigationItem.js |
| and HierarchicalPathComponent.js. |
| |
| 2011-12-26 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.ContentBrowser to coordinate between the Quick Navigation bar and content view container. |
| |
| Part of: <rdar://problem/10318787> Implement the Quick Navigation bar for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro and Brian Weinstein. |
| |
| * UserInterface/ContentBrowser.css: Added. |
| (.content-browser): |
| (.content-browser > .navigation-bar): |
| (.content-browser > .content-view-container): |
| * UserInterface/ContentBrowser.js: Added. |
| (WebInspector.ContentBrowser): |
| (WebInspector.ContentBrowser.prototype.get navigationBar): |
| (WebInspector.ContentBrowser.prototype.get contentViewContainer): |
| (WebInspector.ContentBrowser.prototype.showContentForRepresentedObject): |
| * UserInterface/ContentViewContainer.js: |
| (WebInspector.ContentViewContainer.prototype.get element): Add missing return. |
| * UserInterface/Main.css: |
| (#content-browser): |
| * UserInterface/Main.html: Renamed #content to #content-browser. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Create a ContentBrowser instead of a NavigationBar and ContentViewContainer. |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange): Use the ContentBrowser. |
| (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected): Ditto. |
| |
| 2011-12-28 Timothy Hatcher <timothy@apple.com> |
| |
| Hold references to the navigation sidebar panels for easy access. |
| |
| Reviewed by Adam Roben. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Hold references to the sidebar panels. |
| |
| 2011-12-28 Timothy Hatcher <timothy@apple.com> |
| |
| Remove unused TreeElement class names. |
| |
| These class names were originally used for icons, but they have been |
| replaced by icon specific class names. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/CookieStorageTreeElement.js: |
| (WebInspector.CookieStorageTreeElement): |
| * UserInterface/DOMStorageTreeElement.js: |
| (WebInspector.DOMStorageTreeElement): |
| * UserInterface/DatabaseHostTreeElement.js: |
| (WebInspector.DatabaseHostTreeElement): |
| * UserInterface/DatabaseTableTreeElement.js: |
| (WebInspector.DatabaseTableTreeElement): |
| * UserInterface/DatabaseTreeElement.js: |
| (WebInspector.DatabaseTreeElement): |
| * UserInterface/FolderTreeElement.js: |
| (WebInspector.FolderTreeElement): |
| * UserInterface/FrameTreeElement.js: |
| (WebInspector.FrameTreeElement): |
| * UserInterface/ResourceTreeElement.js: |
| (WebInspector.ResourceTreeElement): |
| * UserInterface/StorageTreeElement.js: |
| (WebInspector.StorageTreeElement): |
| |
| 2011-12-24 Timothy Hatcher <timothy@apple.com> |
| |
| Add icons for local and session storage. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DOMStorageIcons.css: Added. |
| (.local-storage-icon .icon): |
| (.session-storage-icon .icon): |
| * UserInterface/DOMStorageTreeElement.js: |
| (WebInspector.DOMStorageTreeElement): Add class names based on if it is local storage or not. |
| (WebInspector.DOMStorageTreeElement.prototype.get categoryName): Remove blank line. |
| * UserInterface/Images/LocalStorage.png: Added. |
| * UserInterface/Images/LocalStorage@2x.png: Added. |
| * UserInterface/Images/SessionStorage.png: Added. |
| * UserInterface/Images/SessionStorage@2x.png: Added. |
| * UserInterface/Main.html: Included DOMStorageIcons.css. |
| |
| 2011-12-24 Timothy Hatcher <timothy@apple.com> |
| |
| Add icons for databases and database tables. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DatabaseHostTreeElement.css: Removed. Duplicates FolderIcon.css. |
| * UserInterface/DatabaseHostTreeElement.js: |
| (WebInspector.DatabaseHostTreeElement): Pass FolderIconStyleClassName. |
| * UserInterface/DatabaseIcon.css: Added. |
| (.database-icon .icon): |
| * UserInterface/DatabaseTableIcon.css: Added. |
| (.database-table-icon .icon): |
| * UserInterface/DatabaseTableTreeElement.js: |
| (WebInspector.DatabaseTableTreeElement): Pass class names to WebInspector.GeneralTreeElement. |
| * UserInterface/DatabaseTreeElement.js: |
| (WebInspector.DatabaseTreeElement): Don't inherit from FolderTreeElement. Pass class names |
| to WebInspector.GeneralTreeElement. |
| * UserInterface/Images/Database.png: Added. |
| * UserInterface/Images/Database@2x.png: Added. |
| * UserInterface/Images/DatabaseTable.png: Added. |
| * UserInterface/Images/DatabaseTable@2x.png: Added. |
| * UserInterface/Main.html: Included new files and removed DatabaseHostTreeElement.css. |
| * UserInterface/StorageTreeElement.js: |
| (WebInspector.StorageTreeElement): Remove a FIXME. |
| |
| 2011-12-24 Timothy Hatcher <timothy@apple.com> |
| |
| Add images for the Cookie icon. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/CookieIcon.css: Added. |
| (.cookie-icon .icon): |
| * UserInterface/CookieStorageTreeElement.js: |
| (WebInspector.CookieStorageTreeElement): |
| * UserInterface/Images/Cookie.png: Added. |
| * UserInterface/Images/Cookie@2x.png: Added. |
| * UserInterface/Main.html: Included CookieIcon.css. |
| |
| 2011-12-22 Timothy Hatcher <timothy@apple.com> |
| |
| Fix a couple of indentation problems in the Web Inspector. |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/CookieStorageObject.js: Indent before constructor. |
| * UserInterface/DatabaseHostTreeElement.js: Ditto. |
| |
| 2011-12-22 Timothy Hatcher <timothy@apple.com> |
| |
| Break out WebInspector.NavigationItem and its subclasses from NavigationBar.js and NavigationBar.css into separate files. |
| |
| Rubber-stamped by John Sullivan. |
| |
| * UserInterface/ButtonNavigationItem.css: Added. |
| * UserInterface/ButtonNavigationItem.js: Added. |
| * UserInterface/FlexibleSpaceNavigationItem.css: Added. |
| * UserInterface/FlexibleSpaceNavigationItem.js: Added. |
| * UserInterface/Main.html: Included new files. |
| * UserInterface/NavigationBar.css: Moved "item" subclasses to seperate files. |
| * UserInterface/NavigationBar.js: Moved NavigationItem and its subclasses to seperate files. |
| * UserInterface/NavigationItem.js: Added. |
| * UserInterface/RadioButtonNavigationItem.css: Added. |
| * UserInterface/RadioButtonNavigationItem.js: Added. |
| |
| 2011-12-22 Timothy Hatcher <timothy@apple.com> |
| |
| Dynamically register the "mousemove" and "mouseup" event listeners in WebInspector.NavigationBar |
| so they are not allways listening. |
| |
| Reviewed by Darin Adler. |
| |
| * UserInterface/NavigationBar.js: |
| (WebInspector.NavigationBar): Remove the static "mousemove" and "mouseup" event listeners. |
| (WebInspector.NavigationBar.prototype._mouseDown): Install the "mousemove" and "mouseup" event listeners |
| when a WebInspector.RadioButtonNavigationItem is hit. |
| (WebInspector.NavigationBar.prototype._mouseMoved): Assert the mouse is down now that we register dynamically. |
| (WebInspector.NavigationBar.prototype._mouseUp): Ditto. Remove the "mousemove" and "mouseup" event listeners. |
| |
| 2011-12-22 Timothy Hatcher <timothy@apple.com> |
| |
| Change WebInspector.NavigationBar.NavigationItemSelectedEventName to WebInspector.NavigationBar.Event.NavigationItemSelected. |
| |
| This beings WebInspector.NavigationBar in-line with all the other classes in how the event names are defined. |
| |
| Reviewed by Darin Adler. |
| |
| * UserInterface/NavigationBar.js: |
| (WebInspector.NavigationBar.prototype.set selectedNavigationItem): Use WebInspector.NavigationBar.Event.NavigationItemSelected. |
| (WebInspector.NavigationBar.prototype._mouseUp): Ditto. |
| * UserInterface/Sidebar.js: |
| (WebInspector.Sidebar): Use WebInspector.NavigationBar.Event.NavigationItemSelected. |
| |
| 2011-12-22 Timothy Hatcher <timothy@apple.com> |
| |
| Properly define the SidebarPanelSelected event in WebInspector.Sidebar. |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/Sidebar.js: |
| (WebInspector.Sidebar.Event): Added. |
| (WebInspector.Sidebar.Event.SidebarPanelSelected): Added. |
| (WebInspector.Sidebar.prototype.set selectedSidebarPanel): Use WebInspector.Sidebar.Event.SidebarPanelSelected |
| instead of the never defined WebInspector.Sidebar.SidebarPanelSelectedEventName. |
| |
| 2011-12-22 Timothy Hatcher <timothy@apple.com> |
| |
| Break out the SidebarPanel class into a separate file and make it correctly inherit from WebInspector.Object. |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/Main.html: Included SidebarPanel.js. |
| * UserInterface/Sidebar.js: Moved WebInspector.SidebarPanel and WebInspector.SidebarPanel.prototype from here... |
| * UserInterface/SidebarPanel.js: Added. ...to here. Also fixed the prototype chain to make SidebarPanel inherit |
| from WebInspector.Object like it should have been. |
| |
| 2011-12-22 Timothy Hatcher <timothy@apple.com> |
| |
| Fix an incorrect use of typeof in the Web Inspector by using instanceof instead. |
| |
| Reviewed by Adam Roben. |
| |
| * UserInterface/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.matchTextFilter): Use instanceof |
| instead of typeof to check if the input is an array. |
| |
| 2011-12-22 Timothy Hatcher <timothy@apple.com> |
| |
| Make the CSS used for folder and resource icons generic so it can be used by the quick navigation bar. |
| |
| Reviewed by Darin Adler. |
| |
| * UserInterface/FolderIcon.css: Renamed from Safari/Develop/WebInspector/FolderTreeElement.css. |
| Replaced "folder-tree-element" with "folder-icon". |
| * UserInterface/FolderTreeElement.js: |
| (WebInspector.FolderTreeElement): Add the "folder-icon" class. |
| * UserInterface/Main.html: |
| * UserInterface/ResourceIcons.css: Renamed from Safari/Develop/WebInspector/ResourceTreeElement.css. |
| Replaced "resource-tree-element" with "resource-icon". |
| * UserInterface/ResourceTreeElement.js: |
| (WebInspector.ResourceTreeElement): Add the "resource-icon" class. |
| |
| 2011-12-22 Timothy Hatcher <timothy@apple.com> |
| |
| Make identifier optional in the base class of WebInspector.NavigationItem but required for WebInspector.ButtonNavigationItem. |
| |
| Reviewed by Darin Adler. |
| |
| * UserInterface/NavigationBar.js: |
| (WebInspector.NavigationItem): Remove assert for identifier and added "|| null" to the assignment. |
| (WebInspector.NavigationItem.prototype.get _classNames): Null check identifier and add it separately. |
| (WebInspector.ButtonNavigationItem): Added assert for identifier. |
| (WebInspector.ButtonNavigationItem.prototype.generateStyleText): Don't pass the identifier to _canvasIdentifier. |
| (WebInspector.ButtonNavigationItem.StyleClassName._canvasIdentifier): Don't take the identifier as an argument, use this.identifier. |
| (WebInspector.ButtonNavigationItem.prototype._generateImages._createEmbossedCanvasImage): Don't pass the identifier to _canvasIdentifier. |
| (WebInspector.RadioButtonNavigationItem.prototype.generateStyleText): Ditto. |
| |
| 2011-12-20 Timothy Hatcher <timothy@apple.com> |
| |
| Show a content view for XHR resources in the new Web Inspector. |
| |
| Reviewed by Adam Roben. |
| |
| * UserInterface/ResourceContentView.js: |
| (WebInspector.ResourceContentView): Add a case for WebInspector.Resource.Type.XHR. |
| |
| 2011-12-19 Brian Weinstein <bweinstein@apple.com> |
| |
| More of <rdar://problem/10318744> Implement the Storage sidebar for the new Web Inspector design. |
| |
| When inserting items into the Storage sidebar, insert them in alphabetical order by main title so |
| it is easier for the user to navigate. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/StorageSidebarPanel.js: |
| (WebInspector.StorageSidebarPanel.prototype._compareTreeElementsByMainTitle): |
| (WebInspector.StorageSidebarPanel.prototype._addChild): |
| |
| 2011-12-18 Timothy Hatcher <timothy@apple.com> |
| |
| Only fire the WebInspector.SyntaxHighlighter.Event.HighlightsDidChange event for whole lines. |
| |
| Firing the event for partial lines causes too much DOM churn on large, single-line files. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/SyntaxHighlighter.js: |
| (WebInspector.SyntaxHighlighter.prototype._highlightNextChunk): Update actualStopLine after the |
| current line has completely finished. Don't fire the event if actualStopLine is still null. |
| |
| 2011-12-18 Timothy Hatcher <timothy@apple.com> |
| |
| Start and stop syntax highlighting when a TextEditor is shown and hidden. This reduces the chance |
| of multiple TextEditors highlighting at the same time. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.shown): Added. Call startHighlighting and updateLayout. |
| (WebInspector.TextEditor.prototype.hidden): Added. Call stopHighlighting. |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView.prototype.shown): Call TextEditor.shown instead of updateLayout. |
| (WebInspector.TextResourceContentView.prototype.hidden): Added. Call TextEditor.hidden. |
| |
| 2011-12-18 Timothy Hatcher <timothy@apple.com> |
| |
| Use a synthetic MIME-type to select the syntax highlighter's tokenizer. Resources are often |
| transferred with a MIME-type that doesn't match the purpose the resource was loaded for. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Resource.js: |
| (WebInspector.Resource.prototype.get syntheticMIMEType): Added. |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView.prototype.contentAvailable): Use syntheticMIMEType. |
| |
| 2011-12-18 Timothy Hatcher <timothy@apple.com> |
| |
| Intercept link clicks in the Web Inspector and try to show the appropriate resource, |
| otherwise fallback to opening the URL in a new tab/window. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Frame.js: |
| (WebInspector.Frame.prototype.resourceForURL): Added argument to recursively search child frames. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Add click event listener. |
| (WebInspector.openURL): Added. |
| (WebInspector._mouseWasClicked): Added. Catch unhandled link clicks, cancel them and log and error. |
| * UserInterface/ResourceContentView.js: |
| (WebInspector.ResourceContentView): Added click event listener. |
| (WebInspector.ResourceContentView.prototype._mouseWasClicked): Added. Call WebInspector.openURL. |
| * UserInterface/Utilities.js: |
| (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray): Copied from WebCore/inspector/front-end/utilities.js. |
| (Node.prototype.enclosingNodeOrSelfWithNodeName): Copied from WebCore/inspector/front-end/utilities.js. |
| |
| 2011-12-18 Timothy Hatcher <timothy@apple.com> |
| |
| Make links in TextEditor be only absolute URLs. Otherwise relative URLs are resolved |
| against the Web Inspector as a base URL. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor): Set _delegate to null. |
| (WebInspector.TextEditor.prototype.get delegate): Added. |
| (WebInspector.TextEditor.prototype.set delegate): Added. |
| (WebInspector.TextEditor.prototype._reset): Pass this when making a TextEditorTextChunk. |
| (WebInspector.TextEditor.prototype._breakTextChunkAtIndexIntoSingleLineTextChunks): Ditto. |
| (WebInspector.TextEditor.prototype._consolidateSingleLineTextChunks): Ditto. |
| (WebInspector.TextEditorTextChunk): Added textEditor argument. |
| (WebInspector.TextEditorTextChunk.prototype.updateContent.createTokenElement): Ask the TextEditor |
| delegate for the baseURL and use absoluteURL when assigning the href for links. |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView): Set the TextEditor delegate to this. |
| (WebInspector.TextResourceContentView.prototype.textEditorBaseURL): Added. Returns the resource's URL. |
| * UserInterface/Utilities.js: |
| (parseURL): Trim whitespace from the URL. |
| (absoluteURL): Added. |
| |
| 2011-12-18 Timothy Hatcher <timothy@apple.com> |
| |
| Workaround a weird and random JavaScript bug that causes the wrong 'this' object when filtering |
| the resource sidebar quickly. |
| |
| The bug is tracked by: https://webkit.org/b/74811 |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/TreeOutline.js: |
| (TreeElement.prototype.traverseNextTreeElement): Use call to always get the right 'this' object. |
| |
| 2011-12-18 Timothy Hatcher <timothy@apple.com> |
| |
| Reduce the number of updates when setting the string of a WebInspector.TextEditor. |
| |
| Invalidating the syntax highlighter causes HighlightsDidChange events to fire and update the text |
| chunks. We can ignore those events because _reset will completely rebuild the text chunks anyway. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype.set textContent): Set _ignoreHighlightChanges to true. |
| (WebInspector.TextEditor.prototype.set string): Ditto. |
| (WebInspector.TextEditor.prototype._reset): Reset _ignoreHighlightChanges back to false. |
| (WebInspector.TextEditor.prototype._highlightsChanged): Return early if _ignoreHighlightChanges is true. |
| |
| 2011-12-18 Timothy Hatcher <timothy@apple.com> |
| |
| Improve a workaround and get the clientHeight of the correct element in WebInspector.TextEditor. |
| |
| The bug this is working around is tracked by: https://webkit.org/b/74812 |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/TextEditor.css: |
| (.text-editor > .content-container): Set height to 100%. It isn't clear why we should need to set |
| the height here, but without this the element collapses sometimes when it should have a height. |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor.prototype._consolidateSingleLineTextChunks): Get clientHeight from _contentContainerElement. |
| (WebInspector.TextEditor.prototype._firstVisibleTextChunkIndex): Ditto. |
| |
| 2011-12-17 Timothy Hatcher <timothy@apple.com> |
| |
| Don't show visited links in the Web Inspector. |
| |
| Removed the :link pseudo class so visited links are styled the same. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/TextEditorDefaultTheme.css: |
| (.text-editor a): |
| (.text-editor a:hover): |
| |
| 2011-12-17 Timothy Hatcher <timothy@apple.com> |
| |
| Allow clicking the selected resource again to show the content view if another content view |
| has been shown since the resource was last selected. This matches Xcode. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel): |
| * UserInterface/TreeOutline.js: |
| (TreeOutline): Set allowsRepeatSelection to false. |
| (TreeElement.prototype.select): Refactored so that when allowsRepeatSelection is true the |
| onselect functions are called still. |
| |
| 2011-12-17 Timothy Hatcher <timothy@apple.com> |
| |
| Don't attempt to create a tokenizer for "text/plain" resources. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/SourceTokenizer.js: |
| (WebInspector.SourceTokenizer): Return null for a MIME-type of "text/plain". |
| |
| 2011-12-17 Timothy Hatcher <timothy@apple.com> |
| |
| Collapse the details sidebar by default. It is empty right now, so there is no reason |
| to show it until we have some sidebar panels to show. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Set this.detailsSidebar.collapsed to true. |
| |
| 2011-12-16 Timothy Hatcher <timothy@apple.com> |
| |
| Set the Web Inspector window title and update it when the main frame navigates. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Added event listeners for changes on the main frame. |
| (WebInspector.updateWindowTitle): Added. Build a title based on the URL components. |
| (WebInspector._mainFrameDidChange): Added. Call updateWindowTitle. |
| (WebInspector._mainResourceDidChange): Added. Call updateWindowTitle if this is the main frame. |
| |
| 2011-12-16 Timothy Hatcher <timothy@apple.com> |
| |
| Force tabs to be 4 spaces wide in the new Web Inspector instead of the default 8 spaces wide. |
| |
| This is done via the syntax highlighter, which tokenizes the tabs to be styled as inline-blocks |
| with a width equal to 4 spaces each. |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/SyntaxHighlighter.js: |
| (WebInspector.SyntaxHighlighter.CharacterTokens): Added \t. |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditorTextChunk.prototype.updateContent.createTokenElement): Handle the "tab" |
| token type by creating a span per tab. |
| * UserInterface/TextEditorDefaultTheme.css: |
| (.text-editor .tab): Added. Inline-block with a width equal to 4 spaces. |
| |
| 2011-12-16 Timothy Hatcher <timothy@apple.com> |
| |
| Implement WebInspector.TextResourceContentView. |
| |
| Create a TextEditor that fills the view and displays the text content of the resource. |
| |
| Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/Main.html: Include TextResourceContentView.css. |
| * UserInterface/TextResourceContentView.css: Added. |
| (.content-view.resource.text > .text-editor): |
| * UserInterface/TextResourceContentView.js: |
| (WebInspector.TextResourceContentView): Create a TextEditor. |
| (WebInspector.TextResourceContentView.prototype.get textEditor): Added. |
| (WebInspector.TextResourceContentView.prototype.contentAvailable): Added. Populate the TextEditor |
| with content and set the MIME-type. |
| |
| 2011-12-16 Timothy Hatcher <timothy@apple.com> |
| |
| Add the line number gutter to WebInspector.TextEditor. |
| |
| Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/TextEditor.css: |
| (.text-editor > .gutter): Added. |
| (.text-editor > .gutter > .line-number): Added. |
| (.text-editor > .gutter > .line-number.maximum): Added. |
| (.text-editor > .gutter > .line-number.hidden): Added. |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor): Create the _gutterElement. |
| (WebInspector.TextEditor.prototype._reset): Call _updateLineNumbers. |
| (WebInspector.TextEditor.prototype._scrollPositionChanged): Ditto. |
| (WebInspector.TextEditor.prototype._updateLineNumbers): Added. |
| |
| 2011-12-16 Timothy Hatcher <timothy@apple.com> |
| |
| Syntax highlight the content of WebInspector.TextEditor. |
| |
| Only single line text chunks are rendered with syntax highlighting, which are the the text chunks |
| that are near the visible scroll range of the text editor. |
| |
| Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/SyntaxHighlighter.js: |
| (WebInspector.SyntaxHighlighter.prototype.invalidate): Dispatch the HighlightsDidChange event. |
| (WebInspector.SyntaxHighlighter.prototype._highlightNextChunk): Ditto. |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor): Create a WebInspector.SyntaxHighlighter and listen for the HighlightsDidChange event. |
| (WebInspector.TextEditor.prototype.set textContent): Set the SyntaxHighlighter textContent. |
| (WebInspector.TextEditor.prototype.set string): Invalidate the SyntaxHighlighter. |
| (WebInspector.TextEditor.prototype.get mimeType): Added. |
| (WebInspector.TextEditor.prototype.set mimeType): Added. |
| (WebInspector.TextEditor.prototype._reset): Stop highlighting and start again. |
| (WebInspector.TextEditor.prototype._scrollPositionChanged): Do a sync highlight. |
| (WebInspector.TextEditor.prototype._scrollingDidStop): Start highlighting. |
| (WebInspector.TextEditor.prototype._highlightsChanged): Update single line text chunks. |
| (WebInspector.TextEditor.prototype._textChunkIndexForLine): Added. |
| (WebInspector.TextEditor.prototype._textChunkForLine): Added. |
| (WebInspector.TextEditorTextChunk.prototype.updateContent.createTokenElement): Added. |
| (WebInspector.TextEditorTextChunk.prototype.updateContent.appendText): Added. |
| (WebInspector.TextEditorTextChunk.prototype.updateContent): Enumerate the syntax highlighting tokens when there is only one line. |
| * UserInterface/TextEditorDefaultTheme.css: Added. |
| (.text-editor > .content-container): |
| (.text-editor .css-comment): |
| (.text-editor .css-keyword): |
| (.text-editor .css-number): |
| (.text-editor .css-at-rule): |
| (.text-editor .css-selector): |
| (.text-editor .css-important): |
| (.text-editor .javascript-comment): |
| (.text-editor .javascript-keyword): |
| (.text-editor .javascript-number): |
| (.text-editor .javascript-regexp): |
| (.text-editor .javascript-ident): |
| (.text-editor .html-comment): |
| (.text-editor .html-tag): |
| (.text-editor .html-doctype): |
| (.text-editor .html-attribute-name): |
| (.text-editor .html-attribute-value): |
| (.text-editor a:link): |
| (.text-editor a:link:hover): |
| |
| 2011-12-16 Timothy Hatcher <timothy@apple.com> |
| |
| Break up text chunks into single lines when they are visible, and consolidate them again |
| when they are not visible after scrolling. |
| |
| Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/TextEditor.js: |
| (WebInspector.TextEditor): Add scroll event listener. |
| (WebInspector.TextEditor.prototype._reset): Call _breakVisibleTextChunksIntoSingleLineTextChunks. |
| (WebInspector.TextEditor.prototype._scrollPositionChanged): Added. Schedule timeout for _scrollingDidStop. |
| Call _breakVisibleTextChunksIntoSingleLineTextChunks. |
| (WebInspector.TextEditor.prototype._scrollingDidStop): Added. Call _consolidateHiddenSingleLineTextChunksIfNeeded. |
| (WebInspector.TextEditor.prototype._breakTextChunkAtIndexIntoSingleLineTextChunks): Added. |
| (WebInspector.TextEditor.prototype._breakVisibleTextChunksIntoSingleLineTextChunks): Added. |
| (WebInspector.TextEditor.prototype._consolidateHiddenSingleLineTextChunksIfNeeded): Added. |
| (WebInspector.TextEditor.prototype._consolidateHiddenSingleLineTextChunks): Added. |
| (WebInspector.TextEditor.prototype._consolidateSingleLineTextChunks): Added. |
| (WebInspector.TextEditor.prototype._firstVisibleTextChunkIndex.compareTopOffsets): Added. |
| (WebInspector.TextEditor.prototype._firstVisibleTextChunkIndex): Added. |
| (WebInspector.TextEditor.prototype._rangeOfVisibleTextChunks): Added. |
| (WebInspector.TextEditor.prototype._lastLineNumberOfLastVisibleTextChunk): Added. |
| |
| 2011-12-16 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.TextEditor which is the view for WebInspector.TextContent. |
| |
| Right now it only shows plain-text. In the end it will support syntax highlighting and editing. |
| |
| Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/TextEditor.css: Added. |
| (.text-editor): |
| (.text-editor > .content-container): |
| (.text-editor > .content-container > .content): |
| * UserInterface/TextEditor.js: Added. |
| (WebInspector.TextEditor): |
| (WebInspector.TextEditor.prototype.get element): |
| (WebInspector.TextEditor.prototype.get textContent): |
| (WebInspector.TextEditor.prototype.set textContent): |
| (WebInspector.TextEditor.prototype.get string): |
| (WebInspector.TextEditor.prototype.set string): |
| (WebInspector.TextEditor.prototype._reset): |
| (WebInspector.TextEditorTextChunk): |
| (WebInspector.TextEditorTextChunk.prototype.constructor.WebInspector.TextEditorChunk.get element): |
| (WebInspector.TextEditorTextChunk.prototype.get firstLineNumber): |
| (WebInspector.TextEditorTextChunk.prototype.get lastLineNumber): |
| (WebInspector.TextEditorTextChunk.prototype.get numberOfLines): |
| (WebInspector.TextEditorTextChunk.prototype.get offsetTop): |
| (WebInspector.TextEditorTextChunk.prototype.updateContent): |
| |
| 2011-12-16 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.SyntaxHighlighter which uses SourceTokenizer, TextContent and AttributedString. |
| |
| Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/SyntaxHighlighter.js: Added. |
| (WebInspector.SyntaxHighlighter): |
| (WebInspector.SyntaxHighlighter.prototype.get textContent): |
| (WebInspector.SyntaxHighlighter.prototype.set textContent): |
| (WebInspector.SyntaxHighlighter.prototype.get mimeType): |
| (WebInspector.SyntaxHighlighter.prototype.set mimeType): |
| (WebInspector.SyntaxHighlighter.prototype.invalidate): |
| (WebInspector.SyntaxHighlighter.prototype.isHighlighting): |
| (WebInspector.SyntaxHighlighter.prototype.synchronousHighlight): |
| (WebInspector.SyntaxHighlighter.prototype.startHighlighting): |
| (WebInspector.SyntaxHighlighter.prototype.stopHighlighting): |
| (WebInspector.SyntaxHighlighter.prototype._highlightNextChunk): |
| (WebInspector.SyntaxHighlighter.prototype._highlightNextChunk.copyState): |
| |
| 2011-12-16 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.TextContent which will be used for multi-line text, like resources. |
| |
| Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/TextContent.js: Added. |
| (WebInspector.TextContent): |
| (WebInspector.TextContent.prototype.toString): |
| (WebInspector.TextContent.prototype.get string): |
| (WebInspector.TextContent.prototype.set string.createAttributedString): |
| (WebInspector.TextContent.prototype.set string): |
| (WebInspector.TextContent.prototype.get length): |
| (WebInspector.TextContent.prototype.get lineBreakString): |
| (WebInspector.TextContent.prototype.set lineBreakString): |
| (WebInspector.TextContent.prototype.get lines): |
| (WebInspector.TextContent.prototype.get numberOfLines): |
| (WebInspector.TextContent.prototype.line): |
| (WebInspector.TextContent.prototype.attributesForLine): |
| (WebInspector.TextContent.prototype.attributeForLine): |
| (WebInspector.TextContent.prototype.setAttributeForLine): |
| (WebInspector.TextContent.prototype.removeAttributeFromLine): |
| (WebInspector.TextContent.prototype.removeAttributesFromLine): |
| |
| 2011-12-16 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.AttributedString which will be used for syntax highlighted text. |
| |
| Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/AttributedString.js: Added. |
| (WebInspector.AttributedString): |
| (WebInspector.AttributedString.prototype.toString): |
| (WebInspector.AttributedString.prototype.get string): |
| (WebInspector.AttributedString.prototype.enumerateAttributes): |
| (WebInspector.AttributedString.prototype.enumerateAttribute): |
| (WebInspector.AttributedString.prototype.attributesAtOffset): |
| (WebInspector.AttributedString.prototype.attributeAtOffset): |
| (WebInspector.AttributedString.prototype.setAttribute): |
| (WebInspector.AttributedString.prototype.removeAttribute.processAttributes): |
| (WebInspector.AttributedString.prototype.removeAttribute): |
| (WebInspector.AttributedString.prototype.removeAttributes): |
| * UserInterface/Utilities.js: |
| (Object.shallowCopy): Added. Helper for making a new object with the same top-level properties. |
| (Object.shallowEqual): Added. Helper for checking if two objects have the same top-level properties. |
| |
| 2011-12-16 Timothy Hatcher <timothy@apple.com> |
| |
| Add tokenizers and support files needed for syntax highlighting. |
| |
| Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design |
| |
| Rubber-stamped by Joseph Pecoraro. |
| |
| * UserInterface/CSSCompletions.js: Copied from WebCore/inspector/front-end/CSSCompletions.js. |
| * UserInterface/CSSKeywordCompletions.js: Copied from WebCore/inspector/front-end/CSSCompletions.js. |
| * UserInterface/CSSSourceTokenizer.js: Copied from WebCore/inspector/front-end/SourceCSSTokenizer.js. |
| * UserInterface/HTMLSourceTokenizer.js: Copied from WebCore/inspector/front-end/SourceHTMLTokenizer.js. |
| * UserInterface/JavaScriptSourceTokenizer.js: Copied from WebCore/inspector/front-end/SourceJavaScriptTokenizer.js. |
| * UserInterface/Utilities.js: |
| (Array.keySet): Added. |
| |
| 2011-12-16 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.SourceTokenizer abstract base class. |
| |
| This is the base class for HTMLSourceTokenizer, JavaScriptSourceTokenizer and CSSSourceTokenizer. |
| |
| Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design |
| |
| Reviewed by Jessie Berlin. |
| |
| * UserInterface/SourceTokenizer.js: Added. |
| (WebInspector.SourceTokenizer): |
| (WebInspector.SourceTokenizer.prototype.initialize): |
| (WebInspector.SourceTokenizer.prototype.set line): |
| (WebInspector.SourceTokenizer.prototype.get condition): |
| (WebInspector.SourceTokenizer.prototype.set condition): |
| (WebInspector.SourceTokenizer.prototype.createInitialCondition): |
| (WebInspector.SourceTokenizer.prototype.nextToken): |
| (WebInspector.SourceTokenizer.prototype._charAt): |
| |
| 2011-12-16 Timothy Hatcher <timothy@apple.com> |
| |
| Remove the cached ContentView from the represented object when the ContentView is closed. |
| |
| This allows the ContentView to be garbage collected if the represented object stays around. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ContentView.js: |
| (WebInspector.ContentView): Set _representedObject. |
| (WebInspector.ContentView.prototype.get representedObject): Added. |
| * UserInterface/ContentViewContainer.js: |
| (WebInspector.ContentViewContainer.prototype.contentViewForRepresentedObject): |
| (WebInspector.ContentViewContainer.prototype.showContentView): Use _disassociateFromContentView |
| (WebInspector.ContentViewContainer.prototype.replaceContentView): Ditto. |
| (WebInspector.ContentViewContainer.prototype.closeAllContentViewsOfPrototype): Ditto. |
| (WebInspector.ContentViewContainer.prototype.closeAllContentViews): Ditto. |
| (WebInspector.ContentViewContainer.prototype._disassociateFromContentView): Added. |
| * UserInterface/ResourceContentView.js: |
| (WebInspector.ResourceContentView): Pass resource to ContentView as the representedObject. |
| |
| 2011-12-16 Timothy Hatcher <timothy@apple.com> |
| |
| Don't support creating a WebInspector.ResourceContentView from a WebInspector.Frame. |
| |
| Since the main frame stays the same between navigations and ContentViewContainer caches |
| the ContentView on the Frame, the ContentView is not being recreated for the new page. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ContentView.js: |
| (WebInspector.ContentView): Remove the check for WebInspector.Frame as a representedObject. |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange): Select the |
| main resource of the main frame. |
| (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected): Pass the resource. |
| |
| 2011-12-16 Timothy Hatcher <timothy@apple.com> |
| |
| Mark the main resource of frames as finished when the resource tree is pulled the first time. |
| Also delay marking resources as finished until they have a parent frame. |
| |
| This is needed to show content for a selected frame, otherwise the content view is blank. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype._createFrame): Call markAsFinished on the mainResource. |
| (WebInspector.FrameResourceManager.prototype._createResource): Move the call to markAsFinished from here... |
| (WebInspector.FrameResourceManager.prototype._addFrameTreeFromFrameResourceTreePayload): ...to here. |
| |
| 2011-12-15 Brian Weinstein <bweinstein@apple.com> |
| |
| More of <rdar://problem/10318744> Implement the Storage sidebar for the new Web Inspector design. |
| |
| Add Database tables to the storage sidebar panel. When a database needs to be populated, we ask |
| for the database's table names asynchronously. In the callback we create DatabaseTableObjects |
| and DatabaseTableTreeElements for all of the table names that the database has, and add the |
| the DatabaseTableTreeElements as children of the DatabaseTreeElement. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/DatabaseObject.js: |
| (WebInspector.DatabaseObject.prototype.getTableNames): Calls into WebCore to get the database's table names, |
| and sorts them. |
| * UserInterface/DatabaseTableObject.js: Added. |
| (WebInspector.DatabaseTableObject): |
| (WebInspector.DatabaseTableObject.prototype.constructor.WebInspector.DatabaseTableObject.get name): Returns the name. |
| (WebInspector.DatabaseTableObject.prototype.get database): Returns the databaseObject. |
| * UserInterface/DatabaseTableTreeElement.js: Added. |
| (WebInspector.DatabaseTableTreeElement): |
| * UserInterface/DatabaseTreeElement.js: |
| (WebInspector.DatabaseTreeElement.prototype.constructor.WebInspector.DatabaseTreeElement.oncollapse): Set a flag so that we |
| repopulate the children when the tree element is re-expanded. |
| (WebInspector.DatabaseTreeElement.prototype.onpopulate.tableNamesCallback): Create DatabaseTableObjects and DatabaseTableTreeElements |
| for each of the table names. |
| (WebInspector.DatabaseTreeElement.prototype.onpopulate): Ask the DatabaseObject for its list of table names. |
| * UserInterface/Main.html: Add new files. |
| |
| 2011-12-14 Brian Weinstein <bweinstein@apple.com> |
| |
| Some cleanup after r39488. |
| |
| Don't use FolderTreeElement's style in DatabaseHostTreeElement (because DatabaseHostTreeElement isn't a FolderTreeElement). |
| |
| Instead, create a new css file and configure DatabaseHostTreeElement to show a folder. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/DatabaseHostTreeElement.css: Added. |
| (.database-host-tree-element .icon): |
| * UserInterface/DatabaseHostTreeElement.js: |
| (WebInspector.DatabaseHostTreeElement): |
| * UserInterface/Main.html: |
| |
| 2011-12-13 Brian Weinstein <bweinstein@apple.com> |
| |
| More of <rdar://problem/10318744> Implement the Storage sidebar for the new Web Inspector design. |
| |
| Add Databases to the storage sidebar panel. This patch adds two new classes of tree elements - a DatabaseHostTreeElement, |
| which represents a host that has at least one database, and a DatabaseTreeElement, which eventually will have tables. |
| |
| We use the same collapsing logic for databases that we use for cookies and DOM Storage. With one domain, |
| it will say: |
| |
| Database - Domain |
| Name 1 |
| Name 2 |
| |
| With multiple domains, it will say: |
| |
| Databases |
| Domain 1 |
| Name 1 |
| Name 2 |
| Domain 2 |
| Name 3 |
| Name 4 |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/DatabaseObject.js: Added. |
| (WebInspector.DatabaseObject): |
| (WebInspector.DatabaseObject.prototype.constructor.WebInspector.DatabaseObject.get id): Returns the id. |
| (WebInspector.DatabaseObject.prototype.get host): Returns the host. |
| (WebInspector.DatabaseObject.prototype.get name): Returns the name. |
| (WebInspector.DatabaseObject.prototype.get version): Returns the version. |
| * UserInterface/DatabaseObserver.js: |
| (WebInspector.DatabaseObserver.prototype.constructor.WebInspector.DatabaseObserver.addDatabase): Tell the StorageManager |
| a database was added. |
| * UserInterface/DatabaseTreeElement.js: Added. |
| (WebInspector.DatabaseTreeElement): |
| (WebInspector.DatabaseTreeElement.prototype.constructor.WebInspector.DatabaseTreeElement.get name): Initialize the FolderTreeElement. |
| * UserInterface/DatabaseHostTreeElement.js: Added. |
| * UserInterface/Main.html: |
| * UserInterface/StorageManager.js: |
| (WebInspector.StorageManager): |
| (WebInspector.StorageManager.prototype.constructor.WebInspector.StorageManager.initialize): Initialize a list of databases. |
| (WebInspector.StorageManager.prototype.databaseWasAdded): Create a DatabaseObject and tell the StorageSidebarPanel we added |
| a database. |
| * UserInterface/StorageSidebarPanel.js: |
| (WebInspector.StorageSidebarPanel): |
| (WebInspector.StorageSidebarPanel.prototype._databaseWasAdded): Create a DatabaseTreeElement and add it to the sidebar. |
| (WebInspector.StorageSidebarPanel.prototype._storageCleared): Clear the root database tree element. |
| |
| 2011-12-09 Brian Weinstein <bweinstein@apple.com> |
| |
| More of <rdar://problem/10318744> Implement the Storage sidebar for the new Web Inspector design. |
| |
| Add Cookies to the Storage sidebar panel. Add a listener for when a cookie storage object is added, |
| and add it to the sidebar. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/StorageSidebarPanel.js: |
| (WebInspector.StorageSidebarPanel): |
| (WebInspector.StorageSidebarPanel.prototype.constructor.WebInspector.StorageSidebarPanel._domStorageObjectWasAdded): Remove some dead code. |
| (WebInspector.StorageSidebarPanel.prototype._cookieStorageObjectWasAdded): Add a child to the storage sidebar. |
| (WebInspector.StorageSidebarPanel.prototype._addChild): Change the class that we are expecting to a StorageTreeElement, because it can be |
| either a DOMStorageTreeElement or a CookieStorageTreeElement, but both are StorageTreeElements. |
| (WebInspector.StorageSidebarPanel.prototype._storageCleared): |
| |
| 2011-12-09 Brian Weinstein <bweinstein@apple.com> |
| |
| More of <rdar://problem/10318744> Implement the Storage sidebar for the new Web Inspector design. |
| |
| Add CookieStorageTreeElement, and refactor DOMStorageTreeElement into StorageTreeElement so the code to handle |
| flattening of the folders can be shared between CookieStorageTreeElement, DOMStorageTreeElement, and the others |
| that we will add in the future. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/CookieStorageTreeElement.js: Added. |
| (WebInspector.CookieStorageTreeElement): Call |
| (WebInspector.CookieStorageTreeElement.prototype.constructor.WebInspector.CookieStorageTreeElement.name): Return the host of the CookieStorageObject. |
| (WebInspector.CookieStorageTreeElement.prototype.category): Return "Cookies". |
| * UserInterface/DOMStorageTreeElement.js: |
| (WebInspector.DOMStorageTreeElement): |
| (WebInspector.DOMStorageTreeElement.prototype.constructor.WebInspector.DOMStorageTreeElement.name): Return the host of the DOMStorageObject. |
| (WebInspector.DOMStorageTreeElement.prototype.category): Return "Local Storage" or "Session Storage". |
| * UserInterface/Main.html: Add new files. |
| (WebInspector.StorageTreeElement): |
| (WebInspector.StorageTreeElement.prototype.constructor.WebInspector.StorageTreeElement.get flattened): Moved from DOMStorageTreeElement |
| and refactored to be more general. |
| (WebInspector.StorageTreeElement.prototype.set flattened): Ditto. |
| |
| 2011-12-09 Brian Weinstein <bweinstein@apple.com> |
| |
| More of <rdar://problem/10318744> Implement the Storage sidebar for the new Web Inspector design. |
| |
| Listen for when the main resource of any frame navigates, and add a cookie storage object for every |
| frame with a unique host. Any of these frames could have cookies, and we want to show them all. |
| |
| Reviewed by Tim Hatcher. |
| |
| * UserInterface/CookieStorageObject.js: Added. |
| (WebInspector.CookieStorageObject): |
| (WebInspector.CookieStorageObject.prototype.constructor.WebInspector.CookieStorageObject.get host): |
| * UserInterface/Main.html: Add a new source file. |
| * UserInterface/StorageManager.js: |
| (WebInspector.StorageManager.prototype.constructor.WebInspector.StorageManager.initialize): |
| (WebInspector.StorageManager.prototype._mainResourceDidChange): If any frame navigates, add create a cookie |
| storage object for the frame's host. |
| |
| 2011-12-08 Brian Weinstein <bweinstein@apple.com> |
| |
| More of <rdar://problem/10318744> Implement the Storage sidebar for the new Web Inspector design. |
| |
| Generate the local storage and session storage folders on demand. We don't show them in the tree until |
| a local storage or session storage object has been added, and if there is only one object, we flatten the |
| folder so it says: |
| |
| Local Storage Ñ foo.com |
| |
| If there is more than one object, we create a folder, and the structure will be: |
| |
| Local Storage |
| foo.com |
| bar.com |
| |
| Reviewed by Tim Hatcher and Joseph Pecoraro. |
| |
| * UserInterface/DOMStorageTreeElement.js: Added. |
| (WebInspector.DOMStorageTreeElement): Create a GeneralTreeElement and set a few properties. |
| (WebInspector.DOMStorageTreeElement.prototype.constructor.WebInspector.DOMStorageTreeElement.set flattened): |
| * UserInterface/Main.html: Include a new script. |
| * UserInterface/StorageSidebarPanel.js: |
| (WebInspector.StorageSidebarPanel): Initialize _localStorageTreeElement and _sessionStorageTreeElement to null. |
| (WebInspector.StorageSidebarPanel.prototype.constructor.WebInspector.StorageSidebarPanel._domStorageObjectWasAdded): Call _addChild. |
| (WebInspector.StorageSidebarPanel.prototype._addChild): This object is responsible for setting up the hierarchy described above. |
| - If there is no current child, it tells the just added child that it is the only child, and will be displayed flattened. |
| - If the current child is a DOMStorageTreeElement, we create a folder and add the previous only child and the just added child |
| to the folder. |
| - If the current child is a folder, we append the just added child to the folder. |
| (WebInspector.StorageSidebarPanel.prototype._storageCleared): |
| |
| 2011-12-07 Brian Weinstein <bweinstein@apple.com> |
| |
| More of <rdar://problem/10318744> Implement the Storage sidebar for the new Web Inspector design. |
| |
| Clear the Local Storage and Session Storage folders when the main resource of the main frame changes. This means |
| that we are navigating to a new site, and we want to clear all of the storage folders. |
| |
| Reviewed by Tim Hatcher and Joseph Pecoraro. |
| |
| * UserInterface/StorageManager.js: |
| (WebInspector.StorageManager): Listen for MainResourceDidChange on all frames. |
| (WebInspector.StorageManager.prototype._mainResourceDidChange): If the main resource changed for the main frame, fire an |
| event saying storage was cleared. |
| * UserInterface/StorageSidebarPanel.js: |
| (WebInspector.StorageSidebarPanel): |
| (WebInspector.StorageSidebarPanel.prototype.constructor.WebInspector.StorageSidebarPanel._domStorageObjectWasAdded): |
| (WebInspector.StorageSidebarPanel.prototype._storageCleared): Remove the children from the local storage and session storage folders. |
| |
| 2011-12-07 Brian Weinstein <bweinstein@apple.com> |
| |
| More of <rdar://problem/10318744> Implement the Storage sidebar for the new Web Inspector design. |
| |
| Add folders for Local Storage and Session Storage, and add children when DOMStorageObserver.addDOMStorage is called. |
| |
| These items are never removed yet, we will need to listen for main frame navigation, and clear the folders, but |
| that will be done in a follow-up patch. |
| |
| Reviewed by Tim Hatcher and Joseph Pecoraro. |
| |
| * UserInterface/DOMStorageObject.js: Added. |
| (WebInspector.DOMStorageObject): |
| (WebInspector.DOMStorageObject.prototype.get id): Returns the id. |
| (WebInspector.DOMStorageObject.prototype.get domain): Returns the domain. |
| (WebInspector.DOMStorageObject.prototype.get isLocalStorage): Returns whether or not the DOM storage is local storage |
| (vs. session storage). |
| * UserInterface/DOMStorageObserver.js: |
| (WebInspector.DOMStorageObserver.prototype.constructor.WebInspector.DOMStorageObserver.addDOMStorage): Create a new DOMStorageObject |
| and tell the StorageManager about it. |
| * UserInterface/Main.html: |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Create the StorageManager. |
| * UserInterface/StorageManager.js: Added. |
| (WebInspector.StorageManager): |
| (WebInspector.StorageManager.prototype.constructor.WebInspector.StorageManager.initialize): |
| (WebInspector.StorageManager.prototype.addDOMStorage): Tell the StorageSidebarPanel we added a DOMStorageObject. |
| * UserInterface/StorageSidebarPanel.js: |
| (WebInspector.StorageSidebarPanel): |
| (WebInspector.StorageSidebarPanel.prototype.constructor.WebInspector.StorageSidebarPanel._domStorageObjectWasAdded): Add a child to either |
| local or session storage. |
| |
| 2011-12-05 Brian Weinstein <bweinstein@apple.com> |
| |
| Part of <rdar://problem/10318744> Implement the Storage sidebar for the new Web Inspector design. |
| |
| Add StorageSidebarPanel.js, and have it create a new NavigationSidebarPanel. |
| |
| Reviewed by Tim Hatcher and Joseph Pecoraro. |
| |
| * UserInterface/Main.html: Add the new js file. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Call WebInspector.StorageSidebarPanel. |
| * UserInterface/StorageSidebarPanel.js: Added. |
| (WebInspector.StorageSidebarPanel): |
| |
| 2011-12-06 Timothy Hatcher <timothy@apple.com> |
| |
| Call WebInspector.Object.addConstructorFunctions on all the Web Inspector constructors that file events. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/FilterBar.js: |
| * UserInterface/Frame.js: |
| * UserInterface/FrameResourceManager.js: |
| * UserInterface/NavigationBar.js: |
| * UserInterface/Resource.js: |
| * UserInterface/Sidebar.js: |
| |
| 2011-12-05 Timothy Hatcher <timothy@apple.com> |
| |
| Add support for listening for events on constructors, which gets notified of events that fire |
| on any of the instances of that constructor. |
| |
| This lets you do things like listen for navigation in any frame by doing: |
| |
| WebInspector.Frame.addEventListener(WebInspector.Frame.Event.MainResourceDidChange, ...) |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Object.js: |
| (WebInspector.Object.addConstructorFunctions): Added. Copies the relevant functions |
| the subclass constructor. |
| (WebInspector.Object.addEventListener): Copied from WebInspector.Object.prototype. |
| (WebInspector.Object.removeEventListener): Ditto. |
| (WebInspector.Object.removeAllListeners): Ditto. |
| (WebInspector.Object.hasEventListeners): Ditto. |
| (WebInspector.Object.prototype.addEventListener): Set to WebInspector.Object version. |
| (WebInspector.Object.prototype.removeEventListener): Ditto. |
| (WebInspector.Object.prototype.removeAllListeners): Ditto. |
| (WebInspector.Object.prototype.hasEventListeners): Ditto. |
| (WebInspector.Object.prototype.dispatchEventToListeners): Dispatch to listeners of this specific object, |
| and to listeners interested in all instances of this object's constructor. |
| |
| 2011-12-05 Timothy Hatcher <timothy@apple.com> |
| |
| Use Object.defineProperty for our extensions in WebInspector/Utilities.js so they don't show |
| up when enumerating instances. |
| |
| This patch has whitespace changes stripped, but the indentation is correct. |
| |
| Reviewed by Ada Chan. |
| |
| * UserInterface/Utilities.js: |
| |
| 2011-12-05 Timothy Hatcher <timothy@apple.com> |
| |
| Provide a direct way to ask if a WebInspector.Frame is the main frame. |
| |
| This is only needed in one place right now, but in the future it will be needed in more places. |
| And checking !frame.parentFrame is not an accurate check if the frame is a detached subframe. |
| |
| Reviewed by Ada Chan. |
| |
| * UserInterface/Frame.js: |
| (WebInspector.Frame): |
| (WebInspector.Frame.prototype.isMainFrame): Added. |
| (WebInspector.Frame.prototype.markAsMainFrame): Added. |
| (WebInspector.Frame.prototype.unmarkAsMainFrame): Added. |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype.initialize): Call the renamed _mainFrameDidChange. |
| (WebInspector.FrameResourceManager.prototype.frameDidNavigate): Ditto. |
| (WebInspector.FrameResourceManager.prototype.frameDidDetach): Ditto. |
| (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame): Ditto. |
| (WebInspector.FrameResourceManager.prototype._processMainFrameResourceTreePayload): Pass true for isMainFrame |
| when calling _addFrameTreeFromFrameResourceTreePayload. |
| (WebInspector.FrameResourceManager.prototype._addFrameTreeFromFrameResourceTreePayload): Call markAsMainFrame() |
| if isMainFrame is true. |
| (WebInspector.FrameResourceManager.prototype._mainFrameDidChange): Renamed from _dispatchMainFrameDidChangeEvent |
| and now calls unmarkAsMainFrame and markAsMainFrame. |
| * UserInterface/ResourceTreeElement.js: |
| (WebInspector.ResourceTreeElement.prototype._updateTitles): Use isMainFrame(). |
| |
| 2011-12-04 Timothy Hatcher <timothy@apple.com> |
| |
| Implement WebInspector.FontResourceContentView. |
| |
| The font preview includes horizontal lines showing the top, bottom, middle and baseline CSS alignments. |
| |
| Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/FontResourceContentView.css: Added. |
| (.content-view.resource.font): |
| (.content-view.resource.font .preview): |
| (.content-view.resource.font .preview > .line): |
| (.content-view.resource.font .preview > .line > .content): |
| (.content-view.resource.font .preview > .line > .metric): |
| (.content-view.resource.font .metric.top): |
| (.content-view.resource.font .metric.baseline): |
| (.content-view.resource.font .metric.middle): |
| (.content-view.resource.font .metric.bottom): |
| * UserInterface/FontResourceContentView.js: |
| (WebInspector.FontResourceContentView): |
| (WebInspector.FontResourceContentView.prototype.get previewElement): |
| (WebInspector.FontResourceContentView.prototype.sizeToFit): Start at the maximum size and try each |
| font size until minimum is reached. Stop when the preview element is not as wide as the main element. |
| (WebInspector.FontResourceContentView.prototype.contentAvailable.createMetricElement): Helper function. |
| (WebInspector.FontResourceContentView.prototype.contentAvailable): Create the elements for the preview. |
| (WebInspector.FontResourceContentView.prototype.shown): Add the style element since it is removed when hidden. |
| (WebInspector.FontResourceContentView.prototype.hidden): Remove the style element so it will not stick around |
| when this content view is destroyed. |
| * UserInterface/Main.html: Included FontResourceContentView.css. |
| |
| 2011-12-03 Timothy Hatcher <timothy@apple.com> |
| |
| Implement WebInspector.ImageResourceContentView. |
| |
| Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ImageResourceContentView.css: Added. |
| (.content-view.resource.image): Vertically and horizontally center the image. |
| (.content-view.resource.image img): Set max width to 100% and allow dragging. |
| * UserInterface/ImageResourceContentView.js: |
| (WebInspector.ImageResourceContentView): Initialize _imageElement to null. |
| (WebInspector.ImageResourceContentView.prototype.get imageElement): Added. |
| (WebInspector.ImageResourceContentView.prototype.contentAvailable): Added. Create and append the _imageElement. |
| * UserInterface/Main.html: Included ImageResourceContentView.css. |
| * UserInterface/Resource.js: |
| (WebInspector.Resource.prototype.get contentURL): Added. Create a data URL if possible. |
| * UserInterface/ResourceContentView.js: |
| (WebInspector.ResourceContentView): Call requestContent. |
| (WebInspector.ResourceContentView.prototype.contentAvailable): Added. Implemented by subclasses. |
| |
| 2011-12-05 Timothy Hatcher <timothy@apple.com> |
| |
| Select the main resource when opening the Web Inspector and when the inspected page navigates. |
| |
| Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange): Select and expand the main |
| resource so something is selected by default. |
| (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange): Select the main |
| resource since there are no other resources now. |
| |
| 2011-12-05 Timothy Hatcher <timothy@apple.com> |
| |
| Close all resource content views when the inspected page navigates in the main frame. |
| |
| Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ContentViewContainer.js: |
| (WebInspector.ContentViewContainer.prototype.closeAllContentViewsOfPrototype): Added. |
| (WebInspector.ContentViewContainer.prototype.closeAllContentViews): Added. |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange): Remove an event listener from |
| the old frame and add an event listener for MainResourceDidChange on the new frame. |
| (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange): Added. Call |
| closeAllContentViewsOfPrototype with WebInspector.ResourceContentView on the main content container. |
| |
| 2011-12-05 Timothy Hatcher <timothy@apple.com> |
| |
| Make selecting a resource in the Resources sidebar show the content view for that resource. |
| |
| Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ContentViewContainer.js: |
| (WebInspector.ContentViewContainer.prototype.contentViewForRepresentedObject): Added. |
| (WebInspector.ContentViewContainer.prototype.showContentViewForRepresentedObject): Added. |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel): Set onselect to _treeElementSelected. |
| (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected): Added. Call showContentViewForRepresentedObject |
| on the main content container. |
| |
| 2011-12-05 Timothy Hatcher <timothy@apple.com> |
| |
| Add support for knowing when a TreeElement is selected/deselected in a TreeOutline. |
| |
| There is already TreeElement.onselect which has been used in the past, |
| but having a tree-wide notification of selection changes makes it easier |
| to implement certain things. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/TreeOutline.js: |
| (TreeElement.prototype.select): Call onselect on the TreeOutline if it exists. |
| (TreeElement.prototype.deselect): Call ondeselect on the TreeOutline if it exists. |
| |
| 2011-12-05 Timothy Hatcher <timothy@apple.com> |
| |
| Support resource type changes by making a new ResourceContentView and replacing the old one. |
| |
| Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ContentViewContainer.js: |
| (WebInspector.ContentViewContainer.prototype.replaceContentView): Added. Find all instances of the old one |
| and replace it with the new one. |
| * UserInterface/ResourceContentView.js: |
| (WebInspector.ResourceContentView): Add event listener for TypeDidChange. |
| (WebInspector.ResourceContentView.prototype._resourceTypeDidChange): Added. Make a new ResourceContentView |
| which will use the new resource type to make the correct concrete ResourceContentView subclass. |
| |
| 2011-12-05 Timothy Hatcher <timothy@apple.com> |
| |
| Add the "constructor" property to all prototypes in the Web Inspector. |
| |
| While working on a change that requires the constructor, I found it was always Object. |
| This is because (thanks Gavin) the "constructor" property is added at runtime during |
| the first lookup of the "prototype" property slot. But when "prototype" is assigned, |
| like we do in the Web Inspector, the "constructor" property isn't present. |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/ApplicationCacheObserver.js: |
| * UserInterface/ConsoleObserver.js: |
| * UserInterface/ContentView.js: |
| * UserInterface/ContentViewContainer.js: |
| * UserInterface/DOMObserver.js: |
| * UserInterface/DOMStorageObserver.js: |
| * UserInterface/DatabaseObserver.js: |
| * UserInterface/DebuggerObserver.js: |
| * UserInterface/FilterBar.js: |
| * UserInterface/FolderTreeElement.js: |
| * UserInterface/FontResourceContentView.js: |
| * UserInterface/Frame.js: |
| * UserInterface/FrameResourceManager.js: |
| * UserInterface/FrameTreeElement.js: |
| * UserInterface/GeneralTreeElement.js: |
| * UserInterface/GenericResourceContentView.js: |
| * UserInterface/ImageResourceContentView.js: |
| * UserInterface/InspectorObserver.js: |
| * UserInterface/NavigationBar.js: |
| * UserInterface/NavigationSidebarPanel.js: |
| * UserInterface/NetworkObserver.js: |
| * UserInterface/Object.js: |
| * UserInterface/PageObserver.js: |
| * UserInterface/Resource.js: |
| * UserInterface/ResourceCollection.js: |
| * UserInterface/ResourceContentView.js: |
| * UserInterface/ResourceSidebarPanel.js: |
| * UserInterface/ResourceTreeElement.js: |
| * UserInterface/Sidebar.js: |
| * UserInterface/TextResourceContentView.js: |
| * UserInterface/TreeOutline.js: |
| |
| 2011-12-05 Timothy Hatcher <timothy@apple.com> |
| |
| And WebInspector.ResourceContentView and concrete subclasses for Text, Image and Font resources. |
| |
| Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ContentView.js: |
| (WebInspector.ContentView): Create ResourceContentViews for Resources and Frames. |
| * UserInterface/FontResourceContentView.js: Added. |
| (WebInspector.FontResourceContentView): |
| * UserInterface/GenericResourceContentView.js: Added. |
| (WebInspector.GenericResourceContentView): |
| * UserInterface/ImageResourceContentView.js: Added. |
| (WebInspector.ImageResourceContentView): |
| * UserInterface/Main.html: Included new files. |
| * UserInterface/ResourceContentView.js: Added. |
| (WebInspector.ResourceContentView): When instantiated directly return an instance of a type-based concrete subclass. |
| (WebInspector.ResourceContentView.prototype.get resource): |
| * UserInterface/TextResourceContentView.js: Added. |
| (WebInspector.TextResourceContentView): |
| |
| 2011-12-05 Timothy Hatcher <timothy@apple.com> |
| |
| Add back/forward support to WebInspector.ContentViewContainer. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ContentViewContainer.js: |
| (WebInspector.ContentViewContainer): Initialize _backForwardList and _currentIndex. |
| (WebInspector.ContentViewContainer.prototype.get currentIndex): Added. |
| (WebInspector.ContentViewContainer.prototype.get backForwardList): Added. |
| (WebInspector.ContentViewContainer.prototype.get currentContentView): Use _backForwardList and _currentIndex. |
| (WebInspector.ContentViewContainer.prototype.showContentView): Insert the content view at the new current index. |
| This will remove any content views greater than or equal to the index. Call showBackForwardEntry for the index. |
| (WebInspector.ContentViewContainer.prototype.showBackForwardEntry): Added. |
| (WebInspector.ContentViewContainer.prototype.canGoBack): Added. |
| (WebInspector.ContentViewContainer.prototype.canGoForward): Added. |
| (WebInspector.ContentViewContainer.prototype.goBack): Added. |
| (WebInspector.ContentViewContainer.prototype.goForward): Added. |
| |
| 2011-12-05 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.ContentView and WebInspector.ContentViewContainer. |
| |
| These classes will be used to display content for resources and other data. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/ContentView.js: Added. |
| (WebInspector.ContentView): |
| (WebInspector.ContentView.prototype.get element): |
| (WebInspector.ContentView.prototype.get parentContainer): |
| (WebInspector.ContentView.prototype.get visible): |
| (WebInspector.ContentView.prototype.set visible): |
| (WebInspector.ContentView.prototype.shown): |
| (WebInspector.ContentView.prototype.hidden): |
| * UserInterface/ContentViewContainer.css: Added. |
| (.content-view-container): Display relative to allow positioned content. |
| (.content-view-container > .content-view): Position to fill the container. |
| (.content-view-container > .content-view:not(.visible)): Display none. |
| * UserInterface/ContentViewContainer.js: Added. |
| (WebInspector.ContentViewContainer): |
| (WebInspector.ContentViewContainer.prototype.get element): |
| (WebInspector.ContentViewContainer.prototype.get currentContentView): |
| (WebInspector.ContentViewContainer.prototype.showContentView): |
| (WebInspector.ContentViewContainer.prototype._addContentViewElement): |
| (WebInspector.ContentViewContainer.prototype._removeContentViewElement): |
| (WebInspector.ContentViewContainer.prototype._showContentView): |
| (WebInspector.ContentViewContainer.prototype._hideContentView): |
| * UserInterface/Main.css: |
| (#content-views): Renamed from #content-panels. |
| * UserInterface/Main.html: Included ContentViewContainer.js and ContentViewContainer.css. Also renamed |
| content-panels to content-views. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Create an instance of ContentViewContainer that uses the #content-views div. |
| |
| 2011-12-05 Timothy Hatcher <timothy@apple.com> |
| |
| Add support for getting the content of a resource in preparation for showing that content. |
| |
| Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Resource.js: |
| (WebInspector.Resource): Initialize _content, _pendingContentRequestCallbacks and _contentIsBase64Encoded. |
| (WebInspector.Resource.prototype.get content): Added. |
| (WebInspector.Resource.prototype.get contentIsBase64Encoded): Added. |
| (WebInspector.Resource.prototype.requestContent): Added. Queues the callback and requests the content if needed. |
| (WebInspector.Resource.prototype.markAsFinished): Call _requestContentFromBackend if there are pending requests. |
| (WebInspector.Resource.prototype.markAsFailed): Call _servicePendingContentRequests. |
| (WebInspector.Resource.prototype._requestContentFromBackend): Added. Use the NetworkPageAgent depending on if |
| we have a requestIdentifier for this Resource. |
| (WebInspector.Resource.prototype._processContent): Added. Store the content and call _servicePendingContentRequests. |
| (WebInspector.Resource.prototype._servicePendingContentRequests): Added. Call all the pending callbacks with the content. |
| |
| 2011-12-05 Timothy Hatcher <timothy@apple.com> |
| |
| Mark resources loaded from the memory cache as finished in the Web Inspector so their content can be requested. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache): Call markAsFinished. |
| |
| 2011-12-05 Timothy Hatcher <timothy@apple.com> |
| |
| Add requestIdentifier to WebInspector.Resource. |
| |
| The requestIdentifier will be needed for getting the resource content from the backend. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype.frameDidNavigate): Pass null for the requestIdentifier. |
| (WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent): Pass the requestIdentifier. |
| (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache): Ditto. |
| (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse): Ditto. |
| (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame): Added requestIdentifier parameter. |
| (WebInspector.FrameResourceManager.prototype._createFrame): Pass null for requestIdentifier. |
| (WebInspector.FrameResourceManager.prototype._createResource): Ditto. |
| * UserInterface/Resource.js: |
| (WebInspector.Resource): Added requestIdentifier parameter. |
| (WebInspector.Resource.prototype.get requestIdentifier): Added. |
| |
| 2011-12-05 Timothy Hatcher <timothy@apple.com> |
| |
| Override the cursor to prevent the I-beam over various text UI elements in the Web Inspector. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/Main.css: |
| (body): Set cursor to default. |
| |
| 2011-12-05 Timothy Hatcher <timothy@apple.com> |
| |
| Call preventDefault and stopPropagation in various event listeners in the Web Inspector. |
| |
| This prevents text selection while dragging the sidebar resizer or scrubbing a navigation bar. |
| It also prevents text selection when double clicking the sidebar resizer. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/NavigationBar.js: |
| (WebInspector.NavigationBar.prototype._mouseDown): |
| (WebInspector.NavigationBar.prototype._mouseMoved): |
| (WebInspector.NavigationBar.prototype._mouseUp): |
| (WebInspector.NavigationBar.prototype._keyDown): |
| * UserInterface/Sidebar.js: |
| (WebInspector.Sidebar.prototype._resizerDoubleClicked): |
| (WebInspector.Sidebar.prototype._resizerMouseDown): |
| (WebInspector.Sidebar.prototype._resizerMouseMoved): |
| (WebInspector.Sidebar.prototype._resizerMouseUp): |
| |
| 2011-12-05 Timothy Hatcher <timothy@apple.com> |
| |
| Add a build phase copy of InspectorBackend.js from WebCore and rename the |
| InspectorBackendStub.js copied file to InspectorBackendCommands.js. |
| |
| The InspectorBackend.js file split out of the generated InspectorBackendStub.js |
| in r101670, and both files are needed to be useful. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Main.html: Include InspectorBackendCommands.js. |
| * WebInspectorUI.xcodeproj/project.pbxproj: Update the WebCore Inspector Resources build pahse. |
| |
| 2011-11-29 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.ResourceCollection to simplify parts of WebInspector.Frame. |
| |
| The ResourceCollection class tracks resources it holds for URL and type changes |
| and updates internal mappings accordingly. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Frame.js: |
| (WebInspector.Frame): Create a ResourceCollection instead of multiple arrays/maps. |
| (WebInspector.Frame.prototype.initialize): Call clearProvisionalLoad before the main |
| resource did change event. |
| (WebInspector.Frame.prototype.startProvisionalLoad): Create a provisional ResourceCollection. |
| (WebInspector.Frame.prototype.commitProvisionalLoad): Commit the provisional ResourceCollection. |
| Added an early return to prevent exceptions if this is called when there isn't provisional load. |
| (WebInspector.Frame.prototype.clearProvisionalLoad): Added an early return and clear the ResourceCollection. |
| (WebInspector.Frame.prototype.get resources): Use ResourceCollection. |
| (WebInspector.Frame.prototype.resourceForURL): Ditto. |
| (WebInspector.Frame.prototype.resourcesWithType): Ditto. |
| (WebInspector.Frame.prototype.addResource): Moved the add code from _associateWithResource and use the |
| new _isProvisionalResource function to check which ResourceCollection to add the resource to. |
| (WebInspector.Frame.prototype.removeResource): Use ResourceCollection. |
| (WebInspector.Frame.prototype.removeAllResources): Ditto. |
| (WebInspector.Frame.prototype._isProvisionalResource): Added. |
| (WebInspector.Frame.prototype._associateWithResource): Only set _childFrame. |
| (WebInspector.Frame.prototype._disassociateWithResource): Only clear _childFrame. |
| * UserInterface/Main.html: Included ResourceCollection.js. |
| * UserInterface/ResourceCollection.js: Added. Broken out of Frame.js. |
| (WebInspector.ResourceCollection): |
| (WebInspector.ResourceCollection.prototype.get resources): |
| (WebInspector.ResourceCollection.prototype.resourceForURL): |
| (WebInspector.ResourceCollection.prototype.resourcesWithType): |
| (WebInspector.ResourceCollection.prototype.addResource): |
| (WebInspector.ResourceCollection.prototype.removeResource): |
| (WebInspector.ResourceCollection.prototype.removeAllResources): |
| (WebInspector.ResourceCollection.prototype._associateWithResource): |
| (WebInspector.ResourceCollection.prototype._disassociateWithResource): |
| (WebInspector.ResourceCollection.prototype._resourceURLDidChange): |
| (WebInspector.ResourceCollection.prototype._resourceTypeDidChange): |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Improve glob filtering in the Resources sidebar of the new Web Inspector. |
| |
| Match edge boundaries when there is an asterisk to better meet the expectations |
| of the user. When someone types "*.js" they don't expect "foo.json" to match. They |
| would only expect that if they type "*.js*". We use \b (instead of ^ and $) to allow |
| matches inside paths or URLs, so "ba*.js" will match "foo/bar.js" but not "boo/bbar.js". |
| When there isn't an asterisk the regexString is just a substring search. Also properly |
| ignore escaped asterisks and collapse consecutive asterisks down to one. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Utilities.js: |
| (simpleGlobStringToRegExp): |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Show a message in the sidebar when it is empty because there are no filter matches. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/NavigationSidebarPanel.css: |
| (.sidebar > .panel.navigation > .content.hidden): Added. |
| (.sidebar > .panel.navigation > .empty-content-placeholder): Added. |
| (.sidebar > .panel.navigation > .empty-content-placeholder > .message): Added. |
| * UserInterface/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel): Create the empty content placeholder elements. |
| (WebInspector.NavigationSidebarPanel.prototype.showEmptyContentPlaceholder): Set the message and add the element. |
| (WebInspector.NavigationSidebarPanel.prototype.hideEmptyContentPlaceholder): Remove the element. |
| (WebInspector.NavigationSidebarPanel.prototype._checkForEmptyFilterResults): Added. Check for hidden top level elements. |
| (WebInspector.NavigationSidebarPanel.prototype._updateFilter): Call _checkForEmptyFilterResults. |
| (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged): Ditto. |
| * UserInterface/Sidebar.css: |
| (.sidebar > .panel): Make overflow hidden so when the sidebar is collapsed the empty placeholder doesn't stick out. |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Add text filtering support to WebInspector.NavigationSidebarPanel. |
| |
| This makes it so you can filter the resource list, matching against the URLs. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/FilterBar.js: |
| (WebInspector.FilterBar): Add an search event listener and set incremental to true. |
| (WebInspector.FilterBar.prototype.get filters): Added. |
| (WebInspector.FilterBar.prototype.hasActiveFilters): Added. |
| (WebInspector.FilterBar.prototype._inputFieldChanged): Added. Dispatch the TextFilterDidChange event. |
| * UserInterface/GeneralTreeElement.js: |
| (WebInspector.GeneralTreeElement.prototype.set mainTitle): Call didChange. |
| (WebInspector.GeneralTreeElement.prototype.set subtitle): Ditto. |
| (WebInspector.GeneralTreeElement.prototype.get filterableData): Added. Returns the URL. |
| * UserInterface/NavigationSidebarPanel.css: |
| (.navigation-sidebar-panel-content-tree-outline .hidden): Added. |
| * UserInterface/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel): Set onadd and onchange on the TreeOutline. Listen for |
| the TextFilterDidChange event. |
| (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement): Added. |
| (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.matchTextFilter): Added. |
| (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.makeVisible): Added. |
| (WebInspector.NavigationSidebarPanel.prototype._updateFilter): Added. Call applyFiltersToTreeElement. |
| (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged): Added. Call applyFiltersToTreeElement. |
| * UserInterface/Utilities.js: |
| (String.prototype.escapeCharacters): Copied from WebCore/inspector/front-end/utilities.js. |
| (String.prototype.escapeForRegExp): Copied from WebCore/inspector/front-end/utilities.js. |
| (simpleGlobStringToRegExp): Added. |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.FilterBar to be used in navigation sidebar panels. |
| |
| The filter bar only contains a specially styled search field in this change. |
| It does not actually filter the sidebar yet. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/FilterBar.css: Added. |
| (.filter-bar): Styled like the filter bar in Xcode 4. |
| (.filter-bar > input[type="search"]): Set the margins and prevent an outline on focus. |
| (.filter-bar > input[type="search"]::-webkit-search-decoration): Replace the search |
| magnifying glass with the filter glyph. |
| * UserInterface/FilterBar.js: Added. |
| (WebInspector.FilterBar): |
| (WebInspector.FilterBar.prototype.get element): |
| (WebInspector.FilterBar.prototype.get inputField): |
| * UserInterface/Images/FilterFieldGlyph.pdf: Added. |
| * UserInterface/Main.html: Included FilterBar.js and FilterBar.css. |
| * UserInterface/NavigationSidebarPanel.css: |
| (.sidebar > .panel.navigation > .filter-bar): Position at the bottom. |
| * UserInterface/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel): Create a FilterBar. |
| (WebInspector.NavigationSidebarPanel.prototype.get filterBar): Added. |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Handle getting a resource load responce without getting the request first. |
| |
| If the Web Inspector is opened while loading a page we can miss the resourceRequestWillBeSent call. |
| In that case we might get a respose but not know the resource yet, so make a new resource and add it. |
| |
| Reviewed by Anders Carlsson. |
| |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse): Make a new resource if |
| one isn't found in the request identifier map. |
| * UserInterface/NetworkObserver.js: |
| (WebInspector.NetworkObserver.prototype.responseReceived): Pass the frameId and loaderId along. |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Store the request and response headers on WebInspector.Resource. |
| |
| Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design |
| |
| Reviewed by Anders Carlsson. |
| |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype.frameDidNavigate): Pass null for the requestHeaders in a couple of places. |
| (WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent): Pass the requestHeaders along. |
| (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache): Pass null for the requestHeaders. |
| (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse): Pass the responseHeaders along to updateForResponse. |
| (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame): Added an argument for requestHeaders. |
| (WebInspector.FrameResourceManager.prototype._createFrame): Pass null for the requestHeaders. |
| (WebInspector.FrameResourceManager.prototype._createResource): Ditto. |
| * UserInterface/Resource.js: |
| (WebInspector.Resource): Added requestHeaders argument. |
| (WebInspector.Resource.prototype.get requestHeaders): Added. |
| (WebInspector.Resource.prototype.get responseHeaders): Added. |
| (WebInspector.Resource.prototype.updateForResponse): Added responseHeaders argument and fire the ResponseHeadersDidChange event. |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Keep track of failed, canceled and finished resources in the Web Inspector. |
| |
| Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype.resourceRequestDidFinishLoading): Call markAsFinished. |
| (WebInspector.FrameResourceManager.prototype.resourceRequestDidFailLoading): Added canceled argument and call markAsFailed. |
| (WebInspector.FrameResourceManager.prototype._createResource): Call markAsFinished. |
| * UserInterface/NetworkObserver.js: |
| (WebInspector.NetworkObserver.prototype.loadingFailed): Pass along the canceled argument. |
| * UserInterface/Resource.js: |
| (WebInspector.Resource.prototype.get finished): Added. |
| (WebInspector.Resource.prototype.get failed): Added. |
| (WebInspector.Resource.prototype.get canceled): Added. |
| (WebInspector.Resource.prototype.updateForRedirectResponse): Added asserts that loading hasn't failed, finished or canceled. |
| (WebInspector.Resource.prototype.updateForResponse): Ditto. |
| (WebInspector.Resource.prototype.markAsFinished): Added. |
| (WebInspector.Resource.prototype.markAsFailed): Added. |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Sort folders by name, resources by type and name in the Web Inspector sidebar. |
| |
| Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/FrameTreeElement.js: |
| (WebInspector.FrameTreeElement.prototype.descendantResourceTreeElementTypeDidChange): Remove the check for _groupedIntoFolders |
| since we sort by type in non-folder mode now. Updated the comment. |
| (WebInspector.FrameTreeElement.prototype.descendantResourceTreeElementMainTitleDidChange): Added. |
| (WebInspector.FrameTreeElement.prototype._addTreeElement): Use _insertRootFolderTreeElement and _insertResourceTreeElement. |
| (WebInspector.FrameTreeElement.prototype._compareTreeElementsByMainTitle): Added. |
| (WebInspector.FrameTreeElement.prototype._insertFolderTreeElement): Added. |
| (WebInspector.FrameTreeElement.prototype._compareResourceTreeElements): Added. |
| (WebInspector.FrameTreeElement.prototype._insertResourceTreeElement): Added. |
| * UserInterface/Main.html: Included BinarySearch.js. |
| * UserInterface/ResourceTreeElement.js: |
| (WebInspector.ResourceTreeElement.prototype._updateTitles): Call descendantResourceTreeElementMainTitleDidChange on the first ancestor |
| if the main title changed. |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Queue new resources and frames to add them in bulk every half a second. |
| |
| This reduces flashing in the Web Inspector sidebar as resources load and change folders as their type becomes known. |
| |
| Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/FrameTreeElement.js: |
| (WebInspector.FrameTreeElement): Initialize _newChildQueue. |
| (WebInspector.FrameTreeElement.prototype.onpopulate): Call _clearNewChildQueue. |
| (WebInspector.FrameTreeElement.prototype._mainResourceDidChange): Ditto. |
| (WebInspector.FrameTreeElement.prototype._resourceWasAdded): Use _addRepresentedObjectToNewChildQueue. |
| (WebInspector.FrameTreeElement.prototype._childFrameWasAdded): Ditto. |
| (WebInspector.FrameTreeElement.prototype._addRepresentedObjectToNewChildQueue): Added. Adds the item to the queue and starts |
| a timer if one isn't already pending. |
| (WebInspector.FrameTreeElement.prototype._removeRepresentedObjectFromNewChildQueue): Added. Removes the item from the queue. |
| (WebInspector.FrameTreeElement.prototype._populateFromNewChildQueue): Added. Call _addChildForRepresentedObject |
| for each item in the queue. |
| (WebInspector.FrameTreeElement.prototype._clearNewChildQueue): Added. Clears the queue. |
| (WebInspector.FrameTreeElement.prototype._removeChildForRepresentedObject): Call _removeRepresentedObjectFromNewChildQueue. |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Remember expanded frames when the main resource changes during navigation. Also auto expand the main frame. |
| |
| Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/FrameTreeElement.js: |
| (WebInspector.FrameTreeElement.prototype._mainResourceDidChange): Remember if this tree element was expanded. |
| (WebInspector.FrameTreeElement.prototype._addChildForRepresentedObject): Expand if needed. |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange): Expand when the main frame is created. |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Group resources into folders once certain resource count thresholds are met. |
| |
| Resources and Frames are grouped into folders if one of two thresholds are met: |
| 1) Once the number of medium categories passes NumberOfMediumCategoriesThreshold. |
| 2) When there is a category that passes LargeChildCountThreshold and there are |
| any resources in another category. |
| |
| Folders are avoided when there is only one category or most categories are small. |
| |
| Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/FrameTreeElement.js: |
| (WebInspector.FrameTreeElement.prototype.descendantResourceTreeElementTypeDidChange): Added. Called by ResourceTreeElement. |
| (WebInspector.FrameTreeElement.prototype.onpopulate): Call _shouldGroupIntoFolders and use _addTreeElement. |
| (WebInspector.FrameTreeElement.prototype._mainResourceDidChange): Reset _groupedIntoFolders to false. |
| (WebInspector.FrameTreeElement.prototype._addChildForRepresentedObject): Call _shouldGroupIntoFolders and use _addTreeElement. |
| (WebInspector.FrameTreeElement.prototype._removeChildForRepresentedObject): Remove the parent if it is an empty folder. |
| (WebInspector.FrameTreeElement.prototype._addTreeElement): Added. Adds the tree element to the right folder. |
| (WebInspector.FrameTreeElement.prototype._removeTreeElement): Added. Removes the tree element and empty folders. |
| (WebInspector.FrameTreeElement.prototype._folderNameForResourceType): Added. |
| (WebInspector.FrameTreeElement.prototype._parentTreeElementForRepresentedObject): Added. Make the folder tree element if needed. |
| (WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders): Added. Calculates if folders are needed. |
| * UserInterface/ResourceTreeElement.js: |
| (WebInspector.ResourceTreeElement.prototype._typeDidChange): Use _callFirstAncestorFunction to call descendantResourceTreeElementTypeDidChange. |
| (WebInspector.ResourceTreeElement.prototype._callFirstAncestorFunction): Added. Call the first ancestor that implements a function. |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.FolderTreeElement to be used in navigation sidebar panels. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/FolderTreeElement.css: Added. |
| (.folder-tree-element .icon): |
| * UserInterface/FolderTreeElement.js: Added. |
| (WebInspector.FolderTreeElement): |
| * UserInterface/Images/FolderGeneric.png: Added. |
| * UserInterface/Images/FolderGeneric@2x.png: Added. |
| * UserInterface/Main.html: Included FolderTreeElement.css and FolderTreeElement.js. |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Remember resources by type for each frame in the Web Inspector. |
| |
| This will be used to organize the sidebar into folders for each type of resource. |
| |
| Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Frame.js: |
| (WebInspector.Frame): Initialize _resourcesTypeMap and _provisionalResourcesTypeMap. |
| (WebInspector.Frame.prototype.startProvisionalLoad): Initialize _provisionalResourcesURLMap. |
| (WebInspector.Frame.prototype.commitProvisionalLoad): Commit _provisionalResourcesURLMap over to _resourcesTypeMap. |
| (WebInspector.Frame.prototype.clearProvisionalLoad): Initialize _provisionalResourcesURLMap. |
| (WebInspector.Frame.prototype.resourcesWithType): Added. Lookup in _resourcesTypeMap. |
| (WebInspector.Frame.prototype.removeAllResources): Initialize _resourcesTypeMap. |
| (WebInspector.Frame.prototype._associateWithResource): Added resource to the type map. |
| (WebInspector.Frame.prototype._disassociateWithResource): Remove the resource from the type map. |
| (WebInspector.Frame.prototype._resourceTypeDidChange): Update the resource type map. |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Add icons for document, image, font, style, script and generic resource types in the Web Inspector. |
| |
| Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Images/DocumentCSS.png: Added. |
| * UserInterface/Images/DocumentCSS@2x.png: Added. |
| * UserInterface/Images/DocumentFont.png: Added. |
| * UserInterface/Images/DocumentFont@2x.png: Added. |
| * UserInterface/Images/DocumentGeneric.png: Added. |
| * UserInterface/Images/DocumentGeneric@2x.png: Added. |
| * UserInterface/Images/DocumentImage.png: Added. |
| * UserInterface/Images/DocumentImage@2x.png: Added. |
| * UserInterface/Images/DocumentJS.png: Added. |
| * UserInterface/Images/DocumentJS@2x.png: Added. |
| * UserInterface/Images/DocumentMarkup.png: Added. |
| * UserInterface/Images/DocumentMarkup@2x.png: Added. |
| * UserInterface/Main.html: Included ResourceTreeElement.css. |
| * UserInterface/ResourceTreeElement.css: Added. |
| (.resource-tree-element .icon): |
| (.resource-tree-element.resource-type-document .icon): |
| (.resource-tree-element.resource-type-image .icon): |
| (.resource-tree-element.resource-type-stylesheet .icon): |
| (.resource-tree-element.resource-type-script .icon): |
| * UserInterface/ResourceTreeElement.js: |
| (WebInspector.ResourceTreeElement): Use the resource type as a class. |
| (WebInspector.ResourceTreeElement.prototype._updateResource): Added TypeDidChange event listener. |
| (WebInspector.ResourceTreeElement.prototype._typeDidChange): Added. Update the classNames with the new type. |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Display the last path component instead of the full URL in the Web Inspector's Resource sidebar panel. |
| Show the host as the subtitle if it is different from the main resource or if this is the main frame's main resource. |
| |
| Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Resource.js: |
| (WebInspector.Resource.prototype.get urlComponents): Added. Calls parseURL if needed. |
| (WebInspector.Resource.prototype.updateForRedirectResponse): Delete the URL components so the URL is re-parsed the |
| next time it is requested. |
| (WebInspector.Resource.prototype.updateForResponse): Ditto. |
| * UserInterface/ResourceTreeElement.js: |
| (WebInspector.ResourceTreeElement.prototype._updateTitles): Set the mainTitle and subtitle based on the urlComponents. |
| * UserInterface/Utilities.js: |
| (parseURL): Added. Parses a URL into its components. |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Populate the WebInspector's Resource sidebar panel with frame and resource tree elements. |
| |
| Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/FrameTreeElement.js: Added. |
| (WebInspector.FrameTreeElement): Set up event listeners. |
| (WebInspector.FrameTreeElement.prototype.get frame): Returns _frame. |
| (WebInspector.FrameTreeElement.prototype.onpopulate): Add child frames and resources. |
| (WebInspector.FrameTreeElement.prototype._updateParentStatus): Update hasChildren. |
| (WebInspector.FrameTreeElement.prototype._mainResourceDidChange): Update the resource and remove children. |
| (WebInspector.FrameTreeElement.prototype._resourceWasAdded): Call _addChildForRepresentedObject. |
| (WebInspector.FrameTreeElement.prototype._resourceWasRemoved): Call _removeChildForRepresentedObject. |
| (WebInspector.FrameTreeElement.prototype._childFrameWasAdded): Call _addChildForRepresentedObject. |
| (WebInspector.FrameTreeElement.prototype._childFrameWasRemoved): Call _removeChildForRepresentedObject. |
| (WebInspector.FrameTreeElement.prototype._addChildForRepresentedObject): Update parent status and append the new tree element. |
| (WebInspector.FrameTreeElement.prototype._removeChildForRepresentedObject): Update parent status and remove the tree element. |
| * UserInterface/Main.html: Include FrameTreeElement.js and ResourceTreeElement.js. |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel): Add MainFrameDidChange event listener. |
| (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange): Added. |
| * UserInterface/ResourceTreeElement.js: Added. |
| (WebInspector.ResourceTreeElement): |
| (WebInspector.ResourceTreeElement.prototype.get resource): Returns _resource. |
| (WebInspector.ResourceTreeElement.prototype._updateResource): Setup event listeners and update titles. |
| (WebInspector.ResourceTreeElement.prototype._updateTitles): Set the mainTitle to the URL for now. |
| (WebInspector.ResourceTreeElement.prototype._urlDidChange): Update the titles. |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.GeneralTreeElement to be used in navigation sidebar panels. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/GeneralTreeElement.js: Added. |
| (WebInspector.GeneralTreeElement): |
| (WebInspector.GeneralTreeElement.prototype.get element): |
| (WebInspector.GeneralTreeElement.prototype.get disclosureButton): |
| (WebInspector.GeneralTreeElement.prototype.get iconElement): |
| (WebInspector.GeneralTreeElement.prototype.get titlesElement): |
| (WebInspector.GeneralTreeElement.prototype.get mainTitleElement): |
| (WebInspector.GeneralTreeElement.prototype.get subtitleElement): |
| (WebInspector.GeneralTreeElement.prototype.get classNames): |
| (WebInspector.GeneralTreeElement.prototype.set classNames): |
| (WebInspector.GeneralTreeElement.prototype.get small): |
| (WebInspector.GeneralTreeElement.prototype.set small): |
| (WebInspector.GeneralTreeElement.prototype.get mainTitle): |
| (WebInspector.GeneralTreeElement.prototype.set mainTitle): |
| (WebInspector.GeneralTreeElement.prototype.get subtitle): |
| (WebInspector.GeneralTreeElement.prototype.set subtitle): |
| (WebInspector.GeneralTreeElement.prototype.isEventWithinDisclosureTriangle): |
| (WebInspector.GeneralTreeElement.prototype.onattach): |
| (WebInspector.GeneralTreeElement.prototype.onreveal): |
| (WebInspector.GeneralTreeElement.prototype._createElementsIfNeeded): |
| (WebInspector.GeneralTreeElement.prototype._createSubtitleElementIfNeeded): |
| (WebInspector.GeneralTreeElement.prototype._updateTitleElements): |
| * UserInterface/Main.html: Add GeneralTreeElement.js. |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Generate disclosure triangles from PDFs for the Web Inspector's navigation sidebar. |
| |
| The disclosure triangles are a solid color plus a shadow for a normal and selected state. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ImageUtilities.js: Added. |
| (generateColoredImage): Take an input image and fill the image with a color while preserving the alpha. |
| * UserInterface/Images/DisclosureTriangleSmallClosed.pdf: Added. |
| * UserInterface/Images/DisclosureTriangleSmallOpen.pdf: Added. |
| * UserInterface/Main.html: Added ImageUtilities.js. |
| * UserInterface/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel): Call _generateDisclosureTrianglesIfNeeded. |
| (WebInspector.NavigationSidebarPanel.prototype._generateDisclosureTrianglesIfNeeded): Load the open and closed images. |
| (WebInspector.NavigationSidebarPanel.prototype._generateDisclosureTrianglesIfNeeded._disclosureImageLoaded): Call |
| _generateDisclosureTriangle for the normal and selected state with different colors for each. |
| (WebInspector.NavigationSidebarPanel.prototype._generateDisclosureTrianglesIfNeeded._generateDisclosureTriangle): |
| Fill the image with the color and draw it with the desired shadow. |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Create a TreeOutline for WebInspector.NavigationSidebarPanel that is styled like Xcode 4's Project Navigator. |
| |
| The disclosure triangle generation is not part of this change, they will come in a later change. |
| |
| Reviewed by Brian Weinstein and Joseph Pecoraro. |
| |
| * UserInterface/Main.html: Included TreeOutline.js. |
| * UserInterface/NavigationSidebarPanel.css: Style rules for .navigation-sidebar-panel-content-tree-outline |
| and decedent elements. |
| * UserInterface/NavigationSidebarPanel.js: |
| (WebInspector.NavigationSidebarPanel): Create the TreeOutline and its element. Call _generateStyleRulesIfNeeded. |
| (WebInspector.NavigationSidebarPanel.prototype.get contentElement): Added. |
| (WebInspector.NavigationSidebarPanel.prototype.get contentTreeOutlineElement): Added. |
| (WebInspector.NavigationSidebarPanel.prototype.get contentTreeOutline): Added. |
| (WebInspector.NavigationSidebarPanel.prototype._generateStyleRulesIfNeeded): Added. Make repetitive style rules for |
| 15 levels of indentation. |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.NavigationSidebarPanel as a base class for all navigation |
| sidebar panels so they can share code for the content element and filter bar. |
| |
| Only the content element is there now, the filter bar is coming later. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/Main.html: Add NavigationSidebarPanel.js and NavigationSidebarPanel.css. |
| * UserInterface/NavigationSidebarPanel.css: Added. |
| (.sidebar > .panel.navigation > .content): Account for 22px at the bottom for the future |
| filter bar height. |
| * UserInterface/NavigationSidebarPanel.js: Added. |
| (WebInspector.NavigationSidebarPanel): |
| (WebInspector.NavigationSidebarPanel.prototype.get contentElement): |
| * UserInterface/ResourceSidebarPanel.js: |
| (WebInspector.ResourceSidebarPanel): Inherit from NavigationSidebarPanel instead of SidebarPanel. |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Add events to the Web Inspector for frame and resource changes. |
| |
| These events will be used to keep the user interface up-to-date. |
| |
| Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Frame.js: |
| (WebInspector.Frame.prototype.initialize): |
| (WebInspector.Frame.prototype.startProvisionalLoad): |
| (WebInspector.Frame.prototype.commitProvisionalLoad): |
| (WebInspector.Frame.prototype.clearProvisionalLoad): |
| (WebInspector.Frame.prototype.addChildFrame): |
| (WebInspector.Frame.prototype.removeChildFrame): |
| (WebInspector.Frame.prototype.removeAllChildFrames): |
| (WebInspector.Frame.prototype.addResource): |
| (WebInspector.Frame.prototype.removeResource): |
| (WebInspector.Frame.prototype.removeAllResources): |
| (WebInspector.Frame.prototype._resourceURLDidChange): |
| (WebInspector.Frame.prototype._dispatchMainResourceDidChangeEvent): |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype.initialize): |
| (WebInspector.FrameResourceManager.prototype.frameDidNavigate): |
| (WebInspector.FrameResourceManager.prototype.frameDidDetach): |
| (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame): |
| (WebInspector.FrameResourceManager.prototype._processMainFrameResourceTreePayload): |
| (WebInspector.FrameResourceManager.prototype._addFrameTreeFromFrameResourceTreePayload): |
| (WebInspector.FrameResourceManager.prototype._dispatchFrameWasAddedEvent): |
| (WebInspector.FrameResourceManager.prototype._dispatchMainFrameDidChangeEvent): |
| * UserInterface/Resource.js: |
| (WebInspector.Resource.prototype.updateForResponse): |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Keep WebInspector.FrameResourceManager up-to-date during resource loads. |
| |
| Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Frame.js: |
| (WebInspector.Frame): |
| (WebInspector.Frame.prototype.initialize): Add an assert. Set the loaderIdentifier and call clearProvisionalLoad. |
| (WebInspector.Frame.prototype.startProvisionalLoad): Added. |
| (WebInspector.Frame.prototype.commitProvisionalLoad): Added. |
| (WebInspector.Frame.prototype.clearProvisionalLoad): Added. |
| (WebInspector.Frame.prototype.get loaderIdentifier): Added. |
| (WebInspector.Frame.prototype.get provisionalLoaderIdentifier): Added. |
| (WebInspector.Frame.prototype.get provisionalMainResource): Added. |
| (WebInspector.Frame.prototype.addResource): Use _associateWithResource. |
| (WebInspector.Frame.prototype.removeResource): Use _disassociateWithResource. |
| (WebInspector.Frame.prototype.removeAllResources): Ditto. |
| (WebInspector.Frame.prototype._associateWithResource): Added. |
| (WebInspector.Frame.prototype._disassociateWithResource): Added. |
| (WebInspector.Frame.prototype._resourceURLDidChange): Added. |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager): Enable the NetworkAgent. |
| (WebInspector.FrameResourceManager.prototype.initialize): Initialize _resourceRequestIdentifierMap. |
| (WebInspector.FrameResourceManager.prototype.frameDidNavigate): Call commitProvisionalLoad if this was the provisionalLoaderIdentifier. |
| (WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent): Added. |
| (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache): Added. |
| (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse): Added. |
| (WebInspector.FrameResourceManager.prototype.resourceRequestDidFinishLoading): Added. |
| (WebInspector.FrameResourceManager.prototype.resourceRequestDidFailLoading): Added. |
| (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame): Added. |
| (WebInspector.FrameResourceManager.prototype._addResourceToFrame): Added. |
| (WebInspector.FrameResourceManager.prototype._createFrame): Pass the loaderId. |
| * UserInterface/NetworkObserver.js: |
| (WebInspector.NetworkObserver.prototype.requestWillBeSent): Call FrameResourceManager. |
| (WebInspector.NetworkObserver.prototype.responseReceived): Ditto. |
| (WebInspector.NetworkObserver.prototype.loadingFinished): Ditto. |
| (WebInspector.NetworkObserver.prototype.loadingFailed): Ditto. |
| (WebInspector.NetworkObserver.prototype.requestServedFromMemoryCache): Ditto. |
| * UserInterface/PageObserver.js: |
| (WebInspector.PageObserver.prototype.frameNavigated): Pass the loaderId. |
| * UserInterface/Resource.js: |
| (WebInspector.Resource): Added loaderIdentifier. |
| (WebInspector.Resource.prototype.get loaderIdentifier): Added. |
| (WebInspector.Resource.prototype.updateForRedirectResponse): Added. |
| (WebInspector.Resource.prototype.updateForResponse): Added. |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.Resource and populate existing resources for page frames. |
| |
| Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design |
| |
| Reviewed by Sam Weinig. |
| |
| * UserInterface/Frame.js: |
| (WebInspector.Frame.prototype.initialize): Remove _url and _mimeType. Add _mainResource, _resources and _resourceURLMap. |
| (WebInspector.Frame.prototype.get url): Get the URL from the mainResource. |
| (WebInspector.Frame.prototype.get mainResource): Added. |
| (WebInspector.Frame.prototype.get resources): Added. |
| (WebInspector.Frame.prototype.resourceForURL): Added. |
| (WebInspector.Frame.prototype.addResource): Added. |
| (WebInspector.Frame.prototype.removeResource): Added. |
| (WebInspector.Frame.prototype.removeAllResources): Added. |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype._createResource): Added. |
| (WebInspector.FrameResourceManager.prototype._addFrameTreeFromFrameResourceTreePayload): Call _createResource for each |
| resource in the payload. |
| * UserInterface/Main.html: |
| * UserInterface/Resource.js: Added. |
| (WebInspector.Resource): |
| (WebInspector.Resource.Type.fromMIMEType): |
| (WebInspector.Resource.prototype.get url): |
| (WebInspector.Resource.prototype.get type): |
| (WebInspector.Resource.prototype.get mimeType): |
| (WebInspector.Resource.prototype.get parentFrame): |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Keep WebInspector.FrameResourceManager up-to-date during navigation, adding and detaching frames. |
| |
| Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design |
| |
| Reviewed by Ada Chan. |
| |
| * UserInterface/Frame.js: |
| (WebInspector.Frame): Call initialize. |
| (WebInspector.Frame.prototype.initialize): Added. |
| (WebInspector.Frame.prototype.get parentFrame): Added. |
| (WebInspector.Frame.prototype.childFrameForIdentifier): Added. |
| (WebInspector.Frame.prototype.addChildFrame): Call removeChildFrame on the previous parentFrame. Set parentFrame. |
| (WebInspector.Frame.prototype.removeChildFrame): Added. |
| (WebInspector.Frame.prototype.removeAllChildFrames): Added. |
| * UserInterface/FrameResourceManager.js: |
| (WebInspector.FrameResourceManager.prototype.frameForIdentifier): Added. |
| (WebInspector.FrameResourceManager.prototype.frameDidNavigate): Added. |
| (WebInspector.FrameResourceManager.prototype.frameDidDetach): Added. |
| (WebInspector.FrameResourceManager.prototype._createFrame): Added. |
| (WebInspector.FrameResourceManager.prototype._addFrameTreeFromFrameResourceTreePayload): Use _createFrame. |
| * UserInterface/PageObserver.js: |
| (WebInspector.PageObserver.prototype.frameNavigated): Call WebInspector.FrameResourceManager.frameDidNavigate. |
| (WebInspector.PageObserver.prototype.frameDetached): Call WebInspector.FrameResourceManager.frameDidDetach. |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.FrameResourceManager and have it build up the basic frame tree for the inspected page. |
| |
| Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design |
| |
| Reviewed by Jessie Berlin. |
| |
| * UserInterface/Frame.js: Added. |
| (WebInspector.Frame): |
| (WebInspector.Frame.prototype.get id): |
| (WebInspector.Frame.prototype.get name): |
| (WebInspector.Frame.prototype.get url): |
| (WebInspector.Frame.prototype.get childFrames): |
| (WebInspector.Frame.prototype.addChildFrame): |
| * UserInterface/FrameResourceManager.js: Added. |
| (WebInspector.FrameResourceManager): |
| (WebInspector.FrameResourceManager.prototype.initialize): |
| (WebInspector.FrameResourceManager.prototype.get mainFrame): |
| (WebInspector.FrameResourceManager.prototype._processMainFrameResourceTreePayload): |
| (WebInspector.FrameResourceManager.prototype._addFrameTreeFromFrameResourceTreePayload): |
| * UserInterface/Main.html: Include Frame.js and FrameResourceManager.js. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Create an instance of WebInspector.FrameResourceManager. |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Reorder the calls in WebInspector.contentLoaded to put InspectorBackend first. |
| |
| This is needed so that the InspectorBackend is ready to use by the user interface elements. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Add Element.removeChildren, Array.remove and isEnterKey for the Web Inspector, |
| which are needed by TreeOutline. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/Utilities.js: |
| (Element.prototype.removeChildren): Added. |
| (Array.prototype.remove): Added. |
| (isEnterKey): Added. |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Copy the treeoutline.js file from the OpenSource to use in the new Web Inspector. |
| |
| Rubber-stamped by Dan Bernstein. |
| |
| * UserInterface/TreeOutline.js: Copied from WebCore/inspector/front-end/treeoutline.js. |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Copy the BinarySearch.js file from the OpenSource to use in the new Web Inspector. |
| |
| Rubber-stamped by Dan Bernstein. |
| |
| * UserInterface/BinarySearch.js: Copied from WebCore/inspector/front-end/BinarySearch.js. |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Make double clicking a sidebar divider toggle the collapsed state of the sidebar. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UserInterface/Sidebar.js: |
| (WebInspector.Sidebar): Add dblclick event listener on the resizer element. |
| (WebInspector.Sidebar.prototype._resizerDoubleClicked): Toggle the collapsed state. |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Make Element.totalOffsetLeft and Element.totalOffsetTop getters again. |
| |
| Historically these were getters until a Google engineer changed them. |
| I didn't realize they weren't anymore and used totalOffsetTop as a |
| getter when making WebInspector.NavigationBar, which is a bug. |
| |
| Reviewed by Darin Adler. |
| |
| * UserInterface/Sidebar.js: |
| (WebInspector.Sidebar.prototype._resizerMouseMoved): Remove the function call |
| when using totalOffsetLeft. |
| * UserInterface/Utilities.js: |
| (Element.prototype.totalOffsetLeft): Made a getter using __defineGetter__. |
| (Element.prototype.totalOffsetTop): Ditto. |
| |
| 2011-11-28 Timothy Hatcher <timothy@apple.com> |
| |
| Update Web Inspector event observers to reflect changes in Inspector.json from Open Source as of r101194. |
| |
| Reviewed by Anders Carlsson. |
| |
| * UserInterface/DebuggerObserver.js: |
| (WebInspector.DebuggerObserver.prototype.debuggerWasEnabled): Removed. |
| (WebInspector.DebuggerObserver.prototype.debuggerWasDisabled): Removed. |
| (WebInspector.DebuggerObserver.prototype.globalObjectCleared): Added. |
| * UserInterface/InspectorObserver.js: |
| (WebInspector.InspectorObserver.prototype.disconnectFromBackend): Removed. |
| (WebInspector.InspectorObserver.prototype.disconnectFromWorker): Added. |
| (WebInspector.InspectorObserver.prototype.bringToFront): Removed. |
| (WebInspector.InspectorObserver.prototype.reset): Removed. |
| (WebInspector.InspectorObserver.prototype.showPanel): Removed. |
| (WebInspector.InspectorObserver.prototype.startUserInitiatedDebugging): Removed. |
| * UserInterface/NetworkObserver.js: |
| (WebInspector.NetworkObserver.prototype.responseReceived): Added frameId and loaderId arguments. |
| |
| 2011-11-14 Timothy Hatcher <timothy@apple.com> |
| |
| Fix copy and paste error that called InspectorBackend.registerConsoleDispatcher |
| for all the other dispatchers. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): |
| |
| 2011-11-11 Timothy Hatcher <timothy@apple.com> |
| |
| Add the ResourceSidebarPanel class in the new Web Inspector. |
| |
| Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design |
| |
| Reviewed by Jessie Berlin. |
| |
| * UserInterface/Main.html: |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Use ResourceSidebarPanel for the Resource panel. |
| * UserInterface/ResourceSidebarPanel.js: Added. |
| (WebInspector.ResourceSidebarPanel): |
| |
| 2011-11-14 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.ApplicationCacheObserver with stubs for events defined by the "ApplicationCache" domain. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/ApplicationCacheObserver.js: Added. |
| (WebInspector.ApplicationCacheObserver): |
| (WebInspector.ApplicationCacheObserver.prototype.applicationCacheStatusUpdated): Not implemented. |
| (WebInspector.ApplicationCacheObserver.prototype.networkStateUpdated): Not implemented. |
| * UserInterface/Main.html: Include ApplicationCacheObserver.js. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Register an instance of WebInspector.ApplicationCacheObserver with InspectorBackend. |
| |
| 2011-11-14 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.DOMStorageObserver with stubs for events defined by the "DOMStorage" domain. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DOMStorageObserver.js: Added. |
| (WebInspector.DOMStorageObserver): |
| (WebInspector.DOMStorageObserver.prototype.addDOMStorage): Not implemented. |
| (WebInspector.DOMStorageObserver.prototype.updateDOMStorage): Not implemented. |
| * UserInterface/Main.html: Include DOMStorageObserver.js. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Register an instance of WebInspector.DOMStorageObserver with InspectorBackend. |
| |
| 2011-11-14 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.DatabaseObserver with stubs for events defined by the "Database" domain. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DatabaseObserver.js: Added. |
| (WebInspector.DatabaseObserver): |
| (WebInspector.DatabaseObserver.prototype.addDatabase): Not implemented. |
| (WebInspector.DatabaseObserver.prototype.sqlTransactionSucceeded): Not implemented. |
| (WebInspector.DatabaseObserver.prototype.sqlTransactionFailed): Not implemented. |
| * UserInterface/Main.html: Include DatabaseObserver.js. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Register an instance of WebInspector.DatabaseObserver with InspectorBackend. |
| |
| 2011-11-14 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.DebuggerObserver with stubs for events defined by the "Debugger" domain. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DebuggerObserver.js: Added. |
| (WebInspector.DebuggerObserver): |
| (WebInspector.DebuggerObserver.prototype.debuggerWasEnabled): Not implemented. |
| (WebInspector.DebuggerObserver.prototype.debuggerWasDisabled): Not implemented. |
| (WebInspector.DebuggerObserver.prototype.scriptParsed): Not implemented. |
| (WebInspector.DebuggerObserver.prototype.scriptFailedToParse): Not implemented. |
| (WebInspector.DebuggerObserver.prototype.breakpointResolved): Not implemented. |
| (WebInspector.DebuggerObserver.prototype.paused): Not implemented. |
| (WebInspector.DebuggerObserver.prototype.resumed): Not implemented. |
| * UserInterface/Main.html: Include DebuggerObserver.js. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Register an instance of WebInspector.DebuggerObserver with InspectorBackend. |
| |
| 2011-11-14 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.DOMObserver with stubs for events defined by the "DOM" domain. |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/DOMObserver.js: Added. |
| (WebInspector.DOMObserver): |
| (WebInspector.DOMObserver.prototype.documentUpdated): Not implemented. |
| (WebInspector.DOMObserver.prototype.setChildNodes): Not implemented. |
| (WebInspector.DOMObserver.prototype.attributeModified): Not implemented. |
| (WebInspector.DOMObserver.prototype.attributeRemoved): Not implemented. |
| (WebInspector.DOMObserver.prototype.inlineStyleInvalidated): Not implemented. |
| (WebInspector.DOMObserver.prototype.characterDataModified): Not implemented. |
| (WebInspector.DOMObserver.prototype.childNodeCountUpdated): Not implemented. |
| (WebInspector.DOMObserver.prototype.childNodeInserted): Not implemented. |
| (WebInspector.DOMObserver.prototype.childNodeRemoved): Not implemented. |
| * UserInterface/Main.html: Include DOMObserver.js. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Register an instance of WebInspector.DOMObserver with InspectorBackend. |
| |
| 2011-11-14 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.NetworkObserver with stubs for events defined by the "Network" domain. |
| |
| Reviewed by Sam Weinig. |
| |
| * UserInterface/Main.html: Include NetworkObserver.js. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Register an instance of WebInspector.NetworkObserver with InspectorBackend. |
| * UserInterface/NetworkObserver.js: Added. |
| (WebInspector.NetworkObserver): |
| (WebInspector.NetworkObserver.prototype.requestWillBeSent): Not implemented. |
| (WebInspector.NetworkObserver.prototype.requestServedFromCache): Not implemented. |
| (WebInspector.NetworkObserver.prototype.responseReceived): Not implemented. |
| (WebInspector.NetworkObserver.prototype.dataReceived): Not implemented. |
| (WebInspector.NetworkObserver.prototype.loadingFinished): Not implemented. |
| (WebInspector.NetworkObserver.prototype.loadingFailed): Not implemented. |
| (WebInspector.NetworkObserver.prototype.requestServedFromMemoryCache): Not implemented. |
| (WebInspector.NetworkObserver.prototype.webSocketWillSendHandshakeRequest): Not implemented. |
| (WebInspector.NetworkObserver.prototype.webSocketHandshakeResponseReceived): Not implemented. |
| (WebInspector.NetworkObserver.prototype.webSocketCreated): Not implemented. |
| (WebInspector.NetworkObserver.prototype.webSocketClosed): Not implemented. |
| |
| 2011-11-14 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.ConsoleObserver with stubs for events defined by the "Console" domain. |
| |
| Reviewed by Sam Weinig. |
| |
| * UserInterface/Main.html: Include ConsoleObserver.js. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Register an instance of WebInspector.ConsoleObserver with InspectorBackend. |
| * UserInterface/ConsoleObserver.js: Added. |
| (WebInspector.ConsoleObserver): |
| (WebInspector.ConsoleObserver.prototype.messageAdded): Not implemented. |
| (WebInspector.ConsoleObserver.prototype.messageRepeatCountUpdated): Not implemented. |
| (WebInspector.ConsoleObserver.prototype.messagesCleared): Not implemented. |
| |
| 2011-11-14 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.PageObserver with stubs for events defined by the "Page" domain. |
| |
| Reviewed by Sam Weinig. |
| |
| * UserInterface/Main.html: Include PageObserver.js. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Register an instance of WebInspector.PageObserver with InspectorBackend. |
| * UserInterface/PageObserver.js: Added. |
| (WebInspector.PageObserver): |
| (WebInspector.PageObserver.prototype.domContentEventFired): Not implemented. |
| (WebInspector.PageObserver.prototype.loadEventFired): Not implemented. |
| (WebInspector.PageObserver.prototype.frameNavigated): Not implemented. |
| (WebInspector.PageObserver.prototype.frameDetached): Not implemented. |
| |
| 2011-11-13 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.InspectorObserver to receive events defined by the "Inspector" domain. |
| Most of the events are unimplemented stubs at this point. |
| |
| Reviewed by Sam Weinig. |
| |
| * UserInterface/InspectorObserver.js: Added. |
| (WebInspector.InspectorObserver): |
| (WebInspector.InspectorObserver.prototype.frontendReused): Not implemented. |
| (WebInspector.InspectorObserver.prototype.bringToFront): Call through to InspectorFrontendHost. |
| (WebInspector.InspectorObserver.prototype.disconnectFromBackend): Ditto. |
| (WebInspector.InspectorObserver.prototype.reset): Not implemented. |
| (WebInspector.InspectorObserver.prototype.showPanel): Not implemented. |
| (WebInspector.InspectorObserver.prototype.startUserInitiatedDebugging): Not implemented. |
| (WebInspector.InspectorObserver.prototype.evaluateForTestInFrontend): Not implemented. |
| (WebInspector.InspectorObserver.prototype.inspect): Not implemented. |
| (WebInspector.InspectorObserver.prototype.didCreateWorker): Not implemented. |
| (WebInspector.InspectorObserver.prototype.didDestroyWorker): Not implemented. |
| * UserInterface/Main.html: Include InspectorObserver.js. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Removed the load event listener and call InspectorFrontendHost.loaded |
| here. Register an instance of WebInspector.InspectorObserver with InspectorBackend. |
| |
| 2011-11-13 Timothy Hatcher <timothy@apple.com> |
| |
| Include InspectorBackend.js and start accepting messages from the backend. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Main.html: |
| * UserInterface/Main.js: |
| (WebInspector.dispatchNextQueuedMessageFromBackend): Added. |
| (WebInspector.dispatchMessageFromBackend): Added. |
| |
| 2011-11-11 Timothy Hatcher <timothy@apple.com> |
| |
| Copy InspectorBackendStub.js from WebCore so it can be used by the new Web Inspector. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * WebInspectorUI.xcodeproj/project.pbxproj: Add new Copy WebCore Inspector Resources build phase. |
| * Configurations/Base.xcconfig: Add WEBCORE_RESOURCES_DIR. |
| |
| 2011-11-10 Timothy Hatcher <timothy@apple.com> |
| |
| Add WebInspector.FlexibleSpaceNavigationItem and make the navigation bar use flex box layout. |
| |
| This change will allow for controls that float to the right or left (like a close button when docked.) |
| |
| Part of: <rdar://problem/10318699> Implement the interface structure for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Add flexible spaces on each side. |
| * UserInterface/NavigationBar.css: |
| (.navigation-bar): Use -webkit-box. |
| (.navigation-bar > .item): Added. |
| (.navigation-bar > .item.flexible-space): Added. |
| (.navigation-bar > .item.button): Remove styles that aren't needed anymore. |
| (.navigation-bar > .item.button > .glyph): Use auto margins to center the glyph since text-align no longer works. |
| * UserInterface/NavigationBar.js: |
| (WebInspector.NavigationBar.prototype._calculateMinimumWidth): Skip flexible spaces. |
| (WebInspector.FlexibleSpaceNavigationItem): Added. |
| * UserInterface/Sidebar.js: |
| (WebInspector.Sidebar.prototype.get navigationBar): Added. |
| |
| 2011-11-10 Timothy Hatcher <timothy@apple.com> |
| |
| Rename WebInspector.NavigationItem to WebInspector.ButtonNavigationItem and make new |
| WebInspector.RadioButtonNavigationItem and WebInspector.NavigationItem classes. |
| |
| This change allows for future non-radio-button items to be placed in a NavigationBar. |
| |
| Part of: <rdar://problem/10318699> Implement the interface structure for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/NavigationBar.css: |
| (.navigation-bar > .item.button): |
| (.navigation-bar.collapsed > .item.button): |
| (.navigation-bar > .item.button > .glyph): |
| (.navigation-bar > .item.button.selected): |
| * UserInterface/NavigationBar.js: |
| (WebInspector.NavigationBar.prototype._mouseDown): |
| (WebInspector.NavigationBar.prototype._mouseMoved): |
| (WebInspector.NavigationItem): |
| (WebInspector.NavigationItem.prototype.get _classNames): |
| (WebInspector.ButtonNavigationItem): |
| (WebInspector.ButtonNavigationItem.prototype.generateStyleText): |
| (WebInspector.ButtonNavigationItem.prototype._additionalClassNames.WebInspector.ButtonNavigationItem.StyleClassName._canvasIdentifier): |
| (WebInspector.ButtonNavigationItem.prototype._generateImages._imageLoaded): |
| (WebInspector.ButtonNavigationItem.prototype._generateImages._createEmbossedCanvasImage): |
| (WebInspector.RadioButtonNavigationItem): |
| (WebInspector.RadioButtonNavigationItem.prototype.get selected): |
| (WebInspector.RadioButtonNavigationItem.prototype.set selected): |
| (WebInspector.RadioButtonNavigationItem.prototype.get active): |
| (WebInspector.RadioButtonNavigationItem.prototype.set active): |
| (WebInspector.RadioButtonNavigationItem.prototype.generateStyleText): |
| * UserInterface/Sidebar.js: |
| (WebInspector.SidebarPanel): |
| |
| 2011-11-10 Timothy Hatcher <timothy@apple.com> |
| |
| Add support for resizing the sidebars in the new Web Inspector. |
| |
| Part of: <rdar://problem/10318699> Implement the interface structure for the new Web Inspector design |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/Main.css: |
| (body): Prevent overflow. |
| (#navigation-sidebar): Moved border and background properties to Sidebar.css. |
| (#details-sidebar): Ditto. |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Specify the side for the sidebars. |
| * UserInterface/Sidebar.css: |
| (.sidebar.collapsed): Added. |
| (.sidebar > .resizer): Added. |
| (.sidebar.right > .resizer): Added. |
| (.sidebar.left > .resizer): Added. |
| (.sidebar.collapsed.right > .resizer): Added. |
| (.sidebar.collapsed.left > .resizer): Added. |
| (.sidebar.left): Added. |
| (.sidebar.left:not(.collapsed) > .navigation-bar): Added. |
| (body.window-inactive .sidebar.left > .navigation-bar): Added. |
| (.sidebar.right): Added. |
| (.sidebar.right:not(.collapsed) > .navigation-bar): Added. |
| (body.window-inactive .sidebar.right > .navigation-bar): Added. |
| * UserInterface/Sidebar.js: |
| (WebInspector.Sidebar): Added the side argument. Setup the resizer element. |
| (WebInspector.Sidebar.prototype.get minimumWidth): Added. |
| (WebInspector.Sidebar.prototype.get maximumWidth): Added. |
| (WebInspector.Sidebar.prototype.get width): Added. |
| (WebInspector.Sidebar.prototype.set width): Added. |
| (WebInspector.Sidebar.prototype.get collapsed): Added. |
| (WebInspector.Sidebar.prototype.set collapsed): Added. |
| (WebInspector.Sidebar.prototype.get side): Added. |
| (WebInspector.Sidebar.prototype._resizerMouseDown): Added. |
| (WebInspector.Sidebar.prototype._resizerMouseMoved): Added. |
| (WebInspector.Sidebar.prototype._resizerMouseUp): Added. |
| |
| 2011-11-10 Timothy Hatcher <timothy@apple.com> |
| |
| Add minimumWidth and support for collapsing of the navigation bar items in the Web Inspector. |
| |
| Part of: <rdar://problem/10318699> Implement the interface structure for the new Web Inspector design |
| |
| Reviewed by John Sullivan and Joseph Pecoraro. |
| |
| * UserInterface/NavigationBar.css: |
| (.navigation-bar): Prevent overflow. |
| * UserInterface/NavigationBar.js: |
| (WebInspector.NavigationBar.prototype.addNavigationItem): Set _minimumWidthNeedsRecalculated to true. |
| (WebInspector.NavigationBar.prototype.updateLayout): Added. |
| (WebInspector.NavigationBar.prototype.get minimumWidth): Added. Call _calculateMinimumWidth if needed. |
| (WebInspector.NavigationBar.prototype._calculateMinimumWidth): Added. |
| |
| 2011-11-09 Timothy Hatcher <timothy@apple.com> |
| |
| Use child CSS selectors for the NavigationBar in the new Web Inspector. |
| |
| Part of: <rdar://problem/10318699> Implement the interface structure for the new Web Inspector design |
| |
| Reviewed by Jon Honeycutt. |
| |
| * UserInterface/NavigationBar.css: |
| (.navigation-bar > .item): |
| (.navigation-bar.collapsed > .item): |
| (.navigation-bar > .item > .glyph): |
| (.navigation-bar > .item.selected): |
| * UserInterface/NavigationBar.js: |
| (WebInspector.NavigationItem.prototype.generateStyleText): |
| |
| 2011-11-09 Timothy Hatcher <timothy@apple.com> |
| |
| Improve the window inactive appearance for the navigation bars and sidebars in the new Web Inspector. |
| |
| Part of: <rdar://problem/10318699> Implement the interface structure for the new Web Inspector design |
| |
| Reviewed by Jon Honeycutt. |
| |
| * UserInterface/Main.css: |
| (body.window-inactive #navigation-sidebar > .navigation-bar): Added. Set a grey background color. |
| (#details-sidebar > .navigation-bar): Use a grey background color. |
| (body.window-inactive #details-sidebar > .navigation-bar): Added. Set a grey background color. |
| * UserInterface/NavigationBar.css: |
| (body.window-inactive .navigation-bar): Use a grey background color. |
| * UserInterface/Sidebar.css: |
| (body.window-inactive .sidebar): Slight tweak to the grey color to match Xcode. |
| |
| 2011-11-09 Timothy Hatcher <timothy@apple.com> |
| |
| Layout the sidebars and basic structure of the new Web Inspector. |
| |
| Part of: <rdar://problem/10318699> Implement the interface structure for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Main.css: |
| (body): Use flex-box, position to fill the viewport. Disabled user select and drag. |
| (#navigation-sidebar): Added. |
| (#navigation-sidebar > .navigation-bar): Added. |
| (#content): Added. |
| (#content-panels): Added. |
| (#quick-navigation-bar): Added. |
| (#details-sidebar): Added. |
| (#details-sidebar > .navigation-bar): Added. |
| * UserInterface/Main.html: |
| * UserInterface/Main.js: |
| (WebInspector.contentLoaded): Added. |
| (WebInspector.windowLoaded): Added. |
| |
| 2011-11-08 Timothy Hatcher <timothy@apple.com> |
| |
| Add basic Sidebar support for the new Web Inspector. |
| |
| Part of: <rdar://problem/10318699> Implement the interface structure for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein and Joseph Pecoraro. |
| |
| * UserInterface/Main.html: Include Sidebar.js and Sidebar.css. |
| * UserInterface/Main.js: |
| (windowLoaded): Change test code to use Sidebar classes. |
| * UserInterface/Sidebar.css: Added. |
| (.sidebar): |
| (body.window-inactive .sidebar): |
| (.sidebar > .navigation-bar): |
| (.sidebar > .panel): |
| (.sidebar > .panel.selected): |
| * UserInterface/Sidebar.js: Added. |
| (WebInspector.Sidebar): |
| (WebInspector.Sidebar.prototype.addSidebarPanel): |
| (WebInspector.Sidebar.prototype.get selectedSidebarPanel): |
| (WebInspector.Sidebar.prototype.set selectedSidebarPanel): |
| (WebInspector.Sidebar.prototype.get sidebarPanels): |
| (WebInspector.Sidebar.prototype.get element): |
| (WebInspector.Sidebar.prototype._navigationItemSelected): |
| (WebInspector.SidebarPanel): |
| (WebInspector.SidebarPanel.prototype.get identifier): |
| (WebInspector.SidebarPanel.prototype.get navigationItem): |
| (WebInspector.SidebarPanel.prototype.get element): |
| (WebInspector.SidebarPanel.prototype.get selected): |
| (WebInspector.SidebarPanel.prototype.set selected): |
| |
| 2011-11-08 Timothy Hatcher <timothy@apple.com> |
| |
| Fire an event when a navigation item is selected in a navigation bar. |
| |
| Part of: <rdar://problem/10318699> Implement the interface structure for the new Web Inspector design |
| |
| Reviewed by Brian Weinstein. |
| |
| * UserInterface/NavigationBar.js: |
| (WebInspector.NavigationBar.prototype.addNavigationItem): Remove unused arguments. (Drive by change.) |
| (WebInspector.NavigationBar.prototype.set selectedNavigationItem): Avoid doing work if the item is already |
| selected. Fire the event if the mouse isn't down. |
| (WebInspector.NavigationBar.prototype._mouseDown): Store the previous selected item. |
| (WebInspector.NavigationBar.prototype._mouseUp): Fire the event if the selected item is different. |
| |
| 2011-10-31 Timothy Hatcher <timothy@apple.com> |
| |
| Add the navigation bar for the new Web Insector. |
| |
| Part of: <rdar://problem/10318699> Implement the interface structure for the new Web Inspector design |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UserInterface/Images/NavigationItemBreakpoint.pdf: Added. |
| * UserInterface/Images/NavigationItemFile.pdf: Added. |
| * UserInterface/Images/NavigationItemLog.pdf: Added. |
| * UserInterface/Images/NavigationItemMagnifyingGlass.pdf: Added. |
| * UserInterface/Images/NavigationItemStopwatch.pdf: Added. |
| * UserInterface/Images/NavigationItemStorage.pdf: Added. |
| * UserInterface/Images/NavigationItemThreads.pdf: Added. |
| * UserInterface/Images/NavigationItemWarning.pdf: Added. |
| * UserInterface/Main.css: Added. |
| (*): |
| (body): |
| * UserInterface/Main.html: |
| * UserInterface/Main.js: Added. |
| (windowLoaded): |
| * UserInterface/NavigationBar.css: Added. |
| (.navigation-bar): |
| (body.window-inactive .navigation-bar): |
| (.navigation-bar .item): |
| (.navigation-bar.collapsed .item): |
| (.navigation-bar .item .glyph): |
| (.navigation-bar .item.selected): |
| (.navigation-bar:focus): |
| * UserInterface/NavigationBar.js: Added. |
| (WebInspector.NavigationBar): |
| (WebInspector.NavigationBar.prototype.addNavigationItem): |
| (WebInspector.NavigationBar.prototype.get selectedNavigationItem): |
| (WebInspector.NavigationBar.prototype.set selectedNavigationItem): |
| (WebInspector.NavigationBar.prototype.get navigationItems): |
| (WebInspector.NavigationBar.prototype.get element): |
| (WebInspector.NavigationBar.prototype._mouseDown): |
| (WebInspector.NavigationBar.prototype._mouseMoved): |
| (WebInspector.NavigationBar.prototype._mouseUp): |
| (WebInspector.NavigationBar.prototype._keyDown): |
| (WebInspector.NavigationBar.prototype._focus): |
| (WebInspector.NavigationBar.prototype._blur): |
| (WebInspector.NavigationBar.prototype._updateStyle): |
| (WebInspector.NavigationItem): |
| (WebInspector.NavigationItem.prototype.get identifier): |
| (WebInspector.NavigationItem.prototype.get displayName): |
| (WebInspector.NavigationItem.prototype.get image): |
| (WebInspector.NavigationItem.prototype.get element): |
| (WebInspector.NavigationItem.prototype.get selected): |
| (WebInspector.NavigationItem.prototype.set selected): |
| (WebInspector.NavigationItem.prototype.get active): |
| (WebInspector.NavigationItem.prototype.set active): |
| (WebInspector.NavigationItem.prototype.generateStyleText): |
| (WebInspector.NavigationItem.prototype.get _classNames): |
| (WebInspector.NavigationItem.prototype._canvasIdenitfier): |
| (WebInspector.NavigationItem.prototype._generateImages._imageLoaded): |
| (WebInspector.NavigationItem.prototype._generateImages._createEmbossedCanvasImage): |
| (WebInspector.NavigationItem.prototype._generateImages._drawImageShadow): |
| (WebInspector.NavigationItem.prototype._generateImages._invertMaskImage): |
| (WebInspector.NavigationItem.prototype._generateImages._applyImageMask): |
| (WebInspector.NavigationItem.prototype._generateImages): |
| * UserInterface/Object.js: Added. |
| (WebInspector.Object): |
| (WebInspector.Object.prototype.addEventListener): |
| (WebInspector.Object.prototype.removeEventListener): |
| (WebInspector.Object.prototype.removeAllListeners): |
| (WebInspector.Object.prototype.hasEventListeners): |
| (WebInspector.Object.prototype.dispatchEventToListeners): |
| (WebInspector.Event): |
| (WebInspector.Event.prototype.stopPropagation): |
| (WebInspector.Event.prototype.preventDefault): |
| * UserInterface/Utilities.js: Added. |
| (Node.prototype.enclosingNodeOrSelfWithClass): |
| (Node.prototype.enclosingNodeWithClass): |
| (Element.prototype.totalOffsetLeft): |
| (Element.prototype.totalOffsetTop): |
| * UserInterface/WebInspector.js: Added. |
| |
| 2011-10-28 Timothy Hatcher <timothy@apple.com> |
| |
| Add a experiments menu item to enabled the new Web Inspector. There is only a placeholder |
| for the new inspector right now, so it isn't useful for most people yet. |
| |
| This chnage depends on: https://webkit.org/b/71089 |
| |
| <rdar://problem/10318665> Make it possible to use a different front-end for the Web Inspector |
| |
| Reviewed by John Sullivan. |
| |
| * UserInterface/Main.html: Added. |