ChangeLog-2015-11-21   [plain text]


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

        Web Inspector: Timeline does not immediately update current time after switching tabs while recording
        https://bugs.webkit.org/show_bug.cgi?id=151528

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/TimelineRecordingContentView.js:
        (WebInspector.TimelineRecordingContentView.prototype.shown):
        Provide a number so that _startUpdatingCurrentTime doesn't decide
        to wait until the next event to update current time.

        (WebInspector.TimelineRecordingContentView.prototype._update):
        When switching tabs we stop updating and hit this code. However
        we want to keep _lastUpdateTimestamp so that if we switch back
        to the tab we can re-compute the current time. So don't clear it
        in cases where the view was hidden, as it might need to use
        it when it is shown again.

2015-11-20  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Remove "Show only resources with breakpoints" filter button
        https://bugs.webkit.org/show_bug.cgi?id=151517

        Reviewed by Timothy Hatcher.

        Removed filter button in preparation for https://bugs.webkit.org/show_bug.cgi?id=151119.

        * UserInterface/Views/DebuggerSidebarPanel.js:
        (WebInspector.DebuggerSidebarPanel.showResourcesWithBreakpointsOnlyFilterFunction): Deleted.
        (WebInspector.DebuggerSidebarPanel): Deleted.

2015-11-20  Devin Rousso  <dcrousso+webkit@gmail.com>

        Web Inspector: Add support for Gradients in the Visual sidebar background editor
        https://bugs.webkit.org/show_bug.cgi?id=150494

        Reviewed by Timothy Hatcher.

        Allows the editors in the Visual sidebar Background Style section to
        work with gradients and data URIs.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Controllers/CodeMirrorGradientEditingController.css: Deleted.
        Some styling was reused in VisualStyleBackgroundPicker.css.

        * UserInterface/Controllers/CodeMirrorGradientEditingController.js:
        (WebInspector.CodeMirrorGradientEditingController):
        (WebInspector.CodeMirrorGradientEditingController.prototype.popoverWillPresent):
        (WebInspector.CodeMirrorGradientEditingController.prototype.popoverDidPresent):
        (WebInspector.CodeMirrorGradientEditingController.prototype._gradientEditorGradientChanged):
        (WebInspector.CodeMirrorGradientEditingController.prototype.handleEvent): Deleted.
        (WebInspector.CodeMirrorGradientEditingController.prototype.gradientSliderStopsDidChange): Deleted.
        (WebInspector.CodeMirrorGradientEditingController.prototype.gradientSliderStopWasSelected): Deleted.
        (WebInspector.CodeMirrorGradientEditingController.prototype.dragToAdjustControllerWasAdjustedByAmount): Deleted.
        (WebInspector.CodeMirrorGradientEditingController.prototype._handleInputEvent): Deleted.
        (WebInspector.CodeMirrorGradientEditingController.prototype._angleInputValueDidChange): Deleted.
        (WebInspector.CodeMirrorGradientEditingController.prototype._handleChangeEvent): Deleted.
        (WebInspector.CodeMirrorGradientEditingController.prototype._colorPickerColorChanged): Deleted.
        (WebInspector.CodeMirrorGradientEditingController.prototype._updateCSSClassForGradientType): Deleted.
        Reworked gradient editor popup into WebInspector.GradientEditor.

        * UserInterface/Main.html:
        * UserInterface/Models/Gradient.js:
        (WebInspector.Gradient.fromString):
        (WebInspector.Gradient.stopsWithComponents):
        (WebInspector.LinearGradient.linearGradientWithComponents):
        Removed console.error statements as they didn't do anything but clog the console.

        * UserInterface/Views/GradientEditor.css: Added.
        (.gradient-editor):
        (.gradient-editor.radial-gradient):
        (.gradient-editor.editing-color):
        (.gradient-editor.radial-gradient.editing-color):
        (.gradient-editor > .gradient-type-select):
        (.gradient-editor > .gradient-slider):
        (.gradient-editor > .color-picker):
        (.gradient-editor > .color-picker > .slider):
        (.gradient-editor > .color-picker > .brightness):
        (.gradient-editor > .color-picker > .opacity):
        (.gradient-editor > .gradient-angle):
        (.gradient-editor.radial-gradient > .gradient-angle):
        (.gradient-editor > .gradient-angle > input):

        * UserInterface/Views/GradientEditor.js: Added.
        (WebInspector.GradientEditor):
        (WebInspector.GradientEditor.prototype.get element):
        (WebInspector.GradientEditor.prototype.set gradient):
        (WebInspector.GradientEditor.prototype.get gradient):
        (WebInspector.GradientEditor.prototype.gradientSliderStopsDidChange):
        (WebInspector.GradientEditor.prototype.gradientSliderStopWasSelected):
        (WebInspector.GradientEditor.prototype.dragToAdjustControllerWasAdjustedByAmount):
        (WebInspector.GradientEditor.prototype._updateCSSClassForGradientType):
        (WebInspector.GradientEditor.prototype._gradientTypeChanged):
        (WebInspector.GradientEditor.prototype._colorPickerColorChanged):
        (WebInspector.GradientEditor.prototype._angleChanged):
        (WebInspector.GradientEditor.prototype._angleInputValueDidChange):
        New standalone editor for CSS Gradients.

        * UserInterface/Views/VisualStyleBackgroundPicker.css: Added.
        (.visual-style-property-container.background-picker > .visual-style-property-value-container):
        (.visual-style-property-container.background-picker > .visual-style-property-value-container > .color-gradient-swatch):
        (.visual-style-property-container.background-picker > .visual-style-property-value-container > .color-gradient-swatch:hover):
        (.visual-style-property-container.background-picker > .visual-style-property-value-container > .color-gradient-swatch:active):
        (.visual-style-property-container.background-picker > .visual-style-property-value-container > .color-gradient-swatch > span):
        (.visual-style-property-container.background-picker > .visual-style-property-value-container.gradient-value > .color-gradient-swatch):
        (.visual-style-property-container.background-picker > .visual-style-property-value-container.gradient-value > .color-gradient-swatch + .value-input):
        (.visual-style-property-container.background-picker > .visual-style-property-value-container > .value-input):
        (.visual-style-property-container.background-picker > .visual-style-property-value-container > .value-input[disabled]):
        (.visual-style-property-container.background-picker > .visual-style-property-value-container > .value-type-picker-select):

        * UserInterface/Views/VisualStyleBackgroundPicker.js: Added.
        (WebInspector.VisualStyleBackgroundPicker):
        (WebInspector.VisualStyleBackgroundPicker.prototype.get value):
        (WebInspector.VisualStyleBackgroundPicker.prototype.set value):
        (WebInspector.VisualStyleBackgroundPicker.prototype.get synthesizedValue):
        (WebInspector.VisualStyleBackgroundPicker.prototype.parseValue):
        (WebInspector.VisualStyleBackgroundPicker.prototype._updateValueInput):
        (WebInspector.VisualStyleBackgroundPicker.prototype._updateGradientSwatch):
        (WebInspector.VisualStyleBackgroundPicker.prototype._gradientSwatchClicked):
        (WebInspector.VisualStyleBackgroundPicker.prototype._gradientEditorGradientChanged):
        (WebInspector.VisualStyleBackgroundPicker.prototype._valueInputValueChanged):
        (WebInspector.VisualStyleBackgroundPicker.prototype._keywordSelectMouseDown):
        (WebInspector.VisualStyleBackgroundPicker.prototype._handleKeywordChanged):
        (WebInspector.VisualStyleBackgroundPicker.prototype._createValueOptions):
        (WebInspector.VisualStyleBackgroundPicker.prototype._addAdvancedValues):
        (WebInspector.VisualStyleBackgroundPicker.prototype._removeAdvancedValues):
        (WebInspector.VisualStyleBackgroundPicker.prototype._toggleTabbingOfSelectableElements):
        Visual property editor for the CSS background-image property. Supports
        limited keywords, as well as url() and gradients.

        * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
        (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.set value):
        Fixed regular expression parsing to not match commas inside parenthesis.

        * UserInterface/Views/VisualStyleDetailsPanel.js:
        (WebInspector.VisualStyleDetailsPanel.prototype._populateBackgroundStyleSection):

        * UserInterface/Views/VisualStylePropertyEditorLink.css:
        (.visual-style-property-editor-link:not(.link-all) > .visual-style-property-editor-link-border):
        Fixed spacing of link line.

        * UserInterface/Views/VisualStyleURLInput.js: Removed.
        Reworked into VisualStyleBackgroundPicker.js.

2015-11-19  Brian Burg  <bburg@apple.com>

        Web Inspector: yank/kill shortcuts (CTRL+Y, K) don't work in Console / QuickConsole
        https://bugs.webkit.org/show_bug.cgi?id=151157

        Reviewed by Joseph Pecoraro.

        CodeMirror maintains its own editor buffer and implements its own
        `killLine` command but doesn't implement the yank command. So, text
        that is "killed" with CTRL-k inside a CodeMirror instance isn't
        added to WebCore's kill ring. Subsequent yank commands won't match
        up with the killed text, instead returning text from a prior kill
        that was handled by WebCore (i.e., in a contenteditable or form input).

        This patch adds a host function so that the Inspector frontend can
        append "missed" killed text to WebCore's kill ring. Subsequent
        yanks handled by WebCore will then match the text killed by CodeMirror.

        In the frontend, we implement our own key binding handler for
        CTRL-k that captures killed text, detects whether the kill
        should start a new sequence, and sends it to WebCore. Because this
        involves several flags and listeners, and we want this behavior for
        all editable CodeMirror instances, the text kill handling is
        factored into its own CodeMirrorTextKillController.

        To add this behavior to all instances, this patch centralizes the
        code that constructs a base CodeMirror instance, and attaches the
        CodeMirrorTextKillController to all instances. The shortcut
        does nothing when its CodeMirror instance is read-only.

        The particulars of the kill controller are documented inline.

        No new tests, because we need to use both InspectorFrontendHost
        and TestRunner.execCommand, but the latter is not available in
        the inspector context where we would need to simulate a kill.

        * UserInterface/Controllers/CodeMirrorTextKillController.js: Added.
        (WebInspector.CodeMirrorTextKillController):
        (WebInspector.CodeMirrorTextKillController.prototype._handleKillLine):
        (WebInspector.CodeMirrorTextKillController.prototype._handleTextChange):
        (WebInspector.CodeMirrorTextKillController.prototype._handleEditorBlur):
        (WebInspector.CodeMirrorTextKillController.prototype._handleSelectionOrCaretChange):
        * UserInterface/Main.html:
        * UserInterface/Protocol/InspectorFrontendHostStub.js:
        (window.InspectorFrontendHost.WebInspector.InspectorFrontendHostStub.prototype.killText): Add a stub to avoid check-before-use.
        * UserInterface/Views/BreakpointActionView.js:
        (WebInspector.BreakpointActionView.prototype._updateBody):
        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor):
        * UserInterface/Views/CodeMirrorEditor.js: Added.
        (WebInspector.CodeMirrorEditor.create):
        (WebInspector.CodeMirrorEditor):
        * UserInterface/Views/ConsolePrompt.js:
        (WebInspector.ConsolePrompt):
        * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
        * UserInterface/Views/TextEditor.js:
        (WebInspector.TextEditor):

2015-11-19  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Convert remaining timeline views to use View base class
        https://bugs.webkit.org/show_bug.cgi?id=151410

        Reviewed by Timothy Hatcher.

        Converted timeline views to use View base class. Mostly mechanical
        changes (override View.prototype.layout, use let in more places).

        * UserInterface/Views/LayoutTimelineOverviewGraph.js:
        (WebInspector.LayoutTimelineOverviewGraph.prototype.layout):
        (WebInspector.LayoutTimelineOverviewGraph.prototype.updateLayout): Deleted.

        * UserInterface/Views/NetworkTimelineOverviewGraph.js:
        (WebInspector.NetworkTimelineOverviewGraph.prototype.layout.createBar):
        (WebInspector.NetworkTimelineOverviewGraph.prototype.layout):
        (WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout.createBar): Deleted.
        (WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout): Deleted.

        * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:
        (WebInspector.RenderingFrameTimelineOverviewGraph.prototype.layout):
        (WebInspector.RenderingFrameTimelineOverviewGraph.prototype.updateLayout): Deleted.

        * UserInterface/Views/ScriptTimelineOverviewGraph.js:
        (WebInspector.ScriptTimelineOverviewGraph.prototype.layout.createBar):
        (WebInspector.ScriptTimelineOverviewGraph.prototype.layout):
        (WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout.createBar): Deleted.
        (WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout): Deleted.

        * UserInterface/Views/TimelineOverview.js:
        Extend View.
        (WebInspector.TimelineOverview):
        Add ruler as a subview.
        (WebInspector.TimelineOverview.prototype.set startTime):
        (WebInspector.TimelineOverview.prototype.set currentTime):
        (WebInspector.TimelineOverview.prototype.set secondsPerPixel):
        (WebInspector.TimelineOverview.prototype.set endTime):
        (WebInspector.TimelineOverview.prototype.set scrollStartTime):
        (WebInspector.TimelineOverview.prototype.updateLayoutIfNeeded):
        (WebInspector.TimelineOverview.prototype.get timelineRuler):
        (WebInspector.TimelineOverview.prototype.canShowTimeline):
        (WebInspector.TimelineOverview.prototype.layout):
        (WebInspector.TimelineOverview.prototype._handleWheelEvent):
        (WebInspector.TimelineOverview._handleGestureStart):
        (WebInspector.TimelineOverview.prototype._handleGestureChange):
        (WebInspector.TimelineOverview.prototype._timelineAdded):
        (WebInspector.TimelineOverview.prototype._timelineRemoved):
        (WebInspector.TimelineOverview.prototype.get element): Deleted.
        (WebInspector.TimelineOverview.prototype.updateLayout): Deleted.

        * UserInterface/Views/TimelineOverviewGraph.js:
        Extend view.
        (WebInspector.TimelineOverviewGraph):
        (WebInspector.TimelineOverviewGraph.prototype.needsLayout):
        (WebInspector.TimelineOverviewGraph.prototype._needsSelectedRecordLayout):
        (WebInspector.TimelineOverviewGraph.prototype.updateLayout): Deleted.
        (WebInspector.TimelineOverviewGraph.prototype.updateLayoutIfNeeded): Deleted.
        (WebInspector.TimelineOverviewGraph.prototype._needsSelectedRecordLayout.update): Deleted.

        * UserInterface/Views/TimelineRecordingContentView.js:
        (WebInspector.TimelineRecordingContentView):
        Add overview as a subview.
        (WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
        Use View.prototype.replaceSubview to swap overview graphs.

2015-11-18  Brian Burg  <bburg@apple.com>

        Web Inspector: Storage tab shouldn't hide cookies for .example.com when inspected page is foo.bar.example.com
        https://bugs.webkit.org/show_bug.cgi?id=151408

        Reviewed by Timothy Hatcher.

        The regex should allow multiple subdomains to match a cookie for domain .example.com.

        Test: inspector/page/filter-cookies-for-domain.html

        * UserInterface/Models/CookieStorageObject.js:
        (WebInspector.CookieStorageObject.cookieDomainMatchesResourceDomain):

            Also make the group non-capturing. We don't use the match.

        (WebInspector.CookieStorageObject.prototype.saveIdentityToCookie):
        (WebInspector.CookieStorageObject):
        * UserInterface/Test.html:

2015-11-18  Brian Burg  <bburg@apple.com>

        Web Inspector: move cookie url matching out of CookieStorageContentView and clean up some code
        https://bugs.webkit.org/show_bug.cgi?id=151424

        Reviewed by Timothy Hatcher.

        Move the code that decides whether a cookie matches a resource URL to a model class.
        This will make it possible to test this code easily without pulling Views into tests.

        * UserInterface/Models/CookieStorageObject.js:
        (WebInspector.CookieStorageObject.cookieMatchesResourceURL):
        (WebInspector.CookieStorageObject.cookieDomainMatchesResourceDomain):
        (WebInspector.CookieStorageObject.prototype.saveIdentityToCookie):
        (WebInspector.CookieStorageObject):
        * UserInterface/Views/CookieStorageContentView.js:
        (WebInspector.CookieStorageContentView.prototype.update): use Promises.
        (WebInspector.CookieStorageContentView.prototype._rebuildTable):
        (WebInspector.CookieStorageContentView.prototype._filterCookies):

            Use Array.filter() and Array.some() to express this logic more directly.

        (WebInspector.CookieStorageContentView.cookieMatchesResourceURL): Deleted.
        (WebInspector.CookieStorageContentView.cookieDomainMatchesResourceDomain): Deleted.
        (WebInspector.CookieStorageContentView.prototype.update.callback): Deleted.

2015-11-18  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Clear watch expressions button using wrong icon
        https://bugs.webkit.org/show_bug.cgi?id=151422

        Reviewed by Timothy Hatcher.

        Updated "clear" button to use trashcan image. This was broken by
        https://bugs.webkit.org/show_bug.cgi?id=151377.

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

2015-11-18  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Reduce synchronous view layouts
        https://bugs.webkit.org/show_bug.cgi?id=151058

        Reviewed by Timothy Hatcher.

        Replace calls to View.updateLayout with needsLayout, when a synchronous layout
        isn't absolutely necessary.

        * UserInterface/Models/BackForwardEntry.js:
        (WebInspector.BackForwardEntry.prototype.prepareToShow):

        * UserInterface/Views/ApplicationCacheFrameContentView.js:
        (WebInspector.ApplicationCacheFrameContentView.prototype.updateLayout): Deleted.
        View subclasses shouldn't override updateLayout.

        * UserInterface/Views/ButtonNavigationItem.js:
        (WebInspector.ButtonNavigationItem.prototype.set label):

        * UserInterface/Views/ContentBrowser.js:
        (WebInspector.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange):
        (WebInspector.ContentBrowser.prototype._currentContentViewDidChange):
        (WebInspector.ContentBrowser.prototype._contentViewNavigationItemsDidChange):

        * UserInterface/Views/DatabaseTableContentView.js:
        (WebInspector.DatabaseTableContentView.prototype._queryFinished):
        Just update DataGrid's layout, not the whole view. The grid is the only subview
        so the result is identical, but the intent is cleared this way.
        (WebInspector.DatabaseTableContentView.prototype.updateLayout): Deleted.
        View subclasses shouldn't override updateLayout.

        * UserInterface/Views/LogContentView.js:
        (WebInspector.LogContentView.prototype.didAppendConsoleMessageView):
        (WebInspector.LogContentView.prototype.promptDidChangeHeight): Deleted.
        Unused code.

        * UserInterface/Views/Sidebar.js:
        (WebInspector.Sidebar.prototype.set width):
        (WebInspector.Sidebar.prototype.set collapsed):

        * UserInterface/Views/TextResourceContentView.js:
        (WebInspector.TextResourceContentView.prototype._contentWillPopulate):
        Add TextEditor as a subview.
        (WebInspector.TextResourceContentView.prototype.updateLayout): Deleted.
        View subclasses shouldn't override updateLayout.


2015-11-18  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Probes sidebar panel sections should use NavigationBar
        https://bugs.webkit.org/show_bug.cgi?id=151373

        Reviewed by Brian Burg.

        Replaces image elements with a NavigationBar instance. The "Clear samples"
        button is disabled when no samples exist in the probe set.

        * Localizations/en.lproj/localizedStrings.js:
        New navigation item labels.

        * UserInterface/Models/ProbeSet.js:
        (WebInspector.ProbeSet.prototype._sampleCollected):
        Dispatch new event WebInspector.ProbeSet.Event.SampleAdded.

        * UserInterface/Views/DetailsSection.css:
        (.details-section > .header > .options > .navigation-bar):
        (.details-section > .header > .options > .navigation-bar > .item):
        Define consistent style for showing a NavigationBar inside the section header.

        * UserInterface/Views/DetailsSection.js:
        (WebInspector.DetailsSection):
        Add "options" class name in the base class.

        * UserInterface/Views/ProbeDetailsSidebarPanel.css:
        (.details-section.probe-set .options > :matches(.probe-remove, .probe-clear-samples, .probe-add)): Deleted.
        (.details-section.probe-set .options > .probe-clear-samples): Deleted.
        (.details-section.probe-set .options > .probe-remove): Deleted.
        (.details-section.probe-set .options > .probe-add): Deleted.
        Remove <img> button styles.

        * UserInterface/Views/ProbeSetDetailsSection.js:
        (WebInspector.ProbeSetDetailsSection):
        (WebInspector.ProbeSetDetailsSection.prototype._addProbeButtonClicked.createProbeFromEnteredExpression):
        (WebInspector.ProbeSetDetailsSection.prototype._addProbeButtonClicked):
        (WebInspector.ProbeSetDetailsSection.prototype._clearSamplesButtonClicked):
        (WebInspector.ProbeSetDetailsSection.prototype._probeSetSamplesChanged):
        Update "Clear samples" enabled state.
        (WebInspector.ProbeSetDetailsSection.prototype._probeSetHasSamples):
        Helper function to check if the probe set is empty.

2015-11-18  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Watch Expressions details section should use NavigationBar
        https://bugs.webkit.org/show_bug.cgi?id=151377

        Reviewed by Timothy Hatcher.

        Replaces image elements with a NavigationBar instance. The refresh and 
        clear buttons are disabled if no watch expressions exist.

        * Localizations/en.lproj/localizedStrings.js:
        New navigation item labels.

        * UserInterface/Views/ScopeChainDetailsSidebarPanel.css:
        (.details-section.watch-expressions .options > *): Deleted.
        (.details-section.watch-expressions .options > *:active): Deleted.
        (.details-section.watch-expressions .options > .watch-expression-add): Deleted.
        (.details-section.watch-expressions .options > .watch-expression-clear): Deleted.
        (.details-section.watch-expressions .options > .watch-expression-refresh): Deleted.
        Remove <img> button styles.

        * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
        (WebInspector.ScopeChainDetailsSidebarPanel):
        (WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpressionButtonClicked.presentPopoverOverTargetElement):
        Use the navigation item element.
        (WebInspector.ScopeChainDetailsSidebarPanel.prototype._updateWatchExpressionsNavigationBar):
        Enable/disable refresh and clear buttons.

2015-11-17  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Move Timeline creation into a recording
        https://bugs.webkit.org/show_bug.cgi?id=151367

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager.prototype._loadNewRecording): Deleted.
        * UserInterface/Models/Timeline.js:
        (WebInspector.Timeline.create):
        (WebInspector.Timeline.prototype.get type):
        (WebInspector.Timeline): Deleted.
        (WebInspector.Timeline.prototype.get recording): Deleted.
        * UserInterface/Models/TimelineRecording.js:
        (WebInspector.TimelineRecording):
        (WebInspector.TimelineRecording.prototype.get readonly):
        (WebInspector.TimelineRecording.prototype.unloaded):
        (WebInspector.TimelineRecording.prototype.reset):
        (WebInspector.TimelineRecording.prototype.isWritable): Deleted.
        * UserInterface/Views/TimelineOverview.js:
        (WebInspector.TimelineOverview):
        * UserInterface/Views/TimelineRecordingContentView.js:
        (WebInspector.TimelineRecordingContentView.prototype.shown):

2015-11-17  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Breakpoint condition field should use CodeMirror
        https://bugs.webkit.org/show_bug.cgi?id=151333

        Reviewed by Joseph Pecoraro.

        Updated breakpoint popover's condition field to use CodeMirror.

        * UserInterface/Controllers/BreakpointPopoverController.js:
        Removed keyboard shortcuts. Now handled by CodeMirror.
        (WebInspector.BreakpointPopoverController.prototype.completionControllerShouldAllowEscapeCompletion):
        Prevent handling of escape to allow tabbing to next element.
        (WebInspector.BreakpointPopoverController.prototype._createPopoverContent):
        Create CodeMirror instance.
        (WebInspector.BreakpointPopoverController.prototype._conditionCodeMirrorChanged):
        (WebInspector.BreakpointPopoverController.prototype._conditionCodeMirrorBeforeChange):
        Enforce single-line editor.
        (WebInspector.BreakpointPopoverController.prototype._conditionCodeMirrorEscapeOrEnterKey):
        (WebInspector.BreakpointPopoverController): Deleted.
        (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.editBreakpoint):
        Removed condition element select. CodeMirror sets focus when popover content is created.
        (WebInspector.BreakpointPopoverController.prototype._popoverConditionInputChanged): Deleted.
        Replaced by BreakpointPopoverController.prototype._conditionCodeMirrorChanged.
        (WebInspector.BreakpointPopoverController.prototype._popoverConditionInputKeyDown): Deleted.
        Replaced by BreakpointPopoverController.prototype._conditionCodeMirrorEscapeOrEnterKey.

        * UserInterface/Views/BreakpointPopoverController.css:
        (.edit-breakpoint-popover-condition):
        (.edit-breakpoint-popover-condition > .CodeMirror):
        (#edit-breakpoint-popover-condition): Deleted.
        Replace selector id with class, styled CodeMirror element to match original input element.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
        (.css-style-text-editor > .CodeMirror .CodeMirror-placeholder): Deleted.
        Moved common CodeMirror placeholder text style to CodeMirrorOverrides.css.

        * UserInterface/Views/CodeMirrorOverrides.css:
        (.CodeMirror .CodeMirror-placeholder):
        Add placeholder style.

2015-11-12  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Deleting a probe should remove probe breakpoint actions only.
        https://bugs.webkit.org/show_bug.cgi?id=151245

        Reviewed by Brian Burg.

        Fixed breakpoint action filter.

        * UserInterface/Models/Breakpoint.js:
        (WebInspector.Breakpoint.prototype.clearActions):
        Missing return in named function expression.

2015-11-12  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Auto-log inspect node selected elements to the console
        https://bugs.webkit.org/show_bug.cgi?id=151178

        Reviewed by Brian Burg.

        Auto-logging user selected elements to the console helps with
        quick use in the console. $0 is not very discoverable, and $n
        values are expendable. This also makes it convenient to use the
        inspect node toolbar search option to select a few different
        nodes and use each of them in the console without extra work.

        * UserInterface/Controllers/DOMTreeManager.js:
        (WebInspector.DOMTreeManager.prototype.inspectNodeObject.nodeAvailable):
        (WebInspector.DOMTreeManager.prototype.inspectNodeObject):
        Log selected nodes to the console. Treat this as a synthetic log that
        will not immediately open the console like normal evaluation results.

        * UserInterface/Controllers/JavaScriptLogViewController.js:
        (WebInspector.JavaScriptLogViewController.prototype.appendImmediateExecutionWithResult.saveResultCallback):
        (WebInspector.JavaScriptLogViewController.prototype.appendImmediateExecutionWithResult):
        (WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted.printResult):
        (WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted):
        Initialize ConsoleCommandResultMessage's synthetic properties.

        * UserInterface/Views/DOMTreeOutline.js:
        (WebInspector.DOMTreeOutline.prototype._populateContextMenu.logElement):
        (WebInspector.DOMTreeOutline.prototype._populateContextMenu):
        * UserInterface/Controllers/RuntimeManager.js:
        Create a global for the special "console" object group used in multiple places.

        * UserInterface/Models/ConsoleCommandResultMessage.js:
        (WebInspector.ConsoleCommandResultMessage):
        (WebInspector.ConsoleCommandResultMessage.prototype.get synthetic):
        Add a synthetic property.

        * UserInterface/Views/LogContentView.js:
        (WebInspector.LogContentView.prototype.didAppendConsoleMessageView):
        When the ConsoleResult is a synthetic result, do not auto-open the console.

2015-11-12  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: timeline event markers are added to overview even when not capturing a timeline recording
        https://bugs.webkit.org/show_bug.cgi?id=151166

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/TimelineRecording.js:
        (WebInspector.TimelineRecording.prototype.addEventMarker):
        Do not add event markers when not capturing. This would have resulted in more
        and more markers showing in the Timeline for page loads when the Timeline was
        not active. For example reloading when a non-Timeline tab was active.

2015-11-11  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Add Debug toolbar button to toggle InspectorBackend.dumpInspectorProtocolMessages
        https://bugs.webkit.org/show_bug.cgi?id=151175

        Reviewed by Brian Burg.

        Add debug UI and a way to toggle it on and off in non-production builds.
        To enable the debug UI use a keyboard shortcut in Inspector:
        Option+Shift+Command+D (Mac) or Option+Shift+Ctrl+D (Windows / Linux)

        The debug UI setting is a persistent setting, so those of use developing
        Web Inspector will turn it on and leave it on.

        Currently the only debug UI is a new toolbar button to toggle
        the frontend logging on or off.

        * Scripts/combine-resources.pl:
        (concatenateFiles):
        Exclude "Debug" files when combining resources for minification.

        * UserInterface/Main.html:
        Rename "Base/Bootstrap.js" to "Debug/Bootstrap" so that we can easily exclude it.

        * UserInterface/Base/Main.js:
        (WebInspector.contentLoaded):
        Only evaluate bootstrap functions if they exist.

        * UserInterface/Debug/Bootstrap.js: Renamed from Source/WebInspectorUI/UserInterface/Base/Bootstrap.js.
        (WebInspector.runBootstrapOperations):
        Add a debug setting, toolbar button, and keyboard shortcut.

2015-11-11  Brian Burg  <bburg@apple.com>

        Web Inspector: blank debugger tab when opening inspector on unvisited website
        https://bugs.webkit.org/show_bug.cgi?id=151149

        Reviewed by Joseph Pecoraro.

        When Inspector tries to show default content when initially showing a tab upon opening,
        there may not be any tree elements added to the navigation bar yet. In the case of an
        unvisited website, there will be no state restoration cookie to trigger deferred selection.
        So, showDefaultContentView finds no tree elements it can show, and the main view is blank.

        We can fix this by speculatively showing the first script/resource that's added to the tree
        if no content view is being shown. If a state restoration cookie exists, it will take priority
        over the default-displayed content view.

        * UserInterface/Views/DebuggerSidebarPanel.js:
        (WebInspector.DebuggerSidebarPanel.prototype._addResource):
        (WebInspector.DebuggerSidebarPanel.prototype._addScript):

2015-11-11  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Convert sidebars to use View base class
        https://bugs.webkit.org/show_bug.cgi?id=151057

        Reviewed by Timothy Hatcher.

        This patch makes Sidebar a subclass of View. Mostly mechanical changes and cleanup,
        such as adding navigation bars and panels as subviews, removing element getters,
        and replacing external properties with symbols.

        * UserInterface/Base/Main.js:
        Added sidebars to view hierarchy.

        * UserInterface/Views/DebuggerSidebarPanel.js:
        Add navigation bar as a subview.

        * UserInterface/Views/NetworkSidebarPanel.js:
        Add navigation bar as a subview.
        (WebInspector.NetworkSidebarPanel):
        (WebInspector.NetworkSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
        (WebInspector.NetworkSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
        (WebInspector.NetworkSidebarPanel.prototype.treeElementAddedOrChanged):
        (WebInspector.NetworkSidebarPanel.prototype._treeElementGoToArrowWasClicked):
        External properties replaced with symbols.

        * UserInterface/Views/ResourceSidebarPanel.js:
        Add navigation bar as a subview.
        (WebInspector.ResourceSidebarPanel):
        (WebInspector.ResourceSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
        (WebInspector.ResourceSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
        External properties replaced with symbols.

        * UserInterface/Views/Sidebar.js:
        (WebInspector.Sidebar):
        (WebInspector.Sidebar.prototype.addSidebarPanel):
        (WebInspector.Sidebar.prototype.removeSidebarPanel):
        Panels are now added and removed as subviews.
        (WebInspector.Sidebar.prototype.get width):
        (WebInspector.Sidebar.prototype.set width):
        (WebInspector.Sidebar.prototype.get collapsed):
        (WebInspector.Sidebar.prototype.set collapsed):
        "collapsed" property now backed by private class variable, not DOM state.
        (WebInspector.Sidebar.prototype.get element): Deleted.

        * UserInterface/Views/SidebarPanel.js:
        (WebInspector.SidebarPanel):
        (WebInspector.SidebarPanel.prototype.get visible):
        (WebInspector.SidebarPanel.prototype.get selected):
        (WebInspector.SidebarPanel.prototype.set selected):
        "selected" property now backed by private class variable, not DOM state.
        (WebInspector.SidebarPanel.prototype.get parentSidebar):
        No longer stored as separate property. Wrapper around View.prototype.parentView.
        Original getter retained for clarity.
        (WebInspector.SidebarPanel.prototype.show):
        (WebInspector.SidebarPanel.prototype.hide):
        (WebInspector.SidebarPanel.prototype.added):
        (WebInspector.SidebarPanel.prototype.removed):
        (WebInspector.SidebarPanel.prototype.get element): Deleted.

        * UserInterface/Views/StorageSidebarPanel.js:
        (WebInspector.StorageSidebarPanel):
        Add navigation bar as a subview.

2015-11-10  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Enable/disable All Breakpoints not usable when "No Filter Results" displayed
        https://bugs.webkit.org/show_bug.cgi?id=151062

        Reviewed by Timothy Hatcher.

        Position the placeholder element below the navigation bar. This was already being done
        for the other navigation sidebars.

        * UserInterface/Views/DebuggerSidebarPanel.css:
        (.sidebar > .panel.navigation.debugger > :matches(.content, .empty-content-placeholder)):
        (.sidebar > .panel.navigation.debugger > .content): Deleted.

2015-11-10  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Batch all scheduled layouts and update the view tree in a single animation frame
        https://bugs.webkit.org/show_bug.cgi?id=150993

        Reviewed by Brian Burg.

        Shifts responsibility for scheduling asynchronous layouts from view objects to a controller
        layer, implemented as private static methods and properties in the View class. A single animation
        frame callback performs a breadth-first traversal of the view tree starting at the root view,
        updating views marked as needing a layout.

        * UserInterface/Base/Main.js:
        (WebInspector.contentLoaded):
        Setup root view.

        * UserInterface/Views/View.js:
        Added private class properties for root view reference and rAF identifier.
        (WebInspector.View):
        (WebInspector.View.prototype.get layoutPending):
        (WebInspector.View.prototype.get parentView):
        (WebInspector.View.prototype.makeRootView):
        Set current view to be the root of the view hierarchy.
        Can only be called once.
        (WebInspector.View.prototype.insertSubviewBefore):
        No longer appends subview element to parent element, if subview already in the DOM.
        Checks that view being inserted isn't the root view.
        (WebInspector.View.prototype.removeSubview):
        (WebInspector.View.prototype.updateLayout):
        Cancels any scheduled layouts for the view, then does a synchronous layout.
        (WebInspector.View.prototype.updateLayoutIfNeeded):
        (WebInspector.View.prototype.needsLayout):
        Schedules view for the next asynchronous layout, if not already scheduled.
        (WebInspector.View.prototype.didAttach):
        (WebInspector.View.prototype.didDetach):
        Inform view of changing parent view.
        (WebInspector.View.prototype._layoutSubtree):
        (WebInspector.View._scheduleLayoutForView):
        Increments dirty counts on ancestor views, schedules a layout if needed.
        (WebInspector.View._cancelScheduledLayoutForView):
        Decrements dirty counts on ancestor views, cancels a pending layout if needed.
        (WebInspector.View._visitViewTreeForLayout):
        Animation frame callback. Does a breadth-first traversal of the view tree,
        and updates the layout of views marked as dirty.

2015-11-10  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Code coverage profiler: incorrect "in-viewport" detection algorithm
        https://bugs.webkit.org/show_bug.cgi?id=151116

        Reviewed by Brian Burg.

        * UserInterface/Controllers/BasicBlockAnnotator.js:
        (WebInspector.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges):

2015-11-09  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Support Gesture Events to zoom in / out of the Timeline
        https://bugs.webkit.org/show_bug.cgi?id=151071

        Reviewed by Timothy Hatcher.

        Adjust the Timeline's secondsPerPixel value by the gesture event's scale factor.

        * UserInterface/Views/TimelineOverview.js:
        (WebInspector.TimelineOverview):
        (WebInspector.TimelineOverview.prototype._handleWheelEvent):
        (WebInspector.TimelineOverview._handleGestureStart):
        (WebInspector.TimelineOverview.prototype._handleGestureChange):
        (WebInspector.TimelineOverview.prototype._handleGestureEnd):

2015-11-09  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Uncaught exception creating TimelineRecord alternate subtitles
        https://bugs.webkit.org/show_bug.cgi?id=151046

        Reviewed by Brian Burg.

        * UserInterface/Views/TimelineRecordTreeElement.js:
        (WebInspector.TimelineRecordTreeElement):
        We just need to create an element, it does not need to be
        a child of subtitle, as it gets appended to the right
        place later on.

2015-11-09  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: [Regression] [Mavericks] Top border of selected tab matches the background when Web Inspector is undocked
        https://bugs.webkit.org/show_bug.cgi?id=150981

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/TabBar.css:
        (body.mavericks .tab-bar > .item:not(.disabled).selected): Added.

2015-11-09  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Convert DatabaseContentView to use View base class
        https://bugs.webkit.org/show_bug.cgi?id=150959

        Reviewed by Timothy Hatcher.

        Update DatabaseContentView to inherit from View. This required that query results be
        promoted to a first-class view object, and that ConsolePrompt's DOM element not be wrapped
        inside a container element.

        Two new query result view classes (and their base class) wrap up DOM element creation
        which was being performed by DatabaseContentView.

        * Localizations/en.lproj/localizedStrings.js:

        * UserInterface/Main.html:
        New files.

        * UserInterface/Views/ConsolePrompt.js:
        (WebInspector.ConsolePrompt):
        Removed unused parameter.

        * UserInterface/Views/DatabaseContentView.css:
        (.storage-view):
        (.storage-view > .console-prompt):
        (.storage-view > .console-prompt::before):
        (:matches(.database-user-query, .database-query-result)::before):
        (.database-query-result.no-results):
        (.database-query-prompt): Deleted.
        (:matches(.database-user-query, .database-query-prompt, .database-query-result)::before): Deleted.
        (.database-query-prompt::before): Deleted.
        Modified styles to create prompt without needing a wrapper element.

        * UserInterface/Views/DatabaseContentView.js:
        (WebInspector.DatabaseContentView):
        (WebInspector.DatabaseContentView.prototype.shown):
        (WebInspector.DatabaseContentView.prototype.consolePromptCompletionsNeeded.accumulateMatches):
        (WebInspector.DatabaseContentView.prototype.consolePromptCompletionsNeeded.tableNamesCallback):
        (WebInspector.DatabaseContentView.prototype.consolePromptCompletionsNeeded):
        (WebInspector.DatabaseContentView.prototype._messagesClicked):
        (WebInspector.DatabaseContentView.prototype._queryFinished):
        (WebInspector.DatabaseContentView.prototype._queryError):
        (WebInspector.DatabaseContentView.prototype.updateLayout): Deleted.
        No longer needed.
        (WebInspector.DatabaseContentView.prototype._appendViewQueryResult): Deleted.
        (WebInspector.DatabaseContentView.prototype._appendErrorQueryResult): Deleted.
        (WebInspector.DatabaseContentView.prototype._appendQueryResult): Deleted.
        Removed methods subsumed under DatabaseUserQueryView.

        * UserInterface/Views/DatabaseUserQueryErrorView.js: Added.
        (WebInspector.DatabaseUserQueryErrorView):
        Displays supplied error message.

        * UserInterface/Views/DatabaseUserQuerySuccessView.js: Added.
        (WebInspector.DatabaseUserQuerySuccessView):
        Creates data grid if results exist, otherwise displays "no results" message.
        (WebInspector.DatabaseUserQuerySuccessView.prototype.get dataGrid):
        External access to view's data grid for autosizing columns, etc.
        (WebInspector.DatabaseUserQuerySuccessView.prototype.layout):
        Update grid layout manually, since the grid's parent in the DOM isn't the view's root element.

        * UserInterface/Views/DatabaseUserQueryViewBase.js: Added.
        Base class for success and error message views.
        (WebInspector.DatabaseUserQueryViewBase):
        Creates DOM common to subclasses.
        (WebInspector.DatabaseUserQueryViewBase.prototype.get resultElement):
        Protected getter exposing the content root for both subclasses.

2015-11-07  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: [Regression] [Mavericks] Toolbar is too dark while docked
        https://bugs.webkit.org/show_bug.cgi?id=150977

        Set the toolbar color of the docked inspector to be the same as on OS X 10.10+.
        Undocked toolbar color on Mavericks is unnaffected.

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/Toolbar.css:
        (body.mavericks.docked .toolbar):
        (body:not(.mavericks) .toolbar): Added.

2015-11-06  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Search Results tab causes jump to Resources tab on reload
        https://bugs.webkit.org/show_bug.cgi?id=150817

        Reviewed by Brian Burg.

        Remove the "search on reload" behavior from the Search Results tab. It often didn't find everything
        on large pages, since it only searched after 500ms of the main resource changing. The bug here
        was caused by performSearch selecting the first result, even if it was a background tab. We now
        avoid doing unnecessary search work in the background when the Search Results tab isn't visible.

        * UserInterface/Views/SearchSidebarPanel.js:
        (WebInspector.SearchSidebarPanel): Deleted.
        (WebInspector.SearchSidebarPanel.prototype._mainResourceDidChange): Remove children from the
        sidebar since performSearch isn't doing it now and ScriptTreeElements were not being removed.
        ResourceTreeElements were already being removed by NavigationSidebarPanel's prune behavior.
        Removed the call to performSearch and related code.
        (WebInspector.SearchSidebarPanel.prototype._mainResourceDidChange.delayedWork): Deleted.

2015-11-05  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Convert remaining ContentViews to View base class
        https://bugs.webkit.org/show_bug.cgi?id=150729

        Reviewed by Brian Burg.

        Refactor content views to reuse View features: remove updateLayout and
        element getters, and use View.prototype.addSubview and removeSubview
        where appropriate.

        * UserInterface/Views/ApplicationCacheFrameContentView.js:
        (WebInspector.ApplicationCacheFrameContentView.prototype._createDataGrid):
        * UserInterface/Views/ClusterContentView.js:
        (WebInspector.ClusterContentView):
        (WebInspector.ClusterContentView.prototype.updateLayout): Deleted.
        * UserInterface/Views/CookieStorageContentView.js:
        (WebInspector.CookieStorageContentView.prototype._rebuildTable):
        (WebInspector.CookieStorageContentView.prototype.updateLayout): Deleted.
        * UserInterface/Views/DOMStorageContentView.js:
        (WebInspector.DOMStorageContentView):
        (WebInspector.DOMStorageContentView.prototype.updateLayout): Deleted.
        * UserInterface/Views/DOMTreeContentView.js:
        (WebInspector.DOMTreeContentView.prototype.layout):
        (WebInspector.DOMTreeContentView.prototype.updateLayout): Deleted.
        * UserInterface/Views/DatabaseTableContentView.js:
        (WebInspector.DatabaseTableContentView):
        (WebInspector.DatabaseTableContentView.prototype._queryFinished):
        (WebInspector.DatabaseTableContentView.prototype._queryError):
        * UserInterface/Views/FontResourceContentView.js:
        (WebInspector.FontResourceContentView.prototype.layout):
        (WebInspector.FontResourceContentView):
        (WebInspector.FontResourceContentView.prototype.updateLayout): Deleted.
        * UserInterface/Views/IndexedDatabaseObjectStoreContentView.js:
        (WebInspector.IndexedDatabaseObjectStoreContentView):
        (WebInspector.IndexedDatabaseObjectStoreContentView.prototype.updateLayout): Deleted.
        * UserInterface/Views/LogContentView.js:
        (WebInspector.LogContentView.prototype.layout):
        (WebInspector.LogContentView.prototype.updateLayout): Deleted.
        * UserInterface/Views/NetworkGridContentView.js:
        (WebInspector.NetworkGridContentView):
        (WebInspector.NetworkGridContentView.prototype.needsLayout):
        (WebInspector.NetworkGridContentView.prototype.layout):
        (WebInspector.NetworkGridContentView.prototype.updateLayout): Deleted.
        * UserInterface/Views/OverviewTimelineView.js:
        (WebInspector.OverviewTimelineView):
        (WebInspector.OverviewTimelineView.prototype.layout): Deleted.
        * UserInterface/Views/ScriptContentView.js:
        (WebInspector.ScriptContentView.prototype._contentWillPopulate):
        (WebInspector.ScriptContentView.prototype.updateLayout): Deleted.
        * UserInterface/Views/TextContentView.js:
        (WebInspector.TextContentView):
        (WebInspector.TextContentView.prototype.updateLayout): Deleted.
        * UserInterface/Views/TextEditor.js:
        (WebInspector.TextEditor):
        (WebInspector.TextEditor.prototype.layout):
        (WebInspector.TextEditor.prototype.get element): Deleted.
        (WebInspector.TextEditor.prototype.updateLayout): Deleted.
        * UserInterface/Views/TimelineRecordingContentView.js:
        (WebInspector.TimelineRecordingContentView):
        (WebInspector.TimelineRecordingContentView.prototype.layout):
        (WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
        (WebInspector.TimelineRecordingContentView.prototype.updateLayout): Deleted.

2015-11-05  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Pretty print falsely triggers on some JS that wasn't minified
        https://bugs.webkit.org/show_bug.cgi?id=150876

        Change the minification detection heuristic. Look for the ratio of whitespace to
        non-whitespace characters in the first 5000 characters.

        The previous heuristic looked for lines longer than 500 characters. Not only it was
        slower on large unminified files, it also had a false positive on unminified codemirror.js.

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor.prototype._contentWillPopulate):
        (WebInspector.SourceCodeTextEditor.prototype._isLikelyMinified):
        Exit early if whitespace to non-whitespace ratio drops below 5%.

2015-11-05  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Convert TimelineRuler to View base class
        https://bugs.webkit.org/show_bug.cgi?id=150703

        Reviewed by Brian Burg.

        Convert TimelineRuler to View base class. Ruler markers and selection elements
        can be updated independent from its main layout. The logic for these additional
        layouts is implemented as an override of View.prototype.needsLayout, and remains
        largely unchanged.

        * UserInterface/Views/OverviewTimelineView.js:
        (WebInspector.OverviewTimelineView):
        Add ruler as a subview.
        (WebInspector.OverviewTimelineView.prototype.layout): Deleted.
        Separate ruler layout no longer needed.

        * UserInterface/Views/TimelineRuler.js:
        (WebInspector.TimelineRuler):
        (WebInspector.TimelineRuler.prototype.set allowsClippedLabels):
        (WebInspector.TimelineRuler.prototype.set formatLabelCallback):
        (WebInspector.TimelineRuler.prototype.set allowsTimeRangeSelection):
        (WebInspector.TimelineRuler.prototype.set zeroTime):
        (WebInspector.TimelineRuler.prototype.set startTime):
        (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.updateLayoutIfNeeded):
        (WebInspector.TimelineRuler.prototype.needsLayout):
        (WebInspector.TimelineRuler.prototype.layout):
        (WebInspector.TimelineRuler.prototype._needsMarkerLayout):
        (WebInspector.TimelineRuler.prototype._needsSelectionLayout):
        (WebInspector.TimelineRuler.prototype._recalculate):
        (WebInspector.TimelineRuler.prototype._updateMarkers):
        (WebInspector.TimelineRuler.prototype._updateSelection):
        (WebInspector.TimelineRuler.prototype._handleMouseDown):
        (WebInspector.TimelineRuler.prototype._handleMouseMove):
        (WebInspector.TimelineRuler.prototype._handleMouseUp):
        (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseDown):
        (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseMove):
        (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseUp):
        Renamed methods to match new View.prototype methods and cleaned up
        some code to use let, for...of.
        (WebInspector.TimelineRuler.prototype.get element): Deleted.
        No longer needed.
        (WebInspector.TimelineRuler.prototype.updateLayout): Deleted.
        Renamed to layout, overrides View.prototype.layout.
        (WebInspector.TimelineRuler.prototype._needsLayout): Deleted.
        Renamed to needsLayout, overrides View.prototype.needsLayout.
        (WebInspector.TimelineRuler.prototype._needsMarkerLayout.update): Deleted.
        (WebInspector.TimelineRuler.prototype._needsSelectionLayout.update): Deleted.

        * UserInterface/Views/View.js:
        (WebInspector.View.prototype.get isLayoutPending):
        Added getter to check for pending layout.

2015-11-05  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: ⌥⌘C sometimes ends ups up opening inspector without console prompt focused
        https://bugs.webkit.org/show_bug.cgi?id=150916

        Reviewed by Timothy Hatcher.

        When first opening the inspector we hide the window until the document
        is mostly ready / loaded. However once displaying the window WK2 would
        set the initial focus, clearing what we already had and focusing the
        first natural element (tabindex dictates the toolbar). Workaround this
        by detecting when the document becomes visible and then focusing the
        console prompt.

        * UserInterface/Protocol/InspectorFrontendAPI.js:
        (InspectorFrontendAPI.showConsole):
        (InspectorFrontendAPI.handleEvent):

2015-11-05  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Toolbar "Inspect Node" button not highlighting when active
        https://bugs.webkit.org/show_bug.cgi?id=150938

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ButtonToolbarItem.css:
        (.toolbar .item.button:not(.disabled):matches(:focus, .activate.activated) > .glyph):
        (.toolbar .item.button:not(.disabled):active:matches(:focus, .activate.activated) > .glyph):
        Copy the navigation-bar button activated styles to toolbar.

2015-11-04  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Load markers persist in timeline ruler after resetting recording
        https://bugs.webkit.org/show_bug.cgi?id=150918

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/OverviewTimelineView.js:
        (WebInspector.OverviewTimelineView):
        (WebInspector.OverviewTimelineView.prototype._recordingReset):
        Clears ruler markers on recording reset. Adds current time marker back.

        * UserInterface/Views/TimelineOverview.js:
        (WebInspector.TimelineOverview):
        (WebInspector.TimelineOverview.prototype._recordingReset):
        Clears ruler markers on recording reset. Adds current time marker back.

        * UserInterface/Views/TimelineRuler.js:
        (WebInspector.TimelineRuler.prototype.clearMarkers):
        Added method to clear markers and marker elements.

2015-11-04  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Uncaught Exception opening inspector - TypeError: Attempted to assign to readonly property.
        https://bugs.webkit.org/show_bug.cgi?id=150913

        Reviewed by Timothy Hatcher.

        Fix invalid call to BackForwardEntry.prototype.contentView set.

        * UserInterface/Views/ContentViewContainer.js:
        (WebInspector.ContentViewContainer.prototype.replaceContentView):
        Replace each BackForwardEntry matching the old content view with a new entry.

2015-11-04  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Uncaught exception mousing over CSS resource
        https://bugs.webkit.org/show_bug.cgi?id=150917

        Reviewed by Joseph Pecoraro.

        * UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
        (WebInspector.CodeMirrorTokenTrackingController.prototype._processMarkedToken): Add missing parameter.

2015-11-04  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: WebInspector.Color should support #rgba and #rrggbbaa syntax
        https://bugs.webkit.org/show_bug.cgi?id=150894

        Reviewed by Timothy Hatcher.

        Support for hex with alpha color syntax.

        * UserInterface/Models/Color.js:
        (WebInspector.Color.fromString):
        (WebInspector.Color.prototype.nextFormat):
        (WebInspector.Color.prototype.copy):
        (WebInspector.Color.prototype.toString):
        (WebInspector.Color.prototype._toShortHEXAlphaString):
        (WebInspector.Color.prototype._toHEXAlphaString):
        Add support for new hex syntax. Address some minor issues
        like case insensitivity and extra comma separate values.

        * UserInterface/Views/CodeMirrorTextMarkers.js:
        This prevent trailing hex characters from showing up
        when cycling through color variants.

        * UserInterface/Views/CodeMirrorAdditions.js:
        When CodeMirror stops treating the new values as error
        this will give them our hex-color styles.

2015-11-03  Matt Baker  <mattbaker@apple.com>

        Web Inspector: REGRESSION (r191612): Storage sidebar panel tree outline is broken
        https://bugs.webkit.org/show_bug.cgi?id=150862

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/ApplicationCacheFrameContentView.js:
        Inherit from ContentView.

        * UserInterface/Views/StorageSidebarPanel.js:
        (WebInspector.StorageSidebarPanel.prototype._addDatabase):
        Fixed syntax error.
        (WebInspector.StorageSidebarPanel.prototype._addIndexedDatabase):
        (WebInspector.StorageSidebarPanel.prototype._addFrameManifest):
        WebInspector.TreeOutline.append doesn't exist; changed to appendChild.

2015-11-03  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Create View base class, refactor some core view classes
        https://bugs.webkit.org/show_bug.cgi?id=149186

        Reviewed by Brian Burg and Timothy Hatcher.

        This patch introduces a new View base class, which encapsulates DOM element creation,
        layout scheduling, and subview management. The View class constructor accepts an optional
        element parameter, allowing an existing DOM element to be associated with the View object,
        rather than dynamically creating a new element. View also adds a `__view` property to its
        associated DOM element to facilitate debugging the Inspector UI.

        For the view classes refactored in this patch, the changes are largely mechanical. Dynamically
        created DOM elements and redundant element getters have been removed. needsLayout has replaced
        updateLayoutIfNeeded where appropriate. updateLayout has been removed entirely for views that
        performed no layout other than to cascade layouts to their children.

        * UserInterface/Base/Main.js:
        Moved TabBar layout updates out of TabBrowser and into Main.js.

        * UserInterface/Main.html:
        * UserInterface/Views/ConsolePrompt.js:
        (WebInspector.ConsolePrompt):
        (WebInspector.ConsolePrompt.prototype.layout):
        (WebInspector.ConsolePrompt.prototype.get element): Deleted.
        (WebInspector.ConsolePrompt.prototype.updateLayout): Deleted.
        * UserInterface/Views/ContentBrowser.js:
        (WebInspector.ContentBrowser):
        (WebInspector.ContentBrowser.prototype.get element): Deleted.
        (WebInspector.ContentBrowser.prototype.updateLayout): Deleted.
        * UserInterface/Views/ContentBrowserTabContentView.js:
        (WebInspector.ContentBrowserTabContentView):
        (WebInspector.ContentBrowserTabContentView.prototype.updateLayout): Deleted.
        * UserInterface/Views/ContentView.js:
        (WebInspector.ContentView):
        (WebInspector.ContentView.prototype.get element): Deleted.
        (WebInspector.ContentView.prototype.updateLayout): Deleted.
        * UserInterface/Views/ContentViewContainer.js:
        (WebInspector.ContentViewContainer):
        (WebInspector.ContentViewContainer.prototype._showEntry):
        (WebInspector.ContentViewContainer.prototype._hideEntry):
        (WebInspector.ContentViewContainer.prototype.get element): Deleted.
        (WebInspector.ContentViewContainer.prototype.updateLayout): Deleted.
        (WebInspector.ContentViewContainer.prototype._addContentViewElement): Deleted.
        (WebInspector.ContentViewContainer.prototype._removeContentViewElement): Deleted.
        * UserInterface/Views/DataGrid.js:
        (WebInspector.DataGrid.prototype.autoSizeColumns):
        (WebInspector.DataGrid.prototype.layout):
        (WebInspector.DataGrid.prototype.applyColumnWidthsMap):
        (WebInspector.DataGrid): Deleted.
        (WebInspector.DataGrid.prototype.updateLayout): Deleted.
        (WebInspector.DataGrid.prototype.resizerDragging): Deleted.
        (WebInspector.DataGrid.prototype.resizerDragEnded): Deleted.
        * UserInterface/Views/HierarchicalPathNavigationItem.js:
        (WebInspector.HierarchicalPathNavigationItem.prototype.set components):
        * UserInterface/Views/LayoutTimelineView.js:
        (WebInspector.LayoutTimelineView):
        (WebInspector.LayoutTimelineView.prototype.layout):
        (WebInspector.LayoutTimelineView.prototype.updateLayout): Deleted.
        * UserInterface/Views/NavigationBar.js:
        (WebInspector.NavigationBar):
        (WebInspector.NavigationBar.prototype.insertNavigationItem):
        (WebInspector.NavigationBar.prototype.removeNavigationItem):
        (WebInspector.NavigationBar.prototype.get minimumWidth):
        (WebInspector.NavigationBar.prototype.layout):
        (WebInspector.NavigationBar.prototype._mouseDown):
        (WebInspector.NavigationBar.prototype._mouseMoved):
        (WebInspector.NavigationBar.prototype._mouseUp):
        (WebInspector.NavigationBar.prototype._calculateMinimumWidth):
        (WebInspector.NavigationBar.prototype.updateLayoutSoon.update): Deleted.
        (WebInspector.NavigationBar.prototype.updateLayoutSoon): Deleted.
        (WebInspector.NavigationBar.prototype.updateLayout): Deleted.
        (WebInspector.NavigationBar.prototype.get element): Deleted.
        * UserInterface/Views/NavigationItem.js:
        (WebInspector.NavigationItem.prototype.set hidden):
        * UserInterface/Views/NetworkTimelineView.js:
        (WebInspector.NetworkTimelineView):
        (WebInspector.NetworkTimelineView.prototype.layout):
        (WebInspector.NetworkTimelineView.prototype.updateLayout): Deleted.
        * UserInterface/Views/OverviewTimelineView.js:
        (WebInspector.OverviewTimelineView):
        (WebInspector.OverviewTimelineView.prototype.layout):
        (WebInspector.OverviewTimelineView.prototype.updateLayout): Deleted.
        * UserInterface/Views/QuickConsole.js:
        (WebInspector.QuickConsole):
        (WebInspector.QuickConsole.prototype.layout):
        (WebInspector.QuickConsole.prototype.get element): Deleted.
        (WebInspector.QuickConsole.prototype.updateLayout): Deleted.
        * UserInterface/Views/RenderingFrameTimelineView.js:
        (WebInspector.RenderingFrameTimelineView):
        (WebInspector.RenderingFrameTimelineView.prototype.layout):
        (WebInspector.RenderingFrameTimelineView.prototype.updateLayout): Deleted.
        * UserInterface/Views/ScriptTimelineView.js:
        (WebInspector.ScriptTimelineView):
        (WebInspector.ScriptTimelineView.prototype.layout):
        (WebInspector.ScriptTimelineView.prototype.updateLayout): Deleted.
        * UserInterface/Views/TabBar.js:
        (WebInspector.TabBar):
        (WebInspector.TabBar.prototype.insertTabBarItem.animateTabs):
        (WebInspector.TabBar.prototype.insertTabBarItem.removeStyles):
        (WebInspector.TabBar.prototype.insertTabBarItem):
        (WebInspector.TabBar.prototype.removeTabBarItem.animateTabs):
        (WebInspector.TabBar.prototype.removeTabBarItem.removeStyles):
        (WebInspector.TabBar.prototype.removeTabBarItem):
        (WebInspector.TabBar.prototype.hasNormalTab):
        (WebInspector.TabBar.prototype.layout):
        (WebInspector.TabBar.prototype._recordTabBarItemSizesAndPositions):
        (WebInspector.TabBar.prototype._finishExpandingTabsAfterClose.):
        (WebInspector.TabBar.prototype._finishExpandingTabsAfterClose):
        (WebInspector.TabBar.prototype._handleClick):
        (WebInspector.TabBar.prototype._handleMouseMoved):
        (WebInspector.TabBar.prototype._handleMouseUp):
        (WebInspector.TabBar.prototype._handleMouseLeave):
        (WebInspector.TabBar.prototype._handleNewTabMouseEnter):
        (WebInspector.TabBar.prototype.updateLayoutSoon.update): Deleted.
        (WebInspector.TabBar.prototype.updateLayoutSoon): Deleted.
        (WebInspector.TabBar.prototype.updateLayout): Deleted.
        (WebInspector.TabBar.prototype.get element): Deleted.
        * UserInterface/Views/TabBrowser.js:
        (WebInspector.TabBrowser):
        (WebInspector.TabBrowser.prototype.get element): Deleted.
        (WebInspector.TabBrowser.prototype.updateLayout): Deleted.
        * UserInterface/Views/TimelineView.js:
        (WebInspector.TimelineView.prototype.filterUpdated):
        (WebInspector.TimelineView.prototype.needsLayout):
        (WebInspector.TimelineView.prototype.updateLayout): Deleted.
        (WebInspector.TimelineView.prototype.updateLayoutIfNeeded): Deleted.
        (WebInspector.TimelineView): Deleted.

        * UserInterface/Views/Toolbar.js:
        (WebInspector.Toolbar):
        (WebInspector.Toolbar.prototype.set displayMode):
        (WebInspector.Toolbar.prototype.set sizeMode):
        (WebInspector.Toolbar.prototype.addToolbarItem):
        (WebInspector.Toolbar.prototype.layout):
        (WebInspector.Toolbar.prototype.customUpdateLayout): Deleted.
        Renamed to layout. This eliminated a layering violation in NavigationBar,
        where the function previously known as updateLayout checked for a
        a `customUpdateLayout` function property, and would call it instead of its
        own layout logic if found.

        * UserInterface/Views/View.js: Added.
        (WebInspector.View):
        (WebInspector.View.prototype.get element):
        (WebInspector.View.prototype.get subviews):
        (WebInspector.View.prototype.addSubview):
        Appends a view to the end of the subview list.
        (WebInspector.View.prototype.insertSubviewBefore):
        Inserts a view into subview list before another subview.
        (WebInspector.View.prototype.removeSubview):
        (WebInspector.View.prototype.replaceSubview):
        (WebInspector.View.prototype.updateLayout):
        No longer overridden by subclasses.
        (WebInspector.View.prototype.updateLayoutIfNeeded):
        Forces a layout if one has been scheduled, otherwise does nothing.
        (WebInspector.View.prototype.needsLayout):
        Schedules a layout for the view.
        (WebInspector.View.prototype.layout):
        Overridden by views that require special layout logic. Layouts
        cascade to child views automatically.
        (WebInspector.View.prototype._layoutSubtree):
        Main layout entry point. Called by requestAnimationFrame via needsLayut, by
        updateLayout when forcing a synchronous layout, and called recursively during
        subview traversal.

2015-11-03  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Handle or Remove ParseHTML Timeline Event Records
        https://bugs.webkit.org/show_bug.cgi?id=150689

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager.prototype._processRecord):

2015-11-02  Andy Estes  <aestes@apple.com>

        [Cocoa] Add tvOS and watchOS to SUPPORTED_PLATFORMS
        https://bugs.webkit.org/show_bug.cgi?id=150819

        Reviewed by Dan Bernstein.

        This tells Xcode to include these platforms in its Devices dropdown, making it possible to build in the IDE.

        * Configurations/Base.xcconfig:

2015-10-30  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Unexpected background color behind the Continue button in the DebuggerDashboardView
        https://bugs.webkit.org/show_bug.cgi?id=150734

        Reviewed by Brian Burg.

        * UserInterface/Views/DebuggerDashboardView.css:
        (.dashboard.debugger .navigation-bar .item.button):
        (.dashboard.debugger .navigation-bar .item.button > .glyph):

2015-10-29  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Make use of other Timer details in Timeline (timeout, singleShot)
        https://bugs.webkit.org/show_bug.cgi?id=150697

        Reviewed by Timothy Hatcher.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager.prototype._processRecord):
        Create a small object for timer details.

        * UserInterface/Models/ScriptTimelineRecord.js:
        (WebInspector.ScriptTimelineRecord.EventType.displayName):
        New details object requires new path to timer identifier.

        * UserInterface/Views/ScriptTimelineView.css:
        (.sidebar > .panel.navigation.timeline:not(.timeline-recording-content-view-showing) .navigation-sidebar-panel-content-tree-outline.script .item .alternate-subtitle):
        (.navigation-sidebar-panel-content-tree-outline .item .alternate-subtitle):
        (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .alternate-subtitle):
        (.navigation-sidebar-panel-content-tree-outline .item.small:not(.two-line) .alternate-subtitle::before):
        Styles for an alternate-subtitle, a subtitle to show when the timeline
        content view is showing and not a resource content view.

        * UserInterface/Views/TimelineRecordTreeElement.js:
        (WebInspector.TimelineRecordTreeElement):
        Create alternate subtitle for Timers with the timeout millisecond details.
        Differentiate between setTimeout / setInterval.

        * UserInterface/Views/ScriptTimelineDataGridNode.js:
        (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent): Deleted.
        (WebInspector.ScriptTimelineDataGridNode): Deleted.
        Remove dead code. Normally there would be a filter / scope bar for an eventType
        column but no such column exists.

2015-10-29  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Display console.timeStamp(title) title in timeline markers
        https://bugs.webkit.org/show_bug.cgi?id=150691

        Reviewed by Timothy Hatcher.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager.prototype._processRecord):
        (WebInspector.TimelineManager.prototype._processEvent):
        Detect unused timeline records.

        * UserInterface/Models/TimelineMarker.js:
        (WebInspector.TimelineMarker):
        (WebInspector.TimelineMarker.prototype.get details):
        Give markers an optional details argument.

        * UserInterface/Views/TimelineRuler.js:
        (WebInspector.TimelineRuler.prototype.addMarker):
        When a marker is a TimeStamp, use the details title in
        the tooltip if one is available.

        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel.prototype._refreshFrameSelectionChart):
        Used \u in localized string. Kept this an endash since it is a range.

2015-10-29  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Navigation bar icons are missing
        https://bugs.webkit.org/show_bug.cgi?id=150677

        Reviewed by Joseph Pecoraro.

        The glyph width and height were not being set correctly and it broke NavigationBar buttons.
        The width and height attribute was being set on a div, when it should have used the style property.
        Also remove the suppressEmboss flag, which is no longer used but the clients and subclasses still did.

        * UserInterface/Base/ImageUtilities.js:
        (useSVGSymbol): Use style property instead of setting width and height. The attributes
        didn't accomplish the same thing in all cases. Use title and className property on the
        wrapper element and remove the comments, which applied when there wasn't a wrapper.

        * UserInterface/Views/ActivateButtonNavigationItem.js:
        (WebInspector.ActivateButtonNavigationItem): Remove suppressEmboss.
        * UserInterface/Views/ActivateButtonToolbarItem.js:
        (WebInspector.ActivateButtonToolbarItem): Remove suppressEmboss.

        * UserInterface/Views/ButtonNavigationItem.js:
        (WebInspector.ButtonNavigationItem): Remove suppressEmboss.
        (WebInspector.ButtonNavigationItem.prototype.set image): Use style property instead of setting
        width and height attributes. This assumed the SVG element was the glyph element, which changed
        at one point without me remembering to fix this client.

        * UserInterface/Views/ButtonToolbarItem.js:
        (WebInspector.ButtonToolbarItem):  Remove suppressEmboss.
        * UserInterface/Views/DebuggerDashboardView.js:
        (WebInspector.DebuggerDashboardView): Remove suppressEmboss use.
        * UserInterface/Views/FilterBar.js:
        (WebInspector.FilterBar.prototype.addFilterBarButton): Remove suppressEmboss.
        * UserInterface/Views/FilterBarButton.js:
        (WebInspector.FilterBarButton): Remove suppressEmboss.
        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel):  Remove suppressEmboss use.
        * UserInterface/Views/ToggleButtonNavigationItem.js:
        (WebInspector.ToggleButtonNavigationItem): Remove suppressEmboss.

2015-10-29  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Clean up and audit TimelineRecordFactory records
        https://bugs.webkit.org/show_bug.cgi?id=150660

        Reviewed by Brian Burg.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager.prototype._processRecord):
        (WebInspector.TimelineManager.prototype._processEvent):
        Add FIXME for payload data which we are not yet using but could.
        Fix typo in some rAF records where we were mistakenly using "timerId"
        instead of "id" for the request identifier.

        * UserInterface/Models/ScriptTimelineRecord.js:
        (WebInspector.ScriptTimelineRecord.EventType.displayName):
        Display the now correctly accessed rAF identifier in the Scripts timeline.

2015-10-28  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Add "revert" to CSS value autocompletion
        https://bugs.webkit.org/show_bug.cgi?id=150652

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/CSSCompletions.js:
        * UserInterface/Models/CSSKeywordCompletions.js:
        (WebInspector.CSSKeywordCompletions.forProperty):
        * UserInterface/Views/VisualStyleDetailsPanel.js:
        (WebInspector.VisualStyleDetailsPanel):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateDisplaySection):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateAlignmentSection):
        Treat "revert" like initial and unset. It is valid on all properties.

2015-10-28  Nikita Vasilyev  <nvasilyev@apple.com>

        REGRESSION(r191071): Web Inspector: Can't resize split console when the window is too narrow
        https://bugs.webkit.org/show_bug.cgi?id=150492

        Reviewed by Timothy Hatcher.

        Make some items inside of the navigation bar click-through to incsease the draggable area.

        * UserInterface/Views/Main.css:
        (#split-content-browser > .navigation-bar > :matches(.hierarchical-path, .log-scope-bar)):

2015-10-28  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Show Timeline Markers again (DOMContentLoaded, Load, console.timeStamp)
        https://bugs.webkit.org/show_bug.cgi?id=150612

        Reviewed by Timothy Hatcher.

        * Localizations/en.lproj/localizedStrings.js:
        Tooltip strings for the timeline markers.

        * UserInterface/Models/TimelineRecording.js:
        (WebInspector.TimelineRecording.prototype.addEventMarker):
        Dispatch an event so the views listening to this recording can add the markers.

        * UserInterface/Views/OverviewTimelineView.js:
        (WebInspector.OverviewTimelineView):
        (WebInspector.OverviewTimelineView.prototype._markerAdded):
        Add the marker to the OverviewTimelineView's ruler.

        * UserInterface/Views/TimelineOverview.js:
        (WebInspector.TimelineOverview):
        (WebInspector.TimelineOverview.prototype._markerAdded):
        (WebInspector.TimelineOverview.prototype.addMarker): Deleted.
        Add the marker to the TimelineOverview's ruler. Remove the unused method.

        * UserInterface/Views/TimelineRuler.js:
        (WebInspector.TimelineRuler.prototype.addMarker):
        Give some marker's a tooltip based on their type.

        * UserInterface/Views/TimelineOverview.css:
        (.timeline-overview > .timeline-ruler > .markers):
        (.timeline-overview.frames > .timeline-ruler > .markers > .marker:not(.current-time)):
        Correct the height of markers in the timeline overview.
        Hide markers non-current-time markers in the rendering frames view.

        * UserInterface/Views/TimelineRuler.css:
        (.timeline-ruler > .markers > .marker):
        (.timeline-ruler > .markers > .marker::before):
        Give markers a bit of width to make it easier to trigger their tooltip.

        (.timeline-ruler > .markers > .marker.load-event):
        (.timeline-ruler > .markers > .marker.dom-content-event):
        (.timeline-ruler > .markers > .marker.timestamp):
        Adjust coloring of the markers. hsla(0.5) was causing bleeding
        with width 1px to 2px. hsl() with opacity it was always 1px.

2015-10-28  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Zoom never goes back to 100% size
        https://bugs.webkit.org/show_bug.cgi?id=150637

        Add and subtract 20% from the zoom level so the zoom factor can return
        to the 1 starting zoom factor if you go back the other direction.

        Reviewed by Joseph Pecoraro.

        * UserInterface/Base/Main.js:
        (WebInspector._increaseZoom): Add 0.2 instead of multiplying 1.2.
        (WebInspector._decreaseZoom): Subtract 0.2 instead of multiplying 0.8.

2015-10-28  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Rendering Frames pie chart does not update during initial selection of a timeline range
        https://bugs.webkit.org/show_bug.cgi?id=150630

        Reviewed by Geoffrey Garen.

        No longer suppress selection changed events while dragging to create a new selection.
        We dispatch selection changed events when adjusting an existing selection, so it makes
        sense to treat both cases identically.

        * UserInterface/Views/TimelineRuler.js:
        (WebInspector.TimelineRuler): Deleted.
        (WebInspector.TimelineRuler.prototype._dispatchTimeRangeSelectionChangedEvent): Deleted.
        (WebInspector.TimelineRuler.prototype._handleMouseMove): Deleted.

2015-10-27  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Remove image generators and use SVG directly
        https://bugs.webkit.org/show_bug.cgi?id=150602

        Reviewed by Brian Burg.

        This removes the code used to generate button image states as various canvas bitmaps.
        With the simplification of the UI in Yosemite, we can now just style SVG images to change
        the color used by the glyphs in these images. To do that we use the special "currentColor"
        color keyword. That keyword represents the current value of the applied CSS text color.
        This approach was used since it works across shadow DOM boundaries, which are there with
        our new use of the SVG <use> element to import glyphs. This allows us to eliminate the
        "stroked" and "filled" classes that were used to style some images that used the old
        wrappedSVGDocument image utility.

        Some of the SVG images had to be recreated -- specifically the removal of <clipPath> and
        <text> elements. Those elements do not work or work well with the <use> element. We can
        now only use graphical elements like <path>, <rect>, <circle>, etc.

        * UserInterface/Images/*.svg: Added id to the top level for most images. Use currentColor instead of black. Sorted attributes.
        * UserInterface/Images/gtk/*.svg: Added id to the top level for most images. Filed bug 150603 to track adopting currentColor.

        * UserInterface/Base/ImageUtilities.js:
        (useSVGSymbol): Added.
        (catch): Deleted.
        (_devicePixelRatioChanged): Deleted.
        (_registerGeneratedImageUpdateFunction): Deleted.
        (_logSQLError): Deleted.
        (_logSQLTransactionError): Deleted.
        (_prefetchCachedImagesAndUpdate): Deleted.
        (_prefetchCachedImagesAndUpdate.): Deleted.
        (else.): Deleted.
        (restoreImageFromStorage): Deleted.
        (imageLoaded): Deleted.
        (ensureImageIsLoaded): Deleted.
        (restoreImages.restoreActiveImages): Deleted.
        (restoreImages): Deleted.
        (restoreImage): Deleted.
        (update): Deleted.
        (generateImages.generateActiveImages): Deleted.
        (generateImages): Deleted.
        (generateImage): Deleted.
        (_drawImageShadow): Deleted.
        (_invertMaskImage): Deleted.
        (_applyImageMask): Deleted.
        (generateEmbossedImages): Deleted.
        (invokeCallbackWithDocument): Deleted.
        (imageLoad): Deleted.
        (imageError): Deleted.
        (wrappedSVGDocument): Deleted.
        * UserInterface/Views/ActivateButtonNavigationItem.js:
        (WebInspector.ActivateButtonNavigationItem.prototype.set activated):
        (WebInspector.ActivateButtonNavigationItem.prototype.generateStyleText): Deleted.
        * UserInterface/Views/ButtonNavigationItem.css:
        (.navigation-bar .item.button):
        (.navigation-bar .item.button > .glyph):
        (.navigation-bar .item.button:not(.disabled):active > .glyph):
        (.navigation-bar .item.button:not(.disabled):matches(:focus, .activate.activated, .radio.selected) > .glyph):
        (.navigation-bar .item.button:not(.disabled):active:matches(:focus, .activate.activated, .radio.selected) > .glyph):
        (body.window-inactive .navigation-bar .item.button > .glyph):
        (.navigation-bar .item.button.disabled > .glyph):
        (body.window-inactive .navigation-bar .item.button.disabled > .glyph):
        (.navigation-bar .item.button.text-only): Deleted.
        (body.window-inactive .navigation-bar .item.button:not(.suppress-emboss) > .glyph): Deleted.
        (body.window-inactive .navigation-bar .item.button.disabled:not(.suppress-emboss) > .glyph): Deleted.
        (.navigation-bar .item.button.suppress-emboss): Deleted.
        (.navigation-bar .item.button.suppress-emboss > .glyph): Deleted.
        (.navigation-bar .item.button.suppress-emboss:active > .glyph): Deleted.
        (.navigation-bar .item.button.suppress-emboss.disabled > .glyph): Deleted.
        * UserInterface/Views/ButtonNavigationItem.js:
        (WebInspector.ButtonNavigationItem.prototype.set image):
        (WebInspector.ButtonNavigationItem): Deleted.
        (WebInspector.ButtonNavigationItem.prototype.get suppressBezel): Deleted.
        (WebInspector.ButtonNavigationItem.prototype.set suppressBezel): Deleted.
        (WebInspector.ButtonNavigationItem.prototype.generateStyleText): Deleted.
        (WebInspector.ButtonNavigationItem.prototype._canvasIdentifier): Deleted.
        (WebInspector.ButtonNavigationItem.prototype._updateImage): Deleted.
        (WebInspector.ButtonNavigationItem.prototype._generateImages): Deleted.
        * UserInterface/Views/ButtonToolbarItem.css:
        (.toolbar .item.button > .glyph):
        (.toolbar .item.button:not(.disabled):active > .glyph):
        * UserInterface/Views/ControlToolbarItem.css:
        (.toolbar .item.control):
        (.toolbar .item.control:hover):
        * UserInterface/Views/MultipleScopeBarItem.js:
        (WebInspector.MultipleScopeBarItem):
        * UserInterface/Views/NavigationBar.js:
        (WebInspector.NavigationBar.prototype.updateLayoutSoon.update):
        (WebInspector.NavigationBar.prototype.updateLayoutSoon):
        (WebInspector.NavigationBar): Deleted.
        (WebInspector.NavigationBar.prototype.insertNavigationItem): Deleted.
        (WebInspector.NavigationBar.prototype.removeNavigationItem): Deleted.
        (WebInspector.NavigationBar.prototype.updateLayout): Deleted.
        (WebInspector.NavigationBar.prototype._updateStyle): Deleted.
        * UserInterface/Views/NetworkSidebarPanel.js:
        (WebInspector.NetworkSidebarPanel.prototype.treeElementAddedOrChanged):
        * UserInterface/Views/RadioButtonNavigationItem.js:
        (WebInspector.RadioButtonNavigationItem.prototype.set active):
        (WebInspector.RadioButtonNavigationItem.prototype.generateStyleText): Deleted.
        * UserInterface/Views/ScopeBar.css:
        (.scope-bar > li.multiple:matches(.selected, :hover, :active) > .arrows):
        (.scope-bar > li.multiple:matches(.selected, :hover, :active) > .arrows svg .filled): Deleted.
        (.scope-bar > li.multiple:matches(.selected, :hover, :active) > .arrows svg .stroked): Deleted.
        * UserInterface/Views/ScopeBarItem.js:
        (WebInspector.ScopeBarItem):
        * UserInterface/Views/ScopeRadioButtonNavigationItem.css:
        (.scope-radio-button-navigation-item:hover > .arrows):
        (.scope-radio-button-navigation-item.selected > .arrows > svg .stroked): Deleted.
        * UserInterface/Views/ScopeRadioButtonNavigationItem.js:
        (WebInspector.ScopeRadioButtonNavigationItem):
        * UserInterface/Views/TimelineSidebarPanel.css:
        (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events > .title-bar-scope-bar > .default-item-selected > .multiple .arrows):
        (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events > .title-bar-scope-bar > .default-item-selected > .multiple svg .filled): Deleted.
        (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events > .title-bar-scope-bar > .default-item-selected > .multiple svg .stroked): Deleted.
        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel.prototype.treeElementAddedOrChanged):
        (WebInspector.TimelineSidebarPanel.prototype._timelineAdded):
        * UserInterface/Views/ToggleButtonNavigationItem.js:
        (WebInspector.ToggleButtonNavigationItem): Deleted.
        * UserInterface/Views/TreeElementStatusButton.css:
        (.item > .status > .status-button):
        (:matches(:focus, .force-focus) .item.selected > .status > .status-button):
        (.item > .status > .status-button > svg .filled): Deleted.
        (:matches(:focus, .force-focus) .item.selected > .status > .status-button > svg .filled): Deleted.
        (.item > .status > .status-button > svg .stroked): Deleted.
        (:matches(:focus, .force-focus) .item.selected > .status > .status-button > svg .stroked): Deleted.
        * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
        (WebInspector.VisualStyleCommaSeparatedKeywordEditor):
        * UserInterface/Views/VisualStyleDetailsPanel.css:
        (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .header > .visual-style-section-clear):
        * UserInterface/Views/VisualStyleKeywordIconList.css:
        (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon.selected):
        (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:not(.selected) > div):
        (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon.selected svg .stroked): Deleted.
        (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon.selected svg .filled): Deleted.
        * UserInterface/Views/VisualStyleKeywordIconList.js:
        (WebInspector.VisualStyleKeywordIconList.createListItem):
        (WebInspector.VisualStyleKeywordIconList):
        * UserInterface/Views/VisualStylePropertyEditorLink.css:
        (.visual-style-property-editor-link > .visual-style-property-editor-link-icon > :matches(.linked-icon, .unlinked-icon)):
        (.visual-style-property-editor-link:not(.linked) > .visual-style-property-editor-link-icon > :matches(.linked-icon, .unlinked-icon)):
        (.visual-style-property-editor-link > .visual-style-property-editor-link-icon): Deleted.
        (.visual-style-property-editor-link > .visual-style-property-editor-link-icon > .unlinked-icon svg .filled): Deleted.
        (.visual-style-property-editor-link > .visual-style-property-editor-link-icon > .unlinked-icon svg .stroked): Deleted.
        * UserInterface/Views/VisualStylePropertyEditorLink.js:
        (WebInspector.VisualStylePropertyEditorLink):
        * UserInterface/Views/VisualStyleSelectorSection.css:
        (.details-section.visual-style-selector-section > .header > .controls > .visual-style-selector-section-add-rule):
        * UserInterface/Views/VisualStyleSelectorSection.js:
        (WebInspector.VisualStyleSelectorSection):

2015-10-28  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: jsmin.py mistakenly removes whitespace from template literal strings
        https://bugs.webkit.org/show_bug.cgi?id=148728

        Reviewed by Joseph Pecoraro.

        * Scripts/jsmin.py:
        (JavascriptMinify.minify): Make backtick a quoting character.

2015-10-28  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Timeline recording start button missing when WEB_REPLAY disabled (no ReplayAgent)
        https://bugs.webkit.org/show_bug.cgi?id=150633

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel.prototype._updateReplayInterfaceVisibility):
        Ensure we pass a boolean to classList.toggle.

2015-10-27  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Remove Timeline MarkDOMContent and MarkLoad, data is already available
        https://bugs.webkit.org/show_bug.cgi?id=150615

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager.prototype._processEvent):
        Remove the now unneed mark event handling.

        (WebInspector.TimelineManager.prototype.pageDOMContentLoadedEventFired):
        (WebInspector.TimelineManager.prototype.pageLoadEventFired):
        Update the main frame and create markers for the current recording.

        * UserInterface/Protocol/PageObserver.js:
        (WebInspector.PageObserver.prototype.domContentEventFired):
        (WebInspector.PageObserver.prototype.loadEventFired):
        Forward to TimelineManager.

2015-10-27  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Remove unused / duplicated XHR timeline instrumentation
        https://bugs.webkit.org/show_bug.cgi?id=150605

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager.prototype._processRecord):
        Remove unused events and add an assert that we don't miss
        any script embedders.

2015-10-27  Matt Baker  <mattbaker@apple.com>

        REGRESSION: Web Inspector: DOM path bar blinks when modifying inline styles
        https://bugs.webkit.org/show_bug.cgi?id=149258

        Reviewed by Timothy Hatcher.

        Now that Object now longer spams constructor event listeners, ContentBrowser can safely
        update the NavigationBar synchronously. This fixes the issue, with zero impact on layout
        responsiveness when selecting Rendering Frames tree elements.

        * UserInterface/Views/ContentBrowser.js:
        (WebInspector.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange):
        Force NavigationBar to update synchronously.

2015-10-27  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Timeline current time marker does not start moving when starting recording after just opening inspector
        https://bugs.webkit.org/show_bug.cgi?id=150178

        Reviewed by Brian Burg.

        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager.prototype.capturingStarted):
        * UserInterface/Models/TimelineRecording.js:
        (WebInspector.TimelineRecording.prototype.initializeTimeBoundsIfNecessary):
        For a recording to start updating current time the recording itself
        must have a start time. Provide a setter so that the start time can
        be set without waiting for a timeline record. For example the
        timestamp that the frontend receives when it starts a recording.

        * UserInterface/Views/TimelineRecordingContentView.js:
        (WebInspector.TimelineRecordingContentView.prototype._startUpdatingCurrentTime):
        When we have a startTime number (new backends) always use it as the current time.
        Previously we were only doing this if current time was NaN, which would be when
        re-starting a recording after it had stopped, but not for the initial recording
        after opening the inspector.

        * UserInterface/Views/TimelineRuler.js:
        (WebInspector.TimelineRuler.prototype.updateLayout):
        Even if we do not need to create new time dividers we may need to perform
        other updates like update the current time marker. So do work before bailing.

2015-10-26  Matt Baker  <mattbaker@apple.com>

        Web Inspector: WebInspector.Object can dispatch constructor-level events multiple times
        https://bugs.webkit.org/show_bug.cgi?id=150579

        Reviewed by Timothy Hatcher.

        Use `hasOwnProperty` when checking for constructor event listeners when walking the
        prototype chain. This prevents listeners registered with a base class constructor
        from being dispatched multiple times by getting picked up higher in the prototype chain.

        * UserInterface/Base/Object.js:
        (WebInspector.Object.prototype.dispatchEventToListeners.dispatch):
        (WebInspector.Object.prototype.dispatchEventToListeners):
        (WebInspector.Object):

2015-10-26  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Hundreds of failed assertions after switching to Rendering Frames after recording complete
        https://bugs.webkit.org/show_bug.cgi?id=150568

        Reviewed by Timothy Hatcher.

        When the TimelineRecordingContentView responds to the current content view changing,
        the TimelineOverview may be swapped out (if switching from a Timelines content view to a
        Rendering Frames content view). This patch installs a new overview (if it's changing) prior
        to setting the TimelineSidebarPanel's tree outline, as setting the tree outline forces
        filters to run.

        Filtering tree elements requires that the timeline overview is up to date, which was the
        cause the assertion deluge.

        * UserInterface/Views/TimelineRecordingContentView.js:
        (WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):

2015-10-26  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Spacebar to start recording should not cause system beep
        https://bugs.webkit.org/show_bug.cgi?id=150573

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel.prototype._toggleRecordingOnSpacebar):
        (WebInspector.TimelineSidebarPanel.prototype._toggleNewRecordingOnSpacebar):
        The keyboard shortcuts do not implicitly prevent default because they may bail.
        So in cases where they do handle the key, prevent default to prevent system beeps.

2015-10-26  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Cleanup sidebar panels, reduce `delete` and use Maps instead of objects
        https://bugs.webkit.org/show_bug.cgi?id=150548

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
        (WebInspector.LayerTreeDetailsSidebarPanel):
        (WebInspector.LayerTreeDetailsSidebarPanel.prototype._updateDataGrid):
        (WebInspector.LayerTreeDetailsSidebarPanel.prototype._dataGridNodeForLayer):

        * UserInterface/Views/NavigationSidebarPanel.js:
        (WebInspector.NavigationSidebarPanel):
        (WebInspector.NavigationSidebarPanel.restoreStateFromCookie.finalAttemptToRestoreViewStateFromCookie):
        (WebInspector.NavigationSidebarPanel.restoreStateFromCookie):
        (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement):
        (WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
        (WebInspector.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie):
        Switched to using Symbol() to set external properties on tree elements.

        * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
        (WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateCallFramesSection):

        * UserInterface/Views/StorageSidebarPanel.js:
        (WebInspector.StorageSidebarPanel):
        (WebInspector.StorageSidebarPanel.prototype._addDatabase):
        (WebInspector.StorageSidebarPanel.prototype._addIndexedDatabase):
        (WebInspector.StorageSidebarPanel.prototype._addFrameManifest):
        (WebInspector.StorageSidebarPanel.prototype._storageCleared):

2015-10-24  Nikita Vasilyev  <nvasilyev@apple.com>

        Unreviewed, rolling out r191419.
        https://bugs.webkit.org/show_bug.cgi?id=150537

        Reverted changeset:

        "Web Inspector: Autocompletion previews in the CSS sidebar do not apply"
        https://bugs.webkit.org/show_bug.cgi?id=147720
        http://trac.webkit.org/changeset/191419

2015-10-23  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Remove unused ScrollLayer Timeline EventType
        https://bugs.webkit.org/show_bug.cgi?id=150518

        Reviewed by Timothy Hatcher.

        * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
        * UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
        * UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js:
        * Versions/Inspector-iOS-7.0.json:
        * Versions/Inspector-iOS-8.0.json:
        * Versions/Inspector-iOS-9.0.json:

2015-10-23  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: xlink:href should be linkified
        https://bugs.webkit.org/show_bug.cgi?id=150505

        Reviewed by Timothy Hatcher.

        * UserInterface/Base/Main.js:
        When opening a URL with a fragment, prefer opening a resource
        that has the same URL without the fragment, otherwise this would
        open in a new tab.

        * UserInterface/Base/URLUtilities.js:
        (absoluteURL):
        Better handling absoluteURL("#frag", baseURL).

        * UserInterface/Views/CodeMirrorAdditions.js:
        * UserInterface/Views/DOMTreeElement.js:
        (WebInspector.DOMTreeElement.prototype._buildAttributeDOM):
        Allow for more "href" style attributes, such as XML namespaced
        "xlink:href" attribute names.

2015-10-23  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Command-Enter in Debugger should show a popover with evaluation result
        https://bugs.webkit.org/show_bug.cgi?id=149195

        Currenty, the only way to display the popover is to hover over the text with a mouse cursor.
        Provide a way to display it via a keyboard shortcut.

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/CodeMirrorCompletionController.js:
        (WebInspector.CodeMirrorCompletionController): Deleted.
        (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions): Deleted.
        Don't evaluate selected text from Debugger or Sources in the console.

        * UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
        (WebInspector.CodeMirrorTokenTrackingController):
        (WebInspector.CodeMirrorTokenTrackingController.prototype._handleCommandEnterKey):
        (WebInspector.CodeMirrorTokenTrackingController.prototype._hidePopover):
        Cmd-Enter triggers the popover, Esc hides it.

        (WebInspector.CodeMirrorTokenTrackingController.prototype.set mode):
        (WebInspector.CodeMirrorTokenTrackingController.prototype.removeHighlightedRange):
        Don't use delete.

        (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseMovedWithMarkedText):
        When a token isn't hovered, hide it only when it was triggered not by the keyboard.

        (WebInspector.CodeMirrorTokenTrackingController.prototype._markedTextIsNoLongerHovered):
        Don't use delete.

        (WebInspector.CodeMirrorTokenTrackingController.prototype._updateHoveredTokenInfo):
        (WebInspector.CodeMirrorTokenTrackingController.prototype._getTokenInfoForPosition):
        Abstract out a no side effects _getTokenInfoForPosition method, which is also used by _handleCommandEnterKey.

        (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseMovedOutOfEditor):
        (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseButtonWasReleasedOverEditor):
        Don't use delete.

        (WebInspector.CodeMirrorTokenTrackingController.prototype._processNewHoveredToken):
        (WebInspector.CodeMirrorTokenTrackingController.prototype._processNonSymbolToken):
        (WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
        Pass tokenInfo as an argument to explicitly state that these methods require it.

        (WebInspector.CodeMirrorTokenTrackingController.prototype._resetTrackingStates):
        Don't use delete.

        * UserInterface/Views/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerHighlightedRangeReleased):
        Allow to hide the popover regardless of mouse position. Used when the text cursor moves or
        when Esc key is pressed.

2015-10-23  Devin Rousso  <dcrousso+webkit@gmail.com>

        Web Inspector: Visual sidebar should support multiple backgrounds
        https://bugs.webkit.org/show_bug.cgi?id=148310

        Reviewed by Timothy Hatcher.

        Changes the layout of the Background - Style section in the Visual sidebar
        to be a list instead of a single editable field for a background-image URL.
        Allows for comma-separated background properties (both shorthand and
        longhand) and displays them all in a single list for editing.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Views/VisualStyleColorPicker.js:
        (WebInspector.VisualStyleColorPicker):
        * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css:
        (.visual-style-property-container.comma-separated-keyword-editor):
        * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
        (WebInspector.VisualStyleCommaSeparatedKeywordEditor):
        (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._generateTextFromLonghandProperties.propertyValue):
        (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._generateTextFromLonghandProperties):
        (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.modifyPropertyText):
        Comma separated properties will now try to assemble a value from related longhand
        properties so that a single shorthand property with commas may be used.

        * UserInterface/Views/VisualStyleDetailsPanel.css:
        (.sidebar > .panel.details.css-style .visual > .details-section.background .details-section.background-style .visual-style-property-container.comma-separated-keyword-editor.background):
        * UserInterface/Views/VisualStyleDetailsPanel.js:
        (WebInspector.VisualStyleDetailsPanel.prototype._populateBackgroundStyleSection):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection):
        (WebInspector.VisualStyleDetailsPanel.prototype._noRemainingCommaSeparatedEditorItems):
        (WebInspector.VisualStyleDetailsPanel.prototype._selectedCommaSeparatedEditorItemValueChanged):
        (WebInspector.VisualStyleDetailsPanel.prototype._commaSeparatedEditorTreeItemSelected):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.noRemainingTreeItems): Deleted.
        (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.selectedBoxShadowItemValueChanged): Deleted.
        (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.boxShadowItemSelected): Deleted.
        (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.noRemainingTreeItems): Deleted.
        (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.selectedtransitionItemValueChanged): Deleted.
        (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.transitionItemSelected): Deleted.
        Made the "background-image" property into a comma separated editor.

        * UserInterface/Views/VisualStyleFontFamilyListEditor.js:
        (WebInspector.VisualStyleFontFamilyListEditor):
        * UserInterface/Views/VisualStyleKeywordIconList.js:
        (WebInspector.VisualStyleKeywordIconList.prototype.set value):
        (WebInspector.VisualStyleKeywordIconList.prototype._handleKeywordChanged):
        (WebInspector.VisualStyleKeywordIconList):
        * UserInterface/Views/VisualStyleKeywordPicker.js:
        (WebInspector.VisualStyleKeywordPicker.prototype.updateEditorValues):
        (WebInspector.VisualStyleKeywordPicker.prototype._setValue):
        * UserInterface/Views/VisualStyleNumberInputBox.js:
        (WebInspector.VisualStyleNumberInputBox.prototype.set value):
        * UserInterface/Views/VisualStylePropertyCombiner.js:
        (WebInspector.VisualStylePropertyCombiner):
        (WebInspector.VisualStylePropertyCombiner.prototype.updateValuesFromText.updateCompatibleEditor):
        (WebInspector.VisualStylePropertyCombiner.prototype.updateValuesFromText):
        * UserInterface/Views/VisualStylePropertyEditor.js:
        (WebInspector.VisualStylePropertyEditor):
        (WebInspector.VisualStylePropertyEditor.prototype.update):
        (WebInspector.VisualStylePropertyEditor.prototype.getValuesFromText):
        (WebInspector.VisualStylePropertyEditor.prototype.get propertyMissing):
        (WebInspector.VisualStylePropertyEditor.prototype._valueDidChange):
        Moved "propertyMissing" into a member variable for better access.

        * UserInterface/Views/VisualStyleURLInput.js:
        (WebInspector.VisualStyleURLInput):
        (WebInspector.VisualStyleURLInput.prototype.get synthesizedValue):
        (WebInspector.VisualStyleURLInput.prototype.parseValue):
        Added support for specific keywords to be used in the input field.

2015-10-22  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Remove generateColoredImagesForCSS and its clients
        https://bugs.webkit.org/show_bug.cgi?id=150474

        Reviewed by Joseph Pecoraro.

        * UserInterface/Base/ImageUtilities.js:
        (generateColoredImage): Deleted.
        (imageLoaded): Deleted.
        (ensureImageIsLoaded): Deleted.
        (restoreImages.restoreActiveImages): Deleted.
        (restoreImages): Deleted.
        (restoreImage): Deleted.
        (update): Deleted.
        (generateImage): Deleted.
        (generateColoredImagesForCSS): Deleted.

        * UserInterface/Base/Main.js:
        (WebInspector.loaded): Deleted call to _generateDisclosureTriangleImages.
        (WebInspector._generateDisclosureTriangleImages): Deleted.
        (WebInspector.createGoToArrowButton): Deleted code to generate the states.

        * UserInterface/Images/BackArrow.svg: Removed.
        * UserInterface/Images/BackForwardArrows.svg: Added.
        * UserInterface/Images/DisclosureTriangleSmallClosed.svg: Removed.
        * UserInterface/Images/DisclosureTriangleSmallOpen.svg: Removed.
        * UserInterface/Images/DisclosureTriangleTinyClosed.svg: Removed.
        * UserInterface/Images/DisclosureTriangleTinyOpen.svg: Removed.
        * UserInterface/Images/DisclosureTriangles.svg: Added.
        * UserInterface/Images/ForwardArrow.svg: Removed.
        * UserInterface/Images/GoToArrow.svg:
        * UserInterface/Images/Locked.svg: Moved fill color here.
        * UserInterface/Images/SortIndicatorArrows.svg: Added.
        * UserInterface/Images/SortIndicatorDownArrow.svg: Removed.
        * UserInterface/Images/SortIndicatorUpArrow.svg: Removed.
        * UserInterface/Images/gtk/BackArrow.svg: Removed.
        * UserInterface/Images/gtk/BackForwardArrows.svg: Added.
        * UserInterface/Images/gtk/DisclosureTriangleSmallClosed.svg: Removed.
        * UserInterface/Images/gtk/DisclosureTriangleSmallOpen.svg: Removed.
        * UserInterface/Images/gtk/DisclosureTriangleTinyClosed.svg: Removed.
        * UserInterface/Images/gtk/DisclosureTriangleTinyOpen.svg: Removed.
        * UserInterface/Images/gtk/DisclosureTriangles.svg: Added.
        * UserInterface/Images/gtk/ForwardArrow.svg: Removed.
        * UserInterface/Images/gtk/GoToArrow.svg:
        * UserInterface/Images/gtk/Locked.svg: Moved fill color here.
        * UserInterface/Images/gtk/SortIndicatorArrows.svg: Added.
        * UserInterface/Images/gtk/SortIndicatorDownArrow.svg: Removed.
        * UserInterface/Images/gtk/SortIndicatorUpArrow.svg: Removed.

        * UserInterface/Views/CSSStyleDeclarationSection.css:
        (.style-declaration-section.locked > .header::before):

        * UserInterface/Views/CSSStyleDeclarationSection.js:
        (WebInspector.CSSStyleDeclarationSection): Deleted.

        * UserInterface/Views/ConsoleMessageView.css:
        (.console-message.expandable .console-top-level-message::before):
        (.console-message.expandable.expanded .console-top-level-message::before):

        * UserInterface/Views/ContentBrowser.js:
        (WebInspector.ContentBrowser): Use BackForwardArrows.svg.

        * UserInterface/Views/DOMTreeOutline.css:
        (.dom-tree-outline li.parent::before):
        (.dom-tree-outline:focus li.parent.selected::before):
        (.dom-tree-outline li.parent.expanded::before):
        (.dom-tree-outline:focus li.parent.expanded.selected::before):

        * UserInterface/Views/DataGrid.css:
        (.data-grid th.sort-ascending > div:first-child::after):
        (.data-grid th.sort-descending > div:first-child::after):
        (.data-grid tr.parent td.disclosure::before):
        (.data-grid tr.parent.expanded td.disclosure::before):
        (.data-grid:matches(:focus, .force-focus) tr.parent.selected td.disclosure::before):
        (.data-grid:matches(:focus, .force-focus) tr.parent.expanded.selected td.disclosure::before):

        * UserInterface/Views/DataGrid.js:
        (WebInspector.DataGrid): Deleted call to _generateSortIndicatorImagesIfNeeded.
        (WebInspector.DataGrid.prototype._generateSortIndicatorImagesIfNeeded): Deleted.

        * UserInterface/Views/DetailsSection.css:
        (.details-section > .header::before):
        (.details-section > .header:not(.mouse-over-options-element):active::before):
        (.details-section.collapsed > .header::before):
        (.details-section.collapsed > .header:not(.mouse-over-options-element):active::before):

        * UserInterface/Views/DetailsSection.js:
        (WebInspector.DetailsSection): Deleted call to _generateDisclosureTrianglesIfNeeded.
        (WebInspector.DetailsSection.prototype._generateDisclosureTrianglesIfNeeded): Deleted.

        * UserInterface/Views/ErrorObjectView.css:
        (.error-object > .formatted-error::before):
        (.error-object.expanded > .formatted-error::before):

        * UserInterface/Views/FindBanner.css:
        (.find-banner > button.segmented.left > .glyph):
        (.find-banner > button.segmented.left:active:not(:disabled) > .glyph):
        (.find-banner > button.segmented.right > .glyph):
        (.find-banner > button.segmented.right:active:not(:disabled) > .glyph):

        * UserInterface/Views/FindBanner.js:
        (WebInspector.FindBanner): Deleted call to _generateButtonsGlyphsIfNeeded.
        (WebInspector.FindBanner.prototype._generateButtonsGlyphsIfNeeded): Deleted.

        * UserInterface/Views/LogContentView.css:
        (.console-group-title::before):
        (.console-group.collapsed .console-group-title::before):

        * UserInterface/Views/Main.css:
        (.go-to-arrow):
        (.go-to-arrow:active):
        (:matches(:focus, .force-focus) .selected .go-to-arrow):
        (:matches(:focus, .force-focus) .selected .go-to-arrow:active):

        * UserInterface/Views/NavigationSidebarPanel.css:
        (.navigation-sidebar-panel-content-tree-outline .item .disclosure-button):
        (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .disclosure-button):
        (.navigation-sidebar-panel-content-tree-outline .item.expanded .disclosure-button):
        (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected.expanded .disclosure-button):

        * UserInterface/Views/NavigationSidebarPanel.js:
        (WebInspector.NavigationSidebarPanel): Deleted call to _generateDisclosureTrianglesIfNeeded.
        (WebInspector.NavigationSidebarPanel.prototype._generateDisclosureTrianglesIfNeeded): Deleted.

        * UserInterface/Views/ObjectTreePropertyTreeElement.css:
        (.object-tree-property.parent > .disclosure-button):
        (.object-tree-property.parent.expanded > .disclosure-button):
        (.object-tree-property .read-only): Deleted.

        * UserInterface/Views/ObjectTreeView.css:
        (.object-tree > :matches(.title, .object-preview)::before):
        (.object-tree.expanded > :matches(.title, .object-preview)::before):

        * UserInterface/Views/TypeTreeElement.css:
        (.type-tree-element.parent > .disclosure-button):
        (.type-tree-element.parent.expanded > .disclosure-button):

2015-10-22  Matt Baker  <mattbaker@apple.com>

        Web Inspector: CSS Data URIs count against page weight twice
        https://bugs.webkit.org/show_bug.cgi?id=150101

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/DefaultDashboard.js:
        (WebInspector.DefaultDashboard.prototype._resourceSizeDidChange):
        Exclude resources with a data URI from the total page weight.

        * UserInterface/Models/Resource.js:
        (WebInspector.Resource):
        (WebInspector.Resource.prototype.updateForRedirectResponse):
        (WebInspector.Resource.prototype.updateForResponse):
        (WebInspector.Resource.prototype.markAsFinished):
        Removed uses of `delete`.

2015-10-22  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Remove unused Timeline GCEvent Record type
        https://bugs.webkit.org/show_bug.cgi?id=150477

        Reviewed by Timothy Hatcher.

        iOS backends never emitted a GCEvent timeline event.

        * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
        * UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
        * UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js:
        * Versions/Inspector-iOS-7.0.json:
        * Versions/Inspector-iOS-8.0.json:
        * Versions/Inspector-iOS-9.0.json:

2015-10-22  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: srcset attributes should have hyperlinks to the resources
        https://bugs.webkit.org/show_bug.cgi?id=150409

        Reviewed by Timothy Hatcher.

        Follow-up tweaks and fixes that were intended to be landed.

        * UserInterface/Views/CodeMirrorAdditions.js:
        (tokenizeSrcSetString):
        Multiline parsing has issues recovering the state CodeMirror
        expects, so we just bail in those cases. Leading whitespace
        is also handled poorly, but expected to be rare.

        * UserInterface/Views/DOMTreeElement.js:
        (WebInspector.DOMTreeElement.prototype._buildAttributeDOM):
        Trim to eliminate leading whitespace.

2015-10-22  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Restore :not(:placeholder-shown) behavior on search bars with comments
        https://bugs.webkit.org/show_bug.cgi?id=150452

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/FindBanner.css:
        (.find-banner.console-find-banner > input[type="search"]:not(:placeholder-shown)):
        * UserInterface/Views/SearchBar.css:
        (.search-bar > input[type="search"]:not(:placeholder-shown)):
        Add back the placeholder-shown related styles and add a comment about what they are for.

2015-10-22  Devin Rousso  <dcrousso+webkit@gmail.com>

        Web Inspector: Tabbing over CSS properties prepended by * doesn't move the highlighted range
        https://bugs.webkit.org/show_bug.cgi?id=150294

        Reviewed by Timothy Hatcher.

        Moving the selected text when tabbing and shift-tabbing now relies upon
        the last index of ";" if it exists instead of whether the line ends with it.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey):

2015-10-21  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: srcset attributes should have hyperlinks to the resources
        https://bugs.webkit.org/show_bug.cgi?id=150409

        Reviewed by Timothy Hatcher.

        The "srcset" attribute parsing is a simplification of:
        https://html.spec.whatwg.org/multipage/embedded-content.html#attr-img-srcset

        The "srcset" attribute value is expected to be in comma
        separated groups. Within each group we always expect a link,
        and an optional descriptor. We want to linkify the link.

        * UserInterface/Views/CodeMirrorAdditions.js:
        (tokenizeSrcSetString):
        (extendedXMLToken):
        When parsing srcset attribute, parse links as link tokens
        so that they are linkified in resource content views.

        * UserInterface/Views/DOMTreeElement.js:
        (WebInspector.DOMTreeElement.prototype._buildAttributeDOM):
        When creating the DOMTree DOM for srcset attributes,
        create link elements for the link values of attribute value.

2015-10-21  Devin Rousso  <dcrousso+webkit@gmail.com>

        Web Inspector: Autocompletion previews in the CSS sidebar do not apply
        https://bugs.webkit.org/show_bug.cgi?id=147720

        Reviewed by Timothy Hatcher.

        When autocompletion hints are added to styles or the console, the history
        object used by CodeMirror was edited to remove the last entry. Instead of
        using this method (which caused glitchy behaviour when undo-ing), call
        CodeMirror.undo() and adjust accordingly. In addition, a marker was being
        used as the completion hint instead of applying text, whereas these
        changes use actual text, ensuring that completions are previewed in the page.

        * UserInterface/Controllers/CodeMirrorCompletionController.js:
        (WebInspector.CodeMirrorCompletionController):
        (WebInspector.CodeMirrorCompletionController.prototype.close):
        (WebInspector.CodeMirrorCompletionController.prototype._applyCompletionHint.update):
        (WebInspector.CodeMirrorCompletionController.prototype._commitCompletionHint.update):
        (WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint.update):
        (WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint):
        (WebInspector.CodeMirrorCompletionController.prototype._handleBeforeChange):
        (WebInspector.CodeMirrorCompletionController.prototype._createCompletionHintMarker): Deleted.
        (WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint.clearMarker): Deleted.

2015-10-21  Devin Rousso  <dcrousso+webkit@gmail.com>

        Web Inspector: Add forgotten WebInspector.UIString from r190521
        https://bugs.webkit.org/show_bug.cgi?id=150425

        Reviewed by Timothy Hatcher.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (UserInterface/Views/CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded)

2015-10-21  Devin Rousso  <dcrousso+webkit@gmail.com>

        Web Inspector: Adjust usages of classList.toggle to ensure a true/false value instead of undefined
        https://bugs.webkit.org/show_bug.cgi?id=150424

        Reviewed by Timothy Hatcher.

        Adds "!!" in front of force parameters in classList.toggle calls that
        could possibly be undefined (thereby breaking the UI).

        * UserInterface/Views/ScopeBarItem.js:
        (WebInspector.ScopeBarItem):
        * UserInterface/Views/VisualStyleDetailsPanel.js:
        (WebInspector.VisualStyleDetailsPanel.prototype._updateSections):
        * UserInterface/Views/VisualStylePropertyEditor.js:
        (WebInspector.VisualStylePropertyEditor):

2015-10-21  Devin Rousso  <dcrousso+webkit@gmail.com>

        Web Inspector: Option-Up doesn't increment certain attribute values
        https://bugs.webkit.org/show_bug.cgi?id=149257

        Reviewed by Brian Burg.

        If the user tries to modify a numerical attribute in HTML and the cursor
        was at the beginning of the attribute value, the range of the selection
        was within a sibling element instead of the text node containin the value.
        This patch fixes this issue and ensures that the correct text is selected.

        * UserInterface/Views/EditingSupport.js:
        (WebInspector.startEditing.handleEditingResult):
        Replaced var with let.

2015-10-21  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Use some CSS Variables in Web Inspector
        https://bugs.webkit.org/show_bug.cgi?id=150405

        Reviewed by Timothy Hatcher.

        * UserInterface/Main.html:
        Include the new variables stylesheet.

        * UserInterface/Views/Variables.css: Added.
        (:root):
        Introduce new global variables.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
        (.css-style-text-editor > .CodeMirror .cm-link):
        * UserInterface/Views/ConsoleMessageView.css:
        (.console-message-preview-divider):
        (.console-message-enclosed):
        (.console-message .console-message-extra-parameters-container > li::before):
        (.console-saved-variable):
        * UserInterface/Views/DOMTreeOutline.css:
        (.dom-tree-outline li.selected > span::after):
        * UserInterface/Views/FormattedValue.css:
        (:matches(.formatted-array, .formatted-map, .formatted-set, .formatted-weakmap, .formatted-weakset) > .size):
        (.formatted-number):
        (.formatted-boolean):
        (.formatted-string):
        (.formatted-regexp):
        (.formatted-symbol):
        * UserInterface/Views/ObjectPreviewView.css:
        (.object-preview > .size):
        * UserInterface/Views/ObjectTreeArrayIndexTreeElement.css:
        (.object-tree-array-index .index-name):
        * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
        (.syntax-highlighted :matches(.css-keyword, .css-tag, .css-at-rule, .css-important, .javascript-keyword, .html-tag)):
        (.syntax-highlighted :matches(.css-number, .javascript-number)):
        (.syntax-highlighted :matches(.css-string, .javascript-string, .html-attribute-value)):
        (.syntax-highlighted .javascript-regexp):
        * UserInterface/Views/TypeTokenView.css:
        (.type-token-symbol):
        Make use of variables.

2015-10-21  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Typo in a property name: style.inerhited
        https://bugs.webkit.org/show_bug.cgi?id=150391

        Reviewed by Csaba Osztrogonác.

        * UserInterface/Views/RulesStyleDetailsPanel.js:
        (WebInspector.RulesStyleDetailsPanel.prototype.refresh):

2015-10-20  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Pressing Command-S while focused on the styles sidebar should save CSS file
        https://bugs.webkit.org/show_bug.cgi?id=150298

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CSSStyleDeclarationSection.js:
        (WebInspector.CSSStyleDeclarationSection):
        Beep when saving didn't work. Inline CSS and CSS in style attributes aren't curently supported.

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

        Web Inspector: JavaScriptCore should parse sourceURL and sourceMappingURL directives
        https://bugs.webkit.org/show_bug.cgi?id=150096

        Reviewed by Geoffrey Garen.

        * UserInterface/Test/InspectorProtocol.js:
        (InspectorProtocol._sendMessage):
        (InspectorProtocol.dispatchMessageFromBackend):
        This is only used for tests, so avoid console.log
        and just dump directly to the system console.

2015-10-19  Xabier Rodriguez Calvar  <calvaris@igalia.com>

        [Streams API] Add skeleton for initial WritableStream support
        https://bugs.webkit.org/show_bug.cgi?id=149951

        Reviewed by Darin Adler.

        * UserInterface/Models/NativeFunctionParameters.js: Added support for WritableStream.

2015-10-19  James Craig  <jcraig@apple.com>

        Web Inspector: AX: console list 'input'/'output' markers are not perceivable
        https://bugs.webkit.org/show_bug.cgi?id=133045

        Enabling WebKit Web Inspector console pseudo-element labels using the new CSS4 'alt' property.

        Reviewed by Brian Burg.

        * UserInterface/Views/LogContentView.css: 
        (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted.selected):
        (.console-messages:focus .console-item.selected .console-user-command-result.console-log-level::before):
        (@media reader): Deleted.

2015-10-18  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Console Search should update when console is cleared
        https://bugs.webkit.org/show_bug.cgi?id=150141

        Reviewed by Brian Burg.

        * UserInterface/Views/LogContentView.js:
        (WebInspector.LogContentView.prototype._logCleared):
        Reperform the search if there is a search query.

        (WebInspector.LogContentView.prototype._filterMessageElements):
        Reperform the current search.

2015-10-16  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Add "unset" to CSS value autocompletion
        https://bugs.webkit.org/show_bug.cgi?id=127616

        Reviewed by Brian Burg.

        * UserInterface/Models/CSSCompletions.js:
        * UserInterface/Models/CSSKeywordCompletions.js:
        (WebInspector.CSSKeywordCompletions.forProperty):
        Treat "unset" similiar to "initial". Also, no need for "initial"
        in an individual property's list. We always include it.

        * UserInterface/Views/VisualStyleDetailsPanel.js:
        (WebInspector.VisualStyleDetailsPanel):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateDisplaySection):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateAlignmentSection):
        Add "Unset" alongside "Initial".

2015-10-14  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Include Garbage Collection Event in Timeline
        https://bugs.webkit.org/show_bug.cgi?id=142510

        Reviewed by Geoffrey Garen and Brian Burg.

        * UserInterface/Base/Utilities.js:
        (Array.prototype.partition):
        Helper to partition an Array into two arrays.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Base/Main.js:
        (WebInspector.loaded):
        * UserInterface/Test.html:
        * UserInterface/Test/Test.js:
        (WebInspector.loaded):
        * UserInterface/Protocol/HeapObserver.js: Added.
        (WebInspector.HeapObserver.prototype.garbageCollected):
        (WebInspector.HeapObserver):
        Create the new observer and manager.

        * UserInterface/Models/GarbageCollection.js: Added.
        (WebInspector.GarbageCollection):
        (WebInspector.GarbageCollection.fromPayload):
        (WebInspector.GarbageCollection.prototype.get type):
        (WebInspector.GarbageCollection.prototype.get startTime):
        (WebInspector.GarbageCollection.prototype.get endTime):
        (WebInspector.GarbageCollection.prototype.get duration):
        Model object for Heap.GarbageCollection.

        * UserInterface/Controllers/HeapManager.js: Added.
        (WebInspector.HeapManager):
        (WebInspector.HeapManager.prototype.garbageCollected):
        Dispatch events with the GC object.

        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager):
        (WebInspector.TimelineManager.prototype._garbageCollected):
        Include new GC Timeline Events as Script events.

        * UserInterface/Views/ScriptTimelineOverviewGraph.js:
        (WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout):
        For the Script overview, make two sets of bars, one for Scripts and one for GCs.
        The GCs bar will be overlaid on top of the the Scripts bar. This is particularly
        useful since a GC can happen during script execution.

        * UserInterface/Images/TimelineRecordGarbageCollection.svg: Added.
        * UserInterface/Main.html:
        * UserInterface/Models/ScriptTimelineRecord.js:
        (WebInspector.ScriptTimelineRecord.prototype.isGarbageCollection):
        (WebInspector.ScriptTimelineRecord.EventType.displayName):
        * UserInterface/Views/ScriptTimelineDataGridNode.js:
        (WebInspector.ScriptTimelineDataGridNode.prototype.get data):
        (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent):
        (WebInspector.ScriptTimelineDataGridNode):
        * UserInterface/Views/ScriptTimelineView.js:
        (WebInspector.ScriptTimelineView.prototype._processPendingRecords):
        * UserInterface/Views/SourceCodeTimelineTreeElement.js:
        (WebInspector.SourceCodeTimelineTreeElement):
        * UserInterface/Views/TimelineIcons.css:
        (.garbage-collection-profile-record .icon):
        * UserInterface/Views/TimelineRecordBar.css:
        (.timeline-record-bar.timeline-record-type-script.script-timeline-record-garbage-collected > .segment):
        UI for GC events.

        * UserInterface/Views/TimelineRecordBar.js:
        (WebInspector.TimelineRecordBar.createCombinedBars):
        Simplify by storing start time into a variable.

        * UserInterface/Views/TimelineRecordTreeElement.js:
        (WebInspector.TimelineRecordTreeElement):
        Icon for GC events.

2015-10-15  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r191135.
        https://bugs.webkit.org/show_bug.cgi?id=150197

        This patch causes 50+ LayoutTest crashes related to the
        inspector (Requested by ryanhaddad on #webkit).

        Reverted changeset:

        "Web Inspector: JavaScriptCore should parse sourceURL and
        sourceMappingURL directives"
        https://bugs.webkit.org/show_bug.cgi?id=150096
        http://trac.webkit.org/changeset/191135

2015-10-15  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: JavaScriptCore should parse sourceURL and sourceMappingURL directives
        https://bugs.webkit.org/show_bug.cgi?id=150096

        Reviewed by Geoffrey Garen.

        * UserInterface/Test/InspectorProtocol.js:
        (InspectorProtocol._sendMessage):
        (InspectorProtocol.dispatchMessageFromBackend):
        This is only used for tests, so avoid console.log
        and just dump directly to the system console.

2015-10-13  João Oliveira  <hello@jxs.pt>

        Web Inspector: Console SearchBar should work more like ContentBrowser FindBanner
        https://bugs.webkit.org/show_bug.cgi?id=149505

        Reviewed by Joseph Pecoraro.

        Console tab now uses findBanner, adapted LogContentView to use findBanner,
        and findBanner to be more agnostic to both usecases, either as fixed, on console tab,
        and hideable on other inspector tabs.

        * UserInterface/Views/FindBanner.css:
        (.find-banner.console-find-banner):
        (.find-banner.console-findbanner input[type="search"]):
        * UserInterface/Views/FindBanner.js:
        (WebInspector.FindBanner):
        (WebInspector.FindBanner.set targetElement.delayedWork):
        (WebInspector.FindBanner.prototype.set targetElement):
        (WebInspector.FindBanner.prototype.get showing):
        (WebInspector.FindBanner.prototype.focus):
        (WebInspector.FindBanner.prototype._clearAndBlur):
        (WebInspector.FindBanner.prototype.show.delayedWork):
        (WebInspector.FindBanner.prototype.show):
        (WebInspector.FindBanner.prototype.hide):
        (WebInspector.FindBanner.prototype.get element): Deleted.
        (WebInspector.FindBanner.prototype._inputFieldSearch): Deleted.
        * UserInterface/Views/LogContentView.js:
        (WebInspector.LogContentView):
        (WebInspector.LogContentView.prototype.get navigationItems):
        (WebInspector.LogContentView.prototype.handleFindEvent):
        (WebInspector.LogContentView.prototype.findBannerRevealPreviousResult):
        (WebInspector.LogContentView.prototype.findBannerRevealNextResult):
        (WebInspector.LogContentView.prototype._filterMessageElements):
        (WebInspector.LogContentView.prototype.findBannerPerformSearch):
        (WebInspector.LogContentView.prototype.findBannerSearchCleared):
        (WebInspector.LogContentView.prototype.revealNextSearchResult):
        (WebInspector.LogContentView.prototype.revealPreviousSearchResult):
        (WebInspector.LogContentView.prototype._performSearch):
        (WebInspector.LogContentView.prototype.searchBarDidActivate): Deleted.
        (WebInspector.LogContentView.prototype._searchTextDidChange): Deleted.

2015-10-13  Nikita Vasilyev  <nvasilyev@apple.com>

        REGRESSION(r189567): Web Inspector: Clipped filter icons when debugger sidebar is narrow
        https://bugs.webkit.org/show_bug.cgi?id=150023

        r189567 changed flexbox items' default min-width from 0 to auto.
        Explicitly set it to 0 in CSS.

        Reviewed by Brian Burg.

        * UserInterface/Views/FilterBar.css:
        (.filter-bar > input[type="search"]):

2015-10-13  Yusuke Suzuki  <utatane.tea@gmail.com>

        Web Inspector: Don't shadow global Object constructor in WebInspector.Object class definition
        https://bugs.webkit.org/show_bug.cgi?id=150093

        Reviewed by Joseph Pecoraro.

        Currently, class expression does not define any variables. So even in `class Object { }`,
        we were able to touch the global Object constructor (like `Object.keys`).
        However, that is a bug. After https://bugs.webkit.org/show_bug.cgi?id=150089 fixes that bug,
        the global `Object` is shadowed by the user-defined `class Object` name.

        To solve this issue, we changed the `class Object` to `class WebInspectorObject`.
        And we expose this class as a `WebInspector.Object`.

        * UserInterface/Base/Object.js:

2015-10-10  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Improve error messages for internal Inspector code
        https://bugs.webkit.org/show_bug.cgi?id=149995

        Don't log "error.stack" since the error view already includes a nicely formatted stacktrace.

        Reviewed by Timothy Hatcher.

        * UserInterface/Protocol/InspectorBackend.js:
        (InspectorBackendClass.prototype._dispatchResponseToCallback):
        (InspectorBackendClass.prototype._dispatchEvent):

2015-10-08  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Stack trace view doesn't properly display lines without function names
        https://bugs.webkit.org/show_bug.cgi?id=149922

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/StackTrace.js:
        (WebInspector.StackTrace._parseStackTrace):
        (WebInspector.StackTrace._parseLocation): Added.

2015-10-08  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: An error view doesn't get expanded by clicking on the expand arrow
        https://bugs.webkit.org/show_bug.cgi?id=149917

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ErrorObjectView.css:
        (.error-object > .formatted-error::before):
        (.error-object.expanded > .formatted-error::before):
        (.error-object::before): Deleted.
        (.error-object.expanded::before): Deleted.

2015-10-06  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Clicking on a stack trace link does not navigate to the corresponding line
        https://bugs.webkit.org/show_bug.cgi?id=149405

        lineNumber should be a number type but it was a string.

        Reviewed by Timothy Hatcher.

        * UserInterface/Base/Main.js:
        (WebInspector.openURL):
        (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
        Keep lineNumber undefined when it isn't present in the string.
        WebInspector.linkifyStringAsFragmentWithCustomLinkifier is only used by
        WebInspector.linkifyStringAsFragment and it expects lineNumber to be undefined
        when it wasn't found in the parsed string.

2015-10-06  Devin Rousso  <dcrousso+webkit@gmail.com>

        Web Inspector: Fix spacing of FindBanner prev/next buttons
        https://bugs.webkit.org/show_bug.cgi?id=149717

        Reviewed by Darin Adler.

        The sizing and spacing of the previous and next buttons in the FindBanner
        is slightly off and should be readjusted to ensure that both buttons are
        the same size and have the same spacing.

        * UserInterface/Views/FindBanner.css:
        (.find-banner > button.segmented.right > .glyph):
        (.find-banner > button.segmented):
        (.find-banner > button.segmented > .glyph):
        (.find-banner > button.segmented.left): Deleted.
        (.find-banner > button.segmented.left > .glyph): Deleted.
        (.find-banner > button.segmented.right): Deleted.

2015-10-06  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Simplify TimelineRecordBar a bit
        https://bugs.webkit.org/show_bug.cgi?id=149733

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/TimelineRecordBar.js:
        (WebInspector.TimelineRecordBar.prototype.set records):

2015-10-05  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Error displayed as an object when passed as a second argument to console.log
        https://bugs.webkit.org/show_bug.cgi?id=149799

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/ConsoleMessageView.js:
        (WebInspector.ConsoleMessageView.prototype._appendExtraParameters):
        Don't format errors as objects.

        (WebInspector.ConsoleMessageView.prototype._formatParameter):
        (WebInspector.ConsoleMessageView.prototype._formatParameterAsValue):
        (WebInspector.ConsoleMessageView.prototype._formatParameterAsString):
        (WebInspector.ConsoleMessageView.prototype._formatParameterAsNode):
        (WebInspector.ConsoleMessageView.prototype._formatParameterAsObject):
        (WebInspector.ConsoleMessageView.prototype._formatParameterAsError):
        (WebInspector.ConsoleMessageView.prototype._formatParameterAsArray):
        Replace an unnecessary span element with a document fragment.

        * UserInterface/Views/ErrorObjectView.css:
        (.error-object):
        Display an error object on the same line as a list bullet.

2015-10-05  Myles C. Maxfield  <mmaxfield@apple.com>

        Unprefix -webkit-font-feature-settings
        https://bugs.webkit.org/show_bug.cgi?id=149722

        Reviewed by Sam Weinig.

        * UserInterface/Models/CSSKeywordCompletions.js:

2015-10-04  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Wrong column numbers in error object views
        https://bugs.webkit.org/show_bug.cgi?id=149795

        Convert columnNumber and lineNumber properties from strings to numbers
        to prevent accidental string concatenations.

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/StackTrace.js:
        (WebInspector.StackTrace._parseStackTrace):

2015-10-02  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Add breakpoint option to ignore n times before stopping
        https://bugs.webkit.org/show_bug.cgi?id=147664

        Reviewed by Timothy Hatcher.

        * Localizations/en.lproj/localizedStrings.js:
        New strings for breakpoint popover labels.

        * UserInterface/Controllers/BreakpointPopoverController.js:
        (WebInspector.BreakpointPopoverController.prototype._createPopoverContent):
        Add ignoreCount UI to popover, if backend support exists. UI based on same
        feature in Xcode's breakpoint editing dialog.
        (WebInspector.BreakpointPopoverController.prototype._popoverIgnoreInputChanged):
        User input sanity checks on numeric input.

        * UserInterface/Controllers/DebuggerManager.js:
        Listen for changes to breakpoint ignoreCount property.

        * UserInterface/Models/Breakpoint.js:
        (WebInspector.Breakpoint):
        (WebInspector.Breakpoint.prototype.get ignoreCount):
        (WebInspector.Breakpoint.prototype.set ignoreCount):
        New property for ignoreCount.
        (WebInspector.Breakpoint.prototype.get options):
        Added ignoreCount to options object.
        (WebInspector.Breakpoint.prototype.get info):
        Added ignoreCount to info object.

        * UserInterface/Views/BreakpointPopoverController.css:
        (#edit-breakpoint-popover-ignore):
        New styles for breakpoint popover.

2015-10-02  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Cleanup DebuggerManager, reduce `delete` and use Maps instead of objects
        https://bugs.webkit.org/show_bug.cgi?id=149760

        Reviewed by Joseph Pecoraro.

        Replaced objects used as hashmaps with Map.

        * UserInterface/Controllers/DebuggerManager.js:
        (WebInspector.DebuggerManager.prototype.breakpointsForSourceCode):
        (WebInspector.DebuggerManager.prototype.breakpointForIdentifier):
        (WebInspector.DebuggerManager.prototype.scriptForIdentifier):
        (WebInspector.DebuggerManager.prototype.scriptsForURL):
        (WebInspector.DebuggerManager.prototype.get knownNonResourceScripts):
        (WebInspector.DebuggerManager.prototype.removeBreakpoint):
        (WebInspector.DebuggerManager.prototype.breakpointResolved):
        (WebInspector.DebuggerManager.prototype.reset):
        (WebInspector.DebuggerManager.prototype.scriptDidParse):
        (WebInspector.DebuggerManager.prototype._sourceCodeLocationFromPayload):
        (WebInspector.DebuggerManager.prototype._setBreakpoint.didSetBreakpoint):
        (WebInspector.DebuggerManager.prototype._setBreakpoint):
        (WebInspector.DebuggerManager.prototype._removeBreakpoint.didRemoveBreakpoint):
        (WebInspector.DebuggerManager.prototype._removeBreakpoint):

2015-10-02  Devin Rousso  <dcrousso+webkit@gmail.com>

        Web Inspector: Copying inline style text puts "undefined" in the pasteboard
        https://bugs.webkit.org/show_bug.cgi?id=149155

        Reviewed by Brian Burg.

        CSSStyleDeclarations for inline styles do not have a owner CSSRule, which means
        that they do not have a selector or media list. CSS strings must have a selector
        and, for inline styles without an owner rule and selector, this was a problem.

        * UserInterface/Models/CSSStyleDeclaration.js:
        (WebInspector.CSSStyleDeclaration.prototype.get mediaList):
        (WebInspector.CSSStyleDeclaration.prototype.get selectorText):
        (WebInspector.CSSStyleDeclaration.prototype.generateCSSRuleString):
        Added getters for the list of media queries and selector text with fallbacks
        for CSSStyleDeclarations that do not have an owner CSSRule (inline styles).

        * UserInterface/Test.html:
        Added CSSMedia include for new inspector/css/generate-css-rule-string.html test.

        * UserInterface/Views/VisualStyleSelectorTreeItem.js:
        (WebInspector.VisualStyleSelectorTreeItem.prototype._handleContextMenuEvent):
        Removed parameter that no longer exists.

2015-10-02  Joseph Pecoraro  <pecoraro@apple.com>

        Unreviewed, rolling out r190520, some tests assert / crash.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Base/Main.js:
        (WebInspector.loaded): Deleted.
        * UserInterface/Base/Utilities.js:
        (value): Deleted.
        * UserInterface/Controllers/HeapManager.js: Removed.
        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager): Deleted.
        (WebInspector.TimelineManager.prototype._garbageCollected): Deleted.
        * UserInterface/Images/TimelineRecordGarbageCollection.svg: Removed.
        * UserInterface/Main.html:
        * UserInterface/Models/GarbageCollection.js: Removed.
        * UserInterface/Models/ScriptTimelineRecord.js:
        (WebInspector.ScriptTimelineRecord.EventType.displayName):
        (WebInspector.ScriptTimelineRecord.prototype.isGarbageCollection): Deleted.
        * UserInterface/Protocol/HeapObserver.js: Removed.
        * UserInterface/Test.html:
        * UserInterface/Test/Test.js:
        (WebInspector.loaded): Deleted.
        * UserInterface/Views/ScriptTimelineDataGridNode.js:
        (WebInspector.ScriptTimelineDataGridNode.prototype.get data):
        (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent): Deleted.
        (WebInspector.ScriptTimelineDataGridNode): Deleted.
        * UserInterface/Views/ScriptTimelineOverviewGraph.js:
        (WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout):
        * UserInterface/Views/ScriptTimelineView.js:
        (WebInspector.ScriptTimelineView.prototype._processPendingRecords):
        * UserInterface/Views/SourceCodeTimelineTreeElement.js:
        (WebInspector.SourceCodeTimelineTreeElement):
        * UserInterface/Views/TimelineIcons.css:
        (.garbage-collection-profile-record .icon): Deleted.
        * UserInterface/Views/TimelineRecordBar.css:
        (.timeline-record-bar.timeline-record-type-script.script-timeline-record-garbage-collected > .segment): Deleted.
        * UserInterface/Views/TimelineRecordBar.js:
        (WebInspector.TimelineRecordBar.createCombinedBars):
        * UserInterface/Views/TimelineRecordTreeElement.js:
        (WebInspector.TimelineRecordTreeElement):

2015-10-02  Devin Rousso  <dcrousso+webkit@gmail.com>

        Web Inspector: Option-Click on a property name in the Computed view should jump to resource view
        https://bugs.webkit.org/show_bug.cgi?id=149521

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/DOMNodeStyles.js:
        (WebInspector.DOMNodeStyles.prototype.effectivePropertyForName):
        Now tries to search for a non-canonical property before falling back to
        the canonical version.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded):
        If the user option-clicks the goto arrow, it shows the source for the
        property instead.

        * UserInterface/Views/ComputedStyleDetailsPanel.js:
        (WebInspector.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorShowProperty.delegateShowProperty):
        (WebInspector.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorShowProperty):
        Attempts to show the source of the given property. Will fallback to
        highlighting the property in the rules panel.

2015-10-02  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Include Garbage Collection Event in Timeline
        https://bugs.webkit.org/show_bug.cgi?id=142510

        Reviewed by Geoffrey Garen.

        * UserInterface/Base/Utilities.js:
        (Array.prototype.parition):
        Helper to partition an Array into two arrays.

        * UserInterface/Main.html:
        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Base/Main.js:
        (WebInspector.loaded):
        * UserInterface/Test.html:
        * UserInterface/Test/Test.js:
        (WebInspector.loaded):
        * UserInterface/Protocol/HeapObserver.js:
        (WebInspector.HeapObserver.prototype.garbageCollected):
        (WebInspector.HeapObserver):
        Create the new observer and manager.

        * UserInterface/Models/GarbageCollection.js:
        (WebInspector.GarbageCollection):
        (WebInspector.GarbageCollection.fromPayload):
        (WebInspector.GarbageCollection.prototype.get type):
        (WebInspector.GarbageCollection.prototype.get startTime):
        (WebInspector.GarbageCollection.prototype.get endTime):
        (WebInspector.GarbageCollection.prototype.get duration):
        Model object for Heap.GarbageCollection.

        * UserInterface/Controllers/HeapManager.js:
        (WebInspector.HeapManager):
        (WebInspector.HeapManager.prototype.garbageCollected):
        Dispatch events with.

        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager):
        (WebInspector.TimelineManager.prototype._garbageCollected):
        Include new GC Timeline Events as Script events.

        * UserInterface/Views/ScriptTimelineOverviewGraph.js:
        (WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout):
        For the Script overview, make two sets of bars, one for Scripts and one for GCs.
        The GCs bar will be on top of the the Scripts bar. This is particularly useful
        since a GC can happen during script execution.

        * UserInterface/Views/ScriptTimelineDataGridNode.js:
        (WebInspector.ScriptTimelineDataGridNode.prototype.get data):
        (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent):
        (WebInspector.ScriptTimelineDataGridNode):
        Give a NaN call count to top level Script DataGridNodes.
        In the UI, display the empty placeholder for NaN call counts.

        * UserInterface/Images/TimelineRecordGarbageCollection.svg: Added.
        * UserInterface/Models/ScriptTimelineRecord.js:
        (WebInspector.ScriptTimelineRecord.prototype.isGarbageCollection):
        (WebInspector.ScriptTimelineRecord.EventType.displayName):
        * UserInterface/Views/ScriptTimelineView.js:
        (WebInspector.ScriptTimelineView.prototype._processPendingRecords):
        * UserInterface/Views/SourceCodeTimelineTreeElement.js:
        (WebInspector.SourceCodeTimelineTreeElement):
        * UserInterface/Views/TimelineIcons.css:
        (.garbage-collection-profile-record .icon):
        * UserInterface/Views/TimelineRecordBar.css:
        (.timeline-record-bar.timeline-record-type-script.script-timeline-record-garbage-collected > .segment):
        UI for GC events.

        * UserInterface/Views/TimelineRecordBar.js:
        (WebInspector.TimelineRecordBar.createCombinedBars):
        Simplify by storing start time into a variable.

        * UserInterface/Views/TimelineRecordTreeElement.js:
        (WebInspector.TimelineRecordTreeElement):
        Icon for GC events.

2015-10-02  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Fix indentation of console message parameters
        https://bugs.webkit.org/show_bug.cgi?id=149740

        Reviewed by Darin Adler.

        * UserInterface/Views/ConsoleMessageView.css:
        (.console-message .console-message-stack-trace-container > li):
        (.console-message .console-message-extra-parameters-container > li::before):

2015-10-02  Andres Gomez  <agomez@igalia.com>

        [GTK] Web Inspector: Add GTK+ icons for new plus icons in the style sidebar
        https://bugs.webkit.org/show_bug.cgi?id=149227

        Reviewed by Carlos Garcia Campos.

        * UserInterface/Images/gtk/NewTabPlus.svg: Updated.
        * UserInterface/Images/gtk/Plus13.svg: Copied from Source/WebInspectorUI/UserInterface/Images/gtk/Plus.svg.
        * UserInterface/Images/gtk/Plus15.svg: Renamed from Source/WebInspectorUI/UserInterface/Images/gtk/Plus.svg.

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

        Web Inspector: Simplify filterableData processing
        https://bugs.webkit.org/show_bug.cgi?id=149730

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/BreakpointTreeElement.js:
        (WebInspector.BreakpointTreeElement.prototype.get filterableData):
        * UserInterface/Views/NavigationSidebarPanel.js:
        (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.matchTextFilter):
        * UserInterface/Views/ResourceTreeElement.js:
        (WebInspector.ResourceTreeElement.prototype.get filterableData):
        * UserInterface/Views/ScriptTimelineView.js:
        (WebInspector.ScriptTimelineView.prototype.matchTreeElementAgainstCustomFilters): Deleted.
        * UserInterface/Views/SearchResultTreeElement.js:
        (WebInspector.SearchResultTreeElement.prototype.get filterableData):
        (WebInspector.SearchResultTreeElement):

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

        Web Inspector: Do not immediately create all ProfileNodeTreeElements when showing JavaScript and Events timeline
        https://bugs.webkit.org/show_bug.cgi?id=149726

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/NavigationSidebarPanel.js:
        (WebInspector.NavigationSidebarPanel.prototype.shouldFilterPopulate):
        (WebInspector.NavigationSidebarPanel.prototype._updateFilter):
        (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
        We were populating during filtering if there were any custom filters.
        However the TimelineSidebarPanel has custom filters (based on time and type)
        but those don't need to trigger population. Delay population until it
        would actually be needed (like a text search).

        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel.prototype.shouldFilterPopulate):
        Do not populate on filter via this custom filters.

2015-10-01  Matt Baker  <mattbaker@apple.com>

        Web Inspector: REGRESSION (r189567): Toolbar collapses when inspector at minimum height with console open
        https://bugs.webkit.org/show_bug.cgi?id=149725

        Reviewed by Timothy Hatcher.

        CSS Flexible Box Layout Module Level 1 introduces a new `auto` initial value for the min-{width|height}
        of flex box items, breaking some areas of the inspector UI. This is fixed by setting a min-height of
        zero for the #main <div>.

        * UserInterface/Views/Main.css:
        (#main):

2015-10-01  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Clip string previews
        https://bugs.webkit.org/show_bug.cgi?id=149708

        Only show first 140 characters in strings previews.

        Reviewed by Joseph Pecoraro.

        * UserInterface/Base/Utilities.js:
        (String.prototype.truncate): Added.
        A smart trancate function that doesn't split words.

        * UserInterface/Views/ConsoleMessageView.js:
        (WebInspector.ConsoleMessageView.prototype._shouldConsiderObjectLossless):
        * UserInterface/Views/FormattedValue.js:
        (WebInspector.FormattedValue.createElementForTypesAndValue):

2015-09-30  João Oliveira  <hello@jxs.pt>

        Web Inspector: Adjust font size of Developer Tools using Command,+ or Command,-
        https://bugs.webkit.org/show_bug.cgi?id=149590

        Reviewed by Joseph Pecoraro.

        Patch by João Oliveira and Brian Burg.

        * UserInterface/Base/Main.js:
        (WebInspector.contentLoaded): Add global keyboard shortcuts for zoom in and zoom out.

2015-10-01  Andres Gomez  <agomez@igalia.com>

        [GTK] Web Inspector: Add GTK+ icons for the numerical input and slider based Visual editors for CSS properties
        https://bugs.webkit.org/show_bug.cgi?id=147847

        Reviewed by Carlos Garcia Campos.

        * UserInterface/Images/gtk/VisualStylePropertyLinked.svg: Added.
        * UserInterface/Images/gtk/VisualStylePropertyUnlinked.svg: Added.

2015-10-01  Andres Gomez  <agomez@igalia.com>

        [GTK] Web Inspector: Add GTK+ icons for the different types of non-numerical Visual editors for CSS properties
        https://bugs.webkit.org/show_bug.cgi?id=147846

        Reviewed by Carlos Garcia Campos.

        * UserInterface/Images/gtk/AUTHORS: Updated.
        * UserInterface/Images/gtk/ClearBoth.svg: Added.
        * UserInterface/Images/gtk/ClearLeft.svg: Added.
        * UserInterface/Images/gtk/ClearRight.svg: Added.
        * UserInterface/Images/gtk/CubicBezier.svg: Updated.
        * UserInterface/Images/gtk/FloatLeft.svg: Added.
        * UserInterface/Images/gtk/FloatRight.svg: Added.
        * UserInterface/Images/gtk/FontStyleItalic.svg: Added.
        * UserInterface/Images/gtk/FontStyleNormal.svg: Added.
        * UserInterface/Images/gtk/FontVariantSmallCaps.svg: Added.
        * UserInterface/Images/gtk/TextAlignCenter.svg: Added.
        * UserInterface/Images/gtk/TextAlignJustify.svg: Added.
        * UserInterface/Images/gtk/TextAlignLeft.svg: Added.
        * UserInterface/Images/gtk/TextAlignRight.svg: Added.
        * UserInterface/Images/gtk/TextDecorationLineThrough.svg: Added.
        * UserInterface/Images/gtk/TextDecorationOverline.svg: Added.
        * UserInterface/Images/gtk/TextDecorationUnderline.svg: Added.
        * UserInterface/Images/gtk/TextTransformCapitalize.svg: Added.
        * UserInterface/Images/gtk/TextTransformLowercase.svg: Added.
        * UserInterface/Images/gtk/TextTransformUppercase.svg: Added.
        * UserInterface/Images/gtk/VisualStyleNone.svg: Added.

2015-09-30  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Reduce `delete` in Timeline related classes
        https://bugs.webkit.org/show_bug.cgi?id=149686

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager.prototype.capturingStopped):
        * UserInterface/Views/TimelineDataGrid.js:
        (WebInspector.TimelineDataGrid.prototype._refreshDirtyDataGridNodes):
        (WebInspector.TimelineDataGrid.prototype._sort):
        (WebInspector.TimelineDataGrid.prototype._updatePopoverForSelectedNode):
        * UserInterface/Views/TimelineOverview.js:
        (WebInspector.TimelineOverview.prototype.updateLayout):
        (WebInspector.TimelineOverview.prototype._handleScrollEvent):
        * UserInterface/Views/TreeOutlineDataGridSynchronizer.js:
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeOutlineScrolled):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridScrolled):

        * UserInterface/Views/ProbeSetDataGrid.js:
        (WebInspector.ProbeSetDataGrid):
        (WebInspector.ProbeSetDataGrid.prototype._teardownData):
        Remove an unused member variable as well.

2015-09-30  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Thousands of timers fire after switching to JavaScript and Events timeline
        https://bugs.webkit.org/show_bug.cgi?id=149682

        Reviewed by Timothy Hatcher.

        Setting the status element of a GeneralTreeElement was triggering a
        TreeOutline.onchange event. For TreeOutlines with lots of tree elements
        (JavaScript & Events with profile nodes) this could result in thousands
        of onchange events that causes lots of unnecessary work and blocks
        future timers (like scroll synchronization) from firing.

        This change eliminates TreeOutline change events for tree element
        changes that are not interesting.

        * UserInterface/Views/GeneralTreeElement.js:
        (WebInspector.GeneralTreeElement.prototype.set status): Deleted.
        * UserInterface/Views/TreeOutline.js:
        (WebInspector.TreeElement.prototype.set tooltip): Deleted.

2015-09-30  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Reduce `delete` in TreeElements and DataGridNodes
        https://bugs.webkit.org/show_bug.cgi?id=149680

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/BreakpointTreeElement.js:
        (WebInspector.BreakpointTreeElement):
        (WebInspector.BreakpointTreeElement.prototype._removeProbeSet):
        * UserInterface/Views/DataGrid.js:
        (WebInspector.DataGrid.prototype._editingCommitted.moveToNextCell):
        (WebInspector.DataGrid.prototype._editingCommitted):
        (WebInspector.DataGrid.prototype._editingCancelled):
        (WebInspector.DataGrid.prototype.removeColumn):
        (WebInspector.DataGridNode.prototype.refreshIfNeeded):
        (WebInspector.DataGridNode.prototype.refresh):
        (WebInspector.DataGridNode.prototype.expand):
        (WebInspector.DataGridNode.prototype.restorePosition):
        (WebInspector.DataGridNode):
        * UserInterface/Views/GeneralTreeElement.js:
        (WebInspector.GeneralTreeElement.prototype.ondetach):
        * UserInterface/Views/ResourceTimelineDataGridNode.js:
        (WebInspector.ResourceTimelineDataGridNode.prototype.refresh):
        * UserInterface/Views/TreeOutline.js:
        (WebInspector.TreeElement.prototype._fireDidChange):
        (WebInspector.TreeElement.prototype.expand):

2015-09-30  Andres Gomez  <agomez@igalia.com>

        [GTK] Web Inspector: Add GTK+ icon for the Bezier curve visual editor
        https://bugs.webkit.org/show_bug.cgi?id=147681

        Reviewed by Joseph Pecoraro.

        * UserInterface/Images/gtk/CubicBezier.svg: Added.

2015-09-29  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Console completion suggestions should include properties on Object (hasOwnProperty, toString, etc)
        https://bugs.webkit.org/show_bug.cgi?id=149649

        Reviewed by Darin Adler.

        * UserInterface/Base/Utilities.js:
        (value):
        Since keySets in this instance are often used as hash maps with the
        `in` operator, create a blank object that won't have Object.prototype
        functions that would be seen by `in`.

        * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
        (WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.receivedPropertyNames.compare):
        Sort __defineGetter__ and __lookupGetter__ and friends last, since they
        are rarely used properties.

2015-09-29  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Missing completions for Symbol objects, console.error warning
        https://bugs.webkit.org/show_bug.cgi?id=149641

        Reviewed by Darin Adler.

        * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
        (WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.getCompletions):
        (WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.evaluated):
        Include completions for symbol types.

2015-09-28  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Hitting ESC while editing element tag name leaves element in bad state
        https://bugs.webkit.org/show_bug.cgi?id=149506

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/DOMTreeElement.js:
        (WebInspector.DOMTreeElement.prototype._startEditingTagName.editingCancelled):
        (WebInspector.DOMTreeElement.prototype._startEditingTagName):
        When cancelling editing of a tag name, revert any changes we had
        been making to the closing tag name.

2015-09-28  João Oliveira  <hello@jxs.pt>

        Web Inspector: search shortcut in split console moves focus to search box, but doesn't show caret
        https://bugs.webkit.org/show_bug.cgi?id=149223

        Reviewed by Timothy Hatcher.

        When pressing console find shortcut (CMD+F) SearchBar now checks if there's text on _searchInput
        if so text is selected, if the textbox is empty, textbox gains focus.

        * UserInterface/Views/SearchBar.js:
        (WebInspector.SearchBar.prototype.focus):

2015-09-25  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Reloading the page causes the inspector tab to switch back to "Resources" tab
        https://bugs.webkit.org/show_bug.cgi?id=148732

        Reviewed by Darin Adler.

        * UserInterface/Views/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel.prototype._scriptsCleared):
        Suppress selection of sibiling tree elements when removing extra folders.

2015-09-24  Ryosuke Niwa  <rniwa@webkit.org>

        Ran sort-Xcode-project-file.

        * WebInspectorUI.xcodeproj/project.pbxproj:

2015-09-23  Saam barati  <sbarati@apple.com>

        Fix broken inspector tests.

        Reviewed by Joseph Pecoraro and Brian Burg.

        We can't redeclare a "let" variable and "var" variable using the same
        identifier at the top-level of a function.

        * UserInterface/Test/InspectorProtocol.js:
        (InspectorProtocol.sendCommand):
        (InspectorProtocol.addEventListener):
        (InspectorProtocol.dispatchMessageFromBackend):

2015-09-23  Saam barati  <sbarati@apple.com>

        Web Inspector: Don't use bind() when creating internal AST, instead, pass in "this" parameter to map()
        https://bugs.webkit.org/show_bug.cgi?id=149483

        Reviewed by Joseph Pecoraro.

        * UserInterface/Models/ScriptSyntaxTree.js:
        (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
        (WebInspector.ScriptSyntaxTree):

2015-09-23  Saam barati  <sbarati@apple.com>

        Web Inspector: Type bubbles missing for computed methods and methods on object literals
        https://bugs.webkit.org/show_bug.cgi?id=148562

        Reviewed by Joseph Pecoraro.

        This patch makes sure that computed methods are working
        for both classes and object literals. Also, methods now
        work on object literals. This patch also cleans up the
        "isGetterOrSetter" and "getterOrSetterRange" fields.
        Basically, we used this as a way to ask the type profiler
        for the return types of a function. Now, we just have
        a field called "typeProfilingReturnDivot" that is set
        on all functions so we don't need to conditionally ask
        if it's a getter or setter.

        * UserInterface/Controllers/TypeTokenAnnotator.js:
        (WebInspector.TypeTokenAnnotator.prototype._insertTypeToken):
        * UserInterface/Models/ScriptSyntaxTree.js:
        (WebInspector.ScriptSyntaxTree.functionReturnDivot):
        (WebInspector.ScriptSyntaxTree.prototype._recurseArray):
        (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
        (WebInspector.ScriptSyntaxTree):

2015-09-22  Devin Rousso  <dcrousso+webkit@gmail.com>

        Web Inspector: The right sidebar always opens up on breakpoint
        https://bugs.webkit.org/show_bug.cgi?id=149261

        Reviewed by Timothy Hatcher.

        Whenever the debugger was paused, the sidebar was being forced to open.
        This has been removed in favor of letting the user decide.

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

2015-09-22  Saam barati  <sbarati@apple.com>

        Web Inspector: [ES6] Improve Type Profiler Support for Arrow Functions
        https://bugs.webkit.org/show_bug.cgi?id=143171

        Reviewed by Joseph Pecoraro.

        Esprima and JSC both support arrow functions. We just
        need to support it in our AST and do the right things
        to include support in the type profiler bits.

        * UserInterface/Controllers/TypeTokenAnnotator.js:
        (WebInspector.TypeTokenAnnotator.prototype._insertTypeToken):
        (WebInspector.TypeTokenAnnotator.prototype._translateToOffsetAfterFunctionParameterList.isLineTerminator):
        (WebInspector.TypeTokenAnnotator.prototype._translateToOffsetAfterFunctionParameterList):
        * UserInterface/Models/ScriptSyntaxTree.js:
        (WebInspector.ScriptSyntaxTree.prototype.containsNonEmptyReturnStatement.removeFunctionsFilter):
        (WebInspector.ScriptSyntaxTree.prototype.containsNonEmptyReturnStatement):
        (WebInspector.ScriptSyntaxTree.functionReturnDivot):
        (WebInspector.ScriptSyntaxTree.prototype._recurse):
        (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
        (WebInspector.ScriptSyntaxTree):

2015-09-22  Saam barati  <sbarati@apple.com>

        Web Inspector: update Esprima to latest version
        https://bugs.webkit.org/show_bug.cgi?id=148960

        Reviewed by Joseph Pecoraro.

        Esprima version 2.6 further supports ES6. We're
        updating to it so we can support more ES6 features
        in our script syntax tree.

        * UserInterface/External/Esprima/LICENSE:
        * UserInterface/External/Esprima/esprima.js:
        * UserInterface/Models/ScriptSyntaxTree.js:
        (WebInspector.ScriptSyntaxTree.prototype._gatherIdentifiersInDeclaration.gatherIdentifiers):
        (WebInspector.ScriptSyntaxTree.prototype._gatherIdentifiersInDeclaration):
        (WebInspector.ScriptSyntaxTree.prototype._recurse):
        (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
        (WebInspector.ScriptSyntaxTree):

2015-09-21  Matt Baker  <mattbaker@apple.com>

        Web Inspector: requestAnimationFrame continues to be called after stopping the timeline recording
        https://bugs.webkit.org/show_bug.cgi?id=149390

        Reviewed by Brian Burg.

        * UserInterface/Views/TimelineRecordingContentView.js:
        (WebInspector.TimelineRecordingContentView.prototype._update):
        Stop calling requestAnimationFrame if this._updating is false and recording end time is NaN.

2015-09-17  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Simplify some functional callbacks
        https://bugs.webkit.org/show_bug.cgi?id=149333

        Reviewed by Brian Burg.

        * UserInterface/Controllers/LogManager.js:
        (WebInspector.LogManager.prototype.messageWasAdded):
        * UserInterface/Models/Color.js:
        (WebInspector.Color):
        * UserInterface/Models/Geometry.js:
        (WebInspector.CubicBezier.fromCoordinates):
        * UserInterface/Models/ObjectPreview.js:
        (WebInspector.ObjectPreview.fromPayload):
        * UserInterface/Models/TypeDescription.js:
        (WebInspector.TypeDescription.fromPayload):
        * UserInterface/Protocol/RemoteObject.js:
        (WebInspector.RemoteObject.prototype.getCollectionEntries):
        (WebInspector.RemoteObject.prototype.getCollectionEntries.): Deleted.
        * UserInterface/Views/TextEditor.js:
        (WebInspector.TextEditor.prototype.get markers):
        (WebInspector.TextEditor.prototype.markersAtPosition):

2015-09-17  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Remove unused canClearBrowserCookies / canClearBrowserCache protocol methods
        https://bugs.webkit.org/show_bug.cgi?id=149307

        Reviewed by Brian Burg.

        * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
        * UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
        * UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js:
        * Versions/Inspector-iOS-7.0.json:
        * Versions/Inspector-iOS-8.0.json:
        * Versions/Inspector-iOS-9.0.json:
        Retroactively remove the protocol methods as they were unused
        in these earlier versions as well.

2015-09-17  Joseph Pecoraro  <pecoraro@apple.com>

        REGRESSION: Web Inspector: Double clicking on an attribute second time doesn't work
        https://bugs.webkit.org/show_bug.cgi?id=149259

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/DOMTreeElement.js:
        Be sure to clear the editing state when committed, even if the value did not change.

2015-09-17  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Make Find / Save keyboard shortcuts work better globally
        https://bugs.webkit.org/show_bug.cgi?id=149198

        Reviewed by Brian Burg.

        Previously find/save keyboard shortcuts required the user have the
        ContentView in the ContentBrowser focused. That means nothing would
        happen if you clicked / focused in the Sidebars. This change considers
        the keyboard shortcuts globally, like Copy.

        * UserInterface/Base/Main.js:
        (WebInspector.contentLoaded):
        Add global find and save keyboard shortcuts.

        (WebInspector._focusChanged):
        It is often useful to have the currentFocusedElement know if it is
        in a TextEditor or other CodeMirror editor. When editable the <textarea>
        is selected and not updating focused element. 

        (WebInspector._focusedContentBrowser):
        (WebInspector._focusedContentView):
        Provide helpers for getting a good approximation of the current focused
        or visible content view that users would expect to be interacting with.
        Since the focus event may not fire when clicking around to elements
        like the <body>. Rather than make it explicitly focusable, check the
        document.activeElement, and if it is body aim for the main content
        browser instead of the currentFocusedElement which may be stale.
        Likewise, if the QuickConsole is focused and the split console is
        showing, treat it like the split browser is focused.

        (WebInspector._focusedOrVisibleContentBrowser):
        (WebInspector._focusedOrVisibleContentView):
        If nothing is focused, default to the main content browser.

        (WebInspector._find):
        Pass on to the ContentView which typically handles Find
        by showing its find banner.

        (WebInspector._save):
        (WebInspector._saveAs):
        Check and save the current ContentView if supported.

        * UserInterface/Views/LogContentView.js:
        (WebInspector.LogContentView.prototype.get supportsSearch):
        (WebInspector.LogContentView.prototype.handleFindEvent):
        Add custom find handling for LogContentView from the routed through the
        BrowserController instead of special event handlers in the controller.

        (WebInspector.LogContentView.prototype.get supportsSave):
        (WebInspector.LogContentView.prototype.save): Deleted.
        (WebInspector.LogContentView.prototype.saveAs): Deleted.
        * UserInterface/Controllers/JavaScriptLogViewController.js:
        (WebInspector.JavaScriptLogViewController): Deleted.
        (WebInspector.JavaScriptLogViewController.prototype._handleFindShortcut): Deleted.
        (WebInspector.JavaScriptLogViewController.prototype._save): Deleted.
        (WebInspector.JavaScriptLogViewController.prototype._saveAs): Deleted.
        Special save handling is no longer needed in the log view controller.

        * UserInterface/Views/ContentBrowser.js:
        (WebInspector.ContentBrowser.prototype.handleFindEvent):
        (WebInspector.ContentBrowser): Deleted.
        (WebInspector.ContentBrowser.prototype._save): Deleted.
        (WebInspector.ContentBrowser.prototype._saveAs): Deleted.
        (WebInspector.ContentBrowser.prototype._showFindBanner): Deleted.
        Save functionality moved globally, find functionality moved to a
        public method called like copy event handling.

2015-09-17  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Inactive window may cause many layers to be created due to Dashboard opacity
        https://bugs.webkit.org/show_bug.cgi?id=149274

        Reviewed by Brian Burg.

        The dashboard container gets an opacity when the window is inactive. Combined
        with the animating debugger continue button this caused a cascade of slightly
        overlapping content causing a cascade of a lot of small layers. The simple
        approach taken here is to stop the slight pulse animation when the window
        is inactive.

        * UserInterface/Views/DebuggerDashboardView.css:
        (body.window-inactive .dashboard.debugger .navigation-bar .item.button > .glyph):

2015-09-17  Devin Rousso  <dcrousso+webkit@gmail.com>

        REGRESSION(r188427): Web Inspector: Extra whitespace left behind in styles sidebar after clicking in and out
        https://bugs.webkit.org/show_bug.cgi?id=149197

        Reviewed by Timothy Hatcher.

        In r188427, logic was added to preserve the leading whitespace of styles in a CSS file.
        An unfortunate side effect of this was that extra newlines in between CSS properties
        were treated as valid and left where they were.  This is undesired behaviour and often
        clutters the styles sidebar.  These changes remove the extra newlines.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._formattedContent):

2015-09-16  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Reduce Annotation Update Frequency
        https://bugs.webkit.org/show_bug.cgi?id=149250

        Reviewed by Saam Barati.

        * UserInterface/Controllers/BasicBlockAnnotator.js:
        (WebInspector.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges):
        * UserInterface/Controllers/TypeTokenAnnotator.js:
        (WebInspector.BasicBlockAnnotator.prototype.insertAnnotations):
        Set a lower bound of 500ms on update frequency for both annotators.

2015-09-16  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Fix common typo "supress" => "suppress"
        https://bugs.webkit.org/show_bug.cgi?id=149199

        Reviewed by Gyuyoung Kim.

        * UserInterface/Views/DataGrid.js:
        (WebInspector.DataGridNode.prototype.select):
        (WebInspector.DataGridNode.prototype.deselect):
        * UserInterface/Views/SearchBar.js:
        (WebInspector.SearchBar):

2015-09-16  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Turn off line wrapping in resource text editors
        https://bugs.webkit.org/show_bug.cgi?id=149121

        Reviewed by Darin Adler.

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

2015-09-15  Devin Rousso  <dcrousso+webkit@gmail.com>

        Web Inspector: Picking unchanged for font-size does not reset back to the unchanged value
        https://bugs.webkit.org/show_bug.cgi?id=148351

        Reviewed by Brian Burg.

        Visual number editors now save any new values in the special placeholder element
        to display it whenever the "Unchanged" option is selected by the user.

        * UserInterface/Views/VisualStyleNumberInputBox.js:
        (WebInspector.VisualStyleNumberInputBox.prototype.set value):
        (WebInspector.VisualStyleNumberInputBox.prototype.set units):
        (WebInspector.VisualStyleNumberInputBox.prototype._setNumberInputIsEditable):
        (WebInspector.VisualStyleNumberInputBox.prototype._keywordChanged):
        (WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputKeyDown.adjustValue):
        (WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputKeyDown):

2015-09-15  Brian Burg  <bburg@apple.com>

        Web Inspector: command-click in NewTabContentView should open new tab without switching to it
        https://bugs.webkit.org/show_bug.cgi?id=149173

        Reviewed by Joseph Pecoraro.

        To allow a user to quickly restore tabs, it should be possible to command-click
        all the tabs that are desired without going back through the [+] tab button.

        * UserInterface/Base/Main.js:
        (WebInspector.createNewTabWithType): Renamed.

            Use an options object and split creating the tab from deleting the
            replaced tab and showing the new tab. Add better error checking.

        (WebInspector.createNewTab): Deleted.
        * UserInterface/Views/NewTabContentView.js:
        (WebInspector.NewTabContentView):
        (WebInspector.NewTabContentView.prototype._createNewTabWithType): Renamed.

            If the meta key is pressed, don't switch to the new tab or remove this view
            unless there are no more tabs that can be created beyond the current one.

        (WebInspector.NewTabContentView.prototype._allowableTabTypes): Added.
        (WebInspector.NewTabContentView.prototype._createNewTab): Deleted.

2015-09-15  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Watch Expressions uncaught exceptions on page reload
        https://bugs.webkit.org/show_bug.cgi?id=149150

        Reviewed by Brian Burg.

        Instead of waiting 50ms to Resume, when the page navigates
        Resume immediately. This ensures nobody is using a stale
        activeCallFrame after the navigation.

        Also clean up the manager a bit by removing some deletes.

        * UserInterface/Controllers/DebuggerManager.js:
        (WebInspector.DebuggerManager.restoreBreakpointsSoon):
        (WebInspector.DebuggerManager.prototype.reset):
        (WebInspector.DebuggerManager.prototype.debuggerDidPause):
        (WebInspector.DebuggerManager.prototype.debuggerDidResume):
        (WebInspector.DebuggerManager.prototype._mainResourceDidChange):
        (WebInspector.DebuggerManager.prototype._didResumeInternal):
        (WebInspector.DebuggerManager.prototype._associateBreakpointsWithSourceCode):
        (WebInspector.DebuggerManager.prototype.debuggerDidResume.delayedWork): Deleted.

2015-09-15  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Closing the final inspector tab should be allowed
        https://bugs.webkit.org/show_bug.cgi?id=149130

        Reviewed by Brian Burg.

        Previously we did not allow closing the last inspector tab. Now, we
        will allow closing all inspector tabs, and when the last is closed,
        present an unclosable New Tab tab, which would then be used to create
        a new tab.

        * UserInterface/Base/Main.js:
        (WebInspector.contentLoaded):
        If we have no tabs to restore, show the New Tab tab.

        (WebInspector._openDefaultTab):
        When the last tab is closed, the tab bar requests we open a default tab.
        Open the New Tab tab.

        (WebInspector.TabBar.prototype._handleClick):
        Disallow closing the single default tab.

        (WebInspector._newTabItemClicked):
        (WebInspector.showNewTabTab):
        Share logic for showing the New Tab tab.

        * UserInterface/Views/NewTabContentView.js:
        (WebInspector.NewTabContentView):
        Mark the new tab's tab bar item as the "default" tab bar item. It gets
        special behavior when it is the single normal tab (cannot be closed).

        * UserInterface/Views/TabBar.css:
        (body:not(.window-inactive) .tab-bar > .item:hover > .close):
        (body:not(.window-inactive) .tab-bar.single-tab > .item.default-tab:hover > .close):
        (.tab-bar.single-tab > .item.default-tab > .close):
        (body:not(.window-inactive) .tab-bar:not(.single-tab) > .item:not(.hide-close-button):hover > .close): Deleted.
        (.tab-bar > .item.hide-close-button > .close): Deleted.
        Update styles to only disable the close button on the
        "default-tab" when it is the "single-tab" open. Otherwise
        always allow closing tabs.

        * UserInterface/Views/TabBar.js:
        (WebInspector.TabBar.prototype.removeTabBarItem):
        (WebInspector.TabBar.prototype.hasNormalTab):
        (WebInspector.TabBar.prototype._openDefaultTab):
        When removing the last normal tab, send an event to open
        the default tab.

        * UserInterface/Views/TabBarItem.js:
        (WebInspector.TabBarItem.prototype.get default):
        (WebInspector.TabBarItem.prototype.get isDefaultTab):
        (WebInspector.TabBarItem.prototype.set isDefaultTab):
        (WebInspector.TabBarItem.prototype.get hideCloseButton): Deleted.
        (WebInspector.TabBarItem.prototype.set hideCloseButton): Deleted.
        Switch to marking a tab bar item as the default tab. This tab
        will be allowed when it is the single remaining tab. Currently
        the default tab is always the "New Tab" tab.

2015-09-15  Brian Burg  <bburg@apple.com>

        Web Inspector: new tab content view should disallow split console
        https://bugs.webkit.org/show_bug.cgi?id=149164

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/NewTabContentView.js:
        (WebInspector.NewTabContentView.prototype.get supportsSplitContentBrowser):

2015-09-14  Brian Burg  <bburg@apple.com>

        Web Inspector: tab bar stutters when moving mouse after closing tab
        https://bugs.webkit.org/show_bug.cgi?id=149138

        Reviewed by Joseph Pecoraro.

        The tab bar lacked the 'static-layout' class between when the Promise microtask
        ran and the beginning of the requestAnimationFrame. This caused a flash of
        tabs that are way too wide.

        Re-add the static-layout class immediately after measuring the 'after' tab size.
        This code should probably just manually compute tab sizes since flexbox
        layout is quite slow and our measurement code here forces layout several times.

        * UserInterface/Views/TabBar.js:

2015-09-14  Brian Burg  <bburg@apple.com>

        Web Inspector: backend command promises are not rejected when a protocol error occurs
        https://bugs.webkit.org/show_bug.cgi?id=141403

        Reviewed by Joseph Pecoraro.

        Fix a few corner cases for how InspectorBackend delivers command failures.

        * UserInterface/Protocol/InspectorBackend.js:
        (InspectorBackend.Command.prototype.deliverFailure): Added.
        (InspectorBackend.Command.prototype._invokeWithArguments):

            If argument-checking fails, return a rejected promise or invoke the supplied callback
            on a zero-delay setTimeout to ensure that the reply is asynchronous.

2015-09-14  Brian Burg  <bburg@apple.com>

        Web Inspector: middle-clicking a tab in the tab bar should close it
        https://bugs.webkit.org/show_bug.cgi?id=149135

        Reviewed by Joseph Pecoraro.

        This matches the behavior of the tab bar in Safari and other browsers.

        * UserInterface/Views/TabBar.js:
        (WebInspector.TabBar.prototype._handleMouseDown):
        (WebInspector.TabBar.prototype._handleClick):

2015-09-14  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Border under the styles filter field is clipped
        https://bugs.webkit.org/show_bug.cgi?id=149115

        Reviewed by Darin Adler.

        * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
        (.sidebar > .panel.details.css-style > .content + .options-container > .filter-bar):

2015-09-11  Nan Wang  <n_wang@apple.com>

        AX: ARIA 1.1 @aria-current
        https://bugs.webkit.org/show_bug.cgi?id=146012

        Reviewed by Chris Fleizach.

        Added support for ARIA 1.1 aria-current.

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

2015-09-10  Devin Rousso  <dcrousso+webkit@gmail.com>

        Web Inspector: Styles sidebar says Media: all when it should say Media: screen
        https://bugs.webkit.org/show_bug.cgi?id=148436

        Reviewed by Timothy Hatcher.

        Removed filter that prevented "Media: screen" from being displayed.

        * UserInterface/Views/RulesStyleDetailsPanel.js:
        (WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertMediaOrInheritanceLabel):
        (WebInspector.RulesStyleDetailsPanel.prototype.refresh.filteredMediaList): Deleted.

2015-09-10  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Prefer calling ContentViewContainer.updateLayout directly
        https://bugs.webkit.org/show_bug.cgi?id=149041

        Reviewed by Timothy Hatcher.

        Cleaned up two places where a parent view duplicated logic encapsulated by ContentViewContainer.

        * UserInterface/Views/ClusterContentView.js:
        (WebInspector.ClusterContentView.prototype.updateLayout):
        * UserInterface/Views/TimelineRecordingContentView.js:
        (WebInspector.TimelineRecordingContentView.prototype.updateLayout):

2015-09-08  Matt Baker  <mattbaker@apple.com>

        Web Inspector: REGRESSION (r189189): Missing breakpoint context menu for debugger sidebar tree elements
        https://bugs.webkit.org/show_bug.cgi?id=148651

        Reviewed by Timothy Hatcher.

        * UserInterface/Base/Main.js:
        (WebInspector.contentLoaded):
        Create BreakpointPopoverController singleton, expose as public property of global WebInspector object.

        * UserInterface/Views/BreakpointTreeElement.js:
        (WebInspector.BreakpointTreeElement.prototype.oncontextmenu):
        Use BreakpointPopoverController singleton.

        * UserInterface/Views/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor):
        Don't create BreakpointPopoverController instance.
        (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu):
        Use BreakpointPopoverController singleton.

2015-09-08  Joseph Pecoraro  <pecoraro@apple.com>

        Fix inspector/codemirror tests.

        Rubber-stamped by Brian Burg.

        * UserInterface/Test.html:
        Reorder includes to be more like Main.html. This ensures that CodeMirror
        resources are loaded before Inspector sources use it, like CodeMirrorAdditions
        which gets merged into TestCombined.js.

2015-09-08  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Move PrettyPrinting tests into LayoutTests
        https://bugs.webkit.org/show_bug.cgi?id=148698

        Reviewed by Timothy Hatcher.

        * Tools/PrettyPrinting/index.html:
        Modify the relative path to the tests which are now in LayoutTests.

        * UserInterface/Test.html:
        Load CodeMirror and related resources for Formatting.

2015-09-06  Andy Estes  <aestes@apple.com>

        WebKit.xcworkspace should be be able to build iOS platforms
        https://bugs.webkit.org/show_bug.cgi?id=148881

        Reviewed by Daniel Bates.

        Since we don't want to create platform-specific schemes, all projects in the workspace's schemes need to build
        for all supported platforms.

        * Configurations/Base.xcconfig: Included iphoneos and iphonesimulator in SUPPORTED_PLATFORMS.
        * Configurations/WebInspectorUIFramework.xcconfig: Skipped installing on iOS.

2015-09-04  Brian Burg  <bburg@apple.com>

        Web Inspector: combine Test.html resources to make tests run faster
        https://bugs.webkit.org/show_bug.cgi?id=148726

        Reviewed by Timothy Hatcher.

        In an attempt to make inspector tests run faster, always combine resources
        on the Test.html page. This cuts down from 110+ resource loads to 5 loads.

        To avoid name clashes, add the 'Combined' suffix to files that would clash
        with uncombined Test resources, and add the 'Test' prefix when combining
        or minifying files that would clash with production minification. So, it
        would be possible for Main.html and Test.html to have different minified
        versions of CodeMirror or other external libraries if they use different
        subsets.

        Combining is unlikely to make debugging tests more difficult, since almost
        all test code is marshalled and eval'd into existence anyway.

        * Configurations/WebInspectorUIFramework.xcconfig:
        * Scripts/combine-resources.pl: Drive-by spelling.
        (concatenateFiles):
        (concatinateFiles): Deleted.
        * Scripts/copy-user-interface-resources-dryrun.rb:
        * Scripts/copy-user-interface-resources.pl:

            Drive-by spelling. Add a new code path for combining Test resources, which
            doesn't require minification or handling CSS, images, or most externals.

        * WebInspectorUI.vcxproj/build-webinspectorui.pl:

            Always combine Test.html, but also ditto everything into place for
            engineering builds.

2015-09-04  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Test Runtime.saveResult and $n values
        https://bugs.webkit.org/show_bug.cgi?id=148837

        Reviewed by Timothy Hatcher.

        * UserInterface/Protocol/InspectorBackend.js:
        (InspectorBackendClass):
        Initialize the dump logging function different if we are in tests or not.
        When in tests, using console.log as well as dumping system activity to
        the system console results in an infinite loop of logging!

        (InspectorBackendClass.prototype.dispatch):
        (InspectorBackendClass.prototype._sendCommandToBackendWithCallback):
        Use the logging function we figured out earlier.

2015-09-04  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Clean up and modernize DOMTreeManager
        https://bugs.webkit.org/show_bug.cgi?id=148821

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/DOMTreeManager.js:
        (WebInspector.DOMTreeManager.prototype.requestDocument.onDocumentAvailable):
        (WebInspector.DOMTreeManager.prototype.requestDocument):
        (WebInspector.DOMTreeManager.prototype.pushNodeByPathToFrontend):
        (WebInspector.DOMTreeManager.prototype._wrapClientCallback):
        (WebInspector.DOMTreeManager.prototype._attributeModified):
        (WebInspector.DOMTreeManager.prototype._attributeRemoved):
        (WebInspector.DOMTreeManager.prototype._inlineStyleInvalidated):
        (WebInspector.DOMTreeManager.prototype._loadNodeAttributes):
        (WebInspector.DOMTreeManager.prototype.cancelSearch):
        (WebInspector.DOMTreeManager.prototype.querySelector):
        (WebInspector.DOMTreeManager.prototype.querySelectorAll):
        (WebInspector.DOMTreeManager.prototype.highlightDOMNode):
        (WebInspector.DOMTreeManager.prototype._buildHighlightConfig):
        Cleanup and modernize where appropriate.

        * UserInterface/Views/SearchSidebarPanel.js:
        (WebInspector.SearchSidebarPanel.prototype.performSearch):
        Callback is now required.

2015-09-04  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Render Frames "Other" task filter checkbox misaligned with text
        https://bugs.webkit.org/show_bug.cgi?id=148788

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ChartDetailsSectionRow.css:
        (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > label > .color-key):
        Adjust "fake" checkbox margin to align with label text.

2015-09-04  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Expand Console domain test coverage
        https://bugs.webkit.org/show_bug.cgi?id=148740

        Reviewed by Brian Burg.

        * UserInterface/Protocol/RemoteObject.js:
        Add a few helpers for checking the RemoteObject type.

2015-09-02  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r189241.
        https://bugs.webkit.org/show_bug.cgi?id=148703

        These tests crash with assertions (Requested by ap on
        #webkit).

        Reverted changeset:

        "Web Inspector: Move PrettyPrinting tests into LayoutTests"
        https://bugs.webkit.org/show_bug.cgi?id=148698
        http://trac.webkit.org/changeset/189241

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

        Web Inspector: Move PrettyPrinting tests into LayoutTests
        https://bugs.webkit.org/show_bug.cgi?id=148698

        Reviewed by Timothy Hatcher.

        * Tools/PrettyPrinting/index.html:
        Modify the relative path to the tests which are now in LayoutTests.

        * UserInterface/Test.html:
        Load CodeMirror and related resources for Formatting.

2015-09-01  Matt Baker  <mattbaker@apple.com>

        Web Inspector: REGRESSION (r187873): Location column icon is missing in timeline data grids
        https://bugs.webkit.org/show_bug.cgi?id=148691

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/TimelineDataGridNode.js:
        (WebInspector.TimelineDataGridNode.prototype.createCellContent):
        Added "icon" class name. Was using removed class variable (class="undefined").

2015-09-01  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Show layout/paint pixel area in the Rendering Frames tree outline
        https://bugs.webkit.org/show_bug.cgi?id=148674

        Reviewed by Brian Burg.

        * Localizations/en.lproj/localizedStrings.js:
        New UI string.

        * UserInterface/Views/RenderingFrameTimelineView.css:
        (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.rendering-frame .item:not(.paint-record):not(.layout-record) .subtitle):
        (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.rendering-frame .item .subtitle): Deleted.
        Show subtitles for layout and paint records only. We still want to hide script record subtitles,
        since that information is already in the 'Location' column.

        * UserInterface/Views/RenderingFrameTimelineView.js:
        (WebInspector.RenderingFrameTimelineView.prototype._processPendingRecords):
        Add tree element subtitle for LayoutTimelineRecords that specify width and height.

2015-09-01  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Reorder columns in the Rendering Frames data grid by importance
        https://bugs.webkit.org/show_bug.cgi?id=148672

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/RenderingFrameTimelineView.js:
        (WebInspector.RenderingFrameTimelineView):
        Updated column order, rearranged the column object setup code to match.

2015-09-01  Brian Burg  <bburg@apple.com>

        Web Inspector: rewrite inspector/console/command-line-api.html to use AsyncTestSuite
        https://bugs.webkit.org/show_bug.cgi?id=148637

        Reviewed by Darin Adler.

        * UserInterface/Base/Object.js:
        (WebInspector.Object.singleFireEventListener):
        (WebInspector.Object.singleFireEventListener.let.wrappedCallback): Arrow.

2015-09-01  Devin Rousso  <drousso@apple.com>

        Web Inspector: New rule button in the style sidebar is blurry and too dark
        https://bugs.webkit.org/show_bug.cgi?id=148108

        Reviewed by Timothy Hatcher.

        Added support for Plus and Minus icons on non-retina screens.
        Also removed some CSS rules that no longer apply to anything.

        * UserInterface/Images/Minus.svg:
        * UserInterface/Images/NewTabPlus.svg:
        * UserInterface/Images/Plus.svg: Removed.
        * UserInterface/Images/Plus13.svg: Copied from Source/WebInspectorUI/UserInterface/Images/Plus.svg.
        * UserInterface/Images/Plus15.svg: Copied from Source/WebInspectorUI/UserInterface/Images/Plus.svg.

        * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
        (.sidebar > .panel.details.css-style > .content + .options-container):
        (.sidebar > .panel.details.css-style > .content + .options-container > .new-rule):

        * UserInterface/Views/ProbeDetailsSidebarPanel.css:
        (.details-section.probe-set .options > .probe-add):

        * UserInterface/Views/RulesStyleDetailsPanel.css:
        (.sidebar > .panel.details.css-style .rules .new-rule): Deleted.
        (.sidebar > .panel.details.css-style .rules > *:first-child:matches(.new-rule)): Deleted.
        (.sidebar > .panel.details.css-style > .content.filter-in-progress .new-rule): Deleted.
        (.sidebar > .panel.details.css-style > .content:not(.filter-in-progress) > .rules > .new-rule + .style-declaration-section): Deleted.
        (.sidebar > .panel.details.css-style > .content:not(.filter-in-progress) > .rules > .new-rule + .label): Deleted.
        (.sidebar > .panel.details.css-style .rules .new-rule img): Deleted.
        (.sidebar > .panel.details.css-style .rules .new-rule:hover): Deleted.
        (.sidebar > .panel.details.css-style .rules .new-rule:active): Deleted.
        (@media (-webkit-min-device-pixel-ratio: 2)): Deleted.
        Removed CSS rules that no longer apply.  The new rule button was moved to the Styles sidebar.

        * UserInterface/Views/ScopeChainDetailsSidebarPanel.css:
        (.details-section.watch-expressions .options > .watch-expression-add):

        * UserInterface/Views/TabBar.css:
        (.tab-bar > .item.new-tab-button > .icon):

        * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css:
        (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-controls > div):

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

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

2015-09-01  Brian Burg  <bburg@apple.com>

        Web Inspector: add TestSuite hooks for per-testcase setup and teardown actions
        https://bugs.webkit.org/show_bug.cgi?id=148641

        Reviewed by Timothy Hatcher.

        It should be possible to run setup and teardown actions for each test case.
        The use case here is to add listeners, set up testcase-specific state, etc.
        To match how test functions work in each suite, the sync and async implementations
        take functions with no arguments and(resolve, reject), respectively.

        * UserInterface/Test/TestSuite.js:
        (TestSuite.prototype.addTestCase):
        (TestSuite.messageFromThrownObject):
        (TestSuite):
        (AsyncTestSuite.prototype.runTestCases): Stick the extra functions in the chain.
        (AsyncTestSuite):
        (SyncTestSuite.prototype.runTestCases):
        (SyncTestSuite):

2015-09-01  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Visual style editor shouldn't allow alpha characters in numeric input fields
        https://bugs.webkit.org/show_bug.cgi?id=148580

        Reviewed by Brian Burg.

        * UserInterface/Views/VisualStyleNumberInputBox.js:
        (WebInspector.VisualStyleNumberInputBox):
        Added input element "changed" handler, renamed "keyup" handler to match "keydown" handler.
        (WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputChanged):
        Validate input in response to changed event.

2015-08-31  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Command-Enter for selected JS in Debugger/Sources shouldn't change the focus
        https://bugs.webkit.org/show_bug.cgi?id=148613

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ConsoleTabContentView.js:
        (WebInspector.ConsoleTabContentView.prototype.shown):
        Always focus on the console prompt when the console tab get selected.

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

2015-08-31  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Debugger Popovers should work for object literal shorthand variables
        https://bugs.webkit.org/show_bug.cgi?id=148603

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
        (WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
        Allow debugger popovers for object property shorthands, because they
        are actually variables that have values. Previously we ignored property
        name literals, because they were just property names until ES6.

        * UserInterface/Views/CodeMirrorAdditions.js:
        Add a helper for walking through token types from a start position. It may be useful elsewhere.

2015-08-31  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Move the Popover code out of the Breakpoint model object
        https://bugs.webkit.org/show_bug.cgi?id=127328

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/BreakpointPopoverController.js: Added.
        (WebInspector.BreakpointPopoverController):
        (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.editBreakpoint):
        (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.removeBreakpoint):
        (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.toggleBreakpoint):
        (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.toggleAutoContinue):
        (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.revealOriginalSourceCodeLocation):
        (WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems):
        (WebInspector.BreakpointPopoverController.prototype.showEditBreakpointPopover):
        (WebInspector.BreakpointPopoverController.prototype._createPopoverContent):
        (WebInspector.BreakpointPopoverController.prototype._popoverToggleEnabledCheckboxChanged):
        (WebInspector.BreakpointPopoverController.prototype._popoverConditionInputChanged):
        (WebInspector.BreakpointPopoverController.prototype._popoverToggleAutoContinueCheckboxChanged):
        (WebInspector.BreakpointPopoverController.prototype._popoverConditionInputKeyDown):
        (WebInspector.BreakpointPopoverController.prototype._popoverActionsCreateAddActionButton):
        (WebInspector.BreakpointPopoverController.prototype._popoverActionsAddActionButtonClicked):
        (WebInspector.BreakpointPopoverController.prototype._popoverActionsInsertBreakpointActionView):
        (WebInspector.BreakpointPopoverController.prototype.breakpointActionViewAppendActionView):
        (WebInspector.BreakpointPopoverController.prototype.breakpointActionViewRemoveActionView):
        (WebInspector.BreakpointPopoverController.prototype.breakpointActionViewResized):
        (WebInspector.BreakpointPopoverController.prototype.willDismissPopover):
        (WebInspector.BreakpointPopoverController.prototype.didDismissPopover):
        Added controller class to encapsulate view logic previously located in WebInspector.Breakpoint.

        * UserInterface/Main.html:
        Added and updated file paths.

        * UserInterface/Models/Breakpoint.js:
        (WebInspector.Breakpoint.prototype.appendContextMenuItems.editBreakpoint): Deleted.
        (WebInspector.Breakpoint.prototype.appendContextMenuItems.removeBreakpoint): Deleted.
        (WebInspector.Breakpoint.prototype.appendContextMenuItems.toggleBreakpoint): Deleted.
        (WebInspector.Breakpoint.prototype.appendContextMenuItems.toggleAutoContinue): Deleted.
        (WebInspector.Breakpoint.prototype.appendContextMenuItems.revealOriginalSourceCodeLocation): Deleted.
        (WebInspector.Breakpoint.prototype.appendContextMenuItems): Deleted.
        (WebInspector.Breakpoint.prototype._popoverToggleEnabledCheckboxChanged): Deleted.
        (WebInspector.Breakpoint.prototype._popoverConditionInputChanged): Deleted.
        (WebInspector.Breakpoint.prototype._popoverToggleAutoContinueCheckboxChanged): Deleted.
        (WebInspector.Breakpoint.prototype._popoverConditionInputKeyDown): Deleted.
        (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement): Deleted.
        (WebInspector.Breakpoint.prototype._popoverActionsCreateAddActionButton): Deleted.
        (WebInspector.Breakpoint.prototype._popoverActionsAddActionButtonClicked): Deleted.
        (WebInspector.Breakpoint.prototype._popoverActionsInsertBreakpointActionView): Deleted.
        (WebInspector.Breakpoint.prototype.breakpointActionViewAppendActionView): Deleted.
        (WebInspector.Breakpoint.prototype.breakpointActionViewRemoveActionView): Deleted.
        (WebInspector.Breakpoint.prototype.breakpointActionViewResized): Deleted.
        (WebInspector.Breakpoint.prototype.willDismissPopover): Deleted.
        (WebInspector.Breakpoint.prototype.didDismissPopover): Deleted.
        (WebInspector.Breakpoint.prototype._showEditBreakpointPopover): Deleted.
        Removed view logic.

        * UserInterface/Views/BreakpointPopoverController.css: Renamed from Source/WebInspectorUI/UserInterface/Views/Breakpoint.css.
        (.popover .edit-breakpoint-popover-content):
        (.popover .edit-breakpoint-popover-content.wide):
        (.popover .edit-breakpoint-popover-content > label.toggle):
        (.popover .edit-breakpoint-popover-content > table):
        (.popover .edit-breakpoint-popover-content > table > tr > th):
        (.popover .edit-breakpoint-popover-content > table > tr > td):
        (#edit-breakpoint-popover-condition):
        (#edit-breakpoint-popoover-auto-continue):

        * UserInterface/Views/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor):
        Creates a BreakpointPopoverController instance. The lifetime of the 'Edit Breakpoint' view is internal to the
        controller, and can't be initiated outside of a context menu item click.

2015-08-31  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Rendering Frame tasks making up < 1% of the selection don't appear in the pie chart
        https://bugs.webkit.org/show_bug.cgi?id=148549

        Reviewed by Timothy Hatcher.

        Small data points can be invisible or difficult to see in the pie chart. This patch introduces
        a minimum slice size of 1.5% (determined by visual inspection) for chart items.

        Legend items continue to show the original data point values, not the adjusted values used to
        draw the chart slices.

        * UserInterface/Views/ChartDetailsSectionRow.js:
        (WebInspector.ChartDetailsSectionRow):
        (WebInspector.ChartDetailsSectionRow.prototype._updateLayout):
        Adjust display values up or down as needed, so no data point is less than the
        minimum and all chart slices still total 100%.

2015-08-28  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: "animationEnd" event names should be "animationend" (broken dashboard animation after pause)
        https://bugs.webkit.org/show_bug.cgi?id=148604

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/DOMTreeElement.js:
        (WebInspector.DOMTreeElement.prototype.emphasizeSearchHighlight):
        * UserInterface/Views/DashboardContainerView.js:
        (WebInspector.DashboardContainerView.prototype._showDashboardView.animationEnded):
        (WebInspector.DashboardContainerView.prototype._showDashboardView):
        (WebInspector.DashboardContainerView.prototype._hideDashboardView.animationEnded):
        (WebInspector.DashboardContainerView.prototype._hideDashboardView):
        * UserInterface/Views/DefaultDashboardView.js:
        (WebInspector.DefaultDashboardView.prototype._setConsoleItemValue.animationEnded):
        (WebInspector.DefaultDashboardView.prototype._setConsoleItemValue):
        * UserInterface/Views/TextEditor.js:
        (WebInspector.TextEditor.prototype._revealSearchResult):

2015-08-28  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Resource.prototype.associateWithScript assertions firing
        https://bugs.webkit.org/show_bug.cgi?id=148601

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/Resource.js:
        (WebInspector.Resource.prototype.associateWithScript):
        Restore the code that was here before it was converted to asserts.
        It looked as if it was iOS 6 only but it was not.

2015-08-28  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Improve ScriptSyntaxTree a bit
        https://bugs.webkit.org/show_bug.cgi?id=148563

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/ScriptSyntaxTree.js:
        (WebInspector.ScriptSyntaxTree.prototype._recurse):
        (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
        Share and fix ClassDeclaration and ClassExpression recursion to visit
        the identifier (node.id). Include the kind with a VariableDeclaration
        ("var", "let", "const").

2015-08-28  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Separate creating a style sheet from adding a new rule in the protocol
        https://bugs.webkit.org/show_bug.cgi?id=148502

        Reviewed by Timothy Hatcher.

        The backend allows creating multiple stylesheets. This patch makes
        the frontend have a preferred InspectorStyleSheet per-frame.

        * UserInterface/Base/Object.js:
        (WebInspector.Object.singleFireEventListener):
        Return the wrapped listener so it can be removed if needed.

        * UserInterface/Models/CSSStyleSheet.js:
        (WebInspector.CSSStyleSheet.prototype.isInspectorStyleSheet):
        Helper to check if the current stylesheet is an inspector created stylesheet.

        * UserInterface/Controllers/CSSStyleManager.js:
        (WebInspector.CSSStyleManager.prototype.preferredInspectorStyleSheetForFrame):
        (WebInspector.CSSStyleManager.prototype.preferredInspectorStyleSheetForFrame.documentNodeAvailable):
        (WebInspector.CSSStyleManager.prototype.preferredInspectorStyleSheetForFrame.bodyNodeAvailable):
        (WebInspector.CSSStyleManager.prototype.preferredInspectorStyleSheetForFrame.cssRuleAvailable):
        (WebInspector.CSSStyleManager.prototype._inspectorStyleSheetsForFrame):
        Lookup the inspector stylesheet for a particular frame. If one doesn't exist create it.
        For legacy backends, exploit "addRule" to create the inspector stylesheet.

        * UserInterface/Models/DOMNode.js:
        * UserInterface/Models/DOMNodeStyles.js:
        (WebInspector.DOMNodeStyles.prototype.addEmptyRule.inspectorStyleSheetAvailable):
        (WebInspector.DOMNodeStyles.prototype.addEmptyRule):
        Currently add all new rules to the inspector stylesheet.

2015-08-28  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Type Profiler does not understand Functions within Default Argument Expressions
        https://bugs.webkit.org/show_bug.cgi?id=148557

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/ScriptSyntaxTree.js:
        (WebInspector.ScriptSyntaxTree.prototype._recurse):
        (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
        (WebInspector.ScriptSyntaxTree):
        Add support for abstracting and recursing through the default parameter
        expressions Esprima has on function expressions and declarations.

2015-08-28  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Type Profiler does not understand Functions inside Template Strings (ScriptSyntaxTree warnings)
        https://bugs.webkit.org/show_bug.cgi?id=148556

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/ScriptSyntaxTree.js:
        (WebInspector.ScriptSyntaxTree.prototype._recurse):
        (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
        (WebInspector.ScriptSyntaxTree):
        Add support for abstracting and recursing through the Esprima template nodes.

2015-08-27  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Standardize on CSSStyleSheet.Type enum and move more protocol enum conversion to the manager
        https://bugs.webkit.org/show_bug.cgi?id=148515

        Reviewed by Brian Burg.

        * UserInterface/Controllers/CSSStyleManager.js:
        (WebInspector.CSSStyleManager.protocolStyleSheetOriginToEnum):
        (WebInspector.CSSStyleManager.protocolMediaSourceToEnum):
        Protocol enum to frontend enum conversion.

        * UserInterface/Models/DOMNodeStyles.js:
        (WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle):
        (WebInspector.DOMNodeStyles.prototype.refresh):
        (WebInspector.DOMNodeStyles.prototype._parseRulePayload):
        (WebInspector.DOMNodeStyles.prototype._collectStylesInCascadeOrder):
        Use the manager to convert from a protocol payload enum to frontend num for css types.

        * UserInterface/Models/CSSRule.js:
        (WebInspector.CSSRule.prototype.get editable):
        * UserInterface/Views/CSSStyleDeclarationSection.js:
        (WebInspector.CSSStyleDeclarationSection):
        (WebInspector.CSSStyleDeclarationSection.prototype.refresh):
        * UserInterface/Views/RulesStyleDetailsPanel.js:
        (WebInspector.RulesStyleDetailsPanel.prototype.refresh.appendStyleSection):
        (WebInspector.RulesStyleDetailsPanel.prototype.refresh):
        * UserInterface/Views/VisualStyleSelectorSection.js:
        (WebInspector.VisualStyleSelectorSection.prototype.update.createSelectorItem):
        (WebInspector.VisualStyleSelectorSection.prototype.update.uniqueOrderedRules.set return):
        (WebInspector.VisualStyleSelectorSection.prototype.update.uniqueOrderedRules):
        (WebInspector.VisualStyleSelectorSection.prototype.update):
        * UserInterface/Views/VisualStyleSelectorTreeItem.js:
        (WebInspector.VisualStyleSelectorTreeItem):
        Update enum use.

2015-08-26  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: [Regression] [Mavericks]: Undocked Web Inspector toolbar is two different colors and has extra space
        https://bugs.webkit.org/show_bug.cgi?id=148510

        Make body element transparent and remove extra padding above the toolbar only for OS X Mavericks.

        Reviewed by Timothy Hatcher.

        * UserInterface/Base/Main.js:
        (WebInspector.contentLoaded):
        * UserInterface/Views/Main.css:
        (body:not(.mavericks)):
        (body): Deleted.
        * UserInterface/Views/Toolbar.css:
        (body:not(.mavericks) .toolbar):
        (body.window-inactive:not(.mavericks) .toolbar):
        (body.mac-platform:not(.docked, .mavericks) .toolbar):
        (.toolbar): Deleted.
        (body.window-inactive .toolbar): Deleted.
        (body.mac-platform:not(.docked) .toolbar): Deleted.

2015-08-26  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Uncaught exception in CSS Completion - TypeError: undefined is not an object (evaluating 'this._values[middleIndex].startsWith')
        https://bugs.webkit.org/show_bug.cgi?id=148508

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/CSSCompletions.js:
        (WebInspector.CSSCompletions):
        Add a comment explaining that the constructor may be called with
        a list of strings or a list of objects from the protocol. Add
        a fast path for when this is constructed with a list of strings.

2015-08-26  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Rendering Frames timeline pie chart should use SVG instead of 2D canvas
        https://bugs.webkit.org/show_bug.cgi?id=148457

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ChartDetailsSectionRow.css:
        (.details-section > .content > .group > .row.chart > .chart-content > svg > path.hidden):
        (.details-section > .content > .group > .row.chart > .chart-content > svg > path.chart-segment):
        (.details-section > .content > .group > .row.chart > .chart-content > svg > path.empty-chart):
        New styles for SVG chart elements.

        * UserInterface/Views/ChartDetailsSectionRow.js:
        (WebInspector.ChartDetailsSectionRow):
        Calculate radii and create SVG chart elements.
        (WebInspector.ChartDetailsSectionRow.prototype.clearItems):
        Remove chart segment path elements.
        (WebInspector.ChartDetailsSectionRow.prototype._needsLayout):
        (WebInspector.ChartDetailsSectionRow.prototype._updateLayout.createSegmentPathData):
        Helper function that creates path data for a single pie chart segment.
        (WebInspector.ChartDetailsSectionRow.prototype._updateLayout):
        Creates path elements as needed, and updates path data for for non-zero data points.
        (WebInspector.ChartDetailsSectionRow.prototype.set innerLabel): Deleted.
        (WebInspector.ChartDetailsSectionRow.prototype.set innerRadius): Deleted.
        These properties are now set during construction.
        (WebInspector.ChartDetailsSectionRow.prototype.updateLayout): Deleted.
        Renamed to _updateLayout.

        * UserInterface/Views/TimelineSidebarPanel.js:
        Chart size and inner radius passed to chart constructor.

2015-08-26  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Implement tracking of active stylesheets in the frontend
        https://bugs.webkit.org/show_bug.cgi?id=105828

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/CSSStyleSheet.js:
        (WebInspector.CSSStyleSheet):
        (WebInspector.CSSStyleSheet.prototype.get origin):
        (WebInspector.CSSStyleSheet.prototype.updateInfo):
        Add a new origin attribute that has been sent from the backend for a while.

        * UserInterface/Controllers/CSSStyleManager.js:
        (WebInspector.CSSStyleManager.prototype.styleSheetAdded):
        (WebInspector.CSSStyleManager.prototype.styleSheetRemoved):
        Handle the new events by managing the new CSSStyleSheets.
        
        (WebInspector.CSSStyleManager):
        (WebInspector.CSSStyleManager.prototype._mainResourceDidChange):
        Reset the legacy fetching flag. Fetching is only needed for legacy backends.

        (WebInspector.CSSStyleManager.prototype._fetchInfoForAllStyleSheets):
        Include the new origin property in the legacy updateInfo path.

        * UserInterface/Protocol/CSSObserver.js:
        (WebInspector.CSSObserver.prototype.styleSheetAdded):
        (WebInspector.CSSObserver.prototype.styleSheetRemoved):
        Forward to the manager.

        * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
        (WebInspector.CSSStyleDetailsSidebarPanel):
        Refresh the sidebar when stylesheets are added / removed, as that
        may affect the style of the select element.

2015-08-26  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Drop iOS 6 Legacy Remote Inspector Support
        https://bugs.webkit.org/show_bug.cgi?id=148456

        Reviewed by Timothy Hatcher.

        * UserInterface/Base/Main.js:
        (WebInspector.loaded):
        (WebInspector._updateReloadToolbarButton):
        (WebInspector._updateDownloadToolbarButton):
        (WebInspector.canArchiveMainFrame):
        * UserInterface/Controllers/CSSStyleManager.js:
        (WebInspector.CSSStyleManager.prototype._frameURLMapKey):
        (WebInspector.CSSStyleManager.prototype._lookupStyleSheet.styleSheetsFetched):
        (WebInspector.CSSStyleManager._updateResourceContent.fetchedStyleSheetContent):
        (WebInspector.CSSStyleManager.prototype._clearStyleSheetsForResource): Deleted.
        * UserInterface/Controllers/DOMTreeManager.js:
        (WebInspector.DOMTreeManager.prototype.highlightSelector):
        * UserInterface/Controllers/DebuggerManager.js:
        (WebInspector.DebuggerManager.prototype._setBreakpoint):
        * UserInterface/Controllers/JavaScriptLogViewController.js:
        * UserInterface/Controllers/RuntimeManager.js:
        (WebInspector.RuntimeManager):
        (WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):
        * UserInterface/Controllers/SourceMapManager.js:
        (WebInspector.SourceMapManager.prototype._loadAndParseSourceMap):
        * UserInterface/Controllers/StorageManager.js:
        (WebInspector.StorageManager):
        (WebInspector.StorageManager.prototype._addDOMStorageIfNeeded):
        (WebInspector.StorageManager.prototype.domStorageWasUpdated): Deleted.
        (WebInspector.StorageManager.prototype._domStorageForIdentifier): Deleted.
        (WebInspector.StorageManager.prototype._extraDomainsActivated): Deleted.
        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager.prototype._processRecord):
        * UserInterface/Models/Breakpoint.js:
        (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement):
        * UserInterface/Models/CSSCompletions.js:
        (WebInspector.CSSCompletions):
        (WebInspector.CSSCompletions.requestCSSCompletions):
        * UserInterface/Models/CSSKeywordCompletions.js:
        (WebInspector.CSSKeywordCompletions.addCustomCompletions): Deleted.
        * UserInterface/Models/CSSProperty.js:
        (WebInspector.CSSProperty):
        (WebInspector.CSSProperty.prototype.update):
        * UserInterface/Models/CSSRule.js:
        (WebInspector.CSSRule.prototype.get matchedSelectors): Deleted.
        (WebInspector.CSSRule.prototype.get matchedSelectorText): Deleted.
        * UserInterface/Models/DOMNodeStyles.js:
        (WebInspector.DOMNodeStyles.prototype.refresh.parseRuleMatchArrayPayload):
        (WebInspector.DOMNodeStyles.prototype.refresh.fetchedMatchedStyles):
        (WebInspector.DOMNodeStyles.prototype.changeRule.changeText):
        (WebInspector.DOMNodeStyles.prototype.changeStyleText):
        (WebInspector.DOMNodeStyles.prototype._parseStylePropertyPayload):
        (WebInspector.DOMNodeStyles.prototype._parseRulePayload):
        (WebInspector.DOMNodeStyles.prototype.changeStyleText.attributeChanged): Deleted.
        (WebInspector.DOMNodeStyles.prototype.changeStyleText.fetchedStyleSheetContent.contentDidChange): Deleted.
        (WebInspector.DOMNodeStyles.prototype.changeStyleText.fetchedStyleSheetContent): Deleted.
        (WebInspector.DOMNodeStyles.prototype._parseSourceRangePayload): Deleted.
        (WebInspector.DOMNodeStyles.prototype._parseSelectorListPayload): Deleted.
        * UserInterface/Models/DOMStorageObject.js:
        * UserInterface/Models/DOMTree.js:
        (WebInspector.DOMTree.prototype.requestRootDOMNode):
        (WebInspector.DOMTree.prototype._requestRootDOMNode):
        * UserInterface/Models/DatabaseObject.js:
        (WebInspector.DatabaseObject.prototype.executeSQL.queryCallback):
        (WebInspector.DatabaseObject.prototype.executeSQL):
        (WebInspector.DatabaseObject):
        (WebInspector.DatabaseObject.prototype.executeSQL.callback): Deleted.
        * UserInterface/Models/ExecutionContext.js:
        (WebInspector.ExecutionContext.supported): Deleted.
        * UserInterface/Models/IssueMessage.js:
        (WebInspector.IssueMessage): Deleted.
        * UserInterface/Models/LayoutTimelineRecord.js:
        (WebInspector.LayoutTimelineRecord):
        (WebInspector.LayoutTimelineRecord.prototype.get width):
        (WebInspector.LayoutTimelineRecord.prototype.get height):
        (WebInspector.LayoutTimelineRecord.prototype.get area):
        (WebInspector.LayoutTimelineRecord.prototype.get x): Deleted.
        (WebInspector.LayoutTimelineRecord.prototype.get y): Deleted.
        (WebInspector.LayoutTimelineRecord.prototype.get rect): Deleted.
        * UserInterface/Models/ProfileNode.js:
        * UserInterface/Models/Resource.js:
        (WebInspector.Resource.prototype.associateWithScript):
        * UserInterface/Models/ScriptTimelineRecord.js:
        (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload.profileNodeFromPayload):
        * UserInterface/Models/SourceMapResource.js:
        (WebInspector.SourceMapResource.prototype.requestContentFromBackend):
        * UserInterface/Models/TextRange.js:
        (WebInspector.TextRange.prototype.resolveLinesAndColumns.countNewLineCharacters): Deleted.
        (WebInspector.TextRange.prototype.resolveLinesAndColumns): Deleted.
        * UserInterface/Models/TimelineRecording.js:
        * UserInterface/Protocol/ConsoleObserver.js:
        (WebInspector.ConsoleObserver.prototype.messageAdded): Deleted.
        * UserInterface/Protocol/DOMStorageObserver.js:
        (WebInspector.DOMStorageObserver.prototype.addDOMStorage): Deleted.
        (WebInspector.DOMStorageObserver.prototype.updateDOMStorage): Deleted.
        * UserInterface/Protocol/DatabaseObserver.js:
        (WebInspector.DatabaseObserver.prototype.sqlTransactionSucceeded): Deleted.
        (WebInspector.DatabaseObserver.prototype.sqlTransactionFailed): Deleted.
        (WebInspector.DatabaseObserver): Deleted.
        * UserInterface/Protocol/Legacy/6.0/InspectorBackendCommands.js: Removed.
        * UserInterface/Views/CookieStorageContentView.js:
        (WebInspector.CookieStorageContentView.prototype._deleteCallback):
        (WebInspector.CookieStorageContentView):
        * UserInterface/Views/DOMTreeContentView.js:
        (WebInspector.DOMTreeContentView.prototype._updateCompositingBordersButtonToMatchPageSettings): Deleted.
        * UserInterface/Views/EventListenerSectionGroup.js:
        (WebInspector.EventListenerSectionGroup.prototype._functionTextOrLink):
        (WebInspector.EventListenerSectionGroup):
        * UserInterface/Views/LayoutTimelineView.js:
        (WebInspector.LayoutTimelineView.prototype._showHighlightForRecord):
        * UserInterface/Views/QuickConsole.js:
        (WebInspector.QuickConsole):
        (WebInspector.QuickConsole.prototype._createExecutionContextPathComponentFromFrame):
        (WebInspector.QuickConsole.prototype._frameAdded): Deleted.
        (WebInspector.QuickConsole.prototype._frameRemoved): Deleted.
        (WebInspector.QuickConsole.prototype._frameMainResourceChanged): Deleted.
        * UserInterface/Views/ScriptTimelineDataGridNode.js:
        (WebInspector.ScriptTimelineDataGridNode.prototype.get data):
        * UserInterface/Views/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenAnnotator):
        (WebInspector.SourceCodeTextEditor.prototype._makeBasicBlockAnnotator):
        * Versions/Inspector-iOS-6.0.json: Removed.
        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:

2015-08-26  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Command-Enter should evaluate selected JS in Debugger/Sources
        https://bugs.webkit.org/show_bug.cgi?id=148368

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/CodeMirrorCompletionController.js:
        (WebInspector.CodeMirrorCompletionController):
        (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions):
        Evaluate selected text in the console only for JS and HTML resources. HTML resources
        should be allowed because they can have commented out (inside <!-- -->) and
        inline (onclick="") JavaScript.

2015-08-25  Brian Burg  <bburg@apple.com>

        Web Inspector: no need to allocate protocolErrors array for every dispatched backend command
        https://bugs.webkit.org/show_bug.cgi?id=146466

        Reviewed by Joseph Pecoraro.

        * UserInterface/TestStub.html: Fix a typo, this property exists on ProtocolTest.

2015-08-26  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Rendering Frames legend item checkbox colors are too light
        https://bugs.webkit.org/show_bug.cgi?id=148465

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ChartDetailsSectionRow.js:
        (WebInspector.ChartDetailsSectionRow.prototype._addCheckboxColorFilter):
        Gamma primitive should use an "exponent" attribute instead of "value".
        Increased gamma exponent to 1.4.

2015-08-26  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Make DOM node attribute changes highlighting less obnoxious
        https://bugs.webkit.org/show_bug.cgi?id=148050

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/DOMTreeOutline.css:
        (@keyframes node-state-changed): Change color to a light green.
        (.node-state-changed): Add a slight ease-in for the animation function.

2015-08-26  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Add Refresh button to Cookie Content View
        https://bugs.webkit.org/show_bug.cgi?id=148468

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CookieStorageContentView.js:
        (WebInspector.CookieStorageContentView):
        (WebInspector.CookieStorageContentView.prototype.get navigationItems):
        (WebInspector.CookieStorageContentView.prototype._refreshButtonClicked):

2015-08-25  Brian Burg  <bburg@apple.com>

        Web Inspector: message dispatch metrics should use high-resolution timing data
        https://bugs.webkit.org/show_bug.cgi?id=135467

        Reviewed by Timothy Hatcher.

        Use performance.now if it's available, otherwise fallback to Date.now().
        Format timestamps with fixed decimal point, and sprinkle some ES6.

        * UserInterface/Base/Utilities.js:
        (timestamp): Added.
        * UserInterface/Protocol/InspectorBackend.js:
        (InspectorBackendClass):
        (InspectorBackendClass.prototype._sendCommandToBackendWithCallback):
        (InspectorBackendClass.prototype._dispatchEvent):
        * UserInterface/Protocol/MessageDispatcher.js:
        (WebInspector.dispatchNextQueuedMessageFromBackend):
        (WebInspector.dispatchMessageFromBackend): Be consistent about using `this`.

2015-08-25  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Rendering Frames pie chart should use the needsLayout/updateLayout idiom
        https://bugs.webkit.org/show_bug.cgi?id=148412

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ChartDetailsSectionRow.js:
        (WebInspector.ChartDetailsSectionRow):
        (WebInspector.ChartDetailsSectionRow.prototype.set innerLabel):
        (WebInspector.ChartDetailsSectionRow.prototype.set innerRadius):
        Schedule a layout.
        (WebInspector.ChartDetailsSectionRow.prototype.set data): Deleted.
        Replaced by addItem, setItemValue, and clearItems.
        (WebInspector.ChartDetailsSectionRow.prototype.addItem):
        (WebInspector.ChartDetailsSectionRow.prototype.setItemValue):
        (WebInspector.ChartDetailsSectionRow.prototype.clearItems):
        Add/update data points and schedule a layout.
        (WebInspector.ChartDetailsSectionRow.prototype._needsLayout):
        (WebInspector.ChartDetailsSectionRow.prototype.updateLayout):
        Update legend and draw pie chart.
        (WebInspector.ChartDetailsSectionRow.prototype._createLegend): Deleted.
        Refactored as _updateLegend.
        (WebInspector.ChartDetailsSectionRow.prototype._refresh): Deleted.
        Refactored as updateLayout.

        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel):
        Add chart data points once.
        (WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart):
        Update chart values.

2015-08-24  Brian Burg  <bburg@apple.com>

        Web Inspector: add protocol test for existing error handling performed by the backend
        https://bugs.webkit.org/show_bug.cgi?id=147097

        Reviewed by Joseph Pecoraro.

        Add a way to send raw messages to the backend while still awaiting on responses.
        This is necessary to test protocol error handling in the inspector backend.

        * UserInterface/Test/InspectorProtocol.js:
        (InspectorProtocol.sendCommand):
        (InspectorProtocol.awaitCommand): Use awaitMessage internally.
        (InspectorProtocol.awaitMessage): Added. Use a dummy requestId if none is supplied.
        (InspectorProtocol._sendMessage): Added.
        (InspectorProtocol.dispatchMessageFromBackend):
        Reject with the error object instead of the error message, so error code/data can be checked.
        (InspectorProtocol.sendMessage): Deleted, it is now a private method.

2015-08-24  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Change webkitAnimationEnd use, should be animationEnd
        https://bugs.webkit.org/show_bug.cgi?id=148385

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/DOMTreeElement.js:
        (WebInspector.DOMTreeElement.prototype.emphasizeSearchHighlight):
        * UserInterface/Views/DashboardContainerView.js:
        (WebInspector.DashboardContainerView.prototype._showDashboardView.animationEnded):
        (WebInspector.DashboardContainerView.prototype._showDashboardView):
        (WebInspector.DashboardContainerView.prototype._hideDashboardView.animationEnded):
        (WebInspector.DashboardContainerView.prototype._hideDashboardView):
        * UserInterface/Views/DefaultDashboardView.js:
        (WebInspector.DefaultDashboardView.prototype._setConsoleItemValue.animationEnded):
        (WebInspector.DefaultDashboardView.prototype._setConsoleItemValue):
        * UserInterface/Views/TextEditor.js:
        (WebInspector.TextEditor.prototype.revealPosition.revealAndHighlightLine):
        (WebInspector.TextEditor.prototype.revealPosition):
        (WebInspector.TextEditor.prototype._revealSearchResult):

2015-08-24  Nikita Vasilyev  <nvasilyev@apple.com>

        REGRESSION (r188581): Web Inspector: Console user command isn't visible when it's expected to be
        https://bugs.webkit.org/show_bug.cgi?id=148283

        One of the improvements of r188581 "Option-Enter should commit console command
        without erasing the prompt" was not to show a console user command if it's the
        same as the previous one.

        However, there could be a lot of other messages between the last two user
        commands - console.log, CSS warnings, etc. In that case we should show a console
        user command again by resetting _lastCommitted.

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/JavaScriptLogViewController.js:
        (WebInspector.JavaScriptLogViewController):
        (WebInspector.JavaScriptLogViewController.prototype.startNewSession):
        (WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessageView):
        Reset _lastCommitted for all messages except for user commands and use command results.

2015-08-24  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Rendering Frames filter checkboxes all become checked during recording
        https://bugs.webkit.org/show_bug.cgi?id=148375

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ChartDetailsSectionRow.js:
        (WebInspector.ChartDetailsSectionRow.prototype._createLegend):
        Removed incorrect code that forced checked to true.

        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart):
        Persist legend item checkbox state when updating the chart.

2015-08-23  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Filtered style not applied to graph elements during timeline recording
        https://bugs.webkit.org/show_bug.cgi?id=148339

        Reviewed by Brian Burg.

        * UserInterface/Views/NavigationSidebarPanel.js:
        (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
        Check for hidden state change when applying filters to newly added tree elements.

2015-08-23  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Drop webkit prefixes from animation, keyframes and transform
        https://bugs.webkit.org/show_bug.cgi?id=148364

        Reviewed by Darin Adler.

        * UserInterface/Views/BreakpointTreeElement.css:
        (.breakpoint-generic-line-icon .icon > span):
        (.data-updated.breakpoint-generic-line-icon .icon > span):
        * UserInterface/Views/ColorPicker.css:
        (.color-picker > .slider):
        * UserInterface/Views/DashboardContainerView.css:
        (.toolbar .dashboard):
        (.toolbar .dashboard.slide-out-up):
        (.toolbar .dashboard.slide-out-down):
        (.toolbar .dashboard.slide-in-up):
        (.toolbar .dashboard.slide-in-down):
        (@keyframes slide-top-edge):
        (@keyframes slide-bottom-edge):
        (@-webkit-keyframes slide-top-edge): Deleted.
        (@-webkit-keyframes slide-bottom-edge): Deleted.
        * UserInterface/Views/DebuggerDashboardView.css:
        (.dashboard.debugger .navigation-bar .item.button > .glyph):
        (@keyframes pulse-pause-button):
        (@-webkit-keyframes pulse-pause-button): Deleted.
        * UserInterface/Views/DefaultDashboardView.css:
        (.toolbar .dashboard.default > .item.pulsing):
        (@keyframes console-item-pulse):
        (@-webkit-keyframes console-item-pulse): Deleted.
        * UserInterface/Views/GoToLineDialog.css:
        (.go-to-line-dialog):
        * UserInterface/Views/HoverMenu.css:
        (.hover-menu):
        * UserInterface/Views/IndeterminateProgressSpinner.css:
        (@keyframes discrete-spinner):
        (.indeterminate-progress-spinner):
        (@-webkit-keyframes discrete-spinner): Deleted.
        * UserInterface/Views/Main.css:
        (.bouncy-highlight):
        (@keyframes bouncy-highlight-animation):
        (@-webkit-keyframes bouncy-highlight-animation): Deleted.
        * UserInterface/Views/ProbeSetDataGrid.css:
        (.details-section.probe-set .data-grid tr.revealed.highlighted):
        (@keyframes blink-frame-highlight):
        (.details-section.probe-set .data-grid > tr.data-updated):
        (@keyframes blink-probe-frame):
        (@-webkit-keyframes blink-frame-highlight): Deleted.
        (@-webkit-keyframes blink-probe-frame): Deleted.
        * UserInterface/Views/TextEditor.css:
        (.text-editor > .CodeMirror .highlighted):
        (@keyframes text-editor-highlight-fadeout):
        (.text-editor > .CodeMirror .hovered-expression-highlight):
        (@keyframes text-editor-hovered-expression-highlight-fadeout):
        (@-webkit-keyframes text-editor-highlight-fadeout): Deleted.
        (@-webkit-keyframes text-editor-hovered-expression-highlight-fadeout): Deleted.
        * UserInterface/Views/TimelineOverview.css:
        (.timeline-overview.frames > .timeline-ruler > .markers > .divider):
        (.timeline-overview.frames > .timeline-ruler:not(.both-handles-clamped) > .selection-handle.right):
        (.timeline-overview.frames > .timeline-ruler:not(.both-handles-clamped) > .shaded-area.right):
        * UserInterface/Views/TimelineRuler.css:
        (.timeline-ruler > .header > .divider):
        (.timeline-ruler > .markers > .divider):
        (.timeline-ruler > .markers > .marker):
        (.timeline-ruler > .selection-handle.left):
        (.timeline-ruler > .selection-handle.right):

2015-08-21  Saam barati  <sbarati@apple.com>

        Web Inspector: Type profiler shows 'Undefined' annotation for functions with no return statements
        https://bugs.webkit.org/show_bug.cgi?id=146882

        Reviewed by Joseph Pecoraro.

        * UserInterface/Controllers/TypeTokenAnnotator.js:
        (WebInspector.TypeTokenAnnotator.prototype._insertTypeToken):
        * UserInterface/Models/ScriptSyntaxTree.js:
        (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
        (WebInspector.ScriptSyntaxTree):

2015-08-21  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: WebInspector.domTreeManager.regionLayoutUpdated does not exist
        https://bugs.webkit.org/show_bug.cgi?id=148348

        Reviewed by Timothy Hatcher.

        * UserInterface/Protocol/CSSObserver.js:
        (WebInspector.CSSObserver.prototype.regionLayoutUpdated):
        Just do the same as the new event name.

2015-08-21  Brian Burg  <bburg@apple.com>

        Web Inspector: clean up uses of `new` with zero-argument constructors and factory methods
        https://bugs.webkit.org/show_bug.cgi?id=148311

        Reviewed by Timothy Hatcher.

        * UserInterface/Protocol/InspectorFrontendHostStub.js:
        * UserInterface/Views/ClusterContentView.js:
        (WebInspector.ClusterContentView):
        * UserInterface/Views/ColorPicker.js:
        (WebInspector.ColorPicker):
        * UserInterface/Views/ContentView.js:
        (WebInspector.ContentView.createFromRepresentedObject): This was causing a console assertion
        when a breakpoint tree element was selected and the inspector tried to restore the view state
        after a reload or back/forward navigation.

        * UserInterface/Views/NavigationSidebarPanel.js:
        (WebInspector.NavigationSidebarPanel):
        * UserInterface/Views/TimelineRecordingContentView.js:
        (WebInspector.TimelineRecordingContentView):

2015-08-20  Brian Burg  <bburg@apple.com>

        Web Inspector: add a regression test for the fix introduced in r188679
        https://bugs.webkit.org/show_bug.cgi?id=148223

        Reviewed by Joseph Pecoraro.

        Turns out that we were possibly leaking a single DOMTree on reload.
        Always clear the main frame's DOMTree as well as those of sub-frames.

        * UserInterface/Base/Object.js: Add back single-fire listeners.
        (WebInspector.Object.singleFireEventListener.let.wrappedCallback):
        (WebInspector.Object.singleFireEventListener):
        (WebInspector.Object.retainedObjectsWithPrototype):
        (WebInspector.Object.prototype.singleFireEventListener):
        (WebInspector.Object.prototype.retainedObjectsWithPrototype):
        * UserInterface/Models/Frame.js:
        (WebInspector.Frame.prototype.removeAllChildFrames): Clear own tree too.

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

        Web Inspector: Better Remember open tab types and order if using JSContext inspector
        https://bugs.webkit.org/show_bug.cgi?id=148285

        Reviewed by Timothy Hatcher.

        * UserInterface/Base/Main.js:
        (WebInspector.contentLoaded):
        (WebInspector.activateExtraDomains):
        Save and restore extra domain related tabs at the expected saved index.

        (WebInspector._rememberOpenTabs):
        Keep unsupported tab types in the setting so when they are supported they open.

        * UserInterface/Base/Utilities.js:
        Add a helper for inserting a single object into an array.

2015-08-20  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: inline errors/warnings are taller than the line height
        https://bugs.webkit.org/show_bug.cgi?id=148232

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/SourceCodeTextEditor.css:
        (.source-code.text-editor > .CodeMirror .issue-widget.inline):
        (.source-code.text-editor > .CodeMirror .issue-widget.inline > .text):

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

        JSContext Inspector: Uncaught Exception opening Search Tab
        https://bugs.webkit.org/show_bug.cgi?id=148284

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/SearchSidebarPanel.js:
        (WebInspector.SearchSidebarPanel):
        This is copied / pasted code that shouldn't apply to the Search tab.
        We want to show results under Resources in the Search tab.

2015-08-20  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Truncate data URIs
        https://bugs.webkit.org/show_bug.cgi?id=148212

        Reviewed by Timothy Hatcher.

        * UserInterface/Base/URLUtilities.js:
        (parseURL):
        Exit early to avoid an expensive RegExp match on a potentially very large data URI.

        (parseQueryString):
        Fix typo.

        (WebInspector.displayNameForURL):
        (WebInspector.truncateURL):
        By default, only show first and last 3 characters of data URIs.

        * UserInterface/Models/Resource.js:
        (WebInspector.Resource.prototype.get displayURL):
        For tooltips, show first and last 32 characters of data URIs.

        * UserInterface/Models/SourceCodeLocation.js:
        (WebInspector.SourceCodeLocation.prototype._locationString):
        * UserInterface/Views/ResourceTreeElement.js:
        (WebInspector.ResourceTreeElement.prototype._updateToolTip):

2015-08-20  Devin Rousso  <drousso@apple.com>

        Web Inspector: Add flex alignment section to Visual sidebar
        https://bugs.webkit.org/show_bug.cgi?id=148243

        Reviewed by Timothy Hatcher.

        Uses select keyword pickers to contain the list of possible values.  Also supports
        the upcoming Grid layout keywords in the advanced keyword list.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Views/VisualStyleDetailsPanel.js:
        (WebInspector.VisualStyleDetailsPanel):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateFlexboxSection):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateAlignmentSection):

2015-08-20  Devin Rousso  <drousso@apple.com>

        Web Inspector: Labels in the computed panel are shifted when a filter is applieds
        https://bugs.webkit.org/show_bug.cgi?id=148250

        Reviewed by Timothy Hatcher.

        Added to the selectors for filtering to ensure they only apply to the rules panel.

        * UserInterface/Views/RulesStyleDetailsPanel.css:
        (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules .label):
        (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules .label:not(.filter-section-non-matching) ~ .label):
        (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules .label.filter-matching-label):
        (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules .label:not(.filter-section-non-matching) + .label.filter-matching-label:not(.filter-section-non-matching)):
        (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules .new-rule):
        (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules .style-declaration-section:not(.filter-section-non-matching) ~ .label:not(.filter-section-non-matching)):
        (@media (-webkit-min-device-pixel-ratio: 2)):
        (.sidebar > .panel.details.css-style > .content.filter-in-progress .label): Deleted.
        (.sidebar > .panel.details.css-style > .content.filter-in-progress .label:not(.filter-section-non-matching) ~ .label): Deleted.
        (.sidebar > .panel.details.css-style > .content.filter-in-progress .label.filter-matching-label): Deleted.
        (.sidebar > .panel.details.css-style > .content.filter-in-progress .label:not(.filter-section-non-matching) + .label.filter-matching-label:not(.filter-section-non-matching)): Deleted.
        (.sidebar > .panel.details.css-style > .content.filter-in-progress .new-rule): Deleted.
        (.sidebar > .panel.details.css-style > .content.filter-in-progress .style-declaration-section:not(.filter-section-non-matching) ~ .label:not(.filter-section-non-matching)): Deleted.

2015-08-20  Devin Rousso  <drousso@apple.com>

        Web Inspector: Fix "attempted to assign to readonly property" in Visual editor links
        https://bugs.webkit.org/show_bug.cgi?id=148264

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/VisualStylePropertyEditorLink.js:
        (WebInspector.VisualStylePropertyEditorLink.prototype.set linked):
        No longer attempts to set the "hidden" attribute of the link icons before they exist.

2015-08-20  Devin Rousso  <drousso@apple.com>

        Web Inspector: Visual editor adds extra spaces to styles with no properties
        https://bugs.webkit.org/show_bug.cgi?id=148242

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/CSSStyleDeclaration.js:
        (WebInspector.CSSStyleDeclaration.prototype.set text):
        Now trims the text and, if the resulting string has no length or the style is inline,
        replaces the text to be set with the trimmed text.

        * UserInterface/Views/VisualStylePropertyCombiner.js:
        (WebInspector.VisualStylePropertyCombiner.prototype.modifyPropertyText):
        Removed unnecessary trim.

2015-08-20  Devin Rousso  <drousso@apple.com>

        Web Inspector: Font size between computed and set value is off in visual styles popups
        https://bugs.webkit.org/show_bug.cgi?id=148226

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/VisualStylePropertyEditor.css:
        (.visual-style-property-container > .visual-style-property-value-container > .visual-style-special-property-placeholder):
        Increased font-size to match the font-size of the overlaid select element.

2015-08-20  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Filtered frames shouldn't be selectable in the Rendering Frames overview graph
        https://bugs.webkit.org/show_bug.cgi?id=148253

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:
        Check record's filtered state before setting new frame selection.

2015-08-20  Devin Rousso  <drousso@apple.com>

        Web Inspector: visual style number inputs don't style the units correctly
        https://bugs.webkit.org/show_bug.cgi?id=148222

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/VisualStyleNumberInputBox.js:
        (WebInspector.VisualStyleNumberInputBox.prototype.set value):
        Added extra checks to see if the number input has a value when setting the value on the editor.

2015-08-20  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Filtered frames should be styled differently in the Rendering Frames overview graph
        https://bugs.webkit.org/show_bug.cgi?id=147421

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/NavigationSidebarPanel.js:
        (WebInspector.NavigationSidebarPanel.prototype.representedObjectWasFiltered):
        (WebInspector.NavigationSidebarPanel.prototype._updateFilter):
        Inform derived sidebar of tree element filter state changes.

        * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:
        (WebInspector.RenderingFrameTimelineOverviewGraph.prototype.recordWasFiltered):
        (WebInspector.RenderingFrameTimelineOverviewGraph.prototype.updateLayout):
        Update filtered frame style when a record's state changes, and during layout.

        * UserInterface/Views/TimelineOverview.js:
        * UserInterface/Views/TimelineOverviewGraph.js:
        (WebInspector.TimelineOverviewGraph.prototype.recordWasFiltered):
        Allow setting a record's filtered state for a given timeline in the overview.

        * UserInterface/Views/TimelineRecordFrame.css:
        (.timeline-record-frame.filtered > .frame):
        New filtered frame style.

        * UserInterface/Views/TimelineRecordFrame.js:
        (WebInspector.TimelineRecordFrame.prototype.get filtered):
        (WebInspector.TimelineRecordFrame.prototype.set filtered):

        * UserInterface/Views/TimelineRecordingContentView.js:
        (WebInspector.TimelineRecordingContentView.prototype.recordWasFiltered):

        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel.prototype.representedObjectWasFiltered):
        (WebInspector.TimelineSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
        Apply task filters to RenderingFrameTimelineRecords and their immediate children.

2015-08-20  Brian Burg  <bburg@apple.com>

        Web Inspector: console assertion when hitting breakpoint after auto-recording ends
        https://bugs.webkit.org/show_bug.cgi?id=148225

        Reviewed by Timothy Hatcher.

        Add checks for the precondition to starting/stopping time updates.

        * UserInterface/Views/TimelineRecordingContentView.js:
        (WebInspector.TimelineRecordingContentView.prototype._capturingStarted):
        (WebInspector.TimelineRecordingContentView.prototype._debuggerPaused):
        (WebInspector.TimelineRecordingContentView.prototype._debuggerResumed):

2015-08-19  Brian Burg  <bburg@apple.com>

        Web Inspector: add TestHarness option to tee all commands to system console
        https://bugs.webkit.org/show_bug.cgi?id=148181

        Reviewed by Joseph Pecoraro.

        It is currently difficult to trace what's going on when a test times out
        on a buildbot instance. The existing option for forcing debug logging can
        still drop messages that don't make it from the inspector to the test page.

        This patch adds an option which logs all TestHarness commands directly to
        stderr in the Inspector instance using InspectorFrontendHost::unbufferedLog.

        Clean up how existing harness logging code calls into each other. Extract
        the stringifying code that is duplicated everywhere.

        * UserInterface/Test.html: Reorganize options and add new option.
        * UserInterface/Test/FrontendTestHarness.js:
        (FrontendTestHarness.prototype.completeTest):
        (FrontendTestHarness.prototype.addResult):
        (FrontendTestHarness.prototype.debugLog):
        (FrontendTestHarness.prototype.testPageDidLoad):
        (FrontendTestHarness.prototype._resendResults):
        (FrontendTestHarness):
        * UserInterface/Test/ProtocolTestHarness.js:
        (ProtocolTestHarness.prototype.completeTest):
        (ProtocolTestHarness.prototype.addResult):
        (ProtocolTestHarness.prototype.debugLog):
        * UserInterface/Test/TestHarness.js:
        (TestHarness.prototype.log):
        (TestHarness.prototype.assert):
        (TestHarness.prototype.expectThat):
        (TestHarness.messageAsString):
        (TestHarness):
        * UserInterface/TestStub.html: Reorganize options and add new option.

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

        Web Inspector: Remove unused temporary variable
        https://bugs.webkit.org/show_bug.cgi?id=148215

        Reviewed by Timothy Hatcher.

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

2015-08-19  Devin Rousso  <drousso@apple.com>

        Web Inspector: Visual styles panel does not work with pseudo-elements
        https://bugs.webkit.org/show_bug.cgi?id=148187

        Reviewed by Timothy Hatcher.

        If the inline style does not exist, such as for pseudo-elements, default to the first matched rule.

        * UserInterface/Views/VisualStyleSelectorSection.js:
        (WebInspector.VisualStyleSelectorSection.prototype.update):

2015-08-19  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: DOMTree leaks on main resource changes
        https://bugs.webkit.org/show_bug.cgi?id=148158

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/DOMTree.js:
        (WebInspector.DOMTree.prototype.disconnect):
        Add a way to disconnect the DOMTree and allow it to get garbage collected.

        (WebInspector.DOMTree.prototype.invalidate.performInvalidate):
        (WebInspector.DOMTree.prototype.invalidate):
        (WebInspector.DOMTree.prototype._requestRootDOMNode):
        (WebInspector.DOMTree.prototype._framePageExecutionContextChanged):
        Remove some uses of the delete operator.

        * UserInterface/Models/Frame.js:
        (WebInspector.Frame.prototype.removeChildFrame):
        (WebInspector.Frame.prototype.removeAllChildFrames):
        (WebInspector.Frame.prototype._detachFromParentFrame):
        When a frame gets removed from its parent, disconnect its DOMTree.

2015-08-19  Devin Rousso  <drousso@apple.com>

        Web Inspector: The first style in the Rules panel for pseudo-elements needs padding
        https://bugs.webkit.org/show_bug.cgi?id=148207

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/RulesStyleDetailsPanel.css:
        (.sidebar > .panel.details.css-style .rules .label:first-child):
        If the first element in the Rules panel is a label, add some top padding.

2015-08-19  Devin Rousso  <drousso@apple.com>

        Web Inspector: Committing a valid selector in the styles sidebar replaces the new selector with the old one
        https://bugs.webkit.org/show_bug.cgi?id=148206

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CSSStyleDeclarationSection.js:
        (WebInspector.CSSStyleDeclarationSection.prototype._markSelector):
        No longer unnecessarily refreshes the section if the selector is valid.

2015-08-19  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Uncaught Exceptions regarding PseudoElements / TemplateContent
        https://bugs.webkit.org/show_bug.cgi?id=148190

        Reviewed by Brian Burg.

        * UserInterface/Controllers/DOMTreeManager.js:
        (WebInspector.DOMTreeManager.prototype._unbind):
        Iterate over the values in the map, not the iterator pairs.

        * UserInterface/Models/DOMNode.js:
        When removing a pseudo element, don't assume this._children
        exists, it may be null. So separate the two paths.

2015-08-19  Devin Rousso  <drousso@apple.com>

        Web Inspector: long selectors in the visual editor sidebar can overflow
        https://bugs.webkit.org/show_bug.cgi?id=148185

        Reviewed by Timothy Hatcher.

        Selectors in the Visual editor sidebar are now clipped and use ellipses.

        * UserInterface/Views/VisualStyleSelectorSection.css:
        (.details-section.visual-style-selector-section > .header > .current-selector):
        (.details-section.visual-style-selector-section:not(.collapsed) > .content):
        (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider > .titles):
        (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider > .titles > .title): Deleted.

        * UserInterface/Views/VisualStyleSelectorTreeItem.css:
        (.item.visual-style-selector-item):
        (.item.visual-style-selector-item > .titles):
        (.item.visual-style-selector-item > input[type="checkbox"]):
        (.item.visual-style-selector-item > .icon):

2015-08-19  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Include Legacy Inspector JSON for iOS 9
        https://bugs.webkit.org/show_bug.cgi?id=148200

        Reviewed by Timothy Hatcher.

        * UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js: Added.
        * Versions/Inspector-iOS-9.0.json: Added.

2015-08-19  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Update Copyright in minified / combined output
        https://bugs.webkit.org/show_bug.cgi?id=148201

        Reviewed by Timothy Hatcher.

        * Scripts/copy-user-interface-resources.pl:
        Include copyright comments from missing 2014 and 2015 contributors
        in the comment in the minified / combined Main.js.

2015-08-19  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Uncaught exception in inspector page while handling event DOMStorage.domStorageItemRemoved
        https://bugs.webkit.org/show_bug.cgi?id=148191

        Reviewed by Brian Burg.

        * UserInterface/Controllers/StorageManager.js:
        (WebInspector.StorageManager.prototype.itemsCleared):
        (WebInspector.StorageManager.prototype.itemRemoved):
        (WebInspector.StorageManager.prototype.itemAdded):
        (WebInspector.StorageManager.prototype.itemUpdated):
        Check if the DOMStorage for the identifier actually exists.
        Due to how the backend emits events, the page may have already
        navigated when we get a storage update for the previous page.
        In that case, we don't want to create a DOMStorage for the
        previous page if it doesn't exist.

2015-08-19  Brian Burg  <bburg@apple.com>

        Web Inspector: use unprefixed CSS property 'filter' instead of '-webkit-filter'
        https://bugs.webkit.org/show_bug.cgi?id=148186

        Reviewed by Dean Jackson.

        * UserInterface/Views/BreakpointActionView.css:
        (.breakpoint-action-remove-button:active):
        * UserInterface/Views/CSSStyleDeclarationSection.css:
        (.style-declaration-section:not(.invalid-selector) > .header > .icon.toggle-able:hover):
        * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
        (.css-style-text-editor > .CodeMirror .CodeMirror-lines .invalid-warning-marker.clickable:hover):
        (.css-style-text-editor > .CodeMirror .CodeMirror-lines .cubic-bezier-marker:hover):
        (.css-style-text-editor > .CodeMirror .CodeMirror-lines .cubic-bezier-marker:active):
        * UserInterface/Views/ChartDetailsSectionRow.css:
        (body.window-inactive .details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > label > input[type=checkbox]):
        * UserInterface/Views/ChartDetailsSectionRow.js:
        (WebInspector.ChartDetailsSectionRow.prototype._addCheckboxColorFilter):
        * UserInterface/Views/NewTabContentView.css:
        (.new-tab.tab.content-view > .tab-item.disabled):
        (.new-tab.tab.content-view > .tab-item:not(.disabled):hover > .box):
        (.new-tab.tab.content-view > .tab-item:not(.disabled):active > .box):
        * 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):
        * UserInterface/Views/VisualStyleKeywordIconList.css:
        (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:not(.selected) > div):
        * UserInterface/Views/VisualStyleSelectorSection.css:
        (.details-section.visual-style-selector-section > .header > .controls > .visual-style-selector-section-add-rule):

2015-08-19  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Uncaught Exception while handling event DOM.pseudoElementRemoved reloading twitter pages
        https://bugs.webkit.org/show_bug.cgi?id=148180

        Reviewed by Brian Burg.

        * UserInterface/Views/DOMTreeElement.js:
        (WebInspector.DOMTreeElement.prototype._visibleChildren):
        DOMNode.children can be null before it is filled in.

2015-08-19  Brian Burg  <bburg@apple.com>

        Web Inspector: InspectorTest should be a subclass of TestHarness
        https://bugs.webkit.org/show_bug.cgi?id=148079

        Reviewed by Timothy Hatcher.

        Extract the frontend test harness into a subclass. Delete some code that
        is now redundant. Sprinkle some ES6 syntax where possible.

        Rewrite the code that redirects the Inspector page's console messages to
        the test page, since it didn't appear to work any more.

        * UserInterface/Test.html: Add debug options here, and a wiki link.
        * UserInterface/Test/FrontendTestHarness.js: Added.
        (FrontendTestHarness):
        (FrontendTestHarness.prototype.completeTest):
        (FrontendTestHarness.prototype.addResult):
        (FrontendTestHarness.prototype.debugLog):
        (FrontendTestHarness.prototype.evaluateInPage):
        (FrontendTestHarness.prototype.expectNoError):
        (FrontendTestHarness.prototype.testPageDidLoad):
        (FrontendTestHarness.prototype.reloadPage):
        (FrontendTestHarness.prototype.redirectConsoleToTestOutput.createProxyConsoleHandler):
        (FrontendTestHarness.prototype.redirectConsoleToTestOutput):
        (FrontendTestHarness.prototype.reportUncaughtException):
        (FrontendTestHarness.prototype._resendResults):
        * UserInterface/Test/Test.js:
        (WebInspector.loaded):
        (WebInspector.UIString): Arrow it.
        (WebInspector.updateDockedState): Arrow it.
        (WebInspector.updateDockingAvailability): Arrow it.
        (InspectorTest.EventDispatcher.prototype.dispatchEvent): Deleted.
        (InspectorTest.EventDispatcher): Deleted.
        (InspectorTest.log): Deleted.
        (InspectorTest.assert): Deleted.
        (InspectorTest.expectThat): Deleted.
        (InspectorTest.debugLog): Deleted.
        (InspectorTest.expectNoError): Deleted.
        (InspectorTest.completeTest): Deleted.
        (InspectorTest.evaluateInPage): Deleted.
        (InspectorTest.addResult): Deleted.
        (InspectorTest._resendResults): Deleted.
        (InspectorTest.testPageDidLoad): Deleted.
        (InspectorTest.reloadPage): Deleted.
        (InspectorTest.reportUncaughtException): Deleted.
        * UserInterface/Test/TestSuite.js: Clean an unnecessary self = this.
        (SyncTestSuite.prototype.runTestCases):
        (SyncTestSuite):
        * UserInterface/TestStub.html: Add matching link to wiki.

2015-08-19  Brian Burg  <bburg@apple.com>

        Web Inspector: split TestStub.js into multiple files and modernize it
        https://bugs.webkit.org/show_bug.cgi?id=148077

        Reviewed by Timothy Hatcher.
 
        Since we want to share files between the two harnesses, split some of the parts
        into different files so not everything has to be included at once.

        Rename InjectedTestHarness to just TestHarness. Update some code to use
        ES6 features where appropriate. Put test classes into Test/ directory.

        * UserInterface/Base/TestStub.js: Removed.
        * UserInterface/Test.html:
        * UserInterface/Test/InspectorProtocol.js: Added.
        (InspectorProtocol.sendCommand):
        (InspectorProtocol.awaitCommand):
        (InspectorProtocol.awaitEvent.):
        (InspectorProtocol.awaitEvent):
        (InspectorProtocol.addEventListener):
        (InspectorProtocol.sendMessage):
        (InspectorProtocol.checkForError):
        (InspectorProtocol.dispatchMessageFromBackend):
        * UserInterface/Test/ProtocolTestHarness.js: Added.
        (ProtocolTestHarness.prototype.completeTest):
        (ProtocolTestHarness.prototype.addResult):
        (ProtocolTestHarness.prototype.debugLog):
        (ProtocolTestHarness.prototype.evaluateInPage):
        (ProtocolTestHarness):
        * UserInterface/Test/Test.js: Renamed from Source/WebInspectorUI/UserInterface/Base/Test.js.
        (WebInspector.loaded):
        (WebInspector.contentLoaded):
        (WebInspector.UIString):
        (WebInspector.updateDockedState):
        (WebInspector.updateDockingAvailability):
        (InspectorTest.EventDispatcher.prototype.dispatchEvent):
        (InspectorTest.EventDispatcher):
        (InspectorTest.log):
        (InspectorTest.assert):
        (InspectorTest.expectThat):
        (InspectorTest.debugLog):
        (InspectorTest.expectNoError):
        (InspectorTest.completeTest):
        (InspectorTest.evaluateInPage):
        (InspectorTest.addResult):
        (InspectorTest._resendResults):
        (InspectorTest.testPageDidLoad):
        (InspectorTest.reloadPage):
        (InspectorTest.reportUncaughtException):
        * UserInterface/Test/TestHarness.js: Added.
        (TestHarness):
        (TestHarness.prototype.completeTest):
        (TestHarness.prototype.addResult):
        (TestHarness.prototype.debugLog):
        (TestHarness.prototype.evaluateInPage):
        (TestHarness.prototype.createAsyncSuite):
        (TestHarness.prototype.createSyncSuite):
        (TestHarness.prototype.get logCount):
        (TestHarness.prototype.log):
        (TestHarness.prototype.assert):
        (TestHarness.prototype.expectThat):
        * UserInterface/Test/TestStub.js: Added.
        * UserInterface/Test/TestSuite.js: Added.
        (TestSuite):
        (TestSuite.prototype.runTestCasesAndFinish):
        (TestSuite.prototype.runTestCases):
        (TestSuite.prototype.get passCount):
        (TestSuite.prototype.get skipCount):
        (TestSuite.prototype.addTestCase):
        (AsyncTestSuite.prototype.runTestCasesAndFinish.finish):
        (AsyncTestSuite.prototype.runTestCasesAndFinish):
        (AsyncTestSuite.prototype.runTestCases):
        (AsyncTestSuite):
        (SyncTestSuite.prototype.runTestCasesAndFinish):
        (SyncTestSuite.prototype.runTestCases):
        (SyncTestSuite):
        * UserInterface/TestStub.html:

2015-08-19  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Pressing Command-Enter should re-evaluate selected console user command
        https://bugs.webkit.org/show_bug.cgi?id=147918

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/LogContentView.js:
        (WebInspector.LogContentView.prototype._keyDown):
        (WebInspector.LogContentView.prototype._commandEnterWasPressed):
        Only re-evaluate one selected user command.

2015-08-19  Nikita Vasilyev  <nvasilyev@apple.com>

        REGRESSION (r188581): Web Inspector: Console user command isn't visible after reloading the page
        https://bugs.webkit.org/show_bug.cgi?id=148166

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/JavaScriptLogViewController.js:
        (WebInspector.JavaScriptLogViewController.prototype.startNewSession):

2015-08-19  Nikita Vasilyev  <nvasilyev@apple.com>

        REGRESSION (r188581): Web Inspector: Option-Enter no longer inserts a new line in the console
        https://bugs.webkit.org/show_bug.cgi?id=148165

        Make Option-Enter insert a new line, as it was before r188581.
        Make Command-Enter keep executed command in the prompt.

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ConsolePrompt.js:
        (WebInspector.ConsolePrompt): Deleted.
        (WebInspector.ConsolePrompt.prototype._handleCommandEnterKey):
        (WebInspector.ConsolePrompt.prototype._handleOptionEnterKey): Deleted.
        (WebInspector.ConsolePrompt.prototype._handleCommandOptionEnterKey): Deleted.

2015-08-18  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Links for rules in <style> are incorrect, do not account for <style> offset in the document
        https://bugs.webkit.org/show_bug.cgi?id=148141

        Reviewed by Brian Burg.

        * UserInterface/Controllers/CSSStyleManager.js:
        (WebInspector.CSSStyleManager):
        (WebInspector.CSSStyleManager.prototype.get styleSheets):
        (WebInspector.CSSStyleManager.prototype.fetchStyleSheetsIfNeeded):
        (WebInspector.CSSStyleManager.prototype.styleSheetForIdentifier):
        (WebInspector.CSSStyleManager.prototype._mainResourceDidChange):
        Update more information about a StyleSheet when fetched.

        * UserInterface/Models/CSSRule.js:
        (WebInspector.CSSRule.prototype.update):
        Eliminate usage of `delete`.

        * UserInterface/Models/CSSStyleSheet.js:
        (WebInspector.CSSStyleSheet):
        (WebInspector.CSSStyleSheet.prototype.get startLineNumber):
        (WebInspector.CSSStyleSheet.prototype.get startColumnNumber):
        (WebInspector.CSSStyleSheet.prototype.hasInfo):
        (WebInspector.CSSStyleSheet.prototype.isInlineStyleTag):
        (WebInspector.CSSStyleSheet.prototype.updateInfo):
        Include more information about this stylesheet.

        (WebInspector.CSSStyleSheet.prototype.offsetSourceCodeLocation):
        Include helper API to offset a source code location by the startLine/Column
        of this stylesheet itself, if it was an inline style.

        (WebInspector.CSSStyleSheet.prototype.isInlineStyleAttributeStyleSheet):
        (WebInspector.CSSStyleSheet.prototype.markAsInlineStyleAttributeStyleSheet):
        (WebInspector.CSSStyleSheet.isInlineStyle): Deleted.
        (WebInspector.CSSStyleSheet.prototype.markAsInlineStyle): Deleted.
        Rename for clarity.

        * UserInterface/Models/DOMNodeStyles.js:
        (WebInspector.DOMNodeStyles.prototype.refresh):
        Fetch stylesheet header information eagerly, so we have them early on.

        (WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload):
        (WebInspector.DOMNodeStyles.prototype._parseRulePayload):
        Offset sourceCodeLocations for CSSRules based on the StyleSheet offset.

        * UserInterface/Models/SourceCodeLocation.js:
        (WebInspector.SourceCodeLocation.prototype.update):
        Improve coding style.

2015-08-18  Devin Rousso  <drousso@apple.com>

        Web Inspector: Add proper formatting for editing styles in the Visual Panel
        https://bugs.webkit.org/show_bug.cgi?id=148147

        Reviewed by Timothy Hatcher.

        Editing styles in the Visual styles panel now preserves whitespace in the related resource file.

        * UserInterface/Views/VisualStylePropertyCombiner.js:
        (WebInspector.VisualStylePropertyCombiner):
        (WebInspector.VisualStylePropertyCombiner.prototype.modifyPropertyText):

        * UserInterface/Views/VisualStylePropertyEditor.js:
        (WebInspector.VisualStylePropertyEditor):
        (WebInspector.VisualStylePropertyEditor.generateFormattedTextForNewProperty):
        (WebInspector.VisualStylePropertyEditor.prototype.modifyPropertyText):

2015-08-18  Devin Rousso  <drousso@apple.com>

        Web Inspector: Add support for positioning Visual editors on non-retina displays
        https://bugs.webkit.org/show_bug.cgi?id=148160

        Reviewed by Timothy Hatcher.

        Cleans up the positioning, dimensions, and widths of the
        Visual editors on non-retina displays.

        * UserInterface/Views/VisualStyleColorPicker.css:
        (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > input):

        * UserInterface/Views/VisualStyleDetailsPanel.css:
        (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row.visual-style-separated-row):
        (@media (-webkit-min-device-pixel-ratio: 2)):

        * UserInterface/Views/VisualStyleDetailsPanel.js:
        (WebInspector.VisualStyleDetailsPanel.prototype._clearModifiedSection):

        * UserInterface/Views/VisualStylePropertyEditorLink.css:
        (.visual-style-property-editor-link):
        (.visual-style-property-editor-link > .visual-style-property-editor-link-border.left):
        (.visual-style-property-editor-link.link-all > .visual-style-property-editor-link-border.left):
        (.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-border):
        (.visual-style-property-editor-link > .visual-style-property-editor-link-icon):
        (.visual-style-property-editor-link:not(.link-all) > .visual-style-property-editor-link-icon):
        (@media (-webkit-min-device-pixel-ratio: 2)):
        (.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-border.left):
        (.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-icon:hover + .visual-style-property-editor-link-border.right): Deleted.
        (.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-border.right): Deleted.
        (.visual-style-property-editor-link.link-all > .visual-style-property-editor-link-icon): Deleted.

        * UserInterface/Views/VisualStyleSelectorTreeItem.css:
        (.item.visual-style-selector-item > input[type="checkbox"]):
        (.item.visual-style-selector-item > .icon):
        (.item.visual-style-selector-item.selector-invalid > .titles > .title::before):
        (@media (-webkit-min-device-pixel-ratio: 2)):
        (.item.visual-style-selector-item > .titles):
        (.item.visual-style-selector-item.selector-invalid > .icon): Deleted.

        * UserInterface/Views/VisualStyleTimingEditor.css:
        (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .bezier-editor):
        (@media (-webkit-min-device-pixel-ratio: 2)):



2015-08-18  Devin Rousso  <drousso@apple.com>

        Web Inspector: Show the computed value in an overlay for numerical Visual Editors
        https://bugs.webkit.org/show_bug.cgi?id=148161

        Reviewed by Timothy Hatcher.

        Adds an "Unchanged" option to the number-based Visual editors that shows the
        computed value if it is not a number (it would therefore be a keyword).

        * UserInterface/Views/VisualStyleNumberInputBox.css:
        (.visual-style-property-container > .visual-style-property-value-container > .number-input-container):
        (.visual-style-property-container > .visual-style-property-value-container > .number-input-container:not(.has-value) > span):

        * UserInterface/Views/VisualStyleNumberInputBox.js:
        (WebInspector.VisualStyleNumberInputBox):
        (WebInspector.VisualStyleNumberInputBox.prototype.set value):
        (WebInspector.VisualStyleNumberInputBox.prototype.get units):
        (WebInspector.VisualStyleNumberInputBox.prototype.set units):
        (WebInspector.VisualStyleNumberInputBox.prototype.set placeholder):
        (WebInspector.VisualStyleNumberInputBox.prototype.get synthesizedValue):
        (WebInspector.VisualStyleNumberInputBox.prototype.set _unitsElementTextContent):
        (WebInspector.VisualStyleNumberInputBox.prototype._markUnitsContainerIfInputHasValue):
        (WebInspector.VisualStyleNumberInputBox.prototype._keywordChanged):
        (WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputKeyDown):
        (WebInspector.VisualStyleNumberInputBox.prototype._numberInputChanged):

2015-08-18  Devin Rousso  <drousso@apple.com>

        Web Inspector: Small Caps variant checkbox should be to the left of the Small Caps label
        https://bugs.webkit.org/show_bug.cgi?id=148102

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/VisualStyleKeywordCheckbox.css:
        (.visual-style-property-container.keyword-checkbox.font-variant > .visual-style-property-value-container > input): Deleted.
        (.visual-style-property-container.keyword-checkbox.font-variant > .visual-style-property-value-container > input::after):
        (.visual-style-property-container.keyword-checkbox.font-variant > .visual-style-property-value-container > input::before): Deleted.

2015-08-18  Devin Rousso  <drousso@apple.com>

        Web Inspector: Visual editor links should unlink when switching styles
        https://bugs.webkit.org/show_bug.cgi?id=148153

        Reviewed by Timothy Hatcher.

        Visual editor links are now deactivated when switching rules/nodes.

        * UserInterface/Images/VisualStylePropertyUnlinked.svg:
        * UserInterface/Views/VisualStyleDetailsPanel.js:
        (WebInspector.VisualStyleDetailsPanel.prototype._updateProperties):
        (WebInspector.VisualStyleDetailsPanel.prototype._generateMetricSectionRows):

        * UserInterface/Views/VisualStylePropertyEditorLink.js:
        (WebInspector.VisualStylePropertyEditorLink.prototype.set linked):
        (WebInspector.VisualStylePropertyEditorLink.prototype._iconClicked):
        (WebInspector.VisualStylePropertyEditorLink):

2015-08-18  Devin Rousso  <drousso@apple.com>

        Web Inspector: Consider showing style summary on collapsed visual sidebar sections
        https://bugs.webkit.org/show_bug.cgi?id=148104

        Reviewed by Timothy Hatcher.

        The blue indicator dot on a section now means that that section has at least one set value.
        If a section has been modified, it will display a trash can that will clear those modifications.

        * UserInterface/Views/VisualStyleDetailsPanel.css:
        (.sidebar > .panel.details.css-style .visual > .details-section .details-section.has-set-property > .header > span::after):
        (.sidebar > .panel.details.css-style .visual > .details-section .details-section.modified > .header > span::after): Deleted.

        * UserInterface/Views/VisualStyleDetailsPanel.js:
        (WebInspector.VisualStyleDetailsPanel.prototype._updateProperties):
        (WebInspector.VisualStyleDetailsPanel.prototype._sectionModified):
        (WebInspector.VisualStyleDetailsPanel.prototype._groupHasSetProperty):

2015-08-18  Devin Rousso  <drousso@apple.com>

        Web Inspector: round sub-pixel values we get from computed style in visual sidebar
        https://bugs.webkit.org/show_bug.cgi?id=148105

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/VisualStyleNumberInputBox.js:
        (WebInspector.VisualStyleNumberInputBox.prototype.set value):
        (WebInspector.VisualStyleNumberInputBox.prototype.set placeholder):
        Now rounds the value and placeholder to the nearest 100th.

2015-08-18  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: transparent color swatches have lopsided checkered background on non-retina
        https://bugs.webkit.org/show_bug.cgi?id=148150

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
        (@media (-webkit-max-device-pixel-ratio: 1)):
        Make color and bezier widgets slightly smaller, but evenly sized so the
        checkered background is not lopsided and the curve is a little less blurry.

2015-08-18  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Modernize CSSStyleManager
        https://bugs.webkit.org/show_bug.cgi?id=148143

        Reviewed by Brian Burg.

        * UserInterface/Controllers/CSSStyleManager.js:
          - Eliminate `delete` operator use.
          - Move from using Objects as hashmaps to Map.
          - Fix typos.

2015-08-18  Brian Burg  <bburg@apple.com>

        Web Inspector: load ProtocolTestStub from the WebInspectorUI bundle
        https://bugs.webkit.org/show_bug.cgi?id=147955

        Reviewed by Timothy Hatcher.

        Move ProtocolTestStub.{html,js} into the actual WebInspectorUI project.

        * UserInterface/Base/TestStub.js: Renamed from LayoutTests/http/tests/inspector/resources/ProtocolTestStub.js.
        * UserInterface/TestStub.html: Renamed from LayoutTests/http/tests/inspector/resources/ProtocolTestStub.html.

2015-08-18  Devin Rousso  <drousso@apple.com>

        Web Inspector: Better keyboard shortcut to focus on the console prompt
        https://bugs.webkit.org/show_bug.cgi?id=147927

        Reviewed by Brian Burg.

        * UserInterface/Base/Main.js:
        (WebInspector.contentLoaded):
        (WebInspector._focusConsolePrompt):
        Added a Control-Tilde keyboard shortcut to focus the console prompt.

2015-08-18  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Option-Enter should commit console command without erasing the prompt
        https://bugs.webkit.org/show_bug.cgi?id=148123

        Also, don't append a console command if it's the same as the last one.

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/JavaScriptLogViewController.js:
        (WebInspector.JavaScriptLogViewController):
        * UserInterface/Views/ConsolePrompt.js:
        (WebInspector.ConsolePrompt):
        (WebInspector.ConsolePrompt.prototype._handleEnterKey.commitTextOrInsertNewLine):
        (WebInspector.ConsolePrompt.prototype._handleEnterKey):
        (WebInspector.ConsolePrompt.prototype._handleOptionEnterKey):
        (WebInspector.ConsolePrompt.prototype._handleCommandOptionEnterKey):

2015-08-17  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r188539, r188544, r188552, and
        r188564.
        https://bugs.webkit.org/show_bug.cgi?id=148122

        Broke tests and some build styles (Requested by ap on
        #webkit).

        Reverted changesets:

        "Web Inspector: load ProtocolTestStub from the WebInspectorUI
        bundle"
        https://bugs.webkit.org/show_bug.cgi?id=147955
        http://trac.webkit.org/changeset/188539

        "Web Inspector: split TestStub.js into multiple files and
        modernize it"
        https://bugs.webkit.org/show_bug.cgi?id=148077
        http://trac.webkit.org/changeset/188544

        "Web Inspector: InspectorTest should be a subclass of
        TestHarness"
        https://bugs.webkit.org/show_bug.cgi?id=148079
        http://trac.webkit.org/changeset/188552

        "Unreviewed internal build fix attempt after r188539."
        http://trac.webkit.org/changeset/188564

2015-08-17  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Allow typing command when a console message is selected
        https://bugs.webkit.org/show_bug.cgi?id=148121

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/LogContentView.js:
        (WebInspector.LogContentView):
        (WebInspector.LogContentView.prototype._keyPress):
        Command-C should still copy the selected message.

2015-08-17  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Update slider styles
        https://bugs.webkit.org/show_bug.cgi?id=148120

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/Main.css:
        (input[type=range]):
        (input[type=range]::-webkit-slider-runnable-track::before):

2015-08-17  Devin Rousso  <drousso@apple.com>

        Web Inspector: font-family list is backwards in visual sidebar
        https://bugs.webkit.org/show_bug.cgi?id=148101

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
        (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._addCommaSeparatedKeyword):
        Now appends new children if the current index is not set instead of inserting them.

2015-08-17  Devin Rousso  <drousso@apple.com>

        Web Inspector: Style changes to Visual sidebar selector items
        https://bugs.webkit.org/show_bug.cgi?id=148114

        Reviewed by Timothy Hatcher.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Views/GeneralTreeElement.js:
        (WebInspector.GeneralTreeElement.prototype._updateTitleElements):
        (WebInspector.GeneralTreeElement.prototype._updateTitleTooltip):
        Moved the code to update the item tooltip to its own function.

        * UserInterface/Views/VisualStyleDetailsPanel.js:
        (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners.editorMouseover):
        (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners.editorMouseout):
        (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners):
        (WebInspector.VisualStyleDetailsPanel.prototype._generateMetricSectionRows):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateMarginSection):
        (WebInspector.VisualStyleDetailsPanel.prototype._populatePaddingSection):
        (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners.onEditorMouseover): Deleted.
        (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners.onEditorMouseout): Deleted.
        Added on-hover node/selector highlighting to margin and padding editor links.

        * UserInterface/Views/VisualStyleNumberInputBox.js:
        (WebInspector.VisualStyleNumberInputBox):
        Replaced "No Units" with "Number" for better clarity.

        * UserInterface/Views/VisualStyleSelectorTreeItem.css:
        (body:not(.window-inactive, .window-docked-inactive) .item.visual-style-selector-item.selected > input[type="checkbox"]:checked::before):
        (.item.visual-style-selector-item.selected > input[type="checkbox"]::before): Deleted.
        Removes the white border when the window is inactive and when the checkbox is unchecked.

        * UserInterface/Views/VisualStyleSelectorTreeItem.js:
        (WebInspector.VisualStyleSelectorTreeItem.prototype._commitSelector):
        Now updates the title of the item when the selector changes.

2015-08-17  Devin Rousso  <drousso@apple.com>

        Web Inspector: delete key should work on multi-values visual sidebar grid sections
        https://bugs.webkit.org/show_bug.cgi?id=148110

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
        (WebInspector.VisualStyleCommaSeparatedKeywordEditor):
        (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._listElementKeyDown):
        If the backspace/delete key is pressed when focus is within the list element, delete
        the selected list item if it is not currently being edited (if it has an editor).

        * UserInterface/Views/VisualStyleFontFamilyTreeElement.js:
        (WebInspector.VisualStyleFontFamilyTreeElement.prototype.get currentlyEditing):

2015-08-17  Devin Rousso  <drousso@apple.com>

        Web Inspector: web fonts or unknown fonts show up as Times in visual sidebar
        https://bugs.webkit.org/show_bug.cgi?id=148103

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/VisualStyleFontFamilyTreeElement.js:
        (WebInspector.VisualStyleFontFamilyTreeElement.prototype.updateMainTitle):
        Fonts now fall back to sans-serif and -apple-system if they do not exist.

2015-08-17  Myles C. Maxfield  <mmaxfield@apple.com>

        Implement IntegerHasher
        https://bugs.webkit.org/show_bug.cgi?id=147866

        Reviewed by Darin Adler and Anders Carlsson.

        Update comment.

        * UserInterface/Base/Utilities.js:

2015-08-17  Brian Burg  <bburg@apple.com>

        Web Inspector: InspectorTest should be a subclass of TestHarness
        https://bugs.webkit.org/show_bug.cgi?id=148079

        Reviewed by Timothy Hatcher.

        Extract the frontend test harness into a subclass. Delete some code that
        is now redundant. Sprinkle some ES6 syntax where possible.

        Rewrite the code that redirects the Inspector page's console messages to
        the test page, since it didn't appear to work any more.

        * UserInterface/Test.html:
        * UserInterface/Test/FrontendTestHarness.js: Added.
        (FrontendTestHarness):
        (FrontendTestHarness.prototype.completeTest):
        (FrontendTestHarness.prototype.addResult):
        (FrontendTestHarness.prototype.debugLog):
        (FrontendTestHarness.prototype.evaluateInPage):
        (FrontendTestHarness.prototype.expectNoError):
        (FrontendTestHarness.prototype.testPageDidLoad):
        (FrontendTestHarness.prototype.reloadPage):
        (FrontendTestHarness.prototype.redirectConsoleToTestOutput.createProxyConsoleHandler):
        (FrontendTestHarness.prototype.redirectConsoleToTestOutput):
        (FrontendTestHarness.prototype.reportUncaughtException):
        (FrontendTestHarness.prototype._resendResults):
        * UserInterface/Test/Test.js:
        (InspectorTest.EventDispatcher.prototype.dispatchEvent): Deleted.
        (InspectorTest.EventDispatcher): Deleted.
        (InspectorTest.log): Deleted.
        (InspectorTest.assert): Deleted.
        (InspectorTest.expectThat): Deleted.
        (InspectorTest.debugLog): Deleted.
        (InspectorTest.expectNoError): Deleted.
        (InspectorTest.completeTest): Deleted.
        (InspectorTest.evaluateInPage): Deleted.
        (InspectorTest.addResult): Deleted.
        (InspectorTest._resendResults): Deleted.
        (InspectorTest.testPageDidLoad): Deleted.
        (InspectorTest.reloadPage): Deleted.
        (InspectorTest.reportUncaughtException): Deleted.

2015-08-17  Saam barati  <sbarati@apple.com>

        Web Inspector: Type profiler return types aren't showing up
        https://bugs.webkit.org/show_bug.cgi?id=147348

        Reviewed by Brian Burg.

        Bug #145995 changed the starting offset of a function to 
        be the open parenthesis of the function's parameter list.
        This broke the type profiler's text offset based protocol with JSC.
        The text offset used in the protocol is now the first letter of the 
        function/get/set/method name.  So "f" in "function a() {}", "s" in "set foo(){}", etc.

        * UserInterface/Models/ScriptSyntaxTree.js:
        (WebInspector.ScriptSyntaxTree.prototype.containsNonEmptyReturnStatement):
        (WebInspector.ScriptSyntaxTree.functionReturnDivot):

2015-08-17  Brian Burg  <bburg@apple.com>

        Web Inspector: REGRESSION: spurious console.assert inside ResourceContentView._contentAvailable
        https://bugs.webkit.org/show_bug.cgi?id=147886

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/ResourceContentView.js:
        (WebInspector.ResourceContentView.prototype._hasContent): Fix the style class name.

2015-08-17  Brian Burg  <bburg@apple.com>

        Web Inspector: split TestStub.js into multiple files and modernize it
        https://bugs.webkit.org/show_bug.cgi?id=148077

        Reviewed by Timothy Hatcher.
 
        Since we want to share files between the two harnesses, split some of the parts
        into different files so not everything has to be included at once.

        Rename InjectedTestHarness to just TestHarness. Update some code to use
        ES6 features where appropriate. Put test classes into Test/ directory.

        * UserInterface/Base/TestStub.js: Removed.
        * UserInterface/Test.html:
        * UserInterface/Test/InspectorProtocol.js: Added.
        (InspectorProtocol.sendCommand):
        (InspectorProtocol.awaitCommand):
        (InspectorProtocol.awaitEvent.):
        (InspectorProtocol.awaitEvent):
        (InspectorProtocol.addEventListener):
        (InspectorProtocol.sendMessage):
        (InspectorProtocol.checkForError):
        (InspectorProtocol.dispatchMessageFromBackend):
        * UserInterface/Test/ProtocolTestHarness.js: Added.
        (ProtocolTestHarness.prototype.completeTest):
        (ProtocolTestHarness.prototype.addResult):
        (ProtocolTestHarness.prototype.debugLog):
        (ProtocolTestHarness.prototype.evaluateInPage):
        (ProtocolTestHarness):
        * UserInterface/Test/Test.js: Renamed from Source/WebInspectorUI/UserInterface/Base/Test.js.
        (WebInspector.loaded):
        (WebInspector.contentLoaded):
        (WebInspector.UIString):
        (WebInspector.updateDockedState):
        (WebInspector.updateDockingAvailability):
        (InspectorTest.EventDispatcher.prototype.dispatchEvent):
        (InspectorTest.EventDispatcher):
        (InspectorTest.log):
        (InspectorTest.assert):
        (InspectorTest.expectThat):
        (InspectorTest.debugLog):
        (InspectorTest.expectNoError):
        (InspectorTest.completeTest):
        (InspectorTest.evaluateInPage):
        (InspectorTest.addResult):
        (InspectorTest._resendResults):
        (InspectorTest.testPageDidLoad):
        (InspectorTest.reloadPage):
        (InspectorTest.reportUncaughtException):
        * UserInterface/Test/TestHarness.js: Added.
        (TestHarness):
        (TestHarness.prototype.completeTest):
        (TestHarness.prototype.addResult):
        (TestHarness.prototype.debugLog):
        (TestHarness.prototype.evaluateInPage):
        (TestHarness.prototype.createAsyncSuite):
        (TestHarness.prototype.createSyncSuite):
        (TestHarness.prototype.get logCount):
        (TestHarness.prototype.log):
        (TestHarness.prototype.assert):
        (TestHarness.prototype.expectThat):
        * UserInterface/Test/TestStub.js: Added.
        * UserInterface/Test/TestSuite.js: Added.
        (TestSuite):
        (TestSuite.prototype.runTestCasesAndFinish):
        (TestSuite.prototype.runTestCases):
        (TestSuite.prototype.get passCount):
        (TestSuite.prototype.get skipCount):
        (TestSuite.prototype.addTestCase):
        (AsyncTestSuite.prototype.runTestCasesAndFinish.finish):
        (AsyncTestSuite.prototype.runTestCasesAndFinish):
        (AsyncTestSuite.prototype.runTestCases):
        (AsyncTestSuite):
        (SyncTestSuite.prototype.runTestCasesAndFinish):
        (SyncTestSuite.prototype.runTestCases):
        (SyncTestSuite):
        * UserInterface/TestStub.html:

2015-08-17  Brian Burg  <bburg@apple.com>

        Web Inspector: load ProtocolTestStub from the WebInspectorUI bundle
        https://bugs.webkit.org/show_bug.cgi?id=147955

        Reviewed by Timothy Hatcher.

        Move ProtocolTestStub.{html,js} into the actual WebInspectorUI project.

        * UserInterface/Base/TestStub.js: Renamed from LayoutTests/http/tests/inspector/resources/ProtocolTestStub.js.
        * UserInterface/TestStub.html: Renamed from LayoutTests/http/tests/inspector/resources/ProtocolTestStub.html.

2015-08-17  Simon Fraser  <simon.fraser@apple.com>

        will-change should sometimes trigger compositing
        https://bugs.webkit.org/show_bug.cgi?id=148072

        Reviewed by Tim Horton.
        
        Have the web inspector show a correct compositing reason for will-change.
        This could be improved to indicate which specific value in will-change triggered
        the compositing.

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

2015-08-14  Matt Baker  <mattbaker@apple.com>

        Web Inspector: NavigationBar.updateLayoutSoon should use requestAnimationFrame
        https://bugs.webkit.org/show_bug.cgi?id=148010

        Reviewed by Brian Burg.

        NavigationBar.updateLayoutSoon now uses requestAnimationFrame instead of setTimeout.

        * UserInterface/Views/NavigationBar.js:
        (WebInspector.NavigationBar):
        (WebInspector.NavigationBar.prototype.updateLayoutSoon.update):
        (WebInspector.NavigationBar.prototype.updateLayoutSoon):
        (WebInspector.NavigationBar.prototype.updateLayout):

2015-08-14  Devin Rousso  <drousso@apple.com>

        Web Inspector: Add VisualStyleDetailsPanel
        https://bugs.webkit.org/show_bug.cgi?id=147570

        Reviewed by Timothy Hatcher.

        Added VisualStyleDetailsPanel and inclusions to forthcoming classes
        that will be used in this visual sidebar panel.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Main.html:
        Added files for all new classes used in the VisualStyleDetailsPanel.

        * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
        (WebInspector.CSSStyleDetailsSidebarPanel):
        * UserInterface/Views/DetailsSection.js:
        (WebInspector.DetailsSection):
        (WebInspector.DetailsSection.prototype.set collapsed):
        (WebInspector.DetailsSection.prototype.get expandedByUser):
        (WebInspector.DetailsSection.prototype._headerElementClicked):
        Track whether or not the expanded state was caused by the user.

        * UserInterface/Views/VisualStyleDetailsPanel.css: Added.
        (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .header):
        (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .header > .visual-style-section-clear):
        (.sidebar > .panel.details.css-style .visual > .details-section .details-section:not(.modified) > .header > .visual-style-section-clear):
        (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .header > span):
        (.sidebar > .panel.details.css-style .visual > .details-section .details-section.modified > .header > span::after):
        (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content):
        (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row):
        (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row:last-child):
        (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row.visual-style-separated-row):
        (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row > .visual-style-property-container > .visual-style-property-title):
        (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row > .visual-style-property-container:not(.layout-reversed):last-child):
        (.sidebar > .panel.details.css-style .visual.disabled > .details-section:not(.visual-style-selector-section)):
        (.sidebar > .panel.details.css-style .visual.disabled > .details-section:not(.visual-style-selector-section) input):

        * UserInterface/Views/VisualStyleDetailsPanel.js: Added.
        (WebInspector.VisualStyleDetailsPanel):
        (WebInspector.VisualStyleDetailsPanel.prototype.refresh):
        (WebInspector.VisualStyleDetailsPanel.prototype._generateSection.replaceDashWithCapital):
        (WebInspector.VisualStyleDetailsPanel.prototype._generateSection.createOptionsElement):
        (WebInspector.VisualStyleDetailsPanel.prototype._generateSection):
        (WebInspector.VisualStyleDetailsPanel.prototype._prepareForChange):
        (WebInspector.VisualStyleDetailsPanel.prototype._updateSections):
        (WebInspector.VisualStyleDetailsPanel.prototype._updateProperties):
        (WebInspector.VisualStyleDetailsPanel.prototype._updateAutocompleteCompatiblePropertyEditor):
        (WebInspector.VisualStyleDetailsPanel.prototype._sectionModified):
        (WebInspector.VisualStyleDetailsPanel.prototype._clearModifiedSection):
        (WebInspector.VisualStyleDetailsPanel.prototype.get _initialTextList):
        (WebInspector.VisualStyleDetailsPanel.prototype._initialPropertyTextModified):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateSection):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateDisplaySection):
        (WebInspector.VisualStyleDetailsPanel.prototype._generateMetricSectionRows):
        (WebInspector.VisualStyleDetailsPanel.prototype._populatePositionSection):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateFloatSection):
        (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners.onEditorMouseover):
        (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners.onEditorMouseout):
        (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateDimensionsSection):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateMarginSection):
        (WebInspector.VisualStyleDetailsPanel.prototype._populatePaddingSection):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateFlexboxSection):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateTextStyleSection):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateFontSection):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateTextSpacingSection):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateTextShadowSection):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateBackgroundStyleSection):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateBorderSection):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateOutlineSection):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.noRemainingTreeItems):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.selectedBoxShadowItemValueChanged):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.boxShadowItemSelected):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.noRemainingTreeItems):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.selectedtransitionItemValueChanged):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.transitionItemSelected):
        (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection):

2015-08-14  Devin Rousso  <drousso@apple.com>

        Web Inspector: Highlight DOM node attribute changes in parallel, not sequentially
        https://bugs.webkit.org/show_bug.cgi?id=148019

        Reviewed by Brian Burg.

        * UserInterface/Views/DOMTreeElement.js:
        (WebInspector.DOMTreeElement.prototype._markNodeChanged):
        (WebInspector.DOMTreeElement.prototype._nodeChangedAnimationEnd):
        Now removes the animated element from the updated list once the animation ends.

2015-08-14  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Long delay when row selection changes in timeline data grids
        https://bugs.webkit.org/show_bug.cgi?id=148005

        Reviewed by Brian Burg.

        Selecting a tree element in the Timelines sidebar generates multiple
        WebInspector.ContentView.SelectionPathComponentsDidChange events, each of which
        causes NavigationBar to update its layout (which is extremely expensive).

        * UserInterface/Views/ContentBrowser.js:
        (WebInspector.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange):
        Call updateLayoutSoon instead of updateLayout to coalesce layout requests.

        * UserInterface/Views/TimelineRecordingContentView.js:
        (WebInspector.TimelineRecordingContentView.prototype._recordSelected):
        When the selected record changes in the overview graph, make sure the record's tree element
        isn't already selected. Reselecting the tree element results in an extra NavigationBar layout.

2015-08-14  Matt Baker  <mattbaker@apple.com>

        Web Inspector: REGRESSION (r188396): Rendering Frames timeline ruler dividers are off by 1px
        https://bugs.webkit.org/show_bug.cgi?id=148040

        Reviewed by Brian Burg.

        * UserInterface/Views/TimelineOverview.css:
        (.timeline-overview.frames > .timeline-ruler > .markers > .divider):
        (.timeline-overview.frames > .timeline-ruler > .header > .divider): Deleted.
        All ruler dividers should be translated by the same amount.

2015-08-14  Devin Rousso  <drousso@apple.com>

        Web Inspector: Style changes to Visual sidebar editors
        https://bugs.webkit.org/show_bug.cgi?id=148021

        Reviewed by Brian Burg.

        Various style fixes and feature enhancements in some of the Visual style property editors.

        * UserInterface/Views/VisualStyleColorPicker.css:
        (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch):
        (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > input):
        (.visual-style-property-container.input-color-picker.multiple > .visual-style-property-value-container > .visual-style-multiple-property-placeholder):

        * UserInterface/Views/VisualStyleKeywordCheckbox.css:
        (.visual-style-property-container.keyword-checkbox.font-variant > .visual-style-property-value-container > input):
        (.visual-style-property-container.keyword-checkbox.font-variant > .visual-style-property-value-container > input::before):
        (.visual-style-property-container.keyword-checkbox > .visual-style-property-value-container > input): Deleted.
        (.visual-style-property-container.keyword-checkbox > .visual-style-property-value-container > div): Deleted.
        Replaced the SVG image before the checkbox with a :before pseudo-element with content.

        * UserInterface/Views/VisualStyleKeywordCheckbox.js:
        (WebInspector.VisualStyleKeywordCheckbox):
        Removed the SVG image before the checkbox.

        * UserInterface/Views/VisualStyleKeywordPicker.js:
        (WebInspector.VisualStyleKeywordPicker.prototype.get value):
        (WebInspector.VisualStyleKeywordPicker.prototype.set value):
        (WebInspector.VisualStyleKeywordPicker.prototype.set placeholder):
        (WebInspector.VisualStyleKeywordPicker.prototype.get synthesizedValue):
        (WebInspector.VisualStyleKeywordPicker.prototype._getValue):
        (WebInspector.VisualStyleKeywordPicker.prototype._setValue):
        (WebInspector.VisualStyleKeywordPicker.prototype._generateSynthesizedValue):
        (WebInspector.VisualStyleKeywordPicker.prototype._handleKeywordChanged):
        Due to a current bug (https://webkit.org/b/147064), you cannot extend ES6 getters/setters.  In order to work
        around this, a member function was added that performs the same action as the getter/setter, but can be extended.

        * UserInterface/Views/VisualStylePropertyEditorLink.css:
        (.visual-style-property-editor-link.linked > .visual-style-property-editor-link-border):
        (.visual-style-property-editor-link > .visual-style-property-editor-link-icon > .unlinked-icon):

        * UserInterface/Views/VisualStyleRelativeNumberSlider.js:
        (WebInspector.VisualStyleRelativeNumberSlider):
        (WebInspector.VisualStyleRelativeNumberSlider.prototype._resetSlider):
        (WebInspector.VisualStyleRelativeNumberSlider.prototype._sliderChanged):

        * UserInterface/Views/VisualStyleSelectorTreeItem.css:
        (.item.visual-style-selector-item > input[type="checkbox"]):
        (.item.visual-style-selector-item.selected > input[type="checkbox"]::before):
        (.item.visual-style-selector-item.modified > .icon):
        (.item.visual-style-selector-item:not(.dom-element-icon).editable > .titles > .title:focus):

        * UserInterface/Views/VisualStyleSelectorTreeItem.js:
        (WebInspector.VisualStyleSelectorTreeItem.prototype._handleContextMenuEvent):
        (WebInspector.VisualStyleSelectorTreeItem.prototype._handleMainTitleMouseDown):
        Added another context menu item to show the source location for the selected rule.

2015-08-14  Devin Rousso  <drousso@apple.com>

        Web Inspector: Add visual editors for CSS properties
        https://bugs.webkit.org/show_bug.cgi?id=147576

        Added parent class for property editors in the Visual style
        details panel in the CSS sidebar.

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/VisualStylePropertyCombiner.js: Added.
        (WebInspector.VisualStylePropertyCombiner):
        (WebInspector.VisualStylePropertyCombiner.prototype.get style):
        (WebInspector.VisualStylePropertyCombiner.prototype.get synthesizedValue):
        (WebInspector.VisualStylePropertyCombiner.prototype.modifyPropertyText):
        (WebInspector.VisualStylePropertyCombiner.prototype.update):
        (WebInspector.VisualStylePropertyCombiner.prototype.updateValuesFromText.updateCompatibleEditor):
        (WebInspector.VisualStylePropertyCombiner.prototype.updateValuesFromText):
        (WebInspector.VisualStylePropertyCombiner.prototype.propertyMissing):
        (WebInspector.VisualStylePropertyCombiner.prototype.resetEditorValues):
        (WebInspector.VisualStylePropertyCombiner.prototype._markEditors):
        (WebInspector.VisualStylePropertyCombiner.prototype._handlePropertyEditorValueChanged):

        * UserInterface/Views/VisualStylePropertyEditor.css: Added.
        (.visual-style-property-container):
        (.visual-style-property-container > .visual-style-property-title):
        (.visual-style-property-container > .visual-style-property-title > .property-reference-info):
        (.visual-style-property-container.disabled > .visual-style-property-title > :not(.property-reference-info)):
        (.visual-style-property-container > .visual-style-property-value-container):
        (.visual-style-property-container.disabled > .visual-style-property-value-container):
        (.visual-style-property-container > .visual-style-property-value-container select):
        (.visual-style-property-container > .visual-style-property-value-container input):
        (.visual-style-property-container.disabled > .visual-style-property-value-container input):
        (.visual-style-property-container.layout-reversed > .visual-style-property-title):
        (.visual-style-property-container > .visual-style-property-value-container > .visual-style-special-property-placeholder):
        (.visual-style-property-info-popover):
        (.visual-style-property-info-popover > h3):

        * UserInterface/Views/VisualStylePropertyEditor.js: Added.
        (WebInspector.VisualStylePropertyEditor.canonicalizeValues):
        (WebInspector.VisualStylePropertyEditor):
        (WebInspector.VisualStylePropertyEditor.prototype.get element):
        (WebInspector.VisualStylePropertyEditor.prototype.get style):
        (WebInspector.VisualStylePropertyEditor.prototype.get value):
        (WebInspector.VisualStylePropertyEditor.prototype.set value):
        (WebInspector.VisualStylePropertyEditor.prototype.get units):
        (WebInspector.VisualStylePropertyEditor.prototype.set units):
        (WebInspector.VisualStylePropertyEditor.prototype.get placeholder):
        (WebInspector.VisualStylePropertyEditor.prototype.set placeholder):
        (WebInspector.VisualStylePropertyEditor.prototype.get synthesizedValue):
        (WebInspector.VisualStylePropertyEditor.prototype.set suppressStyleTextUpdate):
        (WebInspector.VisualStylePropertyEditor.prototype.set masterProperty):
        (WebInspector.VisualStylePropertyEditor.prototype.get masterProperty):
        (WebInspector.VisualStylePropertyEditor.prototype.set optionalProperty):
        (WebInspector.VisualStylePropertyEditor.prototype.get optionalProperty):
        (WebInspector.VisualStylePropertyEditor.prototype.set colorProperty):
        (WebInspector.VisualStylePropertyEditor.prototype.get colorProperty):
        (WebInspector.VisualStylePropertyEditor.prototype.get propertyReferenceName):
        (WebInspector.VisualStylePropertyEditor.prototype.set propertyReferenceName):
        (WebInspector.VisualStylePropertyEditor.prototype.set disabled):
        (WebInspector.VisualStylePropertyEditor.prototype.get disabled):
        (WebInspector.VisualStylePropertyEditor.prototype.update):
        (WebInspector.VisualStylePropertyEditor.prototype.updateEditorValues):
        (WebInspector.VisualStylePropertyEditor.prototype.resetEditorValues):
        (WebInspector.VisualStylePropertyEditor.prototype.modifyPropertyText):
        (WebInspector.VisualStylePropertyEditor.prototype.getValuesFromText):
        (WebInspector.VisualStylePropertyEditor.prototype.propertyMissing):
        (WebInspector.VisualStylePropertyEditor.prototype.valueIsCompatible):
        (WebInspector.VisualStylePropertyEditor.prototype.valueIsSupportedKeyword):
        (WebInspector.VisualStylePropertyEditor.prototype.valueIsSupportedUnit):
        (WebInspector.VisualStylePropertyEditor.prototype.get contentElement):
        (WebInspector.VisualStylePropertyEditor.prototype.get specialPropertyPlaceholderElement):
        (WebInspector.VisualStylePropertyEditor.prototype.parseValue):
        (WebInspector.VisualStylePropertyEditor.prototype._valueIsSupportedAdvancedKeyword):
        (WebInspector.VisualStylePropertyEditor.prototype._valueIsSupportedAdvancedUnit):
        (WebInspector.VisualStylePropertyEditor.prototype._canonicalizedKeywordForKey):
        (WebInspector.VisualStylePropertyEditor.prototype._keyForKeyword):
        (WebInspector.VisualStylePropertyEditor.prototype._valueDidChange):
        (WebInspector.VisualStylePropertyEditor.prototype._replaceShorthandPropertyWithLonghandProperties):
        (WebInspector.VisualStylePropertyEditor.prototype._titleElementPrepareForClick):
        (WebInspector.VisualStylePropertyEditor.prototype._titleElementMouseOver):
        (WebInspector.VisualStylePropertyEditor.prototype._titleElementMouseOut):
        (WebInspector.VisualStylePropertyEditor.prototype._titleElementClick):
        (WebInspector.VisualStylePropertyEditor.prototype._hasMultipleConflictingValues):
        (WebInspector.VisualStylePropertyEditor.prototype._showPropertyInfoPopover):
        (WebInspector.VisualStylePropertyEditor.prototype._toggleTabbingOfSelectableElements):

        * UserInterface/Views/VisualStyleTabbedPropertiesRow.css: Added.
        (.visual-style-tabbed-properties-row ~ :not(.visible)):
        (.visual-style-tabbed-properties-row > .visual-style-tabbed-properties-row-container):
        (.visual-style-tabbed-properties-row > .visual-style-tabbed-properties-row-container > button):
        (.visual-style-tabbed-properties-row > .visual-style-tabbed-properties-row-container > button.selected):
        (.visual-style-tabbed-properties-row > .visual-style-tabbed-properties-row-container > button:not(.selected):hover):

        * UserInterface/Views/VisualStyleTabbedPropertiesRow.js: Added.
        (WebInspector.VisualStyleTabbedPropertiesRow):
        (WebInspector.VisualStyleTabbedPropertiesRow.prototype._handleButtonClicked):

2015-08-14  Devin Rousso  <drousso@apple.com>

        Web Inspector: Add Visual editors for CSS properties with comma separated values
        https://bugs.webkit.org/show_bug.cgi?id=147578

        Reviewed by Timothy Hatcher.

        Displays comma separated CSS property values as a tree outline list.

        * UserInterface/Images/Minus.svg: Added.
        * UserInterface/Views/TreeOutline.js:
        (WebInspector.TreeOutline.prototype.get selectedTreeElementIndex):
        (WebInspector.TreeOutline):

        * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css: Added.
        (.visual-style-property-container.comma-separated-keyword-editor):
        (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container):
        (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list):
        (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item):
        (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item:nth-child(odd)):
        (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item.selected):
        (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item > :matches(button, img)):
        (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item > .titles):
        (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item.visual-style-font-family-list-item.selected:not(.editor-hidden) > .titles > *):
        (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item.visual-style-font-family-list-item > .visual-style-comma-separated-keyword-item-editor):
        (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item.visual-style-font-family-list-item.editor-hidden > .visual-style-comma-separated-keyword-item-editor):
        (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item > .titles > .subtitle):
        (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item:not(.no-value) > .titles > .subtitle):
        (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-controls):
        (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-controls > div):
        (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-controls > .visual-style-remove-comma-separated-keyword):

        * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js: Added.
        (WebInspector.VisualStyleCommaSeparatedKeywordEditor):
        (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.set selectedTreeElementValue):
        (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.get value):
        (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.set value):
        (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.get synthesizedValue):
        (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._treeElementSelected):
        (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._treeItemIsEmpty):
        (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._addEmptyCommaSeparatedKeyword):
        (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._removeSelectedCommaSeparatedKeyword):
        (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._removeEmptyCommaSeparatedKeywords):
        (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._addCommaSeparatedKeyword):
        (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._removeCommaSeparatedKeyword):
        (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._createNewTreeElement):

        * UserInterface/Views/VisualStyleFontFamilyListEditor.js: Added.
        (WebInspector.VisualStyleFontFamilyListEditor):
        (WebInspector.VisualStyleFontFamilyListEditor.prototype.visualStyleCompletionsControllerCustomizeCompletionElement):
        (WebInspector.VisualStyleFontFamilyListEditor.prototype.get hasCompletions):
        (WebInspector.VisualStyleFontFamilyListEditor.prototype.set completions):
        (WebInspector.VisualStyleFontFamilyListEditor.prototype._modifyCommaSeparatedKeyword):
        (WebInspector.VisualStyleFontFamilyListEditor.prototype._addCommaSeparatedKeyword):
        (WebInspector.VisualStyleFontFamilyListEditor.prototype._addEmptyCommaSeparatedKeyword):
        (WebInspector.VisualStyleFontFamilyListEditor.prototype._completionClicked):
        (WebInspector.VisualStyleFontFamilyListEditor.prototype._treeElementKeyDown):
        (WebInspector.VisualStyleFontFamilyListEditor.prototype._treeElementKeywordChanged):
        (WebInspector.VisualStyleFontFamilyListEditor.prototype._hideCompletions):
        (WebInspector.VisualStyleFontFamilyListEditor.prototype._createNewTreeElement):

        * UserInterface/Views/VisualStyleFontFamilyTreeElement.js: Added.
        (WebInspector.VisualStyleFontFamilyTreeElement):
        (WebInspector.VisualStyleFontFamilyTreeElement.prototype.editorBounds):
        (WebInspector.VisualStyleFontFamilyTreeElement.prototype.updateMainTitle):
        (WebInspector.VisualStyleFontFamilyTreeElement.prototype.showKeywordEditor):
        (WebInspector.VisualStyleFontFamilyTreeElement.prototype.hideKeywordEditor):
        (WebInspector.VisualStyleFontFamilyTreeElement.prototype.get keywordEditorHidden):
        (WebInspector.VisualStyleFontFamilyTreeElement.prototype.onattach):
        (WebInspector.VisualStyleFontFamilyTreeElement.prototype.ondeselect):
        (WebInspector.VisualStyleFontFamilyTreeElement.prototype._keywordEditorKeyDown):
        (WebInspector.VisualStyleFontFamilyTreeElement.prototype._keywordEditorKeyUp):
        (WebInspector.VisualStyleFontFamilyTreeElement.prototype._keywordEditorBlurred):

2015-08-14  Devin Rousso  <drousso@apple.com>

        Web Inspector: Add autocomplete controller for Visual property editors
        https://bugs.webkit.org/show_bug.cgi?id=147579

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/VisualStyleCompletionsController.js: Added.
        (WebInspector.VisualStyleCompletionsController):
        Takes in a CSSCompletions and displays a list of suggestions based on a given prefix in a popover.
        (WebInspector.VisualStyleCompletionsController.prototype.get visible):
        (WebInspector.VisualStyleCompletionsController.prototype.get hasCompletions):
        (WebInspector.VisualStyleCompletionsController.prototype.get currentCompletion):
        (WebInspector.VisualStyleCompletionsController.prototype.set completions):
        (WebInspector.VisualStyleCompletionsController.prototype.completionSuggestionsViewCustomizeCompletionElement):
        (WebInspector.VisualStyleCompletionsController.prototype.previous):
        (WebInspector.VisualStyleCompletionsController.prototype.next):
        (WebInspector.VisualStyleCompletionsController.prototype.update):
        (WebInspector.VisualStyleCompletionsController.prototype.show):
        (WebInspector.VisualStyleCompletionsController.prototype.hide):

        * UserInterface/Models/CSSKeywordCompletions.js:
        (WebInspector.CSSKeywordCompletions.forProperty):
        Make sure that the cssNameCompletions exist before trying to add them.

        * UserInterface/Views/CompletionSuggestionsView.js:
        (WebInspector.CompletionSuggestionsView.prototype.update):
        Allow the delegate to modify the newly created completion suggestion item.

2015-08-14  Devin Rousso  <drousso@apple.com>

        Web Inspector: Add a visual editor for timing functions
        https://bugs.webkit.org/show_bug.cgi?id=148022

        Reviewed by Timothy Hatcher.

        Uses the existing bezier editor and the Visual keyword picker to make an editor for timing functions.

        * UserInterface/Views/VisualStyleTimingEditor.css: Added.
        (.visual-style-property-container.timing-editor > .visual-style-property-value-container):
        (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .keyword-picker-select):
        (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .bezier-editor):
        (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .bezier-editor:hover):
        (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .bezier-editor:active):

        * UserInterface/Views/VisualStyleTimingEditor.js: Added.
        (WebInspector.VisualStyleTimingEditor):
        (WebInspector.VisualStyleTimingEditor.prototype.parseValue):
        (WebInspector.VisualStyleTimingEditor.prototype.get bezierValue):
        (WebInspector.VisualStyleTimingEditor.prototype.set bezierValue):
        (WebInspector.VisualStyleTimingEditor.prototype._getValue):
        (WebInspector.VisualStyleTimingEditor.prototype._setValue):
        (WebInspector.VisualStyleTimingEditor.prototype._generateSynthesizedValue):
        (WebInspector.VisualStyleTimingEditor.prototype._bezierMarkerClicked):
        (WebInspector.VisualStyleTimingEditor.prototype._handleKeywordChanged):

2015-08-13  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Can't resize split console when window is too narrow
        https://bugs.webkit.org/show_bug.cgi?id=147924

        Make some items inside of the navigation bar click-through to incsease
        the draggable area.

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/Main.css:
        (#split-content-browser > .navigation-bar > :matches(.hierarchical-path, .log-search-bar, .log-scope-bar)):
        (#split-content-browser > .navigation-bar > :matches(.log-search-bar, .log-scope-bar) > :matches(li, input)):

2015-08-13  Devin Rousso  <drousso@apple.com>

        Web Inspector: Flash DOM node attribute on change
        https://bugs.webkit.org/show_bug.cgi?id=147973

        Reviewed by Timothy Hatcher.

        Whenever an attribute on a DOM node changes, flash the attribute value.
        If that value doesn't exist, flash the attribute name instead.

        * UserInterface/Views/DOMTreeElement.js:
        (WebInspector.DOMTreeElement):
        (WebInspector.DOMTreeElement.prototype.nodeChanged):
        (WebInspector.DOMTreeElement.prototype._buildAttributeDOM):
        If the node has been marked with a general change, mark the attribute element for animation.
        (WebInspector.DOMTreeElement.prototype._markNodeChanged.animationEnd):
        (WebInspector.DOMTreeElement.prototype._markNodeChanged):
        Adds a class to the given element that applies a simple background flash animation.
        (WebInspector.DOMTreeElement.prototype._fireDidChange):
        Add the animation class once all building of the represented DOM object for that node is done.

        * UserInterface/Views/DOMTreeOutline.css:
        (@keyframes node-state-changed):
        Applies a semi-transparent background that fades to default.
        (.node-state-changed):

        * UserInterface/Views/DOMTreeUpdater.js:
        (WebInspector.DOMTreeUpdater.prototype._attributesUpdated):
        Now passes along the name of the modified attribute.
        (WebInspector.DOMTreeUpdater.prototype._updateModifiedNodes):
        If the modified node object has an attribute member, mark the node as being generally changed.

2015-08-13  Devin Rousso  <drousso@apple.com>

        REGRESSION (r184000): Web Inspector: Stripped whitespace after editing CSS in Styles sidebar
        https://bugs.webkit.org/show_bug.cgi?id=145679

        Reviewed by Timothy Hatcher.

        The formatter will now calculate the number of beginning spaces before the first line in a rule
        and duplicate them in front of every other line.  If there is no new line at the beginning or are
        no spaces, assume 4 spaces and a new line for each property.
        Also cleaned up the code for _resetContent a bit.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update.set get this):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update.get this):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent):

2015-08-13  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Skip rendering frame records without children
        https://bugs.webkit.org/show_bug.cgi?id=147993

        Reviewed by Reviewed by Joseph Pecoraro.

        This became an issue for frames which include an IndexedDB "success" event. This caused the
        payload to pass the "has children" test, but resulted in model objects with no child records.

        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager.prototype.eventRecorded):
        Fixed record type check and moved rendering frame index assignment.

        * UserInterface/Models/RenderingFrameTimelineRecord.js:
        (WebInspector.RenderingFrameTimelineRecord):
        (WebInspector.RenderingFrameTimelineRecord.prototype.setupFrameIndex):
        Frame index is now set externally, and can only be set once.

        * UserInterface/Views/RenderingFrameTimelineView.js:
        (WebInspector.RenderingFrameTimelineView.prototype._renderingFrameTimelineRecordAdded):
        Added assertion.

2015-08-13  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Watch Expressions
        https://bugs.webkit.org/show_bug.cgi?id=147904

        Reviewed by Brian Burg.

        * UserInterface/Protocol/RemoteObject.js:
        (WebInspector.RemoteObject):
        A RemoteObject's description string is optional, but we always
        assume it exists and is a string, so default to the empty string.

        * UserInterface/Controllers/RuntimeManager.js:
        (WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow.evalCallback):
        Include the object group in the DidEvaluate event.

        (WebInspector.RemoteObject.fakeRemoteObject):
        (WebInspector.RemoteObject.prototype.getDisplayablePropertyDescriptors):
        (WebInspector.RemoteObject.prototype.deprecatedGetDisplayableProperties.get return):
        (WebInspector.RemoteObject.prototype.deprecatedGetDisplayableProperties):
        (WebInspector.RemoteObject.prototype._isFakeObject):
        (WebInspector.RemoteObject.prototype._getPropertyDescriptors):
        (WebInspector.RemoteObject.prototype._deprecatedGetProperties):
        Support a fake RemoteObject. We use this fake RemoteObject to
        back a ObjectTreeView where we add custom Properties which are of the form
        "Expressions => RemoteObject" instead of "Object Property => RemoteObject".
        Ensure a fake remote object is not used in unexpected ways.

        * UserInterface/Views/Popover.js:
        (WebInspector.Popover.prototype.update):
        Default a popover update to animate, but allow not animating.

        (WebInspector.Popover.prototype.handleEvent):
        Vend a class that other content can use so that the Popover won't
        dismiss if content with that class is scrolled. For example, a
        completions list may be showing over a popover, if that scrolls
        it should not dismiss the popover.

        * UserInterface/Views/CompletionSuggestionsView.js:
        (WebInspector.CompletionSuggestionsView):
        Adopt the Popover ignore class so a popover won't dismiss if the
        completion suggestions view is scrolled.

        * UserInterface/Views/ObjectTreeBaseTreeElement.js:
        (WebInspector.ObjectTreeBaseTreeElement.prototype.createGetterElement.get return):
        (WebInspector.ObjectTreeBaseTreeElement.prototype.createGetterElement):
        Allow modifying the context menu on an ObjectTreeView by looking for a delegate
        on the TreeOutline.

        * UserInterface/Views/ScopeChainDetailsSidebarPanel.css: Added.
        (.details-section.watch-expressions .options > *):
        (.details-section.watch-expressions .options > *:active):
        (.details-section.watch-expressions .options > .watch-expression-add):
        (.details-section.watch-expressions .options > .watch-expression-clear):
        (.details-section.watch-expressions .options > .watch-expression-refresh):
        (.popover .watch-expression):
        (.watch-expression-editor):
        (.watch-expression-editor > .CodeMirror):
        (.watch-expression-editor > .CodeMirror-scroll):
        Styles for the new Watch Expressions section, buttons, popover, and editor.

        * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
        (WebInspector.ScopeChainDetailsSidebarPanel):
        (WebInspector.ScopeChainDetailsSidebarPanel.prototype.inspect):
        (WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh):
        (WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateCallFramesSection):
        (WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateWatchExpressionsSection):
        Because we update the UI after a delay, to allow ObjectTreeView's to asynchronously
        expand and fetch their list of properties, we convert updating the watch expression
        and call frame sections asynchronously and return a promise. This lets us visually
        update the UI after both sections have updated.

        (WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpression):
        (WebInspector.ScopeChainDetailsSidebarPanel.prototype._removeWatchExpression):
        (WebInspector.ScopeChainDetailsSidebarPanel.prototype._clearAllWatchExpressions):
        Modify the saved list of watch expressions.

        (WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpressionButtonClicked.presentPopoverOverTargetElement):
        (WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpressionButtonClicked.this._codeMirror.addKeyMap):
        (WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpressionButtonClicked):
        (WebInspector.ScopeChainDetailsSidebarPanel.prototype.willDismissPopover):
        Handle presenting and dismissing the add watch expression popover.

        (WebInspector.ScopeChainDetailsSidebarPanel.prototype._refreshAllWatchExpressionsButtonClicked):
        (WebInspector.ScopeChainDetailsSidebarPanel.prototype._clearAllWatchExpressionsButtonClicked):
        Other button handlers.

        (WebInspector.ScopeChainDetailsSidebarPanel.prototype._mainResourceDidChange):
        Refresh the sidebar on navigation, as the watch expressions may change value (`location.href`).

        (WebInspector.ScopeChainDetailsSidebarPanel.prototype._objectTreeElementAddContextMenuItems):
        Add our own context menu items to watch expression ObjectTreeView tree elements to
        allow removing a watch expression.

        (WebInspector.ScopeChainDetailsSidebarPanel.prototype._propertyPathIdentifierForTreeElement):
        (WebInspector.ScopeChainDetailsSidebarPanel.prototype._objectTreeAddHandler):
        (WebInspector.ScopeChainDetailsSidebarPanel.prototype._objectTreeExpandHandler):
        (WebInspector.ScopeChainDetailsSidebarPanel.prototype._objectTreeCollapseHandler):
        Convert code to use `let`.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Main.html:
        Misc. changes.

2015-08-13  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: A {Map, WeakMap, Set, WeakSet} object contains itself will hang the console
        https://bugs.webkit.org/show_bug.cgi?id=147966

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ObjectPreviewView.js:
        (WebInspector.ObjectPreviewView.prototype._appendEntryPreviews):
        (WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
        For empty overflow previews, don't show ", ..." if we didn't show any
        values; just show "..." in these cases.

2015-08-13  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Hide child rows for filtered tasks in the Rendering Frames data grid
        https://bugs.webkit.org/show_bug.cgi?id=147960

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/RenderingFrameTimelineRecord.js:
        (WebInspector.RenderingFrameTimelineRecord.taskTypeForTimelineRecord):
        New static method for mapping TimelineRecords to rendering frame tasks.
        (WebInspector.RenderingFrameTimelineRecord.prototype.durationForTask):
        Refactored to use taskTypeForTimelineRecord.

        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
        Task filtering is applied to children of the frame record only. Parent frame
        record is hidden by default, and visible by virtue of having unfiltered children.

2015-08-13  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Clearing frames timeline doesn't remove current time marker
        https://bugs.webkit.org/show_bug.cgi?id=147650

        Reviewed by Timothy Hatcher.

        The rendering frames timeline offsets all markers by 1px to align them on frame
        boundaries, which causes the current time marker to be visible even with left: 0px.
        We can exclude the current time marker without it being noticable during recording.

        * UserInterface/Views/TimelineOverview.css:

2015-08-13  Nikita Vasilyev  <nvasilyev@apple.com>

        REGRESSION (r188325): Web Inspector: Fix vertical spacing in CodeMirror
        https://bugs.webkit.org/show_bug.cgi?id=147971

        r188325 inceased line-height by 2px. Remove top and bottom 1px padding
        to compensate for line-height changes.

        In the feature we may highlight the backgroud of text tokens (e.g. for the
        heatmap profiler) so we would want to get rid of the gaps between the lines
        (caused by the paddind) regardless of this regression.

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CodeMirrorOverrides.css:
        (.CodeMirror pre):

2015-08-12  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Sometimes CSS resources don't update after editing via Styles panel
        https://bugs.webkit.org/show_bug.cgi?id=143244

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/SourceCode.js:
        (WebInspector.SourceCode.prototype._processContent):
        This code is brittle and we should move off of putting the
        possibly stale content in the Promise result.

        * UserInterface/Views/ResourceContentView.js:
        (WebInspector.ResourceContentView.prototype._contentAvailable):
        * UserInterface/Views/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor.prototype._contentAvailable):
        * UserInterface/Models/Script.js:
        (WebInspector.Script.prototype.requestScriptSyntaxTree):
        Use the current source code's content.

2015-08-12  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Fix Poor Class Names
        https://bugs.webkit.org/show_bug.cgi?id=147958

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ClusterContentView.js:
        * UserInterface/Views/ResourceContentView.js:

2015-08-12  Devin Rousso  <drousso@apple.com>

        Web Inspector: Opening the Elements tab without a selected sidebar panel causes a crash
        https://bugs.webkit.org/show_bug.cgi?id=147965

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
        (WebInspector.CSSStyleDetailsSidebarPanel):
        If the saved setting for the selectedPanel does not exist, default to the rules panel.

        (WebInspector.CSSStyleDetailsSidebarPanel.prototype._switchPanels):
        Only save the new navigationItem info if the selectedPanel exists.

2015-08-12  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Remove clamp and adopt Number.constrain
        https://bugs.webkit.org/show_bug.cgi?id=147952

        Reviewed by Timothy Hatcher.

        * UserInterface/Base/Utilities.js:
        Removed clamp function.

        * UserInterface/Views/BezierEditor.js:
        (WebInspector.BezierEditor.prototype._updateControlPointsForMouseEvent):
        * UserInterface/Views/ProfileNodeDataGridNode.js:
        (WebInspector.ProfileNodeDataGridNode.prototype.updateRangeTimes):
        * UserInterface/Views/ScriptTimelineDataGridNode.js:
        (WebInspector.ScriptTimelineDataGridNode.prototype.updateRangeTimes):
        * UserInterface/Views/TimelineRuler.js:
        (WebInspector.TimelineRuler.prototype._updateSelection):
        Replaced instances of clamp with Number.constrain.

2015-08-12  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: DOM Node should have context menu to scroll it into view on the inspected page
        https://bugs.webkit.org/show_bug.cgi?id=147913

        Reviewed by Timothy Hatcher.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Views/DOMTreeElement.js:
        (WebInspector.DOMTreeElement.prototype._updateChildren.set continue):
        (WebInspector.DOMTreeElement.prototype._populateNodeContextMenu):
        Add a context menu item to scroll into view for element nodes.

        (WebInspector.DOMTreeElement.prototype._scrollIntoView.resolvedNode.scrollIntoView):
        (WebInspector.DOMTreeElement.prototype._scrollIntoView.resolvedNode):
        (WebInspector.DOMTreeElement.prototype._scrollIntoView):
        Call scrollIntoViewIfNeeded on the real Node.

        * UserInterface/Views/DOMTreeOutline.js:
        (WebInspector.DOMTreeOutline.prototype.populateContextMenu):
        Remove unused parameter.

        * UserInterface/Views/ObjectTreeBaseTreeElement.js:
        (WebInspector.ObjectTreeBaseTreeElement.prototype._appendMenusItemsForObject):
        Add context menu for Nodes in ObjectTrees.

2015-08-12  Dan Bernstein  <mitz@apple.com>

        Removed the executable bit from non-executable source.

        * UserInterface/External/CodeMirror/LICENSE: Removed property svn:executable.
        * UserInterface/External/CodeMirror/clojure.js: Removed property svn:executable.
        * UserInterface/External/CodeMirror/closebrackets.js: Removed property svn:executable.
        * UserInterface/External/CodeMirror/codemirror.css: Removed property svn:executable.
        * UserInterface/External/CodeMirror/codemirror.js: Removed property svn:executable.
        * UserInterface/External/CodeMirror/coffeescript.js: Removed property svn:executable.
        * UserInterface/External/CodeMirror/comment.js: Removed property svn:executable.
        * UserInterface/External/CodeMirror/css.js: Removed property svn:executable.
        * UserInterface/External/CodeMirror/htmlmixed.js: Removed property svn:executable.
        * UserInterface/External/CodeMirror/javascript.js: Removed property svn:executable.
        * UserInterface/External/CodeMirror/livescript.js: Removed property svn:executable.
        * UserInterface/External/CodeMirror/matchbrackets.js: Removed property svn:executable.
        * UserInterface/External/CodeMirror/overlay.js: Removed property svn:executable.
        * UserInterface/External/CodeMirror/placeholder.js: Removed property svn:executable.
        * UserInterface/External/CodeMirror/runmode.js: Removed property svn:executable.
        * UserInterface/External/CodeMirror/sass.js: Removed property svn:executable.
        * UserInterface/External/CodeMirror/searchcursor.js: Removed property svn:executable.
        * UserInterface/External/CodeMirror/sql.js: Removed property svn:executable.
        * UserInterface/External/CodeMirror/xml.js: Removed property svn:executable.

2015-08-11  Matt Baker  <mattbaker@apple.com>

        Web Inspector: TimelineView data not cleared when recording is reset
        https://bugs.webkit.org/show_bug.cgi?id=147916

        Reviewed by Timothy Hatcher.

        Each derived timeline view maintains a separate array of timeline records. These weren't
        cleared on reset, so switching to a timeline view after clearing the recording caused
        the view to populate its tree outline.

        * UserInterface/Views/LayoutTimelineView.js:
        (WebInspector.LayoutTimelineView.set columns):
        (WebInspector.LayoutTimelineView):
        * UserInterface/Views/NetworkTimelineView.js:
        (WebInspector.NetworkTimelineView.set columns):
        (WebInspector.NetworkTimelineView):
        * UserInterface/Views/OverviewTimelineView.js:
        (WebInspector.OverviewTimelineView.prototype.reset):
        (WebInspector.OverviewTimelineView.prototype._processPendingRepresentedObjects):
        * UserInterface/Views/RenderingFrameTimelineView.js:
        (WebInspector.RenderingFrameTimelineView.prototype.reset):
        * UserInterface/Views/ScriptTimelineView.js:
        (WebInspector.ScriptTimelineView.prototype.reset):

2015-08-11  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Dragging a timeline ruler handle when both handles clamped is broken
        https://bugs.webkit.org/show_bug.cgi?id=147912

        Reviewed by Timothy Hatcher.

        When clamped handles overlap, the handle nearest in time to the ruler's edge should be visible and
        clickable, and the other should be hidden. This change ensures that clicking and dragging a ruler
        handle to modify a selection outside the visible area works correctly.

        * UserInterface/Views/TimelineOverview.css:
        (.timeline-overview.frames > .timeline-ruler:not(.both-handles-clamped) > .selection-handle.right):
        Style adjustment for rendering frames, which offsets the right handle by 5px instead of 4px.
        (.timeline-overview.frames > .timeline-ruler:not(.both-handles-clamped) > .shaded-area.right):
        Style adjustment for rendering frames, which offsets the right shaded area by 1px.
        (.timeline-overview.frames > .timeline-ruler > .selection-handle.right): Deleted.
        (.timeline-overview.frames > .timeline-ruler > .shaded-area.right): Deleted.

        * UserInterface/Views/TimelineRuler.css:
        (.timeline-ruler.both-handles-clamped > .selection-handle):
        Updated handle style when both are clamped.
        (.timeline-ruler > .selection-handle.clamped.hidden):
        Hide the clamped handle that is beneath the other clamped handle.

        * UserInterface/Views/TimelineRuler.js:
        (WebInspector.TimelineRuler.prototype._updateSelection):


2015-08-11  Devin Rousso  <drousso@apple.com>

        Web Inspector: Disabling attribute styles should not be possible
        https://bugs.webkit.org/show_bug.cgi?id=147922

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CSSStyleDeclarationSection.js:
        (WebInspector.CSSStyleDeclarationSection):
        Increases the specificity of the if statement that adds rule disable state toggling to the icon.

2015-08-11  Devin Rousso  <drousso@apple.com>

        Web Inspector: Update to CodeMirror 5.5 or later
        https://bugs.webkit.org/show_bug.cgi?id=147109

        Reviewed by Timothy Hatcher.

        Updated CodeMirror to version 5.5, as well as the extension files for CodeMirror
        that are currently used in WebInspector.

        * Localizations/en.lproj/localizedStrings.js:
        * Tools/PrettyPrinting/FormatterDebug.js:
        Added WebInspector namespace for formatters.

        * Tools/PrettyPrinting/index.html:
        Added WebInspector namespace for formatters.

        * UserInterface/External/CodeMirror/LICENSE:
        * 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/sass.js:
        * UserInterface/External/CodeMirror/searchcursor.js:
        * UserInterface/External/CodeMirror/sql.js:
        * UserInterface/External/CodeMirror/xml.js:
        * UserInterface/Views/CodeMirrorFormatters.js:
        Now uses the new token in CodeMirror for media query parenthesis.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
        (.css-style-text-editor > .CodeMirror pre):
        Removed the additional vertical padding.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseDown):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseUp):
        Clicking on the end of a line in a style will now correctly insert a new line.

        * UserInterface/Views/ComputedStyleDetailsPanel.css:
        (.details-section > .content > .group > .row .CodeMirror-code pre .go-to-arrow):
        The go-to arrow now has the proper dimensions.

        * UserInterface/Views/HoverMenu.css:
        (.hover-menu > img):
        * UserInterface/Views/SourceCodeTextEditor.css:
        (.hover-menu.color > img):

2015-08-11  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Add the ability to filter out tasks in the Rendering Frames timeline
        https://bugs.webkit.org/show_bug.cgi?id=147389

        Reviewed by Timothy Hatcher.

        Added filtering by task type to the Rendering Frames timeline view. Legend item checkboxes
        in the timeline sidebar toggle filtering for the corresponding task. The "Other" category
        cannot be filtered, since all rendering frame records include some "other" time in addition to
        child records from at least one additional task type.

        A row is filtered (hidden) from the data grid when the corresponding rendering frame has no
        unfiltered child records.

        * UserInterface/Base/Main.js:
        (WebInspector._windowFocused):
        (WebInspector._windowBlurred):
        Added inactive style for docked window.

        * UserInterface/Views/ChartDetailsSectionRow.css:
        (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > label > .color-key):
        (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > label):
        (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > label > input[type=checkbox]):
        (body.window-inactive .details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > label > input[type=checkbox]):
        (.details-section > .content > .group > .row.chart > .defs-only):
        (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .label > .color-swatch): Deleted.
        (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .label): Deleted.
        Switched to label elements, added checkbox styles, and updated color swatch style for non-checkbox items.

        * UserInterface/Views/ChartDetailsSectionRow.js:
        (WebInspector.ChartDetailsSectionRow):
        Added svg filter container and style sheet element.
        (WebInspector.ChartDetailsSectionRow.prototype.set data):
        (WebInspector.ChartDetailsSectionRow.prototype._createLegend.createGammaPrimitive):
        (WebInspector.ChartDetailsSectionRow.prototype._createLegend.createCheckboxFilterElement):
        Helper function to create an svg:filter to blend legend key color over the native checkbox element.
        Filter assumes grayscale input, and each checkbox requires a separate filter.
        (WebInspector.ChartDetailsSectionRow.prototype._createLegend):
        Creates legend items, svg filters, and checkbox style sheet.
        (WebInspector.ChartDetailsSectionRow.prototype._legendItemCheckboxValueChanged):
        Repackage and forward checkbox changed event.
        (WebInspector.ChartDetailsSectionRow.prototype._createLegendItem): Deleted.
        Logic moved to WebInspector.ChartDetailsSectionRow.prototype._createLegend.

        * UserInterface/Views/TimelineSidebarPanel.js:
        Added set of rendering frame task types against which tree elements can be filtered.
        (WebInspector.TimelineSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
        If filter is not empty, check ancestor rendering frame record for unfiltered data.
        (WebInspector.TimelineSidebarPanel.prototype._frameSelectionLegendItemChecked):
        Update task filter in response when legend items are checked/unchecked.

2015-08-11  Brent Fulgham  <bfulgham@apple.com>

        [Win] Switch Windows build to Visual Studio 2015
        https://bugs.webkit.org/show_bug.cgi?id=147887
        <rdar://problem/22235098>

        Reviewed by Alex Christensen.

        Update Visual Studio project file settings to use the current Visual
        Studio and compiler. Continue targeting binaries to run on our minimum
        supported configuration of Windows 7.

        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:

2015-08-11  Brian Burg  <bburg@apple.com>

        Web Inspector: Agent commands do not actually return a promise when expected
        https://bugs.webkit.org/show_bug.cgi?id=138665

        Reviewed by Timothy Hatcher.

        This patch unifies the handling of different invocation and dispatch modes in the
        InspectorBackend protocol system. Command responses are dispatched to a provided
        callback function; if no function was provided, then the command returns a promise.

        Rather than awkwardly converting between promises and callbacks at invocation and
        response dispatch time, the backend now stores the callback or promise thunks and
        knows how to invoke each when the response comes. This mirrors how response handling
        works in ProtocolTestStub.js. InspectorBackend includes more machinery to support Agent
        objects and various debug flags.

        Performanace impact is expected to be negligible, because there are relatively
        few commands issued by the inspector frontend and returned promises are short-lived.

        Remove all uses of Command.prototype.promise, since it is no longer necessary.

        * UserInterface/Base/Test.js:
        (InspectorTest.reloadPage):
        * UserInterface/Controllers/ReplayManager.js:
        (WebInspector.ReplayManager.prototype.getSession.get var):
        (WebInspector.ReplayManager.getSegment.get var):
        * UserInterface/Models/ReplaySession.js:
        (WebInspector.ReplaySession.prototype.segmentsChanged):
        * UserInterface/Models/Resource.js:
        (WebInspector.Resource.prototype.requestContentFromBackend):
        * UserInterface/Models/Script.js:
        (WebInspector.Script.prototype.requestContentFromBackend):
        * UserInterface/Models/SourceMapResource.js:
        (WebInspector.SourceMapResource.prototype.requestContentFromBackend):
        * UserInterface/Protocol/InspectorBackend.js:
        (InspectorBackendClass):
        (InspectorBackendClass.prototype.dispatch):
        (InspectorBackendClass.prototype.runAfterPendingDispatches):
        (InspectorBackendClass.prototype._sendCommandToBackendWithCallback.set this):
        (InspectorBackendClass.set this):
        (InspectorBackendClass.prototype._sendCommandToBackendWithCallback):
        (InspectorBackendClass.prototype._dispatchResponseToCallback):
        (InspectorBackendClass.prototype._dispatchResponseToPromise):
        (InspectorBackendClass.prototype._flushPendingScripts):
        (InspectorBackend.Command.prototype.invoke):
        (InspectorBackend.Command.prototype._invokeWithArguments):
        (InspectorBackendClass.prototype._willSendMessageToBackend.set return): Deleted.
        (InspectorBackendClass._dispatchCallback.get if): Deleted.
        (InspectorBackendClass.prototype._willSendMessageToBackend): Deleted.
        (InspectorBackendClass.prototype._invokeCommand): Deleted.
        (.callable): Deleted.
        (InspectorBackend.Command.create): Deleted.
        (InspectorBackend.Command.prototype.promise): Deleted.

2015-08-11  Devin Rousso  <drousso@apple.com>

        Web Inspector: Hovering over an element in the Elements tab should highlight the whole line
        https://bugs.webkit.org/show_bug.cgi?id=147855

        Reviewed by Brian Burg.

        * UserInterface/Views/DOMTreeOutline.css:
        (.dom-tree-outline li.hovered:not(.selected) .selection):
        Removed the horizontal positioning and border radius.

2015-08-10  Devin Rousso  <drousso@apple.com>

        Web Inspector: Add numerical input and slider based Visual editors for CSS properties
        https://bugs.webkit.org/show_bug.cgi?id=147712

        Reviewed by Brian Burg.

        Added editors for CSS properties with numerical values for use in the Visual style
        details panel in the CSS sidebar, in the form of a combined select and input or an
        input range.  Also added optional visual linkages to sync values between multiple
        editors of this type.

        * UserInterface/Images/VisualStylePropertyLinked.svg: Added.
        * UserInterface/Images/VisualStylePropertyUnlinked.svg: Added.

        * UserInterface/Views/VisualStyleNumberInputBox.css: Added.
        (.visual-style-property-container > .visual-style-property-value-container.focused > .focus-ring):
        (.visual-style-property-container > .visual-style-property-value-container > .number-input-keyword-select):
        (.visual-style-property-container > .visual-style-property-value-container > .number-input-container):
        (.visual-style-property-container > .visual-style-property-value-container:not(.number-input-editable) > .number-input-container):
        (.visual-style-property-container > .visual-style-property-value-container > .number-input-container > .number-input-value):
        (.visual-style-property-container > .visual-style-property-value-container > .number-input-container > span):

        * UserInterface/Views/VisualStyleNumberInputBox.js: Added.
        (WebInspector.VisualStyleNumberInputBox):
        (WebInspector.VisualStyleNumberInputBox.prototype.get value):
        (WebInspector.VisualStyleNumberInputBox.prototype.set value):
        (WebInspector.VisualStyleNumberInputBox.prototype.get units):
        (WebInspector.VisualStyleNumberInputBox.prototype.set units):
        (WebInspector.VisualStyleNumberInputBox.prototype.get placeholder):
        (WebInspector.VisualStyleNumberInputBox.prototype.set placeholder):
        (WebInspector.VisualStyleNumberInputBox.prototype.get synthesizedValue):
        (WebInspector.VisualStyleNumberInputBox.prototype.get numberInputEditable):
        (WebInspector.VisualStyleNumberInputBox.prototype.updateValueFromText):
        (WebInspector.VisualStyleNumberInputBox.prototype.parseValue):
        (WebInspector.VisualStyleNumberInputBox.prototype._keywordChanged):
        (WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputKeyDown.shiftValue):
        (WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputKeyDown):
        (WebInspector.VisualStyleNumberInputBox.prototype._numberInputChanged):
        (WebInspector.VisualStyleNumberInputBox.prototype._keywordSelectMouseDown):
        (WebInspector.VisualStyleNumberInputBox.prototype._createValueOptions):
        (WebInspector.VisualStyleNumberInputBox.prototype._createUnitOptions):
        (WebInspector.VisualStyleNumberInputBox.prototype._addAdvancedUnits):
        (WebInspector.VisualStyleNumberInputBox.prototype._removeAdvancedUnits):
        (WebInspector.VisualStyleNumberInputBox.prototype._focusContentElement):
        (WebInspector.VisualStyleNumberInputBox.prototype._blurContentElement):
        (WebInspector.VisualStyleNumberInputBox.prototype._toggleTabbingOfSelectableElements):

        * UserInterface/Views/VisualStylePropertyEditorLink.css: Added.
        (.visual-style-property-editor-link):
        (.visual-style-property-editor-link.disabled):
        (.visual-style-property-editor-link.link-all):
        (.visual-style-property-editor-link.link-all.linked):
        (.visual-style-property-editor-link > .visual-style-property-editor-link-border):
        (.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-icon:hover + .visual-style-property-editor-link-border.right):
        (.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-border.left):
        (.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-border.right):
        (.visual-style-property-editor-link.linked > .visual-style-property-editor-link-border):
        (.visual-style-property-editor-link > .visual-style-property-editor-link-border.left):
        (.visual-style-property-editor-link > .visual-style-property-editor-link-border.right):
        (.visual-style-property-editor-link:not(.link-all) > .visual-style-property-editor-link-border):
        (.visual-style-property-editor-link:not(.link-all).linked > .visual-style-property-editor-link-border):
        (.visual-style-property-editor-link > .visual-style-property-editor-link-icon):
        (.visual-style-property-editor-link > .visual-style-property-editor-link-icon > .unlinked-icon):
        (.visual-style-property-editor-link > .visual-style-property-editor-link-icon > .unlinked-icon svg .filled):
        (.visual-style-property-editor-link > .visual-style-property-editor-link-icon > .unlinked-icon svg .stroked):
        (.visual-style-property-editor-link:not(.link-all) > .visual-style-property-editor-link-icon):
        (.visual-style-property-editor-link.link-all > .visual-style-property-editor-link-icon):

        * UserInterface/Views/VisualStylePropertyEditorLink.js: Added.
        (WebInspector.VisualStylePropertyEditorLink):
        (WebInspector.VisualStylePropertyEditorLink.prototype.get element):
        (WebInspector.VisualStylePropertyEditorLink.prototype.set disabled):
        (WebInspector.VisualStylePropertyEditorLink.prototype._linkedPropertyValueChanged):
        (WebInspector.VisualStylePropertyEditorLink.prototype._updateLinkedEditors):
        (WebInspector.VisualStylePropertyEditorLink.prototype._iconMouseover):
        (WebInspector.VisualStylePropertyEditorLink.prototype._iconMouseout):
        (WebInspector.VisualStylePropertyEditorLink.prototype._iconClicked):

        * UserInterface/Views/VisualStyleRelativeNumberSlider.css: Added.
        (.visual-style-property-container.number-input-box.relative-number-slider > .visual-style-property-title):
        (.visual-style-property-container.number-input-box.relative-number-slider > .visual-style-property-value-container):
        (.visual-style-property-container.number-input-box.relative-number-slider.disabled > .relative-slider):
        (.visual-style-property-container.number-input-box.relative-number-slider > .visual-style-property-value-container.no-values.no-units):
        (.visual-style-property-container.number-input-box.relative-number-slider > .relative-slider):

        * UserInterface/Views/VisualStyleRelativeNumberSlider.js: Added.
        (WebInspector.VisualStyleRelativeNumberSlider):
        (WebInspector.VisualStyleRelativeNumberSlider.prototype.set scale):
        (WebInspector.VisualStyleRelativeNumberSlider.prototype.updateEditorValues):
        (WebInspector.VisualStyleRelativeNumberSlider.prototype._resetSlider):
        (WebInspector.VisualStyleRelativeNumberSlider.prototype._sliderChanged):
        (WebInspector.VisualStyleRelativeNumberSlider.prototype._numberInputChanged):

2015-08-10  Devin Rousso  <drousso@apple.com>

        Web Inspector: Add different types of non-numerical Visual editors for CSS properties
        https://bugs.webkit.org/show_bug.cgi?id=147711

        Added editors for keyword based CSS properties for use in the Visual style
        details panel in the CSS sidebar.  Also added images for keyword values that
        are simple enough to be conveyed in an image.

        Reviewed by Brian Burg.

        * UserInterface/Images/ClearBoth.svg: Added.
        * UserInterface/Images/ClearLeft.svg: Added.
        * UserInterface/Images/ClearRight.svg: Added.
        * UserInterface/Images/FloatLeft.svg: Added.
        * UserInterface/Images/FloatRight.svg: Added.
        * UserInterface/Images/FontStyleItalic.svg: Added.
        * UserInterface/Images/FontStyleNormal.svg: Added.
        * UserInterface/Images/FontVariantSmallCaps.svg: Added.
        * UserInterface/Images/TextAlignCenter.svg: Added.
        * UserInterface/Images/TextAlignJustify.svg: Added.
        * UserInterface/Images/TextAlignLeft.svg: Added.
        * UserInterface/Images/TextAlignRight.svg: Added.
        * UserInterface/Images/TextDecorationLineThrough.svg: Added.
        * UserInterface/Images/TextDecorationOverline.svg: Added.
        * UserInterface/Images/TextDecorationUnderline.svg: Added.
        * UserInterface/Images/TextTransformCapitalize.svg: Added.
        * UserInterface/Images/TextTransformLowercase.svg: Added.
        * UserInterface/Images/TextTransformUppercase.svg: Added.
        * UserInterface/Images/VisualStyleNone.svg: Added.
        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches.update):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
        Changed color swatch title.

        * UserInterface/Views/Slider.js:
        (WebInspector.Slider):
        (WebInspector.Slider.prototype.set value):
        (WebInspector.Slider.prototype.set knobX):
        (WebInspector.Slider.prototype.get maxX):
        If the given value is below 0, reset it to 0.
        (WebInspector.Slider.prototype._handleMousedown):
        (WebInspector.Slider.prototype._handleMousemove):
        (WebInspector.Slider.prototype.get _maxX): Deleted.

        * UserInterface/Views/VisualStyleColorPicker.css: Added.
        (.visual-style-property-container.input-color-picker > .visual-style-property-value-container):
        (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .visual-style-special-property-placeholder):
        (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch):
        (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch:hover):
        (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch:active):
        (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch > span):
        (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > input):
        (.visual-style-property-container.input-color-picker.multiple > .visual-style-property-value-container > .visual-style-multiple-property-placeholder):

        * UserInterface/Views/VisualStyleColorPicker.js: Added.
        (WebInspector.VisualStyleColorPicker):
        (WebInspector.VisualStyleColorPicker.prototype.get value):
        (WebInspector.VisualStyleColorPicker.prototype.set value):
        (WebInspector.VisualStyleColorPicker.prototype.get placeholder):
        (WebInspector.VisualStyleColorPicker.prototype.set placeholder):
        (WebInspector.VisualStyleColorPicker.prototype.get synthesizedValue):
        (WebInspector.VisualStyleColorPicker.prototype.get hasCompletions):
        (WebInspector.VisualStyleColorPicker.prototype.set completions):
        (WebInspector.VisualStyleColorPicker.prototype._updateColorSwatch):
        (WebInspector.VisualStyleColorPicker.prototype._colorSwatchClicked):
        (WebInspector.VisualStyleColorPicker.prototype._colorPickerColorDidChange):
        (WebInspector.VisualStyleColorPicker.prototype._completionClicked):
        (WebInspector.VisualStyleColorPicker.prototype._textInputKeyDown):
        (WebInspector.VisualStyleColorPicker.prototype._textInputKeyUp):
        (WebInspector.VisualStyleColorPicker.prototype._showCompletionsIfAble):
        (WebInspector.VisualStyleColorPicker.prototype._hideCompletions):
        (WebInspector.VisualStyleColorPicker.prototype._toggleTabbingOfSelectableElements):

        * UserInterface/Views/VisualStyleKeywordCheckbox.css: Added.
        (.visual-style-property-container.keyword-checkbox > .visual-style-property-value-container):
        (.visual-style-property-container.keyword-checkbox > .visual-style-property-value-container > input):
        (.visual-style-property-container.keyword-checkbox > .visual-style-property-value-container > div):

        * UserInterface/Views/VisualStyleKeywordCheckbox.js: Added.
        (WebInspector.VisualStyleKeywordCheckbox):
        (WebInspector.VisualStyleKeywordCheckbox.prototype.get value):
        (WebInspector.VisualStyleKeywordCheckbox.prototype.set value):
        (WebInspector.VisualStyleKeywordCheckbox.prototype.get synthesizedValue):
        (WebInspector.VisualStyleKeywordCheckbox.prototype._toggleTabbingOfSelectableElements):

        * UserInterface/Views/VisualStyleKeywordIconList.css: Added.
        (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container):
        (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container):
        (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon):
        (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:first-child):
        (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:last-child):
        (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:matches(.computed, .selected)):
        (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon.selected):
        (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon.selected svg .stroked):
        (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon.selected svg .filled):
        (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:matches(.computed, .selected) + .keyword-icon):
        (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon > div):
        (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:not(.selected) > div):

        * UserInterface/Views/VisualStyleKeywordIconList.js: Added.
        (WebInspector.VisualStyleKeywordIconList.dashToCapital):
        (WebInspector.VisualStyleKeywordIconList.createListItem):
        (WebInspector.VisualStyleKeywordIconList):
        (WebInspector.VisualStyleKeywordIconList.prototype.get value):
        (WebInspector.VisualStyleKeywordIconList.prototype.set value):
        (WebInspector.VisualStyleKeywordIconList.prototype.get synthesizedValue):
        (WebInspector.VisualStyleKeywordIconList.prototype._handleKeywordChanged):

        * UserInterface/Views/VisualStyleKeywordPicker.js: Added.
        (WebInspector.VisualStyleKeywordPicker):
        (WebInspector.VisualStyleKeywordPicker.prototype.get value):
        (WebInspector.VisualStyleKeywordPicker.prototype.set value):
        (WebInspector.VisualStyleKeywordPicker.prototype.set placeholder):
        (WebInspector.VisualStyleKeywordPicker.prototype.get synthesizedValue):
        (WebInspector.VisualStyleKeywordPicker.prototype.updateEditorValues):
        (WebInspector.VisualStyleKeywordPicker.prototype._handleKeywordChanged):
        (WebInspector.VisualStyleKeywordPicker.prototype._keywordSelectMouseDown):
        (WebInspector.VisualStyleKeywordPicker.prototype._addValues):
        (WebInspector.VisualStyleKeywordPicker.prototype._addAdvancedValues):
        (WebInspector.VisualStyleKeywordPicker.prototype._removeAdvancedValues):
        (WebInspector.VisualStyleKeywordPicker.prototype._toggleTabbingOfSelectableElements):

        * UserInterface/Views/VisualStylePropertyNameInput.js: Added.
        (WebInspector.VisualStylePropertyNameInput):
        (WebInspector.VisualStylePropertyNameInput.prototype.get value):
        (WebInspector.VisualStylePropertyNameInput.prototype.set value):
        (WebInspector.VisualStylePropertyNameInput.prototype.get synthesizedValue):
        (WebInspector.VisualStylePropertyNameInput.prototype.get hasCompletions):
        (WebInspector.VisualStylePropertyNameInput.prototype.set completions):
        (WebInspector.VisualStylePropertyNameInput.prototype._completionClicked):
        (WebInspector.VisualStylePropertyNameInput.prototype._inputKeyDown):
        (WebInspector.VisualStylePropertyNameInput.prototype._inputKeyUp):
        (WebInspector.VisualStylePropertyNameInput.prototype._hideCompletions):
        (WebInspector.VisualStylePropertyNameInput.prototype._toggleTabbingOfSelectableElements):

        * UserInterface/Views/VisualStyleURLInput.js: Added.
        (WebInspector.VisualStyleURLInput):
        (WebInspector.VisualStyleURLInput.prototype.set get value):
        (WebInspector.VisualStyleURLInput.prototype.parseValue):

        * UserInterface/Views/VisualStyleUnitSlider.css: Added.
        (.visual-style-property-container.unit-slider > .visual-style-property-value-container > .slider):
        (.visual-style-property-container.unit-slider > .visual-style-property-value-container > .slider > img):
        (.visual-style-property-container.unit-slider.opacity > .visual-style-property-value-container > .slider):

        * UserInterface/Views/VisualStyleUnitSlider.js: Added.
        (WebInspector.VisualStyleUnitSlider):
        (WebInspector.VisualStyleUnitSlider.prototype.set value):
        (WebInspector.VisualStyleUnitSlider.prototype.get value):
        (WebInspector.VisualStyleUnitSlider.prototype.get synthesizedValue):
        (WebInspector.VisualStyleUnitSlider.prototype.sliderValueDidChange):

2015-08-10  Devin Rousso  <drousso@apple.com>

        Web Inspector: Add VisualStyleSelectorSection
        https://bugs.webkit.org/show_bug.cgi?id=147572

        Reviewed by Brian Burg.

        Adds a section to the new Visual style sidebar panel that contains the list of
        styles for the currently selected node.

        * UserInterface/Models/CSSRule.js:
        (WebInspector.CSSRule.prototype.get mediaText):
        Returns a string containing the list of media queries.

        * UserInterface/Models/CSSStyleDeclaration.js:
        (WebInspector.CSSStyleDeclaration):
        (WebInspector.CSSStyleDeclaration.prototype.set text):
        (WebInspector.CSSStyleDeclaration.prototype.get modified):
        (WebInspector.CSSStyleDeclaration.prototype.resetText):
        (WebInspector.CSSStyleDeclaration.prototype.generateCSSRuleString):
        Generates a formatted string of the style text.

        * UserInterface/Views/CSSStyleDeclarationSection.js:
        (WebInspector.CSSStyleDeclarationSection.prototype._handleContextMenuEvent):
        (WebInspector.CSSStyleDeclarationSection.prototype._generateCSSRuleString): Deleted.

        * UserInterface/Views/VisualStyleSelectorSection.css: Added.
        (.details-section.visual-style-selector-section > .header):
        (.details-section.visual-style-selector-section:not(.collapsed) > .header):
        (@media (-webkit-min-device-pixel-ratio: 2)):
        (.details-section.visual-style-selector-section > .header > .current-selector):
        (.visual-style-selector-section.details-section:not(.collapsed) > .header > .current-selector):
        (.details-section.visual-style-selector-section > .header > .current-selector > .icon):
        (.details-section.visual-style-selector-section > .header > .current-selector > span):
        (.details-section.visual-style-selector-section > .header > .controls):
        (.details-section.visual-style-selector-section.collapsed > .header > .controls):
        (.details-section.visual-style-selector-section > .header > .controls > .visual-style-selector-section-add-rule):
        (.details-section.visual-style-selector-section > .content > .selectors):
        (.details-section.visual-style-selector-section > .content > .selectors > .selector-list):
        (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .visual-style-selector-item:nth-child(odd)):
        (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider):
        (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider > .icon):
        (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider > :matches(.disclosure-button, .icon)):
        (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider > .titles > .title):
        (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider ~ .visual-style-selector-item:nth-child(even)):
        (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider ~ .visual-style-selector-item:nth-child(odd)):

        * UserInterface/Views/VisualStyleSelectorSection.js: Added.
        (WebInspector.VisualStyleSelectorSection):
        (WebInspector.VisualStyleSelectorSection.prototype.update.createSelectorItem):
        (WebInspector.VisualStyleSelectorSection.prototype.update.uniqueOrderedRules):
        (WebInspector.VisualStyleSelectorSection.prototype.update.insertAllMatchingPseudoRules):
        (WebInspector.VisualStyleSelectorSection.prototype.update):
        (WebInspector.VisualStyleSelectorSection.prototype.currentStyle):
        (WebInspector.VisualStyleSelectorSection.prototype._selectorChanged):
        (WebInspector.VisualStyleSelectorSection.prototype._styleTextReset):
        (WebInspector.VisualStyleSelectorSection.prototype._addNewRule):
        (WebInspector.VisualStyleSelectorSection.prototype._treeElementCheckboxToggled):
        (WebInspector.VisualStyleSelectorSection.prototype._handleMouseOver):
        (WebInspector.VisualStyleSelectorSection.prototype._handleMouseOut):

        * UserInterface/Views/VisualStyleSelectorTreeItem.css:
        (.item.visual-style-selector-item):
        (.item.visual-style-selector-item.selected):
        (.item.visual-style-selector-item > .disclosure-button):
        (.item.visual-style-selector-item > input[type="checkbox"]):
        (.item.visual-style-selector-item > .icon):
        (.item.visual-style-selector-item.modified > .icon):
        (.item.visual-style-selector-item.selector-invalid > .icon):
        (.item.visual-style-selector-item.selector-invalid > .titles > .title):
        (.item.visual-style-selector-item.selector-invalid > .titles > .title::before):
        (.item.visual-style-selector-item > .titles):
        (.item.visual-style-selector-item:not(.dom-element-icon) > .titles > .title):
        (.item.visual-style-selector-item:not(.dom-element-icon).editable > .titles > .title):
        (.item.visual-style-selector-item:not(.dom-element-icon).editable > .titles > .title:focus):
        (.item.visual-style-selector-item > .titles > .subtitle::before):
        (.item.visual-style-selector-item > .titles > .subtitle):

        * UserInterface/Views/VisualStyleSelectorTreeItem.js:
        (WebInspector.VisualStyleSelectorTreeItem):
        (WebInspector.VisualStyleSelectorTreeItem.prototype.get iconClassName):
        (WebInspector.VisualStyleSelectorTreeItem.prototype.get selectorText):
        (WebInspector.VisualStyleSelectorTreeItem.prototype.onattach):
        (WebInspector.VisualStyleSelectorTreeItem.prototype.ondeselect):
        (WebInspector.VisualStyleSelectorTreeItem.prototype._highlightNodesWithSelector):
        (WebInspector.VisualStyleSelectorTreeItem.prototype._hideDOMNodeHighlight):
        (WebInspector.VisualStyleSelectorTreeItem.prototype._handleContextMenuEvent):
        (WebInspector.VisualStyleSelectorTreeItem.prototype._handleCheckboxChanged):
        (WebInspector.VisualStyleSelectorTreeItem.prototype._updateCheckboxTitle):
        (WebInspector.VisualStyleSelectorTreeItem.prototype._handleMainTitleMouseDown):
        (WebInspector.VisualStyleSelectorTreeItem.prototype._handleMainTitleKeyDown):
        (WebInspector.VisualStyleSelectorTreeItem.prototype._commitSelector):
        (WebInspector.VisualStyleSelectorTreeItem.prototype._styleTextModified):
        (WebInspector.VisualStyleSelectorTreeItem.prototype._selectorChanged):

2015-08-10  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: TDZ in ProbeSetDataGrid construction
        https://bugs.webkit.org/show_bug.cgi?id=147834

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ProbeSetDataGrid.js:
        (WebInspector.ProbeSetDataGrid):
        Do not use "this" before calling super.

2015-08-08  Devin Rousso  <drousso@apple.com>

        Web Inspector: Timeline ruler handle tooltip shows wrong value when handles overlap
        https://bugs.webkit.org/show_bug.cgi?id=147652

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/TimelineRuler.js:
        (WebInspector.TimelineRuler.prototype._updateSelection):
        Now changes the title depending on whether the selection start/end is clamped.

2015-08-08  Devin Rousso  <drousso@apple.com>

        Web Inspector: Don't show "No Filter Results" when timeline is empty
        https://bugs.webkit.org/show_bug.cgi?id=147662

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/TimelineView.js:
        (WebInspector.TimelineView.prototype.reset):
        Now hides the empty content placeholder on timeline clear.

2015-08-07  Devin Rousso  <drousso@apple.com>

        Web Inspector: Decrease the padding of each rule in the Rules sidebar to allow more content to show
        https://bugs.webkit.org/show_bug.cgi?id=147360

        Reviewed by Timothy Hatcher.

        Generally tightened the padding around each section in the rules panel, as well as the
        content inside each section. Also moved the new rule button to be next to the filter bar.

        * UserInterface/Views/CSSStyleDeclarationSection.css:
        (.style-declaration-section):
        (.style-declaration-section.last-in-group):
        (.style-declaration-section.last-in-group + .style-declaration-section): Deleted.
        * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
        (.css-style-text-editor):
        * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
        (.sidebar > .panel.details.css-style > .content > .pseudo-classes):
        (.sidebar > .panel.details.css-style > .content + .options-container):
        (.sidebar > .panel.details.css-style > .content:not(.supports-new-rule, .has-filter-bar) + .options-container):
        (.sidebar > .panel.details.css-style > .content + .options-container > .new-rule):
        (.sidebar > .panel.details.css-style > .content + .options-container > .filter-bar):
        (.sidebar > .panel.details.css-style > .content:not(.has-filter-bar) + .options-container > .filter-bar):
        (.sidebar > .panel.details.css-style > .content.has-filter-bar + .filter-bar): Deleted.
        (.sidebar > .panel.details.css-style > .content:not(.has-filter-bar) + .filter-bar): Deleted.
        * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
        (WebInspector.CSSStyleDetailsSidebarPanel):
        (WebInspector.CSSStyleDetailsSidebarPanel.prototype._switchPanels):
        (WebInspector.CSSStyleDetailsSidebarPanel.prototype._newRuleButtonClicked):
        * UserInterface/Views/RulesStyleDetailsPanel.css:
        (.sidebar > .panel.details.css-style .rules .label):
        * UserInterface/Views/RulesStyleDetailsPanel.js:
        (WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertMediaOrInheritanceLabel):
        (WebInspector.RulesStyleDetailsPanel.prototype.newRuleButtonClicked):
        (WebInspector.RulesStyleDetailsPanel.prototype.refresh.addNewRuleButton): Deleted.
        (WebInspector.RulesStyleDetailsPanel.prototype.refresh): Deleted.
        (WebInspector.RulesStyleDetailsPanel.prototype._newRuleClicked): Deleted.

2015-08-07  Devin Rousso  <drousso@apple.com>

        Web Inspector: Don't include zero-width space into a copied text from the console
        https://bugs.webkit.org/show_bug.cgi?id=147767

        Reviewed by Timothy Hatcher.

        Now removes work break characters in generated javascript text when copying
        to the clipboard.  Also replaced var with let in the modified functions.

        * UserInterface/Views/ConsoleCommandView.js:
        (WebInspector.ConsoleCommandView.prototype.toClipboardString):
        (WebInspector.ConsoleCommandView):
        * UserInterface/Views/ConsoleMessageView.js:
        (WebInspector.ConsoleMessageView.prototype.toClipboardString):

2015-08-07  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Simplify OS-specific CSS class names
        https://bugs.webkit.org/show_bug.cgi?id=147794

        Replace "body:not(.el-capitan)" with ".legacy-mac".
        Replace "body.el-capitan" with ".latest-mac".

        Reviewed by Timothy Hatcher.

        * UserInterface/Base/Main.js:
        (WebInspector.contentLoaded):
        * UserInterface/Views/Toolbar.css:
        (body.legacy-mac .toolbar .dashboard-container):
        (body.legacy-mac .toolbar .search-bar > input[type="search"]):
        (body.legacy-mac .toolbar .search-bar > input[type="search"]:focus):
        (body.legacy-mac .toolbar .item.button:active):
        (body.window-inactive.legacy-mac .toolbar .dashboard-container):
        (body.latest-mac .toolbar .dashboard-container):
        (body.latest-mac .toolbar .search-bar > input[type="search"]):
        (body.latest-mac .toolbar .search-bar > input[type="search"]:focus):
        (@media (-webkit-min-device-pixel-ratio: 2)):
        (body.latest-mac .toolbar .item.button:active):
        (body.latest-mac.window-inactive .toolbar .dashboard-container):
        (body:not(.el-capitan) .toolbar .dashboard-container): Deleted.
        (body:not(.el-capitan) .toolbar .search-bar > input[type="search"]): Deleted.
        (body:not(.el-capitan) .toolbar .search-bar > input[type="search"]:focus): Deleted.
        (body:not(.el-capitan) .toolbar .item.button:active): Deleted.
        (body.window-inactive:not(.el-capitan) .toolbar .dashboard-container): Deleted.
        (body.el-capitan .toolbar .dashboard-container): Deleted.
        (body.el-capitan .toolbar .search-bar > input[type="search"]): Deleted.
        (body.el-capitan .toolbar .search-bar > input[type="search"]:focus): Deleted.
        (body.el-capitan .toolbar .item.button:active): Deleted.
        (body.el-capitan.window-inactive .toolbar .dashboard-container): Deleted.

2015-08-07  Devin Rousso  <drousso@apple.com>

        Web Inspector: Option+Up/Down arrow keys should increment/decrement numbers in HTML and SVG attributes
        https://bugs.webkit.org/show_bug.cgi?id=147317

        Reviewed by Timothy Hatcher.

        If the value under the cursor in an HTML element attribute is a number, pressing alt and
        up/down will increment/decrement the number value and apply that change to the element.

        * UserInterface/Views/BoxModelDetailsSectionRow.js:
        (WebInspector.BoxModelDetailsSectionRow.prototype._alteredFloatNumber):
        (WebInspector.BoxModelDetailsSectionRow.prototype._handleKeyDown):
        * UserInterface/Views/DOMTreeElement.js:
        (WebInspector.DOMTreeElement.prototype._startEditingAttribute):
        (WebInspector.DOMTreeElement.prototype._attributeEditingCommitted):
        (WebInspector.DOMTreeElement.prototype._attributeNumberEditingCommitted):
        * UserInterface/Views/EditingSupport.js:
        (WebInspector.EditingConfig.prototype.setNumberCommitHandler):
        (WebInspector.startEditing.defaultFinishHandler):
        (WebInspector.startEditing.handleEditingResult):

2015-08-05  Devin Rousso  <drousso@apple.com>

        Web Inspector: Move the Metrics style sidebar panel into Computed
        https://bugs.webkit.org/show_bug.cgi?id=147715

        Reviewed by Timothy Hatcher.

        Deleted the Metrics sidebar panel and moved its contents into the Computed sidebar panel.
        In addition, not hovering over the Metrics section will display the colors of each box.

        * UserInterface/Main.html:
        * UserInterface/Views/BoxModelDetailsSectionRow.css:
        (.details-section .row.box-model :matches(.position, .margin, .border, .padding, .content)):
        (.details-section .row.box-model .position):
        (.details-section .row.box-model .margin):
        (.details-section .row.box-model .border):
        (.details-section .row.box-model .padding):
        (.details-section .row.box-model :matches(.content span, .top, .right, .bottom, .left)):
        (.details-section .row.box-model :matches(.right, .left)):
        (.details-section .row.box-model .content): Deleted.
        (.details-section .row.box-model .content span): Deleted.
        (.details-section .row.box-model .left): Deleted.
        (.details-section .row.box-model .right): Deleted.
        (.details-section .row.box-model .top): Deleted.
        (.details-section .row.box-model .bottom): Deleted.

        * UserInterface/Views/BoxModelDetailsSectionRow.js:
        (WebInspector.BoxModelDetailsSectionRow.prototype._highlightDOMNode):
        If no metric box is hovered, apply a class to the entire section.

        * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
        (WebInspector.CSSStyleDetailsSidebarPanel):
        Removed the usage of MetricsStyleDetailsPanel.

        * UserInterface/Views/ComputedStyleDetailsPanel.css:
        (.details-section.style-box-model:not(.collapsed) > :matches(.header, .content)):
        Give the metrics section in the Computed panel a white background.

        * UserInterface/Views/ComputedStyleDetailsPanel.js:
        (WebInspector.ComputedStyleDetailsPanel):
        (WebInspector.ComputedStyleDetailsPanel.prototype.refresh):
        Don't refresh the content unless the change is significant (without this, you cannot edit
        metrics values using the arrow keys).

        * UserInterface/Views/MetricsStyleDetailsPanel.js: Removed.

2015-08-05  Devin Rousso  <drousso@apple.com>

        Web Inspector: Bezier curve visual editor
        https://bugs.webkit.org/show_bug.cgi?id=134501

        Reviewed by Timothy Hatcher.

        Added a visual Cubic Bezier curve editor that is usable in both
        the CSS sidebar and the resources panel.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Base/DOMUtilities.js:
        (createSVGElement):
        * UserInterface/Controllers/CodeMirrorBezierEditingController.js:
        (WebInspector.CodeMirrorBezierEditingController):
        (WebInspector.CodeMirrorBezierEditingController.prototype.get initialValue):
        (WebInspector.CodeMirrorBezierEditingController.prototype.get cssClassName):
        (WebInspector.CodeMirrorBezierEditingController.prototype.popoverWillPresent):
        (WebInspector.CodeMirrorBezierEditingController.prototype.popoverDidPresent):
        (WebInspector.CodeMirrorBezierEditingController.prototype._bezierEditorBezierChanged):
        * UserInterface/Images/CubicBezier.svg: Added.
        * UserInterface/Main.html:
        * UserInterface/Models/Geometry.js:
        (WebInspector.Point.prototype.distance):
        (WebInspector.Point):
        (WebInspector.CubicBezier):
        (WebInspector.CubicBezier.fromPoints):
        (WebInspector.CubicBezier.fromString):
        (WebInspector.CubicBezier.prototype.get inPoint):
        (WebInspector.CubicBezier.prototype.get outPoint):
        (WebInspector.CubicBezier.prototype.copy):
        (WebInspector.CubicBezier.prototype.toString):
        (WebInspector.CubicBezier.prototype.solve):
        (WebInspector.CubicBezier.prototype._sampleCurveX):
        (WebInspector.CubicBezier.prototype._sampleCurveY):
        (WebInspector.CubicBezier.prototype._sampleCurveDerivativeX):
        (WebInspector.CubicBezier.prototype._solveCurveX):
        * UserInterface/Models/TextMarker.js:
        * UserInterface/Models/UnitBezier.js: Removed.
        * UserInterface/Views/BezierEditor.css: Added.
        (.bezier-editor):
        (.bezier-editor > .bezier-preview):
        (.bezier-editor > .bezier-preview > div):
        (.bezier-editor > .bezier-preview-timing):
        (.bezier-editor > .bezier-preview-timing.animate):
        (.bezier-editor > .bezier-container):
        (@keyframes bezierPreview):
        (.bezier-editor > .bezier-container):
        (.bezier-editor > .bezier-container .linear-curve):
        (.bezier-editor > .bezier-container .bezier-curve):
        (.bezier-editor > .bezier-container .control-line):
        (.bezier-editor > .bezier-container .control-handle):
        * UserInterface/Views/BezierEditor.js: Added.
        (WebInspector.BezierEditor.createControl):
        (WebInspector.BezierEditor):
        (WebInspector.BezierEditor.prototype.get element):
        (WebInspector.BezierEditor.prototype.set bezier):
        (WebInspector.BezierEditor.prototype.get bezier):
        (WebInspector.BezierEditor.prototype.handleEvent):
        (WebInspector.BezierEditor.prototype._handleMousedown):
        (WebInspector.BezierEditor.prototype._handleMousemove):
        (WebInspector.BezierEditor.prototype._handleMouseup):
        (WebInspector.BezierEditor.prototype._updateControlPointsForMouseEvent):
        (WebInspector.BezierEditor.prototype._updateValue.round):
        (WebInspector.BezierEditor.prototype._updateValue):
        (WebInspector.BezierEditor.prototype._updateBezier):
        (WebInspector.BezierEditor.prototype._updateControl):
        (WebInspector.BezierEditor.prototype._triggerPreviewAnimation):
        (WebInspector.BezierEditor.prototype._resetPreviewAnimation):
        * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
        (.css-style-text-editor > .CodeMirror .CodeMirror-lines .cubic-bezier-marker):
        (.css-style-text-editor > .CodeMirror .CodeMirror-lines .cubic-bezier-marker:hover):
        (.css-style-text-editor > .CodeMirror .CodeMirror-lines .cubic-bezier-marker:active):
        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype.didDismissPopover):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._contentChanged):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers.update):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches.update):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createBezierEditors.update):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createBezierEditors):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._commentProperty.update):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._commentProperty):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._uncommentRange.update):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._uncommentRange):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._cubicBezierMarkerClicked.updateCodeMirror.update):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._cubicBezierMarkerClicked.updateCodeMirror):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._cubicBezierMarkerClicked):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent):
        * UserInterface/Views/CodeMirrorAdditions.js:
        * UserInterface/Views/CodeMirrorTextMarkers.js: Added.
        (createCodeMirrorTextMarkers):
        (createCodeMirrorColorTextMarkers):
        (createCodeMirrorGradientTextMarkers):
        (createCodeMirrorCubicBezierTextMarkers):
        * UserInterface/Views/Popover.js:
        (WebInspector.Popover.prototype._animateFrame):
        * UserInterface/Views/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor.prototype._updateEditableMarkers):
        (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression):
        * UserInterface/Views/TextEditor.js:
        (WebInspector.TextEditor.prototype.createColorMarkers):
        (WebInspector.TextEditor.prototype.createGradientMarkers):
        (WebInspector.TextEditor.prototype.createCubicBezierMarkers):
        (WebInspector.TextEditor.prototype.editingControllerForMarker):

2015-08-05  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Logging error objects should have a better UI
        https://bugs.webkit.org/show_bug.cgi?id=143853

        Previously, an error object looked like any other object, which wasn't very useful.
        Source links couldn't be clicked and stacktraces were unreadable.

        Unify console.trace, caught and uncaught exceptions. The following examples use
        the same StaceTraceView:
        - ({}).x.y
        - try { ({}).x.y } catch (e) { console.log(e); }
        - console.trace()

        Reviewed by Brian Burg.

        * UserInterface/Main.html:
        * UserInterface/Models/CallFrame.js:
        (WebInspector.CallFrame.fromPayload):
        (WebInspector.CallFrame):
        * UserInterface/Protocol/RemoteObject.js:
        (WebInspector.RemoteObject.prototype.getOwnPropertyDescriptorsAsObject):
        * UserInterface/Test.html:
        * UserInterface/Views/CallFrameView.css:
        (.call-frame .separator):
        (.call-frame .subtitle .source-link): Deleted.
        (.call-frame:focus .subtitle .source-link): Deleted.
        (.call-frame .subtitle:empty): Deleted.
        (.call-frame .subtitle): Deleted.
        * UserInterface/Views/CallFrameView.js:
        (WebInspector.CallFrameView):
        - Start usind CallFrameView in stacktraces.
        - Introduce showFunctionName optional argument. In stacktraces anonymous functions
        are shown as "(anonymous function)" but in console message location
        links (the ones on the right side of a console message) we omit them.
        - Dash was a pseudo-element and it couldn't be copied to the clipboard.
        Make it an actual HTML element.

        * UserInterface/Views/ConsoleMessageView.css:
        (.console-message-location.call-frame):
        (.console-message-location.call-frame > .title):
        (.console-message-location.call-frame > .subtitle > .source-link):
        Since .call-frame rules are now used in stacktraces, move console message
        specific rules from CallFrameView.css to ConsoleMessageView.css.

        * UserInterface/Views/ConsoleMessageView.js:
        (WebInspector.ConsoleMessageView.prototype._appendLocationLink):
        (WebInspector.ConsoleMessageView.prototype._appendStackTrace):
        (WebInspector.ConsoleMessageView.prototype._formatParameter):
        (WebInspector.ConsoleMessageView.prototype._formatParameterAsError): Added.
        Format errors differently from other objects.

        * UserInterface/Views/ErrorObjectView.css: Added.
        (.error-object::before):
        (.error-object.expanded::before):
        (.error-object-link-container):
        (.error-object.expanded > .formatted-error > .error-object-link-container):
        (.error-object:not(.expanded) .error-object-outline):
        (.error-object-outline):
        * UserInterface/Views/ErrorObjectView.js: Added.
        (WebInspector.ErrorObjectView):
        (WebInspector.ErrorObjectView.parseStackTrace):
        (WebInspector.ErrorObjectView.makeSourceLinkWithPrefix):
        (WebInspector.ErrorObjectView.prototype.get object):
        (WebInspector.ErrorObjectView.prototype.get element):
        (WebInspector.ErrorObjectView.prototype.get treeOutline):
        (WebInspector.ErrorObjectView.prototype.get expanded):
        (WebInspector.ErrorObjectView.prototype.update):
        (WebInspector.ErrorObjectView.prototype.expand):
        (WebInspector.ErrorObjectView.prototype.collapse):
        (WebInspector.ErrorObjectView.prototype._handlePreviewOrTitleElementClick):
        (WebInspector.ErrorObjectView.prototype._buildStackTrace):
        ErrorObjectView is used to log caught exceptions, e.g.:
        try { i.dont.exist++ } catch (e) { console.log(e) }

        * UserInterface/Views/FormattedValue.js:
        (WebInspector.FormattedValue.createElementForError): Added.
        Create error preview.

        (WebInspector.FormattedValue.createElementForTypesAndValue):
        Fix typo.

        (WebInspector.FormattedValue.createObjectPreviewOrFormattedValueForRemoteObject):
        Format errors differently from other objects.

2015-08-05  Matt Baker  <mattbaker@apple.com>

        Web Inspector: REGRESSION (r187634): Script time is missing from the frames timeline
        https://bugs.webkit.org/show_bug.cgi?id=147654

        Reviewed by Brian Burg.

        Use the current stack entry's parent record when pushing a new stack entry, if no
        TimelineRecord was generated from the parent record payload.

        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager.prototype.eventRecorded):
        Don't create a stack entry when record payload children array is empty.

2015-08-05  Matt Baker  <mattbaker@apple.com>

        Web Inspector: REGRESSION (r187900): Breakpoint context menu is broken in Debugger tab
        https://bugs.webkit.org/show_bug.cgi?id=147699

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/SourceCodeTextEditor.js:
        Skip only the separator and "Reveal in Debugger tab" menu items.

2015-08-05  Brian Burg  <bburg@apple.com>

        Web Inspector: use super calls in more places
        https://bugs.webkit.org/show_bug.cgi?id=147696

        Reviewed by Timothy Hatcher.

        A few opportunities for super calls were overlooked when converting to classes.

        * UserInterface/Views/BreakpointTreeElement.js:
        (WebInspector.BreakpointTreeElement.prototype.onattach):
        (WebInspector.BreakpointTreeElement.prototype.ondetach):
        * UserInterface/Views/CallFrameTreeElement.js:
        (WebInspector.CallFrameTreeElement.prototype.onattach):
        (WebInspector.CallFrameTreeElement):
        * UserInterface/Views/DebuggerTabContentView.js:
        (WebInspector.DebuggerTabContentView.prototype.showDetailsSidebarPanels):
        * UserInterface/Views/ProfileNodeTreeElement.js:
        (WebInspector.ProfileNodeTreeElement.prototype.onattach):
        * UserInterface/Views/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor.prototype.shown):
        (WebInspector.SourceCodeTextEditor.prototype.hidden):
        (WebInspector.SourceCodeTextEditor.prototype.canBeFormatted):
        * UserInterface/Views/SourceCodeTreeElement.js:
        (WebInspector.SourceCodeTreeElement.prototype.onattach):
        * UserInterface/Views/TimelineRecordTreeElement.js:
        (WebInspector.TimelineRecordTreeElement.prototype.onattach):
        (WebInspector.TimelineRecordTreeElement):

2015-08-05  Brian Burg  <bburg@apple.com>

        Web Inspector: remove unused Object.deprecatedAddConstructorFunctions
        https://bugs.webkit.org/show_bug.cgi?id=147690

        Reviewed by Timothy Hatcher.

        This is no longer used following the conversion to ES6 classes.

        * UserInterface/Base/Object.js:
        (WebInspector.Object.deprecatedAddConstructorFunctions): Deleted.

2015-08-05  Brian Burg  <bburg@apple.com>

        Web Inspector: Convert miscellaneous view widgets to use ES6 classes
        https://bugs.webkit.org/show_bug.cgi?id=147658

        Reviewed by Joseph Pecoraro.

        Along the way, inline a few style class names.

        Elided mechanical changes from the Changelog.

        * UserInterface/Base/Test.js:
        * UserInterface/Views/CSSStyleDeclarationSection.js:
        * UserInterface/Views/ConsolePrompt.js:
        * UserInterface/Views/ContentBrowser.js:
        * UserInterface/Views/ContentViewContainer.js:
        * UserInterface/Views/DOMTreeDataGridNode.js:
        * UserInterface/Views/IndeterminateProgressSpinner.js:
        * UserInterface/Views/NavigationBar.js:
        * UserInterface/Views/ProbeSetDataGridNode.js:
        * UserInterface/Views/QuickConsoleNavigationBar.js:
        * UserInterface/Views/Toolbar.js:

2015-08-05  Brian Burg  <bburg@apple.com>

        Web Inspector: Convert remaining ContentViews to use ES6 classes
        https://bugs.webkit.org/show_bug.cgi?id=147534

        Reviewed by Joseph Pecoraro.

        Along the way, inline a few style class names.

        Elided mechanical changes from the Changelog.

        * UserInterface/Views/ApplicationCacheFrameContentView.js:
        * UserInterface/Views/ClusterContentView.js:
        * UserInterface/Views/ConsoleTabContentView.js:
        * UserInterface/Views/ContentBrowserTabContentView.js: Rearrange initialization
        of the tab's content browser to comply with TDZ rules for using `this`.
        * UserInterface/Views/ContentFlowDOMTreeContentView.js:
        * UserInterface/Views/ContentView.js:
        * UserInterface/Views/ContentViewContainer.js:
        * UserInterface/Views/CookieStorageContentView.js:
        * UserInterface/Views/DOMStorageContentView.js:
        * UserInterface/Views/DOMTreeContentView.js:
        * UserInterface/Views/DatabaseContentView.js:
        * UserInterface/Views/DatabaseTableContentView.js:
        * UserInterface/Views/DebuggerTabContentView.js:
        * UserInterface/Views/ElementsTabContentView.js:
        * UserInterface/Views/FontResourceContentView.js:
        * UserInterface/Views/FrameDOMTreeContentView.js:
        * UserInterface/Views/GenericResourceContentView.js:
        * UserInterface/Views/ImageResourceContentView.js:
        * UserInterface/Views/IndexedDatabaseObjectStoreContentView.js:
        * UserInterface/Views/LogContentView.js:
        * UserInterface/Views/NetworkGridContentView.js:
        * UserInterface/Views/NetworkTabContentView.js:
        * UserInterface/Views/NewTabContentView.js:
        * UserInterface/Views/ResourceClusterContentView.js:
        * UserInterface/Views/ResourceContentView.js:
        * UserInterface/Views/ResourcesTabContentView.js:
        * UserInterface/Views/ScriptContentView.js:
        * UserInterface/Views/SearchTabContentView.js:
        * UserInterface/Views/SettingsTabContentView.js:
        * UserInterface/Views/StorageTabContentView.js:
        * UserInterface/Views/TabContentView.js:
        * UserInterface/Views/TextContentView.js:
        * UserInterface/Views/TextResourceContentView.js:
        * UserInterface/Views/TimelineRecordingContentView.js:

2015-08-05  Devin Rousso  <drousso@apple.com>

        Web Inspector: Allow users to duplicate rules in the Rules sidebar panel
        https://bugs.webkit.org/show_bug.cgi?id=147361

        Reviewed by Timothy Hatcher.

        Adds context menu option to non-inherited rules that, when clicked, creates
        a new rule with the same selector and no properties, and then focuses it.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Models/DOMNodeStyles.js:
        (WebInspector.DOMNodeStyles.prototype.addRuleWithSelector.addedRule):
        (WebInspector.DOMNodeStyles.prototype.addRuleWithSelector):
        * UserInterface/Views/CSSStyleDeclarationSection.js:
        (WebInspector.CSSStyleDeclarationSection.prototype.get _currentSelectorText):
        (WebInspector.CSSStyleDeclarationSection.prototype._handleContextMenuEvent):
        * UserInterface/Views/RulesStyleDetailsPanel.js:
        (WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionFocusNextNewInspectorRule):

2015-08-04  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Layout & Rendering timeline grid should show TimelineRecord parent/child relationships
        https://bugs.webkit.org/show_bug.cgi?id=147468

        Reviewed by Brian Burg.

        Layout timeline data grid now shows record nesting for Layout and Composite events.

        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager.prototype.eventRecorded):
        * UserInterface/Models/TimelineRecord.js:
        (WebInspector.TimelineRecord.prototype.get parent):
        (WebInspector.TimelineRecord.prototype.set parent):
        Preserve timeline record parent/child relationship.

        * UserInterface/Views/LayoutTimelineView.js:
        (WebInspector.LayoutTimelineView):
        Style change for disclosure triangle support.
        (WebInspector.LayoutTimelineView.prototype._layoutTimelineRecordAdded):
        Only process immediate children of the rendering frame record.

2015-08-04  Devin Rousso  <drousso@apple.com>

        Web Inspector: "No Filter Results" overlaps other UI elements when docked Inspector is small
        https://bugs.webkit.org/show_bug.cgi?id=147659

        Reviewed by Timothy Hatcher.

        Hide overflow of empty content label containers in navigation sidebars.

        * UserInterface/Views/NavigationSidebarPanel.css:
        (.sidebar > .panel.navigation > .empty-content-placeholder):

2015-08-04  Joseph Pecoraro  <pecoraro@apple.com>

        Improve some LayoutTests/inspector flakey output for tests with InspectorTest.reloadPage
        https://bugs.webkit.org/show_bug.cgi?id=147655

        Reviewed by Timothy Hatcher.

        * UserInterface/Base/Test.js:
        (InspectorTest.reloadPage):
        Immediately mark the page as reloading so that any logs that may happen
        before the callback for PageAgent.reload wait to be sent after the page
        load. What was happening in flakey results was that the logs were
        happening before this callback, and therefore getting logged and then
        resent after page load and getting relogged.

2015-08-04  Devin Rousso  <drousso@apple.com>

        Web Inspector: Existing text after completions do not have their completion style removed once hint is applied
        https://bugs.webkit.org/show_bug.cgi?id=147536

        Reviewed by Timothy Hatcher.

        No longer applies a class to the text after the completion hint.

        * UserInterface/Controllers/CodeMirrorCompletionController.css:
        (.CodeMirror .CodeMirror-lines .completion-hint):
        * UserInterface/Controllers/CodeMirrorCompletionController.js:
        (WebInspector.CodeMirrorCompletionController.prototype._applyCompletionHint.update):
        (WebInspector.CodeMirrorCompletionController.prototype._applyCompletionHint):
        (WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint.clearMarker):
        (WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint.update):
        (WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint):

2015-08-04  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Don't show 'Reveal In Debugger Tab' menu item if already in Debugger tab
        https://bugs.webkit.org/show_bug.cgi?id=147554

        Reviewed by Timothy Hatcher.

        Check current tab before appending context menu items.

        * UserInterface/Base/Main.js:
        (WebInspector.isShowingDebuggerTab):
        * UserInterface/Views/SourceCodeTextEditor.js:

2015-08-04  Devin Rousso  <drousso@apple.com>

        Web Inspector: buttons in new tab screen lack hover styles
        https://bugs.webkit.org/show_bug.cgi?id=145355

        Reviewed by Timothy Hatcher.

        Added hover brightness filter to new tab buttons.

        * UserInterface/Views/NewTabContentView.css:
        (.new-tab.tab.content-view > .tab-item:not(.disabled):hover > .box):
        (.new-tab.tab.content-view > .tab-item:not(.disabled):active > .box):

2015-08-04  Devin Rousso  <drousso@apple.com>

        Web Inspector: Merge the styles sidebar navigation bar into a selectable item in the elements sidebar
        https://bugs.webkit.org/show_bug.cgi?id=146878

        Reviewed by Timothy Hatcher.

        Replaced the default navigationItem of the CSSStyleDetailsSidebarPanel with a
        ScopeRadioButtonNavigationItem that will open a select element containing the labels
        of each style sidebar when reselected.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Main.html:
        * UserInterface/Views/ComputedStyleDetailsPanel.js:
        (WebInspector.ComputedStyleDetailsPanel):
        * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
        (.sidebar > .panel.details.css-style > .content):
        * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
        (WebInspector.CSSStyleDetailsSidebarPanel):
        (WebInspector.CSSStyleDetailsSidebarPanel.prototype.computedStyleDetailsPanelShowProperty):
        (WebInspector.CSSStyleDetailsSidebarPanel.prototype._panelMatchingIdentifier):
        (WebInspector.CSSStyleDetailsSidebarPanel.prototype._handleSelectedItemChanged):
        (WebInspector.CSSStyleDetailsSidebarPanel.prototype.visibilityDidChange):
        (WebInspector.CSSStyleDetailsSidebarPanel.prototype._navigationItemSelected): Deleted.
        * UserInterface/Views/DOMDetailsSidebarPanel.js:
        (WebInspector.DOMDetailsSidebarPanel):
        * UserInterface/Views/DetailsSidebarPanel.js:
        (WebInspector.DetailsSidebarPanel):
        * UserInterface/Views/MetricsStyleDetailsPanel.js:
        (WebInspector.MetricsStyleDetailsPanel):
        * UserInterface/Views/NavigationBar.js:
        (WebInspector.NavigationBar.prototype._mouseDown):
        * UserInterface/Views/RulesStyleDetailsPanel.js:
        (WebInspector.RulesStyleDetailsPanel):
        * UserInterface/Views/ScopeRadioButtonNavigationItem.css: Added.
        * UserInterface/Views/ScopeRadioButtonNavigationItem.js: Added.
        * UserInterface/Views/SidebarPanel.js:
        (WebInspector.SidebarPanel):
        * UserInterface/Views/StyleDetailsPanel.js:
        (WebInspector.StyleDetailsPanel):

2015-08-04  Matt Baker  <mattbaker@apple.com>

        Web Inspector: timeline overview should visually distinguish selection bounds outside the visible duration
        https://bugs.webkit.org/show_bug.cgi?id=132764

        Reviewed by Brian Burg.

        * UserInterface/Views/TimelineRuler.css:
        (.timeline-ruler > .selection-handle.clamped):
        Added style for selection handle outside visible range.
        * UserInterface/Views/TimelineRuler.js:
        (WebInspector.TimelineRuler.prototype._updateSelection):
        Toggle style class and add tool tip showing the handle's value when outside the visible range.

2015-08-04  Brian J. Burg  <bburg@apple.com>

        Web Inspector: Convert DataGrid and DataGridNode classes to ES6 classes
        https://bugs.webkit.org/show_bug.cgi?id=147439

        Reviewed by Joseph Pecoraro.

        Along the way, inline a few style class names.

        Elided mechanical changes from the Changelog.

        * UserInterface/Views/DOMTreeDataGrid.js:
        * UserInterface/Views/DataGrid.js:
        * UserInterface/Views/DatabaseTableContentView.js:
        * UserInterface/Views/IndexedDatabaseEntryDataGridNode.js:
        * UserInterface/Views/LayerTreeDataGridNode.js:
        * UserInterface/Views/LayoutTimelineDataGrid.js:
        * UserInterface/Views/LayoutTimelineDataGridNode.js:
        * UserInterface/Views/ProbeSetDataGrid.js:
        * UserInterface/Views/ProfileNodeDataGridNode.js:
        * UserInterface/Views/RenderingFrameTimelineDataGridNode.js:
        * UserInterface/Views/ResourceTimelineDataGridNode.js:
        * UserInterface/Views/ScriptTimelineDataGrid.js:
        * UserInterface/Views/ScriptTimelineDataGridNode.js:
        * UserInterface/Views/SourceCodeTimelineTimelineDataGridNode.js:
        * UserInterface/Views/TimelineDataGrid.js:
        * UserInterface/Views/TimelineDataGridNode.js: Move a function definition out
        of an else branch, since this is not allowed in ES6 strict mode.

2015-08-04  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: console error when clicking AppCache folder tree element
        https://bugs.webkit.org/show_bug.cgi?id=130042

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/StorageSidebarPanel.js:
        (WebInspector.StorageSidebarPanel._treeElementSelected): Don't try to
        create a content view for ApplicationCacheManifestTreeElement. We can
        only create a content view for AppCache frames.

2015-08-04  Andres Gomez  <agomez@igalia.com>

        [GTK] Add gtk icon to remove comma separated values from CSS properties
        https://bugs.webkit.org/show_bug.cgi?id=147623

        Reviewed by Carlos Garcia Campos.

        * UserInterface/Images/gtk/Minus.svg: Added.

2015-08-03  Matt Baker  <mattbaker@apple.com>

        Web Inspector: REGRESSION (r187708): Breakpoint dialog script action editing broken
        https://bugs.webkit.org/show_bug.cgi?id=147553

        Reviewed by Joseph Pecoraro.

        Passing a widget to CodeMirror.setBookmark generates a viewportChange event, causing the
        BreakpointActionView to update the popup for the breakpoint. The spurious update dismisses
        the suggestion list, removes the CodeMirror completion hint, and causes other problems.

        Now we ignore viewportChange events unless the viewport size changes. We still want to update
        the popup when a carriage return or text wrap modifies the viewport.

        * UserInterface/Views/BreakpointActionView.js:
        (WebInspector.BreakpointActionView.prototype._updateBody):
        Evaluate and Probe actions store the current viewport size.
        (WebInspector.BreakpointActionView.prototype._codeMirrorViewportChanged):
        Check if viewport size has changed since last event.

2015-08-03  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: Application cache DataGrid has incorrect column heading styles
        https://bugs.webkit.org/show_bug.cgi?id=147531

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/ApplicationCacheFrameContentView.js:
        (WebInspector.ApplicationCacheFrameContentView): Remove erroneous
        "storage-view" class, which is intended for databases, not AppCache.

2015-08-02  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Unnamespaced Formatter classes break CSSStyleDeclarationTextEditor
        https://bugs.webkit.org/show_bug.cgi?id=147544

        Reviewed by Brian Burg.

        Added Formatter and FormatterContentBuilder to WebInspector namespace.

        * UserInterface/Controllers/Formatter.js:
        * UserInterface/Controllers/FormatterContentBuilder.js:
        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._formattedContentFromEditor):
        * UserInterface/Views/TextEditor.js:
        (WebInspector.TextEditor.prototype.prettyPrint.prettyPrintAndUpdateEditor):
        (WebInspector.TextEditor.prototype.prettyPrint):

2015-08-02  Matt Baker  <mattbaker@apple.com>

        Web Inspector: REGRESSION (r187689): Timeline overview graph layout is broken
        https://bugs.webkit.org/show_bug.cgi?id=147539

        Reviewed by Brian Burg.

        Removed timeline argument being passed to TimelineOverviewGraph constructor.

        * UserInterface/Views/LayoutTimelineOverviewGraph.js:
        (WebInspector.LayoutTimelineOverviewGraph):
        * UserInterface/Views/NetworkTimelineOverviewGraph.js:
        (WebInspector.NetworkTimelineOverviewGraph):
        * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:
        (WebInspector.RenderingFrameTimelineOverviewGraph):
        * UserInterface/Views/ScriptTimelineOverviewGraph.js:
        (WebInspector.ScriptTimelineOverviewGraph):

2015-08-01  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Replace "unknown-mac" CSS class with "el-capitan"
        https://bugs.webkit.org/show_bug.cgi?id=147524

        Reviewed by Timothy Hatcher.

        * UserInterface/Base/Platform.js:
        No need to repeat WebInspector.Platform.version.release for every possible case.

        * UserInterface/Views/Toolbar.css:
        (body:not(.el-capitan) .toolbar .dashboard-container):
        (body:not(.el-capitan) .toolbar .search-bar > input[type="search"]):
        (body:not(.el-capitan) .toolbar .search-bar > input[type="search"]:focus):
        (body:not(.el-capitan) .toolbar .item.button:active):
        (body.window-inactive:not(.el-capitan) .toolbar .dashboard-container):
        (body.el-capitan .toolbar .dashboard-container):
        (body.el-capitan .toolbar .search-bar > input[type="search"]):
        (body.el-capitan .toolbar .search-bar > input[type="search"]:focus):
        (@media (-webkit-min-device-pixel-ratio: 2)):
        (body.el-capitan .toolbar .item.button:active):
        (body.el-capitan.window-inactive .toolbar .dashboard-container):
        (body:not(.unknown-mac) .toolbar .dashboard-container): Deleted.
        (body:not(.unknown-mac) .toolbar .search-bar > input[type="search"]): Deleted.
        (body:not(.unknown-mac) .toolbar .search-bar > input[type="search"]:focus): Deleted.
        (body:not(.unknown-mac) .toolbar .item.button:active): Deleted.
        (body.window-inactive:not(.unknown-mac) .toolbar .dashboard-container): Deleted.
        (body.unknown-mac .toolbar .dashboard-container): Deleted.
        (body.unknown-mac .toolbar .search-bar > input[type="search"]): Deleted.
        (body.unknown-mac .toolbar .search-bar > input[type="search"]:focus): Deleted.
        (body.unknown-mac .toolbar .item.button:active): Deleted.
        (body.unknown-mac.window-inactive .toolbar .dashboard-container): Deleted.

2015-07-31  Devin Rousso  <drousso@apple.com>

        Web Inspector: inherited CSS rules disappear from Styles sidebar while editing
        https://bugs.webkit.org/show_bug.cgi?id=147441

        Reviewed by Timothy Hatcher.

        If the user edits a style declaration such that it would dissapear mid-edit, prevent
        the rules panel from refreshing until that editor is blurred.

        * UserInterface/Views/CSSStyleDeclarationSection.js:
        (WebInspector.CSSStyleDeclarationSection):
        (WebInspector.CSSStyleDeclarationSection.prototype.get editorActive):
        (WebInspector.CSSStyleDeclarationSection.prototype.get _hasInvalidSelector):
        (WebInspector.CSSStyleDeclarationSection.prototype._editorContentChanged):
        (WebInspector.CSSStyleDeclarationSection.prototype._editorBlurred):
        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._editorBlured):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._contentChanged):
        * UserInterface/Views/RulesStyleDetailsPanel.js:
        (WebInspector.RulesStyleDetailsPanel):
        (WebInspector.RulesStyleDetailsPanel.prototype._removeSectionWithActiveEditor):
        * UserInterface/Views/StyleDetailsPanel.js:
        (WebInspector.StyleDetailsPanel.prototype._refreshPreservingScrollPosition):

2015-07-31  Devin Rousso  <drousso@apple.com>

        Web Inspector: Autocomplete: Undo (Cmd+Z) doesn't work as expected
        https://bugs.webkit.org/show_bug.cgi?id=147316

        Reviewed by Timothy Hatcher.

        Instead of replacing the text for a completion, which messes up the undo history, add
        a unique marker that contains the remaining text for the current completion.

        * UserInterface/Controllers/CodeMirrorCompletionController.js:
        (WebInspector.CodeMirrorCompletionController.prototype._createCompletionHintMarker):
        (WebInspector.CodeMirrorCompletionController.prototype._applyCompletionHint.update):
        (WebInspector.CodeMirrorCompletionController.prototype._applyCompletionHint):
        (WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint.update):
        (WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint):

2015-07-31  Devin Rousso  <drousso@apple.com>

        Web Inspector: Scrolling "jumps" in console
        https://bugs.webkit.org/show_bug.cgi?id=147482

        Reviewed by Joseph Pecoraro.

        Removed focus call on messageElement.

        * UserInterface/Views/LogContentView.js:
        (WebInspector.LogContentView):
        (WebInspector.LogContentView.prototype._mousedown): Deleted.
        (WebInspector.LogContentView.prototype._didFocus): Deleted.
        (WebInspector.LogContentView.prototype._didBlur): Deleted.

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

        Web Inspector: Unskip / Unflake inspector tests after r187627
        https://bugs.webkit.org/show_bug.cgi?id=147503

        Reviewed by Brian Burg.

        * UserInterface/Base/Test.js:
        (InspectorTest.completeTest):
        (InspectorTest.completeTest.signalCompletionToTestPage): Deleted.
        (InspectorTest.testPageDidLoad):
        Instead of immediately resending results if completeTest was called
        during a reload before the load has completed, we just set a flag
        to complete the test when the load completes. This consistently
        resends the output to the new page for test output.
        
        (InspectorTest._resendResults):
        Delete clear results. If the page had logged anything directly on
        the page side (using InspectorTestProxy) this clearMessages would
        have deleted those messages and not been able to recreate them.
        Clearing messages wasn't really serving a purpose.

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

        Web Inspector: Convert timeline view classes to ES6 classes
        https://bugs.webkit.org/show_bug.cgi?id=147381

        Reviewed by Joseph Pecoraro.

        Along the way, inline a few style class names.

        Elided mechanical changes from the Changelog.

        * UserInterface/Views/LayoutTimelineOverviewGraph.js:
        * UserInterface/Views/LayoutTimelineView.js:
        * UserInterface/Views/LinearTimelineOverview.js:
        * UserInterface/Views/NetworkTimelineOverviewGraph.js:
        * UserInterface/Views/NetworkTimelineView.js:
        * UserInterface/Views/OverviewTimelineView.js:
        * UserInterface/Views/RenderingFrameTimelineOverview.js:
        * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:
        * UserInterface/Views/RenderingFrameTimelineView.js:
        * UserInterface/Views/ScriptTimelineOverviewGraph.js:
        * UserInterface/Views/ScriptTimelineView.js:
        * UserInterface/Views/TimelineOverview.js:
        * UserInterface/Views/TimelineOverviewGraph.js:
        * UserInterface/Views/TimelineRecordBar.js:
        * UserInterface/Views/TimelineRecordFrame.js:
        * UserInterface/Views/TimelineRecordingContentView.js:
        * UserInterface/Views/TimelineRuler.js:
        * UserInterface/Views/TimelineTabContentView.js:
        * UserInterface/Views/TimelineView.js:

2015-07-30  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Better share objects generated from timeline events (Records)
        https://bugs.webkit.org/show_bug.cgi?id=147029

        Reviewed by Brian Burg.

        This patch changes the way TimelineManager processes events, preserving the event hierarchy after
        converting payloads to TimelineRecord objects by retaining parent-child relationships between records.
        This eliminates the need for RenderingFrameTimelineRecord objects to create a separate copy of their child
        records, and provides richer data for the Timelines UI.

        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager.prototype.eventRecorded):
        Track the parent TimelineRecord as child record payloads are unpacked, and create
        a hierarchy of TimelineRecords that mirrors the original event payload hierarchy.
        (WebInspector.TimelineManager.prototype._processRecord):
        RenderingFrameTimelineRecord is now processed like any other event.
        (WebInspector.TimelineManager.prototype._processNestedRecords): Deleted.
        Reverted back to a single pass over the incoming timeline event payload.

        * UserInterface/Models/LayoutTimelineRecord.js:
        (WebInspector.LayoutTimelineRecord):
        (WebInspector.LayoutTimelineRecord.prototype.get duringComposite): Deleted.
        Removed duringComposite property and constructor parameter. No longer needed.

        * UserInterface/Models/RenderingFrameTimelineRecord.js:
        (WebInspector.RenderingFrameTimelineRecord.prototype.get children): Deleted.
        Removed children property. It now exists on the base class TimelineRecord.
        Also removed code that was needed to prevent paint time from being added twice.

        * UserInterface/Models/ScriptTimelineRecord.js:
        (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload):
        (WebInspector.ScriptTimelineRecord):
        Removed workaround added in:
        <https://webkit.org/b/147025> Web Inspector: REGRESSION (r186218) ScriptTimelineRecord attempts to access null property

        * UserInterface/Models/TimelineRecord.js:
        (WebInspector.TimelineRecord):
        (WebInspector.TimelineRecord.prototype.get children):
        Added children property.

        * UserInterface/Views/RenderingFrameTimelineView.js:
        (WebInspector.RenderingFrameTimelineView.prototype._processPendingRecords):
        Now that we preserve the frame's child record hierarchy, we process the entire tree,
        yielding richer data grid output:

           Frame X
              Styles Recalculated
                 Layout Invalidated
              Composite
                 Paint
                 Paint

        Compared to the previous output:

           Frame X
              Styles Recalculated
              Layout Invalidated
              Composite
              Paint
              Paint

2015-07-30  Devin Rousso  <drousso@apple.com>

        Web Inspector: Support smart-pasting in the Rules sidebar panel
        https://bugs.webkit.org/show_bug.cgi?id=147362

        Reviewed by Timothy Hatcher.

        When pasting over the selector, if the pasted text matches CSS rule
        formatting, replace the selected rule with the selector and text in
        the pasted data.

        * UserInterface/Models/DOMNodeStyles.js:
        (WebInspector.DOMNodeStyles.prototype.changeRule.changeCompleted):
        (WebInspector.DOMNodeStyles.prototype.changeRule.styleChanged):
        (WebInspector.DOMNodeStyles.prototype.changeRule.changeText):
        (WebInspector.DOMNodeStyles.prototype.changeRule.ruleSelectorChanged):
        (WebInspector.DOMNodeStyles.prototype.changeRule):
        * UserInterface/Views/CSSStyleDeclarationSection.js:
        (WebInspector.CSSStyleDeclarationSection.prototype._handleSelectorPaste.parseTextForRule):
        (WebInspector.CSSStyleDeclarationSection.prototype._handleSelectorPaste):
        (WebInspector.CSSStyleDeclarationSection):

2015-07-30  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Fix typo in frame duration filtering console.assert message
        https://bugs.webkit.org/show_bug.cgi?id=147458

        Rubber-stamped by Joseph Pecoraro.

        * UserInterface/Views/RenderingFrameTimelineView.js:
        (WebInspector.RenderingFrameTimelineView.displayNameForDurationFilter):

2015-07-30  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Regression: %c is broken for console.group
        https://bugs.webkit.org/show_bug.cgi?id=147436

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ConsoleMessageView.js:
        (WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):

2015-07-30  Devin Rousso  <drousso@apple.com>

        Web Inspector: Add special case for deleting the next character when editing rules in the CSS Sidebar
        https://bugs.webkit.org/show_bug.cgi?id=147442

        Reviewed by Timothy Hatcher.

        If the cursor is on the first position of the first line in a CSS Rule and that line
        has no content, delete the line instead of doing nothing.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleBeforeChange):

2015-07-29  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Improve styles of debugger popovers
        https://bugs.webkit.org/show_bug.cgi?id=147437

        Reviewed by Timothy Hatcher.

        Use non-monospace font and improve spacing.

        * UserInterface/Views/SourceCodeTextEditor.css:
        (.popover .debugger-popover-content > .title):
        (.popover .debugger-popover-content > .body):

2015-07-29  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Border line in the debug popover should be semi-transparent black, not dark yellow
        https://bugs.webkit.org/show_bug.cgi?id=147435

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/SourceCodeTextEditor.css:
        (.popover .debugger-popover-content > .body):
        (@media (-webkit-min-device-pixel-ratio: 2)): Use hairline borders on retina.

2015-07-29  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: " = $0" text in the Elements panel should anti-aliased
        https://bugs.webkit.org/show_bug.cgi?id=147432

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/DOMTreeOutline.css:
        (.dom-tree-outline li.selected > span::after):
        (.dom-tree-outline:focus li.selected > span::after):
        Decrease the opacity just slightly to make " = $0" more distinct from DOM nodes.

2015-07-29  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Allow record filtering by frame duration in Rendering Frames timeline
        https://bugs.webkit.org/show_bug.cgi?id=147419

        Reviewed by Timothy Hatcher.

        * Localizations/en.lproj/localizedStrings.js:
        New scope bar item labels.

        * UserInterface/Views/RenderingFrameTimelineView.js:
        (WebInspector.RenderingFrameTimelineView):
        New scope bar for frame duration filtering.
        (WebInspector.RenderingFrameTimelineView.displayNameForDurationFilter):
        (WebInspector.RenderingFrameTimelineView.prototype.matchTreeElementAgainstCustomFilters):
        Overridden for view specific filtering. Filtering applies to RenderingFrameTimelineRecords only.
        (WebInspector.RenderingFrameTimelineView.prototype._scopeBarSelectionDidChange):
        Force sidebar filtering when duration filter changes.

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

        Web Inspector: console.groupEnd causes negative indent when no group is active
        https://bugs.webkit.org/show_bug.cgi?id=147375

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/LogContentView.js:
        (WebInspector.LogContentView.prototype.didAppendConsoleMessageView):

2015-07-28  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: Convert NavigationItem subclasses to ES6
        https://bugs.webkit.org/show_bug.cgi?id=147364

        Reviewed by Timothy Hatcher.

        Convert remaining NavigationItem subclasses to use ES6 class.

        Also promote the _additionalClassNames to be a protected getter,
        and inline the style class names that are only used in one place.

        Mechanical changes are elided from the changelog.

        * UserInterface/Views/ActivateButtonNavigationItem.js:
        (WebInspector.ActivateButtonNavigationItem):
        (WebInspector.ActivateButtonNavigationItem.prototype.get additionalClassNames):
        * UserInterface/Views/ActivateButtonToolbarItem.js:
        (WebInspector.ActivateButtonToolbarItem):
        * UserInterface/Views/ButtonNavigationItem.js:
        (WebInspector.ButtonNavigationItem):
        (WebInspector.ButtonNavigationItem.prototype.get additionalClassNames):
        * UserInterface/Views/ButtonToolbarItem.js:
        (WebInspector.ButtonToolbarItem):
        * UserInterface/Views/ControlToolbarItem.js:
        (WebInspector.ControlToolbarItem):
        (WebInspector.ControlToolbarItem.prototype.get additionalClassNames):
        * UserInterface/Views/DividerNavigationItem.js:
        (WebInspector.DividerNavigationItem):
        (WebInspector.DividerNavigationItem.prototype.get additionalClassNames):
        * UserInterface/Views/FlexibleSpaceNavigationItem.js:
        (WebInspector.FlexibleSpaceNavigationItem):
        (WebInspector.FlexibleSpaceNavigationItem.prototype.get additionalClassNames):
        * UserInterface/Views/HierarchicalPathNavigationItem.js:
        (WebInspector.HierarchicalPathNavigationItem.prototype.get additionalClassNames):
        (WebInspector.HierarchicalPathNavigationItem.prototype.get _additionalClassNames): Deleted.
        * UserInterface/Views/NavigationItem.js:
        (WebInspector.NavigationItem):
        (WebInspector.NavigationItem.prototype.get _classNames):
        * UserInterface/Views/RadioButtonNavigationItem.js:
        (WebInspector.RadioButtonNavigationItem):
        (WebInspector.RadioButtonNavigationItem.prototype.get additionalClassNames):
        * UserInterface/Views/ToggleButtonNavigationItem.js:
        (WebInspector.ToggleButtonNavigationItem):
        (WebInspector.ToggleButtonNavigationItem.prototype.get additionalClassNames):
        * UserInterface/Views/ToggleControlToolbarItem.js:
        (WebInspector.ToggleControlToolbarItem):
        (WebInspector.ToggleControlToolbarItem.prototype.get additionalClassNames):

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

        Web Inspector: Include <template> node content in DOM Tree
        https://bugs.webkit.org/show_bug.cgi?id=147335

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/DOMTreeManager.js:
        (WebInspector.DOMTreeManager.prototype._unbind):
        Cleanup templateContent when DOMNodes get removed.

        * UserInterface/Models/DOMNode.js:
        (WebInspector.DOMNode.prototype.templateContent):
        Create a DOMNode from the payload's templateContent.

        * UserInterface/Views/DOMTreeElement.js:
        (WebInspector.DOMTreeElement.prototype._singleTextChild):
        (WebInspector.DOMTreeElement.prototype._hasVisibleChildren):
        (WebInspector.DOMTreeElement.prototype._visibleChildren):
        A DOMTreeElement has children if the DOMNode has template content.

2015-07-28  Devin Rousso  <drousso@apple.com>

        Web Inspector: Invalid selectors can be applied to the stylesheet
        https://bugs.webkit.org/show_bug.cgi?id=147230

        Reviewed by Timothy Hatcher.

        * Localizations/en.lproj/localizedStrings.js:

        * UserInterface/Models/CSSRule.js:
        (WebInspector.CSSRule.prototype.set selectorText):
        Fires an event with data stating if the newly applied selector was valid or not.
        (WebInspector.CSSRule.prototype._selectorRejected):
        (WebInspector.CSSRule.prototype._selectorResolved):
        (WebInspector.CSSRule):

        * UserInterface/Models/DOMNodeStyles.js:
        (WebInspector.DOMNodeStyles.prototype.changeRuleSelector.ruleSelectorChanged):
        (WebInspector.DOMNodeStyles.prototype.changeRuleSelector):
        Now returns a promise that will reject if CSSAgent.setRuleSelector has an
        error, such as if the selector is invalid, and resolve otherwise.

        * UserInterface/Views/CSSStyleDeclarationSection.css:
        (.style-declaration-section:not(.invalid-selector) > .header > .icon.toggle-able:hover):
        (.style-declaration-section:not(.invalid-selector).rule-disabled > .header > .icon):
        (.style-declaration-section.invalid-selector > .header > .icon):
        (.style-declaration-section.invalid-selector > .header > .selector > *):
        (.style-declaration-section > .header > .icon.toggle-able:hover): Deleted.
        (.style-declaration-section.rule-disabled > .header > .icon): Deleted.

        * UserInterface/Views/CSSStyleDeclarationSection.js:
        (WebInspector.CSSStyleDeclarationSection):
        (WebInspector.CSSStyleDeclarationSection.prototype._toggleRuleOnOff):
        Only allow rule toggling if the selector is valid.
        (WebInspector.CSSStyleDeclarationSection.prototype._markSelector):
        If the new selector is valid, refresh the section. Otherwise, apply a class
        to the section element that marks the selector as being invalid.
        (WebInspector.CSSStyleDeclarationSection.prototype.get _hasInvalidSelector):

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

        Web Inspector: Show Pseudo Elements in DOM Tree
        https://bugs.webkit.org/show_bug.cgi?id=139612

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/DOMTreeManager.js:
        (WebInspector.DOMTreeManager.prototype._pseudoElementAdded):
        Hook up the new pseudo element DOMNode to the parent.

        (WebInspector.DOMTreeManager.prototype._pseudoElementRemoved):
        Unhook the pseudo element from its parent.

        (WebInspector.DOMTreeManager.prototype._unbind):
        When unbinding, unbind any pseudo element children we may have had.

        * UserInterface/Models/DOMNode.js:
        (WebInspector.DOMNode.prototype.isPseudoElement):
        (WebInspector.DOMNode.prototype.pseudoType):
        (WebInspector.DOMNode.prototype.hasPseudoElements):
        (WebInspector.DOMNode.prototype.pseudoElements):
        New state of a DOMNode may include pseudo elements.

        (WebInspector.DOMNode.prototype.appropriateSelectorFor):
        A selector for this node includes the selector for the node above it.

        * UserInterface/Protocol/DOMObserver.js:
        (WebInspector.DOMObserver.prototype.pseudoElementAdded):
        (WebInspector.DOMObserver.prototype.pseudoElementRemoved):
        Pass the message on to DOMTreeManager.

        * UserInterface/Views/DOMTreeElement.js:
        (WebInspector.DOMTreeElement.prototype.get editable):
        Pseudo element nodes are not editable.

        (WebInspector.DOMTreeElement.prototype.showChildNode):
        (WebInspector.DOMTreeElement.prototype.onpopulate):
        (WebInspector.DOMTreeElement.prototype.updateChildren):
        (WebInspector.DOMTreeElement.prototype._nodeTitleInfo):
        (WebInspector.DOMTreeElement.prototype._singleTextChild):
        (WebInspector.DOMTreeElement.prototype._hasVisibleChildren):
        (WebInspector.DOMTreeElement.prototype._visibleChildren):
        (WebInspector.DOMTreeElement.prototype._updateChildren):
        (WebInspector.DOMTreeElement.prototype.adjustCollapsedRange):
        (WebInspector.DOMTreeElement.prototype.handleLoadAllChildren):
        A DOMTreeElement's children are no longer 1-to-1 to DOMNode's children.
        Instead a DOMNode may have a before/after pseudo element child that
        are not included in the children list. Update parts of DOMTreeElement
        to respect this list of visible children.

        * UserInterface/Views/DOMTreeElementPathComponent.js:
        (WebInspector.DOMTreeElementPathComponent):
        * UserInterface/Views/PathComponentIcons.css:
        (.dom-pseudo-element-icon .icon):
        Styling for the path component when a pseudo element is selected.

        * UserInterface/Views/DOMTreeOutline.css:
        (.dom-tree-outline .html-pseudo-element):
        (.dom-tree-outline .html-fragment.shadow):
        (.webkit-html-fragment.shadow): Deleted.
        Styles for pseudo elements in the DOM tree.

        * UserInterface/Views/DOMTreeOutline.js:
        (WebInspector.DOMTreeOutline.prototype._hideElement):
        Make the hide element selector hide the host element.

        * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
        (WebInspector.CSSStyleDetailsSidebarPanel.prototype.addEventListeners):
        (WebInspector.CSSStyleDetailsSidebarPanel.prototype.removeEventListeners):
        (WebInspector.CSSStyleDetailsSidebarPanel.prototype._forcedPseudoClassCheckboxChanged):
        (WebInspector.CSSStyleDetailsSidebarPanel.prototype._updatePseudoClassCheckboxes):
        Pseudo class changes won't happen on pseudo elements, but will
        happen on their host element, so listen to and make pseudo class
        changes to the host element.

        * UserInterface/Views/RulesStyleDetailsPanel.css:
        (.sidebar > .panel.details.css-style .rules > *:first-child:matches(.new-rule)):
        Since a pseudo element does not have a style attribute,
        give some margin in the style sidebar above the "New Rule"
        button so it looks better.

2015-07-27  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Record button in Timelines view is clipped on non-retina. Hovering over the dot draws it correctly.
        https://bugs.webkit.org/show_bug.cgi?id=147346

        Reviewed by Joseph Pecoraro.

        Since the hovered button isn't clipped (-webkit-filter is applied in that case), add a filter that
        doesn't alter the button's appearance to the non-hovered selector.

        * UserInterface/Views/TimelineSidebarPanel.css:
        (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph):
        Added brightness 100% filter to non-hovered selector.

2015-07-27  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Clicking a frame in the Rendering Frames timeline should select the corresponding grid row
        https://bugs.webkit.org/show_bug.cgi?id=147013

        Reviewed by Timothy Hatcher.

        Added ability to select (or highlight) a particular frame by clicking in the overview graph. A tick mark
        appears above the selected frame inside the ruler, and the frame element's background color changes to a light
        blue vertical highlight. Frame selection is synced across the timeline view's data grid, overview graph, and
        navigation bar path components.

        A few behaviors:
           - Clicking a frame outside the current ruler selection selects the frame.
           - Clicking the selected frame will deselect it.
           - Resizing the ruler selection to exclude the selected frame will deselect it.

        * UserInterface/Views/DataGrid.js:
        (WebInspector.DataGridNode.prototype.select):
        No need to generate two SelectedNodeChanged events when selecting a node causes
        the currently selected node to be deselected.

        * UserInterface/Views/LayoutTimelineOverviewGraph.js:
        (WebInspector.LayoutTimelineOverviewGraph):
        * UserInterface/Views/NetworkTimelineOverviewGraph.js:
        (WebInspector.NetworkTimelineOverviewGraph):
        * UserInterface/Views/ScriptTimelineOverviewGraph.js:
        (WebInspector.ScriptTimelineOverviewGraph): Set TimelineOverview during construction.
        Set TimelineOverview during construction.

        * UserInterface/Views/RenderingFrameTimelineOverviewGraph.css:
        (.timeline-overview-graph.rendering-frame > .frame-marker):
        (body.window-inactive .timeline-overview-graph.rendering-frame > .frame-marker):
        Added styles for selected frame marker.

        * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:
        (WebInspector.RenderingFrameTimelineOverviewGraph):
        Set TimelineOverview during construction.
        (WebInspector.RenderingFrameTimelineOverviewGraph.prototype._mouseClicked):
        Added frame marker element and frame selection via mouse click.

        * UserInterface/Views/RenderingFrameTimelineView.js:
        (WebInspector.RenderingFrameTimelineView.prototype.treeElementDeselected):
        Deselect grid node when frame is deselected from the overview graph.
        (WebInspector.RenderingFrameTimelineView.prototype.filterDidChange): Deleted.
        Removed unnecessary override.

        * UserInterface/Views/TimelineOverview.js:
        Added selectRecord method and RecordSelected event.
        (WebInspector.TimelineOverview):
        (WebInspector.TimelineOverview.prototype._timelineRulerMouseDown):
        (WebInspector.TimelineOverview.prototype._timelineRulerMouseClicked):
        Since timeline ruler specifies pointer-events: all, click events must be forwarded to the
        underlying overview graph. Click events following changes to the ruler's selection are ignored.

        (WebInspector.TimelineOverview.prototype._timeRangeSelectionChanged):
        (WebInspector.TimelineOverview.prototype._recordSelected):
        Forward RecordSelected events from child graphs to clients of the overview.

        * UserInterface/Views/TimelineOverviewGraph.js:
        Added RecordSelected event.
        (WebInspector.TimelineOverviewGraph):
        (WebInspector.TimelineOverviewGraph.prototype.get visible):
        (WebInspector.TimelineOverviewGraph.prototype.get selectedRecord):
        (WebInspector.TimelineOverviewGraph.prototype.set selectedRecord):
        Added property for selecting a record in the graph. Derived graph types can implement record selection
        and choose how to style the selected record.
        (WebInspector.TimelineOverviewGraph.prototype.updateLayout):
        (WebInspector.TimelineOverviewGraph.prototype.needsLayout):
        Update frame marker during an animation frame.
        (WebInspector.TimelineOverviewGraph.prototype.dispatchSelectedRecordChangedEvent):
        Dispatch wrapper to simplify things.
        (WebInspector.TimelineOverviewGraph.prototype.updateSelectedRecord):
        (WebInspector.TimelineOverviewGraph.prototype._needsSelectedRecordLayout.update):
        (WebInspector.TimelineOverviewGraph.prototype._needsSelectedRecordLayout):
        Inform derived overview graph to optionally style the selected record.
        (WebInspector.TimelineOverviewGraph.prototype.set timelineOverview): Deleted.
        No longer needed. TimelineOverview set during construction.

        * UserInterface/Views/TimelineRecordFrame.css:
        (.timeline-record-frame):
        (.timeline-record-frame.tall):
        Limit the "fade out" effect to frames that are >= 95% of the graph height, otherwise the
        gradient mask is noticeable when selecting a shorter frame.
        (.timeline-record-frame.selected):
        (body.window-inactive .timeline-record-frame.selected):
        (.timeline-record-frame.selected > .frame):
        Added highlight (and dimmed inactive highlight) for selected frame element.

        * UserInterface/Views/TimelineRecordFrame.js:
        (WebInspector.TimelineRecordFrame.prototype.get selected):
        (WebInspector.TimelineRecordFrame.prototype.set selected):
        Added property for setting selected style.

        * UserInterface/Views/TimelineRecordingContentView.js:
        (WebInspector.TimelineRecordingContentView):
        (WebInspector.TimelineRecordingContentView.prototype._contentViewSelectionPathComponentDidChange):
        Select record in overview in response to changing navigation path.
        (WebInspector.TimelineRecordingContentView.prototype._recordSelected.get console):
        (WebInspector.TimelineRecordingContentView.prototype._recordSelected):
        Update selected tree element in response to changing record selection in the overview graph.

2015-07-27  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Revert change to DOMTreeElement.prototype.remove
        https://bugs.webkit.org/show_bug.cgi?id=147336

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/DOMTreeElement.js:
        (WebInspector.DOMTreeElement.prototype.remove.removeNodeCallback):
        This change was accidental, and just resulted in the function calling
        itself again. It didn't infinite loops because another path would have
        removed the DOMTreeElement, but lets correct this code.

2015-07-27  Devin Rousso  <drousso@apple.com>

        Web Inspector: support live editing of rule selectors
        https://bugs.webkit.org/show_bug.cgi?id=139153

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/DOMTreeManager.js:
        (WebInspector.DOMTreeManager.prototype.highlightSelector):
        Moved from CSSStyleDeclarationSection.

        * UserInterface/Views/CSSStyleDeclarationSection.js:
        (WebInspector.CSSStyleDeclarationSection):
        (WebInspector.CSSStyleDeclarationSection.prototype.get _currentSelectorText):
        Returns the current selector text, either from the style ownerRule or the selector element text.
        (WebInspector.CSSStyleDeclarationSection.prototype._highlightNodesWithSelector):
        Now highlights all nodes matching the current selector instead of the ownerRule's selector.
        (WebInspector.CSSStyleDeclarationSection.prototype._hideDOMNodeHighlight):
        (WebInspector.CSSStyleDeclarationSection.prototype._handleMouseOver):
        (WebInspector.CSSStyleDeclarationSection.prototype._handleMouseOut):
        (WebInspector.CSSStyleDeclarationSection.prototype._handleKeyDown):
        If the character is not a tab, highlight all nodes matching the current selector text.
        (WebInspector.CSSStyleDeclarationSection.prototype._handleKeyUp):
        (WebInspector.CSSStyleDeclarationSection.prototype._hideHighlightOnNodesWithSelector): Deleted.

2015-07-27  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: " = $0" in Elements panel can cause a jerk by pushing nodes below it
        https://bugs.webkit.org/show_bug.cgi?id=147318

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/DOMTreeOutline.css:
        (.dom-tree-outline li.selected > span::after):

2015-07-25  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Start using Node.prototype.remove
        https://bugs.webkit.org/show_bug.cgi?id=147304

        Reviewed by Timothy Hatcher.

        * UserInterface/Base/Main.js:
        (WebInspector.elementDragStart):
        (WebInspector.elementDragEnd):
        (WebInspector.revertDomChanges):
        * UserInterface/Views/DOMTreeElement.js:
        (WebInspector.DOMTreeElement.prototype._updateSearchHighlight.updateEntryHide):
        (WebInspector.DOMTreeElement.prototype._updateSearchHighlight):
        (WebInspector.DOMTreeElement.prototype.remove.removeNodeCallback):
        (WebInspector.DOMTreeElement.prototype.remove):
        * UserInterface/Views/Resizer.js:
        (WebInspector.Resizer.prototype._resizerMouseDown):
        (WebInspector.Resizer.prototype._resizerMouseUp):
        (WebInspector.Resizer):

2015-07-25  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Fix color declaration for not-executed comments
        https://bugs.webkit.org/show_bug.cgi?id=147305

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
        (.cm-s-default .basic-block-has-not-executed.cm-comment):
        This was an RGB color mispelled as HSL. Replace "hsl" with "rgb"
        and convert it to HSL.

2015-07-25  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Start using Node.prototype.replaceWith
        https://bugs.webkit.org/show_bug.cgi?id=147303

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/Popover.js:
        (WebInspector.Popover.prototype._update):

2015-07-25  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Start using Node.prototype.append
        https://bugs.webkit.org/show_bug.cgi?id=147301

        Convert all instances of element.appendChild(document.createTextNode(aString))
        to element.append(aString).

        Reviewed by Timothy Hatcher.

        * UserInterface/Base/DOMUtilities.js:
        * UserInterface/Base/Main.js:
        (WebInspector.linkifyLocation):
        (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
        * UserInterface/Models/Breakpoint.js:
        (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement):
        * UserInterface/Views/BoxModelDetailsSectionRow.js:
        (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics):
        * UserInterface/Views/CSSStyleDeclarationSection.js:
        (WebInspector.CSSStyleDeclarationSection.prototype.refresh):
        * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
        (WebInspector.CSSStyleDetailsSidebarPanel):
        * UserInterface/Views/ChartDetailsSectionRow.js:
        (WebInspector.ChartDetailsSectionRow.prototype._createLegendItem):
        * UserInterface/Views/ConsoleMessageView.js:
        (WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
        (WebInspector.ConsoleMessageView.prototype._appendFormattedArguments):
        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
        (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility.accessibilityPropertiesCallback):
        (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility):
        * UserInterface/Views/DOMTreeElement.js:
        (WebInspector.DOMTreeElement.prototype._insertInLastAttributePosition):
        (WebInspector.DOMTreeElement.prototype._buildAttributeDOM):
        (WebInspector.DOMTreeElement.prototype._buildTagDOM):
        (WebInspector.DOMTreeElement.prototype._nodeTitleInfo):
        defaultElement variable is unused, remove it.

        * UserInterface/Views/DataGrid.js:
        (WebInspector.DataGridNode.prototype.createCell.get if):
        (WebInspector.DataGridNode.prototype.createCell):
        * UserInterface/Views/DebuggerDashboardView.js:
        (WebInspector.DebuggerDashboardView.prototype._rebuildLocation):
        * UserInterface/Views/EventListenerSectionGroup.js:
        (WebInspector.EventListenerSectionGroup.prototype._functionTextOrLink):
        (WebInspector.EventListenerSectionGroup):
        * UserInterface/Views/FormattedValue.js:
        (WebInspector.FormattedValue.createLinkifiedElementString):
        (WebInspector.FormattedValue.createElementForNodePreview):
        * UserInterface/Views/ObjectPreviewView.js:
        (WebInspector.ObjectPreviewView.prototype._appendEntryPreviews):
        (WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
        * UserInterface/Views/ResourceDetailsSidebarPanel.js:
        (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestDataSection):
        (WebInspector.ResourceDetailsSidebarPanel):
        * UserInterface/Views/RulesStyleDetailsPanel.js:
        (WebInspector.RulesStyleDetailsPanel.prototype.refresh.addNewRuleButton):
        (WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertMediaOrInheritanceLabel):
        * UserInterface/Views/SearchResultTreeElement.js:
        (WebInspector.SearchResultTreeElement.truncateAndHighlightTitle):
        * UserInterface/Views/SyntaxHighlightingSupport.js:
        (.appendText):
        (WebInspector.syntaxHighlightStringAsDocumentFragment):
        * UserInterface/Views/TimelineDataGridNode.js:
        (WebInspector.TimelineDataGridNode.prototype.createCellContent):

2015-07-24  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Add custom parameter lists for new DOM append/prepend/before/after/replaceWith methods
        https://bugs.webkit.org/show_bug.cgi?id=147257

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/NativeFunctionParameters.js:

2015-07-23  Matt Baker  <mattbaker@apple.com>

        Web Inspector: jittery cursor when adjusting time interval using timeline grabbers
        https://bugs.webkit.org/show_bug.cgi?id=147095

        Reviewed by Brian Burg.

        * UserInterface/Views/TimelineRuler.css:
        (.timeline-ruler.resizing-selection > .selection-drag):
        Override selection-drag element's cursor when "resizing-selection" selector is applied.
        (.timeline-ruler.allows-time-range-selection.creating-selection): Deleted.
        Renamed "creating-selection" selector to "resizing-selection" to reflect its new role.

        * UserInterface/Views/TimelineRuler.js:
        (WebInspector.TimelineRuler.prototype._handleMouseMove):
        (WebInspector.TimelineRuler.prototype._handleMouseUp):
        (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseDown):
        (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseUp):
        Toggle cursor styles.

2015-07-23  Devin Rousso  <drousso@apple.com>

        Web Inspector: Add a function to CSSCompletions to get a list of supported system fonts
        https://bugs.webkit.org/show_bug.cgi?id=147009

        Reviewed by Joseph Pecoraro.

        * UserInterface/Base/Main.js:
        (WebInspector.loaded):
        (WebInspector.activateExtraDomains):
        * UserInterface/Base/Test.js:
        (WebInspector.loaded):
        * UserInterface/Models/CSSCompletions.js:
        (WebInspector.CSSCompletions.requestCSSCompletions.fontFamilyNamesCallback):
        (WebInspector.CSSCompletions.requestCSSCompletions):
        Now also grabs the list of system font family names and adds that list to the existing completion
        list for both font and font-family in CSSKeywordCompletions.
        (WebInspector.CSSCompletions.requestCSSNameCompletions): Deleted.

2015-07-23  Matt Baker  <mattbaker@apple.com>

        Web Inspector: wrong cursor shown when selecting time interval from timeline overview
        https://bugs.webkit.org/show_bug.cgi?id=147094

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/TimelineRuler.css:
        (.timeline-ruler.allows-time-range-selection.creating-selection):
        New cursor style for entire ruler element.

        * UserInterface/Views/TimelineRuler.js:
        (WebInspector.TimelineRuler.prototype._handleMouseMove):
        (WebInspector.TimelineRuler.prototype._handleMouseUp):
        Toggle cursor style when dragging to create a new selection in the overview.

2015-07-22  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Timeline should immediately start moving play head when starting a new recording
        https://bugs.webkit.org/show_bug.cgi?id=147210

        Reviewed by Timothy Hatcher.

        * UserInterface/Protocol/TimelineObserver.js:
        (WebInspector.TimelineObserver.prototype.recordingStarted):
        (WebInspector.TimelineObserver.prototype.recordingStopped):
        Pass on the new timestamps.

        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager.prototype.capturingStarted):
        (WebInspector.TimelineManager.prototype.capturingStopped):
        Pass on the new timestamps in the events.

        * UserInterface/Views/TimelineRecordingContentView.js:
        (WebInspector.TimelineRecordingContentView.prototype._capturingStarted):
        Pass on the new timestamp from the event as it can be used to update the currentTime.

        (WebInspector.TimelineRecordingContentView.prototype._startUpdatingCurrentTime):
        If provided a startTime we can use that as the new currentTime. Otherwise fallback
        to determining a good currentTime from the next incoming record for legacy backends.

        (WebInspector.TimelineRecordingContentView.prototype._recordingTimesUpdated):
        Update the comment, as there is now a solution but this is required for legacy backends.

2015-07-22  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Timeline's Current Time does not jump forward to new start time when starting a new recording, causes timeline to appear delayed and broken
        https://bugs.webkit.org/show_bug.cgi?id=147204

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/TimelineRecordingContentView.js:
        (WebInspector.TimelineRecordingContentView.prototype._recordingTimesUpdated):
        We were skipping a timeline, but it might have a new event record with
        a new start time. This ensures we get an updated current time which makes
        sense, and we jump forward to that time in the main timeline.

2015-07-22  Matt Baker  <mattbaker@apple.com>

        Web Inspector: TimelineRuler shouldn't dispatch selection changed event unless it actually changes
        https://bugs.webkit.org/show_bug.cgi?id=147219

        Reviewed by Timothy Hatcher.

        Moved to a "suppress next" model for suppressing dispatch of TimelineRuler's selection changed event. The
        ruler's _timeRangeSelectionChanged flag is now reset only when an event is finally dispatched.

        * UserInterface/Views/TimelineRuler.js:
        (WebInspector.TimelineRuler):
        (WebInspector.TimelineRuler.prototype._updateSelection):
        (WebInspector.TimelineRuler.prototype._dispatchTimeRangeSelectionChangedEvent):
        Check for this._timeRangeSelectionChanged moved into dispatch function.
        (WebInspector.TimelineRuler.prototype._handleMouseDown):
        (WebInspector.TimelineRuler.prototype._handleMouseMove):
        (WebInspector.TimelineRuler.prototype._handleMouseUp):
        We now suppress the next dispatch only, rather than a toggle.

2015-07-22  Devin Rousso  <drousso@apple.com>

        Web Inspector: REGRESSION (Safari 7): Pseudo element rules are not labelled with media queries in Styles panel
        https://bugs.webkit.org/show_bug.cgi?id=147207

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/RulesStyleDetailsPanel.js:
        (WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertMediaOrInheritanceLabel):
        (WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertAllMatchingPseudoStyles):
        Now inserts pseudo-styles based on whether their selector specificity is greater than
        the previous style's selector specificity.
        (WebInspector.RulesStyleDetailsPanel.prototype.refresh):

2015-07-22  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Change syntax highlighting color for regular expressions to make them more readable
        https://bugs.webkit.org/show_bug.cgi?id=146956

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/FormattedValue.css:
        (.formatted-regexp):
        * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
        (.syntax-highlighted :matches(.css-string, .javascript-string, .html-attribute-value)):
        (.syntax-highlighted .javascript-regexp):
        (.syntax-highlighted :matches(.css-string, .javascript-string, .javascript-regexp, .html-attribute-value)): Deleted.

2015-07-21  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: console.log("%d", 0) or console.log("%d", "str") show nothing, expected Number or NaN
        https://bugs.webkit.org/show_bug.cgi?id=147163

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ConsoleMessageView.js:
        (WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.append):
        When appending the result for a substitution formatter, don't check against a
        falsey value, check against undefined. This will allow falsely values like
        0 and NaN to be output as expected.

2015-07-21  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Total download size doesn't update soon after loading
        https://bugs.webkit.org/show_bug.cgi?id=147161

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/DefaultDashboard.js:
        (WebInspector.DefaultDashboard.prototype._mainResourceDidChange):
        Previously autorecording would always have made us start capturing,
        however we only autorecord if users are on the Timeline tab. Just
        reset the time always, a navigation happened and start the timer.

        (WebInspector.DefaultDashboard.prototype._resourceSizeDidChange):
        Move to a better location within the file.

2015-07-21  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Convert all colors from RGB to HSL color scheme
        https://bugs.webkit.org/show_bug.cgi?id=147143

        HSL color scheme is more human friendly than RGB.

        RGB -> HSL
        RGB hex (e.g. #bada55 and #456) -> HSL
        RGBA -> HSLA
        Named colors (white, black, lightgoldenrodyellow) are unchanged        

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/CodeMirrorGradientEditingController.css:
        (.gradient-editing-controller > label > input):
        * UserInterface/Views/BoxModelDetailsSectionRow.css:
        (.details-section .row.box-model .position):
        (.details-section .row.box-model .margin):
        (.details-section .row.box-model .margin.active):
        (.details-section .row.box-model .border):
        (.details-section .row.box-model .border.active):
        (.details-section .row.box-model .padding):
        (.details-section .row.box-model .padding.active):
        (.details-section .row.box-model .content):
        (.details-section .row.box-model .content.active):
        * UserInterface/Views/Breakpoint.css:
        (.popover .edit-breakpoint-popover-content > table > tr > th):
        * UserInterface/Views/BreakpointActionView.css:
        (.breakpoint-action-remove-button):
        (.breakpoint-action-append-button):
        (.breakpoint-action-block-body):
        (.breakpoint-action-eval-editor):
        * UserInterface/Views/BreakpointTreeElement.css:
        (.breakpoint-generic-line-icon .icon > span):
        (.data-updated.breakpoint-generic-line-icon .icon > span):
        * UserInterface/Views/ButtonNavigationItem.css:
        (.navigation-bar .item.button.text-only):
        (.navigation-bar .item.button.suppress-emboss > .glyph):
        * UserInterface/Views/ButtonToolbarItem.css:
        (.toolbar .item.button > .label):
        (.toolbar.label-only .item.activate.button.activated > .label):
        * UserInterface/Views/CSSStyleDeclarationSection.css:
        (.style-declaration-section > .header > .selector):
        (.style-declaration-section > .header > .origin):
        * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
        (.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property:matches(.disabled, .invalid, .other-vendor, .not-inherited, .overridden)):
        (.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property.invalid):
        (.css-style-text-editor > .CodeMirror .CodeMirror-lines .editing-line .css-style-declaration-property:matches(.disabled, .other-vendor, .not-inherited, .overridden)):
        (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch):
        (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch > span):
        (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch:hover > span):
        (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch:active > span):
        (.css-style-text-editor > .CodeMirror .cm-link):
        * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
        (.sidebar > .panel.details.css-style > .content > .pseudo-classes):
        (.sidebar > .panel.details.css-style > .content > .pseudo-classes > .group > label):
        (.sidebar > .panel.details.css-style > .content.has-filter-bar + .filter-bar):
        (.sidebar > .panel.details.css-style > .content.filter-in-progress .filter-matching):
        (.sidebar > .panel.details.css-style > .content.filter-in-progress .style-declaration-section:not(.filter-section-has-label)):
        * UserInterface/Views/ChartDetailsSectionRow.css:
        (.details-section > .content > .group > .row.chart > .title):
        (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .label > .color-swatch):
        (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .label):
        * UserInterface/Views/CodeMirrorOverrides.css:
        (.CodeMirror .CodeMirror-selected):
        (.CodeMirror .CodeMirror-lines .CodeMirror-matchingbracket):
        (.CodeMirror .CodeMirror-lines .CodeMirror-nonmatchingbracket):
        (.CodeMirror .CodeMirror-gutters):
        (.CodeMirror .CodeMirror-linenumber):
        * UserInterface/Views/CompletionSuggestionsView.css:
        (.completion-suggestions):
        (.completion-suggestions-container > .item:active):
        * UserInterface/Views/ConsoleMessageView.css:
        (.console-user-command.special-user-log > .console-message-text):
        (.console-message .repeat-count):
        (.console-message-preview-divider):
        (.console-message-enclosed):
        (.console-user-command > .console-message-text):
        (.console-saved-variable):
        * UserInterface/Views/DOMStorageContentView.css:
        (.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/Views/DOMTreeOutline.css:
        (.dom-tree-outline li.hovered:not(.selected) .selection):
        (.dom-tree-outline li.selected .selection):
        (.dom-tree-outline li.elements-drag-over .selection):
        (.dom-tree-outline:focus li.selected .selection):
        (.showing-find-banner .dom-tree-outline .search-highlight):
        * UserInterface/Views/DataGrid.css:
        (.data-grid .highlight):
        (.data-grid.inline):
        (.data-grid th):
        (body.window-inactive .data-grid th):
        (.data-grid :matches(th, td):not(:last-child)):
        (body.window-inactive .data-grid :matches(th, td):not(:last-child)):
        (.data-grid th.sortable:active):
        (.data-grid th:matches(.sort-ascending, .sort-descending)):
        (.data-grid table.data):
        (.data-grid:matches(:focus, .force-focus) tr.selected td:not(:last-child)):
        (.data-grid tr.selected):
        (.data-grid:matches(:focus, .force-focus) tr.selected):
        (.data-grid td .subtitle):
        (.data-grid:matches(:focus, .force-focus) tr.selected td .subtitle):
        (.data-grid td.error):
        * UserInterface/Views/DatabaseContentView.css:
        (.storage-view .storage-table-error):
        (.database-user-query):
        (.database-query-text):
        * UserInterface/Views/DebuggerDashboardView.css:
        (.toolbar .dashboard.debugger):
        (.dashboard.debugger .navigation-bar .item.button > .glyph):
        (.dashboard.debugger > .divider):
        (.dashboard.debugger > .location .function-name):
        (.dashboard.debugger > .location .go-to-link):
        * UserInterface/Views/DebuggerSidebarPanel.css:
        (.sidebar > .panel.navigation.debugger.paused .details-section.scripts):
        * UserInterface/Views/DefaultDashboardView.css:
        (.toolbar .dashboard.default > .item.enabled:hover):
        (.toolbar .dashboard.default > .item.enabled:active):
        (.toolbar .dashboard.default > .item > div):
        (.toolbar .dashboard.default > .item.enabled > div):
        (.toolbar .dashboard.default > .item.enabled:hover > div):
        (.toolbar .dashboard.default > .errors.enabled > div):
        (.toolbar .dashboard.default > .errors.enabled:hover > div):
        (.toolbar .dashboard.default > .issues.enabled > div):
        (.toolbar .dashboard.default > .issues.enabled:hover > div):
        * UserInterface/Views/DetailsSection.css:
        (.details-section):
        (.details-section .details-section):
        (.details-section .details-section:first-child):
        (.details-section > .header):
        (.details-section .details-section > .header):
        (.details-section .details-section:not(.collapsed) > .header):
        (.details-section.computed-style-properties:not(.collapsed) > .header):
        (.details-section > .header > label):
        (.details-section > .content > .group):
        (.details-section > .content > .group:nth-child(even) > .row:matches(.simple:first-child > *, :not(.simple):first-child)):
        (.details-section > .content > .group > .row.simple > .label):
        (.details-section > .content .data-grid tr:nth-child(odd)):
        * UserInterface/Views/DividerNavigationItem.css:
        (.navigation-bar .item.divider):
        * UserInterface/Views/Editing.css:
        (.editing):
        * UserInterface/Views/FilterBar.css:
        (.filter-bar):
        (.filter-bar > input[type="search"]):
        (.filter-bar > input[type="search"]::-webkit-input-placeholder):
        * UserInterface/Views/FindBanner.css:
        (.find-banner):
        (body.window-inactive .find-banner):
        (.find-banner > input[type="search"]):
        (.find-banner > button):
        (.find-banner > button:active:not(:disabled)):
        (.find-banner > button:disabled):
        * UserInterface/Views/FormattedValue.css:
        (:matches(.formatted-array, .formatted-map, .formatted-set, .formatted-weakmap, .formatted-weakset) > .size):
        (.formatted-number):
        (.formatted-boolean):
        (.formatted-string):
        (.formatted-regexp):
        (.formatted-symbol):
        (.formatted-null, .formatted-undefined):
        * UserInterface/Views/GoToLineDialog.css:
        (.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):
        * UserInterface/Views/GradientSlider.css:
        (.gradient-slider):
        (.gradient-slider-knob > div):
        * UserInterface/Views/HierarchicalPathComponent.css:
        (.hierarchical-path-component > .title):
        * UserInterface/Views/HoverMenu.css:
        (.hover-menu > svg > :matches(path, rect)):
        * UserInterface/Views/ImageResourceContentView.css:
        (.content-view.resource.image):
        * UserInterface/Views/IndexedDatabaseObjectStoreContentView.css:
        (.content-view.indexed-database-object-store > .data-grid table.data tr:nth-child(odd)):
        * UserInterface/Views/LayerTreeDetailsSidebarPanel.css:
        (.panel.details.layer-tree .name-column :matches(.pseudo-element, .reflection)):
        (.panel.details.layer-tree tr.selected .name-column :matches(.pseudo-element, .reflection)):
        (.panel.details.layer-tree .bottom-bar):
        * UserInterface/Views/LogContentView.css:
        (.console-item):
        (.console-session + .console-session):
        (.console-messages a):
        (.console-messages a:hover):
        (.search-bar.log-search-bar > input[type="search"]):
        (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted):
        (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted.selected):
        * UserInterface/Views/Main.css:
        (body.docked.bottom):
        (body.docked.right):
        (body.window-inactive.docked.bottom):
        (body.window-inactive.docked.right):
        (#split-content-browser):
        (body.window-inactive #split-content-browser):
        (#split-content-browser > .navigation-bar):
        (#split-content-browser .hierarchical-path-component.log-icon .title):
        (.message-text-view):
        (.message-text-view.error):
        (.go-to-link):
        (.value-with-clarification .clarification):
        (.bouncy-highlight):
        * UserInterface/Views/NavigationBar.css:
        (.navigation-bar):
        (body.window-inactive .navigation-bar):
        * UserInterface/Views/NavigationSidebarPanel.css:
        (.sidebar > .panel.navigation > .overflow-shadow):
        (body.window-inactive .sidebar > .panel.navigation > .overflow-shadow):
        (.sidebar > .panel.navigation > .empty-content-placeholder > .message):
        (.navigation-sidebar-panel-content-tree-outline .item.selected):
        (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected):
        (body.window-inactive .navigation-sidebar-panel-content-tree-outline .item.selected):
        (.navigation-sidebar-panel-content-tree-outline .item .highlighted):
        (.navigation-sidebar-panel-content-tree-outline .item .subtitle):
        (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .subtitle):
        * UserInterface/Views/NetworkGridContentView.css:
        (.content-view.network-grid > .data-grid table.data):
        * UserInterface/Views/NetworkSidebarPanel.css:
        (.sidebar > .panel.navigation.network > .title-bar):
        (body.window-inactive .sidebar > .panel.navigation.network > .title-bar):
        (.sidebar > .panel.navigation.network.network-grid-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline):
        * UserInterface/Views/NetworkTimelineOverviewGraph.css:
        (.timeline-overview-graph.network:nth-child(even) > .graph-row > .timeline-record-bar > .segment:not(.inactive)):
        * UserInterface/Views/NewTabContentView.css:
        (.new-tab.tab.content-view):
        (.new-tab.tab.content-view > .tab-item > .box):
        * UserInterface/Views/ObjectPreviewView.css:
        (.object-preview .name):
        (.object-preview > .size):
        * UserInterface/Views/ObjectTreeView.css:
        (.object-tree-outline li .empty-message):
        * UserInterface/Views/OverviewTimelineView.css:
        (.timeline-view.overview > .timeline-ruler > .header):
        (body.window-inactive .timeline-view.overview > .timeline-ruler > .header):
        (.timeline-view.overview > .data-grid tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar:not(.has-inactive-segment) > .segment):
        (.timeline-view.overview > .data-grid:focus tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar:not(.has-inactive-segment) > .segment):
        (.timeline-view.overview > .data-grid tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
        (.timeline-view.overview > .data-grid:focus tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
        * UserInterface/Views/ProbeSetDataGrid.css:
        (.details-section.probe-set .data-grid tr.past-value td):
        (.details-section.probe-set .data-grid > td.unknown-value):
        (@-webkit-keyframes blink-frame-highlight):
        (100%):
        (.details-section.probe-set .data-grid tr.separator):
        (@-webkit-keyframes blink-probe-frame):
        * UserInterface/Views/QuickConsole.css:
        (.quick-console):
        (body.window-inactive .quick-console):
        (.quick-console.showing-log):
        * UserInterface/Views/RadioButtonNavigationItem.css:
        (.navigation-bar .item.radio.button.text-only:hover):
        (.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):
        * UserInterface/Views/RenderingFrameTimelineOverviewGraph.css:
        (.timeline-overview-graph.rendering-frame > .divider):
        (.timeline-overview-graph.rendering-frame > .divider > .label):
        * UserInterface/Views/ReplayDashboardView.css:
        (.toolbar .dashboard.replay):
        * UserInterface/Views/ResourceTreeElement.css:
        (.item.resource.failed):
        (.item.resource.failed .subtitle):
        * UserInterface/Views/RulesStyleDetailsPanel.css:
        (.sidebar > .panel.details.css-style .rules .label):
        (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules.filter-non-matching > .no-filter-results > .no-filter-results-message):
        * UserInterface/Views/ScopeBar.css:
        (.scope-bar > li):
        (.scope-bar > li:hover):
        (.scope-bar > li.selected):
        (.scope-bar > li:active):
        (.scope-bar > li.selected:active):
        * UserInterface/Views/SearchBar.css:
        (.search-bar > input[type="search"]):
        (.search-bar > input[type="search"]::-webkit-input-placeholder):
        * UserInterface/Views/SearchSidebarPanel.css:
        (.sidebar > .panel.navigation.search > .search-bar):
        * UserInterface/Views/Sidebar.css:
        (.sidebar):
        (.sidebar.left):
        (.sidebar.right):
        (body.window-inactive .sidebar.left):
        (body.window-inactive .sidebar.right):
        * UserInterface/Views/SourceCodeTextEditor.css:
        (.source-code.text-editor > .CodeMirror .warning):
        (.source-code.text-editor > .CodeMirror .error):
        (.source-code.text-editor > .CodeMirror .issue-widget.warning):
        (.source-code.text-editor > .CodeMirror .issue-widget.inline.warning):
        (.source-code.text-editor > .CodeMirror .issue-widget.inline.warning > .arrow):
        (.source-code.text-editor > .CodeMirror .issue-widget.error):
        (.source-code.text-editor > .CodeMirror .issue-widget.inline.error):
        (.source-code.text-editor > .CodeMirror .issue-widget.inline.error > .arrow):
        (.popover .debugger-popover-content > .body):
        * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
        (.syntax-highlighted :matches(.css-comment, .javascript-comment, .html-comment)):
        (.syntax-highlighted :matches(.css-keyword, .css-tag, .css-at-rule, .css-important, .javascript-keyword, .html-tag)):
        (.syntax-highlighted :matches(.css-number, .javascript-number)):
        (.syntax-highlighted :matches(.css-string, .javascript-string, .javascript-regexp, .html-attribute-value)):
        (.syntax-highlighted :matches(.html-doctype, .html-processing-instruction)):
        (.syntax-highlighted .html-attribute-name):
        (.syntax-highlighted a):
        (.supports-find-banner.showing-find-banner .syntax-highlighted .search-result):
        (.cm-s-default .basic-block-has-not-executed):
        (.cm-s-default .basic-block-has-not-executed.cm-m-css:matches(.cm-atom, .cm-meta, .cm-variable-3, .cm-property)):
        (.cm-s-default .basic-block-has-not-executed:matches(.cm-number, .cm-atom.cm-hex-color)):
        (.cm-s-default .basic-block-has-not-executed.cm-string):
        (.cm-s-default .basic-block-has-not-executed.cm-m-xml.cm-meta):
        * UserInterface/Views/TabBar.css:
        (.tab-bar):
        (body.window-inactive .tab-bar):
        (.tab-bar > .top-border):
        (body.window-inactive .tab-bar > .top-border):
        (.tab-bar > .item):
        (.tab-bar.dragging-tab > .item.selected):
        (.tab-bar > .item:not(.disabled).selected):
        (.tab-bar > .item.new-tab-button:not(.disabled):hover):
        (.tab-bar:not(.animating) > .item:not(.selected, .disabled):hover + .item):
        (body.window-inactive .tab-bar > .item):
        (body.window-inactive .tab-bar > .item.selected):
        (.tab-bar > .item > .close:hover):
        (.tab-bar > .item > .title):
        (.tab-bar:not(.animating) > .item:not(.selected):hover > .title):
        (.tab-bar > .item.selected > .title):
        (.tab-bar.animating.closing-tab > .item.selected):
        (body.window-inactive .tab-bar.animating.closing-tab > .item.selected):
        * UserInterface/Views/TextEditor.css:
        (.text-editor > .CodeMirror .execution-line):
        (.text-editor > .CodeMirror .hovered-expression-highlight):
        (to):
        * UserInterface/Views/TimelineDataGrid.css:
        (.data-grid.timeline th):
        (body.window-inactive .data-grid.timeline th):
        (.timeline-data-grid-tree-outline .item:hover):
        (.timeline-data-grid-tree-outline .item .subtitle):
        * UserInterface/Views/TimelineOverview.css:
        (.timeline-overview > .graphs-container > .timeline-overview-graph:nth-child(even)):
        (.timeline-overview > .graphs-container > .timeline-overview-graph:not(:first-child)):
        * UserInterface/Views/TimelineRecordBar.css:
        (.timeline-record-bar > .segment):
        (:matches(:focus, .force-focus) .selected .timeline-record-bar > .segment.inactive):
        (:matches(:focus, .force-focus) .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
        (.timeline-record-bar.timeline-record-type-network > .segment):
        (.timeline-record-bar.timeline-record-type-network > .segment.inactive):
        (.timeline-record-bar.timeline-record-type-layout > .segment):
        (.timeline-record-bar.timeline-record-type-layout.layout-timeline-record-composite > .segment):
        (.timeline-record-bar.timeline-record-type-script > .segment):
        * UserInterface/Views/TimelineRecordFrame.css:
        (.timeline-record-frame):
        (.timeline-record-frame > .frame > .duration):
        (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-script):
        (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-layout):
        (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-paint):
        * UserInterface/Views/TimelineRecordingContentView.css:
        (.content-view.timeline-recording > .content-view-container > .timeline-view > .data-grid table.data):
        * UserInterface/Views/TimelineRuler.css:
        (.timeline-ruler > .header):
        (body.window-inactive .timeline-ruler > .header):
        (.timeline-ruler > .header > .divider):
        (body.window-inactive .timeline-ruler > .header > .divider):
        (.timeline-ruler > .header > .divider > .label):
        (.timeline-ruler > .markers > .divider):
        (.timeline-ruler > .markers > .marker):
        (.timeline-ruler > .markers > .marker.load-event):
        (.timeline-ruler > .markers > .marker.dom-content-event):
        (.timeline-ruler > .markers > .marker.timestamp):
        (.timeline-ruler > .selection-handle):
        (.timeline-ruler > .shaded-area):
        * UserInterface/Views/TimelineSidebarPanel.css:
        (.sidebar > .panel.navigation.timeline > .status-bar):
        (body.window-inactive .sidebar > .panel.navigation.timeline > .status-bar):
        (.sidebar > .panel.navigation.timeline > .status-bar > .record-status):
        (.sidebar > .panel.navigation.timeline > .title-bar):
        (body.window-inactive .sidebar > .panel.navigation.timeline > .title-bar):
        (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
        (body.window-inactive .sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
        (.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):
        (body.window-inactive .sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item):
        (.sidebar > .panel.navigation.timeline > .timelines-content :focus li.item.selected + li.item):
        * UserInterface/Views/TimelineView.css:
        (.panel.navigation.timeline.timeline-recording-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline):
        * UserInterface/Views/Toolbar.css:
        (.toolbar):
        (body.window-inactive .toolbar):
        * UserInterface/Views/TreeElementStatusButton.css:
        (.item > .status > .status-button > svg .filled):
        (.item > .status > .status-button > svg .stroked):
        * UserInterface/Views/TypeTokenView.css:
        (.type-token-function, .type-token-boolean):
        (.type-token-number):
        (.type-token-string):
        (.type-token-symbol):
        (.type-token-default):
        (.type-token-empty):
        (.type-token-many):
        * UserInterface/Views/TypeTreeView.css:
        (.type-tree-outline li .empty-message):

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

        Web Inspector: console.assert(false, "Message") message is not visible in console
        https://bugs.webkit.org/show_bug.cgi?id=147130

        Reviewed by Timothy Hatcher.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Views/ConsoleMessageView.js:
        (WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
        We were forgetting to assign the result of args.concat back into args.
        In re-addressing this, improve the formatting of output if there is
        a string message or not as the second argument to console.assert(), as
        that is the common usage.

2015-07-18  Saam barati  <saambarati1@gmail.com>

        [ES6] Add support for block scope const
        https://bugs.webkit.org/show_bug.cgi?id=31813

        Reviewed by Filip Pizlo.

        "const" variables do not live on the global object and are only
        accessible within the "Program" they're defined in. Therefore,
        the WebInspector global must be defined as "var" and not "const".

        * UserInterface/Base/WebInspector.js:

2015-07-16  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: REGRESSION (r186218) ScriptTimelineRecord attempts to access null property
        https://bugs.webkit.org/show_bug.cgi?id=147025

        Reviewed by Timothy Hatcher.

        The issue here was two ScriptTimelineRecord's were created for the same
        profile payload. When the first ScriptTimelineRecord processed the
        payload to create a Profile we modified the payload, then when the
        second ScriptTimelineRecord tries to process the payload the data is
        in an unexpected state and it crashes.

        The solution here is to stash the result on the payload, so when the
        payload is shared we can just immediately jump to the resulting Profile.
        The longer term solution will be to share higher level objects and not
        attempt to process the payload multiple times. That is tracked by:
        <https://webkit.org/b/147029> Web Inspector: Better share objects generated from timeline events (Records)

        * UserInterface/Models/ScriptTimelineRecord.js:
        (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload):
        When processing the profile payload, store the Profile on the payload
        so if another ScriptTimelineRecord has that payload they can avoid
        re-processing it.

2015-07-16  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Total Size of Resources number in dashboard is wrong (does not update during load)
        https://bugs.webkit.org/show_bug.cgi?id=147027

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/DefaultDashboard.js:
        (WebInspector.DefaultDashboard.prototype._resourceSizeDidChange):
        Restore implementation of callback from r183328 to update total resource
        size as resources are downloaded.

2015-07-16  Andres Gomez  <agomez@igalia.com>

        [GTK] Web Inspector: Further optimize the weight and time icons taken back to the toolbar dashboard for the GTK+ port
        https://bugs.webkit.org/show_bug.cgi?id=147010

        SVG images optimized with a combination of sed replacements, the
        usage of the scour tool (http://www.codedread.com/scour/) and a
        forked version of the svgo tool (https://github.com/tanty/svgo).

        Also, added the class attribute to the shape elements following
        the convention used in Apple's images.

        Reviewed by Martin Robinson.

        * UserInterface/Images/gtk/Time.svg: Optimized.
        * UserInterface/Images/gtk/Weight.svg: Optimized.

2015-07-16  Andres Gomez  <agomez@igalia.com>

        [GTK] Web Inspector: Add new Network icon for the GTK+ port
        https://bugs.webkit.org/show_bug.cgi?id=147002

        Reviewed by Martin Robinson.

        * UserInterface/Images/gtk/Network.svg: Added.
        Icon for the new Network tab.

2015-07-16  Andres Gomez  <agomez@igalia.com>

        [GTK] Web Inspector: Add new composite record icon for the GTK+ port
        https://bugs.webkit.org/show_bug.cgi?id=146998

        Reviewed by Martin Robinson.

        * UserInterface/Images/gtk/TimelineRecordComposite.svg: Added.
        New composite record icon.

2015-07-15  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Resizing TimelineRuler selection on both sides doesn't work with snapping enabled
        https://bugs.webkit.org/show_bug.cgi?id=146970

        Reviewed by Brian Burg.

        * UserInterface/Views/TimelineRuler.js:
        (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseMove):
        Use snapped current time value when setting selection bounds.

2015-07-14  Nikita Vasilyev  <nvasilyev@apple.com>

        REGRESSION (r186698): Web Inspector: Frame selector is monospace again
        https://bugs.webkit.org/show_bug.cgi?id=146954

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/HierarchicalPathComponent.css:
        (.hierarchical-path-component):

2015-07-14  Matt Baker  <mattbaker@apple.com>

        Web Inspector: TimelineRuler minimum selection time range should be configurable
        https://bugs.webkit.org/show_bug.cgi?id=146944

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/RenderingFrameTimelineOverview.js:
        Set minimum selection to 1 frame.

        * UserInterface/Views/TimelineOverview.js:
        (WebInspector.TimelineOverview.prototype.set selectionDuration):
        Use ruler's minimum duration.

        * UserInterface/Views/TimelineRuler.js:
        (WebInspector.TimelineRuler):
        (WebInspector.TimelineRuler.prototype.get minimumSelectionDuration):
        (WebInspector.TimelineRuler.prototype.set minimumSelectionDuration):
        (WebInspector.TimelineRuler.prototype._handleMouseUp):
        (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseMove):
        Added property for setting minimum selection duration. Default minimum duration is 0.01, which is
        equal to the old hard-coded minimum selection time range.

2015-07-13  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Uncaught exception in inspector for some ConsoleMessages
        https://bugs.webkit.org/show_bug.cgi?id=146919

        Reviewed by Brian Burg.

        * UserInterface/Views/ConsoleMessageView.js:
        (WebInspector.ConsoleMessageView.prototype._appendLocationLink):
        The parameters list may not exist, so null check it before use.

2015-07-13  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Use -apple-system-monospaced-numbers for line numbers
        https://bugs.webkit.org/show_bug.cgi?id=146898

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CodeMirrorOverrides.css:
        (.CodeMirror .CodeMirror-linenumber): Decrease font-size by 1px to make 4 digit numbers fit.

2015-07-12  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Add -apple-system-monospaced-numbers to font and font-family autocomplete
        https://bugs.webkit.org/show_bug.cgi?id=146865

        Reviewed by Daniel Bates.

        * UserInterface/Models/CSSKeywordCompletions.js:

2015-07-11  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Inspector should be able to be docked to the bottom of a narrow window
        https://bugs.webkit.org/show_bug.cgi?id=146871

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/Toolbar.css:
        (@media (max-width: 539px)): Hide download button to fit search field into the screen.

2015-07-11  Devin Rousso  <drousso@apple.com>

        Web Inspector: Improve runtime of pseudo-element sidebar style ordering
        https://bugs.webkit.org/show_bug.cgi?id=146866

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/CSSRule.js:
        (WebInspector.CSSRule.prototype.update): Determines the most specific selector and saves it to a variable.
        (WebInspector.CSSRule.prototype.get mostSpecificSelector): Returns the most specific selector.
        (WebInspector.CSSRule.prototype.selectorIsGreater): Compares the most specific selector to a given selector.
        (WebInspector.CSSRule.prototype._determineMostSpecificSelector):
        Searches through the selector list to find and return the selector that is the most specific.
        (WebInspector.CSSRule):
        * UserInterface/Views/RulesStyleDetailsPanel.js:
        (WebInspector.RulesStyleDetailsPanel.prototype.refresh):

2015-07-11  Devin Rousso  <drousso@apple.com>

        Web Inspector: Warning icon tooltip for numbers with no units could be improved
        https://bugs.webkit.org/show_bug.cgi?id=146859

        Reviewed by Timothy Hatcher.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded):
        If the property's value is incorrect and is comprised of only numbers, that must mean that the value needs
        to have units (like "px") after the number.  Added another warning icon case to support this scenario.

2015-07-10  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Use -apple-system instead of -webkit-system-font
        https://bugs.webkit.org/show_bug.cgi?id=146860

        Remove explicit uses of font-family where inhertance from the body is enough.
        Change -webkit-system-font to -apple-system and use -apple-system-monospaced-numbers
        for DataGrid and the toolbar dashboard.

        Reviewed by Sam Weinig.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
        (.css-style-text-editor > .CodeMirror .CodeMirror-placeholder):
        * UserInterface/Views/DataGrid.css:
        (.data-grid td):
        * UserInterface/Views/DefaultDashboardView.css:
        (.toolbar .dashboard.default > .item):
        (.toolbar .dashboard.default > :matches(.time, .resourcesSize)):
        (.toolbar .dashboard.default > .resourcesSize):
        * UserInterface/Views/HierarchicalPathComponent.css:
        (.hierarchical-path-component):
        * UserInterface/Views/LogContentView.css:
        (.console-messages):
        * UserInterface/Views/Main.css:
        (body):
        * UserInterface/Views/ObjectTreeArrayIndexTreeElement.css:
        (.object-tree-array-index .index-name):
        * UserInterface/Views/ObjectTreePropertyTreeElement.css:
        (.object-tree-property .prototype-name):
        * UserInterface/Views/ObjectTreeView.css:
        (.object-tree-outline li .empty-message):
        * UserInterface/Views/RenderingFrameTimelineOverviewGraph.css:
        (.timeline-overview-graph.rendering-frame > .divider > .label):
        * UserInterface/Views/SourceCodeTextEditor.css:
        (.source-code.text-editor > .CodeMirror .issue-widget > .text):
        * UserInterface/Views/TypeTreeView.css:
        (.type-tree):

2015-07-10  Devin Rousso  <drousso@apple.com>

        Web Inspector: Add source links to functions logged in the console
        https://bugs.webkit.org/show_bug.cgi?id=146377

        Reviewed by Timothy Hatcher.

        * UserInterface/Protocol/RemoteObject.js:
        (WebInspector.RemoteObject.prototype.findFunctionSourceCodeLocation):
        Returns a promise that contains the sourceCodeLocation if the object represents a function and has an objectId.
        (WebInspector.RemoteObject.prototype._isFunction):
        * UserInterface/Views/ConsoleMessageView.css:
        (.console-message .console-message-location):
        Added specified values for font sizing and family to ensure that all location links have the same styling.
        * UserInterface/Views/ConsoleMessageView.js:
        (WebInspector.ConsoleMessageView):
        Now creates a link to the source code of the entered text if the message is of the type "result".
        (WebInspector.ConsoleMessageView.prototype._appendLocationLink):
        (WebInspector.ConsoleMessageView.prototype._createRemoteObjectIfNeeded):
        (WebInspector.ConsoleMessageView.prototype._appendFormattedArguments):
        (WebInspector.ConsoleMessageView.prototype._linkifyLocation):
        (WebInspector.ConsoleMessageView.prototype._linkifyCallFrameLocation):
        (WebInspector.ConsoleMessageView.prototype._linkifyCallFrame):

2015-07-10  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Storage tab should have a scope bar in the sidebar
        https://bugs.webkit.org/show_bug.cgi?id=146799

        Fix a couple typos found post review.

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

2015-07-09  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Storage tab should have a scope bar in the sidebar
        https://bugs.webkit.org/show_bug.cgi?id=146799

        Reviewed by Mark Lam.

        * Localizations/en.lproj/localizedStrings.js: Updated.
        * UserInterface/Main.html: Added StorageSidebarPanel.css.
        * UserInterface/Views/StorageSidebarPanel.css: Added.
        * UserInterface/Views/StorageSidebarPanel.js:
        (WebInspector.StorageSidebarPanel):
        (WebInspector.StorageSidebarPanel.prototype.hasCustomFilters):
        (WebInspector.StorageSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
        (WebInspector.StorageSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
        (WebInspector.StorageSidebarPanel.prototype._scopeBarSelectionDidChange):

2015-07-09  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Make the TabBar work better with AX
        https://bugs.webkit.org/show_bug.cgi?id=146806

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/TabBar.js:
        (WebInspector.TabBar): Set role to tablist and drop tabIndex.
        * UserInterface/Views/TabBarItem.js:
        (WebInspector.TabBarItem): Set role to tab and tabIndex.
        (WebInspector.TabBarItem.prototype.set selected): Toggle aria-selected.

2015-07-09  Devin Rousso  <drousso@apple.com>

        Web Inspector: Don't clear the console when navigating to a different page
        https://bugs.webkit.org/show_bug.cgi?id=142751

        Reviewed by Timothy Hatcher.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Controllers/LogManager.js:
        (WebInspector.LogManager): No longer distinguishes from page refreshes and page navigations for console clearing.
        (WebInspector.LogManager.prototype._delayedMessagesCleared):
        (WebInspector.LogManager.prototype._mainResourceDidChange):
        * UserInterface/Views/LogContentView.js:
        (WebInspector.LogContentView.prototype._sessionStarted):
        (WebInspector.LogContentView.prototype._handleContextMenuEvent): Changed context menu keep/clear log text.
        (WebInspector.LogContentView.prototype._toggleClearLogOnNavigateSetting):
        (WebInspector.LogContentView.prototype._toggleClearLogOnReloadSetting): Deleted.

2015-07-09  Devin Rousso  <drousso@apple.com>

        Web Inspector: Pseudo-element style ordering is wrong for pseudo-styles on unique selectors
        https://bugs.webkit.org/show_bug.cgi?id=146804

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/CSSRule.js:
        (WebInspector.CSSRule.prototype.selectorIsGreater):
        Loops through the selectors in a rule to check if their specificity is greater than a given selector's specificity.
        * UserInterface/Models/CSSSelector.js:
        (WebInspector.CSSSelector.prototype.isGreaterThan):
        Determines if the given selector's specificity is greater than this selector's specificity.
        (WebInspector.CSSSelector):
        * UserInterface/Views/RulesStyleDetailsPanel.js:
        (WebInspector.RulesStyleDetailsPanel.prototype.refresh):
        If the pseudo-element selector's specificity is greater than the current selector's
        specificity, create the pseudo-element's section and add it before the current style.

2015-07-09  Devin Rousso  <drousso@apple.com>

        Web Inspector: Special Logs to Console that do not have an expression should be styled differently, looks like code
        https://bugs.webkit.org/show_bug.cgi?id=143840

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/JavaScriptLogViewController.js:
        (WebInspector.WebInspector.JavaScriptLogViewController.appendImmediateExecutionWithResult):
        Now applies a class to special logs initiated by the user (log element, log object, etc).
        * UserInterface/Views/ConsoleCommandView.js:
        (WebInspector.ConsoleCommandView): Added className parameter.
        * UserInterface/Views/ConsoleMessageView.css:
        (.console-user-command.selected-element-log):
        (.console-user-command.special-user-log > .console-message-text):
        * UserInterface/Views/DOMTreeOutline.js:
        (WebInspector.DOMTreeOutline.prototype._populateContextMenu.logElement):
        (WebInspector.DOMTreeOutline.prototype._populateContextMenu):
        * UserInterface/Views/ObjectPreviewView.js:
        (WebInspector.ObjectPreviewView.prototype._contextMenuHandler):
        * UserInterface/Views/ObjectTreeBaseTreeElement.js:
        (WebInspector.ObjectTreeBaseTreeElement.prototype._logSymbolProperty):
        (WebInspector.ObjectTreeBaseTreeElement.prototype._logValue):

2015-07-09  Devin Rousso  <drousso@apple.com>

        Web Inspector: Checkbox disappears when unchecking CSS background style
        https://bugs.webkit.org/show_bug.cgi?id=146776

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers.update):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers): Now uses _createCommentedCheckboxMarker.
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createCommentedCheckboxMarker):
        Scans the content of the given lineHandle for any commented text and adds an unselected checkbox to
        the beginning of that lineHandle's line.
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent): Now adds commented checkbox markers.

2015-07-09  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Align slider knobs in the color picker
        https://bugs.webkit.org/show_bug.cgi?id=146778

        Also:
        - Use half pixel borders on retina
        - Remove one pixel white outline to match native OS X color picker more closely

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ColorPicker.css:
        (.color-picker > .slider > img):
        * UserInterface/Views/Slider.css:
        (.slider):
        (@media (-webkit-min-device-pixel-ratio: 2)):

2015-07-09  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Rendering Frame segment colors should match those used in original Timelines graph
        https://bugs.webkit.org/show_bug.cgi?id=146777

        Reviewed by Brian Burg.

        * UserInterface/Views/TimelineRecordFrame.css:
        (.timeline-record-frame > .frame > .duration):
        (.timeline-record-frame > .frame > .duration:last-child):
        (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-script):
        (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-layout):
        (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-paint):
        Use same RGB values as TimelineRecordBar.

2015-07-09  Matt Baker  <mattbaker@apple.com>

        Web Inspector: New JavaScript/Probe breakpoint action disappears when clicking continue checkbox
        https://bugs.webkit.org/show_bug.cgi?id=146688

        Reviewed by Brian Burg.

        Delay removal of empty Evaluate and Probe actions until after the breakpoint popover has been dismissed. This
        will make the breakpoint editing experience less jarring, by preventing actions from disappearing when clicking
        other controls in the popover.

        * UserInterface/Models/Breakpoint.js:
        (WebInspector.Breakpoint.prototype.didDismissPopover):
        Clear empty Evaluate and Probe actions on popover dismissal.

        * UserInterface/Views/BreakpointActionView.js:
        (WebInspector.BreakpointActionView.prototype._codeMirrorBlurred):
        Don't remove actions with empty data on CodeMirror blur.

2015-07-09  Matt Baker  <mattbaker@apple.com>

        Web Inspector: new breakpoint action dialog should reuse same action type
        https://bugs.webkit.org/show_bug.cgi?id=137255

        Reviewed by Brian Burg.

        * UserInterface/Views/BreakpointActionView.js:
        (WebInspector.BreakpointActionView.prototype._appendActionButtonClicked):
        Use the view's action type instead of the default.

2015-07-08  Devin Rousso  <drousso@apple.com>

        Web Inspector: Copy Rule in the context menu copies hidden properties in the rule
        https://bugs.webkit.org/show_bug.cgi?id=146775

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CSSStyleDeclarationSection.js:
        (WebInspector.CSSStyleDeclarationSection.prototype._generateCSSRuleString):
        Now only uses properties from the rule's visibleProperties list.

2015-07-08  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Add page weight and time back to the toolbar dashboard
        https://bugs.webkit.org/show_bug.cgi?id=146755

        Revert r183328 which removed the page weight and load time from the dashboard. We have space
        in the dashboard, we can put these back since we didn't find a better home for them.

        Reviewed by Joseph Pecoraro.

        * Localizations/en.lproj/localizedStrings.js: Updated.
        * UserInterface/Base/Main.js:
        (WebInspector.showNetworkTab):
        * UserInterface/Images/Time.svg: Added.
        * UserInterface/Images/Weight.svg: Added.
        * UserInterface/Images/gtk/Time.svg: Added.
        * UserInterface/Images/gtk/Weight.svg: Added.
        * UserInterface/Models/DefaultDashboard.js:
        (WebInspector.DefaultDashboard):
        (WebInspector.DefaultDashboard.prototype.get resourcesSize):
        (WebInspector.DefaultDashboard.prototype.set resourcesSize):
        (WebInspector.DefaultDashboard.prototype.get time):
        (WebInspector.DefaultDashboard.prototype.set time):
        (WebInspector.DefaultDashboard.prototype._mainResourceDidChange):
        (WebInspector.DefaultDashboard.prototype._capturingStopped):
        (WebInspector.DefaultDashboard.prototype._startUpdatingTime):
        (WebInspector.DefaultDashboard.prototype._stopUpdatingTime):
        (WebInspector.DefaultDashboard.prototype._updateTime):
        * UserInterface/Views/DashboardContainerView.css:
        (body.web .toolbar .dashboard-container):
        (body.javascript .toolbar .dashboard-container):
        (.toolbar.collapsed .dashboard-container):
        (.toolbar .dashboard-container): Deleted.
        * UserInterface/Views/DefaultDashboardView.css:
        (body.web .toolbar.collapsed .dashboard.default > :matches(.resourcesSize, .time, .logs)):
        (body.javascript .toolbar .dashboard.default > :matches(.resourcesCount, .resourcesSize, .time)):
        (.toolbar .dashboard.default > .resourcesSize):
        (.toolbar .dashboard.default > .time > img):
        (.toolbar .dashboard.default > .resourcesSize > img):
        (body.web .toolbar.collapsed .dashboard.default > .item.resourcesCount): Deleted.
        (body.javascript .toolbar .dashboard.default > .item.resourcesCount): Deleted.
        * UserInterface/Views/DefaultDashboardView.js:
        (WebInspector.DefaultDashboardView):
        (WebInspector.DefaultDashboardView.prototype._updateDisplay):
        (WebInspector.DefaultDashboardView.prototype._networkItemWasClicked):
        (WebInspector.DefaultDashboardView.prototype._timelineItemWasClicked):

2015-07-08  Devin Rousso  <drousso@apple.com>

        Web Inspector: Style sidebar is showing incorrect strikethroughs
        https://bugs.webkit.org/show_bug.cgi?id=146768

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/DOMNodeStyles.js:
        (WebInspector.DOMNodeStyles.prototype._markOverriddenProperties):
        No longer sets the effective property as overridden if the overriding property is anonymous (not visible).

2015-07-08  Devin Rousso  <drousso@apple.com>

        Web Inspector: Color swatches show up in color names in comments
        https://bugs.webkit.org/show_bug.cgi?id=146757

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CodeMirrorAdditions.js: Color markers now only appear if the color is in a keyword.

2015-07-08  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Only record a timeline when the Timelines tab is showing
        https://bugs.webkit.org/show_bug.cgi?id=146759

        Reviewed by Joseph Pecoraro.

        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager.prototype.get autoCaptureOnPageLoad):
        (WebInspector.TimelineManager.prototype.set autoCaptureOnPageLoad):
        (WebInspector.TimelineManager.prototype._startAutoCapturing):
        * UserInterface/Views/TimelineTabContentView.js:
        (WebInspector.TimelineTabContentView.prototype.shown):
        (WebInspector.TimelineTabContentView.prototype.hidden):

2015-07-08  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Details sidebar doesn't activate on first selected resource in Network tab
        https://bugs.webkit.org/show_bug.cgi?id=146691

        Make sure the SelectionPathComponentsDidChange event is dispatched when the tree elements are selected.
        Selecting in the DataGrid selects the TreeElements, but onselect is not fired to avoid an inifinte loop.

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/NetworkGridContentView.js:
        (WebInspector.NetworkGridContentView): Hook up _treeElementSelected.
        (WebInspector.NetworkGridContentView.prototype._treeElementSelected): Added. Moved from
        NetworkSidebarPanel and added dispatch of SelectionPathComponentsDidChange event.

        * UserInterface/Views/NetworkSidebarPanel.js:
        (WebInspector.NetworkSidebarPanel): Removed _treeElementSelected.
        (WebInspector.NetworkSidebarPanel.prototype.canShowDifferentContentView): Renamed from _canShowDifferentContentView.
        (WebInspector.NetworkSidebarPanel.prototype._canShowDifferentContentView): Deleted.
        (WebInspector.NetworkSidebarPanel.prototype._treeElementSelected): Moved to NetworkGridContentView.

        * UserInterface/Views/TimelineView.js:
        (WebInspector.TimelineView.prototype.treeElementSelected): Dispatch SelectionPathComponentsDidChange event.

2015-07-08  Devin Rousso  <drousso@apple.com>

        Web Inspector: Confusingly crossed out properties in .sidebar > .panel.navigation.timeline > .title-bar
        https://bugs.webkit.org/show_bug.cgi?id=146727

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update):
        The properties map used for refreshing each property now holds a list of properties for each line to ensure that
        if a duplicate property exists, it also gets refreshed.

2015-07-08  Devin Rousso  <drousso@apple.com>

        Web Inspector: Can't select last row in the timeline because it's covered by filter selector
        https://bugs.webkit.org/show_bug.cgi?id=146603

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ScopeBar.js: Now adds a class to the scope bar if the default item is selected.
        * UserInterface/Views/LayoutTimelineView.js:
        * UserInterface/Views/NetworkTimelineView.js:
        * UserInterface/Views/TimelineDataGrid.css:
        (.data-grid.timeline > .navigation-bar-container): Deleted.
        (.data-grid.timeline.has-non-default-filter > .navigation-bar-container): Deleted.
        (.data-grid.timeline:hover > .navigation-bar-container): Deleted.
        (.data-grid.timeline > .navigation-bar-container > .navigation-bar): Deleted.
        (body.window-inactive .data-grid.timeline > .navigation-bar-container > .navigation-bar): Deleted.
        * UserInterface/Views/TimelineDataGrid.js:
        (WebInspector.TimelineDataGrid):
        (WebInspector.TimelineDataGrid.createColumnScopeBar):
        (WebInspector.TimelineDataGrid.prototype.updateLayout): Deleted.
        * UserInterface/Views/TimelineRecordingContentView.js:
        (WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
        * UserInterface/Views/TimelineSidebarPanel.css:
        (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
        (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events > .title-bar-scope-bar):
        (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events > .title-bar-scope-bar > .default-item-selected > .multiple):
        (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events > .title-bar-scope-bar > .default-item-selected > .multiple path):
        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel.set contentTreeOutlineScopeBar):
        Clears the title bar scope element and adds the given element as a child node.
        * UserInterface/Views/TimelineView.js:
        (WebInspector.TimelineView.prototype.get navigationSidebarTreeOutlineScopeBar):
        Returns the scope bar element of the current object if it exists.

2015-07-08  Devin Rousso  <drousso@apple.com>

        Web Inspector: Clicking style checkbox selects the property name while mouse down
        https://bugs.webkit.org/show_bug.cgi?id=146728

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseDown):
        Now returns if the click was not at the end of the line.

2015-07-08  Timothy Hatcher  <timothy@apple.com>

        REGRESSION (r185629): Web Inspector: Filtering doesn't display any items if folders are used to organize the web page resources
        https://bugs.webkit.org/show_bug.cgi?id=146675

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/TreeOutline.js:
        (WebInspector.TreeElement.prototype.revealed): Added ignoreHidden parameter.
        (WebInspector.TreeElement.prototype.traverseNextTreeElement.shouldSkip): Pass true to ignore hidden elements.
        (WebInspector.TreeElement.prototype.traverseNextTreeElement): Populate up front like the old traverseNextTreeElement.
        This is needed to traverse into lazy populated tree elements. Don't call shouldSkip in the loop.
        (WebInspector.TreeElement.prototype.traversePreviousTreeElement.shouldSkip): Pass true to ignore hidden elements.
        (WebInspector.TreeElement.prototype.traversePreviousTreeElement): Add some newlines.

2015-07-08  Devin Rousso  <drousso@apple.com>

        Web Inspector: Pressing delete in the styles sidebar with no text causes text to become misaligned
        https://bugs.webkit.org/show_bug.cgi?id=146715

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleBeforeChange):
        Now returns if the change was in the first character of the first line.

2015-07-07  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Use "hairline" borders on retina screen
        https://bugs.webkit.org/show_bug.cgi?id=146619

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CSSStyleDeclarationSection.css:
        (.style-declaration-section):
        (.style-declaration-section.locked):
        (.style-declaration-section:not(.locked)):
        (.style-declaration-section.last-in-group):
        (.style-declaration-section + .style-declaration-section):
        (.style-declaration-section.last-in-group + .style-declaration-section):
        (@media (-webkit-min-device-pixel-ratio: 2)):
        * UserInterface/Views/DetailsSection.css:
        (.details-section .details-section):
        (.details-section > .content > .group:nth-child(even)):
        (@media (-webkit-min-device-pixel-ratio: 2)):
        * UserInterface/Views/DividerNavigationItem.css:
        (@media (-webkit-min-device-pixel-ratio: 2)):
        * UserInterface/Views/RulesStyleDetailsPanel.css:
        (.sidebar > .panel.details.css-style .rules .label + .style-declaration-section):
        (.sidebar > .panel.details.css-style > .content.filter-in-progress .label.filter-matching-label):
        (.sidebar > .panel.details.css-style > .content:not(.filter-in-progress) > .rules > .new-rule + .style-declaration-section):
        (.sidebar > .panel.details.css-style > .content:not(.filter-in-progress) > .rules > .new-rule + .label):
        (@media (-webkit-min-device-pixel-ratio: 2)):

2015-07-07  Devin Rousso  <drousso@apple.com>

        Web Inspector: Pressing tab on a comment in the styles sidebar doesn't highlight the comment
        https://bugs.webkit.org/show_bug.cgi?id=146709

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype.selectFirstProperty):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype.selectLastProperty):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._textAtCursorIsComment):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._highlightNextNameOrValue):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseUp):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleEnterKey):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._insertNewlineAfterCurrentLine):
        Determines if the text at the given cursor position in the given line is a comment.
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey):

2015-07-07  Devin Rousso  <drousso@apple.com>

        Web Inspector: spacebar should pause/resume timeline recording when timelines are open
        https://bugs.webkit.org/show_bug.cgi?id=143267

        Reviewed by Timothy Hatcher.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Views/TimelineTabContentView.js:
        (WebInspector.TimelineSidebarPanel): Added two new keyboard shortcuts: space and shift-space.
        (WebInspector.TimelineSidebarPanel.prototype.shown): Enables the keyboard shortcuts.
        (WebInspector.TimelineSidebarPanel.prototype.hidden): Disables the keyboard shortcuts.
        (WebInspector.TimelineSidebarPanel.prototype._toggleRecordingOnSpacebar):
        (WebInspector.TimelineSidebarPanel.prototype._toggleNewRecordingOnSpacebar):
        (WebInspector.TimelineSidebarPanel.prototype._toggleRecording): Starts/stops recording.

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

        Web Inspector: Improve names for unprefixed animation events
        https://bugs.webkit.org/show_bug.cgi?id=146708

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/ScriptTimelineRecord.js:

2015-07-07  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Timeline record bars are not white when the row is selected from the sidebar
        https://bugs.webkit.org/show_bug.cgi?id=146694

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/TimelineRecordBar.css:
        (:matches(:focus, .force-focus) .selected .timeline-record-bar > .segment):
        (:matches(:focus, .force-focus) .selected .timeline-record-bar > .segment.inactive):
        (:matches(:focus, .force-focus) .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):

2015-07-07  Devin Rousso  <drousso@apple.com>

        Web Inspector: Unnecessary space added after -webkit- prefixed property values
        https://bugs.webkit.org/show_bug.cgi?id=146671

        Reviewed by Joseph Pecoraro.

        * Tools/PrettyPrinting/css-rule-tests/do-not-add-whitespace-before-prefixed-property-value-expected.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/do-not-add-whitespace-before-prefixed-property-value.css: Added.
        * Tools/PrettyPrinting/index.html:
        * UserInterface/Views/CodeMirrorFormatters.js: Now only adds a space if both the current and previous
        tokens are a property, value, or atom.

2015-07-07  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Pad ruler selection area by 1px in the Rendering Frames timeline overview
        https://bugs.webkit.org/show_bug.cgi?id=146248

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/RenderingFrameTimelineOverview.js:
        Enable duration pixel alignment.

        * UserInterface/Views/TimelineOverview.css:
        (.timeline-overview.frames > .timeline-ruler > .header > .divider):
        (.timeline-overview.frames > .timeline-ruler > .selection-handle.right):
        (.timeline-overview.frames > .timeline-ruler > .shaded-area.right):
        Shift ruler elements 1 pixel to the right, so that selection boundaries and dividers are
        positioned inside the gap between frame elements.

        * UserInterface/Views/TimelineOverview.js:
        (WebInspector.TimelineOverview):
        (WebInspector.TimelineOverview.prototype.set secondsPerPixel):
        (WebInspector.TimelineOverview.prototype.get pixelAlignDuration):
        (WebInspector.TimelineOverview.prototype.set pixelAlignDuration):
        (WebInspector.TimelineOverview.prototype._handleWheelEvent):
        Added a property to force the overview graph to align duration units on the y-axis to pixel boundaries.
        When enabled, frame elements are displayed in integer widths while zooming, preventing subpixel blurring
        and maintaining a consistent 1 pixel gap between frames.

2015-07-07  Devin Rousso  <drousso@apple.com>

        Web Inspector: Tabbing in the styles sidebar doesn't highlight the next section of text
        https://bugs.webkit.org/show_bug.cgi?id=146676

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._highlightNextNameOrValue): Modified the logic to only search the
        remaining text after the current cursor position.
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey): Now only searches for matches before the colon.

2015-07-07  Devin Rousso  <drousso@apple.com>

        Web Inspector: Option+Click not jumping to resource
        https://bugs.webkit.org/show_bug.cgi?id=146498

        Reviewed by Timothy Hatcher.

        * UserInterface/Base/Main.js: Always show the tab which contains the represented object.
        (WebInspector._domNodeWasInspected):
        (WebInspector._frameWasAdded):
        (WebInspector.showConsoleTab):
        (WebInspector.showRepresentedObject): Removed forceShowTab parameter.
        (WebInspector.showMainFrameDOMTree):
        (WebInspector.showContentFlowDOMTree):
        (WebInspector.showSourceCodeForFrame):
        (WebInspector.showSourceCode):
        (WebInspector.showSourceCodeLocation):
        (WebInspector.showOriginalUnformattedSourceCodeLocation):
        (WebInspector.showOriginalOrFormattedSourceCodeLocation):
        (WebInspector.showOriginalOrFormattedSourceCodeTextRange):
        (WebInspector.showResourceRequest):
        * UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
        (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseButtonWasReleasedOverEditor):
        * UserInterface/Protocol/InspectorFrontendAPI.js:
        (InspectorFrontendAPI.showMainResourceForFrame):
        * UserInterface/Views/ComputedStyleDetailsPanel.js:
        (WebInspector.ComputedStyleDetailsPanel.prototype._goToContentFlowArrowWasClicked):
        (WebInspector.ComputedStyleDetailsPanel):
        * UserInterface/Views/ObjectTreeBaseTreeElement.js:
        (WebInspector.ObjectTreeBaseTreeElement.prototype._appendMenusItemsForObject):
        (WebInspector.ObjectTreeBaseTreeElement):

2015-07-07  Devin Rousso  <drousso@apple.com>

        Web Inspector: Regression: CSS autocompletion suggestion applies on pressing delete
        https://bugs.webkit.org/show_bug.cgi?id=146672

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleBeforeChange): Now returns if completions are showing.

2015-07-07  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Properly align checkboxes in the styles sidebar
        https://bugs.webkit.org/show_bug.cgi?id=146673

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
        (.css-style-text-editor > .CodeMirror .CodeMirror-lines input[type=checkbox]):

2015-07-06  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Rendering Frame bars appear misaligned and contain gaps when displaying small task segments
        https://bugs.webkit.org/show_bug.cgi?id=146475

        Reviewed by Timothy Hatcher.

        Displaying all task segments within a frame in the Rendering Frames graph is impossible, as very short tasks
        would result in a bar with a height of less than 1 pixel. Consecutive small tasks, each less than a visible
        pixel, appear as gaps in the frame bar. This patch addresses these shortcomings by introducing a minimum
        displayable frame height (3 pixels), and setting the height of every frame to a multiple of the minimum height.

        * UserInterface/Base/Utilities.js:
        (.value):
        Added Math.roundTo to simplify rounding to arbitrary intervals.

        * UserInterface/Views/TimelineRecordFrame.css:
        (.timeline-record-frame):
        (.timeline-record-frame > .frame > .duration):
        Enforce 3px min height for frames & segments. TimelineRenderingFrame's segment height calculator
        creates segments that are always at least 3px, this is just a precaution.

        * UserInterface/Views/TimelineRecordFrame.js:
        (WebInspector.TimelineRecordFrame.prototype._calculateFrameDisplayData.updateDurationRemainder):
        (WebInspector.TimelineRecordFrame.prototype._calculateFrameDisplayData.pushCurrentSegment):
        (WebInspector.TimelineRecordFrame.prototype._calculateFrameDisplayData.invisibleSegments.forEach):
        (WebInspector.TimelineRecordFrame.prototype._updateChildElements.createDurationElement): Deleted.
        Added algorithm for calculating frame segment heights, rather than simply dividing each task's
        duration by the frame duration. Results are cached so the segment heights aren't needlessly
        recalculated on every scroll/zoom.

2015-07-06  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Force show Console tab when supportsSplitContentBrowser is false
        https://bugs.webkit.org/show_bug.cgi?id=146661

        Reviewed by Joseph Pecoraro.

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

2015-07-06  Devin Rousso  <drousso@apple.com>

        Web Inspector: Clearing the console does not remove the unread message icon
        https://bugs.webkit.org/show_bug.cgi?id=146649

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/LogContentView.js:
        (WebInspector.LogContentView.prototype._clearLog): Removes the "unread" class from all scope bar items.

2015-07-02  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Add a dedicated Network tab that is always live
        https://bugs.webkit.org/show_bug.cgi?id=146568

        Reviewed by Joseph Pecoraro.

        * Localizations/en.lproj/localizedStrings.js: Updated.

        * UserInterface/Base/Main.js:
        (WebInspector.loaded):
        (WebInspector.isTabTypeAllowed):
        (WebInspector._tabContentViewForType):
        (WebInspector._updateNewTabButtonState):
        Add NetworkTabContentView to the right places.

        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager):
        (WebInspector.TimelineManager.prototype.get persistentNetworkTimeline):
        (WebInspector.TimelineManager.prototype._mainResourceDidChange):
        (WebInspector.TimelineManager.prototype._resourceWasAdded):
        Add a persistent network timeline that always has all resources.

        * UserInterface/Images/Network.svg: Added.

        * UserInterface/Main.html: Added new files.

        * UserInterface/Views/NavigationSidebarPanel.css:
        (.sidebar > .panel.navigation > .content):
        Drive-by fix. The bottom was off by one. This caused misalignment between sidebar and content view when
        scrolled all the way to the bottom of the content view.

        * UserInterface/Views/NetworkGridContentView.css: Added.
        (.content-view.network-grid > .data-grid):
        (.content-view.network-grid > .data-grid th):
        (.content-view.network-grid > .data-grid td):
        (.content-view.network-grid > .data-grid table.data):
        Mostly copied from TimelineView.css and NetworkTimelineView.css.

        * UserInterface/Views/NetworkGridContentView.js: Added.
        (WebInspector.NetworkGridContentView):
        (WebInspector.NetworkGridContentView.prototype.get navigationSidebarTreeOutline):
        (WebInspector.NetworkGridContentView.prototype.get selectionPathComponents):
        (WebInspector.NetworkGridContentView.prototype.get zeroTime):
        (WebInspector.NetworkGridContentView.prototype.shown):
        (WebInspector.NetworkGridContentView.prototype.hidden):
        (WebInspector.NetworkGridContentView.prototype.closed):
        (WebInspector.NetworkGridContentView.prototype.updateLayout):
        (WebInspector.NetworkGridContentView.prototype.needsLayout):
        (WebInspector.NetworkGridContentView.prototype.reset):
        (WebInspector.NetworkGridContentView.prototype._processPendingRecords):
        (WebInspector.NetworkGridContentView.prototype._networkTimelineReset):
        (WebInspector.NetworkGridContentView.prototype._networkTimelineRecordAdded):
        (WebInspector.NetworkGridContentView.prototype._treeElementPathComponentSelected):
        (WebInspector.NetworkGridContentView.prototype._dataGridNodeSelected):
        Mostly copied from NetworkTimelineView.

        * UserInterface/Views/NetworkSidebarPanel.css: Added.
        (.sidebar > .panel.navigation.network > :matches(.content, .empty-content-placeholder)):
        (.sidebar > .panel.navigation.network > .navigation-bar):
        (.sidebar > .panel.navigation.network > .title-bar):
        (.sidebar > .panel.navigation.network.network-grid-content-view-showing > .content):
        (.sidebar > .panel.navigation.network .item:hover:not(.selected) .status .close.status-button):
        (.sidebar > .panel.navigation.network:not(.network-grid-content-view-showing) .status .go-to-arrow.status-button):
        (.sidebar > .panel.navigation.network.network-grid-content-view-showing .status .close.status-button):
        (.sidebar > .panel.navigation.network.network-grid-content-view-showing .navigation-sidebar-panel-content-tree-outline.network-grid .item .subtitle):
        (.sidebar > .panel.navigation.network > .content > .navigation-sidebar-panel-content-tree-outline):
        (.sidebar > .panel.navigation.network.network-grid-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline):
        Mostly copied from TimelineSidebarPanel.css and NetworkTimelineView.css.

        * UserInterface/Views/NetworkSidebarPanel.js: Added.
        (WebInspector.NetworkSidebarPanel):
        (WebInspector.NetworkSidebarPanel.prototype.closed):
        (WebInspector.NetworkSidebarPanel.prototype.showDefaultContentView):
        (WebInspector.NetworkSidebarPanel.prototype.saveStateToCookie):
        (WebInspector.NetworkSidebarPanel.prototype.restoreStateFromCookie):
        (WebInspector.NetworkSidebarPanel.prototype.hasCustomFilters):
        (WebInspector.NetworkSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
        (WebInspector.NetworkSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
        (WebInspector.NetworkSidebarPanel.prototype.treeElementAddedOrChanged):
        (WebInspector.NetworkSidebarPanel.prototype._networkTimelineReset):
        (WebInspector.NetworkSidebarPanel.prototype._contentBrowserCurrentContentViewDidChange):
        (WebInspector.NetworkSidebarPanel.prototype._treeElementGoToArrowWasClicked):
        (WebInspector.NetworkSidebarPanel.prototype._treeElementCloseButtonClicked):
        (WebInspector.NetworkSidebarPanel.prototype._canShowDifferentContentView):
        (WebInspector.NetworkSidebarPanel.prototype._treeElementSelected):
        (WebInspector.NetworkSidebarPanel.prototype._scopeBarSelectionDidChange):
        A hybrid of ResourceSidebarPanel and TimelineSidebarPanel.

        * UserInterface/Views/NetworkTabContentView.js: Added.
        (WebInspector.NetworkTabContentView):
        (WebInspector.NetworkTabContentView.prototype.get type):
        (WebInspector.NetworkTabContentView.prototype.canShowRepresentedObject):

        * UserInterface/Views/NewTabContentView.js:
        (WebInspector.NewTabContentView): Add Network tab and sort the tabs by their localized name.

        * UserInterface/Views/TabBar.js:
        (WebInspector.TabBar.prototype._handleNewTabClick):
        Drive-by fix. Don't fire the click event if the new tab button is disabled.

2015-07-06  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Mark console filters that have unseen messages by colored dots
        https://bugs.webkit.org/show_bug.cgi?id=146616

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/LogContentView.css:
        (.log-scope-bar > li.unread::before):
        (.log-scope-bar > li.unread:hover::before):
        (.log-scope-bar > li.unread.errors::before):
        (.log-scope-bar > li.unread.warnings::before):
        (.log-scope-bar > li.unread.logs::before):
        (@keyframes unread-background-pulse):

2015-07-06  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Exceptions in Network timeline when resource updates and filters are applied
        https://bugs.webkit.org/show_bug.cgi?id=146609

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/DataGrid.js:
        (WebInspector.DataGrid.prototype.insertChild):
        (WebInspector.DataGrid.prototype.removeChild):
        (WebInspector.DataGridNode.prototype.savePosition):
        Convert exceptions to asserts and early returns.

        * UserInterface/Views/TimelineDataGrid.js:
        (WebInspector.TimelineDataGrid.prototype._refreshDirtyDataGridNodes): Add some asserts and checks.

        * UserInterface/Views/TreeOutline.js:
        (WebInspector.TreeOutline.prototype.appendChild):
        (WebInspector.TreeOutline.prototype.insertChild):
        (WebInspector.TreeOutline.prototype.removeChildAtIndex):
        (WebInspector.TreeOutline.prototype.removeChild):
        Convert exceptions to asserts and early returns.

2015-07-05  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Cached resources are missing startTime and size in Network timeline
        https://bugs.webkit.org/show_bug.cgi?id=146607

        Reviewed by Joseph Pecoraro.

        * UserInterface/Controllers/FrameResourceManager.js:
        (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache): Pass elapsedTime in the right argument order.
        Add missing calls to Resource.increaseSize and Resource.increaseTransferSize.
        (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse): Pass elapsedTime in the right argument order.

2015-07-05  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Dim more borders when the window is inactive
        https://bugs.webkit.org/show_bug.cgi?id=146608

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/DataGrid.css:
        (body.window-inactive .data-grid th):
        (body.window-inactive .data-grid :matches(th, td):not(:last-child)):
        * UserInterface/Views/NavigationSidebarPanel.css:
        (body.window-inactive .sidebar > .panel.navigation > .overflow-shadow):
        * UserInterface/Views/OverviewTimelineView.css:
        (body.window-inactive .timeline-view.overview > .timeline-ruler > .header):
        * UserInterface/Views/TimelineDataGrid.css:
        (body.window-inactive .data-grid.timeline th):
        (body.window-inactive .data-grid.timeline > .navigation-bar-container > .navigation-bar):
        * UserInterface/Views/TimelineRuler.css:
        (body.window-inactive .timeline-ruler > .header):
        (body.window-inactive .timeline-ruler > .header > .divider):
        * UserInterface/Views/TimelineSidebarPanel.css:
        (body.window-inactive .sidebar > .panel.navigation.timeline > .status-bar):
        (body.window-inactive .sidebar > .panel.navigation.timeline > .title-bar):
        (body.window-inactive .sidebar > .panel.navigation.timeline > .title-bar.timeline-events):

2015-07-05  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Timeline row selection should have same background color in sidebar and data grid
        https://bugs.webkit.org/show_bug.cgi?id=146606

        Support a force-focus class name that TreeOutlineDataGridSynchronizer applies when one of the
        elements is focused, so the other can look focused too.

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/DataGrid.css:
        (.data-grid:matches(:focus, .force-focus) tr.selected td:not(:last-child)):
        (.data-grid:matches(:focus, .force-focus) tr.parent.selected td.disclosure::before):
        (.data-grid:matches(:focus, .force-focus) tr.parent.expanded.selected td.disclosure::before):
        (.data-grid:matches(:focus, .force-focus) tr.selected):
        (.data-grid:matches(:focus, .force-focus) tr.selected td .subtitle):

        * UserInterface/Views/Main.css:
        (:matches(:focus, .force-focus) .selected .go-to-arrow):
        (:matches(:focus, .force-focus) .selected .go-to-arrow:active):

        * UserInterface/Views/NavigationSidebarPanel.css:
        (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .disclosure-button):
        (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected.expanded .disclosure-button):
        (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected):
        (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .subtitle):

        * UserInterface/Views/TreeElementStatusButton.css:
        (:matches(:focus, .force-focus) .item.selected > .status > .status-button > svg .filled):
        (:matches(:focus, .force-focus) .item.selected > .status > .status-button > svg .stroked):

        * UserInterface/Views/TreeOutlineDataGridSynchronizer.js:
        (WebInspector.TreeOutlineDataGridSynchronizer):
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridGainedFocus): Added.
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridLostFocus): Added.
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeOutlineGainedFocus): Added.
        (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeOutlineLostFocus): Added.

2015-07-05  Devin Rousso  <drousso@apple.com>

        Web Inspector: Deleting in the CSS sidebar causes the warning icon to appear mid-word
        https://bugs.webkit.org/show_bug.cgi?id=146617

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleBeforeChange): Now removes all marks whenever the user deletes.
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): The invalid marker now calculates
        it's position based off of where the semicolon is in the property text.

2015-07-05  Devin Rousso  <drousso@apple.com>

        Web Inspector: CSS rule with 2 pseudo-selectors appears twice
        https://bugs.webkit.org/show_bug.cgi?id=146576

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/RulesStyleDetailsPanel.js:
        (WebInspector.RulesStyleDetailsPanel.prototype.refresh):
        Only adds pseudo-elements if the previous pseudo-element has a different selector.

2015-07-04  Devin Rousso  <drousso@apple.com>

        Web Inspector: Wrong cursor position in styles panel when deleting a line break
        https://bugs.webkit.org/show_bug.cgi?id=146577

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleBeforeChange): If the change is a deletion at the beginning of a line,
        remove all markers on that line to ensure that there is no blank space on the previous line after deleting.

2015-07-04  Devin Rousso  <drousso@apple.com>

        Web Inspector: Pressing tab on a newline in the console should insert a tab character
        https://bugs.webkit.org/show_bug.cgi?id=146612

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ConsolePrompt.js:
        (WebInspector.ConsolePrompt.prototype._handleTabKey): Tabs can now be inserted at the beginning of newlines and before the first
        non-space character on any other line.

2015-07-04  Devin Rousso  <drousso@apple.com>

        Web Inspector: Pressing enter on a newline in the styles sidebar inserts a semicolon
        https://bugs.webkit.org/show_bug.cgi?id=146611

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleEnterKey): Now returns if the line is empty.

2015-07-04  Devin Rousso  <drousso@apple.com>

        Web Inspector: Console should indicate if you have unseen messages in console due to filters
        https://bugs.webkit.org/show_bug.cgi?id=143166

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/JavaScriptLogViewController.js:
        (WebInspector.JavaScriptLogViewController.prototype.updatePreviousMessageRepeatCount): Now returns true/false depending on if
        the message count was actually updated.
        * UserInterface/Views/LogContentView.css:
        (.log-scope-bar > li.unread): Applies the unread-border-pulse keyframe animation.
        (.log-scope-bar > li.unread.errors): The pulsing border is colored red.
        (.log-scope-bar > li.unread.warnings): The pulsing border is colored yellow(ish).
        (.log-scope-bar > li.unread.logs): The pulsing border is colored grey.
        (@keyframes unread-border-pulse): Changes the color of the border from transparent to whatever is specificed.
        * UserInterface/Views/LogContentView.js:
        (WebInspector.LogContentView):
        (WebInspector.LogContentView.prototype._determineMessageLevel):
        (WebInspector.LogContentView.prototype._pulseScopeBarItemBorder): Adds the class "unread" to the scope bar item whose panel
        the newest message belongs to, but only if that panel or the All panel is not visible.
        (WebInspector.LogContentView.prototype._messageAdded):
        (WebInspector.LogContentView.prototype._previousMessageRepeatCountUpdated):
        (WebInspector.LogContentView.prototype._scopeBarSelectionDidChange): Clears the "unread" class on the selected scope bar item.
        (WebInspector.LogContentView.prototype._filterMessageElements):
        * UserInterface/Views/ScopeBar.js:
        (WebInspector.ScopeBar.prototype.get items): Returns a list of all the items in the scope bar.
        * UserInterface/Views/ScopeBarItem.js:
        (WebInspector.ScopeBarItem): Added another parameter to allow for a custom class name.

2015-07-04  Devin Rousso  <drousso@apple.com>

        Web Inspector: Pseudo Styles Ordering and Media Queries
        https://bugs.webkit.org/show_bug.cgi?id=145979

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/RulesStyleDetailsPanel.css:
        (.sidebar > .panel.details.css-style > .content.filter-in-progress .label:not(.filter-section-non-matching) + .label.filter-matching-label:not(.filter-section-non-matching)):
        Fix filter label styling with pseudo selectors.
        * UserInterface/Views/RulesStyleDetailsPanel.js:
        (WebInspector.RulesStyleDetailsPanel.prototype.refresh): Pseudo-selector rules will now order directly after the last style that
        matches the pseudo-selector without the pseudo-element.  If no rules match, place the pseudo-selector rules above the first
        inherited or UserAgent rule (whichever comes first).

2015-07-04  Devin Rousso  <drousso@apple.com>

        REGRESSION(r184000): Web Inspector: Multiline CSS in Styles Sidebar is marked as invalid
        https://bugs.webkit.org/show_bug.cgi?id=146178

        Reviewed by Timothy Hatcher.

        First changes made by Tobias Reiss  <tobi+webkit@basecode.de>

        * Tools/PrettyPrinting/css-rule-tests/add-whitespace-between-values-expected.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/add-whitespace-between-values.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/add-whitespace-between-rules-expected.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/add-whitespace-between-rules.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/remove-newline-between-values-expected.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/remove-newline-between-values.css: Added.
        * Tools/PrettyPrinting/index.html:
        Add regression tests.
        * UserInterface/Views/CodeMirrorFormatters.js:
        Remove newlines before values that belong in one line and add whitespace between values. 

2015-07-04  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: The arrow that appears for Web Inspector Layout & Rendering records overlaps the category switcher
        https://bugs.webkit.org/show_bug.cgi?id=146605

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/TimelineDataGrid.css:
        (.data-grid.timeline > .navigation-bar-container):

2015-07-03  Dan Bernstein  <mitz@apple.com>

        [Xcode] Update some build settings as recommended by Xcode 7
        https://bugs.webkit.org/show_bug.cgi?id=146597

        Reviewed by Sam Weinig.

        * Configurations/Base.xcconfig: Enabled CLANG_WARN_UNREACHABLE_CODE and
        GCC_NO_COMMON_BLOCKS.
        * WebInspectorUI.xcodeproj/project.pbxproj: Updated LastUpgradeCheck.

2015-07-02  Devin Rousso  <drousso@apple.com>

        Web Inspector: Show suggest popover on Tab press even if it wasn't showing before
        https://bugs.webkit.org/show_bug.cgi?id=146496

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey): Pressing tab will try to autocomplete before trying
        to add an ending colon/semicolon or highlight the next section of text.

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

        Web Inspector: Aggregate profile call information on the backend to drastically reduce profile sizes
        https://bugs.webkit.org/show_bug.cgi?id=146536

        Reviewed by Timothy Hatcher.

        Since we still support legacy backends, the frontend documents where
        it is handling legacy backends with compatibility comments.

        * UserInterface/Models/ProfileNode.js:
        (WebInspector.ProfileNode):
        (WebInspector.ProfileNode.prototype.get callInfo):
        Handle a ProfileNode created with callInfo or calls. They are mutually exclusive.

        * UserInterface/Models/ScriptTimelineRecord.js:
        (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload.profileNodeFromPayload):
        If the profile has per-call information, construct ProfileNodeCall objects, otherwise
        just construct the ProfileNode with the aggregate callInfo value.

        * UserInterface/Views/ScriptTimelineDataGridNode.js:
        (WebInspector.ScriptTimelineDataGridNode.prototype.get data):
        When we have aggregate call information we cannot easily partition a script,
        so we instead treat the entire script as one large atomic unit in the timeline.
        If the timeline range has any portion of the script, show the entire script.
        Users used to be able to select a portion of a script and view the relevant
        functions called in just that sliver, but this doesn't appear to be a well
        known feature or commonly used. In fact, given the small ranges of time it
        could be confusing for users.

        * UserInterface/Views/TimelineRecordingContentView.js:
        (WebInspector.TimelineRecordingContentView.prototype.matchTreeElementAgainstCustomFilters):
        Treat as a discrete unit.

2015-07-01  Devin Rousso  <drousso@apple.com>

        Web Inspector: When autocompleting, pressing tab twice shouldn't insert a tab character
        https://bugs.webkit.org/show_bug.cgi?id=145885

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/CodeMirrorCompletionController.js:
        (WebInspector.CodeMirrorCompletionController):
        (WebInspector.CodeMirrorCompletionController.prototype.updateCompletions): Resolves the promise as having completions.
        (WebInspector.CodeMirrorCompletionController.prototype.hideCompletions): Resolves the promise as not having completions.
        (WebInspector.CodeMirrorCompletionController.prototype.completeAtCurrentPositionIfNeeded): Returns a WrappedPromise that allows
        callers of this function to determine if the autocomplete had any values or was instead not shown.
        (WebInspector.CodeMirrorCompletionController.prototype._resolveUpdatePromise):
        * UserInterface/Main.html: Added WrappedPromise class.
        * UserInterface/Models/WrappedPromise.js: Added WrappedPromise object to expose resolve and reject functions.
        * UserInterface/Views/ConsolePrompt.js:
        (WebInspector.ConsolePrompt.prototype._handleTabKey): Attempts to find completions for current text.  If there are none, beep.

2015-07-01  Devin Rousso  <drousso@apple.com>

        Make the first click on a rule section create a newline for easy property addition
        https://bugs.webkit.org/show_bug.cgi?id=146490

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._highlightNextNameOrValue):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleEnterKey): Inserts a semicolon if the line is missing one.
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseDown): If the user clicks on a property with the editor being
        unfocused, the name/value containing the cursor will be highlighted.  If instead the user clicks at the end of a line, the
        cursor's position is saved for mouseUp.
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseUp): If the mouseDown cursor position was saved and is equal
        to the current cursor's position (the user did not drag), add a newline after the current line and place the cursor on that line.
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey.highlightNextNameOrValue): Deleted.

2015-06-30  Devin Rousso  <drousso@apple.com>

        Web Inspector: add " = $0" hint after selected element in main DOMTreeOutline
        https://bugs.webkit.org/show_bug.cgi?id=145739

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/DOMTreeOutline.css: Adds a semi-opaque " = $0" to the selected element in the DOM tree.
        (.dom-tree-outline li.selected > span::after):
        (.dom-tree-outline:focus li.selected > span::after):

2015-06-30  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: ProfileNode cleanup
        https://bugs.webkit.org/show_bug.cgi?id=146472

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/ProfileNode.js:
        (WebInspector.ProfileNode):
        Use Array.prototype.every instead of reduce.
        Correct the name of a function to be what callers expect!

2015-06-30  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: iOS 8: Profile Nodes not showing in JavaScript Timeline
        https://bugs.webkit.org/show_bug.cgi?id=146471

        Reviewed by Brian Burg.

        * UserInterface/Models/ScriptTimelineRecord.js:
        (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload.profileNodeCallFromPayload):
        For legacy backends, convert the startTime to the proper timestamp type.

2015-06-30  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Reduce rendering frames "Other" time by instrumenting compositing
        https://bugs.webkit.org/show_bug.cgi?id=146168

        Reviewed by Brian Burg.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager.prototype._processRecord):
        Added handling for new Composite record type. Paint records with a parent Composite record
        are flagged to simplify processing after the event hierarchy is unpacked.

        * UserInterface/Images/TimelineRecordComposite.svg: Added.
        New composite record icon.

        * UserInterface/Models/LayoutTimelineRecord.js:
        (WebInspector.LayoutTimelineRecord):
        (WebInspector.LayoutTimelineRecord.displayNameForEventType):
        (WebInspector.LayoutTimelineRecord.prototype.get duringComposite): Added
        Composite record support.

        * UserInterface/Models/RenderingFrameTimelineRecord.js:
        (WebInspector.RenderingFrameTimelineRecord.prototype.durationForTask.get validRecordForTaskType):
        Add compositing time when bucketing runloop tasks, ignoring Paint events that are
        contained within a Composite event.

        * UserInterface/Views/LayoutTimelineOverviewGraph.js:
        (WebInspector.LayoutTimelineOverviewGraph.prototype._layoutTimelineRecordAdded):
        Add Composite records to paint timeline row.

        * UserInterface/Views/RenderingFrameTimelineView.js:
        (WebInspector.RenderingFrameTimelineView.prototype._processPendingRecords):
        Small unrelated fix.

        * UserInterface/Views/TimelineIcons.css:
        (.composite-record .icon):
        * UserInterface/Views/TimelineRecordBar.css:
        (.timeline-record-bar.timeline-record-type-layout.layout-timeline-record-composite > .segment):
        * UserInterface/Views/TimelineRecordTreeElement.js:
        (WebInspector.TimelineRecordTreeElement):
        New styles and tree element icon.

2015-06-30  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: iOS 8: Uncaught Exception expanding Object Prototype
        https://bugs.webkit.org/show_bug.cgi?id=146427

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ObjectTreePropertyTreeElement.js:
        (WebInspector.ObjectTreePropertyTreeElement.prototype._updateProperties):
        * UserInterface/Views/ObjectTreeView.js:
        (WebInspector.ObjectTreeView.prototype._updateProperties):
        We are supposed to receive value properties for __proto__ properties
        so that we can immediately start showing information about the property.
        When that is not the case, which appeared to only be on legacy
        backends for the top level prototype, just ignore it.

2015-06-30  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Misc. Timeline cleanup
        https://bugs.webkit.org/show_bug.cgi?id=146430

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/Timeline.js:
        (WebInspector.Timeline.prototype.reset):
        Nobody listens for this event. Just remove it.

        * UserInterface/Models/TimelineRecording.js:
        Avoiding doing multiple lookups.

        * UserInterface/Views/TimelineDataGridNode.js:
        * UserInterface/Views/TimelineRecordingContentView.js:
        (WebInspector.TimelineRecordingContentView.prototype._updateTimes):
        * UserInterface/Views/TimelineView.js:
        (WebInspector.TimelineView.prototype.updateLayout):
        Eliminate some unnecessary deletes.

2015-06-29  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Unable to select the text of an inline error message
        https://bugs.webkit.org/show_bug.cgi?id=145813

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CodeMirrorOverrides.css:
        (.CodeMirror-linewidget):
        * UserInterface/Views/TextEditor.js:
        (WebInspector.TextEditor.prototype.createWidgetForLine):

2015-06-29  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Remove harmless error for not getting named flows
        https://bugs.webkit.org/show_bug.cgi?id=146417

        Reviewed by Darin Adler.

        * UserInterface/Controllers/DOMTreeManager.js:

2015-06-29  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Network errors (404) are missing location link in console messages
        https://bugs.webkit.org/show_bug.cgi?id=146442

        Reviewed by Darin Adler.

        * UserInterface/Views/ConsoleMessageView.js:
        (WebInspector.ConsoleMessageView.prototype._appendLocationLink):
        Restore behavior of adding a location link for network messages with urls.

2015-06-29  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: iOS 8: Resources Timeline Data does not show up
        https://bugs.webkit.org/show_bug.cgi?id=146433

        Reviewed by Timothy Hatcher.

        There were a couple issues with initializing the legacy base timestamp
        for attempting to dynamically compute monotonically increasing timestamps
        for timeline events for legacy backends.

            * Sometimes legacy timestamps were in seconds since epochs,
              sometimes milliseconds. The frontend did not handle both.

            * On navigations, even while resetting the base timestamp for
              the first new record received, the main resource still had
              a will send request time computed from the previous page's
              time system. This patch re-uses the original timestamp for
              this main resource as the new base and all future records
              are computed relative to this.

        * UserInterface/Controllers/FrameResourceManager.js:
        (WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent):
        (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame):
        * UserInterface/Models/Resource.js:
        (WebInspector.Resource):
        (WebInspector.Resource.prototype.get originalRequestWillBeSentTimestamp):
        For legacy timestamp calculations, save the original request will be sent
        timestamp on the Resource in case it is needed.

        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager.prototype._loadNewRecording):
        When auto-starting a new recording for a navigation / reload, use the
        main resource's request will be sent timestamp as the new base.

        * UserInterface/Models/TimelineRecording.js:
        Address legacy timeline timestamps by handling both legacy timestamps
        that may be seconds / milliseconds.

2015-06-29  Joseph Pecoraro  <pecoraro@apple.com>

        REGRESSION: Web Inspector: Jump to Definition is broken
        https://bugs.webkit.org/show_bug.cgi?id=146376

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ObjectTreeBaseTreeElement.js:
        (WebInspector.ObjectTreeBaseTreeElement.prototype._appendMenusItemsForObject):
        Allow changing tabs when jumping to function definition.

2015-06-28  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Wrong border color of console messages when filters are enabled
        https://bugs.webkit.org/show_bug.cgi?id=146392

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/LogContentView.css:
        (.console-error-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
        (.console-warning-level:not(.filtered-out, .filtered-out-by-search) + .console-item):

2015-06-25  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Wrong timeline selected after switching from Rendering Frames to Timelines
        https://bugs.webkit.org/show_bug.cgi?id=146331

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/TimelineSidebarPanel.js:
        Set previously selected timeline type to null if no tree element is selected when switching
        view mode to Rendering Frames.

2015-06-25  Joseph Pecoraro  <pecoraro@apple.com>

        [Mac] Web Inspector: Window dragging on toolbar should behave more like native window dragging
        https://bugs.webkit.org/show_bug.cgi?id=146324

        Reviewed by Timothy Hatcher.

        * UserInterface/Base/Main.js:
        On Mac 10.11 transition to using InspectorFrontendHost.startWindowDrag.
        For older Macs continue to use InspectorFrontendHost.moveWindowBy.
        
        * UserInterface/Protocol/InspectorFrontendHostStub.js:
        (WebInspector.InspectorFrontendHostStub.prototype.startWindowDrag):
        Add the stub for InspectorFrontendHostStub.

2015-06-24  Devin Rousso  <drousso@apple.com>

        Web Inspector: Pressing tab in the styles sidebar shouldn't insert a tab character
        https://bugs.webkit.org/show_bug.cgi?id=146189

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/CodeMirrorCompletionController.js: Added variable to control whether semicolons are added to the end of autocompleted css values.
        (WebInspector.CodeMirrorCompletionController):
        (WebInspector.CodeMirrorCompletionController.prototype.set noEndingSemicolon):
        (WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions):
        * UserInterface/Views/CSSStyleDeclarationSection.js:
        (WebInspector.CSSStyleDeclarationSection):
        (WebInspector.CSSStyleDeclarationSection.prototype.cssStyleDeclarationTextEditorSwitchRule):
        (WebInspector.CSSStyleDeclarationSection.prototype.focusRuleSelector):
        (WebInspector.CSSStyleDeclarationSection.prototype.selectLastProperty):
        (WebInspector.CSSStyleDeclarationSection.prototype.get selectorLocked):
        (WebInspector.CSSStyleDeclarationSection.prototype.get locked):
        (WebInspector.CSSStyleDeclarationSection.prototype._handleKeyDown):
        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor): Added functions for "Tab", "Shift-Tab", and "Shift-Enter" keypresses to improve usability.
        (WebInspector.CSSStyleDeclarationTextEditor.prototype.selectFirstProperty): Highlights the first property.
        (WebInspector.CSSStyleDeclarationTextEditor.prototype.selectLastProperty): Highlights the last property.
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._insertNewlineAfterCurrentLine): Inserts a newline after the currently selected line.
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey.switchRule):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey): Pressing shift-tab will move the cursor to the previous non-word character that is immediately after a word character.
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey.switchRule):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey.highlightNextNameOrValue):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey): Pressing tab will move the cursor to each space character until the end of the line is reached, at
        which point the cursor will move to the beginning of the next line.  Once the cursor is at the last line, pressing tab again will insert a newline.
        * UserInterface/Views/RulesStyleDetailsPanel.js:
        (WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionEditorNextRule): Switches the focused rule to the next section.
        (WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionEditorPrevRule): Switches the focused rule to the previous section.

2015-06-24  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: console.group looks poor in console
        https://bugs.webkit.org/show_bug.cgi?id=146295

        Reviewed by Timothy Hatcher.

        * Localizations/en.lproj/localizedStrings.js:
        String for the default group name if you use console.group() without a name parameter.

        * UserInterface/Views/LogContentView.css:
        (.console-group-title::before):
        Tweak the positioning and eliminate the log level ::before image.

        * UserInterface/Views/ConsoleMessageView.js:
        (WebInspector.ConsoleMessageView):
        Reorder a bit to reduce a couple branches.

        (WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
        Take a very straightforward approach for group names.

2015-06-24  Devin Rousso  <drousso@apple.com>

        Web Inspector: Show warning icon for invalid CSS properties and/or values
        https://bugs.webkit.org/show_bug.cgi?id=145657

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/CSSCompletions.js:
        (WebInspector.CSSCompletions.prototype.getClosestPropertyName): Calculates the levenshtein distance between a given property and every existing property name.  Returns the property name with the smallest distance or, in the case of multiple properties having the same distance, the first property in alphabetical order.
        (WebInspector.CSSCompletions.prototype.propertyRequiresWebkitPrefix): Retruns if the property name exists only with a '-webkit-' prefix.
        (WebInspector.CSSCompletions):
        * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
        (.css-style-text-editor > .CodeMirror .CodeMirror-lines .invalid-warning-marker):
        (.css-style-text-editor > .CodeMirror .CodeMirror-lines .invalid-warning-marker.clickable:hover):
        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded.duplicatePropertyExistsBelow): Determines if there exists a property below (visually) the given property that has the same name.
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded.generateInvalidMarker): Creates a warning icon marker at the given position with the given title.
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded.instancesOfProperty): Returns the number of properties in the rule that have the same name.
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): A button with a warning icon is now added to the beginning of an invalid property.  If this button is clicked, the property is replaced with the closest matching property and the autocomplete menu is opened.

2015-06-24  Devin Rousso  <drousso@apple.com>

        Web Inspector: Background of Computed Styles is missing
        https://bugs.webkit.org/show_bug.cgi?id=146209

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ComputedStyleDetailsPanel.css:
        (.computed-style-properties.details-section): Added white background.

2015-06-24  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Right/Left arrow no longer works in console to expand/collapse ObjectTrees
        https://bugs.webkit.org/show_bug.cgi?id=141949

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ConsoleMessageView.js:
        (WebInspector.ConsoleMessageView):
        (WebInspector.ConsoleMessageView.prototype.get expandable):
        (WebInspector.ConsoleMessageView.prototype.set expandable): Deleted.
        (WebInspector.ConsoleMessageView.prototype._appendExtraParameters):
        (WebInspector.ConsoleMessageView.prototype._appendStackTrace):
        (WebInspector.ConsoleMessageView.prototype._makeExpandable):
        Clarify what makes a ConsoleMessageView expandable or not.

        (WebInspector.ConsoleMessageView.prototype.expand):
        (WebInspector.ConsoleMessageView.prototype.collapse):
        Handle the expand/collapse cases which could apply to the
        ConsoleMessageView itself or an inner ObjectTreeView if that is all we contain.

        (WebInspector.ConsoleMessageView.prototype._formatParameterAsObject):
        Delete out of date comment. A console.log("message", obj) will want the
        object tree member variable to handle auto expanding/collapsing of the
        single object in the message.

        * UserInterface/Views/LogContentView.js:
        (WebInspector.LogContentView.prototype._leftArrowWasPressed):
        (WebInspector.LogContentView.prototype._rightArrowWasPressed):
        Use the higher level ConsoleMessageView objects accessible from the element
        to call through to expand/collapse.

2015-06-23  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Reduce QuickConsole DidResize events if it did not change
        https://bugs.webkit.org/show_bug.cgi?id=146258

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/QuickConsole.js:
        (WebInspector.QuickConsole.prototype.consoleLogVisibilityChanged):
        Do not trigger the event unless there was a change in visibility.

2015-06-23  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: TextEditor scroll position not correctly restored when switching tabs
        https://bugs.webkit.org/show_bug.cgi?id=146254

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/TextEditor.js:
        (WebInspector.TextEditor.prototype.updateLayout):
        Workaround a larger issue with ContentView restoration so that
        TextEditors restore their scroll position as expected.

2015-06-23  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Some brief previews are incorrectly treated as lossless
        https://bugs.webkit.org/show_bug.cgi?id=146247

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ObjectPreviewView.js:
        (WebInspector.ObjectPreviewView.prototype._appendEntryPreviews):
        (WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
        When we have a brief preview we may need to override lossless / overflow
        if the preview view itself shows less properties than were in the preview.

2015-06-23  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Layout & Rendering timeline should show paint and layout records in separate rows
        https://bugs.webkit.org/show_bug.cgi?id=146119

        Reviewed by Timothy Hatcher.

        This patch makes the original Layout & Rendering timeline visually consistent with the Rendering Frames
        timeline, which uses green to distinguish Paint from Layout. In order to support having record bars with
        different colors in the same overview graph, the timeline has been split into two rows.

        * UserInterface/Views/LayoutTimelineOverviewGraph.css:
        (.timeline-overview-graph.layout > .graph-row):
        (.timeline-overview-graph.layout > .graph-row > .timeline-record-bar):
        (.timeline-overview-graph.layout > .graph-row > .timeline-record-bar > .segment):
        New row styles.

        * UserInterface/Views/LayoutTimelineOverviewGraph.js:
        (WebInspector.LayoutTimelineOverviewGraph.prototype.reset.createRecordRow):
        (WebInspector.LayoutTimelineOverviewGraph.prototype.reset):
        (WebInspector.LayoutTimelineOverviewGraph.prototype.updateLayout):
        (WebInspector.LayoutTimelineOverviewGraph.prototype._updateRowLayout.createBar):
        (WebInspector.LayoutTimelineOverviewGraph.prototype._updateRowLayout):
        (WebInspector.LayoutTimelineOverviewGraph.prototype._layoutTimelineRecordAdded):
        (WebInspector.LayoutTimelineOverviewGraph): Deleted.
        Added bookkeeping objects for timeline row elements and their associated records.

        * UserInterface/Views/TimelineRecordBar.css:
        (.timeline-record-bar.timeline-record-type-layout.layout-timeline-record-paint > .segment):
        New style for layout record event types.

        * UserInterface/Views/TimelineRecordBar.js:
        (WebInspector.TimelineRecordBar.prototype.set records):
        Add style class for eventType, if present.

2015-06-22  Devin Rousso  <drousso@apple.com>

        Web Inspector: gaps between sections of the styles sidebar rules tab confusing, should say "Media: all"
        https://bugs.webkit.org/show_bug.cgi?id=142918

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/RulesStyleDetailsPanel.css:
        (.sidebar > .panel.details.css-style > .content.filter-in-progress .label:not(.filter-section-non-matching) ~ .label):
        Now properly adds padding to filtered labels.
        (.sidebar > .panel.details.css-style > .content.filter-in-progress .label ~ .label): Deleted.
        * UserInterface/Views/RulesStyleDetailsPanel.js:
        (WebInspector.RulesStyleDetailsPanel.prototype.refresh): If a section of CSS rules has no media or inheritance, add
        a label that says "Media: all" above the section.

2015-06-22  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Consider making read-only style rules have a darker background
        https://bugs.webkit.org/show_bug.cgi?id=145983

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CSSStyleDeclarationSection.css:
        (.style-declaration-section:not(.locked)):
        (.style-declaration-section): Deleted.
        * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
        (.css-style-text-editor.read-only > .CodeMirror):

2015-06-22  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Unable to select text of user input messages in the console
        https://bugs.webkit.org/show_bug.cgi?id=145888

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ConsoleMessageView.css:
        (.console-user-command > .console-message-text):

2015-06-20  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Unable to select parent element in the DOM tree path bar
        https://bugs.webkit.org/show_bug.cgi?id=145810

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/DOMTreeContentView.js:
        (WebInspector.DOMTreeContentView.prototype.get selectionPathComponents):
        * UserInterface/Views/HierarchicalPathComponent.js:
        (WebInspector.HierarchicalPathComponent.prototype.get selectedPathComponent):
        (WebInspector.HierarchicalPathComponent.prototype._selectElementMouseUp):
        (WebInspector.HierarchicalPathComponent.prototype._selectElementSelectionChanged):
        (WebInspector.HierarchicalPathComponent):
        (WebInspector.HierarchicalPathComponent.prototype._selectElementMouseDown): Deleted.

2015-06-19  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Duplication of style attribute in rules panel for shadow content
        https://bugs.webkit.org/show_bug.cgi?id=146176

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        The styleText can be non-empty for a readonly editor if the editor is for
        the style attribute of a shadow dom node. Instead of assuming it is empty
        we can just clear the editor ourselves and regenerate from properties.

2015-06-19  Devin Rousso  <drousso@apple.com>

        Web Inspector: Highlight currently edited CSS selector
        https://bugs.webkit.org/show_bug.cgi?id=145658

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/CSSStyleDeclarationSection.js:
        (WebInspector.CSSStyleDeclarationSection): Added event listeners on the selector text for mouseover and mouseout.
        (WebInspector.CSSStyleDeclarationSection.prototype._highlightNodesWithSelector): Selector text mouseover action that highlights all nodes that match the selector string in the corresponding frame.
        (WebInspector.CSSStyleDeclarationSection.prototype._hideHighlightOnNodesWithSelector): Selector text mouseout action that clears all highlights on matching nodes.
        * UserInterface/Views/DOMNode.js:
        (WebInspector.DOMNode): If the payload contains a frameId, then save it.
        (WebInspector.DOMNode.frameIdentifier):

2015-06-19  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Overlapping dashboard views causing lots of layers in source view
        https://bugs.webkit.org/show_bug.cgi?id=146153

        Reviewed by Darin Adler.

        * UserInterface/Views/DashboardContainerView.css:
        (.toolbar .dashboard:not(.visible)):
        Hide non-visible dashboard views. The !important is used
        to override more specific toolbar .dashboard.foo styles.

2015-06-19  Devin Rousso  <drousso@apple.com>

        Web Inspector: Make rule icon toggle all properties for that selector on and off
        https://bugs.webkit.org/show_bug.cgi?id=146031

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CSSStyleDeclarationSection.css:
        (.style-declaration-section > .header > .icon.toggle-able:hover):
        (.style-declaration-section.rule-disabled > .header > .icon):
        * UserInterface/Views/CSSStyleDeclarationSection.js:
        (WebInspector.CSSStyleDeclarationSection): Added event listener to selector icon to toggle commenting of all properties for that rule.
        (WebInspector.CSSStyleDeclarationSection.prototype._toggleRuleOnOff): Adds or removes comments to all properties for that rule.
        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype.uncommentAllProperties.uncommentProperties):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype.uncommentAllProperties): Uncomments all properties.
        (WebInspector.CSSStyleDeclarationTextEditor.prototype.commentAllProperties): Comments out all properties.
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertyCheckboxChanged): Moved comment logic to its own function.
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertyCommentCheckboxChanged): Moved uncomment logic to its own function.

2015-06-19  Jon Lee  <jonlee@apple.com>

        Update font and font-family keyword completions
        https://bugs.webkit.org/show_bug.cgi?id=144558
        <rdar://problem/20795292>

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/CSSKeywordCompletions.js: Replace -webkit-system-font and
        -apple-system-font with -apple-system, which is the recommended token for getting the
        system font. Also add -title{1,2,3} for font, as they were missing, but already exist
        in font-family.

2015-06-19  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Avoid getOwnPropertyNames/Symbols on very large lists
        https://bugs.webkit.org/show_bug.cgi?id=146141

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
        (WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded):
        When building completions for a large array, instead of building a list of all the indices
        just send a single number back to the frontend and let it generate a list for completion.
        We should do even better and avoid building a lookup table here for completion of an index.

2015-06-18  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Rendering Frames timeline selection should snap to frame boundaries
        https://bugs.webkit.org/show_bug.cgi?id=146120

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/RenderingFrameTimelineOverview.js:
        Enable snapping to frame boundaries.

        * UserInterface/Views/TimelineRecordingContentView.js:
        (WebInspector.TimelineRecordingContentView.prototype._updateFrameSelection):
        Updated filtering to account for ruler snapping.

        * UserInterface/Views/TimelineRuler.js:
        (WebInspector.TimelineRuler.prototype.get snapInterval):
        (WebInspector.TimelineRuler.prototype.set snapInterval):
        (WebInspector.TimelineRuler.prototype.set selectionStartTime):
        (WebInspector.TimelineRuler.prototype.set selectionEndTime):
        (WebInspector.TimelineRuler.prototype._snapValue):
        (WebInspector.TimelineRuler.prototype._handleMouseMove):
        Added support for snapping to a specified interval.

        * UserInterface/Views/TimelineSidebarPanel.js:
        Removed unnecessary code.

2015-06-18  Devin Rousso  <drousso@apple.com>

        Web Inspector: Add a filter for CSS properties in the Styles sidebar
        https://bugs.webkit.org/show_bug.cgi?id=145536

        Reviewed by Timothy Hatcher.

        * UserInterface/Base/Utilities.js: Added function to Strings that returns an array of all matching indexes of a given string.
        (.value):
        * UserInterface/Views/CSSStyleDeclarationSection.js:
        (WebInspector.CSSStyleDeclarationSection):
        (WebInspector.CSSStyleDeclarationSection.prototype.refresh.appendSelector):
        (WebInspector.CSSStyleDeclarationSection.prototype.findMatchingPropertiesAndSelectors): Loops through the property list and selectors of each section to find matches to the filtered text.
        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype.findMatchingProperties): Searches through the properties list to find and highlight all matching properties.
        (WebInspector.CSSStyleDeclarationTextEditor.prototype.removeNonMatchingProperties): Removes all properties that do not match and highlights the specific matched text in matching properties.
        (WebInspector.CSSStyleDeclarationTextEditor.prototype.resetFilteredProperties): Restores all properties to full visibility and removes any highlighting.
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): Classes are added to selections of the text editor of that partiular selection contains text which matches the filter (see CSSStyleDetailsSidebarPanel.css for different classes).
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._iterateOverProperties): If a filter is active, find properties matching the filter instead of all properties.
        * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
        (.sidebar > .panel.details.css-style > .content.has-filter-bar + .filter-bar):
        (.sidebar > .panel.details.css-style > .content:not(.has-filter-bar) + .filter-bar):
        * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
        (WebInspector.CSSStyleDetailsSidebarPanel): Added a filter bar to the CSS sidebar.
        (WebInspector.CSSStyleDetailsSidebarPanel.prototype._switchPanels): Switching panels preserves and applies filter bar text.
        (WebInspector.CSSStyleDetailsSidebarPanel.prototype._filterDidChange): Function called when the filter bar text changes that calls the current panel's filterDidChange function if it exists.
        * UserInterface/Views/FilterBar.js: Added function and variable to check if the text in the filter bar had changed.
        * UserInterface/Views/MetricsStyleDetailsPanel.js:
        (WebInspector.MetricsStyleDetailsPanel.prototype.refresh): Now calls superclass refresh.
        (WebInspector.MetricsStyleDetailsPanel): Added delegate variable to constructor.
        * UserInterface/Views/RulesStyleDetailsPanel.css:
        (.sidebar > .panel.details.css-style > .content.filter-in-progress .label):
        (.sidebar > .panel.details.css-style > .content.filter-in-progress .label ~ .label):
        (.sidebar > .panel.details.css-style > .content.filter-in-progress .label.filter-matching-label):
        (.sidebar > .panel.details.css-style > .content.filter-in-progress .new-rule):
        (.sidebar > .panel.details.css-style > .content.filter-in-progress .style-declaration-section:not(.filter-section-non-matching) ~ .label:not(.filter-section-non-matching)):
        (.sidebar > .panel.details.css-style > .content:not(.filter-in-progress) > .rules > .new-rule + .style-declaration-section):
        (.sidebar > .panel.details.css-style > .content > .rules:not(.filter-non-matching) > .no-filter-results):
        (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules.filter-non-matching > .no-filter-results):
        (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules.filter-non-matching > .no-filter-results > .no-filter-results-message):
        * UserInterface/Views/RulesStyleDetailsPanel.js:
        (WebInspector.RulesStyleDetailsPanel): Added delegate variable to constructor.
        (WebInspector.RulesStyleDetailsPanel.prototype.refresh): Now calls superclass refresh.
        (WebInspector.RulesStyleDetailsPanel.prototype.filterDidChange): Function to search through the computed styles list and highlight all matched properties and selectors of the filter bar text, turning all non matching properties slightly opaque (unless a selector for that property is a match).
        (WebInspector.StyleDetailsPanel): Added delegate variable to constructor.
        (WebInspector.StyleDetailsPanel.prototype.refresh): Added event dispatch for panel refresh.

2015-06-18  Devin Rousso  <drousso@apple.com>

        Web Inspector: Ability to Copy entire CSS Rule from Styles Sidebar
        https://bugs.webkit.org/show_bug.cgi?id=138812

        Reviewed by Timothy Hatcher.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Views/CSSStyleDeclarationSection.js:
        (WebInspector.CSSStyleDeclarationSection): Right clicking on the header of a rule will replcae the default context menu to allow copying of the entire rule to the clipboard.
        (WebInspector.CSSStyleDeclarationSection.prototype._handleContextMenuEvent): Creates a new context menu to copy the entire CSS rule.
        (WebInspector.CSSStyleDeclarationSection.prototype._generateCSSRuleString): Generates a string representing the formatted CSS rule.

2015-06-18  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Improve a few more node preview types
        https://bugs.webkit.org/show_bug.cgi?id=146048

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/FormattedValue.js:
        (WebInspector.FormattedValue.createElementForNodePreview):

2015-06-18  Devin Rousso  <drousso@apple.com>

        Web Inspector: New Rule button doesn't reveal the newly added rule if not visible upon creation
        https://bugs.webkit.org/show_bug.cgi?id=117600

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/RulesStyleDetailsPanel.js: Made previousFocusedSection into a member variable of the RulesStyleDetailsPanel.  This way, when the nodeStyles is refreshed (when a new rule is added), the previousFocusedSection will be scrolled into view.
        (WebInspector.RulesStyleDetailsPanel):
        (WebInspector.RulesStyleDetailsPanel.prototype.refresh.appendStyleSection):
        (WebInspector.RulesStyleDetailsPanel.prototype.nodeStylesRefreshed):
        (WebInspector.RulesStyleDetailsPanel.prototype.refresh): Deleted.

2015-06-18  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r185671.
        https://bugs.webkit.org/show_bug.cgi?id=146114

        Caused frequent flaky failures on profiler tests (Requested by
        ap on #webkit).

        Reverted changeset:

        "Web Inspector: Improve a few more node preview types"
        https://bugs.webkit.org/show_bug.cgi?id=146048
        http://trac.webkit.org/changeset/185671

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

        Web Inspector: Improve a few more node preview types
        https://bugs.webkit.org/show_bug.cgi?id=146048

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/FormattedValue.js:
        (WebInspector.FormattedValue.createElementForNodePreview):

2015-06-17  Diego Pino Garcia  <dpino@igalia.com>

        Web Inspector: Show/Hide sidebar buttons have inconsistent highlighted state
        https://bugs.webkit.org/show_bug.cgi?id=145073

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/ContentBrowserTabContentView.js:
        (WebInspector.ContentBrowserTabContentView.prototype._detailsSidebarPanelSelected):

2015-06-16  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Inspector Scripts evaluated in the page should not be searchable
        https://bugs.webkit.org/show_bug.cgi?id=146040

        Reviewed by Darin Adler.

        Any script with a __WebInspector source URL will be hidden by the tools.
        There were a number of ways the inspector could evaluate script on the page
        without getting the sourceURL and therefore not getting hidden. Audit
        all cases of Runtime.evaluate, Runtime.callFunctionOn, and
        Debugger.evaluateOnCallFrame, to ensure we have an appropriate source URL.

        * UserInterface/Base/Utilities.js:
        (appendWebInspectorSourceURL):
        Helper to append a __WebInspectorInternal__ sourceURL to a string that may
        be evaluated directly on the inspected context.

        * UserInterface/Controllers/DOMTreeManager.js:
        (WebInspector.DOMTreeManager.domNodeResolved):
        * UserInterface/Controllers/JavaScriptLogViewController.js:
        (WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted): Deleted.
        * UserInterface/Controllers/RuntimeManager.js:
        * UserInterface/Models/DOMTree.js:
        (WebInspector.DOMTree.prototype._requestRootDOMNode):
        * UserInterface/Protocol/RemoteObject.js:
        (WebInspector.RemoteObject.):
        * UserInterface/Views/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptExpression):
        Ensure all cases that evaluate directly on the inspected page / context
        have the intenral source URL.

2015-06-16  Matt Baker  <mattbaker@apple.com>

        Web Inspector: REGRESSION (r171645): up/down key navigation of timeline sidebar tree elements is broken when scope bar filters are applied
        https://bugs.webkit.org/show_bug.cgi?id=142315

        Reviewed by Timothy Hatcher.

        TreeOutline's element traversal algorithms have been rewritten to correctly skip over unrevealed tree elements.
        Previously traversal would halt after encountering a hidden element. We now use an iterative approach, with
        each iteration producing the next (or previous) element, with respect to the last candidate element. Iteration
        begins with the current node, and halts once a valid element is found or candidate elements are exhausted.

        * UserInterface/Views/TreeOutline.js:
        (WebInspector.TreeElement.prototype.traverseNextTreeElement.shouldSkip):
        (WebInspector.TreeElement.prototype.traverseNextTreeElement):
        (WebInspector.TreeElement.prototype.traversePreviousTreeElement.shouldSkip):
        (WebInspector.TreeElement.prototype.traversePreviousTreeElement):

2015-06-15  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Stylize Node Previews
        https://bugs.webkit.org/show_bug.cgi?id=145990

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/FormattedValue.js:
        (WebInspector.FormattedValue.createElementForNodePreview):
        Style a node preview like a DOMNode. It is a simple small snippet.

        * UserInterface/Views/ObjectPreviewView.js:
        (WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
        Use node previews in ObjectPreviewViews.

2015-06-15  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Improve some cases of "Object?" Type Annotations
        https://bugs.webkit.org/show_bug.cgi?id=145954

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/TypeTokenView.js:
        (WebInspector.TypeTokenView.prototype._displayTypeName):
        The TypeSet inclusions cover all types, so we can use the leastCommonAncestor
        name as long as the type set is just object or object and null/undefined.
        If the typeset includes other primitives then it will gracefully go down
        below to become something like Object or (many). 

2015-06-14  Andres Gomez  <agomez@igalia.com>

        [GTK] Web Inspector: Update icon so Rendering Frames timeline distinguish between layout and painting
        https://bugs.webkit.org/show_bug.cgi?id=145956

        Reviewed by Carlos Garcia Campos.

        * UserInterface/Images/gtk/TimelineRecordPaint.svg:
        Changed to use green color.

2015-06-13  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: console.table() with a list of objects no longer works
        https://bugs.webkit.org/show_bug.cgi?id=145952

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ConsoleMessageView.js:
        (WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
        (WebInspector.ConsoleMessageView.prototype._formatParameterAsTable):
        Don't allow expanding a cosole.table message, and don't output the total
        object even if the table preview was lossless, as the experience is poor.

2015-06-11  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: CSS Regions not displaying DOM Trees in inspector
        https://bugs.webkit.org/show_bug.cgi?id=145903

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/DOMTreeManager.js:
        (WebInspector.DOMTreeManager.prototype._updateContentFlowFromPayload):
        Fix function inside the assertion to actually return a value.

        * UserInterface/Views/DOMTreeOutline.js:
        (WebInspector.DOMTreeOutline.prototype.update):
        For DOMTreeOutlines without a root node, don't clear the tree on updates,
        since that will clear the nodes that have already been added explicitly.

        * UserInterface/Views/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
        * UserInterface/Views/ResourcesTabContentView.js:
        (WebInspector.ResourcesTabContentView.prototype.canShowRepresentedObject):
        ResourceTab and sidebar can deal with ContentFlow related views.

2015-06-11  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: IndexedDB data not showing for MDN example page
        https://bugs.webkit.org/show_bug.cgi?id=145851

        Reviewed by Anders Carlsson.

        * UserInterface/Views/StorageSidebarPanel.js:
        (WebInspector.StorageSidebarPanel.prototype._indexedDatabaseWasAdded):
        Fix typo in Storage tab refactoring that was causing an
        uncaught exception and not showing Indexed DBs.

2015-06-11  Devin Rousso  <drousso@apple.com>

        Web Inspector: font-family names interpreted as color
        https://bugs.webkit.org/show_bug.cgi?id=123468

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CodeMirrorAdditions.js: Added logic to prevent color picker buttons from appearing before colors that come after a quote character (both " and ').

2015-06-11  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Rendering Frames timeline should distinguish between layout and painting
        https://bugs.webkit.org/show_bug.cgi?id=145856

        Reviewed by Timothy Hatcher.

        This patch formalizes the runloop task concept in the frontend, adds new Paint task type to the Rendering
        Frames timeline, and reorders UI elements such as chart sections and frame "segments" to match the order in
        which tasks are executed within the runloop.

        We will need to make UI changes to the standard Timelines view in a follow up patch, since tree element icons
        for Paint records now use a different color that those of other Layout records.

        * UserInterface/Images/TimelineRecordPaint.svg:
        Changed to use green color.

        * UserInterface/Models/RenderingFrameTimelineRecord.js:
        (WebInspector.RenderingFrameTimelineRecord):
        (WebInspector.RenderingFrameTimelineRecord.displayNameForTaskType):
        (WebInspector.RenderingFrameTimelineRecord.prototype.durationForTask.get validRecordForTaskType):
        (WebInspector.RenderingFrameTimelineRecord.prototype.durationForTask.set return):
        (WebInspector.RenderingFrameTimelineRecord.prototype.durationForTask):
        (WebInspector.RenderingFrameTimelineRecord.prototype.get durationRemainder): Deleted.
        (WebInspector.RenderingFrameTimelineRecord.prototype.durationForRecords.get var): Deleted.
        Added TaskType enum to decouple runloop task types from timeline record types, and removed duration remainder
        support now that "Other" has an associated task type.

        * UserInterface/Views/RenderingFrameTimelineDataGridNode.js:
        (WebInspector.RenderingFrameTimelineDataGridNode.prototype.get data):
        (WebInspector.RenderingFrameTimelineDataGridNode.prototype.createCellContent):
        * UserInterface/Views/RenderingFrameTimelineView.js:
        (WebInspector.RenderingFrameTimelineView):
        Added new grid column for Paint task, reordered columns to be consistent with the rest of the UI.

        * UserInterface/Views/TimelineRecordFrame.css:
        (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-script):
        (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-layout):
        (.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-paint):
        (.timeline-record-frame > .frame > .duration): Deleted.
        (.timeline-record-frame > .frame > .duration.timeline-record-type-network): Deleted.
        (.timeline-record-frame > .frame > .duration.timeline-record-type-layout): Deleted.
        (.timeline-record-frame > .frame > .duration.timeline-record-type-script): Deleted.
        Updated styles for Render Frame tasks.

        * UserInterface/Views/TimelineRecordFrame.js:
        (WebInspector.TimelineRecordFrame.prototype._updateChildElements.createDurationElement):
        Updated to use Render Frame task types. Frame segment insertion order is now consistent with the rest of the UI.

        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart.chartData.Object.keys.map):
        (WebInspector.TimelineSidebarPanel.set this):
        (WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart.get this):
        (WebInspector.TimelineSidebarPanel): Deleted.
        (WebInspector.TimelineSidebarPanel.prototype._refreshFrameSelectionChart.durationForRecordType): Deleted.
        (WebInspector.TimelineSidebarPanel.prototype._refreshFrameSelectionChart): Deleted.
        Updated to use Render Frame task types.

2015-06-11  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Wrong overview graph shown after switching from Frames to Timelines
        https://bugs.webkit.org/show_bug.cgi?id=145778

        Reviewed by Timothy Hatcher.

        TimelineSidebarPanel stores a reference to the selected timeline before switching to the Rendering Frames view,
        which is used to restore the tree selection, overview graph, and content views when switching back to the
        standard Timelines view. However if another recording is created before switching, the previously selected
        timeline tracked by the sidebar cannot be restored, since it doesn't belong to the active recording.

        This is addressed by storing the previously selected timeline type, rather than the timeline object itself.
        The type is also updated whenever the selected timeline in the tree outline changes, ensuring that the correct
        timeline will always be restored.

        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.get if.get if):
        (WebInspector.TimelineSidebarPanel.get else): Deleted.
        (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.get if): Deleted.
        (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject): Deleted.

2015-06-08  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Clearing active Timeline recording should stop capturing
        https://bugs.webkit.org/show_bug.cgi?id=145767

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/TimelineRecordingContentView.js:
        (WebInspector.TimelineRecordingContentView.prototype._clearTimeline):
        Stop capturing if necessary.

2015-06-07  Tobias Reiss  <tobi+webkit@basecode.de>

        Web Inspector: Add PrettyPrinter CSSRule tests
        https://bugs.webkit.org/show_bug.cgi?id=145740

        Reviewed by Brian Burg.

        * Tools/PrettyPrinting/css-rule-tests/add-whitespace-after-colon-expected.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/add-whitespace-after-colon.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/add-whitespace-after-comma-expected.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/add-whitespace-after-comma.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/do-not-append-semicolon-expected.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/do-not-append-semicolon.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/invalid-property-is-not-removed-expected.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/invalid-property-is-not-removed.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/keep-prefixed-value-expected.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/keep-prefixed-value.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-colon-expected.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-colon.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-comment-expected.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-comment.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-invalid-property-expected.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-invalid-property.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-prefixed-property-expected.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-prefixed-property.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-property-expected.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-property.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-semicolon-expected.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/remove-whitespace-before-semicolon.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-comment-expected.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-comment.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-invalid-property-expected.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-invalid-property.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-prefixed-property-expected.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-prefixed-property.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-property-expected.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/split-comment-followed-by-property.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-comment-expected.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-comment.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-invalid-property-expected.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-invalid-property.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-prefixed-property-expected.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-prefixed-property.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-property-expected.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/split-invalid-property-followed-by-property.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-comment-expected.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-comment.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-invalid-property-expected.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-invalid-property.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-prefixed-property-expected.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-prefixed-property.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-property-expected.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/split-property-followed-by-property.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/split-property-without-semicolon-followed-by-comment-and-property-expected.css: Added.
        * Tools/PrettyPrinting/css-rule-tests/split-property-without-semicolon-followed-by-comment-and-property.css: Added.

2015-06-05  Devin Rousso  <drousso@apple.com>

        Web Inspector: Fixing code style and adding more limitations for bug 141262
        https://bugs.webkit.org/show_bug.cgi?id=145668

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/CSSCompletions.js:
        (WebInspector.CSSCompletions.prototype.isValidPropertyName): Loops through the full property list and returns true only if a property exactly matches the given property name.
        (WebInspector.CSSCompletions): Added isValidPropertyName function.
        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): Added logic to limit the invalid class marker to only the property value if the property name is an actual property and to prevent invalid style from being applied incorrectly.

2015-06-05  Devin Rousso  <drousso@apple.com>

        Web Inspector: Highlighting a CSS section does not deselect previously highlighted CSS sections
        https://bugs.webkit.org/show_bug.cgi?id=145399

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CSSStyleDeclarationSection.js:
        (WebInspector.CSSStyleDeclarationSection): Added delegate variable to constructor.
        (WebInspector.CSSStyleDeclarationSection.prototype.clearSelection):
        (WebInspector.CSSStyleDeclarationSection.prototype.cssStyleDeclarationTextEditorFocused):
        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor): Added event listener to codeMirror on "focus".
        (WebInspector.CSSStyleDeclarationTextEditor.prototype.clearSelection): Sets the cursor of the codeMirror to character 0 on line 0.
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._editorFocused): Function that calls the delegate function "editorFocused" when the codeMirror is focused
        * UserInterface/Views/RulesStyleDetailsPanel.js:
        (WebInspector.RulesStyleDetailsPanel.prototype.refresh.appendStyleSection):
        (WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionEditorFocused): Loops through all sections except for the ignoredSection (parameter) and clears the selected text in each of them.

2015-06-05  Joseph Pecoraro  <pecoraro@apple.com>

        REGRESSION (r185213): TypeError: undefined is not an object (evaluating 'WebInspector.clearLogOnReload.value')
        https://bugs.webkit.org/show_bug.cgi?id=145695

        Reviewed by Mark Lam.

        Move and rename the clear log on reload setting property from
        WebInspector (Main.js) to LogManager (shared with tests).

        * UserInterface/Base/Main.js:
        (WebInspector.loaded): Deleted.
        * UserInterface/Controllers/LogManager.js:
        (WebInspector.LogManager):
        (WebInspector.LogManager.prototype._delayedMessagesCleared):
        * UserInterface/Views/LogContentView.js:
        (WebInspector.LogContentView.prototype._sessionStarted):
        (WebInspector.LogContentView.prototype._handleContextMenuEvent):
        (WebInspector.LogContentView.prototype._toggleClearLogOnReloadSetting):

2015-06-05  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: [REGRESSION] Dashboard's resource count does not reset when main resource navigates
        https://bugs.webkit.org/show_bug.cgi?id=144553

        Add missing _mainResourceDidChange, which was removed after switching to the tabs UI.

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/DefaultDashboard.js:
        (WebInspector.DefaultDashboard):
        _waitingForFirstMainResourceToStartTrackingSize is not used anywhere, remove it.

        (WebInspector.DefaultDashboard.prototype._mainResourceDidChange): Added.

        (WebInspector.DefaultDashboard.prototype._resourceSizeDidChange): Removed.
        Unused.

2015-06-05  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Switch to doughnut chart and remove idle time in the Rendering Frames timeline
        https://bugs.webkit.org/show_bug.cgi?id=145671

        Reviewed by Timothy Hatcher.

        * Localizations/en.lproj/localizedStrings.js:
        "Idle" string no longer used.

        * UserInterface/Views/TimelineRecordFrame.js:
        Reduced maximum frame width by 2px.

        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel):
        (WebInspector.TimelineSidebarPanel.prototype._refreshFrameSelectionChart):
        Added inner radius to chart and removed "Idle" value.

2015-06-04  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Class constructor appearing as Object Tree property does not include parameters
        https://bugs.webkit.org/show_bug.cgi?id=145661

        Reviewed by Timothy Hatcher.

        * UserInterface/Protocol/RemoteObject.js:
        (WebInspector.RemoteObject):
        (WebInspector.RemoteObject.fromPrimitiveValue):
        (WebInspector.RemoteObject.fromPayload):
        (WebInspector.RemoteObject.prototype.get functionDescription):
        Include the className as only use it for "class" types to override
        the normal description string. Stash the actual function description
        in a property we can access later.

        * UserInterface/Views/ObjectTreePropertyTreeElement.js:
        (WebInspector.ObjectTreePropertyTreeElement.prototype._functionParameterString):
        Even if this property is a "class" we want to specifically parse it's
        function description string. So use functionDescription.

2015-06-04  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Close and open tabs on mouseup, not mousedown
        https://bugs.webkit.org/show_bug.cgi?id=145656

        Match Safari's behaviour.

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/TabBar.js:
        (WebInspector.TabBar):
        (WebInspector.TabBar.prototype.set newTabItem):
        (WebInspector.TabBar.prototype._handleMouseDown):
        (WebInspector.TabBar.prototype._handleClick): Added.
        (WebInspector.TabBar.prototype._handleMouseUp):
        (WebInspector.TabBar.prototype._handleNewTabClick): Added.
        (WebInspector.TabBar.prototype._handleMouseMoved):

2015-06-04  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Decrease tabs height to match Safari's tabs height
        https://bugs.webkit.org/show_bug.cgi?id=145647

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/TabBar.css:
        (.tab-bar):

2015-06-04  Tobias Reiss  <tobi+webkit@basecode.de>
        
        Web Inspector: Activity Viewer does not update on "Clear Log on reload"
        https://bugs.webkit.org/show_bug.cgi?id=145466
        
        Reviewed by Joseph Pecoraro.

        1. Isolate logic within LogManager and remove hacks/logic from all other files
        2. Within LogManager: Differentiate "messagesCleared" calls
         a) that happen as a result of a "requested clear" by Frontend (e.g. Button)
         b) that happen on page reload and install "clear/keep-on-page-reload" logic
         c) that happen on frame navigated, console.clear() or clear()
        3. Unify "ActiveLogCleared" and "Cleared" events to "Cleared"
        
        For step 2b and 2c it is important to delay the handling and wait until
        "_mainResourceDidChange" has determined whether a page reload happened or
        not.
        
        * UserInterface/Base/Main.js:
        (WebInspector.loaded):
        Store "clear-log-on-reload" setting globally.
        
        * UserInterface/Controllers/IssueManager.js:
        (WebInspector.IssueManager):
        * UserInterface/Models/DefaultDashboard.js:
        (WebInspector.DefaultDashboard): Deleted.
        * UserInterface/Views/ObjectTreeView.js:
        (WebInspector.ObjectTreeView.prototype._trackWeakEntries): Deleted.
        (WebInspector.ObjectTreeView.prototype._untrackWeakEntries): Deleted.
        (WebInspector.ObjectTreeView): Deleted.
        Remove deleted events.
        
        * UserInterface/Controllers/JavaScriptLogViewController.js:
        (WebInspector.JavaScriptLogViewController.prototype._handleClearShortcut):
        (WebInspector.JavaScriptLogViewController.prototype.clear): Deleted.
        Remove delegate function call and call LogManager directly.
        
        * UserInterface/Controllers/LogManager.js:
        (WebInspector.LogManager):
        (WebInspector.LogManager.prototype.messagesCleared):
        (WebInspector.LogManager.prototype._delayedMessagesCleared):
        (WebInspector.LogManager.prototype.requestClearMessages):
        (WebInspector.LogManager.prototype._mainResourceDidChange):
        Isolate "clear log" logic, especially clear/keep-log-on-reload logic.
        
        * UserInterface/Views/LogContentView.js:
        (WebInspector.LogContentView):
        (WebInspector.LogContentView.prototype._sessionStarted):
        (WebInspector.LogContentView.prototype._handleContextMenuEvent):
        (WebInspector.LogContentView.prototype._logCleared):
        (WebInspector.LogContentView.prototype._toggleClearLogOnReloadSetting):
        (WebInspector.LogContentView.prototype._clearLog):
        (WebInspector.LogContentView.prototype.didClearMessages): Deleted.
        (WebInspector.LogContentView.prototype._sessionsCleared): Deleted.
        (WebInspector.LogContentView.prototype._activeLogCleared): Deleted.
        (WebInspector.LogContentView.prototype._clearLogIgnoringClearMessages): Deleted.
        Make it a consumer of LogManager and remove special hacks. Simplify code.

2015-06-03  Devin Rousso  <drousso@apple.com>

        Web Inspector: if a known CSS property has an unsupported value, only strikethrough the value
        https://bugs.webkit.org/show_bug.cgi?id=141262

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/CSSCompletions.js:
        (WebInspector.CSSCompletions.prototype.nameMatchesValidPropertyExactly): Loops through the full property list and returns true only if a property exactly matches the given property name.
        (WebInspector.CSSCompletions): Added nameMatchesValidPropertyExactly function.
        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): Added logic to limit the invalid class marker to only the property value if the property name is an actual property.

2015-06-03  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Search field bottom border doesn't match the rest of the toolbar
        https://bugs.webkit.org/show_bug.cgi?id=145611

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/Toolbar.css:
        (body:not(.unknown-mac) .toolbar .search-bar > input[type="search"]):

2015-06-03  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Uncaught exception starting a NavigationBar drag and mousing over a different NavigationBar
        https://bugs.webkit.org/show_bug.cgi?id=145589

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/NavigationBar.js:
        (WebInspector.NavigationBar.prototype._mouseDown):
        (WebInspector.NavigationBar.prototype._mouseUp):
        When mouse dragging for navigation bars, only match against navigation
        bar items inside this navigation bar. Also, fix horizontal detection
        of navigation bar items by scanning in the middle of the navigation
        bar instead of the top, which missed the items.

2015-06-03  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Debugger Popover for Node object should have go-to-arrow to show the node in DOM tree
        https://bugs.webkit.org/show_bug.cgi?id=145594

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/DOMTreeManager.js:
        (WebInspector.DOMTreeManager.prototype.inspectElement):
        Previously we could get an exception later on if we tried to
        inspect an element that was not in the DOM. Bail if the node
        is not in the DOM or not.

        * UserInterface/Views/SourceCodeTextEditor.css:
        (.popover .debugger-popover-content > .title > .go-to-arrow):
        * UserInterface/Views/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor.prototype._showPopoverForObject.data.pushNodeToFrontend):
        (WebInspector.SourceCodeTextEditor.prototype._showPopoverForObject):
        For a node type, add a go-to-arrow in the popover if it is in the DOM or not.

2015-06-02  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Remove uses of delete in Sidebar related code
        https://bugs.webkit.org/show_bug.cgi?id=145592

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
        (WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh):
        Clear value instead of deleting.

        * UserInterface/Views/SearchSidebarPanel.js:
        (WebInspector.SearchSidebarPanel.prototype.performSearch):
        Just clear the search identifier. Also assert it (a required string) is always non-falsey.

        * UserInterface/Views/Sidebar.js:
        (WebInspector.Sidebar.prototype.resizerDragEnded): Deleted.
        This entire callback is unnecessary because whenever we start
        a drag we save the value.

2015-06-02  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Sidebar and sometimes ContentView scroll position is lost when switching between tabs
        https://bugs.webkit.org/show_bug.cgi?id=145591

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/Sidebar.js:
        (WebInspector.Sidebar.prototype.removeSidebarPanel):
        When removing a sidebar panel, ensure we call hidden if it was the visible panel.

        * UserInterface/Views/SidebarPanel.js:
        (WebInspector.SidebarPanel):
        (WebInspector.SidebarPanel.prototype.shown):
        (WebInspector.SidebarPanel.prototype.hidden):
        Save and restore content element scroll position when sidebar panels are shown / hidden.

        * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
        (WebInspector.CSSStyleDetailsSidebarPanel.prototype.visibilityDidChange):
        * UserInterface/Views/ComputedStyleDetailsPanel.js:
        (WebInspector.ComputedStyleDetailsPanel.prototype.shown):
        * UserInterface/Views/DetailsSidebarPanel.js:
        (WebInspector.DetailsSidebarPanel.prototype.shown):
        * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
        (WebInspector.LayerTreeDetailsSidebarPanel.prototype.shown):
        (WebInspector.LayerTreeDetailsSidebarPanel.prototype.hidden):
        Cleanup. Since sidebar panels are using ES6 classes, have super class calls use `super`!

2015-06-02  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Use non-monospace font for the frame selector
        https://bugs.webkit.org/show_bug.cgi?id=145586

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/HierarchicalPathComponent.css:
        (.hierarchical-path-component):

2015-06-02  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Dashboard arrow icon on the right is overlapped by a long function/file name
        https://bugs.webkit.org/show_bug.cgi?id=145540

        Also, increase clickable area of the arrow icon.

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/DashboardContainerView.css:
        (.dashboard-container .advance-arrow):
        (.dashboard-container .advance-arrow.advance-forward):
        (.dashboard-container .advance-arrow.advance-backward):
        * UserInterface/Views/DebuggerDashboardView.css:
        (.dashboard.debugger > .location):
        (.toolbar .dashboard.debugger):
        Increase padding on the right so the content of the dashboard would be never be overlayed by the arrow.

2015-06-02  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Shift + Cmd + Left/Right shouldn't switch tabs while editing text
        https://bugs.webkit.org/show_bug.cgi?id=145562

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/TabBrowser.js:
        (WebInspector.TabBrowser):
        Only these keyboard shortcuts should check if we are in an editable field.
        Remove the implicit prevent default so they can fall back to system behavior
        if necessary.

        (WebInspector.TabBrowser.prototype._showNextTabCheckingForEditableField):
        (WebInspector.TabBrowser.prototype._showPreviousTabCheckingForEditableField):
        Bail if we are in an editable field. Otherwise perform the action and prevent default.

2015-06-02  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: ⌘F no longer brings up the find-in-page bar after typing in the quick console
        https://bugs.webkit.org/show_bug.cgi?id=145546

        Reviewed by Timothy Hatcher.

        Scope ContentBrowser keyboard events within the ContentBrowser instead
        of global, where they might conflict between ContentBrowsers. The scoped
        shortcuts now no longer need to be enabled/disabled.

        * UserInterface/Views/ContentBrowser.js:
        (WebInspector.ContentBrowser):
        Scope the keyboard shortcuts.

        (WebInspector.ContentBrowser.prototype.shown):
        (WebInspector.ContentBrowser.prototype.hidden):
        No longer need to control enabling / disabling these non-global shortcuts.

2015-06-01  Jono Wells  <jonowells@apple.com>

        Web Inspector: Type token text descenders touch bottom of container
        https://bugs.webkit.org/show_bug.cgi?id=145544

        Reviewed by Timothy Hatcher.

        Move 1px padding from top to bottom of token.

        * UserInterface/Views/TypeTokenView.css:
        (.type-token):

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

        Web Inspector: Better handle keyboard events in the quick console prompt
        https://bugs.webkit.org/show_bug.cgi?id=145548

        Reviewed by Timothy Hatcher.

        * UserInterface/Base/Main.js:
        (WebInspector.saveDataToFile):
        Move generic InspectorFrontendHost code here.

        * UserInterface/Views/ContentBrowser.js:
        (WebInspector.ContentBrowser.prototype._save):
        (WebInspector.ContentBrowser.prototype._saveAs):
        (WebInspector.ContentBrowser.prototype._saveDataToFile): Deleted.
        Use the generic save code.

        * UserInterface/Controllers/JavaScriptLogViewController.js:
        (WebInspector.JavaScriptLogViewController):
        (WebInspector.JavaScriptLogViewController.prototype._save):
        (WebInspector.JavaScriptLogViewController.prototype._saveAs):
        Handle save keyboard shortcuts while the prompt is focused.

        * UserInterface/Views/LogContentView.js:
        (WebInspector.LogContentView.prototype.focusSearchBar):
        (WebInspector.LogContentView.prototype.save):
        (WebInspector.LogContentView.prototype.saveAs):
        Better handle keyboard shortcut cases in the console prompt for cases
        like a collapsed or split console view.

2015-06-01  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Pause/resume button in the debugger dashboard is vertically misaligned
        https://bugs.webkit.org/show_bug.cgi?id=145534

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ButtonNavigationItem.css:
        (.navigation-bar .item.button.suppress-emboss):
        Never show borders for the pause/resume button.

        * UserInterface/Views/DebuggerDashboardView.css:
        (.dashboard.debugger .navigation-bar .item.button):

2015-05-31  Yusuke Suzuki  <utatane.tea@gmail.com>

        Web Inspector: Drop forEach from WeakMap / WeakSet native member function maps
        https://bugs.webkit.org/show_bug.cgi?id=145497

        Reviewed by Sam Weinig.

        WeakMap / WeakSet don't have forEach method.
        This patch drops it from the native prototype function parameters map.

        * UserInterface/Models/NativeFunctionParameters.js:

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

        Web Inspector: Resources tab navigation sidebar should have a type filter header
        https://bugs.webkit.org/show_bug.cgi?id=145474

        Reviewed by Joseph Pecoraro.

        * Localizations/en.lproj/localizedStrings.js: Updated.

        * UserInterface/Images/UpDownArrows.svg: Make styleable.

        * UserInterface/Main.html: Added new files.

        * UserInterface/Views/LogContentView.js:
        (WebInspector.LogContentView): Drive-by fix. Mark All as exclusive.

        * UserInterface/Views/MultipleScopeBarItem.js: Added.
        (WebInspector.MultipleScopeBarItem):
        (WebInspector.MultipleScopeBarItem.prototype.get element):
        (WebInspector.MultipleScopeBarItem.prototype.get exclusive):
        (WebInspector.MultipleScopeBarItem.prototype.get scopeBarItems):
        (WebInspector.MultipleScopeBarItem.set scopeBarItems.createOption):
        (WebInspector.MultipleScopeBarItem.prototype.set scopeBarItems):
        (WebInspector.MultipleScopeBarItem.prototype.get selected):
        (WebInspector.MultipleScopeBarItem.prototype.set selected):
        (WebInspector.MultipleScopeBarItem.prototype.get selectedScopeBarItem):
        (WebInspector.MultipleScopeBarItem.prototype.set selectedScopeBarItem):
        (WebInspector.MultipleScopeBarItem.prototype._clicked):
        (WebInspector.MultipleScopeBarItem.prototype._selectElementSelectionChanged):
        (WebInspector.MultipleScopeBarItem.prototype._itemSelectionDidChange):

        * UserInterface/Views/NavigationSidebarPanel.js:
        (WebInspector.NavigationSidebarPanel.prototype.matchTreeElementAgainstFilterFunctions):
        (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.matchTextFilter):
        (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.makeVisible):
        (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement):
        (WebInspector.NavigationSidebarPanel.prototype._updateFilter):
        (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
        Improve filtering so non-text filters can choose to auto-expand the tree.

        * UserInterface/Views/ResourceSidebarPanel.css: Added.
        (.sidebar > .panel.navigation.resource > :matches(.content, .empty-content-placeholder)):
        (.sidebar > .panel.navigation.resource > .navigation-bar):

        * UserInterface/Views/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel):
        (WebInspector.ResourceSidebarPanel.prototype.hasCustomFilters):
        (WebInspector.ResourceSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
        (WebInspector.ResourceSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
        (WebInspector.ResourceSidebarPanel.prototype._scopeBarSelectionDidChange):
        Make a ScopeBar and make it filter the TreeOutline when needed.

        * UserInterface/Views/ScopeBar.css:
        (.scope-bar > li.multiple):
        (.scope-bar > li.multiple > select):
        (.scope-bar > li.multiple.selected > select):
        (.scope-bar > li.multiple > .arrows):
        (.scope-bar > li.multiple:matches(.selected, :hover, :active) > .arrows svg .filled):
        (.scope-bar > li.multiple:matches(.selected, :hover, :active) > .arrows svg .stroked):

        * UserInterface/Views/ScopeBar.js:
        (WebInspector.ScopeBar): Support shouldGroupNonExclusiveItems which will use MultipleScopeBarItem.
        (WebInspector.ScopeBar.prototype._populate):
        (WebInspector.ScopeBar.prototype._itemSelectionDidChange):
        (WebInspector.ScopeBar.prototype.updateLayout): Deleted. Not needed for our current styles.

        * UserInterface/Views/ScopeBarItem.js:
        (WebInspector.ScopeBarItem):
        (WebInspector.ScopeBarItem.prototype.get id):
        (WebInspector.ScopeBarItem.prototype.get label):
        (WebInspector.ScopeBarItem.prototype.get exclusive):
        (WebInspector.ScopeBarItem.prototype.setSelected):
        (WebInspector.ScopeBarItem.prototype._clicked):
        (WebInspector.ScopeBarItem.prototype.get element): Deleted.
        (WebInspector.ScopeBarItem.prototype._markElementSelected): Deleted.
        Cleaned up and modernized a bit.

2015-05-29  Tobias Reiss  <tobi+webkit@basecode.de>

        Web Inspector: Activity Viewer does not update on "clear all console messages"
        https://bugs.webkit.org/show_bug.cgi?id=144681

        Reviewed by Joseph Pecoraro.

        Do not apply "ignoreDidClearMessages" hack on "Clear log" Button and Context menu.

        * UserInterface/Views/LogContentView.js:
        (WebInspector.LogContentView.prototype._sessionStarted):
        (WebInspector.LogContentView.prototype._clearLogIgnoringClearMessages):
        (WebInspector.LogContentView.prototype._clearLog): Deleted.

2015-05-29  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Remove unused expandTreeElementsWhenArrowing property from TreeOutline
        https://bugs.webkit.org/show_bug.cgi?id=145470

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/TreeOutline.js:
        (WebInspector.TreeOutline.prototype._treeKeyDown):
        Replaced uses of removed property with boolean literal.

2015-05-29  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Tabs should have Context Menus
        https://bugs.webkit.org/show_bug.cgi?id=144208

        Reviewed by Timothy Hatcher.

        Give non-pinned tabs "Close Tab" and "Close Other Tabs" context
        menu items to affect other non-pinned tabs.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Views/TabBarItem.js:
        (WebInspector.TabBarItem):
        (WebInspector.TabBarItem.prototype._handleContextMenuEvent.closeTab):
        (WebInspector.TabBarItem.prototype._handleContextMenuEvent.closeOtherTabs):
        (WebInspector.TabBarItem.prototype._handleContextMenuEvent):

2015-05-29  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Restoring the last selected DOM node fails on reload (DOMAgent: No node with given path found)
        https://bugs.webkit.org/show_bug.cgi?id=144231

        Reviewed by Timothy Hatcher.

        Removed _restoreSelectedNodeIsAllowed flag from DOMTreeContentView. The frontend receives two documentUpdated
        events from the DOM Agent during page reload, and the flag was preventing DOMTreeContentView from restoring
        the previous selection in response to the second event.

        * UserInterface/Views/DOMTreeContentView.js:
        (WebInspector.DOMTreeContentView.prototype.selectLastSelectedNode):
        (WebInspector.DOMTreeContentView.prototype._restoreSelectedNodeAfterUpdate):

2015-05-28  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Update toolbar styles
        https://bugs.webkit.org/show_bug.cgi?id=145419

        Also, use hairline borders (1 phisical pixel) on retina (DPI >= 2).

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ButtonToolbarItem.css:
        (.toolbar .item.button): Deleted.
        (.toolbar.icon-and-label-vertical .item.button): Deleted.
        (.toolbar.icon-and-label-horizontal .item.button): Deleted.
        (.toolbar .item.button > .glyph): Deleted.
        (.toolbar.small-size .item.button > .glyph): Deleted.
        * UserInterface/Views/DashboardContainerView.css:
        (.toolbar .dashboard-container): Deleted.
        (.toolbar.collapsed .dashboard-container): Deleted.
        (.toolbar.small-size:matches(.icon-only, .icon-and-label-vertical, .icon-and-label-horizontal) .dashboard-container): Deleted.
        (.toolbar .dashboard.slide-out-down): Deleted.
        (.toolbar .dashboard.slide-in-up): Deleted.
        * UserInterface/Views/Toolbar.css:
        (.toolbar .search-bar > input[type="search"]):
        (.toolbar .search-bar > input[type="search"]::-webkit-textfield-decoration-container):
        (body:not(.unknown-mac) .toolbar .dashboard-container):
        (body:not(.unknown-mac) .toolbar .search-bar > input[type="search"]):
        (body:not(.unknown-mac) .toolbar .search-bar > input[type="search"]:focus):
        (body:not(.unknown-mac) .toolbar .item.button:active):
        (body.window-inactive:not(.unknown-mac) .toolbar .dashboard-container):
        (body.unknown-mac .toolbar .dashboard-container):
        (body.unknown-mac .toolbar .search-bar > input[type="search"]):
        (body.unknown-mac .toolbar .search-bar > input[type="search"]:focus):
        (@media (-webkit-min-device-pixel-ratio: 2)):
        (body.unknown-mac .toolbar .item.button:active):
        (body.unknown-mac.window-inactive .toolbar .dashboard-container):

2015-05-28  Devin Rousso  <drousso@apple.com>

        Web Inspector: Jump from a computed style to the rule it came from
        https://bugs.webkit.org/show_bug.cgi?id=120640

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded):
        If the delegate of CSSStyleDeclarationTextEditor has cssStyleDeclarationTextEditorShouldAddPropertyGoToArrows set to true, add a goToArrow to all CSS property entries.
        (WebInspector.CSSStyleDeclarationTextEditor.prototype.highlightProperty.propertiesMatch):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype.highlightProperty.hasMatchingLonghandProperty):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype.highlightProperty):
        Determines if a given CSS property is in the CSS style section and if so, select that CSS property, focus on the section containing that CSS property, and return true.
        * UserInterface/Views/CSSStyleDeclarationSection.js:
        (WebInspector.CSSStyleDeclarationSection.prototype.highlightProperty):
        Searches through the properties of the section for a given property and scrolls to it if found.
        * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
        (WebInspector.CSSStyleDetailsSidebarPanel.prototype.computedStyleDetailsPanelShowProperty):
        Switches to the rulesStyleDetailsPanel and scrolls to and hightlights a given property in that panel.
        (WebInspector.CSSStyleDetailsSidebarPanel.prototype._navigationItemSelected):
        (WebInspector.CSSStyleDetailsSidebarPanel.prototype._switchPanels):
        Moved this function out of _navigationItemSelected for better reusablity.
        * UserInterface/Views/ComputedStyleDetailsPanel.js:
        (WebInspector.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorShowProperty):
        Function that calls the delegate (which should be CSSStyleDetailsSidebarPanel) function computedStyleDetailsPanelShowProperty.
        * UserInterface/Views/RulesStyleDetailsPanel.js:
        (WebInspector.RulesStyleDetailsPanel):
        (WebInspector.RulesStyleDetailsPanel.prototype.refresh):
        (WebInspector.RulesStyleDetailsPanel.prototype.scrollToSectionAndHighlightProperty):
        Searches through all the sections of the RulesStyleDetailsPanel for a given CSS property.
        (WebInspector.RulesStyleDetailsPanel.prototype.shown):
        (WebInspector.RulesStyleDetailsPanel.prototype.hidden):
        (WebInspector.RulesStyleDetailsPanel.prototype.nodeStylesRefreshed):
        Added a flag to this function that will highlight and scroll to a given property (_propertyToSelectAndHighlight) if set on load.
        * UserInterface/Views/StyleDetailsPanel.js:
        (WebInspector.StyleDetailsPanel.prototype.markAsNeedsRefresh):
        (WebInspector.StyleDetailsPanel.prototype.nodeStylesRefreshed):
        Made into protected function to allow it to be overridden.
        (WebInspector.StyleDetailsPanel.prototype._nodeStylesRefreshed): Deleted.

2015-05-28  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Should have a keyboard shortcut to switch between inspector tabs
        https://bugs.webkit.org/show_bug.cgi?id=144207

        Reviewed by Timothy Hatcher.

        These keyboard shortcuts work well in an undocked inspector window.
        Be careful that some keyboard shortcuts, when used inside a text
        editor / text field are just text actions. However, some keyboard
        shortcuts will work no matter where you trigger them.

        * UserInterface/Models/KeyboardShortcut.js:
        * UserInterface/Views/TabBar.js:
        (WebInspector.TabBar.prototype.selectPreviousTab):
        (WebInspector.TabBar.prototype.selectNextTab):
        * UserInterface/Views/TabBrowser.js:
        (WebInspector.TabBrowser):
        (WebInspector.TabBrowser.prototype._showPreviousTab):
        (WebInspector.TabBrowser.prototype._showNextTab):

2015-05-28  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: NewTabContentView should update button disabled state as other tabs are added/removed
        https://bugs.webkit.org/show_bug.cgi?id=145448

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/NewTabContentView.js:
        (WebInspector.NewTabContentView):
        Always add a click listener and add the type as a private property on the element.

        (WebInspector.NewTabContentView.prototype.shown):
        (WebInspector.NewTabContentView.prototype.hidden):
        Add / remove event listeners for tab changes. Also update the view when shown.
        
        (WebInspector.NewTabContentView.prototype._createNewTab):
        A disabled button an now be clicked. Do nothing if a new tab of this type is not allowed.

        (WebInspector.NewTabContentView.prototype._updateTabItems):
        Refresh the disabled state for each of the buttons.

2015-05-27  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Show Page Source does not switch to Resources tab if inspector was closed
        https://bugs.webkit.org/show_bug.cgi?id=145423

        Reviewed by Timothy Hatcher.

        * UserInterface/Base/Main.js:
        (WebInspector._frameWasAdded.delayedWork):
        (WebInspector._frameWasAdded):
        In the special case where we are holding to show a frame's source code when
        the frame becomes available (_frameIdentifierToShowSourceCodeWhenAvailable)
        we should be forcing to show the tab.

2015-05-27  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Toggling an inherited property sometimes stops working
        https://bugs.webkit.org/show_bug.cgi?id=145416

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/DOMNodeStyles.js:
        (WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload):
        Ensure we update the existing model objects with the new state information
        before possibly bailing. This may produce changed events that update
        parts of the inspector appropriately.

2015-05-27  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: REGRESSION(r179286) Editing Style Metrics Values no longer works
        https://bugs.webkit.org/show_bug.cgi?id=143164

        Reviewed by Brian Burg.

        * UserInterface/Views/BoxModelDetailsSectionRow.js:
        (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics.createElement):
        (WebInspector.BoxModelDetailsSectionRow.prototype._applyUserInput.resolvedNode.toggleInlineStyleProperty):
        (WebInspector.BoxModelDetailsSectionRow.prototype._applyUserInput.resolvedNode.didToggle):
        (WebInspector.BoxModelDetailsSectionRow.prototype._applyUserInput.resolvedNode):
        (WebInspector.BoxModelDetailsSectionRow.prototype._applyUserInput):
        Make it so editing in the metrics pane just evaluates elem.style.setProperty
        on the inspected page. Use "!important" to try and give the maximum priority
        possible, which is a change from older behavior. Finally, refresh the sidebar
        to update all values, and update the UI if bad input didn't change styles.

2015-05-26  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Function parameter string parsing improperly handles empty parameter list
        https://bugs.webkit.org/show_bug.cgi?id=145391

        Reviewed by Darin Adler.

        * UserInterface/Views/ObjectTreePropertyTreeElement.js:
        (WebInspector.ObjectTreePropertyTreeElement.prototype._functionParameterString):

2015-05-26  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Add Array.prototype.copyWithin parameter list
        https://bugs.webkit.org/show_bug.cgi?id=145388

        Reviewed by Darin Adler.

        * UserInterface/Models/NativeFunctionParameters.js:

2015-05-26  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: focus outline of a search field should have a radius
        https://bugs.webkit.org/show_bug.cgi?id=145383

        Add a focus outline animation to roughly mimic the default focus outline of OS X.

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/Toolbar.css:
        (.toolbar .search-bar > input[type="search"]):
        -webkit-focus-ring-color doesn't follow element's curvature (e.g. border-radius)
        and it cannot be animated. Replace it with box-shadow.

        (.toolbar .search-bar > input[type="search"]:focus):

2015-05-26  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: The bottom part "debugger" is clipped in the tab’s title
        https://bugs.webkit.org/show_bug.cgi?id=145381

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/TabBar.css:
        (.tab-bar > .item):
        Set line-height to fit "debugger". Setting line-height to 16px, which is the
        size of the tabs icons, moves the text one pixel up, so set it to 15px.

2015-05-26  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/21104551> Update build settings

        Reviewed by Anders Carlsson.

        * Configurations/Base.xcconfig:
        * Configurations/DebugRelease.xcconfig:
        * Configurations/Version.xcconfig:

2015-05-23  Dan Bernstein  <mitz@apple.com>

        Remove unused definitions of WEBKIT_VERSION_MIN_REQUIRED
        https://bugs.webkit.org/show_bug.cgi?id=145345

        Reviewed by Sam Weinig.

        * Configurations/Base.xcconfig:

2015-05-23  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Remove code related with unused style classes
        https://bugs.webkit.org/show_bug.cgi?id=145332

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ConsoleMessageView.js:
        (WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.append):
        (WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString):
        The "type-string" class has no styles associated with it. So the entire span can be removed.

        * UserInterface/Views/DOMTreeElement.js:
        Both of these style classes have no styles associated with them. Remove the class names.

2015-05-23  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Improve native parameter lists a bit
        https://bugs.webkit.org/show_bug.cgi?id=145338

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/NativeFunctionParameters.js:
        * UserInterface/Views/ObjectTreePropertyTreeElement.js:
        (WebInspector.ObjectTreePropertyTreeElement.prototype._functionParameterString):

2015-05-23  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Update CSS Autocompletion properties and values
        https://bugs.webkit.org/show_bug.cgi?id=145341

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/CSSKeywordCompletions.js:

2015-05-22  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Adopt Object.setPrototypeOf
        https://bugs.webkit.org/show_bug.cgi?id=145335

        Reviewed by Timothy Hatcher.

        For a case that won't easily move to ES6 classes use Object.setPrototypeOf.

        * UserInterface/Protocol/InspectorBackend.js:
        (InspectorBackend.Command.create):

2015-05-22  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Inline use once class names and remove some unused class names
        https://bugs.webkit.org/show_bug.cgi?id=145334

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ApplicationCacheFrameContentView.js:
        (WebInspector.ApplicationCacheFrameContentView):
        * UserInterface/Views/BoxModelDetailsSectionRow.js:
        (WebInspector.BoxModelDetailsSectionRow):
        * UserInterface/Views/CSSStyleDeclarationSection.js:
        (WebInspector.CSSStyleDeclarationSection):
        * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
        (WebInspector.CSSStyleDetailsSidebarPanel):
        * UserInterface/Views/ClusterContentView.js:
        (WebInspector.ClusterContentView):
        * UserInterface/Views/CompletionSuggestionsView.js:
        (WebInspector.CompletionSuggestionsView):
        * UserInterface/Views/ConsolePrompt.js:
        (WebInspector.ConsolePrompt):
        * UserInterface/Views/ContentBrowser.js:
        (WebInspector.ContentBrowser):
        * UserInterface/Views/ContentFlowTreeElement.js:
        (WebInspector.ContentFlowTreeElement):
        * UserInterface/Views/ContentView.js:
        (WebInspector.ContentView):
        * UserInterface/Views/ContentViewContainer.js:
        (WebInspector.ContentViewContainer):
        * UserInterface/Views/CookieStorageContentView.js:
        (WebInspector.CookieStorageContentView):
        * UserInterface/Views/CookieStorageTreeElement.js:
        (WebInspector.CookieStorageTreeElement):
        * UserInterface/Views/DOMStorageContentView.js:
        (WebInspector.DOMStorageContentView):
        * UserInterface/Views/DOMTreeContentView.js:
        (WebInspector.DOMTreeContentView):
        * UserInterface/Views/DashboardView.js:
        (WebInspector.DashboardView):
        * UserInterface/Views/DatabaseTableContentView.js:
        (WebInspector.DatabaseTableContentView):
        * UserInterface/Views/DebuggerDashboardView.js:
        (WebInspector.DebuggerDashboardView):
        (WebInspector.DebuggerDashboardView.prototype._rebuildLocation):
        * UserInterface/Views/DetailsSection.js:
        (WebInspector.DetailsSection):
        * UserInterface/Views/DetailsSectionSimpleRow.js:
        * UserInterface/Views/FontResourceContentView.js:
        (WebInspector.FontResourceContentView):
        (WebInspector.FontResourceContentView.prototype.createMetricElement):
        (WebInspector.FontResourceContentView.prototype.contentAvailable):
        * UserInterface/Views/HierarchicalPathComponent.js:
        (WebInspector.HierarchicalPathComponent):
        (WebInspector.HierarchicalPathComponent.prototype.set selectorArrows):
        * UserInterface/Views/IndexedDatabaseObjectStoreContentView.js:
        * UserInterface/Views/LayoutTimelineOverviewGraph.js:
        (WebInspector.LayoutTimelineOverviewGraph):
        * UserInterface/Views/NetworkTimelineOverviewGraph.js:
        (WebInspector.NetworkTimelineOverviewGraph):
        * UserInterface/Views/OverviewTimelineView.js:
        * UserInterface/Views/ProbeSetDetailsSection.js:
        * UserInterface/Views/QuickConsole.js:
        * UserInterface/Views/ReplayDashboardView.js:
        * UserInterface/Views/ScriptContentView.js:
        (WebInspector.ScriptContentView):
        * UserInterface/Views/ScriptTimelineOverviewGraph.js:
        (WebInspector.ScriptTimelineOverviewGraph):
        * UserInterface/Views/TextContentView.js:
        (WebInspector.TextContentView):
        * UserInterface/Views/TimelineOverview.js:
        (WebInspector.TimelineOverview):
        * UserInterface/Views/TimelineOverviewGraph.js:
        (WebInspector.TimelineOverviewGraph):
        * UserInterface/Views/TimelineRecordBar.js:
        (WebInspector.TimelineRecordBar):
        * UserInterface/Views/TimelineRecordFrame.js:
        (WebInspector.TimelineRecordFrame):
        * UserInterface/Views/TimelineRecordingContentView.js:
        (WebInspector.TimelineRecordingContentView):
        * UserInterface/Views/TimelineRuler.js:
        (WebInspector.TimelineRuler):
        (WebInspector.TimelineRuler.prototype.set allowsTimeRangeSelection):

2015-05-22  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: DOMTree Keyboard Shortcut 'H' to toggle element visibility is not working
        https://bugs.webkit.org/show_bug.cgi?id=145331

        Reviewed by Brian Burg.

        We no longer have CSSProperty.value setters. Instead of attempting
        to toggle and clobber inline style values on the element we:
        
          1. inject a <style> on the page like ".WebInspectorHide { visibility:hidden }"
          2. toggle the WebInspectorHide class on the selected element

        This approach is inspired by the original WebKit change in the
        old inspector frontend: <https://webkit.org/b/110641>.

        The old approach toggled a few properties (opacity and pointer events)
        while the new approach uses visibility, matching other browsers.

        * UserInterface/Views/DOMTreeOutline.js:
        (WebInspector.DOMTreeOutline.prototype._hideElement.resolvedNode.injectStyleAndToggleClass):
        (WebInspector.DOMTreeOutline.prototype._hideElement.resolvedNode):
        (WebInspector.DOMTreeOutline.prototype._hideElement):
        (WebInspector.DOMTreeOutline.prototype._hideElement.toggleProperties): Deleted.

2015-05-21  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Give Toolbar buttons an active style
        https://bugs.webkit.org/show_bug.cgi?id=145292

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ButtonToolbarItem.css:
        (.toolbar .item.button:active):

2015-05-21  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Dashboard debugger information can be clipped
        https://bugs.webkit.org/show_bug.cgi?id=144209

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/DashboardContainerView.css:
        (.toolbar .dashboard-container):
        Make dashboard flexible by using vw (viewport width units).

        * UserInterface/Views/DefaultDashboardView.css:
        (.toolbar .dashboard.default):
        Center default dashboard icons in the middle, don't spread them along the dashboard.

2015-05-21  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Improve the UI of the type profiler popover
        https://bugs.webkit.org/show_bug.cgi?id=140737

        Reviewed by Timothy Hatcher.

        Display TypeDescriptions in a Tree similiar to ObjectTrees.
        Currently the only information we have in a TypeDescription
        is the property names, and not their types, so all we can
        display in the tree are names.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Controllers/TypeTokenAnnotator.js:
        (WebInspector.TypeTokenAnnotator.prototype._insertTypeToken):
        * UserInterface/Main.html:
        * UserInterface/Models/ScriptSyntaxTree.js:
        (WebInspector.ScriptSyntaxTree.prototype.updateTypes):
        * UserInterface/Models/StructureDescription.js: Added.
        (WebInspector.StructureDescription):
        (WebInspector.StructureDescription.fromPayload):
        (WebInspector.StructureDescription.prototype.get fields):
        (WebInspector.StructureDescription.prototype.get optionalFields):
        (WebInspector.StructureDescription.prototype.get constructorName):
        (WebInspector.StructureDescription.prototype.get prototypeStructure):
        (WebInspector.StructureDescription.prototype.get imprecise):
        * UserInterface/Models/TypeDescription.js: Added.
        (WebInspector.TypeDescription):
        (WebInspector.TypeDescription.fromPayload):
        (WebInspector.TypeDescription.prototype.get leastCommonAncestor):
        (WebInspector.TypeDescription.prototype.get typeSet):
        (WebInspector.TypeDescription.prototype.get structures):
        (WebInspector.TypeDescription.prototype.get valid):
        (WebInspector.TypeDescription.prototype.get truncated):
        * UserInterface/Models/TypeSet.js:
        (WebInspector.TypeSet):
        (WebInspector.TypeSet.prototype.get primitiveTypeNames):
        * UserInterface/Views/ObjectTreeView.js:
        (WebInspector.ObjectTreeView.prototype._updateChildren):
        * UserInterface/Views/Section.css: Removed.
        * UserInterface/Views/Section.js: Removed.
        * UserInterface/Views/SourceCodeTextEditor.css:
        (.popover .expandable):
        * UserInterface/Views/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor):
        (WebInspector.SourceCodeTextEditor.prototype.showPopoverForTypes):
        (WebInspector.SourceCodeTextEditor.prototype._populateWithScriptContent):
        (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptTypeInformation.handler):
        (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptTypeInformation):
        (WebInspector.SourceCodeTextEditor.prototype._showPopoverForObject):
        * UserInterface/Views/TypePropertiesSection.js: Removed.
        * UserInterface/Views/TypeTokenView.js:
        (WebInspector.TypeTokenView):
        (WebInspector.TypeTokenView.titleForPopover):
        (WebInspector.TypeTokenView.prototype.update):
        (WebInspector.TypeTokenView.prototype._setUpMouseoverHandlers):
        (WebInspector.TypeTokenView.prototype._shouldShowPopover):
        (WebInspector.TypeTokenView.prototype._displayTypeName):
        * UserInterface/Views/TypeTreeElement.css: Added.
        (.type-tree-element):
        (.type-tree-element > .titles):
        (.type-tree-element > .disclosure-button):
        (.type-tree-element.parent > .disclosure-button):
        (.type-tree-element.parent.expanded > .disclosure-button):
        (.type-tree-element > .icon):
        (.type-tree-element.prototype):
        (.type-tree-element.prototype:focus):
        (.type-tree-element.prototype + ol):
        * UserInterface/Views/TypeTreeElement.js: Added.
        (WebInspector.TypeTreeElement):
        (WebInspector.TypeTreeElement.prototype.get name):
        (WebInspector.TypeTreeElement.prototype.get isPrototype):
        (WebInspector.TypeTreeElement.prototype.onpopulate):
        (WebInspector.TypeTreeElement.prototype.onexpand):
        * UserInterface/Views/TypeTreeView.css: Renamed from Source/WebInspectorUI/UserInterface/Views/PropertiesSection.js.
        (.type-tree):
        (.type-tree-outline):
        (.type-tree-outline li):
        (.type-tree-outline ol):
        (.type-tree-outline ol.expanded):
        (.type-tree-outline li .empty-message):
        * UserInterface/Views/TypeTreeView.js: Added.
        (WebInspector.TypeTreeView):
        (WebInspector.TypeTreeView.prototype.get typeDescription):
        (WebInspector.TypeTreeView.prototype.get element):
        (WebInspector.TypeTreeView.prototype.get treeOutline):
        (WebInspector.TypeTreeView.prototype._populate):

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

        Web Inspector: Fix WebInspector.StackTrace style
        https://bugs.webkit.org/show_bug.cgi?id=145240

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/StackTrace.js:
        Reorder and add our usual marker comments.

2015-05-19  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Improve Preview for NodeList / array like collections
        https://bugs.webkit.org/show_bug.cgi?id=145177

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ObjectPreviewView.js:
        (WebInspector.ObjectPreviewView.prototype._appendPreview):
        Show the class name for a non-basic-Array, but still hide
        it for a basic Array.

2015-05-19  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Convert stackTrace from raw payload data to an array of CallFrames
        https://bugs.webkit.org/show_bug.cgi?id=144982

        Reviewed by Joseph Pecoraro.

        * UserInterface/Controllers/LogManager.js:
        * UserInterface/Main.html:
        * UserInterface/Models/CallFrame.js:
        (WebInspector.CallFrame.fromPayload):
        Consider an empty string url as a native code as it was in 
        WebInspector.ConsoleMessageView.prototype._firstNonNativeCallFrame

        * UserInterface/Models/ConsoleMessage.js:
        (WebInspector.ConsoleMessage):
        Convert _stackTrace from an array of payload objects to WebInspector.StackTrace model.

        * UserInterface/Models/StackTrace.js: Added.
        (WebInspector.StackTrace):
        (WebInspector.StackTrace.prototype.get callFrames):
        (WebInspector.StackTrace.prototype.get firstNonNativeCallFrame): Added.
        (WebInspector.StackTrace.fromPayload):
        * UserInterface/Test.html:
        * UserInterface/Views/CallFrameView.js:
        (WebInspector.CallFrameView):
        Don't show a URL when sourceCodeLocation is missing, fix webkit.org/b/145071.

        * UserInterface/Views/ConsoleMessageView.js:
        (WebInspector.ConsoleMessageView):
        (WebInspector.ConsoleMessageView.prototype.toClipboardString):
        (WebInspector.ConsoleMessageView.prototype._appendLocationLink):
        (WebInspector.ConsoleMessageView.prototype._appendStackTrace):
        (WebInspector.ConsoleMessageView.prototype._shouldShowStackTrace):
        (WebInspector.ConsoleMessageView.prototype._linkifyCallFrame):
        (WebInspector.ConsoleMessageView.prototype._firstNonNativeCallFrame): Deleted.

2015-05-18  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Improve Reliability of Closing and Reopening Elements Tab
        https://bugs.webkit.org/show_bug.cgi?id=145139

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/DOMTreeElement.js:
        (WebInspector.DOMTreeElement.prototype.highlightSearchResults):
        (WebInspector.DOMTreeElement.prototype.hideSearchHighlights):
        (WebInspector.DOMTreeElement.prototype.emphasizeSearchHighlight.animationEnded):
        (WebInspector.DOMTreeElement.prototype.emphasizeSearchHighlight):
        (WebInspector.DOMTreeElement.prototype._updateChildren):
        (WebInspector.DOMTreeElement.prototype.adjustCollapsedRange):
        (WebInspector.DOMTreeElement.prototype._startEditingAsHTML.dispose):
        (WebInspector.DOMTreeElement.prototype._startEditingAsHTML):
        (WebInspector.DOMTreeElement.prototype.updateTitle):
        Stop using the `delete` operator.

        * UserInterface/Views/DOMTreeOutline.js:
        (WebInspector.DOMTreeOutline.prototype.setVisible):
        Trigger an update when the outline is made visible.

        * UserInterface/Views/FrameDOMTreeContentView.js:
        (WebInspector.FrameDOMTreeContentView.prototype._rootDOMNodeAvailable):
        Provide a reasonable default selection if there is no body or document element.
        For example in an augmented DOM tree.

2015-05-18  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Tab Restoration incorrectly makes ContentViews "shown" in background tabs
        https://bugs.webkit.org/show_bug.cgi?id=145080

        Reviewed by Timothy Hatcher.

        Many tabs have their own content browser / navigation sidebar. During
        state restoration, each tab would immediately try to restore an
        appropriate ContentView after the load / navigation. However, in doing
        so, we weren't respecting whether or not the Tab the ContentBrowser
        was in was hidden or not, so ContentViews in background tags were
        still being treated as shown/visible.

        This patch changes state restoration to only affect the foreground
        tab, and be delayed on all background tabs until that tab is shown.
        This reduces the amount of work on load and navigation to just a
        single tab instead of all tabs. Most importantly, it avoids having
        performing work on ContentBrowsers that are non-visible, so state
        restoration only happens for visible ContentBrowsers.

        For simplicity, in the case of a delayed tab restoration triggered
        by the user switching tabs, we don't try twice (like we occasionally
        do on load/reload). We could add back some hueristic here if needed.

        * UserInterface/Base/Main.js:
        (WebInspector.contentLoaded):
        (WebInspector.activateExtraDomains):
        (WebInspector._mainResourceDidChange):
        (WebInspector._restoreCookieForOpenTabs):
        * UserInterface/Views/NavigationSidebarPanel.js:

        * UserInterface/Views/TabContentView.js:
        (WebInspector.TabContentView.prototype.shown):
        (WebInspector.TabContentView.prototype.restoreStateFromCookie):
        (WebInspector.TabContentView.prototype.saveStateToCookie):
        When asked to restore state, save that logic until the next time the tab is shown.

        * UserInterface/Views/TextEditor.js:
        (WebInspector.TextEditor.prototype.get visible):
        * UserInterface/Views/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor.prototype.editingControllerDidStartEditing):
        (WebInspector.SourceCodeTextEditor.prototype._setTypeTokenAnnotatorEnabledState): Deleted.
        Although this didn't actually catch the issue, it could potentially
        catch other issues in the future. We don't want to enable the annotators
        in a non-visible text editor, as it could be a performance issue.

2015-05-15  Matt Baker  <mattbaker@apple.com>

        Web Inspector: empty timeline should not use previous timeline's zoom interval
        https://bugs.webkit.org/show_bug.cgi?id=132754

        Reviewed by Joseph Pecoraro.

        When a timeline recording is started in response to a provisional load, TimelineManager should check whether
        the main resource url is changing before loading a new timeline recording. If the main resource is changing,
        set the selection start, selection duration, and duration-per-pixel settings of the TimelineOverview to their
        default values.

        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager):
        (WebInspector.TimelineManager.prototype.isCapturingPageReload):
        (WebInspector.TimelineManager.prototype.capturingStopped):
        (WebInspector.TimelineManager.prototype.pageDidLoad):
        (WebInspector.TimelineManager.prototype._startAutoCapturing):
        Added a property for checking whether auto capture was triggered by a page reload.

        * UserInterface/Views/LinearTimelineOverview.js:
        (WebInspector.LinearTimelineOverview):
        Increase default selection time to 15 seconds.

        * UserInterface/Views/TimelineOverview.js:
        (WebInspector.TimelineOverview):
        Reset selection and zoom if TimelineManager isn't capturing in response to a page reload.

        (WebInspector.TimelineOverview.prototype.reset):
        Reset selection and zoom.

        (WebInspector.TimelineOverview.prototype._timeRangeSelectionChanged):
        (WebInspector.TimelineOverview.prototype._resetSelection):
        Added a helper function for resetting selection and zoom to their default values.

2015-05-15  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Timeline data grid displays wrong records after switching between Timelines/Frames mode
        https://bugs.webkit.org/show_bug.cgi?id=145084

        Reviewed by Timothy Hatcher.

        Update timeline sidebar filter whenever the view mode changes.

        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.get if.get if):
        (WebInspector.TimelineSidebarPanel.get else):
        (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.get if):
        (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject):

2015-05-15  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Bump image format number to force image regeneration
        https://bugs.webkit.org/show_bug.cgi?id=145074

        Reviewed by Timothy Hatcher.

        * UserInterface/Base/ImageUtilities.js:

2015-05-15  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Reduce type annotation update frequency
        https://bugs.webkit.org/show_bug.cgi?id=145066

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/TypeTokenAnnotator.js:
        Reduce the frequency which could commonly be 16-24ms
        to a minimum of 100ms and maximum of 2000ms.

2015-05-15  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Fix some possible event listener leakers in content views
        https://bugs.webkit.org/show_bug.cgi?id=145068

        Reviewed by Timothy Hatcher.

        Now that some content views can be closed that weren't closable before, ensure
        we clean up after global event listeners that may strongly reference "this".

        * UserInterface/Views/DOMTreeContentView.js:
        (WebInspector.DOMTreeContentView.prototype.closed):
        * UserInterface/Views/DOMTreeOutline.js:
        (WebInspector.DOMTreeOutline.prototype.close):
        * UserInterface/Views/LayoutTimelineView.js:
        (WebInspector.LayoutTimelineView.prototype.closed):
        * UserInterface/Views/NetworkTimelineView.js:
        (WebInspector.NetworkTimelineView.prototype.closed):
        * UserInterface/Views/RenderingFrameTimelineView.js:
        (WebInspector.RenderingFrameTimelineView.prototype.closed):
        * UserInterface/Views/ScriptContentView.js:
        (WebInspector.ScriptContentView.prototype.closed):
        * UserInterface/Views/ScriptTimelineView.js:
        (WebInspector.ScriptTimelineView.prototype.closed):
        * UserInterface/Views/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor.prototype.close):
        * UserInterface/Views/TextResourceContentView.js:
        (WebInspector.TextResourceContentView.prototype.closed):
        * UserInterface/Views/TimelineDataGrid.js:
        (WebInspector.TimelineDataGrid.prototype.closed):
        (WebInspector.TimelineDataGrid.prototype.handleEvent):

2015-05-15  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Initiator Popovers no longer work in Layout Timeline
        https://bugs.webkit.org/show_bug.cgi?id=145067

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/LayoutTimelineDataGrid.js:
        (WebInspector.LayoutTimelineDataGrid.prototype.callFramePopoverAnchorElement):
        Update the column name, which changed in r183134.

2015-05-14  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Update the New Tab button disabled state after extra domains are activated
        https://bugs.webkit.org/show_bug.cgi?id=145028

        Reviewed by Timothy Hatcher.

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

2015-05-14  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Current time marker is always at zero in Rendering Frames ruler
        https://bugs.webkit.org/show_bug.cgi?id=144518

        Reviewed by Timothy Hatcher.

        The current and end time values for the rendering frame timeline overview should always be equal to the frame
        number of the last record in the rendering frames timeline.

        * UserInterface/Views/TimelineOverview.js:
        (WebInspector.TimelineOverview):
        (WebInspector.TimelineOverview.prototype.updateLayout):
        * UserInterface/Views/TimelineRecordingContentView.js:
        (WebInspector.TimelineRecordingContentView.prototype._updateTimes):
        (WebInspector.TimelineRecordingContentView.prototype._recordingTimesUpdated):

2015-05-11  Brent Fulgham  <bfulgham@apple.com>

        [Win] Move Windows build target to Windows 7 (or newer)
        https://bugs.webkit.org/show_bug.cgi?id=144890
        <rdar://problem/20707307>

        Reviewed by Anders Carlsson.

        Update linked SDK and minimal Windows level to be compatible with
        Windows 7 or newer.

        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:

2015-05-11  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: REGRESSION (Tabs): Issues reloading a resource with breakpoints
        https://bugs.webkit.org/show_bug.cgi?id=144650

        Fix a number of issues with Debugger tab and navigation/reloading:
        - Close old content views in the Debugger tab when main frame navigates.
        - Prune old resource tree elements before attempting to restore a cookie that might match an old resource.
        - Allow breakpoint selections to be restored from a saved cookie.
        - Fix an assert when closing a content view that isn't the current index, but is the current view.
        - Avoid calling closed() multiple times when a ContentView is in the back/forward list more than once.
        - Make restoreStateFromCookie properly set and use the causedByNavigation argument for a longer restore delay.
        - Create a new cookie object per tab instead of it being cumulative from the previous cookie.

        Reviewed by Brian Burg.

        * UserInterface/Base/Main.js:
        (WebInspector._mainResourceDidChange): Delay calling _restoreCookieForOpenTabs to give time for sidebars
        and tabs to respond to the main resource change.
        (WebInspector._restoreCookieForOpenTabs): Rename causedByReload to causedByNavigation. Nothing special about
        reload since we restore on all navigation.

        * UserInterface/Views/ContentView.js:
        (WebInspector.ContentView): Support Breakpoint as a represented object, which happens during a cookie restore.
        (WebInspector.ContentView.isViewable): Ditto.

        * UserInterface/Views/ContentViewContainer.js:
        (WebInspector.ContentViewContainer.prototype.closeAllContentViews): Disassociate if the view is current and not just
        the current entry index. This matches other close functions. This fixes an assert in _disassociateFromContentView.
        (WebInspector.ContentViewContainer.prototype._disassociateFromContentView): Don't disassociate multiple times. This
        avoids calling the closed() function on a view more than once.

        * UserInterface/Views/DebuggerSidebarPanel.js:
        (WebInspector.DebuggerSidebarPanel.prototype.saveStateToCookie):
        (WebInspector.DebuggerSidebarPanel.prototype._mainResourceDidChange): Renamed from _mainResourceChanged.
        Close all content views if this is the main frame. Also prune all old resources. Doing this now avoids a flash
        of having old and new resources in the tree caused by the default delay in NavigationSidebarPanel's _checkForOldResources.

        * UserInterface/Views/NavigationSidebarPanel.js:
        (WebInspector.NavigationSidebarPanel): Set _autoPruneOldTopLevelResourceTreeElements for later.
        (WebInspector.NavigationSidebarPanel.prototype.get contentTreeOutlineToAutoPrune): Deleted.
        (WebInspector.NavigationSidebarPanel.prototype.showDefaultContentView): Fix typo.
        (WebInspector.NavigationSidebarPanel.prototype.showDefaultContentViewForTreeElement): Fix whitespace.
        (WebInspector.NavigationSidebarPanel.prototype.pruneOldResourceTreeElements): Added. Broken out from
        _checkForOldResources.delayedWork so it can be called manually. Also check all visible tree outlines.
        (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged): Pass treeElement in an array.
        (WebInspector.NavigationSidebarPanel.prototype._checkForOldResourcesIfNeeded): Added.
        (WebInspector.NavigationSidebarPanel.prototype._checkForOldResources): Call pruneOldResourceTreeElements on a delay.
        (WebInspector.NavigationSidebarPanel.prototype._checkForOldResources.delayedWork): Deleted.
        (WebInspector.NavigationSidebarPanel.prototype._checkOutlinesForPendingViewStateCookie): Call _checkForOldResourcesIfNeeded.
        (WebInspector.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie): Remove array folding code.

        * UserInterface/Views/TabContentView.js:
        (WebInspector.TabContentView.prototype.restoreStateFromCookie): Rename causedByReload to causedByNavigation.
        (WebInspector.TabContentView.prototype.saveStateToCookie): Don't allow the cookie to build on the old cookie.

2015-05-11  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: NavigationSidebarPanel leaks some event listeners
        https://bugs.webkit.org/show_bug.cgi?id=144523

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/NavigationSidebarPanel.js:
        (WebInspector.NavigationSidebarPanel):
        (WebInspector.NavigationSidebarPanel.prototype.closed):
        * UserInterface/Views/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel.prototype.closed):
        * UserInterface/Views/SearchSidebarPanel.js:
        (WebInspector.SearchSidebarPanel.prototype.closed):
        * UserInterface/Views/StorageSidebarPanel.js:
        (WebInspector.StorageSidebarPanel.prototype.closed):
        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel.prototype.closed):

2015-05-10  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: In the console, show function name next to the source link
        https://bugs.webkit.org/show_bug.cgi?id=144372

        Introduce CallFrameView to display counsole message source links. It looks like this:

            [f] functionName - filename.js:42

        Reviewed by Timothy Hatcher.

        * UserInterface/Base/Main.js:
        (WebInspector.createSourceCodeLocationLink):
        (WebInspector.linkifyLocation):
        (.showSourceCodeLocation):
        (WebInspector.linkifyElement):
        Abstract this out as it's used in WebInspector.CallFrameView and WebInspector.createSourceCodeLocationLink.

        (WebInspector.sourceCodeForURL):
        Move this code from Timeline to Main.js as it's used by Console too.

        (WebInspector.linkifyURLAsNode):
        Remove tooltipText argument as it is never used.

        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager.prototype._callFramesFromPayload):
        * UserInterface/Main.html:
        * UserInterface/Models/CallFrame.js:
        (WebInspector.CallFrame.fromPayload):
        Abstract this out as it's used in WebInspector.TimelineManager.prototype._callFramesFromPayload and
        WebInspector.ConsoleMessageView._appendLocationLink.

        (WebInspector.CallFrame):
        * UserInterface/Views/CallFrameTreeElement.js:
        (WebInspector.CallFrameTreeElement):
        Move it to WebInspector.CallFrameView.iconForCallFrame.

        * UserInterface/Views/CallFrameView.css: Added.
        (.call-frame):
        (.call-frame .icon):
        (.call-frame .titles):
        (.call-frame .title):
        (.call-frame .source-link):
        (.call-frame .title + .subtitle > .source-link):
        (.call-frame .subtitle .source-link):
        (.call-frame:focus .subtitle .source-link):
        (.call-frame .subtitle:empty):
        (.call-frame .subtitle):
        (.call-frame .colon):
        (.call-frame .title + .subtitle::before):
        * UserInterface/Views/CallFrameView.js: Added.
        (WebInspector.CallFrameView):
        (WebInspector.CallFrameView.iconClassNameForCallFrame):
        * UserInterface/Views/ConsoleMessageView.css:
        (.console-message .console-message-location):
        (.console-message .call-frame):
        (.console-message .go-to-link):
        (.console-message .go-to-link:focus):
        (.console-message .console-message-url::before):
        (.console-saved-variable): Deleted.
        * UserInterface/Views/ConsoleMessageView.js:
        (WebInspector.ConsoleMessageView.prototype._appendLocationLink):
        * UserInterface/Views/DebuggerDashboardView.js:
        * UserInterface/Views/Main.css:
        (.hidden): Deleted.
        * UserInterface/Views/ProfileNodeTreeElement.js:
        (WebInspector.ProfileNodeTreeElement):
        * UserInterface/Views/TimelineDataGridNode.js:
        (WebInspector.TimelineDataGridNode.prototype.createCellContent):

2015-05-08  Tobias Reiss  <tobi+webkit@basecode.de>

        Web Inspector: Styles sidebar editing with incomplete property looks poor in UI
        https://bugs.webkit.org/show_bug.cgi?id=141692

        Reviewed by Timothy Hatcher.

        Add "css-rule" Formatter that breaks CSS declarations into multiple lines,
        keeps comments and invalid styles and adds whitespace.

        * Tools/PrettyPrinting/css-rule-tests/*.css: Added.
        Add test cases.

        * Tools/PrettyPrinting/index.html:
        Enable Test setup to be able to run "css-rule" Formatter tests.

        * UserInterface/Controllers/Formatter.js:
        (Formatter.prototype._handleToken):
        * UserInterface/Controllers/FormatterContentBuilder.js:
        (FormatterContentBuilder.prototype.removeLastNewline):
        (FormatterContentBuilder.prototype.removeLastWhitespace):
        (FormatterContentBuilder.prototype._popFormattedContent):
        (FormatterContentBuilder.prototype._popNewLine): Deleted.
        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._formattedContentFromEditor):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update.set this):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update.get this):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update.countNewLineCharacters): Deleted.
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update.else): Deleted.
        * UserInterface/Views/CodeMirrorFormatters.js:

2015-05-07  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Expanding Object with only __proto__ looks poor should have a label
        https://bugs.webkit.org/show_bug.cgi?id=144755

        Reviewed by Timothy Hatcher.

        Better handle cases where expanding an object has only a __proto__
        and no other properties.

        * UserInterface/Views/ObjectTreePropertyTreeElement.js:
        (WebInspector.ObjectTreePropertyTreeElement.mode.prototype.this.children.length):
        (WebInspector.ObjectTreePropertyTreeElement):
        * UserInterface/Views/ObjectTreeView.css:
        (.object-tree-outline li .empty-message):
        * UserInterface/Views/ObjectTreeView.js:
        (WebInspector.ObjectTreeView.createEmptyMessageElement):
        (WebInspector.ObjectTreeView.comparePropertyDescriptors):
        (WebInspector.ObjectTreeView.prototype._updateProperties):

2015-05-07  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Fix querySelector in ResourceContentView.js, caught by assertion
        https://bugs.webkit.org/show_bug.cgi?id=144756

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ResourceContentView.js:
        (WebInspector.ResourceContentView.prototype._hasContent):
        Ensure querySelector call is using the class name correctly.

2015-05-06  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Docking Toolbar Buttons do not respect Docking Availability
        https://bugs.webkit.org/show_bug.cgi?id=144714

        Reviewed by Timothy Hatcher.

        * UserInterface/Base/Main.js:
        (WebInspector.contentLoaded):
        (WebInspector.updateDockingAvailability):
        (WebInspector._updateDockNavigationItems):
        Update the Toolbar UI based on docking availability.
        Assume docking is unavailable by default.

        * UserInterface/Protocol/InspectorFrontendAPI.js:
        (InspectorFrontendAPI.setDockingUnavailable):
        Add back this API as the backend may be calling it when
        docking availability changes. This just calls out to
        global WebInspector functions to update the Toolbar UI.

        * UserInterface/Base/Test.js:
        (WebInspector.updateDockedState):
        (WebInspector.updateDockingAvailability):
        Do nothing in tests.

2015-05-06  Matt Baker  <mattbaker@apple.com>

        Web Inspector: The text in the left pane overlaps the "Filter Time Events" field in the Timeline after the Web Inspector is resized
        https://bugs.webkit.org/show_bug.cgi?id=144720

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/FilterBar.css:
        (.filter-bar):
        (.filter-bar > .navigation-bar):
        (.filter-bar > input[type="search"]):
        (.filter-bar > .navigation-bar > .item): Deleted.
        Filter bar now has opaque background and height updated to the ubiquitous 29px.

2015-05-06  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: DOMStorage exception and issue with sessionStorage
        https://bugs.webkit.org/show_bug.cgi?id=144646

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/DOMStorageContentView.js:
        (WebInspector.DOMStorageContentView):
        (WebInspector.DOMStorageContentView.prototype._populate):
        (WebInspector.DOMStorageContentView.prototype.reset): Deleted.
        Always have the datagrid be available with a default sort.

        (WebInspector.DOMStorageContentView.prototype._sortDataGrid.comparator):
        (WebInspector.DOMStorageContentView.prototype._sortDataGrid):
        Simplify and correct the order.

        (WebInspector.DOMStorageContentView.prototype.cleanup):
        Cleanup some uses of delete.

        * UserInterface/Views/DataGrid.js:
        (WebInspector.DataGrid.prototype.sortNodesImmediately):
        Provide a way to sort immediately without a visible delay.

        (WebInspector.DataGrid.prototype._sortNodesCallback):
        Cleanup some dead code to simplify sorting.

        (WebInspector.DataGridNode.prototype._attach):
        When sorting, the children list does not match the child node list,
        so ensure that placeholder nodes are added to the end.

        (WebInspector.PlaceholderDataGridNode.prototype.makeNormal):
        Cleanup some uses of delete.

2015-05-06  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: SourceCodeTextEditor shows "undefined" instead of resource content when pausing during resource load
        https://bugs.webkit.org/show_bug.cgi?id=144662

        Reviewed by Timothy Hatcher.

        * UserInterface/Protocol/InspectorBackend.js:
        (InspectorBackend.Command.prototype.promise):
        Start standardizing on rejecting Promises with Error objects.

        * UserInterface/Views/ResourceContentView.js:
        (WebInspector.ResourceContentView):
        (WebInspector.ResourceContentView.prototype._protocolError):
        When there is a protocol error, show a nice UI string for the error.

        (WebInspector.ResourceContentView.prototype._contentAvailable):
        (WebInspector.ResourceContentView.prototype._contentError):
        (WebInspector.ResourceContentView.prototype._hasContent):
        Whenever we hit an error case in ResourceContentView, check to make sure
        that a subclass hasn't already populated the content view with content.
        This can happen when a TextResourceContentView populates a Resource with
        Script content while paused, because the Resource content would be
        unavailable. We check that content has loaded by checking that the
        indeterminate spinner is no longer showing.

2015-05-05  Andres Gomez  <agomez@igalia.com>

        [GTK] Web Inspector: Further optimize SVG images
        https://bugs.webkit.org/show_bug.cgi?id=144441

        SVG images optimized with a combination of sed replacements, the
        usage of the scour tool (http://www.codedread.com/scour/) and a
        forked version of the svgo tool (https://github.com/tanty/svgo).

        Also, added the class attribute to the shape elements following
        the convention used in Apple's images.

        Reviewed by Joseph Pecoraro.

        * UserInterface/Images/gtk/BackArrow.svg: Optimized.
        * UserInterface/Images/gtk/BreakpointActionAdd.svg: Optimized.
        * UserInterface/Images/gtk/BreakpointActionRemove.svg: Optimized.
        * UserInterface/Images/gtk/BreakpointButton.svg: Optimized.
        * UserInterface/Images/gtk/BreakpointInactiveButton.svg: Optimized.
        * UserInterface/Images/gtk/Breakpoints.svg: Optimized.
        * UserInterface/Images/gtk/Checkers.svg: Optimized.
        * UserInterface/Images/gtk/Circle.svg: Optimized.
        * UserInterface/Images/gtk/Close.svg: Optimized.
        * UserInterface/Images/gtk/CloseLarge.svg: Optimized.
        * UserInterface/Images/gtk/CloseWhite.svg: Optimized.
        * UserInterface/Images/gtk/ContentFlow.svg: Optimized.
        * UserInterface/Images/gtk/Crosshair.svg: Optimized.
        * UserInterface/Images/gtk/DOMCharacterData.svg: Optimized.
        * UserInterface/Images/gtk/DOMComment.svg: Optimized.
        * UserInterface/Images/gtk/DOMDocument.svg: Optimized.
        * UserInterface/Images/gtk/DOMDocumentType.svg: Optimized.
        * UserInterface/Images/gtk/DOMElement.svg: Optimized.
        * UserInterface/Images/gtk/DOMNode.svg: Optimized.
        * UserInterface/Images/gtk/DOMTextNode.svg: Optimized.
        * UserInterface/Images/gtk/DisclosureTriangleSmallClosed.svg: Optimized.
        * UserInterface/Images/gtk/DisclosureTriangleSmallOpen.svg: Optimized.
        * UserInterface/Images/gtk/DisclosureTriangleTinyClosed.svg: Optimized.
        * UserInterface/Images/gtk/DisclosureTriangleTinyOpen.svg: Optimized.
        * UserInterface/Images/gtk/DockBottom.svg: Optimized.
        * UserInterface/Images/gtk/DockRight.svg: Optimized.
        * UserInterface/Images/gtk/DownloadArrow.svg: Optimized.
        * UserInterface/Images/gtk/Error.svg: Optimized.
        * UserInterface/Images/gtk/Errors.svg: Optimized.
        * UserInterface/Images/gtk/ErrorsEnabled.svg: Optimized.
        * UserInterface/Images/gtk/EventListener.svg: Optimized.
        * UserInterface/Images/gtk/Exception.svg: Optimized.
        * UserInterface/Images/gtk/Eye.svg: Optimized.
        * UserInterface/Images/gtk/FilterFieldGlyph.svg: Optimized.
        * UserInterface/Images/gtk/ForwardArrow.svg: Optimized.
        * UserInterface/Images/gtk/Function.svg: Optimized.
        * UserInterface/Images/gtk/GoToArrow.svg: Optimized.
        * UserInterface/Images/gtk/HierarchicalNavigationItemChevron.svg: Optimized.
        * UserInterface/Images/gtk/IndeterminateProgressSpinner1.svg: Optimized.
        * UserInterface/Images/gtk/IndeterminateProgressSpinner10.svg: Optimized.
        * UserInterface/Images/gtk/IndeterminateProgressSpinner11.svg: Optimized.
        * UserInterface/Images/gtk/IndeterminateProgressSpinner12.svg: Optimized.
        * UserInterface/Images/gtk/IndeterminateProgressSpinner2.svg: Optimized.
        * UserInterface/Images/gtk/IndeterminateProgressSpinner3.svg: Optimized.
        * UserInterface/Images/gtk/IndeterminateProgressSpinner4.svg: Optimized.
        * UserInterface/Images/gtk/IndeterminateProgressSpinner5.svg: Optimized.
        * UserInterface/Images/gtk/IndeterminateProgressSpinner6.svg: Optimized.
        * UserInterface/Images/gtk/IndeterminateProgressSpinner7.svg: Optimized.
        * UserInterface/Images/gtk/IndeterminateProgressSpinner8.svg: Optimized.
        * UserInterface/Images/gtk/IndeterminateProgressSpinner9.svg: Optimized.
        * UserInterface/Images/gtk/Issues.svg: Optimized.
        * UserInterface/Images/gtk/IssuesEnabled.svg: Optimized.
        * UserInterface/Images/gtk/LayerBorders.svg: Optimized.
        * UserInterface/Images/gtk/Locked.svg: Optimized.
        * UserInterface/Images/gtk/Logs.svg: Optimized.
        * UserInterface/Images/gtk/Native.svg: Optimized.
        * UserInterface/Images/gtk/NavigationItemCurleyBraces.svg: Optimized.
        * UserInterface/Images/gtk/NavigationItemTrash.svg: Optimized.
        * UserInterface/Images/gtk/NavigationItemTypes.svg: Optimized.
        * UserInterface/Images/gtk/PaintFlashing.svg: Optimized.
        * UserInterface/Images/gtk/Pause.svg: Optimized.
        * UserInterface/Images/gtk/PausedBreakpoint.svg: Optimized.
        * UserInterface/Images/gtk/Pencil.svg: Optimized.
        * UserInterface/Images/gtk/Plus.svg: Optimized. Text element
        converted into a shape.
        * UserInterface/Images/gtk/PseudoElement.svg: Optimized.
        * UserInterface/Images/gtk/Record.svg: Optimized.
        * UserInterface/Images/gtk/Reflection.svg: Optimized.
        * UserInterface/Images/gtk/ReloadFull.svg: Optimized.
        * UserInterface/Images/gtk/ReplayPauseButton.svg: Optimized.
        * UserInterface/Images/gtk/ReplayPlayButton.svg: Optimized.
        * UserInterface/Images/gtk/ReplayRecordingButton.svg: Optimized.
        * UserInterface/Images/gtk/Request.svg: Optimized.
        * UserInterface/Images/gtk/Resources.svg: Optimized.
        * UserInterface/Images/gtk/Response.svg: Optimized.
        * UserInterface/Images/gtk/ResultLine.svg: Optimized.
        * UserInterface/Images/gtk/Resume.svg: Optimized.
        * UserInterface/Images/gtk/ShadowDOM.svg: Optimized.
        * UserInterface/Images/gtk/SortIndicatorDownArrow.svg: Optimized.
        * UserInterface/Images/gtk/SortIndicatorUpArrow.svg: Optimized.
        * UserInterface/Images/gtk/SplitToggleUp.svg: Optimized.
        * UserInterface/Images/gtk/StepInto.svg: Optimized.
        * UserInterface/Images/gtk/StepOut.svg: Optimized.
        * UserInterface/Images/gtk/StepOver.svg: Optimized.
        * UserInterface/Images/gtk/Stop.svg: Optimized.
        * UserInterface/Images/gtk/StyleRuleAuthor.svg: Optimized.
        * UserInterface/Images/gtk/StyleRuleInherited.svg: Optimized.
        * UserInterface/Images/gtk/StyleRuleInheritedElement.svg: Optimized.
        * UserInterface/Images/gtk/StyleRuleInspector.svg: Optimized.
        * UserInterface/Images/gtk/StyleRuleUser.svg: Optimized.
        * UserInterface/Images/gtk/StyleRuleUserAgent.svg: Optimized.
        * UserInterface/Images/gtk/TimelineRecordAnimation.svg: Optimized.
        * UserInterface/Images/gtk/TimelineRecordConsoleProfile.svg: Optimized.
        * UserInterface/Images/gtk/TimelineRecordEvent.svg: Optimized.
        * UserInterface/Images/gtk/TimelineRecordLayout.svg: Optimized.
        * UserInterface/Images/gtk/TimelineRecordPaint.svg: Optimized.
        * UserInterface/Images/gtk/TimelineRecordProbeSampled.svg: Optimized.
        * UserInterface/Images/gtk/TimelineRecordScriptEvaluated.svg: Optimized.
        * UserInterface/Images/gtk/TimelineRecordStyle.svg: Optimized.
        * UserInterface/Images/gtk/TimelineRecordTimer.svg: Optimized.
        * UserInterface/Images/gtk/TypeBoolean.svg: Optimized.
        * UserInterface/Images/gtk/TypeNull.svg: Optimized.
        * UserInterface/Images/gtk/TypeNumber.svg: Optimized.
        * UserInterface/Images/gtk/TypeObject.svg: Optimized.
        * UserInterface/Images/gtk/TypeRegex.svg: Optimized. Removed
        mistaken extra shape.
        * UserInterface/Images/gtk/TypeString.svg: Optimized.
        * UserInterface/Images/gtk/TypeSymbol.svg: Optimized. Removed
        mistaken extra shape.
        * UserInterface/Images/gtk/TypeUndefined.svg: Optimized.
        * UserInterface/Images/gtk/Undock.svg: Optimized.
        * UserInterface/Images/gtk/UpDownArrows.svg: Optimized.
        * UserInterface/Images/gtk/UserInputPrompt.svg: Optimized.
        * UserInterface/Images/gtk/UserInputPromptPrevious.svg: Optimized.
        * UserInterface/Images/gtk/UserInputResult.svg: Optimized.
        * UserInterface/Images/gtk/Warning.svg: Optimized.

2015-05-05  Timothy Hatcher  <timothy@apple.com>

        REGRESSION: Web Inspector: no way to navigate to a resource/source location from overview timeline view
        https://bugs.webkit.org/show_bug.cgi?id=144539

        Reviewed by Brian Burg.

        * UserInterface/Views/GeneralTreeElement.js:
        (WebInspector.GeneralTreeElement.prototype.set status): Call didChange() so the onchange event fires. This allows
        TimelineSidebarPanel to update the status element when it goes from a spinner to empty for ResourceTreeElements.
        (WebInspector.GeneralTreeElement.prototype.onattach): Don't call _updateStatusElement, just append it if needed.
        Calling _updateStatusElement caused DOMNodeFragments as status elements to be appended a second time and fail.
        * UserInterface/Views/NavigationSidebarPanel.js:
        (WebInspector.NavigationSidebarPanel.prototype.treeElementAddedOrChanged):
        (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
        * UserInterface/Views/NetworkTimelineView.js:
        (WebInspector.NetworkTimelineView.prototype.canShowContentViewForTreeElement):
        (WebInspector.NetworkTimelineView.prototype.showContentViewForTreeElement):
        (WebInspector.NetworkTimelineView.prototype.treeElementSelected):
        (WebInspector.NetworkTimelineView.prototype._dataGridNodeSelected):
        (WebInspector.NetworkTimelineView.prototype._updateTreeElementWithCloseButton): Deleted.
        (WebInspector.NetworkTimelineView.prototype._closeStatusButtonClicked): Deleted.
        * UserInterface/Views/OverviewTimelineView.js:
        (WebInspector.OverviewTimelineView.prototype.canShowContentViewForTreeElement):
        (WebInspector.OverviewTimelineView.prototype.showContentViewForTreeElement):
        (WebInspector.OverviewTimelineView.prototype._dataGridNodeSelected):
        (WebInspector.OverviewTimelineView.prototype._treeElementDeselected): Deleted.
        (WebInspector.OverviewTimelineView.prototype._treeElementSelected): Deleted.
        (WebInspector.OverviewTimelineView.prototype._updateTreeElementWithCloseButton): Deleted.
        (WebInspector.OverviewTimelineView.prototype._closeStatusButtonClicked): Deleted.
        * UserInterface/Views/RenderingFrameTimelineView.js:
        (WebInspector.RenderingFrameTimelineView.prototype.canShowContentViewForTreeElement):
        (WebInspector.RenderingFrameTimelineView.prototype.showContentViewForTreeElement):
        * UserInterface/Views/ResourceTimelineDataGridNode.js:
        (WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent): Don't show a go-to arrow in the Domain column.
        (WebInspector.ResourceTimelineDataGridNode.prototype._goToResource): Deleted.
        * UserInterface/Views/ScriptTimelineView.js:
        (WebInspector.ScriptTimelineView.prototype.canShowContentViewForTreeElement):
        (WebInspector.ScriptTimelineView.prototype.showContentViewForTreeElement):
        (WebInspector.ScriptTimelineView.prototype.treeElementSelected):
        * UserInterface/Views/TimelineRecordTreeElement.js:
        (WebInspector.TimelineRecordTreeElement.prototype.get sourceCodeLocation):
        * UserInterface/Views/TimelineSidebarPanel.css:
        (.sidebar > .panel.navigation.timeline .item:hover:not(.selected) .status .close.status-button):
        (.sidebar > .panel.navigation.timeline:not(.timeline-recording-content-view-showing) .status .go-to-arrow.status-button):
        (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .status .close.status-button):
        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel.prototype.treeElementAddedOrChanged): Added.
        (WebInspector.TimelineSidebarPanel.prototype.canShowDifferentContentView):
        (WebInspector.TimelineSidebarPanel.prototype._treeElementGoToArrowWasClicked): Added.
        (WebInspector.TimelineSidebarPanel.prototype._treeElementCloseButtonClicked): Added.
        * UserInterface/Views/TimelineView.js:
        (WebInspector.TimelineView):
        (WebInspector.TimelineView.prototype.canShowContentViewForTreeElement):
        (WebInspector.TimelineView.prototype.showContentViewForTreeElement):
        (WebInspector.TimelineView.prototype.treeElementDeselected):
        (WebInspector.TimelineView.prototype.treeElementSelected):
        (WebInspector.TimelineView.prototype.needsLayout):
        (WebInspector.TimelineView.prototype._closeStatusButtonClicked): Deleted.
        (WebInspector.TimelineView.prototype._updateTreeElementWithCloseButton): Deleted.
        * UserInterface/Views/TreeElementStatusButton.css:
        (.item > .status > .status-button): Fix an alignment issue with close and go-to arrows being side-by-side.
        Does not happen in the final patch because they are mutually exclusive, but still good to fix.

2015-05-05  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Fix some issues with Search tabs
        https://bugs.webkit.org/show_bug.cgi?id=144531

        Reviewed by Darin Adler.

        * UserInterface/Views/ContentView.js:
        (WebInspector.ContentView):
        (WebInspector.ContentView.isViewable):
        Support DOMSearchMatchObject and SourceCodeSearchMatchObject representedObjects. These are usually
        handled at a higher level, but cookie restoring requires ContentView to handle them.

        * UserInterface/Views/DOMTreeContentView.js:
        (WebInspector.DOMTreeContentView):
        (WebInspector.DOMTreeContentView.prototype.selectAndRevealDOMNode):
        (WebInspector.DOMTreeContentView.prototype.selectLastSelectedNode):
        (WebInspector.DOMTreeContentView.prototype._restoreSelectedNodeAfterUpdate):
        Don't allow restoring the previous selected node when another not has already been selected.

        * UserInterface/Views/SearchTabContentView.js:
        (WebInspector.SearchTabContentView.prototype.canShowRepresentedObject):
        Allow Script objects to be shown in the Search tab.

2015-05-05  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Source/WebInspectorUI/UserInterface/Images/Logs.svg has unknown attribute "fille"
        https://bugs.webkit.org/show_bug.cgi?id=144627

        Reviewed by Darin Adler.

        * UserInterface/Images/Logs.svg: Change "fille" to "fill".

2015-05-05  Andres Gomez  <agomez@igalia.com>

        [GTK] Web Inspector: New Images added in r183339, r183338, r183332, r183323, r182660, and r182186
        https://bugs.webkit.org/show_bug.cgi?id=144329

        Reviewed by Joseph Pecoraro.

        * UserInterface/Images/gtk/Console.svg: Added.
        * UserInterface/Images/gtk/Debugger.svg: Added.
        * UserInterface/Images/gtk/Elements.svg: Added.
        * UserInterface/Images/gtk/Gear.svg: Added.
        * UserInterface/Images/gtk/NewTab.svg: Added.
        * UserInterface/Images/gtk/NewTabPlus.svg: Added.
        * UserInterface/Images/gtk/ReloadToolbar.svg: Added.
        * UserInterface/Images/gtk/SearchResults.svg: Added.
        * UserInterface/Images/gtk/Storage.svg: Added.
        * UserInterface/Images/gtk/Timeline.svg: Added.
        * UserInterface/Images/gtk/TimelineRecordRenderingFrame.svg: Added.
        * UserInterface/Images/gtk/ToggleLeftSidebar.svg: Added.
        * UserInterface/Images/gtk/ToggleRightSidebar.svg: Added.

2015-05-05  Andres Gomez  <agomez@igalia.com>

        [GTK] Web Inspector: icons for console.info() messages
        https://bugs.webkit.org/show_bug.cgi?id=144461

        Reviewed by Joseph Pecoraro.

        * UserInterface/Images/gtk/Debug.svg: Added.
        * UserInterface/Images/gtk/Info.svg: Added.
        * UserInterface/Images/gtk/Log.svg: Added.

2015-05-04  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Always expand initial top level DOM tree nodes when not including the root (frame views)
        https://bugs.webkit.org/show_bug.cgi?id=144607

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/DOMTreeOutline.js:
        (WebInspector.DOMTreeOutline.prototype.update):

2015-05-04  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Allow closing and reopening the Debugger tab
        https://bugs.webkit.org/show_bug.cgi?id=144536

        Reviewed by Joseph Pecoraro.

        * UserInterface/Base/Main.js:
        (WebInspector._updateNewTabButtonState):
        * UserInterface/Views/DebuggerSidebarPanel.js:
        (WebInspector.DebuggerSidebarPanel):
        (WebInspector.DebuggerSidebarPanel.prototype.closed):
        (WebInspector.DebuggerSidebarPanel.prototype._addIssuesForSourceCode):
        (WebInspector.DebuggerSidebarPanel.prototype._addResourcesRecursivelyForFrame):
        (WebInspector.DebuggerSidebarPanel.prototype._resourceAdded):
        (WebInspector.DebuggerSidebarPanel.prototype._addResource):
        (WebInspector.DebuggerSidebarPanel.prototype._mainResourceChanged):
        (WebInspector.DebuggerSidebarPanel.prototype._scriptAdded):
        (WebInspector.DebuggerSidebarPanel.prototype._addScript):
        * UserInterface/Views/DebuggerTabContentView.js:
        (WebInspector.DebuggerTabContentView):
        * UserInterface/Views/NewTabContentView.js:
        (WebInspector.NewTabContentView):

2015-05-04  Timothy Hatcher  <timothy@apple.com>

        REGRESSION: Web Inspector: FrameTreeElement does not folders properly when loading a page
        https://bugs.webkit.org/show_bug.cgi?id=144535

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/FolderizedTreeElement.js:
        (WebInspector.FolderizedTreeElement.prototype.addChildForRepresentedObject): Fix an exception if not in a tree.
        (WebInspector.FolderizedTreeElement.prototype.prepareToPopulate):
        (WebInspector.FolderizedTreeElement.prototype._populateFromNewChildQueue):

2015-05-04  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Allow closing and reopening the Timelines tab
        https://bugs.webkit.org/show_bug.cgi?id=144520

        Reviewed by Joseph Pecoraro.

        * UserInterface/Base/Main.js:
        (WebInspector._updateNewTabButtonState):
        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager): No need for a delay now. Call reset().
        (WebInspector.TimelineManager.prototype.reset):
        (WebInspector.TimelineManager.delayedWork): Deleted.
        * UserInterface/Views/ContentBrowserTabContentView.js:
        (WebInspector.ContentBrowserTabContentView):
        (WebInspector.ContentBrowserTabContentView.prototype.closed):
        * UserInterface/Views/LayoutTimelineView.js:
        (WebInspector.LayoutTimelineView.prototype.closed): Added. Fixed leak.
        * UserInterface/Views/NetworkTimelineView.js:
        (WebInspector.NetworkTimelineView.prototype.closed): Added. Fixed leak.
        * UserInterface/Views/NewTabContentView.js:
        (WebInspector.NewTabContentView): Added Timelines.
        * UserInterface/Views/OverviewTimelineView.js:
        (WebInspector.OverviewTimelineView.prototype.closed): Added. Fixed leak.
        * UserInterface/Views/RenderingFrameTimelineView.js:
        (WebInspector.RenderingFrameTimelineView.prototype.closed): Added. Fixed leak.
        * UserInterface/Views/ScriptTimelineView.js:
        (WebInspector.ScriptTimelineView.prototype.closed):
        * UserInterface/Views/SearchTabContentView.js:
        (WebInspector.SearchTabContentView.prototype.closed): Deleted. Made generic
        in ContentBrowserTabContentView.prototype.closed.
        * UserInterface/Views/TabBrowser.js:
        (WebInspector.TabBrowser.prototype._tabBarItemSelected): Fix a potential exception
        when selectedTabBarItem is null.
        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel):
        (WebInspector.TimelineSidebarPanel.prototype.closed):
        (WebInspector.TimelineSidebarPanel._recordingCreated): Call _addRecording.
        (WebInspector.TimelineSidebarPanel._addRecording): Added.
        * UserInterface/Views/TimelineTabContentView.js:
        (WebInspector.TimelineTabContentView):

2015-05-04  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Switching recordings in the Timeline navigation bar is broken
        https://bugs.webkit.org/show_bug.cgi?id=144519

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/ContentBrowser.js:
        (WebInspector.ContentBrowser.prototype._hierarchicalPathComponentWasSelected): Use revealAndSelect
        on the TreeElement instead of showing the representedObject directly. This fixes an exception in
        TimelineRecordingContentView where it wouldn't be initialized with the TimelineSidebarPanel extra argument.
        * UserInterface/Views/TimelineOverview.js:
        (WebInspector.TimelineOverview.prototype.get visibleDuration): Fix an annoying assert. We show the view
        early in construction, before it is in the document. Future updateLayout calls work and fix this.
        * UserInterface/Views/TimelineRecordingContentView.js:
        (WebInspector.TimelineRecordingContentView.prototype.shown): Call _currentContentViewDidChange
        to trigger the sidebar to update when this recording view is shown.
        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel.prototype._recordingsTreeElementSelected): Moved code from here...
        (WebInspector.TimelineSidebarPanel.prototype._recordingSelected): ... to here. Take two different paths
        to state restoration here. If the view existed before, use its state. If now, use the current state that
        is captured by the cookie logic and explicitly restore it.

2015-05-03  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Exception under ContentViewContainer _disassociateFromContentView
        https://bugs.webkit.org/show_bug.cgi?id=144546

        Reviewed by Brian Burg.

        * UserInterface/Views/ContentViewContainer.js:
        (WebInspector.ContentViewContainer.prototype.showContentView):
        Make sure to pass the ContentView to _disassociateFromContentView. Also negate the result
        of the _backForwardList.some(), since we don't want to dissociate if the content view is
        still in the back-forward list.

2015-05-02  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Relocate the selected range details in the Rendering Frames timeline UI
        https://bugs.webkit.org/show_bug.cgi?id=144346

        This patch removes the details sidebar used by the rendering frames view, and relocates the frame selection
        chart the Timelines navigation sidebar.

        Reviewed by Timothy Hatcher.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Base/Main.js:
        (WebInspector.contentLoaded):
        RenderingFramesDetailsSidebar is no longer used.

        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager.prototype._loadNewRecording):
        Reordered timelines.

        * UserInterface/Main.html:
        Removed references to deleted files.

        * UserInterface/Views/ChartDetailsSectionLegendRow.js: Removed.
        No longer used. The legend is now a child element of the chart.

        * UserInterface/Views/ChartDetailsSectionRow.css:
        (.details-section > .content > .group > .row.chart > .title):
        (.details-section > .content > .group > .row.chart > .chart-content):
        (.details-section > .content > .group > .row.chart > .chart-content > .legend):
        (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item):
        (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .label > .color-swatch):
        (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .label):
        (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .value):
        (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > *):
        New chart and legend styles.

        * UserInterface/Views/ChartDetailsSectionRow.js:
        (WebInspector.ChartDetailsSectionRow):
        (WebInspector.ChartDetailsSectionRow.prototype.set title):
        (WebInspector.ChartDetailsSectionRow.prototype.set innerLabel):
        (WebInspector.ChartDetailsSectionRow.prototype.set innerRadius):
        (WebInspector.ChartDetailsSectionRow.prototype.get total):
        (WebInspector.ChartDetailsSectionRow.set data):
        (WebInspector.ChartDetailsSectionRow.prototype.set data):
        (WebInspector.ChartDetailsSectionRow.prototype._createLegendItem):
        (WebInspector.ChartDetailsSectionRow.prototype._refresh):

        A few changes have been made to the appearance and behavior of the chart. A chart title can now be set,
        and the legend appears to the right of the chart rather than in a separate details group.

        The chart now has better support for adding empty data points, ensuring that a meaningful legend is shown even
        when no rendering frames are selected in the timeline overview graph. This ensures that the task associated
        with each colored frame segment is apparent, without having to make a selection or record a timeline.

        * UserInterface/Views/RenderingFrameDetailsSidebarPanel.js: Removed.
        No longer used.

        * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:
        Reduced maximum timeline height to increase the height of short frames.

        * UserInterface/Views/RenderingFrameTimelineView.js:
        (WebInspector.RenderingFrameTimelineView.prototype.shown):
        (WebInspector.RenderingFrameTimelineView.prototype.hidden):
        RenderingFramesDetailsSidebar is no longer used.

        * UserInterface/Views/TimelineRecordingContentView.js:
        (WebInspector.TimelineRecordingContentView):
        (WebInspector.TimelineRecordingContentView.prototype._updateTimes):
        (WebInspector.TimelineRecordingContentView.prototype._updateTimelineOverviewHeight):
        (WebInspector.TimelineRecordingContentView.prototype._timelineRemoved):
        (WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged):
        (WebInspector.TimelineRecordingContentView.prototype._updateFrameSelection):
        Improved logic for updating the frame selection.

        * UserInterface/Views/TimelineSidebarPanel.css:
        (.sidebar > .panel.navigation.timeline > .timelines-content > .details-section > div.header):
        (.sidebar > .panel.navigation.timeline > .timelines-content > .details-section > .content > .group > .row.chart):
        (.sidebar > .panel.navigation.timeline > .timelines-content > .details-section > .content > .group > .row.chart > .chart-content > .chart):
        (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing > .content): Deleted.
        New chart styles.

        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel):
        (WebInspector.TimelineSidebarPanel.prototype.shown):
        (WebInspector.TimelineSidebarPanel._timelineAdded.set this):
        (WebInspector.TimelineSidebarPanel.this._timelineTreeElementMap.get select):
        (WebInspector.TimelineSidebarPanel.get else):
        (WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart.getSelectedRecords.get var):
        (WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart.getSelectedRecords):
        (WebInspector.TimelineSidebarPanel.showTimelineViewForTimeline.this._timelineTreeElementMap.get select):
        (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.get if.get if):
        (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.get if):
        (WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart.durationForRecordType):
        (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject):
        (WebInspector.TimelineSidebarPanel.set contentTreeOutlineLabel): Deleted.
        (WebInspector.TimelineSidebarPanel._recordingCreated.set this): Deleted.
        (WebInspector.TimelineSidebarPanel.get this): Deleted.
        Moved the selected frames chart to the navigation sidebar.

        * UserInterface/Views/TimelineTabContentView.js:
        (WebInspector.TimelineTabContentView):
        RenderingFramesDetailsSidebar is no longer used.

        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
        Removed references to deleted files.

2015-05-02  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Allow closing and reopening the Resources tab
        https://bugs.webkit.org/show_bug.cgi?id=144513

        Reviewed by Joseph Pecoraro.

        * UserInterface/Base/Main.js:
        (WebInspector._updateNewTabButtonState):
        * UserInterface/Views/NewTabContentView.js:
        (WebInspector.NewTabContentView):
        * UserInterface/Views/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel):
        (WebInspector.ResourceSidebarPanel.prototype.closed):
        * UserInterface/Views/ResourcesTabContentView.js:
        (WebInspector.ResourcesTabContentView):

2015-05-02  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: REGRESSION: Resources section doesn't update after changes are made to a local file
        https://bugs.webkit.org/show_bug.cgi?id=144512

        The content view was being associated with the wrong represented object. This caused the code to use
        the old main resource when showing the frame again.

        Reviewed by Joseph Pecoraro.

        * UserInterface/Base/Main.js:
        (WebInspector._frameWasAdded.delayedWork):
        (WebInspector._frameWasAdded):
        With the changes in ResourceSidebarPanel, we need to delay showing the frame.

        * UserInterface/Views/ContentBrowserTabContentView.js:
        (WebInspector.ContentBrowserTabContentView.prototype.showRepresentedObject):
        Avoid restoring state by calling cancelRestoringState(). Not fully related to this bug,
        but it was preventing testing the cases.

        * UserInterface/Views/ContentViewContainer.js:
        (WebInspector.ContentViewContainer.prototype.contentViewForRepresentedObject):
        This fixes the bug. Don't associate the content view with the Frame, associate it with
        the Resource that we actually show.

        * UserInterface/Views/NavigationSidebarPanel.js:
        (WebInspector.NavigationSidebarPanel.prototype.cancelRestoringState): Added.

        * UserInterface/Views/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel): Remove unused _waitingForInitialMainFrame.
        (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject):
        (WebInspector.ResourceSidebarPanel.prototype._mainResourceDidChange):
        (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange):
        (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork):
        (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange):
        Clean up how we show the main frame in the sidebar. This was a two step mess before.

2015-04-29  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Remove FrameContentView.js
        https://bugs.webkit.org/show_bug.cgi?id=144415

        Reviewed by Joseph Pecoraro.

        * UserInterface/Images/DOMTree.svg: Removed.
        * UserInterface/Images/SourceCode.svg: Removed.
        * UserInterface/Main.html: Removed FrameContentView.js.
        * UserInterface/Views/FrameContentView.js: Removed.
        * UserInterface/Views/PathComponentIcons.css:
        (.source-code-icon .icon): Deleted.
        (.dom-tree-icon .icon): Deleted.

        * UserInterface/Views/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork):
        (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange):
        Simplify the code here. We don't need these checks now with tabs and the Storage tab.

2015-04-30  Nikita Vasilyev  <nvasilyev@apple.com>

        REGRESSION: Web Inspector: Console message repeat count overlapped by icon
        https://bugs.webkit.org/show_bug.cgi?id=144344

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ConsoleMessageView.css:
        (.console-message .repeat-count):

2015-04-30  Jon Davis  <jond@apple.com>

        Web Inspector: console should show an icon for console.info() messages
        https://bugs.webkit.org/show_bug.cgi?id=18530

        Reviewed by Timothy Hatcher.

        Added icons for console.log, console.info and console.debug messages.

        Separated console.info from console.log.

        * UserInterface/Images/Debug.svg: Added.
        * UserInterface/Images/Info.svg: Added.
        * UserInterface/Images/Log.svg: Added.
        New icon files.

        * UserInterface/Models/ConsoleMessage.js:
        * UserInterface/Views/ConsoleMessageView.css:
        (.console-log-level::before):
        (.console-info-level::before):
        (.console-debug-level::before):
        (:matches(.console-warning-level, .console-error-level, .console-log-level, .console-info-level, .console-debug-level).console-message):
        (:matches(.console-warning-level, .console-error-level, .console-log-level, .console-info-level, .console-debug-level)::before):
        (:matches(.console-warning-level, .console-error-level, .console-log-level).console-message): Deleted.
        (:matches(.console-warning-level, .console-error-level, .console-log-level)::before): Deleted.
        Include console.info messages in layout adjustments.

        * UserInterface/Views/ConsoleMessageView.js:
        (WebInspector.ConsoleMessageView):
        (WebInspector.ConsoleMessageView.prototype._levelString):

2015-04-30  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Scope Chain sidebar should be selected immediately when paused
        https://bugs.webkit.org/show_bug.cgi?id=144352

        Reviewed by Joseph Pecoraro.

        * UserInterface/Base/Main.js:
        (WebInspector.showDebuggerTab): Added showScopeChainDetailsSidebarPanel argument.
        (WebInspector._debuggerDidPause): Pass true for showScopeChainDetailsSidebarPanel.
        * UserInterface/Views/ContentBrowserTabContentView.js:
        (WebInspector.ContentBrowserTabContentView): Wire the event to showDetailsSidebarPanels instead of
        _contentBrowserRepresentedObjectsDidChange, allowing subclasses to do work during the event.
        (WebInspector.ContentBrowserTabContentView.prototype.showDetailsSidebarPanels): Moved content of
        _contentBrowserRepresentedObjectsDidChange here.
        (WebInspector.ContentBrowserTabContentView.prototype._contentBrowserRepresentedObjectsDidChange): Deleted.
        * UserInterface/Views/DebuggerTabContentView.js:
        (WebInspector.DebuggerTabContentView.prototype.showDetailsSidebarPanels): Added. Show the scope sidebar panel
        if it is available and it was requested by showScopeChainDetailsSidebarPanel().
        (WebInspector.DebuggerTabContentView.prototype.showScopeChainDetailsSidebarPanel): Added.

2015-04-30  Andres Gomez  <agomez@igalia.com>

        [GTK] Web Inspector: New Images for ObjectTreeView - Setter
        https://bugs.webkit.org/show_bug.cgi?id=143173

        Reviewed by Martin Robinson.

        * UserInterface/Images/gtk/Pencil.svg: Added.

2015-04-30  Andres Gomez  <agomez@igalia.com>

        [GTK] Web Inspector: Remove some unused Images
        https://bugs.webkit.org/show_bug.cgi?id=144445

        Reviewed by Carlos Garcia Campos.

        * UserInterface/Images/gtk/BottomUpTree.svg: Removed.
        * UserInterface/Images/gtk/Log.png: Removed.
        * UserInterface/Images/gtk/Log@2x.png: Removed.
        * UserInterface/Images/gtk/NavigationItemAngleBrackets.svg: Removed.
        * UserInterface/Images/gtk/NavigationItemBrushAndRuler.svg: Removed.
        * UserInterface/Images/gtk/NavigationItemBug.svg: Removed.
        * UserInterface/Images/gtk/NavigationItemFile.svg: Removed.
        * UserInterface/Images/gtk/NavigationItemLayers.svg: Removed.
        * UserInterface/Images/gtk/NavigationItemLog.svg: Removed.
        * UserInterface/Images/gtk/NavigationItemProbes.svg: Removed.
        * UserInterface/Images/gtk/NavigationItemStopwatch.svg: Removed.
        * UserInterface/Images/gtk/NavigationItemStorage.svg: Removed.
        * UserInterface/Images/gtk/NavigationItemVariable.svg: Removed.
        * UserInterface/Images/gtk/Percent.svg: Removed.
        * UserInterface/Images/gtk/Reload.svg: Removed.
        * UserInterface/Images/gtk/SplitToggleDown.svg: Removed.
        * UserInterface/Images/gtk/Time.svg: Removed.
        * UserInterface/Images/gtk/Weight.svg: Removed.

2015-04-30  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Copy not working in Console
        https://bugs.webkit.org/show_bug.cgi?id=144354

        Reviewed by Timothy Hatcher.

        * UserInterface/Base/Main.js:
        (WebInspector._focusedContentView):
        Select the inner most content view to check if handleCopyEvent exists.
        Previously we were stopping at the top level TabContentView.

2015-04-29  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Remove some unused Images
        https://bugs.webkit.org/show_bug.cgi?id=144412

        Reviewed by Joseph Pecoraro.

        * UserInterface/Images/BottomUpTree.svg: Removed.
        * UserInterface/Images/Log.png: Removed.
        * UserInterface/Images/Log@2x.png: Removed.
        * UserInterface/Images/NavigationItemAngleBrackets.svg: Removed.
        * UserInterface/Images/NavigationItemBrushAndRuler.svg: Removed.
        * UserInterface/Images/NavigationItemBug.svg: Removed.
        * UserInterface/Images/NavigationItemDoughnutChart.svg: Removed.
        * UserInterface/Images/NavigationItemFile.svg: Removed.
        * UserInterface/Images/NavigationItemLayers.svg: Removed.
        * UserInterface/Images/NavigationItemLog.svg: Removed.
        * UserInterface/Images/NavigationItemProbes.svg: Removed.
        * UserInterface/Images/NavigationItemStopwatch.svg: Removed.
        * UserInterface/Images/NavigationItemStorage.svg: Removed.
        * UserInterface/Images/NavigationItemVariable.svg: Removed.
        * UserInterface/Images/NetworkBarLabelCalloutLeft.svg: Removed.
        * UserInterface/Images/NetworkBarLabelCalloutRight.svg: Removed.
        * UserInterface/Images/NetworkBarLabelCalloutWhiteLeft.svg: Removed.
        * UserInterface/Images/NetworkBarLabelCalloutWhiteRight.svg: Removed.
        * UserInterface/Images/Percent.svg: Removed.
        * UserInterface/Images/Reload.svg: Removed.
        * UserInterface/Images/SplitToggleDown.svg: Removed.
        * UserInterface/Images/Time.svg: Removed.
        * UserInterface/Images/Weight.svg: Removed.

2015-04-29  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Split Storage from Resources tab
        https://bugs.webkit.org/show_bug.cgi?id=144404

        Reviewed by Joseph Pecoraro.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Base/Main.js:
        (WebInspector.loaded):
        (WebInspector.isTabTypeAllowed):
        (WebInspector._tabContentViewForType):
        (WebInspector._updateNewTabButtonState):
        (WebInspector.showStorageTab):
        (WebInspector._storageWasInspected):
        * UserInterface/Controllers/ApplicationCacheManager.js:
        (WebInspector.ApplicationCacheManager.prototype.initialize):
        (WebInspector.ApplicationCacheManager.prototype.get applicationCacheObjects):
        * UserInterface/Controllers/StorageManager.js:
        (WebInspector.StorageManager.prototype.get domStorageObjects):
        (WebInspector.StorageManager.prototype.get databases):
        (WebInspector.StorageManager.prototype.get indexedDatabases):
        (WebInspector.StorageManager.prototype.get cookieStorageObjects):
        * UserInterface/Images/Storage.svg: Added.
        * UserInterface/Main.html:
        * UserInterface/Views/DatabaseTableContentView.js:
        (WebInspector.DatabaseTableContentView.prototype._queryFinished): Clear _dataGrid,
        since it might have been allocated but still be empty. This avoids an exception in
        updateLayout next time layout is updated.
        * UserInterface/Views/NewTabContentView.js:
        (WebInspector.NewTabContentView):
        * UserInterface/Views/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel):
        (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
        (WebInspector.ResourceSidebarPanel.prototype._domStorageObjectWasAdded): Deleted.
        (WebInspector.ResourceSidebarPanel.prototype._domStorageObjectWasInspected): Deleted.
        (WebInspector.ResourceSidebarPanel.prototype._databaseWasAdded): Deleted.
        (WebInspector.ResourceSidebarPanel.prototype._databaseWasInspected): Deleted.
        (WebInspector.ResourceSidebarPanel.prototype._indexedDatabaseWasAdded): Deleted.
        (WebInspector.ResourceSidebarPanel.prototype._cookieStorageObjectWasAdded): Deleted.
        (WebInspector.ResourceSidebarPanel.prototype._frameManifestAdded): Deleted.
        (WebInspector.ResourceSidebarPanel.prototype._frameManifestRemoved): Deleted.
        (WebInspector.ResourceSidebarPanel.prototype._addStorageChild): Deleted.
        (WebInspector.ResourceSidebarPanel.prototype._storageCleared): Deleted.
        * UserInterface/Views/ResourcesTabContentView.js:
        (WebInspector.ResourcesTabContentView):
        (WebInspector.ResourcesTabContentView.prototype.canShowRepresentedObject):
        * UserInterface/Views/StorageSidebarPanel.js: Added.
        (WebInspector.StorageSidebarPanel):
        (WebInspector.StorageSidebarPanel.prototype.showDefaultContentView):
        (WebInspector.StorageSidebarPanel.prototype.closed):
        (WebInspector.StorageSidebarPanel.prototype._treeElementSelected):
        (WebInspector.StorageSidebarPanel.prototype._domStorageObjectWasAdded):
        (WebInspector.StorageSidebarPanel.prototype._addDOMStorageObject):
        (WebInspector.StorageSidebarPanel.prototype._domStorageObjectWasInspected):
        (WebInspector.StorageSidebarPanel.prototype._databaseWasAdded):
        (WebInspector.StorageSidebarPanel.prototype._addDatabase):
        (WebInspector.StorageSidebarPanel.prototype._databaseWasInspected):
        (WebInspector.StorageSidebarPanel.prototype._indexedDatabaseWasAdded):
        (WebInspector.StorageSidebarPanel.prototype._addIndexedDatabase):
        (WebInspector.StorageSidebarPanel.prototype._cookieStorageObjectWasAdded):
        (WebInspector.StorageSidebarPanel.prototype._addCookieStorageObject):
        (WebInspector.StorageSidebarPanel.prototype._frameManifestAdded):
        (WebInspector.StorageSidebarPanel.prototype._addFrameManifest):
        (WebInspector.StorageSidebarPanel.prototype._frameManifestRemoved):
        (WebInspector.StorageSidebarPanel.prototype._compareTreeElements):
        (WebInspector.StorageSidebarPanel.prototype._addStorageChild):
        (WebInspector.StorageSidebarPanel.prototype._storageCleared):
        * UserInterface/Views/StorageTabContentView.js: Copied from Source/WebInspectorUI/UserInterface/Views/ResourcesTabContentView.js.
        (WebInspector.StorageTabContentView):
        (WebInspector.StorageTabContentView.prototype.get type):
        (WebInspector.StorageTabContentView.prototype.canShowRepresentedObject):

2015-04-29  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Remove Legacy images and styles
        https://bugs.webkit.org/show_bug.cgi?id=144390

        Reviewed by Joseph Pecoraro.

        * UserInterface/Base/ImageUtilities.js:
        (.generateImage):
        (.generateImage.generateLegacyImage): Deleted.
        * UserInterface/Base/Main.js:
        (WebInspector.contentLoaded):
        (WebInspector._updateToolbarHeight):
        * UserInterface/Base/Platform.js:
        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager.prototype._loadNewRecording):
        * UserInterface/Images/Legacy/BackArrow.svg: Removed.
        * UserInterface/Images/Legacy/Breakpoints.svg: Removed.
        * UserInterface/Images/Legacy/Close.svg: Removed.
        * UserInterface/Images/Legacy/CloseLarge.svg: Removed.
        * UserInterface/Images/Legacy/Colors.png: Removed.
        * UserInterface/Images/Legacy/Colors@2x.png: Removed.
        * UserInterface/Images/Legacy/ColorsLarge.png: Removed.
        * UserInterface/Images/Legacy/ColorsLarge@2x.png: Removed.
        * UserInterface/Images/Legacy/DockBottom.svg: Removed.
        * UserInterface/Images/Legacy/DockRight.svg: Removed.
        * UserInterface/Images/Legacy/DownloadArrow.svg: Removed.
        * UserInterface/Images/Legacy/Errors.svg: Removed.
        * UserInterface/Images/Legacy/ErrorsEnabled.svg: Removed.
        * UserInterface/Images/Legacy/FilterFieldGlyph.svg: Removed.
        * UserInterface/Images/Legacy/FolderGeneric.png: Removed.
        * UserInterface/Images/Legacy/FolderGeneric@2x.png: Removed.
        * UserInterface/Images/Legacy/ForwardArrow.svg: Removed.
        * UserInterface/Images/Legacy/Issues.svg: Removed.
        * UserInterface/Images/Legacy/IssuesEnabled.svg: Removed.
        * UserInterface/Images/Legacy/LayerBorders.svg: Removed.
        * UserInterface/Images/Legacy/Logs.svg: Removed.
        * UserInterface/Images/Legacy/NavigationItemCurleyBraces.svg: Removed.
        * UserInterface/Images/Legacy/NavigationItemTrash.svg: Removed.
        * UserInterface/Images/Legacy/Network.png: Removed.
        * UserInterface/Images/Legacy/Network@2x.png: Removed.
        * UserInterface/Images/Legacy/NetworkLarge.png: Removed.
        * UserInterface/Images/Legacy/NetworkLarge@2x.png: Removed.
        * UserInterface/Images/Legacy/Pause.svg: Removed.
        * UserInterface/Images/Legacy/Plus.svg: Removed.
        * UserInterface/Images/Legacy/Recording.png: Removed.
        * UserInterface/Images/Legacy/Recording@2x.png: Removed.
        * UserInterface/Images/Legacy/RecordingHovered.png: Removed.
        * UserInterface/Images/Legacy/RecordingHovered@2x.png: Removed.
        * UserInterface/Images/Legacy/RecordingStopped.png: Removed.
        * UserInterface/Images/Legacy/RecordingStopped@2x.png: Removed.
        * UserInterface/Images/Legacy/Reload.svg: Removed.
        * UserInterface/Images/Legacy/Resources.svg: Removed.
        * UserInterface/Images/Legacy/Resume.svg: Removed.
        * UserInterface/Images/Legacy/ShadowDOM.svg: Removed.
        * UserInterface/Images/Legacy/SortIndicatorDownArrow.svg: Removed.
        * UserInterface/Images/Legacy/SortIndicatorUpArrow.svg: Removed.
        * UserInterface/Images/Legacy/SplitToggleDown.svg: Removed.
        * UserInterface/Images/Legacy/SplitToggleUp.svg: Removed.
        * UserInterface/Images/Legacy/StepInto.svg: Removed.
        * UserInterface/Images/Legacy/StepOut.svg: Removed.
        * UserInterface/Images/Legacy/StepOver.svg: Removed.
        * UserInterface/Images/Legacy/Time.svg: Removed.
        * UserInterface/Images/Legacy/Undock.svg: Removed.
        * UserInterface/Images/Legacy/UpDownArrows.svg: Removed.
        * UserInterface/Images/Legacy/Weight.svg: Removed.
        * UserInterface/Views/ButtonNavigationItem.css:
        (body.mac-platform.legacy .navigation-bar .item.button.text-only): Deleted.
        * UserInterface/Views/ButtonToolbarItem.css:
        (body.mac-platform.legacy .toolbar .item.button > .label): Deleted.
        * UserInterface/Views/CSSStyleDeclarationSection.css:
        (body.mac-platform.legacy .style-declaration-section): Deleted.
        (body.mac-platform.legacy .style-declaration-section + .style-declaration-section): Deleted.
        (body.mac-platform.legacy .style-declaration-section.last-in-group): Deleted.
        (body.mac-platform.legacy .style-declaration-section.last-in-group + .style-declaration-section): Deleted.
        (body.mac-platform.legacy .style-declaration-section.last-in-group + .style-declaration-section:matches(.last-in-group, :last-child)): Deleted.
        * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
        (body.mac-platform.legacy .sidebar > .panel.details.css-style > .content): Deleted.
        * UserInterface/Views/ContentBrowser.js:
        (WebInspector.ContentBrowser):
        * UserInterface/Views/ControlToolbarItem.css:
        (body.mac-platform.legacy .toolbar .item.control): Deleted.
        (body.mac-platform.legacy .toolbar .item.control:hover): Deleted.
        * UserInterface/Views/DOMTreeContentView.js:
        (WebInspector.DOMTreeContentView):
        * UserInterface/Views/DOMTreeOutline.css:
        (body.mac-platform.legacy .dom-tree-outline li.hovered:not(.selected) .selection): Deleted.
        (body.mac-platform.legacy .dom-tree-outline li.elements-drag-over .selection): Deleted.
        (body.mac-platform.legacy .dom-tree-outline:focus li.selected .selection): Deleted.
        * UserInterface/Views/DashboardContainerView.css:
        (body.mac-platform.legacy .toolbar .dashboard-container): Deleted.
        (body.mac-platform.legacy.window-inactive .toolbar .dashboard-container): Deleted.
        (body.mac-platform.legacy.window-inactive .toolbar .dashboard): Deleted.
        (body.mac-platform.legacy .dashboard-container .advance-arrow): Deleted.
        * UserInterface/Views/DataGrid.css:
        (body.mac-platform.legacy .data-grid:focus tr.selected td:not(:last-child)): Deleted.
        (body.mac-platform.legacy .data-grid:focus tr.selected): Deleted.
        * UserInterface/Views/DataGrid.js:
        (WebInspector.DataGrid.prototype.get _generateSortIndicatorImagesIfNeeded):
        * UserInterface/Views/DatabaseTableContentView.js:
        (WebInspector.DatabaseTableContentView):
        * UserInterface/Views/DebuggerDashboardView.js:
        (WebInspector.DebuggerDashboardView):
        * UserInterface/Views/DebuggerSidebarPanel.css:
        (body.mac-platform.legacy .sidebar > .panel.navigation.debugger > .content): Deleted.
        * UserInterface/Views/DebuggerSidebarPanel.js:
        * UserInterface/Views/DefaultDashboardView.css:
        (body.mac-platform.legacy .toolbar .dashboard.default > .item): Deleted.
        (body.mac-platform.legacy .toolbar .dashboard.default > .resourcesCount > img): Deleted.
        (body.mac-platform.legacy .toolbar .dashboard.default > .logs > img): Deleted.
        (body.mac-platform.legacy .toolbar .dashboard.default > .errors > img): Deleted.
        (body.mac-platform.legacy .toolbar .dashboard.default > .errors.enabled > img): Deleted.
        (body.mac-platform.legacy .toolbar .dashboard.default > .issues > img): Deleted.
        (body.mac-platform.legacy .toolbar .dashboard.default > .issues.enabled > img): Deleted.
        * UserInterface/Views/DetailsSection.css:
        (body.mac-platform.legacy .details-section): Deleted.
        (body.mac-platform.legacy .details-section .details-section): Deleted.
        (body.mac-platform.legacy .details-section .details-section:first-child): Deleted.
        (body.mac-platform.legacy .details-section > .header): Deleted.
        (body.mac-platform.legacy .details-section .details-section > .header): Deleted.
        (body.mac-platform.legacy .details-section .details-section.collapsed > .header): Deleted.
        (body.mac-platform.legacy .details-section:not(.collapsed) .data-grid.inline): Deleted.
        (body.mac-platform.legacy .details-section.computed-style-properties:not(.collapsed) > .header): Deleted.
        (body.mac-platform.legacy .details-section > .content > .group): Deleted.
        (body.mac-platform.legacy .details-section > .content > .group:nth-child(even)): Deleted.
        (body.mac-platform.legacy .details-section > .content > .group:matches(:nth-child(even), :last-child) > .row.simple:last-child > *): Deleted.
        (body.mac-platform.legacy .details-section > .content > .group > .row:matches(.empty, .text)): Deleted.
        * UserInterface/Views/DividerNavigationItem.css:
        (.navigation-bar .item.divider):
        (body.mac-platform.legacy .navigation-bar .item.divider): Deleted.
        * UserInterface/Views/FilterBar.css:
        (.filter-bar > input[type="search"]::-webkit-search-decoration):
        (body.mac-platform.legacy .filter-bar): Deleted.
        (body.mac-platform.legacy .filter-bar > input[type="search"]): Deleted.
        (body.mac-platform.legacy .filter-bar > input[type="search"]::-webkit-search-decoration): Deleted.
        * UserInterface/Views/FindBanner.css:
        (body.mac-platform.legacy .find-banner > input[type="search"]): Deleted.
        (body.mac-platform.legacy .find-banner > button > .glyph): Deleted.
        (body.mac-platform.legacy .find-banner > button.segmented.left > .glyph): Deleted.
        (body.mac-platform.legacy .find-banner > button.segmented.right > .glyph): Deleted.
        (body.mac-platform.legacy .find-banner > button.segmented): Deleted.
        * UserInterface/Views/FindBanner.js:
        (WebInspector.FindBanner.prototype._generateButtonsGlyphsIfNeeded):
        (WebInspector.FindBanner):
        * UserInterface/Views/FolderIcon.css:
        (.folder-icon .icon):
        (body.mac-platform.legacy .folder-icon .icon): Deleted.
        * UserInterface/Views/HierarchicalPathComponent.css:
        (body.mac-platform.legacy .hierarchical-path-component > .selector-arrows): Deleted.
        * UserInterface/Views/IndexedDatabaseObjectStoreContentView.js:
        (WebInspector.IndexedDatabaseObjectStoreContentView):
        * UserInterface/Views/LayerTreeDetailsSidebarPanel.css:
        (body.mac-platform.legacy .sidebar > .panel.details.layer-tree > .content): Deleted.
        (body.mac-platform.legacy .panel.details.layer-tree .bottom-bar): Deleted.
        (body.mac-platform.legacy .panel.details.layer-tree .bottom-bar > div): Deleted.
        (body.mac-platform.legacy .layer-tree-popover): Deleted.
        * UserInterface/Views/LogContentView.css:
        (body.mac-platform.legacy .search-bar.log-search-bar > input[type="search"]): Deleted.
        * UserInterface/Views/LogContentView.js:
        (WebInspector.LogContentView):
        * UserInterface/Views/Main.css:
        (body.mac-platform.legacy:not(.docked)): Deleted.
        (body.docked.bottom.mac-platform.legacy): Deleted.
        (body.docked.right.mac-platform.legacy): Deleted.
        (body.mac-platform.legacy #split-content-browser > .navigation-bar): Deleted.
        * UserInterface/Views/NavigationBar.css:
        (.navigation-bar .item):
        (body.mac-platform.legacy .navigation-bar): Deleted.
        (body.mac-platform.legacy .navigation-bar .item): Deleted.
        * UserInterface/Views/NavigationSidebarPanel.css:
        (body.mac-platform.legacy .sidebar > .panel.navigation > .content): Deleted.
        (body.mac-platform.legacy .sidebar > .panel.navigation > .overflow-shadow): Deleted.
        (body.mac-platform.legacy .sidebar > .panel.navigation > .overflow-shadow.top): Deleted.
        (body.mac-platform.legacy .sidebar > .panel.navigation > .empty-content-placeholder): Deleted.
        (body.mac-platform.legacy .navigation-sidebar-panel-content-tree-outline .item.selected): Deleted.
        (body.mac-platform.legacy .navigation-sidebar-panel-content-tree-outline:focus .item.selected): Deleted.
        (body.mac-platform.legacy.window-inactive .navigation-sidebar-panel-content-tree-outline .item.selected): Deleted.
        * UserInterface/Views/NavigationSidebarPanel.js:
        (WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
        (WebInspector.NavigationSidebarPanel.prototype._generateDisclosureTrianglesIfNeeded):
        * UserInterface/Views/Popover.js:
        * UserInterface/Views/ProbeDetailsSidebarPanel.css:
        (body.mac-platform.legacy .details-section.probe-set .options > .probe-clear-samples): Deleted.
        (body.mac-platform.legacy .details-section.probe-set .options > .probe-remove): Deleted.
        (body.mac-platform.legacy .details-section.probe-set .options > .probe-add): Deleted.
        * UserInterface/Views/QuickConsole.css:
        (body.mac-platform.legacy .quick-console): Deleted.
        * UserInterface/Views/RadioButtonNavigationItem.css:
        (.navigation-bar .item.radio.button.text-only.selected:active):
        (body.mac-platform.legacy .navigation-bar .item.radio.button.text-only:hover): Deleted.
        (body.mac-platform.legacy .navigation-bar .item.radio.button.text-only.selected): Deleted.
        (body.mac-platform.legacy .navigation-bar .item.radio.button.text-only.selected:active): Deleted.
        * UserInterface/Views/RulesStyleDetailsPanel.css:
        (body.mac-platform.legacy .sidebar > .panel.details.css-style .rules .label + .style-declaration-section): Deleted.
        (body.mac-platform.legacy .sidebar > .panel.details.css-style .rules .new-rule): Deleted.
        (body.mac-platform.legacy .sidebar > .panel.details.css-style .rules .new-rule + .style-declaration-section): Deleted.
        (body.mac-platform.legacy .sidebar > .panel.details.css-style .rules .new-rule img): Deleted.
        * UserInterface/Views/ScopeBar.css:
        (.scope-bar > li.selected:active):
        (body.mac-platform.legacy .scope-bar > li): Deleted.
        (body.mac-platform.legacy .scope-bar > li:hover): Deleted.
        (body.mac-platform.legacy .scope-bar > li.selected): Deleted.
        (body.mac-platform.legacy .scope-bar > li:active): Deleted.
        (body.mac-platform.legacy .scope-bar > li.selected:active): Deleted.
        * UserInterface/Views/ScriptContentView.js:
        (WebInspector.ScriptContentView):
        * UserInterface/Views/SearchBar.css:
        (body.mac-platform.legacy .search-bar > input[type="search"]): Deleted.
        * UserInterface/Views/SearchSidebarPanel.css:
        (.sidebar > .panel.navigation.search > .search-bar > input[type="search"]):
        (body.mac-platform.legacy .sidebar > .panel.navigation.search > :matches(.content, .empty-content-placeholder)): Deleted.
        (body.mac-platform.legacy .sidebar > .panel.navigation.search > .search-bar): Deleted.
        (body.mac-platform.legacy .sidebar > .panel.navigation.search > .search-bar > input[type="search"]): Deleted.
        * UserInterface/Views/Sidebar.css:
        (body.window-inactive .sidebar.right):
        (body.mac-platform.legacy .sidebar): Deleted.
        (body.mac-platform.legacy.window-inactive .sidebar): Deleted.
        (body.mac-platform.legacy .sidebar.right): Deleted.
        * UserInterface/Views/TextContentView.js:
        (WebInspector.TextContentView):
        * UserInterface/Views/TextResourceContentView.js:
        (WebInspector.TextResourceContentView):
        * UserInterface/Views/TimelineDataGrid.css:
        (body.mac-platform.legacy .data-grid.timeline > .navigation-bar-container > .navigation-bar): Deleted.
        * UserInterface/Views/TimelineIcons.css:
        (body.mac-platform.legacy .network-icon .icon): Deleted.
        (body.mac-platform.legacy .network-icon.large .icon): Deleted.
        (body.mac-platform.legacy .colors-icon .icon): Deleted.
        (body.mac-platform.legacy .colors-icon.large .icon): Deleted.
        * UserInterface/Views/TimelineRecordingContentView.js:
        (WebInspector.TimelineRecordingContentView):
        * UserInterface/Views/TimelineRuler.css:
        (body.mac-platform.legacy .timeline-ruler > .header): Deleted.
        (body.mac-platform.legacy .timeline-ruler > .selection-drag): Deleted.
        (body.mac-platform.legacy .timeline-ruler > .selection-handle): Deleted.
        * UserInterface/Views/TimelineSidebarPanel.css:
        (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing > .content):
        (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar): Deleted.
        (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph): Deleted.
        (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording): Deleted.
        (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:hover): Deleted.
        (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording:hover): Deleted.
        (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.forced): Deleted.
        (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording.forced): Deleted.
        (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-status): Deleted.
        (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .title-bar): Deleted.
        (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .title-bar.timelines): Deleted.
        (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .title-bar.timeline-events): Deleted.
        (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content): Deleted.
        (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content .close-button): Deleted.
        (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item): Deleted.
        (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content :focus li.item.selected + li.item): Deleted.
        (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > :matches(.content, .empty-content-placeholder)): Deleted.
        (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .content .item > .status > .status-button): Deleted.
        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel):
        * UserInterface/Views/Toolbar.css:
        (body.mac-platform:not(.docked) .toolbar):
        (body.mac-platform:not(.legacy, .docked) .toolbar): Deleted.
        (body.mac-platform.legacy .toolbar): Deleted.
        (body.mac-platform.legacy.docked .toolbar): Deleted.
        (body.mac-platform.legacy:not(.docked) .toolbar .item.button > .label): Deleted.
        (body.mac-platform.legacy.window-inactive .toolbar): Deleted.
        * UserInterface/Views/TreeElementStatusButton.css:
        (body.mac-platform.legacy .item > .status > .status-button > svg .filled): Deleted.
        (body.mac-platform.legacy .item > .status > .status-button > svg .stroked): Deleted.

2015-04-29  Andres Gomez  <agomez@igalia.com>

        [GTK] Web Inspector: Optimize SVG images
        https://bugs.webkit.org/show_bug.cgi?id=143476

        SVG images optimized with a combination of sed replacements and
        the usage of the scour tool (http://www.codedread.com/scour/).

        Also, modified the spelling of the license word to use the US one
        in the copyright files.

        Reviewed by Martin Robinson.

        * UserInterface/Images/gtk/BackArrow.svg:
        * UserInterface/Images/gtk/BottomUpTree.svg:
        * UserInterface/Images/gtk/BreakpointActionAdd.svg:
        * UserInterface/Images/gtk/BreakpointActionRemove.svg:
        * UserInterface/Images/gtk/BreakpointButton.svg:
        * UserInterface/Images/gtk/BreakpointInactiveButton.svg:
        * UserInterface/Images/gtk/Breakpoints.svg:
        * UserInterface/Images/gtk/COPYING:
        * UserInterface/Images/gtk/COPYING_CCBYSA3:
        * UserInterface/Images/gtk/Checkers.svg:
        * UserInterface/Images/gtk/Circle.svg:
        * UserInterface/Images/gtk/Close.svg:
        * UserInterface/Images/gtk/CloseLarge.svg:
        * UserInterface/Images/gtk/CloseWhite.svg:
        * UserInterface/Images/gtk/ContentFlow.svg:
        * UserInterface/Images/gtk/Crosshair.svg:
        * UserInterface/Images/gtk/DOMCharacterData.svg:
        * UserInterface/Images/gtk/DOMComment.svg:
        * UserInterface/Images/gtk/DOMDocument.svg:
        * UserInterface/Images/gtk/DOMDocumentType.svg:
        * UserInterface/Images/gtk/DOMElement.svg:
        * UserInterface/Images/gtk/DOMNode.svg:
        * UserInterface/Images/gtk/DOMTextNode.svg:
        * UserInterface/Images/gtk/DOMTree.svg:
        * UserInterface/Images/gtk/DisclosureTriangleSmallClosed.svg:
        * UserInterface/Images/gtk/DisclosureTriangleSmallOpen.svg:
        * UserInterface/Images/gtk/DisclosureTriangleTinyClosed.svg:
        * UserInterface/Images/gtk/DisclosureTriangleTinyOpen.svg:
        * UserInterface/Images/gtk/DockBottom.svg:
        * UserInterface/Images/gtk/DockRight.svg:
        * UserInterface/Images/gtk/DownloadArrow.svg:
        * UserInterface/Images/gtk/Error.svg:
        * UserInterface/Images/gtk/Errors.svg:
        * UserInterface/Images/gtk/ErrorsEnabled.svg:
        * UserInterface/Images/gtk/EventListener.svg:
        * UserInterface/Images/gtk/Exception.svg:
        * UserInterface/Images/gtk/Eye.svg:
        * UserInterface/Images/gtk/FilterFieldGlyph.svg:
        * UserInterface/Images/gtk/ForwardArrow.svg:
        * UserInterface/Images/gtk/Function.svg:
        * UserInterface/Images/gtk/GoToArrow.svg:
        * UserInterface/Images/gtk/HierarchicalNavigationItemChevron.svg:
        * UserInterface/Images/gtk/IndeterminateProgressSpinner1.svg:
        * UserInterface/Images/gtk/IndeterminateProgressSpinner10.svg:
        * UserInterface/Images/gtk/IndeterminateProgressSpinner11.svg:
        * UserInterface/Images/gtk/IndeterminateProgressSpinner12.svg:
        * UserInterface/Images/gtk/IndeterminateProgressSpinner2.svg:
        * UserInterface/Images/gtk/IndeterminateProgressSpinner3.svg:
        * UserInterface/Images/gtk/IndeterminateProgressSpinner4.svg:
        * UserInterface/Images/gtk/IndeterminateProgressSpinner5.svg:
        * UserInterface/Images/gtk/IndeterminateProgressSpinner6.svg:
        * UserInterface/Images/gtk/IndeterminateProgressSpinner7.svg:
        * UserInterface/Images/gtk/IndeterminateProgressSpinner8.svg:
        * UserInterface/Images/gtk/IndeterminateProgressSpinner9.svg:
        * UserInterface/Images/gtk/Issues.svg:
        * UserInterface/Images/gtk/IssuesEnabled.svg:
        * UserInterface/Images/gtk/LayerBorders.svg:
        * UserInterface/Images/gtk/Locked.svg:
        * UserInterface/Images/gtk/Logs.svg:
        * UserInterface/Images/gtk/Native.svg:
        * UserInterface/Images/gtk/NavigationItemAngleBrackets.svg:
        * UserInterface/Images/gtk/NavigationItemBrushAndRuler.svg:
        * UserInterface/Images/gtk/NavigationItemBug.svg:
        * UserInterface/Images/gtk/NavigationItemCurleyBraces.svg:
        * UserInterface/Images/gtk/NavigationItemFile.svg:
        * UserInterface/Images/gtk/NavigationItemLayers.svg:
        * UserInterface/Images/gtk/NavigationItemLog.svg:
        * UserInterface/Images/gtk/NavigationItemProbes.svg:
        * UserInterface/Images/gtk/NavigationItemStopwatch.svg:
        * UserInterface/Images/gtk/NavigationItemStorage.svg:
        * UserInterface/Images/gtk/NavigationItemTrash.svg:
        * UserInterface/Images/gtk/NavigationItemTypes.svg:
        * UserInterface/Images/gtk/NavigationItemVariable.svg:
        * UserInterface/Images/gtk/PaintFlashing.svg:
        * UserInterface/Images/gtk/Pause.svg:
        * UserInterface/Images/gtk/PausedBreakpoint.svg:
        * UserInterface/Images/gtk/Percent.svg:
        * UserInterface/Images/gtk/Plus.svg:
        * UserInterface/Images/gtk/PseudoElement.svg:
        * UserInterface/Images/gtk/Record.svg:
        * UserInterface/Images/gtk/Reflection.svg:
        * UserInterface/Images/gtk/Reload.svg:
        * UserInterface/Images/gtk/ReloadFull.svg:
        * UserInterface/Images/gtk/ReplayPauseButton.svg:
        * UserInterface/Images/gtk/ReplayPlayButton.svg:
        * UserInterface/Images/gtk/ReplayRecordingButton.svg:
        * UserInterface/Images/gtk/Request.svg:
        * UserInterface/Images/gtk/Resources.svg:
        * UserInterface/Images/gtk/Response.svg:
        * UserInterface/Images/gtk/ResultLine.svg:
        * UserInterface/Images/gtk/Resume.svg:
        * UserInterface/Images/gtk/ShadowDOM.svg:
        * UserInterface/Images/gtk/SortIndicatorDownArrow.svg:
        * UserInterface/Images/gtk/SortIndicatorUpArrow.svg:
        * UserInterface/Images/gtk/SourceCode.svg:
        * UserInterface/Images/gtk/SplitToggleDown.svg:
        * UserInterface/Images/gtk/SplitToggleUp.svg:
        * UserInterface/Images/gtk/StepInto.svg:
        * UserInterface/Images/gtk/StepOut.svg:
        * UserInterface/Images/gtk/StepOver.svg:
        * UserInterface/Images/gtk/Stop.svg:
        * UserInterface/Images/gtk/StyleRuleAuthor.svg:
        * UserInterface/Images/gtk/StyleRuleInherited.svg:
        * UserInterface/Images/gtk/StyleRuleInheritedElement.svg:
        * UserInterface/Images/gtk/StyleRuleInspector.svg:
        * UserInterface/Images/gtk/StyleRuleUser.svg:
        * UserInterface/Images/gtk/StyleRuleUserAgent.svg:
        * UserInterface/Images/gtk/Time.svg:
        * UserInterface/Images/gtk/TimelineRecordAnimation.svg:
        * UserInterface/Images/gtk/TimelineRecordConsoleProfile.svg:
        * UserInterface/Images/gtk/TimelineRecordEvent.svg:
        * UserInterface/Images/gtk/TimelineRecordLayout.svg:
        * UserInterface/Images/gtk/TimelineRecordPaint.svg:
        * UserInterface/Images/gtk/TimelineRecordProbeSampled.svg:
        * UserInterface/Images/gtk/TimelineRecordScriptEvaluated.svg:
        * UserInterface/Images/gtk/TimelineRecordStyle.svg:
        * UserInterface/Images/gtk/TimelineRecordTimer.svg:
        * UserInterface/Images/gtk/TypeBoolean.svg:
        * UserInterface/Images/gtk/TypeNull.svg:
        * UserInterface/Images/gtk/TypeNumber.svg:
        * UserInterface/Images/gtk/TypeObject.svg:
        * UserInterface/Images/gtk/TypeRegex.svg:
        * UserInterface/Images/gtk/TypeString.svg:
        * UserInterface/Images/gtk/TypeSymbol.svg:
        * UserInterface/Images/gtk/TypeUndefined.svg:
        * UserInterface/Images/gtk/Undock.svg:
        * UserInterface/Images/gtk/UpDownArrows.svg:
        * UserInterface/Images/gtk/UserInputPrompt.svg:
        * UserInterface/Images/gtk/UserInputPromptPrevious.svg:
        * UserInterface/Images/gtk/UserInputResult.svg:
        * UserInterface/Images/gtk/Warning.svg:
        * UserInterface/Images/gtk/Weight.svg:

2015-04-29  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Navigation bar often looses last button when full
        https://bugs.webkit.org/show_bug.cgi?id=144385

        Added helpers to get the subpixel width and height of an element.
        Adopt them in the NavigationBar layout methods to get precise widths
        that don't accumulate rounding errors which lead to items overflowing.

        Reviewed by Joseph Pecoraro.

        * UserInterface/Base/Utilities.js:
        (Element.prototype.realOffsetWidth): Added.
        (Element.prototype.realOffsetHeight): Added.
        * UserInterface/Views/HierarchicalPathNavigationItem.js:
        (WebInspector.HierarchicalPathNavigationItem.prototype.updateLayout):
        * UserInterface/Views/NavigationBar.js:
        (WebInspector.NavigationBar.prototype.updateLayout):
        (WebInspector.NavigationBar.prototype._calculateMinimumWidth):
        * UserInterface/Views/TabBar.js:
        (WebInspector.TabBar.prototype._handleMouseMoved):
        * UserInterface/Views/Toolbar.js:
        (WebInspector.Toolbar.prototype.customUpdateLayout.isOverflowingToolbar):
        (WebInspector.Toolbar.prototype.customUpdateLayout):

2015-04-28  Matt Baker  <mattbaker@apple.com>

        Web Inspector: add a separate overview for the Rendering Frames timeline
        https://bugs.webkit.org/show_bug.cgi?id=144245

        Reviewed by Timothy Hatcher.

        The Timelines tab now supports two view modes, labeled "Timelines" and "Rendering Frames", with each mode
        having a seperate timeline overview and selected range. The Timelines mode displays the original time-based
        graphs (Network, Layout, and Script), and switching to the Rendering Frames mode displays a frames graph
        with a timeline ruler which shows frame indices.

        If the rendering frames timeline is supported by the backend, a navigation bar is added to the timelines
        sidebar with controls for switching between view modes. In addition to user-triggered view mode changes, the
        timelines sidebar will automatically change the current view mode in response to content view changes that
        are triggered elsewhere in the UI (for example, when a timeline that does not belong to the current view
        mode is selected via the navigation path).

        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager.prototype.get activeRecording): Deleted.
        (WebInspector.TimelineManager.prototype.get recordings): Deleted.
        Removed unused code.

        * UserInterface/Main.html:
        New files.

        * UserInterface/Models/RenderingFrameTimelineRecord.js:
        (WebInspector.RenderingFrameTimelineRecord):
        (WebInspector.RenderingFrameTimelineRecord.resetFrameIndex):
        (WebInspector.RenderingFrameTimelineRecord.prototype.get frameIndex):
        (WebInspector.RenderingFrameTimelineRecord.prototype.get frameNumber):
        * UserInterface/Models/TimelineRecording.js:
        (WebInspector.TimelineRecording.prototype.reset):
        Frame number is now derived from frame index.

        * UserInterface/Views/LinearTimelineOverview.js:
        (WebInspector.LinearTimelineOverview):
        (WebInspector.LinearTimelineOverview.prototype.canShowTimeline):
        New overview class for time-based timeline graphs.

        * UserInterface/Views/RenderingFrameDetailsSidebarPanel.js:
        (WebInspector.RenderingFrameDetailsSidebarPanel):
        (WebInspector.RenderingFrameDetailsSidebarPanel.prototype.updateRangeSelection):
        (WebInspector.RenderingFrameDetailsSidebarPanel.prototype._getSelectedRecords):
        Changed type of selected range from time to frame indices.

        * UserInterface/Views/RenderingFrameTimelineOverview.js:
        (WebInspector.RenderingFrameTimelineOverview.this.timelineRuler.formatLabelCallback):
        (WebInspector.RenderingFrameTimelineOverview):
        (WebInspector.RenderingFrameTimelineOverview.prototype.canShowTimeline):
        New overview class for frame-based timeline graphs.

        * UserInterface/Views/RenderingFrameTimelineOverviewGraph.css:
        (.timeline-overview > .graphs-container > .timeline-overview-graph.rendering-frame):
        * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:
        (WebInspector.RenderingFrameTimelineOverviewGraph):
        (WebInspector.RenderingFrameTimelineOverviewGraph.prototype._updateDividers.createDividerAtPosition.get if):
        Updated to use frame index ruler and removed frame combining logic.

        * UserInterface/Views/RenderingFrameTimelineView.js:
        (WebInspector.RenderingFrameTimelineView):
        Increased column widths.

        * UserInterface/Views/TimelineOverview.css:
        (.timeline-overview > .graphs-container):
        (body.mac-platform.legacy .timeline-overview > .graphs-container):
        Updated for new ruler height.

        * UserInterface/Views/TimelineOverview.js:
        (WebInspector.TimelineOverview):
        (WebInspector.TimelineOverview.prototype.get secondsPerPixel):
        (WebInspector.TimelineOverview.prototype.set secondsPerPixel):
        (WebInspector.TimelineOverview.prototype.get visibleDuration):
        (WebInspector.TimelineOverview.prototype.set selectionDuration):
        (WebInspector.TimelineOverview.prototype.updateLayout):
        (WebInspector.TimelineOverview.prototype.get timelineRuler):
        (WebInspector.TimelineOverview.prototype.canShowTimeline):
        (WebInspector.TimelineOverview.prototype._handleScrollEvent):
        (WebInspector.TimelineOverview.prototype._handleWheelEvent):
        (WebInspector.TimelineOverview.prototype._timelineRemoved):
        (WebInspector.TimelineOverview.prototype._timeRangeSelectionChanged):
        (WebInspector.TimelineOverview.prototype.set currentTime): Deleted.
        (WebInspector.TimelineOverview.prototype.updateLayoutIfNeeded): Deleted.
        (WebInspector.TimelineOverview.prototype._needsLayout): Deleted.
        Converted to base class. Derived classes provide settings and permitted timeline types.

        * UserInterface/Views/TimelineRecordFrame.css:
        (.timeline-record-frame):
        (.timeline-record-frame > .frame):
        (.timeline-record-frame > .frame > .duration):
        (.timeline-record-frame > .frame > .duration.timeline-record-type-network):
        (.timeline-record-frame > .frame > .duration.timeline-record-type-layout):
        (.timeline-record-frame > .frame > .duration.timeline-record-type-script):
        (.timeline-record-frame > .frame > .duration:last-child): Deleted.
        New graph frames styles.

        * UserInterface/Views/TimelineRecordFrame.js:
        (WebInspector.TimelineRecordFrame):
        (WebInspector.TimelineRecordFrame.prototype.get record):
        (WebInspector.TimelineRecordFrame.prototype.set record):
        (WebInspector.TimelineRecordFrame.prototype._updateChildElements.createDurationElement):
        (WebInspector.TimelineRecordFrame.prototype.get element): Deleted.
        Updated to use frame index ruler.
        Removed dropped frames and frame combining logic.

        * UserInterface/Views/TimelineRecordingContentView.js:
        (WebInspector.TimelineRecordingContentView):
        (WebInspector.TimelineRecordingContentView.prototype.shown):
        (WebInspector.TimelineRecordingContentView.prototype.hidden):
        (WebInspector.TimelineRecordingContentView.prototype.updateLayout):
        (WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
        (WebInspector.TimelineRecordingContentView.prototype._updateTimes):
        (WebInspector.TimelineRecordingContentView.prototype._updateTimelineOverviewHeight):
        (WebInspector.TimelineRecordingContentView.prototype._getRenderingFrameTimeline):
        (WebInspector.TimelineRecordingContentView.prototype._timelineRemoved):
        (WebInspector.TimelineRecordingContentView.prototype._timelineCountChanged):
        (WebInspector.TimelineRecordingContentView.prototype._recordingReset):
        (WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged):
        (WebInspector.TimelineRecordingContentView.prototype.get currentTimelineView): Deleted.
        (WebInspector.TimelineRecordingContentView.prototype.goForward): Deleted.
        (WebInspector.TimelineRecordingContentView.prototype.matchTreeElementAgainstCustomFilters): Deleted.
        (WebInspector.TimelineRecordingContentView.prototype._contentViewSupplementalRepresentedObjectsDidChange): Deleted.
        (WebInspector.TimelineRecordingContentView.prototype._update): Deleted.
        (WebInspector.TimelineRecordingContentView.prototype._debuggerPaused): Deleted.
        (WebInspector.TimelineRecordingContentView.prototype._debuggerResumed): Deleted.
        (WebInspector.TimelineRecordingContentView.prototype._recordingTimesUpdated): Deleted.
        Maintains two timeline overviews, switching between them based on the current content view.
        Updated tree element filtering to support both overview rulers.

        * UserInterface/Views/TimelineRuler.css:
        (.timeline-ruler > .header):
        (body.mac-platform.legacy .timeline-ruler > .header):
        (.timeline-ruler > .header > .divider > .label):
        (.timeline-ruler > .selection-drag):
        (body.mac-platform.legacy .timeline-ruler > .selection-drag):
        (.timeline-ruler > .selection-handle):
        (body.mac-platform.legacy .timeline-ruler > .selection-handle):
        (.timeline-ruler > .header > .divider): Deleted.
        (.timeline-ruler > .selection-drag:active): Deleted.
        Updated for new ruler height.

        * UserInterface/Views/TimelineRuler.js:
        (WebInspector.TimelineRuler):
        (WebInspector.TimelineRuler.prototype.set formatLabelCallback):
        (WebInspector.TimelineRuler.prototype.updateLayout):
        (WebInspector.TimelineRuler.prototype._formatDividerLabelText):
        (WebInspector.TimelineRuler.prototype.set allowsClippedLabels): Deleted.
        (WebInspector.TimelineRuler.prototype._updateSelection): Deleted.
        Added ability to customize label formatting.

        * UserInterface/Views/TimelineSidebarPanel.css:
        (.panel.timeline .navigation-bar.timelines-view):
        (.sidebar > .panel.navigation.timeline > .title-bar):
        (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .title-bar):
        (.sidebar > .panel.navigation.timeline > .title-bar.timelines):
        (.sidebar > .panel.navigation.timeline > .navigation-bar-container):
        (.sidebar > .panel.navigation.timeline > .navigation-bar-container > .navigation-bar):
        (.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):
        (.sidebar > .panel.navigation.timeline > .empty-content-placeholder):
        (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > :matches(.content, .empty-content-placeholder)):
        (.sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item): Deleted.
        (body.window-inactive .sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item): Deleted.
        Updated for new navigation bar and ruler height.

        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel):
        (WebInspector.TimelineSidebarPanel.prototype.get viewMode):
        (WebInspector.TimelineSidebarPanel.prototype.canShowTimeline):
        (WebInspector.TimelineSidebarPanel.showTimelineViewForTimeline.this._timelineTreeElementMap.get select):
        (WebInspector.TimelineSidebarPanel.get this):
        (WebInspector.TimelineSidebarPanel._timelineAdded.set this):
        Added support for two view modes: Timelines and Rendering Frames.

        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
        New files.

2015-04-27  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Add new tab button to make it easy to bring a closed tab back
        https://bugs.webkit.org/show_bug.cgi?id=144297

        Reviewed by Joseph Pecoraro.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Base/Main.js:
        (WebInspector.contentLoaded):
        (WebInspector.isTabTypeAllowed):
        (WebInspector._tabContentViewForType):
        (WebInspector._rememberOpenTabs):
        (WebInspector._updateNewTabButtonState):
        (WebInspector._newTabItemClicked):
        (WebInspector.isNewTabWithTypeAllowed):
        (WebInspector.createNewTab):
        (WebInspector.activateExtraDomains):
        (WebInspector._restoreCookieForOpenTabs):
        (WebInspector._saveCookieForOpenTabs):
        (WebInspector._isTabTypeAllowed): Deleted.
        * UserInterface/Images/NewTab.svg: Added.
        * UserInterface/Images/NewTabPlus.svg:
        * UserInterface/Main.html:
        * UserInterface/Views/NewTabContentView.css: Added.
        (.new-tab.tab.content-view):
        (.new-tab.tab.content-view > .tab-item):
        (.new-tab.tab.content-view > .tab-item.disabled):
        (.new-tab.tab.content-view > .tab-item > .box):
        (.new-tab.tab.content-view > .tab-item:not(.disabled):active > .box):
        (.new-tab.tab.content-view > .tab-item > .box > img):
        (.new-tab.tab.content-view > .tab-item > label):
        * UserInterface/Views/NewTabContentView.js: Added.
        (WebInspector.NewTabContentView):
        (WebInspector.NewTabContentView.prototype.get type):
        (WebInspector.NewTabContentView.prototype._createNewTab):
        * UserInterface/Views/TabBar.css:
        (.tab-bar > .item:not(.disabled).selected):
        (.tab-bar > .item.new-tab-button:not(.disabled):hover):
        (.tab-bar:not(.animating) > .item:not(.selected, .disabled):hover + .item):
        (.tab-bar > .item.disabled > .icon):
        (.tab-bar > .item.new-tab-button:not(.disabled):hover > .icon):
        (.tab-bar > .item.selected): Deleted.
        (.tab-bar > .item.new-tab-button:hover): Deleted.
        (.tab-bar:not(.animating) > .item:not(.selected):hover + .item): Deleted.
        (.tab-bar > .item.new-tab-button:hover > .icon): Deleted.
        * UserInterface/Views/TabBar.js:
        (WebInspector.TabBar.prototype.set selectedTabBarItem):
        (WebInspector.TabBar.prototype._handleMouseDown):
        * UserInterface/Views/TabBarItem.js:
        (WebInspector.TabBarItem.prototype.get disabled):
        (WebInspector.TabBarItem.prototype.set disabled):
        * UserInterface/Views/TabBrowser.js:
        (WebInspector.TabBrowser):
        (WebInspector.TabBrowser.prototype.addTabForContentView):
        (WebInspector.TabBrowser.prototype.showTabForContentView):
        (WebInspector.TabBrowser.prototype.closeTabForContentView):

2015-04-27  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Cannot scroll Timeline Overview horizontally, scrollbar cannot be interacted with
        https://bugs.webkit.org/show_bug.cgi?id=144302

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/TimelineOverview.css:
        (.timeline-overview > .scroll-container):
        Increase the z-index of the scroll container over anything in the
        overview so that it can be interacted with.

2015-04-27  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Attempt to workaround exception in TimelineRuler
        https://bugs.webkit.org/show_bug.cgi?id=144228

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/TimelineRuler.js:
        (WebInspector.TimelineRuler.prototype.updateLayout):
        Use firstChild instead of a custom _labelElement property on the dividerElement.

2015-04-27  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Elements tab details sidebar becomes non-expandable after using Console tab
        https://bugs.webkit.org/show_bug.cgi?id=144212

        Show the DOM tree content view again on main resource change. This better matches what we did
        in the pre tab user interface with the DOM being off the main resource tree element.

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/ElementsTabContentView.js:
        (WebInspector.ElementsTabContentView): Listen for main resource change. Call _showDOMTreeContentView.
        (WebInspector.ElementsTabContentView.prototype.closed): Fix a leak and exception.
        The removeEventListener was wrong. Add a new removeEventListener for WebInspector.Frame.
        (WebInspector.ElementsTabContentView.prototype._showDOMTreeContentView): Added.
        (WebInspector.ElementsTabContentView.prototype._mainFrameDidChange): Call _showDOMTreeContentView.
        (WebInspector.ElementsTabContentView.prototype._mainResourceDidChange): Added.

2015-04-27  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: TabContentView closed() isn't being called when a tab is closed / removed
        https://bugs.webkit.org/show_bug.cgi?id=144229

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/ContentViewContainer.js:
        (WebInspector.ContentViewContainer.prototype._disassociateFromContentView):
        TabContentViews don't have a representedObject, so returning early and not
        calling closed() was not correct.

2015-04-26  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Cannot make Timeline time range selection clicking inside Frames Overview
        https://bugs.webkit.org/show_bug.cgi?id=143744

        Reviewed by Timothy Hatcher.

        Fixed frame rate divider element style so that it is no longer a mouse event target.

        * UserInterface/Views/RenderingFrameTimelineOverviewGraph.css:
        (.timeline-overview-graph.rendering-frame > .divider):

2015-04-26  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Allow Timeline tab to show resource when a go-to arrow is clicked in a recording
        https://bugs.webkit.org/show_bug.cgi?id=144240

        Only support showing a resource or script if we have that represented object in the Timeline sidebar.

        Reviewed by Darin Adler.

        * UserInterface/Views/TimelineTabContentView.js:
        (WebInspector.TimelineTabContentView.prototype.canShowRepresentedObject):

2015-04-26  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Don't use treeElement.revealAndSelect when showing a default content view
        https://bugs.webkit.org/show_bug.cgi?id=144239

        Using revealAndSelect will end up calling WebInspector.showRepresentedObject. That is not bad
        is most cases, but if the select tab supports the same represented object, it can end up showing
        the content view in the wrong tab.

        Reviewed by Darin Adler.

        * UserInterface/Views/ContentBrowserTabContentView.js:
        (WebInspector.ContentBrowserTabContentView.prototype._revealAndSelectRepresentedObjectInNavigationSidebar):
        * UserInterface/Views/DebuggerSidebarPanel.js:
        (WebInspector.DebuggerSidebarPanel.prototype.showDefaultContentView):
        * UserInterface/Views/NavigationSidebarPanel.js:
        (WebInspector.NavigationSidebarPanel.prototype.showDefaultContentViewForTreeElement):
        (WebInspector.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie):
        (WebInspector.NavigationSidebarPanel):
        (WebInspector.NavigationSidebarPanel.prototype.showContentViewForCurrentSelection): Deleted.
        * UserInterface/Views/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel.prototype.showDefaultContentView):
        (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange):
        (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork):
        (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange):

2015-04-26  Jono Wells  <jonowells@apple.com>

        Web Inspector: Vertically misaligned text in Object Trees
        https://bugs.webkit.org/show_bug.cgi?id=144029

        Reviewed by Timothy Hatcher.

        Remove top offset for object tree property titles to fix alignment issue since applying -webkit-system-font
        font family to these (http://trac.webkit.org/changeset/182982).

        * UserInterface/Views/ObjectTreePropertyTreeElement.css:
        (.object-tree-property > .titles):

2015-04-25  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Uncaught exception ReferenceError: Can't find variable: message LogContentView.js
        https://bugs.webkit.org/show_bug.cgi?id=144210

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/LogContentView.js:
        (WebInspector.LogContentView.prototype._reappendProvisionalMessages):
        With recent refactorings this change was missed.

2015-04-25  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Uncaught exception using WebInspector.contentBrowser
        https://bugs.webkit.org/show_bug.cgi?id=144206

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel.showTimelineViewForTimeline.this._timelineTreeElementMap.get select):
        Use the current tab's content browser since a global one no longer exists.

2015-04-25  Timothy Hatcher  <timothy@apple.com>

        Update localized strings.

        * Localizations/en.lproj/localizedStrings.js: Updated.

2015-04-25  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Make JSContext debugging work with Tabs UI
        https://bugs.webkit.org/show_bug.cgi?id=144203

        Reviewed by Joseph Pecoraro.

        * UserInterface/Base/Main.js:
        (WebInspector.contentLoaded):
        (WebInspector._isTabTypeAllowed):
        (WebInspector.activateExtraDomains):
        (WebInspector._updateReloadToolbarButton):
        (WebInspector._updateDownloadToolbarButton):

2015-04-25  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Save and restore tab state on reload and between sessions
        https://bugs.webkit.org/show_bug.cgi?id=144202

        Reviewed by Joseph Pecoraro.

        * UserInterface/Base/Main.js:
        (WebInspector.contentLoaded):
        (WebInspector._mainResourceDidChange):
        (WebInspector._provisionalLoadStarted):
        (WebInspector._restoreCookieForOpenTabs):
        (WebInspector._saveCookieForOpenTabs):
        (WebInspector._pageHidden):
        * UserInterface/Views/TabContentView.js:
        (WebInspector.TabContentView):
        (WebInspector.TabContentView.prototype.restoreStateFromCookie):
        (WebInspector.TabContentView.prototype.saveStateToCookie):

2015-04-25  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Split search from ResourceSidebarPanel into a Search tab and sidebar
        https://bugs.webkit.org/show_bug.cgi?id=144197

        Reviewed by Joseph Pecoraro.

        * UserInterface/Base/Main.js:
        (WebInspector.contentLoaded):
        (WebInspector._tabContentViewForType):
        (WebInspector._searchTextDidChange):
        (WebInspector._focusSearchField):
        (WebInspector._domNodeWasInspected):
        * UserInterface/Controllers/DebuggerManager.js:
        (WebInspector.DebuggerManager.prototype.get knownNonResourceScripts):
        * UserInterface/Images/SearchResults.svg: Added.
        * UserInterface/Main.html:
        * UserInterface/Views/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel):
        (WebInspector.ResourceSidebarPanel.prototype.showDefaultContentView):
        (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject):
        (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange):
        (WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded):
        (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
        (WebInspector.ResourceSidebarPanel.prototype._addStorageChild):
        (WebInspector.ResourceSidebarPanel.prototype._extraDomainsActivated):
        (WebInspector.ResourceSidebarPanel.prototype.get contentTreeOutlineToAutoPrune): Deleted.
        (WebInspector.ResourceSidebarPanel.prototype.performSearch.updateEmptyContentPlaceholderSoon): Deleted.
        (WebInspector.ResourceSidebarPanel.prototype.performSearch.updateEmptyContentPlaceholder): Deleted.
        (WebInspector.ResourceSidebarPanel.prototype.performSearch.forEachMatch): Deleted.
        (WebInspector.ResourceSidebarPanel.prototype.performSearch.resourceCallback): Deleted.
        (WebInspector.ResourceSidebarPanel.prototype.performSearch.resourcesCallback): Deleted.
        (WebInspector.ResourceSidebarPanel.prototype.performSearch.searchScripts.scriptCallback): Deleted.
        (WebInspector.ResourceSidebarPanel.prototype.performSearch.searchScripts): Deleted.
        (WebInspector.ResourceSidebarPanel.prototype.performSearch.domSearchResults): Deleted.
        (WebInspector.ResourceSidebarPanel.prototype.performSearch.domCallback): Deleted.
        (WebInspector.ResourceSidebarPanel.prototype.performSearch): Deleted.
        (WebInspector.ResourceSidebarPanel.prototype._showResourcesContentTreeOutline): Deleted.
        (WebInspector.ResourceSidebarPanel.prototype._showSearchContentTreeOutline): Deleted.
        (WebInspector.ResourceSidebarPanel.prototype._searchFieldChanged): Deleted.
        (WebInspector.ResourceSidebarPanel.prototype._searchFieldInput): Deleted.
        (WebInspector.ResourceSidebarPanel.prototype._searchTreeElementForResource): Deleted.
        (WebInspector.ResourceSidebarPanel.prototype._searchTreeElementForScript): Deleted.
        (WebInspector.ResourceSidebarPanel.prototype._focusSearchField): Deleted.
        (WebInspector.ResourceSidebarPanel.prototype._scriptsToSearch): Deleted.
        * UserInterface/Views/SearchBar.js:
        (WebInspector.SearchBar):
        * UserInterface/Views/SearchSidebarPanel.css: Renamed from Source/WebInspectorUI/UserInterface/Views/ResourceSidebarPanel.css.
        (.sidebar > .panel.navigation.search > :matches(.content, .empty-content-placeholder)):
        (body.mac-platform.legacy .sidebar > .panel.navigation.search > :matches(.content, .empty-content-placeholder)):
        (.sidebar > .panel.navigation.search > .search-bar):
        (body.mac-platform.legacy .sidebar > .panel.navigation.search > .search-bar):
        (.sidebar > .panel.navigation.search > .search-bar > input[type="search"]):
        (body.mac-platform.legacy .sidebar > .panel.navigation.search > .search-bar > input[type="search"]):
        * UserInterface/Views/SearchSidebarPanel.js: Added.
        (WebInspector.SearchSidebarPanel):
        (WebInspector.SearchSidebarPanel.prototype.closed):
        (WebInspector.SearchSidebarPanel.prototype.focusSearchField):
        (WebInspector.SearchSidebarPanel.prototype.performSearch.updateEmptyContentPlaceholderSoon):
        (WebInspector.SearchSidebarPanel.prototype.performSearch.updateEmptyContentPlaceholder):
        (WebInspector.SearchSidebarPanel.prototype.performSearch.forEachMatch):
        (WebInspector.SearchSidebarPanel.prototype.performSearch.resourceCallback):
        (WebInspector.SearchSidebarPanel.prototype.performSearch.resourcesCallback):
        (WebInspector.SearchSidebarPanel.prototype.performSearch.searchScripts.scriptCallback):
        (WebInspector.SearchSidebarPanel.prototype.performSearch.searchScripts):
        (WebInspector.SearchSidebarPanel.prototype.performSearch.domSearchResults):
        (WebInspector.SearchSidebarPanel.prototype.performSearch.domCallback):
        (WebInspector.SearchSidebarPanel.prototype.performSearch):
        (WebInspector.SearchSidebarPanel.prototype._searchFieldChanged):
        (WebInspector.SearchSidebarPanel.prototype._searchFieldInput):
        (WebInspector.SearchSidebarPanel.prototype._searchTreeElementForResource):
        (WebInspector.SearchSidebarPanel.prototype._searchTreeElementForScript):
        (WebInspector.SearchSidebarPanel.prototype._mainResourceDidChange.delayedWork):
        (WebInspector.SearchSidebarPanel.prototype._mainResourceDidChange):
        (WebInspector.SearchSidebarPanel.prototype._treeElementSelected):
        * UserInterface/Views/SearchTabContentView.js: Added.
        (WebInspector.SearchTabContentView):
        (WebInspector.SearchTabContentView.prototype.get type):
        (WebInspector.SearchTabContentView.prototype.shown):
        (WebInspector.SearchTabContentView.prototype.closed):
        (WebInspector.SearchTabContentView.prototype.canShowRepresentedObject):
        (WebInspector.SearchTabContentView.prototype.focusSearchField):
        (WebInspector.SearchTabContentView.prototype.performSearch):
        * UserInterface/Views/Toolbar.css:
        (.toolbar .item-section.center-right):
        (.toolbar .item-section.right):
        (.toolbar .search-bar):
        (.toolbar .search-bar > input[type="search"]):
        (.toolbar .search-bar > input[type="search"]::-webkit-textfield-decoration-container):
        (body.window-inactive .toolbar .search-bar > input[type="search"]):
        (.toolbar .item): Deleted.

2015-04-25  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: New Toolbar UI for tabs
        https://bugs.webkit.org/show_bug.cgi?id=144185

        Reviewed by Joseph Pecoraro.

        * UserInterface/Base/ImageUtilities.js:
        * UserInterface/Base/Main.js:
        (WebInspector.loaded):
        (WebInspector.contentLoaded):
        (WebInspector.updateDockedState):
        (WebInspector._captureDidStart):
        (WebInspector._debuggerDidPause):
        (WebInspector._debuggerDidResume):
        (WebInspector._mainFrameDidChange):
        (WebInspector._mainResourceDidChange):
        (WebInspector._windowKeyDown):
        (WebInspector._windowKeyUp):
        (WebInspector._pageHidden):
        (WebInspector._undock):
        (WebInspector._dockBottom):
        (WebInspector._dockRight):
        (WebInspector._updateDockNavigationItems):
        (WebInspector._domNodeWasInspected):
        (WebInspector._inspectModeStateChanged):
        (WebInspector._toggleInspectMode):
        (WebInspector._downloadWebArchive):
        (WebInspector._reloadPageClicked):
        (WebInspector._updateDownloadToolbarButton):
        (WebInspector.archiveMainFrame):
        (WebInspector.canArchiveMainFrame):
        * UserInterface/Images/Crosshair.svg:
        * UserInterface/Images/DockBottom.svg:
        * UserInterface/Images/DockRight.svg:
        * UserInterface/Images/DownloadArrow.svg:
        * UserInterface/Images/ReloadToolbar.svg: Added.
        * UserInterface/Images/Undock.svg:
        * UserInterface/Views/ActivateButtonToolbarItem.js:
        (WebInspector.ActivateButtonToolbarItem):
        (WebInspector.ActivateButtonToolbarItem.prototype.set label):
        * UserInterface/Views/ButtonToolbarItem.css:
        (.toolbar .item.button):
        (body.window-inactive .toolbar .item.button):
        (.toolbar.small-size .item.button > .glyph):
        * UserInterface/Views/ButtonToolbarItem.js:
        (WebInspector.ButtonToolbarItem):
        (WebInspector.ButtonToolbarItem.prototype.set label):
        * UserInterface/Views/DashboardContainerView.css:
        (.toolbar .dashboard-container):
        * UserInterface/Views/Main.css:
        (body.docked.bottom):
        * UserInterface/Views/Toolbar.css:
        (.toolbar):
        (body.mac-platform:not(.legacy, .docked) .toolbar):
        (.toolbar .control-section):
        (.toolbar .item-section):
        (.toolbar .item-section.left):
        (.toolbar .item-section.center-left):
        (.toolbar .item-section.center-right):
        (.toolbar .item-section.right):
        * UserInterface/Views/Toolbar.js:
        (WebInspector.Toolbar):
        (WebInspector.Toolbar.prototype.customUpdateLayout.isOverflowingToolbar):
        (WebInspector.Toolbar.prototype.customUpdateLayout):
        (WebInspector.Toolbar.prototype.addToolbarItem):

2015-04-25  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Add NavigationBar to the details sidebar
        https://bugs.webkit.org/show_bug.cgi?id=144191

        Reviewed by Joseph Pecoraro.

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

        * UserInterface/Views/DetailsSidebarPanel.js:
        (WebInspector.DetailsSidebarPanel):
        (WebInspector.DetailsSidebarPanel.prototype.get navigationItem):

        * UserInterface/Views/NavigationBar.js:
        (WebInspector.NavigationBar.prototype.removeNavigationItem):
        Remove unused index argument.

        * UserInterface/Views/Sidebar.css:
        (.sidebar > .navigation-bar):
        (.sidebar.has-navigation-bar > .panel):

        * UserInterface/Views/Sidebar.js:
        (WebInspector.Sidebar):
        (WebInspector.Sidebar.prototype.addSidebarPanel):
        (WebInspector.Sidebar.prototype.removeSidebarPanel):
        (WebInspector.Sidebar.prototype.set selectedSidebarPanel):
        (WebInspector.Sidebar.prototype.get minimumWidth):
        (WebInspector.Sidebar.prototype.set width):
        (WebInspector.Sidebar.prototype.set collapsed):

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

        Web Inspector: Switch over to a tab based UI
        https://bugs.webkit.org/show_bug.cgi?id=144154

        Reviewed by Joseph Pecoraro.

        * UserInterface/Base/Main.js:
        (WebInspector.loaded):
        (WebInspector.contentLoaded):
        (WebInspector._tabContentViewForType):
        (WebInspector._rememberOpenTabs):
        (WebInspector._windowResized):
        (WebInspector._tabBrowserSizeDidChange):
        (WebInspector._quickConsoleDidResize):
        (WebInspector._sidebarWidthDidChange):
        (WebInspector._tabBrowserSelectedTabContentViewDidChange):
        (WebInspector._inspectModeStateChanged):
        (WebInspector._focusedContentView):
        * UserInterface/Main.html:
        * UserInterface/Views/Main.css:
        (#tab-browser):

2015-04-23  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Remove Main.js code we don't need for Tabs
        https://bugs.webkit.org/show_bug.cgi?id=144126

        Reviewed by Joseph Pecoraro.

        * UserInterface/Base/Main.js:
        (WebInspector.loaded):
        (WebInspector.contentLoaded):

2015-04-23  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Change more places that changed WebInspector.navigationSidebar.selectedSidebarPanel to tabs
        https://bugs.webkit.org/show_bug.cgi?id=144125

        Reviewed by Joseph Pecoraro.

        * UserInterface/Base/Main.js:
        (WebInspector.loaded):
        (WebInspector.toggleDetailsSidebar):
        (WebInspector.tabContentViewClassForRepresentedObject):
        (WebInspector._updateModifierKeys):
        (WebInspector._consoleResizerMouseDown.dockedResizerDragEnd):
        (WebInspector._consoleResizerMouseDown):
        (WebInspector.linkifyURLAsNode):
        (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
        * UserInterface/Protocol/InspectorFrontendAPI.js:
        (InspectorFrontendAPI.setTimelineProfilingEnabled):
        (InspectorFrontendAPI.showConsole):
        (InspectorFrontendAPI.showResources):
        * UserInterface/Protocol/InspectorObserver.js:
        (WebInspector.InspectorObserver.prototype.inspect):
        * UserInterface/Views/DebuggerTabContentView.js:
        (WebInspector.DebuggerTabContentView.prototype.canShowRepresentedObject):
        (WebInspector.DebuggerTabContentView.prototype.revealAndSelectBreakpoint):
        * UserInterface/Views/DefaultDashboardView.js:
        (WebInspector.DefaultDashboardView):
        (WebInspector.DefaultDashboardView.prototype._resourcesWasClicked):
        * UserInterface/Views/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu.revealInSidebar):
        * UserInterface/Views/TabBrowser.js:
        (WebInspector.TabBrowser.bestTabContentViewForClass):

2015-04-23  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Make Console work in a tab world
        https://bugs.webkit.org/show_bug.cgi?id=144112

        Reviewed by Joseph Pecoraro.

        * UserInterface/Base/Main.js:
        (WebInspector.contentLoaded):
        (WebInspector.isShowingConsoleTab):
        (WebInspector.UIString):
        (WebInspector.toggleNavigationSidebar):
        (WebInspector.toggleDetailsSidebar):
        (WebInspector.tabContentViewClassForRepresentedObject):
        (WebInspector.linkifyStringAsFragment):
        * UserInterface/Images/Console.svg: Added.
        * UserInterface/Protocol/InspectorFrontendAPI.js:
        (InspectorFrontendAPI.showConsole):
        * UserInterface/Views/ConsoleTabContentView.js: Added.
        (WebInspector.ConsoleTabContentView):
        (WebInspector.ConsoleTabContentView.prototype.shown):
        (WebInspector.ConsoleTabContentView.prototype.showRepresentedObject):
        (WebInspector.ConsoleTabContentView.prototype.canShowRepresentedObject):
        (WebInspector.ConsoleTabContentView.prototype.get supportsSplitContentBrowser):
        * UserInterface/Views/DefaultDashboardView.js:
        (WebInspector.DefaultDashboardView.prototype._consoleItemWasClicked):
        * UserInterface/Views/LogContentView.js:
        (WebInspector.LogContentView):
        (WebInspector.LogContentView.prototype.get navigationItems):
        (WebInspector.LogContentView.prototype.shown):
        (WebInspector.LogContentView.prototype.didAppendConsoleMessageView):
        (WebInspector.LogContentView.prototype._showConsoleTab):
        * UserInterface/Views/LogIcon.css:
        (.log-icon .icon):
        * UserInterface/Views/Main.css:
        (#split-content-browser .hierarchical-path-component.log-icon .icon):
        (#split-content-browser .hierarchical-path-component.log-icon .title):
        (#split-content-browser .hierarchical-path-component.log-icon select):

2015-04-23  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Make showing a content view work in the tab world
        https://bugs.webkit.org/show_bug.cgi?id=144110

        Reviewed by Joseph Pecoraro.

        * UserInterface/Base/Main.js:
        (WebInspector.loaded):
        (WebInspector.hideSplitConsole):
        (WebInspector.showSourceCodeLocation):
        (WebInspector.showOriginalUnformattedSourceCodeLocation):
        (WebInspector.showOriginalOrFormattedSourceCodeLocation):
        (WebInspector.showOriginalOrFormattedSourceCodeTextRange):
        (WebInspector.showResourceRequest):
        (WebInspector.debuggerToggleBreakpoints):
        (WebInspector.debuggerPauseResumeToggle):
        (WebInspector.debuggerStepOver):
        (WebInspector.debuggerStepInto):
        (WebInspector.debuggerStepOut):
        (WebInspector._focusChanged):
        (WebInspector._mouseWasClicked):
        (WebInspector._dragOver):
        (WebInspector._captureDidStart):
        (WebInspector._debuggerDidPause):
        (WebInspector._debuggerDidResume):
        (WebInspector._frameWasAdded):
        (WebInspector._undock):
        (WebInspector._updateDockNavigationItems):
        * UserInterface/Models/Breakpoint.js:
        (WebInspector.Breakpoint.prototype.appendContextMenuItems.revealOriginalSourceCodeLocation):
        (WebInspector.Breakpoint.prototype.appendContextMenuItems):
        * UserInterface/Protocol/InspectorFrontendAPI.js:
        (InspectorFrontendAPI.showMainResourceForFrame):
        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked):
        * UserInterface/Views/ComputedStyleDetailsPanel.js:
        (WebInspector.ComputedStyleDetailsPanel.prototype._goToRegionFlowArrowWasClicked):
        (WebInspector.ComputedStyleDetailsPanel.prototype._goToContentFlowArrowWasClicked):
        (WebInspector.ComputedStyleDetailsPanel):
        * UserInterface/Views/ContentBrowser.js:
        (WebInspector.ContentBrowser.prototype.updateHierarchicalPathForCurrentContentView):
        * UserInterface/Views/ContentView.js:
        (WebInspector.ContentView):
        * UserInterface/Views/DOMTreeContentView.js:
        (WebInspector.DOMTreeContentView.prototype.restoreFromCookie):
        * UserInterface/Views/DOMTreeDataGridNode.js:
        (WebInspector.DOMTreeDataGridNode.prototype._goToArrowWasClicked):
        * UserInterface/Views/DebuggerSidebarPanel.js:
        (WebInspector.DebuggerSidebarPanel.prototype.showDefaultContentView):
        (WebInspector.DebuggerSidebarPanel.prototype._addTreeElementForSourceCodeToContentTreeOutline):
        (WebInspector.DebuggerSidebarPanel.prototype._treeElementSelected):
        (WebInspector.DebuggerSidebarPanel.prototype._addIssue):
        (WebInspector.DebuggerSidebarPanel.prototype._handleIssueAdded):
        * UserInterface/Views/LayerTreeDataGridNode.js:
        (WebInspector.LayerTreeDataGridNode.prototype._goToArrowWasClicked):
        * UserInterface/Views/LayoutTimelineView.js:
        (WebInspector.LayoutTimelineView.prototype._treeElementSelected):
        * UserInterface/Views/NavigationSidebarPanel.js:
        (WebInspector.NavigationSidebarPanel.prototype.get contentBrowser):
        (WebInspector.NavigationSidebarPanel.prototype.set contentBrowser):
        (WebInspector.NavigationSidebarPanel.prototype._updateFilter):
        * UserInterface/Views/NetworkTimelineView.js:
        (WebInspector.NetworkTimelineView.prototype._treeElementSelected):
        * UserInterface/Views/ObjectTreeBaseTreeElement.js:
        (WebInspector.ObjectTreeBaseTreeElement.prototype._appendMenusItemsForObject):
        (WebInspector.ObjectTreeBaseTreeElement):
        * UserInterface/Views/OverviewTimelineView.js:
        (WebInspector.OverviewTimelineView.prototype._treeElementSelected):
        * UserInterface/Views/ResourceDetailsSidebarPanel.js:
        (WebInspector.ResourceDetailsSidebarPanel.prototype._goToRequestDataClicked):
        * UserInterface/Views/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel):
        (WebInspector.ResourceSidebarPanel.prototype.showDefaultContentView):
        (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange):
        (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork):
        (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange):
        (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
        (WebInspector.ResourceSidebarPanel.prototype._storageCleared):
        * UserInterface/Views/ResourceTimelineDataGridNode.js:
        (WebInspector.ResourceTimelineDataGridNode.prototype._goToResource):
        * UserInterface/Views/ScriptTimelineView.js:
        (WebInspector.ScriptTimelineView.prototype._treeElementSelected):
        * UserInterface/Views/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked):
        * UserInterface/Views/TimelineDataGrid.js:
        (WebInspector.TimelineDataGrid.prototype._popoverCallStackTreeElementSelected):
        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel):
        (WebInspector.TimelineSidebarPanel.prototype.shown):
        (WebInspector.TimelineSidebarPanel.showTimelineViewForTimeline):

2015-04-22  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Make debugger keyboard shortcuts global
        https://bugs.webkit.org/show_bug.cgi?id=144068

        We wont always have a DebuggerSidebarPanel to listen for the shortcuts.

        Reviewed by Joseph Pecoraro.

        * UserInterface/Base/Main.js:
        (WebInspector.contentLoaded):
        (WebInspector.showSourceCodeForFrame):
        (WebInspector.showSourceCode):
        * UserInterface/Controllers/DebuggerManager.js:
        (WebInspector.DebuggerManager.prototype.pause):
        * UserInterface/Views/DebuggerSidebarPanel.js:
        (WebInspector.DebuggerSidebarPanel.prototype.restoreStateFromCookie):
        (WebInspector.DebuggerSidebarPanel.prototype._debuggerDidResume):
        (WebInspector.DebuggerSidebarPanel.prototype._handleIssueAdded):
        (WebInspector.DebuggerSidebarPanel.prototype._handleIssuesCleared):
        (WebInspector.DebuggerSidebarPanel):

2015-04-22  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Remove Reload and Download Web Archive buttons from FrameTreeElement
        https://bugs.webkit.org/show_bug.cgi?id=144064

        The will be global toolbar items soon.

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/FrameTreeElement.js:
        * UserInterface/Views/ResourceTreeElement.js:
        (WebInspector.ResourceTreeElement.prototype._updateStatus):

2015-04-22  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Remove time and weight from the dashboard
        https://bugs.webkit.org/show_bug.cgi?id=144063

        These two items were the odd ones out since they are only available
        when recording a timeline. We will need the toolbar space soon, so make
        this lets us make the dashboard skinnier.

        This also removes the exception catching in DashboardContainerView. It doesn't really
        help us and it makes debugging an exception harder.

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/DashboardContainerView.css:
        (.toolbar .dashboard-container):
        * UserInterface/Views/DashboardContainerView.js:
        (WebInspector.DashboardContainerView.prototype._dashboardViewForRepresentedObject):
        * UserInterface/Views/DefaultDashboardView.css:
        (body.web .toolbar.collapsed .dashboard.default > .item.resourcesCount):
        (body.javascript .toolbar .dashboard.default > .item.resourcesCount):
        * UserInterface/Views/DefaultDashboardView.js:
        (WebInspector.DefaultDashboardView):
        (WebInspector.DefaultDashboardView.prototype._updateDisplay):

2015-04-22  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Remove sidebar panel shortcut and image
        https://bugs.webkit.org/show_bug.cgi?id=144061

        Sidebar panels no longer need a keyboard shortcut or a toolbar image.

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js:
        (WebInspector.ApplicationCacheDetailsSidebarPanel):
        * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
        (WebInspector.CSSStyleDetailsSidebarPanel):
        * UserInterface/Views/DOMDetailsSidebarPanel.js:
        (WebInspector.DOMDetailsSidebarPanel):
        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
        (WebInspector.DOMNodeDetailsSidebarPanel):
        * UserInterface/Views/DebuggerSidebarPanel.js:
        * UserInterface/Views/DetailsSidebarPanel.js:
        (WebInspector.DetailsSidebarPanel):
        * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
        (WebInspector.LayerTreeDetailsSidebarPanel):
        * UserInterface/Views/NavigationSidebarPanel.js:
        (WebInspector.NavigationSidebarPanel):
        (WebInspector.NavigationSidebarPanel.prototype.restoreStateFromCookie):
        (WebInspector.NavigationSidebarPanel.prototype.showEmptyContentPlaceholder):
        (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement):
        (WebInspector.NavigationSidebarPanel.prototype.show):
        (WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
        * UserInterface/Views/ProbeDetailsSidebarPanel.js:
        (WebInspector.ProbeDetailsSidebarPanel):
        * UserInterface/Views/RenderingFrameDetailsSidebarPanel.js:
        * UserInterface/Views/ResourceDetailsSidebarPanel.js:
        (WebInspector.ResourceDetailsSidebarPanel):
        * UserInterface/Views/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel):
        * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
        (WebInspector.ScopeChainDetailsSidebarPanel):
        * UserInterface/Views/SidebarPanel.js:
        (WebInspector.SidebarPanel):
        (WebInspector.SidebarPanel.prototype.added):
        (WebInspector.SidebarPanel.prototype.removed):
        (WebInspector.SidebarPanel.prototype.visibilityDidChange):
        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel):
        (WebInspector.TimelineSidebarPanel.prototype.showTimelineViewForTimeline):

2015-04-22  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Remove allowedNavigationSidebarPanels, it isn't needed
        https://bugs.webkit.org/show_bug.cgi?id=144056

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/ApplicationCacheFrameContentView.js:
        * UserInterface/Views/ContentView.js:
        * UserInterface/Views/CookieStorageContentView.js:
        * UserInterface/Views/DOMStorageContentView.js:
        * UserInterface/Views/DOMTreeContentView.js:
        * UserInterface/Views/DatabaseContentView.js:
        * UserInterface/Views/DatabaseTableContentView.js:
        * UserInterface/Views/FontResourceContentView.js:
        * UserInterface/Views/FrameDOMTreeContentView.js:
        * UserInterface/Views/LogContentView.js:
        * UserInterface/Views/ResourceClusterContentView.js:
        * UserInterface/Views/TimelineRecordingContentView.js:

2015-04-22  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Support passing extra arguments to ContentViews during construction
        https://bugs.webkit.org/show_bug.cgi?id=144055

        This allows us to pass the TimelineSidebarPanel to Timeline views since in the future
        there could be multiple timeline sidebars, one per tab. So the global instance will
        be going away.

        This also removes the exception catching in ContentViewContainer. It doesn't really
        help us and it makes debugging an exception harder.

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/ContentBrowser.js:
        (WebInspector.ContentBrowser.prototype.showContentViewForRepresentedObject):
        (WebInspector.ContentBrowser.prototype.contentViewForRepresentedObject):
        * UserInterface/Views/ContentView.js:
        (WebInspector.ContentView):
        * UserInterface/Views/ContentViewContainer.js:
        (WebInspector.ContentViewContainer.prototype.contentViewForRepresentedObject):
        (WebInspector.ContentViewContainer.prototype.showContentViewForRepresentedObject):
        * UserInterface/Views/LayoutTimelineView.js:
        (WebInspector.LayoutTimelineView.prototype._dataGridFiltersDidChange):
        (WebInspector.LayoutTimelineView.prototype._treeElementSelected):
        (WebInspector.LayoutTimelineView.prototype._closeStatusButtonClicked):
        * UserInterface/Views/NetworkTimelineView.js:
        (WebInspector.NetworkTimelineView.prototype._dataGridFiltersDidChange):
        (WebInspector.NetworkTimelineView.prototype._treeElementSelected):
        (WebInspector.NetworkTimelineView.prototype._closeStatusButtonClicked):
        * UserInterface/Views/OverviewTimelineView.js:
        (WebInspector.OverviewTimelineView.prototype._treeElementSelected):
        (WebInspector.OverviewTimelineView.prototype._closeStatusButtonClicked):
        * UserInterface/Views/RenderingFrameTimelineView.js:
        (WebInspector.RenderingFrameTimelineView):
        * UserInterface/Views/ScriptTimelineView.js:
        (WebInspector.ScriptTimelineView):
        (WebInspector.ScriptTimelineView.prototype._dataGridFiltersDidChange):
        (WebInspector.ScriptTimelineView.prototype._treeElementSelected):
        (WebInspector.ScriptTimelineView.prototype._closeStatusButtonClicked):
        * UserInterface/Views/TimelineRecordingContentView.js:
        (WebInspector.TimelineRecordingContentView):
        (WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
        (WebInspector.TimelineRecordingContentView.prototype._contentViewSelectionPathComponentDidChange):
        (WebInspector.TimelineRecordingContentView.prototype._updateTimes):
        (WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged):
        * UserInterface/Views/TimelineSidebarPanel.js:
        * UserInterface/Views/TimelineView.js:
        (WebInspector.TimelineView):
        (WebInspector.TimelineView.prototype.get timelineSidebarPanel):

2015-04-18  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Disable global keyboard shortcuts for background tabs
        https://bugs.webkit.org/show_bug.cgi?id=143918

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/ContentBrowser.js:
        (WebInspector.ContentBrowser):
        (WebInspector.ContentBrowser.prototype.shown): Added.
        (WebInspector.ContentBrowser.prototype.hidden): Added.
        Disable shortcuts on the browser and find banner.

        * UserInterface/Views/ContentBrowserTabContentView.js:
        (WebInspector.ContentBrowserTabContentView.prototype.shown): Added.
        (WebInspector.ContentBrowserTabContentView.prototype.hidden): Added.
        Tell the content browser we were shown or hidden.

        * UserInterface/Views/FindBanner.js:
        (WebInspector.FindBanner):
        (WebInspector.FindBanner.prototype.show):
        (WebInspector.FindBanner.prototype.enableKeyboardShortcuts): Added.
        (WebInspector.FindBanner.prototype.disableKeyboardShortcuts): Added.
        Support disabling or enabling the keyboard shortcuts.

2015-04-17  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Add TabBrowser and TabContentView
        https://bugs.webkit.org/show_bug.cgi?id=143886

        Reviewed by Joseph Pecoraro.

        * UserInterface/Images/Debugger.svg: Added.
        * UserInterface/Images/Elements.svg: Added.
        * UserInterface/Images/Gear.svg: Added.
        * UserInterface/Images/NewTabPlus.svg: Added.
        * UserInterface/Images/Resources.svg:
        * UserInterface/Images/Timeline.svg: Added.
        * UserInterface/Images/ToggleLeftSidebar.svg: Added.
        * UserInterface/Images/ToggleRightSidebar.svg: Added.

        * UserInterface/Views/ContentBrowserTabContentView.css: Added.
        (.content-browser.tab.content-view > .content-browser):

        * UserInterface/Views/ContentBrowserTabContentView.js: Added.
        (WebInspector.ContentBrowserTabContentView):
        (WebInspector.ContentBrowserTabContentView.prototype.get contentBrowser):
        (WebInspector.ContentBrowserTabContentView.prototype.shown):
        (WebInspector.ContentBrowserTabContentView.prototype.hidden):
        (WebInspector.ContentBrowserTabContentView.prototype.closed):
        (WebInspector.ContentBrowserTabContentView.prototype.updateLayout):
        (WebInspector.ContentBrowserTabContentView.prototype.get managesDetailsSidebarPanels):
        (WebInspector.ContentBrowserTabContentView.prototype.showDetailsSidebarPanels):
        (WebInspector.ContentBrowserTabContentView.prototype.contentBrowserTreeElementForRepresentedObject):
        (WebInspector.ContentBrowserTabContentView.prototype._navigationSidebarCollapsedStateDidChange):
        (WebInspector.ContentBrowserTabContentView.prototype._detailsSidebarCollapsedStateDidChange):
        (WebInspector.ContentBrowserTabContentView.prototype._detailsSidebarPanelSelected):
        (WebInspector.ContentBrowserTabContentView.prototype._contentBrowserRepresentedObjectsDidChange):
        (WebInspector.ContentBrowserTabContentView.prototype._contentBrowserCurrentContentViewDidChange):
        (WebInspector.ContentBrowserTabContentView.prototype._revealAndSelectRepresentedObjectInNavigationSidebar):

        * UserInterface/Views/DebuggerTabContentView.js: Added.
        (WebInspector.DebuggerTabContentView):

        * UserInterface/Views/ElementsTabContentView.js: Added.
        (WebInspector.ElementsTabContentView):
        (WebInspector.ElementsTabContentView.prototype._mainFrameDidChange):

        * UserInterface/Views/ResourcesTabContentView.js: Added.
        (WebInspector.ResourcesTabContentView):

        * UserInterface/Views/SettingsTabContentView.js: Added.
        (WebInspector.SettingsTabContentView):

        * UserInterface/Views/TabBrowser.css: Added.
        (.tab-browser):
        (.tab-browser > .tab-bar):
        (.tab-browser > .content-view-container):
        (.tab-browser > .tab-bar + .content-view-container):

        * UserInterface/Views/TabBrowser.js: Added.
        (WebInspector.TabBrowser):
        (WebInspector.TabBrowser.prototype.get tabBar):
        (WebInspector.TabBrowser.prototype.get navigationSidebar):
        (WebInspector.TabBrowser.prototype.get detailsSidebar):
        (WebInspector.TabBrowser.prototype.get selectedTabContentView):
        (WebInspector.TabBrowser.prototype.updateLayout):
        (WebInspector.TabBrowser.prototype.bestTabContentViewForRepresentedObject):
        (WebInspector.TabBrowser.prototype.addTabForContentView):
        (WebInspector.TabBrowser.prototype.showTabForContentView):
        (WebInspector.TabBrowser.prototype.closeTabForContentView):
        (WebInspector.TabBrowser.prototype._tabBarItemSelected):
        (WebInspector.TabBrowser.prototype._sidebarPanelSelected):
        (WebInspector.TabBrowser.prototype._sidebarCollapsedStateDidChange):
        (WebInspector.TabBrowser.prototype._showNavigationSidebarPanelForTabContentView):
        (WebInspector.TabBrowser.prototype._showDetailsSidebarPanelsForTabContentView):

        * UserInterface/Views/TabContentView.js: Added.
        (WebInspector.TabContentView):
        (WebInspector.TabContentView.prototype.get parentTabBrowser):
        (WebInspector.TabContentView.prototype.set parentTabBrowser):
        (WebInspector.TabContentView.prototype.get tabBarItem):
        (WebInspector.TabContentView.prototype.get managesDetailsSidebarPanels):
        (WebInspector.TabContentView.prototype.showDetailsSidebarPanels):
        (WebInspector.TabContentView.prototype.canShowRepresentedObject):
        (WebInspector.TabContentView.prototype.get navigationSidebarPanel):
        (WebInspector.TabContentView.prototype.get navigationSidebarCollapsedSetting):
        (WebInspector.TabContentView.prototype.get detailsSidebarPanels):
        (WebInspector.TabContentView.prototype.get detailsSidebarCollapsedSetting):
        (WebInspector.TabContentView.prototype.get detailsSidebarSelectedPanelSetting):

        * UserInterface/Views/TimelineTabContentView.js: Added.
        (WebInspector.TimelineTabContentView):

2015-04-06  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Add a WebInspector.TabBar class
        https://bugs.webkit.org/show_bug.cgi?id=143442

        Reviewed by Joseph Pecoraro.

        * UserInterface/Main.html:
        Added new files.

        * UserInterface/Protocol/InspectorFrontendHostStub.js:
        (window.Symbol):
        (WebInspector.InspectorFrontendHostStub.prototype.showContextMenu):
        Added some stubs needed to work standalone.

        * UserInterface/Views/TabBar.css: Added.
        (.tab-bar):
        (body.window-inactive .tab-bar):
        (.tab-bar > .top-border):
        (body.window-inactive .tab-bar > .top-border):
        (.tab-bar > .item):
        (.tab-bar > :nth-child(n + 2 of .item)):
        (.tab-bar > .item.pinned):
        (.tab-bar > .item.selected):
        (.tab-bar > .item.new-tab-button:hover):
        (.tab-bar:not(.animating) > .item:not(.selected):hover + .item):
        (body.window-inactive .tab-bar > .item):
        (body.window-inactive .tab-bar > .item.selected):
        (.tab-bar > .item > .close):
        (body:not(.window-inactive) .tab-bar:not(.single-tab) > .item:hover > .close):
        (.tab-bar.single-tab > .item > .close):
        (.tab-bar > .item > .close:hover):
        (.tab-bar > .item > .close:active):
        (.tab-bar > .item > .flex-space):
        (.tab-bar > .item > .flex-space:last-child):
        (.tab-bar > .item > .icon):
        (.tab-bar > .item.selected > .icon):
        (.tab-bar > .item.new-tab-button:hover > .icon):
        (.tab-bar > .item > .title):
        (.tab-bar > .item > .title > .content):
        (.tab-bar:not(.animating) > .item:not(.selected):hover > .title):
        (.tab-bar > .item.selected > .title):
        (.tab-bar.collapsed > .item):
        (.tab-bar.collapsed > .item > .flex-space):
        (.tab-bar.collapsed > .item > .close):
        (.tab-bar.hide-titles > .item > .title):
        (.tab-bar.hide-titles > .item.selected:hover > .icon):
        (.tab-bar.hide-titles > .item.selected:hover > .close):
        (.tab-bar.static-layout):
        (.tab-bar.static-layout > .item):
        (.tab-bar.animating.closing-tab > .item):
        (.tab-bar.animating:matches(.expanding-tabs, .inserting-tab) > .item):
        (.tab-bar.animating.inserting-tab > .item.being-inserted):
        (.tab-bar.animating.closing-tab > .item.selected):
        (body.window-inactive .tab-bar.animating.closing-tab > .item.selected):
        (.tab-bar.dragging-tab > .item.selected):

        * UserInterface/Views/TabBar.js: Added.
        (WebInspector.TabBar):
        (WebInspector.TabBar.prototype.get newTabItem):
        (WebInspector.TabBar.prototype.set newTabItem):
        (WebInspector.TabBar.prototype.addTabBarItem):
        (WebInspector.TabBar.prototype.insertTabBarItem.animateTabs):
        (WebInspector.TabBar.prototype.insertTabBarItem.removeStyles):
        (WebInspector.TabBar.prototype.insertTabBarItem):
        (WebInspector.TabBar.prototype.insertTabBarItem.set else):
        (WebInspector.TabBar.prototype.insertTabBarItem.set this):
        (WebInspector.TabBar.animateTabs.get if):
        (WebInspector.TabBar.animateTabs):
        (WebInspector.TabBar.removeStyles):
        (WebInspector.TabBar.prototype.insertTabBarItem):
        (WebInspector.TabBar.prototype.updateLayoutSoon.update):
        (WebInspector.TabBar.prototype.updateLayoutSoon):
        (WebInspector.TabBar.prototype.updateLayout):
        (WebInspector.TabBar.prototype.get selectedTabBarItem):
        (WebInspector.TabBar.prototype.set selectedTabBarItem):
        (WebInspector.TabBar.prototype.get tabBarItems):
        (WebInspector.TabBar.prototype.get element):
        (WebInspector.TabBar.prototype._findTabBarItem):
        (WebInspector.TabBar.prototype._hasMoreThanOneNormalTab):
        (WebInspector.TabBar.prototype._recordTabBarItemSizesAndPositions):
        (WebInspector.TabBar.prototype._clearTabBarItemSizesAndPositions):
        (WebInspector.TabBar.prototype._finishExpandingTabsAfterClose.):
        (WebInspector.TabBar.prototype._finishExpandingTabsAfterClose):
        (WebInspector.TabBar.prototype._handleMouseDown):
        (WebInspector.TabBar.prototype._handleMouseMoved):
        (WebInspector.TabBar.prototype._handleMouseUp):
        (WebInspector.TabBar.prototype._handleMouseLeave):
        (WebInspector.TabBar.prototype._handleNewTabMouseEnter):

        * UserInterface/Views/TabBarItem.js: Added.
        (WebInspector.TabBarItem):
        (WebInspector.TabBarItem.prototype.get identifier):
        (WebInspector.TabBarItem.prototype.get element):
        (WebInspector.TabBarItem.prototype.get parentTabBar):
        (WebInspector.TabBarItem.prototype.set parentTabBar):
        (WebInspector.TabBarItem.prototype.get selected):
        (WebInspector.TabBarItem.prototype.set selected):
        (WebInspector.TabBarItem.prototype.get pinned):
        (WebInspector.TabBarItem.prototype.get image):
        (WebInspector.TabBarItem.prototype.set image):
        (WebInspector.TabBarItem.prototype.get title):
        (WebInspector.TabBarItem.prototype.set title):
        (WebInspector.TabBarItem.prototype.updateLayout):

2015-04-25  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Make closing ContentViews more leak proof
        https://bugs.webkit.org/show_bug.cgi?id=144200

        Remove all listeners on the target objects in close that match the this object.
        This makes things more foolproof when something changes or a new listener is
        added to the same object. TimelineRecordingContentView also had a leak where
        TimelineManager and DebuggerManager listeners were not being removed.

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/ApplicationCacheFrameContentView.js:
        (WebInspector.ApplicationCacheFrameContentView.prototype.closed):
        * UserInterface/Views/ClusterContentView.js:
        (WebInspector.ClusterContentView.prototype.closed):
        * UserInterface/Views/ContentFlowDOMTreeContentView.js:
        (WebInspector.ContentFlowDOMTreeContentView.prototype.closed):
        * UserInterface/Views/FrameDOMTreeContentView.js:
        (WebInspector.FrameDOMTreeContentView.prototype.closed):
        * UserInterface/Views/ResourceContentView.js:
        (WebInspector.ResourceContentView.prototype.closed):
        * UserInterface/Views/TextResourceContentView.js:
        (WebInspector.TextResourceContentView.prototype.closed):
        * UserInterface/Views/TimelineRecordingContentView.js:
        (WebInspector.TimelineRecordingContentView.prototype.closed):

2015-04-25  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Make closing ContentViews more leak proof
        https://bugs.webkit.org/show_bug.cgi?id=144200

        Remove all listeners on the target objects in close that match the this object.
        This makes things more foolproof when something changes or a new listener is
        added to the same object. TimelineRecordingContentView also had a leak where
        TimelineManager and DebuggerManager listeners were not being removed.

        Reviewed by Darin Adler.

        * UserInterface/Views/ApplicationCacheFrameContentView.js:
        (WebInspector.ApplicationCacheFrameContentView.prototype.closed):
        * UserInterface/Views/ClusterContentView.js:
        (WebInspector.ClusterContentView.prototype.closed):
        * UserInterface/Views/ContentFlowDOMTreeContentView.js:
        (WebInspector.ContentFlowDOMTreeContentView.prototype.closed):
        * UserInterface/Views/FrameDOMTreeContentView.js:
        (WebInspector.FrameDOMTreeContentView.prototype.closed):
        * UserInterface/Views/ResourceContentView.js:
        (WebInspector.ResourceContentView.prototype.closed):
        * UserInterface/Views/TextResourceContentView.js:
        (WebInspector.TextResourceContentView.prototype.closed):
        * UserInterface/Views/TimelineRecordingContentView.js:
        (WebInspector.TimelineRecordingContentView.prototype.closed):

2015-04-25  Tobias Reiss  <tobi+webkit@basecode.de>

        Web Inspector: assertion failure when editing inline styles
        https://bugs.webkit.org/show_bug.cgi?id=143939

        Reviewed by Timothy Hatcher.

        Prevent "_updateResourceContent" from being called on inline style changes.
        Introduce a flag that marks a CSSStyleSheet as a representation of an
        "ElementCSSInlineStyle" (DOM Level 2 spec) and return early.

        * UserInterface/Controllers/CSSStyleManager.js:
        (WebInspector.CSSStyleManager.prototype.styleSheetChanged):
        * UserInterface/Models/CSSStyleSheet.js:
        (WebInspector.CSSStyleSheet):
        (WebInspector.CSSStyleSheet.isInlineStyle):
        (WebInspector.CSSStyleSheet.prototype.markAsInlineStyle):
        * UserInterface/Models/DOMNodeStyles.js:
        (WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload):

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

        REGRESSION: Web Inspector: Start Timeline Recording in Develop menu broken
        https://bugs.webkit.org/show_bug.cgi?id=144150

        Reviewed by Brian Burg.

        * UserInterface/Protocol/InspectorFrontendAPI.js:
        (InspectorFrontendAPI.setTimelineProfilingEnabled): Change !== to === when
        checking enabled to isCapturing().

2015-04-23  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: run a customizable bootstrap function after the UI has fully loaded
        https://bugs.webkit.org/show_bug.cgi?id=144124

        Reviewed by Joseph Pecoraro.

        It can be really annoying to click through the Inspector UI dozens of times to debug one
        interaction or iterate on a specific widget.

        This patch adds a blank "bootstrap" function that can be used to hard-wire commands to
        automate repetitive UI state setup. The function is run immediately after the inspector loads.
        Setup commands can be shared as bug report reproduction steps.

        * UserInterface/Base/Bootstrap.js: Added.
        (WebInspector.runBootstrapOperations): Added.
        * UserInterface/Base/Main.js:
        (WebInspector.contentLoaded): Bootstrap after setting up everything and restoring view state from cookie.
        * UserInterface/Main.html:

2015-04-23  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Adopt Object.assign and improve its display in Console
        https://bugs.webkit.org/show_bug.cgi?id=144135

        Reviewed by Darin Adler.

        * UserInterface/Models/NativeFunctionParameters.js:

2015-04-23  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: DebuggerSidebarPanel's _callStackContentTreeOutline should suppress filtering
        https://bugs.webkit.org/show_bug.cgi?id=144114

        Reviewed by Joseph Pecoraro.

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

2015-04-23  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Fix layering issues with ApplicationCacheFrameTreeElement
        https://bugs.webkit.org/show_bug.cgi?id=144113

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/ApplicationCacheFrameTreeElement.js:
        (WebInspector.ApplicationCacheFrameTreeElement.prototype.updateTitles):
        (WebInspector.ApplicationCacheFrameTreeElement):

2015-04-22  Matt Baker  <mattbaker@apple.com>

        Web Inspector: clicking Timelines tree view nodes should not change the current content view
        https://bugs.webkit.org/show_bug.cgi?id=132202

        Reviewed by Brian Burg.

        TimelineSidebarPanel now prevents timeline views from switching to another content view while the content
        browser is showing the TimelineRecordingContentView. Code responsible for creating and updating the tree
        element close button, which was duplicated in multiple derived TimelineView classes, has been moved to the
        TimelineView base class.

        * UserInterface/Views/LayoutTimelineView.js:
        Updated name of location column, which was broken in a recent patch.
        (WebInspector.LayoutTimelineView.prototype.treeElementDeselected):
        (WebInspector.LayoutTimelineView.prototype.treeElementSelected):
        Added overrides of new base class methods to handle view-specific highlight logic.
        (WebInspector.LayoutTimelineView.prototype._treeElementDeselected): Deleted.
        (WebInspector.LayoutTimelineView.prototype._treeElementSelected): Deleted.
        (WebInspector.LayoutTimelineView.prototype._updateTreeElementWithCloseButton): Deleted.
        (WebInspector.LayoutTimelineView.prototype._closeStatusButtonClicked): Deleted.
        Removed tree element close button logic.

        * UserInterface/Views/NetworkTimelineView.js:
        (WebInspector.NetworkTimelineView.prototype.showContentViewForTreeElement):
        (WebInspector.NetworkTimelineView.prototype.treeElementSelected):
        Added overrides of new base class methods.
        (WebInspector.NetworkTimelineView.prototype._treeElementDeselected): Deleted.
        (WebInspector.NetworkTimelineView.prototype._treeElementSelected): Deleted.
        Removed tree element close button logic.

        * UserInterface/Views/RenderingFrameTimelineView.js:
        (WebInspector.RenderingFrameTimelineView.prototype.showContentViewForTreeElement):
        (WebInspector.RenderingFrameTimelineView.prototype.treeElementSelected):
        Added overrides of new base class methods.

        * UserInterface/Views/ResourceTimelineDataGridNode.js:
        (WebInspector.ResourceTimelineDataGridNode.prototype.get data):
        (WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent):
        Removed unused Name column and added "go to" button to the Domain column to show the selected resource.

        * UserInterface/Views/ScriptTimelineView.js:
        (WebInspector.ScriptTimelineView):
        (WebInspector.ScriptTimelineView.prototype.showContentViewForTreeElement):
        (WebInspector.ScriptTimelineView.prototype.treeElementSelected):
        Added overrides of new base class methods.
        (WebInspector.ScriptTimelineView.prototype._dataGridNodeSelected):
        (WebInspector.ScriptTimelineView.prototype._treeElementDeselected): Deleted.
        (WebInspector.ScriptTimelineView.prototype._treeElementSelected): Deleted.
        (WebInspector.ScriptTimelineView.prototype._updateTreeElementWithCloseButton): Deleted.
        (WebInspector.ScriptTimelineView.prototype._closeStatusButtonClicked): Deleted.
        Removed tree element close button logic.

        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel.showTimelineViewForTimeline.this._timelineTreeElementMap.get select):
        Prevent navigating to a different content view when showing the TimelineRecordingContentView.

        * UserInterface/Views/TimelineView.js:
        (WebInspector.TimelineView):
        (WebInspector.TimelineView.prototype.showContentViewForTreeElement):
        (WebInspector.TimelineView.prototype.treeElementDeselected):
        (WebInspector.TimelineView.prototype.treeElementSelected):
        Tree element selection handlers are now protected methods, which derived classes may override as needed.
        (WebInspector.TimelineView.prototype.needsLayout):
        (WebInspector.TimelineView.prototype._closeStatusButtonClicked):
        (WebInspector.TimelineView.prototype._updateTreeElementWithCloseButton):
        Encapsulated logic related to close button creation and behavior.

2015-04-22  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Remove an unused index argument from Sidebar.removeSidebarPanel
        https://bugs.webkit.org/show_bug.cgi?id=144054

        Reviewed by Darin Adler.

        * UserInterface/Views/Sidebar.js:

2015-04-22  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Fix an exception preventing switching timelines
        https://bugs.webkit.org/show_bug.cgi?id=144053

        Reviewed by Darin Adler.

        * UserInterface/Views/TreeOutline.js:
        (WebInspector.TreeElement.prototype.select): Store treeOutline in a local so
        we have a reference to it when we go to reset processingSelectionChange.
        The calls to onselect was removing the tree element from the outline, causing
        "delete this.treeOutline.processingSelectionChange" to throw an exception.
        This patch changes the delete to a set to false for good measure too.

2015-04-21  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Use String.prototype.startsWith in more places
        https://bugs.webkit.org/show_bug.cgi?id=144025

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/Gradient.js:
        * UserInterface/Views/DebuggerSidebarPanel.js:
        (WebInspector.DebuggerSidebarPanel.prototype._scriptAdded):
        * UserInterface/Views/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded):

2015-04-21  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Make formatted nodes more consistent with formatted objects
        https://bugs.webkit.org/show_bug.cgi?id=142159

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/DOMTreeOutline.css:
        (.dom-tree-outline ol):
        Keep indentation exactly two spaces of Menlo.

        (.dom-tree-outline li):
        (.dom-tree-outline li.parent):
        (.dom-tree-outline li .html-tag.close):
        (.dom-tree-outline li.parent::before):
        (.dom-tree-outline:focus li.parent.selected::before):
        (.dom-tree-outline li.parent.expanded::before):
        (.dom-tree-outline:focus li.parent.expanded.selected::before):
        * UserInterface/Views/FormattedValue.css:
        (.formatted-node > .dom-tree-outline ol):
        Keep indentation exactly two spaces of Menlo.

        * UserInterface/Views/ObjectTreePropertyTreeElement.css:
        (.object-tree-property > .disclosure-button):
        Disclosure triangle is 13 by 13 pixels. Having it in the middle of 16 by 16
        pixels block makes it look bloory on non-retina screen, because:
        (16 - 13) / 2 = 1.5px. Replacing 16 with 15 fixes the problem.

        * UserInterface/Views/ObjectTreeView.css:
        (.object-tree:not(.lossless-preview) > :matches(.title, .object-preview)):

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

        Web Inspector: Unify PrettyPrinting Tool and UserInterface resources
        https://bugs.webkit.org/show_bug.cgi?id=143969

        Reviewed by Timothy Hatcher.

        Have the PrettyPrinting tool just use the CodeMirror and WebInspector
        resources from the relative UserInterface directory. This avoids
        having duplicate resources in the tree which offered few advantages.

        * Scripts/update-pretty-printer.rb: Removed.
        * Tools/PrettyPrinting/CodeMirrorFormatters.js: Removed.
        * Tools/PrettyPrinting/Formatter.js: Removed.
        * Tools/PrettyPrinting/FormatterContentBuilder.js: Removed.
        * Tools/PrettyPrinting/codemirror.css: Removed.
        * Tools/PrettyPrinting/codemirror.js: Removed.
        * Tools/PrettyPrinting/css.js: Removed.
        * Tools/PrettyPrinting/index.html:
        * Tools/PrettyPrinting/javascript.js: Removed.

        * UserInterface/Views/CodeMirrorFormatters.js:
        Fix style issues.

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

        Web Inspector: Improve Support for WeakSet in Console
        https://bugs.webkit.org/show_bug.cgi?id=143951

        Reviewed by Darin Adler.

        * UserInterface/Models/NativeFunctionParameters.js:
        WeakSet has the same APIs and parameters as Set for the functions it implements.

        * UserInterface/Protocol/RemoteObject.js:
        (WebInspector.RemoteObject.prototype.isCollectionType):
        (WebInspector.RemoteObject.prototype.isWeakCollection):
        (WebInspector.RemoteObject.prototype.getCollectionEntries):
        (WebInspector.RemoteObject.prototype._weakCollectionObjectGroup):
        WeakSet is a weak collection.

        * UserInterface/Models/ObjectPreview.js:
        (WebInspector.ObjectPreview.prototype.hasSize):
        * UserInterface/Views/ConsoleMessageView.js:
        (WebInspector.ConsoleMessageView.prototype._formatParameter):
        * UserInterface/Views/FormattedValue.css:
        (.formatted-object, .formatted-node, .formatted-error, .formatted-map, .formatted-set, .formatted-weakmap, .formatted-weakset):
        (:matches(.formatted-array, .formatted-map, .formatted-set, .formatted-weakmap, .formatted-weakset) > .size):
        (.formatted-object, .formatted-node, .formatted-error, .formatted-map, .formatted-set, .formatted-weakmap): Deleted.
        (:matches(.formatted-array, .formatted-map, .formatted-set, .formatted-weakmap) > .size): Deleted.
        * UserInterface/Views/FormattedValue.js:
        (WebInspector.FormattedValue.createElementForTypesAndValue):
        Treat a WeakSet like a set in more places.

2015-04-18  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Pass multiple arguments to classList.add and classList.remove
        https://bugs.webkit.org/show_bug.cgi?id=143914

        classList.add and classList.remove can accept multiple arguments, use that.

        Reviewed by Timothy Hatcher.

        * UserInterface/Base/Main.js:
        (WebInspector.updateDockedState):
        * UserInterface/Views/DOMTreeDataGrid.js:
        (WebInspector.DOMTreeDataGrid):
        * UserInterface/Views/DOMTreeOutline.js:
        (WebInspector.DOMTreeOutline):
        * UserInterface/Views/DataGrid.js:
        (WebInspector.DataGridNode.prototype.set hasChildren):
        * UserInterface/Views/DatabaseContentView.js:
        (WebInspector.DatabaseContentView):
        * UserInterface/Views/DetailsSection.js:
        (WebInspector.DetailsSection):
        * UserInterface/Views/DetailsSectionPropertiesRow.js:
        (WebInspector.DetailsSectionPropertiesRow):
        * UserInterface/Views/GeneralTreeElement.js:
        (WebInspector.GeneralTreeElement.prototype.set classNames):
        * UserInterface/Views/NavigationItem.js:
        (WebInspector.NavigationItem):
        * UserInterface/Views/ResourceContentView.js:
        (WebInspector.ResourceContentView):
        * UserInterface/Views/ResourceTimelineDataGridNode.js:
        (WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent):
        * UserInterface/Views/Sidebar.js:
        (WebInspector.Sidebar):
        * UserInterface/Views/SidebarPanel.js:
        (WebInspector.SidebarPanel):
        * UserInterface/Views/SourceCodeTextEditor.js:
        * UserInterface/Views/TextEditor.js:
        (WebInspector.TextEditor):
        * UserInterface/Views/TimelineRuler.js:

2015-04-18  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Make prototype pill’s background semi-transparent
        https://bugs.webkit.org/show_bug.cgi?id=143928

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ObjectTreePropertyTreeElement.css:
        (.object-tree-property.prototype-property):

        (.object-tree-property.prototype-property:hover, .object-tree-property.prototype-property:focus):
        Slightly highlight the prototype pill when hovering over.

2015-04-17  Jono Wells  <jonowells@apple.com>

        Web Inspector: All sans-serif font family rules should be set the same way.
        https://bugs.webkit.org/show_bug.cgi?id=143909

        Reviewed by Timothy Hatcher.

        Update styles so that all uses of sans-serif font use -webkit-system-font consistently.

        * UserInterface/Views/DefaultDashboardView.css:
        (body.mac-platform.legacy .toolbar .dashboard.default > .item):
        * UserInterface/Views/ObjectTreePropertyTreeElement.css:
        (.object-tree-property .prototype-name):
        * UserInterface/Views/ObjectTreeView.css:
        (.object-tree-outline li .empty-message):
        * UserInterface/Views/RenderingFrameTimelineOverviewGraph.css:
        (.timeline-overview-graph.rendering-frame > .divider > .label):

2015-04-17  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Have better inactive window color for pixel borders
        https://bugs.webkit.org/show_bug.cgi?id=143888

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/FindBanner.css:
        (body.window-inactive .find-banner):
        * UserInterface/Views/Main.css:
        (body.window-inactive.docked.bottom):
        (body.window-inactive.docked.right):
        (body.window-inactive #split-content-browser):
        * UserInterface/Views/NavigationBar.css:
        (body.window-inactive .navigation-bar):
        * UserInterface/Views/QuickConsole.css:
        (body.window-inactive .quick-console):
        (.quick-console.showing-log):
        * UserInterface/Views/Sidebar.css:
        (body.window-inactive .sidebar.left):
        (body.window-inactive .sidebar.right):

2015-04-17  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Unexpected background at top of console when rubber-banding with selection
        https://bugs.webkit.org/show_bug.cgi?id=140710

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/LogContentView.css:
        (.console-messages):
        Remove the focus ring on the console's log view, only visible when rubber-banding.

2015-04-16  Jono Wells  <jonowells@apple.com>

        Web Inspector: Breakpoint icons should not get pushed off of debugger sidebar due to long resource names
        https://bugs.webkit.org/show_bug.cgi?id=142714

        Reviewed by Timothy Hatcher.

        Modify the styles for content and group containers inside the debugger sidebar panel's detail sections
        such that the rules "display: table" and "display: table-row-group" no longer apply. This will make
        the file names which use the rule "text-overflow: ellipsis" truncate as expected.

        * UserInterface/Views/DebuggerSidebarPanel.css:
        (.sidebar > .panel.navigation.debugger .details-section > .content):
        (.sidebar > .panel.navigation.debugger .details-section.collapsed > .content):
        (.sidebar > .panel.navigation.debugger .details-section > .content > .group):
        (.sidebar > .panel.navigation.debugger .details-section.scripts):
        (.sidebar > .panel.navigation.debugger .details-section.scripts .header):
        (.sidebar > .panel.navigation.debugger .details-section.scripts.collapsed > .content):

2015-04-16  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Should include "Log Value" context menu item in Preview and Collapsed ObjectTree
        https://bugs.webkit.org/show_bug.cgi?id=143845

        Reviewed by Timothy Hatcher.

        Give previews the same "Log Value" context menu so that if you just log
        a bunch of objects to the console you can quickly turn that entire object
        into a $n reference in the console to interact with.

        * UserInterface/Views/ObjectPreviewView.js:
        (WebInspector.ObjectPreviewView.prototype.setOriginatingObjectInfo):
        (WebInspector.ObjectPreviewView.prototype._contextMenuHandler):
        Provide API to refer to a RemoteObject and optional PropertyPath
        that can be used to give the preview a "Log Value" context menu.

        * UserInterface/Views/ConsoleMessageView.js:
        (WebInspector.ConsoleMessageView.prototype._appendFormattedArguments):
        Include the RemoteObject without a path for a preview context menu.

        * UserInterface/Views/ObjectTreeView.js:
        (WebInspector.ObjectTreeView):
        Include the RemoteObject with a path if we knew it for a preview context menu.

        * UserInterface/Views/ObjectTreeBaseTreeElement.js:
        (WebInspector.ObjectTreeBaseTreeElement.prototype.createGetterElement):
        The context menu can never be empty, since we always added at least one item above.


2015-04-16  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: "Log Value" of a value inside of an array, does not log the innermost value
        https://bugs.webkit.org/show_bug.cgi?id=143793

        Reviewed by Brian Burg.

        Context menu handlers were being handled in the capturing event phase, so
        the outer most handler, instead of the inner most handler, was getting
        first access. Change this so the events happen in the bubbling phase.

        DOM Nodes may appear inside of Object Trees, for instance when shown
        in a collection like an array or set. In an effort to standardize on
        "inner most" behavior, change the DOMTreeOutline context handler
        to also be in bubbling.

        In the rare instances where a node object is in the console but
        not displayed in an outline (console.dir(node)), then include a
        Copy as HTML context menu like you would expect in a DOM tree.

        * UserInterface/Views/DOMTreeOutline.js:
        (WebInspector.DOMTreeOutline):
        * UserInterface/Views/GeneralTreeElement.js:
        (WebInspector.GeneralTreeElement.prototype.onattach):
        (WebInspector.GeneralTreeElement.prototype.ondetach):
        * UserInterface/Views/ObjectTreeBaseTreeElement.js:
        (WebInspector.ObjectTreeBaseTreeElement.prototype._appendMenusItemsForObject):
        (WebInspector.ObjectTreeBaseTreeElement):

2015-04-16  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Allow toggling the edibility of a DOMTreeOutline
        https://bugs.webkit.org/show_bug.cgi?id=143814

        Reviewed by Brian Burg.

        By default a DOMTreeOutline will not be editable, but it will
        provide a setter to enable editability for DOMTreeContentViews.

        * UserInterface/Views/DOMTreeContentView.js:
        (WebInspector.DOMTreeContentView):
        Content Views always have editable DOM trees.

        * UserInterface/Views/DOMTreeElement.js:
        (WebInspector.DOMTreeElement.prototype.get editable):
        (WebInspector.DOMTreeElement.prototype.onattach):
        (WebInspector.DOMTreeElement.prototype.ondelete):
        (WebInspector.DOMTreeElement.prototype.onenter):
        (WebInspector.DOMTreeElement.prototype.ondblclick):
        (WebInspector.DOMTreeElement.prototype._populateTagContextMenu):
        (WebInspector.DOMTreeElement.prototype._populateTextContextMenu):
        (WebInspector.DOMTreeElement.prototype._populateNodeContextMenu):
        (WebInspector.DOMTreeElement.prototype._startEditing):
        Do not provide editability options for shadow DOM or non-editable DOM tree.

        * UserInterface/Views/DOMTreeOutline.js:
        (WebInspector.DOMTreeOutline):
        (WebInspector.DOMTreeOutline.prototype.get editable):
        (WebInspector.DOMTreeOutline.prototype.set editable):
        New state.

        * UserInterface/Views/FormattedValue.css:
        (.formatted-node > .dom-tree-outline li):
        Nodes inside object trees were showing text selection when you right
        clicked them. Normal selection is not possible. So force no selection.

2015-04-16  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Give DOM Nodes a Context Menu to Log Element to the console
        https://bugs.webkit.org/show_bug.cgi?id=143813

        Reviewed by Brian Burg.

        Always give DOM Nodes a "Log Element" context menu to log it to the console.
        This will give a $n reference, and is a convenient alternative to $0 or
        the now removed $1-$9.

        * Localizations/en.lproj/localizedStrings.js:
        New "Log Element" and "Selected Element" strings.

        * UserInterface/Views/DOMTreeOutline.js:
        (WebInspector.DOMTreeOutline):
        (WebInspector.DOMTreeOutline.prototype._contextMenuEventFired):
        (WebInspector.DOMTreeOutline.prototype._updateModifiedNodes):
        (WebInspector.DOMTreeOutline.prototype._populateContextMenu.revealElement):
        (WebInspector.DOMTreeOutline.prototype._populateContextMenu.logElement):
        (WebInspector.DOMTreeOutline.prototype._populateContextMenu):
        Always include the "Log Element" context menu/

        * UserInterface/Views/FormattedValue.js:
        (WebInspector.FormattedValue.createElementForNode):
        This uses all the defaults.

        * UserInterface/Views/DOMTreeContentView.js:
        (WebInspector.DOMTreeContentView):
        This enables all the extra behavior.

2015-04-16  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Remove unnecessary intermediate object from DOMTreeOutline
        https://bugs.webkit.org/show_bug.cgi?id=143811

        Reviewed by Brian Burg.

        * UserInterface/Views/DOMTreeOutline.js:
        (WebInspector.DOMTreeOutline):
        (WebInspector.DOMTreeOutline.prototype._selectedNodeChanged):
        (WebInspector.DOMTreeOutline.prototype.addEventListener): Deleted.
        (WebInspector.DOMTreeOutline.prototype.removeEventListener): Deleted.
        This object used to be used to handle event dispatching, but
        TreeOutlines themselves are now WebInspector.Objects so we
        can remove the intermediary.

2015-04-15  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: InspectorTest frontend console methods redirected to the frontend are wrong
        https://bugs.webkit.org/show_bug.cgi?id=143801

        Reviewed by Brian Burg.

        * UserInterface/Base/Test.js:
        (InspectorTest.evaluateInPage):
        Properly if check for the existence of an agent.

        (global):
        Properly hook up console redirect handlers so they
        will output the right type and arguments strings.

2015-04-15  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Handle all possible Console message Source types in IssueMessage
        https://bugs.webkit.org/show_bug.cgi?id=143803

        Reviewed by Brian Burg.

        * UserInterface/Models/IssueMessage.js:
        (WebInspector.IssueMessage):
        Update the switch to handle all possible console message sources.
        "wml" was legacy and no longer supported.

2015-04-14  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Uncaught exception in JSContext inspector when opening
        https://bugs.webkit.org/show_bug.cgi?id=143741

        Reviewed by Timothy Hatcher.

        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager.shouldShowViewForTimeline):
        (WebInspector.TimelineManager.prototype._loadNewRecording):
        Before using TimelineAgent, check for its existence first. It may
        not exist in JSContext inspection.

2015-04-14  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Align array's indices and set's bullet points under the property icon
        https://bugs.webkit.org/show_bug.cgi?id=143698

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ObjectTreeMapEntryTreeElement.css:
        (.object-tree-array-index.object-tree-map-entry > .titles > .title > .index-name):
        * UserInterface/Views/ObjectTreeArrayIndexTreeElement.css:
        (.object-tree-array-index .index-name):
        Right align array's and set's indices.

        (.object-tree-map-entry):
        Overwrite left property from .object-tree-array-index.

        (.object-tree-property + ol .object-tree-map-entry):
        Overwrite left property from .object-tree-property + ol .object-tree-array-index.

2015-04-13  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Expanding window.navigator.mimeTypes in ObjectTree shows no native properties
        https://bugs.webkit.org/show_bug.cgi?id=143690

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ObjectTreePropertyTreeElement.js:
        (WebInspector.ObjectTreePropertyTreeElement):
        Fix a typo that resulted in hiding properties of native objects
        in the Properties section of an Object Tree.

2015-04-13  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Remove unnecessary 3 second delay when archiving page
        https://bugs.webkit.org/show_bug.cgi?id=143688

        Reviewed by Timothy Hatcher.

        * UserInterface/Base/Main.js:
        (WebInspector.archiveMainFrame):
        The delay is unnecessary and was probably just debugging code.

2015-04-11  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Hide Frames Timeline if the backend doesn't support it
        https://bugs.webkit.org/show_bug.cgi?id=142800

        Reviewed by Timothy Hatcher.

        Fallback to showing the layout timeline if the backend doesn't support the rendering frames timeline.

        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager.shouldShowViewForTimeline):
        (WebInspector.TimelineManager.prototype._loadNewRecording):
        Added iOS 8 compatibility check for RenderingFrame timeline record type.

        * UserInterface/Views/LayoutTimelineDataGridNode.js:
        (WebInspector.LayoutTimelineDataGridNode.prototype.get data):
        Restored fields used by Layout timeline view.

        * UserInterface/Views/LayoutTimelineView.js:
        Updated to be compatible with both RenderingFrame and Layout timeline views.

2015-04-11  Jono Wells  <jonowells@apple.com>

        Web Inspector: Debugger sidebar should show errors underneath scripts
        https://bugs.webkit.org/show_bug.cgi?id=143464

        Reviewed by Timothy Hatcher.

        Add a new tree element called IssueTreeElement. This shows warnings and errors in the debugger sidebar. These
        can be clicked to jump to the line of source code for which the error was thrown. BreakpointTreeElement and
        IssueTreeElement now inherit from DebuggerTreeElement to support any needed commonalities among the interfaces
        of elements in the debugger sidebar panel.

        * Localizations/en.lproj/localizedStrings.js: Updated.
        * UserInterface/Main.html: Add new files.

        * UserInterface/Models/IssueMessage.js:
        (WebInspector.IssueMessage):
        (WebInspector.IssueMessage.prototype.get source):
        (WebInspector.IssueMessage.prototype.get lineNumber):
        (WebInspector.IssueMessage.prototype.get columnNumber):
        (WebInspector.IssueMessage.prototype.get displayLineNumber):
        (WebInspector.IssueMessage.prototype.get displayColumnNumber):
        (WebInspector.IssueMessage.prototype.get sourceCodeLocation):
        (WebInspector.IssueMessage.prototype.saveIdentityToCookie):
        (WebInspector.IssueMessage.prototype._sourceCodeLocationDisplayLocationChanged):
        Convert to use a backing SourceCodeLocation. Expand API.

        * UserInterface/Views/BreakpointTreeElement.js: Inherits now from DebuggerTreeElement.

        * UserInterface/Views/DebuggerSidebarPanel.js:
        (WebInspector.DebuggerSidebarPanel.showResourcesWithBreakpointsOnlyFilterFunction):
        (WebInspector.DebuggerSidebarPanel.showResourcesWithIssuesOnlyFilterFunction):
        (WebInspector.DebuggerSidebarPanel):
        (WebInspector.DebuggerSidebarPanel.prototype._addBreakpoint):
        (WebInspector.DebuggerSidebarPanel.prototype._breakpointRemoved):
        (WebInspector.DebuggerSidebarPanel.prototype._handleDebuggerObjectDisplayLocationDidChange):
        (WebInspector.DebuggerSidebarPanel.prototype._removeDebuggerTreeElement):
        (WebInspector.DebuggerSidebarPanel.prototype._treeElementSelected):
        (WebInspector.DebuggerSidebarPanel.prototype._compareDebuggerTreeElements):
        (WebInspector.DebuggerSidebarPanel.prototype._addDebuggerObject):
        (WebInspector.DebuggerSidebarPanel.prototype._addIssue):
        (WebInspector.DebuggerSidebarPanel.prototype._handleIssueAdded):
        (WebInspector.DebuggerSidebarPanel.prototype._handleIssuesCleared):
        (WebInspector.DebuggerSidebarPanel.prototype._breakpointDisplayLocationDidChange): Deleted.
        (WebInspector.DebuggerSidebarPanel.prototype._removeBreakpointTreeElement): Deleted.
        (WebInspector.DebuggerSidebarPanel.prototype._compareBreakpointTreeElements): Deleted.
        Add IssueTreeElements to the sidebar whenever a warning or error corresponding to a line of code is found.
        Add a filter function and button to filter down to just these. Ensure issue and breakpoint elements can be
        properly compared.

        * UserInterface/Views/DebuggerTreeElement.js: Added.
        (WebInspector.DebuggerTreeElement):
        (WebInspector.DebuggerTreeElement.prototype.get debuggerObject):

        * UserInterface/Views/IssueTreeElement.css: Added.
        (.issue .icon):
        (.issue.error .icon):
        (.navigation-sidebar-panel-content-tree-outline .item.small.issue .icon):

        * UserInterface/Views/IssueTreeElement.js: Added.
        (WebInspector.IssueTreeElement):
        (WebInspector.IssueTreeElement.prototype.get issueMessage):
        (WebInspector.IssueTreeElement.prototype._updateTitles):

2015-04-11  Matt Baker  <mattbaker@apple.com>

        Web Inspector: create content view and details sidebar for Frames timeline
        https://bugs.webkit.org/show_bug.cgi?id=143533

        Reviewed by Timothy Hatcher.

        Added new Rendering Frames timeline content view and details sidebar, and added minor visual tweeks to the
        timeline graph such as ensuring 60 FPS budget line is always visible, and large combined frames are split
        up once they reach a maximum pixel width.

        * Localizations/en.lproj/localizedStrings.js:
        New UI strings.

        * UserInterface/Base/Main.js:
        (WebInspector.contentLoaded):
        Support for new details sidebar panel.

        * UserInterface/Controllers/TimelineManager.js:
        (WebInspector.TimelineManager.shouldShowViewForTimeline):
        (WebInspector.TimelineManager.prototype._processRecord):
        (WebInspector.TimelineManager.prototype._loadNewRecording):
        Layout timeline is no longer added to timeline graphs, skip Rendering Frame records that have no child events.

        * UserInterface/Images/NavigationItemDoughnutChart.svg: Added.
        * UserInterface/Images/TimelineRecordRenderingFrame.svg: Added.
        New artwork.

        * UserInterface/Main.html:
        * UserInterface/Test.html:
        New files.

        * UserInterface/Models/RenderingFrameTimelineRecord.js: Renamed from Source/WebInspectorUI/UserInterface/Models/RunLoopTimelineRecord.js.
        (WebInspector.RenderingFrameTimelineRecord):
        (WebInspector.RenderingFrameTimelineRecord.resetFrameNumber):
        (WebInspector.RenderingFrameTimelineRecord.prototype.get frameNumber):
        (WebInspector.RenderingFrameTimelineRecord.prototype.get children):
        (WebInspector.RenderingFrameTimelineRecord.prototype.get durationRemainder):
        (WebInspector.RenderingFrameTimelineRecord.prototype.durationForRecords.get var):
        Added frame numbering and improved the accuracy of sub-frame duratation calculation.
        Refactoring: RunLoop prefix changed to RenderingFrame.

        * UserInterface/Models/Timeline.js:
        (WebInspector.Timeline):
        (WebInspector.Timeline.create):
        (WebInspector.Timeline.prototype.get recording):
        (WebInspector.Timeline.prototype.get displayName):
        (WebInspector.Timeline.prototype.get iconClassName):
        Added up-pointer to parent recording.

        * UserInterface/Models/TimelineRecord.js:
        Refactoring: RunLoop prefix changed to RenderingFrame.
        
        * UserInterface/Models/TimelineRecording.js:
        (WebInspector.TimelineRecording.prototype.reset):
        Support for new timeline type.

        * UserInterface/Views/ChartDetailsSectionLegendRow.js: Added.
        (WebInspector.ChartDetailsSectionLegendRow):
        New details section row type for chart legend items.

        * UserInterface/Views/ChartDetailsSectionRow.css: Added.
        (.details-section .row.chart):
        (.details-section .row.chart canvas):
        (.details-section .row.chart.empty canvas):
        (.details-section > .content > .group > .row.legend-item > .label > .color-swatch):
        * UserInterface/Views/ChartDetailsSectionRow.js: Added.
        (WebInspector.ChartDetailsSectionRow):
        (WebInspector.ChartDetailsSectionRow.prototype.get legendGroup):
        (WebInspector.ChartDetailsSectionRow.prototype.set innerLabel):
        (WebInspector.ChartDetailsSectionRow.prototype.addChartValue):
        (WebInspector.ChartDetailsSectionRow.prototype.clearChart):
        (WebInspector.ChartDetailsSectionRow.prototype._refresh.drawSlice):
        (WebInspector.ChartDetailsSectionRow.prototype._refresh):
        New details section row type for pie/doughnut charts.

        * UserInterface/Views/ContentView.js:
        (WebInspector.ContentView):
        Support for new timeline view type.

        * UserInterface/Views/LayoutTimelineDataGridNode.js:
        (WebInspector.LayoutTimelineDataGridNode.prototype.get data):
        (WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent):
        Updated for use in rendering frame timeline view.

        * UserInterface/Views/LayoutTimelineView.js:
        (WebInspector.LayoutTimelineView.prototype._layoutTimelineRecordAdded):
        Removed references to old RunLoop objects.

        * UserInterface/Views/RenderingFrameDetailsSidebarPanel.js: Added.
        (WebInspector.RenderingFrameDetailsSidebarPanel.formatChartValue):
        (WebInspector.RenderingFrameDetailsSidebarPanel):
        (WebInspector.RenderingFrameDetailsSidebarPanel.prototype.inspect):
        (WebInspector.RenderingFrameDetailsSidebarPanel.prototype.updateRangeSelection):
        (WebInspector.RenderingFrameDetailsSidebarPanel.prototype.get renderingFrameTimeline):
        (WebInspector.RenderingFrameDetailsSidebarPanel.prototype.set renderingFrameTimeline):
        (WebInspector.RenderingFrameDetailsSidebarPanel.prototype.refresh.durationForRecordType):
        (WebInspector.RenderingFrameDetailsSidebarPanel.prototype.refresh):
        (WebInspector.RenderingFrameDetailsSidebarPanel.prototype._resetAll):
        (WebInspector.RenderingFrameDetailsSidebarPanel.prototype._recordAdded):
        (WebInspector.RenderingFrameDetailsSidebarPanel.prototype._timelineReset):
        (WebInspector.RenderingFrameDetailsSidebarPanel.prototype._getSelectedRecords):
        New sidebar panel for showing time breakdown for current frame selection.

        * UserInterface/Views/RenderingFrameTimelineDataGridNode.js: Added.
        (WebInspector.RenderingFrameTimelineDataGridNode):
        (WebInspector.RenderingFrameTimelineDataGridNode.prototype.get record):
        (WebInspector.RenderingFrameTimelineDataGridNode.prototype.get records):
        (WebInspector.RenderingFrameTimelineDataGridNode.prototype.get data):
        (WebInspector.RenderingFrameTimelineDataGridNode.prototype.createCellContent):
        New data grid row type.

        * UserInterface/Views/RenderingFrameTimelineOverviewGraph.css: Renamed from Source/WebInspectorUI/UserInterface/Views/RunLoopTimelineOverviewGraph.css.
        (.timeline-overview-graph.rendering-frame > .divider):
        (.timeline-overview-graph.rendering-frame > .divider > .label):
        * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js: Renamed from Source/WebInspectorUI/UserInterface/Views/RunLoopTimelineOverviewGraph.js.
        (WebInspector.RenderingFrameTimelineOverviewGraph):
        (WebInspector.RenderingFrameTimelineOverviewGraph.prototype.get graphHeightSeconds):
        (WebInspector.RenderingFrameTimelineOverviewGraph.prototype.updateLayout.createFrame):
        (WebInspector.RenderingFrameTimelineOverviewGraph.prototype._updateDividers.createDividerAtPosition.get if):
        * UserInterface/Views/RenderingFrameTimelineView.css: Renamed from Source/WebInspectorUI/UserInterface/Views/RunLoopTimelineOverviewGraph.css.
        (.timeline-view.rendering-frame > .data-grid):
        (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.rendering-frame .item .subtitle):
        Visual tweeks.
        Refactoring: RunLoop prefix changed to RenderingFrame.

        * UserInterface/Views/RenderingFrameTimelineView.js: Added.
        (WebInspector.RenderingFrameTimelineView):
        (WebInspector.RenderingFrameTimelineView.prototype.get navigationSidebarTreeOutlineLabel):
        (WebInspector.RenderingFrameTimelineView.prototype.shown):
        (WebInspector.RenderingFrameTimelineView.prototype.hidden):
        (WebInspector.RenderingFrameTimelineView.prototype.updateLayout):
        (WebInspector.RenderingFrameTimelineView.prototype.get selectionPathComponents):
        (WebInspector.RenderingFrameTimelineView.prototype.filterDidChange):
        (WebInspector.RenderingFrameTimelineView.prototype.matchTreeElementAgainstCustomFilters):
        (WebInspector.RenderingFrameTimelineView.prototype.reset):
        (WebInspector.RenderingFrameTimelineView.prototype.treeElementPathComponentSelected):
        (WebInspector.RenderingFrameTimelineView.prototype.dataGridNodeForTreeElement):
        (WebInspector.RenderingFrameTimelineView.prototype._processPendingRecords):
        (WebInspector.RenderingFrameTimelineView.prototype._renderingFrameTimelineRecordAdded):
        (WebInspector.RenderingFrameTimelineView.prototype._dataGridNodeSelected):
        New content view type.

        * UserInterface/Views/TimelineIcons.css:
        (.rendering-frame-icon .icon):
        (.rendering-frame-icon.large .icon):
        (.rendering-frame-record .icon):
        (.runloop-record .icon):
        (.runloop-icon .icon): Deleted.
        (.runloop-icon.large .icon): Deleted.
        Refactoring: runloop prefix changed to rendering-frame.

        * UserInterface/Views/TimelineOverview.js:
        (WebInspector.TimelineOverview.prototype._timelineRemoved):
        Support for timelines without associated views.

        * UserInterface/Views/TimelineOverviewGraph.js:
        (WebInspector.TimelineOverviewGraph):
        Refactoring: RunLoop prefix changed to RenderingFrame.

        * UserInterface/Views/TimelineRecordFrame.css:
        (.timeline-record-frame):
        (.timeline-record-frame > .frame):
        * UserInterface/Views/TimelineRecordFrame.js:
        (WebInspector.TimelineRecordFrame.createCombinedFrames):
        Visual tweeks, splitting up large combined frames.

        * UserInterface/Views/TimelineRecordTreeElement.js:
        (WebInspector.TimelineRecordTreeElement):
        Refactoring: runloop prefix changed to rendering-frame.

        * UserInterface/Views/TimelineRecordingContentView.js:
        (WebInspector.TimelineRecordingContentView.prototype._timelineRemoved):
        (WebInspector.TimelineRecordingContentView.prototype._timelineCountChanged):
        (WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged):
        Added support for new details sidebar and timelines without associated views.

        * UserInterface/Views/TimelineSidebarPanel.js:
        (WebInspector.TimelineSidebarPanel._timelineAdded.set this):
        Support for timelines without associated views.
        Refactoring: runloop prefix changed to rendering-frame.

        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
        New files.

2015-04-11  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Use semi-transparent map item dividers
        https://bugs.webkit.org/show_bug.cgi?id=143630

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ObjectTreeMapEntryTreeElement.css:
        (.object-tree-map-entry.key:not(:first-child)):
        (.object-tree-map-entry.key): Deleted.
        (.object-tree-map-entry.key:first-of-type): Deleted.
        Use one selector instead of two.

2015-04-11  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Objects are vertically misaligned by 1px
        https://bugs.webkit.org/show_bug.cgi?id=143629

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/FormattedValue.css:
        (.formatted-object, .formatted-node, .formatted-error, .formatted-map, .formatted-set, .formatted-weakmap):

2015-04-10  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Fix Console Message Toggle

        Unreviewed. Correct a post-review comment fix that went too far.

        * UserInterface/Views/ConsoleMessageView.js:
        (WebInspector.ConsoleMessageView.prototype.set expandable):
        The handler needed to be bound to the object.

2015-04-10  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Fix Console Filter Search, Uncaught Exception

        Rubber-stamped by Timothy Hatcher.

        * UserInterface/Views/LogContentView.js:
        (WebInspector.LogContentView.prototype._performSearch):
        This regressed with recent refactoring. Fix up the property and class names.

2015-04-10  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Improve Console Message Formatting
        https://bugs.webkit.org/show_bug.cgi?id=143623

        Reviewed by Timothy Hatcher.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Main.html:
        Misc.

        * UserInterface/Views/ConsoleMessageView.css: Added.
        (.console-message.expandable .console-top-level-message::before):
        (.console-message.expandable.expanded .console-top-level-message::before):
        (.console-message.expandable.expanded :matches(.console-message-preview, .console-message-preview-divider)):
        (.console-message-preview-divider):
        (.console-message-enclosed):
        (.console-message .console-message-stack-trace-container):
        (.console-message.expandable.expanded .console-message-stack-trace-container):
        (.console-message .console-message-stack-trace-container > li):
        (.console-message .console-message-extra-parameters-container > li::before):
        New styles for the new ConsoleMessageView children.
        Handle console message expansion, a list of extra parameters
        and a potential list of stack frames.

        (.console-message, .console-user-command):
        (.console-message .repeat-count):
        (.console-message-text):
        (.console-message-text > span):
        (.console-error-level):
        (.console-error-level .console-message-text):
        (.console-debug-level .console-message-text):
        (.console-warning-level):
        (.console-warning-level .console-message-text):
        (.console-user-command .console-message):
        (.console-error-level::before):
        (.console-warning-level::before):
        (.console-user-command::before):
        (.console-debug-level::before):
        (:matches(.console-warning-level, .console-error-level, .console-log-level).console-message):
        (:matches(.console-warning-level, .console-error-level, .console-log-level)::before):
        (.console-user-command > .console-message-text):
        (.console-message-url):
        (.console-saved-variable):
        (.console-user-command-result):
        (.console-user-command-result.console-log-level::before):
        Moved from LogContentView.css to here where it is more appropriate
        since ConsoleMessageView added them.

        * UserInterface/Views/ConsoleMessageView.js:
        (WebInspector.ConsoleMessageView):
        (WebInspector.ConsoleMessageView.prototype.get expandable):
        (WebInspector.ConsoleMessageView.set expandable.this._boundExpandClickHandler):
        (WebInspector.ConsoleMessageView.prototype.set expandable):
        (WebInspector.ConsoleMessageView.prototype.expand):
        (WebInspector.ConsoleMessageView.prototype.collapse):
        (WebInspector.ConsoleMessageView.prototype.toggle):
        Provide high level constructs for making a ConsoleMessageView
        expandable, and APIs to expand/collapse.

        (WebInspector.ConsoleMessageView.prototype._appendExtraParameters):
        Add and style the new list of extra parameters.

        (WebInspector.ConsoleMessageView.prototype._appendStackTrace):
        Add and style the new list stack frames.

        (WebInspector.ConsoleMessageView.prototype._appendFormattedArguments):
        (WebInspector.ConsoleMessageView.prototype._shouldConsiderObjectLossless):
        Handling the top level message text line for all the different cases.

        * UserInterface/Views/DOMTreeElement.js:
        (WebInspector.DOMTreeElement.prototype._startEditingTarget):
        (WebInspector.DOMTreeElement.prototype._populateTagContextMenu):
        * UserInterface/Views/DOMTreeOutline.css:
        (.dom-tree-outline .add-attribute): Deleted.
        CSS class .add-attribute was not used. Remove all references.
        
        (.webkit-html-fragment.shadow):
        Moved from LogContentView.css to a more appropriate place.
        
        * UserInterface/Views/FormattedValue.js:
        (WebInspector.FormattedValue.createObjectPreviewOrFormattedValueForRemoteObject):
        Helper to create a preview or a formatted value for a given object.

        * UserInterface/Views/LogContentView.js:
        (WebInspector.LogContentView):
        (WebInspector.LogContentView.prototype._updateMessagesSelection):
        (WebInspector.LogContentView.prototype._leftArrowWasPressed):
        (WebInspector.LogContentView.prototype._rightArrowWasPressed):
        (WebInspector.LogContentView.prototype._rightArrowWasPressed.else.outlineTitle.treeElement.onexpand): Deleted.
        (WebInspector.LogContentView.prototype._propertiesSectionDidUpdateContent): Deleted.
        Lots of this code no longer makes sense. Delete some and put FIXMEs
        where it makes sense to re-add back useful features.

        * UserInterface/Views/ObjectPreviewView.css:
        (.object-preview > .size):
        * UserInterface/Views/ObjectTreeArrayIndexTreeElement.css:
        (.object-tree-array-index .index-value .object-tree): Deleted.
        * UserInterface/Views/ObjectTreeView.css:
        (.object-tree):
        Tweak styles. Opacity instead of a specific gray to better work
        with other colors. Always make objects be inline-block.

        * UserInterface/Views/LogContentView.css:
        (.console-error-level + .console-item):
        (.console-warning-level + .console-item):
        (.console-item::before):
        (.console-user-command-result): Deleted.
        (.console-user-command-result.console-log-level::before): Deleted.
        (.console-message, .console-user-command): Deleted.
        (.console-message .repeat-count): Deleted.
        (.console-message-text): Deleted.
        (.console-message-text > span): Deleted.
        (.console-error-level): Deleted.
        (.console-error-level .section .header .title): Deleted.
        (.console-debug-level .console-message-text): Deleted.
        (.console-debug-level::before): Deleted.
        (.console-error-level::before): Deleted.
        (.console-warning-level): Deleted.
        (.console-warning-level .console-message-text): Deleted.
        (.console-warning-level::before): Deleted.
        (.console-user-command .console-message): Deleted.
        (.console-user-command::before): Deleted.
        (:matches(.console-warning-level, .console-error-level, .console-log-level).console-message): Deleted.
        (:matches(.console-warning-level, .console-error-level, .console-log-level)::before): Deleted.
        (.console-user-command > .console-message-text): Deleted.
        (.console-saved-variable): Deleted.
        (.console-message-url): Deleted.
        (.console-group-messages .section): Deleted.
        (.console-group-messages .section .header): Deleted.
        (.console-group-messages .section .header::before): Deleted.
        (.console-group-messages .section .header .title): Deleted.
        (.console-group-messages .section .properties li .info): Deleted.
        (.console-group-messages .outline-disclosure): Deleted.
        (.console-group-messages .outline-disclosure > ol): Deleted.
        (.console-group-messages .outline-disclosure li .selection): Deleted.
        (.console-group-messages .add-attribute): Deleted.
        (.error-message): Deleted.
        (.auto-complete-text, .editing .auto-complete-text): Deleted.
        (.outline-disclosure li.hovered:not(.selected) .selection): Deleted.
        (.outline-disclosure li.highlighted .highlight): Deleted.
        (.outline-disclosure li.selected.highlighted .highlight): Deleted.
        (.outline-disclosure li .selection): Deleted.
        (.outline-disclosure li.selected .selection): Deleted.
        (.outline-disclosure li.elements-drag-over .selection): Deleted.
        (.outline-disclosure ol:focus li.selected .selection): Deleted.
        (.outline-disclosure ol.search-match-not-found li.selected .selection): Deleted.
        (.outline-disclosure > ol): Deleted.
        (.outline-disclosure, .outline-disclosure ol): Deleted.
        (.outline-disclosure li): Deleted.
        (.outline-disclosure .expanded li): Deleted.
        (.outline-disclosure > li.parent): Deleted.
        (.outline-disclosure li .webkit-html-tag.close): Deleted.
        (.outline-disclosure > li.parent::before): Deleted.
        (.outline-disclosure li.parent.expanded::before): Deleted.
        (.outline-disclosure ol.children): Deleted.
        (.outline-disclosure ol.children.expanded): Deleted.
        (.webkit-html-fragment.shadow): Deleted.
        Delete now unused styles and move other styles to more appropriate places.

2015-04-09  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Uncaught exception using console.table with filter argument
        https://bugs.webkit.org/show_bug.cgi?id=143579

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/ConsoleMessageView.js:
        (WebInspector.ConsoleMessageView.prototype._userProvidedColumnNames):
        Reordering in the refactoring would have already converted this argument
        to a RemoteObject. Assert that here instead of trying to convert.

2015-04-09  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: ObjectTree Property Path tooltip has a few issues
        https://bugs.webkit.org/show_bug.cgi?id=143587

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/PropertyPath.js:
        (WebInspector.PropertyPath.prototype.appendSymbolProperty):
        (WebInspector.PropertyPath.prototype.appendPropertyDescriptor):
        Handle Symbol properties. They are treated as an impossible path
        because we cannot guarentee a reference to the Symbol right now.

        * UserInterface/Views/ConsoleMessageView.js:
        (WebInspector.ConsoleMessageView.prototype._rootPropertyPathForObject):
        The savedResultIndex is on message.

        * UserInterface/Views/ObjectTreeMapEntryTreeElement.js:
        (WebInspector.ObjectTreeMapEntryTreeElement):
        (WebInspector.ObjectTreeMapKeyTreeElement):
        (WebInspector.ObjectTreeMapValueTreeElement):
        In order for "key" to be available setup the mainTitle after
        the call to the base's constructor.

2015-04-08  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Simplify Legacy Tips support
        https://bugs.webkit.org/show_bug.cgi?id=143551

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/ConsoleMessage.js:
        * UserInterface/Protocol/ConsoleObserver.js:
        (WebInspector.ConsoleObserver.prototype.messageAdded):
        * UserInterface/Views/ConsoleMessageView.js:
        (WebInspector.ConsoleMessageView):
        (WebInspector.ConsoleMessageView.prototype._levelString):
        * UserInterface/Views/LogContentView.js:
        (WebInspector.LogContentView.prototype._filterMessageElements):

2015-04-08  Joseph Pecoraro  <pecoraro@apple.com>

        Unreviewed Test Fix after r182579. Add missing include.

        * UserInterface/Test.html:
        Missing file was causing inspector/page/main-frame-resource.html to fail.

2015-04-08  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Split ConsoleMessageImpl into the View and the Model
        https://bugs.webkit.org/show_bug.cgi?id=142599

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/ConsoleMessage.js: Added.
        (WebInspector.ConsoleMessage):
        (WebInspector.ConsoleMessage.prototype.get source):
        (WebInspector.ConsoleMessage.prototype.get level):
        (WebInspector.ConsoleMessage.prototype.get messageText):
        (WebInspector.ConsoleMessage.prototype.get type):
        (WebInspector.ConsoleMessage.prototype.get url):
        (WebInspector.ConsoleMessage.prototype.get line):
        (WebInspector.ConsoleMessage.prototype.get column):
        (WebInspector.ConsoleMessage.prototype.get repeatCount):
        (WebInspector.ConsoleMessage.prototype.get parameters):
        (WebInspector.ConsoleMessage.prototype.get stackTrace):
        (WebInspector.ConsoleMessage.prototype.get request):
        New readonly model object for console messages.

        * UserInterface/Main.html:
        * UserInterface/Test.html:
        * UserInterface/Base/Test.js:
        (WebInspector.loaded):
        Load the new files in the main / test page.

        * UserInterface/Views/LegacyConsoleMessage.js: Removed.
        * UserInterface/Views/LegacyConsoleMessageImpl.js: Removed.
        Remove Legacy versions.

        * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
        * UserInterface/Controllers/JavaScriptLogViewController.js:
        (WebInspector.JavaScriptLogViewController):
        (WebInspector.JavaScriptLogViewController.prototype.startNewSession):
        (WebInspector.JavaScriptLogViewController.prototype.appendImmediateExecutionWithResult.saveResultCallback):
        (WebInspector.JavaScriptLogViewController.prototype.appendImmediateExecutionWithResult):
        (WebInspector.JavaScriptLogViewController.prototype.appendConsoleMessage):
        (WebInspector.JavaScriptLogViewController.prototype.updatePreviousMessageRepeatCount):
        (WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted.printResult):
        (WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted):
        (WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessageView):
        (WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessage): Deleted.
        Update LogViewController to create ConsoleMessageViews from ConsoleMessages when applicable.
        Also clarify when we have a view versus model object.

        * UserInterface/Protocol/ConsoleObserver.js:
        (WebInspector.ConsoleObserver.prototype.messageAdded):
        * UserInterface/Controllers/LogManager.js:
        (WebInspector.LogManager.prototype.messageWasAdded):
        (WebInspector.LogManager.prototype.messagesCleared):
        (WebInspector.LogManager.prototype._mainResourceDidChange):
        Create model objects and issue events for the model objects.

        * UserInterface/Models/DefaultDashboard.js:
        (WebInspector.DefaultDashboard.prototype._consoleMessageAdded):
        (WebInspector.DefaultDashboard.prototype._incrementConsoleMessageType):
        Update now that the event gives us a model object.

        * UserInterface/Views/ConsoleMessageView.js: Added.
        (WebInspector.ConsoleMessageView):
        (WebInspector.ConsoleMessageView.prototype.get element):
        (WebInspector.ConsoleMessageView.prototype.get message):
        (WebInspector.ConsoleMessageView.prototype.get repeatCount):
        (WebInspector.ConsoleMessageView.prototype.set repeatCount):
        (WebInspector.ConsoleMessageView.prototype.toClipboardString):
        (WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
        (WebInspector.ConsoleMessageView.prototype._appendSavedResultIndex):
        (WebInspector.ConsoleMessageView.prototype._appendLocationLink):
        (WebInspector.ConsoleMessageView.prototype._appendParameters):
        (WebInspector.ConsoleMessageView.prototype._appendStackTrace):
        (WebInspector.ConsoleMessageView.prototype._appendFormattedArguments):
        (WebInspector.ConsoleMessageView.prototype._formatParameter):
        (WebInspector.ConsoleMessageView.prototype._formatParameterAsValue):
        (WebInspector.ConsoleMessageView.prototype._formatParameterAsString):
        (WebInspector.ConsoleMessageView.prototype._formatParameterAsNode):
        (WebInspector.ConsoleMessageView.prototype._formatParameterAsObject):
        (WebInspector.ConsoleMessageView.prototype._formatParameterAsArray):
        (WebInspector.ConsoleMessageView.prototype._rootPropertyPathForObject):
        (WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.parameterFormatter):
        (WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.stringFormatter):
        (WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.floatFormatter):
        (WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.integerFormatter):
        (WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.styleFormatter):
        (WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.isWhitelistedProperty):
        (WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.append):
        (WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString):
        (WebInspector.ConsoleMessageView.prototype._shouldShowStackTrace):
        (WebInspector.ConsoleMessageView.prototype._shouldHideURL):
        (WebInspector.ConsoleMessageView.prototype._firstNonNativeCallFrame):
        (WebInspector.ConsoleMessageView.prototype._linkifyLocation):
        (WebInspector.ConsoleMessageView.prototype._linkifyCallFrame):
        (WebInspector.ConsoleMessageView.prototype._userProvidedColumnNames):
        (WebInspector.ConsoleMessageView.prototype._formatParameterAsTable):
        (WebInspector.ConsoleMessageView.prototype._levelString):
        (WebInspector.ConsoleMessageView.prototype._enforcesClipboardPrefixString):
        (WebInspector.ConsoleMessageView.prototype._clipboardPrefixString):
        New View class for a ConsoleMessage. This is a near direct port of the old code
        to a view class that has a root element.

        * UserInterface/Models/ConsoleCommandResultMessage.js: Renamed from Source/WebInspectorUI/UserInterface/Views/ConsoleCommandResult.js.
        (WebInspector.ConsoleCommandResultMessage):
        (WebInspector.ConsoleCommandResultMessage.clearMaximumSavedResultIndex):
        (WebInspector.ConsoleCommandResultMessage.prototype.get savedResultIndex):
        Rename, as this is a ConsoleMessage subclass with a specific type for console evaluation results.

        * UserInterface/Views/ConsoleCommandView.js: Renamed from Source/WebInspectorUI/UserInterface/Views/ConsoleCommand.js.
        (WebInspector.ConsoleCommandView):
        (WebInspector.ConsoleCommandView.prototype.get element):
        (WebInspector.ConsoleCommandView.prototype.get commandText):
        (WebInspector.ConsoleCommandView.prototype.get message):
        (WebInspector.ConsoleCommandView.prototype.toClipboardString):
        * UserInterface/Views/ConsoleGroup.js:
        (WebInspector.ConsoleGroup):
        (WebInspector.ConsoleGroup.prototype.get parentGroup):
        (WebInspector.ConsoleGroup.prototype.render):
        (WebInspector.ConsoleGroup.prototype.addMessageView):
        (WebInspector.ConsoleGroup.prototype.append):
        (WebInspector.ConsoleGroup.prototype._titleMouseDown):
        (WebInspector.ConsoleGroup.prototype.addMessage): Deleted.
        (WebInspector.ConsoleGroup.prototype._titleClicked): Deleted.
        * UserInterface/Views/ConsoleSession.js:
        (WebInspector.ConsoleSession):
        (WebInspector.ConsoleSession.prototype.addMessageView):
        (WebInspector.ConsoleSession.prototype.append):
        (WebInspector.ConsoleSession.prototype.addMessage): Deleted.
        (WebInspector.ConsoleSession.prototype.hasMessages): Deleted.
        Convert to classes, and clarify these deal with View objects.

        * UserInterface/Views/LogContentView.css:
        (.console-message .repeat-count):
        (.console-message .bubble): Deleted.
        Better class name for the repeat count element.

        * UserInterface/Views/LogContentView.js:
        (WebInspector.LogContentView.prototype.didAppendConsoleMessageView):
        (WebInspector.LogContentView.prototype._formatMessagesAsData):
        (WebInspector.LogContentView.prototype._messageAdded):
        (WebInspector.LogContentView.prototype._updateMessagesSelection):
        (WebInspector.LogContentView.prototype._selectAllMessages):
        (WebInspector.LogContentView.prototype._allMessageElements):
        (WebInspector.LogContentView.prototype._unfilteredMessageElements):
        (WebInspector.LogContentView.prototype._visibleMessageElements):
        (WebInspector.LogContentView.prototype._scopeBarSelectionDidChange):
        (WebInspector.LogContentView.prototype._filterMessageElements):
        (WebInspector.LogContentView.prototype._upArrowWasPressed):
        (WebInspector.LogContentView.prototype._downArrowWasPressed):
        (WebInspector.LogContentView.prototype._previousMessage):
        (WebInspector.LogContentView.prototype._nextMessage):
        (WebInspector.LogContentView.prototype._performSearch):
        (WebInspector.LogContentView.prototype._highlightRanges):
        (WebInspector.LogContentView.prototype._reappendProvisionalMessages):
        (WebInspector.LogContentView.prototype.didAppendConsoleMessage): Deleted.
        (WebInspector.LogContentView.prototype._allMessages): Deleted.
        (WebInspector.LogContentView.prototype._unfilteredMessages): Deleted.
        (WebInspector.LogContentView.prototype._visibleMessages): Deleted.
        (WebInspector.LogContentView.prototype._filterMessages): Deleted.
        Rename lots of things to make it clear when we are dealing with
        elements, model objects, or view objects. This class is still heavily
        dealing with elements, and needs to be cleaned up later.

2015-04-08  Joseph Pecoraro  <pecoraro@apple.com>

        Fix uncaught exception seen in Inspector.

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/TreeOutline.js:
        (WebInspector.TreeOutline.prototype.removeChild):
        Add a null check. Everywhere else null checks this member variable
        which may not exist yet, this case was missing the check.

2015-04-08  Tobias Reiss  <tobi+webkit@basecode.de>

        Web Inspector: Regression: Showing of color swatches no longer works in Details Sidebar
        https://bugs.webkit.org/show_bug.cgi?id=143539

        Reviewed by Timothy Hatcher.

        Fix a regression where due to an ESLint error the whole line instead of just
        the variable declaration was removed.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches.update):
        (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):

2015-04-07  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: ES6: Show Symbol properties on Objects
        https://bugs.webkit.org/show_bug.cgi?id=141279

        Reviewed by Timothy Hatcher.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Models/PropertyDescriptor.js:
        (WebInspector.PropertyDescriptor.get symbol):

        * UserInterface/Protocol/RemoteObject.js:
        (WebInspector.RemoteObject.wrappedCallback):
        Update new PropertyDescriptor call site.

        * UserInterface/Views/ObjectTreeBaseTreeElement.js:
        (WebInspector.ObjectTreeBaseTreeElement._logSymbolProperty):
        Provide a context menu for rows with Symbol properties to log
        the Symbol property, and therefore get a reference to it.

        * UserInterface/Views/ObjectTreeView.js:
        (WebInspector.ObjectTreeView.comparePropertyDescriptors):
        Better handle symbol properties in sorting.

        * UserInterface/Views/TypePropertiesSection.js:
        (WebInspector.TypePropertiesSection.PropertyComparator):
        Return better value when values are equal.

2015-04-07  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: HierarchicalPathNavigationItem's additionalClassNames should be _additionalClassNames
        https://bugs.webkit.org/show_bug.cgi?id=143487

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/HierarchicalPathNavigationItem.js:
        (WebInspector.HierarchicalPathNavigationItem.prototype.get _additionalClassNames):

2015-04-05  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Add String/Array "includes" parameter display string
        https://bugs.webkit.org/show_bug.cgi?id=143434

        Reviewed by Darin Adler.

        * UserInterface/Models/NativeFunctionParameters.js:

2015-04-05  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Regression: Map instances don't expand
        https://bugs.webkit.org/show_bug.cgi?id=143428

        Reviewed by Brian Burg.

        Fix uses of "this" in super() calls. Also fix a style name
        that no longer exists and was intended to be inlined.

        * UserInterface/Views/IndexedDatabaseObjectStoreTreeElement.js:
        (WebInspector.IndexedDatabaseObjectStoreTreeElement):
        * UserInterface/Views/IndexedDatabaseTreeElement.js:
        (WebInspector.IndexedDatabaseTreeElement):
        * UserInterface/Views/ObjectTreeMapEntryTreeElement.js:
        (WebInspector.ObjectTreeMapEntryTreeElement):

2015-04-05  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: ObjectTree array index hints are clipped when shown in popover
        https://bugs.webkit.org/show_bug.cgi?id=143309

        Reviewed by Brian Burg.

        * UserInterface/Views/ObjectTreeArrayIndexTreeElement.css:
        (.object-tree-array-index .index-name):
        Add left margin that equals the width of the expand/collapse icon.

2015-03-31  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: console.error(object) has double disclosure triangles
        https://bugs.webkit.org/show_bug.cgi?id=142069

        Use inline-block instead of "float: left" or "position: absolute" to
        make layout more predictable and easier to understand.

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/LogContentView.css:
        (.outline-disclosure, .outline-disclosure ol):
        (.outline-disclosure > li.parent):
        (.outline-disclosure > li.parent::before):
        (.outline-disclosure li.parent): Deleted.
        (.outline-disclosure li.parent::before): Deleted.
        * UserInterface/Views/ObjectTreePropertyTreeElement.css:
        (.object-tree-property > .titles):
        (.object-tree-property > .disclosure-button):
        (.object-tree-property > .icon):
        * UserInterface/Views/ObjectTreeView.css:
        (.object-tree > :matches(.title, .object-preview)::before):
        (.object-tree:not(.lossless-preview) > :matches(.title, .object-preview)):

2015-03-31  Jono Wells  <jonowells@apple.com>

        Web Inspector: REGRESSION: Filtering no longer works
        https://bugs.webkit.org/show_bug.cgi?id=143099

        Reviewed by Brian Burg.

        Add a check for an empty array of filter functions and return true in this case to ensure text
        and timeline filters work correctly.

        * UserInterface/Views/NavigationSidebarPanel.js:
        (WebInspector.NavigationSidebarPanel.prototype.matchTreeElementAgainstFilterFunctions):

2015-03-31  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r182186.
        https://bugs.webkit.org/show_bug.cgi?id=143270

        it crashes all the WebGL tests on the Debug bots (Requested by
        dino on #webkit).

        Reverted changeset:

        "Web Inspector: add 2D/WebGL canvas instrumentation
        infrastructure"
        https://bugs.webkit.org/show_bug.cgi?id=137278
        http://trac.webkit.org/changeset/182186

2015-03-31  Matt Baker  <mattbaker@apple.com>

        Web Inspector: add 2D/WebGL canvas instrumentation infrastructure
        https://bugs.webkit.org/show_bug.cgi?id=137278

        Reviewed by Timothy Hatcher.

        Added models, views, and controller classes for 2D and WebGL canvas inspection. Each canvas is shown in the
        Resources navigation sidebar under its parent frame. Shader programs are displayed as child nodes of
        their respective canvas. Canvases will get an associated content view and details sidebar in a later patch
        (see https://bugs.webkit.org/show_bug.cgi?id=138941).

        Shader programs will get an associated content view for editing shader source in a later patch (see
        https://bugs.webkit.org/show_bug.cgi?id=138593). Individual shaders are not shown in the Resource navigation
        sidebar, and at this time there are no plans to instrument shaders that aren't attached to a program.

        * Localizations/en.lproj/localizedStrings.js:
        * UserInterface/Base/Main.js:
        (WebInspector.loaded):
        (WebInspector.sidebarPanelForRepresentedObject):
        * UserInterface/Base/Test.js:
        (WebInspector.loaded):
        * UserInterface/Main.html:
        * UserInterface/Test.html:
        Updated for new canvas/shader program types.

        * UserInterface/Controllers/CanvasManager.js: Added.
        (WebInspector.CanvasManager):
        (WebInspector.CanvasManager.prototype.canvasesForFrame):
        (WebInspector.CanvasManager.prototype.canvasAdded.set this):
        (WebInspector.CanvasManager.prototype.canvasAdded):
        (WebInspector.CanvasManager.prototype.canvasRemoved):
        (WebInspector.CanvasManager.programDeleted.get console):
        (WebInspector.CanvasManager.prototype.programCreated.get console):
        (WebInspector.CanvasManager.prototype.programCreated):
        (WebInspector.CanvasManager.prototype._mainResourceDidChange):
        Frontend controller for canvases and their shader programs.

        * UserInterface/Images/Canvas.svg: Added.
        * UserInterface/Images/DocumentGL.png: Added.
        * UserInterface/Images/DocumentGL@2x.png: Added.
        New art for canvas and shader program tree elements.

        * UserInterface/Models/Canvas.js: Added.
        (WebInspector.Canvas):
        (WebInspector.Canvas.prototype.set fromPayload):
        (WebInspector.Canvas.displayNameForContextType):
        (WebInspector.Canvas.resetUniqueDisplayNameNumbers):
        (WebInspector.Canvas.prototype.get id):
        (WebInspector.Canvas.prototype.get parentFrame):
        (WebInspector.Canvas.prototype.get name):
        (WebInspector.Canvas.prototype.get cssCanvas):
        (WebInspector.Canvas.prototype.get contextType):
        (WebInspector.Canvas.prototype.get contextAttributes):
        (WebInspector.Canvas.prototype.get programs):
        (WebInspector.Canvas.prototype.get displayName):
        (WebInspector.Canvas.programForId):
        (WebInspector.Canvas.get programWasCreated.set this):
        (WebInspector.Canvas.prototype.get programWasCreated):
        (WebInspector.Canvas.prototype.programWasDeleted):
        (WebInspector.Canvas.prototype.saveIdentityToCookie):
        Model for DOM or CSS canvas (2D or WebGL).

        * UserInterface/Models/ShaderProgram.js: Added.
        (WebInspector.ShaderProgram):
        (WebInspector.ShaderProgram.prototype.get id):
        (WebInspector.ShaderProgram.prototype.get canvas):
        (WebInspector.ShaderProgram.prototype.get displayName):
        (WebInspector.ShaderProgram.prototype.saveIdentityToCookie):
        (WebInspector.ShaderProgram.prototype.updateCanvas):
        * UserInterface/Models/WebGLContextAttributes.js: Added.
        (WebInspector.WebGLContextAttributes):
        (WebInspector.WebGLContextAttributes.fromPayload):
        (WebInspector.WebGLContextAttributes.prototype.get alpha):
        (WebInspector.WebGLContextAttributes.prototype.get depth):
        (WebInspector.WebGLContextAttributes.prototype.get stencil):
        (WebInspector.WebGLContextAttributes.prototype.get antialias):
        (WebInspector.WebGLContextAttributes.prototype.get premultipliedAlpha):
        (WebInspector.WebGLContextAttributes.prototype.get preserveDrawingBuffer):
        Model for WebGL canvas context attributes.

        * UserInterface/Protocol/CanvasObserver.js: Added.
        (WebInspector.CanvasObserver.prototype.canvasAdded):
        (WebInspector.CanvasObserver.prototype.canvasRemoved):
        (WebInspector.CanvasObserver.prototype.programCreated):
        (WebInspector.CanvasObserver.prototype.programDeleted):
        (WebInspector.CanvasObserver):
        Model for WebGL canvas shader program.

        * UserInterface/Views/CanvasTreeElement.js: Added.
        (WebInspector.CanvasTreeElement.validateRepresentedObject):
        (WebInspector.CanvasTreeElement.countChildren):
        (WebInspector.CanvasTreeElement):
        (WebInspector.CanvasTreeElement.prototype.onexpand):
        (WebInspector.CanvasTreeElement.prototype.oncollapse):
        (WebInspector.CanvasTreeElement.prototype.onpopulate):
        (WebInspector.CanvasTreeElement.prototype._programWasCreated):
        (WebInspector.CanvasTreeElement.prototype._programWasDeleted):
        Folderized tree element for canvases and their child objects (shader programs).

        * UserInterface/Views/FrameTreeElement.js:
        (WebInspector.FrameTreeElement.prototype.onattach):
        (WebInspector.FrameTreeElement.prototype.ondetach):
        (WebInspector.FrameTreeElement.prototype.onpopulate):
        (WebInspector.FrameTreeElement.prototype._canvasesAvailable):
        (WebInspector.FrameTreeElement.prototype._canvasWasAdded):
        (WebInspector.FrameTreeElement.prototype._canvasWasRemoved):
        Updated to support canvas tree elements.

        * UserInterface/Views/ResourceIcons.css:
        (.canvas-icon .icon):
        (.shader-program-icon .icon):
        Styles for new canvas and shader program icons.

        * UserInterface/Views/ResourceSidebarPanel.js:
        (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
        Updated for new tree element types.

        * UserInterface/Views/ShaderProgramTreeElement.js: Added.
        (WebInspector.ShaderProgramTreeElement):
        Tree element for shader programs. Shown as children of CanvasTreeElement.

        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:

2015-03-30  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Regression: null shouldn't be expandable in object outline
        https://bugs.webkit.org/show_bug.cgi?id=143209

        Reviewed by Mark Lam.

        * UserInterface/Views/FormattedValue.js:
        (WebInspector.FormattedValue.createObjectTreeOrFormattedValueForRemoteObject):
        When creating an object tree or formatted value, choose just a formatted value
        for "null", since it does not have properties.

2015-03-30  Tobias Reiss  <tobi+webkit@basecode.de>

        Web Inspector: Add more ESLint rules that reflect the current state of the code base
        https://bugs.webkit.org/show_bug.cgi?id=143212

        Reviewed by Timothy Hatcher.

        * .eslintrc:
        Define some utilities as globals.
        Replace "no-comma-dangle" with "comma-dangle". "no-comma-dangle" is deprecated and does not trigger in ESLint v.0.17.1
        Set "new-cap" to 0 due to the usage of "WebInspector.UIString".
        Disable "no-redeclare" for now and enable it back as soon as block scoped `let` is used.
        Disable "dot-notation", "no-shadow" and "no-use-before-define" due to a lot of hits.
        Disable "no-inner-declarations" as this is a common pattern to save memory.
        * UserInterface/Views/ObjectTreePropertyTreeElement.js:
        * UserInterface/Models/SourceCodeLocation.js:
        It's not necessary to initialize x to undefined.
        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
        * UserInterface/Views/TextEditor.js:
        * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
        Remove unused variable x.
        * UserInterface/Views/ObjectTreeMapEntryTreeElement.js:
        * UserInterface/Models/PropertyPath.js:
        * UserInterface/Views/RadioButtonNavigationItem.js:
        * UserInterface/Views/ReplayDashboardView.js:
        * UserInterface/Models/ScriptSyntaxTree.js:
        * UserInterface/Views/SourceCodeTextEditor.js:
        * UserInterface/Views/SourceCodeTreeElement.js:
        Remove trailing and unexpected whitespace.
        * UserInterface/Views/ProbeSetDataGrid.js:
        * UserInterface/Views/TimelineRuler.js:
        Add missing semicolon.
        * UserInterface/Views/TimelineDataGrid.js:
        * UserInterface/Views/TimelineRecordFrame.js:
        Add missing var statement.
        * UserInterface/Views/TypeTokenView.js:
        Remove unnecessary `bind`.

2015-03-28  Saam Barati  <saambarati1@gmail.com>

        Web Inspector: ES6: Better support for Symbol types in Type Profiler
        https://bugs.webkit.org/show_bug.cgi?id=141257

        Reviewed by Joseph Pecoraro.

        The Web Inspector's visualization of JSC's type profiler
        should have support for the Symbol type.

        * UserInterface/Models/TypeSet.js:
        (WebInspector.TypeSet):
        (WebInspector.TypeSet.prototype.get primitiveTypeNames):
        * UserInterface/Views/TypeTokenView.css:
        TypeTokenView will display Symbol type tokens using the same color that 
        Symbol values are displayed as formatted values.

        (.type-token-symbol):
        * UserInterface/Views/TypeTokenView.js:
        (WebInspector.TypeTokenView.prototype._displayTypeName):
        (WebInspector.TypeTokenView):

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

        Web Inspector: Adopt Array.prototype.includes and String.prototype.includes
        https://bugs.webkit.org/show_bug.cgi?id=143176

        Reviewed by Timothy Hatcher.

        * UserInterface/Base/Utilities.js:
        Remove our custom implementations of Array/String contains functions.

        * UserInterface/Base/Main.js:
        (WebInspector._updateContentViewForCurrentNavigationSidebar):
        (WebInspector._contentBrowserCurrentContentViewDidChange):
        * UserInterface/Controllers/CodeMirrorCompletionController.js:
        (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions.):
        (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions):
        * UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
        (WebInspector.CodeMirrorTokenTrackingController.prototype._updateHoveredTokenInfo):
        (WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
        * UserInterface/Controllers/FrameResourceManager.js:
        (WebInspector.FrameResourceManager.prototype._extraDomainsActivated):
        (WebInspector.FrameResourceManager):
        * UserInterface/Controllers/LayerTreeManager.js:
        (WebInspector.LayerTreeManager.prototype.layerTreeMutations):
        * UserInterface/Controllers/StorageManager.js:
        (WebInspector.StorageManager.prototype._extraDomainsActivated):
        (WebInspector.StorageManager):
        * UserInterface/Models/Branch.js:
        (WebInspector.Branch.prototype.addRevision):
        * UserInterface/Models/CSSKeywordCompletions.js:
        (WebInspector.CSSKeywordCompletions.forProperty):
        * UserInterface/Models/CSSRule.js:
        (WebInspector.CSSRule.prototype.get matchedSelectors):
        * UserInterface/Models/CSSStyleDeclaration.js:
        * UserInterface/Models/Color.js:
        (WebInspector.Color.fromString):
        * UserInterface/Models/DOMNode.js:
        * UserInterface/Models/DOMNodeStyles.js:
        (WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload):
        * UserInterface/Views/CSSStyleDeclarationSection.js:
        (WebInspector.CSSStyleDeclarationSection.prototype.refresh):
        * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
        (WebInspector.CSSStyleDetailsSidebarPanel.prototype._updatePseudoClassCheckboxes):
        (WebInspector.CSSStyleDetailsSidebarPanel):
        * UserInterface/Views/ContentBrowser.js:
        (WebInspector.ContentBrowser.prototype._updateContentViewSelectionPathNavigationItem):
        * UserInterface/Views/DOMTreeElement.js:
        * UserInterface/Views/DebuggerSidebarPanel.js:
        (WebInspector.DebuggerSidebarPanel.prototype._resourceAdded):
        * UserInterface/Views/GeneralTreeElement.js:
        (WebInspector.GeneralTreeElement.prototype.addClassName):
        (WebInspector.GeneralTreeElement.prototype.removeClassName):
        * UserInterface/Views/LegacyConsoleMessageImpl.js:
        (WebInspector.LegacyConsoleMessageImpl.prototype._formatParameterAsTable):
        * UserInterface/Views/LogContentView.js:
        (WebInspector.LogContentView.prototype._updateMessagesSelection):
        * UserInterface/Views/NavigationBar.js:
        (WebInspector.NavigationBar.prototype._findNavigationItem):
        * UserInterface/Views/Sidebar.js:
        (WebInspector.Sidebar.prototype.findSidebarPanel):
        Replace contains with includes where appropriate.

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

        Web Inspector: Tweak node styles in ObjectTreeView
        https://bugs.webkit.org/show_bug.cgi?id=143179

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/LogContentView.css:
        (.console-group-messages .outline-disclosure.single-node li):
        * UserInterface/Views/DOMTreeOutline.css:
        (.dom-tree-outline.single-node li):
        This style makes sense as a generic DOMTreeOutline style.

        * UserInterface/Views/FormattedValue.css:
        (.formatted-node > .dom-tree-outline):
        (.formatted-node > .dom-tree-outline ol):
        (.formatted-node > .dom-tree-outline li.hovered:not(.selected) .selection):
        Style for nodes in ObjectTreeView.

        * UserInterface/Views/ObjectTreeArrayIndexTreeElement.css:
        (.object-tree-array-index .index-value .formatted-node .dom-tree-outline):
        Styles for node in Array value.

        * UserInterface/Views/FormattedValue.js:
        (WebInspector.FormattedValue.createElementForNode):
        Address the FIXME.

2015-03-27  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: TypeProfiler doesn't work on files with ES6 Class Syntax
        https://bugs.webkit.org/show_bug.cgi?id=143169

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/ScriptSyntaxTree.js:
        (WebInspector.ScriptSyntaxTree.prototype._recurse):
        (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
        (WebInspector.ScriptSyntaxTree):
        Add basic support for Esprima's ES6 Class/Method/Spread nodes.
        There are more ES6 features that should be covered, but this
        covers all the features we use in Web Inspector source, so
        Type Profiling can work with our own source.

        Treat Methods like getters / setters right now because their
        syntax is very similiar to getters/setters. There is a bug
        handling generic ES6 cleanup to better name things.

2015-03-27  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Uncaught TDZ Exception with Type Profiler
        https://bugs.webkit.org/show_bug.cgi?id=143167

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/TypePropertiesSection.js:
        (WebInspector.TypePropertyTreeElement):
        Avoid TDZ issue by not using "this" before "super".

        * UserInterface/Models/ScriptSyntaxTree.js:
        (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
        (WebInspector.ScriptSyntaxTree):
        Better handle unsupported node types by returning null and avoiding an exception.

        * UserInterface/Views/SourceCodeTextEditor.js:
        Fix an issue I saw once where the sourceCode was a Script itself.

2015-03-27  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Uncaught exception while debugging, after performSearch callback line does not exists
        https://bugs.webkit.org/show_bug.cgi?id=143172

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor.prototype.customPerformSearch.searchResultCallback):
        (WebInspector.SourceCodeTextEditor.prototype.customPerformSearch):
        Gracefully handle if the line does not exist.

2015-03-27  Ryosuke Niwa  <rniwa@webkit.org>

        ES6 Classes: Runtime error in JIT'd class calling super() with arguments and superclass has default constructor
        https://bugs.webkit.org/show_bug.cgi?id=142862

        Reviewed by Benjamin Poulain.

        Removed the workaround for the bug since it has been fixed by r181993.

        * UserInterface/Base/Object.js:
        * UserInterface/Models/DebuggerDashboard.js:
        * UserInterface/Models/NetworkTimeline.js:
        * UserInterface/Models/ReplayDashboard.js:
        * UserInterface/Models/Revision.js:

2015-03-27  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Add Setter Icon for ObjectTreeView
        https://bugs.webkit.org/show_bug.cgi?id=143129

        Reviewed by Timothy Hatcher.

        * UserInterface/Images/Pencil.svg: Added.
        New icon used to indicate setter properties.

        * Localizations/en.lproj/localizedStrings.js:
        Remove "Read only" and replace with "Setter".

        * UserInterface/Views/ObjectTreeArrayIndexTreeElement.js:
        (WebInspector.ObjectTreeArrayIndexTreeElement.prototype._titleFragment):
        (WebInspector.ObjectTreeArrayIndexTreeElement):
        * UserInterface/Views/ObjectTreePropertyTreeElement.js:
        (WebInspector.ObjectTreePropertyTreeElement.prototype._createTitlePropertyStyle):
        (WebInspector.ObjectTreePropertyTreeElement.prototype._createTitleAPIStyle):
        Update cases that created setter / getter elements.
        
        * UserInterface/Views/ObjectTreeBaseTreeElement.js:
        (WebInspector.ObjectTreeBaseTreeElement.prototype.createGetterElement):
        (WebInspector.ObjectTreeBaseTreeElement.prototype.createInteractiveGetterElement): Deleted.
        * UserInterface/Views/ObjectTreePropertyTreeElement.css:
        (.object-tree-property :matches(.getter, .setter)):
        (.object-tree-property .spacer):
        (.object-tree-property .getter):
        (.object-tree-property .setter):
        (.object-tree-property .getter + .setter):
        New setter element and styles. Setters are always non-interactable right now.

2015-03-27  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Uncaught Exceptions with Context Menus
        https://bugs.webkit.org/show_bug.cgi?id=143162

        Reviewed by Timothy Hatcher.

        * UserInterface/Protocol/InspectorFrontendAPI.js:
        (InspectorFrontendAPI.contextMenuCleared):

2015-03-27  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Disable editing in Metrics section while it is not working
        https://bugs.webkit.org/show_bug.cgi?id=143165

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/BoxModelDetailsSectionRow.js:
        (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics.createElement):
        (WebInspector.BoxModelDetailsSectionRow.prototype._applyUserInput):
        Disable double click to edit while it is not working. The value setter
        and add methods no longer exist.

2015-03-27  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Uncaught Exceptions evaluating code while paused
        https://bugs.webkit.org/show_bug.cgi?id=143163

        Reviewed by Timothy Hatcher.

        * UserInterface/Models/CallFrame.js:
        (WebInspector.CallFrame.prototype.collectScopeChainVariableNames):
        We define a property named "valueForCaseInsensitiveKey" on Object.prototype
        that is readonly. So we should avoid Object.prototype when building our
        result list. This should probably move to a Map object eventually.

2015-03-27  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Remove unused testing properties
        https://bugs.webkit.org/show_bug.cgi?id=143156

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/LegacyConsoleMessageImpl.js:
        (WebInspector.LegacyConsoleMessageImpl.prototype._formatMessage):
        * UserInterface/Views/Section.js:
        (WebInspector.Section.prototype.get subtitleAsTextForTest): Deleted.

2015-03-27  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Uncaught Exception: TypeError: Attempted to assign to readonly - DOMNodeDetailsSidebarPanel.js
        https://bugs.webkit.org/show_bug.cgi?id=143139

        Reviewed by Timothy Hatcher.

        DataGridNodes do not have a selectable setter. TreeElements do.
        DataGridNodes are always selectable. Match current behavior by
        removing all instances of attempting to set the selectability
        which would, under strict mode, result in an error.

        * UserInterface/Views/ApplicationCacheFrameContentView.js:
        (WebInspector.ApplicationCacheFrameContentView.prototype._populateDataGrid):
        * UserInterface/Views/CookieStorageContentView.js:
        (WebInspector.CookieStorageContentView.prototype._rebuildTable):
        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
        (WebInspector.DOMNodeDetailsSidebarPanel.prototype._createAttributesDataGrid):
        (WebInspector.DOMNodeDetailsSidebarPanel):
        * UserInterface/Views/DOMStorageContentView.js:
        (WebInspector.DOMStorageContentView.prototype.reset):
        * UserInterface/Views/DataGrid.js:

2015-03-26  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Convert more misc View classes to ES6
        https://bugs.webkit.org/show_bug.cgi?id=143128

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/CompletionSuggestionsView.js:
        * UserInterface/Views/ComputedStyleDetailsPanel.js:
        * UserInterface/Views/DashboardContainerView.js:
        * UserInterface/Views/DashboardView.js:
        * UserInterface/Views/DebuggerDashboardView.js:
        * UserInterface/Views/DefaultDashboardView.js:
        * UserInterface/Views/FilterBarButton.js:
        * UserInterface/Views/MetricsStyleDetailsPanel.js:
        * UserInterface/Views/ObjectPreviewView.js:
        * UserInterface/Views/ObjectTreeView.js:
        * UserInterface/Views/QuickConsole.js:
        * UserInterface/Views/ReplayDashboardView.js:
        * UserInterface/Views/RulesStyleDetailsPanel.js:
        * UserInterface/Views/StyleDetailsPanel.js:
        Converted to ES6 classes.

2015-03-26  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Convert TextEditor classes to ES6
        https://bugs.webkit.org/show_bug.cgi?id=143127

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        Removed a comment about const, we can't use it in strict mode / classes.

        * UserInterface/Views/SourceCodeTextEditor.js:
        * UserInterface/Views/TextEditor.js:
        Converted to ES6 classes.

2015-03-26  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: clicking on console record while REPL is focused does not select a new record
        https://bugs.webkit.org/show_bug.cgi?id=142171

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/LogContentView.js:
        (WebInspector.LogContentView.prototype._mousedown):

2015-03-26  Andres Gomez  <agomez@igalia.com>

        [GTK] Web Inspector: New Images for Console Types
        https://bugs.webkit.org/show_bug.cgi?id=142301

        Reviewed by Joseph Pecoraro.

        Add more free icons and for the Web Inspector in GTK+.

        * UserInterface/Images/gtk/Eye.svg: Added.
        * UserInterface/Images/gtk/Frames.png: Added.
        * UserInterface/Images/gtk/Frames@2x.png: Added.
        * UserInterface/Images/gtk/FramesLarge.png: Added.
        * UserInterface/Images/gtk/FramesLarge@2x.png: Added.
        * UserInterface/Images/gtk/Reload.svg:
        * UserInterface/Images/gtk/ReloadFull.svg: Added.
        * UserInterface/Images/gtk/TypeBoolean.svg: Added.
        * UserInterface/Images/gtk/TypeNull.svg: Added.
        * UserInterface/Images/gtk/TypeNumber.svg: Added.
        * UserInterface/Images/gtk/TypeObject.svg: Added.
        * UserInterface/Images/gtk/TypeRegex.svg: Added.
        * UserInterface/Images/gtk/TypeString.svg: Added.
        * UserInterface/Images/gtk/TypeSymbol.svg: Added.
        * UserInterface/Images/gtk/TypeUndefined.svg: Added.

2015-03-26  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: ES6: Provide a better view for Classes in the console
        https://bugs.webkit.org/show_bug.cgi?id=142999

        Reviewed by Timothy Hatcher.

        * UserInterface/Protocol/RemoteObject.js:
        (WebInspector.RemoteObject):
        (WebInspector.RemoteObject.fromPrimitiveValue):
        (WebInspector.RemoteObject.fromPayload):
        (WebInspector.RemoteObject.prototype.get classPrototype):
        (WebInspector.RemoteObject.prototype.isClass):
        Update our RemoteObject model object for the new subtype
        and its unique properties.

        * UserInterface/Views/FormattedValue.js:
        (WebInspector.FormattedValue.createElementForTypesAndValue):
        (WebInspector.FormattedValue.createObjectTreeOrFormattedValueForRemoteObject):
        Better handle "class", as it is a new function subtype.

        * UserInterface/Views/LegacyConsoleMessageImpl.js:
        (WebInspector.LegacyConsoleMessageImpl):
        (WebInspector.LegacyConsoleMessageImpl.prototype._formatParameterAsObject):
        Format a "class" with ObjectTreeView.

        * UserInterface/Views/ObjectTreeArrayIndexTreeElement.js:
        * UserInterface/Views/ObjectTreeBaseTreeElement.js:
        * UserInterface/Views/ObjectTreePropertyTreeElement.css:
        (.object-tree-property .getter.disabled):
        (.object-tree-property .getter:not(.disabled):hover):
        (.object-tree-property .getter:hover): Deleted.
        * UserInterface/Views/ObjectTreePropertyTreeElement.js:
        In ClassAPI mode, you cannot invoke a getter since we don't have
        an instance to invoke it on. So disable interactivity with getters.

        * UserInterface/Views/ObjectTreeView.js:
        (WebInspector.ObjectTreeView):
        Update the modes to include an API mode for instances and classes.

        (WebInspector.ObjectTreeView.defaultModeForObject):
        * UserInterface/Views/SourceCodeTextEditor.js:
        (WebInspector.SourceCodeTextEditor.prototype._showPopoverForObject):
        Simplify ObjectTree construction to automatically determine mode based
        on the RemoteObject that was provided.

        * Localizations/en.lproj/localizedStrings.js:
        "Getter" tooltip.

2015-03-26  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Convert TreeElement classes to ES6
        https://bugs.webkit.org/show_bug.cgi?id=143111

        Reviewed by Joseph Pecoraro.

        * UserInterface/Views/ApplicationCacheFrameTreeElement.js:
        * UserInterface/Views/ApplicationCacheManifestTreeElement.js:
        * UserInterface/Views/BreakpointTreeElement.js:
        * UserInterface/Views/CallFrameTreeElement.js:
        * UserInterface/Views/ContentFlowTreeElement.js:
        * UserInterface/Views/CookieStorageTreeElement.js:
        * UserInterface/Views/DOMStorageTreeElement.js:
        * UserInterface/Views/DOMTreeElement.js:
        * UserInterface/Views/DOMTreeOutline.js:
        * UserInterface/Views/DatabaseHostTreeElement.js:
        * UserInterface/Views/DatabaseTableTreeElement.js:
        * UserInterface/Views/DatabaseTreeElement.js:
        * UserInterface/Views/FolderTreeElement.js:
        * UserInterface/Views/FolderizedTreeElement.js:
        * UserInterface/Views/FrameTreeElement.js:
        * UserInterface/Views/GeneralTreeElement.js:
        * UserInterface/Views/IndexedDatabaseHostTreeElement.js:
        * UserInterface/Views/IndexedDatabaseObjectStoreIndexTreeElement.js:
        * UserInterface/Views/IndexedDatabaseObjectStoreTreeElement.js:
        * UserInterface/Views/IndexedDatabaseTreeElement.js:
        * UserInterface/Views/LegacyConsoleMessageImpl.js:
        * UserInterface/Views/LogTreeElement.js:
        * UserInterface/Views/NavigationSidebarPanel.js:
        * UserInterface/Views/ObjectTreeArrayIndexTreeElement.js:
        * UserInterface/Views/ObjectTreeBaseTreeElement.js:
        * UserInterface/Views/ObjectTreeMapEntryTreeElement.js:
        * UserInterface/Views/ObjectTreePropertyTreeElement.js:
        * UserInterface/Views/ObjectTreeSetIndexTreeElement.js:
        * UserInterface/Views/ObjectTreeView.js:
        * UserInterface/Views/ProfileNodeTreeElement.js:
        * UserInterface/Views/PropertiesSection.js:
        * UserInterface/Views/ResourceTreeElement.js:
        * UserInterface/Views/ScriptTreeElement.js:
        * UserInterface/Views/SearchResultTreeElement.js:
        * UserInterface/Views/SourceCodeTimelineTreeElement.js:
        * UserInterface/Views/SourceCodeTreeElement.js:
        * UserInterface/Views/SourceMapResourceTreeElement.js:
        * UserInterface/Views/StorageTreeElement.js:
        * UserInterface/Views/TimelineDataGrid.js:
        * UserInterface/Views/TimelineRecordTreeElement.js:
        * UserInterface/Views/TreeElementStatusButton.js:
        * UserInterface/Views/TreeOutline.js:
        * UserInterface/Views/TreeOutlineDataGridSynchronizer.js:
        * UserInterface/Views/TypePropertiesSection.js:
        Converted to ES6 classes where possible.

2015-03-26  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Convert sidebar classes to ES6
        https://bugs.webkit.org/show_bug.cgi?id=143108

        Reviewed by Joseph Pecoraro.

        * UserInterface/Models/KeyboardShortcut.js:
        (WebInspector.KeyboardShortcut._handleKeyDown): Continue if callback is null.
        (WebInspector.KeyboardShortcut.prototype.set callback): Added.

        * UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js:
        * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
        * UserInterface/Views/DOMDetailsSidebarPanel.js:
        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
        * UserInterface/Views/DebuggerSidebarPanel.js:
        * UserInterface/Views/DetailsSidebarPanel.js:
        * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
        * UserInterface/Views/NavigationSidebarPanel.js:
        * UserInterface/Views/ProbeDetailsSidebarPanel.js:
        * UserInterface/Views/ResourceDetailsSidebarPanel.js:
        * UserInterface/Views/ResourceSidebarPanel.js:
        * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
        * UserInterface/Views/Sidebar.js:
        * UserInterface/Views/SidebarPanel.js:
        * UserInterface/Views/TimelineSidebarPanel.js:
        Converted to ES6 classes.

2015-03-26  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Convert some View classes to ES6 classes
        https://bugs.webkit.org/show_bug.cgi?id=143107

        Reviewed by Joseph Pecoraro.

        * UserInterface/Protocol/InspectorBackend.js:
        * UserInterface/Protocol/InspectorFrontendAPI.js:
        (InspectorFrontendAPI.contextMenuItemSelected): Updated to the right function path.
        * UserInterface/Views/BoxModelDetailsSectionRow.js:
        * UserInterface/Views/BreakpointActionView.js:
        * UserInterface/Views/CodeMirrorAdditions.js:
        * UserInterface/Views/ColorPicker.js:
        * UserInterface/Views/ColorWheel.js:
        * UserInterface/Views/ContextMenu.js:
        * UserInterface/Views/DOMTreeElementPathComponent.js:
        * UserInterface/Views/DetailsSection.js:
        * UserInterface/Views/DetailsSectionDataGridRow.js:
        * UserInterface/Views/DetailsSectionGroup.js:
        * UserInterface/Views/DetailsSectionPropertiesRow.js:
        * UserInterface/Views/DetailsSectionRow.js:
        * UserInterface/Views/DetailsSectionSimpleRow.js:
        * UserInterface/Views/DetailsSectionTextRow.js:
        * UserInterface/Views/EditingSupport.js:
        * UserInterface/Views/EventListenerSection.js:
        * UserInterface/Views/EventListenerSectionGroup.js:
        * UserInterface/Views/FilterBar.js:
        * UserInterface/Views/FindBanner.js:
        * UserInterface/Views/GeneralTreeElementPathComponent.js:
        * UserInterface/Views/GoToLineDialog.js:
        * UserInterface/Views/GradientSlider.js:
        * UserInterface/Views/HierarchicalPathComponent.js:
        * UserInterface/Views/HierarchicalPathNavigationItem.js:
        * UserInterface/Views/HoverMenu.js:
        * UserInterface/Views/Popover.js:
        * UserInterface/Views/ProbeSetDetailsSection.js:
        * UserInterface/Views/ResourceTimelineDataGridNodePathComponent.js:
        * UserInterface/Views/SearchBar.js:
        * UserInterface/Views/Slider.js:
        Converted to ES6 classes.

2015-03-26  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Convert Base and Protocol files to ES6 classes
        https://bugs.webkit.org/show_bug.cgi?id=143106

        Reviewed by Joseph Pecoraro.

        * UserInterface/Base/EventListener.js:
        * UserInterface/Base/EventListenerSet.js:
        * UserInterface/Protocol/ApplicationCacheObserver.js:
        * UserInterface/Protocol/CSSObserver.js:
        * UserInterface/Protocol/ConsoleObserver.js:
        * UserInterface/Protocol/DOMObserver.js:
        * UserInterface/Protocol/DOMStorageObserver.js:
        * UserInterface/Protocol/DatabaseObserver.js:
        * UserInterface/Protocol/DebuggerObserver.js:
        * UserInterface/Protocol/InspectorBackend.js:
        * UserInterface/Protocol/InspectorObserver.js:
        * UserInterface/Protocol/LayerTreeObserver.js:
        * UserInterface/Protocol/MessageDispatcher.js:
        * UserInterface/Protocol/NetworkObserver.js:
        * UserInterface/Protocol/PageObserver.js:
        * UserInterface/Protocol/RemoteObject.js:
        * UserInterface/Protocol/ReplayObserver.js:
        * UserInterface/Protocol/RuntimeObserver.js:
        * UserInterface/Protocol/TimelineObserver.js:
        Converted to ES6 classes where possible.

2015-03-25  Tobias Reiss  <tobi+webkit@basecode.de>

        Web Inspector: Add ESLint "Disallow Undeclared Variables" rule and enable ES6 env
        https://bugs.webkit.org/show_bug.cgi?id=143062

        Reviewed by Joseph Pecoraro.

        ESLint: Add support for es6 environment and "no-undef" rule which disallows
        use of undeclared variables unless mentioned in a /*global */ block.

        * .eslintrc:

2015-03-25  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: console.table with source code location look poor
        https://bugs.webkit.org/show_bug.cgi?id=142068

        Reviewed by Timothy Hatcher.

        * UserInterface/Views/LegacyConsoleMessageImpl.js:
        (WebInspector.LegacyConsoleMessageImpl.prototype._formatParameterAsTable):
        Remove dataGridContainer as it is an unnecessary span element.
        * UserInterface/Views/LogContentView.css:
        (.console-messages .data-grid):

2015-03-24  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: IndexedDB / Databases ContentViews should have refresh button
        https://bugs.webkit.org/show_bug.cgi?id=142996

        Reviewed by Timothy Hatcher.

        * Localizations/en.lproj/localizedStrings.js:
        Remove unused strings.

        * UserInterface/Images/ReloadFull.svg: Added.
        This is the same as Reload.svg but adjusted to fill the viewbox edge to edge.
        The only change is to the viewbox.

        * UserInterface/Protocol/RemoteObject.js:
        (WebInspector.RemoteObject.prototype.release):
        Some clients would call release not knowing if this was an object or not.
        Act gracefully in the case that this was not an object that needs a
        remote release.

        * UserInterface/Views/DatabaseTableContentView.js:
        (WebInspector.DatabaseTableContentView):
        (WebInspector.DatabaseTableContentView.prototype.get navigationItems):
        (WebInspector.DatabaseTableContentView.prototype._queryError):
        (WebInspector.DatabaseTableContentView.prototype._refreshButtonClicked):
        * UserInterface/Views/IndexedDatabaseObjectStoreContentView.js:
        (WebInspector.IndexedDatabaseObjectStoreContentView):
        (WebInspector.IndexedDatabaseObjectStoreContentView.prototype.get navigationItems):
        (WebInspector.IndexedDatabaseObjectStoreContentView.prototype._fetchMoreData):
        (WebInspector.IndexedDatabaseObjectStoreContentView.prototype._refreshButtonClicked):
        Give the storage content views a refresh button to reload the content.

2015-03-24  Joseph Pecoraro  <pecoraro@apple.com>

        Setter should have a single formal parameter, Getter no parameters
        https://bugs.webkit.org/show_bug.cgi?id=142903

        Reviewed by Geoffrey Garen.

        * UserInterface/Views/GradientSlider.js:
        (WebInspector.GradientSliderKnob.prototype.get wellColor):
        Fix a getter that was incorrectly taking a parameter.

2015-03-24  Tobias Reiss  <tobi+webkit@basecode.de>

        Web Inspector: REGRESSION (r179286): ReferenceError: Can't find variable: selector
        https://bugs.webkit.org/show_bug.cgi?id=143022

        Reviewed by Timothy Hatcher.

        Fix a regression where a missing variable statement causes a ReferenceError.

        * UserInterface/Models/DOMNodeStyles.js:

2015-03-24  Tobias Reiss  <tobi+webkit@basecode.de>

        Web Inspector: Adopt ES6 Class Syntax for CSSStyleDeclarationTextEditor
        https://bugs.webkit.org/show_bug.cgi?id=143019

        Reviewed by Timothy Hatcher.

        - Convert CSSStyleDeclarationTextEditor to use class syntax
        - Convert constructor functions to constructor methods
        - Convert "constructor.method" to class static methods where possible
        - Convert all methods to method syntax, eliminate commas between methods
        - Convert all superclass calls in classes to use "super"
        - Removed FIXME from WebInspector.Object subclasses, added calls to super.
        - Fixed strict mode issues now that classes enforce strict mode (see below).

        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
        Many function declarations modified.

2015-03-24  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Workaround issue causing uncaught exception in Inspector
        https://bugs.webkit.org/show_bug.cgi?id=143015

        Reviewed by Timothy Hatcher.

        Workaround <https://webkit.org/b/143012> and avoid early returning in constructors.

        * UserInterface/Controllers/ReplayManager.js:
        (WebInspector.ReplayManager.class.ReplayManager):

2015-03-06  Brian J. Burg  <burg@cs.washington.edu>

        Web Inspector: unify resizer implementations used by DataGrid and Sidebar
        https://bugs.webkit.org/show_bug.cgi?id=142407

        Reviewed by Timothy Hatcher.

        Both of these implementations do the same thing slightly differently. Unify the code
        and use the "glass pane" technique to preserve cursor while dragging over links or text.

        This patch implements vertical and horizontal rule orientations. Further refactorings
        to use this class may need to add "Indeterminate" orientation to support moving the inspector
        window by its fake toolbar element.

        * UserInterface/Main.html:
        * UserInterface/Views/DataGrid.css:
        (.data-grid .resizer):
        (.data-grid-resizer): Deleted.
        * UserInterface/Views/DataGrid.js: Store Resizer instances rather than resizer elements.
        Use symbols to secretly store neighbor column ids on the resizer objects. Stop using
        WebInspector.elementDragStart, as I would like to deprecate it in favor of Resizer instances.

        (WebInspector.DataGrid):
        (WebInspector.DataGrid.prototype._positionResizerElements):
        (WebInspector.DataGrid.prototype.resizerDragStarted):
        (WebInspector.DataGrid.prototype.resizerDragging):
        (WebInspector.DataGrid.prototype.resizerDragEnded):
        (WebInspector.DataGrid.prototype._startResizerDragging): Deleted.
        (WebInspector.DataGrid.prototype._resizerDragging): Deleted.
        (WebInspector.DataGrid.prototype._endResizerDragging): Deleted.
        * UserInterface/Views/Resizer.css:
        (.resizer):
        (.resizer.vertical-rule):
        (.resizer.horizontal-rule):
        (.glass-pane-for-drag):
        * UserInterface/Views/Resizer.js: Added.
        (WebInspector.Resizer):
        (WebInspector.Resizer.prototype.get element):
        (WebInspector.Resizer.prototype.get orientation):
        (WebInspector.Resizer.prototype.get initialPosition):
        (WebInspector.Resizer.prototype._currentPosition):
        (WebInspector.Resizer.prototype._resizerMouseDown):
        (WebInspector.Resizer.prototype._resizerMouseMoved):
        (WebInspector.Resizer.prototype._resizerMouseUp):
        * UserInterface/Views/Sidebar.css:
        (.sidebar > .resizer): Deleted.
        * UserInterface/Views/Sidebar.js:
        (WebInspector.Sidebar):
        (WebInspector.Sidebar.prototype.resizerDragStarted):
        (WebInspector.Sidebar.prototype.resizerDragging):
        (WebInspector.Sidebar.prototype.resizerDragEnded):
        (WebInspector.Sidebar.prototype._navigationItemSelected):
        (WebInspector.Sidebar.prototype._resizerMouseDown): Deleted.
        (WebInspector.Sidebar.prototype._resizerMouseMoved): Deleted.
        (WebInspector.Sidebar.prototype._resizerMouseUp): Deleted.

2015-03-17  Jono Wells  <jonowells@apple.com>

        Web Inspector: Debugger sidebar should have a filter button for breakpoints
        https://bugs.webkit.org/show_bug.cgi?id=142779

        Reviewed by Timothy Hatcher.

        Add the infrastructure for activation filter buttons that can appear next to the text filters at the bottom
        of any navigation sidebar panel. These filter bar buttons have defined within them a function that returns
        a boolean value that indicates whether the input, typically a tree element, should be filtered or not.

        This infrastructure is then used to create a filter for the debugger sidebar that, when applied, only shows
        scripts that have breakpoints set on them.

        * Localizations/en.lproj/localizedStrings.js: Updated.
        * UserInterface/Main.html: Files added.

        * UserInterface/Views/DebuggerSidebarPanel.js:
        (WebInspector.DebuggerSidebarPanel.showResourcesWithChildrenOnlyFilterFunction):
        (WebInspector.DebuggerSidebarPanel):
        (WebInspector.DebuggerSidebarPanel.prototype._addBreakpoint): Drive-by fix.
        Add filter button to filter bar.

        * UserInterface/Views/FilterBar.css:
        (.filter-bar > .navigation-bar > .item):
        Style filter button.

        * UserInterface/Views/FilterBar.js:
        (WebInspector.FilterBar):
        (WebInspector.FilterBar.prototype.get filters):
        (WebInspector.FilterBar.prototype.set filters):
        (WebInspector.FilterBar.prototype.hasActiveFilters):
        (WebInspector.FilterBar.prototype._handleFilterChanged):
        (WebInspector.FilterBar.prototype._inputFieldChanged): Deleted.
        Create space for filter bar buttons and set up event handlers to