blob: 809201fd037e672f391ff5b735c2e9050ffc72a0 [file] [log] [blame]
2014-11-13 Andres Gomez <agomez@igalia.com>
Web Inspector: Replace PDF icon with SVG version
https://bugs.webkit.org/show_bug.cgi?id=137296
Reviewed by Timothy Hatcher.
Add another free icon for the Web Inspector in GTK+.
* UserInterface/Images/gtk/NavigationItemProbes.svg: Added.
2014-11-13 Timothy Hatcher <timothy@apple.com>
Web Inspector: Replace PDF Probes icon with SVG version
https://bugs.webkit.org/show_bug.cgi?id=137296
Reviewed by Joseph Pecoraro.
* UserInterface/Images/NavigationItemProbes.pdf: Removed.
* UserInterface/Images/NavigationItemProbes.svg: Added.
* UserInterface/Views/ProbeDetailsSidebarPanel.js:
(WebInspector.ProbeDetailsSidebarPanel): Use NavigationItemProbes.svg.
2014-11-12 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Reduce work when activating multiple agents sequentially
https://bugs.webkit.org/show_bug.cgi?id=138677
Reviewed by Timothy Hatcher.
* UserInterface/Base/Main.js:
(WebInspector.activateExtraDomains):
* UserInterface/Controllers/FrameResourceManager.js:
(WebInspector.FrameResourceManager.prototype._extraDomainsActivated):
* UserInterface/Controllers/StorageManager.js:
(WebInspector.StorageManager.prototype._extraDomainsActivated):
2014-11-11 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Handle activating extra agents properly after inspector has connected
https://bugs.webkit.org/show_bug.cgi?id=138639
Reviewed by Timothy Hatcher.
* UserInterface/Base/Main.js:
(WebInspector.activateExtraDomains):
2014-11-11 Jonathan Wells <jonowells@apple.com>
Web Inspector: Main.js missing many trailing semicolons
https://bugs.webkit.org/show_bug.cgi?id=138624
Add semicolons to function variable assignments.
Reviewed by Timothy Hatcher.
* UserInterface/Base/Main.js: Added semicolons.
2014-11-10 Jonathan Wells <jonowells@apple.com>
Web Inspector: Update Esprima, remove WebInspector.Esprima global.
https://bugs.webkit.org/show_bug.cgi?id=138579
Reviewed by Timothy Hatcher.
Update esprima.js file to be unchanged by removing WebInspector.Esprima global object. Move esprima.js include
so that all external libraries load before the WebInspector namespace is declared in the combined Main.js.
* UserInterface/External/Esprima/esprima.js: File updated, no changes made.
* UserInterface/Main.html: esprima.js script tag moved up with other externals.
* UserInterface/Models/ScriptSyntaxTree.js: WebInspector.Esprima changed to esprima
(WebInspector.ScriptSyntaxTree):
2014-11-10 Jonathan Wells <jonowells@apple.com>
Web Inspector: Add infrastructure for eslint based static analyzer
https://bugs.webkit.org/show_bug.cgi?id=137890
Reviewed by Timothy Hatcher.
Fix to previous patch to add AnalyzerManager and AnalyzerMessage classes. Changed Main.html to include ESLint.js
before Main.js in the combined resources.
* UserInterface/Base/Main.js:
* UserInterface/Controllers/AnalyzerManager.js: Added.
(WebInspector.AnalyzerManager):
(set WebInspector.AnalyzerManager.prototype.getAnalyzerMessagesForSourceCode.):
(set WebInspector.AnalyzerManager.prototype.getAnalyzerMessagesForSourceCode):
(set WebInspector.AnalyzerManager.prototype.set get sourceCodeCanBeAnalyzed):
(set WebInspector.AnalyzerManager.prototype._handleSourceCodeContentDidChange):
* UserInterface/Main.html:
* UserInterface/Models/AnalyzerMessage.js: Added.
(WebInspector.AnalyzerMessage):
(WebInspector.AnalyzerMessage.prototype.get sourceCodeLocation):
(WebInspector.AnalyzerMessage.prototype.get sourceCode):
(WebInspector.AnalyzerMessage.prototype.get text):
(WebInspector.AnalyzerMessage.prototype.get ruleIdentifier):
* UserInterface/Models/SourceCode.js:
2014-11-08 Matt Baker <mattbaker@apple.com>
Web Inspector: decouple child element folderization logic from FrameTreeElement
https://bugs.webkit.org/show_bug.cgi?id=138364
Reviewed by Timothy Hatcher.
Created FolderizedTreeElement base class, which FrameTreeElement now inherits via SourceCodeTreeElement.
FolderizedTreeElement uses settings provided by derived classes for labeling subfolders and to determine
folder membership for child items.
* UserInterface/Base/Main.js:
(WebInspector.canArchiveMainFrame):
* UserInterface/Main.html:
* UserInterface/Models/LayoutTimelineRecord.js:
(WebInspector.LayoutTimelineRecord.displayNameForEventType):
(WebInspector.LayoutTimelineRecord.EventType.displayName): Deleted.
* UserInterface/Models/Resource.js:
(WebInspector.Resource):
(WebInspector.Resource.typeFromMIMEType):
(WebInspector.Resource.displayNameForType):
(WebInspector.Resource.prototype.get syntheticMIMEType):
(WebInspector.Resource.prototype.updateForResponse):
(WebInspector.Resource.Type.fromMIMEType): Deleted.
(WebInspector.Resource.Type.displayName): Deleted.
* UserInterface/Models/SourceMapResource.js:
(WebInspector.SourceMapResource):
* UserInterface/Views/FolderizedTreeElement.js: Added.
(WebInspector.FolderizedTreeElement):
(WebInspector.FolderizedTreeElement.prototype.get groupedIntoFolders):
(WebInspector.FolderizedTreeElement.prototype.set folderSettingsKey):
(WebInspector.FolderizedTreeElement.prototype.registerFolderizeSettings):
(WebInspector.FolderizedTreeElement.prototype.set removeChildren):
(WebInspector.FolderizedTreeElement.prototype.addChildForRepresentedObject):
(WebInspector.FolderizedTreeElement.prototype.addRepresentedObjectToNewChildQueue):
(WebInspector.FolderizedTreeElement.prototype.removeChildForRepresentedObject):
(WebInspector.FolderizedTreeElement.prototype.compareChildTreeElements):
(WebInspector.FolderizedTreeElement.prototype.updateParentStatus):
(WebInspector.FolderizedTreeElement.prototype._clearNewChildQueue):
(WebInspector.FolderizedTreeElement.prototype._populateFromNewChildQueue):
(WebInspector.FolderizedTreeElement.prototype._removeRepresentedObjectFromNewChildQueue):
(WebInspector.FolderizedTreeElement.prototype._addTreeElement):
(WebInspector.FolderizedTreeElement.prototype._compareTreeElementsByMainTitle):
(WebInspector.FolderizedTreeElement.prototype._insertFolderTreeElement):
(WebInspector.FolderizedTreeElement.prototype._insertChildTreeElement):
(WebInspector.FolderizedTreeElement.prototype._removeTreeElement):
(WebInspector.FolderizedTreeElement.prototype._parentTreeElementForRepresentedObject):
(WebInspector.FolderizedTreeElement.prototype._folderTreeElementExpandedStateChange):
(WebInspector.FolderizedTreeElement.prototype._settingsForRepresentedObject):
(WebInspector.FolderizedTreeElement.prototype._shouldGroupIntoFolders.pushCategory):
(WebInspector.FolderizedTreeElement.prototype._shouldGroupIntoFolders):
* UserInterface/Views/FrameTreeElement.js:
(.this):
(WebInspector.FrameTreeElement.prototype.updateSourceMapResources):
(WebInspector.FrameTreeElement.prototype.onattach):
(WebInspector.FrameTreeElement.prototype.ondetach):
(WebInspector.FrameTreeElement.prototype.compareChildTreeElements):
(WebInspector.FrameTreeElement.prototype.onpopulate):
(WebInspector.FrameTreeElement.prototype._mainResourceDidChange):
(WebInspector.FrameTreeElement.prototype._resourceWasAdded):
(WebInspector.FrameTreeElement.prototype._resourceWasRemoved):
(WebInspector.FrameTreeElement.prototype._childFrameWasAdded):
(WebInspector.FrameTreeElement.prototype._childFrameWasRemoved):
(WebInspector.FrameTreeElement.prototype._childContentFlowWasAdded):
(WebInspector.FrameTreeElement.prototype._childContentFlowWasRemoved):
(WebInspector.FrameTreeElement.prototype._rootDOMNodeInvalidated):
(WebInspector.FrameTreeElement): Deleted.
(WebInspector.FrameTreeElement.prototype.removeChildren): Deleted.
(WebInspector.FrameTreeElement.prototype._updateParentStatus): Deleted.
(WebInspector.FrameTreeElement.prototype._addRepresentedObjectToNewChildQueue): Deleted.
(WebInspector.FrameTreeElement.prototype._removeRepresentedObjectFromNewChildQueue): Deleted.
(WebInspector.FrameTreeElement.prototype._populateFromNewChildQueue): Deleted.
(WebInspector.FrameTreeElement.prototype._clearNewChildQueue): Deleted.
(WebInspector.FrameTreeElement.prototype._addChildForRepresentedObject): Deleted.
(WebInspector.FrameTreeElement.prototype._removeChildForRepresentedObject): Deleted.
(WebInspector.FrameTreeElement.prototype._addTreeElementForRepresentedObject): Deleted.
(WebInspector.FrameTreeElement.prototype._addTreeElement): Deleted.
(WebInspector.FrameTreeElement.prototype._compareTreeElementsByMainTitle): Deleted.
(WebInspector.FrameTreeElement.prototype._insertFolderTreeElement): Deleted.
(WebInspector.FrameTreeElement.prototype._compareResourceTreeElements): Deleted.
(WebInspector.FrameTreeElement.prototype._insertResourceTreeElement): Deleted.
(WebInspector.FrameTreeElement.prototype._removeTreeElement): Deleted.
(WebInspector.FrameTreeElement.prototype._folderNameForResourceType): Deleted.
(WebInspector.FrameTreeElement.prototype._parentTreeElementForRepresentedObject.createFolderTreeElement): Deleted.
(WebInspector.FrameTreeElement.prototype._parentTreeElementForRepresentedObject): Deleted.
(WebInspector.FrameTreeElement.prototype._folderTreeElementExpandedStateChange): Deleted.
(WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders.pushResourceType): Deleted.
(WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders.pushCategory): Deleted.
(WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders): Deleted.
* UserInterface/Views/LayoutTimelineDataGridNode.js:
(WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent):
* UserInterface/Views/LayoutTimelineView.js:
(WebInspector.LayoutTimelineView): Deleted.
* UserInterface/Views/NetworkTimelineView.js:
(WebInspector.NetworkTimelineView): Deleted.
* UserInterface/Views/ResourceDetailsSidebarPanel.js:
(WebInspector.ResourceDetailsSidebarPanel.prototype._refreshResourceType):
* UserInterface/Views/ResourceTimelineDataGridNode.js:
(WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent):
* UserInterface/Views/SourceCodeTreeElement.js:
(WebInspector.SourceCodeTreeElement):
* UserInterface/Views/TimelineDataGrid.js:
(WebInspector.TimelineDataGrid.createColumnScopeBar):
* UserInterface/Views/TimelineRecordTreeElement.js:
(WebInspector.TimelineRecordTreeElement):
* WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
* WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
2014-11-07 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Layer summary should be bottom sticky
https://bugs.webkit.org/show_bug.cgi?id=138518
Reviewed by Timothy Hatcher.
Previously only NavigationSidebars had a content view. Now, give all
Sidebars a contentElement section for content.
Update all Details Sidebars to append content to the contentElement
instead of directly to the element. Only two Details sidebars append
to the element:
- CSSStyleDetailsSidebarPanel for the navigation bar at the top
- LayerTreeDetailsSidebarPanel for the summary view at the bottom
Take this opportunity to fix up some naming and styles as well.
* UserInterface/Views/SidebarPanel.js:
(WebInspector.SidebarPanel):
(WebInspector.SidebarPanel.prototype.get contentElement):
Give every SidebarPanel a content element.
* UserInterface/Views/DetailsSidebarPanel.css: Removed.
(.sidebar > .panel > .content):
* UserInterface/Views/SidebarPanel.css: Added.
(.sidebar > .panel > .content):
And give that content element a default style.
* UserInterface/Views/NavigationSidebarPanel.css:
(.sidebar > .panel.navigation > .content):
* UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel):
(WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline):
(WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
(WebInspector.NavigationSidebarPanel.prototype.get contentElement): Deleted.
Navigation sidebar panels now use the parent's contentElement.
Also, carry over their default styles, overriding the base.
* UserInterface/Views/LayerTreeDetailsSidebarPanel.js: Renamed from Source/WebInspectorUI/UserInterface/Views/LayerTreeSidebarPanel.js.
(WebInspector.LayerTreeDetailsSidebarPanel.prototype._buildLayerInfoSection):
(WebInspector.LayerTreeDetailsSidebarPanel.prototype._buildDataGridSection):
(WebInspector.LayerTreeDetailsSidebarPanel.prototype._buildBottomBar):
Rename LayerTreeSidebarPanel to make it clear this is a DetailsSidebarPanel.
Add the "bottom bar" to the root element, and sections to the contentElement.
* UserInterface/Views/LayerTreeDetailsSidebarPanel.css: Renamed from Source/WebInspectorUI/UserInterface/Views/LayerTreeSidebarPanel.css.
(.sidebar > .layer-tree.panel > .content):
(body.mac-platform.legacy .sidebar > .layer-tree.panel > .content):
Style the bottom bar to pin it to the bottom of the sidebar panel.
(WebInspector.CSSStyleDetailsSidebarPanel):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._navigationItemSelected):
Add the navigation bar to the root element, and sections to the contentElement.
* UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
* UserInterface/Main.html:
* WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
* WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
Update for new names.
* UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js:
(WebInspector.ApplicationCacheDetailsSidebarPanel):
* UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
* UserInterface/Views/DOMDetailsSidebarPanel.js:
(WebInspector.DOMDetailsSidebarPanel):
* UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
(WebInspector.DOMNodeDetailsSidebarPanel):
* UserInterface/Views/DetailsSidebarPanel.js:
(WebInspector.DetailsSidebarPanel):
* UserInterface/Views/ProbeDetailsSidebarPanel.js:
* UserInterface/Views/ResourceDetailsSidebarPanel.js:
(WebInspector.ResourceDetailsSidebarPanel):
(WebInspector.ResourceDetailsSidebarPanel.prototype._refreshURL):
(WebInspector.ResourceDetailsSidebarPanel.prototype._refreshImageSizeSection):
(WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestDataSection):
* UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
(WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh.delayedWork):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh):
All details sidebar panels now use the contentElement instead of element for content.
2014-11-07 Timothy Hatcher <timothy@apple.com>
Web Inspector: Cursor and scroll view jumps around when modifying styles
https://bugs.webkit.org/show_bug.cgi?id=137467
This merges commit e2962a5b0df56c8ee5a4482899d308decf3d7677 from CodeMirror.
Reviewed by Joseph Pecoraro.
* UserInterface/External/CodeMirror/codemirror.js:
(maybeScrollWindow): Signal the scrollCursorIntoView event.
(signalDOMEvent): Support string events by transforming them to event objects.
* UserInterface/Views/CodeMirrorAdditions.js:
(scrollCursorIntoView): Added. Default event listener that provides our own
implementation using WebKit's scrollIntoViewIfNeeded.
* UserInterface/Views/RulesStyleDetailsPanel.js:
(WebInspector.RulesStyleDetailsPanel.prototype.refresh): Stop doing an
extra scrollIntoViewIfNeeded call, CodeMirror does this.
2014-11-07 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Pseudo element matchedCSSRules do not include matching selector info
https://bugs.webkit.org/show_bug.cgi?id=138438
Reviewed by Benjamin Poulain.
* UserInterface/Base/Test.js:
(WebInspector.loaded):
Include a global setting for shadow dom used by DOM model classes.
Give it a "test" specific name to not override non-test setting values.
2014-11-05 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r175628.
https://bugs.webkit.org/show_bug.cgi?id=138451
Totally borked the web inspector (Requested by smfr on
#webkit).
Reverted changeset:
"Web Inspector: Add infrastructure for eslint based static
analyzer"
https://bugs.webkit.org/show_bug.cgi?id=137890
http://trac.webkit.org/changeset/175628
2014-11-05 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Specificity not shown for pseudo element styles
https://bugs.webkit.org/show_bug.cgi?id=138436
Reviewed by Benjamin Poulain.
* UserInterface/Views/CSSStyleDeclarationSection.js:
(WebInspector.CSSStyleDeclarationSection.prototype.refresh):
Previously we were skipping the pre-selector <span>s when we were
not getting a listing of matched selector indices, and missing out
on the opportunity to give each selector a specificity. Now, always
loop over selectors if we have them.
2014-11-05 Jonathan Wells <jonowells@apple.com>
Web Inspector: Add infrastructure for eslint based static analyzer
https://bugs.webkit.org/show_bug.cgi?id=137890
Reviewed by Timothy Hatcher.
Adding a manager to analyze source code, return warnings (AnalyzerMessages), and cache warnings.
* UserInterface/Base/Main.js: Create analyzerManager singleton.
* UserInterface/Controllers/AnalyzerManager.js: Added.
(WebInspector.AnalyzerManager):
(set WebInspector.AnalyzerManager.prototype.getAnalyzerMessagesForSourceCode.):
(set WebInspector.AnalyzerManager.prototype.getAnalyzerMessagesForSourceCode):
(set WebInspector.AnalyzerManager.prototype.set get sourceCodeCanBeAnalyzed):
(set WebInspector.AnalyzerManager.prototype._handleSourceCodeContentDidChange):
* UserInterface/Main.html: Add new files.
* UserInterface/Models/AnalyzerMessage.js: Added.
(WebInspector.AnalyzerMessage):
(WebInspector.AnalyzerMessage.prototype.get sourceCodeLocation):
(WebInspector.AnalyzerMessage.prototype.get sourceCode):
(WebInspector.AnalyzerMessage.prototype.get text):
(WebInspector.AnalyzerMessage.prototype.get ruleIdentifier):
* UserInterface/Models/SourceCode.js: Added call to WebInspector.Object.addConstructorFunctions().
2014-11-04 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Too much whitespace in resource details sidebar in groups
https://bugs.webkit.org/show_bug.cgi?id=138386
Reviewed by Timothy Hatcher.
* UserInterface/Views/DetailsSection.css:
(.details-section > .content > .group:first-child > .row.simple:first-child > *):
(body.mac-platform.legacy .details-section > .content > .group:first-child > .row.simple:first-child > *):
(body.mac-platform.legacy .details-section > .content > .group > .row.text):
(.details-section > .content > .group > .row.properties:not(.empty)):
(body.mac-platform.legacy .details-section > .content > .group > .row.properties:not(.empty)):
Adjust top and bottom padding.
2014-11-04 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Lots of TimelineDataGridNode asserts on reloads
https://bugs.webkit.org/show_bug.cgi?id=138387
Reviewed by Brian Burg.
The TimelineRuler.secondsPerPixel in the TimelineOverview is initialized
with a non-0 value and saved in a setting. However the TimelineRuler in
the OverviewTimelineView is not initialized with this value, and instead
initialized to 0. This patch initializes them to the same non-0 value.
* UserInterface/Views/OverviewTimelineView.js:
(WebInspector.OverviewTimelineView.prototype.set secondsPerPixel):
* UserInterface/Views/TimelineContentView.js:
2014-11-04 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Pause on exceptions should show the actual exception
https://bugs.webkit.org/show_bug.cgi?id=63096
Reviewed by Timothy Hatcher.
* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Main.html:
New strings / files.
* UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype.get pauseReason):
(WebInspector.DebuggerManager.prototype.get pauseData):
(WebInspector.DebuggerManager.prototype.reset):
(WebInspector.DebuggerManager.prototype.debuggerDidPause):
(WebInspector.DebuggerManager.prototype._pauseReasonFromPayload):
Maintain the current pause reason and auxiliary data in the manager.
* UserInterface/Protocol/DebuggerObserver.js:
(WebInspector.DebuggerObserver.prototype.paused):
Pass previously unused event parameters on to the manager.
* UserInterface/Views/ConsoleMessageImpl.js:
(WebInspector.ConsoleMessageImpl):
Style error objects in the console like Objects. The new description
string provides a richer message if you console.log(exception).
* UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel):
(WebInspector.DebuggerSidebarPanel.prototype._debuggerDidPause):
(WebInspector.DebuggerSidebarPanel.prototype._debuggerDidResume):
(WebInspector.DebuggerSidebarPanel.prototype._updatePauseReason):
Update the UI when we pause / resume to show / hide a pause reason section.
* UserInterface/Views/DetailsSectionRow.js:
(WebInspector.DetailsSectionRow.prototype.set emptyMessage):
Fix a latent bug that would have thrown an exception if the setter was ever used.
* UserInterface/Views/DetailsSectionTextRow.js: Added.
(WebInspector.DetailsSectionTextRow):
(WebInspector.DetailsSectionTextRow.prototype.get text):
(WebInspector.DetailsSectionTextRow.prototype.set text):
* UserInterface/Views/DetailsSection.css:
(.details-section > .content > .group > .row.simple.data > .value):
(.details-section > .content > .group > .row.text):
Simple class for a section of centered text. This is modelled after
the empty message text style in other sections.
* UserInterface/Views/LogContentView.css:
(.console-formatted-object, .console-formatted-node, .console-formatted-error):
(.console-formatted-object .section, .console-formatted-node .section, .console-formatted-error .section):
(.console-formatted-object .properties, .console-formatted-node .properties, .console-formatted-error .properties):
Style "error" objects like regular objects. We may wish to treat differently later.
* UserInterface/Protocol/Legacy/6.0/InspectorBackendCommands.js:
* UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
* UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
Regenerate legacy backend commands to get the new enum.
2014-11-04 Andrei Bucur <abucur@adobe.com>
Building WebInspectorUI should not run the clang static analyzer by default
https://bugs.webkit.org/show_bug.cgi?id=137652
Reviewed by Timothy Hatcher.
There's no need to have the static analyzer enabled at compile time by default for the WebInspectorUI project.
It also breaks the ASAN build because the static analyzing step runs using the default compiler not the
ASAN clang.
* Configurations/DebugRelease.xcconfig: Remove the RUN_CLANG_STATIC_ANALYZER variable.
2014-11-04 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Uncaught Exceptions when paused and hovering JavaScript without CallFrames
https://bugs.webkit.org/show_bug.cgi?id=138338
Reviewed by Geoffrey Garen.
* UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptExpression):
Fallback to using the main page's context if there is no active call frame we can use.
2014-11-03 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: TextEditor search doesn't work after editing contents
https://bugs.webkit.org/show_bug.cgi?id=138198
Reviewed by Timothy Hatcher.
* UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype.customPerformSearch):
Fallback to pure TextEditor content searching (CodeMirror) if the editor has edits.
* UserInterface/Views/TextEditor.js:
(WebInspector.TextEditor.prototype.hasEdits):
Check the CodeMirror clean state to known if we have edits or not.
2014-11-03 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Show Selector's Specificity
https://bugs.webkit.org/show_bug.cgi?id=138189
Reviewed by Timothy Hatcher.
* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Main.html:
* UserInterface/Test.html:
Add new files and strings.
* UserInterface/Models/CSSMedia.js:
Constructor functions are not needed, remove unnecessary code.
* UserInterface/Models/CSSRule.js:
(WebInspector.CSSRule.prototype.set selectors): Deleted.
This was unused and is no longer correct.
(WebInspector.CSSRule.prototype.get matchedSelectorText):
Update now that selectors are a list of objects, not just strings.
* UserInterface/Models/CSSSelector.js:
(WebInspector.CSSSelector):
(WebInspector.CSSSelector.prototype.get specificity):
New model object for protocol type CSS.CSSSelector.
* UserInterface/Models/DOMNodeStyles.js:
(WebInspector.DOMNodeStyles.prototype._parseSelectorListPayload.return):
(WebInspector.DOMNodeStyles.prototype._parseSelectorListPayload):
(WebInspector.DOMNodeStyles.prototype._parseRulePayload):
Handle parsing old and new SelectorLists.
* UserInterface/Views/CSSStyleDeclarationSection.js:
(WebInspector.CSSStyleDeclarationSection.prototype.refresh.appendSelector):
(WebInspector.CSSStyleDeclarationSection.prototype.refresh.appendSelectorText):
(WebInspector.CSSStyleDeclarationSection.prototype.refresh):
Update the code now that the list of selectors are model objects instead
of just selector text strings.
2014-11-03 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: ALTERNATE_DISPATCHERS Let the frontend know about extra agents
https://bugs.webkit.org/show_bug.cgi?id=138236
Reviewed by Brian Burg.
* UserInterface/Protocol/InspectorBackend.js:
(InspectorBackendClass.prototype.activateDomain):
* UserInterface/Protocol/InspectorObserver.js:
(WebInspector.InspectorObserver.prototype.activateExtraDomains):
* UserInterface/Base/Object.js:
* UserInterface/Base/Test.js:
* UserInterface/Base/Main.js:
(WebInspector.activateExtraDomains):
Default state is that there are no extra domains. When extra domains
are activated, some agents need to be re-initialized. Dispatch a
model event so views also know to re-initialize.
* UserInterface/Controllers/ApplicationCacheManager.js:
(WebInspector.ApplicationCacheManager.prototype._mainResourceDidChange):
* UserInterface/Controllers/DOMTreeManager.js:
Be more careful about direct agent use during main resource changes.
That can happen with a JSContext extended with a Page agent.
* UserInterface/Controllers/FrameResourceManager.js:
(WebInspector.FrameResourceManager):
(WebInspector.FrameResourceManager.prototype._mainFrameDidChange):
(WebInspector.FrameResourceManager.prototype._extraDomainsActivated):
* UserInterface/Controllers/StorageManager.js:
(WebInspector.StorageManager):
(WebInspector.StorageManager.prototype._databaseForIdentifier):
(WebInspector.StorageManager.prototype._extraDomainsActivated):
It is possible new window.FooAgent's are available. Perform expected
initialization re-checking if the agents are now available.
* UserInterface/Models/CSSCompletions.js:
Avoid re-initialization if we already did it. This should never
happen but this is just to be safe.
* UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel):
(WebInspector.ResourceSidebarPanel.prototype._extraDomainsActivated):
Don't disallow expandable tree elements if this is a JSContext with
extra domains. If that JSContext has resources, we would have been
unable to see child resources.
2014-10-30 Dana Burkart <dburkart@apple.com>
<rdar://problem/18821260> Prepare for the mysterious future
Reviewed by Lucas Forschler.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig:
2014-10-10 Brian J. Burg <burg@cs.washington.edu>
Web Inspector: timelines should not count time elapsed while paused in the debugger
https://bugs.webkit.org/show_bug.cgi?id=136351
Reviewed by Timothy Hatcher.
Don't update the timeline's current time when the debugger is paused.
Start and end times for timeline records are now in seconds elapsed since timeline
recording started, rather than milliseconds since the epoch. Also convert code that
tracks page/resource load timings to use elapsed times rather than timestamps.
Add a workaround to preserve compatibility with old backends. Convert legacy timestamps
in multiple agents to elapsed times.
* UserInterface/Controllers/FrameResourceManager.js:
(WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent):
(WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache):
(WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse):
(WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveData):
(WebInspector.FrameResourceManager.prototype.resourceRequestDidFinishLoading):
(WebInspector.FrameResourceManager.prototype.resourceRequestDidFailLoading):
(WebInspector.FrameResourceManager.prototype._addNewResourceToFrame):
* UserInterface/Controllers/ProbeManager.js:
* UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager.prototype.computeElapsedTime): Forward to the active TimelineRecording.
(WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
(WebInspector.TimelineManager.prototype.eventRecorded):
(WebInspector.TimelineManager.prototype.pageDidLoad):
(WebInspector.TimelineManager.prototype._loadNewRecording):
* UserInterface/Models/Probe.js:
(WebInspector.ProbeSample):
* UserInterface/Models/Resource.js:
(WebInspector.Resource.prototype.updateForRedirectResponse):
(WebInspector.Resource.prototype.updateForResponse):
(WebInspector.Resource.prototype.increaseSize):
(WebInspector.Resource.prototype.markAsFinished):
(WebInspector.Resource.prototype.markAsFailed):
(WebInspector.Resource.prototype.revertMarkAsFinished):
* UserInterface/Models/TimelineRecording.js:
(WebInspector.TimelineRecording.prototype.computeElapsedTime):
* UserInterface/Views/TimelineContentView.js:
(WebInspector.TimelineContentView.prototype._debuggerPaused):
(WebInspector.TimelineContentView.prototype._debuggerResumed):
2014-10-23 Jono Wells <jonowells@apple.com>
Web Inspector: Double border appearing in node sidebar in expanded items in OS X Mavericks.
https://bugs.webkit.org/show_bug.cgi?id=138011
Reviewed by Timothy Hatcher.
Selector added for OS X Mavericks and earlier versions using .mac-platform.legacy.
* UserInterface/Views/DetailsSection.css:
(body.mac-platform.legacy .details-section .details-section:first-child):
2014-10-21 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Test TestWebKitAPI/WebKit2Gtk/TestInspectorServer fails
https://bugs.webkit.org/show_bug.cgi?id=132044
Reviewed by Brian Burg.
Make sure Protocol/InspectorFrontendHostStub.js is loaded before
Base/Platform.js, because Platform uses the InspectorFrontendHost
object.
* UserInterface/Main.html:
2014-10-20 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: InspectorBackendCommands should include when to activate particular domains
https://bugs.webkit.org/show_bug.cgi?id=137753
Reviewed by Timothy Hatcher.
* UserInterface/Base/Main.js:
* UserInterface/Base/Test.js:
(WebInspector.loaded):
Activation now happens automatically so remove the hardcoded activations.
* UserInterface/Protocol/InspectorBackend.js:
(InspectorBackendClass.prototype.activateDomain):
Given no filter, always activate a domain. Otherwise only activate
if the debuggable type matches the provided filter.
* UserInterface/Protocol/Legacy/6.0/InspectorBackendCommands.js:
* UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
Only web debuggables are supported in iOS 6 and 7. The JSON files do not
need to change, all agents will auto activate.
* UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
* Versions/Inspector-iOS-8.0.json:
Specify which are web debuggables in iOS 8 since JS inspection is possible.
2014-10-20 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Generate all Inspector domains together in JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=137748
Reviewed by Brian Burg.
Change the frontend to always load all agents, but only activate a subset
of the agents depending on the type of the backend.
* UserInterface/Base/Main.js:
(WebInspector.loaded):
* UserInterface/Protocol/InspectorBackend.js:
(InspectorBackendClass.prototype.activateDomains):
(InspectorBackendClass.prototype.activateAllDomains):
(InspectorBackendClass.prototype._agentForDomain):
(InspectorBackendClass.prototype._dispatchEvent):
(InspectorBackend.Agent):
(InspectorBackend.Agent.prototype.get active):
(InspectorBackend.Agent.prototype.activate):
* UserInterface/Base/Test.js:
Only expose "window.FooAgent" or allow dispatches in the "Foo" domain
when that particular agent is activated. Currently we hardcode the list
of agents to activate for a debuggable type. This should be generated.
* UserInterface/Protocol/LoadInspectorBackendCommands.js:
Now there should always be a single "InspectorBackendCommands.js" file to load.
We may want to change the RWI path to return a single file instead of an array.
* Scripts/update-LegacyInspectorBackendCommands.rb:
* UserInterface/Protocol/Legacy/6.0/InspectorBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/Protocol/Legacy/6.0/InspectorWebBackendCommands.js.
* UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js.
* UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/Protocol/Legacy/8.0/InspectorWebBackendCommands.js.
* UserInterface/Protocol/Legacy/8.0/InspectorJSBackendCommands.js: Removed.
* Versions/Inspector-iOS-8.0.json: Renamed from Source/WebInspectorUI/Versions/InspectorWeb-iOS-8.0.json.
* Versions/InspectorJS-iOS-8.0.json: Removed.
Update Legacy versions to output a single InspectorBackendCommands.js file.
Do a straightforward merge of the iOS 8 JS/Web inputs to a single json file.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/WebInspectorUIFramework.xcconfig:
* Scripts/copy-user-interface-resources-dryrun.rb:
* Scripts/copy-user-interface-resources.pl:
* WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
* WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
* WebInspectorUI.vcxproj/build-webinspectorui.pl:
We no longer needed WebCore's Private Headers, so simplify build files
and update file names where appropriate.
2014-10-17 Jono Wells <jonowells@apple.com>
Web Inspector: Add ESLint open source library to the inspector
https://bugs.webkit.org/show_bug.cgi?id=137714
Reviewed by Joseph Pecoraro.
This adds back the eslint.js external library with a correction to Scripts/copy-user-interface-resources.pl
to prevent a build failure.
* Scripts/copy-user-interface-resources.pl: Added copy commands for ESLint.js.
* UserInterface/External/ESLint/LICENSE: Added.
* UserInterface/External/ESLint/eslint.js: Added.
2014-10-14 Jono Wells <jonowells@apple.com>
Web Inspector: Add ESLint open source library to the inspector
https://bugs.webkit.org/show_bug.cgi?id=137714
Reviewed by Timothy Hatcher.
This adds the eslint.js external library for static analysis and the necessary license.
* Scripts/copy-user-interface-resources.pl:
* UserInterface/External/ESLint/LICENSE: Added.
* UserInterface/External/ESLint/eslint.js: Added.
2014-10-14 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: paint flashing mode should be disabled when remote inspecting legacy iOS versions
https://bugs.webkit.org/show_bug.cgi?id=137575
Reviewed by Simon Fraser.
Remove setShowPaintRects from the legacy iOS protocol definitions.
The methods were unimplemented by the backends, so they should
not advertise supporting it.
* UserInterface/Protocol/Legacy/6.0/InspectorWebBackendCommands.js:
* UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
* UserInterface/Protocol/Legacy/8.0/InspectorWebBackendCommands.js:
* Versions/Inspector-iOS-6.0.json:
* Versions/Inspector-iOS-7.0.json:
* Versions/InspectorWeb-iOS-8.0.json:
2014-10-14 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Processing Instruction Nodes appear poorly in DOM Tree
https://bugs.webkit.org/show_bug.cgi?id=137681
Reviewed by Timothy Hatcher.
Handle processing instruction node types in more places. The
backend sends the contents as a pure string, not as attribute
pairs, so just include the string in the UI.
* UserInterface/Models/DOMSearchMatchObject.js:
(WebInspector.DOMSearchMatchObject.prototype._generateClassName):
(WebInspector.DOMSearchMatchObject.titleForDOMNode):
* UserInterface/Views/DOMTreeElement.js:
(WebInspector.DOMTreeElement.prototype._nodeTitleInfo):
Display the value in the UI.
* UserInterface/Views/DOMTreeElementPathComponent.js:
(WebInspector.DOMTreeElementPathComponent):
Include an icon like DOCTYPE.
* UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
(.syntax-highlighted .html-processing-instruction):
Style gray like a DOCTYPE.
2014-10-13 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Paint Flashing button does not match page state after reload
https://bugs.webkit.org/show_bug.cgi?id=137680
Reviewed by Timothy Hatcher.
* UserInterface/Base/Main.js:
(WebInspector.loaded):
Make paint flashing a frontend setting. Enable it when the inspector
is opened if it was previously enabled.
* UserInterface/Views/DOMTreeContentView.js:
(WebInspector.DOMTreeContentView):
(WebInspector.DOMTreeContentView.prototype._togglePaintFlashing):
(WebInspector.DOMTreeContentView.prototype._showPaintRectsSettingChanged):
Have the paint flashing button always match the global setting.
2014-10-13 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Improve appearance of alpha color swatches
https://bugs.webkit.org/show_bug.cgi?id=137627
Reviewed by Andreas Kling.
* UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
* UserInterface/Protocol/Legacy/8.0/InspectorWebBackendCommands.js:
* Versions/Inspector-iOS-7.0.json:
* Versions/InspectorWeb-iOS-8.0.json:
2014-10-10 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Improve appearance of alpha color swatches
https://bugs.webkit.org/show_bug.cgi?id=137627
Reviewed by Timothy Hatcher.
This improves the sizes. The color-swatch size is 1em x 1em,
which ends up being 11px, and thus there is still an imbalance.
However on both 1x and 2x displays this looks more even.
* UserInterface/Views/CSSStyleDeclarationTextEditor.css:
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch):
2014-10-10 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: assert always logs undefined instead of the desired string
https://bugs.webkit.org/show_bug.cgi?id=137632
Reviewed by Timothy Hatcher.
* UserInterface/Protocol/InspectorFrontendAPI.js:
(InspectorFrontendAPI.dispatch):
Fix the assert log to include the method name.
2014-10-10 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: CSS minification should not strip whitespace around calc +/- binary operators
https://bugs.webkit.org/show_bug.cgi?id=137624
Reviewed by Timothy Hatcher.
Be careful when stripping whitespace around "+". We want to strip for
selectors "a + b" but not for calc expressions "calc(1px + 2px)".
This is not a perfect solution, but it does a good job. It may still break
with more complex calc expressions, like "calc(1px + calc())" but this
handles the basics.
* Scripts/copy-user-interface-resources-dryrun.rb: Added.
* Scripts/cssmin.py:
(cssminify):
2014-10-09 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: DOM Storage Editing is broken in many ways, frustrating
https://bugs.webkit.org/show_bug.cgi?id=137547
Reviewed by Timothy Hatcher.
* UserInterface/Models/DOMStorageObject.js:
(WebInspector.DOMStorageObject.prototype.getEntries): Deleted.
When getting entires, populate the model object with these keys/values
so we can accurately detect duplicates in editing.
* UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid.prototype.determineNextCell):
(WebInspector.DataGrid.prototype.moveToNextCell):
When the users uses "Enter" to commit, stop editing.
(WebInspector.DataGrid.prototype._editingCommitted):
Fix title property accessor. This is not a map. This fixes an exception
when showing context menus on editable data grid rows.
* UserInterface/Views/DOMStorageContentView.js:
(WebInspector.DOMStorageContentView.prototype.cleanup):
(WebInspector.DOMStorageContentView.prototype.restoreOriginalValues):
(WebInspector.DOMStorageContentView.prototype._editingCallback):
Completely rewrite editing here. As soon as an edit is made, enter
an uncommitted state with the original key/value. When a commit is
allowed, update as appropriate based on the original values.
2014-10-08 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: CSS Pretty Printing fails to put space between value functions around ending parenthesis
https://bugs.webkit.org/show_bug.cgi?id=137415
Reviewed by Timothy Hatcher.
Add a space after a closing parenthesis if we are still inside a property.
This adds space between space separated function lists such as
-webkit-transform:foo(...)bar(...). Also add a test for keyframe syntax.
* Tools/PrettyPrinting/CodeMirrorFormatters.js:
* Tools/PrettyPrinting/css-tests/keyframes-expected.css: Added.
* Tools/PrettyPrinting/css-tests/keyframes.css: Added.
* Tools/PrettyPrinting/index.html:
* UserInterface/Views/CodeMirrorFormatters.js:
2014-10-08 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: CSS Pretty Printing fails to put space between rgb(...) and numbers in minified gradients
https://bugs.webkit.org/show_bug.cgi?id=137414
Reviewed by Timothy Hatcher.
Add whitespace between rgb(...) and a number, possible in gradient
syntax like "linear-gradient(rgb(...)0%,rgb(...)100%)".
* Tools/PrettyPrinting/CodeMirrorFormatters.js:
* Tools/PrettyPrinting/css-tests/gradient-expected.css: Added.
(.dot-nav:nth-child(1n) li a.active):
* Tools/PrettyPrinting/css-tests/gradient.css: Added.
(.dot-nav:nth-child(1n) li a.active):
* Tools/PrettyPrinting/index.html:
* UserInterface/Views/CodeMirrorFormatters.js:
2014-10-08 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: CSS Pretty Printing fails to wrap long lines of selectors with pseudo classes/elements
https://bugs.webkit.org/show_bug.cgi?id=137413
Reviewed by Timothy Hatcher.
Long line wrapping was breaking as soon as there was a ':' for a psuedo
class or element. Likewise it was counting comment strings as part of
the length of the line even though it would get a newline after it.
* Tools/PrettyPrinting/CodeMirrorFormatters.js:
* Tools/PrettyPrinting/css-tests/basic-expected.css:
(progress, section, summary, time):
* Tools/PrettyPrinting/css-tests/wrapping-expected.css: Added.
(a.tryamacs, a.upgradenows):
(a.tryamacs:hover, a.upgradenows:hover):
* Tools/PrettyPrinting/css-tests/wrapping.css: Added.
(a.browsewebappss,a.businessstores,a.buyiphones,a.buynows,a.buynows-arrow,a.comingsoons,p::before,a.descargarahoras,a.downloadituness,a.downloadnows,a.finds,a.freetrials,a.getstarteds,a.gos,a.howtoapplys,a.howtobuys,a.joinnows,a.learnmores,a.nikebuynows,a.notifymes,a.ordernows,a.preordernows,a.preorders,a.reserves,a.startyoursearchs,a.submits,a.tryamacs,a.upgradenows):
(a.browsewebappss:hover,a.businessstores:hover,a.buyiphones:hover,a.buynows:hover,a.buynows-arrow:hover,a.comingsoons:hover,p::before,a.descargarahoras:hover,a.downloadituness:hover,a.downloadnows:hover,a.finds:hover,a.freetrials:hover,a.getstarteds:hover,a.gos:hover,a.howtoapplys:hover,a.howtobuys:hover,a.joinnows:hover,a.learnmores:hover,a.nikebuynows:hover,a.notifymes:hover,a.ordernows:hover,a.preordernows:hover,a.preorders:hover,a.reserves:hover,a.startyoursearchs:hover,a.submits:hover,a.tryamacs:hover,a.upgradenows:hover):
* Tools/PrettyPrinting/index.html:
* UserInterface/Views/CodeMirrorFormatters.js:
2014-10-04 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Add PrettyPrinter CSS tests
https://bugs.webkit.org/show_bug.cgi?id=134005
Reviewed by Timothy Hatcher.
Add CSS pretty printing tests. Improve pretty printing of calc()
expressions and media-queries with whitespace around operators
and keywords. Also fix the debug output in the tool for CSS.
* Tools/PrettyPrinting/CodeMirrorFormatters.js:
* Tools/PrettyPrinting/FormatterContentBuilder.js:
(FormatterContentBuilder.prototype._appendIndent):
* Tools/PrettyPrinting/FormatterDebug.js:
(.debugToken):
(Formatter.prototype.debug):
* Tools/PrettyPrinting/css-tests/basic-expected.css: Added.
* Tools/PrettyPrinting/css-tests/basic.css: Added.
* Tools/PrettyPrinting/css-tests/calc-expected.css: Added.
* Tools/PrettyPrinting/css-tests/calc.css: Added.
* Tools/PrettyPrinting/css-tests/media-query-expected.css: Added.
* Tools/PrettyPrinting/css-tests/media-query.css: Added.
* Tools/PrettyPrinting/css-tests/selectors-expected.css: Added.
* Tools/PrettyPrinting/css-tests/selectors.css: Added.
* Tools/PrettyPrinting/index.html:
* UserInterface/Views/CodeMirrorFormatters.js:
2014-10-04 Brian J. Burg <burg@cs.washington.edu>
Unreviewed, rolling out r174319.
Causes assertions in fast/profiler tests. Needs nontrivial
investigation, will take offline.
Reverted changeset:
"Web Inspector: timelines should not count time elapsed while
paused in the debugger"
https://bugs.webkit.org/show_bug.cgi?id=136351
http://trac.webkit.org/changeset/174319
2014-10-04 Brian J. Burg <burg@cs.washington.edu>
Web Inspector: timelines should not count time elapsed while paused in the debugger
https://bugs.webkit.org/show_bug.cgi?id=136351
Reviewed by Timothy Hatcher.
Don't update the timeline's current time when the debugger is paused.
Start and end times for timeline records are now in seconds elapsed since timeline
recording started, rather than milliseconds since the epoch. Add a workaround to
preserve compatibility with old backends.
* UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager.prototype.capturingStarted):
(WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
(WebInspector.TimelineManager.prototype.eventRecorded):
* UserInterface/Views/TimelineContentView.js:
(WebInspector.TimelineContentView.prototype._debuggerPaused):
(WebInspector.TimelineContentView.prototype._debuggerResumed):
2014-10-03 Saam Barati <saambarati1@gmail.com>
Web Inspector: Move the computation that results in UI strings from JSC to the Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=137295
Reviewed by Timothy Hatcher.
The inspector now computes a set of properties that was previously
computed inside JSC.
This patch also addresses the weird experience of the
type of an expression claiming to be both a Number and
an Integer. This could be a bit confusing because Number
is supposed to represent Double|Integer and the previous
UI implied that Number was equivalent to Double. The new UI only
ever shows either the type of Number or Integer when showing
the type information of an expression. It never shows both Number
and Integer simultaneously to describe a single expression.
* UserInterface/Models/TypeSet.js:
(WebInspector.TypeSet):
(WebInspector.TypeSet.prototype.isContainedIn):
(WebInspector.TypeSet.prototype.get primitiveTypeNames):
* UserInterface/Views/TypePropertiesSection.js:
(WebInspector.TypePropertiesSection):
(WebInspector.TypePropertiesSection.prototype.onpopulate):
* UserInterface/Views/TypeTokenView.js:
(WebInspector.TypeTokenView):
(WebInspector.TypeTokenView.prototype.update):
(WebInspector.TypeTokenView.prototype._shouldShowPopover):
(WebInspector.TypeTokenView.prototype._displayTypeName):
2014-10-02 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Cannot add a new CSS Rule to elements with 3 or more class names
https://bugs.webkit.org/show_bug.cgi?id=137375
Reviewed by Timothy Hatcher.
Correctly merge all class names with dots instead of just the first two.
* UserInterface/Models/DOMNode.js:
2014-10-02 Mark Lam <mark.lam@apple.com>
Fixed the Inspector to be able to properly distinguish between scope types.
<https://webkit.org/b/137279>
Reviewed by Geoffrey Garen and Joseph Pecoraro.
* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Controllers/DebuggerManager.js:
* UserInterface/Models/ScopeChainNode.js:
* UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
- Added handling of the FunctionNameScope case.
2014-10-02 Andres Gomez <agomez@igalia.com>
Web Inspector: [GTK] Missing icons and enhancing the proportion and visibility of some icons
https://bugs.webkit.org/show_bug.cgi?id=137248
Reviewed by Carlos Garcia Campos.
Add more free icons and removed some unused ones for the Web
Inspector in GTK+.
Also, enhanced the visibility and/or proportion of several of the
icons.
* UserInterface/Images/gtk/AUTHORS:
* UserInterface/Images/gtk/COPYING:
* UserInterface/Images/gtk/Checkers.svg: Added.
* UserInterface/Images/gtk/Circle.svg: Added.
* UserInterface/Images/gtk/CloseLarge.svg: Added.
* UserInterface/Images/gtk/CloseTimeline.png: Removed.
* UserInterface/Images/gtk/CloseTimeline@2x.png: Removed.
* UserInterface/Images/gtk/Crosshair.svg:
* UserInterface/Images/gtk/DOMCharacterData.svg:
* UserInterface/Images/gtk/DOMComment.svg:
* UserInterface/Images/gtk/DOMDocument.svg:
* UserInterface/Images/gtk/DOMDocumentType.svg:
* UserInterface/Images/gtk/DOMElement.svg:
* UserInterface/Images/gtk/DOMNode.svg:
* UserInterface/Images/gtk/DOMTextNode.svg:
* UserInterface/Images/gtk/DOMTree.svg:
* UserInterface/Images/gtk/EventListener.svg:
* UserInterface/Images/gtk/Exception.svg:
* UserInterface/Images/gtk/Function.svg:
* UserInterface/Images/gtk/GradientStop.png: Added.
* UserInterface/Images/gtk/GradientStop@2x.png: Added.
* UserInterface/Images/gtk/GradientStopSelected.png: Added.
* UserInterface/Images/gtk/GradientStopSelected@2x.png: Added.
* UserInterface/Images/gtk/Issues.svg:
* UserInterface/Images/gtk/IssuesEnabled.svg:
* UserInterface/Images/gtk/LessColumns.svg: Removed.
* UserInterface/Images/gtk/Logs.svg:
* UserInterface/Images/gtk/Memory.svg: Removed.
* UserInterface/Images/gtk/MoreColumns.svg: Removed.
* UserInterface/Images/gtk/Native.svg:
* UserInterface/Images/gtk/NavigationItemAngleBrackets.svg:
* UserInterface/Images/gtk/NavigationItemBrushAndRuler.svg:
* UserInterface/Images/gtk/NavigationItemBug.svg:
* UserInterface/Images/gtk/NavigationItemFile.svg:
* UserInterface/Images/gtk/NavigationItemLayers.svg:
* UserInterface/Images/gtk/NavigationItemMagnifyingGlass.svg: Removed.
* UserInterface/Images/gtk/NavigationItemProbes.pdf: Added.
* UserInterface/Images/gtk/NavigationItemStopwatch.svg:
* UserInterface/Images/gtk/NavigationItemTypes.svg: Added.
* UserInterface/Images/gtk/PaintFlashing.svg: Added.
* UserInterface/Images/gtk/PseudoElement.svg:
* UserInterface/Images/gtk/Record.svg: Added.
* UserInterface/Images/gtk/Recording.png: Removed.
* UserInterface/Images/gtk/Recording@2x.png: Removed.
* UserInterface/Images/gtk/RecordingHovered.png: Removed.
* UserInterface/Images/gtk/RecordingHovered@2x.png: Removed.
* UserInterface/Images/gtk/RecordingStopped.png: Removed.
* UserInterface/Images/gtk/RecordingStopped@2x.png: Removed.
* UserInterface/Images/gtk/Reflection.svg:
* UserInterface/Images/gtk/ReplayPauseButton.svg: Added.
* UserInterface/Images/gtk/ReplayPlayButton.svg: Added.
* UserInterface/Images/gtk/ReplayRecordingButton.svg: Added.
* UserInterface/Images/gtk/Request.svg:
* UserInterface/Images/gtk/Resources.svg:
* UserInterface/Images/gtk/Response.svg:
* UserInterface/Images/gtk/ResultLine.svg:
* UserInterface/Images/gtk/SourceCode.svg:
* UserInterface/Images/gtk/Stop.svg: Added.
* UserInterface/Images/gtk/StyleRuleAuthor.svg:
* UserInterface/Images/gtk/StyleRuleInherited.svg:
* UserInterface/Images/gtk/StyleRuleInheritedElement.svg:
* UserInterface/Images/gtk/StyleRuleInspector.svg:
* UserInterface/Images/gtk/StyleRuleUser.svg:
* UserInterface/Images/gtk/StyleRuleUserAgent.svg:
* UserInterface/Images/gtk/Time.svg:
* UserInterface/Images/gtk/TimelineRecordAnimation.svg:
* UserInterface/Images/gtk/TimelineRecordConsoleProfile.svg: Added.
* UserInterface/Images/gtk/TimelineRecordEvent.svg:
* UserInterface/Images/gtk/TimelineRecordLayout.svg:
* UserInterface/Images/gtk/TimelineRecordPaint.svg:
* UserInterface/Images/gtk/TimelineRecordProbeSampled.svg: Added.
* UserInterface/Images/gtk/TimelineRecordScriptEvaluated.svg:
* UserInterface/Images/gtk/TimelineRecordStyle.svg:
* UserInterface/Images/gtk/TimelineRecordTimer.svg:
* UserInterface/Images/gtk/Weight.svg:
2014-09-27 Brian J. Burg <burg@cs.washington.edu>
Web Replay: Playback position updates should be sent before the next event loop input is dispatched
https://bugs.webkit.org/show_bug.cgi?id=137162
Reviewed by Timothy Hatcher.
Pausing playback from the UI was broken because of a typo. Fix this, and rename
stopPlayback to cancelPlayback.
* UserInterface/Controllers/ReplayManager.js:
(WebInspector.ReplayManager.prototype.switchSession.if):
2014-09-26 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Automatic Inspection should continue once all breakpoints are loaded
https://bugs.webkit.org/show_bug.cgi?id=137038
Reviewed by Timothy Hatcher.
* UserInterface/Base/Main.js:
Send the initialized message after we have sent all other setup messages,
such as enabling features and setting breakpoints.
2014-09-26 Saam Barati <saambarati1@gmail.com>
Web Inspector: Type Token View shows type information on hover when it shouldn't
https://bugs.webkit.org/show_bug.cgi?id=137152
Reviewed by Brian J. Burg.
TypeTokenView should only show type information when there is
more than one primitive type or more than zero objects types.
This fixes a bug in checking the length of object types.
* UserInterface/Views/TypeTokenView.js:
(WebInspector.TypeTokenView.prototype._shouldShowPopover):
2014-09-25 Timothy Hatcher <timothy@apple.com>
Web Inspector: Show type info icon is blurry
https://bugs.webkit.org/show_bug.cgi?id=137125
Reviewed by Darin Adler.
* UserInterface/Images/NavigationItemTypes.svg:
* UserInterface/Views/ScriptContentView.js:
(WebInspector.ScriptContentView):
* UserInterface/Views/TextContentView.js:
(WebInspector.TextContentView):
* UserInterface/Views/TextResourceContentView.js:
(WebInspector.TextResourceContentView):
2014-09-25 Saam Barati <saambarati1@gmail.com>
Web Inspector: console.assert(bitString) TypeSet:50
https://bugs.webkit.org/show_bug.cgi?id=137051
Reviewed by Joseph Pecoraro.
This fixes TypeSet's isContainedIn method by ensuring that
the type bit string isn't zero because the test would trivially
pass if the bit string is zero.
* UserInterface/Models/TypeSet.js:
(WebInspector.TypeSet.prototype.isContainedIn):
2014-09-25 Brian J. Burg <burg@cs.washington.edu>
Web Inspector: FunctionCall timeline records omit profile data if the debugger has paused
https://bugs.webkit.org/show_bug.cgi?id=136805
Reviewed by Timothy Hatcher.
* UserInterface/Test.html: Add missing include for ScopeChainNode.js.
2014-09-25 Brian J. Burg <burg@cs.washington.edu>
Web Inspector: sort probe details sidebar sections by source code location string
https://bugs.webkit.org/show_bug.cgi?id=137080
Reviewed by Timothy Hatcher.
Probe sections should display in the same order as associated breakpoint tree elements.
* UserInterface/Views/ProbeDetailsSidebarPanel.js:
(WebInspector.ProbeDetailsSidebarPanel.prototype.inspect.inspectedProbeSets):
(WebInspector.ProbeDetailsSidebarPanel.prototype.inspect):
2014-09-25 Andres Gomez <agomez@igalia.com>
Unreviewed. Add more free icons for the Web Inspector in GTK+.
* UserInterface/Images/gtk/AUTHORS:
* UserInterface/Images/gtk/ApplicationCacheManifest.png: Added.
* UserInterface/Images/gtk/ApplicationCacheManifest@2x.png: Added.
* UserInterface/Images/gtk/COPYING:
* UserInterface/Images/gtk/COPYING_LGPL2: Added.
* UserInterface/Images/gtk/Cookie.png: Added.
* UserInterface/Images/gtk/Cookie@2x.png: Added.
* UserInterface/Images/gtk/HoverMenuButton.png: Added.
* UserInterface/Images/gtk/HoverMenuButton@2x.png: Added.
* UserInterface/Images/gtk/InstructionPointer.png: Added.
* UserInterface/Images/gtk/InstructionPointer@2x.png: Added.
* UserInterface/Images/gtk/Log.png: Added.
* UserInterface/Images/gtk/Log@2x.png: Added.
* UserInterface/Images/gtk/Profile.png: Added.
* UserInterface/Images/gtk/Profile@2x.png: Added.
* UserInterface/Images/gtk/Recording.png: Added.
* UserInterface/Images/gtk/Recording@2x.png: Added.
* UserInterface/Images/gtk/RecordingHovered.png: Added.
* UserInterface/Images/gtk/RecordingHovered@2x.png: Added.
* UserInterface/Images/gtk/RecordingStopped.png: Added.
* UserInterface/Images/gtk/RecordingStopped@2x.png: Added.
* UserInterface/Images/gtk/Script.png: Added.
* UserInterface/Images/gtk/Script@2x.png: Added.
* UserInterface/Images/gtk/ScriptLarge.png: Added.
* UserInterface/Images/gtk/ScriptLarge@2x.png: Added.
* UserInterface/Images/gtk/SliderThumb.png: Added.
* UserInterface/Images/gtk/SliderThumb@2x.png: Added.
* UserInterface/Images/gtk/SliderThumbPressed.png: Added.
* UserInterface/Images/gtk/SliderThumbPressed@2x.png: Added.
* UserInterface/Images/gtk/Stopwatch.png: Added.
* UserInterface/Images/gtk/Stopwatch@2x.png: Added.
2014-09-21 Timothy Hatcher <timothy@apple.com>
Make the Web Inspector use a separate web process.
https://bugs.webkit.org/show_bug.cgi?id=135120
Reviewed by Anders Carlsson.
* Localizations/en.lproj/localizedStrings.js: Updated.
* UserInterface/Base/Main.js:
(WebInspector.loaded):
(WebInspector.contentLoaded):
Move InspectorFrontendHost.loaded to later in the load.
Calling it early just shows the window before we have
a user interface to show.
* UserInterface/Base/Test.js:
(WebInspector.loaded):
(WebInspector.contentLoaded):
Match the changes in Main.js.
* UserInterface/Protocol/InspectorFrontendAPI.js:
(InspectorFrontendAPI.savedURL): Change comment.
(InspectorFrontendAPI.appendedToURL): Change comment.
(InspectorFrontendAPI.dispatch): Add an assert and early
return to be safe from unknown commands.
(InspectorFrontendAPI.loadCompleted): Delete _pendingCommands,
no need to keep an empty array around a one time use.
2014-09-24 Andres Gomez <agomez@igalia.com>
Unreviewed. Add more free icons for the Web Inspector in GTK+
* UserInterface/Images/gtk/AUTHORS:
* UserInterface/Images/gtk/ApplicationCache.png: Added.
* UserInterface/Images/gtk/ApplicationCache@2x.png: Added.
* UserInterface/Images/gtk/BottomUpTree.svg: Added.
* UserInterface/Images/gtk/Breakpoint.png: Added.
* UserInterface/Images/gtk/Breakpoint@2x.png: Added.
* UserInterface/Images/gtk/BreakpointButton.svg:
* UserInterface/Images/gtk/BreakpointInactive.png: Added.
* UserInterface/Images/gtk/BreakpointInactive@2x.png: Added.
* UserInterface/Images/gtk/BreakpointInactiveButton.svg:
* UserInterface/Images/gtk/COPYING:
* UserInterface/Images/gtk/COPYING_CCBYSA3: Copied from Source/WebInspectorUI/UserInterface/Images/gtk/COPYING.
* UserInterface/Images/gtk/ClippingCSS.png: Added.
* UserInterface/Images/gtk/ClippingCSS@2x.png: Added.
* UserInterface/Images/gtk/ClippingGeneric.png: Added.
* UserInterface/Images/gtk/ClippingGeneric@2x.png: Added.
* UserInterface/Images/gtk/ClippingJS.png: Added.
* UserInterface/Images/gtk/ClippingJS@2x.png: Added.
* UserInterface/Images/gtk/CloseTimeline.png: Added.
* UserInterface/Images/gtk/CloseTimeline@2x.png: Added.
* UserInterface/Images/gtk/ColorIcon.png: Added.
* UserInterface/Images/gtk/ColorIcon@2x.png: Added.
* UserInterface/Images/gtk/Colors.png: Added.
* UserInterface/Images/gtk/Colors@2x.png: Added.
* UserInterface/Images/gtk/ColorsLarge.png: Added.
* UserInterface/Images/gtk/ColorsLarge@2x.png: Added.
* UserInterface/Images/gtk/Database.png: Added.
* UserInterface/Images/gtk/Database@2x.png: Added.
* UserInterface/Images/gtk/DatabaseTable.png: Added.
* UserInterface/Images/gtk/DatabaseTable@2x.png: Added.
* UserInterface/Images/gtk/HierarchicalNavigationItemChevron.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner1.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner10.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner11.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner12.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner2.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner3.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner4.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner5.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner6.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner7.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner8.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner9.svg: Added.
* UserInterface/Images/gtk/Issues.svg: Added.
* UserInterface/Images/gtk/IssuesEnabled.svg: Added.
* UserInterface/Images/gtk/LayerBorders.svg: Added.
* UserInterface/Images/gtk/LessColumns.svg: Added.
* UserInterface/Images/gtk/LocalStorage.png: Added.
* UserInterface/Images/gtk/LocalStorage@2x.png: Added.
* UserInterface/Images/gtk/Locked.svg: Added.
* UserInterface/Images/gtk/Logs.svg: Added.
* UserInterface/Images/gtk/Memory.svg: Added.
* UserInterface/Images/gtk/MoreColumns.svg: Added.
* UserInterface/Images/gtk/Native.svg: Added.
* UserInterface/Images/gtk/NavigationItemAngleBrackets.svg: Added.
* UserInterface/Images/gtk/NavigationItemBrushAndRuler.svg: Added.
* UserInterface/Images/gtk/NavigationItemBug.svg: Added.
* UserInterface/Images/gtk/NavigationItemCurleyBraces.svg: Added.
* UserInterface/Images/gtk/NavigationItemFile.svg: Added.
* UserInterface/Images/gtk/NavigationItemLayers.svg: Added.
* UserInterface/Images/gtk/NavigationItemLog.svg: Added.
* UserInterface/Images/gtk/NavigationItemMagnifyingGlass.svg: Added.
* UserInterface/Images/gtk/NavigationItemStopwatch.svg: Added.
* UserInterface/Images/gtk/NavigationItemStorage.svg: Added.
* UserInterface/Images/gtk/NavigationItemTrash.svg: Added.
* UserInterface/Images/gtk/NavigationItemVariable.svg: Added.
* UserInterface/Images/gtk/Network.png: Added.
* UserInterface/Images/gtk/Network@2x.png: Added.
* UserInterface/Images/gtk/NetworkLarge.png: Added.
* UserInterface/Images/gtk/NetworkLarge@2x.png: Added.
* UserInterface/Images/gtk/Pause.svg: Added.
* UserInterface/Images/gtk/Percent.svg: Added.
* UserInterface/Images/gtk/Plus.svg: Added.
* UserInterface/Images/gtk/PseudoElement.svg: Added.
* UserInterface/Images/gtk/Reflection.svg: Added.
* UserInterface/Images/gtk/Reload.svg: Added.
* UserInterface/Images/gtk/Request.svg: Added.
* UserInterface/Images/gtk/Response.svg: Added.
* UserInterface/Images/gtk/ResultLine.svg: Added.
* UserInterface/Images/gtk/Resume.svg: Added.
* UserInterface/Images/gtk/SessionStorage.png: Added.
* UserInterface/Images/gtk/SessionStorage@2x.png: Added.
* UserInterface/Images/gtk/ShadowDOM.svg: Added.
* UserInterface/Images/gtk/SourceCode.svg: Added.
* UserInterface/Images/gtk/SplitToggleDown.svg: Added.
* UserInterface/Images/gtk/SplitToggleUp.svg: Added.
* UserInterface/Images/gtk/StepInto.svg: Added.
* UserInterface/Images/gtk/StepOut.svg: Added.
* UserInterface/Images/gtk/StepOver.svg: Added.
* UserInterface/Images/gtk/StyleRuleAuthor.svg: Added.
* UserInterface/Images/gtk/StyleRuleInherited.svg: Added.
* UserInterface/Images/gtk/StyleRuleInheritedElement.svg: Added.
* UserInterface/Images/gtk/StyleRuleInspector.svg: Added.
* UserInterface/Images/gtk/StyleRuleUser.svg: Added.
* UserInterface/Images/gtk/StyleRuleUserAgent.svg: Added.
* UserInterface/Images/gtk/Time.svg: Added.
* UserInterface/Images/gtk/TimelineRecordAnimation.svg: Added.
* UserInterface/Images/gtk/TimelineRecordEvent.svg: Added.
* UserInterface/Images/gtk/TimelineRecordLayout.svg: Added.
* UserInterface/Images/gtk/TimelineRecordPaint.svg: Added.
* UserInterface/Images/gtk/TimelineRecordScriptEvaluated.svg: Added.
* UserInterface/Images/gtk/TimelineRecordStyle.svg: Added.
* UserInterface/Images/gtk/TimelineRecordTimer.svg: Added.
* UserInterface/Images/gtk/Undock.svg: Added.
* UserInterface/Images/gtk/UserInputPrompt.svg: Added.
* UserInterface/Images/gtk/UserInputPromptPrevious.svg: Added.
* UserInterface/Images/gtk/UserInputResult.svg: Added.
* UserInterface/Images/gtk/Warning.svg: Added.
* UserInterface/Images/gtk/Weight.svg: Added.
2014-09-23 Timothy Hatcher <timothy@apple.com>
Web Inspector: Remove UserInterface/Images/gtk from Apple builds
https://bugs.webkit.org/show_bug.cgi?id=136955
Reviewed by Joseph Pecoraro.
* Scripts/copy-user-interface-resources.pl:
Remove Images/Legacy and Images/gtk on Mac and Windows builds by looking
at the MAC_OS_X_VERSION_MAJOR and OFFICIAL_BUILD environment vars.
2014-09-21 Saam Barati <saambarati1@gmail.com>
Web Inspector: fix TypeSet hierarchy in TypeTokenView
https://bugs.webkit.org/show_bug.cgi?id=136982
Reviewed by Joseph Pecoraro.
The protocol object representation of TypeSet was being computed
incorrectly in JSC::TypeSet. This patch fixes that problem
and also asserts that the type information that the Web Inspector
receives is not empty.
* UserInterface/Models/TypeSet.js:
(WebInspector.TypeSet):
* UserInterface/Views/TypeTokenView.js:
(WebInspector.TypeTokenView.prototype._displayTypeName):
2014-09-21 Saam Barati <saambarati1@gmail.com>
Web Inspector: unlocalized 'many' string in type profiler inline bubble
https://bugs.webkit.org/show_bug.cgi?id=136980
Reviewed by Timothy Hatcher.
Generate the localizable string for the type profiler's "many" inline bubble.
* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Views/TypeTokenView.js:
2014-09-20 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Option+Click on CSS url(...) should jump to resource view
https://bugs.webkit.org/show_bug.cgi?id=136965
Reviewed by Timothy Hatcher.
* UserInterface/Views/CodeMirrorAdditions.js:
When parsing CSS url(...) tokens, the contents of url(...)
are a "string" type, not "atom".
2014-09-19 Daniel Bates <dabates@apple.com>
Always assume internal SDK when building configuration Production
https://bugs.webkit.org/show_bug.cgi?id=136925
<rdar://problem/18362399>
Reviewed by Dan Bernstein.
* Configurations/DebugRelease.xcconfig: Also move #include of HaveInternalSDK.xcconfig from DebugRelease.xcconfig
to Base.xcconfig so as to be consistent with the format of other Base.xcconfig/DebugRelease.xcconfig files
(e.g. Source/WebCore/Configurations/Base.xcconfig and Source/WebCore/Configurations/DebugRelease.xcconfig).
2014-09-19 Carlos Garcia Campos <cgarcia@igalia.com>
Webkitgtk 2.5.3: tarball contains APPLE LICENSE file - stating not distributable
https://bugs.webkit.org/show_bug.cgi?id=136632
Reviewed by Gustavo Noronha Silva.
Add free icons for the GTK port. These icons are from the GNOME
project, some of them adapted by Andres Gomez for the inspector.
This is only a subset of the icons, since we still don't have a
free replacement for all of them, but at least it makes the
inspector kind of usable.
* UserInterface/Images/gtk/AUTHORS: Added.
* UserInterface/Images/gtk/BackArrow.svg: Added.
* UserInterface/Images/gtk/BreakpointActionAdd.svg: Added.
* UserInterface/Images/gtk/BreakpointActionRemove.svg: Added.
* UserInterface/Images/gtk/BreakpointButton.svg: Added.
* UserInterface/Images/gtk/BreakpointInactiveButton.svg: Added.
* UserInterface/Images/gtk/Breakpoints.svg: Added.
* UserInterface/Images/gtk/COPYING: Added.
* UserInterface/Images/gtk/Close.svg: Added.
* UserInterface/Images/gtk/CloseWhite.svg: Added.
* UserInterface/Images/gtk/ContentFlow.svg: Added.
* UserInterface/Images/gtk/Crosshair.svg: Added.
* UserInterface/Images/gtk/DOMCharacterData.svg: Added.
* UserInterface/Images/gtk/DOMComment.svg: Added.
* UserInterface/Images/gtk/DOMDocument.svg: Added.
* UserInterface/Images/gtk/DOMDocumentType.svg: Added.
* UserInterface/Images/gtk/DOMElement.svg: Added.
* UserInterface/Images/gtk/DOMNode.svg: Added.
* UserInterface/Images/gtk/DOMTextNode.svg: Added.
* UserInterface/Images/gtk/DOMTree.svg: Added.
* UserInterface/Images/gtk/DisclosureTriangleSmallClosed.svg: Added.
* UserInterface/Images/gtk/DisclosureTriangleSmallOpen.svg: Added.
* UserInterface/Images/gtk/DisclosureTriangleTinyClosed.svg: Added.
* UserInterface/Images/gtk/DisclosureTriangleTinyOpen.svg: Added.
* UserInterface/Images/gtk/DockBottom.svg: Added.
* UserInterface/Images/gtk/DockRight.svg: Added.
* UserInterface/Images/gtk/DocumentCSS.png: Added.
* UserInterface/Images/gtk/DocumentCSS@2x.png: Added.
* UserInterface/Images/gtk/DocumentFont.png: Added.
* UserInterface/Images/gtk/DocumentFont@2x.png: Added.
* UserInterface/Images/gtk/DocumentGeneric.png: Added.
* UserInterface/Images/gtk/DocumentGeneric@2x.png: Added.
* UserInterface/Images/gtk/DocumentImage.png: Added.
* UserInterface/Images/gtk/DocumentImage@2x.png: Added.
* UserInterface/Images/gtk/DocumentJS.png: Added.
* UserInterface/Images/gtk/DocumentJS@2x.png: Added.
* UserInterface/Images/gtk/DocumentMarkup.png: Added.
* UserInterface/Images/gtk/DocumentMarkup@2x.png: Added.
* UserInterface/Images/gtk/DownloadArrow.svg: Added.
* UserInterface/Images/gtk/Error.svg: Added.
* UserInterface/Images/gtk/Errors.svg: Added.
* UserInterface/Images/gtk/ErrorsEnabled.svg: Added.
* UserInterface/Images/gtk/EventListener.svg: Added.
* UserInterface/Images/gtk/Exception.svg: Added.
* UserInterface/Images/gtk/FilterFieldGlyph.svg: Added.
* UserInterface/Images/gtk/FolderGeneric.png: Added.
* UserInterface/Images/gtk/FolderGeneric@2x.png: Added.
* UserInterface/Images/gtk/ForwardArrow.svg: Added.
* UserInterface/Images/gtk/Function.svg: Added.
* UserInterface/Images/gtk/GoToArrow.svg: Added.
* UserInterface/Images/gtk/Resources.svg: Added.
* UserInterface/Images/gtk/SortIndicatorDownArrow.svg: Added.
* UserInterface/Images/gtk/SortIndicatorUpArrow.svg: Added.
* UserInterface/Images/gtk/UpDownArrows.svg: Added.
2014-09-17 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Remove unnecessary prefixes in WebInspectorUI CSS
https://bugs.webkit.org/show_bug.cgi?id=136905
Reviewed by Timothy Hatcher.
Removed vendor prefixes from justify-content and a few lingering
occurances with transition, box-shadow, and display.
* UserInterface/Views/BreakpointActionView.css:
* UserInterface/Views/BreakpointTreeElement.css:
* UserInterface/Views/ButtonNavigationItem.css:
* UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
* UserInterface/Views/ControlToolbarItem.css:
* UserInterface/Views/DebuggerDashboardView.css:
* UserInterface/Views/DefaultDashboardView.css:
* UserInterface/Views/FontResourceContentView.css:
* UserInterface/Views/ImageResourceContentView.css:
* UserInterface/Views/LayerTreeSidebarPanel.css:
* UserInterface/Views/Main.css:
* UserInterface/Views/NavigationBar.css:
* UserInterface/Views/NavigationSidebarPanel.css:
* UserInterface/Views/Popover.css:
* UserInterface/Views/ReplayDashboardView.css:
* UserInterface/Views/Toolbar.css:
2014-09-17 Dean Jackson <dino@apple.com>
WebInpector can use unprefixed flexbox
https://bugs.webkit.org/show_bug.cgi?id=136899
Reviewed by Joseph Pecoraro.
Now the inspector UI itself can use a non-prefixed flexbox. This was
a basic search and replace for the following properties:
- align-content
- align-items
- align-self
- flex-basis
- flex-direction
- flex-wrap
- flex-grow
- flex-shrink
- flex
- flex-flow
- justify
* UserInterface/Views/ButtonToolbarItem.css:
* UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
* UserInterface/Views/ContentBrowser.css:
* UserInterface/Views/ControlToolbarItem.css:
* UserInterface/Views/DebuggerDashboardView.css:
* UserInterface/Views/DefaultDashboardView.css:
* UserInterface/Views/FilterBar.css:
* UserInterface/Views/FlexibleSpaceNavigationItem.css:
* UserInterface/Views/FontResourceContentView.css:
* UserInterface/Views/HierarchicalPathComponent.css:
* UserInterface/Views/ImageResourceContentView.css:
* UserInterface/Views/LayerTreeSidebarPanel.css:
* UserInterface/Views/LogContentView.css:
* UserInterface/Views/Main.css:
* UserInterface/Views/NavigationBar.css:
* UserInterface/Views/NavigationSidebarPanel.css:
* UserInterface/Views/Popover.css:
* UserInterface/Views/QuickConsole.css:
* UserInterface/Views/ReplayDashboardView.css:
* UserInterface/Views/ResourceSidebarPanel.css:
* UserInterface/Views/Toolbar.css:
2014-09-16 Dean Jackson <dino@apple.com>
Add unprefixed flexbox display values and property names/values
https://bugs.webkit.org/show_bug.cgi?id=136880
<rdar://problem/18361137>
Reviewed by Benjamin Poulain with some extra comments by Joseph Pecoraro.
* UserInterface/Models/CSSKeywordCompletions.js: Switch to all the unprefixed
flex properties.
2014-09-16 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Add Versioned Inspector protocol JSON files for iOS 8.0
https://bugs.webkit.org/show_bug.cgi?id=136873
Reviewed by Timothy Hatcher.
* Scripts/update-LegacyInspectorBackendCommands.rb:
* UserInterface/Protocol/Legacy/8.0/InspectorJSBackendCommands.js: Added.
* UserInterface/Protocol/Legacy/8.0/InspectorWebBackendCommands.js: Added.
* Versions/InspectorJS-iOS-8.0.json: Added.
* Versions/InspectorWeb-iOS-8.0.json: Added.
2014-09-16 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Fix ESLint no-extra-bind warnings
https://bugs.webkit.org/show_bug.cgi?id=136659
Reviewed by Timothy Hatcher.
* .eslintrc:
* UserInterface/Controllers/LayerTreeManager.js:
(WebInspector.LayerTreeManager.prototype.layersForNode):
2014-09-15 Matt Baker <mattbaker@apple.com>
Web Inspector: mouse drifts away from resizer when resizing docked inspector
https://bugs.webkit.org/show_bug.cgi?id=22263
Reviewed by Joseph Pecoraro.
Modified the docked resizer dragging logic to record the initial mouse down position relative to the
resizer client rectangle. Added check while dragging the resizer to ensure that the cursor is positioned
correctly with respect to the resize direction before updating the attached window dimension.
* UserInterface/Base/Main.js:
(WebInspector._dockedResizerMouseDown.dockedResizerDrag):
2014-09-11 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Fix assert in QuickConsole - main frame execution context path component
https://bugs.webkit.org/show_bug.cgi?id=136748
Reviewed by Timothy Hatcher.
This can get called for the MainFrame on page navigations.
In such cases we can return a better result from this method.
* UserInterface/Views/QuickConsole.js:
(WebInspector.QuickConsole.prototype._insertExecutionContextPathComponentForFrame):
2014-09-11 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Hide DOM search result highlights when find banner is not showing
https://bugs.webkit.org/show_bug.cgi?id=136749
Reviewed by Timothy Hatcher.
Match search highlights in TextEditor by only showing the highlight
when the find banner is showing.
* UserInterface/Views/DOMTreeOutline.css:
(.showing-find-banner .dom-tree-outline .search-result):
(.dom-tree-outline .search-highlight): Deleted.
2014-09-11 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: DOM Tree search highlights are not appearing
https://bugs.webkit.org/show_bug.cgi?id=136662
Reviewed by Timothy Hatcher.
When performing a search within the DOMTreeContentView all
search results should immediately highlight. When moving
between search results, emphasize the current with a bouncy.
Remember to remove the highlights when the search is changed
or cleared.
* UserInterface/Views/DOMTreeContentView.js:
(WebInspector.DOMTreeContentView.prototype.performSearch.searchResultsReady):
(WebInspector.DOMTreeContentView.prototype.searchCleared):
Shor or hide highlights when searches change.
(WebInspector.DOMTreeContentView.prototype.revealResult):
(WebInspector.DOMTreeContentView.prototype._revealSearchResult):
Emphasize the highlight when moving to a new current result.
(WebInspector.DOMTreeContentView.prototype._showSearchHighlights):
(WebInspector.DOMTreeContentView.prototype._hideSearchHighlights):
On each affected DOMTreeElement show or hide search highlights.
* UserInterface/Views/DOMTreeElement.js:
(WebInspector.DOMTreeElement.prototype.emphasizeSearchHighlight.animationEnded):
(WebInspector.DOMTreeElement.prototype.emphasizeSearchHighlight):
Give a brief bouncy-highlight when told to emphasize the search highlight.
(WebInspector.DOMTreeElement.prototype.updateTitle):
Remove unused and unnecessary style class on each row.
(WebInspector.DOMTreeElement.prototype._highlightSearchResults):
Update the stale code to use new function names and accessors.
* UserInterface/Views/DOMTreeOutline.css:
(.dom-tree-outline .search-highlight):
Styles for the search highlight match search highlights in the sidebar.
* UserInterface/Views/Main.css:
(.bouncy-highlight):
* UserInterface/Views/TextEditor.css:
Move bouncy-highlight to Main.css.
2014-09-10 Saam Barati <saambarati1@gmail.com>
Web Inspector: Modify the type profiler runtime protocol to transfer some computation into the WebInspector
https://bugs.webkit.org/show_bug.cgi?id=136500
Reviewed by Joseph Pecoraro.
This patch maintains the same UI in the Web Inspector for displaying
type information, but now accounts for the new protocol for type profiling.
The Inspector now has a TypeSet class that wraps the TypeDescription
protocol object and creates a simple interface for asking protocol objects
about their type.
* UserInterface/Controllers/TypeTokenAnnotator.js:
(WebInspector.TypeTokenAnnotator.prototype._insertTypeTokensForEachNode):
* UserInterface/Main.html:
* UserInterface/Models/TypeSet.js: Added.
(WebInspector.TypeSet):
(WebInspector.TypeSet.fromPayload):
(WebInspector.TypeSet.prototype.isContainedIn):
* UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptTypeInformation.handler):
(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptTypeInformation):
* UserInterface/Views/TypePropertiesSection.js:
(WebInspector.TypePropertiesSection.prototype.onpopulate):
(WebInspector.TypePropertyTreeElement.prototype.onpopulate):
* UserInterface/Views/TypeTokenView.js:
(WebInspector.TypeTokenView.prototype.update):
(WebInspector.TypeTokenView.prototype._shouldShowPopover):
(WebInspector.TypeTokenView.prototype._displayTypeName):
2014-09-10 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Eliminate typeof "undefined" checks
https://bugs.webkit.org/show_bug.cgi?id=136691
Reviewed by Alexey Proskuryakov.
* UserInterface/Base/Main.js:
(WebInspector.linkifyURLAsNode):
(WebInspector.linkifyStringAsFragment):
* UserInterface/Protocol/InspectorBackend.js:
(InspectorBackend.Command.prototype._invokeWithArguments):
* UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid.prototype.get resizeMethod):
* UserInterface/Views/NavigationBar.js:
(WebInspector.NavigationBar.prototype.get minimumWidth):
2014-09-10 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Fix obscure ESLint warnings and skip directories
https://bugs.webkit.org/show_bug.cgi?id=136686
Reviewed by Timothy Hatcher.
* .eslintignore: Added.
Skip directories we do not want ESLint to process.
* .eslintrc:
Add rules we've seen and sort sections.
* UserInterface/Controllers/FormatterContentBuilder.js:
(FormatterContentBuilder.prototype._appendIndent):
* UserInterface/Models/Color.js:
* UserInterface/Models/DOMNodeStyles.js:
(WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload):
* UserInterface/Views/CSSStyleDeclarationTextEditor.js:
* UserInterface/Views/DOMTreeDataGridNode.js:
* UserInterface/Views/DOMTreeElement.js:
(WebInspector.DOMTreeElement.prototype.ondelete):
(WebInspector.DOMTreeElement.prototype._insertInLastAttributePosition):
(WebInspector.DOMTreeElement.prototype._distinctClosingTagElement):
* UserInterface/Views/EditingSupport.js:
(WebInspector.EditingConfig):
* UserInterface/Views/LayerTreeDataGridNode.js:
(WebInspector.LayerTreeDataGridNode.prototype._makeOutlet):
* UserInterface/Views/TreeOutline.js:
(TreeOutline.prototype.appendChild):
(TreeOutline.prototype.insertChild):
(TreeOutline.prototype.removeChildAtIndex):
(TreeOutline.prototype.removeChild):
(TreeElement.prototype.expandRecursively):
Fix linter issues.
2014-09-10 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Fix ESLint consistent-return warnings
https://bugs.webkit.org/show_bug.cgi?id=136682
Reviewed by Timothy Hatcher.
* .eslintrc:
* UserInterface/Controllers/BranchManager.js:
(WebInspector.BranchManager.prototype.createBranch):
* UserInterface/Controllers/FrameResourceManager.js:
(WebInspector.FrameResourceManager.prototype._addNewResourceToFrame):
* UserInterface/Models/DOMNodeStyles.js:
(WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload):
* UserInterface/Views/BoxModelDetailsSectionRow.js:
(WebInspector.BoxModelDetailsSectionRow.prototype._applyUserInput):
* UserInterface/Views/DOMTreeElement.js:
(WebInspector.DOMTreeElement.prototype.showChild):
(WebInspector.DOMTreeElement.prototype._startEditingTarget):
(WebInspector.DOMTreeElement.prototype._startEditing):
* UserInterface/Views/EditingSupport.js:
* UserInterface/Views/EventListenerSectionGroup.js:
(WebInspector.EventListenerSectionGroup.prototype._nodeTextOrLink):
* UserInterface/Views/FrameContentView.js:
(WebInspector.FrameContentView.prototype._showContentViewForIdentifier):
* UserInterface/Views/NavigationBar.js:
(WebInspector.NavigationBar.prototype.insertNavigationItem):
(WebInspector.NavigationBar.prototype.removeNavigationItem):
* UserInterface/Views/QuickConsole.js:
(WebInspector.QuickConsole.prototype._insertExecutionContextPathComponentForFrame):
* UserInterface/Views/Sidebar.js:
(WebInspector.Sidebar.prototype.addSidebarPanel):
(WebInspector.Sidebar.prototype.removeSidebarPanel):
* UserInterface/Views/TextEditor.js:
(WebInspector.TextEditor.prototype.addStyleClassToLine):
(WebInspector.TextEditor.prototype.removeStyleClassFromLine):
(WebInspector.TextEditor.prototype.toggleStyleClassForLine):
2014-09-10 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Fix ESLint no-undef warnings
https://bugs.webkit.org/show_bug.cgi?id=136660
Reviewed by Timothy Hatcher.
* UserInterface/Models/DOMSearchMatchObject.js:
(WebInspector.DOMSearchMatchObject.prototype._generateClassName):
(WebInspector.DOMSearchMatchObject.titleForDOMNode):
* UserInterface/Models/Gradient.js:
(WebInspector.Gradient.fromString):
* UserInterface/Views/CodeMirrorAdditions.js:
* UserInterface/Views/ReplayDashboardView.js:
(WebInspector.ReplayDashboardView):
2014-09-10 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Remove unused Console search highlight methods
https://bugs.webkit.org/show_bug.cgi?id=136661
Reviewed by Timothy Hatcher.
ESLint's no-undef warning complained about some undefined references
in these functions that would have thrown exceptions. Turns out this
code is unused, and we do highlighting in the console separately.
* UserInterface/Views/ConsoleCommand.js:
(WebInspector.ConsoleCommand.prototype.clearHighlight): Deleted.
(WebInspector.ConsoleCommand.prototype.highlightSearchResults): Deleted.
(WebInspector.ConsoleCommand.prototype.matchesRegex): Deleted.
* UserInterface/Views/ConsoleMessageImpl.js:
(WebInspector.ConsoleMessageImpl.prototype.clearHighlight): Deleted.
(WebInspector.ConsoleMessageImpl.prototype.highlightSearchResults): Deleted.
(WebInspector.ConsoleMessageImpl.prototype.matchesRegex): Deleted.
2014-09-10 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Fix ESLint* no-avoidable-bind warnings
https://bugs.webkit.org/show_bug.cgi?id=136690
Reviewed by Timothy Hatcher.
* UserInterface/Protocol/RemoteObject.js:
(WebInspector.LocalJSONObject.prototype._children):
* UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
(WebInspector.CSSStyleDetailsSidebarPanel):
* UserInterface/Views/LayerTreeSidebarPanel.js:
(WebInspector.LayerTreeSidebarPanel.prototype._updateDataGrid):
* UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView.prototype._filterMessages):
* UserInterface/Views/TextResourceContentView.js:
(WebInspector.TextResourceContentView.prototype.get supplementalRepresentedObjects):
2014-09-09 Benjamin Poulain <bpoulain@apple.com>
Disable the "unreachable-code" warning
https://bugs.webkit.org/show_bug.cgi?id=136677
Reviewed by Darin Adler.
* Configurations/Base.xcconfig:
2014-09-08 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Fix ESLint no-trailing-spaces warnings
https://bugs.webkit.org/show_bug.cgi?id=136657
Reviewed by Andy Estes.
* .eslintrc:
* UserInterface/Base/DOMUtilities.js:
* UserInterface/Base/URLUtilities.js:
(relativePath):
* UserInterface/Base/Utilities.js:
* UserInterface/Controllers/CodeMirrorColorEditingController.js:
(WebInspector.CodeMirrorColorEditingController.prototype._colorPickerColorChanged):
* UserInterface/Controllers/CodeMirrorDragToAdjustNumberController.js:
(WebInspector.CodeMirrorDragToAdjustNumberController.prototype.set enabled):
(WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerCanAdjustObjectAtPoint):
* UserInterface/Controllers/CodeMirrorEditingController.js:
(WebInspector.CodeMirrorEditingController.prototype.handleKeydownEvent):
* UserInterface/Controllers/CodeMirrorGradientEditingController.js:
(WebInspector.CodeMirrorGradientEditingController.prototype.gradientSliderStopWasSelected):
* UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
(WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
* UserInterface/Controllers/DragToAdjustController.js:
(WebInspector.DragToAdjustController.prototype.set active):
(WebInspector.DragToAdjustController.prototype._setDragging):
(WebInspector.DragToAdjustController.prototype._setTracksMouseClickAndDrag):
* UserInterface/External/Esprima/esprima.js:
* UserInterface/Models/ApplicationCacheFrame.js:
(WebInspector.ApplicationCacheFrame):
* UserInterface/Models/ApplicationCacheManifest.js:
(WebInspector.ApplicationCacheManifest):
(WebInspector.ApplicationCacheManifest.prototype.get manifestURL):
* UserInterface/Models/CookieStorageObject.js:
* UserInterface/Models/DOMSearchMatchObject.js:
(WebInspector.DOMSearchMatchObject.prototype.get title):
(WebInspector.DOMSearchMatchObject.titleForDOMNode):
* UserInterface/Models/DatabaseObject.js:
(WebInspector.DatabaseObject.prototype.getTableNames):
* UserInterface/Models/DatabaseTableObject.js:
(WebInspector.DatabaseTableObject):
* UserInterface/Models/Gradient.js:
(WebInspector.Gradient.fromString):
(WebInspector.RadialGradient.prototype.toString):
* UserInterface/Models/IssueMessage.js:
(WebInspector.IssueMessage.prototype._formatTextIfNecessary):
* UserInterface/Models/Resource.js:
(WebInspector.Resource.prototype.getImageSize.imageDidLoad):
(WebInspector.Resource.prototype.getImageSize):
* UserInterface/Models/Script.js:
(WebInspector.Script.prototype._makeSyntaxTree):
* UserInterface/Models/SourceCodeLocation.js:
(WebInspector.SourceCodeLocation.prototype.hasDifferentDisplayLocation):
* UserInterface/Models/TextMarker.js:
* UserInterface/Protocol/PageObserver.js:
* UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js:
(WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.set applicationCacheFrame):
(WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.refresh):
(WebInspector.ApplicationCacheDetailsSidebarPanel.prototype._networkStateUpdated):
* UserInterface/Views/ApplicationCacheFrameTreeElement.js:
(WebInspector.ApplicationCacheFrameTreeElement):
* UserInterface/Views/ApplicationCacheManifestTreeElement.js:
(WebInspector.ApplicationCacheManifestTreeElement.prototype.get name):
(WebInspector.ApplicationCacheManifestTreeElement.prototype.get secondaryName):
* UserInterface/Views/ButtonNavigationItem.js:
(WebInspector.ButtonNavigationItem):
* UserInterface/Views/ColorPicker.js:
* UserInterface/Views/ColorWheel.js:
(WebInspector.ColorWheel.prototype._draw):
* UserInterface/Views/CompletionSuggestionsView.js:
(WebInspector.CompletionSuggestionsView.prototype.show):
* UserInterface/Views/ConsoleCommand.js:
* UserInterface/Views/ConsolePrompt.js:
* UserInterface/Views/ContentFlowTreeElement.js:
* UserInterface/Views/CookieStorageTreeElement.js:
(WebInspector.CookieStorageTreeElement):
* UserInterface/Views/EventListenerSectionGroup.js:
(WebInspector.EventListenerSectionGroup.prototype._functionTextOrLink):
* UserInterface/Views/GeneralTreeElementPathComponent.js:
* UserInterface/Views/GoToLineDialog.js:
(WebInspector.GoToLineDialog.prototype._handleKeydownEvent):
* UserInterface/Views/LayerTreeDataGridNode.js:
(WebInspector.LayerTreeDataGridNode.prototype._makeNameCell):
* UserInterface/Views/LayerTreeSidebarPanel.js:
* UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView.prototype._highlightRanges):
* UserInterface/Views/NavigationBar.js:
(WebInspector.NavigationBar):
* UserInterface/Views/NavigationItem.js:
(WebInspector.NavigationItem):
* UserInterface/Views/ResourceDetailsSidebarPanel.js:
(WebInspector.ResourceDetailsSidebarPanel.prototype._refreshImageSizeSection):
* UserInterface/Views/ScopeBar.js:
* UserInterface/Views/ScopeBarItem.js:
(WebInspector.ScopeBarItem):
* UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
(WebInspector.ScopeChainDetailsSidebarPanel):
* UserInterface/Views/ScriptTimelineDataGridNode.js:
(WebInspector.ScriptTimelineDataGridNode.prototype.updateRangeTimes):
* UserInterface/Views/ScriptTreeElement.js:
(WebInspector.ScriptTreeElement):
* UserInterface/Views/SearchBar.js:
* UserInterface/Views/SearchResultTreeElement.js:
(WebInspector.SearchResultTreeElement.truncateAndHighlightTitle):
* UserInterface/Views/Slider.js:
2014-09-09 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Fix ESLint eqeqeq warnings
https://bugs.webkit.org/show_bug.cgi?id=136658
Reviewed by Andy Estes.
* UserInterface/Controllers/DOMTreeManager.js:
(WebInspector.DOMTreeManager.prototype.mycallback):
(WebInspector.DOMTreeManager.prototype.searchResult):
* UserInterface/Models/Breakpoint.js:
(WebInspector.Breakpoint.prototype.clearActions):
* UserInterface/Models/DOMTree.js:
(WebInspector.DOMTree.prototype._requestRootDOMNode.rootObjectAvailable):
(WebInspector.DOMTree.prototype._requestRootDOMNode.rootDOMNodeAvailable):
(WebInspector.DOMTree.prototype._requestRootDOMNode.dispatchCallbacks):
(WebInspector.DOMTree.prototype._requestRootDOMNode):
* UserInterface/Models/ProbeSet.js:
(WebInspector.ProbeSet.prototype.removeProbe):
* UserInterface/Models/ProbeSetDataTable.js:
(WebInspector.ProbeSetDataTable.prototype.addSampleForProbe):
* UserInterface/Views/CodeMirrorAdditions.js:
* UserInterface/Views/CookieStorageContentView.js:
(WebInspector.CookieStorageContentView.prototype._filterCookies):
(WebInspector.cookieMatchesResourceURL):
* UserInterface/Views/DOMStorageContentView.js:
(WebInspector.DOMStorageContentView.prototype._editingCallback):
* UserInterface/Views/DOMTreeElement.js:
(WebInspector.DOMTreeElement):
(WebInspector.DOMTreeElement.prototype._updateChildren):
(WebInspector.DOMTreeElement.prototype._startEditingTarget):
(WebInspector.DOMTreeElement.prototype._textNodeEditingCommitted):
* UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid.prototype._resizerDragging):
* UserInterface/Views/DatabaseContentView.js:
(WebInspector.DatabaseContentView.prototype._queryError):
* UserInterface/Views/DetailsSectionSimpleRow.js:
(.valueElementClicked):
(WebInspector.DetailsSectionSimpleRow):
* UserInterface/Views/Slider.js:
(WebInspector.Slider.prototype.get _maxX):
* UserInterface/Views/TreeOutline.js:
(TreeElement.prototype.expand):
2014-09-09 Jono Wells <jonowells@apple.com>
Web Inspector: Fix ESLint no-extra-semi
https://bugs.webkit.org/show_bug.cgi?id=136666
Reviewed by Andy Estes.
Add explicit no-extra-semi rule to .eslintrc. Remove all unnecessary
semicolons as identified by ESLint.
* .eslintrc:
* Tools/PrettyPrinting/Formatter.js:
(Formatter):
* UserInterface/Controllers/Formatter.js:
(Formatter):
* UserInterface/Models/Resource.js:
(WebInspector.Resource.prototype.getImageSize.imageDidLoad):
(WebInspector.Resource.prototype.getImageSize):
* UserInterface/Views/LayerTreeSidebarPanel.js:
(WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid.comparator):
(WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid):
* UserInterface/Views/ObjectPropertiesSection.js:
(WebInspector.ObjectPropertyTreeElement.prototype.callback):
(WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
2014-09-09 Jono Wells <jonowells@apple.com>
Web Inspector: Fix ESLint semi (missing semicolon)
https://bugs.webkit.org/show_bug.cgi?id=136665
Reviewed by Andy Estes.
Add missing semicolons as identified by ESLint. Add explicit semi rule to .eslintrc.
* .eslintrc:
* Tools/PrettyPrinting/FormatterContentBuilder.js:
* Tools/PrettyPrinting/FormatterDebug.js:
(Formatter.prototype.debug):
* UserInterface/Base/DOMUtilities.js:
* UserInterface/Base/EventListener.js:
(WebInspector.EventListener):
(WebInspector.EventListener.prototype.this._callback):
(WebInspector.EventListener.prototype.connect):
* UserInterface/Base/Object.js:
(WebInspector.Object):
(WebInspector.Object.addConstructorFunctions):
(WebInspector.Event):
* UserInterface/Base/URLUtilities.js:
(WebInspector.displayNameForURL):
(WebInspector.displayNameForHost):
* UserInterface/Base/Utilities.js:
(.):
* UserInterface/Controllers/BranchManager.js:
(WebInspector.BranchManager):
* UserInterface/Controllers/CSSStyleManager.js:
(WebInspector.CSSStyleManager):
* UserInterface/Controllers/CodeMirrorColorEditingController.js:
(WebInspector.CodeMirrorColorEditingController):
* UserInterface/Controllers/CodeMirrorEditingController.js:
(WebInspector.CodeMirrorEditingController):
* UserInterface/Controllers/CodeMirrorGradientEditingController.js:
(WebInspector.CodeMirrorGradientEditingController):
(WebInspector.CodeMirrorGradientEditingController.prototype.popoverDidPresent):
* UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
* UserInterface/Controllers/FormatterContentBuilder.js:
* UserInterface/Controllers/FormatterSourceMap.js:
(WebInspector.FormatterSourceMap.fromBuilder):
* UserInterface/Controllers/IssueManager.js:
(WebInspector.IssueManager):
* UserInterface/Controllers/LogManager.js:
(WebInspector.LogManager):
* UserInterface/Models/BreakpointAction.js:
* UserInterface/Models/CSSCompletions.js:
(WebInspector.CSSCompletions):
(WebInspector.CSSCompletions.requestCSSNameCompletions):
* UserInterface/Models/CSSKeywordCompletions.js:
(WebInspector.CSSKeywordCompletions.forProperty):
(WebInspector.CSSKeywordCompletions.isColorAwareProperty):
* UserInterface/Models/CSSStyleSheet.js:
(WebInspector.CSSStyleSheet.resetUniqueDisplayNameNumbers):
* UserInterface/Models/Color.js:
(WebInspector.Color):
(WebInspector.Color.fromString):
* UserInterface/Models/DOMNode.js:
(WebInspector.DOMNode):
* UserInterface/Models/DOMSearchMatchObject.js:
(WebInspector.DOMSearchMatchObject.titleForDOMNode):
* UserInterface/Models/ExecutionContext.js:
(WebInspector.ExecutionContext.supported):
* UserInterface/Models/Gradient.js:
(WebInspector.LinearGradient):
(WebInspector.LinearGradient.linearGradientWithComponents):
(WebInspector.RadialGradient):
(WebInspector.RadialGradient.radialGradientWithComponents):
* UserInterface/Models/IssueMessage.js:
(WebInspector.IssueMessage):
* UserInterface/Models/ReplaySessionSegment.js:
(WebInspector.IncompleteSessionSegment):
* UserInterface/Models/Resource.js:
(WebInspector.Resource.prototype.associateWithScript):
* UserInterface/Models/Script.js:
(WebInspector.Script.resetUniqueDisplayNameNumbers):
* UserInterface/Models/Setting.js:
(WebInspector.Setting):
* UserInterface/Models/SourceCodePosition.js:
(WebInspector.SourceCodePosition):
* UserInterface/Models/SourceMap.js:
(WebInspector.SourceMap):
(WebInspector.SourceMap.StringCharIterator):
* UserInterface/Models/TextMarker.js:
(WebInspector.TextMarker):
* UserInterface/Models/TextRange.js:
(WebInspector.TextRange):
* UserInterface/Protocol/InspectorFrontendHostStub.js:
(.WebInspector.InspectorFrontendHostStub):
* UserInterface/Protocol/MessageDispatcher.js:
(WebInspector.dispatchNextQueuedMessageFromBackend):
(WebInspector.dispatchMessageFromBackend):
* UserInterface/Protocol/RemoteObject.js:
(WebInspector.RemoteObject):
(WebInspector.RemoteObject.fromPrimitiveValue):
(WebInspector.RemoteObject.fromLocalObject):
(WebInspector.RemoteObject.resolveNode):
(WebInspector.RemoteObject.fromPayload):
(WebInspector.RemoteObject.type):
(WebInspector.RemoteObjectProperty):
(WebInspector.RemoteObjectProperty.fromPrimitiveValue):
(WebInspector.LocalJSONObject):
* UserInterface/Protocol/ReplayObserver.js:
(WebInspector.ReplayPosition.fromProtocol):
* UserInterface/Views/BreakpointActionView.js:
(WebInspector.BreakpointActionView.displayStringForType):
* UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype.if):
* UserInterface/Views/ClusterContentView.js:
(WebInspector.ClusterContentView.prototype.goBack):
(WebInspector.ClusterContentView.prototype.goForward):
* UserInterface/Views/CodeMirrorAdditions.js:
* UserInterface/Views/ColorWheel.js:
(WebInspector.ColorWheel):
* UserInterface/Views/ConsoleMessage.js:
(WebInspector.ConsoleMessage):
(WebInspector.ConsoleMessage.create):
* UserInterface/Views/ConsoleMessageImpl.js:
(WebInspector.ConsoleMessageImpl):
* UserInterface/Views/ContextMenu.js:
(WebInspector.ContextMenuItem):
(WebInspector.ContextSubMenuItem):
(WebInspector.ContextMenu):
(WebInspector.ContextMenu.Provider):
(WebInspector.ContextMenu.registerProvider):
(WebInspector.contextMenuItemSelected):
(WebInspector.contextMenuCleared):
* UserInterface/Views/DOMTreeElement.js:
(WebInspector.DOMTreeElement):
* UserInterface/Views/DOMTreeOutline.js:
(WebInspector.DOMTreeOutline):
* UserInterface/Views/DOMTreeUpdater.js:
(WebInspector.DOMTreeUpdater):
* UserInterface/Views/DatabaseContentView.js:
(WebInspector.DatabaseContentView):
* UserInterface/Views/EditingSupport.js:
(WebInspector.isBeingEdited):
(WebInspector.markBeingEdited):
(WebInspector.isEditingAnyField):
(WebInspector.isEventTargetAnEditableField):
(WebInspector.EditingConfig):
(WebInspector.startEditing):
* UserInterface/Views/EventListenerSection.js:
(WebInspector.EventListenerSection):
* UserInterface/Views/EventListenerSectionGroup.js:
(WebInspector.EventListenerSectionGroup):
* UserInterface/Views/FindBanner.js:
* UserInterface/Views/GeneralTreeElement.js:
(WebInspector.GeneralTreeElement):
* UserInterface/Views/GoToLineDialog.js:
(WebInspector.GoToLineDialog):
* UserInterface/Views/IndeterminateProgressSpinner.js:
(WebInspector.IndeterminateProgressSpinner):
* UserInterface/Views/LayoutTimelineDataGrid.js:
(WebInspector.LayoutTimelineDataGrid):
* UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView):
* UserInterface/Views/NavigationItem.js:
* UserInterface/Views/ObjectPropertiesSection.js:
(WebInspector.ObjectPropertiesSection):
(WebInspector.ObjectPropertiesSection.CompareProperties):
(WebInspector.ObjectPropertyTreeElement):
* UserInterface/Views/ProbeSetDetailsSection.js:
* UserInterface/Views/PropertiesSection.js:
(WebInspector.PropertiesSection):
* UserInterface/Views/ResourceTreeElement.js:
(WebInspector.ResourceTreeElement.compareResourceTreeElements):
(WebInspector.ResourceTreeElement.compareFolderAndResourceTreeElements):
* UserInterface/Views/ScriptTimelineDataGrid.js:
(WebInspector.ScriptTimelineDataGrid):
* UserInterface/Views/SearchResultTreeElement.js:
(WebInspector.SearchResultTreeElement.truncateAndHighlightTitle):
* UserInterface/Views/TimelineRuler.js:
(WebInspector.TimelineRuler):
(WebInspector.TimelineRuler.prototype.get allowsClippedLabels):
(WebInspector.TimelineRuler.prototype._handleMouseUp):
* UserInterface/Views/Toolbar.js:
* UserInterface/Views/TreeOutline.js:
(TreeOutline.prototype.appendChild):
(TreeOutline.prototype.insertChild):
(TreeOutline.prototype.removeChildAtIndex):
(TreeOutline.prototype.removeChild):
(TreeOutline.prototype.removeChildren):
(TreeOutline.prototype.removeChildrenRecursive):
(TreeOutline.prototype._rememberTreeElement):
(TreeOutline.prototype._forgetTreeElement):
(TreeOutline.prototype._forgetChildrenRecursive):
(TreeOutline.prototype.getCachedTreeElement):
(TreeOutline.prototype.findTreeElement):
(TreeOutline.prototype._treeElementDidChange):
(TreeOutline.prototype.treeElementFromPoint):
(TreeOutline.prototype._treeKeyDown):
(TreeOutline.prototype.expand):
(TreeOutline.prototype.collapse):
(TreeOutline.prototype.revealed):
(TreeOutline.prototype.reveal):
(TreeOutline.prototype.select):
(TreeOutline.prototype.revealAndSelect):
(TreeElement.prototype._attach):
(TreeElement.prototype._detach):
(TreeElement.treeElementMouseDown):
(TreeElement.treeElementToggled):
(TreeElement.treeElementDoubleClicked):
(TreeElement.prototype.collapse):
(TreeElement.prototype.collapseRecursively):
(TreeElement.prototype.expand):
(TreeElement.prototype.expandRecursively):
(TreeElement.prototype.hasAncestor):
(TreeElement.prototype.reveal):
(TreeElement.prototype.revealed):
(TreeElement.prototype.selectOnMouseDown):
(TreeElement.prototype.select):
(TreeElement.prototype.revealAndSelect):
(TreeElement.prototype.deselect):
(TreeElement.prototype.onpopulate):
(TreeElement.prototype.traverseNextTreeElement):
(TreeElement.prototype.traversePreviousTreeElement):
(TreeElement.prototype.isEventWithinDisclosureTriangle):
* UserInterface/Views/TreeOutlineDataGridSynchronizer.js:
(WebInspector.TreeOutlineDataGridSynchronizer):
2014-09-08 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Inspector frequently restores wrong view when opened (often Timelines instead of Resource)
https://bugs.webkit.org/show_bug.cgi?id=135965
Reviewed by Timothy Hatcher.
There were numerous subtle race conditions in state restoration.
This patch intends to fix a number of them to get what feels
like sane behavior for selected sidebar state restoration.
1. Starting a Timeline recording no longer automatically switches to the TimelineContentView.
This was making every reload switch to Timelines. If you had
a resource selected (e.g. the DOM Tree) we should go back
to showing the DOM tree.
2. Background sidebars should not reveal and select tree elements.
This was making resources get selected in Timelines when reloading the page
because the background Resources sidebar was restoring selection of the resource.
That is an unexpected selection and breaks the experience of Timelines.
3. ContentView changes during page navigation / reload should not be saved, and improve Resource restoration.
If a TimelineContentView was in the ContentBrowser back/forward history,
a reload with a resource selected in the Resources sidebar would end up
showing the Timelines sidebar. This was because when ContentViews are
closed during the navigation, the ContentBrowser would fall back to the
remaining TimelineContentView and switch to its only allowed sidebar
(Timelines). ResourceSidebarPanel, knowing a resource was selected,
would select the MainFrame intending to stay in the Resource sidebar,
but the resource is okay with showing in any sidebar, so we stay on Timelines.
4. Resource sidebar state restoration should propertly restore selection.
On reload, state restoration would know the resource to re-select in the
Resources sidebar. As ResourceTreeElements are added to the sidebar
they are checked against the state restoration cookie. If they match,
they would select the element and delete the cookie. Unfortunately,
if this was the first TreeElement child being added to a FrameTreeElement,
the FrameTreeElement onpopulate would remove all children and re-add
them in a unique way. Unfortunately this means the TreeElement we
selected based on the cookie, immediately got thrown away and recreated,
and we no longer reveal and select it. This is a special case for
FrameTreeElements which use the onpopulate SPI. So, instead of starting
processing the new element queue, if this is the first time just trigger
the onpopulate and elements are made just once.
5. Show Error Console triggering early, could have unexpected sidebar behavior.
Opening Web Inspector directly to the console can run before
WebInspector.contentLoaded (DOMContentLoaded). So in that case
WebInspector.showFullHeightConsole was not handling if the contentBrowser
had no content view yet, and the sidebar might be-reopened later on
in contentLoaded based on the setting value.
6. Improve automatic resource selection for sidebars with multiple tree outlines.
Selecting a call frame tree element was unexpectedly changing the
selection to a Resource where the breakpoint was set. This was
because we were only looking at one of potentially many content
tree outlines in the sidebar to see if there was a user action.
* UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
(WebInspector.showFullHeightConsole):
(WebInspector.toggleConsoleView):
(WebInspector._mainResourceDidChange):
(WebInspector._provisionalLoadStarted):
(WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar):
(WebInspector._updateCookieForInspectorViewState):
(WebInspector._contentBrowserCurrentContentViewDidChange):
* UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
* UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange):
* UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel.prototype._recordingLoaded):
2014-09-08 Matt Baker <mattbaker@apple.com>
Web Inspector: Add layout test for lowercase CSSProperty names
https://bugs.webkit.org/show_bug.cgi?id=135961
Reviewed by Joseph Pecoraro.
Modified test components to support testing CSSStyleManager and related classes:
- Added required models to Test.html
- Added CSSCompletions initialization to Test.js
- CSSCompletions doesn't assume presence of CodeMirror.
* UserInterface/Base/Test.js:
(WebInspector.loaded):
* UserInterface/Models/CSSCompletions.js:
* UserInterface/Test.html:
2014-09-08 Matt Baker <mattbaker@apple.com>
Web Inspector: Fixes to layout test infrastructure
https://bugs.webkit.org/show_bug.cgi?id=136360
Reviewed by Joseph Pecoraro.
Added missing includes to Test.html, which was breaking tests that
depended on SourceCodeLocation and LazySourceCodeLocation. Also fixed
bug which prevented test results from being resent after reloading the
page under test.
* UserInterface/Base/Test.js:
(InspectorTest.reloadPage):
* UserInterface/Test.html:
2014-09-07 Timothy Hatcher <timothy@apple.com>
Use a <circle> instead of a <path> in DownloadArrow.svg.
https://bugs.webkit.org/show_bug.cgi?id=136608
Reviewed by Antoine Quint.
* UserInterface/Images/DownloadArrow.svg:
* UserInterface/Views/TreeElementStatusButton.css:
(.item > .status > .status-button > svg .filled):
(body.mac-platform.legacy .item > .status > .status-button > svg .filled):
(:focus .item.selected > .status > .status-button > svg .filled):
(.item > .status > .status-button > svg .stroked):
(body.mac-platform.legacy .item > .status > .status-button > svg .stroked):
(:focus .item.selected > .status > .status-button > svg .stroked):
Tweak CSS selectors to apply to other shapes, not just path.
2014-09-06 Darin Adler <darin@apple.com>
Make updates suggested by new version of Xcode
https://bugs.webkit.org/show_bug.cgi?id=136603
Reviewed by Mark Rowe.
* Configurations/Base.xcconfig: Added CLANG_WARN_BOOL_CONVERSION, CLANG_WARN_CONSTANT_CONVERSION,
CLANG_WARN_EMPTY_BODY, CLANG_WARN_ENUM_CONVERSION, CLANG_WARN_INT_CONVERSION,
CLANG_WARN_UNREACHABLE_CODE, CLANG_WARN__DUPLICATE_METHOD_MATCH, ENABLE_STRICT_OBJC_MSGSEND,
GCC_WARN_UNDECLARED_SELECTOR, and GCC_WARN_UNUSED_FUNCTION as suggested by Xcode update check.
Also removed duplicate GCC_WARN_UNUSED_VARIABLE line.
* WebInspectorUI.xcodeproj/project.pbxproj: Updated LastUpgradeCheck.
2014-09-02 Brian J. Burg <burg@cs.washington.edu>
LegacyProfiler: remove redundant ProfileNode members and other cleanup
https://bugs.webkit.org/show_bug.cgi?id=136380
Reviewed by Timothy Hatcher.
Remove unused Profile.idleTime member.
* UserInterface/Models/Profile.js:
(WebInspector.Profile.prototype.get idleTime): Deleted.
* UserInterface/Models/ScriptTimelineRecord.js:
(WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload):
2014-09-02 Brian J. Burg <burg@cs.washington.edu>
Web Inspector: remove ProfilerAgent and legacy profiler files in the frontend
https://bugs.webkit.org/show_bug.cgi?id=136462
Reviewed by Timothy Hatcher.
The legacy profiler manager didn't do anything, and its views and models
have been superseded by new views and models based on the Timeline classes.
* .eslintrc:
* UserInterface/Base/Main.js:
(WebInspector.loaded):
(WebInspector.openURL): Remove profile URL handling code.
* UserInterface/Controllers/LegacyProfileManager.js: Removed.
* UserInterface/Main.html:
* UserInterface/Protocol/ConsoleObserver.js:
(WebInspector.ConsoleObserver.prototype.messageAdded):
* UserInterface/Protocol/InspectorFrontendAPI.js:
(InspectorFrontendAPI.isProfilingJavaScript): Deleted.
(InspectorFrontendAPI.startProfilingJavaScript): Deleted.
(InspectorFrontendAPI.stopProfilingJavaScript): Deleted.
* UserInterface/Protocol/LegacyProfilerObserver.js: Removed.
* UserInterface/Views/LegacyBottomUpProfileDataGridTree.js: Removed.
* UserInterface/Views/LegacyJavaScriptProfileObject.js: Removed.
* UserInterface/Views/LegacyJavaScriptProfileType.js: Removed.
* UserInterface/Views/LegacyJavaScriptProfileView.css: Removed.
* UserInterface/Views/LegacyJavaScriptProfileView.js: Removed.
* UserInterface/Views/LegacyProfileDataGridTree.js: Removed.
* UserInterface/Views/LegacyProfileObject.js: Removed.
* UserInterface/Views/LegacyProfileType.js: Removed.
* UserInterface/Views/LegacyProfileView.css: Removed.
* UserInterface/Views/LegacyProfileView.js: Removed.
* UserInterface/Views/LegacyTopDownProfileDataGridTree.js: Removed.
2014-08-29 Saam Barati <saambarati1@gmail.com>
Web Inspector: Create a UI for displaying JavaScript type information
https://bugs.webkit.org/show_bug.cgi?id=135142
Reviewed by Joseph Pecoraro.
JavaScriptCore now has a type profiler. This patch provides a frontend
user interface for displaying this type information in the Web Inspector.
The user interface works by placing inline "type tokens" next to important
JavaScript expressions: function arguments, function return types, and
variable declarations. Type information can also be seen for almost every
JavaScipt expression just by hovering over it while viewing a JavaScript file.
Currently, turning on the type profiler is expensive, so the inspector
ensures to never turn on type profiling until the user specifically asks
for type information to be turned on.
* UserInterface/Base/Main.js:
(WebInspector.loaded):
* UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
(WebInspector.CodeMirrorTokenTrackingController.prototype._startTracking):
(WebInspector.CodeMirrorTokenTrackingController.prototype._processNewHoveredToken):
Added a new type profiling mode.
* UserInterface/Controllers/FormatterSourceMap.js:
(WebInspector.FormatterSourceMap.prototype.originalToFormatted):
(WebInspector.FormatterSourceMap.prototype.originalPositionToFormatted):
(WebInspector.FormatterSourceMap.prototype.formattedToOriginal):
(WebInspector.FormatterSourceMap.prototype.formattedToOriginalOffset):
* UserInterface/Controllers/TypeTokenAnnotator.js: Added.
(WebInspector.TypeTokenAnnotator):
(WebInspector.TypeTokenAnnotator.prototype.get isActive):
(WebInspector.TypeTokenAnnotator.prototype.get sourceCodeTextEditor):
(WebInspector.TypeTokenAnnotator.prototype.pause):
(WebInspector.TypeTokenAnnotator.prototype.resume):
(WebInspector.TypeTokenAnnotator.prototype.refresh):
(WebInspector.TypeTokenAnnotator.prototype.reset):
(WebInspector.TypeTokenAnnotator.prototype.toggleTypeAnnotations):
(WebInspector.TypeTokenAnnotator.prototype._insertAnnotations.):
(WebInspector.TypeTokenAnnotator.prototype._insertTypeTokensForEachNode):
(WebInspector.TypeTokenAnnotator.prototype._insertToken):
(WebInspector.TypeTokenAnnotator.prototype.isLineTerminator):
(WebInspector.TypeTokenAnnotator.prototype._translateToOffsetAfterFunctionParameterList):
(WebInspector.TypeTokenAnnotator.prototype._clearTimeoutIfNeeded):
This class is responsible for producing the inline "type token" annotations.
* UserInterface/Images/NavigationItemTypes.svg: Added.
* UserInterface/Main.html:
* UserInterface/Models/Script.js:
(WebInspector.Script.prototype.get scriptSyntaxTree):
* UserInterface/Models/ScriptSyntaxTree.js:
(WebInspector.ScriptSyntaxTree.prototype.containsNonEmptyReturnStatement):
(WebInspector.ScriptSyntaxTree.prototype.):
(WebInspector.ScriptSyntaxTree.prototype.updateTypes):
(WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
* UserInterface/Views/ScriptContentView.js:
(WebInspector.ScriptContentView):
(WebInspector.ScriptContentView.prototype.get navigationItems):
(WebInspector.ScriptContentView.prototype._contentDidPopulate):
(WebInspector.ScriptContentView.prototype._toggleTypeAnnotations):
(WebInspector.ScriptContentView.prototype._showJavaScriptTypeInformationSettingChanged):
* UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor):
(WebInspector.SourceCodeTextEditor.prototype.shown):
(WebInspector.SourceCodeTextEditor.prototype.hidden):
(WebInspector.SourceCodeTextEditor.prototype.canShowTypeAnnotations):
(WebInspector.SourceCodeTextEditor.prototype.toggleTypeAnnotations):
(WebInspector.SourceCodeTextEditor.prototype.showPopoverForTypes):
(WebInspector.SourceCodeTextEditor.prototype.prettyPrint):
(WebInspector.SourceCodeTextEditor.prototype._populateWithContent):
(WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause):
(WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
(WebInspector.SourceCodeTextEditor.prototype._updateTokenTrackingControllerState):
(WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate):
(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptTypeInformation.handler):
(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptTypeInformation):
(WebInspector.SourceCodeTextEditor.prototype._showPopover):
(WebInspector.SourceCodeTextEditor.prototype.editingControllerDidFinishEditing):
(WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenAnnotator):
(WebInspector.SourceCodeTextEditor.prototype._enableScrollEventsForTypeTokenAnnotator):
(WebInspector.SourceCodeTextEditor.prototype._disableScrollEventsForTypeTokenAnnotator):
(WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler.scrollHandler):
(WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler):
* UserInterface/Views/TextContentView.js:
(WebInspector.TextContentView.prototype.get navigationItems):
* UserInterface/Views/TextEditor.js:
(WebInspector.TextEditor.prototype.set formatted):
(WebInspector.TextEditor.prototype.canShowTypeAnnotations):
(WebInspector.TextEditor.prototype.visibleRangeOffsets):
(WebInspector.TextEditor.prototype.originalOffsetToCurrentPosition):
(WebInspector.TextEditor.prototype.currentOffsetToCurrentPosition):
(WebInspector.TextEditor.prototype.currentPositionToOriginalOffset):
(WebInspector.TextEditor.prototype.currentPositionToCurrentOffset):
(WebInspector.TextEditor.prototype.setInlineWidget):
(WebInspector.TextEditor.prototype.addScrollHandler):
(WebInspector.TextEditor.prototype.removeScrollHandler):
(WebInspector.TextEditor.prototype._scrollIntoViewCentered):
* UserInterface/Views/TextResourceContentView.js:
(WebInspector.TextResourceContentView):
(WebInspector.TextResourceContentView.prototype.get navigationItems):
(WebInspector.TextResourceContentView.prototype._contentDidPopulate):
(WebInspector.TextResourceContentView.prototype._toggleTypeAnnotations):
(WebInspector.TextResourceContentView.prototype._showJavaScriptTypeInformationSettingChanged):
* UserInterface/Views/TypePropertiesSection.js: Added.
(WebInspector.TypePropertiesSection):
(WebInspector.TypePropertiesSection.prototype.onpopulate):
(WebInspector.TypePropertiesSection.PropertyComparator):
(WebInspector.TypePropertyTreeElement):
(WebInspector.TypePropertyTreeElement.prototype.onpopulate):
* UserInterface/Views/TypeTokenView.css: Added.
(.type-token):
(.type-token-left-spacing):
(.type-token-right-spacing):
(.type-token-function, .type-token-boolean):
(.type-token-number):
(.type-token-string):
(.type-token-default):
(.type-token-empty):
(.type-token-many):
* UserInterface/Views/TypeTokenView.js: Added.
(WebInspector.TypeTokenView):
(WebInspector.TypeTokenView.titleForPopover):
(WebInspector.TypeTokenView.prototype.update):
(WebInspector.TypeTokenView.prototype._setUpMouseoverHandlers):
(WebInspector.TypeTokenView.prototype._shouldShowPopover):
The inline "type token" view.
2014-08-29 Saam Barati <sbarati@apple.com>
Web Inspector: Fix how Popover animates
https://bugs.webkit.org/show_bug.cgi?id=136353
Reviewed by Timothy Hatcher.
Popovers currently don't animate properly because they use
window.requestAnimationFrame which won't fire its callback
while the inspector is paused in the debugger. This patches
switches the callback mechanism to setTimeout and also changes
how a Popover's anchor animates to prevent visual glitches.
Popover also has a new function that allows a new target
frame and new content to be set simultaneously and to
animate to show the new content while changing the
location of the popover frame.
SourceCodeTextEditor uses Popover's new API for animating
between popovers when paused in the debugger. SourceCodeTextEditor
also now ensures proper balancing of popover tracking event
listeners.
* UserInterface/Views/Popover.js:
(WebInspector.Popover.prototype.present):
(WebInspector.Popover.prototype.presentNewContentWithFrame):
(WebInspector.Popover.prototype.dismiss):
(WebInspector.Popover.prototype._update):
(WebInspector.Popover.prototype.drawBackground):
(WebInspector.Popover.prototype._animateFrame):
(WebInspector.Popover.prototype._drawFrame):
(WebInspector.Popover.prototype._addListenersIfNeeded):
(WebInspector.Popover.prototype._animateFrame.drawBackground): Deleted.
* UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype._showPopover):
(WebInspector.SourceCodeTextEditor.prototype._dismissPopover):
(WebInspector.SourceCodeTextEditor.prototype._trackPopoverEvents):
2014-08-28 Saam Barati <sbarati@apple.com>
Web Inspector: Write tests for ScriptSyntaxTree and fix bugs in the data structure
https://bugs.webkit.org/show_bug.cgi?id=136272
Reviewed by Joseph Pecoraro.
Include the necessary files in Test.html to test ScriptSyntaxTree.
Also, ScriptSyntaxTree had a couple of errors for two of its nodes
where they simply ignored one of the properties on the node.
These errors were found while writing the tests and are fixed
in this patch.
* UserInterface/Models/ScriptSyntaxTree.js:
(WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
* UserInterface/Test.html:
2014-08-27 Saam Barati <sbarati@apple.com>
Web Inspector: Layout issues for popover on not legacy OS
https://bugs.webkit.org/show_bug.cgi?id=136268
Reviewed by Joseph Pecoraro.
On the latest OS, popovers invade the title bar's space which will
cause layout issues because the title bar will render above
the popover. Fix this by providing some padding for popovers on
not legacy OSs.
* UserInterface/Views/Popover.js:
2014-08-27 Timothy Hatcher <timothy@apple.com>
REGRESSION: Web Inspector: Legacy toolbar has two different colors in unfocused windowed mode
https://bugs.webkit.org/show_bug.cgi?id=136289
Reviewed by Darin Adler.
* UserInterface/Views/Toolbar.css:
(body.mac-platform.legacy .toolbar): Override the background-color as transparent. Non-legacy
uses a solid color instead of a gradient for window-inactive.
2014-08-26 Saam Barati <sbarati@apple.com>
Web Inspector: Fix CodeMirrorTokenTrackingController::_startTracking assertion
https://bugs.webkit.org/show_bug.cgi?id=136160
Reviewed by Joseph Pecoraro.
Check if '_tracking' is already true before calling '_startTracking'
to prevent the assertion from always firing.
* UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
(WebInspector.CodeMirrorTokenTrackingController.prototype._mouseEntered):
2014-08-25 Brent Fulgham <bfulgham@apple.com>
[Win] Pass OFFICIAL_BUILD flag to WebInspectorUI build process
https://bugs.webkit.org/show_bug.cgi?id=136229
Reviewed by Dean Jackson.
* WebInspectorUI.vcxproj/WebInspectorUI.make: Pass OFFICIAL_BUILD
flag to build-webinspectorui.pl.
* WebInspectorUI.vcxproj/build-webinspectorui.pl: Accept and use
the OFFICIAL_BUILD flag.
2014-08-24 Benjamin Poulain <benjamin@webkit.org>
The inspector should not use the "after" pseudo element with the compatibility syntax
https://bugs.webkit.org/show_bug.cgi?id=136204
Reviewed by Darin Adler.
We should only use hte proper pseudo element syntax inside WebKit.
* Tools/PrettyPrinting/codemirror-additions.css:
* Tools/PrettyPrinting/populate/apple.css:
2014-08-24 Brian J. Burg <burg@cs.washington.edu>
Web Inspector: Rename DOM.RGBA and remove workarounds in the bindings generator
https://bugs.webkit.org/show_bug.cgi?id=136025
Reviewed by Joseph Pecoraro.
Also rename DOM.RGBA in legacy protocol specifications.
* Versions/Inspector-iOS-6.0.json:
* Versions/Inspector-iOS-7.0.json:
2014-08-21 Simon Fraser <simon.fraser@apple.com>
Add a button to enable paint flashing in the web inspector
https://bugs.webkit.org/show_bug.cgi?id=136133
Reviewed by Tim Hatcher.
Add a button to the right of the layer borders button to turn on paint flashing.
Future patches will actually enable this feature.
* Localizations/en.lproj/localizedStrings.js: Tooltip strings.
* UserInterface/Images/PaintFlashing.svg: Added. "Paintbrush" icon.
* UserInterface/Views/DOMTreeContentView.js:
(WebInspector.DOMTreeContentView):
(WebInspector.DOMTreeContentView.prototype.get navigationItems):
(WebInspector.DOMTreeContentView.prototype._togglePaintFlashing):
2014-08-20 Saam Barati <sbarati@apple.com>
Rename HighFidelityTypeProfiling variables for more clarity
https://bugs.webkit.org/show_bug.cgi?id=135899
Reviewed by Geoffrey Garen.
Change a reference in a comment to a JavaScriptCore file to its
newly renamed variant.
* UserInterface/Models/ScriptSyntaxTree.js:
2014-08-18 Saam Barati <sbarati@apple.com>
Web Inspector: Introduce an inspector Abstract Syntax Tree.
https://bugs.webkit.org/show_bug.cgi?id=135763
Reviewed by Joseph Pecoraro.
This patch adds an Abstract Syntax Tree to the Web inspector.
This syntax tree is modeled off the Esprima.js syntax tree
which complies with the Mozilla Parser API:
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Parser_API
Script is the owner of the Web Inspector syntax tree, and has an API
for accessing its syntax tree property.
* UserInterface/External/Esprima/esprima.js:
* UserInterface/Main.html:
* UserInterface/Models/Script.js:
(WebInspector.Script):
(WebInspector.Script.prototype.requestScriptSyntaxTree.makeSyntaxTreeAndCallCallback):
(WebInspector.Script.prototype._resolveResource):
(WebInspector.Script.prototype._makeSyntaxTree):
* UserInterface/Models/ScriptSyntaxTree.js: Added.
(WebInspector.ScriptSyntaxTree):
(WebInspector.ScriptSyntaxTree.prototype.get parsedSuccessfully):
(WebInspector.ScriptSyntaxTree.prototype.forEachNode):
(WebInspector.ScriptSyntaxTree.prototype.):
(WebInspector.ScriptSyntaxTree.prototype.filter):
(WebInspector.ScriptSyntaxTree.prototype.filterForNodesInRange):
(WebInspector.ScriptSyntaxTree.prototype.filterByRange):
(WebInspector.ScriptSyntaxTree.prototype.containsNonEmptyReturnStatement.removeFunctionsFilter):
(WebInspector.ScriptSyntaxTree.prototype.containsNonEmptyReturnStatement):
(WebInspector.ScriptSyntaxTree.prototype.updateTypes):
(WebInspector.ScriptSyntaxTree.prototype._defaultParserState):
(WebInspector.ScriptSyntaxTree.prototype._recurse):
(WebInspector.ScriptSyntaxTree.prototype._recurseArray):
(WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
2014-08-16 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Improve performance of selection range changes viewing Scripts timeline
https://bugs.webkit.org/show_bug.cgi?id=136015
Reviewed by Timothy Hatcher.
* UserInterface/Base/Utilities.js:
(clamp):
Helper function to clamp a value between a min and max.
* UserInterface/Models/ProfileNode.js:
(WebInspector.ProfileNode.prototype.get startTime):
(WebInspector.ProfileNode.prototype.get endTime):
These can be quickly calculated, so avoid full calculation to grab the values.
* UserInterface/Views/ScriptTimelineView.js:
(WebInspector.ScriptTimelineView.prototype.updateLayout):
Update ranges with a smart helper, instead of blindly doing it and needing refresh.
* UserInterface/Views/ProfileNodeDataGridNode.js:
(WebInspector.ProfileNodeDataGridNode.prototype.get rangeEndTime):
(WebInspector.ProfileNodeDataGridNode.prototype.get data):
(WebInspector.ProfileNodeDataGridNode.prototype.updateRangeTimes):
(WebInspector.ProfileNodeDataGridNode.prototype.set rangeStartTime): Deleted.
(WebInspector.ProfileNodeDataGridNode.prototype.set rangeEndTime): Deleted.
* UserInterface/Views/ScriptTimelineDataGridNode.js:
(WebInspector.ScriptTimelineDataGridNode.prototype.updateRangeTimes):
(WebInspector.ScriptTimelineDataGridNode.prototype.set rangeStartTime): Deleted.
(WebInspector.ScriptTimelineDataGridNode.prototype.set rangeEndTime): Deleted.
When updating the range selection, compare to the last range selection
on this DataGridNode. If the visible portion of this node's time range
changes, we need a refresh. Otherwise, we don't need a refresh.
2014-08-15 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Update Scripts/update-LegacyInspectorBackendCommands.rb for the new generator
https://bugs.webkit.org/show_bug.cgi?id=136006
Reviewed by Timothy Hatcher.
* Scripts/update-LegacyInspectorBackendCommands.rb:
Use the new generator and pass the appropriate flags.
* UserInterface/Protocol/Legacy/6.0/InspectorWebBackendCommands.js:
* UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
Newly generated files using the new generator.
* Versions/Inspector-iOS-6.0.json:
Remove unsupported features.
2014-08-15 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Remove forced layouts during recording caused by striped background element resizing
https://bugs.webkit.org/show_bug.cgi?id=136009
Reviewed by Timothy Hatcher.
We used to manually resize and a custom striped background behind
the timeline tree outline content area. This can happen frequently
during timeline recordings causing forced layouts. We can eliminate
the hack and instead put the stripe background on the tree outline.
* UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel.prototype.updateCustomContentOverflow): Deleted.
* UserInterface/Views/TimelineSidebarPanel.css:
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .content .item > .status > .status-button):
(.sidebar > .panel.navigation.timeline > .content > .stripe-background): Deleted.
(.sidebar > .panel.navigation.timeline.timeline-content-view-showing > .content > .stripe-background): Deleted.
Eliminate the striped background element.
* UserInterface/Views/TimelineView.css:
(.panel.navigation.timeline > .content > .navigation-sidebar-panel-content-tree-outline):
(.panel.navigation.timeline.timeline-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline):
Give the timeline content tree outlines the striped background.
* UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
(WebInspector.NavigationSidebarPanel.prototype.updateCustomContentOverflow): Deleted.
Remove the now unused updateCustomContentOverflow method.
2014-08-15 Jono Wells <jonowells@apple.com>
Web Inspector: Inspect Element doesn't always highlight the correct element when inspector is closed before inspecting
https://bugs.webkit.org/show_bug.cgi?id=135995
Reviewed by Joseph Pecoraro.
Change so if an element is inspected via the Inspect Element context menu, selected
node restoration is disallowed until the main resource in the main frame changes.
This way an attempt by a sub-frame will not change the highlighted element in the
Main Frame's DOM tree unexpectedly.
* UserInterface/Controllers/DOMTreeManager.js:
(WebInspector.DOMTreeManager):
(WebInspector.DOMTreeManager.prototype._mainResourceDidChange):
(WebInspector.DOMTreeManager.prototype.inspectElement):
2014-08-15 Brian J. Burg <burg@cs.washington.edu>
Web Inspector: rewrite CodeGeneratorInspector to be modular and testable
https://bugs.webkit.org/show_bug.cgi?id=131596
Reviewed by Joseph Pecoraro.
Also apply type extraction refactorings to old protocol versions for consistency.
* Versions/Inspector-iOS-6.0.json:
* Versions/Inspector-iOS-7.0.json:
2014-08-15 Timothy Hatcher <timothy@apple.com>
Web Inspector: Probe details sidebar data grids do not show data
https://bugs.webkit.org/show_bug.cgi?id=135992
Reviewed by Joseph Pecoraro.
* UserInterface/Views/ProbeSetDataGrid.js:
(WebInspector.ProbeSetDataGrid): Make the DataGrid be inline to show the data correctly.
2014-08-15 Timothy Hatcher <timothy@apple.com>
Web Inspector: Legacy Mac toolbar appearance looks wrong
https://bugs.webkit.org/show_bug.cgi?id=135962
Reviewed by Joseph Pecoraro.
* UserInterface/Views/Toolbar.css:
(body.mac-platform.legacy .toolbar): Don't draw a gradient background when not docked.
Move border-bottom-color from body.mac-platform.legacy.docked .toolbar to here so it
applies all the time as it should have.
2014-08-14 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Dragging Undocked inspector by window title has broken behavior
https://bugs.webkit.org/show_bug.cgi?id=135950
Reviewed by Timothy Hatcher.
* UserInterface/Base/Main.js:
On Mac ports where we the inspector content goes everywhere, window dragging behavior
still exists for the top 22px of the window. So don't do our JavaScript based window
dragging for this special region.
* UserInterface/Models/KeyboardShortcut.js:
(WebInspector.KeyboardShortcut.Modifier.get CommandOrControl):
(WebInspector.KeyboardShortcut.prototype.get displayName):
Instead of calling a host function, use the value already in the frontend.
2014-08-14 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Split console toggle button wrong - Images/Images/SplitToggleUp.svg does not exist
https://bugs.webkit.org/show_bug.cgi?id=135957
Reviewed by Timothy Hatcher.
* UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView):
Wrong image path passed to platformImagePath.
2014-08-14 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Avoid re-binding the same function over and over
https://bugs.webkit.org/show_bug.cgi?id=135949
Reviewed by Timothy Hatcher.
* UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager.prototype._startAutoCapturing):
(WebInspector.TimelineManager.prototype._stopAutoRecordingSoon):
(WebInspector.TimelineManager.prototype._resetAutoRecordingDeadTimeTimeout):
Stash a bound copy of the function once, and reuse it.
2014-08-14 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Timelines can get caught in requestAnimationFrame loop when not recording
https://bugs.webkit.org/show_bug.cgi?id=135946
Reviewed by Timothy Hatcher.
Each TimelineContentView was listening for the TimelineManager's start/stop
capturing events. However, only the active recording could possibly update.
Likewise, if a pre-existing recording started and stopped we did not properly
stop in the case where we were waiting for an event to update the current time,
which would result in an infinite rAF loop of no updates.
* UserInterface/Models/TimelineRecording.js:
(WebInspector.TimelineRecording.prototype.unloaded):
When a timeline recording is unloaded trigger an event.
* UserInterface/Views/TimelineContentView.js:
(WebInspector.TimelineContentView.prototype._startUpdatingCurrentTime):
Assert we were not already waiting.
(WebInspector.TimelineContentView.prototype._stopUpdatingCurrentTime):
Properly handle the case of starting/stoping an already existing recording
without a new event coming in.
(WebInspector.TimelineContentView.prototype._recordingTimesUpdated):
(WebInspector.TimelineContentView.prototype._recordingReset):
Convert to a boolean instead of deleting state.
(WebInspector.TimelineContentView.prototype._recordingUnloaded):
Stop listening to timeline manager events that no longer affect unloaded recordings.
2014-08-13 Jono Wells <jonowells@apple.com>
Web Inspector: eslint configuration should be stored as .eslintrc
https://bugs.webkit.org/show_bug.cgi?id=135916
.eslintrc file added to allow for ESLint solutions, within editors and otherwise,
to be automatically configured based on the WebKit JavaScript coding style. The
initial file is incomplete.
Reviewed by Joseph Pecoraro.
* .eslintrc: Added.
* External/.eslintrc: Added.
2014-08-13 Timothy Hatcher <timothy@apple.com>
Web Inspector: Missing semicolon after console.assert in TimelineSidebarPanel.js
https://bugs.webkit.org/show_bug.cgi?id=135917
Reviewed by Joseph Pecoraro.
* UserInterface/Views/TimelineSidebarPanel.js:
2014-08-13 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Inline DataGrid inside details sidebar has double thick top border with legacy styles
https://bugs.webkit.org/show_bug.cgi?id=135894
Reviewed by Timothy Hatcher.
* UserInterface/Views/DetailsSection.css:
(body.mac-platform.legacy .details-section:not(.collapsed) .data-grid.inline):
In legacy styles the details-section header always has a 1px bottom border.
In all styles, an inline data grid had a 1px border everywhere. So, handle
this specific case by removing the top border of an inline data grid
that is inside an expanded details section.
2014-08-13 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: "No Filter Results" view only shows once, does not show again
https://bugs.webkit.org/show_bug.cgi?id=135892
Reviewed by Timothy Hatcher.
* UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype.showEmptyContentPlaceholder):
We were checking at the wrong level for a parent. Check if the root
placeholder element has a parent or not.
2014-08-13 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Incorrect border colors in event listeners sections in details sidebar
https://bugs.webkit.org/show_bug.cgi?id=135891
Reviewed by Timothy Hatcher.
* UserInterface/Views/DetailsSection.css:
(.details-section .details-section > .header):
(.details-section .details-section:not(.collapsed) > .header):
Remove box-shadow and replace with a bottom border.
(body.mac-platform.legacy .details-section .details-section.collapsed > .header):
(.details-section .details-section.collaspsed > .header): Deleted.
Collapsed was spelled incorrectly so this was not applying properly before.
But correct this for legacy because legacy still uses a box-shadow.
2014-08-13 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Timeline Close buttons can use polish for new and legacy styles
https://bugs.webkit.org/show_bug.cgi?id=135870
Reviewed by Timothy Hatcher.
* UserInterface/Images/Legacy/Close.svg:
Ensure this has fill colors in tree selections.
* UserInterface/Views/TimelineSidebarPanel.css:
(.sidebar > .panel.navigation.timeline > .timelines-content .close-button):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content .close-button):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .content .item > .status > .status-button):
Size the close-button for the top overviews differently in new styles (14x14) and legacy (12x12).
2014-08-13 Timothy Hatcher <timothy@apple.com>
Web Inspector: Workaround a NSWindow change to the title bar.
https://bugs.webkit.org/show_bug.cgi?id=135880
Reviewed by Joseph Pecoraro.
* UserInterface/Base/Main.js:
(WebInspector._updateToolbarHeight): Don't call in legacy mode.
* UserInterface/Views/DashboardContainerView.css:
(.toolbar .dashboard-container):
(.toolbar .dashboard):
Drive-by fix some errant drop-shadows. The transparent border was pushing the inset top
drop shadow down when it shouldn't. Remove duplicate background and shadow.
* UserInterface/Views/Main.css:
(body): Set the background white, never needs to be transparent now.
(body.mac-platform.legacy:not(.docked)): Set background to transparent when not docked in legacy.
(body.docked.bottom): Update border color.
(body.docked.right): Ditto.
(body.docked.bottom.mac-platform.legacy): Keep old border color.
(body.docked.right.mac-platform.legacy): Ditto.
* UserInterface/Views/Toolbar.css:
(.toolbar): Set a default border and background gradient.
(body.window-inactive .toolbar): No gradient but use a solid color when inactive.
(body.mac-platform:not(.legacy):not(.docked) .toolbar): Padding on the top for the title bar.
(body.mac-platform:not(.legacy):not(.docked) .toolbar.icon-and-label-vertical): Account for title bar height.
(body.mac-platform:not(.legacy):not(.docked) .toolbar.icon-and-label-vertical.small-size): Ditto.
(body.mac-platform:not(.legacy):not(.docked) .toolbar.icon-only): Ditto.
(body.mac-platform:not(.legacy):not(.docked) .toolbar.label-only): Ditto.
(body.mac-platform.legacy .toolbar): No inset shadow in legacy when not docked.
(body.mac-platform.legacy.docked .toolbar): Restore legacy border color.
(body.mac-platform.legacy:not(.docked) .toolbar .item.button > .label): Only disable sub-pixel antialiasing on legacy!
(body.mac-platform.legacy.window-inactive .toolbar): Restore legacy border color.
2014-08-13 Timothy Hatcher <timothy@apple.com>
Web Inspector: Restore Helvetica as the dashboard font in legacy mode
https://bugs.webkit.org/show_bug.cgi?id=135886
Reviewed by Joseph Pecoraro.
* UserInterface/Views/DefaultDashboardView.css:
(body.mac-platform.legacy .toolbar .dashboard.default > .item):
2014-08-12 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Timeline record content view close button does not work after scrolling, invisible scrollbar
https://bugs.webkit.org/show_bug.cgi?id=135863
Reviewed by Timothy Hatcher.
A workaround is to not have position:relative content inside of
scrollable region. Turns out this was only done in two places,
and I do not see any absolutely positioned content in navigation
sidebar content tree outlines. This also fixes clicking on the
reload button if you've scrolled the Resources sidebar.
* UserInterface/Views/NavigationSidebarPanel.css:
(.navigation-sidebar-panel-content-tree-outline .children): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item): Deleted.
2014-08-12 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Remove unused variable in Platform.js
https://bugs.webkit.org/show_bug.cgi?id=135869
Reviewed by Timothy Hatcher.
* UserInterface/Base/Platform.js:
2014-08-12 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Timeline selection range creation does not work when clicking event bubble or near bottom of overview
https://bugs.webkit.org/show_bug.cgi?id=135849
Reviewed by Timothy Hatcher.
Click events on elements in the graph container (event bubbles) or
in the scroll container (bottom 16px) were becoming the event targets.
As siblings of the ruler, the dispatch would not go through the ruler.
The ruler was supposed to be overlaying everything in the overview,
so give the ruler a z-index so it really is overlaying elements.
* UserInterface/Views/TimelineRuler.css:
(.timeline-ruler):
2014-08-12 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: GoToLine dialog clear text button looks poor
https://bugs.webkit.org/show_bug.cgi?id=135828
Reviewed by Timothy Hatcher.
Legacy/CloseWhite.svg was not used, but in the case where the white
close button is needed the thicker bars looks better. Re-use the
Legacy image as the default CloseWhite.svg.
* UserInterface/Images/CloseWhite.svg:
* UserInterface/Images/Legacy/CloseWhite.svg: Removed.
2014-08-12 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Easier Way to go back to the Timeline Overviews
https://bugs.webkit.org/show_bug.cgi?id=135827
Reviewed by Timothy Hatcher.
* Localizations/en.lproj/localizedStrings.js:
Added new tooltip UIString.
* UserInterface/Images/Close.svg:
* UserInterface/Images/CloseLarge.svg:
* UserInterface/Images/Legacy/Close.svg:
Add "stroked" class so the buttons can fill with white on selected rows.
Also re-center the non-legacy images horizontally.
* UserInterface/Views/GeneralTreeElement.js:
(WebInspector.GeneralTreeElement.prototype.set status):
Do not recreate elements if the status did not change.
* UserInterface/Views/LayoutTimelineView.js:
(WebInspector.LayoutTimelineView):
(WebInspector.LayoutTimelineView.prototype._treeElementDeselected):
(WebInspector.LayoutTimelineView.prototype._treeElementSelected):
(WebInspector.LayoutTimelineView.prototype._updateTreeElementWithCloseButton):
(WebInspector.LayoutTimelineView.prototype._closeStatusButtonClicked):
* UserInterface/Views/NetworkTimelineView.js:
(WebInspector.NetworkTimelineView):
(WebInspector.NetworkTimelineView.prototype._treeElementDeselected):
(WebInspector.NetworkTimelineView.prototype._treeElementSelected):
(WebInspector.NetworkTimelineView.prototype._updateTreeElementWithCloseButton):
(WebInspector.NetworkTimelineView.prototype._closeStatusButtonClicked):
* UserInterface/Views/OverviewTimelineView.js:
(WebInspector.OverviewTimelineView.prototype._treeElementDeselected):
(WebInspector.OverviewTimelineView.prototype._treeElementSelected):
(WebInspector.OverviewTimelineView.prototype._updateTreeElementWithCloseButton):
(WebInspector.OverviewTimelineView.prototype._closeStatusButtonClicked):
* UserInterface/Views/ScriptTimelineView.js:
(WebInspector.ScriptTimelineView):
(WebInspector.ScriptTimelineView.prototype._treeElementDeselected):
(WebInspector.ScriptTimelineView.prototype._treeElementSelected):
(WebInspector.ScriptTimelineView.prototype._updateTreeElementWithCloseButton):
(WebInspector.ScriptTimelineView.prototype._closeStatusButtonClicked):
Provide select/deselect handlers to show/hide the close status bar button
when selecting a row that shows a non-Timeline content view. Currently the
only content views the tree elements can show are Resource views, so the
tooltip is the same everywhere.
2014-08-12 Timothy Hatcher <timothy@apple.com>
Web Inspector: Expect to see top level JavaScript function profiler details for event handlers in timeline
https://bugs.webkit.org/show_bug.cgi?id=132109
Reviewed by Joseph Pecoraro.
* UserInterface/Views/ScriptTimelineView.js:
(WebInspector.ScriptTimelineView.prototype._processPendingRecords): Don't promote root node children if
there is only one child.
2014-08-11 Brian J. Burg <burg@cs.washington.edu>
Web Inspector: show a replay dashboard when capturing or replaying
https://bugs.webkit.org/show_bug.cgi?id=135170
Reviewed by Timothy Hatcher.
This patch adds a replay dashboard with record/play/pause buttons. It
is shown automatically when the user starts capturing an execution from
the replay menu in the Timelines sidebar panel.
* UserInterface/Base/Main.js:
(WebInspector.loaded):
(WebInspector._captureDidStart):
* UserInterface/Controllers/DashboardManager.js:
(WebInspector.DashboardManager):
* UserInterface/Images/ReplayPauseButton.svg: Added.
* UserInterface/Images/ReplayPlayButton.svg: Added.
* UserInterface/Images/ReplayRecordingButton.svg: Added.
* UserInterface/Main.html:
* UserInterface/Models/ReplayDashboard.js: Copied from Source/WebInspectorUI/UserInterface/Controllers/DashboardManager.js.
(WebInspector.ReplayDashboard):
* UserInterface/Views/DashboardView.js:
(WebInspector.DashboardView):
* UserInterface/Views/ReplayDashboardView.css: Copied from Source/WebInspectorUI/UserInterface/Controllers/DashboardManager.js.
(.toolbar .dashboard.replay):
(.toolbar .dashboard.replay div.navigation-bar):
(.toolbar .dashboard.replay .item.button > .glyph):
(.toolbar.label-only .dashboard.replay .item.button > .glyph):
* UserInterface/Views/ReplayDashboardView.js: Added.
(WebInspector.ReplayDashboardView):
(WebInspector.ReplayDashboardView.prototype._captureButtonItemClicked):
(WebInspector.ReplayDashboardView.prototype._replayButtonItemClicked):
(WebInspector.ReplayDashboardView.prototype._captureStarted):
(WebInspector.ReplayDashboardView.prototype._captureStopped):
(WebInspector.ReplayDashboardView.prototype._playbackStarted):
(WebInspector.ReplayDashboardView.prototype._playbackPaused):
(WebInspector.ReplayDashboardView.prototype._playbackFinished):
2014-08-08 Brian J. Burg <burg@cs.washington.edu>
Web Inspector: DebuggerManager commands should return promises
https://bugs.webkit.org/show_bug.cgi?id=135690
Reviewed by Timothy Hatcher.
Convert the existing debugger commands to return promises. This
requires separately waiting for protocol command's promise to be
fulfilled, as well as waiting for the appropriate DebuggerManager
event. If the protocol command promise is rejected, tear down the
single-fire event listener.
* UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype.pause):
(WebInspector.DebuggerManager.prototype.resume):
(WebInspector.DebuggerManager.prototype.stepOver):
(WebInspector.DebuggerManager.prototype.stepInto):
(WebInspector.DebuggerManager.prototype.stepOut):
* UserInterface/Controllers/ReplayManager.js: Use the promise-based API.
(WebInspector.ReplayManager.prototype._suppressBreakpointsAndResumeIfNeeded):
2014-08-11 Timothy Hatcher <timothy@apple.com>
Web Inspector: Update folder icons
https://bugs.webkit.org/show_bug.cgi?id=135808
Reviewed by Joseph Pecoraro.
* UserInterface/Images/FolderGeneric.png: Updated.
* UserInterface/Images/FolderGeneric@2x.png: Updated.
2014-08-11 Timothy Hatcher <timothy@apple.com>
Web Inspector: DataGrid and its clients are a cluster-cuss of styles
https://bugs.webkit.org/show_bug.cgi?id=135788
Clean up DataGrid and its subclasses and client styles.
Reviewed by Joseph Pecoraro.
* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Views/ApplicationCacheFrameContentView.css:
(.content-view.application-cache-frame > .data-grid):
* UserInterface/Views/CookieStorageContentView.css:
(.content-view.cookie-storage > .data-grid):
* UserInterface/Views/DOMStorageContentView.css:
(.content-view.dom-storage > .data-grid):
* UserInterface/Views/DOMTreeDataGrid.css:
(.dom-tree-data-grid .data-grid):
(.dom-tree-data-grid .name-column .icon):
* UserInterface/Views/DOMTreeDataGrid.js:
(WebInspector.DOMTreeDataGrid):
* UserInterface/Views/DataGrid.css:
(.data-grid):
(.data-grid table):
(.data-grid .data-container):
(.data-grid.inline):
(.data-grid th):
(.data-grid :-webkit-any(th, td):not(:last-child)):
(.data-grid th.sortable:active):
(.data-grid th:-webkit-any(.sort-ascending, .sort-descending)):
(.data-grid table.data):
(.data-grid td):
(.data-grid:focus tr.selected td:not(:last-child)):
(body.mac-platform.legacy .data-grid:focus tr.selected td:not(:last-child)):
(.data-grid :-webkit-any(th, td) > div):
(.data-grid th:-webkit-any(.sort-ascending, .sort-descending) > div:first-child):
(.data-grid th.sort-ascending > div:first-child::after):
(.data-grid th.sort-descending > div:first-child::after):
(.data-grid td .subtitle):
(.data-grid td .subtitle::before):
(.data-grid:focus tr.selected td .subtitle):
(.data-grid td.error):
(.data-grid tr.selected td.error):
(.data-grid td .icon):
(.data-grid td .go-to-arrow):
(.data-grid tr:-webkit-any(.selected, :hover) .go-to-arrow):
* UserInterface/Views/DatabaseContentView.css:
(.storage-view):
* UserInterface/Views/DatabaseTableContentView.css:
(.content-view.database-table > .data-grid):
* UserInterface/Views/DetailsSection.css:
(.details-section > .content .data-grid):
* UserInterface/Views/IndexedDatabaseObjectStoreContentView.css:
(.content-view.indexed-database-object-store > .data-grid):
* UserInterface/Views/LayerTreeDataGridNode.js:
(WebInspector.LayerTreeDataGridNode.prototype._makeNameCell):
(WebInspector.LayerTreeDataGridNode.prototype._updateNameCellData):
* UserInterface/Views/LayerTreeSidebarPanel.css:
(.layer-tree.panel .data-grid):
(.layer-tree.panel .name-column .icon):
(.layer-tree.panel tr.reflection .name-column .icon):
(.layer-tree.panel tr.pseudo-element .name-column .icon):
(.layer-tree.panel .name-column .reflection):
(.layer-tree.panel tr.selected .name-column .reflection):
(.layer-tree.panel .bottom-bar):
(body.mac-platform.legacy .layer-tree.panel .bottom-bar):
(.layer-tree.panel .bottom-bar > div):
(body.mac-platform.legacy .layer-tree.panel .bottom-bar > div):
(body.mac-platform.legacy .layer-tree-popover):
* UserInterface/Views/LayerTreeSidebarPanel.js:
(WebInspector.LayerTreeSidebarPanel):
(WebInspector.LayerTreeSidebarPanel.prototype._buildLayerInfoSection):
(WebInspector.LayerTreeSidebarPanel.prototype._buildDataGridSection):
(WebInspector.LayerTreeSidebarPanel.prototype._buildBottomBar):
(WebInspector.LayerTreeSidebarPanel.prototype._updateMetrics):
* UserInterface/Views/LegacyJavaScriptProfileView.css:
(.content-view.profile-view > .data-grid):
* UserInterface/Views/LegacyProfileView.css:
* UserInterface/Views/LogContentView.css:
(.console-message .bubble):
* UserInterface/Views/NetworkTimelineView.css:
(.timeline-view.network > .data-grid):
* UserInterface/Views/OverviewTimelineView.css:
(.timeline-view.overview > .timeline-ruler > .header):
(.timeline-view.overview > .data-grid):
* UserInterface/Views/OverviewTimelineView.js:
* UserInterface/Views/ProbeDetailsSidebarPanel.css:
(.details-section.probe-set .options > .probe-add):
(.popover .probe-popover):
* UserInterface/Views/ProbeSetDataGrid.css:
(.details-section.probe-set .data-grid tr.past-value td):
(.details-section.probe-set .data-grid > td.unknown-value):
(.details-section.probe-set .data-grid tr.revealed.highlighted):
(.details-section.probe-set .data-grid tr.separator):
(.details-section.probe-set .data-grid > tr.data-updated):
(.details-section.probe-set .data-grid .selected .section *):
(.details-section.probe-set .data-grid .selected td.unknown-value):
(.details-section.probe-set .data-grid .section):
* UserInterface/Views/QuickConsole.css:
(.quick-console):
* UserInterface/Views/TimelineDataGrid.css:
(.data-grid.timeline th):
(.data-grid.timeline > .navigation-bar-container > .navigation-bar):
* UserInterface/Views/TimelineRuler.css:
(.timeline-ruler > .header):
(.timeline-ruler > .header > .divider):
2014-08-11 Brent Fulgham <bfulgham@apple.com>
[Win] Adjust build script for Windows production build.
https://bugs.webkit.org/show_bug.cgi?id=135806
<rdar://problem/17978299>
Reviewed by Timothy Hatcher.
* WebInspectorUI.vcxproj/WebInspectorUI.make: Make sure target for
xcopy operation exists.
* WebInspectorUI.vcxproj/WebInspectorUI.proj: Don't create directories
we don't need, make sure the target location exists before we build.
* WebInspectorUI.vcxproj/build-webinspectorui.pl: Make sure that
production builds get the intermediary command files from the
right place.
2014-08-11 Brian J. Burg <burg@cs.washington.edu>
Web Inspector: Add a helper to avoid leaking single-fire event listeners in Promise chains
https://bugs.webkit.org/show_bug.cgi?id=135772
Reviewed by Timothy Hatcher.
A common pattern when working with promise chains is to convert an event
handler into a promise by using a single-fire event listener with the
resolve continuation as the callback. This is fine if the event fires;
if it doesn't fire, then the event emitter permanently keeps a reference to the
this-object and the callback.
This patch adds EventListener, a proxy object for events that can be manipulated
from multiple promise callback functions. If a promise is rejected, the catch
block can disconnect any event listeners set up earlier in the promise chain.
This patch also reimplements EventListenerSet to use multiple EventListeners,
since they share the same logic to uniformly handle Inspector and DOM events.
Test: inspector/event-listener.html
Test: inspector/event-listener-set.html
* UserInterface/Base/EventListener.js: Added.
(WebInspector.EventListener):
(WebInspector.EventListener.prototype.this._callback):
(WebInspector.EventListener.prototype.connect):
(WebInspector.EventListener.prototype.disconnect):
* UserInterface/Base/EventListenerSet.js: Update license block.
(WebInspector.EventListenerSet.prototype.register):
(WebInspector.EventListenerSet.prototype.install):
(WebInspector.EventListenerSet.prototype.uninstall):
* UserInterface/Main.html: Include EventListener.
* UserInterface/Test.html: Include EventListener and EventListenerSet.
2014-08-10 Timothy Hatcher <timothy@apple.com>
Web Inspector: new glyphs are visible on OS X 10.9 builds
https://bugs.webkit.org/show_bug.cgi?id=135743
Reviewed by Joseph Pecoraro.
* UserInterface/Images/Legacy/UserInputPrompt.svg: Removed.
* UserInterface/Images/Legacy/UserInputPromptPrevious.svg: Removed.
* UserInterface/Images/Legacy/UserInputResult.svg: Removed.
Removed images that were not used.
* UserInterface/Views/DashboardContainerView.css:
(body.mac-platform.legacy .dashboard-container .advance-arrow):
* UserInterface/Views/DebuggerDashboardView.js:
(WebInspector.DebuggerDashboardView):
* UserInterface/Views/FolderIcon.css:
(body.mac-platform.legacy .folder-icon .icon):
* UserInterface/Views/HierarchicalPathComponent.css:
(body.mac-platform.legacy .hierarchical-path-component > .selector-arrows):
* UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView):
Use legacy images.
* UserInterface/Views/NavigationSidebarPanel.css:
(.navigation-sidebar-panel-content-tree-outline:focus .item.selected .subtitle):
Fix color for selected subtitle.
* UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel):
Use legacy images.
2014-08-09 Brian J. Burg <burg@cs.washington.edu>
Web Inspector: TimelineManager should reuse empty recordings
https://bugs.webkit.org/show_bug.cgi?id=135749
Reviewed by Timothy Hatcher.
Check whether the recording is empty before creating a new one.
* UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager.prototype._loadNewRecording):
* UserInterface/Models/TimelineRecording.js:
(WebInspector.TimelineRecording.prototype.isEmpty):
(WebInspector.TimelineRecording.prototype.unloaded):
2014-08-08 Brian J. Burg <burg@cs.washington.edu>
Web Inspector: add debugging flag to InspectorTest for unbuffered logging to stderr
https://bugs.webkit.org/show_bug.cgi?id=135726
Reviewed by Timothy Hatcher.
Added a flag for debugging inspector tests which will synchronously log messages.
This avoids failure modes that prevent logging from being added to the test page.
* UserInterface/Base/Test.js:
(InspectorTest.debugLog):
(InspectorTest.addResult):
2014-08-08 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: When Switching Recordings, the UI datagrids do not update to match selection
https://bugs.webkit.org/show_bug.cgi?id=135764
Reviewed by Timothy Hatcher.
* UserInterface/Views/TimelineSidebarPanel.js:
When changing the activeContentView trigger an update of the datagrids by
re-applying the filter, which will be different now that the view is different.
2014-08-08 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Uncaught Exception opening Web Inspector - TypeError: undefined is not a function - candidateObjectCookie.every
https://bugs.webkit.org/show_bug.cgi?id=135762
Reviewed by Timothy Hatcher.
* UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype.treeElementMatchesCookie):
Fix a typo, the wrong object was being used.
2014-08-07 Brian J. Burg <burg@cs.washington.edu>
REGRESSION(r172094): timeline views are blank after reloading in some situations
https://bugs.webkit.org/show_bug.cgi?id=135742
Reviewed by Timothy Hatcher.
Address various bugs that cause the wrong timeline content views to appear when
starting a recording by reloading the inspected page. Fix other small oversights
that were encountered in the sidebar-based view state restoration code.
* UserInterface/Models/TimelineRecording.js:
(WebInspector.TimelineRecording.prototype.saveIdentityToCookie): Add a dummy implementation.
* UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype.treeElementMatchesCookie):
This code erroneously matches any tree element whose represented object's
saveIdentityToCookie function produces an empty cookie.
* UserInterface/Views/TimelineContentView.js:
(WebInspector.TimelineContentView.prototype._showTimelineView): Add an assertion
that will find mismatches between represented objects of the TimelineContentView
and TimelineViews.
* UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel.prototype.restoreStateFromCookie): Don't call
the superclass's implementation, since we do not want to perform a relaxed match
against any of our tree elements. The only thing that can be restored across reopen
is a selected timeline tree element, which is already handled by this override.
2014-08-07 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Fix accidental always true comparison
https://bugs.webkit.org/show_bug.cgi?id=135741
Reviewed by Timothy Hatcher.
Remove accidental "!" that would always cause this comparison to succeed.
* UserInterface/Views/OverviewTimelineView.js:
(WebInspector.OverviewTimelineView.prototype.updateLayout):
2014-08-07 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Timeline Filter Bars are not appearing at all
https://bugs.webkit.org/show_bug.cgi?id=135740
Reviewed by Timothy Hatcher.
* UserInterface/Views/TimelineDataGrid.css:
(.data-grid.timeline.has-non-default-filter > .navigation-bar-container):
(.data-grid.timeline > .navigation-bar-container > .navigation-bar):
(body.mac-platform.legacy .data-grid.timeline > .navigation-bar-container > .navigation-bar):
Update the positioning and height for non-legacy because the console is now taller.
* UserInterface/Views/ScopeBar.js:
(WebInspector.ScopeBar.prototype.hasNonDefaultItemSelected):
Helper to know if there is a non-default filter.
* UserInterface/Views/TimelineDataGrid.js:
(WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters):
(WebInspector.TimelineDataGrid.prototype._scopeBarSelectedItemsDidChange):
Update scope bar visibility. If non-default we want to always show it.
(WebInspector.TimelineDataGrid.prototype._updateScopeBarForcedVisibility):
If there is a non-default filter, force showing the bar.
2014-08-07 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: breakpoints enabled state is not persisted across re-opening the inspector
https://bugs.webkit.org/show_bug.cgi?id=135745
Reviewed by Timothy Hatcher.
When restoring breakpoints when the inspector is initializing, do not
let setting these breakpoints automatically enable breakpoints. We should
respect the setting in this case.
* UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.restoreBreakpointsSoon):
(WebInspector.DebuggerManager):
2014-08-07 Timothy Hatcher <timothy@apple.com>
Web Inspector: Combine and minify Esprima
https://bugs.webkit.org/show_bug.cgi?id=135728
Reviewed by Joseph Pecoraro.
* Scripts/combine-resources.pl:
* Scripts/copy-user-interface-resources.pl:
* UserInterface/External/Esprima/LICENSE: Added.
2014-08-07 Timothy Hatcher <timothy@apple.com>
Fix regression where tree outline keyboard navigation is broken.
https://bugs.webkit.org/show_bug.cgi?id=135718
Reviewed by Joseph Pecoraro.
* UserInterface/Views/TreeOutline.js:
(TreeElement.prototype.revealed): Fix the check for currentAncestor.hidden.
2014-08-07 Timothy Hatcher <timothy@apple.com>
Web Inspector: Filter bar text and icon are positioned too low and tight
https://bugs.webkit.org/show_bug.cgi?id=135723
Reviewed by Joseph Pecoraro.
* UserInterface/Views/FilterBar.css:
(.filter-bar > input[type="search"]):
(.filter-bar > input[type="search"]::-webkit-search-decoration):
* UserInterface/Views/SearchBar.css:
(.search-bar > input[type="search"]):
2014-08-07 Timothy Hatcher <timothy@apple.com>
Web Inspector: Dashboard error and warning icons should be filled when enabled
https://bugs.webkit.org/show_bug.cgi?id=135725
Reviewed by Joseph Pecoraro.
* UserInterface/Images/ErrorsEnabled.svg:
* UserInterface/Images/IssuesEnabled.svg:
2014-08-07 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Dashboard contents shift when window changes active state
https://bugs.webkit.org/show_bug.cgi?id=135724
Reviewed by Timothy Hatcher.
The container was getting a 1px border when inactive and none when active.
Give it a transparent border when active so contents don't change size.
* UserInterface/Views/DashboardContainerView.css:
(.toolbar .dashboard-container):
2014-08-07 Timothy Hatcher <timothy@apple.com>
Fix reference to missing CloseTimeline.svg image.
Rubber-stamped by Joseph Pecoraro.
* UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel.createTimelineTreeElement): Use CloseLarge.svg instead.
2014-08-07 Brent Fulgham <bfulgham@apple.com>
[Win] Unreviewed build fix.
Add a WebInspectorUI.proj file for use with MSBuild utility.
* WebInspectorUI.vcxproj/WebInspectorUI.proj: Added.
2014-08-07 Benjamin Poulain <bpoulain@apple.com>
Get rid of INPUT_SPEECH
https://bugs.webkit.org/show_bug.cgi?id=135672
Reviewed by Andreas Kling.
* UserInterface/Models/CSSKeywordCompletions.js:
2014-08-07 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Dragging selection window when mouse goes out of window bounds does not behave as expected
https://bugs.webkit.org/show_bug.cgi?id=135372
Reviewed by Timothy Hatcher.
Constrain move selection window dragging to the ruler bounds
based on the mouse down position on the drag window.
* UserInterface/Views/TimelineRuler.js:
(WebInspector.TimelineRuler.prototype._handleMouseDown):
(WebInspector.TimelineRuler.prototype._handleMouseMove):
(WebInspector.TimelineRuler.prototype._handleMouseUp):
2014-08-07 Timothy Hatcher <timothy@apple.com>
Web Inspector: Update glyphs to be more like Xcode 6
https://bugs.webkit.org/show_bug.cgi?id=135705
Reviewed by Joseph Pecoraro.
* Localizations/en.lproj/localizedStrings.js: Updated.
* UserInterface/Base/ImageUtilities.js:
(platformImagePath): Added.
(generateEmbossedImages.generateImage):
Bump the base image version. Helper function. Use isLegacyMacOS.
* UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
(WebInspector._updateDockNavigationItems):
(WebInspector._generateDisclosureTriangleImages):
Use new images and add legacy path. Remove the shadow.
* UserInterface/Images: Updated images.
* UserInterface/Images/Legacy: Added. Moved legacy images here.
* UserInterface/Views/CSSStyleDeclarationSection.css:
(.style-declaration-section):
(body.mac-platform.legacy .style-declaration-section + .style-declaration-section):
(.style-declaration-section.last-in-group):
(.style-declaration-section.last-in-group + .style-declaration-section):
Use a consistent gray for borders.
* UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
(.sidebar > .panel.details.css-style > .content > .pseudo-classes):
Use a consistent gray for borders.
* UserInterface/Views/ContentBrowser.js:
(WebInspector.ContentBrowser):
Use new images and add legacy path.
* UserInterface/Views/ControlToolbarItem.css:
(.toolbar .item.control):
(body.mac-platform.legacy .toolbar .item.control):
(.toolbar .item.control:hover):
(body.mac-platform.legacy .toolbar .item.control:hover):
Adjust the opacity for controls.
* UserInterface/Views/DOMTreeContentView.js:
(WebInspector.DOMTreeContentView):
Use new images and add legacy path.
* UserInterface/Views/DataGrid.css:
(.data-grid tr.selected):
Use a consistent gray for borders.
* UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid.prototype.get _generateSortIndicatorImagesIfNeeded):
Use new images and add legacy path. Remove the shadow.
* UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel):
Use new images and add legacy path.
* UserInterface/Views/DefaultDashboardView.css:
(.toolbar .dashboard.default > .item):
(body.mac-platform.legacy .toolbar .dashboard.default > .item):
(body.mac-platform.legacy .toolbar .dashboard.default > .resourcesCount > img):
(body.mac-platform.legacy .toolbar .dashboard.default > .time > img):
(body.mac-platform.legacy .toolbar .dashboard.default > .logs > img):
(body.mac-platform.legacy .toolbar .dashboard.default > .resourcesSize > img):
(body.mac-platform.legacy .toolbar .dashboard.default > .errors > img):
(body.mac-platform.legacy .toolbar .dashboard.default > .errors.enabled > img):
(body.mac-platform.legacy .toolbar .dashboard.default > .issues > img):
(body.mac-platform.legacy .toolbar .dashboard.default > .issues.enabled > img):
Use new images and add legacy path.
* UserInterface/Views/DetailsSection.css:
(.details-section):
(.details-section .details-section:first-child):
(body.mac-platform.legacy .details-section > .header):
(.details-section > .content > .group):
(.details-section > .content > .group:nth-child(even) > .row.simple:first-child > *):
(body.mac-platform.legacy .details-section > .content > .group:last-child > .row.simple:last-child > *):
Use a consistent gray for borders.
* UserInterface/Views/FilterBar.css:
(body.mac-platform.legacy .filter-bar > input[type="search"]::-webkit-search-decoration):
Use new images and add legacy path.
* UserInterface/Views/FindBanner.css:
(.find-banner):
Use a consistent gray for borders.
* UserInterface/Views/FindBanner.js:
(WebInspector.FindBanner.prototype._generateButtonsGlyphsIfNeeded):
Add legacy path.
* UserInterface/Views/FrameTreeElement.js:
(WebInspector.FrameTreeElement.prototype.updateStatusForMainFrame):
Use new images and add legacy path.
* UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView):
Use new images and add legacy path.
* UserInterface/Views/Main.css:
(#split-content-browser):
Use a consistent gray for borders.
* UserInterface/Views/NavigationSidebarPanel.css:
(.sidebar > .panel.navigation > .overflow-shadow):
(body.mac-platform.legacy .sidebar > .panel.navigation > .overflow-shadow):
(.sidebar > .panel.navigation > .overflow-shadow.top):
(body.mac-platform.legacy .sidebar > .panel.navigation > .overflow-shadow.top):
(.sidebar > .panel.navigation > .empty-content-placeholder):
(body.mac-platform.legacy .sidebar > .panel.navigation > .empty-content-placeholder):
(.navigation-sidebar-panel-content-tree-outline:focus .item.selected .disclosure-button):
(.navigation-sidebar-panel-content-tree-outline:focus .item.selected.expanded .disclosure-button):
(.navigation-sidebar-panel-content-tree-outline .item.selected):
(.navigation-sidebar-panel-content-tree-outline:focus .item.selected):
Adjust the styles to make the selected item use white text and icons only when focused.
* UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
(WebInspector.NavigationSidebarPanel.prototype._generateDisclosureTrianglesIfNeeded):
Remove the shadow from the disclosure triangles. Make the overflow shadow not fade.
* UserInterface/Views/ProbeDetailsSidebarPanel.css:
(.details-section.probe-set .options > .probe-clear-samples):
(.details-section.probe-set .options > .probe-remove):
(.details-section.probe-set .options > .probe-add):
(body.mac-platform.legacy .details-section.probe-set .options > .probe-clear-samples):
(body.mac-platform.legacy .details-section.probe-set .options > .probe-remove):
(body.mac-platform.legacy .details-section.probe-set .options > .probe-add):
Tweak size and position of icons and use legacy paths.
* UserInterface/Views/QuickConsole.css:
(.quick-console):
Adjust padding to match filter bar height.
* UserInterface/Views/ResourceSidebarPanel.css:
(.sidebar > .panel.navigation.resource > .search-bar):
Adjust height.
* UserInterface/Views/RulesStyleDetailsPanel.css:
(.sidebar > .panel.details.css-style .rules .label + .style-declaration-section):
(.sidebar > .panel.details.css-style .rules .new-rule + .style-declaration-section):
(body.mac-platform.legacy .sidebar > .panel.details.css-style .rules .new-rule img):
Use a consistent gray for borders. Don't bold the New Rule label.
* UserInterface/Views/ScriptContentView.js:
(WebInspector.ScriptContentView):
Use new images and add legacy path.
* UserInterface/Views/Sidebar.css:
(.sidebar.left):
(.sidebar.right):
Use a consistent gray for borders.
* UserInterface/Views/TextContentView.js:
(WebInspector.TextContentView):
Use new images and add legacy path.
* UserInterface/Views/TextResourceContentView.js:
(WebInspector.TextResourceContentView):
Use new images and add legacy path.
* UserInterface/Views/TimelineContentView.js:
(WebInspector.TimelineContentView):
Use new images and add legacy path.
* UserInterface/Views/TimelineDataGrid.css:
(.data-grid.timeline th):
(.data-grid.timeline th.sortable:active):
(.data-grid.timeline th.sort-descending):
Fix a regression with the gradient background showing in legacy mode.
* UserInterface/Views/TimelineIcons.css:
(body.mac-platform.legacy .network-icon .icon):
(body.mac-platform.legacy .network-icon.large .icon):
(body.mac-platform.legacy .colors-icon .icon):
(body.mac-platform.legacy .colors-icon.large .icon):
Added legacy versions of these icons.
* UserInterface/Views/TimelineSidebarPanel.css:
(.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph):
(.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:hover):
(.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:active):
(.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:hover):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording:hover):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.forced):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording.forced):
(.sidebar > .panel.navigation.timeline > .timelines-content .close-button):
(.sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content :focus li.item.selected + li.item):
Update the styles for the recording button and close button.
* UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel.createTimelineTreeElement):
Use TreeElementStatusButton instead of a styled image.
* UserInterface/Views/TreeElementStatusButton.css:
(.item > .status > .status-button > svg path.filled):
(body.mac-platform.legacy .item > .status > .status-button > svg path.filled):
(:focus .item.selected > .status > .status-button > svg path.filled):
(.item > .status > .status-button > svg path.stroked):
(body.mac-platform.legacy .item > .status > .status-button > svg path.stroked):
(:focus .item.selected > .status > .status-button > svg path.stroked):
(.item.selected > .status > .status-button:active):
(.item > .status > .status-button.disabled):
Updated selectors and styles to work with stroke or fill.
2014-08-07 Brian J. Burg <burg@cs.washington.edu>
Web Inspector: DebuggerManager sends spurious setBreakpointsActive commands when setting a breakpoint
https://bugs.webkit.org/show_bug.cgi?id=135674
Reviewed by David Kilzer.
* UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype.set breakpointsEnabled): Fix a typo.
2014-08-06 Brian J. Burg <burg@cs.washington.edu>
Web Inspector: breakpoint resolved state should not depend on all breakpoints being enabled
https://bugs.webkit.org/show_bug.cgi?id=135517
Reviewed by Joseph Pecoraro.
Previously, Breakpoint.resolved returned false if all breakpoints were disabled, even if
the breakpoint had an associated SourceCode. This was a weird hack to make it easier to
style breakpoint widgets. This made it hard for other code to deal with resolved
breakpoints that were also disabled, or SourceCodeLocations that resolve and unresolve.
This patch removes that consideration and fixes style update code to manually check if all
breakpoints are being suppressed.
The code now enforces that a Breakpoint must have a SourceCode before it can be resolved.
(As a performance optimization when loading the initial frame tree, we sometimes we give
Breakpoints a SourceCode before the debugger officially says that the breakpoint has been
resolved. Thus, it's possible to be unresolved with a SourceCode, but not vice-versa.)
This patch also adds a few guards where we assumed a SourceCodeLocation had a SourceCode.
* UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype.set breakpointsEnabled): Remove spurious
ResolvedStateDidChange events.
(WebInspector.DebuggerManager.prototype.breakpointResolved): Set the breakpoint's SourceCode
if it has not been set already by DebuggerManager.associateBreakpointsWithSourceCode.
* UserInterface/Models/Breakpoint.js:
(WebInspector.Breakpoint.prototype.get resolved):
(WebInspector.Breakpoint.prototype.set resolved.isSpecialBreakpoint):
(WebInspector.Breakpoint.prototype.set resolved): Add an assertion.
* UserInterface/Models/SourceCodeLocation.js: Add guards for !SourceCode.
(WebInspector.SourceCodeLocation.prototype.populateLiveDisplayLocationTooltip):
* UserInterface/Views/BreakpointTreeElement.js: Account for DebuggerManager.breakpointsEnabled.
(WebInspector.BreakpointTr