ChangeLog   [plain text]


2015-01-28  Matthew Hanson  <matthew_hanson@apple.com>

        Merge r178768. rdar://problem/19617631

    2015-01-20  Joseph Pecoraro  <pecoraro@apple.com>

            Web Inspector: Expanding event objects in console shows undefined for most values, it should have real values
            https://bugs.webkit.org/show_bug.cgi?id=137306

            Reviewed by Timothy Hatcher.

            When first expanding an object, show all the object's own properties and any
            getter properties that may be on its prototype chain. Now, we only fetch
            own properties, for __proto__ properties.

            * UserInterface/Protocol/RemoteObject.js:
            (WebInspector.RemoteObject.prototype.getOwnProperties):
            (WebInspector.RemoteObject.prototype.getOwnAndGetterProperties):
            (WebInspector.RemoteObject.prototype.getAllProperties):
            (WebInspector.RemoteObject.prototype.get hasChildren): Deleted.
            * UserInterface/Views/ObjectPropertiesSection.js:
            (WebInspector.ObjectPropertiesSection):
            (WebInspector.ObjectPropertiesSection.prototype.update):
            (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):

2014-11-18  Dana Burkart  <dburkart@apple.com>

        Merge r175763. rdar://problem/19005901

    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-08-28  Lucas Forschler  <lforschler@apple.com>

        Merge r173015

    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-28  Lucas Forschler  <lforschler@apple.com>

        Merge r173010

    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-25  Lucas Forschler  <lforschler@apple.com>

        Merge r172929

    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-19  Dana Burkart  <dburkart@apple.com>

        Merge r172689. <rdar://problem/18040028>

    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-19  Dana Burkart  <dburkart@apple.com>

        Merge r172682. <rdar://problem/18038767>

    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-19  Dana Burkart  <dburkart@apple.com>

        Merge r172662. <rdar://problem/17971908>

    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-19  Dana Burkart  <dburkart@apple.com>

        Merge r172650. <rdar://problem/18034356>

    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-19  Dana Burkart  <dburkart@apple.com>

        Merge r172640. <rdar://problem/18025668>

    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-19  Dana Burkart  <dburkart@apple.com>

        Merge r172617. <rdar://problem/18023242>

    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-19  Dana Burkart  <dburkart@apple.com>

        Merge r172615. <rdar://problem/18024530>

    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-19  Dana Burkart  <dburkart@apple.com>

        Merge r172606

    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-19  Dana Burkart  <dburkart@apple.com>

        Merge r172601

    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  Lucas Forschler  <lforschler@apple.com>

        Merge r172533

    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  Lucas Forschler  <lforschler@apple.com>

        Merge r172531

    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  Lucas Forschler  <lforschler@apple.com>

        Merge r172530

    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  Lucas Forschler  <lforschler@apple.com>

        Merge r172527

    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  Lucas Forschler  <lforschler@apple.com>

        Merge r172526

    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  Lucas Forschler  <lforschler@apple.com>

        Merge r172525

    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-13  Lucas Forschler  <lforschler@apple.com>

        Merge r172515

    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-13  Lucas Forschler  <lforschler@apple.com>

        Merge r172488

    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  Lucas Forschler  <lforschler@apple.com>

        Merge r172436

    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  Lucas Forschler  <lforschler@apple.com>

        Merge r172435

    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  Lucas Forschler  <lforschler@apple.com>

        Merge r172432

    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-12  Lucas Forschler  <lforschler@apple.com>

        Merge r172399

    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-12  Lucas Forschler  <lforschler@apple.com>

        Merge r172379

    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-12  Lucas Forschler  <lforschler@apple.com>

        Merge r172397

    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-12  Lucas Forschler  <lforschler@apple.com>

        Merge r172262

    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-12  Lucas Forschler  <lforschler@apple.com>

        Merge r172336

    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-12  Lucas Forschler  <lforschler@apple.com>

        Merge r172333

    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-11  Lucas Forschler  <lforschler@apple.com>

        Merge r172403

    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-07  Dana Burkart <dburkart@apple.com>

        Merge r172312

    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  Dana Burkart <dburkart@apple.com>

        Merge r172313

    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  Dana Burkart <dburkart@apple.com>

        Merge r172289

    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  Dana Burkart <dburkart@apple.com>

        Merge r172285

    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  Dana Burkart <dburkart@apple.com>

        Merge r172263

    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  Dana Burkart <dburkart@apple.com>

        Merge r172241

      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  Dana Burkart <dburkart@apple.com>

        Merge r172217

    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-07  Dana Burkart <dburkart@apple.com>

        Merge r172202

    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-05  Lucas Forschler  <lforschler@apple.com>

        Merge r171940

    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-08-05  Lucas Forschler  <lforschler@apple.com>

        Merge r171908

    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-08-05  Lucas Forschler  <lforschler@apple.com>

        Merge r171894

    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-08-05  Lucas Forschler  <lforschler@apple.com>

        Merge r171885

    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-08-05  Lucas Forschler  <lforschler@apple.com>

        Merge r171881

    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-08-05  Lucas Forschler  <lforschler@apple.com>

        Merge r171869

    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-08-05  Lucas Forschler  <lforschler@apple.com>

        Merge r171866

    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-08-05  Lucas Forschler  <lforschler@apple.com>

        Merge r171866

    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  Lucas Forschler  <lforschler@apple.com>

        Merge r171790

    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-30  Lucas Forschler  <lforschler@apple.com>

        Merge r171787

    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-30  Lucas Forschler  <lforschler@apple.com>

        Merge r171786

    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-30  Lucas Forschler  <lforschler@apple.com>

        Merge r171783

    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-29  Lucas Forschler  <lforschler@apple.com>

        Merge r171721

    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-29  Lucas Forschler  <lforschler@apple.com>

        Merge r171720

    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-29  Lucas Forschler  <lforschler@apple.com>

        Merge r171716

    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  Matthew Hanson  <matthew_hanson@apple.com>

        Merge r171645. <rdar://problem/17818693>

    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-22  Dana Burkart  <dburkart@apple.com>

        Merge r171312.

    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-22  Dana Burkart  <dburkart@apple.com>

        Merge r171227.

    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 ==