ChangeLog-2014-11-19   [plain text]


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.BreakpointTreeElement):
        (WebInspector.BreakpointTreeElement.prototype._updateStatus):
        * UserInterface/Views/ProbeSetDetailsSection.js:
        (WebInspector.ProbeSetDetailsSection.prototype._updateLinkElement): Loosen the assertion.
        * UserInterface/Views/SourceCodeTextEditor.js: Account for DebuggerManager.breakpointsEnabled.
        (WebInspector.SourceCodeTextEditor):
        (WebInspector.SourceCodeTextEditor.prototype.close):
        (WebInspector.SourceCodeTextEditor.prototype._breakpointStatusDidChange):
        (WebInspector.SourceCodeTextEditor.prototype._breakpointsEnabledDidChange):
        (WebInspector.SourceCodeTextEditor.prototype._updateBreakpointStatus):
        * UserInterface/Views/TextEditor.js: Account for DebuggerManager.breakpointsEnabled.

2014-08-06  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: ReplayManager should unpause and suppress breakpoints before capturing/replaying
        https://bugs.webkit.org/show_bug.cgi?id=135608

        Reviewed by Timothy Hatcher.

        It is jarring when the debugger pauses during capturing or replaying. For now, we should suppress
        all breakpoints during capturing or replaying, and restore breakpoint enabled state when
        capturing finishes, when replaying finishes, or during temporary replay pauses.

        In the future, the debugger will be selectively enabled during playback to seek to specific
        breakpoint hits. This is tracked in https://bugs.webkit.org/show_bug.cgi?id=135663.

        * UserInterface/Controllers/ReplayManager.js:
        (WebInspector.ReplayManager.prototype.startCapturing.result):
        (WebInspector.ReplayManager.prototype.replayToPosition.result):
        (WebInspector.ReplayManager.prototype.replayToCompletion.result):
        (WebInspector.ReplayManager.prototype.captureStopped):
        (WebInspector.ReplayManager.prototype.playbackPaused):
        (WebInspector.ReplayManager.prototype.playbackFinished):
        (WebInspector.ReplayManager.prototype._changeSegmentState):
        (WebInspector.ReplayManager.prototype._suppressBreakpointsAndResumeIfNeeded):

2014-08-06  Brent Fulgham  <bfulgham@apple.com>

        [Win] Build fix.

        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: DebugSuffix target was missing
        proper path settings for final output.

2014-08-06  Wenson Hsieh  <wenson_hsieh@apple.com>

        Implement parsing for CSS scroll snap points
        https://bugs.webkit.org/show_bug.cgi?id=134301

        Reviewed by Dean Jackson.

        * UserInterface/Models/CSSKeywordCompletions.js: Added snap point property keywords, such as mandatory, proximity, elements, and repeat.

2014-08-06  Brian J. Burg  <burg@cs.washington.edu>

        REGRESSION(r172094): tests fail because Inspector test harness does not include UIString
        https://bugs.webkit.org/show_bug.cgi?id=135658

        Reviewed by Joseph Pecoraro.

        * UserInterface/Base/Test.js:
        (WebInspector.contentLoaded): Fix brace placement.
        (WebInspector.UIString): Added. This is the identity function during testing.

2014-08-06  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: convert ReplayManager to a promise-based API
        https://bugs.webkit.org/show_bug.cgi?id=135249

        Reviewed by Timothy Hatcher.

        Convert replay commands to an asynchronous, promise-based API. This addresses
        two problems with a synchronous replay API: clients can only use the synchronous
        API if session and segment state are exactly correct, and trying to change state
        to match this requirement requires chaining multiple commands and events.

        The asynchronous API allows clients to issue replay commands with impunity,
        as long as they can be unambiguously handled. For example, issuing
        pausePlayback() while capturing is not allowed, but issuing startCapturing()
        while replaying is allowed. The API also hides implementation details that
        are not important, such as steps to unpause or temporarily disable the debugger.

        This patch also cleans up uses of promises, such as adding error re-throwing.
        It adds return type annotations to public ReplayManager asynchronous methods.

        * UserInterface/Controllers/ReplayManager.js:
        (WebInspector.ReplayManager.catch):
        (WebInspector.ReplayManager):
        (WebInspector.ReplayManager.prototype.createSession):
        (WebInspector.ReplayManager.prototype.switchSession):
        (WebInspector.ReplayManager.prototype.startCapturing):
        (WebInspector.ReplayManager.prototype.stopCapturing):
        (WebInspector.ReplayManager.prototype.replayToPosition):
        (WebInspector.ReplayManager.prototype.replayToCompletion):
        (WebInspector.ReplayManager.prototype.sessionCreated.catch): re-throw.
        (WebInspector.ReplayManager.prototype.segmentCompleted.catch): re-throw.
        (WebInspector.ReplayManager.prototype.segmentCompleted.catch): re-throw.
        (WebInspector.ReplayManager.prototype.segmentUnloaded.catch): re-throw.
        (WebInspector.ReplayManager.prototype.sessionCreated.catech): re-throw.

2014-08-06  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: protocol command invocations should return a promise if no callback is supplied
        https://bugs.webkit.org/show_bug.cgi?id=130702

        Reviewed by Timothy Hatcher.

        This allows the trailing Agent.command.promise(args) to be dropped in favor of just
        Agent.command(args). It should make it a bit easier to convert code to use promises.

        Test: LayoutTests/inspector/protocol-promise-result.html

        * UserInterface/Controllers/ReplayManager.js: Drop use of .promise().
        * UserInterface/Controllers/TimelineManager.js: Drop use of .promise().
        (WebInspector.TimelineManager.prototype.startCapturing):
        * UserInterface/Protocol/InspectorBackend.js:
        (.callable): Redirect to the promise entry point if the last argument isn't a function.
        (InspectorBackend.Command.create):

2014-08-05  James Craig  <jcraig@apple.com>

        Web Inspector: AXI: Add label string once AccessibilityObject::computedLabel() is available
        https://bugs.webkit.org/show_bug.cgi?id=129940

        Reviewed by Chris Fleizach.

        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: UI update for label field in Node Inspector.
        (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility):

2014-08-05  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: support storing multiple timeline recordings in the manager
        https://bugs.webkit.org/show_bug.cgi?id=132875

        Reviewed by Timothy Hatcher.

        This patch adds support for capturing multiple timeline recordings and switching
        between them in the user interface using hierarchical path components.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Base/Main.js:
        (WebInspector.contentLoaded): Remove hard-coded priming of the timeline sidebar panel.
        Instead, load the first recording in the timeline manager after the initial load.

        (WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar): Don't suppress
        onselect events when selecting the tree element for a newly shown content view. This
        allows the sidebar to sync the current content view and timeline tree element selection
        with what is displayed in the content browser.

        * UserInterface/Controllers/TimelineManager.js: Add two new events, RecordingCreated and
        RecordingLoaded. A recording is considered active when any new records recieved will be
        appended to that recording. The user interface is not necessarily viewing the active
        recording.

        (WebInspector.TimelineManager.delayedWork):
        (WebInspector.TimelineManager): Keep a list of recordings, and load the first recording
        asynchronously so that everyone can add an event listener for it.

        (WebInspector.TimelineManager.prototype.get activeRecording):
        (WebInspector.TimelineManager.prototype.get recordings):
        (WebInspector.TimelineManager.prototype.startCapturing):
        (WebInspector.TimelineManager.prototype.stopCapturing): Use promises to make the iOS 7
        fallback path better match the async semantics of the non-fallback path.

        (WebInspector.TimelineManager.prototype.unloadRecording):
        (WebInspector.TimelineManager.prototype._loadNewRecording): Stop capturing and unload
        any existing recording before creating and loading a new recording.

        (WebInspector.TimelineManager.prototype._startAutoCapturing): Create a new recording
        rather than resetting the current recording.

        * UserInterface/Models/NetworkTimeline.js:
        (WebInspector.NetworkTimeline):
        * UserInterface/Models/Timeline.js:
        (WebInspector.Timeline):
        (WebInspector.Timeline.prototype.get type): Each timeline stores its TimelineRecord.Type
        so that other code can create type-specific views using the Timeline as a representedObject.

        * UserInterface/Models/TimelineRecording.js: For each recording, add new state for a unique identifier,
        display string, and an isWritable flag. Once a recording is unloaded, it becomes read-only.
        (WebInspector.TimelineRecording.prototype.get displayName):
        (WebInspector.TimelineRecording.prototype.get identifier):
        (WebInspector.TimelineRecording.prototype.isWritable):
        (WebInspector.TimelineRecording.prototype.unloaded):
        (WebInspector.TimelineRecording.prototype.reset): A recording can only be reset if it is writable.

        * UserInterface/Protocol/InspectorFrontendAPI.js:
        (InspectorFrontendAPI.setTimelineProfilingEnabled): Don't make redundant start/stop capturing calls.

        * UserInterface/Views/LayoutTimelineOverviewGraph.js: Use a timeline as the representedObject for all
        timeline-specific graphs and views. Otherwise, use the recording.
        (WebInspector.LayoutTimelineOverviewGraph):
        * UserInterface/Views/LayoutTimelineView.js:
        (WebInspector.LayoutTimelineView):
        (WebInspector.LayoutTimelineView.prototype._treeElementSelected):
        * UserInterface/Views/NetworkTimelineOverviewGraph.js:
        (WebInspector.NetworkTimelineOverviewGraph):
        * UserInterface/Views/NetworkTimelineView.js:
        (WebInspector.NetworkTimelineView):
        * UserInterface/Views/OverviewTimelineView.js:
        (WebInspector.OverviewTimelineView.prototype._networkTimelineRecordAdded):
        * UserInterface/Views/ScriptTimelineOverviewGraph.js:
        (WebInspector.ScriptTimelineOverviewGraph):
        * UserInterface/Views/ScriptTimelineView.js:
        (WebInspector.ScriptTimelineView):
        (WebInspector.ScriptTimelineView.prototype._treeElementSelected):

        * UserInterface/Views/TimelineContentView.js: Iterate over timeline objects when setting up maps. Use timelines
        as keys rather than their type identifiers.
        (WebInspector.TimelineContentView.prototype.showTimelineViewForTimeline): Renamed from showTimelineView. This
        function takes a Timeline instance rather than an identifier, since the conten view is specific to one recording.
        (WebInspector.TimelineContentView.prototype.get selectionPathComponents): Match types against the currently
        visible timeline's representedObject.
        (WebInspector.TimelineContentView.prototype.get currentTimelineView): Used by the sidebar panel to sync timeline
        tree element selections to TimelineView shown by the TimelineContentView.
        (WebInspector.TimelineContentView.prototype.shown): Sync enablement of the "Clear Timelines" button to recording
        read-only state.

        (WebInspector.TimelineContentView.prototype.saveToCookie):
        (WebInspector.TimelineContentView.prototype.restoreFromCookie): Added. Only handle saving/restoring the subview.

        (WebInspector.TimelineContentView.prototype._pathComponentSelected):
        (WebInspector.TimelineContentView.prototype._showTimelineView): Relax the early return so that timeline views
        and content tree outlines are reattached when re-navigating to the same timeline view via back-forward entries.
        (WebInspector.TimelineContentView.prototype.showTimelineView): Deleted.

        * UserInterface/Views/TimelineOverviewGraph.js:
        (WebInspector.TimelineOverviewGraph):

        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel): Keep a tree outline and tree element map for storing available recordings.
        (WebInspector.TimelineSidebarPanel.createTimelineTreeElement):
        (WebInspector.TimelineSidebarPanel.prototype.shown): Added.
        (WebInspector.TimelineSidebarPanel.prototype.showDefaultContentView): Add a guard.
        (WebInspector.TimelineSidebarPanel.prototype.get hasSelectedElement): Added. Selected recording tree elements
        should be considered when deciding whether a represented object has been selected in the sidebar panel.

        (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.looselyCompareRepresentedObjects):
        (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.get if):
        (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject):
        (WebInspector.TimelineSidebarPanel.prototype.showTimelineOverview):
        (WebInspector.TimelineSidebarPanel.prototype.showTimelineViewForType): Renamed to explicit take a type identifier.
        Delegate the actual showing of the timeline view to the onselect handler for the timelines tree outline.

        (WebInspector.TimelineSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
        (WebInspector.TimelineSidebarPanel.prototype.saveStateToCookie): Fix a typo.
        (WebInspector.TimelineSidebarPanel.prototype.restoreStateFromCookie): Fix a typo.
        (WebInspector.TimelineSidebarPanel.prototype._recordingsTreeElementSelected): Sync the currently displayed
        recording object and content view, and sync the selected tree element to the displayed timeline subview.

        (WebInspector.TimelineSidebarPanel.prototype._timelinesTreeElementSelected): If this is a user action, show the timeline.
        (WebInspector.TimelineSidebarPanel.prototype._contentBrowserCurrentContentViewDidChange): Use classList.toggle().
        (WebInspector.TimelineSidebarPanel.prototype._recordingCreated): Dynamically add new recordings to the interface.
        (WebInspector.TimelineSidebarPanel.prototype._recordingLoaded): Automatically show recordings when they are loaded.
        (WebInspector.TimelineSidebarPanel.prototype._recordGlyphClicked): Shift+click will force-create a new recording.
        (WebInspector.TimelineSidebarPanel.prototype.initialize): Deleted.
        * UserInterface/Views/TimelineView.js:
        (WebInspector.TimelineView):
        (WebInspector.TimelineView.prototype.get representedObject):

2014-08-05  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: ReplayManager shouldn't assume replay status when the inspector is opened
        https://bugs.webkit.org/show_bug.cgi?id=135212

        Reviewed by Timothy Hatcher.

        The inspector could be closed and reopened at any point during capturing or replaying.
        ReplayManager should query the current state on initialization rather than assuming
        that the replay controller is still in its initial state.

        ReplayManager's initialization code requires querying the backend for the current replay
        state. This could race with replay protocol events that mutate the manager's state before
        it is fully initialized, leading to undefined behavior.

        To mitigate this, all protocol event handlers (called by ReplayObserver) are wrapped
        with a guard that enqueues the callback if initialization is not yet complete. This
        queue is implemented via multiple then-chaining of a shared 'initialization' promise
        which resolves when initialization completes.

        * UserInterface/Controllers/ReplayManager.js:
        (WebInspector.ReplayManager.then):
        (WebInspector.ReplayManager.catch):
        (WebInspector.ReplayManager): Rewrite the initialization code to first query the replay
        state, set the initialization flag to true, and then request and update session records.
        The sessions must be loaded after querying initial state because ReplayManager.sessionCreated
        requires replay state to be initialized.

        (WebInspector.ReplayManager.prototype.get sessionState):
        (WebInspector.ReplayManager.prototype.get segmentState):
        (WebInspector.ReplayManager.prototype.get activeSessionIdentifier):
        (WebInspector.ReplayManager.prototype.get activeSegmentIdentifier):
        (WebInspector.ReplayManager.prototype.get playbackSpeed):
        (WebInspector.ReplayManager.prototype.set playbackSpeed):
        (WebInspector.ReplayManager.prototype.get currentPosition): Add assertions to catch uses of
        manager state before the manager is fully initialized.

        (WebInspector.ReplayManager.prototype.waitUntilInitialized): Added. It returns a shared promise
        that is fulfilled when initialization is complete.

        (WebInspector.ReplayManager.prototype.captureStarted):
        (WebInspector.ReplayManager.prototype.captureStopped):
        (WebInspector.ReplayManager.prototype.playbackStarted):
        (WebInspector.ReplayManager.prototype.playbackHitPosition):
        (WebInspector.ReplayManager.prototype.playbackPaused):
        (WebInspector.ReplayManager.prototype.playbackFinished):
        (WebInspector.ReplayManager.prototype.sessionModified):
        (WebInspector.ReplayManager.prototype.sessionLoaded):
        (WebInspector.ReplayManager.prototype.segmentCompleted.set catch):
        (WebInspector.ReplayManager.prototype.segmentCompleted):
        (WebInspector.ReplayManager.prototype.segmentRemoved.then):
        (WebInspector.ReplayManager.prototype.segmentRemoved):
        (WebInspector.ReplayManager.prototype.segmentLoaded): Add initialization guards.

2014-08-05  Brian J. Burg  <burg@cs.washington.edu>

        Web Replay: rename protocol methods for getting replay session/segment data
        https://bugs.webkit.org/show_bug.cgi?id=135618

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/ReplayManager.js:
        (WebInspector.ReplayManager.prototype.getSession.get var):
        (WebInspector.ReplayManager.prototype.getSegment.get var):
        * UserInterface/Models/ReplaySession.js:
        (WebInspector.ReplaySession.prototype.segmentsChanged):

2014-08-05  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: cannot navigate between multiple applicable dashboards
        https://bugs.webkit.org/show_bug.cgi?id=135130

        Reviewed by Timothy Hatcher.

        Add navigation arrows between dashboards when multiple dashboards are applicable.
        For example, the user should be able to go back to the default dashboard while paused
        at a breakpoint. Dashboards form a stack based on when they are first introduced.

        * UserInterface/Views/DashboardContainerView.css:
        (.toolbar .dashboard): Increase padding-right a bit to make room for arrows.
        (.toolbar .dashboard:not(.visible)): Fix a bug where higher dashboards in the dashboard stack
        can shine through when animating between two lower dashboards that have transparent background.
        This ensures that at most two dashboards (namely, the ones being animated) are displayed.

        (.dashboard-container .advance-arrow): Main style class for navigation arrows.
        (.dashboard-container .advance-arrow:hover):
        (.dashboard-container .advance-arrow:active):
        (.dashboard-container .advance-arrow.inactive):
        (.toolbar.label-only .dashboard-container .advance-arrow): Make arrows slightly smaller when
        the dashboards get shorter.

        (.dashboard-container .advance-arrow.advance-forward):
        (.dashboard-container .advance-arrow.advance-backward):
        * UserInterface/Views/DashboardContainerView.js:
        (WebInspector.DashboardContainerView): Arrow styles are updated when a dashboard is shown,
        hidden, or closed. When moving away, we dismiss (i.e., set zero opacity) arrows at animation
        start. When the animation finishes, redisplay arrows that are applicable for the new dashboard.

        (WebInspector.DashboardContainerView.prototype._advanceForwardArrowClicked):
        (WebInspector.DashboardContainerView.prototype._advanceBackwardArrowClicked):
        (WebInspector.DashboardContainerView.prototype._dismissAdvanceArrows):
        (WebInspector.DashboardContainerView.prototype._updateAdvanceArrowVisibility):
        (WebInspector.DashboardContainerView.prototype._showDashboardAtIndex): There was a bug here
        where it would unconditionally use the same animation direction when showing a dashboard, but
        it was hard to spot without arrows that must correlate with the animation direction.

        (WebInspector.DashboardContainerView.prototype.animationEnded):
        (WebInspector.DashboardContainerView.prototype._showDashboardView):
        (WebInspector.DashboardContainerView.prototype._hideDashboardView):
        (WebInspector.DashboardContainerView.prototype._closeDashboardView):

2014-08-05  Saam Barati  <sbarati@apple.com>

        Web Inspector: shown() called on a content view when stepping over an instruction in the debugger
        https://bugs.webkit.org/show_bug.cgi?id=135311

        Reviewed by Timothy Hatcher.

        ContentViewContainer should not repeatedly call ContentView.prototype.shown 
        on ContentViews that are already visible. ContentViewContainer now passes
        a flag to BackForwardEntry.prototype.prepareToShow indicating whether it should
        call the shown function on the ContentView it is about to display.
        ContentViewContainer.prototype.showBackForwardEntryForIndex passes in this
        flag based on its ContentView being visible.

        * UserInterface/Models/BackForwardEntry.js:
        (WebInspector.BackForwardEntry.prototype.prepareToShow):
        * UserInterface/Views/ContentViewContainer.js:
        (WebInspector.ContentViewContainer.prototype.showBackForwardEntryForIndex):
        (WebInspector.ContentViewContainer.prototype.replaceContentView):
        (WebInspector.ContentViewContainer.prototype.closeAllContentViewsOfPrototype):
        (WebInspector.ContentViewContainer.prototype.shown):
        (WebInspector.ContentViewContainer.prototype._showEntry):

2014-08-01  Jonathan Wells  <jonowells@apple.com>

        Web Inspector: Timeline header height doesn't match style updates.
        https://bugs.webkit.org/show_bug.cgi?id=135516

        Reviewed by Timothy Hatcher.

        Update the timeline header height to match the updates
        to the navigation bars in other panels made in
        https://bugs.webkit.org/show_bug.cgi?id=135445. Also
        update the shadows on some of the search bars.

        * UserInterface/Views/FilterBar.css:
        (.filter-bar > input[type="search"]):
        (body.mac-platform.legacy .filter-bar > input[type="search"]):
        * UserInterface/Views/FindBanner.css:
        (.find-banner > input[type="search"]):
        (body.mac-platform.legacy .find-banner > input[type="search"]):
        * UserInterface/Views/LogContentView.css:
        (.search-bar.log-search-bar > input[type="search"]):
        (body.mac-platform.legacy .search-bar.log-search-bar > input[type="search"]):
        Remove inset shadows on search bars.

        * UserInterface/Views/TimelineSidebarPanel.css:
        (.sidebar > .panel.navigation.timeline > .status-bar):
        (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar):
        (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph):
        (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph):
        (.sidebar > .panel.navigation.timeline > .status-bar > .record-status):
        (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-status):
        (.sidebar > .panel.navigation.timeline > .title-bar.timelines):
        (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .title-bar.timelines):
        (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
        (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
        (.sidebar > .panel.navigation.timeline > .timelines-content):
        (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content):
        (.sidebar > .panel.navigation.timeline > .empty-content-placeholder):
        (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .empty-content-placeholder):
        Update the height of the timeline status bar.

2014-07-31  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: "Stop Recording" button feels unresponsive, recording takes a long time to stop
        https://bugs.webkit.org/show_bug.cgi?id=135490

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager.prototype.stopCapturing):
        Immediately stop the recording without waiting for an event from the backend.
        This makes the Web Inspector UI feel responsive to the user stopping the recording.
        This also matches behavior before r171195.

2014-07-31  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Timeline recording is not working inspecting iOS 7 and earlier
        https://bugs.webkit.org/show_bug.cgi?id=135466

        Reviewed by Timothy Hatcher.

        Start / stop capturing for older backends that won't emit start / stop events.

        * UserInterface/Protocol/InspectorBackend.js:
        (InspectorBackend.Agent.prototype.hasEvent):
        Provide a way to check if an event is supported.

        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager.prototype.startCapturing):
        (WebInspector.TimelineManager.prototype.stopCapturing):
        Fallback to starting and stopping capturing manually if the backend
        does not provide the events.

2014-07-31  Jonathan Wells  <jonowells@apple.com>

        Web Inspector: Sync button look and feel with Xcode updates.
        https://bugs.webkit.org/show_bug.cgi?id=135445

        Reviewed by Timothy Hatcher.

        Update styles to match recent changes to Xcode text-only
        buttons, the navigation bar, and search fields. Include
        older style rules for older Mac platforms.

        * UserInterface/Views/ButtonNavigationItem.css:
        (.navigation-bar .item.button.text-only):
        (body.mac-platform.legacy .navigation-bar .item.button.text-only):
        * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
        (.sidebar > .panel.details.css-style > .navigation-bar):
        (.sidebar > .panel.details.css-style > .content):
        (body.mac-platform.legacy .sidebar > .panel.details.css-style > .content):
        * UserInterface/Views/DebuggerSidebarPanel.css:
        (.sidebar > .panel.navigation.debugger > .content):
        (body.mac-platform.legacy .sidebar > .panel.navigation.debugger > .content):
        * UserInterface/Views/DividerNavigationItem.css:
        (.navigation-bar .item.divider):
        (body.mac-platform.legacy .navigation-bar .item.divider):
        * UserInterface/Views/FilterBar.css:
        (.filter-bar):
        (body.mac-platform.legacy .filter-bar):
        (.filter-bar > input[type="search"]):
        (body.mac-platform.legacy .filter-bar > input[type="search"]):
        * UserInterface/Views/LogContentView.css:
        (.search-bar.log-search-bar > input[type="search"]):
        (@media reader):
        (.log-search-bar > input): Deleted.
        * UserInterface/Views/Main.css:
        (#split-content-browser > .navigation-bar):
        (body.mac-platform.legacy #split-content-browser > .navigation-bar):
        * UserInterface/Views/NavigationBar.css:
        (.navigation-bar):
        (body.mac-platform.legacy .navigation-bar):
        (.navigation-bar .item):
        (body.mac-platform.legacy .navigation-bar .item):
        * UserInterface/Views/NavigationSidebarPanel.css:
        (.sidebar > .panel.navigation > .content):
        (body.mac-platform.legacy .sidebar > .panel.navigation > .content):
        * UserInterface/Views/QuickConsole.css:
        (.quick-console):
        (body.mac-platform.legacy .quick-console):
        * UserInterface/Views/RadioButtonNavigationItem.css:
        (.navigation-bar .item.radio.button.text-only:hover):
        (body.mac-platform.legacy .navigation-bar .item.radio.button.text-only:hover):
        (.navigation-bar .item.radio.button.text-only.selected):
        (body.mac-platform.legacy .navigation-bar .item.radio.button.text-only.selected):
        (.navigation-bar .item.radio.button.text-only:active):
        (.navigation-bar .item.radio.button.text-only.selected:active):
        (body.mac-platform.legacy .navigation-bar .item.radio.button.text-only.selected:active):
        * UserInterface/Views/ResourceSidebarPanel.css:
        (.sidebar > .panel.navigation.resource > .empty-content-placeholder):
        (body.mac-platform.legacy .sidebar > .panel.navigation.resource > .empty-content-placeholder):
        (.sidebar > .panel.navigation.resource > .search-bar):
        (body.mac-platform.legacy .sidebar > .panel.navigation.resource > .search-bar):
        (.sidebar > .panel.navigation.resource > .search-bar > input[type="search"]):
        (body.mac-platform.legacy .sidebar > .panel.navigation.resource > .search-bar > input[type="search"]):
        * UserInterface/Views/ScopeBar.css:
        (.scope-bar > li):
        (body.mac-platform.legacy .scope-bar > li):
        (.scope-bar > li:hover):
        (body.mac-platform.legacy .scope-bar > li:hover):
        (.scope-bar > li.selected):
        (.scope-bar > li:active):
        (body.mac-platform.legacy .scope-bar > li:active):
        (.scope-bar > li.selected:active):
        (body.mac-platform.legacy .scope-bar > li.selected:active):
        * UserInterface/Views/SearchBar.css:
        (.search-bar > input[type="search"]):
        (body.mac-platform.legacy .search-bar > input[type="search"]):
        Update styles and apply older styles to legacy Mac platforms.

2014-07-31  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: MessageDispatcher should not synchronously dispatch all backend messages
        https://bugs.webkit.org/show_bug.cgi?id=135427

        Reviewed by Timothy Hatcher.

        The frontend dispatches all queued messages from the backend synchronously, even if there are
        hundreds of messages, or even if some of the messages take a long time (>10ms) to process.

        This patch adds a time limit to the frontend's message dispatcher. If the time limit is exceeded
        when processing the message queue, unhandled messages remain in the queue and the dispatcher goes
        to sleep until the next run loop (obtained by a new setTimeout).

        This has the effect of removing stutters when the message queue has hundreds of small messages.
        The outliers are still the same since some single messages can take over 200ms to be handled.

        This patch also improves performance logging in InspectorBackend so that it is easier to see
        message handling times and their distribution among run loop turns.

        * UserInterface/Protocol/InspectorBackend.js:
        (InspectorBackendClass): Add a new diagnostic flag that warns about slow message handling.
        (InspectorBackendClass.prototype._dispatchCallback.get if): Improve logging.
        (InspectorBackendClass.prototype._dispatchCallback): Improve logging.
        (InspectorBackendClass.prototype._dispatchEvent): Improve logging.
        * UserInterface/Protocol/MessageDispatcher.js:
        (WebInspector.dispatchNextQueuedMessageFromBackend): Keep track of a time limit for message
        dispatching, and set a new timeout if we exceed the time limit.

2014-07-31  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Right edge of Timeline Record button does not work
        https://bugs.webkit.org/show_bug.cgi?id=135444

        Reviewed by Timothy Hatcher.

        When hovering the record button we would show the status text, however
        because the left edge of the status text box would overlap the right
        edge of the record button causing completely unexpected behavior.

        Position the status text correctly so that it never overlaps the record
        button. 5px to match the left margin of the record button, and another
        2px for some padding between the button and text.

        * UserInterface/Views/TimelineSidebarPanel.css:
        (.sidebar > .panel.navigation.timeline > .status-bar > .record-status):

2014-07-31  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: console.profile missing profile information
        https://bugs.webkit.org/show_bug.cgi?id=135432

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/ScriptTimelineRecord.js:
        Delete the payload information as soon as it has been processed.
        It is no longer needed anymore and can be garbage collected.

2014-07-30  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: ProbeSetDetailsSection should not create live location links for unresolved breakpoints
        https://bugs.webkit.org/show_bug.cgi?id=135367

        Reviewed by Timothy Hatcher.

        Regenerate the source code link whenever the breakpoint resolved status changes. If it is
        resolved, then we can create a live location link that respects source maps.

        * UserInterface/Views/ProbeSetDetailsSection.js:
        (WebInspector.ProbeSetDetailsSection):
        (WebInspector.ProbeSetDetailsSection.prototype._updateLinkElement): Added.
        (WebInspector.ProbeSetDetailsSection.prototype._probeSetPositionTextOrLink): Deleted.

2014-07-29  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: 80% of time during recording is spent creating source code locations for profile nodes
        https://bugs.webkit.org/show_bug.cgi?id=135399

        Reviewed by Timothy Hatcher.

        Profiling the inspector while recording a timeline, a significant amount of
        time was spent creating SourceCodeLocation objects for profiling information
        and call frames. A lot of this data was eagerly being processed, even though
        it would not immediately be presentable to the user.

        This makes two significant changes. We create a LazySourceCodeLocation class
        which does as little as possible until display information is requested. We
        also lazily convert the profiler payload data to a Profile object, so the
        processing is only done if you drill into the Script specific timeline.

        This results in a significant performance improvement in the overview view.

        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
        (WebInspector.TimelineManager.prototype.eventRecorded):
        (WebInspector.TimelineManager.prototype._callFramesFromPayload.createCallFrame):
        (WebInspector.TimelineManager.prototype._callFramesFromPayload):
        (WebInspector.TimelineManager.prototype._profileFromPayload.profileNodeFromPayload): Deleted.
        (WebInspector.TimelineManager.prototype._profileFromPayload.profileNodeCallFromPayload): Deleted.
        (WebInspector.TimelineManager.prototype._profileFromPayload): Deleted.
        Do not eagerly process profile payloads. Instead pass the payload to ScriptTimelineRecords.
        Likewise create callframes with lazy source code locations to do the minimum amount of work.

        * UserInterface/Models/ScriptTimelineRecord.js:
        (WebInspector.ScriptTimelineRecord):
        (WebInspector.ScriptTimelineRecord.prototype.get profile):
        (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload.profileNodeFromPayload):
        (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload.profileNodeCallFromPayload):
        (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload):
        Only when the profile is asked do we process the profiler payload information.
        This defer the processing until at least the user drills into the Script timeline.

        * UserInterface/Main.html:
        Add the new class and ensure SourceCodeLocation is available beforehand.

        * UserInterface/Models/LazySourceCodeLocation.js: Added.
        (WebInspector.LazySourceCodeLocation):
        (WebInspector.LazySourceCodeLocation.prototype.isEqual):
        (WebInspector.LazySourceCodeLocation.prototype.get sourceCode):
        (WebInspector.LazySourceCodeLocation.prototype.set sourceCode):
        (WebInspector.LazySourceCodeLocation.prototype.get formattedLineNumber):
        (WebInspector.LazySourceCodeLocation.prototype.get formattedColumnNumber):
        (WebInspector.LazySourceCodeLocation.prototype.formattedPosition):
        (WebInspector.LazySourceCodeLocation.prototype.hasFormattedLocation):
        (WebInspector.LazySourceCodeLocation.prototype.hasDifferentDisplayLocation):
        (WebInspector.LazySourceCodeLocation.prototype.resolveMappedLocation):
        (WebInspector.LazySourceCodeLocation.prototype._lazyInitialization):
        Only when display information is requested will we perform extra processing.
        For basic information we do not need to check for formatted (pretty-printed) info.

        * UserInterface/Models/SourceCode.js:
        (WebInspector.SourceCode.prototype.createLazySourceCodeLocation):
        Provide an explict create function for lazy source codes.

        * UserInterface/Models/SourceCodeLocation.js:
        (WebInspector.SourceCodeLocation.prototype.set sourceCode):
        (WebInspector.SourceCodeLocation.prototype.get displaySourceCode):
        (WebInspector.SourceCodeLocation.prototype.get displayLineNumber):
        (WebInspector.SourceCodeLocation.prototype.get displayColumnNumber):
        (WebInspector.SourceCodeLocation.prototype.hasMappedLocation):
        (WebInspector.SourceCodeLocation.prototype.setSourceCode):
        (WebInspector.SourceCodeLocation.prototype.resolveMappedLocation):
        (WebInspector.SourceCodeLocation.prototype._makeChangeAndDispatchChangeEventIfNeeded):
        (WebInspector.SourceCodeLocation.prototype._resolveMappedLocation): Deleted.
        Include two protected functions which LazySourceCodeLocation overrides.

2014-07-29  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Only compute full ProfileNode times if needed - Legacy Profiler
        https://bugs.webkit.org/show_bug.cgi?id=135406

        Reviewed by Timothy Hatcher.

        Full ProfileNode times are only used by the Legacy Profiler. The new profile
        information in the Scripts Timelines currently never uses the pass. We should
        avoid calculating it if we never use it.

        * UserInterface/Models/ProfileNode.js:
        (WebInspector.ProfileNode.prototype.get startTime):
        (WebInspector.ProfileNode.prototype.get endTime):
        (WebInspector.ProfileNode.prototype.get selfTime):
        (WebInspector.ProfileNode.prototype.get totalTime):
        (WebInspector.ProfileNode.prototype.establishRelationships):
        (WebInspector.ProfileNode.prototype._computeTotalTimes):

2014-07-29  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Reduce forced layouts in TimelineOverview
        https://bugs.webkit.org/show_bug.cgi?id=135405

        Reviewed by Timothy Hatcher.

        Remove another forced layout. The scroll container won't
        change size unless the ContentView itself resized. Make the
        distinction between a layout update due to a resize and
        normal events (scale changes, etc) and only calculate
        element sizes then.

        * UserInterface/Views/TimelineContentView.js:
        (WebInspector.TimelineContentView.prototype.updateLayout):
        * UserInterface/Views/TimelineOverview.js:
        (WebInspector.TimelineOverview):
        (WebInspector.TimelineOverview.prototype.get visibleDuration):
        (WebInspector.TimelineOverview.prototype.updateLayoutForResize):

2014-07-29  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: breakpoints are always speculatively resolved when restored from local storage
        https://bugs.webkit.org/show_bug.cgi?id=135396

        Reviewed by Timothy Hatcher.

        A longstanding quirk/optimization in the frontend is that we immediately set a breakpoint
        as resolved if the breakpoint was successfully set in the backend. This ensures that clicking in
        the gutter immediately produces a resolved breakpoint with only one round-trip.

        However, not all breakpoints should be speculatively resolved, because the corresponding resource
        may not be loaded yet. This situation causes problems for code that assumes a resolved breakpoint
        also has a valid sourceCodeLocation.sourceCode.

        * UserInterface/Controllers/DebuggerManager.js:
        (WebInspector.DebuggerManager.restoreBreakpointsSoon): Don't leak the variable to global scope.
        (WebInspector.DebuggerManager):
        (WebInspector.DebuggerManager.prototype.speculativelyResolveBreakpoint):
        (WebInspector.DebuggerManager.prototype.addBreakpoint): Speculatively resolve here if requested
        using the success callback passed to _setBreakpoint.

        (WebInspector.DebuggerManager.prototype.didSetBreakpoint): Emit simulated
        Debugger.breakpointResolved events since they are only sent by the backend when a script is parsed.

        (WebInspector.DebuggerManager.prototype._setBreakpoint):
        * UserInterface/Views/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointAdded): Request speculative resolve.

2014-07-29  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Eliminate more forced layouts during timeline recordings
        https://bugs.webkit.org/show_bug.cgi?id=135397

        Reviewed by Timothy Hatcher.

        Instead of computing the secondsPerPixel in each overview graph,
        we can ask the overview view itself which has a cached value.
        The computation used to force a layout, now it doesn't need to.

        * UserInterface/Views/LayoutTimelineOverviewGraph.js:
        * UserInterface/Views/NetworkTimelineOverviewGraph.js:
        * UserInterface/Views/ScriptTimelineOverviewGraph.js:
        * UserInterface/Views/TimelineOverview.js:
        (WebInspector.TimelineOverview):
        * UserInterface/Views/TimelineOverviewGraph.js:
        (WebInspector.TimelineOverviewGraph):
        (WebInspector.TimelineOverviewGraph.prototype.get timelineOverview):
        (WebInspector.TimelineOverviewGraph.prototype.set timelineOverview):

2014-07-28  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Incorrectly sized TimelineDataGrid event bubble
        https://bugs.webkit.org/show_bug.cgi?id=135371

        Reviewed by Timothy Hatcher.

        Previously the secondsPerPixel calculation was relying on an element
        that may not be sized yet. This was resulting in a visibleWidth of 0
        and resulted in secondsPerPixel being Infinity. Fortunately, the
        graph data source already knows the secondsPerPixel so we can just
        ask it. Getting the correct value and eliminating forced layouts.

        * UserInterface/Views/OverviewTimelineView.js:
        (WebInspector.OverviewTimelineView.prototype.get secondsPerPixel):
        * UserInterface/Views/TimelineDataGridNode.js:

2014-07-28  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Reduce work creating the initial WebInspector.TimelineRecordBar
        https://bugs.webkit.org/show_bug.cgi?id=135373

        Reviewed by Timothy Hatcher.

        Eliminate a bit of extra work creating TimelineRecordBars. Previously
        the constructor would setup an empty list of records, and then we would
        immediately after replace them. Now just set them in the constructor.

        * UserInterface/Views/LayoutTimelineOverviewGraph.js:
        (WebInspector.LayoutTimelineOverviewGraph.prototype.updateLayout.createBar):
        (WebInspector.LayoutTimelineOverviewGraph.prototype.updateLayout):
        * UserInterface/Views/NetworkTimelineOverviewGraph.js:
        (WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout.createBar):
        (WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout):
        * UserInterface/Views/ScriptTimelineOverviewGraph.js:
        (WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout.createBar):
        (WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout):
        * UserInterface/Views/TimelineDataGridNode.js:
        (WebInspector.TimelineDataGridNode.prototype.refreshGraph.createBar):

2014-07-28  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Unexpected dark border on selected but window inactive timeline
        https://bugs.webkit.org/show_bug.cgi?id=135360

        Update the border-top colors for the item adjacent to the selected item.

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/TimelineSidebarPanel.css:
        (.sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item):
        (.sidebar > .panel.navigation.timeline > .timelines-content :focus li.item.selected + li.item):
        (body.mac-platform.legacy .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):

2014-07-28  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Disable Copy Row in Timelines DataGrids, it does not currently provide value
        https://bugs.webkit.org/show_bug.cgi?id=135364

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/DataGrid.js:
        (WebInspector.DataGridNode):
        (WebInspector.DataGridNode.prototype.get copyable):
        (WebInspector.DataGridNode.prototype.set copyable):
        * UserInterface/Views/TimelineDataGridNode.js:
        (WebInspector.TimelineDataGridNode):

2014-07-26  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: ReplayManager uses undefined events and inconsistent event data
        https://bugs.webkit.org/show_bug.cgi?id=135222

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/ReplayManager.js:
        (WebInspector.ReplayManager.prototype.sessionCreated.this):
        (WebInspector.ReplayManager.prototype.sessionCreated):
        (WebInspector.ReplayManager.prototype.segmentLoaded):
        (WebInspector.ReplayManager.prototype.segmentUnloaded):
        (WebInspector.ReplayManager.prototype.stopCapturing):
        (WebInspector.ReplayManager.prototype.replayToMarkIndex):
        (WebInspector.ReplayManager.prototype.segmentCompleted.set catch):
        (WebInspector.ReplayManager.prototype.segmentCompleted):
        (WebInspector.ReplayManager.prototype.startCapturing):
        (WebInspector.ReplayManager.prototype._changeSessionState):

2014-07-26  Joseph Pecoraro  <pecoraro@apple.com>

        Remove accidental debugging console.log
        https://bugs.webkit.org/show_bug.cgi?id=135315

        Reviewed by Alexey Proskuryakov.

        * UserInterface/Views/ApplicationCacheFrameContentView.js:
        (WebInspector.ApplicationCacheFrameContentView.prototype._sortDataGrid):

2014-07-26  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Timelines performance is very slow, has many forced layouts
        https://bugs.webkit.org/show_bug.cgi?id=135313

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/NavigationItem.js:
        (WebInspector.NavigationItem):
        (WebInspector.NavigationItem.prototype.get hidden):
        (WebInspector.NavigationItem.prototype.set hidden):
        Don't have the parent navigation bar update layout if the hidden state did not change.
        This greatly reduces the number of forced layouts as timeline nodes are added.

        * UserInterface/Views/NavigationSidebarPanel.js:
        (WebInspector.NavigationSidebarPanel.prototype.showEmptyContentPlaceholder):
        (WebInspector.NavigationSidebarPanel.prototype.hideEmptyContentPlaceholder):
        Don't do any work if this is not changing the view.

        (WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibilitySoon):
        (WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
        (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
        When first selecting a specific timeline (Layout / Scripts) we would have a very long hang
        updating the content. Most of this was time spent updating the overflow shadow visibility
        because every single tree element addition was causing a layout invalidation and forced layout.
        Coalesce all of the tree element adds into a single update at the end.

        * UserInterface/Views/TimelineOverview.js:
        (WebInspector.TimelineOverview.prototype.updateLayout):
        Calculating the visible duration checks offsetLeft. Calculate this once, outside
        of a loop down below, to prevent or reduce possible forced layouts.

        * UserInterface/Views/TreeOutline.js:
        (TreeElement.prototype.revealed):
        Prevent doing any work for timeline tree elements outside of the selected time range.
        Previously they were considered revealed if a parent was expanded, even though that
        parent was hidden. This greatly reduces the amount of work during a recording, since
        previously we were potentially doing a forced layout for hidden nodes.

        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.looselyCompareRepresentedObjects):
        Ignore ProfileNode, which may happen here in the Script timeline.

2014-07-23  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: InspectorBackend's promise-based agent API does not support multiple return values
        https://bugs.webkit.org/show_bug.cgi?id=135207

        Reviewed by Joseph Pecoraro.

        The promise wrapper implementation assumed that the protocol callback supplies a single 'payload'
        return value, but InspectorBackend will actually unpack multiple return values as multiple
        callback arguments. Set a special flag so it will not try to apply multiple return values.

        It would read better if multiple return values could be spread to the resolve callback, but
        multiple argument support are not required by the Promises specification, so we won't use them.

        * UserInterface/Controllers/ReplayManager.js: Fix uses of promise return values.
        (WebInspector.ReplayManager):
        * UserInterface/Models/ReplaySession.js:
        * UserInterface/Models/ReplaySessionSegment.js:
        (WebInspector.ReplaySessionSegment):
        * UserInterface/Protocol/InspectorBackend.js:
        (InspectorBackend.Command.prototype.promise):

2014-07-21  Saam Barati  <sbarati@apple.com>

        Web Inspector: Add esprima to the WebInspector.
        https://bugs.webkit.org/show_bug.cgi?id=135098

        Reviewed by Joseph Pecoraro.

        This patch includes Esprima into the WebInspector and attaches its
        exported function onto the WebInspector namespace object. 

        * UserInterface/External/Esprima: Added.
        * UserInterface/External/Esprima/esprima.js: Added.
        (.):
        * UserInterface/Main.html:

2014-07-21  Jonathan Wells  <jonowells@apple.com>

        Back/Forward arrows (modern) are too large.
        https://bugs.webkit.org/show_bug.cgi?id=135073

        Reviewed by Joseph Pecoraro.

        Changes to adjust new forward and back arrow sizes to be more consistent with the 
        universal design language. Moved WebInspector.Platform definition to its own file.
        Refactored handling of image versions inside ImageUtilities.js.

        * UserInterface/Base/ImageUtilities.js:
        (.restoreImage):
        (.generateImage):
        (generateColoredImagesForCSS):
        Make the default image versioning smarter.

        * UserInterface/Base/Main.js:
        (WebInspector.contentLoaded):
        (WebInspector.contentLoaded.WebInspector.Platform.version.toString): Deleted.
        (WebInspector.contentLoaded.WebInspector.Platform.toString): Deleted.
        * UserInterface/Base/Platform.js: Added.
        Move platform information definition into Platform.js.

        * UserInterface/Main.html: Include Platform.js.

        * UserInterface/Views/ContentBrowser.js:
        (WebInspector.ContentBrowser):
        * UserInterface/Views/FindBanner.css:
        (.find-banner > button > .glyph):
        (body.mac-platform.legacy .find-banner > button > .glyph):
        (.find-banner > button.segmented.left > .glyph):
        (body.mac-platform.legacy .find-banner > button.segmented.left > .glyph):
        (.find-banner > button.segmented.right > .glyph):
        (body.mac-platform.legacy .find-banner > button.segmented.right > .glyph):
        (.find-banner > button.segmented):
        (body.mac-platform.legacy .find-banner > button.segmented):
        * UserInterface/Views/FindBanner.js:
        (WebInspector.FindBanner.prototype._generateButtonsGlyphsIfNeeded):
        Size of forward and back arrows adjusted.

2014-07-19  Saam Barati  <sbarati@apple.com>

        Web Inspector: TextContentView calls wrong prototype function in the hidden() function
        https://bugs.webkit.org/show_bug.cgi?id=135097

        Reviewed by Timothy Hatcher.

        Corollary bug to: https://bugs.webkit.org/show_bug.cgi?id=135001

        * UserInterface/Views/TextContentView.js:
        (WebInspector.TextContentView.prototype.hidden):

2014-07-18  Timothy Hatcher  <timothy@apple.com>

        Revert r169735 since it broke Timeline, and fix bug 129696 in a more targeted way.

        REGRESSION (r169735): Web Inspector: Timeline tree outline missing data until collapse-expand.
        https://bugs.webkit.org/show_bug.cgi?id=134845

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/DOMTreeElement.js:
        (WebInspector.DOMTreeElement.prototype.adjustCollapsedRange): Use button isteand of assuming
        item.listItemElement will be ready to use. The listItemElement node is lazily created.
        * UserInterface/Views/TreeOutline.js:
        (TreeOutline.prototype.appendChild): Don't attach unless _childrenListNode exists.
        (TreeOutline.prototype.insertChild): Ditto.

2014-07-17  Timothy Hatcher  <timothy@apple.com>

        Make console.profile record to the Timeline.

        https://bugs.webkit.org/show_bug.cgi?id=134643

        Reviewed by Joseph Pecoraro.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager.prototype.startCapturing):
        (WebInspector.TimelineManager.prototype.stopCapturing):
        (WebInspector.TimelineManager.prototype.capturingStarted):
        (WebInspector.TimelineManager.prototype.capturingStopped):
        (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
        (WebInspector.TimelineManager.prototype.eventRecorded):
        * UserInterface/Images/TimelineRecordConsoleProfile.svg: Added.
        * UserInterface/Models/ScriptTimelineRecord.js:
        * UserInterface/Protocol/TimelineObserver.js:
        (WebInspector.TimelineObserver.prototype.eventRecorded):
        (WebInspector.TimelineObserver.prototype.recordingStarted):
        (WebInspector.TimelineObserver.prototype.recordingStopped):
        * UserInterface/Views/TimelineIcons.css:
        (.console-profile-record .icon):
        * UserInterface/Views/TimelineRecordTreeElement.js:
        (WebInspector.TimelineRecordTreeElement):

2014-07-16  Saam Barati  <sbarati@apple.com>

        Web Inspector: TextContentView calls the wrong super function in shown()
        https://bugs.webkit.org/show_bug.cgi?id=135001

        Reviewed by Timothy Hatcher.
        TextContentView calls ResourceContentView.shown instead of ContentView.shown.
        It should call ContentView.shown because ContentView is its prototype.


        * UserInterface/Views/TextContentView.js:
        (WebInspector.TextContentView.prototype.shown):

2014-07-15  Jonathan Wells  <jonowells@apple.com>

        Web Inspector: Modernize UI styles and better sync with platform styles
        https://bugs.webkit.org/show_bug.cgi?id=134846

        Reviewed by Timothy Hatcher.

        Updated styles to better match the OS UI design. Updated the forward/back button. 
        Moved several rules to selectors that support older OS designs. Added global platform
        data to support this patch.

        * UserInterface/Images/BackArrow.svg: Added.
        * UserInterface/Images/BackArrowLegacy.svg: Copied from Source/WebInspectorUI/UserInterface/Images/BackArrow.svg.
        * UserInterface/Images/ForwardArrow.svg: Added.
        * UserInterface/Images/ForwardArrowLegacy.svg: Copied from Source/WebInspectorUI/UserInterface/Images/ForwardArrow.svg.

        * UserInterface/Base/ImageUtilities.js: Updated image version
        (.generateImage.generateModernImage):
        (.generateImage.generateLegacyImage):
        (.generateImage):
        Updated image generation to support modern look. Updated versioning scheme and version.

        * UserInterface/Base/Main.js:
        (WebInspector.loaded):
        (WebInspector.contentLoaded.WebInspector.Platform.version.toString):
        (WebInspector.contentLoaded.WebInspector.Platform.toString):
        (WebInspector.contentLoaded):
        Added global platform information.

        * UserInterface/Views/ContentBrowser.js:
        (WebInspector.ContentBrowser):
        Updated back and forward buttons.

        * UserInterface/Views/FindBanner.js:
        (WebInspector.FindBanner.prototype._generateButtonsGlyphsIfNeeded):
        Updated images for the find banner.

        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
        Added new images.

        * UserInterface/Views/ButtonToolbarItem.css:
        (.toolbar .item.button > .label):
        (body.mac-platform.legacy .toolbar .item.button > .label):
        * UserInterface/Views/CSSStyleDeclarationSection.css:
        (.style-declaration-section):
        (body.mac-platform.legacy .style-declaration-section):
        (body.mac-platform.legacy .style-declaration-section + .style-declaration-section):
        (.style-declaration-section.last-in-group):
        (body.mac-platform.legacy .style-declaration-section.last-in-group):
        (.style-declaration-section.last-in-group + .style-declaration-section):
        (body.mac-platform.legacy .style-declaration-section.last-in-group + .style-declaration-section):
        (body.mac-platform.legacy .style-declaration-section.last-in-group + .style-declaration-section:last-child):
        (.style-declaration-section + .style-declaration-section): Deleted.
        (.style-declaration-section.last-in-group + .style-declaration-section:last-child): Deleted.
        * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
        (.sidebar > .panel.details.css-style > .content > .pseudo-classes):
        * UserInterface/Views/DOMTreeOutline.css:
        (.dom-tree-outline li.hovered:not(.selected) .selection):
        (body.mac-platform.legacy .dom-tree-outline li.hovered:not(.selected) .selection):
        (.dom-tree-outline li.elements-drag-over .selection):
        (body.mac-platform.legacy .dom-tree-outline li.elements-drag-over .selection):
        (.dom-tree-outline:focus li.selected .selection):
        (body.mac-platform.legacy .dom-tree-outline:focus li.selected .selection):
        * UserInterface/Views/DashboardContainerView.css:
        (.toolbar .dashboard-container):
        (body.mac-platform.legacy .toolbar .dashboard-container):
        (body.window-inactive .toolbar .dashboard-container):
        (body.mac-platform.legacy.window-inactive .toolbar .dashboard-container):
        (.toolbar .dashboard):
        (body.window-inactive .toolbar .dashboard):
        (body.mac-platform.legacy.window-inactive .toolbar .dashboard):
        * UserInterface/Views/DataGrid.css:
        (.data-grid th):
        (body.mac-platform.legacy .data-grid th):
        (.data-grid tr.selected):
        (body.mac-platform.legacy .data-grid tr.selected):
        (.data-grid:focus tr.selected):
        (body.mac-platform.legacy .data-grid:focus tr.selected):
        * UserInterface/Views/DetailsSection.css:
        (.details-section):
        (body.mac-platform.legacy .details-section):
        (.details-section .details-section):
        (body.mac-platform.legacy .details-section .details-section):
        (.details-section .details-section:last-child):
        (.details-section .details-section:first-child):
        (.details-section > .header):
        (body.mac-platform.legacy .details-section > .header):
        (.details-section .details-section > .header):
        (body.mac-platform.mountain-lion .details-section .details-section > .header):
        (.details-section .details-section.collaspsed > .header):
        (.details-section.computed-style-properties:not(.collapsed) > .header):
        (body.mac-platform.legacy .details-section.computed-style-properties:not(.collapsed) > .header):
        (.details-section > .content > .group):
        (body.mac-platform.legacy .details-section > .content > .group):
        (.details-section > .content > .group:last-child):
        (.details-section > .content > .group:nth-child(even)):
        (body.mac-platform.legacy .details-section > .content > .group:nth-child(even)):
        (body.mac-platform.legacy .details-section > .content > .group:last-child > .row.simple:last-child > *):
        (.details-section > .content > .group:last-child > .row.simple:last-child > *): Deleted.
        * UserInterface/Views/FilterBar.css:
        (.filter-bar > input[type="search"]):
        (body.mac-platform.legacy .filter-bar > input[type="search"]):
        * UserInterface/Views/NavigationSidebarPanel.css:
        (.navigation-sidebar-panel-content-tree-outline .item.selected):
        (body.mac-platform.legacy .navigation-sidebar-panel-content-tree-outline .item.selected):
        (.navigation-sidebar-panel-content-tree-outline:focus .item.selected):
        (body.mac-platform.legacy .navigation-sidebar-panel-content-tree-outline:focus .item.selected):
        (body.window-inactive .navigation-sidebar-panel-content-tree-outline .item.selected):
        (body.mac-platform.legacy.window-inactive .navigation-sidebar-panel-content-tree-outline .item.selected):
        * UserInterface/Views/RadioButtonNavigationItem.css:
        (.navigation-bar .item.radio.button.text-only.selected):
        (body.mac-platform.legacy .navigation-bar .item.radio.button.text-only.selected):
        * UserInterface/Views/RulesStyleDetailsPanel.css:
        (.sidebar > .panel.details.css-style .rules .label + .style-declaration-section):
        (body.mac-platform.legacy .sidebar > .panel.details.css-style .rules .label + .style-declaration-section):
        (.sidebar > .panel.details.css-style .rules .new-rule):
        (body.mac-platform.legacy .sidebar > .panel.details.css-style .rules .new-rule):
        (.sidebar > .panel.details.css-style .rules .new-rule + .style-declaration-section):
        (body.mac-platform.legacy .sidebar > .panel.details.css-style .rules .new-rule + .style-declaration-section):
        * UserInterface/Views/ScopeBar.css:
        (.scope-bar > li):
        (body.mac-platform.legacy .scope-bar > li):
        (.scope-bar > li.selected):
        (body.mac-platform.legacy .scope-bar > li.selected):
        * UserInterface/Views/SearchBar.css:
        (.search-bar > input[type="search"]):
        (body.mac-platform.legacy .search-bar > input[type="search"]):
        * UserInterface/Views/Sidebar.css:
        (.sidebar):
        (body.mac-platform.legacy .sidebar):
        (body.mac-platform.legacy.window-inactive .sidebar):
        (body.mac-platform.legacy .sidebar.right):
        (body.window-inactive .sidebar): Deleted.
        (.sidebar.right): Deleted.
        * UserInterface/Views/TimelineSidebarPanel.css:
        (.sidebar > .panel.navigation.timeline > .title-bar):
        (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .title-bar):
        Style updates for new look and feel.

2014-07-11  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Debugger Pause button does not work
        https://bugs.webkit.org/show_bug.cgi?id=134785

        Reviewed by Timothy Hatcher.

        Previously we were automatically resuming if we had no recognized
        call frames in the call stack we get when paused. However, we
        were accidentally skipping over anonymous scripts instead of
        just Web Inspector originated call frames.

        Now that we allow anonymous scripts we can step into anonymous
        scripts (e.g. evals, new Function(...)) as expected.

        Also, remove the condition of automatically resuming if the
        call stack was empty. The UI handles this with "No Call Frames".

        * UserInterface/Controllers/DebuggerManager.js:
        (WebInspector.DebuggerManager.prototype.debuggerDidPause):

2014-07-11  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: CSS Autocompletion: "background" only has colors, should support others
        https://bugs.webkit.org/show_bug.cgi?id=134839

        Reviewed by Timothy Hatcher.

        Update and consolidate the background related CSS properties
        and include sub-property completions in the shorthand property.

        Also take the opportunity to add or update other properties
        (-webkit-alt, -webkit-text-decoration-skip, -webkit-aspect-ratio)
        and remove unnecessary newlines / commas in the list.

        * UserInterface/Models/CSSKeywordCompletions.js:

2014-07-10  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Debugger Continue button is incorrectly sized
        https://bugs.webkit.org/show_bug.cgi?id=134786

        Reviewed by Timothy Hatcher.

        Before this patch everything in the DebuggerDashboardView was flexing.
        Normally, if the contents were not too wide, this would just behave
        as expected and be centered. If the content was too wide, then each
        element would flex uniformly and overlap uniformly. That was not expected.

        This patch changes makes everything but the link have a non-flexible
        size. If the link (at the end) flexs it will have a nice ellipsis
        text truncation, and the rest of the content will be left justified.

        This also fixes a few other minor issues seen in the view.

        * UserInterface/Views/DebuggerDashboardView.css:
        (.dashboard.debugger .navigation-bar):
        Reduce the complexity, give the nav bar (the resume button) some simple padding.

        (.dashboard.debugger > div):
        Make everything non-flex by default.

        (.dashboard.debugger > .location):
        The location will have an inner element flex, so make it flex.

        (.dashboard.debugger > .location > *):
        Make everything in .location non-flex by default.

        (.dashboard.debugger > .location .go-to-link):
        Make the link flex and truncate cleanly.

        (.dashboard.debugger > .location .function-name):
        Fix vertical alignment when the toolbar has small icons.

        * UserInterface/Views/DebuggerDashboardView.js:
        (WebInspector.DebuggerDashboardView.prototype._rebuildLocation):
        Fix class name spelling.

2014-07-09  Brent Fulgham  <bfulgham@apple.com>

        [Win] Remove uses of 'bash' in build system
        https://bugs.webkit.org/show_bug.cgi?id=134782
        <rdar://problem/17615533>

        Reviewed by Dean Jackson.

        Remove uses of 'bash' by replacing Windows-specific bash scripts
        with Perl equivalents.

        * WebInspectorUI.vcxproj/WebInspectorUI.make:
        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
        * WebInspectorUI.vcxproj/build-webinspectorui.pl: Copied from Source/WebInspectorUI/WebInspectorUI.vcxproj/build-webinspectorui.sh.
        * WebInspectorUI.vcxproj/build-webinspectorui.sh: Removed.

2014-07-08  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Debugger popovers should not dismiss when mousing over them
        https://bugs.webkit.org/show_bug.cgi?id=134687

        Reviewed by David Kilzer.

        * UserInterface/Views/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor.prototype._trackPopoverEvents):
        Actually install the listeners in the set. Regression from code refactoring in r165052.

2014-07-07  Jonathan Wells  <jonowells@apple.com>

        Web Inspector: CSS style declaration editor should ignore empty lines when determining prefix whitespace
        https://bugs.webkit.org/show_bug.cgi?id=134704

        Reviewed by Joseph Pecoraro.

        When checking for zero-length prefix whitespace, completely empty lines are now ignored
        as these lines are most often used for organizing rules into groups and often have their
        whitespace removed due to trailing whitespace removal conventions.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:

2014-07-07  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Uncaught Exception debugging iOS 7 NetworkAgent.loadResource is unavailable
        https://bugs.webkit.org/show_bug.cgi?id=134689

        Reviewed by Darin Adler.

        Gracefully handle if NetworkAgent.loadResource is unavailable.

        * UserInterface/Controllers/SourceMapManager.js:
        (WebInspector.SourceMapManager.prototype._loadAndParseSourceMap):
        * UserInterface/Models/SourceMapResource.js:

2014-07-01  Jonathan Wells  <jonowells@apple.com>

        Web Inspector: Hexadecimal color values in all CSS editors are purple when they should be blue
        https://bugs.webkit.org/show_bug.cgi?id=133997

        Reviewed by Joseph Pecoraro.

        CodeMirror 4 removed the style for hex colors from the CSS tokenizer.
        Feature has been added to CodeMirrorAdditions.js.

        * UserInterface/Views/CodeMirrorAdditions.js: Added hex-color to style for a valid hexadecimal color.
        * UserInterface/Views/SyntaxHighlightingDefaultTheme.css: Added selector for hexadecimal color.

2014-06-26  Jono Wells  <jonowells@apple.com>

        Web Inspector: Command-/ (slash) now auto-comments code via CodeMirror 4. Should remove as command to pause
        https://bugs.webkit.org/show_bug.cgi?id=134313

        Reviewed by Timothy Hatcher.

        Changed alternate command to pause/resume from command-slash to command-backslash.
        Command-slash sets/unsets comments in all code editors.

        * UserInterface/Models/KeyboardShortcut.js: Added Backslash.
        * UserInterface/Views/DebuggerSidebarPanel.js: Changed pauseOrResumeAlternateKeyboardShortcut to use Backslash instead of Slash.

2014-06-25  Jono Wells  <jonowells@apple.com>

        Web Inspector: Rules panel's strikethrough gets confused at -webkit-align-items: flex-start;
        https://bugs.webkit.org/show_bug.cgi?id=133515

        Reviewed by Timothy Hatcher.

        The CSS style declaration text editor uses the author's shortest instance of prefix whitespace
        to create an indentation baseline for the style editor. This needs to consider the possibility
        that there is no whitespace prefixing one of the rules. Also clarified a FIXME line.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.js: Account for zero-length whitespace.

2014-06-25  Dana Burkart  <dburkart@apple.com>

        Add support for 5-tuple versioning.

        Reviewed by David Farler.

        * Configurations/Version.xcconfig:

2014-06-24  Jono Wells  <jonowells@apple.com>

        Web Inspector: clicking "Show All Nodes" button throws TypeError
        https://bugs.webkit.org/show_bug.cgi?id=133701

        Reviewed by Timothy Hatcher.

        The method used for isEventWithinDisclosureTriangle needs to consider the possibility that the 
        targeted TreeElement isn't contained within the visible DOM, for instance in the case of the
        "Show All Nodes" button immediately after it is pressed.

        * UserInterface/Views/TreeOutline.js:
        (TreeElement.prototype.isEventWithinDisclosureTriangle): Check to make sure TreeElement node is in the visible DOM.

2014-06-24  Jono Wells  <jonowells@apple.com>

        Web Inspector: TypeError when hovering over "Show All Nodes" button in the Dom Tree inspector
        https://bugs.webkit.org/show_bug.cgi?id=133699

        Reviewed by Geoffrey Garen.

        The call to element._createTooltipForNode() was failing because element was sometimes not a 
        DOMTreeOutline but rather only a TreeElement (in the case of the "Show All Nodes" button specifically).
        A check for type fixes this issue.

        * UserInterface/Views/DOMTreeOutline.js:
        (WebInspector.DOMTreeOutline.prototype._onmousemove): Check for presence of _createTooltipForNode.

2014-06-21  Jono Wells  <jonowells@apple.com>

        Web Inspector: UI fonts should pull from system fonts automatically to whatever degree possible
        https://bugs.webkit.org/show_bug.cgi?id=133966

        Reviewed by Timothy Hatcher.

        Updated font families to use -webkit-system-font, and set this on the body to be
        inherited. Also made sure that popovers use Menlo as the default. Updated 
        autocompletions with system font names.

        * UserInterface/Models/CSSKeywordCompletions.js: Updated completions with available system fonts.

        * UserInterface/Controllers/CodeMirrorGradientEditingController.css:
        * UserInterface/Views/Breakpoint.css:
        * UserInterface/Views/ButtonNavigationItem.css:
        * UserInterface/Views/ButtonToolbarItem.css:
        * UserInterface/Views/CSSStyleDeclarationSection.css:
        * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
        * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
        * UserInterface/Views/CodeMirrorOverrides.css:
        * UserInterface/Views/DataGrid.css:
        * UserInterface/Views/DebuggerDashboardView.css:
        * UserInterface/Views/DetailsSection.css:
        * UserInterface/Views/FindBanner.css:
        * UserInterface/Views/GoToLineDialog.css:
        * UserInterface/Views/HierarchicalPathComponent.css:
        * UserInterface/Views/Main.css:
        * UserInterface/Views/NavigationSidebarPanel.css:
        * UserInterface/Views/ProbeSetDataGrid.css:
        * UserInterface/Views/RulesStyleDetailsPanel.css:
        * UserInterface/Views/ScopeBar.css:
        * UserInterface/Views/SourceCodeTextEditor.css:
        * UserInterface/Views/TimelineDataGrid.css:
        * UserInterface/Views/TimelineRuler.css:
        * UserInterface/Views/TimelineSidebarPanel.css:
        Changes to fonts. Set default font stack to -webkit-system-font, sans-serif. Default size is
        11px. Only changes to this default size or changes to the font (to Menlo, monospace usually) remain.

2014-06-21  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Esc in quick console no longer toggles console drawer
        https://bugs.webkit.org/show_bug.cgi?id=134068

        Reviewed by Timothy Hatcher.

        For Escape to toggle console behavior we were relying on the Escape
        keyboard event to propagate up to the window and be handled by
        QuickConsole's global keyboard shortcut. With CodeMirror 4, all
        editors have a default "Esc" key handler to reduce multiple selections
        to a single selection. Unfortunately this always prevents default,
        which our keyboard shortcut respects and doesn't toggle the console.

        Workaround this by putting a specific handler for when a Console
        Prompt is empty and the Escape key is triggered. This does not go
        through the normal ConsolePrompt delegate because the delegate
        is never the QuickConsole, it is actually the JavaScript log.

        * UserInterface/Views/ConsolePrompt.js:
        (WebInspector.ConsolePrompt):
        (WebInspector.ConsolePrompt.prototype.set escapeKeyHandlerWhenEmpty):
        (WebInspector.ConsolePrompt.prototype._handleEscapeKey):
        * UserInterface/Views/QuickConsole.js:
        (WebInspector.QuickConsole.this.prompt.escapeKeyHandlerWhenEmpty):
        (WebInspector.QuickConsole):

2014-06-18  James Craig  <jcraig@apple.com>

        Web Inspector: AXI: expose aria-relevant
        https://bugs.webkit.org/show_bug.cgi?id=130913

        Reviewed by Joseph Pecoraro.

        Expose ARIA live region relevance in Web Inspector.
        E.g. "Live: Assertive (Additions, Text)"

        * Localizations/en.lproj/localizedStrings.js: New strings.
        * UserInterface/Models/DOMNode.js: One additional property passed.
        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: UI updates to support new property.

2014-06-18  Simon Fraser  <simon.fraser@apple.com>

        Add rebeccapurple to CSS named color list
        https://bugs.webkit.org/show_bug.cgi?id=133804

        Reviewed by Jer Noble.
        
        Add the named color "rebeccapurple" (#639).

        * UserInterface/External/CodeMirror/css.js:
        * UserInterface/Models/CSSKeywordCompletions.js:
        * UserInterface/Models/Color.js:

2014-06-18  Jono Wells  <jonowells@apple.com>

        Web Inspector: REGRESSION: Style declaration editor: placeholder misaligned
        https://bugs.webkit.org/show_bug.cgi?id=134012

        Reviewed by Timothy Hatcher.

        Removed a rule needed to align the placeholder for selectors in 
        the style declation text editors with no rules declared in
        http://trac.webkit.org/changeset/170077. The necessary
        rule has been added back to fix the issue.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
        (.css-style-text-editor > .CodeMirror .CodeMirror-placeholder):

2014-06-17  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: PrettyPrinting regression on "var a=1"
        https://bugs.webkit.org/show_bug.cgi?id=134001

        Reviewed by Timothy Hatcher.

        Previously operators did not get a token type. After a CodeMirror
        update they now have a token type of "operator".

        * Tools/PrettyPrinting/CodeMirrorFormatters.js:
        * UserInterface/Views/CodeMirrorFormatters.js:

2014-06-17  Jono Wells  <jonowells@apple.com>

        Web Inspector: Two lines in CSS rule are hidden until resize or click
        https://bugs.webkit.org/show_bug.cgi?id=133951

        Reviewed by Joseph Pecoraro.

        Update to CodeMirror 4.2 fixed the issue.

        * Tools/PrettyPrinting/codemirror.js:
        * Tools/PrettyPrinting/css.js:
        * Tools/PrettyPrinting/javascript.js:
        * UserInterface/External/CodeMirror/clojure.js:
        * UserInterface/External/CodeMirror/closebrackets.js:
        * UserInterface/External/CodeMirror/codemirror.js:
        * UserInterface/External/CodeMirror/coffeescript.js:
        * UserInterface/External/CodeMirror/comment.js:
        * UserInterface/External/CodeMirror/css.js:
        * UserInterface/External/CodeMirror/htmlmixed.js:
        * UserInterface/External/CodeMirror/javascript.js:
        * UserInterface/External/CodeMirror/livescript.js:
        * UserInterface/External/CodeMirror/matchbrackets.js:
        * UserInterface/External/CodeMirror/overlay.js:
        * UserInterface/External/CodeMirror/placeholder.js:
        * UserInterface/External/CodeMirror/runmode.js:
        * UserInterface/External/CodeMirror/sass.js:
        * UserInterface/External/CodeMirror/searchcursor.js:
        * UserInterface/External/CodeMirror/sql.js:
        * UserInterface/External/CodeMirror/xml.js:
        Update CodeMirror 4.1 to CodeMirror 4.2.0.

2014-06-17  Jono Wells  <jonowells@apple.com>

        Web Inspector: style declaration editor: visual highlight doesn't match actual selected text
        https://bugs.webkit.org/show_bug.cgi?id=133965

        Reviewed by Joseph Pecoraro.

        Update styles for css style editor to fix highlighting visual mismatch glitch.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
        (.css-style-text-editor > .CodeMirror .CodeMirror-placeholder):
        (.css-style-text-editor > .CodeMirror pre):
        (.css-style-text-editor.read-only > .CodeMirror pre):
        Updated styles to eliminate highlight mismatch by adjusting the padding and
        text-indent values.

2014-06-10  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: recording is overused as both noun and verb in TimelineManager
        https://bugs.webkit.org/show_bug.cgi?id=132878

        Reviewed by Joseph Pecoraro.

        Rename most uses of the verb 'recording' to the verb 'capturing' for timelines.
        Rename getter for the recording to activeRecording, and recordingEnabled to isCapturing().

        When the timeline manager can handle multiple timeline data sets (i.e., 'recordings'),
        it will be very confusing to have 'recording' as a plural noun and verb in the model.

        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager):
        (WebInspector.TimelineManager.prototype.get activeRecording):
        (WebInspector.TimelineManager.prototype.isCapturing):
        (WebInspector.TimelineManager.prototype.startCapturing):
        (WebInspector.TimelineManager.prototype.stopCapturing):
        (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
        (WebInspector.TimelineManager.prototype.eventRecorded):
        (WebInspector.TimelineManager.prototype._addRecord):
        (WebInspector.TimelineManager.prototype._startAutoCapturing):
        (WebInspector.TimelineManager.prototype._stopAutoRecordingSoon):
        (WebInspector.TimelineManager.prototype._resetAutoRecordingDeadTimeTimeout):
        (WebInspector.TimelineManager.prototype._mainResourceDidChange):
        (WebInspector.TimelineManager.prototype._resourceWasAdded):
        (WebInspector.TimelineManager.prototype.get recording): Deleted.
        (WebInspector.TimelineManager.prototype.get recordingEnabled): Deleted.
        (WebInspector.TimelineManager.prototype.startRecording): Deleted.
        (WebInspector.TimelineManager.prototype.stopRecording): Deleted.
        (WebInspector.TimelineManager.prototype._startAutoRecording): Deleted.
        * UserInterface/Models/DefaultDashboard.js:
        (WebInspector.DefaultDashboard):
        (WebInspector.DefaultDashboard.prototype._mainResourceDidChange):
        (WebInspector.DefaultDashboard.prototype._capturingStopped):
        (WebInspector.DefaultDashboard.prototype._recordingStopped): Deleted.
        * UserInterface/Protocol/InspectorFrontendAPI.js:
        (InspectorFrontendAPI.isTimelineProfilingEnabled):
        (InspectorFrontendAPI.setTimelineProfilingEnabled):
        * UserInterface/Views/TimelineContentView.js:
        (WebInspector.TimelineContentView.prototype._capturingStarted):
        (WebInspector.TimelineContentView.prototype._capturingStopped):
        (WebInspector.TimelineContentView.prototype._recordingStarted): Deleted.
        (WebInspector.TimelineContentView.prototype._recordingStopped): Deleted.
        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel.prototype.initialize):
        (WebInspector.TimelineSidebarPanel.prototype._capturingStarted):
        (WebInspector.TimelineSidebarPanel.prototype._capturingStopped):
        (WebInspector.TimelineSidebarPanel.prototype._recordGlyphMousedOver):
        (WebInspector.TimelineSidebarPanel.prototype._recordGlyphMousedOut):
        (WebInspector.TimelineSidebarPanel.prototype._recordGlyphClicked):
        (WebInspector.TimelineSidebarPanel.prototype._replayCaptureButtonClicked):
        (WebInspector.TimelineSidebarPanel.prototype._recordingStarted): Deleted.
        (WebInspector.TimelineSidebarPanel.prototype._recordingStopped): Deleted.

2014-06-09  Jono Wells  <jonowells@apple.com>

        REGRESSION: Web Inspector: Exception showing the DOM tree for a node with too many children
        https://bugs.webkit.org/show_bug.cgi?id=129696

        Fix issue where sometimes inspecting an element will try to attach the "show all nodes" button
        before the expand function is called in TreeElement before _childrenListNode has been set.

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/TreeOutline.js:
        (TreeOutline.prototype.appendChild):
        (TreeOutline.prototype.insertChild):
        Added check for existance of this._childrenListNode.

2014-05-29  Timothy Hatcher  <timothy@apple.com>

        Fix an exception in InspectorBackend.Command.prototype.supports.

        https://bugs.webkit.org/show_bug.cgi?id=133384

        Reviewed by Joseph Pecoraro.

        * UserInterface/Protocol/InspectorBackend.js:
        (InspectorBackend.Command.prototype.supports): Use some not any.

2014-05-19  Jono Wells  <jonowells@apple.com>

        Web Inspector: Inspect Element sometimes does not select the right DOM Node
        https://bugs.webkit.org/show_bug.cgi?id=127938

        Reviewed by Joseph Pecoraro.

        Inspecting an element when the inspector is in a closed state was selecting the node but then 
        overriding the selection when DOMTreeContentView#_restoreSelectedNodeAfterUpdate was called.
        Now when an element is inspected a flag prevents the restore from taking place.

        * UserInterface/Controllers/DOMTreeManager.js:
        (WebInspector.DOMTreeManager):
        (WebInspector.DOMTreeManager.prototype.inspectElement):
        (WebInspector.DOMTreeManager.prototype.inspectNodeObject):
        Add WebInspector.DOMTreeManager#_restoreSelectedNodeIsAllowed.

        (WebInspector.DOMTreeManager.prototype.get restoreSelectedNodeIsAllowed):
        Added.

        * UserInterface/Views/FrameDOMTreeContentView.js:
        (WebInspector.FrameDOMTreeContentView.prototype._rootDOMNodeAvailable):
        Add check for WebInspector.domTreeManager.restoreSelectedNodeIsAllowed.

2014-05-15  Jono Wells  <jonowells@apple.com>

        Web Inspector: Should remove JSDoc comment blocks.
        https://bugs.webkit.org/show_bug.cgi?id=132984

        Reviewed by Timothy Hatcher.

        Remove JSDoc comment blocks. These are no longer necessary.

        * UserInterface/Base/Main.js:
        * UserInterface/Base/Object.js:
        * UserInterface/Controllers/DOMTreeManager.js:
        * UserInterface/Models/CSSCompletions.js:
        * UserInterface/Models/DOMNode.js:
        * UserInterface/Models/SourceMap.js:
        * UserInterface/Protocol/InspectorBackend.js:
        * UserInterface/Protocol/RemoteObject.js:
        * UserInterface/Views/ApplicationCacheFrameContentView.js:
        * UserInterface/Views/ConsoleMessage.js:
        * UserInterface/Views/ConsoleMessageImpl.js:
        * UserInterface/Views/ContextMenu.js:
        * UserInterface/Views/DOMTreeElement.js:
        * UserInterface/Views/DOMTreeOutline.js:
        * UserInterface/Views/DOMTreeUpdater.js:
        * UserInterface/Views/DataGrid.js:
        * UserInterface/Views/DatabaseContentView.js:
        * UserInterface/Views/EditingSupport.js:
        * UserInterface/Views/ObjectPropertiesSection.js:
        * UserInterface/Views/Popover.js:
        * UserInterface/Views/TreeOutline.js:
        JSDoc style comment blocks removed.

2014-05-13  Radu Stavila  <stavila@adobe.com>

        Web Inspector: Restore regionLayoutUpdated event in iOS7 inspector and remove regionOversetChanged
        https://bugs.webkit.org/show_bug.cgi?id=132731

        Reviewed by Joseph Pecoraro.

        Added the regionLayoutUpdated event back into the inspector for compatibility with iOS 7
        and removed regionOversetChanged from the iOS7 inspector as iOS 7 does not implement that event.

        * UserInterface/Models/ScriptTimelineRecord.js:
        * UserInterface/Protocol/CSSObserver.js:
        (WebInspector.CSSObserver.prototype.regionLayoutUpdated):
        * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
        * Versions/Inspector-iOS-7.0.json:

2014-05-12  Brent Fulgham  <bfulgham@apple.com>

        [Win] Correct Cygwin Path Confusion in WebInspectorUI Build
        https://bugs.webkit.org/show_bug.cgi?id=132826

        Reviewed by Joseph Pecoraro.

        * Scripts/copy-user-interface-resources.pl: If the build is running
        under Cygwin, be sure to use '/usr/bin/python', instead of just
        'python' to avoid build errors.

2014-05-09  Alberto Garcia  <berto@igalia.com>

        jsmin.py license header confusing, mentions non-free license
        https://bugs.webkit.org/show_bug.cgi?id=123665

        Reviewed by Darin Adler.

        Pull the most recent version from upstream, which has a clear
        license.

        * Scripts/jsmin.py:

2014-05-08  Jono Wells  <jonowells@apple.com>

        Web Inspector: Console error when launching Web Inspector "Mode htmlmixed failed to advance stream"
        https://bugs.webkit.org/show_bug.cgi?id=132703

        Reviewed by Timothy Hatcher.

        The CodeMirror 4 update brought with it a change in the XML mode that 
        causes our XML mode extension to fail to consume empty paired quotes
        correctly.

        * UserInterface/Views/CodeMirrorAdditions.js:
        Updated extendedXMLToken() to properly handle empty paired quotes.

2014-05-08  Jono Wells  <jonowells@apple.com>

        Web Inspector: Selecting frame in debugger sidebar doesn't reveal code
        https://bugs.webkit.org/show_bug.cgi?id=132112

        Reviewed by Joseph Pecoraro.

        WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar was checking
        only one of the two content trees in the DebuggerSidebarPanel instance. Added
        base getter elementIsSelected to NavigationSidebarPanel and extended it in 
        DebuggerSidebarPanel.

        * UserInterface/Base/Main.js:
        (WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar): modified logic to check `selectedSidebarPanel.elementIsSelected`.
        * UserInterface/Views/DebuggerSidebarPanel.js:
        (WebInspector.DebuggerSidebarPanel.prototype.get elementIsSelected): Checks breakpoint and call stack trees.
        * UserInterface/Views/NavigationSidebarPanel.js:
        (WebInspector.NavigationSidebarPanel.prototype.get elementIsSelected): Base implementation.

2014-05-06  Radu Stavila  <stavila@adobe.com>

        Web Inspector: [CSS Regions] Add the regionOversetChange event to the iOS 7.0 WebInspector UI
        https://bugs.webkit.org/show_bug.cgi?id=132566

        Reviewed by Antti Koivisto.

        The regionOversetChange event was missing from the iOS7 WebInspector.

        * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
        * Versions/Inspector-iOS-7.0.json:

2014-05-05  Radu Stavila  <stavila@adobe.com>

        [CSS Regions] Remove regionLayoutUpdate event
        https://bugs.webkit.org/show_bug.cgi?id=132564

        Reviewed by Simon Fraser.

        The regionLayoutUpdate event was removed from the regions spec and was replaced by two other events: 
        regionOversetChange and regionFragmentChange.

        * UserInterface/Controllers/DOMTreeManager.js:
        (WebInspector.DOMTreeManager.prototype.get regionLayoutUpdated): Deleted.
        * UserInterface/Models/ScriptTimelineRecord.js:
        * UserInterface/Protocol/CSSObserver.js:
        (WebInspector.CSSObserver.prototype.regionLayoutUpdated): Deleted.
        * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
        * Versions/Inspector-iOS-7.0.json:

2014-05-02  Jono Wells  <jonowells@apple.com>

        Web Inspector: CodeMirror 4 CSS mode new state data structure breaks helpers.
        https://bugs.webkit.org/show_bug.cgi?id=132149

        Reviewed by Joseph Pecoraro.

        The update to CodeMirror 4 included dramatic changes to the CSS mode,
        particularly the way it handles tokens. `state.stack` is gone, replaced
        by `state.context`.

        * Tools/PrettyPrinting/CodeMirrorFormatters.js:
        * Tools/PrettyPrinting/codemirror.js:
        * UserInterface/External/CodeMirror/codemirror.js:
        * UserInterface/External/CodeMirror/livescript.js:
        * UserInterface/External/CodeMirror/runmode.js:
        Updates from ToT CodeMirror.

        * UserInterface/Controllers/CodeMirrorCompletionController.js:
        (WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions):
        * UserInterface/Views/CodeMirrorAdditions.js:
        * UserInterface/Views/CodeMirrorFormatters.js: `lastToken` is null now for ":" characters.
        Changes to match structural changes to the state object and changes to expected values of `lastToken`.

2014-04-30  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: clean up and decompose InspectorBackend functionality
        https://bugs.webkit.org/show_bug.cgi?id=132387

        Reviewed by Joseph Pecoraro.

        Aside from renaming variables and other minor cleanup, this patch
        changes the following:

        When calling a command, only store callback data when a callback is passed.
        Use explicit model objects for the agent, event, enum, and commands.
        Separate the agent models from encoding and decoding of JSON messages.

        * UserInterface/Protocol/InspectorBackend.js:
        (InspectorBackendClass):
        (InspectorBackendClass.prototype.registerCommand):
        (InspectorBackendClass.prototype.registerEnum):
        (InspectorBackendClass.prototype.registerEvent):
        (InspectorBackendClass.prototype.registerDomainDispatcher):
        (InspectorBackendClass.prototype.dispatch):
        (InspectorBackendClass.prototype.runAfterPendingDispatches):
        (InspectorBackendClass.prototype._agentForDomain):
        (InspectorBackendClass.prototype._registerSentCommand):
        (InspectorBackendClass.prototype._dispatchCallback):
        (InspectorBackendClass.prototype._dispatchEvent):
        (InspectorBackendClass.prototype._invokeCommand):
        (InspectorBackendClass.prototype._reportProtocolError):
        (InspectorBackend.Agent):
        (InspectorBackend.Agent.prototype.get domainName):
        (InspectorBackend.Agent.prototype.set dispatcher):
        (InspectorBackend.Agent.prototype.addEnum):
        (InspectorBackend.Agent.prototype.addCommand):
        (InspectorBackend.Agent.prototype.addEvent):
        (InspectorBackend.Agent.prototype.getEvent):
        (InspectorBackend.Agent.prototype.dispatchEvent):
        (InspectorBackend.Command):
        (InspectorBackend.Command.create):
        (InspectorBackend.Command.prototype.get qualifiedName):
        (InspectorBackend.Command.prototype.get commandName):
        (InspectorBackend.Command.prototype.get callSignature):
        (InspectorBackend.Command.prototype.get replySignature):
        (InspectorBackend.Command.prototype.invoke):
        (InspectorBackend.Command.prototype.supports):
        (InspectorBackend.Command.prototype._invokeWithArguments):
        (InspectorBackend.Event):
        (InspectorBackend.Enum):
        (InspectorBackendClass.prototype.callback): Deleted.
        (InspectorBackendClass.prototype._registerPendingResponse): Deleted.
        (InspectorBackendClass.prototype._invokeMethod): Deleted.
        (InspectorBackendClass.prototype._getAgent): Deleted.
        (InspectorBackendClass.prototype.reportProtocolError): Deleted.
        (InspectorBackendCommand): Deleted.
        (InspectorBackendCommand.create): Deleted.
        (InspectorBackendCommand.prototype.invoke): Deleted.
        (InspectorBackendCommand.prototype.supports): Deleted.
        (InspectorBackendCommand.prototype._invokeWithArguments): Deleted.

2014-04-29  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: reduce per-protocol method function creation in InspectorBackend
        https://bugs.webkit.org/show_bug.cgi?id=130701

        Reviewed by Timothy Hatcher.

        Instead of creating 4 bound functions for every backend method on startup, we
        can share common functionality on the InspectorBackendCommand prototype. This
        also splits the various client-facing protocol introspection mechanisms from
        the message encoding/decoding code.

        We use a workaround to make the command instances themselves callable as well
        as having .invoke, .promise, and .supports. InspectorAgent.methodName returns a
        trampoline function that performs the default method invocation. The trampoline's
        __proto__ is patched to point to InspectorBackendClass.prototype, and the command
        instance is saved in the closure and on the trampoline function itself.

        * UserInterface/Protocol/InspectorBackend.js:
        (InspectorBackendClass.prototype._registerPendingResponse):
        (InspectorBackendClass.prototype._invokeMethod):
        (InspectorBackendClass.prototype.registerCommand):
        (InspectorBackendClass.prototype.registerEvent):
        (InspectorBackendCommand):
        (.callable):
        (InspectorBackendCommand.create):
        (InspectorBackendCommand.prototype.invoke):
        (InspectorBackendCommand.prototype.promise):
        (InspectorBackendCommand.prototype.supports):
        (InspectorBackendCommand.prototype._invokeWithArguments):
        (InspectorBackendClass.prototype._wrap): Deleted.
        (InspectorBackendClass.prototype._invoke): Deleted.
        (InspectorBackendClass.prototype._promise): Deleted.
        (InspectorBackendClass.prototype._supports): Deleted.
        (InspectorBackendClass.prototype._sendMessageToBackend): Deleted.
        (InspectorBackendClass.prototype._wrapCallbackAndSendMessageObject): Deleted.
        (InspectorBackendClass.prototype.sendMessageObjectToBackend): Deleted.

2014-04-29  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: DataGrid columns should be objects not Maps
        https://bugs.webkit.org/show_bug.cgi?id=129383

        Reviewed by Timothy Hatcher.

        This reverts an earlier conversion to maps, so that column properties
        (which rarely change) can be optimized.

        String literals for column properties have been preserved so columns
        can be easily converted into objects with methods.

        * UserInterface/Views/DataGrid.js:
        (WebInspector.DataGrid.prototype.autoSizeColumns):
        (WebInspector.DataGrid.prototype.set var):
        (WebInspector.DataGrid.prototype.set if):
        (WebInspector.DataGrid.prototype.insertColumn):
        (WebInspector.DataGrid.prototype.removeColumn.get this):
        (WebInspector.DataGrid.prototype.removeColumn):
        (WebInspector.DataGrid.prototype.columnWidthsMap):
        (WebInspector.DataGrid.prototype.applyColumnWidthsMap):
        (WebInspector.DataGrid.prototype._collapseColumnGroupWithCell):
        (WebInspector.DataGridNode.prototype.createCell.get if):
        (WebInspector.DataGridNode.prototype.createCell):
        (WebInspector.DataGrid.prototype.get length): Deleted.
        * UserInterface/Views/ProbeSetDataGrid.js:
        (WebInspector.ProbeSetDataGrid.prototype._probeExpressionChanged.get this):
        (WebInspector.ProbeSetDataGrid.prototype._probeExpressionChanged):
        * UserInterface/Views/TimelineDataGrid.js:
        (WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters.scopeBar.this.columns.get string_appeared_here):
        (WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters):

2014-04-25  Jonathan Wells  <jonowells@apple.com>

        Web Inspector: DOM Tree debugger popover obscures dashboard
        https://bugs.webkit.org/show_bug.cgi?id=132205

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/DashboardContainerView.css:
        (.toolbar .dashboard.visible): Change z-index to 1. Force stacking context.
        * UserInterface/Views/Popover.css:
        (.popover): Add z-index: 100.

2014-04-24  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Dashboard when paused in debugger shows some missing glyph boxes
        https://bugs.webkit.org/show_bug.cgi?id=132113

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/DebuggerDashboardView.css:
        (.dashboard.debugger > .location .function-name::after): Fix the codepoint for nbsp.

2014-04-24  Jonathan Wells  <jonowells@apple.com>

        Web Inspector: Should update to CodeMirror 4.1
        https://bugs.webkit.org/show_bug.cgi?id=132140

        Reviewed by Timothy Hatcher.

        Updated to CodeMirror 4.1, which contains several bugfixes.
        Release notes: http://codemirror.net/doc/releases.html#v4

        * Tools/PrettyPrinting/codemirror.js:
        * Tools/PrettyPrinting/css.js:
        * Tools/PrettyPrinting/javascript.js:
        * UserInterface/External/CodeMirror/codemirror.js:
        * UserInterface/External/CodeMirror/css.js:
        * UserInterface/External/CodeMirror/javascript.js:
        * UserInterface/External/CodeMirror/livescript.js:
        * UserInterface/External/CodeMirror/runmode.js:
        * UserInterface/External/CodeMirror/xml.js:
        Updated to CodeMirror 4.1.

2014-04-24  Jonathan Wells  <jonowells@apple.com>

        Web Inspector: CSS autofill suggests properties instead of values when values are needed
        https://bugs.webkit.org/show_bug.cgi?id=132090

        Reviewed by Joseph Pecoraro.

        Updates are required to the CodeMirror helpers to be compatible with
        CodeMirror 4. Some of those changes have been made to fix an issue
        with CSS autofill, CSS code coloring, and also
        https://bugs.webkit.org/show_bug.cgi?id=131859. The main issue is that
        CodeMirror 4's CSS mode (css.js) stores its parsing modes in a different
        data structure. All references to state.stack are obsolete. Many
        are fixed here and more will be in an upcoming patch.

        * Tools/PrettyPrinting/CodeMirrorFormatters.js: Removed exception for checking state.stack properties.
        * UserInterface/Controllers/CodeMirrorCompletionController.js:
        (WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions): Corrected "block" state detection.
        * UserInterface/External/CodeMirror/less.js: Removed.
        * UserInterface/Views/CodeMirrorAdditions.js: Sets default state of "block" correctly.
        * UserInterface/Views/CodeMirrorFormatters.js: Removed exception for checking state.stack properties.
        * UserInterface/Views/SyntaxHighlightingDefaultTheme.css: Fix styles to match CSS mode changes.

2014-04-24  Antoine Quint  <graouts@webkit.org>

        Web Inspector: gradient editor does not appear for linear-gradient with no specified angle
        https://bugs.webkit.org/show_bug.cgi?id=132083

        Reviewed by Timothy Hatcher.

        Only assume we're parsing a legacy-formatted gradient if the first parameter is not a color.

        * UserInterface/Models/Gradient.js:
        (WebInspector.LinearGradient.linearGradientWithComponents):

2014-04-22  Brent Fulgham  <bfulgham@apple.com>

        [Win] Support Python 2.7 in Cygwin
        https://bugs.webkit.org/show_bug.cgi?id=132023

        Reviewed by Michael Saboff.

        * WebInspectorUI.vcxproj/build-webinspectorui.sh: use
        proper path to Python under Cygwin.

2014-04-18  Katie Madonna  <madonnk@gmail.com>

        Web Inspector: add entries for probe samples in the JS/Events timeline UI
        https://bugs.webkit.org/show_bug.cgi?id=131173

        Reviewed by Timothy Hatcher.

        Create probe sample fired entries for the JS/Events timeline UI.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Controllers/ProbeManager.js:
        (WebInspector.ProbeManager.prototype.probeForIdentifier): Added.
        * UserInterface/Controllers/TimelineManager.js: Added cases for probe sample recorded.
        (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
        (WebInspector.TimelineManager.prototype.eventRecorded):
        * UserInterface/Images/TimelineRecordProbeSampled.svg: Added.
        * UserInterface/Models/ScriptTimelineRecord.js: Create ProbeSampleRecorded record for ProbeSample case.
        * UserInterface/Views/TimelineIcons.css:
        (.probe-record .icon): Added.
        * UserInterface/Views/TimelineRecordTreeElement.js:
        (WebInspector.TimelineRecordTreeElement): Added case for probe sample recorded.

2014-04-15  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: CodeMirror LICENSE is not properly added to combined files
        https://bugs.webkit.org/show_bug.cgi?id=131674

        Reviewed by Darin Adler.

        * Scripts/copy-user-interface-resources.pl: Use $CODE_MIRROR_LICENSE instead
        for CodeMirror.css and CodeMirror.js.

2014-04-14  Jono Wells  <jonowells@apple.com>

        Update to CodeMirror 4.0.
        https://bugs.webkit.org/show_bug.cgi?id=130019

        The CodeMirror 4.0 library adds multiple selections and the ability to
        undo/redo selections. Selections are made by holding the Command (Cmd) key
        and clicking into an editor, or by holding Option (Alt) and making a block
        selection followed by entering a character or moving the cursor.

        Reviewed by Timothy Hatcher.

        * Scripts/update-codemirror-resources.rb:
        * Scripts/update-pretty-printer.rb:
        Update scripts to reflect updated locations for CodeMirror files.
        No longer copies LESS mode file as this has been integrated into CSS mode
        in CodeMirror 4.0.

        * Tools/PrettyPrinting/codemirror.css:
        * Tools/PrettyPrinting/codemirror.js:
        * Tools/PrettyPrinting/css.js:
        * Tools/PrettyPrinting/javascript.js:
        * UserInterface/External/CodeMirror/clojure.js:
        * UserInterface/External/CodeMirror/closebrackets.js:
        * UserInterface/External/CodeMirror/codemirror.css:
        * UserInterface/External/CodeMirror/codemirror.js:
        * UserInterface/External/CodeMirror/coffeescript.js:
        * UserInterface/External/CodeMirror/comment.js:
        * UserInterface/External/CodeMirror/css.js:
        * UserInterface/External/CodeMirror/htmlmixed.js:
        * UserInterface/External/CodeMirror/javascript.js:
        * UserInterface/External/CodeMirror/livescript.js:
        * UserInterface/External/CodeMirror/matchbrackets.js:
        * UserInterface/External/CodeMirror/overlay.js:
        * UserInterface/External/CodeMirror/placeholder.js:
        * UserInterface/External/CodeMirror/runmode.js:
        * UserInterface/External/CodeMirror/sass.js:
        * UserInterface/External/CodeMirror/searchcursor.js:
        * UserInterface/External/CodeMirror/sql.js:
        * UserInterface/External/CodeMirror/xml.js:
        Update to CodeMirror 4.0.

        * UserInterface/Main.html: Remove less.js which is now part of css.js.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype.):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateJumpToSymbolTrackingMode):
        * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
        Update styles to match CodeMirror changes. Update CSSStyleDeclarationTextEditor.js
        to match CodeMirror API updates (doc.removeLine() has been removed, so
        replaceRange() is used instead). Also the tokenTrackingController is now enabled in the
        CSSStyleDeclarationTextEditor and SourceCodeTextEditor when the Option (Alt) key
        is pressed instead of the Command (Cmd) key so as not to conflict with multiple
        cursor placement in the CodeMirror update.

2014-04-08  Brent Fulgham  <bfulgham@apple.com>

        [Windows] Generate Optimized WebInspectorUI in Release Build
        https://bugs.webkit.org/show_bug.cgi?id=120120

        Reviewed by Timothy Hatcher.

        * Scripts/copy-user-interface-resources.pl: Copied from Scripts/copy-user-interface-resources.sh.
        * Scripts/copy-user-interface-resources.sh: Removed.
        * Scripts/remove-console-asserts.pl:
        * WebInspectorUI.vcxproj/WebInspectorUI.make: Added.
        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Switch to Makefile style.
        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters: Ditto.
        * WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: More work should
        be done in the new build-webinspectorui.sh file.
        * WebInspectorUI.vcxproj/build-webinspectorui.sh: Added.
        * WebInspectorUI.xcodeproj/project.pbxproj:

2014-04-08  Timothy Hatcher  <timothy@apple.com>

        Fix corrupt APPLE_IMAGES_LICENSE.rtf after r165676.
        https://bugs.webkit.org/show_bug.cgi?id=131384

        Reviewed by Joseph Pecoraro.

        * APPLE_IMAGES_LICENSE.rtf:

2014-04-08  Timothy Hatcher  <timothy@apple.com>

        Clean up old protocol JSON files to better match the latest
        https://bugs.webkit.org/show_bug.cgi?id=131308

        Reviewed by Joseph Pecoraro.

        * Versions/Inspector-iOS-6.0.json:
        * Versions/Inspector-iOS-7.0.json:

2014-04-05  Brian J. Burg  <burg@cs.washington.edu>

        Enable WEB_REPLAY for PLATFORM(MAC)
        https://bugs.webkit.org/show_bug.cgi?id=130700

        Reviewed by Timothy Hatcher.

        If the ReplayAgent is available, then add an option to toggle between the
        replay interface and normal Timeline interface from the timeline
        sidebar panel. The option is available through a context menu item on the
        sidebar panel's top navigation bar.

        If web replay not available, just show the non-replay interface.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Base/Main.js: Add WebInspector.showReplayInterfaceSetting.
        (WebInspector.loaded):

        * UserInterface/Views/TimelineSidebarPanel.js: Unconditionally create the replay
        interface elements, but only show them if showReplayInterfaceSetting is enabled.
        (WebInspector.TimelineSidebarPanel.prototype._updateReplayInterfaceVisibility): Added
        (WebInspector.TimelineSidebarPanel.prototype._contextMenuNavigationBarOrStatusBar.toggleReplayInterface): Added.
        (WebInspector.TimelineSidebarPanel.prototype._contextMenuNavigationBarOrStatusBar): Added.

2014-04-05  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: remove unused metrics and commands from the Timeline agent
        https://bugs.webkit.org/show_bug.cgi?id=131184

        Reviewed by Timothy Hatcher.

        Remove the Memory domain from old protocol versions. Remove enum values
        BeginFrame and CompositeLayers. Remove arguments to Timeline.start.
        Remove miscellaneous Timeline commands that no longer exist and were never used.

        * UserInterface/Protocol/Legacy/6.0/InspectorWebBackendCommands.js:
        * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
        * Versions/Inspector-iOS-6.0.json:
        * Versions/Inspector-iOS-7.0.json:

2014-04-03  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: hook up probe samples to TimelineAgent's records
        https://bugs.webkit.org/show_bug.cgi?id=131127

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/TimelineManager.js: Stub out a case for the ProbeSample record type.
        (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
        (WebInspector.TimelineManager.prototype.eventRecorded):

2014-04-04  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: JSContext inspection Resource search throws exception
        https://bugs.webkit.org/show_bug.cgi?id=131253

        Reviewed by Timothy Hatcher.

        Fail gracefully when none of the supported search backends are available.
        In JSContext inspection the DOM and Page agents are unavailable.

        * UserInterface/Views/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel.prototype.performSearch):

2014-04-04  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: JSContext inspection - TypeError: null is not an object (evaluating 'contentView.showSourceCode')
        https://bugs.webkit.org/show_bug.cgi?id=129857

        Reviewed by Timothy Hatcher.

        When inspecting a JSContext, there is no main frame resource, so
        attempting to show it was resulting in a runtime error.
        Instead, check to see if there is a main frame resource, fallback
        to selecting the first tree element.

        * UserInterface/Base/Main.js:
        (WebInspector.toggleConsoleView):
        * UserInterface/Views/DebuggerSidebarPanel.js:
        (WebInspector.DebuggerSidebarPanel.prototype.showDefaultContentView):
        * UserInterface/Views/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel.prototype.showDefaultContentView):

2014-04-04  Ion Rosca  <rosca@adobe.com>

        [CSS Blending] Add compositing reason for isolation.
        https://bugs.webkit.org/show_bug.cgi?id=131153

        Reviewed by Joseph Pecoraro.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Views/LayerTreeSidebarPanel.js:
        (WebInspector.LayerTreeSidebarPanel.prototype._populateListOfCompositingReasons):

2014-04-02  Timothy Hatcher  <timothy@apple.com>

        Remove Input domain from the Web Inspector protocol.

        https://bugs.webkit.org/show_bug.cgi?id=131073

        Reviewed by Joseph Pecoraro.

        * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js: Updated.
        * Versions/Inspector-iOS-7.0.json: Removed Input domain.

2014-04-01  Timothy Hatcher  <timothy@apple.com>

        Remove HeapProfiler from the Web Inspector protocol.

        https://bugs.webkit.org/show_bug.cgi?id=131070

        Reviewed by Joseph Pecoraro.

        * UserInterface/Protocol/Legacy/6.0/InspectorWebBackendCommands.js: Updated.
        * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js: Ditto.
        * Versions/Inspector-iOS-6.0.json: Removed heap related stuff.
        * Versions/Inspector-iOS-7.0.json: Ditto.

2014-04-01  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Remove stale localStorage deletion transition code
        https://bugs.webkit.org/show_bug.cgi?id=131061

        Reviewed by Timothy Hatcher.

        * UserInterface/Base/ImageUtilities.js:
        This code has been in for a while. We have transitioned to Web SQL.

2014-04-01  Zoltan Horvath  <zoltan@webkit.org>

        [CSS Exclusions] Remove exclusions parsing support
        https://bugs.webkit.org/show_bug.cgi?id=131046

        Reviewed by David Hyatt.

        * UserInterface/Models/CSSKeywordCompletions.js:

2014-04-01  Timothy Hatcher  <timothy@apple.com>

        Remove the rest of the old Canvas inspection support.

        https://bugs.webkit.org/show_bug.cgi?id=131066

        Reviewed by Joseph Pecoraro.

        * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js: Updated.
        * Versions/Inspector-iOS-7.0.json: Removed Canvas domain.

2014-03-28  James Craig  <jcraig@apple.com>

        Web Inspector: AXI: support for live regions
        https://bugs.webkit.org/show_bug.cgi?id=130725

        Reviewed by Timothy Hatcher.

        Initial support for @aria-live, @aria-atomic, and @aria-busy.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Models/DOMNode.js:
        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
        * UserInterface/Views/Main.css:

2014-03-28  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: console.warn is showing as error instead of warning
        https://bugs.webkit.org/show_bug.cgi?id=130921

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/DefaultDashboard.js:
        (WebInspector.DefaultDashboard.prototype._incrementConsoleMessageType):
        Use our enums instead of hardcoded strings.

2014-03-28  James Craig  <jcraig@apple.com>

        Web Inspector: AXI: expose what elements get generic "clickable" status
        https://bugs.webkit.org/show_bug.cgi?id=130721

        Reviewed by Timothy Hatcher.

        Expose ancestor element link to "Click Listener" or generic "Clickable: Yes" if current node has mouse handler.

        * Localizations/en.lproj/localizedStrings.js: New "Mouse Event" string.
        * UserInterface/Models/DOMNode.js: Added nodeId and mouseEventNodeId.
        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: UI for new detail row.

2014-03-27  James Craig  <jcraig@apple.com>

        Web Inspector: AXI: expose selectedChildNodeIds of list boxes, tree controls, etc., and reconcile UI with childNodeIds
        https://bugs.webkit.org/show_bug.cgi?id=130827

        Reviewed by Timothy Hatcher.

        UI updates for "Selected Item(s)" and "Child(ren)" rows in accessibility node inspector.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Models/DOMNode.js:
        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:

2014-03-27  Antoine Quint  <graouts@webkit.org>

        Web Inspector: clearing the console log doesn't update the activity viewer
        https://bugs.webkit.org/show_bug.cgi?id=130774

        Reviewed by Joseph Pecoraro.

        Ensure we take the changes made to the ivars into account on the view.

        * UserInterface/Models/DefaultDashboard.js:
        (WebInspector.DefaultDashboard.prototype._consoleWasCleared):

2014-03-27  Brent Fulgham  <bfulgham@apple.com>

        [Win] Correct handling of autogenerated WebInspectorUI files
        https://bugs.webkit.org/show_bug.cgi?id=130846

        Reviewed by Joseph Pecoraro.

        * WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: Files need to be placed in the
        'Protocol' subdirectory of the WebInspectorUI directory.

2014-03-25  James Craig  <jcraig@apple.com>

        Web Inspector: AXI: add support for aria-activedescendant and reconcile UI/testing with parentNode
        https://bugs.webkit.org/show_bug.cgi?id=130712

        Reviewed by Timothy Hatcher.

        Support for @aria-activedescendant; code reuse changes w/ parentNode and activeDescendantNode.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Models/DOMNode.js:
        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:

2014-03-25  Martin Robinson  <mrobinson@igalia.com>

        [GTK] Remove the autotools build
        https://bugs.webkit.org/show_bug.cgi?id=130717

        Reviewed by Anders Carlsson.

        * GNUmakefile.am: Removed.

2014-03-24  Timothy Hatcher  <timothy@apple.com>

        Lazy load source code referred to from the source map, instead of when
        the source code is revealed in the Resources sidebar.

        https://bugs.webkit.org/show_bug.cgi?id=130625

        Reviewed by Joseph Pecoraro.

        * UserInterface/Models/SourceMapResource.js:
        (WebInspector.SourceMapResource): Set up the type info here so it can be used to
        dispaly the right icon in the sidebar.
        (WebInspector.SourceMapResource.prototype.canRequestContentFromBackend): Use _contentRequested.
        (WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoaded):
        Reset finished and remove the type change dance we had before.
        * UserInterface/Views/SourceMapResourceTreeElement.js:
        (WebInspector.SourceMapResourceTreeElement.prototype.onattach): Removed. Don't request content here.

2014-03-23  James Craig  <jcraig@apple.com>

        Web Inspector: AXI: add other ARIA one-to-many relationships: owns, flowto, controls.
        https://bugs.webkit.org/show_bug.cgi?id=130635

        Reviewed by Timothy Hatcher.

        Support for @aria-owns, @aria-controls, and @aria-flowto.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Models/DOMNode.js:
        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:

2014-03-21  James Craig  <jcraig@apple.com>

        Web Inspector: AXI: Expose Accessibility Tree children of the selected node
        https://bugs.webkit.org/show_bug.cgi?id=130264

        Reviewed by Timothy Hatcher.

        Expose the accessibility tree children (different from DOM children) of the
        current node in the accessibility node inspector.

        * Localizations/en.lproj/localizedStrings.js: New "Children" string.
        * UserInterface/Base/DOMUtilities.js: Added linkifyAccessibilityNodeReference.
        * UserInterface/Models/DOMNode.js: Support for accessibility children.
        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: Support for accessibility children.
        * UserInterface/Views/Main.css: New styles for .node-link-list.

2014-03-20  Brian Burg  <bburg@apple.com>

        Web Inspector: add temporary buttons to capture/play/pause replay recordings
        https://bugs.webkit.org/show_bug.cgi?id=129692

        Reviewed by Timothy Hatcher.

        If the Replay agent is available, replace the existing ad-hoc navigation bar
        in the Timelines sidebar panel with a record and pause/play button. This UI
        is temporary.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Controllers/ReplayManager.js: Turn two segment state assertions into
        FIXMEs because the assertions are too strong until the public API uses async chains.
        (WebInspector.ReplayManager.prototype.replayToMarkIndex):
        (WebInspector.ReplayManager.prototype.replayToCompletion):
        * UserInterface/Images/Circle.svg: Added.
        * UserInterface/Views/ActivateButtonNavigationItem.js:
        (WebInspector.ActivateButtonNavigationItem.prototype.generateStyleText):
        * UserInterface/Views/ButtonNavigationItem.css: Adjust styles so the default style
        has opacity:1 and the glyph color is darker.
        (.navigation-bar .item.button.suppress-emboss > .glyph):
        (.navigation-bar .item.button.suppress-emboss.disabled > .glyph):
        * UserInterface/Views/ButtonNavigationItem.js:
        (WebInspector.ButtonNavigationItem.prototype.generateStyleText): Explicitly
        generate the width and height properties so that separate button instances do
        not influence the size of each other.

        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel.prototype._recordGlyphClicked):
        (WebInspector.TimelineSidebarPanel.prototype._replayCaptureButtonClicked):
        (WebInspector.TimelineSidebarPanel.prototype._replayPauseResumeButtonClicked):
        (WebInspector.TimelineSidebarPanel.prototype._captureStarted):
        (WebInspector.TimelineSidebarPanel.prototype._captureStopped):
        (WebInspector.TimelineSidebarPanel.prototype._playbackStarted):
        (WebInspector.TimelineSidebarPanel.prototype._playbackPaused):

2014-03-20  Brian Burg  <bburg@apple.com>

        Web Inspector: add frontend controller and models for replay sessions
        https://bugs.webkit.org/show_bug.cgi?id=130145

        Reviewed by Joseph Pecoraro.

        Upstream the frontend models and controller for web replay. The replay manager
        syncs with the backend controller's replay state and replay sessions by using
        the same state machines and transitions.

        Session and segment models update their data asynchronously using promises.

        * UserInterface/Base/Main.js:
        (WebInspector.loaded): Add the replay manager.
        * UserInterface/Base/Test.js:
        (WebInspector.loaded): Add the replay manager.
        (InspectorTest.debugLog): Fix a bug in the unescape/escape trick.
        (InspectorTest.addResult): Don't try to add results until the test page has loaded.
        (InspectorTest.testPageDidLoad): Clear the isReloading flag.
        (InspectorTest.reloadPage): Reimplement using promises. Return a promise.
        * UserInterface/Base/Utilities.js: Implement Map.take in the obvious way.
        * UserInterface/Controllers/ReplayManager.js: Added.
        (WebInspector.ReplayManager):
        (WebInspector):
        (WebInspector.ReplayManager.prototype.get sessionState):
        (WebInspector.ReplayManager.prototype.get segmentState):
        (WebInspector.ReplayManager.prototype.get activeSessionIdentifier):
        (WebInspector.ReplayManager.prototype.get activeSegmentIdentifier):
        (WebInspector.ReplayManager.prototype.get playbackSpeed):
        (WebInspector.ReplayManager.prototype.set playbackSpeed):
        (WebInspector.ReplayManager.prototype.get currentPosition):
        (WebInspector.ReplayManager.prototype.getSession.get var):
        (WebInspector.ReplayManager.prototype.getSegment.get var):
        (WebInspector.ReplayManager.prototype.captureStarted):
        (WebInspector.ReplayManager.prototype.captureStopped):
        (WebInspector.ReplayManager.prototype.playbackStarted):
        (WebInspector.ReplayManager.prototype.playbackHitPosition):
        (WebInspector.ReplayManager.prototype.playbackPaused):
        (WebInspector.ReplayManager.prototype.playbackFinished):
        (WebInspector.ReplayManager.prototype.sessionCreated.set catch):
        (WebInspector.ReplayManager.prototype.sessionCreated.this):
        (WebInspector.ReplayManager.prototype.sessionCreated):
        (WebInspector.ReplayManager.prototype.sessionModified):
        (WebInspector.ReplayManager.prototype.sessionRemoved.then):
        (WebInspector.ReplayManager.prototype.sessionRemoved):
        (WebInspector.ReplayManager.prototype.segmentCreated.set this):
        (WebInspector.ReplayManager.prototype.segmentCompleted.set catch):
        (WebInspector.ReplayManager.prototype.segmentCompleted):
        (WebInspector.ReplayManager.prototype.segmentRemoved.then):
        (WebInspector.ReplayManager.prototype.segmentRemoved):
        (WebInspector.ReplayManager.prototype.segmentLoaded):
        (WebInspector.ReplayManager.prototype.segmentUnloaded):
        (WebInspector.ReplayManager.prototype.startCapturing):
        (WebInspector.ReplayManager.prototype.stopCapturing):
        (WebInspector.ReplayManager.prototype.replayToMarkIndex):
        (WebInspector.ReplayManager.prototype.replayToCompletion):
        (WebInspector.ReplayManager.prototype.pausePlayback):
        (WebInspector.ReplayManager.prototype.stopPlayback):
        (WebInspector.ReplayManager.prototype._changeSessionState):
        (WebInspector.ReplayManager.prototype._changeSegmentState):
        * UserInterface/Main.html:
        * UserInterface/Models/ReplaySession.js: Added.
        (WebInspector.ReplaySession):
        (WebInspector.ReplaySession.fromPayload):
        (WebInspector.ReplaySession.prototype.get segments):
        (WebInspector.ReplaySession.prototype.segmentsChanged):
        (WebInspector.ReplaySession.prototype._updateFromPayload):
        * UserInterface/Models/ReplaySessionSegment.js: Added.
        (WebInspector.IncompleteSessionSegment):
        (WebInspector.IncompleteSessionSegment.prototype.get isComplete):
        (WebInspector.ReplaySessionSegment):
        (WebInspector.ReplaySessionSegment.prototype.get isComplete):
        * UserInterface/Protocol/InspectorBackend.js:
        (InspectorBackendClass.prototype.registerCommand):
        (InspectorBackendClass.prototype._promise): Add a promise-returning method for
        invoking backend commands that return a result asynchronously.
        * UserInterface/Protocol/ReplayObserver.js: Added.
        (WebInspector.ReplayPosition):
        (WebInspector.ReplayPosition.fromProtocol):
        (WebInspector.ReplayObserver):
        (WebInspector.ReplayObserver.prototype.captureStarted):
        (WebInspector.ReplayObserver.prototype.captureStopped):
        (WebInspector.ReplayObserver.prototype.playbackStarted):
        (WebInspector.ReplayObserver.prototype.playbackHitPosition):
        (WebInspector.ReplayObserver.prototype.playbackPaused):
        (WebInspector.ReplayObserver.prototype.playbackFinished):
        (WebInspector.ReplayObserver.prototype.inputSuppressionChanged):
        (WebInspector.ReplayObserver.prototype.sessionCreated):
        (WebInspector.ReplayObserver.prototype.sessionModified):
        (WebInspector.ReplayObserver.prototype.sessionRemoved):
        (WebInspector.ReplayObserver.prototype.sessionLoaded):
        (WebInspector.ReplayObserver.prototype.segmentCreated):
        (WebInspector.ReplayObserver.prototype.segmentRemoved):
        (WebInspector.ReplayObserver.prototype.segmentCompleted):
        (WebInspector.ReplayObserver.prototype.segmentLoaded):
        (WebInspector.ReplayObserver.prototype.segmentUnloaded):
        * UserInterface/Test.html:

2014-03-20  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: DebuggerDashboardView looks scrunched debugging JSContext
        https://bugs.webkit.org/show_bug.cgi?id=130527

        Reviewed by Timothy Hatcher.

        Instead of using body.javascript to force a collapsed style,
        actually use the toolbar's collapsed class.

        * UserInterface/Views/DashboardContainerView.css:
        (.toolbar.collapsed .dashboard-container):
        * UserInterface/Views/Toolbar.js:

2014-03-20  Katie Madonna  <madonnk@gmail.com>

        Web Inspector: probe sidebar should use overflow:scroll and split space evenly
        https://bugs.webkit.org/show_bug.cgi?id=129627

        Reviewed by Timothy Hatcher.

        Use flexbox to split space evenly in the probe sidebar, which required changes to collapse
        format, remove scrollbar styles from old timelapse branch.

        * UserInterface/Views/ProbeDetailsSidebarPanel.css: Space elements evenly with flexbox
        and make collapse correctly, remove scrollbar style.
        * UserInterface/Views/ProbeSetDetailsSection.js: Removed inline style.

2014-03-18  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Make update-InspectorBackendCommands.rb only update legacy protocol versions
        https://bugs.webkit.org/show_bug.cgi?id=130412

        Reviewed by Timothy Hatcher.

        Rename the script and simplify to only update Legacy protocol versions.

        * Scripts/update-LegacyInspectorBackendCommands.rb: Renamed from Source/WebInspectorUI/Scripts/update-InspectorBackendCommands.rb.

2014-03-18  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: sourceMapResourceLoaded expects statusCode parameter
        https://bugs.webkit.org/show_bug.cgi?id=130377

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/SourceMapResource.js:

2014-03-17  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Uncaught Exception in JSContext Inspector
        https://bugs.webkit.org/show_bug.cgi?id=130368

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
        (WebInspector.DOMNodeDetailsSidebarPanel.prototype._accessibilitySupported):
        Feature check DOMAgent as well as the function.

2014-03-16  Brian Burg  <bburg@apple.com>

        Web Inspector: vended backend commands file should be generated as part of the build
        https://bugs.webkit.org/show_bug.cgi?id=130110

        Reviewed by Timothy Hatcher.

        Copy the backend commands generated in other frameworks into our built products directory.

        * Configurations/WebInspectorUIFramework.xcconfig: Set up variables so we can pull backend
        commands files from the private headers directory of other frameworks.
        * Scripts/copy-user-interface-resources.sh: Always ditto inspector backend commands.
        * UserInterface/Protocol/InspectorJSBackendCommands.js: Removed.
        * UserInterface/Protocol/InspectorWebBackendCommands.js: Removed.
        * WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: Copy over the generated
        backend commands files from the other frameworks.
        * WebInspectorUI.xcodeproj/project.pbxproj: Add JavaScriptCore and WebCore as
        framework dependencies so Xcode builds them first.

2014-03-15  David Kilzer  <ddkilzer@apple.com>

        [iOS] Define SYSTEM_VERSION_PREFIX consistently
        <http://webkit.org/b/130293>
        <rdar://problem/15926359>

        Reviewed by Dan Bernstein.

        * Configurations/Version.xcconfig:
        (SYSTEM_VERSION_PREFIX): Sync with
        Source/WebKit/mac/Version.xcconfig.

2014-03-14  Maciej Stachowiak  <mjs@apple.com>

        Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers
        https://bugs.webkit.org/show_bug.cgi?id=130276
        <rdar://problem/16266927>

        Reviewed by Simon Fraser.

        * APPLE_IMAGES_LICENSE.rtf:
        * UserInterface/Base/DOMUtilities.js:
        * UserInterface/Models/Color.js:
        * UserInterface/Views/ConsoleCommand.js:
        * UserInterface/Views/ConsoleCommandResult.js:
        * UserInterface/Views/ConsoleGroup.js:
        * UserInterface/Views/ConsoleMessage.js:
        * UserInterface/Views/ConsoleMessageImpl.js:
        * UserInterface/Views/DOMTreeElement.js:
        * UserInterface/Views/DOMTreeOutline.js:
        * UserInterface/Views/DOMTreeUpdater.js:
        * UserInterface/Views/GradientSlider.css:
        * UserInterface/Views/GradientSlider.js:
        * UserInterface/Views/TreeOutline.js:

2014-03-14  Bem Jones-Bey  <bjonesbe@adobe.com>

        [CSS Shapes] Add autocomplete for -webkit-shape-outside
        https://bugs.webkit.org/show_bug.cgi?id=130268

        Reviewed by Joseph Pecoraro.

        Add completions for -webkit-shape-outside. Also add the box shapes to
        the possible completions for clip-path.

        * UserInterface/Models/CSSKeywordCompletions.js:

2014-03-14  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Update shapes autocompletion suggestions
        https://bugs.webkit.org/show_bug.cgi?id=130255

        Reviewed by Bem Jones-Bey.

        * UserInterface/Models/CSSKeywordCompletions.js:

2014-03-14  James Craig  <jcraig@apple.com>

        Web Inspector: AXI: Expose Accessibility Tree parent of the selected node
        https://bugs.webkit.org/show_bug.cgi?id=129943

        Reviewed by Timothy Hatcher.

        Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode.html

        Web Accessibility Node Inspector now displays a link to the AX parent node,
        because it's not a 1:1 match with the DOMNode parent.

        * Localizations/en.lproj/localizedStrings.js: new "Parent" string.
        * UserInterface/Base/DOMUtilities.js: Updating linkifyNodeReference to include role; adding new roleSelectorForNode method.
        * UserInterface/Models/DOMNode.js: AX Parent support and adding role to DOMNode (will be exposed as AX Parent link and in overlays).
        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: Accessibility parent node.

2014-03-14  Diego Pino Garcia  <dpino@igalia.com>

        Web Inspector: Resource and Frame saveIdentityToCookie should store URL hashes not URLs
        https://bugs.webkit.org/show_bug.cgi?id=126833

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/Frame.js:
        (WebInspector.Frame.prototype.saveIdentityToCookie):
        * UserInterface/Models/Resource.js:
        (WebInspector.Resource.prototype.saveIdentityToCookie):

2014-03-13  James Craig  <jcraig@apple.com>

        Web Inspector: AXI: Use loc strings for known aria-invalid types
        https://bugs.webkit.org/show_bug.cgi?id=129952

        Reviewed by Joseph Pecoraro.

        Updating inspector-protocol and UI display values for @aria-invalid.

        Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html

        * Localizations/en.lproj/localizedStrings.js: "Grammar" and "Spelling" value strings.
        * UserInterface/Protocol/InspectorWebBackendCommands.js: New enum for DOM.AccessibilityPropertiesInvalid
        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: Use enum instead of passing value through directly.

2014-03-13  Diego Pino Garcia  <dpino@igalia.com>

        Web Inspector: AXI: Expose focused/focusable state in the Accessibility Node Inspector
        https://bugs.webkit.org/show_bug.cgi?id=129779

        Reviewed by Timothy Hatcher.

        * Localizations/en.lproj/localizedStrings.js: Add label "Focused".
        * UserInterface/Models/DOMNode.js: Set property "focused" in
        accessibilityProperties.
        (WebInspector.DOMNode.prototype.accessibilityProperties): Add row for
        property "focused".
        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
        (WebInspector.DOMNodeDetailsSidebarPanel):
        (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility):
        Refresh value of property "focused" in UI.

2014-03-13  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Remove InspectorFrontendHost.loadResourceSynchronously
        https://bugs.webkit.org/show_bug.cgi?id=130217

        Reviewed by Timothy Hatcher.

        * UserInterface/Protocol/InspectorFrontendHostStub.js:

2014-03-13  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Network.loadResource should include the response status code
        https://bugs.webkit.org/show_bug.cgi?id=130216

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/SourceMapManager.js:
        (WebInspector.SourceMapManager.prototype.sourceMapLoaded):
        (WebInspector.SourceMapManager.prototype._loadAndParseSourceMap):
        * UserInterface/Models/SourceMapResource.js:
        (WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoaded):
        If the response is 400 or larger, treat it as an error / failed load.

        * UserInterface/Protocol/InspectorWebBackendCommands.js:
        Update protocol to provide status code parameter.

2014-03-12  Brian Burg  <bburg@apple.com>

        Web Inspector: Remove unused callId parameter from evaluateInWebInspector
        https://bugs.webkit.org/show_bug.cgi?id=129744

        Reviewed by Timothy Hatcher.

        * UserInterface/Protocol/InspectorJSBackendCommands.js:
        * UserInterface/Protocol/InspectorObserver.js:
        (WebInspector.InspectorObserver.prototype.evaluateForTestInFrontend):

2014-03-12  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: [iOS 6] uncaught exception attempting to use CSSAgent.getNamedFlowCollection
        https://bugs.webkit.org/show_bug.cgi?id=130167

        Reviewed by Timothy Hatcher.

        Feature check the protocol method before using it. It is
        fine to do nothing if the feature is not supported.

        * UserInterface/Controllers/DOMTreeManager.js:

2014-03-12  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Feature check for accessibility support before using it (DOMAgent.getAccessibilityPropertiesForNode)
        https://bugs.webkit.org/show_bug.cgi?id=130037

        Reviewed by Timothy Hatcher.

        Feature detect if accessibility information is supported before
        creating or attempting to update the accessibility section.

        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
        (WebInspector.DOMNodeDetailsSidebarPanel):
        (WebInspector.DOMNodeDetailsSidebarPanel.prototype._accessibilitySupported):
        (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility):

2014-03-12  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Fix multiple console.assert stripping issues
        https://bugs.webkit.org/show_bug.cgi?id=130166

        Reviewed by Timothy Hatcher.

        There were a couple console.assert stripping issues in production.
        One line required a semicolon so was avoiding getting stripped.
        One resulted in a logic change, when stripping the only statement
        of a control flow block. Add a warning for such cases.

        * Scripts/remove-console-asserts.pl:
        Add warning for a console.assert being the only statement in a control flow block
        without braces. When it is stripped it may change the flow of the function.

        * Scripts/remove-console-asserts-dryrun.rb: Added.
        Add a script to quickly test running remove console asserts on our files, to
        help catch errors not in a production build and in the original non-combined
        files, so you can more easily fix issues.

        * UserInterface/Controllers/DOMTreeManager.js:
        (WebInspector.DOMTreeManager.prototype._updateContentFlowFromPayload):
        Convert the for loop into a single console.assert statement.

        * UserInterface/Views/DataGrid.js:
        (WebInspector.DataGrid.prototype.removeChild):
        Add missing semicolon.

2014-03-12  Brian Burg  <bburg@apple.com>

        Web Inspector: convert model tests and inspector-test.js to use Test.html
        https://bugs.webkit.org/show_bug.cgi?id=129217

        Reviewed by Timothy Hatcher.

        Miscellaneous changes to make the inspector model test harness work well in
        scenarios where the test page must navigate or reload. Also improve reporting
        test failures so that messages will be dumped correctly even when an exception
        is thrown in the Inspector or the test times out.

        * UserInterface/Base/Test.js:
        (WebInspector.loaded): register new managers and observers.
        (InspectorTest.log): Stringify the argument if it's an object.
        (InspectorTest.assert): Stringify the argument if it's an object. Don't log
        unless the condition is false.

        (InspectorTest.expectThat): Added. Like assert(), but always logs.
        (InspectorTest.debugLog): Escape and unescape the string properly.
        (InspectorTest.completeTest): Fix teardown so messages are not lost.
        (InspectorTest.evaluateInPage): Accept a callback argument.
        (InspectorTest.addResult): Don't rebuild results when adding a new result.
        (InspectorTest._resendResults.decrementPendingResponseCount): Added.

        (InspectorTest._resendResults): Added. Track the number of pending
        responses and invoke a given callback when everything has been resent.

        (InspectorTest.testPageDidLoad): Renamed from `pageLoaded`.
        (InspectorTest.reloadPage): Added.
        (InspectorTest.reportUncaughtException): Prevent the default handler from running.
        * UserInterface/Protocol/InspectorBackend.js:
        (InspectorBackendClass.prototype.dispatch): Report uncaught exceptions when dispatching
        messages on the inspector page without blowing away the entire call stack.

        * UserInterface/Test.html: Add files used by Network and Timeline domains.

2014-03-11  Brian Burg  <bburg@apple.com>

        Web Inspector: DataGrid should have an API to set sort column and direction
        https://bugs.webkit.org/show_bug.cgi?id=128783

        Reviewed by Timothy Hatcher.

        Previously there was no way for DataGrid clients to programmatically change
        the sort order or sort column identifier after the data grid was constructed.
        This patch modernizes DataGrid sorting by exposing getters and setters for
        sortOrder and sortColumnIdentifier, which trigger the SortChanged event if
        the sort settings have changed.

        This patch also modernizes sorting functionality in DataGrid clients, and in
        a few clients it moves column identifiers from numbers to string identifiers.

        * UserInterface/Main.html:
        * UserInterface/Views/ApplicationCacheFrameContentView.js: Use string column identifiers
        instead of numbers. Don't repopulate the entire table when the sort changes, instead
        call DataGrid.sortNodes from the sorting callback. Explicitly set the sort order.

        (WebInspector.ApplicationCacheFrameContentView.prototype._createDataGrid):
        (WebInspector.ApplicationCacheFrameContentView.prototype._sortDataGrid):
        (WebInspector.ApplicationCacheFrameContentView.prototype._sortDataGrid.localeCompare):
        (WebInspector.ApplicationCacheFrameContentView.prototype._populateDataGrid):

        * UserInterface/Views/CookieStorageContentView.js: Use string column identifiers instead
        of numbers. Don't sort the cookies themselves, just the data grid nodes representing
        each cookie. Use DataGrid.sortNodes as the sorting implementation, and provide a
        comparator. Don't rebuild the entire table when the sort changes.

        (WebInspector.CookieStorageContentView.prototype._rebuildTable):
        (WebInspector.CookieStorageContentView.prototype._sortDataGrid):
        (WebInspector.CookieStorageContentView.prototype._sortDataGrid.numberCompare):
        (WebInspector.CookieStorageContentView.prototype._sortDataGrid.expiresCompare):

        * UserInterface/Views/DataGrid.js: Add the DataGrid.SortOrder enum. Put sortOrder
        and sortColumnIdentifier behind getters and setters. Pull some hardcoded style
        class names into constants. Remove the "sort" field on column config objects; instead
        should use the DataGrid.sortColumnIdentifier setter after construction.

        (WebInspector.DataGrid): Keep sort settings in private variables.
        (WebInspector.DataGrid.prototype.get sortOrder): Reimplemented.
        (WebInspector.DataGrid.prototype.get sortColumnIdentifier): Reimplemented.
        (WebInspector.DataGrid.prototype.moveToNextCell):
        (WebInspector.DataGrid.prototype._editingCommitted):
        (WebInspector.DataGrid.prototype.sortNodes): Use requestAnimationFrame to
        coalesce multiple sort requests within the same draw frame.
        (WebInspector.DataGrid.prototype._sortNodesCallback):
        (WebInspector.DataGrid.prototype._headerCellClicked): Use the new sort API.
        * UserInterface/Views/LayerTreeDataGrid.js: Removed. Unnecessary for performance
        now that sort requests are coalesced by requestAnimationFrame.

        * UserInterface/Views/LayerTreeSidebarPanel.js: Use DataGrid instead of LayerTreeDataGrid.
        Hook up the _sortDataGrid method to the built-in DataGrid.sortNodes API.

        (WebInspector.LayerTreeSidebarPanel.prototype._buildDataGridSection):
        (WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid.comparator):
        (WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid):
        * UserInterface/Views/LayoutTimelineView.js:
        * UserInterface/Views/LegacyJavaScriptProfileView.js:
        (WebInspector.LegacyJavaScriptProfileView.prototype._sortProfile):
        * UserInterface/Views/NetworkTimelineView.js:
        * UserInterface/Views/ResourceDetailsSidebarPanel.js: Use the DataGrid.sortNodes API.
        (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid.sortDataGrid.comparator):
        (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid.sortDataGrid):
        (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid):
        * UserInterface/Views/ScriptTimelineView.js:
        * UserInterface/Views/TimelineDataGrid.js:
        (WebInspector.TimelineDataGrid.prototype._sortComparator):

2014-03-10  James Craig  <jcraig@apple.com>

        Web Inspector: AXI: Expose checked/disabled/expanded/pressed/readonly/selected
        https://bugs.webkit.org/show_bug.cgi?id=129781

        Reviewed by Joseph Pecoraro.

        Enabling several more properties to be exposed in the Accessibility Node Inspector.

        Updated Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode.html

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Models/DOMNode.js:
        * UserInterface/Protocol/InspectorWebBackendCommands.js:
        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:

2014-03-10  Brian Burg  <bburg@apple.com>

        Web Inspector: show a debugging-oriented dashboard when scripts pause
        https://bugs.webkit.org/show_bug.cgi?id=129913

        Reviewed by Timothy Hatcher.

        Using the dashboard swapping functionality just added, show a debugger dashboard
        whenever the debugger pauses, and hide it when it resumes. The debugger manager
        already coalesces pause/resume events across stepping commands.

        The dashboard itself is straightforward, with the exception of how it uses the
        navigation bar buttons. Since buttons from the same URL can't be reused if they
        are bezeled, we don't bezel our button, and set the button image as the glyph mask
        instead of the background image. This lets us easily animate the glyph shape.

        We also have to more forcefully declare a bunch of icon rules that would otherwise
        be messed up by the toolbar's icon rules (whereas we want to mostly emulate navigation
        bar icon styles).

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Base/Main.js:
        (WebInspector.loaded):
        (WebInspector.contentLoaded):
        (WebInspector._debuggerDidPause):
        (WebInspector._debuggerDidResume):
        * UserInterface/Controllers/DashboardManager.js:
        (WebInspector.DashboardManager):
        * UserInterface/Main.html:
        * UserInterface/Models/DebuggerDashboard.js: Added.
        (WebInspector.DebuggerDashboard):
        * UserInterface/Views/ButtonNavigationItem.css:
        (.navigation-bar .item.button.suppress-emboss > .glyph):
        * UserInterface/Views/ButtonNavigationItem.js:
        (WebInspector.ButtonNavigationItem.prototype._updateImage):
        * UserInterface/Views/DashboardView.js:
        (WebInspector.DashboardView):
        * UserInterface/Views/DebuggerDashboardView.css: Added.
        (.toolbar .dashboard.debugger):
        (.dashboard.debugger > .message):
        (.dashboard.debugger .navigation-bar):
        (.toolbar:not(.small-size) .dashboard.debugger .navigation-bar):
        (.dashboard.debugger .navigation-bar .item.button):
        (.dashboard.debugger .navigation-bar .item.button > .glyph):
        (@-webkit-keyframes pulse-pause-button):
        (to):
        (.dashboard.debugger > .divider):
        (.dashboard.debugger > div):
        (.dashboard.debugger > .location > :first-child):
        (.toolbar:not(.small-size) .dashboard.debugger > .location :not(:first-child)):
        (.dashboard.debugger > .location img.icon):
        (.dashboard.debugger > .location .function-name):
        (.dashboard.debugger > .location .function-name::after):
        (.dashboard.debugger > .location .go-to-link):
        (.toolbar.collapsed .dashboard.debugger > :not(.message):not(.navigation-bar )):
        (.toolbar.small-size .dashboard.debugger > .message):
        (.toolbar.small-size .dashboard.debugger > .location > :first-child):
        * UserInterface/Views/DebuggerDashboardView.js: Added.
        (WebInspector.DebuggerDashboardView):
        (WebInspector.DebuggerDashboardView.prototype._rebuildLocation):
        (WebInspector.DebuggerDashboardView.prototype._resumeButtonClicked):
        * UserInterface/Views/DebuggerSidebarPanel.js:
        (WebInspector.DebuggerSidebarPanel):

2014-03-10  Brian Burg  <bburg@apple.com>

        Web Inspector: convert the dashboard toolbar item to support multiple dashboards
        https://bugs.webkit.org/show_bug.cgi?id=129898

        Reviewed by Timothy Hatcher.

        We want to ability to swap in and out different dashboard contents depending on
        circumstances such as debugger activity and page loading. This patch converts the
        existing hard-coded dashboard implementation to follow the container-based approach
        used by WebInspector.ContentViewContainer.

        As part of the refactoring, we introduce dashboard model objects to store persistent
        dashboard data. Some CSS has also been split between the container and specific dashboard.

        * UserInterface/Controllers/DashboardManager.js:
        (WebInspector.DashboardManager):
        (WebInspector.DashboardManager.prototype.get toolbarItem):
        * UserInterface/Main.html:
        * UserInterface/Models/DefaultDashboard.js: Copied from Source/WebInspectorUI/UserInterface/Controllers/DashboardManager.js.
        (WebInspector.DefaultDashboard):
        (WebInspector.DefaultDashboard.prototype.get resourcesCount):
        (WebInspector.DefaultDashboard.prototype.set resourcesCount):
        (WebInspector.DefaultDashboard.prototype.get resourcesSize):
        (WebInspector.DefaultDashboard.prototype.set resourcesSize):
        (WebInspector.DefaultDashboard.prototype.get time):
        (WebInspector.DefaultDashboard.prototype.set time):
        (WebInspector.DefaultDashboard.prototype.get logs):
        (WebInspector.DefaultDashboard.prototype.set logs):
        (WebInspector.DefaultDashboard.prototype.get errors):
        (WebInspector.DefaultDashboard.prototype.set errors):
        (WebInspector.DefaultDashboard.prototype.get issues):
        (WebInspector.DefaultDashboard.prototype.set issues):
        (WebInspector.DefaultDashboard.prototype._dataDidChange):
        (WebInspector.DefaultDashboard.prototype._mainResourceDidChange):
        (WebInspector.DefaultDashboard.prototype._recordingStopped):
        (WebInspector.DefaultDashboard.prototype._resourceWasAdded):
        (WebInspector.DefaultDashboard.prototype._frameWasAdded):
        (WebInspector.DefaultDashboard.prototype._resourceSizeDidChange):
        (WebInspector.DefaultDashboard.prototype._startUpdatingTime):
        (WebInspector.DefaultDashboard.prototype._stopUpdatingTime):
        (WebInspector.DefaultDashboard.prototype._updateTime):
        (WebInspector.DefaultDashboard.prototype._consoleMessageAdded):
        (WebInspector.DefaultDashboard.prototype._consoleMessageWasRepeated):
        (WebInspector.DefaultDashboard.prototype._incrementConsoleMessageType):
        (WebInspector.DefaultDashboard.prototype._consoleWasCleared):
        * UserInterface/Views/DashboardContainerView.css: Added.
        (.toolbar .dashboard-container):
        (body.window-inactive .toolbar .dashboard-container):
        (body.javascript .toolbar .dashboard-container):
        (.toolbar.normal-size.icon-and-label-vertical .dashboard-container):
        (.toolbar.small-size.icon-and-label-horizontal .dashboard-container):
        (.toolbar.normal-size.icon-and-label-horizontal .dashboard-container):
        (.toolbar .dashboard-container):
        (.toolbar .dashboard):
        (.toolbar .dashboard.visible):
        (.toolbar .dashboard.slide-out-up):
        (.toolbar .dashboard.slide-out-down):
        (.toolbar .dashboard.slide-in-up):
        (.toolbar .dashboard.slide-in-down):
        (@-webkit-keyframes slide-top-edge):
        (to):
        (@-webkit-keyframes slide-bottom-edge):
        * UserInterface/Views/DashboardContainerView.js: Added.
        (WebInspector.DashboardContainerView):
        (WebInspector.DashboardContainerView.prototype.get toolbarItem):
        (WebInspector.DashboardContainerView.prototype.get currentDashboardView):
        (WebInspector.DashboardContainerView.prototype.showDashboardViewForRepresentedObject):
        (WebInspector.DashboardContainerView.prototype._dashboardViewForRepresentedObject):
        (WebInspector.DashboardContainerView.prototype._showDashboardView):
        * UserInterface/Views/DashboardView.css: Removed.
        * UserInterface/Views/DashboardView.js:
        (WebInspector.DashboardView):
        (WebInspector.DashboardView.prototype.get element):
        (WebInspector.DashboardView.prototype.get parentContainer):
        (WebInspector.DashboardView.prototype.get representedObject):
        (WebInspector.DashboardView.prototype.shown):
        (WebInspector.DashboardView.prototype.hidden):
        * UserInterface/Views/DefaultDashboardView.css: Added.
        (body.web .toolbar.collapsed .dashboard.default > .logs):
        (body.javascript .toolbar .dashboard.default > .resourcesCount):
        (.toolbar .dashboard.default):
        (.toolbar .dashboard.default > .item):
        (.toolbar .dashboard.default > .resourcesSize):
        (.toolbar .dashboard.default > .item.enabled:hover):
        (.toolbar .dashboard.default > .item.enabled:active):
        (.toolbar .dashboard.default > .item > *):
        (.toolbar .dashboard.default > .item > img):
        (.toolbar .dashboard.default > .item.enabled > img):
        (.toolbar .dashboard.default > .item.enabled:hover > img):
        (.toolbar .dashboard.default > .item > div):
        (.toolbar .dashboard.default > .item.enabled > div):
        (.toolbar .dashboard.default > .item.enabled:hover > div):
        (.toolbar .dashboard.default > .resourcesCount > img):
        (.toolbar .dashboard.default > .time > img):
        (.toolbar .dashboard.default > .logs > img):
        (.toolbar .dashboard.default > .resourcesSize > img):
        (.toolbar .dashboard.default > .errors > img):
        (.toolbar .dashboard.default > .errors.enabled > img):
        (.toolbar .dashboard.default > .errors.enabled:hover > img):
        (.toolbar .dashboard.default > .errors.enabled > div):
        (.toolbar .dashboard.default > .errors.enabled:hover > div):
        (.toolbar .dashboard.default > .issues > img):
        (.toolbar .dashboard.default > .issues.enabled > img):
        (.toolbar .dashboard.default > .issues.enabled:hover > img):
        (.toolbar .dashboard.default > .issues.enabled > div):
        (.toolbar .dashboard.default > .issues.enabled:hover > div):
        (.toolbar .dashboard.default > .item.pulsing):
        (@-webkit-keyframes console-item-pulse):
        (.toolbar.small-size.icon-and-label-horizontal .dashboard.default > .item):
        (.toolbar.normal-size.icon-and-label-horizontal .dashboard.default > .item):
        * UserInterface/Views/DefaultDashboardView.js: Copied from Source/WebInspectorUI/UserInterface/Views/DashboardView.js.
        (WebInspector.DefaultDashboardView):
        (WebInspector.DefaultDashboardView.prototype._updateDisplay):
        (WebInspector.DefaultDashboardView.prototype._formatPossibleLargeNumber):
        (WebInspector.DefaultDashboardView.prototype._appendElementForNamedItem.):
        (WebInspector.DefaultDashboardView.prototype._appendElementForNamedItem.set item):
        (WebInspector.DefaultDashboardView.prototype._appendElementForNamedItem):
        (WebInspector.DefaultDashboardView.prototype._itemWasClicked):
        (WebInspector.DefaultDashboardView.prototype._resourcesWasClicked):
        (WebInspector.DefaultDashboardView.prototype._networkItemWasClicked):
        (WebInspector.DefaultDashboardView.prototype._consoleItemWasClicked):
        (WebInspector.DefaultDashboardView.prototype.animationEnded):
        (WebInspector.DefaultDashboardView.prototype._setConsoleItemValue):
        (WebInspector.DefaultDashboardView.prototype._setItemEnabled):

2014-03-08  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: update-InspectorBackendCommands.rb is putting legacy protocol files in the wrong place
        https://bugs.webkit.org/show_bug.cgi?id=129959

        Reviewed by Timothy Hatcher.

        The script was putting legacy generated files into UserInterface
        instead of UserInterface/Protocol.

        * Scripts/update-InspectorBackendCommands.rb:

2014-03-07  Timothy Hatcher  <timothy@apple.com>

        Load source maps and their resources asynchronously.

        https://bugs.webkit.org/show_bug.cgi?id=112071

        Reviewed by Joseph Pecoraro.

        * UserInterface/Controllers/SourceMapManager.js:
        (WebInspector.SourceMapManager.prototype.loadAndParseSourceMap):
        (WebInspector.SourceMapManager.prototype.downloadSourceMap):
        (WebInspector.SourceMapManager.prototype.sourceMapLoaded):
        (WebInspector.SourceMapManager.prototype._loadAndParseSourceMap):
        Use NetworkAgent.loadResource.

        * UserInterface/Models/SourceMapResource.js:
        (WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoaded):
        (WebInspector.SourceMapResource.prototype.createSourceCodeTextRange):
        Use NetworkAgent.loadResource.

        * UserInterface/Protocol/InspectorWebBackendCommands.js: Updated.

2014-03-04  Brian Burg  <bburg@apple.com>

        Inspector does not restore breakpoints after a page reload
        https://bugs.webkit.org/show_bug.cgi?id=129655

        Reviewed by Joseph Pecoraro.

        Fix some console asserts that fire when breakpoints resolve.

        * UserInterface/Controllers/DebuggerManager.js:
        (WebInspector.DebuggerManager.prototype.breakpointResolved):
        This had a typo, it should be `breakpoint.identifier`.
        (WebInspector.DebuggerManager.prototype.scriptDidParse):
        Sometimes the `url` parameter is empty instead of null.

2014-03-04  Diego Pino Garcia  <dpino@igalia.com>

        Web Inspector: Remove WebInspector.EventHandler in favor of WebInspector.EventListenerSet
        https://bugs.webkit.org/show_bug.cgi?id=129185

        Reviewed by Timothy Hatcher.

        * UserInterface/Base/EventHandler.js: Removed.
        * UserInterface/Main.html: Don't include EventHandler.js.
        * UserInterface/Views/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor.prototype._dismissPopover):
        (WebInspector.SourceCodeTextEditor.prototype._trackPopoverEvents):
        Use EventListenerSet instead of EventHandler.

2014-03-03  Jonathan Wells  <jonowells@apple.com>

        Web Inspector: Match color of regex in source view with a popover
        https://bugs.webkit.org/show_bug.cgi?id=129645

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/LogContentView.css:
        (.console-formatted-string):
        (.console-formatted-regexp):

2014-03-03  Jonathan Wells  <jonowells@apple.com>

        Web Inspector: Better Debugger popovers for RegExp values
        https://bugs.webkit.org/show_bug.cgi?id=129633

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptExpression.populate):
        (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptExpression):
        (WebInspector.SourceCodeTextEditor.prototype._showPopoverForRegExp):

2014-03-03  Timothy Hatcher  <timothy@apple.com>

        Don't try to parse legacy CSS gradients -- we don't support them.

        https://bugs.webkit.org/show_bug.cgi?id=129623

        Reviewed by Joseph Pecoraro.

        * UserInterface/Models/Gradient.js:
        (WebInspector.Gradient.stopsWithComponents): Fix a possible exception on malformed stops.
        (WebInspector.LinearGradient.linearGradientWithComponents): Return early for legacy gradients.

2014-03-03  Timothy Hatcher  <timothy@apple.com>

        Remove an innocuous error message and support default views for Resource and Debugger sidebars.

        https://bugs.webkit.org/show_bug.cgi?id=129622

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/DebuggerSidebarPanel.js:
        (WebInspector.DebuggerSidebarPanel.prototype.showDefaultContentView): Added.
        * UserInterface/Views/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel.prototype.showDefaultContentView): Added.
        (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject): Don't log an error
        if the tree element isn't a Script. We try to find any represented object, and it can fail.

2014-03-03  Timothy Hatcher  <timothy@apple.com>

        Fix an exception caused by trying to access the DOM before it is loaded.

        https://bugs.webkit.org/show_bug.cgi?id=129617

        Reviewed by Andreas Kling.

        * UserInterface/Base/Main.js:
        (WebInspector.loaded): Move global event listeners from here...
        (WebInspector.contentLoaded): ... to here.

2014-03-01  Timothy Hatcher  <timothy@apple.com>

        Make Start Timeline Recording in the Develop menu show the Timeline view again.

        This also fixes a noticeable delay between showing the sidebar and the default Timeline
        view when initially opening the Web Inspector to the Timeline.

        https://bugs.webkit.org/show_bug.cgi?id=129545

        Reviewed by Joseph Pecoraro.

        * UserInterface/Base/Main.js:
        (WebInspector.contentLoaded): Call TimelineSidebarPanel.initialize to prime the content view.
        This is needed so the view is ready in this run loop cycle, where it was delayed before.
        * UserInterface/Protocol/InspectorFrontendAPI.js:
        (InspectorFrontendAPI.setTimelineProfilingEnabled): Call TimelineSidebarPanel.showTimelineOverview.
        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel.prototype.initialize): Added.

2014-03-01  Timothy Hatcher  <timothy@apple.com>

        Select the Resource navigation sidebar by default when there is no cookie.

        https://bugs.webkit.org/show_bug.cgi?id=129544

        Reviewed by Joseph Pecoraro.

        * UserInterface/Base/Main.js:
        (WebInspector._restoreInspectorViewStateFromCookie):

2014-03-01  Timothy Hatcher  <timothy@apple.com>

        Label JavaScript forced layouts as such in the Timeline.

        https://bugs.webkit.org/show_bug.cgi?id=129546

        Reviewed by David Kilzer.

        * Localizations/en.lproj/localizedStrings.js: Updated.
        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
        (WebInspector.TimelineManager.prototype.eventRecorded):
        * UserInterface/Models/LayoutTimelineRecord.js:
        (WebInspector.LayoutTimelineRecord.EventType.displayName):
        * UserInterface/Views/TimelineRecordTreeElement.js:
        (WebInspector.TimelineRecordTreeElement):

2014-02-28  Timothy Hatcher  <timothy@apple.com>

        Enable breakpoints when adding a new breakpoint or enabling an existing breakpoint.

        This eliminates a multi-step process for the user that can be confusing.

        https://bugs.webkit.org/show_bug.cgi?id=129426

        Reviewed by Joseph Pecoraro.

        * UserInterface/Controllers/DebuggerManager.js:
        (WebInspector.DebuggerManager.prototype.set breakpointsEnabled):
        (WebInspector.DebuggerManager.prototype._breakpointDisabledStateDidChange):
        * UserInterface/Views/DebuggerSidebarPanel.js:
        (WebInspector.DebuggerSidebarPanel):
        (WebInspector.DebuggerSidebarPanel.prototype._breakpointsEnabledDidChange):
        (WebInspector.DebuggerSidebarPanel.prototype._breakpointsToggleButtonClicked):

2014-02-27  Timothy Hatcher  <timothy@apple.com>

        Use a RegExp when when using CodeMirror's SearchCursor.

        This avoids doing toLowerCase() on every line of the TextEditor.

        https://bugs.webkit.org/show_bug.cgi?id=129463

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/TextEditor.js:
        (TextEditor.prototype.performSearch): Use a RegExp for query. Pass false for the caseFold
        argument, but it is ignored for RegExp searches anyway.

2014-02-27  Brian Burg  <bburg@apple.com>

        Web Inspector: model tests should use a special Test.html inspector page
        https://bugs.webkit.org/show_bug.cgi?id=129190

        Reviewed by Timothy Hatcher.

        * UserInterface/Base/Test.js: Added.
        (WebInspector.loaded):
        (WebInspector.contentLoaded):
        (WebInspector.updateDockedState):
        (InspectorTest.log):
        (InspectorTest.assert):
        (InspectorTest.debugLog):
        (InspectorTest.completeTest):
        (InspectorTest.evaluateInPage):
        (InspectorTest.addResult):
        (InspectorTest.clearResults):
        (InspectorTest.pageLoaded):
        (InspectorTest.reportUncaughtException):
        (.console.logType):
        * UserInterface/Protocol/InspectorBackend.js:
        (InspectorBackendClass):
        (InspectorBackendClass.prototype.dispatch):
        (InspectorBackendClass.prototype.runAfterPendingDispatches):
        (InspectorBackendClass.prototype._flushPendingScripts):
        * UserInterface/Protocol/InspectorObserver.js:
        (WebInspector.InspectorObserver.prototype.evaluateForTestInFrontend):
        * UserInterface/Test.html: Added.

2014-02-27  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: JSContext inspection should report exceptions in the console
        https://bugs.webkit.org/show_bug.cgi?id=128776

        Reviewed by Timothy Hatcher.

        * UserInterface/ConsoleMessageImpl.js:
        (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
        (WebInspector.ConsoleMessageImpl.prototype._shouldHideURL):
        (WebInspector.ConsoleMessageImpl.prototype._firstNonNativeCallFrame):
        (WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):
        Provide better handling for "[native code]" and legacy "undefined"
        call frame URLs. Never linkify these. Also, when showing a link
        for an exception, always use the first non-native call frame as
        the link location.

2014-02-26  Timothy Hatcher  <timothy@apple.com>

        Fix an issue where the Timeline filter scope bars were not applying.

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/TimelineDataGrid.js:
        (TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters): Use .get() to access the ScopeBar.

2014-02-25  Andreas Kling  <akling@apple.com>

        Prune dead code for Web Inspector memory instrumentation.
        <https://webkit.org/b/129286>

        Reviewed by Sam Weinig.

        * UserInterface/Protocol/InspectorWebBackendCommands.js:

2014-02-24  Timothy Hatcher  <timothy@apple.com>

        Switch from prefixed CSS gradient to unprefixed.

        https://bugs.webkit.org/show_bug.cgi?id=129279

        Reviewed by Andreas Kling.

        * UserInterface/Views/BreakpointActionView.css:
        (.breakpoint-action-append-button):
        (.breakpoint-action-remove-button):
        * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
        (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch):
        * UserInterface/Views/CompletionSuggestionsView.css:
        (.completion-suggestions-container > .item:active):
        * UserInterface/Views/DashboardView.css:
        (.toolbar .dashboard):
        * UserInterface/Views/DataGrid.css:
        (.data-grid th):
        (.data-grid table.data):
        (.data-grid th.sortable:not(.mouse-over-collapser):active):
        (.data-grid th.sort-ascending, .data-grid th.sort-descending):
        (.data-grid th.sortable.sort-ascending:not(.mouse-over-collapser):active, .data-grid th.sortable.sort-descending:not(.mouse-over-collapser):active):
        (body.window-inactive .data-grid th.sort-descending):
        * UserInterface/Views/DetailsSection.css:
        (.details-section > .header):
        (.details-section .details-section > .header):
        * UserInterface/Views/DividerNavigationItem.css:
        (.navigation-bar .item.divider):
        * UserInterface/Views/FindBanner.css:
        (.find-banner > button:active:not(:disabled)):
        * UserInterface/Views/Main.css:
        (#split-content-browser > .navigation-bar):
        * UserInterface/Views/NavigationSidebarPanel.css:
        (.sidebar > .panel.navigation > .overflow-shadow):
        (.navigation-sidebar-panel-content-tree-outline .item.selected):
        (.navigation-sidebar-panel-content-tree-outline:focus .item.selected):
        (body.window-inactive .navigation-sidebar-panel-content-tree-outline .item.selected):
        * UserInterface/Views/ProbeSetDataGrid.css:
        (.details-section.probe-set .data-grid > .data-container td.unknown-value):
        (.details-section.probe-set .data-grid th):
        * UserInterface/Views/RadioButtonNavigationItem.css:
        (.navigation-bar .item.radio.button.text-only.selected):
        * UserInterface/Views/TextEditor.css:
        (.text-editor .bouncy-highlight):
        * UserInterface/Views/TimelineContentView.css:
        (.content-view.timeline > .view-container > .timeline-view > .data-grid table.data):
        * UserInterface/Views/TimelineDataGrid.css:
        (.timeline-data-grid-tree-outline .item:hover):
        * UserInterface/Views/TimelineRuler.css:
        (.timeline-ruler > .header > .divider):
        * UserInterface/Views/TimelineSidebarPanel.css:
        (.sidebar > .panel.timeline > .title-bar):
        (.sidebar > .panel.timeline > .content > .stripe-background):
        * UserInterface/Views/Toolbar.css:
        (body:not(.mac-platform) .toolbar):
        (body.docked.mac-platform.mavericks .toolbar):

2014-02-24  Timothy Hatcher  <timothy@apple.com>

        Fix the missing navigation bar in the Debugger sidebar panel.

        Sorting the CSS resources caused specificity issue.

        https://bugs.webkit.org/show_bug.cgi?id=129251

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/DebuggerSidebarPanel.css:
        (.sidebar > .panel.navigation.debugger > .content):
        (.sidebar > .panel.navigation.debugger > .navigation-bar):
        * UserInterface/Views/LayoutTimelineView.css:
        (.sidebar > .panel.navigation.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.layout .item .subtitle):
        * UserInterface/Views/NetworkTimelineView.css:
        (.sidebar > .panel.navigation.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.network .item .subtitle):
        * UserInterface/Views/ResourceSidebarPanel.css:
        (.sidebar > .panel.navigation.resource > .empty-content-placeholder):
        (.sidebar > .panel.navigation.resource > .search-bar):
        (.sidebar > .panel.navigation.resource > .search-bar > input[type="search"]):
        * UserInterface/Views/ScriptTimelineView.css:
        (.sidebar > .panel.navigation.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.script .item .subtitle):
        * UserInterface/Views/TimelineSidebarPanel.css:
        (.sidebar > .panel.navigation.timeline > .status-bar):
        (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph):
        (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording):
        (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:hover):
        (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording:hover):
        (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.forced):
        (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording.forced):
        (.sidebar > .panel.navigation.timeline > .status-bar > .record-status):
        (.sidebar > .panel.navigation.timeline > .title-bar):
        (.sidebar > .panel.navigation.timeline > .title-bar.timelines):
        (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
        (.sidebar > .panel.navigation.timeline > .timelines-content):
        (.sidebar > .panel.navigation.timeline > .timelines-content .close-button):
        (.sidebar > .panel.navigation.timeline > .timelines-content li.item .icon):
        (.sidebar > .panel.navigation.timeline > .timelines-content li.item.selected .close-button):
        (.sidebar > .panel.navigation.timeline > .timelines-content li.item:not(.selected):nth-child(even)):
        (.sidebar > .panel.navigation.timeline > .timelines-content li.item:not(.selected):not(:first-child)):
        (.sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item):
        (.sidebar > .panel.navigation.timeline > .timelines-content :focus li.item.selected + li.item):
        (.sidebar > .panel.navigation.timeline > .timelines-content .close-button:active):
        (.sidebar > .panel.navigation.timeline > .empty-content-placeholder):
        (.sidebar > .panel.navigation.timeline.timeline-content-view-showing > .content):
        (.sidebar > .panel.navigation.timeline > .content > .stripe-background):
        (.sidebar > .panel.navigation.timeline.timeline-content-view-showing > .content > .stripe-background):

2014-02-24  Timothy Hatcher  <timothy@apple.com>

        Give non-Mac platforms a default toolbar background so it isn't just white.

        https://bugs.webkit.org/show_bug.cgi?id=129260

        Reviewed by Joseph Pecoraro.

        * UserInterface/Base/Main.js:
        (WebInspector.contentLoaded): Style the boby with platform classes.
        * UserInterface/Base/Utilities.js:
        (String.prototype.contains): Added.
        * UserInterface/Views/Toolbar.css:
        (body.docked .toolbar, body:not(.mac-platform) .toolbar): Added. Default toolbar background.
        (body.docked.mac-platform.mavericks .toolbar, body.docked.mac-platform.mountain-lion): Added.
        (body.mac-platform:not(.docked) .toolbar .item.button > .label): Only apply to Mac.

2014-02-24  Diego Pino Garcia  <dpino@igalia.com>

        Web Inspector: Remove single quote characters from Web Inspector JavaScript files
        https://bugs.webkit.org/show_bug.cgi?id=129253

        Reviewed by Timothy Hatcher.

        * UserInterface/Base/Main.js:
        (WebInspector.openURL):
        * UserInterface/Views/CookieStorageContentView.js:
        (WebInspector.cookieDomainMatchesResourceDomain):
        * UserInterface/Views/DOMTreeElement.js:
        (WebInspector.DOMTreeElement.prototype._insertInLastAttributePosition):
        (WebInspector.DOMTreeElement.prototype._startEditingTagName.editingComitted):
        (WebInspector.DOMTreeElement.prototype._startEditingTagName.editingCancelled):
        (WebInspector.DOMTreeElement.prototype._startEditingTagName):
        * UserInterface/Views/DOMTreeOutline.js:
        (WebInspector.DOMTreeOutline.prototype._ondragover):
        * UserInterface/Views/DataGrid.js:
        (WebInspector.DataGrid.prototype.addPlaceholderNode):

2014-02-23  Dan Bernstein  <mitz@apple.com>

        Removed -Wno-format-y2k from WARNING_CFLAGS

        Rubber-stamped by Sam Weinig.

        * Configurations/Base.xcconfig:

2014-02-23  Diego Pino García  <dpino@igalia.com>

        [GTK] Fix build after Web Inspector code reorganization (r164543)
        https://bugs.webkit.org/show_bug.cgi?id=129231

        Reviewed by Dean Jackson.

        * GNUmakefile.am:
        Modify paths to Web Inspector code.

2014-02-23  Antoine Quint  <graouts@webkit.org>

        Web Inspector: color picker sliders aren't laid out correctly
        https://bugs.webkit.org/show_bug.cgi?id=129234

        Reviewed by Joseph Pecoraro.

        While it's unclear to me what happened, the "position" property for the color picker sliders
        wasn't being computed as expected and used relative positioning. I assume this is related to
        r164543 when the order of CSS files changed.

        * UserInterface/Views/Slider.css:
        (.slider):

2014-02-22  Dan Bernstein  <mitz@apple.com>

        REGRESSION (r164507): Crash beneath JSGlobalObjectInspectorController::reportAPIException at facebook.com, twitter.com, youtube.com
        https://bugs.webkit.org/show_bug.cgi?id=129227

        Reviewed by Eric Carlson.

        Reverted r164507.

        * UserInterface/Views/ConsoleMessageImpl.js:
        (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
        (WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):

2014-02-21  Timothy Hatcher  <timothy@apple.com>

        Organize WebInspectorUI/UserInterface into sub-directories.

        https://bugs.webkit.org/show_bug.cgi?id=129194

        Rubber-stamped by Joseph Pecoraro.

        * Scripts/copy-user-interface-resources.sh: Fix Image URLs and Protocol paths.
        * UserInterface/Base: Added.
        * UserInterface/Controllers: Added.
        * UserInterface/Images: Added.
        * UserInterface/Main.html: Updated.
        * UserInterface/Models Added.
        * UserInterface/Protocol Added.
        * UserInterface/Views: Added.

2014-02-21  Timothy Hatcher  <timothy@apple.com>

        Add inspection user interface for IndexedDB.

        https://bugs.webkit.org/show_bug.cgi?id=129162

        Reviewed by Joseph Pecoraro.

        * Localizations/en.lproj/localizedStrings.js: Updated.
        * UserInterface/ContentView.js:
        (WebInspector.ContentView):
        (WebInspector.ContentView.isViewable):
        * UserInterface/IndexedDatabase.js: Added.
        (WebInspector.IndexedDatabase):
        (WebInspector.IndexedDatabase.prototype.get name):
        (WebInspector.IndexedDatabase.prototype.get securityOrigin):
        (WebInspector.IndexedDatabase.prototype.get host):
        (WebInspector.IndexedDatabase.prototype.get version):
        (WebInspector.IndexedDatabase.prototype.get objectStores):
        (WebInspector.IndexedDatabase.prototype.saveIdentityToCookie):
        * UserInterface/IndexedDatabaseEntryDataGridNode.js: Added.
        (WebInspector.IndexedDatabaseEntryDataGridNode):
        (WebInspector.IndexedDatabaseEntryDataGridNode.prototype.get entry):
        (WebInspector.IndexedDatabaseEntryDataGridNode.prototype.createCellContent):
        * UserInterface/IndexedDatabaseHostTreeElement.js: Added.
        (WebInspector.IndexedDatabaseHostTreeElement):
        (WebInspector.IndexedDatabaseHostTreeElement.prototype.get name):
        (WebInspector.IndexedDatabaseHostTreeElement.prototype.get categoryName):
        * UserInterface/IndexedDatabaseObjectStore.js: Added.
        (WebInspector.IndexedDatabaseObjectStore):
        (WebInspector.IndexedDatabaseObjectStore.prototype.get name):
        (WebInspector.IndexedDatabaseObjectStore.prototype.get keyPath):
        (WebInspector.IndexedDatabaseObjectStore.prototype.get autoIncrement):
        (WebInspector.IndexedDatabaseObjectStore.prototype.get parentDatabase):
        (WebInspector.IndexedDatabaseObjectStore.prototype.get indexes):
        (WebInspector.IndexedDatabaseObjectStore.prototype.saveIdentityToCookie):
        (WebInspector.IndexedDatabaseObjectStore.prototype.establishRelationship):
        * UserInterface/IndexedDatabaseObjectStoreContentView.css: Added.
        (.content-view.indexed-database-object-store > .data-grid):
        (.content-view.indexed-database-object-store > .data-grid td .section .header):
        (.content-view.indexed-database-object-store > .data-grid td .section .header::before):
        (.content-view.indexed-database-object-store > .data-grid td .section .header .title):
        (.content-view.indexed-database-object-store > .data-grid table.data):
        (.content-view.indexed-database-object-store > .data-grid table.data tr:nth-child(even)):
        (.content-view.indexed-database-object-store > .data-grid table.data tr:nth-child(odd)):
        (.content-view.indexed-database-object-store > .data-grid table.data tr.filler):
        (.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .section .header::before):
        (.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .section.expanded .header::before):
        (.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .properties-tree li.parent::before):
        (.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .properties-tree li.parent.expanded::before):
        (.content-view.indexed-database-object-store > .data-grid :focus tr.selected td .properties-tree li *):
        * UserInterface/IndexedDatabaseObjectStoreContentView.js: Added.
        (WebInspector.IndexedDatabaseObjectStoreContentView.displayKeyPath):
        (WebInspector.IndexedDatabaseObjectStoreContentView):
        (WebInspector.IndexedDatabaseObjectStoreContentView.prototype.closed):
        (WebInspector.IndexedDatabaseObjectStoreContentView.prototype.saveToCookie):
        (WebInspector.IndexedDatabaseObjectStoreContentView.prototype.updateLayout):
        (WebInspector.IndexedDatabaseObjectStoreContentView.prototype._reset):
        (WebInspector.IndexedDatabaseObjectStoreContentView.prototype._dataGridScrolled):
        (WebInspector.IndexedDatabaseObjectStoreContentView.prototype._fetchMoreData.processEntries):
        (WebInspector.IndexedDatabaseObjectStoreContentView.prototype._fetchMoreData):
        * UserInterface/IndexedDatabaseObjectStoreIndex.js: Added.
        (WebInspector.IndexedDatabaseObjectStoreIndex):
        (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get name):
        (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get keyPath):
        (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get unique):
        (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get multiEntry):
        (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.get parentObjectStore):
        (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.saveIdentityToCookie):
        (WebInspector.IndexedDatabaseObjectStoreIndex.prototype.establishRelationship):
        * UserInterface/IndexedDatabaseObjectStoreIndexTreeElement.js: Added.
        (WebInspector.IndexedDatabaseObjectStoreIndexTreeElement):
        (WebInspector.IndexedDatabaseObjectStoreIndexTreeElement.prototype.get objectStoreIndex):
        * UserInterface/IndexedDatabaseObjectStoreTreeElement.js: Added.
        (WebInspector.IndexedDatabaseObjectStoreTreeElement):
        (WebInspector.IndexedDatabaseObjectStoreTreeElement.prototype.get objectStore):
        (WebInspector.IndexedDatabaseObjectStoreTreeElement.prototype.oncollapse):
        (WebInspector.IndexedDatabaseObjectStoreTreeElement.prototype.onpopulate):
        * UserInterface/IndexedDatabaseTreeElement.js: Added.
        (WebInspector.IndexedDatabaseTreeElement):
        (WebInspector.IndexedDatabaseTreeElement.prototype.get indexedDatabase):
        (WebInspector.IndexedDatabaseTreeElement.prototype.oncollapse):
        (WebInspector.IndexedDatabaseTreeElement.prototype.onpopulate):
        * UserInterface/Main.html:
        * UserInterface/Main.js:
        (WebInspector.sidebarPanelForRepresentedObject):
        * UserInterface/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel):
        (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
        (WebInspector.ResourceSidebarPanel.prototype._indexedDatabaseWasAdded):
        (WebInspector.ResourceSidebarPanel.prototype._storageCleared):
        * UserInterface/StorageManager.js:
        (WebInspector.StorageManager):
        (WebInspector.StorageManager.prototype.initialize):
        (WebInspector.StorageManager.prototype.processData):
        (WebInspector.StorageManager.prototype.requestIndexedDatabaseData):
        (WebInspector.StorageManager.prototype._mainResourceDidChange):
        (WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processDatabaseNames):
        (WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processDatabase):
        (WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded):
        (WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processObjectStore):
        (WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processObjectStoreIndex):
        (WebInspector.StorageManager.prototype._securityOriginDidChange):
        * UserInterface/URLUtilities.js:
        (parseSecurityOrigin):

2014-02-22  Antoine Quint  <graouts@webkit.org>

        Web Inspector: allow drag-to-adjust on angle input of gradients editor
        https://bugs.webkit.org/show_bug.cgi?id=129095

        Reviewed by Timothy Hatcher.

        Rename CodeMirrorDragToAlterNumberController to CodeMirrorDragToAdjustNumberController and move
        the core logic of a drag-to-adjust behavior out of it to a new generic class DragToAdjustController.
        We use this new class from CodeMirrorGradientEditingController to provide drag-to-adjust behavior
        in the angle input field of the gradient editor and also as a supporting object for the CodeMirror-
        specific class.

        * UserInterface/CodeMirrorDragToAdjustNumberController.css: Renamed from Source/WebInspectorUI/UserInterface/CodeMirrorDragToAlterNumberController.css.
        (.CodeMirror.drag-to-adjust .CodeMirror-lines):

        * UserInterface/CodeMirrorDragToAdjustNumberController.js: Added.
        Removed the UI logic and use the new DragToAdjustController as a supporting object instead. We implement
        the various DragToAdjustController delegate methods in order to customize its behavior to work within the
        context of a CodeMirror editor, specifically to prevent activation when the editor is read-only and to
        prevent adjustment when the hovered token isn't a number.

        (WebInspector.CodeMirrorDragToAdjustNumberController):
        (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.get enabled):
        (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.set enabled):
        (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerActiveStateChanged):
        (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerCanBeActivated):
        (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerCanBeAdjusted):
        (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerWasAdjustedByAmount):
        (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerDidReset):
        (WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerCanAdjustObjectAtPoint):

        * UserInterface/CodeMirrorGradientEditingController.css:
        (.gradient-editing-controller > label.drag-to-adjust > input):

        * UserInterface/CodeMirrorGradientEditingController.js:
        Adopt the new DragToAdjustController to make the angle input field value adjustable by dragging.

        (WebInspector.CodeMirrorGradientEditingController.prototype.popoverWillPresent):
        (WebInspector.CodeMirrorGradientEditingController.prototype.dragToAdjustControllerWasAdjustedByAmount):
        (WebInspector.CodeMirrorGradientEditingController.prototype._handleInputEvent):
        (WebInspector.CodeMirrorGradientEditingController.prototype._angleInputValueDidChange):

        * UserInterface/DragToAdjustController.js: Renamed from Source/WebInspectorUI/UserInterface/CodeMirrorDragToAlterNumberController.js.
        New DragToAdjustController class exposing only the core UI logic of a drag-to-adjust behavior in the context
        of a DOM element, exposing a few delegation methods to customize the controller's behavior:

        - dragToAdjustControllerActiveStateChanged() notifies that the .active property has changed, allowing bringup
        and cleanup work to be performed.

        - dragToAdjustControllerDidReset() notifies that the various tracking states of the controller have been reset
        allowing other state objects used by clients to be cleared.

        - dragToAdjustControllerCanBeActivated() is used to check whether the controller may enter the active state upon
        first hovering the target element.

        - dragToAdjustControllerCanBeAdjusted() is used to check whether adjustment can be performed at the moment when
        the user actually is about to engage in a drag-to-adjust interaction.

        - dragToAdjustControllerCanAdjustObjectAtPoint() is used to check whether the object at the provided point (mouse
        location) is an adjustable value.

        - dragToAdjustControllerWasAdjustedByAmount() notifies that there is a new amount to add to the current value
        following a drag-to-adjust interaction.

        (WebInspector.DragToAdjustController):
        (WebInspector.DragToAdjustController.prototype.get element):
        (WebInspector.DragToAdjustController.prototype.set element):
        (WebInspector.DragToAdjustController.prototype.set enabled):
        (WebInspector.DragToAdjustController.prototype.get active):
        (WebInspector.DragToAdjustController.prototype.set active):
        (WebInspector.DragToAdjustController.prototype.reset):
        (WebInspector.DragToAdjustController.prototype.handleEvent):
        (WebInspector.DragToAdjustController.prototype._setDragging):
        (WebInspector.DragToAdjustController.prototype._setTracksMouseClickAndDrag):
        (WebInspector.DragToAdjustController.prototype._modifiersDidChange):
        (WebInspector.DragToAdjustController.prototype._mouseMoved):
        (WebInspector.DragToAdjustController.prototype._mouseWasPressed):
        (WebInspector.DragToAdjustController.prototype._mouseWasDragged):
        (WebInspector.DragToAdjustController.prototype._mouseWasReleased):

        * UserInterface/Main.html:
        Link in new source files.

2014-02-21  Chi Wai Lau  <clau@apple.com>

        Web Inspector: Replace binarySearch with lowerBound and upperBound functions
        https://bugs.webkit.org/show_bug.cgi?id=118609

        Reviewed by Timothy Hatcher.

        This makes insertionIndexForObjectInListSortedByFunction work in O(log(n)) time instead of O(n).

        * UserInterface/BinarySearch.js: Removed.
        * UserInterface/Main.html:
        * UserInterface/Utilities.js:
        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:

2014-02-21  Brian Burg  <bburg@apple.com>

        Web Inspector: animate breakpoint tree elements when probe samples are received
        https://bugs.webkit.org/show_bug.cgi?id=128334

        Reviewed by Timothy Hatcher.

        * UserInterface/BreakpointIcons.css: Removed, rules migrated to the following file.

        * UserInterface/BreakpointTreeElement.css: When we want to animateon top of the
        static icon, we set the icon image as the icon element's background, and animate
        a span on top of the icon element.

        (.breakpoint-exception-icon .icon): Moved.
        (.breakpoint-generic-line-icon .icon):
        (.breakpoint-generic-line-icon .icon > span): Added.
        (.data-updated.breakpoint-generic-line-icon .icon > span): Added.

        * UserInterface/BreakpointTreeElement.js:
        (WebInspector.BreakpointTreeElement): Rewrite event listener add/remove to use EventListenerSet.
        (WebInspector.BreakpointTreeElement.prototype.ondetach): Override to unregister the instance's listeners.
        (WebInspector.BreakpointTreeElement.prototype._addProbeSet): Added.
        (WebInspector.BreakpointTreeElement.prototype._removeProbeSet): Added.
        (WebInspector.BreakpointTreeElement.prototype._probeSetAdded): Added.
        (WebInspector.BreakpointTreeElement.prototype._probeSetRemoved): Added.
        Add/remove listeners when probe sets change.

        (WebInspector.BreakpointTreeElement.prototype._samplesCleared): Listeners should follow
        the active data table.

        (WebInspector.BreakpointTreeElement.prototype._dataUpdated): Run the animation when probe data changes.
        (WebInspector.BreakpointTreeElement.prototype._breakpointLocationDidChange): Fix a listener leak.
        * UserInterface/Main.html: Remove BreakpointIcons.css.
        * UserInterface/NavigationSidebarPanel.css:
        (.navigation-sidebar-panel-content-tree-outline .item .icon): give icons
        'position: relative' so child spans can be absolutely positioned.
        * UserInterface/ProbeDetailsSidebarPanel.js: Get probeSet out of the event data
        container. The probe set used to be passed as the data container itself.
        (WebInspector.ProbeDetailsSidebarPanel.prototype._probeSetAdded):
        * UserInterface/ProbeManager.js:
        (WebInspector.ProbeManager.prototype._breakpointActionsChanged.set get knownProbeIdentifiers):
        (WebInspector.ProbeManager.prototype._breakpointActionsChanged):
        (WebInspector.ProbeManager.prototype.get _probeSetForBreakpoint.set this):
        * UserInterface/ProbeSet.js:
        (WebInspector.ProbeSet.prototype.clearSamples): include the old data table as the SamplesCleared event data.
        * UserInterface/TextResourceContentView.js:
        (WebInspector.TextResourceContentView.prototype._probeSetsChanged):

2014-02-21  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: JSContext inspection should report exceptions in the console
        https://bugs.webkit.org/show_bug.cgi?id=128776

        Reviewed by Timothy Hatcher.

        * UserInterface/ConsoleMessageImpl.js:
        (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
        (WebInspector.ConsoleMessageImpl.prototype._shouldHideURL):
        (WebInspector.ConsoleMessageImpl.prototype._firstNonNativeCallFrame):
        (WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):
        Provide better handling for "[native code]" and legacy "undefined"
        call frame URLs. Never linkify these. Also, when showing a link
        for an exception, always use the first non-native call frame as
        the link location.

2014-02-21  Joseph Pecoraro  <pecoraro@apple.com>

        Revert r164486, causing a number of test failures.

        Unreviewed rollout.

2014-02-21  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: JSContext inspection should report exceptions in the console
        https://bugs.webkit.org/show_bug.cgi?id=128776

        Reviewed by Timothy Hatcher.

        * UserInterface/ConsoleMessageImpl.js:
        (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
        (WebInspector.ConsoleMessageImpl.prototype._shouldHideURL):
        (WebInspector.ConsoleMessageImpl.prototype._firstNonNativeCallFrame):
        (WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):
        Provide better handling for "[native code]" and legacy "undefined"
        call frame URLs. Never linkify these. Also, when showing a link
        for an exception, always use the first non-native call frame as
        the link location.

2014-02-21  Antoine Quint  <graouts@webkit.org>

        Web Inspector: scrollbar may appear when selecting a stop in gradient editor
        https://bugs.webkit.org/show_bug.cgi?id=129149

        Reviewed by Timothy Hatcher.

        Ensure the angle input is not focused as we update the size of the gradient editor's
        popover content since, if it were, it'd make a scrollbar appear as we animate the
        popover's frame to fit its new content.

        * UserInterface/CodeMirrorGradientEditingController.js:
        (WebInspector.CodeMirrorGradientEditingController.prototype.gradientSliderStopWasSelected):

2014-02-20  Antoine Quint  <graouts@webkit.org>

        Web Inspector: rich editing of CSS gradients
        https://bugs.webkit.org/show_bug.cgi?id=119686

        Reviewed by Timothy Hatcher.

        Look for gradient definitions in CSS resources and implement a gradient-specific CodeMirrorEditingController
        to edit those CSS gradients. The CodeMirrorGradientEditingController consists of a GradientSlider, a new widget
        allowing the editing of gradient stops, a <select> to pick between various gradient types, a text input to edit
        the gradient angle (for linear gradients) and finally a ColorPicker when a gradient stop is picked for editing.

        * Localizations/en.lproj/localizedStrings.js:
        New localized strings for the content of the gradient editing controller popover.

        * UserInterface/CodeMirrorAdditions.js:
        New .createGradientMarkers() method which, similar to .createColorMarkers(), takes in an optional TextRange, and
        looks for all gradients specified in CSS to create TextMarkers with new type WebInspector.TextMarker.Type.Gradient.
        In order to fully identify these CSS gradient strings, we implement a tokenizer to look for the final closing
        parenthesis since there can be nested opening and closing parentheses as colors are specified for stops.

        * UserInterface/CodeMirrorGradientEditingController.css: Added.
        (.gradient-editing-controller):
        (.gradient-editing-controller.edits-color):
        (.gradient-editing-controller.radial-gradient):
        (.gradient-editing-controller.edits-color.radial-gradient):
        (.gradient-editing-controller select):
        (.gradient-editing-controller .gradient-slider):
        (.gradient-editing-controller .color-picker):
        (.gradient-editing-controller > .color-picker > .slider):
        (.gradient-editing-controller > .color-picker > .brightness):
        (.gradient-editing-controller > .color-picker > .opacity):
        (.gradient-editing-controller > label):
        (.gradient-editing-controller.radial-gradient > label):
        (.gradient-editing-controller.edits-color > label):
        (.gradient-editing-controller > label > input):

        * UserInterface/CodeMirrorGradientEditingController.js: Added.
        (WebInspector.CodeMirrorGradientEditingController):
        (WebInspector.CodeMirrorGradientEditingController.prototype.get initialValue):
        (WebInspector.CodeMirrorGradientEditingController.prototype.get cssClassName):
        (WebInspector.CodeMirrorGradientEditingController.prototype.get popoverPreferredEdges):
        (WebInspector.CodeMirrorGradientEditingController.prototype.popoverTargetFrameWithRects):
        (WebInspector.CodeMirrorGradientEditingController.prototype.popoverWillPresent):
        (WebInspector.CodeMirrorGradientEditingController.prototype.popoverDidPresent):
        Implementation of CodeMirrorEditingController methods meant to be overridden. This allows us
        to customize the popover's appearance, mostly to control how it attaches to the gradient
        strings in the editor.

        (WebInspector.CodeMirrorGradientEditingController.prototype.handleEvent):
        Event handler for changes in the <select> governing gradient type and <input> for the angle.

        (WebInspector.CodeMirrorGradientEditingController.prototype.gradientSliderStopsDidChange):
        Implementation of a GradientSlider delegation method, we use this to update the .text property
        in order to propagate the stops change to the editor.

        (WebInspector.CodeMirrorGradientEditingController.prototype.gradientSliderStopWasSelected):
        Implementation of a GradientSlider delegation method, we use this to control the display of the
        ColorPicker used to edit the color of a selected stop.

        (WebInspector.CodeMirrorGradientEditingController.prototype._handleInputEvent):
        Deal with changes in the <input> for the angle, ensuring we have a "º" string added to the value.

        (WebInspector.CodeMirrorGradientEditingController.prototype._handleChangeEvent):
        Deal with changes in the <select> for the type, preserving the stops list from one gradient type
        to the other. Gradient type-specific information (angle for linear gradients, sizing for radial
        gradients) is lost as we toggle between gradient types.

        (WebInspector.CodeMirrorGradientEditingController.prototype._colorPickerColorChanged):
        Propagate a color change in the ColorPicker to the stop being edited in the GradientSlider and
        and update the .text property in order to propagate the stops change to the editor.

        (WebInspector.CodeMirrorGradientEditingController.prototype._updateCSSClassForGradientType):
        As we toggle the gradient type in ._handleChangeEvent(), update the CSS class used to hide or show
        the angle <input> which is only relevant for linear gradients.

        * UserInterface/ColorPicker.js:
        (WebInspector.ColorPicker):
        Adopt the new Checkers.svg file to display the checkers pattern in the background of the opacity slider.

        (WebInspector.ColorPicker.prototype.get colorWheel):
        Expose the ColorWheel such that it can be sized by ColorPicker clients.

        (WebInspector.ColorPicker.prototype._updateColor):
        Drive-by fix for a bug where we'd attempt to use the RGB components of a color to get the alpha-aware version
        of the color even though the base format was HSL.

        * UserInterface/Gradient.js: Added.
        Parser for gradient strings as passed from the CodeMirror .createGradientMarkers() extension method. In the case
        of linear gradients, we parse all values, save for lengths, and in the case of radial gradients, we preserve the
        sizing information as a string and parse only the gradient stops as the sizing information is only useful to show
        in an editor if attached to an element with metrics.

        Since instances of Gradient are used as the .value property of CodeMirrorGradientEditingController, we implement
        the required .copy() and .toString() methods. The .toString() implementations are aware of default values for angles
        and color stop offsets and only print those as necessary and use shorthands when possible.

        (WebInspector.Gradient.fromString):
        (WebInspector.Gradient.stopsWithComponents):
        (WebInspector.Gradient.stringFromStops):
        (WebInspector.LinearGradient):
        (WebInspector.LinearGradient.linearGradientWithComponents):
        (WebInspector.LinearGradient.prototype.copy):
        (WebInspector.LinearGradient.prototype.toString):
        (WebInspector.RadialGradient):
        (WebInspector.RadialGradient.radialGradientWithComponents):
        (WebInspector.RadialGradient.prototype.copy):
        (WebInspector.RadialGradient.prototype.toString):

        * UserInterface/GradientSlider.css: Added.
        (.gradient-slider):
        (.gradient-slider > canvas):
        (.gradient-slider > .add-area):
        (.gradient-slider-knob):
        (.gradient-slider-knob.shadow):
        (.gradient-slider-knob.selected):
        (.gradient-slider-knob.detaching):
        (.gradient-slider-knob.fade-out):
        (.gradient-slider-knob > div):
        (.gradient-slider-knob > img):

        * UserInterface/GradientSlider.js: Added.
        Widget used to edit a list of stops for a gradient, linear or radial. The widget features a <canvas> element
        that draws the gradient as a linear gradient from left to right with checkers in the background to correctly
        display transparent colors. Attached to this background, individual knobs are shown for each stop in the provided
        stops array. These knobs can be dragged from left to right to change the matching stop offset, but also down to
        detach the knob and remove this stop. Additionally, knobs can be clicked to toggle their selected state, where only
        one knob can be selected at a time. The Esc. key is used to remove selection of the currently selected knob.

        (WebInspector.GradientSlider):
        (WebInspector.GradientSlider.prototype.get element):
        (WebInspector.GradientSlider.prototype.get stops):
        (WebInspector.GradientSlider.prototype.set stops):
        (WebInspector.GradientSlider.prototype.get selectedStop):
        (WebInspector.GradientSlider.prototype.handleEvent):
        (WebInspector.GradientSlider.prototype.handleKeydownEvent):
        (WebInspector.GradientSlider.prototype.knobXDidChange):
        (WebInspector.GradientSlider.prototype.knobCanDetach):
        (WebInspector.GradientSlider.prototype.knobWillDetach):
        (WebInspector.GradientSlider.prototype.knobSelectionChanged):
        (WebInspector.GradientSlider.prototype._handleMouseover):
        (WebInspector.GradientSlider.prototype._handleMousemove):
        (WebInspector.GradientSlider.prototype._handleMouseout):
        (WebInspector.GradientSlider.prototype._handleClick):
        (WebInspector.GradientSlider.prototype._updateShadowKnob):
        (WebInspector.GradientSlider.prototype._sortStops):
        (WebInspector.GradientSlider.prototype._updateStops):
        (WebInspector.GradientSlider.prototype._updateCanvas):
        (WebInspector.GradientSlider.prototype._updateKnobs):
        (WebInspector.GradientSliderKnob):
        (WebInspector.GradientSliderKnob.prototype.get element):
        (WebInspector.GradientSliderKnob.prototype.get stop):
        (WebInspector.GradientSliderKnob.prototype.set stop):
        (WebInspector.GradientSliderKnob.prototype.get x):
        (WebInspector.GradientSliderKnob.prototype.set x):
        (WebInspector.GradientSliderKnob.prototype.get y):
        (WebInspector.GradientSliderKnob.prototype.set y):
        (WebInspector.GradientSliderKnob.prototype.get wellColor):
        (WebInspector.GradientSliderKnob.prototype.set wellColor):
        (WebInspector.GradientSliderKnob.prototype.get selected):
        (WebInspector.GradientSliderKnob.prototype.set selected):
        (WebInspector.GradientSliderKnob.prototype.handleEvent):
        (WebInspector.GradientSliderKnob.prototype._handleMousedown):
        (WebInspector.GradientSliderKnob.prototype._handleMousemove):
        (WebInspector.GradientSliderKnob.prototype._handleMouseup):
        (WebInspector.GradientSliderKnob.prototype._handleTransitionEnd):
        (WebInspector.GradientSliderKnob.prototype._updateTransform):

        * UserInterface/Images/Checkers.svg: Added.
        New asset to draw checkers for color wells.

        * UserInterface/Images/GradientStop.png: Added.
        * UserInterface/Images/GradientStop@2x.png: Added.
        * UserInterface/Images/GradientStopSelected.png: Added.
        * UserInterface/Images/GradientStopSelected@2x.png: Added.
        New assets used by the gradient slider.

        * UserInterface/Main.html:
        Link to the new source files.

        * UserInterface/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor.prototype._updateEditableMarkers):
        Add a call to .createGradientMarkers() such that we support editing of CSS gradients in such editors.

        (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression):
        Also recognize gradient markers as valid editable markers.

        * UserInterface/TextEditor.js:
        (WebInspector.TextEditor.prototype.createGradientMarkers):
        Wrapper for the CodeMirror extension method .createGradientMarkers() such that it may be used by subclasses
        that have no knowledge of CodeMirror.

        (WebInspector.TextEditor.prototype.editingControllerForMarker):
        Return a CodeMirrorGradientEditingController for TextMarkers with WebInspector.TextMarker.Type.Gradient type.

        * UserInterface/TextMarker.js:
        Add the WebInspector.TextMarker.Type.Gradient type.

2014-02-20  Antoine Quint  <graouts@webkit.org>

        Web Inspector: create a CodeMirrorEditingController superclass
        https://bugs.webkit.org/show_bug.cgi?id=129094

        Reviewed by Timothy Hatcher.

        Take code that is generic to editing of any text marker out of CodeMirrorColorEditingController to
        create a new CodeMirrorEditingController superclass that'll be fit to use for future editing controllers.
        Additioanlly, we fix existing issues with such editing by supporting text markers spread across several
        lines and more robustly handling the Esc. key being pressed to dismiss a controller's popover.

        * UserInterface/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
        Adopt the new .createColorMarkers() method signature to provide a TextRange parameter rather than a single
        line number.

        * UserInterface/CodeMirrorAdditions.js:
        Remove the .boundsForRange() method in favor of a .rectsForRange() method which will allow us to draw better
        menus when hovering over a text range by providing tight bounds rather than a large box. We also handle any
        line wrapping produced by CodeMirror and remove any leading white-space so that the rects are tight to the
        actual characters in the text marker.

        We also change .createColorMarkers() to take in a TextRange parameter rather than a line number in order to
        better deal with text markers spread across multiple lines.

        * UserInterface/CodeMirrorColorEditingController.js:
        Remove any code that is adequate for any editing controller (which is moving to CodeMirrorEditingController).
        We also adopt new interfaces exposed by CodeMirrorEditingController.

        (WebInspector.CodeMirrorColorEditingController):
        (WebInspector.CodeMirrorColorEditingController.prototype.get initialValue):
        (WebInspector.CodeMirrorColorEditingController.prototype.get cssClassName):
        (WebInspector.CodeMirrorColorEditingController.prototype.popoverWillPresent):
        (WebInspector.CodeMirrorColorEditingController.prototype.popoverDidPresent):
        (WebInspector.CodeMirrorColorEditingController.prototype._colorPickerColorChanged):

        * UserInterface/CodeMirrorEditingController.js: Copied from Source/WebInspectorUI/UserInterface/CodeMirrorColorEditingController.js.
        New class meant to be subclassed by any future editing controller, and already subclassed by
        CodeMirrorColorEditingController. This class exposes several hooks for subclasses to customize its behavior:

        .initialValue: a value we can revert to if the editing is canceled
        .cssClassName: a CSS class name that can be added to the editing controller's container
        .popoverPreferredEdges: a list of preferredEdges as passed to Popover.prototype.present() with a sensible default
        .popoverTargetFrameWithRects: a targetFrame passed to Popover.prototype.present(), defaults to a union of provided rects
        .popoverWillPresent: called as the popover is about to be presented, typically overridden to set the popover's content
        .popoverDidPresent: called as the popover just was presented, typically overridden when content needs to tuned only after
        being added to the DOM and setting of the necessary machinery to update the serialized value in the editor based on interaction
        within the popover without changing the serialized value upon showing the popover the very first time.

        Additionally, the .value property must be an object supporting .toString() and .copy() method.

        Finally, the .editingControllerDidStartEditing() and .editingControllerDidFinishEditing() delegate methods are fired
        as editing begins and finishes.

        (WebInspector.CodeMirrorEditingController):
        (WebInspector.CodeMirrorEditingController.prototype.get marker):
        (WebInspector.CodeMirrorEditingController.prototype.get range):
        (WebInspector.CodeMirrorEditingController.prototype.get value):
        (WebInspector.CodeMirrorEditingController.prototype.set value):
        (WebInspector.CodeMirrorEditingController.prototype.get delegate):
        (WebInspector.CodeMirrorEditingController.prototype.set delegate):
        (WebInspector.CodeMirrorEditingController.prototype.get text):
        (WebInspector.CodeMirrorEditingController.prototype.set text):
        (WebInspector.CodeMirrorEditingController.prototype.get initialValue):
        (WebInspector.CodeMirrorEditingController.prototype.get cssClassName):
        (WebInspector.CodeMirrorEditingController.prototype.get popover):
        (WebInspector.CodeMirrorEditingController.prototype.get popoverPreferredEdges):
        (WebInspector.CodeMirrorEditingController.prototype.popoverTargetFrameWithRects):
        (WebInspector.CodeMirrorEditingController.prototype.presentHoverMenu):
        (WebInspector.CodeMirrorEditingController.prototype.dismissHoverMenu):
        (WebInspector.CodeMirrorEditingController.prototype.popoverWillPresent):
        (WebInspector.CodeMirrorEditingController.prototype.popoverDidPresent):

        (WebInspector.CodeMirrorEditingController.prototype.handleKeydownEvent):
        Event handler for keydown events as registered via the new WebInspector.addWindowKeydownListener() method.

        (WebInspector.CodeMirrorEditingController.prototype.hoverMenuButtonWasPressed):
        (WebInspector.CodeMirrorEditingController.prototype.didDismissPopover):

        * UserInterface/Geometry.js:
        (WebInspector.Rect.unionOfRects):
        (WebInspector.Rect.prototype.unionWithRect):
        New utilities to get a Rect that is the union of the provided Rect or array of Rects.

        (WebInspector.Polygon):
        (WebInspector.Polygon.prototype.bounds):
        New class used to store a list of points for a polygon and get its bounds, used by the HoverMenu class.

        * UserInterface/HoverMenu.css:
        (.hover-menu):
        (.hover-menu > svg):
        (.hover-menu > svg > rect):
        (.hover-menu > img):

        * UserInterface/HoverMenu.js:
        We remove the assumption that a HoverMenu is only used to draw a single rounded rect based on a simple
        Rect and instead support presentation based on an array of Rects where we either:

        - draw a single rounded rectangle if there is only a single Rect provided
        - draw two disconnected open-ended rects if we're provided with two non-overlapping Rects
        - draw a polygon surrounding all provided Rects in all other cases

        No matter how the HoverMenu is drawn, the drawing is performed in SVG with either <rect> or a <path> elements.

        (WebInspector.HoverMenu):
        (WebInspector.HoverMenu.prototype.present):
        (WebInspector.HoverMenu.prototype.dismiss):
        (WebInspector.HoverMenu.prototype.handleEvent):
        (WebInspector.HoverMenu.prototype._handleClickEvent):
        (WebInspector.HoverMenu.prototype._drawOutline):
        (WebInspector.HoverMenu.prototype._addRect):
        (WebInspector.HoverMenu.prototype._addPath):
        (WebInspector.HoverMenu.prototype._drawSingleLine):
        (WebInspector.HoverMenu.prototype._drawTwoNonOverlappingLines):
        (WebInspector.HoverMenu.prototype._drawOverlappingLines):

        * UserInterface/Main.html:
        Link to the new CodeMirrorEditingController class.

        * UserInterface/Main.js:
        Expose a new mechanism to deal with window-level handling of keydown events in order to allow
        a list of handlers to accept or reject dealing with the provided keydown event based on the order
        they were registered, in most recent to oldest registered handler. This allows, for instance, for
        a more graceful handling of the Esc. key being pressed in the CodeMirrorEditingController and
        bypasses the DOM structure allowing for objects managing elements in different DOM hierarchies
        to compete with handling of keydown events.

        (WebInspector.loaded):
        (WebInspector.addWindowKeydownListener):
        (WebInspector.removeWindowKeydownListener):
        (WebInspector._updateWindowKeydownListener):
        (WebInspector._sharedWindowKeydownListener):

        * UserInterface/SourceCodeTextEditor.css:
        (.hover-menu.color > img):
        Update the offset applied to a HoverMenu button based on the change of layout for such buttons which
        are now absolutely positioned in code by HoverMenu rather than being laid out using the flex-box model.

        * UserInterface/SourceCodeTextEditor.js:
        Abstrct away the assumption that only a color editing controller may be used to edit text markers in
        a source code text editor.

        (WebInspector.SourceCodeTextEditor.prototype.hidden):
        Ensure we remove any currently-displayed hover menu for an editing controller when the editor is hidden.
        This would happen in the situation where a keyboard shortcut was used to jump to another part of the
        Web Inspector UI without using the mouse.

        (WebInspector.SourceCodeTextEditor.prototype.contentDidChange):
        Since we're now working with text ranges rather than lines, remove the code where we'd work out a set of
        changed lines and call ._updateEditableMarkers() with the changed range directly instead.

        (WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate):
        (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate):
        (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerMouseOutOfHoveredMarker):
        Adopt the more generic method names rather than color-specific ones.

        (WebInspector.SourceCodeTextEditor.prototype._showPopover):
        When showing the popover outside of the use of a CodeMirrorEditingController, such as a JavaScript expression
        when debugging, also deal with the possibility of the highlighted range containing multiple lines rather
        than assume a single line.

        (WebInspector.SourceCodeTextEditor.prototype._updateEditableMarkers):
        More generic method name to support future, non-color editing controllers.

        (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression):
        Find the outermost marker in the list of markers provided such that a marker containing other markers
        shows the UI for the containing marker. For instance, a gradient marker would contain several color
        markers and it's preferable to show the editing UI for the whole gradient rather than a specific color.

        Additionally, adopt more generic ivars and method names to support future, non-color editing controllers.

        (WebInspector.SourceCodeTextEditor.prototype._dismissEditingController):
        Support for new parameter instructing that the editing controller dismissal should be instant rather than
        animated, which is the default. This is useful when, for instance, the text editor is cleared.

        (WebInspector.SourceCodeTextEditor.prototype.editingControllerDidStartEditing):
        (WebInspector.SourceCodeTextEditor.prototype.editingControllerDidFinishEditing):
        Adopt the more generic method names rather than color-specific ones.

        * UserInterface/TextEditor.js:
        (WebInspector.TextEditor.prototype.rectsForRange):
        Remove .boundsForRange() in favor of this new method where we return a series of rects so that we may
        draw a more pleasing HoverMenu.

        (WebInspector.TextEditor.prototype.createColorMarkers):
        Use a TextRanger rather than a single line number to match the underlying CodeMirror extension method.

        (WebInspector.TextEditor.prototype.editingControllerForMarker):
        Use the provided TextMarker's type to provide the most adequate CodeMirrorEditingController class.

        * UserInterface/TextMarker.js:
        (WebInspector.TextMarker.prototype.get rects):
        Remove the .bounds property in favor of .rects to match the underlying CodeMirror extension method.

2014-02-20  Antoine Quint  <graouts@webkit.org>

        Web Inspector: Popover should animate its frame to display its refreshed content
        https://bugs.webkit.org/show_bug.cgi?id=129088

        Reviewed by Timothy Hatcher.

        When calling .update(), we now check whether we can animate the change of frame provided the
        new computed frame to best fit the current content still matches the edge the popover uses
        to attach to the target frame. If we find that we can do so, we animate the background frame
        of the popover while ensuring the anchor point remains stable during the animation such that
        only the popover's frame seems to animate.

        * UserInterface/Geometry.js:
        (WebInspector.Rect.prototype.round):
        Returns a new Rect with rounded values, using a floor for the position and a ceil for the size.

        * UserInterface/Main.html:
        Link to the new UnitBezier.js source file.

        * UserInterface/Popover.js:
        (WebInspector.Popover):
        Make ._anchorPoint an ivar such that we don't need to pass a reference to the anchorPoint into
        the various calls leading to an update of the popover's background drawing.

        (WebInspector.Popover.prototype.set frame):
        We no longer round the values of the frame here, instead calling the new .round() method on Rect
        in places where we compute a new frame.

        (WebInspector.Popover.prototype.set content):
        (WebInspector.Popover.prototype.update):
        Update the calls to ._update() to set the new shouldAnimate flag to true in situations where the
        popover is already visible.

        (WebInspector.Popover.prototype._update):
        In the situation where there is a preference to animate the frame, as set by the new shouldAnimate
        parameter, check that we can indeed animate by ensuring that the edge the popover uses to attach to
        the target frame remains the same upon computing the new best metrics for the new content size. If
        we can indeed animate, call _animateFrame(), otherwise set the new frame, anchor point and frame
        drawing discretely like we used to.

        (WebInspector.Popover.prototype._setAnchorPoint):
        New method to ensure we floor the position of the anchor point to ensure, when animating, that the
        anchor point remains stationary.

        (WebInspector.Popover.prototype._animateFrame):
        Using the new UnitBezier class, animate the popover frame from its previous value to its newly computed
        value while ensuring the anchor point remains, at all times, the same absolute position such that it
        remains stationary during the animation. The spline used to animate the frame is the same that a CSS
        transition set with an "ease" timing-function (default value) would use.

        (WebInspector.Popover.prototype._drawBackground):
        (WebInspector.Popover.prototype._drawFrame):
        Adopt new ._edge and ._anchorPoint ivars.

        * UserInterface/UnitBezier.js: Added.
        New class used to perform animations using a timing function specified with a cubic Bézier curve. The code
        is directly adapted from the Source/WebCore/platform/graphics/UnitBezier.h file.

        (WebInspector.UnitBezier):
        (WebInspector.UnitBezier.prototype.solve):
        (WebInspector.UnitBezier.prototype._sampleCurveX):
        (WebInspector.UnitBezier.prototype._sampleCurveY):
        (WebInspector.UnitBezier.prototype._sampleCurveDerivativeX):
        (WebInspector.UnitBezier.prototype._solveCurveX):

2014-02-20  Antoine Quint  <graouts@webkit.org>

        Web Inspector: content using a CSS transition within a popover causes the popover to disappear
        https://bugs.webkit.org/show_bug.cgi?id=129089

        Reviewed by Timothy Hatcher.

        Simply check that the element being transitioned is indeed the popover's container before assuming
        that the "transitonend" received was for a fade-out transition.

        * UserInterface/Popover.js:
        (WebInspector.Popover.prototype.handleEvent):

2014-02-20  Antoine Quint  <graouts@webkit.org>

        Web Inspector: clicking on a color swatch in the Computed styles tab shouldn't show the color editing popover
        https://bugs.webkit.org/show_bug.cgi?id=129093

        Reviewed by Timothy Hatcher.

        If the current editor is read-only, only allow cycling between color types since it wouldn't make sense to edit
        such colors.

        * UserInterface/CSSStyleDeclarationTextEditor.js:

2014-02-19  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Remove unused InspectorBackend member variable
        https://bugs.webkit.org/show_bug.cgi?id=129053

        Reviewed by Timothy Hatcher.

        * UserInterface/InspectorBackend.js:
        (InspectorBackendClass):
        (InspectorBackendClass.prototype.registerCommand):
        (InspectorBackendClass.prototype.registerEnum):
        (InspectorBackendClass.prototype.registerEvent):

2014-02-19  James Craig  <jcraig@apple.com>

        Web Inspector: AX: clarify reason for ignored state where possible (hidden, default for tag, etc)
        https://bugs.webkit.org/show_bug.cgi?id=129037

        Reviewed by Timothy Hatcher.

        Passing back hidden and ignoredByDefault attrs to clarify some reasons for "ignored" status.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/DOMNode.js:
        * UserInterface/DOMNodeDetailsSidebarPanel.js:

2014-02-18  James Craig  <jcraig@apple.com>

        Web Inspector: AX: more properties: exists, required, and invalid (exists was previously combined with ignored)
        https://bugs.webkit.org/show_bug.cgi?id=128504

        Reviewed by Timothy Hatcher.

        Additions to the accessibility node inspector: exists, required, invalid.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/DOMNode.js:
        * UserInterface/DOMNodeDetailsSidebarPanel.js:

2014-02-18  Antoine Quint  <graouts@webkit.org>

        Web Inspector: editing a color in the Styles sidebar using the color picker only works once for a given color
        https://bugs.webkit.org/show_bug.cgi?id=128965

        Reviewed by Timothy Hatcher.

        Use the WebInspector.TextMarker backing the CodeMirror TextMarker object to inspect its type in
        order to identify color markers that were created for a color. This fixes a regression introduced
        in http://webkit.org/b/125695 when we abstracted CodeMirror TextMarker objects.

        * UserInterface/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked.updateCodeMirror.update):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked.updateCodeMirror):

2014-02-18  Antoine Quint  <graouts@webkit.org>

        Web Inspector: Editing transparent color shows incorrect opacity slider
        https://bugs.webkit.org/show_bug.cgi?id=128975

        Reviewed by Joseph Pecoraro.

        The opacity slider should show a range of colors from transparent to the full opacity of the tinted color.

        * UserInterface/ColorPicker.js:
        (WebInspector.ColorPicker.prototype._updateSliders):

2014-02-18  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: shift-clicking #fff swatch results in bad rgb value
        https://bugs.webkit.org/show_bug.cgi?id=128954

        Reviewed by Daniel Bates.

        parseInt("FF", 16) is already 255. Do not multiply the result by 255.

        * UserInterface/Color.js:
        (WebInspector.Color.fromString):

2014-02-18  Antoine Quint  <graouts@webkit.org>

        Web Inspector: color picker sliders sometime look wrong on Retina display
        https://bugs.webkit.org/show_bug.cgi?id=128963

        Reviewed by Timothy Hatcher.

        Round the values used to position and size popovers in order to ensure that their content don't suffer
        from poor pixel alignment on Retina displays.

        * UserInterface/Popover.js:
        (WebInspector.Popover.prototype.set frame):

2014-02-17  Antoine Quint  <graouts@webkit.org>

        Web Inspector: CSS selectors containing a color name shouldn't be considered for color editing
        https://bugs.webkit.org/show_bug.cgi?id=128909

        Reviewed by Joseph Pecoraro.

        Disregard any text that might be contained within a CSS selector.

        * UserInterface/CodeMirrorAdditions.js:

2014-02-15  Chris J. Shull  <chrisjshull@gmail.com>

        Web Inspector: scope chain details sidebar doesn't update values modified via console
        https://bugs.webkit.org/show_bug.cgi?id=126855

        Reviewed by Timothy Hatcher.

        Add a RuntimeManager event that the scope chain details sidebar can
        listen to to trigger refresh.

        Testing on this is blocked by http://webkit.org/b/128724
        (Web Inspector: Issue testing breakpoints).

        * UserInterface/RuntimeManager.js:
        (WebInspector.RuntimeManager.prototype.evalCallback):
        (WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):
        * UserInterface/ScopeChainDetailsSidebarPanel.js:
        (WebInspector.ScopeChainDetailsSidebarPanel):

2014-02-14  Antoine Quint  <graouts@webkit.org>

        Web Inspector: color wheel should support Retina displays
        https://bugs.webkit.org/show_bug.cgi?id=124355

        Reviewed by Timothy Hatcher.

        Take into account the devicePixelRatio in order to draw the color wheel
        with as many colors as we can draw with the current DPI and to correctly
        convert from page coordinates to canvas coordinates when dealing with
        mouse events.

        * UserInterface/ColorWheel.js:
        (WebInspector.ColorWheel.prototype.set dimension):
        (WebInspector.ColorWheel.prototype.get tintedColor):
        (WebInspector.ColorWheel.prototype.get rawColor):
        (WebInspector.ColorWheel.prototype._drawRawCanvas):
        (WebInspector.ColorWheel.prototype._colorAtPointWithBrightness):
        (WebInspector.ColorWheel.prototype._drawTintedCanvas):
        (WebInspector.ColorWheel.prototype._draw):

2014-02-13  Brian Burg  <bburg@apple.com>

        Web Inspector: DataGrid should support editing tables with arbitrary columns
        https://bugs.webkit.org/show_bug.cgi?id=128619

        Reviewed by Timothy Hatcher.

        The data grid editing code should work with any columns, but was previously
        hardcoded with the column identifiers used by DOMStorageView. This patch
        makes the editing code work with any column identifiers. It also fixes some
        bugs in previous/next navigation during data entry.

        * UserInterface/DOMStorageContentView.css: Highlight missing keys and values.
        (.content-view.dom-storage > .data-grid tr.missing-value td.value-column):
        (.content-view.dom-storage > .data-grid:focus tr.selected.missing-value td.value-column):

        * UserInterface/DOMStorageContentView.js: Don't blow away the entire table
        whenever the backend notifies us of an update to the storage object. This
        caused the editing state to be destroyed when values were entered interactively.

        (WebInspector.DOMStorageContentView.prototype.reset): Inline the callback
        passed to DOMStorageObject.getEntries().
        (WebInspector.DOMStorageContentView.prototype.itemsCleared):
        (WebInspector.DOMStorageContentView.prototype.itemAdded): Request a sort
        of the table rows after backend tells us about item additions or updates.

        (WebInspector.DOMStorageContentView.prototype.itemUpdated): Request a sort
        of the table rows after backend tells us about item additions or updates.

        (WebInspector.DOMStorageContentView.prototype._sortDataGrid): Use DataGrid's
        built-in sorting function.

        (WebInspector.DOMStorageContentView.prototype._deleteCallback):
        (WebInspector.DOMStorageContentView.prototype._editingCallback): Don't force
        recreation of the entire table whenever editing finishes. Perform most
        of the error checking and editing logic here, including when to insert a
        new placeholder row, and when to commit the entered values to DOM storage.

        * UserInterface/DOMStorageObject.js: Keep track of the DOM storage entries
        in the model so we can detect duplicate entries. Remove unused `id` arguments.

        (WebInspector.DOMStorageObject):
        (WebInspector.DOMStorageObject.prototype.get entries):
        (WebInspector.DOMStorageObject.prototype.itemsCleared):
        (WebInspector.DOMStorageObject.prototype.itemRemoved):
        (WebInspector.DOMStorageObject.prototype.set this):
        (WebInspector.DOMStorageObject.prototype.itemAdded):
        (WebInspector.DOMStorageObject.prototype.set var):
        (WebInspector.DOMStorageObject.prototype.itemUpdated):

        * UserInterface/DataGrid.js:
        (.sortDataGrid):
        (WebInspector.DataGrid.createSortableDataGrid): Use the built-in DataGrid
        sortNodes() implementation.
        (WebInspector.DataGrid.prototype._startEditingNodeAtColumnIndex): Renamed
        from _startEditingColumnOfDataGridNode. It's easier to understand the navigation
        code when presented in terms of adjusting column indexes rather than identifiers.

        (WebInspector.DataGrid.prototype._startEditing):
        (WebInspector.DataGrid.prototype.determineNextCell): Added. Decides which
        column and row to edit next and whether the table can be sorted before the
        next cell edit begins.

        (WebInspector.DataGrid.prototype.moveToNextCell): Added. Wrapper method for
        the above which handles sorting and beginning the next cell edit.

        (WebInspector.DataGrid.prototype._editingCommitted): Use better helper methods.
        (WebInspector.DataGrid.prototype._editingCancelled): Add an assert.
        (WebInspector.DataGrid.prototype.get sortColumnIdentifier): Shorten.
        (WebInspector.DataGrid.prototype.addPlaceholderNode):
        (WebInspector.DataGrid.prototype.removeChild):
        (WebInspector.DataGrid.prototype.):
        (WebInspector.DataGrid.prototype.sortNodes): Remove unecessary copying
        of all nodes into a separate array. Defer sorting if the user is in the
        middle of editing a cell. Make placeholder nodes always sort to the bottom
        regardless of the sort column identifier and sort direction.

        (WebInspector.DataGridNode.prototype._attach):
        (WebInspector.PlaceholderDataGridNode): Renamed from CreationDataGridNode.
        (WebInspector.PlaceholderDataGridNode.prototype.makeNormal):

        * UserInterface/StorageManager.js: Don't pass unused id argument.
        (WebInspector.StorageManager.prototype.itemRemoved):
        (WebInspector.StorageManager.prototype.itemAdded):
        (WebInspector.StorageManager.prototype.itemUpdated):

2014-02-13  Brian Burg  <bburg@apple.com>

        Web Inspector: long script names should be have text-overflow:ellipsis in probe details sidebar
        https://bugs.webkit.org/show_bug.cgi?id=128550

        Reviewed by Timothy Hatcher.

        Make the link element 'display: block', place it after the floated icons,
        and set the appropriate CSS overflow properties.

        * UserInterface/ProbeDetailsSidebarPanel.css:
        (.details-section.probe-set .options > a.go-to-link):
        * UserInterface/ProbeSetDetailsSection.js:
        (WebInspector.ProbeSetDetailsSection):

2014-02-13  Javier Fernandez  <jfernandez@igalia.com>

        [CSS Grid Layout] Rename named areas property
        https://bugs.webkit.org/show_bug.cgi?id=127990

        Reviewed by Sergio Villar Senin.

        From Blink r165891 by <rego@igalia.com>

        The property 'grid-template' has been renamed to 'grid-template-areas'
        in the last two versions of the spec.

        * Tools/PrettyPrinting/css.js:
        * UserInterface/External/CodeMirror/css.js:

2014-02-11  Brian Burg  <bburg@apple.com>

        Web Inspector: DOMStorageView should listen for events from DOMStorageObject
        https://bugs.webkit.org/show_bug.cgi?id=128620

        Reviewed by Timothy Hatcher.

        The storage manager used to have a map of DOMStorageViews and delivered events
        directly to them. Instead, the DOMStorageObserver should use the manager to
        find the appropriate DOMStorageObject and deliver events to it. DOMStorageView
        learns about storage updates from DOMStorageObject events.

        * UserInterface/DOMStorageContentView.js:
        (WebInspector.DOMStorageContentView): Add event listeners.
        (WebInspector.DOMStorageContentView.prototype.reset): Renamed from update().
        (WebInspector.DOMStorageContentView.prototype.itemsCleared): Take an event argument.
        (WebInspector.DOMStorageContentView.prototype.itemRemoved): Take an event argument.
        Use for..of when iterating over nodes.
        (WebInspector.DOMStorageContentView.prototype.itemAdded): Take an event argument.
        Use for..of when iterating over nodes.
        (WebInspector.DOMStorageContentView.prototype.itemUpdated): Take an event argument.
        Use for..of when iterating over nodes.
        * UserInterface/DOMStorageObject.js:
        (WebInspector.DOMStorageObject.prototype.removeItem): Moved.
        (WebInspector.DOMStorageObject.prototype.setItem): Moved.
        (WebInspector.DOMStorageObject.prototype.itemsCleared): Added.
        (WebInspector.DOMStorageObject.prototype.itemRemoved): Added.
        (WebInspector.DOMStorageObject.prototype.itemAdded): Added.
        (WebInspector.DOMStorageObject.prototype.itemUpdated): Added.
        * UserInterface/DOMStorageObserver.js: Look up and notify the associated model.
        (WebInspector.DOMStorageObserver.prototype.domStorageItemsCleared):
        (WebInspector.DOMStorageObserver.prototype.domStorageItemRemoved):
        (WebInspector.DOMStorageObserver.prototype.domStorageItemAdded):
        (WebInspector.DOMStorageObserver.prototype.domStorageItemUpdated):
        * UserInterface/StorageManager.js: Remove view lookup code. Remove
        direct calls to DOMStorageViews.
        (WebInspector.StorageManager.prototype.itemsCleared):
        (WebInspector.StorageManager.prototype.itemRemoved):
        (WebInspector.StorageManager.prototype.itemAdded):
        (WebInspector.StorageManager.prototype.itemUpdated):
        (WebInspector.StorageManager.prototype.domStorageWasUpdated):
        (WebInspector.StorageManager.prototype.inspectDOMStorage):
        (WebInspector.StorageManager.prototype._domStorageForIdentifier):
        (WebInspector.StorageManager.prototype._addDOMStorageIfNeeded):
        (WebInspector.StorageManager.prototype._databaseForIdentifier):

2014-02-11  James Craig  <jcraig@apple.com>

        Web Inspector: AX: Accessibility Node Inspection
        https://bugs.webkit.org/show_bug.cgi?id=127447

        Reviewed by Timothy Hatcher.

        New Accessibility section in WebInspector Node Inspector.
        Version 1.0 only shows computed role. Computed label should come soon.

        Removed CSS fixed table layout b/c CSS bug: http://webkit.org/b/128294

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/DOMNode.js:
        * UserInterface/DOMNodeDetailsSidebarPanel.js:
        * UserInterface/DetailsSection.css:
        * UserInterface/InspectorWebBackendCommands.js:

2014-02-10  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Update License copyrights in minified JavaScript
        https://bugs.webkit.org/show_bug.cgi?id=128547

        Reviewed by Timothy Hatcher.

        * Scripts/copy-user-interface-resources.sh:

2014-02-07  Brian Burg  <bburg@apple.com>

        Web Inspector: show probe sets for script content views in the details sidebar
        https://bugs.webkit.org/show_bug.cgi?id=128333

        Reviewed by Timothy Hatcher.

        This patch adds a new details sidebar for showing the probes associated with any
        breakpoint in the currently visible source file. Each probe set (corresponding to
        multiple actions of single breakpoint) gets its own ProbeSetDetailsSection. The
        section contains a custom DataGrid subclass to display probe data, and some icons
        for clearing samples, deleting the probe, and adding a new probe expression.

        The table containing probe data keeps its columns in sync with the probe set's
        probe expressions. To support this, DataGrid has been further refactored to support
        removing columns, and inserting columns (rather than only appending). With this
        capability, probe columns are removed and re-inserted when the expression changes.

        The availability of the probe details sidebar is controlled by providing the
        probe sets matching the script content view's resource URL as supplemental
        represented objects.

        Lastly, added the utility EventListenerSet class. This holds a set of event listeners
        that should be added and removed together, and takes care of binding `thisObject`
        according to whether the event emitter is a `Node` or `WebInspector.Object`.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/BreakpointActionView.js:
        (WebInspector.BreakpointActionView):
        (WebInspector.BreakpointActionView.prototype._removeAction): Renamed from removeButtonClicked.
        (WebInspector.BreakpointActionView.prototype._codeMirrorBlurred): Change the behavior
        of CodeMirror-backed editors for probe and evaluate expression actions. If the expression
        consists entirely of trimmable whitespace, then delete the action rather than saving it.

        * UserInterface/DataGrid.js:
        (WebInspector.DataGrid): Copy over the column data into a map inside insertColumn() instead.
        (WebInspector.DataGrid.prototype.insertColumn): Renamed from addColumn. It now takes an
        optional `insertionIndex` argument and splices the column before the element at that index.
        Also, convert code to use EventListenerSet for adding/removing per-column event listeners.

        (WebInspector.DataGrid.prototype.removeColumn): Added. It splices the column out.
        (WebInspector.DataGridNode.prototype.isEventWithinDisclosureTriangle): Whitespace.
        * UserInterface/EventListenerSet.js: Added.
        (WebInspector.EventListenerSet):
        (WebInspector.EventListenerSet.prototype.register):
        (WebInspector.EventListenerSet.prototype.unregister):
        (WebInspector.EventListenerSet.prototype.install):
        (WebInspector.EventListenerSet.prototype.uninstall):
        * UserInterface/Images/NavigationItemProbes.pdf: Added.
        * UserInterface/LayerTreeDataGrid.js:
        (WebInspector.LayerTreeDataGrid.prototype._updateChildren): Fix a missing column.get().
        * UserInterface/Main.html: Add new JavaScript and CSS files.
        * UserInterface/Main.js:
        (WebInspector.contentLoaded): Add the probe details sidebar.
        * UserInterface/ProbeDetailsSidebarPanel.css: Added.
        (.sidebar > .panel.probes > .navigation-bar):
        (.sidebar > .panel.probes > .content):
        (.details-section.probe-set .options > .probe-add):
        (.details-section.probe-set .options > .probe-clear-samples):
        (.details-section.probe-set .options > .probe-remove):
        (.details-section.probe-set .options > input):
        (.panel.probes ::-webkit-scrollbar):
        (.panel.probes ::-webkit-scrollbar-track):
        (.panel.probes ::-webkit-scrollbar-thumb):
        (.panel.probes ::-webkit-scrollbar-corner):
        (.popover .probe-popover):
        (.popover .probe-popover input):
        * UserInterface/ProbeDetailsSidebarPanel.js: Added.
        (WebInspector.ProbeDetailsSidebarPanel):
        (WebInspector.ProbeDetailsSidebarPanel.prototype.get inspectedProbeSets):
        (WebInspector.ProbeDetailsSidebarPanel.prototype._probeSetAdded):
        * UserInterface/ProbeManager.js: Remove unused `probeSetForBreakpoint` function.
        * UserInterface/ProbeSet.js: Fix erroneous uses of `probe.identifier` instead of `probe.id`.
        (WebInspector.ProbeSet.prototype.removeProbe):
        (WebInspector.ProbeSet.prototype._sampleCollected):
        * UserInterface/ProbeSetDataGrid.css: Added.
        (.details-section.probe-set .data-grid .data-container tr.past-value td):
        (.details-section.probe-set .data-grid > .data-container td.unknown-value):
        (.details-section.probe-set .data-grid .data-container tr.revealed.highlighted):
        (@-webkit-keyframes blink-frame-highlight):
        (100%):
        (.details-section.probe-set .data-grid .data-container tr.separator):
        (.details-section.probe-set .data-grid > .data-container tr.data-updated):
        (@-webkit-keyframes blink-probe-frame):
        (.details-section.probe-set .data-grid .data-container .selected .section *):
        (.details-section.probe-set .data-grid .data-container .selected td.unknown-value):
        (.details-section.probe-set .data-grid .data-container .section):
        (.details-section.probe-set .data-grid th):
        (.details-section.probe-set .data-grid th:not(:last-child)):
        (.details-section.probe-set .data-grid td):
        * UserInterface/ProbeSetDataGrid.js: Added.
        (WebInspector.ProbeSetDataGrid):
        (WebInspector.ProbeSetDataGrid.prototype.closed):
        (WebInspector.ProbeSetDataGrid.prototype._setupProbe):
        (WebInspector.ProbeSetDataGrid.prototype._teardownProbe):
        (WebInspector.ProbeSetDataGrid.prototype._setupData):
        (WebInspector.ProbeSetDataGrid.prototype._teardownData):
        (WebInspector.ProbeSetDataGrid.prototype._updateNodeForFrame.else.sortFunction):
        (WebInspector.ProbeSetDataGrid.prototype._updateNodeForFrame.else.set node):
        (WebInspector.ProbeSetDataGrid.prototype._dataFrameInserted):
        (WebInspector.ProbeSetDataGrid.prototype._dataSeparatorInserted):
        (WebInspector.ProbeSetDataGrid.prototype._probeExpressionChanged.get var):
        * UserInterface/ProbeSetDataGridNode.js: Added.
        (WebInspector.ProbeSetDataGridNode):
        (WebInspector.ProbeSetDataGridNode.prototype.get element):
        (WebInspector.ProbeSetDataGridNode.prototype.get data):
        (WebInspector.ProbeSetDataGridNode.prototype.set frame):
        (WebInspector.ProbeSetDataGridNode.prototype.get frame):
        (WebInspector.ProbeSetDataGridNode.prototype.createCellContent):
        (WebInspector.ProbeSetDataGridNode.prototype.updateCellsFromFrame):
        (WebInspector.ProbeSetDataGridNode.prototype.updateCellsForSeparator):
        * UserInterface/ProbeSetDataTable.js:
        (WebInspector.ProbeSetDataTable.prototype.removeProbe): Fix a typo in for..of loop refactor.
        * UserInterface/ProbeSetDetailsSection.js: Added.
        (WebInspector.ProbeSetDetailsSection):
        (WebInspector.ProbeSetDetailsSection.prototype.closed):
        (WebInspector.ProbeSetDetailsSection.prototype._probeSetPositionTextOrLink):
        (WebInspector.ProbeSetDetailsSection.prototype._addProbeButtonClicked):
        (WebInspector.ProbeSetDetailsSection.prototype._removeButtonClicked):
        (WebInspector.ProbeSetDetailsSection.prototype._clearSamplesButtonClicked):
        * UserInterface/TextResourceContentView.js:
        (WebInspector.TextResourceContentView):
        (WebInspector.TextResourceContentView.prototype.get supplementalRepresentedObjects):
        Add probe sets whose breakpoint matches the represented object's URL.
        (WebInspector.TextResourceContentView.prototype._probeSetsChanged): Tell listeners
        to re-fetch `supplementalRepresentedObjects` when probe sets are added or removed.

2014-02-08  Dan Bernstein  <mitz@apple.com>

        Remove client-drawn highlights (-webkit-highlight, WebHTMLHighlighter)
        https://bugs.webkit.org/show_bug.cgi?id=128456

        Reviewed by Anders Carlsson.

        * UserInterface/CSSKeywordCompletions.js: Removed -webkit-highlight.

2014-02-07  Brian Burg  <bburg@apple.com>

        Web Inspector: Clean up DataGrid and add table columns incrementally
        https://bugs.webkit.org/show_bug.cgi?id=128332

        Reviewed by Timothy Hatcher.

        Miscellaneous improvements to DataGrid to make it more maintainable.
        In particular, it now uses a `Map` to store column settings, and the
        construction sequence has been simplified so that it is safe to add
        columns at the end of the constructor (or any later time).

        DataGrid stores a bunch of settings per-column, but before this was done
        by both storing properties on the provided `column` objects as well as
        keeping several `columnIdentifier`-keyed maps for properties like `group`
        and `hidden`.

        Improve code readability by using for..of loops, destructuring assignment,
        `Node.createElement`, and updating variable names. All variables that refer
        to DOM nodes now have a `Element` suffix to distinguish them from model objects.

        * UserInterface/DataGrid.js:
        (.sortDataGrid):
        (WebInpector.DataGrid): Create all DOM elements before populating columns.
        Remove redundant objects for storing per-column values. Copy column settings
        into a map rather than mutating the passed-in JSON-like settings data structure.

        (WebInspector.DataGrid.createSortableDataGrid):
        (WebInspector.DataGrid.prototype.get length):
        (WebInspector.DataGrid.prototype.updateLayout):
        (WebInspector.DataGrid.prototype.get scrollContainer):
        (WebInspector.DataGrid.prototype.isScrolledToLastRow):
        (WebInspector.DataGrid.prototype.scrollToLastRow):
        (WebInspector.DataGrid.prototype._positionResizerElements):
        (WebInspector.DataGrid.prototype.addCreationNode):
        (WebInspector.DataGrid.prototype.):
        (WebInspector.DataGrid.prototype.sortNodes):
        (WebInspector.DataGrid.prototype.dataGridNodeFromPoint):
        (WebInspector.DataGrid.prototype._clickInHeaderCell):
        (WebInspector.DataGrid.prototype.isColumnSortColumn):
        (WebInspector.DataGrid.prototype.headerTableHeader):
        (WebInspector.DataGrid.prototype._copyTextForDataGridNode):
        (WebInspector.DataGrid.prototype._resizerDragging):
        (WebInspector.DataGridNode.prototype.createCells):
        (WebInspector.DataGridNode.prototype.createCell.get var):
        (WebInspector.DataGridNode.prototype.elementWithColumnIdentifier):
        (WebInspector.DataGridNode.prototype._attach):
        * UserInterface/TimelineDataGrid.js:
        (WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters.scopeBar.this.columns.get scopeBar):
        (WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters):

2014-02-07  Mihai Tica  <mitica@adobe.com>

        [CSS Background Blending] Unprefix the -webkit-background-blend-mode property

        https://bugs.webkit.org/show_bug.cgi?id=128270

        Reviewed by Dean Jackson.

        * UserInterface/CSSKeywordCompletions.js: Refactor -webkit-background-blend-mode to background-blend-mode.

2014-02-06  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Add Console support to JSContext Inspection
        https://bugs.webkit.org/show_bug.cgi?id=127941

        Reviewed by Geoffrey Garen.

        * UserInterface/InspectorJSBackendCommands.js:
        * UserInterface/InspectorWebBackendCommands.js:
        ConsoleAgent moved to JavaScript section.

2014-02-06  Andreas Kling  <akling@apple.com>

        Remove display:run-in support.
        <https://webkit.org/b/127874>
        <rdar://problem/15926949>

        Rubber-stamped by Anders Carlsson.

        * UserInterface/CSSKeywordCompletions.js:
        * UserInterface/External/CodeMirror/css.js:

2014-02-05  Brian Burg  <bburg@apple.com>

        Web Inspector: add probe manager and model objects to the frontend
        https://bugs.webkit.org/show_bug.cgi?id=127117

        Reviewed by Timothy Hatcher.

        Add the probe manager, and the following model objects:

        - ProbeObject corresponds to a single probe breakpoint action.
        - ProbeSetObject contains all ProbeObjects for one Breakpoint.
        - ProbeSetDataFrame holds probe samples from multiple
        probes fired from the same breakpoint hit/debugger pause.
        - ProbeSetDataTable keeps track of multiple such data frames
        and manages probe sample lifetimes across page navigations.

        The probe manager updates probe model objects whenever breakpoints
        are added, removed, or modified.

        The inspector frontend now assigns breakpoint action identifiers,
        rather than the backend. This lets ProbeObjects keep stable
        identifiers that match the probe's samples, even when the underlying
        breakpoint is re-added with a different identifier (such as when
        editing probe expressions).

        * UserInterface/Breakpoint.js:
        (WebInspector.Breakpoint.prototype.get probeActions): Added.
        (WebInspector.Breakpoint.prototype.createAction):
        (WebInspector.Breakpoint.prototype.removeAction):
        (WebInspector.Breakpoint.prototype.clearActions): Added.
        * UserInterface/BreakpointAction.js:
        (WebInspector.BreakpointAction):
        (WebInspector.BreakpointAction.prototype.get id):
        (WebInspector.BreakpointAction.prototype.get info):
        * UserInterface/DebuggerManager.js:
        (WebInspector.DebuggerManager.restoreBreakpointsSoon):
        (WebInspector.DebuggerManager): Restore saved breakpoints
        from cookies on the second run loop, so that all managers will
        be able to received breakpoint added events.
        (WebInspector.DebuggerManager.prototype.addBreakpoint):
        (WebInspector.DebuggerManager.prototype.removeBreakpoint):
        (WebInspector.DebuggerManager.prototype.get nextBreakpointActionIdentifier):
        The debugger manager assigns unique breakpoint action identifiers with this getter.

        (WebInspector.DebuggerManager.prototype._debuggerBreakpointActionType):
        (WebInspector.DebuggerManager.prototype.didSetBreakpoint):
        (WebInspector.DebuggerManager.prototype._setBreakpoint):
        (WebInspector.DebuggerManager.prototype.didRemoveBreakpoint):
        (WebInspector.DebuggerManager.prototype._removeBreakpoint):
        * UserInterface/DebuggerObserver.js:
        (WebInspector.DebuggerObserver.prototype.didSampleProbe):
        * UserInterface/InspectorJSBackendCommands.js:
        * UserInterface/Main.html:
        * UserInterface/Main.js:
        (WebInspector.loaded):
        * UserInterface/Probe.js: Added.
        (WebInspector.ProbeSample):
        (WebInspector.Probe):
        (WebInspector.Probe.prototype.get id):
        (WebInspector.Probe.prototype.get breakpoint):
        (WebInspector.Probe.prototype.get expression):
        (WebInspector.Probe.prototype.set expression):
        (WebInspector.Probe.prototype.get samples):
        (WebInspector.Probe.prototype.clearSamples):
        (WebInspector.Probe.prototype.addSample):
        * UserInterface/ProbeManager.js: Added.
        (WebInspector.ProbeManager):
        (WebInspector.ProbeManager.prototype.probeSetForBreakpoint):
        (WebInspector.ProbeManager.prototype._breakpointRemoved):
        (WebInspector.ProbeManager.prototype._breakpointActionsChanged.get var):
        (WebInspector.ProbeManager.prototype._breakpointActionsChanged.set get knownProbeIdentifiers):
        (WebInspector.ProbeManager.prototype._breakpointActionsChanged):
        * UserInterface/ProbeSet.js: Added.
        (WebInspector.ProbeSet):
        (WebInspector.ProbeSet.prototype.get breakpoint):
        (WebInspector.ProbeSet.prototype.get probes):
        (WebInspector.ProbeSet.prototype.get dataTable):
        (WebInspector.ProbeSet.prototype.clear):
        (WebInspector.ProbeSet.prototype.clearSamples):
        (WebInspector.ProbeSet.prototype.createProbe):
        (WebInspector.ProbeSet.prototype.removeProbe):
        (WebInspector.ProbeSet.prototype.willRemove):
        (WebInspector.ProbeSet.prototype._mainResourceChanged):
        (WebInspector.ProbeSet.prototype._createDataTable):
        (WebInspector.ProbeSet.prototype._sampleCollected):
        (WebInspector.ProbeSet.prototype._breakpointResolvedStateDidChange):
        * UserInterface/ProbeSetDataFrame.js: Added.
        (WebInspector.ProbeSetDataFrame):
        (WebInspector.ProbeSetDataFrame.compare):
        (WebInspector.ProbeSetDataFrame.prototype.get key):
        (WebInspector.ProbeSetDataFrame.prototype.get count):
        (WebInspector.ProbeSetDataFrame.prototype.get index):
        (WebInspector.ProbeSetDataFrame.prototype.get isSeparator):
        (WebInspector.ProbeSetDataFrame.prototype.set isSeparator):
        (WebInspector.ProbeSetDataFrame.prototype.addSampleForProbe):
        (WebInspector.ProbeSetDataFrame.prototype.missingKeys):
        (WebInspector.ProbeSetDataFrame.prototype.isComplete):
        (WebInspector.ProbeSetDataFrame.prototype.fillMissingValues):
        * UserInterface/ProbeSetDataTable.js: Added.
        (WebInspector.ProbeSetDataTable):
        (WebInspector.ProbeSetDataTable.prototype.get frames):
        (WebInspector.ProbeSetDataTable.prototype.get separators):
        (WebInspector.ProbeSetDataTable.prototype.willRemove):
        (WebInspector.ProbeSetDataTable.prototype.mainResourceChanged):
        (WebInspector.ProbeSetDataTable.prototype.addSampleForProbe):
        (WebInspector.ProbeSetDataTable.prototype.addProbe):
        (WebInspector.ProbeSetDataTable.prototype.removeProbe):
        (WebInspector.ProbeSetDataTable.prototype.createFrame):
        (WebInspector.ProbeSetDataTable.prototype.addFrame):
        (WebInspector.ProbeSetDataTable.prototype.addSeparator):

2014-02-05  Zan Dobersek  <zdobersek@igalia.com>

        [GTK] Avoid no-op regenerations of GResourceBundle.xml, GResourceBundle.c
        https://bugs.webkit.org/show_bug.cgi?id=128192

        Reviewed by Carlos Garcia Campos.

        When doing incremental builds, GResourceBundle.xml and GResourceBundle.c can be
        generated when the dependencies are newer than the products, but the generation
        doesn't necessarily produce a new or different product. This results in constant
        regenerations for these two build targets. Touch the products at the end of
        generation to avoid this looping.

        * GNUmakefile.am:

2014-01-30  Timothy Hatcher  <timothy@apple.com>

        Show profile data in the discrete Scripts timeline view.

        https://bugs.webkit.org/show_bug.cgi?id=127900

        Reviewed by Joseph Pecoraro.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/DataGrid.js:
        (WebInspector.DataGridNode.prototype.refreshIfNeeded):
        (WebInspector.DataGridNode.prototype.needsRefresh):
        (WebInspector.DataGridNode.prototype.set data):
        (WebInspector.DataGridNode.prototype.set revealed):
        (WebInspector.DataGridNode.prototype.refresh):
        * UserInterface/LayoutTimelineDataGrid.js:
        (WebInspector.LayoutTimelineDataGrid):
        * UserInterface/LayoutTimelineDataGridNode.js:
        (WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent):
        * UserInterface/Main.html:
        * UserInterface/NavigationSidebarPanel.js:
        (WebInspector.NavigationSidebarPanel.prototype._updateFilter):
        (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
        (WebInspector.NavigationSidebarPanel.prototype._generateStyleRulesIfNeeded):
        * UserInterface/ProfileNodeDataGridNode.js: Added.
        (WebInspector.ProfileNodeDataGridNode):
        (WebInspector.ProfileNodeDataGridNode.prototype.get profileNode):
        (WebInspector.ProfileNodeDataGridNode.prototype.get records):
        (WebInspector.ProfileNodeDataGridNode.prototype.get baseStartTime):
        (WebInspector.ProfileNodeDataGridNode.prototype.get rangeStartTime):
        (WebInspector.ProfileNodeDataGridNode.prototype.set rangeStartTime):
        (WebInspector.ProfileNodeDataGridNode.prototype.get rangeEndTime):
        (WebInspector.ProfileNodeDataGridNode.prototype.set rangeEndTime):
        (WebInspector.ProfileNodeDataGridNode.prototype.get data):
        (WebInspector.ProfileNodeDataGridNode.prototype.refresh):
        (WebInspector.ProfileNodeDataGridNode.prototype.createCellContent):
        * UserInterface/ProfileNodeTreeElement.js: Added.
        (WebInspector.ProfileNodeTreeElement):
        (WebInspector.ProfileNodeTreeElement.prototype.get profileNode):
        (WebInspector.ProfileNodeTreeElement.prototype.get filterableData):
        (WebInspector.ProfileNodeTreeElement.prototype.onattach):
        (WebInspector.ProfileNodeTreeElement.prototype.onpopulate):
        * UserInterface/ResourceTimelineDataGridNode.js:
        (WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent):
        * UserInterface/ScriptTimelineDataGrid.js:
        (WebInspector.ScriptTimelineDataGrid):
        * UserInterface/ScriptTimelineDataGridNode.js:
        (WebInspector.ScriptTimelineDataGridNode):
        (WebInspector.ScriptTimelineDataGridNode.prototype.get baseStartTime):
        (WebInspector.ScriptTimelineDataGridNode.prototype.get rangeStartTime):
        (WebInspector.ScriptTimelineDataGridNode.prototype.set rangeStartTime):
        (WebInspector.ScriptTimelineDataGridNode.prototype.get rangeEndTime):
        (WebInspector.ScriptTimelineDataGridNode.prototype.set rangeEndTime):
        (WebInspector.ScriptTimelineDataGridNode.prototype.get data):
        (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent):
        * UserInterface/ScriptTimelineRecord.js:
        (WebInspector.ScriptTimelineRecord):
        (WebInspector.ScriptTimelineRecord.prototype.get profile):
        * UserInterface/ScriptTimelineView.js:
        (WebInspector.ScriptTimelineView.prototype.updateLayout):
        (WebInspector.ScriptTimelineView.prototype.get selectionPathComponents):
        (WebInspector.ScriptTimelineView.prototype.dataGridNodeForTreeElement):
        (WebInspector.ScriptTimelineView.prototype.populateProfileNodeTreeElement):
        (WebInspector.ScriptTimelineView.prototype._processPendingRecords):
        (WebInspector.ScriptTimelineView.prototype._treeElementSelected):
        * UserInterface/TimelineContentView.js:
        (WebInspector.TimelineContentView.prototype.matchTreeElementAgainstCustomFilters):
        * UserInterface/TimelineDataGrid.js:
        (WebInspector.TimelineDataGrid):
        (WebInspector.TimelineDataGrid.prototype.addRowInSortOrder):
        (WebInspector.TimelineDataGrid.prototype._sort):
        * UserInterface/TimelineDataGridNode.js:
        (WebInspector.TimelineDataGridNode):
        (WebInspector.TimelineDataGridNode.prototype.collapse):
        (WebInspector.TimelineDataGridNode.prototype.expand):
        * UserInterface/TimelineRecord.js:
        * UserInterface/TreeOutlineDataGridSynchronizer.js:
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype.get delegate):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype.dataGridNodeForTreeElement):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementAdded):

2014-01-30  Timothy Hatcher  <timothy@apple.com>

        Add the model objects for the new Web Inspector profile data.

        https://bugs.webkit.org/show_bug.cgi?id=127899

        Reviewed by Joseph Pecoraro.

        * UserInterface/Main.html:
        * UserInterface/Profile.js: Added.
        (WebInspector.Profile):
        (WebInspector.Profile.prototype.get idleTime):
        (WebInspector.Profile.prototype.get topDownRootNodes):
        (WebInspector.Profile.prototype.get bottomUpRootNodes):
        * UserInterface/ProfileNode.js: Added.
        (WebInspector.ProfileNode):
        (WebInspector.ProfileNode.prototype.get id):
        (WebInspector.ProfileNode.prototype.get type):
        (WebInspector.ProfileNode.prototype.get functionName):
        (WebInspector.ProfileNode.prototype.get sourceCodeLocation):
        (WebInspector.ProfileNode.prototype.get startTime):
        (WebInspector.ProfileNode.prototype.get endTime):
        (WebInspector.ProfileNode.prototype.get selfTime):
        (WebInspector.ProfileNode.prototype.get totalTime):
        (WebInspector.ProfileNode.prototype.get calls):
        (WebInspector.ProfileNode.prototype.get previousSibling):
        (WebInspector.ProfileNode.prototype.get nextSibling):
        (WebInspector.ProfileNode.prototype.get parentNode):
        (WebInspector.ProfileNode.prototype.get childNodes):
        (WebInspector.ProfileNode.prototype.totalTimeInRange):
        (WebInspector.ProfileNode.prototype.computeCallInfoForTimeRange):
        (WebInspector.ProfileNode.prototype.traverseNextProfileNode):
        (WebInspector.ProfileNode.prototype.saveIdentityToCookie):
        (WebInspector.ProfileNode.prototype.establishRelationships):
        * UserInterface/ProfileNodeCall.js: Added.
        (WebInspector.ProfileNodeCall):
        (WebInspector.ProfileNodeCall.prototype.get startTime):
        (WebInspector.ProfileNodeCall.prototype.get totalTime):
        (WebInspector.ProfileNodeCall.prototype.get endTime):
        (WebInspector.ProfileNodeCall.prototype.establishRelationships):
        * UserInterface/TimelineManager.js:
        (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
        (WebInspector.TimelineManager.prototype.eventRecorded):
        (WebInspector.TimelineManager.prototype._profileFromPayload.profileNodeFromPayload):
        (WebInspector.TimelineManager.prototype._profileFromPayload.profileNodeCallFromPayload):
        (WebInspector.TimelineManager.prototype._profileFromPayload):

2014-01-26  Timothy Hatcher  <timothy@apple.com>

        Prefix existing Web Inspector profiler classes with "Legacy".

        Remove a dependency on ProfileView for showTimeAsPercent and selection as a drive-by.
        Also remove the unfinished Canvas profiler classes, they will need redone for the Timeline view.

        https://bugs.webkit.org/show_bug.cgi?id=127655

        Reviewed by Joseph Pecoraro.

        * UserInterface/CanvasDataGridNode.js: Removed.
        * UserInterface/CanvasObserver.js: Removed.
        * UserInterface/CanvasProfileObject.js: Removed.
        * UserInterface/CanvasProfileType.js: Removed.
        * UserInterface/CanvasProfileView.js: Removed.
        * UserInterface/ConsoleObserver.js:
        (WebInspector.ConsoleObserver.prototype.messageAdded):
        * UserInterface/ContentView.js:
        (WebInspector.ContentView):
        (WebInspector.ContentView.isViewable):
        * UserInterface/InspectorFrontendAPI.js:
        (InspectorFrontendAPI.isProfilingJavaScript):
        (InspectorFrontendAPI.startProfilingJavaScript):
        (InspectorFrontendAPI.stopProfilingJavaScript):
        * UserInterface/LegacyBottomUpProfileDataGridTree.js: Renamed from Source/WebInspectorUI/UserInterface/BottomUpProfileDataGridTree.js.
        * UserInterface/LegacyJavaScriptProfileObject.js: Renamed from Source/WebInspectorUI/UserInterface/JavaScriptProfileObject.js.
        * UserInterface/LegacyJavaScriptProfileType.js: Renamed from Source/WebInspectorUI/UserInterface/JavaScriptProfileType.js.
        * UserInterface/LegacyJavaScriptProfileView.css: Renamed from Source/WebInspectorUI/UserInterface/JavaScriptProfileView.css.
        * UserInterface/LegacyJavaScriptProfileView.js: Renamed from Source/WebInspectorUI/UserInterface/JavaScriptProfileView.js.
        * UserInterface/LegacyProfileDataGridTree.js: Renamed from Source/WebInspectorUI/UserInterface/ProfileDataGridTree.js.
        * UserInterface/LegacyProfileManager.js: Renamed from Source/WebInspectorUI/UserInterface/ProfileManager.js.
        * UserInterface/LegacyProfileObject.js: Renamed from Source/WebInspectorUI/UserInterface/ProfileObject.js.
        * UserInterface/LegacyProfileType.js: Renamed from Source/WebInspectorUI/UserInterface/ProfileType.js.
        * UserInterface/LegacyProfileView.css: Renamed from Source/WebInspectorUI/UserInterface/ProfileView.css.
        * UserInterface/LegacyProfileView.js: Renamed from Source/WebInspectorUI/UserInterface/ProfileView.js.
        * UserInterface/LegacyProfilerObserver.js: Renamed from Source/WebInspectorUI/UserInterface/ProfilerObserver.js.
        * UserInterface/LegacyTopDownProfileDataGridTree.js: Renamed from Source/WebInspectorUI/UserInterface/TopDownProfileDataGridTree.js.
        * UserInterface/Main.html:
        * UserInterface/Main.js:
        (WebInspector.loaded):
        (WebInspector.openURL):

2014-01-30  Diego Pino Garcia  <dpino@igalia.com>

        Web Inspector: [REGRESSION(r163086)] Missing localized string 'Hide console (%s)'
        https://bugs.webkit.org/show_bug.cgi?id=127951

        Reviewed by Timothy Hatcher.

        * Localizations/en.lproj/localizedStrings.js:
        Add 'Hide console (%s)'.

2014-01-30  Diego Pino Garcia  <dpino@igalia.com>

        Web Inspector: Implement open/close Console window shortcut
        https://bugs.webkit.org/show_bug.cgi?id=127896

        Reviewed by Timothy Hatcher.

        * UserInterface/KeyboardShortcut.js:
        (WebInspector.KeyboardShortcut.prototype.get displayName):
        Bug: Option symbol should be displayed as Alternative symbol (\u2387)
        in non Mac platforms.
        * UserInterface/Main.js:
        (WebInspector.contentLoaded):
        Create keyboard shortcut for toggling console window.

2014-01-29  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Play Breakpoint Sound in Frontend
        https://bugs.webkit.org/show_bug.cgi?id=127885

        Reviewed by Timothy Hatcher.

        Beep in the frontend when a "sound" breakpoint action is triggered.

        * UserInterface/DebuggerManager.js:
        (WebInspector.DebuggerManager.prototype.playBreakpointActionSound):
        * UserInterface/DebuggerObserver.js:
        (WebInspector.DebuggerObserver.prototype.resumed):
        (WebInspector.DebuggerObserver.prototype.playBreakpointActionSound):
        * UserInterface/InspectorJSBackendCommands.js:

2014-01-29  Diego Pino Garcia  <dpino@igalia.com>

        Web Inspector: [REGRESSION(r162931)] Tab navigation broken in DataGrid
        https://bugs.webkit.org/show_bug.cgi?id=127816

        Reviewed by Timothy Hatcher.

        * UserInterface/DataGrid.js:
        (WebInspector.DataGrid.prototype.moveToNextIfNeeded):
        (WebInspector.DataGrid.prototype._editingCommitted):
        Change columnIdentifier values 0 and 1 to strings "0" and "1".

2014-01-28  Joseph Pecoraro  <pecoraro@apple.com>

        Unreviewed follow-up to r162965. Better coding style.

        Timothy Hatcher pointed out a clearer style for classes
        on the <body> is to specify body.class. I agree.

        * UserInterface/DashboardView.css:
        (body.javascript .toolbar .dashboard):
        (body.web .toolbar.collapsed .dashboard > .logs):
        (body.javascript .toolbar .dashboard > .resourcesCount):

2014-01-28  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Tweak UI when debugging a JSContext
        https://bugs.webkit.org/show_bug.cgi?id=127799

        Reviewed by Timothy Hatcher.

        * UserInterface/DashboardView.css:
        (.toolbar.javascript .dashboard):
        (.toolbar.web.collapsed .dashboard > .logs):
        (.toolbar.javascript .dashboard > .resourcesCount):
        Adjust collapsed dashboard in web and javascript debugging modes.
        JavaScript debugging mode is always treated as collapsed.

        * UserInterface/Main.js:
        (WebInspector.contentLoaded):
        Adjust what is created and shown when in javascript debugging mode.

        * UserInterface/NavigationSidebarPanel.css:
        (.navigation-sidebar-panel-content-tree-outline.hide-disclosure-buttons .item.small):
        * UserInterface/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel):
        (WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded):
        * UserInterface/TimelineSidebarPanel.css:
        (.sidebar > .panel.timeline > .status-bar):
        (.sidebar > .panel.timeline > .title-bar):
        When javascript debugging expect to put things at the root level, so hide
        disclosure buttons and adjust the style so resources look nice here.

2014-01-28  Diego Pino Garcia  <dpino@igalia.com>

        Web Inspector: In a DataGrid, store value of columnIdentifier to DOM node representing a cell
        https://bugs.webkit.org/show_bug.cgi?id=127613

        Reviewed by Timothy Hatcher.

        * UserInterface/DOMStorageContentView.js:
        (WebInspector.DOMStorageContentView.prototype._editingCallback):
        * UserInterface/DataGrid.js:
        (WebInspector.DataGrid):
        (WebInspector.DataGrid.prototype._keyDown):
        (WebInspector.DataGrid.prototype._contextMenuInDataTable):
        (WebInspector.DataGridNode.prototype.createCell):

2014-01-27  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Feature Check all Protocol Generated Interfaces to get JSContext Inspection working
        https://bugs.webkit.org/show_bug.cgi?id=127712

        Reviewed by Timothy Hatcher.

        Feature check protocol generated interfaces (e.g. FooAgent and registerFooObserver).
        Also drive by handle a possible exception if a SourceCode's URL is null, which is possible.

        * UserInterface/ApplicationCacheManager.js:
        (WebInspector.ApplicationCacheManager):
        (WebInspector.ApplicationCacheManager.prototype.initialize):
        * UserInterface/CSSCompletions.js:
        (WebInspector.CSSCompletions.requestCSSNameCompletions):
        * UserInterface/CSSStyleManager.js:
        (WebInspector.CSSStyleManager):
        (WebInspector.CSSStyleManager.prototype.canForcePseudoClasses):
        * UserInterface/DebuggerManager.js:
        * UserInterface/FrameResourceManager.js:
        (WebInspector.FrameResourceManager):
        (WebInspector.FrameResourceManager.prototype.initialize):
        * UserInterface/Main.js:
        (WebInspector.loaded):
        * UserInterface/ProfileManager.js:
        (WebInspector.ProfileManager):
        * UserInterface/StorageManager.js:
        (WebInspector.StorageManager):
        Type check generated interfaces.

        (WebInspector.DebuggerManager):
        (WebInspector.DebuggerManager.prototype.debuggerDidPause):
        Null check a SourceCode URL, which can be null for a Script with no URL.

2014-01-25  Timothy Hatcher  <timothy@apple.com>

        Remove dead code from the JSC profiler.

        https://bugs.webkit.org/show_bug.cgi?id=127643

        Reviewed by Mark Lam.

        * Versions/Inspector-iOS-7.0.json: Remove visible from CPUProfileNode.

2014-01-25  Joseph Pecoraro  <pecoraro@apple.com>

        Remove FIXME in CSSKeywordCompletions.js about "inherit" keyword
        https://bugs.webkit.org/show_bug.cgi?id=127638

        Reviewed by Timothy Hatcher.

        * UserInterface/CSSKeywordCompletions.js:
        (WebInspector.CSSKeywordCompletions.forProperty):
        Replace FIXME with a descriptive comment about why the code is what it is.

2014-01-25  Diego Pino Garcia  <dpino@igalia.com>

        Web Inspector: Position the completion suggestions popup below if there is room
        https://bugs.webkit.org/show_bug.cgi?id=127615

        Reviewed by Joseph Pecoraro.

        * UserInterface/CompletionSuggestionsView.js:
        (WebInspector.CompletionSuggestionsView.prototype.show):

2014-01-23  Timothy Hatcher  <timothy@apple.com>

        Refactor TimelineRecordBar combining logic into a helper function.

        https://bugs.webkit.org/show_bug.cgi?id=127530

        Reviewed by Joseph Pecoraro.

        * UserInterface/LayoutTimelineOverviewGraph.js:
        (WebInspector.LayoutTimelineOverviewGraph.prototype.updateLayout.createBar):
        (WebInspector.LayoutTimelineOverviewGraph.prototype.updateLayout):
        Use TimelineRecordBar.createCombinedBars.

        * UserInterface/NetworkTimelineOverviewGraph.css:
        (.timeline-overview-graph.network):
        (.timeline-overview-graph.network > .graph-row > .timeline-record-bar):
        Cleaned up since we are using TimelineRecordBar.

        * UserInterface/NetworkTimelineOverviewGraph.js:
        (WebInspector.NetworkTimelineOverviewGraph.prototype.reset):
        (WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout.createBar):
        (WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout):
        Use TimelineRecordBar.createCombinedBars.

        * UserInterface/ScriptTimelineOverviewGraph.js:
        (WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout.createBar):
        (WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout):
        Use TimelineRecordBar.createCombinedBars.

        * UserInterface/TimelineDataGridNode.js:
        (WebInspector.TimelineDataGridNode.prototype.refreshGraph.createBar):
        (WebInspector.TimelineDataGridNode.prototype.refreshGraph):
        Use TimelineRecordBar.createCombinedBars.

        * UserInterface/TimelineRecordBar.css:
        (.timeline-record-bar.unfinished > .segment):
        (.timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
        (:focus .selected .timeline-record-bar > .segment.inactive):
        Improved selected appearance and don't assume .segment.inactive exists.

        * UserInterface/TimelineRecordBar.js:
        (WebInspector.TimelineRecordBar):
        (WebInspector.TimelineRecordBar.createCombinedBars.compareByActiveStartTime): Added.
        (WebInspector.TimelineRecordBar.createCombinedBars): Added.
        (WebInspector.TimelineRecordBar.prototype.get renderMode): Added.
        (WebInspector.TimelineRecordBar.prototype.set renderMode): Added.
        (WebInspector.TimelineRecordBar.prototype.set records):
        (WebInspector.TimelineRecordBar.prototype.refresh):
        Lazily create DOM elements. Support rendering one or both segments. Doing this lets
        combined inactive segments sit behind multiple active segments.

2014-01-22  Timothy Hatcher  <timothy@apple.com>

        Improve collapsing of TimelineDataGridNode graphs up to ancestors.

        https://bugs.webkit.org/show_bug.cgi?id=127440

        Reviewed by Joseph Pecoraro.

        * UserInterface/TimelineDataGridNode.js:
        (WebInspector.TimelineDataGridNode.prototype.collapse):
        (WebInspector.TimelineDataGridNode.prototype.createCellContent):
        (WebInspector.TimelineDataGridNode.prototype.refresh):
        (WebInspector.TimelineDataGridNode.prototype.needsGraphRefresh):
        Notify the next visible ancestor it needs to refresh. Use needsGraphRefresh so ancestors
        are notified instead of directly calling refreshGraph in some places.

2014-01-22  Timothy Hatcher  <timothy@apple.com>

        Don't include a hidden Timeline selection in the navigation path components.

        https://bugs.webkit.org/show_bug.cgi?id=127443

        Reviewed by Joseph Pecoraro.

        * UserInterface/GeneralTreeElementPathComponent.js:
        (WebInspector.GeneralTreeElementPathComponent.prototype.get previousSibling):
        (WebInspector.GeneralTreeElementPathComponent.prototype.get nextSibling):
        Skip hidden siblings.

        * UserInterface/OverviewTimelineView.js:
        (WebInspector.OverviewTimelineView.prototype.updateLayout):
        (WebInspector.OverviewTimelineView.prototype.get selectionPathComponents):
        Don't include hidden selection and dispatch SelectionPathComponentsDidChange event if hidden changes.

        * UserInterface/TimelineContentView.js:
        (WebInspector.TimelineContentView.prototype._timeRangeSelectionChanged):
        Dispatch SelectionPathComponentsDidChange event if hidden changes on the selected tree element.

        * UserInterface/TimelineView.js:
        (WebInspector.TimelineView.prototype.get selectionPathComponents):
        Don't include hidden selection.

2014-01-22  Timothy Hatcher  <timothy@apple.com>

        Support collapsing call site records into the resource timeline.

        Also fix some filtering and graph issues.

        https://bugs.webkit.org/show_bug.cgi?id=127440

        Reviewed by Joseph Pecoraro.

        * UserInterface/NavigationSidebarPanel.js:
        (WebInspector.NavigationSidebarPanel.prototype.updateFilter):
        (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.matchTextFilter):
        (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.makeVisible):
        (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement):
        (WebInspector.NavigationSidebarPanel.prototype._updateFilter):
        Tweak how filtering happens so custom filters never expand to reveal and auto expanded
        tree elements will auto-collapse again later even with custom filters.

        * UserInterface/OverviewTimelineView.css:
        (.timeline-view.overview > .data-grid tr.parent:not(.expanded) td.graph-column .timeline-record-bar:not(.timeline-record-type-network) > .segment):
        (.timeline-view.overview > .data-grid tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar:not(.timeline-record-type-network) > .segment):
        (.timeline-view.overview > .data-grid:focus tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar:not(.timeline-record-type-network) > .segment):
        Add a shadow to provide some negative space between juxtaposed records. Only needed when not expanded.

        * UserInterface/OverviewTimelineView.js:
        (WebInspector.OverviewTimelineView.prototype.updateLayout):
        (WebInspector.OverviewTimelineView.prototype._addResourceToTreeIfNeeded):
        Update the filter when current time changes and only auto expand the main resource.

        * UserInterface/ResourceTimelineDataGridNode.js:
        (WebInspector.ResourceTimelineDataGridNode):
        (WebInspector.ResourceTimelineDataGridNode.prototype._timelineRecordUpdated):
        Don't schedule a refresh of the graph if the record isn't visible.

        * UserInterface/SourceCodeTimelineTimelineDataGridNode.js:
        (WebInspector.SourceCodeTimelineTimelineDataGridNode):
        (WebInspector.SourceCodeTimelineTimelineDataGridNode.prototype._timelineRecordAdded):
        Don't schedule a refresh of the graph if the record isn't visible.

        * UserInterface/TimelineContentView.js:
        (WebInspector.TimelineContentView.prototype._timeRangeSelectionChanged):
        Remove the boolean for updateFilter.

        * UserInterface/TimelineDataGrid.js:
        (WebInspector.TimelineDataGrid.prototype._refreshDirtyDataGridNodes):
        (WebInspector.TimelineDataGrid.prototype._sort):
        Keep the hidden state in-sync between node and element.

        * UserInterface/TimelineDataGridNode.js:
        (WebInspector.TimelineDataGridNode.prototype.collapse):
        (WebInspector.TimelineDataGridNode.prototype.expand):
        (WebInspector.TimelineDataGridNode.prototype.appendChild):
        (WebInspector.TimelineDataGridNode.prototype.insertChild):
        (WebInspector.TimelineDataGridNode.prototype.removeChild):
        (WebInspector.TimelineDataGridNode.prototype.removeChildren):
        (WebInspector.TimelineDataGridNode.prototype.removeChildrenRecursive):
        (WebInspector.TimelineDataGridNode.prototype.refreshGraph.createBarsForRecords):
        (WebInspector.TimelineDataGridNode.prototype.refreshGraph.else.collectRecordsByType.get if):
        (WebInspector.TimelineDataGridNode.prototype.needsGraphRefresh):
        (WebInspector.TimelineDataGridNode.prototype.isRecordVisible):
        Support drawing the children records on the parent graph.

        * UserInterface/TimelineRecordBar.css:
        (.timeline-record-bar.unfinished > .segment):
        (:focus .selected .timeline-record-bar > .segment):
        (:focus .selected .timeline-record-bar > .segment.inactive):
        (:focus .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
        Tweaked styles to look better when selected.

        * UserInterface/TimelineRecordBar.js:
        (WebInspector.TimelineRecordBar.recordsCannotBeCombined):
        (WebInspector.TimelineRecordBar.prototype.set records):
        (WebInspector.TimelineRecordBar.prototype.refresh):
        Drive-by fixes for some bug with bars being reused.

2014-01-21  Timothy Hatcher  <timothy@apple.com>

        Remember the Timeline Overview zoom and selection between sessions.

        https://bugs.webkit.org/show_bug.cgi?id=127369

        Reviewed by Joseph Pecoraro.

        * UserInterface/TimelineOverview.js:
        (WebInspector.TimelineOverview):
        (WebInspector.TimelineOverview.prototype.set secondsPerPixel):
        (WebInspector.TimelineOverview.prototype._timeRangeSelectionChanged):

2014-01-21  Timothy Hatcher  <timothy@apple.com>

        Show the Resource and Record selection path in the navigation bar for Timeline views.

        https://bugs.webkit.org/show_bug.cgi?id=127367

        Reviewed by Joseph Pecoraro.

        * UserInterface/LayoutTimelineView.js:
        (WebInspector.LayoutTimelineView.prototype.treeElementPathComponentSelected):
        (WebInspector.LayoutTimelineView.prototype._dataGridNodeSelected):
        * UserInterface/NetworkTimelineView.js:
        (WebInspector.NetworkTimelineView.prototype.treeElementPathComponentSelected):
        (WebInspector.NetworkTimelineView.prototype._dataGridNodeSelected):
        * UserInterface/OverviewTimelineView.js:
        (WebInspector.OverviewTimelineView.prototype.get selectionPathComponents):
        (WebInspector.OverviewTimelineView.prototype.treeElementPathComponentSelected):
        (WebInspector.OverviewTimelineView.prototype._dataGridNodeSelected):
        * UserInterface/ScriptTimelineView.js:
        (WebInspector.ScriptTimelineView.prototype.treeElementPathComponentSelected):
        (WebInspector.ScriptTimelineView.prototype._dataGridNodeSelected):
        * UserInterface/TimelineContentView.js:
        (WebInspector.TimelineContentView.prototype._timelineViewSelectionPathComponentsDidChange):
        (WebInspector.TimelineContentView.prototype._showTimelineView):
        * UserInterface/TimelineDataGrid.js:
        (WebInspector.TimelineDataGrid.prototype.treeElementForDataGridNode):
        (WebInspector.TimelineDataGrid.prototype.dataGridNodeForTreeElement):
        * UserInterface/TimelineView.js:
        (WebInspector.TimelineView.prototype.get selectionPathComponents):
        (WebInspector.TimelineView.prototype.treeElementPathComponentSelected):

2014-01-20  Timothy Hatcher  <timothy@apple.com>

        Add the recording button back to the Timelines sidebar.

        https://bugs.webkit.org/show_bug.cgi?id=127314

        Reviewed by Joseph Pecoraro.

        * Localizations/en.lproj/localizedStrings.js: Updated.

        * UserInterface/TimelineContentView.js:
        (WebInspector.TimelineContentView.prototype.get navigationItems):
        (WebInspector.TimelineContentView.prototype._update):
        (WebInspector.TimelineContentView.prototype._updateTimes):
        (WebInspector.TimelineContentView.prototype._startUpdatingCurrentTime):
        (WebInspector.TimelineContentView.prototype._recordingTimesUpdated):
        (WebInspector.TimelineContentView.prototype._clearTimeline):
        (WebInspector.TimelineContentView.prototype._recordingReset):
        Add a clear button and reset the time ruler and views when the recording resets.

        * UserInterface/TimelineSidebarPanel.css:
        (.sidebar > .panel.timeline > .status-bar):
        (.sidebar > .panel.timeline > .status-bar > .record-glyph):
        (.sidebar > .panel.timeline > .status-bar > .record-glyph.recording):
        (.sidebar > .panel.timeline > .status-bar > .record-glyph:hover):
        (.sidebar > .panel.timeline > .status-bar > .record-glyph.recording:hover):
        (.sidebar > .panel.timeline > .status-bar > .record-glyph.forced):
        (.sidebar > .panel.timeline > .status-bar > .record-glyph.recording.forced):
        (.sidebar > .panel.timeline > .status-bar > .record-status):
        Add styles for the recording button and status message.

        * UserInterface/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel.prototype._contentBrowserCurrentContentViewDidChange):
        (WebInspector.TimelineSidebarPanel.prototype._recordingStarted):
        (WebInspector.TimelineSidebarPanel.prototype._recordingStopped):
        (WebInspector.TimelineSidebarPanel.prototype._recordGlyphMousedOver):
        (WebInspector.TimelineSidebarPanel.prototype._recordGlyphMousedOut):
        (WebInspector.TimelineSidebarPanel.prototype._recordGlyphClicked):
        Add support for the recording button and status message.

2014-01-20  Timothy Hatcher  <timothy@apple.com>

        Make the TimelineRecordTreeElement location subtitle live.

        https://bugs.webkit.org/show_bug.cgi?id=127270

        Reviewed by Joseph Pecoraro.

        * Localizations/en.lproj/localizedStrings.js: Updated.

        * UserInterface/SourceCodeLocation.js:
        (WebInspector.SourceCodeLocation.prototype.originalLocationString):
        (WebInspector.SourceCodeLocation.prototype.formattedLocationString):
        (WebInspector.SourceCodeLocation.prototype.displayLocationString):
        (WebInspector.SourceCodeLocation.prototype.updateDisplayString):
        (WebInspector.SourceCodeLocation.prototype._locationString):
        Support for a new nameStyle enum and a prefix for the location string.
        Passing the prefix here lets it be italicized with the line number.
        Support column number for SourceCode's without a URL too.

        * UserInterface/TimelineRecordTreeElement.js:
        (WebInspector.TimelineRecordTreeElement):
        (WebInspector.TimelineRecordTreeElement.prototype.onattach):
        Create a subtitle span to update the location inside. Update the tooltip on attach.

2014-01-19  Timothy Hatcher  <timothy@apple.com>

        Generate better display names for timer and event Timeline records.

        Also support AnimationFrameRequested and AnimationFrameCanceled.

        https://bugs.webkit.org/show_bug.cgi?id=127258

        Reviewed by Joseph Pecoraro.

        * Localizations/en.lproj/localizedStrings.js: Updated.

        * UserInterface/LayoutTimelineRecord.js:
        (WebInspector.LayoutTimelineRecord.EventType.displayName):
        Generate past tense names that better match other names.

        * UserInterface/ScriptTimelineDataGridNode.js:
        (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent):
        Pass the details to displayName.

        * UserInterface/ScriptTimelineRecord.js:
        (WebInspector.ScriptTimelineRecord.EventType.displayName):
        Generate better names for timer and event records. Also add missing animation frame types.

        * UserInterface/ScriptTimelineView.js:
        (WebInspector.ScriptTimelineView.prototype._processPendingRecords):
        Pass true to WebInspector.TimelineRecordTreeElement to include timer identifiers in the title.

        * UserInterface/SourceCodeTimelineTreeElement.js:
        (WebInspector.SourceCodeTimelineTreeElement):
        Pass includeTimerIdentifierInMainTitle through to TimelineRecordTreeElement.

        * UserInterface/TimelineManager.js:
        (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
        Include AnimationFrameRequested and AnimationFrameCanceled.

        * UserInterface/TimelineRecordTreeElement.js:
        (WebInspector.TimelineRecordTreeElement):
        Use displayName functions instead and support includeTimerIdentifierInMainTitle.

2014-01-19  Timothy Hatcher  <timothy@apple.com>

        Implement basic versions of the TimelineOverview graphs.

        https://bugs.webkit.org/show_bug.cgi?id=127184

        Reviewed by Joseph Pecoraro.

        * UserInterface/LayoutTimelineOverviewGraph.css: Added.
        (.timeline-overview-graph.layout > .timeline-record-bar):
        (.timeline-overview-graph.layout > .timeline-record-bar > .segment):

        * UserInterface/LayoutTimelineOverviewGraph.js: Added.
        (WebInspector.LayoutTimelineOverviewGraph.prototype.reset):
        (WebInspector.LayoutTimelineOverviewGraph.prototype.updateLayout):
        (WebInspector.LayoutTimelineOverviewGraph.prototype._layoutTimelineRecordAdded):

        * UserInterface/Main.html: Added new files.

        * UserInterface/NetworkTimelineOverviewGraph.css: Added.
        (.timeline-overview-graph.network):
        (.timeline-overview-graph.network > .graph-row):
        (.timeline-overview-graph.network > .graph-row > .bar):
        (.timeline-overview-graph.network > .graph-row > .bar.inactive):
        (.timeline-overview-graph.network > .graph-row > .bar.unfinished):
        (.timeline-overview-graph.network > .graph-row > .bar:not(.inactive)):
        (.timeline-overview-graph.network:nth-child(even) > .graph-row > .bar:not(.inactive)):

        * UserInterface/NetworkTimelineOverviewGraph.js: Added.
        (WebInspector.NetworkTimelineOverviewGraph.prototype.reset):
        (WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout.updateElementPosition):
        (WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout.createBar):
        (WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout):
        (WebInspector.NetworkTimelineOverviewGraph.prototype._networkTimelineRecordAdded.compareByStartTime):
        (WebInspector.NetworkTimelineOverviewGraph.prototype._networkTimelineRecordAdded.insertObjectIntoSortedArray):
        (WebInspector.NetworkTimelineOverviewGraph.prototype._networkTimelineRecordAdded):

        * UserInterface/ScriptTimelineOverviewGraph.css: Added.
        (.timeline-overview-graph.script > .timeline-record-bar):
        (.timeline-overview-graph.script > .timeline-record-bar > .segment):

        * UserInterface/ScriptTimelineOverviewGraph.js: Added.
        (WebInspector.ScriptTimelineOverviewGraph.prototype.reset):
        (WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout):
        (WebInspector.ScriptTimelineOverviewGraph.prototype._scriptTimelineRecordAdded):

        * UserInterface/TimelineContentView.js:
        (WebInspector.TimelineContentView.prototype._showTimelineView):
        (WebInspector.TimelineContentView.prototype._update):
        (WebInspector.TimelineContentView.prototype._recordingReset):
        Create and keep the graphs informed.

        * UserInterface/TimelineDataGridNode.js:
        (WebInspector.TimelineDataGridNode):
        (WebInspector.TimelineDataGridNode.prototype.refreshGraph):
        Combine records that might overlap.

        * UserInterface/TimelineOverview.css:
        (.timeline-overview > .graphs-container):
        (.timeline-overview > .graphs-container > .timeline-overview-graph):
        (.timeline-overview > .graphs-container > .timeline-overview-graph:nth-child(even)):
        (.timeline-overview > .graphs-container > .timeline-overview-graph:not(:first-child)):
        Add the graph rows with alternating stripe.

        * UserInterface/TimelineOverview.js:
        (WebInspector.TimelineOverview):
        (WebInspector.TimelineOverview.prototype.set startTime):
        (WebInspector.TimelineOverview.prototype.get currentTime):
        (WebInspector.TimelineOverview.prototype.set currentTime):
        (WebInspector.TimelineOverview.prototype.updateLayout):
        (WebInspector.TimelineOverview.prototype.updateLayoutIfNeeded):
        Track currentTime in a member variable and let TimelineOverview manage the current time marker.

        * UserInterface/TimelineOverviewGraph.js: Added.
        (WebInspector.TimelineOverviewGraph):
        (WebInspector.TimelineOverviewGraph.prototype.get zeroTime):
        (WebInspector.TimelineOverviewGraph.prototype.set zeroTime):
        (WebInspector.TimelineOverviewGraph.prototype.get startTime):
        (WebInspector.TimelineOverviewGraph.prototype.set startTime):
        (WebInspector.TimelineOverviewGraph.prototype.get endTime):
        (WebInspector.TimelineOverviewGraph.prototype.set endTime):
        (WebInspector.TimelineOverviewGraph.prototype.get currentTime):
        (WebInspector.TimelineOverviewGraph.prototype.set currentTime):
        (WebInspector.TimelineOverviewGraph.prototype.reset):
        (WebInspector.TimelineOverviewGraph.prototype.updateLayout):
        (WebInspector.TimelineOverviewGraph.prototype.updateLayoutIfNeeded):
        (WebInspector.TimelineOverviewGraph.prototype.needsLayout):

        * UserInterface/TimelineRecordBar.css:
        (.timeline-record-bar > .segment):
        (.timeline-record-bar.unfinished > .segment):
        (.timeline-record-bar > .segment.inactive + .segment):
        (.timeline-record-bar.timeline-record-type-network > .segment.inactive):

        * UserInterface/TimelineRecordBar.js:
        (WebInspector.TimelineRecordBar):
        (WebInspector.TimelineRecordBar.recordsCannotBeCombined):
        (WebInspector.TimelineRecordBar.prototype.get records):
        (WebInspector.TimelineRecordBar.prototype.set records):
        (WebInspector.TimelineRecordBar.prototype.refresh):
        Make TimelineRecordBar support multiple records.

        * UserInterface/TimelineRuler.css:
        (.timeline-ruler > .markers):
        (.timeline-ruler > .selection-handle):
        (.timeline-ruler > .shaded-area):
        Add some z-index values to stay above graph elements.

2014-01-16  Timothy Hatcher  <timothy@apple.com>

        Clean up Timelines code by using ES6 features and less global access of TimelineRecording.
        Also don't recreate Timeline objects when TimelineRecording is reset, reset them instead.

        https://bugs.webkit.org/show_bug.cgi?id=127157

        Reviewed by Joseph Pecoraro.

        * UserInterface/LayoutTimelineView.js:
        (WebInspector.LayoutTimelineView.prototype.reset):
        * UserInterface/NetworkTimeline.js:
        (WebInspector.NetworkTimeline):
        (WebInspector.NetworkTimeline.prototype.reset):
        * UserInterface/NetworkTimelineView.js:
        (WebInspector.NetworkTimelineView.prototype.reset):
        * UserInterface/OverviewTimelineView.js:
        (WebInspector.OverviewTimelineView.prototype._networkTimelineRecordAdded):
        * UserInterface/ScriptTimelineView.js:
        (WebInspector.ScriptTimelineView.prototype.reset):
        * UserInterface/Timeline.js:
        (WebInspector.Timeline):
        (WebInspector.Timeline.prototype.reset):
        * UserInterface/TimelineContentView.js:
        (WebInspector.TimelineContentView.set createPathComponent):
        (WebInspector.TimelineContentView.set var):
        (WebInspector.TimelineContentView.prototype.showOverviewTimelineView):
        (WebInspector.TimelineContentView.prototype.showTimelineView):
        (WebInspector.TimelineContentView.prototype._showTimelineView):
        (WebInspector.TimelineContentView.prototype._update):
        (WebInspector.TimelineContentView.prototype._recordingReset):
        * UserInterface/TimelineRecording.js:
        (WebInspector.TimelineRecording.prototype.reset):

2014-01-16  Timothy Hatcher  <timothy@apple.com>

        Improve WebInspector.TimelineOverview by not putting WebInspector.TimelineRuler in a scroll area.

        https://bugs.webkit.org/show_bug.cgi?id=127145

        Reviewed by Joseph Pecoraro.

        * UserInterface/TimelineOverview.css:
        (.timeline-overview > .scroll-container):
        (.timeline-overview > .timeline-ruler):
        (.timeline-overview > .scroll-container > .scroll-width-sizer):
        * UserInterface/TimelineOverview.js:
        (WebInspector.TimelineOverview):
        (WebInspector.TimelineOverview.prototype.get startTime):
        (WebInspector.TimelineOverview.prototype.set startTime):
        (WebInspector.TimelineOverview.prototype.get secondsPerPixel):
        (WebInspector.TimelineOverview.prototype.set secondsPerPixel):
        (WebInspector.TimelineOverview.prototype.get scrollStartTime):
        (WebInspector.TimelineOverview.prototype.set scrollStartTime):
        (WebInspector.TimelineOverview.prototype.get visibleDuration):
        (WebInspector.TimelineOverview.prototype.revealMarker):
        (WebInspector.TimelineOverview.prototype.updateLayout):
        (WebInspector.TimelineOverview.prototype._handleScrollEvent):
        (WebInspector.TimelineOverview.prototype._handleWheelEvent):
        * UserInterface/TimelineRuler.js:
        (WebInspector.TimelineRuler.MinimumSelectionTimeRange): Reduce to 10ms now that super zoom has no performance impact.

2014-01-15  Timothy Hatcher  <timothy@apple.com>

        Implement the discrete Script and Layout timeline views.

        https://bugs.webkit.org/show_bug.cgi?id=127063

        Reviewed by Joseph Pecoraro.

        * Localizations/en.lproj/localizedStrings.js: Updated.

        * UserInterface/DataGrid.js:
        (WebInspector.DataGrid): Support hidden columns by default.
        (WebInspector.DataGrid.prototype.updateLayout): Set the column width to zero for hidden columns.

        * UserInterface/LayoutTimelineDataGrid.js:
        (WebInspector.LayoutTimelineDataGrid): Pass the right parameters to the superclass.

        * UserInterface/LayoutTimelineRecord.js:
        (WebInspector.LayoutTimelineRecord.prototype.saveIdentityToCookie): Added.

        * UserInterface/LayoutTimelineView.css: Copied from Source/WebInspectorUI/UserInterface/ScriptTimelineDataGrid.js.
        (.timeline-view.layout > .data-grid):
        (.timeline-view.layout > .data-grid .eventType-column):
        (.sidebar > .panel.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.layout .item .subtitle):

        * UserInterface/LayoutTimelineView.js: Added.
        (WebInspector.LayoutTimelineView):
        (WebInspector.LayoutTimelineView.prototype.get navigationSidebarTreeOutlineLabel):
        (WebInspector.LayoutTimelineView.prototype.shown):
        (WebInspector.LayoutTimelineView.prototype.hidden):
        (WebInspector.LayoutTimelineView.prototype.updateLayout):
        (WebInspector.LayoutTimelineView.prototype.matchTreeElementAgainstCustomFilters):
        (WebInspector.LayoutTimelineView.prototype._layoutTimelineRecordAdded):
        (WebInspector.LayoutTimelineView.prototype._dataGridFiltersDidChange):
        (WebInspector.LayoutTimelineView.prototype._treeElementSelected):

        * UserInterface/Main.html: Added new files.

        * UserInterface/ScriptTimelineDataGrid.js:
        (WebInspector.ScriptTimelineDataGrid): Pass the right parameters to the superclass.

        * UserInterface/ScriptTimelineDataGridNode.js:
        (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent): Fix up how we create the link.

        * UserInterface/ScriptTimelineRecord.js:
        (WebInspector.ScriptTimelineRecord.prototype.saveIdentityToCookie): Added.

        * UserInterface/ScriptTimelineView.css: Copied from Source/WebInspectorUI/UserInterface/ScriptTimelineDataGrid.js.
        (.timeline-view.script > .data-grid):
        (.timeline-view.script > .data-grid .eventType-column):
        (.sidebar > .panel.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.script .item .subtitle):

        * UserInterface/ScriptTimelineView.js: Added.
        (WebInspector.ScriptTimelineView):
        (WebInspector.ScriptTimelineView.prototype.get navigationSidebarTreeOutlineLabel):
        (WebInspector.ScriptTimelineView.prototype.shown):
        (WebInspector.ScriptTimelineView.prototype.hidden):
        (WebInspector.ScriptTimelineView.prototype.updateLayout):
        (WebInspector.ScriptTimelineView.prototype.matchTreeElementAgainstCustomFilters):
        (WebInspector.ScriptTimelineView.prototype._scriptTimelineRecordAdded):
        (WebInspector.ScriptTimelineView.prototype._dataGridFiltersDidChange):
        (WebInspector.ScriptTimelineView.prototype._treeElementSelected):

        * UserInterface/SourceCodeTimelineTreeElement.js:
        (WebInspector.SourceCodeTimelineTreeElement):
        Moved code to TimelineRecordTreeElement. Subclass from it.

        * UserInterface/TimelineContentView.js:
        (WebInspector.TimelineContentView.prototype.matchTreeElementAgainstCustomFilters): Support TimelineRecordTreeElement.
        (WebInspector.TimelineContentView.prototype._timeRangeSelectionChanged): Update zeroTime for all views.

        * UserInterface/TimelineDataGrid.css:
        (.data-grid.timeline td .icon):
        (.data-grid.timeline td .go-to-arrow):
        (.data-grid.timeline tr:hover .go-to-arrow):
        (.data-grid.timeline td .subtitle):
        (.data-grid.timeline td .subtitle::before):
        (.data-grid.timeline:focus tr.selected td .subtitle):

        * UserInterface/TimelineRecord.js:
        (WebInspector.TimelineRecord.prototype.saveIdentityToCookie): Added.

        * UserInterface/TimelineRecordTreeElement.js: Added.
        (WebInspector.TimelineRecordTreeElement):
        (WebInspector.TimelineRecordTreeElement.prototype.get record):
        (WebInspector.TimelineRecordTreeElement.prototype.get filterableData):
        Factored out from SourceCodeTimelineTreeElement.

        * UserInterface/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.looslyCompareRepresentedObjects):
        (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject):
        Find TreeElements via a loose lookup based on represented objects that might contain the represented object we are
        really looking for.

2014-01-14  Timothy Hatcher  <timothy@apple.com>

        Implement the discrete Network timeline view.

        https://bugs.webkit.org/show_bug.cgi?id=127022

        Reviewed by Joseph Pecoraro.

        * UserInterface/DataGrid.js:
        (WebInspector.DataGrid): Align the labels of the column headers to match the data.
        (WebInspector.DataGridNode.prototype.get selectable): Prevent selection when hidden.

        * UserInterface/DetailsSection.css:
        (.details-section > .header): Bump the font size to match data grid header sizes.

        * UserInterface/Main.html: Add new files.

        * UserInterface/NetworkTimelineView.css: Added.
        (.timeline-view.network > .data-grid):
        (.sidebar > .panel.timeline.timeline-content-view-showing > .content .item.resource .subtitle):
        Hide the domain subtitle when the content view is showing which also has the domain.

        * UserInterface/NetworkTimelineView.js: Added.
        (WebInspector.NetworkTimelineView):
        (WebInspector.NetworkTimelineView.prototype.get navigationSidebarTreeOutlineLabel):
        (WebInspector.NetworkTimelineView.prototype.shown):
        (WebInspector.NetworkTimelineView.prototype.hidden):
        (WebInspector.NetworkTimelineView.prototype.updateLayout):
        (WebInspector.NetworkTimelineView.prototype.matchTreeElementAgainstCustomFilters):
        (WebInspector.NetworkTimelineView.prototype._networkTimelineRecordAdded):
        (WebInspector.NetworkTimelineView.prototype._dataGridFiltersDidChange):
        (WebInspector.NetworkTimelineView.prototype._treeElementSelected):

        * UserInterface/ResourceTimelineDataGridNode.js:
        (WebInspector.ResourceTimelineDataGridNode.prototype._needsRefresh):
        Call dataGridNodeNeedsRefresh on the TimelineDataGrid so things can be batched with
        one request animation frame.

        * UserInterface/TimelineContentView.js:
        (WebInspector.TimelineContentView): Create a NetworkTimelineView.
        (WebInspector.TimelineContentView.prototype.matchTreeElementAgainstCustomFilters):

        * UserInterface/TimelineDataGrid.css:
        (.data-grid.timeline table):
        (.data-grid.timeline th):
        (.data-grid.timeline th:not(:last-child)):
        (.data-grid.timeline th.sortable:active):
        (.data-grid.timeline th.sort-descending):
        (.data-grid.timeline .data-container):
        (.data-grid.timeline td):
        (.data-grid.timeline td:last-child):
        (.data-grid.timeline td:not(:last-child)):
        (.data-grid.timeline:focus tr.selected td:not(:last-child)):
        (.data-grid.timeline th.sort-descending > div:first-child):
        (.data-grid.timeline th.sort-descending > div:first-child::after):
        (.data-grid.timeline td.error):
        (.data-grid.timeline tr.selected td.error):
        (.data-grid.timeline > .navigation-bar-container):
        (.data-grid.timeline:hover > .navigation-bar-container):
        (.data-grid.timeline > .navigation-bar-container > .navigation-bar):

        * UserInterface/TimelineDataGrid.js:
        (WebInspector.TimelineDataGrid):
        (WebInspector.TimelineDataGrid.createColumnScopeBar):
        (WebInspector.TimelineDataGrid.prototype.reset):
        (WebInspector.TimelineDataGrid.prototype.shown):
        (WebInspector.TimelineDataGrid.prototype.hidden):
        (WebInspector.TimelineDataGrid.prototype.callFramePopoverAnchorElement):
        (WebInspector.TimelineDataGrid.prototype.updateLayout):
        (WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters):
        (WebInspector.TimelineDataGrid.prototype.addRowInSortOrder):
        (WebInspector.TimelineDataGrid.prototype.shouldIgnoreSelectionEvent):
        (WebInspector.TimelineDataGrid.prototype.dataGridNodeNeedsRefresh):
        (WebInspector.TimelineDataGrid.prototype._refreshDirtyDataGridNodes):
        (WebInspector.TimelineDataGrid.prototype._sort):
        (WebInspector.TimelineDataGrid.prototype._sortComparator):
        Add support for sorting, batch refresh and managing of a TreeOutlineDataGridSynchronizer.

        * UserInterface/TimelineSidebarPanel.css:
        (.sidebar > .panel.timeline > .title-bar): Bump the font size to match data grid header sizes.

        * UserInterface/TimelineView.js:
        (WebInspector.TimelineView.prototype.matchTreeElementAgainstCustomFilters): Added stub.

        * UserInterface/TreeOutlineDataGridSynchronizer.js:
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype.get treeOutline):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype.get dataGrid):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype.get enabled):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype.set enabled):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype.treeElementForDataGridNode):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype.dataGridNodeForTreeElement):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeOutlineScrolled):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridScrolled):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridNodeSelected):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridNodeExpanded):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridNodeCollapsed):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementSelected):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementAdded):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementRemoved):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementExpanded):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementCollapsed):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementHiddenChanged):
        Added support for disabling the synchronizer when the client can do a better job.

2014-01-13  Timothy Hatcher  <timothy@apple.com>

        Filter the Timeline overview graph and sidebar based on the current time selection.

        https://bugs.webkit.org/show_bug.cgi?id=126955

        Reviewed by Joseph Pecoraro.

        * UserInterface/NavigationSidebarPanel.js:
        (WebInspector.NavigationSidebarPanel.prototype.updateFilter):
        (WebInspector.NavigationSidebarPanel.prototype.hasCustomFilters):
        (WebInspector.NavigationSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
        (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.matchTextFilter):
        (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement):
        Add support for custom filters implemented by subclasses.

        * UserInterface/TimelineContentView.js:
        (WebInspector.TimelineContentView.prototype.matchTreeElementAgainstCustomFilters.checkTimeBounds):
        (WebInspector.TimelineContentView.prototype.matchTreeElementAgainstCustomFilters):
        (WebInspector.TimelineContentView.prototype._timeRangeSelectionChanged):
        Filter known tree element types by time.

        * UserInterface/TimelineSidebarPanel.css:
        (.sidebar > .panel.timeline > .empty-content-placeholder):
        Position the empty placeholder with the content.

        * UserInterface/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel.prototype.hasCustomFilters):
        (WebInspector.TimelineSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
        Defer filtering to the TimelineContentView.

2014-01-13  Timothy Hatcher  <timothy@apple.com>

        Implement state cookie support for WebInspector.TimelineSidebarPanel.

        https://bugs.webkit.org/show_bug.cgi?id=126921

        Reviewed by Joseph Pecoraro.

        * UserInterface/DebuggerSidebarPanel.js:
        (WebInspector.DebuggerSidebarPanel.prototype.restoreStateFromCookie):
        Drive-by fix to pass along relaxedMatchDelay to the superclass.

        * UserInterface/Main.js:
        (WebInspector.loaded):
        (WebInspector._provisionalLoadStarted):
        Listen for ProvisionalLoadStarted instead of ProvisionalLoadCommitted to save the cookie
        before the TimelineRecording is reset and clears the UI.

        * UserInterface/NavigationSidebarPanel.js:
        (WebInspector.NavigationSidebarPanel.prototype.get restoringState): Added.
        (WebInspector.NavigationSidebarPanel.prototype.restoreStateFromCookie.finalAttemptToRestoreViewStateFromCookie):
        Delete _pendingViewStateCookie since this was the final attempt.
        (WebInspector.NavigationSidebarPanel.prototype.restoreStateFromCookie):
        (WebInspector.NavigationSidebarPanel.prototype._isTreeElementWithoutRepresentedObject): Block string represented objects.
        (WebInspector.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie):

        * UserInterface/OverviewTimelineView.js:
        (WebInspector.OverviewTimelineView.prototype._treeElementSelected):

        * UserInterface/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject):
        Drive-by fix to null check parentFrame since it can be null. Was causing an exception while working on this.

        * UserInterface/SourceCodeTimeline.js:
        (WebInspector.SourceCodeTimeline):
        (WebInspector.SourceCodeTimeline.prototype.saveIdentityToCookie):

        * UserInterface/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel.prototype.canShowDifferentContentView):
        (WebInspector.TimelineSidebarPanel.prototype.saveStateToCookie):
        (WebInspector.TimelineSidebarPanel.prototype.restoreStateFromCookie):

        * UserInterface/TreeOutline.js:
        (TreeOutline.prototype._forgetTreeElement):
        Drive-by fix to clear selectedTreeElement if it is removed from the tree. Was causing removed TreeElements to be
        saved as a cookie since it was still the selected item.

2014-01-11  Timothy Hatcher  <timothy@apple.com>

        Implement bar graph rendering for WebInspector.OverviewTimelineView.

        https://bugs.webkit.org/show_bug.cgi?id=126831

        Reviewed by Joseph Pecoraro.

        * UserInterface/Main.html: Added new files.

        * UserInterface/OverviewTimelineView.css:
        (.timeline-view.overview > .data-grid td.graph-column):
        (.timeline-view.overview > .data-grid td.graph-column > div):
        (.timeline-view.overview > .data-grid td.graph-column .timeline-record-bar):
        Position the bars in the DataGrid cells.

        * UserInterface/OverviewTimelineView.js:
        (WebInspector.OverviewTimelineView.prototype.updateLayout):
        (WebInspector.OverviewTimelineView.prototype._addResourceToTreeIfNeeded):
        (WebInspector.OverviewTimelineView.prototype._sourceCodeTimelineAdded):
        Create the proper DataGridNodes for resources and source code timelines.

        * UserInterface/ResourceTimelineDataGridNode.js:
        (WebInspector.ResourceTimelineDataGridNode):
        (WebInspector.ResourceTimelineDataGridNode.prototype.get records):
        (WebInspector.ResourceTimelineDataGridNode.prototype.get resource):
        (WebInspector.ResourceTimelineDataGridNode.prototype.get data):
        (WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent):
        (WebInspector.ResourceTimelineDataGridNode.prototype.refresh):
        (WebInspector.ResourceTimelineDataGridNode.prototype._needsRefresh):
        (WebInspector.ResourceTimelineDataGridNode.prototype._goToResource):
        Simplify by deferring the graph logic to the new TimelineDataGridNode base class.

        * UserInterface/SourceCodeTimelineTimelineDataGridNode.js: Added.
        (WebInspector.SourceCodeTimelineTimelineDataGridNode):
        (WebInspector.SourceCodeTimelineTimelineDataGridNode.prototype.get records):
        (WebInspector.SourceCodeTimelineTimelineDataGridNode.prototype.get sourceCodeTimeline):
        (WebInspector.SourceCodeTimelineTimelineDataGridNode.prototype.get data):

        * UserInterface/TimelineDataGridNode.js: Added.
        (WebInspector.TimelineDataGridNode):
        (WebInspector.TimelineDataGridNode.prototype.get records):
        (WebInspector.TimelineDataGridNode.prototype.get data):
        (WebInspector.TimelineDataGridNode.prototype.createCellContent):
        (WebInspector.TimelineDataGridNode.prototype.refresh):
        (WebInspector.TimelineDataGridNode.prototype.refreshGraph):
        (WebInspector.TimelineDataGridNode.prototype.needsGraphRefresh):
        Handles the graph column and manages the records and their bars.

        * UserInterface/TimelineRecordBar.css: Added.
        (.timeline-record-bar):
        (.timeline-record-bar > .segment):
        (.timeline-record-bar:not(.has-inactive-segment) > .segment):
        (.timeline-record-bar.unfinished > .segment):
        (.timeline-record-bar > .segment.inactive + .segment):
        (:focus .selected .timeline-record-bar > .segment):
        (.timeline-record-bar > .segment.inactive):
        (.timeline-record-bar.timeline-record-type-network > .segment):
        (.timeline-record-bar.timeline-record-type-layout > .segment):
        (.timeline-record-bar.timeline-record-type-script > .segment):

        * UserInterface/TimelineRecordBar.js: Added.
        (WebInspector.TimelineRecordBar):
        (WebInspector.TimelineRecordBar.prototype.get element):
        (WebInspector.TimelineRecordBar.prototype.refresh):
        (WebInspector.TimelineRecordBar.prototype._updateElementPosition):

2014-01-08  Timothy Hatcher  <timothy@apple.com>

        Update the current WebInspector.TimelineView when time range changes.

        https://bugs.webkit.org/show_bug.cgi?id=126667

        Reviewed by Joseph Pecoraro.

        * UserInterface/TimelineContentView.js:
        (WebInspector.TimelineContentView.prototype._showTimelineView):
        (WebInspector.TimelineContentView.prototype._update):
        (WebInspector.TimelineContentView.prototype._startUpdatingCurrentTime):
        (WebInspector.TimelineContentView.prototype._stopUpdatingCurrentTime):
        (WebInspector.TimelineContentView.prototype._recordingStarted):
        (WebInspector.TimelineContentView.prototype._recordingStopped):
        (WebInspector.TimelineContentView.prototype._recordingReset):
        (WebInspector.TimelineContentView.prototype._timeRangeSelectionChanged):
        * UserInterface/TimelineOverview.js:
        (WebInspector.TimelineOverview):
        (WebInspector.TimelineOverview.prototype.updateLayout):
        (WebInspector.TimelineOverview.prototype.updateLayoutIfNeeded):
        (WebInspector.TimelineOverview.prototype._updateElementWidth):
        (WebInspector.TimelineOverview.prototype._handleWheelEvent):
        (WebInspector.TimelineOverview.prototype._timeRangeSelectionChanged):
        * UserInterface/TimelineRuler.js:
        (WebInspector.TimelineRuler.prototype.updateLayoutIfNeeded):
        * UserInterface/TimelineView.js:
        (WebInspector.TimelineView):
        (WebInspector.TimelineView.prototype.get zeroTime):
        (WebInspector.TimelineView.prototype.set zeroTime):
        (WebInspector.TimelineView.prototype.get startTime):
        (WebInspector.TimelineView.prototype.set startTime):
        (WebInspector.TimelineView.prototype.get endTime):
        (WebInspector.TimelineView.prototype.set endTime):
        (WebInspector.TimelineView.prototype.get currentTime):
        (WebInspector.TimelineView.prototype.set currentTime.checkIfLayoutIsNeeded):
        (WebInspector.TimelineView.prototype.set currentTime):
        (WebInspector.TimelineView.prototype.updateLayout):
        (WebInspector.TimelineView.prototype.updateLayoutIfNeeded):
        (WebInspector.TimelineView.prototype.needsLayout):

2013-12-19  Timothy Hatcher  <timothy@apple.com>

        Implement time range selection for TimelineOverview and TimelineRuler.

        https://bugs.webkit.org/show_bug.cgi?id=126035

        Reviewed by Joseph Pecoraro.

        * UserInterface/TimelineContentView.js:
        (WebInspector.TimelineContentView.prototype._update):
        (WebInspector.TimelineContentView.prototype._recordingReset):
        Properly update start time and the selection start time on reset.

        * UserInterface/TimelineOverview.js:
        (WebInspector.TimelineOverview):
        (WebInspector.TimelineOverview.prototype.get selectionStartTime):
        (WebInspector.TimelineOverview.prototype.set selectionStartTime):
        (WebInspector.TimelineOverview.prototype.get selectionDuration):
        (WebInspector.TimelineOverview.prototype.set selectionDuration):
        Added selection getters and setters.

        * UserInterface/TimelineRuler.css:
        (.timeline-ruler.allows-time-range-selection):
        (.timeline-ruler > *):
        (.timeline-ruler > .header):
        (.timeline-ruler > .selection-drag):
        (.timeline-ruler > .selection-drag:active):
        (.timeline-ruler > .selection-handle):
        (.timeline-ruler > .selection-handle.left):
        (.timeline-ruler > .selection-handle.right):
        (.timeline-ruler > .shaded-area):
        (.timeline-ruler > .shaded-area.left):
        (.timeline-ruler > .shaded-area.right):
        Added styles for the selection elements and tweaked pointer-events to allow
        events on elements we expect.

        * UserInterface/TimelineRuler.js:
        (WebInspector.TimelineRuler):
        (WebInspector.TimelineRuler.prototype.get allowsTimeRangeSelection): Added.
        (WebInspector.TimelineRuler.prototype.set allowsTimeRangeSelection): Added.
        (WebInspector.TimelineRuler.prototype.get selectionStartTime): Added.
        (WebInspector.TimelineRuler.prototype.set selectionStartTime): Added.
        (WebInspector.TimelineRuler.prototype.get selectionEndTime): Added.
        (WebInspector.TimelineRuler.prototype.set selectionEndTime): Added.
        (WebInspector.TimelineRuler.prototype.updateLayout):
        (WebInspector.TimelineRuler.prototype._needsMarkerLayout.update):
        (WebInspector.TimelineRuler.prototype._needsMarkerLayout):
        (WebInspector.TimelineRuler.prototype._needsSelectionLayout.update):
        (WebInspector.TimelineRuler.prototype._needsSelectionLayout):
        (WebInspector.TimelineRuler.prototype._recalculate):
        (WebInspector.TimelineRuler.prototype._updatePositionOfElement):
        (WebInspector.TimelineRuler.prototype._updateMarkers):
        (WebInspector.TimelineRuler.prototype._updateSelection): Added.
        (WebInspector.TimelineRuler.prototype._dispatchTimeRangeSelectionChangedEvent):
        (WebInspector.TimelineRuler.prototype._timelineMarkerTimeChanged):
        (WebInspector.TimelineRuler.prototype._handleMouseDown): Added.
        (WebInspector.TimelineRuler.prototype._handleMouseMove): Added.
        (WebInspector.TimelineRuler.prototype._handleMouseUp): Added.
        (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseDown): Added.
        (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseMove): Added.
        (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseUp): Added.
        Create selection elements and handle mouse events for drag and move.

2013-12-17  Timothy Hatcher  <timothy@apple.com>

        Support scroll to zoom in TimelineOverview.

        https://bugs.webkit.org/show_bug.cgi?id=125909

        Reviewed by Joseph Pecoraro.

        * UserInterface/TimelineOverview.js:
        (WebInspector.TimelineOverview):
        (WebInspector.TimelineOverview.prototype._handleWheelEvent):

2013-12-17  Timothy Hatcher  <timothy@apple.com>

        Add the start of the TimelineOverview class.

        TimelineOverview currently has a time ruler and tracks the current recording time.

        https://bugs.webkit.org/show_bug.cgi?id=125878

        Reviewed by Joseph Pecoraro.

        * UserInterface/Main.html:
        * UserInterface/TimelineContentView.css:
        (.content-view.timeline > .timeline-overview):
        * UserInterface/TimelineContentView.js:
        (WebInspector.TimelineContentView):
        (WebInspector.TimelineContentView.prototype.updateLayout):
        (WebInspector.TimelineContentView.prototype._update):
        (WebInspector.TimelineContentView.prototype._recordingStarted):
        (WebInspector.TimelineContentView.prototype._recordingStopped):
        (WebInspector.TimelineContentView.prototype._recordingReset):
        * UserInterface/TimelineManager.js:
        (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
        (WebInspector.TimelineManager.prototype.eventRecorded):
        * UserInterface/TimelineMarker.js: Renamed from Source/WebInspectorUI/UserInterface/TimelineEventMarker.js.
        (WebInspector.TimelineMarker):
        (WebInspector.TimelineMarker.prototype.get time):
        (WebInspector.TimelineMarker.prototype.set time):
        (WebInspector.TimelineMarker.prototype.get type):
        * UserInterface/TimelineOverview.css: Added.
        (.timeline-overview > .scroll-container):
        (.timeline-overview > .scroll-container > .timeline-ruler):
        * UserInterface/TimelineOverview.js: Added.
        (WebInspector.TimelineOverview):
        (WebInspector.TimelineOverview.prototype.get element):
        (WebInspector.TimelineOverview.prototype.get startTime):
        (WebInspector.TimelineOverview.prototype.set startTime):
        (WebInspector.TimelineOverview.prototype.get secondsPerPixel):
        (WebInspector.TimelineOverview.prototype.set secondsPerPixel):
        (WebInspector.TimelineOverview.prototype.get endTime):
        (WebInspector.TimelineOverview.prototype.set endTime):
        (WebInspector.TimelineOverview.prototype.addMarker):
        (WebInspector.TimelineOverview.prototype.revealMarker):
        (WebInspector.TimelineOverview.prototype.updateLayout):
        (WebInspector.TimelineOverview.prototype._updateElementWidth):
        (WebInspector.TimelineOverview.prototype._needsLayout):
        * UserInterface/TimelineRecording.js:
        (WebInspector.TimelineRecording.prototype.get startTime):
        (WebInspector.TimelineRecording.prototype.get endTime):
        (WebInspector.TimelineRecording.prototype.reset):
        * UserInterface/TimelineRuler.css:
        (.timeline-ruler > .markers):
        (.timeline-ruler > .markers > .marker):
        (.timeline-ruler > .markers > .marker.current-time):
        (.timeline-ruler > .markers > .marker.current-time::before):
        (.timeline-ruler > .markers > .marker.load-event):
        (.timeline-ruler > .markers > .marker.dom-content-event):
        (.timeline-ruler > .markers > .marker.timestamp):
        * UserInterface/TimelineRuler.js:
        (WebInspector.TimelineRuler):
        (WebInspector.TimelineRuler.prototype.updateLayout):
        (WebInspector.TimelineRuler.prototype._needsLayout):
        (WebInspector.TimelineRuler.prototype._needsMarkerLayout.update):
        (WebInspector.TimelineRuler.prototype._needsMarkerLayout):
        (WebInspector.TimelineRuler.prototype._recalculate):
        (WebInspector.TimelineRuler.prototype._updateLeftPositionOfElement):
        (WebInspector.TimelineRuler.prototype._updateMarkers):
        (WebInspector.TimelineRuler.prototype._timelineMarkerTimeChanged):

2013-12-13  Timothy Hatcher  <timothy@apple.com>

        Clean up and refactor TimelineDecorations into TimelineRuler.

        https://bugs.webkit.org/show_bug.cgi?id=125709

        Reviewed by Joseph Pecoraro.

        * UserInterface/Main.html:
        * UserInterface/OverviewTimelineView.css:
        (.timeline-view.overview > .timeline-ruler):
        (.timeline-view.overview > .timeline-ruler > .header):
        (.timeline-view.overview > .timeline-ruler > .event-markers):
        Updated class names and border sides.

        * UserInterface/OverviewTimelineView.js:
        (WebInspector.OverviewTimelineView):
        (WebInspector.OverviewTimelineView.prototype.updateLayout):
        Call updateLayout on the TimelineRuler.

        * UserInterface/TimelineRuler.css: Renamed from Source/WebInspectorUI/UserInterface/TimelineDecorations.css.
        (.timeline-ruler):
        (.timeline-ruler > .header):
        (.timeline-ruler > .header > .divider):
        (.timeline-ruler > .header > .divider > .label):
        (.timeline-ruler > .event-markers):
        (.timeline-ruler > .event-markers > .event-marker-tooltip):
        (.timeline-ruler > .event-markers > .event-marker):
        (.timeline-ruler > .event-markers > .event-marker.load-event):
        (.timeline-ruler > .event-markers > .event-marker.dom-content-event):
        (.timeline-ruler > .event-markers > .event-marker.timestamp):
        Updated class names and border sides.

        * UserInterface/TimelineRuler.js: Renamed from Source/WebInspectorUI/UserInterface/TimelineDecorations.js.
        (WebInspector.TimelineRuler):
        (WebInspector.TimelineRuler.prototype.get element):
        (WebInspector.TimelineRuler.prototype.get headerElement):
        (WebInspector.TimelineRuler.prototype.get allowsClippedLabels):
        (WebInspector.TimelineRuler.prototype.set allowsClippedLabels):
        (WebInspector.TimelineRuler.prototype.get zeroTime):
        (WebInspector.TimelineRuler.prototype.set zeroTime):
        (WebInspector.TimelineRuler.prototype.get startTime):
        (WebInspector.TimelineRuler.prototype.set startTime):
        (WebInspector.TimelineRuler.prototype.get duration):
        (WebInspector.TimelineRuler.prototype.set duration):
        (WebInspector.TimelineRuler.prototype.get endTime):
        (WebInspector.TimelineRuler.prototype.set endTime):
        (WebInspector.TimelineRuler.prototype.get secondsPerPixel):
        (WebInspector.TimelineRuler.prototype.set secondsPerPixel):
        (WebInspector.TimelineRuler.prototype.updateLayout.removeDividerAndSelectNext):
        (WebInspector.TimelineRuler.prototype.updateLayout):
        (WebInspector.TimelineRuler.prototype._needsLayout):
        (WebInspector.TimelineRuler.prototype._recalculate):
        Refactor so the times are stored on TimelineRuler and not passed in each time an update is needed.
        Support dividers that don't always start at the zero position, allowing a sliding time ruler.
        Support for a non-pinned ruler where the end time is not fixed and the scale is specified in
        seconds-per-pixel.

2014-01-08  Timothy Hatcher  <timothy@apple.com>

        Improve scroll performance of WebInspector.TreeOutlineDataGridSynchronizer.

        https://bugs.webkit.org/show_bug.cgi?id=126660

        Reviewed by Joseph Pecoraro.

        * UserInterface/TreeOutlineDataGridSynchronizer.js:
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeOutlineScrolled):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridScrolled):
        Ignore scroll events triggered by our internal use of setting scrollTop.

2013-11-15  Timothy Hatcher  <timothy@apple.com>

        Add a synchronized DataGrid to the OverviewTimelineView.

        The DataGrid is synchronized with the sidebar TreeOutline to appear as one when the view
        and sidebar are both showing. The two scroll, expand and collapse in sync when the view
        is showing. When the view is not showing the sidebar can scroll independently.

        https://bugs.webkit.org/show_bug.cgi?id=124429

        Reviewed by Joseph Pecoraro.

        * UserInterface/DataGrid.js:
        (WebInspector.DataGrid):
        (WebInspector.DataGrid.createSortableDataGrid):
        (WebInspector.DataGrid.prototype._copyTextForDataGridNode):
        (WebInspector.DataGridNode.prototype.createCellContent):
        Handle undefined/null cells better by substituting empty strings.

        (WebInspector.DataGridNode.prototype.collapse):
        (WebInspector.DataGridNode.prototype.expand):
        Fire events on the DataGrid for expand and collapse.

        * UserInterface/Main.html: Include TreeOutlineDataGridSynchronizer.js.

        * UserInterface/NavigationSidebarPanel.css:
        (.sidebar > .panel.navigation > .content): Shorten by 1px to match the content view height.
        Needed to keep scrolling in sync. The clipping looks better too.

        * UserInterface/OverviewTimelineView.css:
        (.timeline-view.overview > .data-grid):
        (.timeline-view.overview > .data-grid table.header):
        (.timeline-view.overview > .data-grid .data-container):
        Style the DataGrid to to not have a header.

        * UserInterface/OverviewTimelineView.js:
        (WebInspector.OverviewTimelineView):
        (WebInspector.OverviewTimelineView.prototype.shown):
        (WebInspector.OverviewTimelineView.prototype._addResourceToTreeIfNeeded):
        (WebInspector.OverviewTimelineView.prototype._sourceCodeTimelineAdded):
        Create the DataGrid and some placeholder nodes. Hook up TreeOutlineDataGridSynchronizer.

        * UserInterface/TimelineContentView.css:
        (.content-view.timeline > .view-container > .timeline-view > .data-grid td):
        (.content-view.timeline > .view-container > .timeline-view > .data-grid table.data):
        Style the DataGrid to match the height of TreeElements in the sidebar.

        * UserInterface/TimelineSidebarPanel.css:
        (.sidebar > .panel.timeline.timeline-content-view-showing > .content):
        Hide the scrollbar off the right when the view is showing. The view will show the scrollbar.

        * UserInterface/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel):
        (WebInspector.TimelineSidebarPanel.prototype._timelinesTreeElementSelected):
        (WebInspector.TimelineSidebarPanel.prototype._contentBrowserCurrentContentViewDidChange):

        * UserInterface/TreeOutline.js:
        (TreeOutline.prototype.removeChildAtIndex):
        (TreeOutline.prototype.removeChildren):
        (TreeOutline.prototype.removeChildrenRecursive):
        (TreeElement.prototype.set hidden):
        Add event callbacks for onhidden and onremove.

        * UserInterface/TreeOutlineDataGridSynchronizer.js: Added.
        (WebInspector.TreeOutlineDataGridSynchronizer):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype.associate):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype.synchronize):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeOutlineScrolled):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridScrolled):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridNodeSelected):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridNodeExpanded):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridNodeCollapsed):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementSelected):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementAdded):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementRemoved):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementExpanded):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementCollapsed):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementHiddenChanged):

2013-11-07  Timothy Hatcher  <timothy@apple.com>

        Start fleshing out the Overview Timeline view.

        This gets the overview populating in the Timeline sidebar. The graph side is still empty.

        https://bugs.webkit.org/show_bug.cgi?id=124005

        Reviewed by Joseph Pecoraro.

        * Localizations/en.lproj/localizedStrings.js: Updated.
        * UserInterface/Frame.js:
        (WebInspector.Frame.prototype.addResource):
        * UserInterface/Images/TimelineRecordAnimation.svg: Added.
        * UserInterface/Images/TimelineRecordEvent.svg: Added.
        * UserInterface/Images/TimelineRecordLayout.svg: Added.
        * UserInterface/Images/TimelineRecordPaint.svg: Added.
        * UserInterface/Images/TimelineRecordScriptEvaluated.svg: Added.
        * UserInterface/Images/TimelineRecordStyle.svg: Added.
        * UserInterface/Images/TimelineRecordTimer.svg: Added.
        * UserInterface/Main.html:
        * UserInterface/OverviewTimelineView.js: Added.
        (WebInspector.OverviewTimelineView):
        (WebInspector.OverviewTimelineView.prototype.get navigationSidebarTreeOutlineLabel):
        (WebInspector.OverviewTimelineView.prototype._childFrameWasAdded):
        (WebInspector.OverviewTimelineView.prototype._mainResourceDidChange):
        (WebInspector.OverviewTimelineView.prototype._provisionalResourceWasAdded):
        (WebInspector.OverviewTimelineView.prototype._resourceWasAdded):
        (WebInspector.OverviewTimelineView.prototype._compareTreeElementsByDetails):
        (WebInspector.OverviewTimelineView.prototype._compareTreeElementsByStartTime):
        (WebInspector.OverviewTimelineView.prototype._insertTreeElement):
        (WebInspector.OverviewTimelineView.prototype._addResourceToTreeIfNeeded):
        (WebInspector.OverviewTimelineView.prototype._sourceCodeTimelineAdded):
        (WebInspector.OverviewTimelineView.prototype._treeElementSelected):
        * UserInterface/SourceCodeTimelineTreeElement.js: Added.
        (WebInspector.SourceCodeTimelineTreeElement):
        (WebInspector.SourceCodeTimelineTreeElement.prototype.get sourceCodeTimeline):
        * UserInterface/TimelineContentView.js:
        (WebInspector.TimelineContentView.createPathComponent):
        (WebInspector.TimelineContentView):
        (WebInspector.TimelineContentView.prototype.showOverviewTimelineView):
        (WebInspector.TimelineContentView.prototype.showTimelineView):
        (WebInspector.TimelineContentView.prototype.get supportsSplitContentBrowser):
        (WebInspector.TimelineContentView.prototype.get selectionPathComponents):
        (WebInspector.TimelineContentView.prototype._pathComponentSelected):
        (WebInspector.TimelineContentView.prototype._showTimelineView):
        (WebInspector.TimelineContentView.prototype._recordingReset):
        * UserInterface/TimelineIcons.css:
        (.style-record .icon): Added.
        (.layout-record .icon): Added.
        (.paint-record .icon): Added.
        (.evaluated-record .icon): Added.
        (.event-record .icon): Added.
        (.timer-record .icon): Added.
        (.animation-record .icon): Added.
        * UserInterface/TimelineView.css: Added.
        (.timeline-view):
        * UserInterface/TimelineView.js: Added.
        (WebInspector.TimelineView):
        (WebInspector.TimelineView.prototype.get navigationSidebarTreeOutline):
        (WebInspector.TimelineView.prototype.get navigationSidebarTreeOutlineLabel):
        (WebInspector.TimelineView.prototype.reset):
        (WebInspector.TimelineView.prototype.shown):
        (WebInspector.TimelineView.prototype.hidden):

2013-11-07  Timothy Hatcher  <timothy@apple.com>

        Start fleshing out the new TimelineSidebarPanel and TimelineContentView.

        https://bugs.webkit.org/show_bug.cgi?id=124003

        Reviewed by Joseph Pecoraro.

        * UserInterface/ContentView.js:
        (WebInspector.ContentView):
        (WebInspector.ContentView.isViewable):
        * UserInterface/FrameContentView.js:
        * UserInterface/Images/CloseTimeline.png: Added.
        * UserInterface/Images/CloseTimeline@2x.png: Added.
        * UserInterface/Images/ColorsLarge.png: Added.
        * UserInterface/Images/ColorsLarge@2x.png: Added.
        * UserInterface/Images/NetworkLarge.png: Added.
        * UserInterface/Images/NetworkLarge@2x.png: Added.
        * UserInterface/Images/ScriptLarge.png: Added.
        * UserInterface/Images/ScriptLarge@2x.png: Added.
        * UserInterface/Main.html:
        * UserInterface/Main.js:
        (WebInspector.sidebarPanelForRepresentedObject):
        (WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar):
        * UserInterface/NavigationSidebarPanel.js:
        (WebInspector.NavigationSidebarPanel.prototype.showDefaultContentView):
        * UserInterface/ResourceClusterContentView.js:
        * UserInterface/TimelineContentView.css: Added.
        (.content-view.timeline > .view-container):
        * UserInterface/TimelineContentView.js: Added.
        (WebInspector.TimelineContentView):
        * UserInterface/TimelineIcons.css: Renamed from Source/WebInspectorUI/UserInterface/InstrumentIcons.css.
        (.network-icon.large .icon): Added.
        (.colors-icon.large .icon): Added.
        (.script-icon.large .icon): Added.
        * UserInterface/TimelineSidebarPanel.css:
        (.sidebar > .panel.timeline > .navigation-bar):
        (.sidebar > .panel.timeline > .title-bar):
        (.sidebar > .panel.timeline > .title-bar.timelines):
        (.sidebar > .panel.timeline > .title-bar.timeline-events):
        (.sidebar > .panel.timeline > .timelines-content):
        (.sidebar > .panel.timeline > .timelines-content .close-button):
        (.sidebar > .panel.timeline > .timelines-content li.item.selected .close-button):
        (.sidebar > .panel.timeline > .timelines-content .close-button:active):
        (.sidebar > .panel.timeline > .content):
        * UserInterface/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel.createTimelineTreeElement):
        (WebInspector.TimelineSidebarPanel):
        (WebInspector.TimelineSidebarPanel.prototype.showDefaultContentView):
        (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject):
        (WebInspector.TimelineSidebarPanel.prototype.get contentTreeOutlineLabel):
        (WebInspector.TimelineSidebarPanel.prototype.set contentTreeOutlineLabel):
        (WebInspector.TimelineSidebarPanel.prototype.showTimelineOverview):
        (WebInspector.TimelineSidebarPanel.prototype.showTimelineView):
        (WebInspector.TimelineSidebarPanel.prototype._timelinesTreeElementSelected):

2014-01-08  Timothy Hatcher  <timothy@apple.com>

        Correctly track time bounds of WebInspector.Timeline and WebInspector.TimelineRecording.

        The startTime and endTime were not correct when Network timeline needed to be taken into
        account (due to its dynamic loading nature.) This creates a network Timeline for the purposes
        of tracking the ResourceTimelineRecords and getting accurate start and end times.

        Also changes the way TimelineRecord tracks the inactive portion of time, needed for later
        work on the timeline graphs.

        https://bugs.webkit.org/show_bug.cgi?id=126676

        Reviewed by Joseph Pecoraro.

        * UserInterface/ResourceTimelineRecord.js:
        (WebInspector.ResourceTimelineRecord.prototype.get updatesDynamically):
        (WebInspector.ResourceTimelineRecord.prototype.get usesActiveStartTime):
        (WebInspector.ResourceTimelineRecord.prototype.get startTime):
        (WebInspector.ResourceTimelineRecord.prototype.get activeStartTime):
        (WebInspector.ResourceTimelineRecord.prototype.get endTime):
        * UserInterface/Timeline.js:
        (WebInspector.Timeline):
        (WebInspector.Timeline.prototype.get startTime):
        (WebInspector.Timeline.prototype.get endTime):
        (WebInspector.Timeline.prototype.addRecord):
        (WebInspector.Timeline.prototype._updateTimesIfNeeded):
        (WebInspector.Timeline.prototype._recordUpdated):
        * UserInterface/TimelineRecord.js:
        (WebInspector.TimelineRecord.prototype.get startTime):
        (WebInspector.TimelineRecord.prototype.get activeStartTime):
        (WebInspector.TimelineRecord.prototype.get endTime):
        (WebInspector.TimelineRecord.prototype.get inactiveDuration):
        (WebInspector.TimelineRecord.prototype.get activeDuration):
        (WebInspector.TimelineRecord.prototype.get updatesDynamically):
        (WebInspector.TimelineRecord.prototype.get usesActiveStartTime):
        * UserInterface/TimelineRecording.js:
        (WebInspector.TimelineRecording.prototype._timelineTimesUpdated):

2013-10-25  Timothy Hatcher  <timothy@apple.com>

        Implement TimelineRecording and per-call-site timelines.

        Keep track of timeline records per global timeline and per source code location.
        This will be used to display them in the UI in later patches.

        https://bugs.webkit.org/show_bug.cgi?id=123367

        Reviewed by Joseph Pecoraro.

        * UserInterface/Main.html:
        * UserInterface/SourceCodeTimeline.js: Added.
        (WebInspector.SourceCodeTimeline):
        (WebInspector.SourceCodeTimeline.prototype.get sourceCode):
        (WebInspector.SourceCodeTimeline.prototype.get sourceCodeLocation):
        (WebInspector.SourceCodeTimeline.prototype.get recordType):
        (WebInspector.SourceCodeTimeline.prototype.get recordEventType):
        * UserInterface/Timeline.js: Added.
        (WebInspector.Timeline):
        (WebInspector.Timeline.prototype.get records):
        (WebInspector.Timeline.prototype.addRecord):
        * UserInterface/TimelineRecording.js:
        (WebInspector.TimelineRecording):
        (WebInspector.TimelineRecording.prototype.get timelines): Added.
        (WebInspector.TimelineRecording.prototype.sourceCodeTimelinesForSourceCode): Added.
        (WebInspector.TimelineRecording.prototype.addEventMarker): Implemented.
        (WebInspector.TimelineRecording.prototype.addRecord): Implemented.
        (WebInspector.TimelineRecording.prototype._keyForRecord): Added.

2013-10-25  Timothy Hatcher  <timothy@apple.com>

        Add support for multiple Timeline recordings.

        We also don't explicitly add ResourceTimelineRecords anymore. These will be tracked automatically in a later patch.

        https://bugs.webkit.org/show_bug.cgi?id=123366

        Reviewed by Joseph Pecoraro.

        * UserInterface/DashboardManager.js:
        (WebInspector.DashboardManager.prototype._mainResourceDidChange): Check for currentRecording.
        * UserInterface/InspectorFrontendAPI.js:
        (InspectorFrontendAPI.isTimelineProfilingEnabled): Check for currentRecording.
        * UserInterface/Main.html:
        * UserInterface/TimelineManager.js:
        (WebInspector.TimelineManager):
        (WebInspector.TimelineManager.prototype.get currentRecording): Added.
        (WebInspector.TimelineManager.prototype.startRecording): Make a new recording and push it onto the recording array.
        Add the current recording to the event.
        (WebInspector.TimelineManager.prototype.stopRecording): Add the current recording to the event.
        (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Check for currentRecording. Add the markers
        to the current recording.
        (WebInspector.TimelineManager.prototype._addRecord): Add the record to the current recording.
        (WebInspector.TimelineManager.prototype._startAutoRecording): Clean up. Don't add ResourceTimelineRecord. Clear recordings.
        (WebInspector.TimelineManager.prototype._stopAutoRecordingSoon): Check for _currentRecording.
        (WebInspector.TimelineManager.prototype._resetAutoRecordingDeadTimeTimeout): Ditto.
        (WebInspector.TimelineManager.prototype._mainResourceDidChange): Don't add ResourceTimelineRecord anymore.
        (WebInspector.TimelineManager.prototype._resourceWasAdded): Removed.
        * UserInterface/TimelineRecording.js: Added.
        (WebInspector.TimelineRecording): Added.
        (WebInspector.TimelineRecording.prototype.addEventMarker): Added.
        (WebInspector.TimelineRecording.prototype.addRecord): Added.

2013-10-25  Timothy Hatcher  <timothy@apple.com>

        Track callFrames and sourceCodeLocation per TimelineRecord.

        https://bugs.webkit.org/show_bug.cgi?id=123359

        Reviewed by Joseph Pecoraro.

        * UserInterface/LayoutTimelineRecord.js:
        (WebInspector.LayoutTimelineRecord): Pass callFrames and sourceCodeLocation to superclass.
        * UserInterface/ScriptTimelineRecord.js:
        (WebInspector.ScriptTimelineRecord): Pass callFrames and sourceCodeLocation to superclass.
        * UserInterface/TimelineManager.js:
        (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Add "Payload" suffix to better track what is a protocol object.
        Pass the callFrames and sourceCodeLocation to all the new TimelineRecords.
        (WebInspector.TimelineManager.prototype.eventRecorded): Add "Payload" suffix.
        * UserInterface/TimelineRecord.js:
        (WebInspector.TimelineRecord):
        (WebInspector.TimelineRecord.prototype.get callFrames): Added.
        (WebInspector.TimelineRecord.prototype.get initiatorCallFrame): Added.
        (WebInspector.TimelineRecord.prototype.get sourceCodeLocation): Added.

2013-10-25  Timothy Hatcher  <timothy@apple.com>

        Change how the load and content ready event timestamps are tracked.

        https://bugs.webkit.org/show_bug.cgi?id=123356

        Reviewed by Joseph Pecoraro.

        * UserInterface/DashboardManager.js:
        (WebInspector.DashboardManager.prototype._updateTime): Use the timestamps on the main frame.
        * UserInterface/Frame.js:
        (WebInspector.Frame):
        (WebInspector.Frame.prototype.get domContentReadyEventTimestamp): Added.
        (WebInspector.Frame.prototype.get loadEventTimestamp): Added.
        (WebInspector.Frame.prototype.markDOMContentReadyEvent): Added.
        (WebInspector.Frame.prototype.markLoadEvent): Added.
        * UserInterface/TimelineManager.js:
        (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Use markLoadEvent and markDOMContentReadyEvent.
        Do it for all frames, not just the main frame.
        (WebInspector.TimelineManager.prototype.pageDidLoad): Call markLoadEvent on the Frame.

2013-10-25  Timothy Hatcher  <timothy@apple.com>

        Remove a lot of the current Timelines code to make room for a new implementation.

        https://bugs.webkit.org/show_bug.cgi?id=123368

        Reviewed by Joseph Pecoraro.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/ContentView.js:
        (WebInspector.ContentView):
        (WebInspector.ContentView.isViewable):
        * UserInterface/DashboardView.js:
        (WebInspector.DashboardView.prototype._networkItemWasClicked):
        * UserInterface/InspectorFrontendAPI.js:
        (InspectorFrontendAPI.setTimelineProfilingEnabled):
        (InspectorFrontendAPI.stopProfilingJavaScript):
        * UserInterface/InstrumentSidebarPanel.js: Removed.
        * UserInterface/Main.html:
        * UserInterface/Main.js:
        (WebInspector.contentLoaded):
        (WebInspector.sidebarPanelForRepresentedObject):
        (WebInspector.openURL):
        * UserInterface/Object.js:
        (WebInspector.Object.addEventListener):
        * UserInterface/TimelineManager.js:
        (WebInspector.TimelineManager):
        (WebInspector.TimelineManager.prototype.startRecording):
        (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
        (WebInspector.TimelineManager.prototype.eventRecorded):
        (WebInspector.TimelineManager.prototype.objectForCookie):
        (WebInspector.TimelineManager.prototype._addRecord):
        * UserInterface/TimelinesObject.js: Removed.
        * UserInterface/TimelineOverview.css: Removed.
        * UserInterface/TimelineOverview.js: Removed.
        * UserInterface/TimelineSidebarPanel.css: Added.
        * UserInterface/TimelineSidebarPanel.js: Added.
        (WebInspector.TimelineSidebarPanel):
        * UserInterface/TimelinesContentView.css: Removed.
        * UserInterface/TimelinesContentView.js: Removed.

2014-01-20  Timothy Hatcher  <timothy@apple.com>

        Fix jumping to a text position when showing a resource.

        https://bugs.webkit.org/show_bug.cgi?id=127271

        Reviewed by Joseph Pecoraro.

        * UserInterface/FrameContentView.js:
        (WebInspector.FrameContentView.prototype.showSourceCode): Just use showResponse's arguments
        which already does the same logic to call revealPosition.
        * UserInterface/ResourceClusterContentView.js:
        (WebInspector.ResourceClusterContentView.prototype.restoreFromCookie): This was the bug.
        lineNumber and columnNumber need honored here. They were only honored by FrameContentView.
        * UserInterface/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel.prototype.showSourceCode): Use showContentViewForRepresentedObject
        which also accepts a cookie and handles creating the content view for us.

2014-01-16  Brian Burg  <bburg@apple.com>

        Web Inspector: add more context to Object.addEventListener assertions
        https://bugs.webkit.org/show_bug.cgi?id=127125

        Reviewed by Joseph Pecoraro.

        Log invalid event type and listener parameters, and log the other
        parameters so the callsite is easier to figure out.

        * UserInterface/Object.js:
        (WebInspector.Object.addEventListener):

2014-01-16  Brian Burg  <bburg@apple.com>

        Web Inspector: CallFrame is missing saveIdentityToCookie, or should be excluded
        https://bugs.webkit.org/show_bug.cgi?id=126791

        Reviewed by Timothy Hatcher.

        * UserInterface/CallFrame.js: Add a dummy saveIdentityToCookie() implementation.

2014-01-16  Brian Burg  <bburg@apple.com>

        Web Inspector: add probe breakpoint action to popup breakpoint editor
        https://bugs.webkit.org/show_bug.cgi?id=126931

        Reviewed by Timothy Hatcher.

        Add probes to the breakpoint action dropdown.
        Reuse the "evaluate JavaScript" input UI.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/BreakpointAction.js:
        * UserInterface/BreakpointActionView.js:
        (WebInspector.BreakpointActionView.displayStringForType):
        (WebInspector.BreakpointActionView.prototype._updateBody.switch.break):

2014-01-15  Brian Burg  <bburg@apple.com>

        Web Inspector: capture probe samples on the backend
        https://bugs.webkit.org/show_bug.cgi?id=126668

        Reviewed by Joseph Pecoraro.

        * UserInterface/InspectorJSBackendCommands.js: Add probe enumeration value.

2014-01-15  Andreas Kling  <akling@apple.com>

        Remove the CSS selector profiler.
        <https://webkit.org/b/127039>

        Purge selector profiler code from the new Web Inspector UI.

        Reviewed by Sam Weinig.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/CSSSelectorProfileObject.js: Removed.
        * UserInterface/CSSSelectorProfileType.js: Removed.
        * UserInterface/CSSSelectorProfileView.js: Removed.
        * UserInterface/ContentView.js:
        (WebInspector.ContentView):
        (WebInspector.ContentView.isViewable):
        * UserInterface/InspectorWebBackendCommands.js:
        * UserInterface/InstrumentSidebarPanel.js:
        (WebInspector.InstrumentSidebarPanel):
        (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphMousedOver):
        (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphMousedDown):
        (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphClicked):
        (WebInspector.InstrumentSidebarPanel.prototype._profileTypeWasSelected):
        (WebInspector.InstrumentSidebarPanel.prototype._profilesCleared):
        * UserInterface/Main.html:
        * UserInterface/ProfileManager.js:
        (WebInspector.ProfileManager):
        (WebInspector.ProfileManager.prototype.initialize):
        (WebInspector.ProfileManager.prototype._checkForInterruptions):
        (WebInspector.ProfileManager.prototype._attemptToResumeProfiling):
        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:

2014-01-13  Timothy Hatcher  <timothy@apple.com>

        Snap time dividers to nearest numbers instead of just dividing the time span into max density slices.

        https://bugs.webkit.org/show_bug.cgi?id=125081

        Reviewed by Joseph Pecoraro.

        * UserInterface/TimelineDecorations.js:
        (WebInspector.TimelineDecorations.prototype.updateHeaderTimes): Snap the time slice to a nearest number.
        (WebInspector.TimelineDecorations.prototype.updateEventMarkers): Rename boundarySpan to timeSpan.

2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Remove unimplemented or static ScriptDebugServer features
        https://bugs.webkit.org/show_bug.cgi?id=126784

        Reviewed by Timothy Hatcher.

        * UserInterface/InspectorJSBackendCommands.js:
        * UserInterface/InspectorWebBackendCommands.js:
        * UserInterface/Legacy/6.0/InspectorWebBackendCommands.js:
        * UserInterface/Legacy/7.0/InspectorWebBackendCommands.js:
        * Versions/Inspector-iOS-6.0.json:
        * Versions/Inspector-iOS-7.0.json:

2014-01-10  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: support negative numbers in secondsToString and bytesToString.

        https://bugs.webkit.org/show_bug.cgi?id=125708

        Reviewed by Joseph Pecoraro.

        * UserInterface/Utilities.js:
        (Number.secondsToString): Use Math.abs in the size checks.
        (Number.bytesToString): Ditto.

2014-01-10  Brian Burg  <bburg@apple.com>

        Web Inspector: cycle clicked breakpoints between enabled, auto-continue, and disabled
        https://bugs.webkit.org/show_bug.cgi?id=126669

        Reviewed by Joseph Pecoraro.

        It's time-consuming to change a breakpoint's auto-continue setting through the
        breakpoint editor popup. This patch enables the user to toggle between enabled,
        auto-continue, and disabled by clicking on the breakpoint wedge in the sidebar
        tree and in the source text editor gutter. The auto-continue option is only
        cycled when the breakpoint has associated actions.

        Clean up the breakpoint editor dialog so it hides irrelevant options when
        no breakpoint actions have been added.

        Automatically unset auto-continue when the last breakpoint action is removed.

        Rename the delegate textEditorBreakpointToggled to textEditorBreakpointClicked, since
        the behavior of the click depends on breakpoint state not available in the text editor.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Breakpoint.js:
        (WebInspector.Breakpoint.prototype.cycleToNextMode): Added.
        (WebInspector.Breakpoint.prototype.toggleAutoContinue): Added.
        (WebInspector.Breakpoint.prototype.appendContextMenuItems): Add auto-continue options.
        (WebInspector.Breakpoint.prototype.removeAction):

        (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement):
        (WebInspector.Breakpoint.prototype._popoverActionsAddActionButtonClicked):
        (WebInspector.Breakpoint.prototype.breakpointActionViewAppendActionView):
        (WebInspector.Breakpoint.prototype.breakpointActionViewRemoveActionView):
        (WebInspector.Breakpoint.prototype.willDismissPopover):
        * UserInterface/BreakpointTreeElement.css:
        (.item.breakpoint .status > .status-image.auto-continue):
        (.item.breakpoint .status > .status-image.disabled):
        * UserInterface/BreakpointTreeElement.js:
        (WebInspector.BreakpointTreeElement):
        (WebInspector.BreakpointTreeElement.prototype.onenter):
        (WebInspector.BreakpointTreeElement.prototype.onspace):
        (WebInspector.BreakpointTreeElement.prototype._updateStatus):
        (WebInspector.BreakpointTreeElement.prototype._breakpointLocationDidChange):
        (WebInspector.BreakpointTreeElement.prototype._statusImageElementClicked):
        * UserInterface/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor):
        (WebInspector.SourceCodeTextEditor.prototype.close):
        (WebInspector.SourceCodeTextEditor.prototype._breakpointInfoForBreakpoint):
        (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointClicked):
        * UserInterface/TextEditor.css:
        (.text-editor > .CodeMirror .breakpoint-auto-continue:not(.breakpoint-disabled) .CodeMirror-linenumber::before):
        * UserInterface/TextEditor.js:
        (WebInspector.TextEditor.prototype._setBreakpointStylesOnLine.updateStyles):
        (WebInspector.TextEditor.prototype._setBreakpointStylesOnLine):
        (WebInspector.TextEditor.prototype.updateStyles):
        (WebInspector.TextEditor.prototype._removeBreakpointFromLineAndColumn):
        (WebInspector.TextEditor.prototype._documentMouseUp):

2014-01-10  Timothy Hatcher  <timothy@apple.com>

        Clean up some areas of TreeOutline.

        https://bugs.webkit.org/show_bug.cgi?id=123924

        Reviewed by Joseph Pecoraro.

        * UserInterface/TreeOutline.js:
        (TreeOutline.prototype.appendChild): Don't force create _childrenListNode, it will be created
        when the tree element is expanded. Only attach if _childrenListNode already exists.
        (TreeOutline.prototype.insertChild): Ditto.
        (TreeOutline.prototype.getCachedTreeElement): Check the value of __treeElementIdentifier
        not just the existence of the property. It should never be null/undefined/0, but be safe.
        (TreeOutline.prototype.findTreeElement): Null check isAncestor, it isn't required.

2014-01-10  Timothy Hatcher  <timothy@apple.com>

        Fix an exception in WebInspector.Color.

        https://bugs.webkit.org/show_bug.cgi?id=126765

        Reviewed by Joseph Pecoraro.

        * UserInterface/Color.js:
        (WebInspector.Color.fromString): Check hasOwnPrperty before using the nickname color array.
        (WebInspector.Color.prototype._toNicknameString): Ditto.

2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>

        [CSS Blending] Log blending as a layer creation reason in the WI
        https://bugs.webkit.org/show_bug.cgi?id=126159

        Reviewed by Timothy Hatcher.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/LayerTreeSidebarPanel.js:
        (WebInspector.LayerTreeSidebarPanel.prototype._populateListOfCompositingReasons):

2014-01-10  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>

        Add missing function stub in InspectorFrontendHostStub.js
        https://bugs.webkit.org/show_bug.cgi?id=126745

        Reviewed by Timothy Hatcher.

        * UserInterface/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub.prototype.debuggableType):
        The function debuggableType() was added to InspectorFrontendHost.idl and InspectorFrontendHost.cpp
        in r160887, but not to InspectorFrontendHostStub.js.

2014-01-09  Seokju Kwon  <seokju@webkit.org>

        Web Inspector: Remove unused overriding protocols.
        https://bugs.webkit.org/show_bug.cgi?id=126630

        Reviewed by Timothy Hatcher.

        Update InspectorWebBackendCommands.js after removing unused overriding protocols.

        * UserInterface/InspectorWebBackendCommands.js:
        * UserInterface/Legacy/6.0/InspectorWebBackendCommands.js:
        * UserInterface/Legacy/7.0/InspectorWebBackendCommands.js:
        * Versions/Inspector-iOS-6.0.json:
        * Versions/Inspector-iOS-7.0.json:

2014-01-07  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Typo "clipboarPrefixString"
        https://bugs.webkit.org/show_bug.cgi?id=126595

        Reviewed by Sam Weinig.

        * UserInterface/ConsoleCommandResult.js:
        (WebInspector.ConsoleCommandResult.prototype.toMessageElement):
        (WebInspector.ConsoleCommandResult.prototype.get clipboardPrefixString):
        * UserInterface/ConsoleMessageImpl.js:
        (WebInspector.ConsoleMessageImpl.prototype.get clipboardPrefixString):
        (WebInspector.ConsoleMessageImpl.prototype.toClipboardString):

2014-01-06  Seokju Kwon  <seokju@webkit.org>

        Web Inspector: Remove canOverrideDeviceMetrics and setDeviceMetricsOverride from protocol
        https://bugs.webkit.org/show_bug.cgi?id=126149

        Reviewed by Joseph Pecoraro.

        * UserInterface/InspectorWebBackendCommands.js: Remove unused codes.
        * UserInterface/Legacy/6.0/InspectorWebBackendCommands.js: Ditto.
        * UserInterface/Legacy/7.0/InspectorWebBackendCommands.js: Ditto.
        * Versions/Inspector-iOS-6.0.json: Ditto.
        * Versions/Inspector-iOS-7.0.json: Ditto.

2014-01-06  Seokju Kwon  <seokju@webkit.org>

        Web Inspector: Remove support for FileSystem in Frontend.
        https://bugs.webkit.org/show_bug.cgi?id=126369

        Reviewed by Joseph Pecoraro.

        Update InspectorWebBackendCommands after removing 'FileSystem' domain.

        * UserInterface/InspectorWebBackendCommands.js:
        * UserInterface/Legacy/6.0/InspectorWebBackendCommands.js:
        * UserInterface/Legacy/7.0/InspectorWebBackendCommands.js:
        * Versions/Inspector-iOS-6.0.json:
        * Versions/Inspector-iOS-7.0.json:

2014-01-06  Seokju Kwon  <seokju@webkit.org>

        Web Inspector: Get rid of DOM.setFileInputFiles from Protocol
        https://bugs.webkit.org/show_bug.cgi?id=126312

        Reviewed by Joseph Pecoraro.

        Update InspectorWebBackendCommands.js after removing DOM.setFileInputFiles.

        * UserInterface/InspectorWebBackendCommands.js:

2013-12-22  Martin Robinson  <mrobinson@igalia.com>

        [GTK][CMake] Integrate GResource for inspector files (and others?)
        https://bugs.webkit.org/show_bug.cgi?id=125569

        Reviewed by Gustavo Noronha Silva.

        * GNUmakefile.am: Use the new generation script instead of generating with
        shell scripting in the makefile.

2013-12-19  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Frontend Error when selecting Database folder in Resources Sidebar
        https://bugs.webkit.org/show_bug.cgi?id=126029

        Reviewed by Timothy Hatcher.

        Treat the DatabaseHostTreeElement tree element like a folder. It pretty much
        is a folder, but inherits from StorageTreeElement to share some code there.

        * UserInterface/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):

2013-12-19  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Uncaught Exception: NavigationSidebarPanel.js: TypeError: undefined is not a function
        https://bugs.webkit.org/show_bug.cgi?id=126018

        Reviewed by Timothy Hatcher.

        ERROR: TypeError: undefined is not a function (evaluating 'representedObject.saveIdentityToCookie(candidateObjectCookie)')

        There are some TreeElements (Folders, and the special Databases Folder)
        which do not have a represented object, and would throw an exception
        when trying to use saveIdentityToCookie.

        We should always provide a saveIdentityToCookie when possible. So just
        blacklist the tree element types we know do not have representedObjects,
        and where we don't want to save identity. This will continue to throw
        exceptions in the future for tree elements that don't have the save
        function implemented, but should.

        Note that even if a TreeElement is constructed with a null represented
        object, it becomes an empty object (representedObject || {}).

        * UserInterface/NavigationSidebarPanel.js:
        (WebInspector.NavigationSidebarPanel.prototype.saveStateToCookie):
        (WebInspector.NavigationSidebarPanel.prototype._isTreeElementWithoutRepresentedObject):
        (WebInspector.NavigationSidebarPanel.prototype.treeElementMatchesCookie):
        (WebInspector.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie):

2013-12-19  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Add InspectorFrontendHost.debuggableType to let the frontend know it's backend is JavaScript or Web
        https://bugs.webkit.org/show_bug.cgi?id=126016

        Reviewed by Timothy Hatcher.

        * UserInterface/LoadInspectorBackendCommands.js:
        If the debuggable target is "web" load both JS and Web backend commands.
        Otherwise, we only load the default, js backend commands.

2013-12-16  Alex Christensen  <achristensen@webkit.org>

        Fixed Win64 build on VS2013.
        https://bugs.webkit.org/show_bug.cgi?id=125753

        Reviewed by Brent Fulgham.

        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
        Added 64-bit configuration.

2013-12-13  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Move Inspector and Debugger protocol domains into JavaScriptCore
        https://bugs.webkit.org/show_bug.cgi?id=125707

        Reviewed by Timothy Hatcher.

        * UserInterface/InspectorJSBackendCommands.js:
        * UserInterface/InspectorWebBackendCommands.js:
        Regenerate now that domains have moved around.

2013-12-13  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Exception: TypeError: undefined is not a function (evaluating 'marker.find()')
        https://bugs.webkit.org/show_bug.cgi?id=125724

        Reviewed by Darin Adler.

        * UserInterface/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype.):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
        The callback changed to returning WebInspector.TextMarkers, however
        this class expected a raw CodeMirror marker. Since this class knows
        about CodeMirror and expects to access these markers later go
        directly to the CodeMirror marker.

2013-12-13  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Add Inspector Code Generation to JavaScriptCore for Runtime Domain
        https://bugs.webkit.org/show_bug.cgi?id=125595

        Reviewed by Timothy Hatcher.

        * Scripts/copy-user-interface-resources.sh:
        Copy all the different backend commands files.

        * Scripts/update-InspectorBackendCommands.rb:
        Update with respect to new script location and new file names.

        * WebInspectorUI.xcodeproj/project.pbxproj:
        Remove Inputs and Outputs of build phase, which were wrong.
        Now this build phase always runs, and not by accident.

        * UserInterface/InspectorJSBackendCommands.js: Added.
        * UserInterface/InspectorWebBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/InspectorBackendCommands.js.
        * UserInterface/Legacy/6.0/InspectorWebBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/Legacy/6.0/InspectorBackendCommands.js.
        * UserInterface/Legacy/7.0/InspectorWebBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/Legacy/7.0/InspectorBackendCommands.js.
        * UserInterface/LoadInspectorBackendCommands.js:
        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:

2013-12-13  Antoine Quint  <graouts@apple.com>

        Web Inspector: provide an abstraction for CodeMirror's TextMarker
        https://bugs.webkit.org/show_bug.cgi?id=125695

        Reviewed by Timothy Hatcher.

        Introduce a new WebInspector.TextMarker class which is used by code with CodeMirror knowledge
        to return information related to text markers to objects that should have no direct knowledge
        of CodeMirror. Start using this class in TextEditor and SourceCodeTextEditor to remove the
        last remaining pieces of CodeMirror knowledge added to SourceCodeTextEditor to fix
        https://webkit.org/b/124364.

        * UserInterface/CodeMirrorAdditions.js:
        Stop using __markedColor to identify a color marker and instead use the type on the matching
        WebInspector.TextMarker. Additionally, create a WebInspector.TextMarker with type
        WebInspector.TextMarker.Type.Color in createColorMarkers().

        * UserInterface/CodeMirrorColorEditingController.js:
        (WebInspector.CodeMirrorColorEditingController):
        Use a WebInspector.TextRange to track the edited range and obtain it directly from the
        WebInspector.TextMaker used to instantiate the object. We also use the new "text" public
        property to create the color.

        (WebInspector.CodeMirrorColorEditingController.prototype.set color):
        Simply assing the serialized color to the new "text" public property.

        (WebInspector.CodeMirrorColorEditingController.prototype.get text):
        (WebInspector.CodeMirrorColorEditingController.prototype.set text):
        New public property to set get and set the text for the edited range, automatically updating
        the range upon setting to a new text.

        (WebInspector.CodeMirrorColorEditingController.prototype.presentHoverMenu):
        Obtain the bounds directly from the WebInspector.TextMarker object.

        * UserInterface/CodeMirrorTokenTrackingController.js:
        (WebInspector.CodeMirrorTokenTrackingController.prototype._updateHoveredTokenInfo):
        Since we're now tracking the hoveredMarker as a WebInspector.TextMarker, get the CodeMirror
        TextMarker from that object to check if it's contained within the text markers at the
        hovered position.

        * UserInterface/Main.html:
        Add the new TextMarker class source.

        * UserInterface/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor.prototype._hasColorMarkers):
        Use the WebInspector.TextMarker type to identify a given text marker is marking a color.

        (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate):
        Use the renamed markersAtPosition() method from TextEditor.

        (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression):
        Use the WebInspector.TextMarker type to identify a given text marker is marking a color.

        (WebInspector.SourceCodeTextEditor.prototype.colorEditingControllerDidFinishEditing):
        Since the CodeMirrorColorEditingController is now using a WebInspector.TextRange for its range,
        update to use a WebInspector.TextRange API to get the range's start line.

        * UserInterface/TextEditor.js:
        (WebInspector.TextEditor.prototype.get markers):
        Return WebInspector.TextMarker objects instead of CodeMirror TextRange objects.

        (WebInspector.TextEditor.prototype.markersAtPosition):
        Rename method to a better name instead of using the CodeMirror-influenced name. Also, return
        WebInspector.TextMarker objects instead of CodeMirror TextRange objects.

        * UserInterface/TextMarker.js: Added.
        (WebInspector.TextMarker):
        Create a WebInspector.TextMarker with a CodeMirror TextMarker and an optional type.

        (WebInspector.TextMarker.textMarkerForCodeMirrorTextMarker):
        Static method to either obtain the existing WebInspector.TextMarker for a given CodeMirror
        TextMarker, or create a new WebInspector.TextMarker.

        (WebInspector.TextMarker.prototype.get codeMirrorTextMarker):
        Public property to access the CodeMirror TextMarker objects for classes that have direct
        knowledge of CodeMirror.

        (WebInspector.TextMarker.prototype.get type):
        Public property to access the type used to create this text marker.

        (WebInspector.TextMarker.prototype.get range):
        (WebInspector.TextMarker.prototype.get bounds):
        Public properties allowing easy access to generally useful information related to marked text.

        (WebInspector.TextMarker.prototype.clear):
        Wrapper for the CodeMirror TextMarker clear() method.

2013-12-13  Brent Fulgham  <bfulgham@apple.com>

        [Win] Switch WebKit solution to Visual Studio 2013
        https://bugs.webkit.org/show_bug.cgi?id=125192

        Reviewed by Anders Carlsson.

        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Update for VS2013

2013-12-12  Laszlo Vidacs  <lac@inf.u-szeged.hu>

        Web Inspector: ES6: JavaScript syntax highlighting and recognition of for..of
        https://bugs.webkit.org/show_bug.cgi?id=122868

        Reviewed by Timothy Hatcher.

        Update to CodeMirror 3.20 including javascript ES6 updates.

        * Tools/PrettyPrinting/codemirror.css:
        * Tools/PrettyPrinting/codemirror.js: Minor local change due to error from jsmin.py
        * Tools/PrettyPrinting/css.js:
        * Tools/PrettyPrinting/javascript.js:
        * UserInterface/External/CodeMirror/codemirror.css:
        * UserInterface/External/CodeMirror/codemirror.js: Minor local change due to error from jsmin.py
        * UserInterface/External/CodeMirror/coffeescript.js:
        * UserInterface/External/CodeMirror/css.js:
        * UserInterface/External/CodeMirror/htmlmixed.js:
        * UserInterface/External/CodeMirror/javascript.js:
        * UserInterface/External/CodeMirror/less.js:
        * UserInterface/External/CodeMirror/matchbrackets.js:
        * UserInterface/External/CodeMirror/placeholder.js:
        * UserInterface/External/CodeMirror/runmode.js:
        * UserInterface/External/CodeMirror/searchcursor.js:
        * UserInterface/External/CodeMirror/sql.js:
        * UserInterface/External/CodeMirror/xml.js:

2013-12-12  Antoine Quint  <graouts@apple.com>

        Web Inspector: allow editing of colors in CSS resources
        https://bugs.webkit.org/show_bug.cgi?id=124364

        Reviewed by Timothy Hatcher.

        Identify colors in CSS and HTML resources so that hovering these colors shows a HoverMenu
        allowing a ColorPicker hosted in a Popover to be shown to edit the hovered color.

        * UserInterface/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
        Remove the code that goes through the lines of the CodeMirror editor to look for
        color strings and replace it with a call to the .createColorMarkers() CodeMirror
        extension in which the code was refactored. The callback passed to
        .createColorMarkers() handles the CSSStyleDeclarationTextEditor-specific creation
        of color swatches to show the popover, keeping the existing behavior of the Styles
        sidebar panel.

        * UserInterface/CodeMirrorAdditions.js:
        Refactor existing code into two new CodeMirror extensions: .boundsForRange(), which
        was previously defined on the CodeMirrorTokenTrackingController but was also needed
        in the new CodeMirrorColorEditingController, and .createColorMarkers(), discussed above.

        * UserInterface/CodeMirrorColorEditingController.js: Added.
        (WebInspector.CodeMirrorColorEditingController):
        New class used by SourceCodeTextEditor to coordinate the editing of a color in a CodeMirror
        TextMarker by a ColorPicker hosted in a Popover shown by the activation of a HoverMenu. This
        controller automatically gets the color set by the user using the ColorPicker and updates
        the CodeMirror text editor with the new value. When the user presses the Esc. key while the
        popover is shown, it's automatically dismissed and the original color is reset in the editor.

        (WebInspector.CodeMirrorColorEditingController.prototype.get marker):
        (WebInspector.CodeMirrorColorEditingController.prototype.get range):
        (WebInspector.CodeMirrorColorEditingController.prototype.get delegate):
        (WebInspector.CodeMirrorColorEditingController.prototype.set delegate):
        Getters and setters for public properties.

        (WebInspector.CodeMirrorColorEditingController.prototype.get color):
        (WebInspector.CodeMirrorColorEditingController.prototype.set color):
        Get and set the color for the edited color marker, replacing the text in the marker's range
        upon setting.

        (WebInspector.CodeMirrorColorEditingController.prototype.presentHoverMenu):
        Public API allowing for a HoverMenu to be shown around the bounds of the TextMarker passed
        in the constructor. This method is called from SourceCodeTextEditor when the
        CodeMirrorTokenTrackingController identifies that a token that is part of a TextMarker is
        hovered and that token is a color.

        (WebInspector.CodeMirrorColorEditingController.prototype.dismissHoverMenu):
        Public API allowing for the HoverMenu to be dismissed. This method is called when the
        CodeMirrorTokenTrackingController identifies that its "hoveredMarker" is no longer being
        hovered as well as when we identify that editing of the color has completed.

        (WebInspector.CodeMirrorColorEditingController.prototype.handleEvent):
        Event handler for the "keydown" event that are being listened to when the HoverMenu
        is activated such that the Esc. key can be used to dimiss the popover and reset the
        original color before any edits.

        (WebInspector.CodeMirrorColorEditingController.prototype.hoverMenuButtonWasPressed):
        Implementation of the HoverMenu delegation method used to show a Popover containing a
        ColorPicker upon clicking on the color wheel attached to the HoverMenu. We also remember
        the color set on the marker so that it may be restored when Esc. is pressed and used to
        set the original state of the ColorPicker. The delegation method
        colorEditingControllerDidStartEditing() is also called at this point, which the
        SourceCodeTextEditor implements.

        (WebInspector.CodeMirrorColorEditingController.prototype.didDismissPopover):
        Implementation of the Popover delegation method used to identify that color editing has
        completed. The delegation method colorEditingControllerDidFinishEditing() is called
        at this point, which the SourceCodeTextEditor implements.

        (WebInspector.CodeMirrorColorEditingController.prototype._colorPickerColorChanged):
        Apply the color set in the color picker to the CodeMirror text editor.

        * UserInterface/CodeMirrorTokenTrackingController.js:
        Add two new modes to CodeMirrorTokenTrackingController. The first mode is "None" and is
        the default, incurring no specific token handling behavior. The second mode is "MarkedTokens"
        which identifies hover of a token contained in a CodeMirror TextMarker range. The new
        "MarkedTokens" mode is used by SourceCodeTextEditor to identify when a marked color is being
        hovered to display a HoverMenu.

        (WebInspector.CodeMirrorTokenTrackingController):
        (WebInspector.CodeMirrorTokenTrackingController.prototype.set mode):
        Make "None" the new default mode for CodeMirrorTokenTrackingController.

        (WebInspector.CodeMirrorTokenTrackingController.prototype.get hoveredMarker):
        (WebInspector.CodeMirrorTokenTrackingController.prototype.set hoveredMarker):
        (WebInspector.CodeMirrorTokenTrackingController.prototype._updateHoveredTokenInfo):
        Check, when we have a "hoveredMarker" set on the CodeMirrorTokenTrackingController,
        whether the "hoveredMarker" is still being hovered when there is no token at the current
        mouse position. We can then determine when we're mousing out of the "hoveredMarker" and
        notify the delegate via the new tokenTrackingControllerMouseOutOfHoveredMarker delegate
        method. The SourceCodeTextEditor uses this method to dismiss its CodeMirrorColorEditingController.

        (WebInspector.CodeMirrorTokenTrackingController.prototype._processNewHoveredToken):
        Add support for the new "MarkedTokens" mode.

        (WebInspector.CodeMirrorTokenTrackingController.prototype._processMarkedToken):
        For the moment, use the same behavior as the existing "MarkedTokens" mode.

        * UserInterface/Color.js:
        (WebInspector.Color):
        Add a new "valid" property to identify whether a color has any invalid (NaN) component. This property
        is used by SourceCodeTextEditor to establish whether a hovered color marker is indeed set to a
        valid color still.

        (WebInspector.Color.prototype.copy):
        New method to create an exact copy of a Color instance, used by CodeMirrorColorEditingController
        to duplicate the edited color in case we need to revert it.

        * UserInterface/HoverMenu.js:
        (WebInspector.HoverMenu.prototype._handleClickEvent):
        Rename hoverMenuWasActivated to hoverMenuButtonWasPressed per review feedback.

        * UserInterface/Images/ColorIcon.png: Added.
        * UserInterface/Images/ColorIcon@2x.png: Added.
        New color wheel icon used to customize the HoverMenu shown by a CodeMirrorColorEditingController.

        * UserInterface/Main.html:
        Link to the new CodeMirrorColorEditingController.js file.

        * UserInterface/SourceCodeTextEditor.css:
        (.hover-menu.color):
        (.hover-menu.color > img):
        Customize the HoverMenu shown by a CodeMirrorColorEditingController to use the new ColorIcon asset.

        * UserInterface/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor):
        Add a new "_ignoreContentDidChange" ivar that increments and decrements to track when handling
        of CodeMirror content changes should be disabled.

        (WebInspector.SourceCodeTextEditor.prototype.close):
        Adopt the new ._updateTokenTrackingControllerState() method to update the state of the
        CodeMirrorTokenTrackingController.

        (WebInspector.SourceCodeTextEditor.prototype.contentDidChange):
        Override the new TextEditor public API called when content in the CodeMirror text editor is changed.
        We use this method to process any newly added line to create any newly added color marker.

        (WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate):
        (WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause):
        (WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
        (WebInspector.SourceCodeTextEditor.prototype._sourceCodeSourceMapAdded):
        Adopt the new ._updateTokenTrackingControllerState() method to update the state of the
        CodeMirrorTokenTrackingController.

        (WebInspector.SourceCodeTextEditor.prototype._updateTokenTrackingControllerState):
        New method acting as the only point where we check the state of the text editor and set the right
        mode and settings on the CodeMirrorTokenTrackingController, including setting the new "MarkedTokens"
        mode when we have color markers, as determined by ._hasColorMarkers().

        (WebInspector.SourceCodeTextEditor.prototype._hasColorMarkers):
        Check whether any of the TextMarkers set on the CodeMirror text editor were created for a color.

        (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked):
        Check the CodeMirrorTokenTrackingController mode rather than the removed "_jumpToSymbolTrackingModeEnabled"
        ivar to identify we're in the "NonSymbolTokens" mode.

        (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate):
        Refactor method to use the CodeMirrorTokenTrackingController mode to branch into mode-specific code
        and add a new branch for the new "MarkedTokens" mode where we check if the newly hovered token
        is part of a color TextMarker range.

        (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerMouseOutOfHoveredMarker):
        Implement this new CodeMirrorTokenTrackingController delegation method to dismiss the
        CodeMirrorColorEditingController as we identify we're no longer hovering over the TextMarker
        for which the CodeMirrorColorEditingController was created.

        (WebInspector.SourceCodeTextEditor.prototype._showPopover):
        Adopt the new TextEditor boundsForRange() method.

        (WebInspector.SourceCodeTextEditor.prototype._updateColorMarkers):
        Harness the new TextEditor createColorMarkers() method to create new TextMarkers for the provided
        line, or the entire text editor content if none provided. We then immediately call _updateTokenTrackingControllerState()
        so that the new "MarkedTokens" mode is entered in case color TextMarkers were created for the first
        time for this text editor.

        (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression):
        Called when we've identified the CodeMirrorTokenTrackingController highlighted a TextMarker. We check
        if any of the hovered TextMarkers are for a color, and in this case create a CodeMirrorColorEditingController
        to coordinate the display of a ColorPicker in a Popover to edit the hovered color token. We also check
        whether the hovered marker still contains a valid color, clearing the marker in case it was edited to
        no longer contain a color.

        (WebInspector.SourceCodeTextEditor.prototype._dismissCodeMirrorColorEditingController):
        Used to dismiss the CodeMirrorColorEditingController, if previously presented, and reset some internal state.

        (WebInspector.SourceCodeTextEditor.prototype.colorEditingControllerDidStartEditing):
        Implement this CodeMirrorColorEditingController delegation method to temporarily disable the
        CodeMirrorTokenTrackingController while we edit the color with the ColorPicker, remove
        the TextMarker for the edited color and instruct that content changes should be ignored
        such that we act on the complete set of color edits upon completion.

        (WebInspector.SourceCodeTextEditor.prototype.colorEditingControllerDidFinishEditing):
        Update color markers for the edited line such that any color edits are correctly updated for
        the future and so that, as a side-effect, the CodeMirrorColorEditingController is reset to the
        appropriate mode depending on whether color TextMarkers are indeed available, resetting states
        that may have been altered by colorEditingControllerDidStartEditing().

        * UserInterface/TextEditor.js:
        (WebInspector.TextEditor.prototype.contentDidChange):
        New public method meant to be overriden by subclasses, added for the use of SourceCodeTextEditor, exposing
        the list of TextRanges affected by the content change, both in the context of the old content and new content.

        (WebInspector.TextEditor.prototype.boundsForRange):
        (WebInspector.TextEditor.prototype.get markers):
        (WebInspector.TextEditor.prototype.findMarkersAtPosition):
        (WebInspector.TextEditor.prototype.createColorMarkers):
        (WebInspector.TextEditor.prototype.colorEditingControllerForMarker):
        New public methods calling into the CodeMirror private ivar for the benefit of SourceCodeTextEditor.

        (WebInspector.TextEditor.prototype._contentChanged):
        Call the new contentDidChange() method.

2013-12-05  Seokju Kwon  <seokju@webkit.org>

        Web Inspector: Remove 'cookiesString' output from Page.getCookies
        https://bugs.webkit.org/show_bug.cgi?id=125268

        Reviewed by Timothy Hatcher.

        Remove 'cookiesString' output from Page.getCookies protocol.
        It is no longer meaningful because it is an unused parameter.

        * UserInterface/CookieStorageContentView.js:
        (WebInspector.CookieStorageContentView.prototype.update):
        * UserInterface/InspectorBackendCommands.js:

2013-12-05  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: expose node and frame snapshot capabilities.
        https://bugs.webkit.org/show_bug.cgi?id=124326

        Reviewed by Joseph Pecoraro.

        Add method signatures for snapshotNode() and snapshotRect().
        Remove method signature for unimplemented Page.captureScreenshot.

        * UserInterface/InspectorBackendCommands.js:

2013-12-05  Alexandru Chiculita  <achicu@adobe.com>

        Web Inspector: [CSS Regions] Show a list of containing regions when clicking a node that is part of a flow
        https://bugs.webkit.org/show_bug.cgi?id=124614

        Reviewed by Timothy Hatcher.

        Added a new function in DOMTreeManager called getNodeContentFlowInfo that can be used
        to retrieve an object with the following structure:
        {
             "regionFlow": <Reference to the ContentFlow object referenced by the -webkit-flow-from property of the node>,
             "contentFlow": <Reference to the ContentFlow object referenced by the -webkit-flow-into property of
                             the node or a parent of the node>,
             "regions": [ list of DOMNodes representing the regions containers of the node. The node is split across all these regions. ]
        }

        Also, used this method to display a two new sections in the Computed Styles panel.
        1. Section "Flows": can have up to two Simple Rows: "Region Flow" and "Content Flow".
        2. Section "Container Regions" contains a DOMTreeDataGrid with the list of regions.

        The sections are only visible when there's content to display.

        Next to the "Region Flow" simple row I've added an arrow that will take the user to the "ContentFlowDOMTreeContentView" of the
        ContentFlow. The same happens for the "Content Flow", but in this case the element will also be highlighted.

        Part of the patch I've added the DOMTreeDataGridNode. LayerTreeDataGrid has a lot of CSS in common with it, so I
        will make another patch to refactor LayerTreeDataGrid to use DOMTreeDataGridNode as a base class.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/ComputedStyleDetailsPanel.css: Added.
        (.details-section > .content > .group > .row.simple.content-flow-link > .label):
        (.details-section > .content > .group > .row.simple.content-flow-link > .value):
        (.details-section > .content > .group > .row.simple.content-flow-link > .value > div):
        (.details-section > .content > .group > .row.simple.content-flow-link > .value > div > .icon):
        (.details-section > .content > .group > .row.simple.content-flow-link > .value > div > span):
        (.details-section > .content > .group > .row.simple.content-flow-link > .value > div > .go-to-arrow):
        (.details-section > .content > .group > .row.simple.content-flow-link:hover > .value > div > .go-to-arrow):
        * UserInterface/ComputedStyleDetailsPanel.js:
        (WebInspector.ComputedStyleDetailsPanel):
        (WebInspector.ComputedStyleDetailsPanel.prototype.get regionFlow):
        (WebInspector.ComputedStyleDetailsPanel.prototype.set regionFlow):
        (WebInspector.ComputedStyleDetailsPanel.prototype.get contentFlow):
        (WebInspector.ComputedStyleDetailsPanel.prototype.set contentFlow):
        (WebInspector.ComputedStyleDetailsPanel.prototype.get containerRegions):
        (WebInspector.ComputedStyleDetailsPanel.prototype.set containerRegions):
        (WebInspector.ComputedStyleDetailsPanel.prototype.refresh):
        (WebInspector.ComputedStyleDetailsPanel.prototype._computedStyleShowAllCheckboxValueChanged):
        (WebInspector.ComputedStyleDetailsPanel.prototype._resetFlowDetails):
        (WebInspector.ComputedStyleDetailsPanel.prototype._refreshFlowDetails.contentFlowInfoReady):
        (WebInspector.ComputedStyleDetailsPanel.prototype._refreshFlowDetails):
        (WebInspector.ComputedStyleDetailsPanel.prototype._goToRegionFlowArrowWasClicked):
        (WebInspector.ComputedStyleDetailsPanel.prototype._goToContentFlowArrowWasClicked):
        * UserInterface/DOMTreeDataGrid.css: Added.
        (.dom-tree-data-grid .data-grid):
        (.dom-tree-data-grid .data-grid table.data):
        (.dom-tree-data-grid .data-container):
        (.dom-tree-data-grid .data-container tr):
        (.dom-tree-data-grid .data-container td > div):
        (.dom-tree-data-grid .data-container .name-column):
        (.dom-tree-data-grid .data-container .name-column .icon):
        (.dom-tree-data-grid .data-container .name-column .label):
        (.dom-tree-data-grid .data-container tr:hover .name-column .label):
        (.dom-tree-data-grid .data-container .go-to-arrow):
        (.dom-tree-data-grid .data-container tr:hover .go-to-arrow):
        (.dom-tree-data-grid .data-container tbody > tr:nth-child(2n)):
        (.dom-tree-data-grid .data-container tbody > tr:nth-child(2n+1)):
        * UserInterface/DOMTreeDataGrid.js: Added.
        (WebInspector.DOMTreeDataGrid):
        (WebInspector.DOMTreeDataGrid.prototype._onmousemove):
        (WebInspector.DOMTreeDataGrid.prototype._onmouseout):
        * UserInterface/DOMTreeDataGridNode.js: Added.
        (WebInspector.DOMTreeDataGridNode):
        (WebInspector.DOMTreeDataGridNode.prototype.get domNode):
        (WebInspector.DOMTreeDataGridNode.prototype.createCellContent):
        (WebInspector.DOMTreeDataGridNode.prototype._updateNodeName):
        (WebInspector.DOMTreeDataGridNode.prototype._makeNameCell):
        (WebInspector.DOMTreeDataGridNode.prototype._updateNameCellData):
        (WebInspector.DOMTreeDataGridNode.prototype._goToArrowWasClicked):
        * UserInterface/DOMTreeManager.js:
        (WebInspector.DOMTreeManager.prototype.unregisteredNamedFlowContentElement):
        (WebInspector.DOMTreeManager.prototype.nodeRequested):
        (WebInspector.DOMTreeManager.prototype._coerceRemoteArrayOfDOMNodes):
        (WebInspector.DOMTreeManager.prototype.domNodeResolved):
        (WebInspector.DOMTreeManager.prototype.regionNodesAvailable):
        (WebInspector.DOMTreeManager.prototype.get if):
        (WebInspector.DOMTreeManager.prototype.get var):
        (WebInspector.DOMTreeManager.prototype.backendFunction.getComputedProperty):
        (WebInspector.DOMTreeManager.prototype.backendFunction.getContentFlowName):
        (WebInspector.DOMTreeManager.prototype.):
        * UserInterface/DataGrid.css:
        (.data-grid.no-header > table.header):
        (.data-grid.no-header .data-container):
        * UserInterface/DetailsSection.js:
        (WebInspector.DetailsSection):
        * UserInterface/InspectorBackend.js:
        (InspectorBackendClass.prototype._wrap):
        * UserInterface/Main.html:
        * UserInterface/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel.prototype.showContentFlowDOMTree):
        * UserInterface/RuntimeManager.js:
        (WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):
        (WebInspector.RuntimeManager.prototype.getPropertiesForRemoteObject):

2013-12-04  Antoine Quint  <graouts@apple.com>

        Web Inspector: ColorWheel uses old Color constructor
        https://bugs.webkit.org/show_bug.cgi?id=125260

        Reviewed by Joseph Pecoraro.

        Update to new WebInspector.Color constructor signature and use a clear color.

        * UserInterface/ColorWheel.js:
        (WebInspector.ColorWheel.prototype.get tintedColor):
        (WebInspector.ColorWheel.prototype.get rawColor):

2013-12-04  Antoine Quint  <graouts@apple.com>

        Web Inspector: color picker doesn't work with "blue"
        https://bugs.webkit.org/show_bug.cgi?id=125262

        Reviewed by Joseph Pecoraro.

        Under certain circumstances rounding issues would have us compare
        two equal numbers that differ by 0.00000001 and sometime trip this
        if statement and yield a null color. We now add a little fudge to
        the test and also return a clear color rather than null to match what
        we do in the getters for "tintedColor" and "rawColor".

        * UserInterface/ColorWheel.js:
        (WebInspector.ColorWheel.prototype._colorAtPointWithBrightness):

2013-12-04  Antoine Quint  <graouts@apple.com>

        Web Inspector: use only two decimals for opacity in rgba/hsla colors
        https://bugs.webkit.org/show_bug.cgi?id=125261

        Reviewed by Joseph Pecoraro.

        * UserInterface/ColorPicker.js:
        (WebInspector.ColorPicker.prototype._updateColor):

2013-12-04  Antoine Quint  <graouts@apple.com>

        Web Inspector: "data detectors" menu on hover for actionable tokens
        https://bugs.webkit.org/show_bug.cgi?id=124363

        Reviewed by Timothy Hatcher.

        Add a new WebInspector.HoverMenu class to display an overlay menu that is presented
        with respect to a target frame that it draws itself around adding a customizable
        action button to its right. The menu uses fade animations as it's presented and
        dismissed and a single delegation method is fired when the button is pressed. Finally,
        just like a popover, it automatically dismisses itself upon scrolling anywhere
        outside of its bounds.

        * UserInterface/HoverMenu.css: Added.
        * UserInterface/HoverMenu.js: Added.
        (WebInspector.HoverMenu):
        (WebInspector.HoverMenu.prototype.get element):
        (WebInspector.HoverMenu.prototype.dismiss):
        (WebInspector.HoverMenu.prototype.handleEvent):
        (WebInspector.HoverMenu.prototype._handleClickEvent):
        * UserInterface/Images/HoverMenuButton.png: Added.
        * UserInterface/Images/HoverMenuButton@2x.png: Added.
        * UserInterface/Main.html:

2013-12-04  Antoine Quint  <graouts@apple.com>

        Web Inspector: edited color should serialize back to original format when possible
        https://bugs.webkit.org/show_bug.cgi?id=125244

        Reviewed by Joseph Pecoraro.

        Profoundly reworked WebInspector.Color to be more efficient and more flexible when
        serializing the color to the various supported formats.

        * UserInterface/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
        Use new WebInspector.Color.fromString() factory and check for a null return value
        rather than an exception to identify invalid color tokens.

        * UserInterface/Color.js:
        (WebInspector.Color):
        Rewrote WebInspector.Color such that it would have, at all times, a canonical
        representation in terms of either RGBA or HSLA depending on the format used to
        create the color. The new constructor parameters lets the user pass a format
        and the RGBA or HSLA components, allowing to bypass the string-only creation
        system which was sub-optimal for the new color picker. Additionally, the toString()
        method now can provide the most accurate serialization of the color based on the
        provided format with a fallback mechanism to RGB/RGBA in cases where the desired
        format would incur a loss of fidelity. Finally, simplified the API to only feature
        essential features.

        (WebInspector.Color.fromString):
        New factory method used to create a color from a string.

        * UserInterface/ColorPicker.js:
        (WebInspector.ColorPicker.prototype.set color):
        Keep track of the original color format so that we can use it as the preferred format
        when serializing the updated color in _updateColor().

        (WebInspector.ColorPicker.prototype._updateColor):
        Use the original color format as the prefered formation for color serialization. Also,
        use the new WebInspector.Color constructor in lieu of the removed .fromRGBA factory.

        (WebInspector.ColorPicker.prototype._updateSliders):
        Use the new WebInspector.Color constructor in lieu of the removed .fromRGBA factory.

        * UserInterface/ColorWheel.js:
        (WebInspector.ColorWheel.prototype._colorAtPointWithBrightness):
        Use the new WebInspector.Color constructor in lieu of the removed .fromRGB factory.

2013-12-03  Seokju Kwon  <seokju@webkit.org>

        Web Inspector: Remove '_attachedWindowHeight' property in InspectorFrontendHostStub.js
        https://bugs.webkit.org/show_bug.cgi?id=125204

        Reviewed by Timothy Hatcher.

        '_attachedWindowHeight' property is not used anywhere, so remove it.

        * UserInterface/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub):

2013-12-03  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: restore navigation panel state across reloads and reopens
        https://bugs.webkit.org/show_bug.cgi?id=122125

        Reviewed by Timothy Hatcher.

        The previous strategy for restoring content views after inspector
        re-open did not consider the active sidebar and its selection, and
        tried to recreate the appropriate selection from the saved content
        view. However, doesn't work for tree elements in the sidebar panel
        that don't change views when selected, such as script breakpoints,
        special breakpoints, call stack, timeline sections, etc.

        This patch implements a new strategy that saves the navigation
        sidebar panel's view state by serializing the identity of the
        selected element's represented object. Relevant represented
        object classes implement the saveIdentityToCookie() method. Each
        represented object class also adds a TypeIdentifier property to
        its constructor, to aid inexact matching based on represented
        object type, rather than its complete identity.

        When restoring, the navigation sidebar attempts to match added
        tree elements against the pending cookie, and selects the element
        if it matches. A represented object matches if its serialized
        identity matches the previously saved serialized identity.

        The inspector view state is now only saved on the page hide event
        (for saving across reopen) and when the main frame commits its
        provisional load (for saving across same-page reloads). It
        consolidates similar view state settings into a single setting.

        * UserInterface/ApplicationCacheFrame.js:
        (WebInspector.ApplicationCacheFrame): Add cookie keys and type identifier.
        (WebInspector.ApplicationCacheFrame.prototype.saveIdentityToCookie): Added.
        * UserInterface/ApplicationCacheManager.js: remove objectForCookie().
        * UserInterface/Breakpoint.js:
        (WebInspector.Breakpoint): Add cookie keys and type identifier.
        (WebInspector.Breakpoint.prototype.saveIdentityToCookie):
        * UserInterface/CookieStorageObject.js:
        (WebInspector.CookieStorageObject.prototype.saveIdentityToCookie): Added.
        * UserInterface/DOMStorageObject.js:
        (WebInspector.DOMStorageObject): Add cookie keys and type identifier.
        (WebInspector.DOMStorageObject.prototype.saveIdentityToCookie): Added.
        * UserInterface/DatabaseObject.js:
        (WebInspector.DatabaseObject): Add cookie keys and type identifier.
        (WebInspector.DatabaseObject.prototype.saveIdentityToCookie): Added.
        * UserInterface/DatabaseTableObject.js:
        (WebInspector.DatabaseTableObject): Add cookie keys and type identifier.
        (WebInspector.DatabaseTableObject.prototype.saveIdentityToCookie): Added.
        * UserInterface/DebuggerSidebarPanel.js:
        (WebInspector.DebuggerSidebarPanel.prototype.saveStateToCookie): Added.
        (WebInspector.DebuggerSidebarPanel.prototype.restoreStateFromCookie): Added.
        * UserInterface/Frame.js:
        (WebInspector.Frame): Add cookie keys and type identifier.
        (WebInspector.Frame.prototype.saveIdentityToCookie): Added.
        * UserInterface/FrameResourceManager.js: remove objectForCookie().
        * UserInterface/InstrumentSidebarPanel.js:
        (WebInspector.InstrumentSidebarPanel.prototype.showTimelineForRecordType):
        Return the shown timeline, if any.

        (WebInspector.InstrumentSidebarPanel.prototype.saveStateToCookie): Added.
        (WebInspector.InstrumentSidebarPanel.prototype.restoreStateFromCookie): Added.
        (WebInspector.InstrumentSidebarPanel.prototype.showProfile):
        Return the shown profile, if any.

        * UserInterface/Main.js:
        (WebInspector): Added cookie keys for the selected sidebar and
        typeidentifier of the sidebar's selected tree element.

        (WebInspector.contentLoaded): Remove callbacks for
        resolveAndShowPendingContentViewCookie(). Consolidate all saved
        inspector view state into one Setting. Move special-cased
        restoring of the console to the restoration method. Move saving
        of last opened navigation panel to the saving method.

        (WebInspector._mainResourceDidChange): Try to restore saved view
        state when the main resource changes.

        (WebInspector._provisionalLoadCommitted): Update the saved view
        state when the navigation commits. This is the last chance to save
        it before the main resource changes and the navigation panel view
        state is discarded and rebuilt.

        (WebInspector._pageHidden): Update the saved view state when the
        inspector page is hidden, but before state is discarded.

        (WebInspector._navigationSidebarPanelSelected): Don't save last
        navigation sidebar panel.
        (WebInspector._updateCookieForInspectorViewState): Renamed from
        _updateCurrentContentViewCookie. It delegates view state
        serialization to the currently open navigation sidebar, rather
        than the current content view.

        (WebInspector._contentBrowserRepresentedObjectsDidChange): Don't
        spuriously serialize the current view state cookie on every
        ContentView change.

        (WebInspector._restoreInspectorViewStateFromCookie): Renamed from
        _showContentViewForCookie. It now restores a specific navigation
        panel and delegates remaining view state restoration to the panel
        itself. Last-resort selection of any tree element with the same
        type identifier was moved to the navigation panel's restore method.

        * UserInterface/NavigationSidebarPanel.js:
        (WebInspector.NavigationSidebarPanel):
        (WebInspector.NavigationSidebarPanel.prototype.set contentTreeOutline):
        (WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline):
        Save references to all created TreeOutlines in a Set, so we can
        restore any tree's selection.

        (WebInspector.NavigationSidebarPanel.prototype.saveStateToCookie):
        Added. Find the selected tree element from all tree outlines and
        ask it to serialize its identity.

        (WebInspector.NavigationSidebarPanel.prototype.restoreStateFromCookie):
        Added. Eagerly search existing tree elements for a matching
        representedObject. If none exists, save the pending cookie and
        schedule last-resort matching using the provided timeout interval.

        (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
        Check if the added tree element matches a pending view state
        cookie, if one exists.

        (WebInspector.NavigationSidebarPanel.prototype.treeElementMatchesCookie):
        Added. Check if the tree element's representedObject matches the
        pending view state cookie.

        (WebInspector.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie):
        Added. For each provided tree element, check if the tree
        element's represented object produces the same serialized identity
        as the pending view state cookie that we are trying to resolve.
        If a match is found (possibly by relaxing to matching anything
        with the same type), select the tree element and clear both the
        pending view state cookie and last-resort selection timer.

        * UserInterface/Resource.js:
        (WebInspector.Resource): Add cookie keys and type identifier.
        (WebInspector.Resource.prototype.saveIdentityToCookie): Added.

        * UserInterface/ResourceClusterContentView.js:
        (WebInspector.ResourceClusterContentView.prototype.saveToCookie):
        (WebInspector.ResourceClusterContentView.prototype.restoreFromCookie):
        Since identity state is serialized by the representedObject, these
        methods only need to save view-specific state, such as the visible
        subview. Remove extraneous state.

        * UserInterface/Script.js:
        (WebInspector.Script): Add cookie keys and type identifier.
        (WebInspector.Script.prototype.saveIdentityToCookie): Added.
        * UserInterface/StorageManager.js: remove objectForCookie().
        * UserInterface/TimelineManager.js: remove objectForCookie().
        * UserInterface/TimelinesContentView.js:
        (WebInspector.TimelinesContentView.prototype.saveToCookie):
        (WebInspector.TimelinesContentView.prototype.restoreFromCookie):
        Since identity state is serialized by the representedObject, these
        methods only need to save view-specific state, such as the visible
        subview. Remove extraneous state.

        * UserInterface/TreeOutline.js: Add TreeOutline.prototype.constructor
        so other code can assume the constructor property exists.

2013-12-02  Antoine Quint  <graouts@apple.com>

        Web Inspector: popover can overlap target frame
        https://bugs.webkit.org/show_bug.cgi?id=125069

        Reviewed by Joseph Pecoraro.

        Fix a regression introduced in http://trac.webkit.org/changeset/159286. We should only
        offset the frame of the popover in the y-axis if the target edge is on the x-axis, and
        vice versa. We also remove the needsToDrawBackground check since it incorrectly disregarded
        the anchor point. We now always draw the background which is a lot safer and guarantees
        we'll always draw an adequate frame and anchor point.

        * UserInterface/Popover.js:
        (WebInspector.Popover.prototype._update):
        (WebInspector.Popover.prototype._bestMetricsForEdge):

2013-12-02  Antoine Quint  <graouts@apple.com>

        Web Inspector: add a method to add padding around a WebInspector.Rect
        https://bugs.webkit.org/show_bug.cgi?id=125072

        Reviewed by Joseph Pecoraro.

        Add a new WebInspector.Rect.prototype.pad() method which does not alter
        the rectangle it's called and returns a new rect much like .inset(). I've
        checked all call sites and there was no reuse of the rectangle that was
        padded so this patch won't have any side effects.

        * UserInterface/Breakpoint.js:
        (WebInspector.Breakpoint.prototype._showEditBreakpointPopover):
        * UserInterface/CSSStyleDeclarationTextEditor.js:
        * UserInterface/Geometry.js:
        (WebInspector.Rect.prototype.pad):
        * UserInterface/LayerTreeSidebarPanel.js:
        (WebInspector.LayerTreeSidebarPanel.prototype._updatePopoverForSelectedNode):
        * UserInterface/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor.prototype._showPopover):
        * UserInterface/TimelineDataGrid.js:
        (WebInspector.TimelineDataGrid.prototype._updatePopoverForSelectedNode):

2013-11-26  Antoine Quint  <graouts@apple.com>

        Web Inspector: Allow showing a context menu on all mouse events.
        https://bugs.webkit.org/show_bug.cgi?id=124747

        Reviewed by Joseph Pecoraro.

        Automatically dispatch a contextmenu event in case WebInspector.ContextMenu.prototype.show()
        is called outside of a contextmenu event handler and would therefore not show the expected
        context menu (except in the Remote Web Inspector where this already works).

        * UserInterface/ContextMenu.js:
        (WebInspector.ContextMenu.prototype.show):
        Check whether the event is a contextmenu event, and if not, add an event listener for a manually
        dispatched contextmenu event such that we may then call InspectorFrontendHost.showContextMenu()
        in a contextmenu event handler.

        (WebInspector.ContextMenu.prototype.handleEvent):
        Call InspectorFrontendHost.showContextMenu() now that we received the manually dispatched
        contextmenu event.

2013-11-25  Alexandru Chiculita  <achicu@adobe.com>

        Web Inspector: [CSS Regions] A page with many flows should collapse the resources tree
        https://bugs.webkit.org/show_bug.cgi?id=122926

        Reviewed by Timothy Hatcher.

        Refactored the code in FrameTreeElement._shouldGroupIntoFolders to make it easy to track
        more types of resources. Added the content flows as another type of resource that would trigger the
        collapsing.

        * UserInterface/DOMTreeManager.js:
        (WebInspector.DOMTreeManager.prototype.namedFlowRemoved): Added code to remove the content nodes from
        a flow that has been removed.
        * UserInterface/FrameTreeElement.js:
        (WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders.pushCategory):
        (WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders.pushResourceType):
        (WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders):

2013-11-25  Dan Bernstein  <mitz@apple.com>

        Set the svn:ignore property on the Xcode project to ignore the workspace and user data.

        * WebInspectorUI.xcodeproj: Added property svn:ignore.

2013-11-21  Mark Rowe  <mrowe@apple.com>

        <https://webkit.org/b/124702> Stop overriding VALID_ARCHS.

        All modern versions of Xcode set it appropriately for our needs.

        Reviewed by Alexey Proskuryakov.

        * Configurations/Base.xcconfig:

2013-11-19  Antoine Quint  <graouts@apple.com>

        Web Inspector: layer info sidebar should convert to MB for very large layers
        https://bugs.webkit.org/show_bug.cgi?id=124570

        Reviewed by Timothy Hatcher.

        Setting higherResolution to true (its default value if omitted) when calling
        Number.bytesToString() would always result in a KB-formatted string instead
        since it didn't check for a < 1024 value as well.

        * UserInterface/Utilities.js:
        (Number.bytesToString):

2013-11-19  Antoine Quint  <graouts@apple.com>

        Remove some unused utilities from Utilities.js
        https://bugs.webkit.org/show_bug.cgi?id=124590

        Reviewed by Darin Adler.

        Remove some methods and properties that were no longer used through the codebase.

        * UserInterface/Utilities.js:

2013-11-18  Alexandru Chiculita  <achicu@adobe.com>

        Web Inspector: Update WebInspectorUI to use the new "nodeIds" parameter for DOM.performSearch
        https://bugs.webkit.org/show_bug.cgi?id=124544

        Reviewed by Joseph Pecoraro.

        Added the new DOM.performSearch "nodeIds" parameter and made the two implementations
        of DOMTreeContentView provide the right context node ids.

        DOMTreeContentView is just using the id of the document node while ContentFlowDOMTreeContentView
        is passing the list of content nodes.

        Note that adding an extra optional parameter to DOM.performSearch does not break iOS 6 and 7 compatibility.

        * UserInterface/ContentFlowDOMTreeContentView.js:
        (WebInspector.ContentFlowDOMTreeContentView.prototype.getSearchContextNodes):
        * UserInterface/DOMTreeContentView.js:
        (WebInspector.DOMTreeContentView.prototype.performSearch.contextNodesReady):
        (WebInspector.DOMTreeContentView.prototype.performSearch):
        (WebInspector.DOMTreeContentView.prototype.getSearchContextNodes):
        * UserInterface/FrameDOMTreeContentView.js:
        (WebInspector.FrameDOMTreeContentView.prototype.getSearchContextNodes):
        * UserInterface/InspectorBackendCommands.js:

2013-11-18  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Update localizedStrings, remove stale string
        https://bugs.webkit.org/show_bug.cgi?id=124543

        Reviewed by Jessie Berlin.

        Remove stale localized strings after r124543 remove the old color picker.

        * Localizations/en.lproj/localizedStrings.js:

2013-11-15  Antoine Quint  <graouts@apple.com>

        Web Inspector: New color picker
        https://bugs.webkit.org/show_bug.cgi?id=124354

        Reviewed by Timothy Hatcher.

        Beginning of a new color picker. The focus of this new picker is to let you pick from
        a color wheel as the primary mean of color picking, with additional slider controls for
        the brightness and the opacity, better matching the default OS X color picker. This is the
        basis for a color picker that will evolve to support the following:

        - editable CSS value label (http://webkit.org/b/124356)
        - picking a color anywhere on screen (http://webkit.org/b/124357)
        - swatches based on other colors in page (http://webkit.org/b/124358)

        Note also that the color wheel has not been tested on Retina displays
        (see http://webkit.org/b/124355).

        * UserInterface/CSSColorPicker.css: Removed.
        * UserInterface/CSSColorPicker.js: Removed.
        Previous color picker, now removed in favor of the new ColorPicker class.

        * UserInterface/CSSStyleDeclarationTextEditor.js:
        Adopt new class name for the color picker, add a little padding to the popover
        target frame and set the base color after the picker has been presented.

        * UserInterface/Color.js:
        (WebInspector.Color.prototype._hslToRGB):
        Simplified math.

        (WebInspector.Color.rgb2hsv):
        (WebInspector.Color.hsv2rgb):
        New utilities to deal with HSV colors used in the ColorWheel.

        * UserInterface/ColorPicker.css: Added.

        * UserInterface/ColorPicker.js: Added.
        (WebInspector.ColorPicker):
        (WebInspector.ColorPicker.prototype.get element):
        (WebInspector.ColorPicker.prototype.set brightness):
        (WebInspector.ColorPicker.prototype.set opacity):
        (WebInspector.ColorPicker.prototype.get color):

        (WebInspector.ColorPicker.prototype.set color):
        We set the _dontUpdateColor flag here such that we don't attempt to
        notify about a color change at this point in case the selected color
        is too saturated to be represented accurately on the color wheel and
        we would end up changing the color by virtue of presenting the popover.

        (WebInspector.ColorPicker.prototype.colorWheelColorDidChange):
        (WebInspector.ColorPicker.prototype.sliderValueDidChange):
        (WebInspector.ColorPicker.prototype._updateColor):
        (WebInspector.ColorPicker.prototype._updateSliders):

        * UserInterface/ColorWheel.css: Added.

        * UserInterface/ColorWheel.js: Added.
        The ColorWheel makes use of three different <canvas> elements to draw itself.
        The "raw" canvas is used to draw the raw, un-tinted color wheel with poor
        aliasing. The "raw" canvas is only drawn when the dimension is changed.
        The "tinted" canvas is used to draw the "raw" canvas with a black overlay
        based on the brightness set on the wheel. The "final" canvas, the only <canvas>
        element attached to the DOM, is used to draw the "tinted" canvas into a circle
        clip of a slightly narrower radius so that the drawn image is visually more pleasing
        and can be displayed above virtually any background color.

        We use color math to generate the color wheel, courtesy of Dean Jackson, and also to
        figure out where to position the crosshair for the provided base color as well as
        the opposite operation where we get the color under the mouse pointer.

        The color wheel fires a single delegate method call colorWheelColorDidChange(colorWheel),
        the colors themselves being retrieved via the public properties tintedColor and rawColor.

        (WebInspector.ColorWheel):
        (WebInspector.ColorWheel.prototype.set dimension):
        (WebInspector.ColorWheel.prototype.get element):
        (WebInspector.ColorWheel.prototype.get brightness):
        (WebInspector.ColorWheel.prototype.set brightness):
        (WebInspector.ColorWheel.prototype.get tintedColor):
        (WebInspector.ColorWheel.prototype.set tintedColor):
        (WebInspector.ColorWheel.prototype.get rawColor):
        (WebInspector.ColorWheel.prototype.handleEvent):
        (WebInspector.ColorWheel.prototype._handleMousedown):
        (WebInspector.ColorWheel.prototype._handleMousemove):
        (WebInspector.ColorWheel.prototype._handleMouseup):
        (WebInspector.ColorWheel.prototype._pointInCircleForEvent):
        (WebInspector.ColorWheel.prototype._pointInCircleForEvent.angleFromCenterToPoint):
        (WebInspector.ColorWheel.prototype._pointInCircleForEvent.pointOnCircumference):
        (WebInspector.ColorWheel.prototype._updateColorForMouseEvent):
        (WebInspector.ColorWheel.prototype._setCrosshairPosition):
        (WebInspector.ColorWheel.prototype._tintedColorToPointAndBrightness):
        (WebInspector.ColorWheel.prototype._drawRawCanvas):
        (WebInspector.ColorWheel.prototype._colorAtPointWithBrightness):
        (WebInspector.ColorWheel.prototype._drawTintedCanvas):
        (WebInspector.ColorWheel.prototype._draw):

        * UserInterface/Images/SliderThumb.png: Added.
        * UserInterface/Images/SliderThumb@2x.png: Added.
        * UserInterface/Images/SliderThumbPressed.png: Added.
        * UserInterface/Images/SliderThumbPressed@2x.png: Added.
        Supporting artwork for the new Slider class.

        * UserInterface/Main.html:
        Remove the previous color picker class and add the new one, as well as the new Slider class.

        * UserInterface/Slider.css: Added.

        * UserInterface/Slider.js: Added.
        New slider to match the look of the sliders used in the native OS X color picker. The most
        interesting feature of these sliders is that they can be transformed using CSS in any way
        and will still operate correctly due to always converting the mouse coordinates in the page
        coordinate system to the coordinate system local to the backing element. For instance, the
        color picker uses two sliders transformed to be displayed vertically.

        As it stands these slides only support values between 0 and 1 and fire a single delegate
        method call sliderValueDidChange(slider, newValue).

        (WebInspector.Slider):
        (WebInspector.Slider.prototype.get element):
        (WebInspector.Slider.prototype.get value):
        (WebInspector.Slider.prototype.set value):
        (WebInspector.Slider.prototype.handleEvent):
        (WebInspector.Slider.prototype._handleMousedown):
        (WebInspector.Slider.prototype._handleMousemove):
        (WebInspector.Slider.prototype._handleMouseup):
        (WebInspector.Slider.prototype._localPointForEvent):
        (WebInspector.Slider.prototype.get _maxX):

        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
        Update file names for the new color picker.

2013-11-14  Antoine Quint  <graouts@apple.com>

        Web Inspector: Popovers may shrink unnecessarily
        https://bugs.webkit.org/show_bug.cgi?id=124350

        Reviewed by Timothy Hatcher.

        Because we always get the intersection of the preferred frame and the container frame to
        ensure the popover fits within its container based on a preferred frame that would place
        the arrow within the center of the attachment edge, we get in situations where we may
        shrink the popover instead of shifting it to fit within the container frame. We now first
        shift the preferred frame before getting its intersection with the container frame to
        avoid such situations.

        * UserInterface/Popover.js:
        (WebInspector.Popover.prototype._bestMetricsForEdge):

2013-11-13  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Split Inspector.json into individual domain json files
        https://bugs.webkit.org/show_bug.cgi?id=124098

        Reviewed by Timothy Hatcher.

        Removed now stale comments referring to the combined Inspector.json.
        Make update-InspectorBackendCommands helper script generate a
        combined Inspector.json to still work for tip of tree.

        * Scripts/update-InspectorBackendCommands.rb:
        * UserInterface/ApplicationCacheObserver.js:
        * UserInterface/CSSObserver.js:
        * UserInterface/CanvasObserver.js:
        * UserInterface/ConsoleObserver.js:
        * UserInterface/DOMObserver.js:
        * UserInterface/DOMStorageObserver.js:
        * UserInterface/DatabaseObserver.js:
        * UserInterface/DebuggerObserver.js:
        * UserInterface/InspectorBackendCommands.js:
        * UserInterface/InspectorObserver.js:
        * UserInterface/LayerTreeObserver.js:
        * UserInterface/NetworkObserver.js:
        * UserInterface/PageObserver.js:
        * UserInterface/ProfilerObserver.js:
        * UserInterface/Resource.js:
        * UserInterface/RuntimeObserver.js:
        * UserInterface/TimelineObserver.js:

2013-11-12  Alexandru Chiculita  <achicu@adobe.com>

        Web Inspector: ContentFlowTreeContentView should use only one DOMTreeOutline
        https://bugs.webkit.org/show_bug.cgi?id=124230

        Reviewed by Timothy Hatcher.

        Changed ContentFlowTreeContentView to use one DOMTreeOutline by just
        populating it with root DOMTreeElements directly. That is very
        similar to how DOMTreeOutline works when omitRootDOMNode is used.

        Now that ContentFlowTreeContentView has only one DOMTreeOutline,
        it makes sense to change its base class to be DOMTreeContentView instead.
        Also, with that I've changed its name to ContentFlowDOMTreeContentView.

        I had to move all the DOMTree document loading code from DOMTreeContentView to a
        new class called FrameDOMTreeContentView. This is used to display the DOM of the
        frame objects. FrameDOMTreeContentView is also inheriting from DOMTreeContentView.

        Issues that are fixed as a side effect:
        - Selection path components are now displaying all the sibling elements for contentFlow.contentNodes
        (those are the nodes that have "-webkit-flow-into" set directly).
        - Keyboard navigation works for the contentFlow.contentNodes.
        - Search is implemented in DOMTreeContentView, so that code now works for flows too.
        The DOMAgents's search API will use all the Documents to lookup for nodes, so it might
        find DOM nodes that are not part of the flow. This is in line with the behavior for the
        frames.

        * UserInterface/ContentFlowDOMTreeContentView.js: Renamed from ContentFlowTreeContentView
        to better reflect the inheritance from DOMTreeContentView.
        (WebInspector.ContentFlowDOMTreeContentView):
        (WebInspector.ContentFlowDOMTreeContentView.prototype.closed):
        (WebInspector.ContentFlowDOMTreeContentView.prototype._createContentTrees):
        (WebInspector.ContentFlowDOMTreeContentView.prototype._contentNodeWasAdded):
        (WebInspector.ContentFlowDOMTreeContentView.prototype._contentNodeWasRemoved):
        * UserInterface/ContentView.js:
        (WebInspector.ContentView):
        * UserInterface/DOMTreeContentView.js:
        (WebInspector.DOMTreeContentView):
        (WebInspector.DOMTreeContentView.prototype.closed):
        (WebInspector.DOMTreeContentView.prototype.):
        (WebInspector.DOMTreeContentView.prototype._restoreSelectedNodeAfterUpdate):
        (WebInspector.DOMTreeContentView.prototype._selectedNodeDidChange):
        * UserInterface/FrameDOMTreeContentView.js: Added.
        (WebInspector.FrameDOMTreeContentView):
        (WebInspector.FrameDOMTreeContentView.prototype.get domTree):
        (WebInspector.FrameDOMTreeContentView.prototype.closed):
        (WebInspector.FrameDOMTreeContentView.prototype._rootDOMNodeAvailable):
        (WebInspector.FrameDOMTreeContentView.prototype._rootDOMNodeInvalidated):
        (WebInspector.FrameDOMTreeContentView.prototype._requestRootDOMNode):
        * UserInterface/Main.html:

2013-11-08  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: remove -webkit-min and -webkit-max from CSS completions
        https://bugs.webkit.org/show_bug.cgi?id=124072

        Reviewed by Timothy Hatcher.

        -webkit-min and -webkit-max are not implemented in WebCore, despite mentions of it.

        * UserInterface/CSSKeywordCompletions.js:

2013-11-07  Alexandru Chiculita  <achicu@adobe.com>

        Web Inspector: CSS Regions: Use a Map object to store the ContentFlows
        https://bugs.webkit.org/show_bug.cgi?id=124015

        Reviewed by Joseph Pecoraro.

        Changed the Object hashmap to a Map based hashmap when storing the flows in DOMTreeManager.

        * UserInterface/DOMTreeManager.js:
        (WebInspector.DOMTreeManager):
        (WebInspector.DOMTreeManager.prototype.getNamedFlowCollection):
        (WebInspector.DOMTreeManager.prototype.namedFlowRemoved):
        (WebInspector.DOMTreeManager.prototype._sendNamedFlowUpdateEvents):

2013-11-07  Timothy Hatcher  <timothy@apple.com>

        Fix up some sidebar switching details to make selections persist better.

        Translate represented objects between sidebars so the same item can be reselected
        as you switch between frames and main reources. Also fix some null checks that are
        needed on selectedSidebarPanel.

        https://bugs.webkit.org/show_bug.cgi?id=124001

        Reviewed by Joseph Pecoraro.

        * UserInterface/DebuggerSidebarPanel.js:
        (WebInspector.DebuggerSidebarPanel.prototype.treeElementForRepresentedObject): Added. Translate a Frame
        representedObject into a main resource representedObject.
        * UserInterface/Main.js:
        (WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar): Null check selectedSidebarPanel.
        (WebInspector._updateNavigationSidebarForCurrentContentView): Fix a logic error to match other code.
        allowedNavigationSidebarPanels.length needs to have a length before using contains.
        (WebInspector._contentBrowserCurrentContentViewDidChange): Null check selectedSidebarPanel.
        * UserInterface/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject): Translate a main resource
        representedObject into a Frame representedObject.

2013-11-07  Alexandru Chiculita  <achicu@adobe.com>

        Web Inspector: CSS Regions: Removing a content node of a ContentFlow from the DOM will send a 0 nodeId
        https://bugs.webkit.org/show_bug.cgi?id=123577

        Reviewed by  Timothy Hatcher.

        Fixed the content node removal from the content flow.

        * UserInterface/ContentFlowTreeContentView.js:
        * UserInterface/DOMTreeManager.js:
        (WebInspector.DOMTreeManager):
        (WebInspector.DOMTreeManager.prototype._createContentFlowFromPayload): Registered all the content nodes
        in the _contentNodesToFlowsMap.
        (WebInspector.DOMTreeManager.prototype._unbind): Added call to _removeContentNodeFromFlowIfNeeded.
        (WebInspector.DOMTreeManager.prototype._removeContentNodeFromFlowIfNeeded): Called from _unbind to check
        and remove a node from it's parent content flow if needed.
        (WebInspector.DOMTreeManager.prototype.unregisteredNamedFlowContentElement):

2013-11-06  Timothy Hatcher  <timothy@apple.com>

        Properly null check positionToReveal in ResourceSidebarPanel.prototype.showSourceCode.

        https://bugs.webkit.org/show_bug.cgi?id=123921

        Reviewed by Joseph Pecoraro.

        * UserInterface/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel.prototype.showSourceCode):

2013-11-06  Timothy Hatcher  <timothy@apple.com>

        Fix the display of query parameters when the value is missing.

        https://bugs.webkit.org/show_bug.cgi?id=123920

        Reviewed by Joseph Pecoraro.

        * UserInterface/ResourceDetailsSidebarPanel.js:
        (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid):

2013-11-06  Alexandru Chiculita  <achicu@adobe.com>

        Web Inspector: CSS Regions: When a flow is clicked the content of flow needs to be displayed
        https://bugs.webkit.org/show_bug.cgi?id=122927

        Reviewed by Joseph Pecoraro.

        ContentFlowTreeContentView is now used to display the content nodes of a ContentFlow. It is
        very similar to the DOMTreeContentView class, but can handle multiple root nodes.

        * UserInterface/ContentFlowTreeContentView.js: Added.
        (WebInspector.ContentFlowTreeContentView):
        (WebInspector.ContentFlowTreeContentView.prototype.get selectionPathComponents):
        (WebInspector.ContentFlowTreeContentView.prototype.updateLayout):
        (WebInspector.ContentFlowTreeContentView.prototype.shown):
        (WebInspector.ContentFlowTreeContentView.prototype.hidden):
        (WebInspector.ContentFlowTreeContentView.prototype.closed):
        (WebInspector.ContentFlowTreeContentView.prototype._selectedNodeDidChange):
        (WebInspector.ContentFlowTreeContentView.prototype._pathComponentSelected):
        (WebInspector.ContentFlowTreeContentView.prototype._createContentNodeTree):
        (WebInspector.ContentFlowTreeContentView.prototype._createContentTrees):
        (WebInspector.ContentFlowTreeContentView.prototype._contentNodeWasAdded):
        (WebInspector.ContentFlowTreeContentView.prototype._contentNodeWasRemoved):
        * UserInterface/ContentView.js:
        (WebInspector.ContentView):
        (WebInspector.ContentView.isViewable):
        * UserInterface/DOMTreeElement.js:
        (WebInspector.DOMTreeElement.prototype.ondeselect): We need to remove the selected "dom node"
        so that the element is not going to stay selected after the we move to a different DOM tree.
        * UserInterface/DOMTreeOutline.js:
        (WebInspector.DOMTreeOutline.prototype.selectDOMNode):
        * UserInterface/Main.html:
        * UserInterface/Main.js:
        (WebInspector.sidebarPanelForRepresentedObject):
        * UserInterface/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):

2013-11-01  Antoine Quint  <graouts@apple.com>

        Remove custom Function.prototype.bind() in favor of native version
        https://bugs.webkit.org/show_bug.cgi?id=123608

        Reviewed by Joseph Pecoraro.

        * UserInterface/Utilities.js:

2013-11-01  Antoine Quint  <graouts@apple.com>

        Error trying to serialize a color created without an alpha component to RGBA or HSLA
        https://bugs.webkit.org/show_bug.cgi?id=123623

        Reviewed by Joseph Pecoraro.

        Check whether we have .rgba and .hsla ivars before trying to retrieve them to serialize
        the color to RGBA or HSLA format.

        * UserInterface/Color.js:
        (WebInspector.Color.prototype.toString):

2013-11-01  Antoine Quint  <graouts@apple.com>

        Remove custom Element.prototype.remove() in favor of native version
        https://bugs.webkit.org/show_bug.cgi?id=123607

        Reviewed by Timothy Hatcher.

        * UserInterface/Utilities.js:

2013-10-31  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Breakpoints in auto-formatted JavaScript editors are not working
        https://bugs.webkit.org/show_bug.cgi?id=123589

        Reviewed by Timothy Hatcher.

        The internal this._ignoreCodeMirrorContentDidChangeEvent flag was being used
        in two places that could be nested, meaning the flag was deleted while it
        was still expected to be set. Change it instead to a counter, to handle nesting.

        * UserInterface/TextEditor.js:
        (WebInspector.TextEditor):
        (WebInspector.TextEditor.prototype.set string):
        (WebInspector.TextEditor.prototype.set formatted):
        (WebInspector.TextEditor.prototype._contentChanged):

2013-10-31  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Remove stale optional native memory instrumentation protocol params
        https://bugs.webkit.org/show_bug.cgi?id=123552

        Reviewed by Timothy Hatcher.

        * UserInterface/InspectorBackendCommands.js:

2013-10-30  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Fix PrettyPrinting Tool Load from Saved URL

        Reviewed by Timothy Hatcher.

        * Tools/PrettyPrinting/index.html:

2013-10-28  Alexandru Chiculita  <achicu@adobe.com>

        Web Inspector: CSS Regions: Add protocol API to expose content nodes addition/removal
        https://bugs.webkit.org/show_bug.cgi?id=123424

        Reviewed by Timothy Hatcher.

        Exposed the new CSS Agent events to the ContentFlow class that will now maintain
        a list of nodes in the "contentNodes" property.

        * UserInterface/CSSObserver.js:
        (WebInspector.CSSObserver.prototype.regionOversetChanged):
        (WebInspector.CSSObserver.prototype.registeredNamedFlowContentElement):
        (WebInspector.CSSObserver.prototype.unregisteredNamedFlowContentElement):
        * UserInterface/ContentFlow.js:
        (WebInspector.ContentFlow):
        (WebInspector.ContentFlow.prototype.set overset):
        (WebInspector.ContentFlow.prototype.get contentNodes):
        (WebInspector.ContentFlow.prototype.insertContentNodeBefore):
        (WebInspector.ContentFlow.prototype.appendContentNode):
        (WebInspector.ContentFlow.prototype.removeContentNode):
        * UserInterface/DOMTreeManager.js:
        (WebInspector.DOMTreeManager.prototype._createContentFlowFromPayload):
        (WebInspector.DOMTreeManager.prototype._updateContentFlowFromPayload):
        (WebInspector.DOMTreeManager.prototype.regionOversetChanged):
        (WebInspector.DOMTreeManager.prototype.registeredNamedFlowContentElement):
        (WebInspector.DOMTreeManager.prototype.unregisteredNamedFlowContentElement):
        * UserInterface/InspectorBackendCommands.js:

2013-10-25  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: PrettyPrinting tool should have save button
        https://bugs.webkit.org/show_bug.cgi?id=123371

        Reviewed by Timothy Hatcher.

        Add buttons to save as a URL to share or to save/clear to
        localStorage for easier reloads testing local changes.

        * Tools/PrettyPrinting/index.html:

2013-10-25  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Command+Click on url(…) should go to image not source line
        https://bugs.webkit.org/show_bug.cgi?id=123362

        Reviewed by Timothy Hatcher.

        CodeMirror changed "url" from being type "variable-2" to "string-2".

        * UserInterface/CodeMirrorAdditions.js:

2013-10-25  Jessie Berlin  <jberlin@apple.com>

        Ran update-localizable-strings after changes made in r157947.

        Rubber-stamped by Timothy Hatcher.

        * Localizations/en.lproj/localizedStrings.js:

2013-10-24  Mark Rowe  <mrowe@apple.com>

        Remove references to OS X 10.7 from Xcode configuration settings.

        Now that we're not building for OS X 10.7 they're no longer needed.

        Reviewed by Anders Carlsson.

        * Configurations/Base.xcconfig:
        * Configurations/DebugRelease.xcconfig:
        * Configurations/Version.xcconfig:

2013-10-24  Mark Rowe  <mrowe@apple.com>

        <rdar://problem/15312643> Prepare for the mysterious future.

        Reviewed by David Kilzer.

        * Configurations/Base.xcconfig:
        * Configurations/DebugRelease.xcconfig:
        * Configurations/Version.xcconfig:

2013-10-24  Timothy Hatcher  <timothy@apple.com>

        Allow editing CSS resources after they have been pretty printed.

        https://bugs.webkit.org/show_bug.cgi?id=123297

        Reviewed by Joseph Pecoraro.

        * UserInterface/TextEditor.js:
        (WebInspector.TextEditor): Remove the need for _readOnly.
        (WebInspector.TextEditor.prototype.set readOnly): Set CodeMirror readOnly directly.
        (WebInspector.TextEditor.prototype.set formatted): Don't call _updateCodeMirrorReadOnly.
        (WebInspector.TextEditor.prototype._updateCodeMirrorReadOnly): Removed.
        (WebInspector.TextEditor.prototype._contentChanged): Clear _formatted and _formatterSourceMap
        on edit and notify the delegate and fire the FormattingDidChange event.

2013-10-24  Timothy Hatcher  <timothy@apple.com>

        Adjust the precision of byte strings in Web Inspector.

        https://bugs.webkit.org/show_bug.cgi?id=123281

        Reviewed by Joseph Pecoraro.

        * UserInterface/Utilities.js:
        (Number.bytesToString): More precision for MB and less precision for 10..1023 KB.

2013-10-24  Alexandru Chiculita  <achicu@adobe.com>

        Web Inspector: Add a way to test the Manager and model classes
        https://bugs.webkit.org/show_bug.cgi?id=123223

        Reviewed by Timothy Hatcher.

        Moved some global functions out of Main.js, so that they can be used in the
        layout tests without including Main.js.

        * UserInterface/Main.html: Referenced the new JS files.
        * UserInterface/Main.js:
        * UserInterface/MessageDispatcher.js: Added.
        (WebInspector.dispatchNextQueuedMessageFromBackend):
        (WebInspector.dispatchMessageFromBackend):
        * UserInterface/URLUtilities.js: Added.
        (removeURLFragment):
        (relativePath):
        (parseURL):
        (absoluteURL):
        (parseLocationQueryParameters):
        (parseQueryString):
        (WebInspector.displayNameForURL):
        (WebInspector.displayNameForHost):
        * UserInterface/Utilities.js:

2013-10-21  Alexandru Chiculita  <achicu@adobe.com>

        Web Inspector: [CSS Regions] Flows are not loading if you refresh the page several times
        https://bugs.webkit.org/show_bug.cgi?id=123123

        Reviewed by Joseph Pecoraro.

        There was a typo in the code where an exception was thrown because "flowKey" was undefined.

        * UserInterface/DOMTree.js:
        (WebInspector.DOMTree.prototype._contentFlowListWasUpdated):

2013-10-21  Oliver Hunt  <oliver@apple.com>

        Restore accidentally removed files.

        * UserInterface/GoToLineDialog.css: Added.
        (.go-to-line-dialog):
        (.go-to-line-dialog > div):
        (.go-to-line-dialog > div > input):
        (.go-to-line-dialog > div > input::-webkit-input-placeholder):
        (.go-to-line-dialog > div > img):
        (.go-to-line-dialog > div > img:active):
        (.go-to-line-dialog.non-empty > div > img):
        * UserInterface/GoToLineDialog.js: Added.
        (WebInspector.GoToLineDialog):
        (WebInspector.GoToLineDialog.prototype.present):
        (WebInspector.GoToLineDialog.prototype.dismiss):
        (WebInspector.GoToLineDialog.prototype.handleEvent):
        (WebInspector.GoToLineDialog.prototype._handleInputEvent):
        (WebInspector.GoToLineDialog.prototype._handleKeydownEvent):
        (WebInspector.GoToLineDialog.prototype._handleBlurEvent):
        (WebInspector.GoToLineDialog.prototype._handleMousedownEvent):
        (WebInspector.GoToLineDialog.prototype._handleClickEvent):
        (WebInspector.GoToLineDialog.prototype._clear):
        * UserInterface/Images/CloseWhite.svg: Added.

2013-10-18  Alexandru Chiculita  <achicu@adobe.com>

        Web Inspector: CSS Regions: Add the list of flows in the FrameTreeElement
        https://bugs.webkit.org/show_bug.cgi?id=122924

        Reviewed by Timothy Hatcher.

        Added code to collect the flows from the backend into the DOMTree object
        on the frontend. Added ContentFlow to represent the flows on the frontend
        side and created ContentFlowTreeElement to display the flows in the FrameTreeElement.

        * Localizations/en.lproj/localizedStrings.js:
        * Scripts/copy-user-interface-resources.sh:
        * UserInterface/CSSObserver.js:
        (WebInspector.CSSObserver.prototype.namedFlowCreated):
        (WebInspector.CSSObserver.prototype.namedFlowRemoved):
        (WebInspector.CSSObserver.prototype.regionLayoutUpdated):
        (WebInspector.CSSObserver.prototype.regionOversetChanged):
        * UserInterface/ContentFlow.js: Added.
        (WebInspector.ContentFlow):
        (WebInspector.ContentFlow.prototype.get id):
        (WebInspector.ContentFlow.prototype.get documentNodeIdentifier):
        (WebInspector.ContentFlow.prototype.get name):
        (WebInspector.ContentFlow.prototype.get overset):
        (WebInspector.ContentFlow.prototype.set overset):
        * UserInterface/ContentFlowIcon.css: Added.
        (.content-flow-icon .icon):
        * UserInterface/ContentFlowTreeElement.js: Added.
        (WebInspector.ContentFlowTreeElement):
        * UserInterface/DOMTree.js:
        (WebInspector.DOMTree):
        (WebInspector.DOMTree.prototype.get flowMap):
        (WebInspector.DOMTree.prototype.get flowsCount):
        (WebInspector.DOMTree.prototype._framePageExecutionContextChanged):
        (WebInspector.DOMTree.prototype.requestContentFlowList):
        (WebInspector.DOMTree.prototype._isContentFlowInCurrentDocument):
        (WebInspector.DOMTree.prototype._contentFlowListWasUpdated):
        (WebInspector.DOMTree.prototype._contentFlowWasAdded):
        (WebInspector.DOMTree.prototype._contentFlowWasRemoved):
        * UserInterface/DOMTreeManager.js:
        (WebInspector.DOMTreeManager):
        (WebInspector.DOMTreeManager._flowPayloadHashKey):
        (WebInspector.DOMTreeManager.prototype._buildHighlightConfig):
        (WebInspector.DOMTreeManager.prototype._createContentFlowFromPayload):
        (WebInspector.DOMTreeManager.prototype._updateContentFlowFromPayload):
        (WebInspector.DOMTreeManager.prototype.getNamedFlowCollection):
        (WebInspector.DOMTreeManager.prototype.namedFlowCreated):
        (WebInspector.DOMTreeManager.prototype.namedFlowRemoved):
        (WebInspector.DOMTreeManager.prototype._sendNamedFlowUpdateEvents):
        (WebInspector.DOMTreeManager.prototype.regionLayoutUpdated):
        (WebInspector.DOMTreeManager.prototype.regionOversetChanged):
        * UserInterface/FrameTreeElement.js:
        (WebInspector.FrameTreeElement):
        (WebInspector.FrameTreeElement.prototype.onpopulate):
        (WebInspector.FrameTreeElement.prototype.onexpand):
        (WebInspector.FrameTreeElement.prototype._childContentFlowWasAdded):
        (WebInspector.FrameTreeElement.prototype._childContentFlowWasRemoved):
        (WebInspector.FrameTreeElement.prototype._rootDOMNodeInvalidated):
        (WebInspector.FrameTreeElement.prototype._addChildForRepresentedObject):
        (WebInspector.FrameTreeElement.prototype._removeChildForRepresentedObject):
        (WebInspector.FrameTreeElement.prototype._addTreeElementForRepresentedObject):
        (WebInspector.FrameTreeElement.prototype._compareResourceTreeElements):
        (WebInspector.FrameTreeElement.prototype._insertResourceTreeElement):
        (WebInspector.FrameTreeElement.prototype._parentTreeElementForRepresentedObject):
        (WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders):
        * UserInterface/Images/ContentFlow.svg: Added.
        * UserInterface/Main.html:
        * UserInterface/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):

2013-10-17  Antoine Quint  <graouts@apple.com>

        Web Inspector: Go to line keyboard command and dialog
        https://bugs.webkit.org/show_bug.cgi?id=122893

        Reviewed by Timothy Hatcher.

        Add a text input over source code text editors, centered within the width of the editor
        and towards the top of the editor, upon pressing Command+L or Control+G to match the
        behavior in Chrome.

        * Localizations/en.lproj/localizedStrings.js:
        New localized string "Line Number".

        * UserInterface/GoToLineDialog.css: Added.
        Styling for the go-to-line dialog.

        * UserInterface/GoToLineDialog.js: Added.
        (WebInspector.GoToLineDialog):
        Generate the DOM structure for the dialog.

        (WebInspector.GoToLineDialog.prototype.present):
        Present the dialog as a child of a parent element. The dialog's text field automatically
        gets focus and resets to be empty.

        (WebInspector.GoToLineDialog.prototype.dismiss):
        Dismiss the dialog if visible, this triggers the goToLineDialogWasDismissed delegate method.

        (WebInspector.GoToLineDialog.prototype.handleEvent):
        Route the various events registered in the dialog's DOM tree: input, keydown, blur, mousedown
        and click.

        (WebInspector.GoToLineDialog.prototype._handleInputEvent):
        Update the "non-empty" class on the dialog's element depending on the content of the dialog's
        text field. If there is content in the text field, this will make the clear icon visible.

        (WebInspector.GoToLineDialog.prototype._handleKeydownEvent):
        If the Esc. key is pressed when there is text in the dialog's input field, clear the input field.
        If no text is in the input field, dismiss the input field. When the Enter key is pressed, we call
        the isGoToLineDialogValueValid() method on the delegate to figure out if the text field value is
        valid. If it's not, we select the text field value so that it may be easily replaced and play
        en error sound. If it's valid, we call the goToLineDialogValueWasValidated() delegate method
        and dismiss the dialog.

        (WebInspector.GoToLineDialog.prototype._handleBlurEvent):
        Dismiss the dialog when its text field loses focus. This ensures that clicking anywhere outside
        of the dialog removes it from display.

        (WebInspector.GoToLineDialog.prototype._handleMousedownEvent):
        Upon pressing the mouse down on the clear icon, select the entire text field content (matches
        the behavior of Xcode) and prevent the default event action that would blur the text field
        which would dismiss the dialog.

        (WebInspector.GoToLineDialog.prototype._handleClickEvent):
        Clear the content of the dialog's text field upon clicking on its clear button.

        (WebInspector.GoToLineDialog.prototype._clear):
        Reset the dialog's text field's value to an empty string and remove the "non-empty" CSS class name
        controlling the display of the clear button.

        * UserInterface/Images/CloseWhite.svg: Added.
        Variation of the Close.svg icon with a white cross.

        * UserInterface/Main.html:
        Link to the newly added resources for GoToLineDialog.

        * UserInterface/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor):
        Register the Command+L and Control+G keyboard shortcuts to bring up the go-to-line dialog.

        (WebInspector.SourceCodeTextEditor.prototype.showGoToLineDialog):
        Method called upon pressing the Command+L and Control+G keyboard shorcuts creating an instance
        of a GoToDialog if necessary, becoming its delegate and presenting it in the context of the
        editor's root element.

        (WebInspector.SourceCodeTextEditor.prototype.isGoToLineDialogValueValid):
        Delegate method called to validate the line number presently set in the go-to-dialog's text field,
        checking it's a number between 1 and the number of lines in the source code.

        (WebInspector.SourceCodeTextEditor.prototype.goToLineDialogValueWasValidated):
        Delegate method called when the line number set in the go-to-dialog's text field has been validated.
        We reveal and select the line at the number provided.

        (WebInspector.SourceCodeTextEditor.prototype.goToLineDialogWasDismissed):
        Ensure the source code editor regains focus upon dismissing the go-to-dialog.

        * UserInterface/TextEditor.js:
        (WebInspector.TextEditor.prototype.revealPosition):
        Add a new opt-in option to not highlight the revealed position. The code in goToLineDialogValueWasValidated()
        sets that new flag to true to avoid an unnecessary highlight on top of the selection.

        (WebInspector.TextEditor.prototype.get lineCount):
        Expose the lineCount() method on the private CodeMirror instance.

        (WebInspector.TextEditor.prototype.focus):
        Expose the focus() method on the private CodeMirror instance.

2013-10-17  Antoine Quint  <graouts@apple.com>

        Web Inspector: logged objects are highlighted in blue
        https://bugs.webkit.org/show_bug.cgi?id=122897

        Reviewed by Joseph Pecoraro.

        Switch to using the system highlight color for the background selected messages.
        Also removing SVG assets no longer needed since we won't be showing white prompt
        and result icons anymore as well as a few generated canvas states.

        * UserInterface/Images/UserInputPromptPreviousSelected.svg: Removed.
        * UserInterface/Images/UserInputResultSelected.svg: Removed.
        * UserInterface/LogContentView.css:
        (.console-messages:focus .console-item.selected):
        * UserInterface/Main.js:
        (WebInspector._generateDisclosureTriangleImages):

2013-10-17  Antoine Quint  <graouts@apple.com>

        Web Inspector: allow front-end to trigger the system beep sound to signal an error
        https://bugs.webkit.org/show_bug.cgi?id=122955

        Reviewed by Timothy Hatcher.

        Provide a stub method for the new InspectorFrontendHost.beep() method.

        * UserInterface/InspectorFrontendHostStub.js:
        (WebInspector.InspectorFrontendHostStub.prototype.beep):

2013-10-15  Antoine Quint  <graouts@apple.com>

        Web Inspector: can't select text inside a text node
        https://bugs.webkit.org/show_bug.cgi?id=122828

        Reviewed by Timothy Hatcher.

        Cancel the default user interaction when a drag action starts if the
        element is being edited.

        * UserInterface/DOMTreeElement.js:
        (WebInspector.DOMTreeElement.prototype.onattach):
        (WebInspector.DOMTreeElement.prototype.handleEvent):

2013-10-10  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: content views and managers should save/restore view state.
        https://bugs.webkit.org/show_bug.cgi?id=122546

        To restore the same content view and sidebars when re-opening the
        inspector, a cookie is saved whenever a new content view is shown
        in the main content browser. Previously, this cookie was created
        and restored using navigation sidebar-specific logic. This has two
        major flaws: non-default sidebars for a represented object are not
        restored correctly; and it centralizes storage of view-specific
        state such as subview selections.

        This patch adds ContentView methods for saving a key for the
        view's represented object, and saving/restoring any view-specific
        state as the view is shown. The 'type' field of the cookie
        specifies the manager which deserializes the cookie into a
        represented object.

        Reviewed by Timothy Hatcher.

        * UserInterface/ApplicationCacheFrameContentView.js:
        (WebInspector.ApplicationCacheFrameContentView):
        (WebInspector.ApplicationCacheFrameContentView.prototype.saveToCookie):
        (WebInspector.ApplicationCacheFrameContentView.prototype._maybeUpdate):
        (WebInspector.ApplicationCacheFrameContentView.prototype._updateStatus):
        (WebInspector.ApplicationCacheFrameContentView.prototype.updateStatus):
        (WebInspector.ApplicationCacheFrameContentView.prototype._updateCallback):
        * UserInterface/ApplicationCacheManager.js:
        (WebInspector.ApplicationCacheManager.prototype.networkStateUpdated):
        (WebInspector.ApplicationCacheManager.prototype.applicationCacheStatusUpdated):
        (WebInspector.ApplicationCacheManager.prototype.):
        (WebInspector.ApplicationCacheManager.prototype.requestApplicationCache):
        (WebInspector.ApplicationCacheManager.prototype.objectForCookie):
        (WebInspector.ApplicationCacheManager.prototype._manifestForFrameLoaded):
        (WebInspector.ApplicationCacheManager.prototype._framesWithManifestsLoaded):
        (WebInspector.ApplicationCacheManager.prototype._frameManifestUpdated):
        * UserInterface/BackForwardEntry.js:
        (WebInspector.BackForwardEntry):
        (WebInspector.BackForwardEntry.prototype._restoreFromCookie):
        * UserInterface/ContentBrowser.js:
        (WebInspector.ContentBrowser.prototype.showContentViewForRepresentedObject):
        (WebInspector.ContentBrowser.prototype.showContentView):
        * UserInterface/ContentView.js:
        (WebInspector.ContentView.prototype.saveToCookie):
        (WebInspector.ContentView.prototype.restoreFromCookie):
        * UserInterface/ContentViewContainer.js:
        (WebInspector.ContentViewContainer.prototype.showContentView):
        * UserInterface/CookieStorageContentView.js:
        (WebInspector.CookieStorageContentView.prototype.update):
        (WebInspector.CookieStorageContentView.prototype.saveToCookie):
        (WebInspector.CookieStorageContentView.prototype._rebuildTable):
        (WebInspector.CookieStorageContentView.prototype._filterCookies):
        * UserInterface/DOMStorageContentView.js:
        (WebInspector.DOMStorageContentView.prototype.saveToCookie):
        * UserInterface/DatabaseContentView.js:
        (WebInspector.DatabaseContentView.prototype.saveToCookie):
        (WebInspector.DatabaseContentView.prototype._messagesClicked):
        * UserInterface/DatabaseTableContentView.js:
        (WebInspector.DatabaseTableContentView):
        (WebInspector.DatabaseTableContentView.prototype.saveToCookie):
        * UserInterface/FrameContentView.js:
        (WebInspector.FrameContentView.prototype.saveToCookie):
        (WebInspector.FrameContentView.prototype.restoreFromCookie):
        * UserInterface/FrameResourceManager.js:
        (WebInspector.FrameResourceManager.prototype.objectForCookie):
        * UserInterface/InstrumentSidebarPanel.js:
        (WebInspector.InstrumentSidebarPanel):
        (WebInspector.InstrumentSidebarPanel.prototype.showTimeline):
        (WebInspector.InstrumentSidebarPanel.prototype.shown):
        (WebInspector.InstrumentSidebarPanel.prototype._timelinesTreeElementSelected):
        * UserInterface/Main.js:
        (WebInspector.loaded):
        (WebInspector.contentLoaded):
        (WebInspector.openURL):
        (WebInspector._updateCurrentContentViewCookie):
        (WebInspector._showContentViewForCookie.lastAttemptToRestoreFromCookie):
        (WebInspector._showContentViewForCookie):
        (WebInspector._resolveAndShowPendingContentViewCookie.delayedWork):
        (WebInspector._resolveAndShowPendingContentViewCookie):
        (WebInspector.elementDragStart):
        (WebInspector.elementDragEnd):
        (WebInspector.createMessageTextView):
        (WebInspector.linkifyStringAsFragment):
        * UserInterface/NavigationSidebarPanel.js:
        * UserInterface/ResourceClusterContentView.js:
        (WebInspector.ResourceClusterContentView.prototype.saveToCookie):
        (WebInspector.ResourceClusterContentView.prototype.restoreFromCookie):
        * UserInterface/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel.prototype.showSourceCode):
        (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange):
        (WebInspector.ResourceSidebarPanel.prototype._domStorageObjectWasAdded):
        (WebInspector.ResourceSidebarPanel.prototype._databaseWasAdded):
        (WebInspector.ResourceSidebarPanel.prototype._cookieStorageObjectWasAdded):
        (WebInspector.ResourceSidebarPanel.prototype._frameManifestAdded):
        * UserInterface/ScriptContentView.js:
        (WebInspector.ScriptContentView.prototype.saveToCookie):
        (WebInspector.ScriptContentView.prototype.restoreFromCookie):
        * UserInterface/StorageManager.js:
        (WebInspector.StorageManager.prototype.findMatchingObjectInArray):
        (WebInspector.StorageManager.prototype.objectForCookie):
        * UserInterface/TimelineManager.js:
        (WebInspector.TimelineManager):
        (WebInspector.TimelineManager.prototype.get timelines):
        (WebInspector.TimelineManager.prototype.objectForCookie):
        * UserInterface/TimelinesContentView.js:
        (WebInspector.TimelinesContentView.prototype.saveToCookie):
        (WebInspector.TimelinesContentView.prototype.restoreFromCookie):
        (WebInspector.TimelinesContentView.prototype._makeColumnScopeBar):

2013-10-10  Mark Rowe  <mrowe@apple.com>

        <rdar://problem/13341666> WebKit should always build against an SDK.

        Have all projects default to building against the OS X Internal SDK for the Production
        configuration. For the Debug and Release configurations, look for UseInternalSDK.xcconfig
        to determine whether the OS X Internal SDK should be used. If not, use the normal OS X SDK.

        Reviewed by Dan Bernstein.

        * Configurations/Base.xcconfig:
        * Configurations/DebugRelease.xcconfig:

2013-10-04  Antoine Quint  <graouts@apple.com>

        Web Inspector: pressing the Cmd key over a CSS property should underline it immediately (jump to definition mode)
        https://bugs.webkit.org/show_bug.cgi?id=119012

        Reviewed by Joseph Pecoraro.

        We add an "enabled" state to the tokenTrackingController to indicate that we're interested
        in tracking hovered tokens. The tokenTrackingController is now only enabled in the
        CSSStyleDeclarationTextEditor when the Cmd key is pressed and in the SourceCodeTextEditor
        when either the Cmd key is pressed (NonSymbolTokens mode) or when the debugger is paused
        (JavaScriptExpression mode).

        The tokenTrackingController is now smarter about how it tracks mouse events when it's enabled,
        tracking "mouseenter" and "mouseleave" events to enable tracking allowing immediate detection of
        tokens being hovered or no longer being hovered even with quick mouse movements. Additioanlly,
        using the new top-level mouse coordinates tracking, we can detect a hovered token as soon as
        it's being enabled to provide instant feedback to the user.

        This new top-level mouse coordinates tracking couple with tracking of modifier keys also fixes
        http://webkit.org/b/119011.

        * UserInterface/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateJumpToSymbolTrackingMode):
        Highlight the last known hovered candidate's range as soon as the Cmd key is pressed and enable
        the tokenTrackingController if we're dealing with a non-read-only editor. When the Cmd key is
        released, disable the tokenTrackingController.

        * UserInterface/CodeMirrorTokenTrackingController.js:
        (WebInspector.CodeMirrorTokenTrackingController):
        (WebInspector.CodeMirrorTokenTrackingController.prototype.get enabled):
        (WebInspector.CodeMirrorTokenTrackingController.prototype.set enabled):
        New enabled state for the tokenTrackingController which indicates whether it should be tracking
        mouse events to track hovered tokens in the editor. Upon being enabled, the tokenTrackingController
        looks up the mouse coordinates continuously tracked at the window level to check for a token
        at the last known mouse coordinates in case we're already over a token that may be highlighted.

        (WebInspector.CodeMirrorTokenTrackingController.prototype.highlightLastHoveredRange):
        New public method allowing to highlight the last know candidate range, if any. This is used from
        editor code when the Cmd key is pressed and we want to force the last know candidate to be
        highlighted.

        (WebInspector.CodeMirrorTokenTrackingController.prototype._startTracking):
        (WebInspector.CodeMirrorTokenTrackingController.prototype._stopTracking):
        Make these two methods private now that they're automatically called by the "mouseenter" and
        "mouseleave" event handling when we're in the "enabled" state. Additionally, the public
        "tracking" property has been removed since it is no longer useful to the developer.

        (WebInspector.CodeMirrorTokenTrackingController.prototype.handleEvent):
        (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseEntered):
        (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseLeft):
        New handlers for the "mouseenter" and "mouseleave" events enabling tracking of hovered tokens.

        (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseMovedOverEditor):
        (WebInspector.CodeMirrorTokenTrackingController.prototype._updateHoveredTokenInfo):
        Refactor _mouseMovedOverEditor() into two methods with the new _updateHoveredTokenInfo()
        allowing to customize the mouse coordinates to be used since we may call
        _updateHoveredTokenInfo() outside of the context of a mouse event (ie. a keypress event).

        (WebInspector.CodeMirrorTokenTrackingController.prototype._windowLostFocus):
        (WebInspector.CodeMirrorTokenTrackingController.prototype._resetTrackingStates):
        New private method combining all the various states that need to be reset when tracking
        is turned off, including the removal of the highlighted range if any. This is now called
        when the window loses focus.

        * UserInterface/Main.js:
        (WebInspector.loaded):
        (WebInspector._mouseMoved):
        Add a new window-level "mousemove" event handler to always track mouse coordinates and key modifier
        states. This ensures that we may have the most accurate information possible for key modifiers and
        allow code to query the last recorded mouse position in situations where it wouldn't be possible
        to have dealt with a mouse event, as is the case when the tokenTrackingController just started tracking.

        * UserInterface/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor.prototype._updateTokenTrackingControllerEnabled):
        (WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause):
        (WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
        (WebInspector.SourceCodeTextEditor.prototype._enableJumpToSymbolTrackingModeSettings):
        (WebInspector.SourceCodeTextEditor.prototype._disableJumpToSymbolTrackingModeSettings):
        Update the "enabled" state on the tokenTrackingController when it may have changed based
        on those two conditions: we should have either an active debugger call frame or the
        Cmd key should have been pressed. This ensures we only track hovered tokens as needed.

        (WebInspector.SourceCodeTextEditor.prototype._updateJumpToSymbolTrackingMode):
        Highlight the last known hovered candidate's range as soon as the Cmd key is pressed.

2013-10-02  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: save and restore source positions in back/forward history
        https://bugs.webkit.org/show_bug.cgi?id=122062

        Reviewed by Timothy Hatcher.

        Previously, the back/forward entries comprised of only the content
        views, but not their positions if navigated via hyperlink (i.e.,
        handling script.js:42).  When multiple instances of the same
        content view appeared in the back/forward list, the most recent
        navigation was displayed rather than the linked position.

        We now store context necessary to re-navigate such hyperlinks by
        storing view- specific data inside a cookie object, and invoke a
        supplied callback to take any position initialization actions,
        such as calling TextEditor.revealPosition.  This state is
        encapsulated into BackForwardEntry instances.

        Functions that save and restore scroll positions inside content
        views have been changed to store state in BackForwardEntry
        instances, so multiple scroll positions can be saved for a content
        view appearing in the navigation history more than once.

        * UserInterface/BackForwardEntry.js: Added.
        (WebInspector.BackForwardEntry):
        (WebInspector.BackForwardEntry.prototype.get contentView):
        (WebInspector.BackForwardEntry.prototype.get cookie):
        (WebInspector.BackForwardEntry.prototype.prepareToShow):
        (WebInspector.BackForwardEntry.prototype.prepareToHide):
        (WebInspector.BackForwardEntry.prototype._restoreFromCookie):
        (WebInspector.BackForwardEntry.prototype._restoreScrollPositions):
        (WebInspector.BackForwardEntry.prototype._saveScrollPositions):
        * UserInterface/ContentBrowser.js:
        (WebInspector.ContentBrowser.prototype.showContentView):
        (WebInspector.ContentBrowser.prototype._updateContentViewNavigationItems):
        (WebInspector.ContentBrowser.prototype._updateFindBanner):
        * UserInterface/ContentViewContainer.js:
        (WebInspector.ContentViewContainer.prototype.get currentContentView):
        (WebInspector.ContentViewContainer.prototype.get currentBackForwardEntry):
        (WebInspector.ContentViewContainer.prototype.showContentView):
        (WebInspector.ContentViewContainer.prototype.showBackForwardEntryForIndex):
        (WebInspector.ContentViewContainer.prototype.replaceContentView):
        (WebInspector.ContentViewContainer.prototype.closeAllContentViewsOfPrototype):
        (WebInspector.ContentViewContainer.prototype.closeAllContentViews):
        (WebInspector.ContentViewContainer.prototype.goBack):
        (WebInspector.ContentViewContainer.prototype.goForward):
        (WebInspector.ContentViewContainer.prototype.shown):
        (WebInspector.ContentViewContainer.prototype.hidden):
        (WebInspector.ContentViewContainer.prototype._showEntry):
        (WebInspector.ContentViewContainer.prototype._hideEntry):
        * UserInterface/Main.html:
        * UserInterface/Main.js:
        (WebInspector.openURL):
        * UserInterface/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel.prototype.restoreCallback):
        (WebInspector.ResourceSidebarPanel.prototype.showSourceCode):

2013-10-02  Antoine Quint  <graouts@apple.com>

        Web Inspector: highlight newly added console messages in the Activity Viewer
        https://bugs.webkit.org/show_bug.cgi?id=122093

        Reviewed by Joseph Pecoraro.

        Fade the appropriate console log button in the Activity Viewer for a short duration
        to call attention to it when its count is incremented. The animation may be restarted
        in-flight if the count is incremented as we were pulsing the opacity.

        * UserInterface/DashboardView.css:
        (.toolbar .dashboard > .item.pulsing):
        (@-webkit-keyframes console-item-pulse):
        New pulse animation for a console item in the Activity Viewer, the new "pulsing" CSS
        class is applied in WebInspector.DashboardView.prototype._setConsoleItemValue().

        * UserInterface/DashboardView.js:
        (WebInspector.DashboardView.prototype.set logs):
        (WebInspector.DashboardView.prototype.set issues):
        (WebInspector.DashboardView.prototype.set errors):
        Refactor setters to use the new WebInspector.DashboardView.prototype._setConsoleItemValue()
        method.

        (WebInspector.DashboardView.prototype._setConsoleItemValue):
        We now set the ivar backing console item values in this new refactored method and additionally
        apply an animation to the DOM element for the given item if its value is incremented such that
        it pulses, subtly calling out the developer's attention to it.

        * UserInterface/Utilities.js:
        New Element.prototype.recalculateStyles() method to abstract the hack required to force
        a style recalc on a given element.

2013-10-01  Antoine Quint  <graouts@apple.com>

        Web Inspector: evaluate and show a popover for selected text in JS source when paused
        https://bugs.webkit.org/show_bug.cgi?id=122151

        Reviewed by Joseph Pecoraro.

        Identify if the hovered token is contained within the text selection (if any) and use
        the selection as the hovered expression to allow the user to select text and hover it
        to see what it evaluates to.

        * UserInterface/CodeMirrorTokenTrackingController.js:
        (WebInspector.CodeMirrorTokenTrackingController.prototype.highlightRange):
        Check we're trying to highlight a different range before removing the highlight
        and applying the new one, this prevents the marked text from flashing if it's
        being re-hovered which would easily happen when hovering multiple tokens within
        the same selection.

        (WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
        In the case where there is selected text, check whether the hovered token is at least
        partially contained within the selection, and if so use the selection text as the
        hovered expression to evaluate.

2013-10-01  Antoine Quint  <graouts@apple.com>

        Console buttons don’t show after page reload
        https://bugs.webkit.org/show_bug.cgi?id=116515

        Reviewed by Darin Adler.

        The correct display of navigation items in the ContentBrowser is contingent on
        the ContentViewContainer's _backForwardList being up-to-date when the navigation
        items are retrieved from it. However, when the main resource changes (in this case
        the user refreshes the browser), calls are made to ContentViewContainer's
        closeAllContentViewsOfPrototype() which may modify the _backForwardList but doesn't
        necessarily notify of a change to the currentContentView since we may be still showing
        the same view in case it wasn't directly related to the main resource, for instance
        the console log.

        We now check if the _backForwardList is changed as a result of calling
        closeAllContentViewsOfPrototype() and in that case also dispatch the
        CurrentContentViewDidChange event which will restore the correct state
        for the back/forward buttons and navigation items of the navigation bar.

        * UserInterface/ContentViewContainer.js:
        (WebInspector.ContentViewContainer.prototype.closeAllContentViewsOfPrototype):
        Track changes to the _backForwardList and dispatch the CurrentContentViewDidChange
        event in case such changes happened.

2013-09-30  Antoine Quint  <graouts@apple.com>

        Web Inspector: rows in the Layer sidebar panel may have the incorrect background color
        https://bugs.webkit.org/show_bug.cgi?id=122108

        Reviewed by Darin Adler.

        The LayerTreeDataGrid is a custom DataGrid subclass which exposes a .setChildren() method
        used to sort chidren without DOM order manipulation, for performance reason. However, since
        the way the alternating background color is usually implemented is based on the built-in
        CSS pseudo-classes working with DOM order, the background colors of nodes in the LayerTreeDataGrid
        can be incorrect depending on the sort order and the number of nodes. To fix this, we now manually
        set "even" and "odd" CSS classes on those nodes when they're sorted such that we have a chance
        to style them as intended.

        * UserInterface/LayerTreeDataGrid.js:
        (WebInspector.LayerTreeDataGrid.prototype._updateChildren):
        Check if the data grid node index is even or odd and reflect this via an exclusive "even"
        or "odd" CSS class name.

        * UserInterface/LayerTreeSidebarPanel.css:
        (.layer-tree.panel .data-container tbody > tr.even):
        (.layer-tree.panel .data-container tbody > tr.odd):
        Apply alternating colors based on the exclusive "even" and "odd" CSS class names as applied in
        WebInspector.LayerTreeDataGrid.prototype._updateChildren().

2013-09-30  Antoine Quint  <graouts@apple.com>

        Web Inspector: Popover displaying "reasons for compositing" may remain on screen after selected layer is removed
        https://bugs.webkit.org/show_bug.cgi?id=117575

        Ensure the popover attached to the selected data grid node is updated when the
        content or sort order of the Layer sidebar panel is updated.

        Reviewed by Darin Adler.

        * UserInterface/LayerTreeSidebarPanel.js:
        (WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid):

2013-09-30  Antoine Quint  <graouts@apple.com>

        Web Inspector: nodes can be dragged from the console log
        https://bugs.webkit.org/show_bug.cgi?id=122105

        Reviewed by Darin Adler.

        Catch "dragstart" events targeting nodes hosted in a DOMTreeOutline within the console
        log view and prevent the default logic to trigger so that these nodes can't be dragged
        off the console as it wouldn't make sense to.

        * UserInterface/DOMTreeOutline.js:
        (WebInspector.DOMTreeOutline):
        Create a class property to allow the CSS class name to be used in WebInspector.LogContentView.

        * UserInterface/LogContentView.js:
        (WebInspector.LogContentView):
        (WebInspector.LogContentView.prototype._ondragstart):
        Track the "dragstart" events in their capture phase such that, if the event target is
        a DOM node hosted in a DOMTreeOutline, we can prevent the event from propagating and
        cancel its default behavior such that no dragging at all is performed.

2013-09-26  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: dissociate old content views that are spliced from back/forward list
        https://bugs.webkit.org/show_bug.cgi?id=121987

        Reviewed by Timothy Hatcher.

        There was a bug where old back/forward list entries were not being dissociated when
        the newly-shown content view was already in the list. Instead, dissociation should be
        skipped if the old list entry is not already in the list.

        * UserInterface/ContentViewContainer.js:
        (WebInspector.ContentViewContainer.prototype.showContentView):

2013-09-26  Antoine Quint  <graouts@apple.com>

        Web Inspector: Activity viewer not properly reset when reloading
        https://bugs.webkit.org/show_bug.cgi?id=121958

        Reviewed by Darin Adler.

        Reset the resources count and accumulated size when we detect the main frame
        has changed, which will work with documents where there are no resources besides
        frames in which case WebInspector.Frame.Event.AllResourcesRemoved was not fired
        and our counts wouldn't be reset correctly.

        * UserInterface/DashboardManager.js:
        (WebInspector.DashboardManager):
        (WebInspector.DashboardManager.prototype._mainResourceDidChange):

2013-09-26  Antoine Quint  <graouts@apple.com>

        Web Inspector: Keep DOM tree expanded on page reload
        https://bugs.webkit.org/show_bug.cgi?id=121665

        Reviewed by Darin Adler.

        Allow the node that was selected before reloading the page to be selected
        at the page is reloaded. Credit goes to Joseph Pecoraro for the fix.

        * UserInterface/DOMTreeContentView.js:
        (WebInspector.DOMTreeContentView.prototype._rootDOMNodeAvailable.selectNode):

2013-09-24  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Using Breakpoint Actions Breaks iOS inspection
        https://bugs.webkit.org/show_bug.cgi?id=121862

        Reviewed by Timothy Hatcher.

        Only use DebuggerAgent.BreakpointActionType if it is available.
        Otherwise leave options undefined for breakpoints since the backend
        does not support it.

        * UserInterface/DebuggerManager.js:
        (WebInspector.DebuggerManager.prototype._setBreakpoint):

2013-09-24  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Include iOS 7 Inspector.json Version
        https://bugs.webkit.org/show_bug.cgi?id=121852

        Reviewed by Timothy Hatcher.

        * UserInterface/Legacy/7.0/InspectorBackendCommands.js: Added.
        * Versions/Inspector-iOS-7.0.json: Added.

2013-09-24  Mark Rowe  <mrowe@apple.com>

        <rdar://problem/14971518> WebKit should build against the Xcode default toolchain when targeting OS X 10.8

        Reviewed by Dan Bernstein.

        * Configurations/Base.xcconfig:

2013-09-24  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Breakpoint Actions input should disable spellchecking
        https://bugs.webkit.org/show_bug.cgi?id=121846

        Reviewed by Timothy Hatcher.

        * UserInterface/BreakpointActionView.js:

2013-09-21  Timothy Hatcher  <timothy@apple.com>

        Hook up the initiator info and show it in the Resource details sidebar.

        https://bugs.webkit.org/show_bug.cgi?id=121741

        Reviewed by Joseph Pecoraro.

        * UserInterface/FrameResourceManager.js:
        (WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent):
        (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache):
        (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame):
        (WebInspector.FrameResourceManager.prototype._initiatorSourceCodeLocationFromPayload):
        * UserInterface/NetworkObserver.js:
        (WebInspector.NetworkObserver.prototype.requestWillBeSent):
        (WebInspector.NetworkObserver.prototype.requestServedFromMemoryCache):
        * UserInterface/Resource.js:
        (WebInspector.Resource):
        (WebInspector.Resource.prototype.get initiatorSourceCodeLocation):
        * UserInterface/ResourceDetailsSidebarPanel.js:
        (WebInspector.ResourceDetailsSidebarPanel):
        (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshURL):

2013-09-20  Timothy Hatcher  <timothy@apple.com>

        Parse MIME-types and strip them down to the base type when needed.

        The use of charset in a MIME-type interferes with our type maps,
        preventing the right syntax highlighting mode and pretty printing.

        https://bugs.webkit.org/show_bug.cgi?id=121723

        Reviewed by Joseph Pecoraro.

        * UserInterface/ConsolePrompt.js:
        (WebInspector.ConsolePrompt):
        * UserInterface/FontResourceContentView.js:
        * UserInterface/Resource.js:
        (WebInspector.Resource.Type.fromMIMEType):
        (WebInspector.Resource.prototype.get mimeTypeComponents):
        (WebInspector.Resource.prototype.get syntheticMIMEType):
        (WebInspector.Resource.prototype.get contentURL):
        (WebInspector.Resource.prototype.updateForResponse):
        * UserInterface/ResourceDetailsSidebarPanel.js:
        (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestDataSection):
        * UserInterface/SourceMapResource.js:
        (WebInspector.SourceMapResource.prototype.requestContentFromBackend):
        * UserInterface/SyntaxHighlightingSupport.js:
        (WebInspector.syntaxHighlightStringAsDocumentFragment):
        * UserInterface/TextEditor.js:
        (WebInspector.TextEditor.prototype.set mimeType):
        * UserInterface/Utilities.js:
        (parseMIMEType): Added.

2013-09-20  Marcelo Morais  <m.morais@samsung.com>

        Web Inspector: Fix keyboard shortcuts for other platforms
        https://bugs.webkit.org/show_bug.cgi?id=120657

        Reviewed by Timothy Hatcher.

        Handling keyboard shortcuts according to the current platform.

        * UserInterface/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub.prototype.loadResourceSynchronously):
        (.WebInspector.InspectorFrontendHostStub.prototype.platform): Added. Return the
        current platform.
        * UserInterface/KeyboardShortcut.js:
        (WebInspector.KeyboardShortcut.Modifier.get CommandOrControl): Added. Created keyboard
        modifier to return Control or Command key according to current platform.
        * UserInterface/ContentBrowser.js:
        (WebInspector.ContentBrowser): Returning Control or Command key for keyboard
        shortcuts according to current platform.
        * UserInterface/DebuggerSidebarPanel.js:
        (WebInspector.DebuggerSidebarPanel): Ditto.
        * UserInterface/FindBanner.js:
        (WebInspector.FindBanner): Ditto.
        * UserInterface/JavaScriptLogViewController.js:
        (WebInspector.JavaScriptLogViewController): Ditto.
        * UserInterface/LogContentView.js:
        (WebInspector.LogContentView): Ditto.
        * UserInterface/Main.js:
        (WebInspector.contentLoaded): Ditto.
        * UserInterface/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel): Ditto.

2013-09-20  Brent Fulgham  <bfulgham@apple.com>

        [Windows] Unreviewed gardening. Teach WebInspectorUI.vcxproj folder to
        ignore Visual Studio's local user settings file.

        * WebInspectorUI.vcxproj: Added property svn:ignore.

2013-09-17  Gustavo Noronha Silva  <gns@gnome.org>

        [GTK] Cannot find WebInspectorUI/UserInterface/Main.html referenced in GResourceBundle.xml
        https://bugs.webkit.org/show_bug.cgi?id=121405

        Reviewed by Carlos Garcia Campos.

        * GNUmakefile.am: if srcdir == builddir the WebInspectorUI variable that is used both to list
        the dependencies of the GResourceBundle and to normalize the paths added to the XML through sed
        replacement will end up starting with ./, which would be fine if automake did not remove that
        from the paths in the target's dependency. We deal with that by normalizing the path we use to
        take that quirk into account.

2013-09-17  Timothy Hatcher  <timothy@apple.com>

        Clean up the Inspector's WebSocket code and prevent it from dropping messages.

        https://bugs.webkit.org/show_bug.cgi?id=121391

        Reviewed by Joseph Pecoraro.

        * UserInterface/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub.prototype.initializeWebSocket): Added. Create the socket
        and call _sendPendingMessagesToBackendIfNeeded.
        (.WebInspector.InspectorFrontendHostStub.prototype.sendMessageToBackend): Store messages as pending
        if the socket isn't ready yet. Call _sendPendingMessagesToBackendIfNeeded.
        (.WebInspector.InspectorFrontendHostStub.prototype._sendPendingMessagesToBackendIfNeeded): Added.
        * UserInterface/Main.js:
        (WebInspector._initializeWebSocketIfNeeded): Move socket creation to initializeWebSocket.

2013-09-16  Timothy Hatcher  <timothy@apple.com>

        Make InspectorTimelineAgent use an enum for the record type instead of a string.

        https://bugs.webkit.org/show_bug.cgi?id=121461

        Reviewed by Joseph Pecoraro.

        * UserInterface/InspectorBackendCommands.js:
        * UserInterface/Legacy/6.0/InspectorBackendCommands.js:
        * UserInterface/TimelineManager.js:
        (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
        (WebInspector.TimelineManager.prototype.eventRecorded):
        * Versions/Inspector-iOS-6.0.json:

2013-09-16  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: TypeError when updating ResourceTreeElement created in strange order
        https://bugs.webkit.org/show_bug.cgi?id=121382

        Reviewed by Timothy Hatcher.

        Patch by Brian Burg. Fix an uncaught exception that can happen on navigations.

        * UserInterface/ResourceTreeElement.js:
        (WebInspector.ResourceTreeElement.prototype._updateStatus):

2013-09-16  Timothy Hatcher  <timothy@apple.com>

        Make InspectorTypeBuilder generate better enums in C++.

        https://bugs.webkit.org/show_bug.cgi?id=121440

        Reviewed by Joseph Pecoraro.

        * UserInterface/InspectorBackendCommands.js: Updated to make Css be CSS.

2013-09-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>

        [GTK] Move to the new web inspector
        https://bugs.webkit.org/show_bug.cgi?id=120647

        Reviewed by Carlos Garcia Campos.

        * GNUmakefile.am: Added. Generate the GResource source and link it into libWebCore.

2013-09-12  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Duplicated color swatches changing autocompletes color names
        https://bugs.webkit.org/show_bug.cgi?id=121265

        Reviewed by Timothy Hatcher.

        CodeMirror bookmarks at position used to be unique but no longer are.
        Define an extension to give us unique bookmarks as we expected, and
        update all the old locations using setBookmark.

        * UserInterface/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype.didDismissPopover):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype.):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype.event.newColorText):
        * UserInterface/CodeMirrorAdditions.js:

2013-09-12  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Update CodeMirror for gutter fix
        https://bugs.webkit.org/show_bug.cgi?id=121262

        Update CodeMirror to 757944449 to fix gutter click issue:
        <https://github.com/marijnh/CodeMirror/issues/1807>

        Reviewed by Timothy Hatcher.

        * Tools/PrettyPrinting/CodeMirrorFormatters.js:
        * Tools/PrettyPrinting/FormatterContentBuilder.js:
        (FormatterContentBuilder.prototype._appendIndent):
        * Tools/PrettyPrinting/codemirror.css:
        * Tools/PrettyPrinting/codemirror.js:
        * Tools/PrettyPrinting/css.js:
        * UserInterface/CodeMirrorAdditions.js:
        * UserInterface/CodeMirrorFormatters.js:
        * UserInterface/DebuggerManager.js:
        (WebInspector.DebuggerManager.prototype.didRemoveBreakpoint):
        (WebInspector.DebuggerManager.prototype._removeBreakpoint):
        * UserInterface/External/CodeMirror/codemirror.css:
        * UserInterface/External/CodeMirror/codemirror.js:
        * UserInterface/External/CodeMirror/coffeescript.js:
        * UserInterface/External/CodeMirror/css.js:
        * UserInterface/External/CodeMirror/less.js:
        * UserInterface/External/CodeMirror/sql.js:
        * UserInterface/TextEditor.js:
        (WebInspector.TextEditor.prototype.hasFormatter):

2013-09-12  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Update License copyrights in minified JavaScript
        https://bugs.webkit.org/show_bug.cgi?id=121264

        Reviewed by Timothy Hatcher.

        * Scripts/copy-user-interface-resources.sh:

2013-09-11  Geoffrey Garen  <ggaren@apple.com>

        Removed some unused functions from the debugger interface
        https://bugs.webkit.org/show_bug.cgi?id=121194

        Reviewed by Joseph Pecoraro.

        We plan to use the "evaluate" API and debugger activation property access for all the features we need.

        * UserInterface/InspectorBackendCommands.js: Updated by script.

2013-09-06  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Download Archive button incorrectly styled when disabled and tree element is not-selected
        https://bugs.webkit.org/show_bug.cgi?id=120866

        Reviewed by Timothy Hatcher.

        * UserInterface/TreeElementStatusButton.css:
        (.item > .status > .status-button.disabled > svg *):

2013-09-06  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Lint JavaScript and CSS for minor issues
        https://bugs.webkit.org/show_bug.cgi?id=120884

        Reviewed by Timothy Hatcher.

        JS, caught a bunch of missing semicolons but at least one possible
        issue with duplicate object literal keys in CSSKeywordCompletions.

        CSS, cause some duplicate properties, an invalid property value,
        and some "0px" => "0" cleanup.

2013-09-05  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Breakpoint Action JS Editor has line wrapping issues with long no-space lines
        https://bugs.webkit.org/show_bug.cgi?id=120822

        Reviewed by Timothy Hatcher.

        * UserInterface/BreakpointActionView.css:
        (.breakpoint-action-eval-editor > .CodeMirror):
        (.breakpoint-action-eval-editor > .CodeMirror-scroll):

2013-09-05  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Edit Breakpoint popover sometimes appears misplaced in top left
        https://bugs.webkit.org/show_bug.cgi?id=120804

        Reviewed by Timothy Hatcher.

        Grab the bounding rect immediately, instead of grabbing it from the element
        after the user has selected the "Edit Breakpoint" context menu item. When
        the popover was misplaced it was when using an element had been removed or
        replaced in the DOM, and caused a bogus bounding client rect.

        * UserInterface/Breakpoint.js:
        (WebInspector.Breakpoint.prototype.editBreakpoint):
        (WebInspector.Breakpoint.prototype._showEditBreakpointPopover):

2013-09-05  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Remove harmless assert, triggered hitting breakpoint in auto prettyprinted code on reload
        https://bugs.webkit.org/show_bug.cgi?id=120332

        Reviewed by Timothy Hatcher.

        * UserInterface/TextEditor.js:

2013-09-05  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Breakpoint Actions
        https://bugs.webkit.org/show_bug.cgi?id=120576

        Reviewed by Timothy Hatcher.

        Give the CodeMirror editor for JavaScript Breakpoint Actions JS Runtime
        completions (like window, document, etc.).

        The logic was inside of JavaScriptLogViewController but was already
        entirely independent. Factor it out into its own class and plug it into
        CodeMirrorCompletionController as a "CompletionsProvider".

        Because the class hooks into a global event to reset some state, make
        it a singleton, so new instances are not leaked.

        * UserInterface/Main.html:
        * UserInterface/Main.js:
        (WebInspector.loaded):
        * UserInterface/RuntimeManager.js: Added.
        (WebInspector.RuntimeManager):
        (WebInspector.RuntimeManager.prototype.evalCallback):
        (WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):
        Move eval in window to new RuntimeManager. A slightly cleaner place to this
        since it is used both by the console and JS completions provider.

        * UserInterface/CodeMirrorCompletionController.js:
        (WebInspector.CodeMirrorCompletionController):
        (WebInspector.CodeMirrorCompletionController.prototype.setExtendedCompletionProvider):
        (WebInspector.CodeMirrorCompletionController.prototype._completeAtCurrentPosition):
        Allow a completions provider plugin to completions controller. If one
        is available, this supercedes the delegate extend completions path.

        * UserInterface/BreakpointActionView.js:
        * UserInterface/ConsolePrompt.js:
        (WebInspector.ConsolePrompt):
        Use the new JS completions provider to get runtime JS completions.
        NOTE: ConsolePrompt still needs the delegate path for SQL completions.

        * UserInterface/JavaScriptLogViewController.js:
        (WebInspector.JavaScriptLogViewController):
        (WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted):
        * UserInterface/JavaScriptRuntimeCompletionProvider.js: Added.
        (WebInspector.JavaScriptRuntimeCompletionProvider):
        (get WebInspector.JavaScriptRuntimeCompletionProvider.prototype.):
        (get WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded):
        Move the JS completions code to a new class. No changes needed.

2013-09-05  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Breakpoint Actions
        https://bugs.webkit.org/show_bug.cgi?id=120576

        Reviewed by Timothy Hatcher.

        * UserInterface/Breakpoint.js:
        (WebInspector.Breakpoint):
        (WebInspector.Breakpoint.prototype.get actions):
        (WebInspector.Breakpoint.prototype.get options):
        (WebInspector.Breakpoint.prototype.get info):
        (WebInspector.Breakpoint.prototype._serializableActions):
        Saving, restoring, and serialization.

        (WebInspector.Breakpoint.prototype.createAction):
        (WebInspector.Breakpoint.prototype.recreateAction):
        (WebInspector.Breakpoint.prototype.removeAction):
        (WebInspector.Breakpoint.prototype.breakpointActionDidChange):
        Modifying _actions ivar.

        (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement):
        (WebInspector.Breakpoint.prototype._popoverActionsCreateAddActionButton):
        (WebInspector.Breakpoint.prototype._popoverActionsAddActionButtonClicked):
        (WebInspector.Breakpoint.prototype._popoverActionsInsertBreakpointActionView):
        (WebInspector.Breakpoint.prototype.breakpointActionViewAppendActionView):
        (WebInspector.Breakpoint.prototype.breakpointActionViewRemoveActionView):
        (WebInspector.Breakpoint.prototype.breakpointActionViewResized):
        Popover UI containing breakpoint action views and converting to and from
        having no actions.

        (WebInspector.Breakpoint.prototype.willDismissPopover):
        Cleanup some ivars when the popover dismisses.

        * UserInterface/Breakpoint.css:
        (.popover .edit-breakpoint-popover-content.wide):
        Wider setting when there are actions in the popover.

        (.popover .edit-breakpoint-popover-content > table > tr > th):
        Keep the title labels at the top of their section.

        * UserInterface/BreakpointAction.js:
        (WebInspector.BreakpointAction):
        (WebInspector.BreakpointAction.prototype.get breakpoint):
        (WebInspector.BreakpointAction.prototype.get type):
        (WebInspector.BreakpointAction.prototype.get data):
        (WebInspector.BreakpointAction.prototype.set data):
        (WebInspector.BreakpointAction.prototype.get info):
        Very basic BreakpointAction class. Notifies Breakpoint on data changes.
        Type changes are not allowed, instead just create a new BreakpointAction.

        * UserInterface/BreakpointActionView.css: Added.
        (.breakpoint-action-block-header):
        (.breakpoint-action-remove-button):
        (.breakpoint-action-remove-button:active):
        (.breakpoint-action-append-button):
        (.breakpoint-action-block-body):
        (.breakpoint-action-block-body > input):
        (.breakpoint-action-eval-editor):
        (.breakpoint-action-eval-editor > .CodeMirror):
        (.breakpoint-action-eval-editor > .CodeMirror-scroll):
        * UserInterface/BreakpointActionView.js: Added.
        (WebInspector.BreakpointActionView):
        (WebInspector.BreakpointActionView.displayStringForType):
        (WebInspector.BreakpointActionView.prototype.get action):
        (WebInspector.BreakpointActionView.prototype.get element):
        (WebInspector.BreakpointActionView.prototype._pickerChanged):
        (WebInspector.BreakpointActionView.prototype._appendActionButtonClicked):
        (WebInspector.BreakpointActionView.prototype._removeActionButtonClicked):
        (WebInspector.BreakpointActionView.prototype._updateBody.switch.break):
        (WebInspector.BreakpointActionView.prototype._logInputChanged):
        (WebInspector.BreakpointActionView.prototype._codeMirrorBlurred):
        (WebInspector.BreakpointActionView.prototype._codeMirrorViewportChanged):
        UI and form controls for individual breakpoint actions. The view
        wraps a single BreakpointAction, and for any actions that could affect
        other views the delegate is notified.

        * UserInterface/DebuggerManager.js:
        (WebInspector.DebuggerManager):
        (WebInspector.DebuggerManager.prototype._debuggerBreakpointActionType):
        When sending to the backend, make sure to send protocol enums.

        * UserInterface/Popover.js:
        (WebInspector.Popover.prototype.update):
        Update the popover when content changes.

        * UserInterface/Images/BreakpointActionAdd.svg: Added.
        * UserInterface/Images/BreakpointActionRemove.svg: Added.
        * UserInterface/InspectorBackendCommands.js:
        * UserInterface/Main.html:
        * Localizations/en.lproj/localizedStrings.js:
        Misc. New strings, images, includes.

2013-09-03  Antoine Quint  <graouts@apple.com>

        Web Inspector: exceptions triggered from console evaluation do not pause the debugger
        https://bugs.webkit.org/show_bug.cgi?id=120460

        We used to preclude any debugging from errors stemming from code evaluated in the console
        as we would always set the doNotPauseOnExceptionsAndMuteConsole parameter to "false" when
        calling JavaScriptLogViewController._evaluateInInspectedWindow(). However, it is desirable
        to allow debugging code ran from the console.

        We now allow debugging in such a scenario and we filter out call frames coming from the
        Web Inspector injected script as well as the call frame for the console prompt such that
        we only pause in the debugger in case the exception is in code under the console prompt
        and not the console code prompt itself.

        Additionally, to prevent stepping out to call frames we may have filtered out, we disable
        the "step out" button in cases where there are no further frames in the frontend to go out to.

        Reviewed by Timothy Hatcher.

        * UserInterface/DebuggerManager.js:
        (WebInspector.DebuggerManager.prototype.debuggerDidPause):
        Filter out call frames that have a URL coming from Web Inspector injected script by looking
        for a URL starting with the "__WebInspector" prefix. If we determine that there are no call
        frames left after filtering, we resume code evaluation such that we only pause in the debugger
        when the exception is in code evluated under the console prompt.

        * UserInterface/DebuggerSidebarPanel.js:
        (WebInspector.DebuggerSidebarPanel):
        (WebInspector.DebuggerSidebarPanel.prototype._debuggerDidPause):
        (WebInspector.DebuggerSidebarPanel.prototype._debuggerActiveCallFrameDidChange):
        Monitor any change to the active call frame such that we may tie the state of the
        "step out" button to the availability of a call frame to step out to in the filtered
        list set on the DebuggerManager.

        * UserInterface/JavaScriptLogViewController.js:
        (WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted):
        Set the doNotPauseOnExceptionsAndMuteConsole to "false" when calling _evaluateInInspectedWindow()
        in order to allow pausing on exceptions coming from code evalued in the console. Also, explicitly
        set a sourceURL for the script to evaluate such that we may identify its origin when filtering
        call frames stemming from inspector code.

        * UserInterface/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded):
        Filter out any script resource starting with the Web Inspector-specific "__WebInspector" prefix
        so that injected script does not show up.

2013-08-30  Brent Fulgham  <bfulgham@apple.com>

        [Windows] Correct windows build. Get rid of unnecessary pre-build step. We don't build anything
        in this project, just copy some files into the WebKit resource folder. This was fooling the
        build system into thinking something failed, resulting in a build error.

        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Remove reference to WebInspectorUIPreBuild.cmd
        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
        * WebInspectorUI.vcxproj/WebInspectorUIPreBuild.cmd: Removed.

2013-08-30  Brent Fulgham  <bfulgham@apple.com>

        [Windows] Build correction after dependency change.

        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Remove circular dependency on
        WebKit, and control this at the solution level. The prior change broke external
        builders.

2013-08-30  Brent Fulgham  <bfulgham@apple.com>

        [Windows] Unreviewed build gardening.

        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Adjust build dependencies so
        that WebInspectorUI 'builds' after WebKit so that the expected resource directory
        structure is always in place.

2013-08-30  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Breakpoints should have Automatically Continue Option
        https://bugs.webkit.org/show_bug.cgi?id=120187

        Reviewed by Timothy Hatcher.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Breakpoint.css:
        (#edit-breakpoint-popoover-auto-continue):
        Misc. changes for UI.

        * UserInterface/Breakpoint.js:
        (WebInspector.Breakpoint):
        (WebInspector.Breakpoint.prototype.get autoContinue):
        (WebInspector.Breakpoint.prototype.set autoContinue):
        (WebInspector.Breakpoint.prototype.get options):
        (WebInspector.Breakpoint.prototype.get info):
        General maintenance of the autoContinue state.

        (WebInspector.Breakpoint.prototype._popoverToggleEnabledCheckboxChanged):
        (WebInspector.Breakpoint.prototype._popoverToggleAutoContinueCheckboxChanged):
        (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement):
        Edit Breakpoint UI for setting autoContinue state.

        * UserInterface/InspectorBackend.js:
        (InspectorBackendClass.prototype.registerCommand):
        (InspectorBackendClass.prototype._supports):
        Extension to check if a BackendCommands method supports a particular param.

        * UserInterface/DebuggerManager.js:
        (WebInspector.DebuggerManager):
        (WebInspector.DebuggerManager.prototype._setBreakpoint):
        * UserInterface/InspectorBackendCommands.js:
        Change to backend agent calls for the new protocol API.

2013-08-29  Timothy Hatcher  <timothy@apple.com>

        Make incrementing and decrementing numbers by 0.1 require the control key, and not near zero numbers.

        https://bugs.webkit.org/show_bug.cgi?id=120492
        <rdar://problem/13738935> Incrementing and decrementing numbers near zero is annoying compared to earlier releases

        Reviewed by Joseph Pecoraro.

        * UserInterface/CodeMirrorAdditions.js:
        (alterNumber): Remove near zero check.

2013-08-29  Timothy Hatcher  <timothy@apple.com>

        Only modify numbers if they are identified by CodeMirror as a number.

        https://bugs.webkit.org/show_bug.cgi?id=120484

        <rdar://problem/13877085> REGRESSION: Alt-up and Alt-down don't work when cursor is in unit
        <rdar://problem/13058697> PARITY: Option-Up arrow in "translate3d" should not modify number to make" translate4d"

        Reviewed by Joseph Pecoraro.

        * UserInterface/CodeMirrorAdditions.js:
        (CodeMirror.prototype.alterNumberInRange): Correctly preserve the selection, even if it differs from
        the range passed in.
        (alterNumber): Find number tokens and pass those to alterNumberInRange.
        (alterNumber.findNumberToken): Added. Helper.

2013-08-29  Timothy Hatcher  <timothy@apple.com>

        Make incrementing and decrementing numbers by 0.1 require the control key, and not near zero numbers.

        https://bugs.webkit.org/show_bug.cgi?id=120492
        <rdar://problem/13738935> Incrementing and decrementing numbers near zero is annoying compared to earlier releases

        Reviewed by Joseph Pecoraro.

        * UserInterface/CodeMirrorAdditions.js:
        (alterNumber): Remove near zero check.

2013-08-29  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Download Web Archive of Inspected Page
        https://bugs.webkit.org/show_bug.cgi?id=119774

        Reviewed by Timothy Hatcher.

        * UserInterface/ContentBrowser.js:
        (WebInspector.ContentBrowser.prototype._saveDataToFile):
        Allow a custom save handler which will do all the work.

        * UserInterface/DOMTreeContentView.js:
        (WebInspector.DOMTreeContentView):
        (WebInspector.DOMTreeContentView.prototype.get supportsSave):
        (WebInspector.DOMTreeContentView.prototype.get saveData.saveHandler):
        (WebInspector.DOMTreeContentView.prototype.get saveData):
        Allow Save keyboard shortcut to download an archive viewing the DOM Tree.

        * UserInterface/ResourceTreeElement.js:
        (WebInspector.ResourceTreeElement.prototype._updateStatus):
        * UserInterface/FrameTreeElement.js:
        (WebInspector.FrameTreeElement):
        (WebInspector.FrameTreeElement.prototype.updateStatusForMainFrame):
        (WebInspector.FrameTreeElement.prototype._mainResourceDidChange):
        (WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders):
        (WebInspector.FrameTreeElement.prototype._reloadPageClicked):
        (WebInspector.FrameTreeElement.prototype._downloadButtonClicked):
        (WebInspector.FrameTreeElement.prototype._updateDownloadButton):
        (WebInspector.FrameTreeElement.prototype._pageArchiveStarted):
        (WebInspector.FrameTreeElement.prototype._pageArchiveEnded):
        Move handling of main frame TreeElement buttons to FrameTreeElement.
        Add a Download button, and enable/disable it appropriately.

        * UserInterface/ResourceTreeElement.css:
        * UserInterface/TreeElementStatusButton.css: Copied from Source/WebInspectorUI/UserInterface/ResourceTreeElement.css.
        (.item > .status > .status-button):
        (.item > .status > .status-button > svg *):
        (.item.selected > .status > .status-button > svg *):
        (.item.selected > .status > .status-button:active > svg *):
        (.item > .status > .status-button.disabled > svg *):
        (.item.selected > .status > .status-button.disabled > svg *):
        * UserInterface/TreeElementStatusButton.js: Added.
        (WebInspector.TreeElementStatusButton):
        (WebInspector.TreeElementStatusButton.prototype.get element):
        (WebInspector.TreeElementStatusButton.prototype.get hidden):
        (WebInspector.TreeElementStatusButton.prototype.set hidden):
        (WebInspector.TreeElementStatusButton.prototype.get enabled):
        (WebInspector.TreeElementStatusButton.prototype.set enabled):
        (WebInspector.TreeElementStatusButton.prototype._clicked):
        Make buttons in the TreeElement status a generic class to share styling
        and handling of the buttons. New "disabled" state with even more
        transparent is used when the page is downloading.

        * UserInterface/Main.html:
        * UserInterface/Main.js:
        (WebInspector.archiveMainFrame):
        (WebInspector.canArchiveMainFrame):
        Generic API for archiving the page and determining if you can archive it.

        * UserInterface/InspectorBackendCommands.js:
        * UserInterface/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub.prototype.save):
        * UserInterface/Images/DownloadArrow.svg: Added.
        * Localizations/en.lproj/localizedStrings.js:
        Misc. updates and new files.

2013-08-28  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Give reload icon an :active state and allow CSS to style some SVG images
        https://bugs.webkit.org/show_bug.cgi?id=120384

        Reviewed by Timothy Hatcher.

        The Reload icon is duplicated just to provide different fill colors.
        Convert from using <img> to an <svg> document for this image, and style
        it with CSS. This also makes it trivial to add an :active state.

        * UserInterface/ImageUtilities.js:
        (.invokeCallbackWithDocument):
        (.imageLoad):
        (.imageError):
        (wrappedSVGDocument):
        Helpers for downloading and in memory caching SVG images.

        * UserInterface/Images/Reload.svg:
        * UserInterface/Images/ReloadSelected.svg: Removed.
        Updated Reload image better matches the original design (slightly
        larger). And the duplicate image can be removed.

        * UserInterface/ResourceTreeElement.css:
        (.item.resource > .status > .reload-button):
        (.item.resource > .status > .reload-button > svg *):
        (.item.resource.selected > .status > .reload-button > svg *):
        (.item.resource.selected > .status > .reload-button:active > svg *):
        Different styles, including a new :active style.

        * UserInterface/ResourceTreeElement.js:
        (WebInspector.ResourceTreeElement.prototype._updateStatusWithMainFrameButtons):
        (WebInspector.ResourceTreeElement.prototype._updateStatus):
        Handle updating the main frame's state asynchronously since loading the SVG
        image document is asynchronous.

2013-08-27  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Debugger should have Continue to Here Context Menu
        https://bugs.webkit.org/show_bug.cgi?id=120189

        Reviewed by Timothy Hatcher.

        When paused in the debugger and presenting a Context Menu in the
        gutter, include a "Continue to Here" option. This requires a
        script/line/column location combination.

        * UserInterface/DebuggerManager.js:
        (WebInspector.DebuggerManager.prototype.continueToLocation):
        * UserInterface/Resource.js:
        (WebInspector.Resource.prototype.scriptForLocation):
        * UserInterface/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor.prototype.continueToLocation):
        (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu):

2013-08-26  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: We should regenerate InspectorBackendCommands.js for Legacy Inspector.json versions
        https://bugs.webkit.org/show_bug.cgi?id=120242

        Reviewed by Timothy Hatcher.

        - Include the iOS 6.0 Inspector.json which maps to Legacy/6.0/InspectorBackendCommands.js.
        - Provide a helper script to regenerate the backend commands file for trunk and Versions.
        - Regenerated file now includes enums and other minor changes.

        * Scripts/update-InspectorBackendCommands.rb: Added.
        * UserInterface/InspectorBackendCommands.js:
        * UserInterface/Legacy/6.0/InspectorBackendCommands.js:
        * Versions/Inspector-iOS-6.0.json: Added.

2013-08-24  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Breakpoints in the editors gutter should have a contextmenu
        https://bugs.webkit.org/show_bug.cgi?id=120169

        Reviewed by Timothy Hatcher.

        Updated CodeMirror now has a gutterContextMenu event. Use that to give
        breakpoint related context menus. Add, Edit, Enable/Disable, Delete, and
        Reveal in Debugger Navigation Sidebar.

        * Localizations/en.lproj/localizedStrings.js:
        "Add Breakpoint", and "Reveal in Debugger Navigation Sidebar".

        * UserInterface/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu.addBreakpoint):
        (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu.revealInSidebar):
        (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu.removeBreakpoints):
        (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu.toggleBreakpoints):
        (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu):
        Show a context menu when clicking on the gutter for 0 breakpoints,
        1 breakpoint, or >1 breakpoints. The only tricky handler is addBreakpoint,
        since that must update the TextEditor for the new breakpoint info.

        * UserInterface/TextEditor.js:
        (WebInspector.TextEditor):
        (WebInspector.TextEditor.prototype._gutterContextMenu):
        Send to delegate if the delegate implements textEditorGutterContextMenu.

2013-08-23  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Fix js minification of updated CodeMirror
        https://bugs.webkit.org/show_bug.cgi?id=120231

        Reviewed by Andy Estes.

        Workaround a jsmin issue with "return //.test();" lines when
        minifying JavaScript in production builds.

        * Scripts/copy-user-interface-resources.sh:
        * UserInterface/External/CodeMirror/codemirror.js:
        (window.CodeMirror):

2013-08-22  Joseph Pecoraro  <pecoraro@apple.com>

        <https://webkit.org/b/120165> Web Inspector: Update CodeMirror to 3.16.1

        Reviewed by Andy Estes.

        * Tools/PrettyPrinting/codemirror.css:
        * Tools/PrettyPrinting/codemirror.js:
        * Tools/PrettyPrinting/css.js:
        * Tools/PrettyPrinting/javascript.js:
        * UserInterface/External/CodeMirror/codemirror.css:
        * UserInterface/External/CodeMirror/codemirror.js:
        * UserInterface/External/CodeMirror/css.js:
        * UserInterface/External/CodeMirror/javascript.js:
        * UserInterface/External/CodeMirror/xml.js:

2013-08-21  Brent Fulgham  <bfulgham@apple.com>

        [Windows] Clean up project file after %PlatformArchitecture% change landed.

        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Remove hard-coded settings covered
        by our configuration files.
        * WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: Use the %PlatformArchitecture%
        macro to support 32- and 64-bit builds.

2013-08-20  Brent Fulgham  <bfulgham@apple.com>

        <http://webkit.org/b/120098> [Windows] Enable the New Web Inspector

        Reviewed by Brian Weinstein.

        Add a new project to copy files to the appropriate spots in the
        Windows port.

        * WebInspectorUI.vcxproj: Added.
        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Added.
        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters: Added.
        * WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: Added.
        * WebInspectorUI.vcxproj/WebInspectorUIPreBuild.cmd: Added.

2013-08-19  James Craig  <james@cookiecrook.com>

        <https://webkit.org/b/118106> Web Inspector: AX: Add additional contextual labels for Error/Warnings/Logs that will be spoken for screen readers

        Reviewed by Joseph Pecoraro.

        Changed general console "Output" string to more specific "Error", "Warning", etc for accessibility.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/ConsoleCommandResult.js:
        * UserInterface/ConsoleMessageImpl.js:

2013-08-16  James Craig  <james@cookiecrook.com>

        <https://webkit.org/b/118105> Web Inspector: AX: Add support for ARIA tablists/tabs to inspector tabs

        Reviewed by Joseph Pecoraro.

        Updating accessibility roles and attributes for single-select toolbar item sets.

        * UserInterface/ActivateButtonNavigationItem.js:
        (WebInspector.ActivateButtonNavigationItem):
        (WebInspector.ActivateButtonNavigationItem.prototype.set activated):
        * UserInterface/ActivateButtonToolbarItem.js:
        (WebInspector.ActivateButtonToolbarItem):
        * UserInterface/ButtonToolbarItem.js:
        (WebInspector.ButtonToolbarItem):
        * UserInterface/SidebarPanel.js:
        (WebInspector.SidebarPanel):
        * UserInterface/Toolbar.js:
        (WebInspector.Toolbar):

2013-08-13  Dean Jackson  <dino@apple.com>

        <https://webkit.org/b/119778> Add Canvas protocol observer

        Reviewed by Joseph Pecoraro.

        In preparation for listening to backend events about canvas profiling,
        add a canvas observer.

        * UserInterface/CanvasObserver.js: New empty CanvasObserver object.
        (WebInspector.CanvasObserver):
        (WebInspector.CanvasObserver.prototype.contextCreated):
        (WebInspector.CanvasObserver.prototype.traceLogsRemoved):
        * UserInterface/Main.html:
        * UserInterface/Main.js:
        (WebInspector.loaded):

2013-08-11  Dean Jackson  <dino@apple.com>

        Update localizedStrings - I think I checked in an unmerged version
        in the previous commit.

        * Localizations/en.lproj/localizedStrings.js:

2013-08-11  Dean Jackson  <dino@apple.com>

        Bootstrap canvas profiler
        https://bugs.webkit.org/show_bug.cgi?id=119652
        <rdar://problem/14703665>

        Reviewed by Joseph Pecoraro.

        Add enough to get an empty Canvas profile recording
        and displayed.

        * Localizations/en.lproj/localizedStrings.js: Add canvas strings.
        * UserInterface/CanvasProfileObject.js: Added. Mostly copied from CSS Selector Profiles.
        * UserInterface/CanvasProfileType.js: Added. Ditto.
        * UserInterface/CanvasDataGridNode.js: Added. Ditto.
        * UserInterface/CanvasProfileView.js: Added. Ditto.
        * UserInterface/ContentView.js:
        (WebInspector.ContentView): Add support for the new View type.
        (WebInspector.ContentView.isViewable):
        * UserInterface/InstrumentSidebarPanel.js:
        (WebInspector.InstrumentSidebarPanel): Add support for canvas profiles.
        (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphMousedOver):
        (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphMousedDown):
        (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphClicked):
        (WebInspector.InstrumentSidebarPanel.prototype._profileTypeWasSelected):
        (WebInspector.InstrumentSidebarPanel.prototype._profilesCleared):
        * UserInterface/Main.html: Load the new files.
        * UserInterface/ProfileManager.js: New methods and support for canvas profiles.
        (WebInspector.ProfileManager):
        (WebInspector.ProfileManager.prototype.initialize):
        (WebInspector.ProfileManager.prototype.isProfilingCanvas):
        (WebInspector.ProfileManager.prototype.startProfilingCanvas):
        (WebInspector.ProfileManager.prototype.stopProfilingCanvas):
        (WebInspector.ProfileManager.prototype._checkForInterruptions):
        (WebInspector.ProfileManager.prototype._attemptToResumeProfiling):

2013-08-07  Timothy Hatcher  <timothy@apple.com>

        Switch the generated images off of PDFs and onto SVGs now that bug 119492 is fixed.

        https://bugs.webkit.org/show_bug.cgi?id=118677

        Reviewed by Joseph Pecoraro.

        * UserInterface/ApplicationCacheDetailsSidebarPanel.js:
        (WebInspector.ApplicationCacheDetailsSidebarPanel):
        * UserInterface/CSSStyleDeclarationSection.js:
        (WebInspector.CSSStyleDeclarationSection):
        * UserInterface/CSSStyleDetailsSidebarPanel.js:
        (WebInspector.CSSStyleDetailsSidebarPanel):
        * UserInterface/ContentBrowser.js:
        (WebInspector.ContentBrowser):
        * UserInterface/DOMNodeDetailsSidebarPanel.js:
        (WebInspector.DOMNodeDetailsSidebarPanel):
        * UserInterface/DOMTreeContentView.js:
        (WebInspector.DOMTreeContentView):
        * UserInterface/DataGrid.js:
        (WebInspector.DataGrid.prototype._generateSortIndicatorImagesIfNeeded):
        * UserInterface/DebuggerSidebarPanel.js:
        (WebInspector.DebuggerSidebarPanel):
        * UserInterface/DetailsSection.js:
        (WebInspector.DetailsSection.prototype._generateDisclosureTrianglesIfNeeded):
        * UserInterface/FindBanner.js:
        (WebInspector.FindBanner.prototype._generateButtonsGlyphsIfNeeded):
        * UserInterface/Images/BackArrow.pdf: Removed.
        * UserInterface/Images/BottomUpTree.pdf: Removed.
        * UserInterface/Images/Breakpoints.pdf: Removed.
        * UserInterface/Images/Close.pdf: Removed.
        * UserInterface/Images/Crosshair.pdf: Removed.
        * UserInterface/Images/DisclosureTriangleSmallClosed.pdf: Removed.
        * UserInterface/Images/DisclosureTriangleSmallOpen.pdf: Removed.
        * UserInterface/Images/DisclosureTriangleTinyClosed.pdf: Removed.
        * UserInterface/Images/DisclosureTriangleTinyOpen.pdf: Removed.
        * UserInterface/Images/DockBottom.pdf: Removed.
        * UserInterface/Images/DockRight.pdf: Removed.
        * UserInterface/Images/ForwardArrow.pdf: Removed.
        * UserInterface/Images/GoToArrow.pdf: Removed.
        * UserInterface/Images/LayerBorders.pdf: Removed.
        * UserInterface/Images/LessColumns.pdf: Removed.
        * UserInterface/Images/Locked.pdf: Removed.
        * UserInterface/Images/MoreColumns.pdf: Removed.
        * UserInterface/Images/NavigationItemAngleBrackets.pdf: Removed.
        * UserInterface/Images/NavigationItemBrushAndRuler.pdf: Removed.
        * UserInterface/Images/NavigationItemBug.pdf: Removed.
        * UserInterface/Images/NavigationItemCurleyBraces.pdf: Removed.
        * UserInterface/Images/NavigationItemFile.pdf: Removed.
        * UserInterface/Images/NavigationItemLayers.pdf: Removed.
        * UserInterface/Images/NavigationItemLog.pdf: Removed.
        * UserInterface/Images/NavigationItemMagnifyingGlass.pdf: Removed.
        * UserInterface/Images/NavigationItemStopwatch.pdf: Removed.
        * UserInterface/Images/NavigationItemStorage.pdf: Removed.
        * UserInterface/Images/NavigationItemTrash.pdf: Removed.
        * UserInterface/Images/NavigationItemVariable.pdf: Removed.
        * UserInterface/Images/Pause.pdf: Removed.
        * UserInterface/Images/Percent.pdf: Removed.
        * UserInterface/Images/Plus.pdf: Removed.
        * UserInterface/Images/Resume.pdf: Removed.
        * UserInterface/Images/ShadowDOM.pdf: Removed.
        * UserInterface/Images/SortIndicatorDownArrow.pdf: Removed.
        * UserInterface/Images/SortIndicatorUpArrow.pdf: Removed.
        * UserInterface/Images/SplitToggleDown.pdf: Removed.
        * UserInterface/Images/SplitToggleUp.pdf: Removed.
        * UserInterface/Images/StepInto.pdf: Removed.
        * UserInterface/Images/StepOut.pdf: Removed.
        * UserInterface/Images/StepOver.pdf: Removed.
        * UserInterface/Images/Undock.pdf: Removed.
        * UserInterface/InstrumentSidebarPanel.js:
        (WebInspector.InstrumentSidebarPanel):
        * UserInterface/JavaScriptProfileView.js:
        (WebInspector.JavaScriptProfileView):
        * UserInterface/LayerTreeSidebarPanel.js:
        (WebInspector.LayerTreeSidebarPanel):
        * UserInterface/LogContentView.js:
        (WebInspector.LogContentView):
        * UserInterface/Main.js:
        (WebInspector.contentLoaded):
        (WebInspector._updateDockNavigationItems):
        (WebInspector._generateDisclosureTriangleImages):
        * UserInterface/NavigationSidebarPanel.js:
        (WebInspector.NavigationSidebarPanel.prototype._generateDisclosureTrianglesIfNeeded):
        * UserInterface/ProfileView.js:
        (WebInspector.ProfileView):
        * UserInterface/ResourceDetailsSidebarPanel.js:
        (WebInspector.ResourceDetailsSidebarPanel):
        * UserInterface/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel):
        * UserInterface/ScopeChainDetailsSidebarPanel.js:
        (WebInspector.ScopeChainDetailsSidebarPanel):
        * UserInterface/ScriptContentView.js:
        (WebInspector.ScriptContentView):
        * UserInterface/TextContentView.js:
        (WebInspector.TextContentView):
        * UserInterface/TextResourceContentView.js:
        (WebInspector.TextResourceContentView):
        * UserInterface/TimelinesContentView.js:

2013-08-08  Dean Jackson  <dino@apple.com>

        Remove use of prefixed transition event
        https://bugs.webkit.org/show_bug.cgi?id=119598

        Reviewed by Joseph Pecoraro.

        "webkitTransitionEnd" -> "transitionend".

        * UserInterface/Popover.js:
        (WebInspector.Popover):
        (WebInspector.Popover.prototype.handleEvent):

2013-08-08  Dean Jackson  <dino@apple.com>

        Unprefix use of transitions in Web Inspector code
        https://bugs.webkit.org/show_bug.cgi?id=119588

        Reviewed by Tim Hatcher.

        Replace "-webkit-transition" with "transition".

        * UserInterface/CSSCompletions.js:
        (WebInspector.CSSCompletions.requestCSSNameCompletions.collectPropertyNameForCodeMirror):
        * UserInterface/FindBanner.css:
        (.find-banner):
        (.find-banner.showing):
        (.supports-find-banner.no-find-banner-transition):
        (.supports-find-banner):
        (.supports-find-banner.showing-find-banner):
        * UserInterface/NetworkTimeline.css:
        (.network-graph-side:hover .network-graph-label):
        * UserInterface/Popover.css:
        (.popover.fade-out):

2013-08-08  Vivek Galatage  <vivek.vg@samsung.com>

        Web Inspector: Use granular DOMStorage modification events to avoid complete DataGrid update.
        https://bugs.webkit.org/show_bug.cgi?id=119541

        Reviewed by Joseph Pecoraro.

        InspectorDOMStorageAgent sends more granular events about the storage modifications.
        Using these would avoid the complete rebuilding of the DataGrid.

        * UserInterface/DOMStorageContentView.js:
        (WebInspector.DOMStorageContentView.prototype.itemsCleared):
        (WebInspector.DOMStorageContentView.prototype.itemRemoved):
        (WebInspector.DOMStorageContentView.prototype.itemAdded):
        (WebInspector.DOMStorageContentView.prototype.itemUpdated):
        * UserInterface/DOMStorageObserver.js:
        (WebInspector.DOMStorageObserver.prototype.domStorageItemsCleared):
        (WebInspector.DOMStorageObserver.prototype.domStorageItemRemoved):
        (WebInspector.DOMStorageObserver.prototype.domStorageItemAdded):
        (WebInspector.DOMStorageObserver.prototype.domStorageItemUpdated):
        * UserInterface/StorageManager.js:
        (WebInspector.StorageManager.prototype.domStorageItemsCleared):
        (WebInspector.StorageManager.prototype.domStorageItemRemoved):
        (WebInspector.StorageManager.prototype.domStorageItemAdded):
        (WebInspector.StorageManager.prototype.domStorageItemUpdated):

2013-08-06  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Remove stale code in ResourceContentView
        https://bugs.webkit.org/show_bug.cgi?id=119527

        The handling of Resource Type changes moved to ResourceClusterContentView,
        this removeEventListener is stale and doesn't do anything anymore.

        Reviewed by Timothy Hatcher.

        * UserInterface/ResourceContentView.js:
        (WebInspector.ResourceContentView.prototype.closed):

2013-08-06  Timothy Hatcher  <timothy@apple.com>

        Convert all Web Inspector PDFs to SVGs.

        Some PDFs need to stay around until bug 119492 is fixed. But the SVGs are there for when they are needed.
        Updated some of the existing SVGs to be consistent with the format of the new SVGs.

        https://bugs.webkit.org/show_bug.cgi?id=118677

        Rubber-stamped by Joseph Pecoraro.

        * UserInterface/BreakpointIcons.css:
        * UserInterface/BreakpointTreeElement.css:
        * UserInterface/CallFrameIcons.css:
        * UserInterface/DatabaseContentView.css:
        * UserInterface/FilterBar.css:
        * UserInterface/HierarchicalPathComponent.css:
        * UserInterface/Images/BackArrow.svg: Added.
        * UserInterface/Images/BottomUpTree.svg: Added.
        * UserInterface/Images/BreakpointButton.pdf: Removed.
        * UserInterface/Images/BreakpointButton.svg: Added.
        * UserInterface/Images/BreakpointInactiveButton.pdf: Removed.
        * UserInterface/Images/BreakpointInactiveButton.svg: Added.
        * UserInterface/Images/Breakpoints.svg: Added.
        * UserInterface/Images/Close.svg: Added.
        * UserInterface/Images/Crosshair.svg: Added.
        * UserInterface/Images/DOMCharacterData.pdf: Removed.
        * UserInterface/Images/DOMCharacterData.svg: Added.
        * UserInterface/Images/DOMComment.pdf: Removed.
        * UserInterface/Images/DOMComment.svg: Added.
        * UserInterface/Images/DOMDocument.pdf: Removed.
        * UserInterface/Images/DOMDocument.svg: Added.
        * UserInterface/Images/DOMDocumentType.pdf: Removed.
        * UserInterface/Images/DOMDocumentType.svg: Added.
        * UserInterface/Images/DOMElement.pdf: Removed.
        * UserInterface/Images/DOMElement.svg: Added.
        * UserInterface/Images/DOMNode.pdf: Removed.
        * UserInterface/Images/DOMNode.svg: Added.
        * UserInterface/Images/DOMTextNode.pdf: Removed.
        * UserInterface/Images/DOMTextNode.svg: Added.
        * UserInterface/Images/DOMTree.pdf: Removed.
        * UserInterface/Images/DOMTree.svg: Added.
        * UserInterface/Images/DisclosureTriangleSmallClosed.svg: Added.
        * UserInterface/Images/DisclosureTriangleSmallOpen.svg: Added.
        * UserInterface/Images/DisclosureTriangleTinyClosed.svg: Added.
        * UserInterface/Images/DisclosureTriangleTinyOpen.svg: Added.
        * UserInterface/Images/DockBottom.svg: Added.
        * UserInterface/Images/DockRight.svg: Added.
        * UserInterface/Images/Error.pdf: Removed.
        * UserInterface/Images/Error.svg: Added.
        * UserInterface/Images/ErrorSmall.pdf: Removed.
        * UserInterface/Images/Errors.svg:
        * UserInterface/Images/ErrorsEnabled.svg:
        * UserInterface/Images/EventListener.pdf: Removed.
        * UserInterface/Images/EventListener.svg: Added.
        * UserInterface/Images/Exception.pdf: Removed.
        * UserInterface/Images/Exception.svg: Added.
        * UserInterface/Images/FilterFieldGlyph.pdf: Removed.
        * UserInterface/Images/FilterFieldGlyph.svg: Added.
        * UserInterface/Images/ForwardArrow.svg: Added.
        * UserInterface/Images/Function.pdf: Removed.
        * UserInterface/Images/Function.svg: Added.
        * UserInterface/Images/GoToArrow.svg: Added.
        * UserInterface/Images/HierarchicalNavigationItemChevron.pdf: Removed.
        * UserInterface/Images/HierarchicalNavigationItemChevron.svg: Added.
        * UserInterface/Images/IndeterminateProgressSpinner1.pdf: Removed.
        * UserInterface/Images/IndeterminateProgressSpinner1.svg: Added.
        * UserInterface/Images/IndeterminateProgressSpinner10.pdf: Removed.
        * UserInterface/Images/IndeterminateProgressSpinner10.svg: Added.
        * UserInterface/Images/IndeterminateProgressSpinner11.pdf: Removed.
        * UserInterface/Images/IndeterminateProgressSpinner11.svg: Added.
        * UserInterface/Images/IndeterminateProgressSpinner12.pdf: Removed.
        * UserInterface/Images/IndeterminateProgressSpinner12.svg: Added.
        * UserInterface/Images/IndeterminateProgressSpinner2.pdf: Removed.
        * UserInterface/Images/IndeterminateProgressSpinner2.svg: Added.
        * UserInterface/Images/IndeterminateProgressSpinner3.pdf: Removed.
        * UserInterface/Images/IndeterminateProgressSpinner3.svg: Added.
        * UserInterface/Images/IndeterminateProgressSpinner4.pdf: Removed.
        * UserInterface/Images/IndeterminateProgressSpinner4.svg: Added.
        * UserInterface/Images/IndeterminateProgressSpinner5.pdf: Removed.
        * UserInterface/Images/IndeterminateProgressSpinner5.svg: Added.
        * UserInterface/Images/IndeterminateProgressSpinner6.pdf: Removed.
        * UserInterface/Images/IndeterminateProgressSpinner6.svg: Added.
        * UserInterface/Images/IndeterminateProgressSpinner7.pdf: Removed.
        * UserInterface/Images/IndeterminateProgressSpinner7.svg: Added.
        * UserInterface/Images/IndeterminateProgressSpinner8.pdf: Removed.
        * UserInterface/Images/IndeterminateProgressSpinner8.svg: Added.
        * UserInterface/Images/IndeterminateProgressSpinner9.pdf: Removed.
        * UserInterface/Images/IndeterminateProgressSpinner9.svg: Added.
        * UserInterface/Images/Issues.svg:
        * UserInterface/Images/IssuesEnabled.svg:
        * UserInterface/Images/LayerBorders.svg: Added.
        * UserInterface/Images/LessColumns.svg: Added.
        * UserInterface/Images/Locked.svg: Added.
        * UserInterface/Images/Logs.svg:
        * UserInterface/Images/Memory.svg:
        * UserInterface/Images/MoreColumns.svg: Added.
        * UserInterface/Images/Native.pdf: Removed.
        * UserInterface/Images/Native.svg: Added.
        * UserInterface/Images/NavigationItemAngleBrackets.svg: Added.
        * UserInterface/Images/NavigationItemBrushAndRuler.svg: Added.
        * UserInterface/Images/NavigationItemBug.svg: Added.
        * UserInterface/Images/NavigationItemCurleyBraces.svg: Added.
        * UserInterface/Images/NavigationItemFile.svg: Added.
        * UserInterface/Images/NavigationItemLayers.svg: Added.
        * UserInterface/Images/NavigationItemLog.svg: Added.
        * UserInterface/Images/NavigationItemMagnifyingGlass.svg: Added.
        * UserInterface/Images/NavigationItemStopwatch.svg: Added.
        * UserInterface/Images/NavigationItemStorage.svg: Added.
        * UserInterface/Images/NavigationItemTrash.svg: Added.
        * UserInterface/Images/NavigationItemVariable.svg: Added.
        * UserInterface/Images/NetworkBarLabelCalloutLeft.pdf: Removed.
        * UserInterface/Images/NetworkBarLabelCalloutLeft.svg: Added.
        * UserInterface/Images/NetworkBarLabelCalloutRight.pdf: Removed.
        * UserInterface/Images/NetworkBarLabelCalloutRight.svg: Added.
        * UserInterface/Images/NetworkBarLabelCalloutWhiteLeft.pdf: Removed.
        * UserInterface/Images/NetworkBarLabelCalloutWhiteLeft.svg: Added.
        * UserInterface/Images/NetworkBarLabelCalloutWhiteRight.pdf: Removed.
        * UserInterface/Images/NetworkBarLabelCalloutWhiteRight.svg: Added.
        * UserInterface/Images/Pause.svg: Added.
        * UserInterface/Images/Percent.svg: Added.
        * UserInterface/Images/Plus.svg: Added.
        * UserInterface/Images/PseudoElement.pdf: Removed.
        * UserInterface/Images/PseudoElement.svg: Added.
        * UserInterface/Images/Reflection.pdf: Removed.
        * UserInterface/Images/Reflection.svg: Added.
        * UserInterface/Images/Reload.svg:
        * UserInterface/Images/ReloadSelected.svg:
        * UserInterface/Images/Request.pdf: Removed.
        * UserInterface/Images/Request.svg: Added.
        * UserInterface/Images/Resources.svg:
        * UserInterface/Images/Response.pdf: Removed.
        * UserInterface/Images/Response.svg: Added.
        * UserInterface/Images/ResultLine.pdf: Removed.
        * UserInterface/Images/ResultLine.svg: Added.
        * UserInterface/Images/Resume.svg: Added.
        * UserInterface/Images/ShadowDOM.svg: Added.
        * UserInterface/Images/SortIndicatorDownArrow.svg: Added.
        * UserInterface/Images/SortIndicatorUpArrow.svg: Added.
        * UserInterface/Images/SourceCode.pdf: Removed.
        * UserInterface/Images/SourceCode.svg: Added.
        * UserInterface/Images/SplitToggleDown.svg: Added.
        * UserInterface/Images/SplitToggleUp.svg: Added.
        * UserInterface/Images/StepInto.svg: Added.
        * UserInterface/Images/StepOut.svg: Added.
        * UserInterface/Images/StepOver.svg: Added.
        * UserInterface/Images/StyleRuleAuthor.pdf: Removed.
        * UserInterface/Images/StyleRuleAuthor.svg: Added.
        * UserInterface/Images/StyleRuleInherited.pdf: Removed.
        * UserInterface/Images/StyleRuleInherited.svg: Added.
        * UserInterface/Images/StyleRuleInheritedElement.pdf: Removed.
        * UserInterface/Images/StyleRuleInheritedElement.svg: Added.
        * UserInterface/Images/StyleRuleInspector.pdf: Removed.
        * UserInterface/Images/StyleRuleInspector.svg: Added.
        * UserInterface/Images/StyleRuleUser.pdf: Removed.
        * UserInterface/Images/StyleRuleUser.svg: Added.
        * UserInterface/Images/StyleRuleUserAgent.pdf: Removed.
        * UserInterface/Images/StyleRuleUserAgent.svg: Added.
        * UserInterface/Images/Time.svg:
        * UserInterface/Images/Undock.svg: Added.
        * UserInterface/Images/UpDownArrows.svg:
        * UserInterface/Images/UserInputPrompt.pdf: Removed.
        * UserInterface/Images/UserInputPrompt.svg: Added.
        * UserInterface/Images/UserInputPromptPrevious.pdf: Removed.
        * UserInterface/Images/UserInputPromptPrevious.svg: Added.
        * UserInterface/Images/UserInputPromptPreviousSelected.pdf: Removed.
        * UserInterface/Images/UserInputPromptPreviousSelected.svg: Added.
        * UserInterface/Images/UserInputResult.pdf: Removed.
        * UserInterface/Images/UserInputResult.svg: Added.
        * UserInterface/Images/UserInputResultSelected.pdf: Removed.
        * UserInterface/Images/UserInputResultSelected.svg: Added.
        * UserInterface/Images/Warning.pdf: Removed.
        * UserInterface/Images/Warning.svg: Added.
        * UserInterface/Images/WarningSmall.pdf: Removed.
        * UserInterface/Images/Weight.svg:
        * UserInterface/IndeterminateProgressSpinner.css:
        * UserInterface/LayerTreeSidebarPanel.css:
        * UserInterface/LogContentView.css:
        * UserInterface/Main.css:
        * UserInterface/NetworkTimeline.css:
        * UserInterface/PathComponentIcons.css:
        * UserInterface/QuickConsole.css:
        * UserInterface/RulesStyleDetailsPanel.css:
        * UserInterface/SearchIcons.css:
        * UserInterface/StyleRuleIcons.css:

2013-07-23  David Farler  <dfarler@apple.com>

        Provide optional OTHER_CFLAGS, OTHER_CPPFLAGS, OTHER_LDFLAGS additions for building with ASAN
        https://bugs.webkit.org/show_bug.cgi?id=117762

        Reviewed by Mark Rowe.

        * Configurations/DebugRelease.xcconfig:
        Add ASAN_OTHER_CFLAGS, CPLUSPLUSFLAGS, LDFLAGS.

2013-07-30  Roland Takács  <rtakacs@inf.u-szeged.hu>

        Web Inspector: doesn't use localized user interface at remote inspector
        https://bugs.webkit.org/show_bug.cgi?id=119252

        Reviewed by Timothy Hatcher.

        Added a flag in order to not use localizedStrings in remote inspector.

        * UserInterface/InspectorFrontendHostStub.js:
        * UserInterface/LoadLocalizedStrings.js:
        * UserInterface/Main.js:
        (WebInspector.UIString):

2013-07-24  Antoine Quint  <graouts@apple.com>

        Web Inspector: control+clicking on a numeric token should not show the context menu
        https://bugs.webkit.org/show_bug.cgi?id=119048

        Reviewed by Timothy Hatcher.

        Track "contextmenu" events when we're hovering a token containing a numeric value
        and call preventDefault() in the event handler to ensure that the context menu does
        not appear.

        * UserInterface/CodeMirrorDragToAlterNumberController.js:
        (WebInspector.CodeMirrorDragToAlterNumberController.prototype.handleEvent):
        (WebInspector.CodeMirrorDragToAlterNumberController.prototype._setTracksMouseClickAndDrag):

2013-07-24  Antoine Quint  <graouts@apple.com>

        Web Inspector: support click-and-drag editing of CSS numeric values
        https://bugs.webkit.org/show_bug.cgi?id=118896

        Reviewed by Timothy Hatcher.

        Add support for adjustment of numeric values in the various CodeMirror editors
        by holding the option key and dragging the mouse. By default, dragging one pixel
        changes the value by 1, but key modifiers allow to customize that behavior by using
        the control key to change the value to 0.1 and the shift key to change the value to 10.

        * UserInterface/CodeMirrorAdditions.js:
        Split adjustNumber() into two methods such that we may use its logic from the
        CodeMirrorDragToAlterNumberController. The new method, CodeMirror.prototype.alterNumberInRange()
        allow to set begin and end CodeMirror positions such that the existing alterNumber()
        can use information based on the current cursor position, and CodeMirrorDragToAlterNumberController
        can use information based on the hovered token.

        * UserInterface/CodeMirrorDragToAlterNumberController.css: Added.
        (.CodeMirror.drag-to-adjust .CodeMirror-lines):
        Set the cursor to "col-resize" when a number token is hovered and the option key
        modifier is pressed.

        * UserInterface/CodeMirrorDragToAlterNumberController.js: Added.
        (WebInspector.CodeMirrorDragToAlterNumberController):
        We define the new "dragToAdjustNumbers" CodeMirror option.

        (WebInspector.CodeMirrorDragToAlterNumberController.prototype.set enabled):
        The "enabled" property controls whether the associated CodeMirror instance
        may act upon hovering numeric values to adjust them via a drag interaction.

        (WebInspector.CodeMirrorDragToAlterNumberController.prototype.handleEvent):
        Proxy for various event-specific methods to deal with mouse events. We also bind
        the value of the "active" property to the "mouseenter" and "mouseleave" events
        if we're not currently dragging-to-adjust.

        (WebInspector.CodeMirrorDragToAlterNumberController.prototype._setActive):
        The "active" property is set when the mouse is over the associated CodeMirror
        editor and when it's on we track all "mousemove" events such that we may
        identify tokens containing numeric values. We also start tracking changes to the
        option modifier key press state such that we may change the cursor accordingly.
        We ensure that the CodeMirror instance is not read-only such that we don't
        allow adjustment of numeric values in places where they couldn't be committed.

        (WebInspector.CodeMirrorDragToAlterNumberController.prototype._setDragging):
        The "dragging" property reflects whether a dragging-to-adjust interaction
        is underway. We call into WebInspector.elementDragStart() and WebInspector.elementDragEnd()
        to set the cursor to "col-resize" for the whole document while tracking mousemove
        and mouseup events at the window level such that we can drag-to-adjust even outside
        of the inspector window.

        (WebInspector.CodeMirrorDragToAlterNumberController.prototype._setTracksMouseClickAndDrag):
        The "tracksMouseClickAndDrag" property is set to true whenever the controller
        has detected that a token containing a numeric value is being hovered and the
        option modifier key is pressed. This property controls the cursor value for the
        hovered token to reflect that a drag-to-adjust interaction is allowed and tracks
        "mousedown" events for when a dragging interaction may be initiated.

        (WebInspector.CodeMirrorDragToAlterNumberController.prototype._modifiersDidChange):
        Sets the "tracksMouseClickAndDrag" property depending on the availability of a hovered
        token containing a numeric value and the pressed state of the option modified key.

        (WebInspector.CodeMirrorDragToAlterNumberController.prototype._mouseMoved):
        Handles "mousemove" events when we're not in the "dragging" state such that we
        check the currently hovered token, if any, to see if it contains a number that
        we may drag-to-adjust. Subsequently, we may enter the "tracksMouseClickAndDrag"
        state.

        (WebInspector.CodeMirrorDragToAlterNumberController.prototype._mouseWasPressed):
        Handles "mousedown" events during a drag-to-adjust interaction. We simply track
        the current mouse position in the x-axis and enter the "dragging" state.

        (WebInspector.CodeMirrorDragToAlterNumberController.prototype._mouseWasDragged):
        Handles "mousemove" events when we are in the "dragging" state. We compare the
        current mouse position in the x-axis with the last recoreded value and determine
        the amount by which we should adjust the value, taking into account the shift and
        control modifier keys. We then call into WebInspector.alterNumberInRange() to
        apply the change amount to the associated CodeMirror editor.

        (WebInspector.CodeMirrorDragToAlterNumberController.prototype._mouseWasReleased):
        Handles "mouseup" events, simply exiting the "dragging" state and resetting other
        parameters we would have customized as a result of the drag-to-adjust interaction.

        (WebInspector.CodeMirrorDragToAlterNumberController.prototype._reset):
        Resetting some parameters we would have customized as a result of the drag-to-adjust
        interaction.

        * UserInterface/Main.html:
        Include the new CodeMirrorDragToAlterNumberController.{js|css} files.

        * UserInterface/Main.js:
        (WebInspector.elementDragStart):
        (WebInspector.elementDragEnd):
        Add an extra parameter to elementDragStart() such that the caller may specify the event
        target for the "mousemove" and "mouseup" events.

2013-07-23  Roland Takacs  <rtakacs@inf.u-szeged.hu>

        WebSocket initialization to use remote inspector
        https://bugs.webkit.org/show_bug.cgi?id=118678

        Reviewed by Timothy Hatcher.

        Add WebSocket initialization and define a 'connect-src' directive in the
        Content-Security-Policy HTTP header to enable the connection.

        * UserInterface/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub.prototype.sendMessageToBackend):
        * UserInterface/Main.html:
        * UserInterface/Main.js:
        (WebInspector.loaded):
        (WebInspector._initializeWebSocketIfNeeded.createSocket.WebInspector):
        (WebInspector._initializeWebSocketIfNeeded.createSocket):
        (WebInspector._initializeWebSocketIfNeeded):

2013-07-22  Diego Pino Garcia  <dpino@igalia.com>

        Web Inspector: When right-clicking on a DataGrid column, show editing
        menu option as "Edit <columnName>" instead of just "Edit"
        https://bugs.webkit.org/show_bug.cgi?id=118970

        Reviewed by Timothy Hatcher.

        * Localizations/en.lproj/localizedStrings.js: Add literal "Edit '%s'"
        * UserInterface/DataGrid.js: Change "Edit" for "Edit <columnTitle>"
        (WebInspector.DataGrid.prototype._contextMenuInDataTable):

2013-07-21  Seokju Kwon  <seokju.kwon@gmail.com>

        Web Inspector: Cleanup InspectorFrontendHostStub.js
        https://bugs.webkit.org/show_bug.cgi?id=118959

        Reviewed by Timothy Hatcher.

        Remove some functions because we dont use on New Inspector.

        * UserInterface/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub):
        (.WebInspector.InspectorFrontendHostStub.prototype.save):

2013-07-17  Seokju Kwon  <seokju.kwon@gmail.com>

        Web Inspector: Fix a typo in WebInspector.loaded
        https://bugs.webkit.org/show_bug.cgi?id=118834

        Reviewed by Timothy Hatcher.

        * UserInterface/Main.js:
        (WebInspector.loaded):

2013-07-16  Seokju Kwon  <seokju.kwon@gmail.com>

        Web Inspector: InspectorFrontendHost is undefined
        https://bugs.webkit.org/show_bug.cgi?id=118715

        Reviewed by Timothy Hatcher.

        Add InspectorFrontendHostStub.js to New Inspector because of the InspectorFrontendHost initialization.

        * UserInterface/InspectorFrontendHostStub.js: Added.
        (.WebInspector.InspectorFrontendHostStub):
        (.WebInspector.InspectorFrontendHostStub.prototype.platform):
        (.WebInspector.InspectorFrontendHostStub.prototype.port):
        (.WebInspector.InspectorFrontendHostStub.prototype.bringToFront):
        (.WebInspector.InspectorFrontendHostStub.prototype.closeWindow):
        (.WebInspector.InspectorFrontendHostStub.prototype.requestSetDockSide):
        (.WebInspector.InspectorFrontendHostStub.prototype.setAttachedWindowHeight):
        (.WebInspector.InspectorFrontendHostStub.prototype.setAttachedWindowWidth):
        (.WebInspector.InspectorFrontendHostStub.prototype.setToolbarHeight):
        (.WebInspector.InspectorFrontendHostStub.prototype.moveWindowBy):
        (.WebInspector.InspectorFrontendHostStub.prototype.loaded):
        (.WebInspector.InspectorFrontendHostStub.prototype.localizedStringsURL):
        (.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged):
        (.WebInspector.InspectorFrontendHostStub.prototype.copyText):
        (.WebInspector.InspectorFrontendHostStub.prototype.openInNewTab):
        (.WebInspector.InspectorFrontendHostStub.prototype.canSave):
        (.WebInspector.InspectorFrontendHostStub.prototype.save):
        (.WebInspector.InspectorFrontendHostStub.prototype.append):
        (.WebInspector.InspectorFrontendHostStub.prototype.close.cleanup):
        (.WebInspector.InspectorFrontendHostStub.prototype.close):
        (.WebInspector.InspectorFrontendHostStub.prototype.sendMessageToBackend):
        (.WebInspector.InspectorFrontendHostStub.prototype.loadResourceSynchronously):
        * UserInterface/Main.html:

2013-07-15  Seokju Kwon  <seokju.kwon@gmail.com>

        Web Inspector: Remove unused columns from select query in ImageUtilities.js
        https://bugs.webkit.org/show_bug.cgi?id=118694

        Reviewed by Timothy Hatcher.

        * UserInterface/ImageUtilities.js: Remove pixelRatio and formatVersion from select query.

2013-07-15  Timothy Hatcher  <timothy@apple.com>

        Update CodeMirror to 3.14.1.

        https://bugs.webkit.org/show_bug.cgi?id=118605

        Reviewed by Joseph Pecoraro.

        * Scripts/update-codemirror-resources.rb: Updated the list to add closebrackets.js and sorted the files.
        * Tools/PrettyPrinting/CodeMirrorFormatters.js:
        * Tools/PrettyPrinting/Formatter.js:
        * Tools/PrettyPrinting/FormatterContentBuilder.js:
        * Tools/PrettyPrinting/codemirror.css:
        * Tools/PrettyPrinting/codemirror.js:
        * Tools/PrettyPrinting/css.js:
        * Tools/PrettyPrinting/javascript.js:
        * UserInterface/External/CodeMirror/closebrackets.js:
        * UserInterface/External/CodeMirror/codemirror.css:
        * UserInterface/External/CodeMirror/codemirror.js:
        * UserInterface/External/CodeMirror/coffeescript.js:
        * UserInterface/External/CodeMirror/comment.js:
        * UserInterface/External/CodeMirror/css.js:
        * UserInterface/External/CodeMirror/javascript.js:
        * UserInterface/External/CodeMirror/matchbrackets.js:
        * UserInterface/External/CodeMirror/sql.js:
        * UserInterface/External/CodeMirror/xml.js:

2013-07-15  Timothy Hatcher  <timothy@apple.com>

        Make sure to add main resources for sub-frames to the Network Timeline.

        https://bugs.webkit.org/show_bug.cgi?id=118649

        Reviewed by Joseph Pecoraro.

        * UserInterface/TimelineManager.js:
        (WebInspector.TimelineManager.prototype._mainResourceDidChange): Remove the
        call to _clear() and early return for event.target.isMainFrame(). The _clear()
        is already handled if needed by the call to _startAutoRecording(), so it was
        redundant here and caused the erroneous addition of isMainFrame() early return.

2013-07-15  Timothy Hatcher  <timothy@apple.com>

        Properly handle style text changes while the color popover is open.

        https://bugs.webkit.org/show_bug.cgi?id=118575

        Reviewed by Joseph Pecoraro.

        * UserInterface/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked.updateCodeMirror):
        The original text marker might have been cleared by a style update, in this case we need to
        find the new color text marker so we know the right range for the new style color text.

2013-07-14  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r152598.
        http://trac.webkit.org/changeset/152598
        https://bugs.webkit.org/show_bug.cgi?id=118658

        totally broke the web inspector (JS ERROR: SyntaxError:
        Expected token '}') (Requested by thorton on #webkit).

        * Tools/PrettyPrinting/CodeMirrorFormatters.js:
        * Tools/PrettyPrinting/Formatter.js:
        * Tools/PrettyPrinting/FormatterContentBuilder.js:
        * Tools/PrettyPrinting/codemirror.css:
        (.CodeMirror-scrollbar-filler):
        (.CodeMirror-gutters):
        (.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler):
        (.CodeMirror-widget):
        * Tools/PrettyPrinting/codemirror.js:
        (window.CodeMirror):
        (window.CodeMirror.):
        (.do):
        (moveVisually):
        * Tools/PrettyPrinting/css.js:
        (.):
        (CodeMirror):
        * Tools/PrettyPrinting/javascript.js:
        (.):
        * UserInterface/External/CodeMirror/codemirror.css:
        (.CodeMirror-widget):
        * UserInterface/External/CodeMirror/codemirror.js:
        (window.CodeMirror):
        (window.CodeMirror.):
        * UserInterface/External/CodeMirror/coffeescript.js:
        * UserInterface/External/CodeMirror/comment.js:
        (.):
        * UserInterface/External/CodeMirror/css.js:
        (.):
        (CodeMirror):
        * UserInterface/External/CodeMirror/javascript.js:
        (.):
        * UserInterface/External/CodeMirror/matchbrackets.js:
        (.):
        * UserInterface/External/CodeMirror/sql.js:
        * UserInterface/External/CodeMirror/xml.js:

2013-07-12  Timothy Hatcher  <timothy@apple.com>

        Update CodeMirror to 7f560afa1c (3.14+).

        https://bugs.webkit.org/show_bug.cgi?id=118605

        Reviewed by Sam Weinig.

        * Tools/PrettyPrinting/CodeMirrorFormatters.js:
        * Tools/PrettyPrinting/Formatter.js:
        * Tools/PrettyPrinting/FormatterContentBuilder.js:
        * Tools/PrettyPrinting/codemirror.css:
        * Tools/PrettyPrinting/codemirror.js:
        * Tools/PrettyPrinting/css.js:
        * Tools/PrettyPrinting/javascript.js:
        * UserInterface/External/CodeMirror/codemirror.css:
        * UserInterface/External/CodeMirror/codemirror.js:
        * UserInterface/External/CodeMirror/coffeescript.js:
        * UserInterface/External/CodeMirror/comment.js:
        * UserInterface/External/CodeMirror/css.js:
        * UserInterface/External/CodeMirror/javascript.js:
        * UserInterface/External/CodeMirror/matchbrackets.js:
        * UserInterface/External/CodeMirror/sql.js:
        * UserInterface/External/CodeMirror/xml.js:

2013-07-12  Seokju Kwon  <seokju.kwon@gmail.com>

        Web Inspector: Pass null for sidebarPanels and role in WebInspector.Sidebar()
        https://bugs.webkit.org/show_bug.cgi?id=118589

        Reviewed by Timothy Hatcher.

        sidebarPanels : It is necessary to get correct argument after r152141.
        Without this, error messages can be displayed.
        role : Could pass null for it since default value is "group".

        * UserInterface/Main.js:
        (WebInspector.contentLoaded):

2013-07-03  Timothy Hatcher  <timothy@apple.com>

        Guard remaining calls to decodeURIComponent with a try/catch.

        https://bugs.webkit.org/show_bug.cgi?id=118371

        Reviewed by Joseph Pecoraro.

        * UserInterface/Main.js:
        (WebInspector.displayNameForURL):
        (WebInspector.updateWindowTitle):
        * UserInterface/Utilities.js:
        (arrayResult):
        (queryString):

2013-07-03  Jessie Berlin  <jberlin@apple.com>

        Ran update-webkit-localizable-strings.

        Rubber-stamped by Joseph Pecoraro.

        * Localizations/en.lproj/localizedStrings.js:

2013-06-28  Dean Jackson  <dino@apple.com>

        Update Apple System fonts in auto-complete
        https://bugs.webkit.org/show_bug.cgi?id=118205
        <rdar://problem/14308488>

        Reviewed by Joseph Pecoraro.

        Update for the new Apple System font names, and remove some invalid entries.

        * UserInterface/CSSKeywordCompletions.js: General cleanup. Note that
        "apple-system-short-caption2" looks like it was accidentally omitted. It wasn't :)

2013-06-28  James Craig  <james@cookiecrook.com>

        Web Inspector: AX: VoiceOver speaks all inspector search fields as 'required'
        https://bugs.webkit.org/show_bug.cgi?id=118122

        Reviewed by Timothy Hatcher.

        Removed bogus "required" state, and switched :valid selector to use :not(:placeholder-shown)
        so that screen readers will not indicate a bogus :required/:invalid state to the user.
        Minor cosmetic difference blocked by http://webkit.org/b/118162

        * UserInterface/FilterBar.css:
        (.filter-bar > input[type="search"]:focus):
        (.filter-bar > input[type="search"]:not(:placeholder-shown)):
        * UserInterface/FilterBar.js:
        (WebInspector.FilterBar):
        * UserInterface/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel):
        * UserInterface/SearchBar.css:
        (.search-bar > input[type="search"]:focus):
        (.search-bar > input[type="search"]:not(:placeholder-shown)):
        * UserInterface/SearchBar.js:
        (WebInspector.SearchBar):

2013-06-27  James Craig  <james@cookiecrook.com>

        Web Inspector: AX: Add container ARIA roles (toolbar, main, labeled regions, etc.)
        so the layout is more discoverable to screen reader users
        https://bugs.webkit.org/show_bug.cgi?id=118104

        Reviewed by Timothy Hatcher.

        Made the basic layout (toolbar, sidebars, main) of the Web Inspector understandable
        and navigable with VoiceOver.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/ButtonNavigationItem.js:
        * UserInterface/CSSStyleDetailsSidebarPanel.js:
        * UserInterface/DashboardManager.js:
        * UserInterface/Main.js:
        * UserInterface/NavigationBar.js:
        * UserInterface/NavigationItem.js:
        * UserInterface/NavigationSidebarPanel.js:
        * UserInterface/RadioButtonNavigationItem.js:
        * UserInterface/Sidebar.js:
        * UserInterface/SidebarPanel.js:
        * UserInterface/Toolbar.js:

2013-06-27  James Craig  <james@cookiecrook.com>

        Web Inspector: AX: Console log of the Inspector does not announce output for screen readers
        https://bugs.webkit.org/show_bug.cgi?id=115976

        Reviewed by Timothy Hatcher.

        Main console log area (div.console-messages) is now an ARIA live region (role="log")
        so screen readers speak plain text updates.

        Also added contextual labels (e.g. input/output) but speech output verification of
        those is currently blocked by http://webkit.org/b/118096

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/ConsoleCommand.js:
        (WebInspector.ConsoleCommand.prototype.toMessageElement):
        * UserInterface/ConsoleCommandResult.js:
        (WebInspector.ConsoleCommandResult.prototype.toMessageElement):
        * UserInterface/LogContentView.css:
        (@media reader):
        * UserInterface/LogContentView.js:
        (WebInspector.LogContentView):


2013-06-27  Matthew Holden  <jftholden@yahoo.com>

        Web Inspector: Display color picker in popover on color swatch click
        https://bugs.webkit.org/show_bug.cgi?id=117919

        Reviewed by Timothy Hatcher.

        Includes fixes from second code review.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/CSSColorPicker.css: Added.
        (.colorpicker-container):
        (.colorpicker-fill-parent):
        (.colorpicker-top):
        (.colorpicker-color):
        (.colorpicker-bottom span):
        (.colorpicker-text):
        (.colorpicker-color-text-value):
        (.colorpicker-hue):
        (.colorpicker-fill):
        (.colorpicker-range-container):
        (.colorpicker-range-container *):
        (.colorpicker-range-container label):
        (.colorpicker-range-container input):
        (.colorpicker-saturation):
        (.colorpicker-value):
        (.colorpicker-dragger):
        (.colorpicker-slider):
        (.colorpicker-container .swatch):
        (.colorpicker-container .swatch-inner):
        * UserInterface/CSSColorPicker.js: Added.
        (WebInspector.CSSColorPicker.consume):
        (WebInspector.CSSColorPicker.move):
        (WebInspector.CSSColorPicker.start):
        (WebInspector.CSSColorPicker.stop):
        (WebInspector.CSSColorPicker.makeDraggable):
        (WebInspector.CSSColorPicker.hueDrag):
        (WebInspector.CSSColorPicker.colorDragStart):
        (WebInspector.CSSColorPicker.colorDrag):
        (WebInspector.CSSColorPicker.alphaDrag):
        (WebInspector.CSSColorPicker.colorSwatchClicked):
        (WebInspector.CSSColorPicker):
        (WebInspector.CSSColorPicker.prototype.get element):
        (WebInspector.CSSColorPicker.prototype.set color):
        (WebInspector.CSSColorPicker.prototype.get color):
        (WebInspector.CSSColorPicker.prototype.get outputColorFormat):
        (WebInspector.CSSColorPicker.prototype.get colorHueOnly):
        (WebInspector.CSSColorPicker.prototype.set displayText):
        (WebInspector.CSSColorPicker.prototype.shown):
        (WebInspector.CSSColorPicker.prototype._updateHelperLocations):
        (WebInspector.CSSColorPicker.prototype._updateDisplay):
        (WebInspector.CSSColorPicker.hsvaToRGBA):
        (WebInspector.CSSColorPicker.rgbaToHSVA):
        * UserInterface/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype.didDismissPopover):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype.):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype.event.newColorText.colorTextMarker):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype.event.newColorText):
        * UserInterface/Main.html:

2013-06-26  Antoine Quint  <graouts@apple.com>

        Web Inspector: stepping through while paused in debugger makes a popover appear
        https://bugs.webkit.org/show_bug.cgi?id=117994

        There is no obvious need to call tokenTrackingControllerNewHighlightCandidate when the
        active call frame changes and it leads to an extraneous display of the popover.

        Reviewed by Timothy Hatcher.

        * UserInterface/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameDidChange):

2013-06-24  Antoine Quint  <graouts@apple.com>

        Web Inspector: WebInspector.displayNameForURL() failure prevents DOM inspection
        https://bugs.webkit.org/show_bug.cgi?id=117927

        Handle possible mis-encoded URI fragments passed to decodeURIComponent() which
        could prevent inspection of the DOM.

        Reviewed by Timothy Hatcher.

        * UserInterface/Main.js:
        (WebInspector.displayNameForURL):

2013-06-17  Darin Adler  <darin@apple.com>

        Sort all the Xcode project files
        https://bugs.webkit.org/show_bug.cgi?id=117696

        Reviewed by Anders Carlsson.

        * WebInspectorUI.xcodeproj/project.pbxproj: Ran the sort-Xcode-project-file script.

2013-06-21  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Uncaught exception when pretty printing WebInspector.Script
        https://bugs.webkit.org/show_bug.cgi?id=117893

        This was an issue with an earlier refactoring. The sourceCode is a Script,
        so replace the non-existent local variable "script" with "this._sourceCode".

        Reviewed by Timothy Hatcher.

        * UserInterface/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor.prototype.textEditorUpdatedFormatting):

2013-06-21  Timothy Hatcher  <timothy@apple.com>

        Stop removing and re-adding breakpoints from the backend on reload.

        On reload the sourceCode for breakpoints are nulled out, which fires DisplayLocationDidChange.
        Then the sourceCode is reassociated, firing DisplayLocationDidChange again. In these cases we
        don't need to update the backend, since nothing really changed.

        https://bugs.webkit.org/show_bug.cgi?id=117877

        Reviewed by Joseph Pecoraro.

        * UserInterface/DebuggerManager.js:
        (WebInspector.DebuggerManager.prototype._breakpointDisplayLocationDidChange): Return early when
        _ignoreBreakpointDisplayLocationDidChangeEvent is true.
        (WebInspector.DebuggerManager.prototype.reset): Set _ignoreBreakpointDisplayLocationDidChangeEvent.
        (WebInspector.DebuggerManager.prototype._associateBreakpointsWithSourceCode): Ditto.

2013-06-19  Antoine Quint  <graouts@apple.com>

        Web Inspector: Copying array or object output does not contain values
        https://bugs.webkit.org/show_bug.cgi?id=117669

        ConsoleCommandResult was overriding toClipboardString() but wasn't using the complex code
        in ConsoleMessageImpl's toClipboardString() to provide a nicely formatted output for objects.
        We now use a "clipboarPrefixString" property to customize the prefix used in the clipboard
        and, additionally, only use that prefix if we're copying more than a single message since it's
        the only situation where it's useful to have the ">" or "<" prefix shown. Console messages with
        a log level always print the level and when saving the console log using Cmd+S, all messages
        contain their prefix as well.

        Reviewed by Timothy Hatcher.

        * UserInterface/ConsoleCommand.js:
        (WebInspector.ConsoleCommand.prototype.toClipboardString):
        Handle the new isPrefixOptional argument.

        * UserInterface/ConsoleCommandResult.js:
        (WebInspector.ConsoleCommandResult.prototype.get clipboarPrefixString):
        Provide a custom "< " prefix and set "enforcesClipboardPrefixString" to false such that
        the prefix isn't printed out in situations when it may not.

        * UserInterface/ConsoleMessageImpl.js:
        Set "enforcesClipboardPrefixString" to true since we always want to log the log level
        prefix in all situations.

        (WebInspector.ConsoleMessageImpl.prototype.get clipboarPrefixString):
        Implement this new getter to return our clipboard string such that subclasses may
        customize it.

        (WebInspector.ConsoleMessageImpl.prototype.toClipboardString):
        Take into account both isPrefixOptional and the "enforcesClipboardPrefixString" property
        to only log the prefix if necessary.

        * UserInterface/LogContentView.js:
        (WebInspector.LogContentView.prototype._formatMessagesAsData):
        Make the logging of prefix optional when we have a single message selected and we're
        not saving via Cmd+S.

2013-06-18  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Infrequent uncaught exception with debugger popovers breaks inspector
        https://bugs.webkit.org/show_bug.cgi?id=117755

        Create the ZERO_SIZE and ZERO_RECT objects after we've setup the Size
        and Rect prototypes, so they get the expected methods. We then need to
        handle the ZERO_RECT case better, and not attempt to draw a background
        in a canvas with a 0 size, which would produce an exception.

        Reviewed by Timothy Hatcher.

        * UserInterface/Geometry.js:
        * UserInterface/Popover.js:
        (WebInspector.Popover.prototype._update):

2013-06-18  Timothy Hatcher  <timothy@apple.com>

        If the tree outline is processing a selection currently, then don't change the selection.

        This is needed to allow breakpoints tree elements to be selected without jumping back to
        selecting the resource tree element.

        https://bugs.webkit.org/show_bug.cgi?id=117746

        Reviewed by Joseph Pecoraro.

        * UserInterface/Main.js:
        (WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar):
        * UserInterface/TreeOutline.js:
        (TreeElement.prototype.select):

2013-06-18  Timothy Hatcher  <timothy@apple.com>

        Update breakpoints to match Xcode 5.

        This updates the breakpoint images, line colors, and moves breakpoints toggle button
        to the Debugger sidebar navigation bar.

        https://bugs.webkit.org/show_bug.cgi?id=117723

        Reviewed by Joseph Pecoraro.

        * Localizations/en.lproj/localizedStrings.js: Updated.
        * UserInterface/DebuggerSidebarPanel.css: Removed custom toggle button rules.
        * UserInterface/DebuggerSidebarPanel.js:
        (WebInspector.DebuggerSidebarPanel):
        (WebInspector.DebuggerSidebarPanel.prototype._breakpointsToggleButtonClicked):
        * UserInterface/Images/Breakpoint.png: Updated.
        * UserInterface/Images/Breakpoints.pdf: Added.
        * UserInterface/Images/Breakpoint@2x.png: Updated.
        * UserInterface/Images/BreakpointButton.pdf: Updated.
        * UserInterface/Images/BreakpointInactive.png: Updated.
        * UserInterface/Images/BreakpointInactive@2x.png: Updated.
        * UserInterface/Images/BreakpointInactiveButton.pdf: Updated.
        * UserInterface/Images/InstructionPointer.png: Updated.
        * UserInterface/Images/InstructionPointer@2x.png: Updated.
        * UserInterface/SourceCodeTextEditor.css:
        (.source-code.text-editor > .CodeMirror .error): Updated background-color and removed box-shadow.
        (.source-code.text-editor > .CodeMirror .warning): Ditto.
        * UserInterface/TextEditor.css:
        (.text-editor > .CodeMirror .has-breakpoint .CodeMirror-linenumber::before): Changed left position to 0.
        (.text-editor > .CodeMirror .execution-line .CodeMirror-linenumber::after): Updated position.
        (.text-editor > .CodeMirror .execution-line): Updated background-color and removed box-shadow.

2013-06-13  Joseph Pecoraro  <pecoraro@apple.com>

        <http://webkit.org/b/117615> Web Inspector: JS PrettyPrinting Should have space between "do" and "{"

        Reviewed by Timothy Hatcher.

        * UserInterface/CodeMirrorFormatters.js:

2013-06-13  Joseph Pecoraro  <pecoraro@apple.com>

        <http://webkit.org/b/117612> Web Inspector: "Search Resource Content" should cancel when I remove all text search text

        Reviewed by Timothy Hatcher.

        * UserInterface/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel):
        (WebInspector.ResourceSidebarPanel.prototype._searchFieldInput):

== Rolled over to ChangeLog-2013-06-11 ==