1. 21 Jan, 2014 30 commits
    • timothy@apple.com's avatar
      Filter the Timeline overview graph and sidebar based on the current time selection. · 16627bc9
      timothy@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=126955
      
      Reviewed by Joseph Pecoraro.
      
      * UserInterface/NavigationSidebarPanel.js:
      (WebInspector.NavigationSidebarPanel.prototype.updateFilter):
      (WebInspector.NavigationSidebarPanel.prototype.hasCustomFilters):
      (WebInspector.NavigationSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
      (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.matchTextFilter):
      (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement):
      Add support for custom filters implemented by subclasses.
      
      * UserInterface/TimelineContentView.js:
      (WebInspector.TimelineContentView.prototype.matchTreeElementAgainstCustomFilters.checkTimeBounds):
      (WebInspector.TimelineContentView.prototype.matchTreeElementAgainstCustomFilters):
      (WebInspector.TimelineContentView.prototype._timeRangeSelectionChanged):
      Filter known tree element types by time.
      
      * UserInterface/TimelineSidebarPanel.css:
      (.sidebar > .panel.timeline > .empty-content-placeholder):
      Position the empty placeholder with the content.
      
      * UserInterface/TimelineSidebarPanel.js:
      (WebInspector.TimelineSidebarPanel.prototype.hasCustomFilters):
      (WebInspector.TimelineSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
      Defer filtering to the TimelineContentView.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162414 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      16627bc9
    • timothy@apple.com's avatar
      Implement state cookie support for WebInspector.TimelineSidebarPanel. · 2333b3e0
      timothy@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=126921
      
      Reviewed by Joseph Pecoraro.
      
      * UserInterface/DebuggerSidebarPanel.js:
      (WebInspector.DebuggerSidebarPanel.prototype.restoreStateFromCookie):
      Drive-by fix to pass along relaxedMatchDelay to the superclass.
      
      * UserInterface/Main.js:
      (WebInspector.loaded):
      (WebInspector._provisionalLoadStarted):
      Listen for ProvisionalLoadStarted instead of ProvisionalLoadCommitted to save the cookie
      before the TimelineRecording is reset and clears the UI.
      
      * UserInterface/NavigationSidebarPanel.js:
      (WebInspector.NavigationSidebarPanel.prototype.get restoringState): Added.
      (WebInspector.NavigationSidebarPanel.prototype.restoreStateFromCookie.finalAttemptToRestoreViewStateFromCookie):
      Delete _pendingViewStateCookie since this was the final attempt.
      (WebInspector.NavigationSidebarPanel.prototype.restoreStateFromCookie):
      (WebInspector.NavigationSidebarPanel.prototype._isTreeElementWithoutRepresentedObject): Block string represented objects.
      (WebInspector.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie):
      
      * UserInterface/OverviewTimelineView.js:
      (WebInspector.OverviewTimelineView.prototype._treeElementSelected):
      
      * UserInterface/ResourceSidebarPanel.js:
      (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject):
      Drive-by fix to null check parentFrame since it can be null. Was causing an exception while working on this.
      
      * UserInterface/SourceCodeTimeline.js:
      (WebInspector.SourceCodeTimeline):
      (WebInspector.SourceCodeTimeline.prototype.saveIdentityToCookie):
      
      * UserInterface/TimelineSidebarPanel.js:
      (WebInspector.TimelineSidebarPanel.prototype.canShowDifferentContentView):
      (WebInspector.TimelineSidebarPanel.prototype.saveStateToCookie):
      (WebInspector.TimelineSidebarPanel.prototype.restoreStateFromCookie):
      
      * UserInterface/TreeOutline.js:
      (TreeOutline.prototype._forgetTreeElement):
      Drive-by fix to clear selectedTreeElement if it is removed from the tree. Was causing removed TreeElements to be
      saved as a cookie since it was still the selected item.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162413 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2333b3e0
    • timothy@apple.com's avatar
      Implement bar graph rendering for WebInspector.OverviewTimelineView. · bf02b452
      timothy@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=126831
      
      Reviewed by Joseph Pecoraro.
      
      * UserInterface/Main.html: Added new files.
      
      * UserInterface/OverviewTimelineView.css:
      (.timeline-view.overview > .data-grid td.graph-column):
      (.timeline-view.overview > .data-grid td.graph-column > div):
      (.timeline-view.overview > .data-grid td.graph-column .timeline-record-bar):
      Position the bars in the DataGrid cells.
      
      * UserInterface/OverviewTimelineView.js:
      (WebInspector.OverviewTimelineView.prototype.updateLayout):
      (WebInspector.OverviewTimelineView.prototype._addResourceToTreeIfNeeded):
      (WebInspector.OverviewTimelineView.prototype._sourceCodeTimelineAdded):
      Create the proper DataGridNodes for resources and source code timelines.
      
      * UserInterface/ResourceTimelineDataGridNode.js:
      (WebInspector.ResourceTimelineDataGridNode):
      (WebInspector.ResourceTimelineDataGridNode.prototype.get records):
      (WebInspector.ResourceTimelineDataGridNode.prototype.get resource):
      (WebInspector.ResourceTimelineDataGridNode.prototype.get data):
      (WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent):
      (WebInspector.ResourceTimelineDataGridNode.prototype.refresh):
      (WebInspector.ResourceTimelineDataGridNode.prototype._needsRefresh):
      (WebInspector.ResourceTimelineDataGridNode.prototype._goToResource):
      Simplify by deferring the graph logic to the new TimelineDataGridNode base class.
      
      * UserInterface/SourceCodeTimelineTimelineDataGridNode.js: Added.
      (WebInspector.SourceCodeTimelineTimelineDataGridNode):
      (WebInspector.SourceCodeTimelineTimelineDataGridNode.prototype.get records):
      (WebInspector.SourceCodeTimelineTimelineDataGridNode.prototype.get sourceCodeTimeline):
      (WebInspector.SourceCodeTimelineTimelineDataGridNode.prototype.get data):
      
      * UserInterface/TimelineDataGridNode.js: Added.
      (WebInspector.TimelineDataGridNode):
      (WebInspector.TimelineDataGridNode.prototype.get records):
      (WebInspector.TimelineDataGridNode.prototype.get data):
      (WebInspector.TimelineDataGridNode.prototype.createCellContent):
      (WebInspector.TimelineDataGridNode.prototype.refresh):
      (WebInspector.TimelineDataGridNode.prototype.refreshGraph):
      (WebInspector.TimelineDataGridNode.prototype.needsGraphRefresh):
      Handles the graph column and manages the records and their bars.
      
      * UserInterface/TimelineRecordBar.css: Added.
      (.timeline-record-bar):
      (.timeline-record-bar > .segment):
      (.timeline-record-bar:not(.has-inactive-segment) > .segment):
      (.timeline-record-bar.unfinished > .segment):
      (.timeline-record-bar > .segment.inactive + .segment):
      (:focus .selected .timeline-record-bar > .segment):
      (.timeline-record-bar > .segment.inactive):
      (.timeline-record-bar.timeline-record-type-network > .segment):
      (.timeline-record-bar.timeline-record-type-layout > .segment):
      (.timeline-record-bar.timeline-record-type-script > .segment):
      
      * UserInterface/TimelineRecordBar.js: Added.
      (WebInspector.TimelineRecordBar):
      (WebInspector.TimelineRecordBar.prototype.get element):
      (WebInspector.TimelineRecordBar.prototype.refresh):
      (WebInspector.TimelineRecordBar.prototype._updateElementPosition):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162412 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bf02b452
    • timothy@apple.com's avatar
      Update the current WebInspector.TimelineView when time range changes. · c016e5fd
      timothy@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=126667
      
      Reviewed by Joseph Pecoraro.
      
      * UserInterface/TimelineContentView.js:
      (WebInspector.TimelineContentView.prototype._showTimelineView):
      (WebInspector.TimelineContentView.prototype._update):
      (WebInspector.TimelineContentView.prototype._startUpdatingCurrentTime):
      (WebInspector.TimelineContentView.prototype._stopUpdatingCurrentTime):
      (WebInspector.TimelineContentView.prototype._recordingStarted):
      (WebInspector.TimelineContentView.prototype._recordingStopped):
      (WebInspector.TimelineContentView.prototype._recordingReset):
      (WebInspector.TimelineContentView.prototype._timeRangeSelectionChanged):
      * UserInterface/TimelineOverview.js:
      (WebInspector.TimelineOverview):
      (WebInspector.TimelineOverview.prototype.updateLayout):
      (WebInspector.TimelineOverview.prototype.updateLayoutIfNeeded):
      (WebInspector.TimelineOverview.prototype._updateElementWidth):
      (WebInspector.TimelineOverview.prototype._handleWheelEvent):
      (WebInspector.TimelineOverview.prototype._timeRangeSelectionChanged):
      * UserInterface/TimelineRuler.js:
      (WebInspector.TimelineRuler.prototype.updateLayoutIfNeeded):
      * UserInterface/TimelineView.js:
      (WebInspector.TimelineView):
      (WebInspector.TimelineView.prototype.get zeroTime):
      (WebInspector.TimelineView.prototype.set zeroTime):
      (WebInspector.TimelineView.prototype.get startTime):
      (WebInspector.TimelineView.prototype.set startTime):
      (WebInspector.TimelineView.prototype.get endTime):
      (WebInspector.TimelineView.prototype.set endTime):
      (WebInspector.TimelineView.prototype.get currentTime):
      (WebInspector.TimelineView.prototype.set currentTime.checkIfLayoutIsNeeded):
      (WebInspector.TimelineView.prototype.set currentTime):
      (WebInspector.TimelineView.prototype.updateLayout):
      (WebInspector.TimelineView.prototype.updateLayoutIfNeeded):
      (WebInspector.TimelineView.prototype.needsLayout):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162411 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c016e5fd
    • timothy@apple.com's avatar
      Implement time range selection for TimelineOverview and TimelineRuler. · ff048e0d
      timothy@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=126035
      
      Reviewed by Joseph Pecoraro.
      
      * UserInterface/TimelineContentView.js:
      (WebInspector.TimelineContentView.prototype._update):
      (WebInspector.TimelineContentView.prototype._recordingReset):
      Properly update start time and the selection start time on reset.
      
      * UserInterface/TimelineOverview.js:
      (WebInspector.TimelineOverview):
      (WebInspector.TimelineOverview.prototype.get selectionStartTime):
      (WebInspector.TimelineOverview.prototype.set selectionStartTime):
      (WebInspector.TimelineOverview.prototype.get selectionDuration):
      (WebInspector.TimelineOverview.prototype.set selectionDuration):
      Added selection getters and setters.
      
      * UserInterface/TimelineRuler.css:
      (.timeline-ruler.allows-time-range-selection):
      (.timeline-ruler > *):
      (.timeline-ruler > .header):
      (.timeline-ruler > .selection-drag):
      (.timeline-ruler > .selection-drag:active):
      (.timeline-ruler > .selection-handle):
      (.timeline-ruler > .selection-handle.left):
      (.timeline-ruler > .selection-handle.right):
      (.timeline-ruler > .shaded-area):
      (.timeline-ruler > .shaded-area.left):
      (.timeline-ruler > .shaded-area.right):
      Added styles for the selection elements and tweaked pointer-events to allow
      events on elements we expect.
      
      * UserInterface/TimelineRuler.js:
      (WebInspector.TimelineRuler):
      (WebInspector.TimelineRuler.prototype.get allowsTimeRangeSelection): Added.
      (WebInspector.TimelineRuler.prototype.set allowsTimeRangeSelection): Added.
      (WebInspector.TimelineRuler.prototype.get selectionStartTime): Added.
      (WebInspector.TimelineRuler.prototype.set selectionStartTime): Added.
      (WebInspector.TimelineRuler.prototype.get selectionEndTime): Added.
      (WebInspector.TimelineRuler.prototype.set selectionEndTime): Added.
      (WebInspector.TimelineRuler.prototype.updateLayout):
      (WebInspector.TimelineRuler.prototype._needsMarkerLayout.update):
      (WebInspector.TimelineRuler.prototype._needsMarkerLayout):
      (WebInspector.TimelineRuler.prototype._needsSelectionLayout.update):
      (WebInspector.TimelineRuler.prototype._needsSelectionLayout):
      (WebInspector.TimelineRuler.prototype._recalculate):
      (WebInspector.TimelineRuler.prototype._updatePositionOfElement):
      (WebInspector.TimelineRuler.prototype._updateMarkers):
      (WebInspector.TimelineRuler.prototype._updateSelection): Added.
      (WebInspector.TimelineRuler.prototype._dispatchTimeRangeSelectionChangedEvent):
      (WebInspector.TimelineRuler.prototype._timelineMarkerTimeChanged):
      (WebInspector.TimelineRuler.prototype._handleMouseDown): Added.
      (WebInspector.TimelineRuler.prototype._handleMouseMove): Added.
      (WebInspector.TimelineRuler.prototype._handleMouseUp): Added.
      (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseDown): Added.
      (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseMove): Added.
      (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseUp): Added.
      Create selection elements and handle mouse events for drag and move.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162410 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ff048e0d
    • timothy@apple.com's avatar
      Support scroll to zoom in TimelineOverview. · ca968a0c
      timothy@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=125909
      
      Reviewed by Joseph Pecoraro.
      
      * UserInterface/TimelineOverview.js:
      (WebInspector.TimelineOverview):
      (WebInspector.TimelineOverview.prototype._handleWheelEvent):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162409 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ca968a0c
    • timothy@apple.com's avatar
      Add the start of the TimelineOverview class. · ce535673
      timothy@apple.com authored
      TimelineOverview currently has a time ruler and tracks the current recording time.
      
      https://bugs.webkit.org/show_bug.cgi?id=125878
      
      Reviewed by Joseph Pecoraro.
      
      * UserInterface/Main.html:
      * UserInterface/TimelineContentView.css:
      (.content-view.timeline > .timeline-overview):
      * UserInterface/TimelineContentView.js:
      (WebInspector.TimelineContentView):
      (WebInspector.TimelineContentView.prototype.updateLayout):
      (WebInspector.TimelineContentView.prototype._update):
      (WebInspector.TimelineContentView.prototype._recordingStarted):
      (WebInspector.TimelineContentView.prototype._recordingStopped):
      (WebInspector.TimelineContentView.prototype._recordingReset):
      * UserInterface/TimelineManager.js:
      (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
      (WebInspector.TimelineManager.prototype.eventRecorded):
      * UserInterface/TimelineMarker.js: Renamed from Source/WebInspectorUI/UserInterface/TimelineEventMarker.js.
      (WebInspector.TimelineMarker):
      (WebInspector.TimelineMarker.prototype.get time):
      (WebInspector.TimelineMarker.prototype.set time):
      (WebInspector.TimelineMarker.prototype.get type):
      * UserInterface/TimelineOverview.css: Added.
      (.timeline-overview > .scroll-container):
      (.timeline-overview > .scroll-container > .timeline-ruler):
      * UserInterface/TimelineOverview.js: Added.
      (WebInspector.TimelineOverview):
      (WebInspector.TimelineOverview.prototype.get element):
      (WebInspector.TimelineOverview.prototype.get startTime):
      (WebInspector.TimelineOverview.prototype.set startTime):
      (WebInspector.TimelineOverview.prototype.get secondsPerPixel):
      (WebInspector.TimelineOverview.prototype.set secondsPerPixel):
      (WebInspector.TimelineOverview.prototype.get endTime):
      (WebInspector.TimelineOverview.prototype.set endTime):
      (WebInspector.TimelineOverview.prototype.addMarker):
      (WebInspector.TimelineOverview.prototype.revealMarker):
      (WebInspector.TimelineOverview.prototype.updateLayout):
      (WebInspector.TimelineOverview.prototype._updateElementWidth):
      (WebInspector.TimelineOverview.prototype._needsLayout):
      * UserInterface/TimelineRecording.js:
      (WebInspector.TimelineRecording.prototype.get startTime):
      (WebInspector.TimelineRecording.prototype.get endTime):
      (WebInspector.TimelineRecording.prototype.reset):
      * UserInterface/TimelineRuler.css:
      (.timeline-ruler > .markers):
      (.timeline-ruler > .markers > .marker):
      (.timeline-ruler > .markers > .marker.current-time):
      (.timeline-ruler > .markers > .marker.current-time::before):
      (.timeline-ruler > .markers > .marker.load-event):
      (.timeline-ruler > .markers > .marker.dom-content-event):
      (.timeline-ruler > .markers > .marker.timestamp):
      * UserInterface/TimelineRuler.js:
      (WebInspector.TimelineRuler):
      (WebInspector.TimelineRuler.prototype.updateLayout):
      (WebInspector.TimelineRuler.prototype._needsLayout):
      (WebInspector.TimelineRuler.prototype._needsMarkerLayout.update):
      (WebInspector.TimelineRuler.prototype._needsMarkerLayout):
      (WebInspector.TimelineRuler.prototype._recalculate):
      (WebInspector.TimelineRuler.prototype._updateLeftPositionOfElement):
      (WebInspector.TimelineRuler.prototype._updateMarkers):
      (WebInspector.TimelineRuler.prototype._timelineMarkerTimeChanged):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162408 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ce535673
    • timothy@apple.com's avatar
      Clean up and refactor TimelineDecorations into TimelineRuler. · 8b8175d8
      timothy@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=125709
      
      Reviewed by Joseph Pecoraro.
      
      * UserInterface/Main.html:
      * UserInterface/OverviewTimelineView.css:
      (.timeline-view.overview > .timeline-ruler):
      (.timeline-view.overview > .timeline-ruler > .header):
      (.timeline-view.overview > .timeline-ruler > .event-markers):
      Updated class names and border sides.
      
      * UserInterface/OverviewTimelineView.js:
      (WebInspector.OverviewTimelineView):
      (WebInspector.OverviewTimelineView.prototype.updateLayout):
      Call updateLayout on the TimelineRuler.
      
      * UserInterface/TimelineRuler.css: Renamed from Source/WebInspectorUI/UserInterface/TimelineDecorations.css.
      (.timeline-ruler):
      (.timeline-ruler > .header):
      (.timeline-ruler > .header > .divider):
      (.timeline-ruler > .header > .divider > .label):
      (.timeline-ruler > .event-markers):
      (.timeline-ruler > .event-markers > .event-marker-tooltip):
      (.timeline-ruler > .event-markers > .event-marker):
      (.timeline-ruler > .event-markers > .event-marker.load-event):
      (.timeline-ruler > .event-markers > .event-marker.dom-content-event):
      (.timeline-ruler > .event-markers > .event-marker.timestamp):
      Updated class names and border sides.
      
      * UserInterface/TimelineRuler.js: Renamed from Source/WebInspectorUI/UserInterface/TimelineDecorations.js.
      (WebInspector.TimelineRuler):
      (WebInspector.TimelineRuler.prototype.get element):
      (WebInspector.TimelineRuler.prototype.get headerElement):
      (WebInspector.TimelineRuler.prototype.get allowsClippedLabels):
      (WebInspector.TimelineRuler.prototype.set allowsClippedLabels):
      (WebInspector.TimelineRuler.prototype.get zeroTime):
      (WebInspector.TimelineRuler.prototype.set zeroTime):
      (WebInspector.TimelineRuler.prototype.get startTime):
      (WebInspector.TimelineRuler.prototype.set startTime):
      (WebInspector.TimelineRuler.prototype.get duration):
      (WebInspector.TimelineRuler.prototype.set duration):
      (WebInspector.TimelineRuler.prototype.get endTime):
      (WebInspector.TimelineRuler.prototype.set endTime):
      (WebInspector.TimelineRuler.prototype.get secondsPerPixel):
      (WebInspector.TimelineRuler.prototype.set secondsPerPixel):
      (WebInspector.TimelineRuler.prototype.updateLayout.removeDividerAndSelectNext):
      (WebInspector.TimelineRuler.prototype.updateLayout):
      (WebInspector.TimelineRuler.prototype._needsLayout):
      (WebInspector.TimelineRuler.prototype._recalculate):
      Refactor so the times are stored on TimelineRuler and not passed in each time an update is needed.
      Support dividers that don't always start at the zero position, allowing a sliding time ruler.
      Support for a non-pinned ruler where the end time is not fixed and the scale is specified in
      seconds-per-pixel.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162407 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8b8175d8
    • timothy@apple.com's avatar
      Improve scroll performance of WebInspector.TreeOutlineDataGridSynchronizer. · 50cb8c9a
      timothy@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=126660
      
      Reviewed by Joseph Pecoraro.
      
      * UserInterface/TreeOutlineDataGridSynchronizer.js:
      (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeOutlineScrolled):
      (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridScrolled):
      Ignore scroll events triggered by our internal use of setting scrollTop.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162406 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      50cb8c9a
    • timothy@apple.com's avatar
      Add a synchronized DataGrid to the OverviewTimelineView. · 8bfe271b
      timothy@apple.com authored
      The DataGrid is synchronized with the sidebar TreeOutline to appear as one when the view
      and sidebar are both showing. The two scroll, expand and collapse in sync when the view
      is showing. When the view is not showing the sidebar can scroll independently.
      
      https://bugs.webkit.org/show_bug.cgi?id=124429
      
      Reviewed by Joseph Pecoraro.
      
      * UserInterface/DataGrid.js:
      (WebInspector.DataGrid):
      (WebInspector.DataGrid.createSortableDataGrid):
      (WebInspector.DataGrid.prototype._copyTextForDataGridNode):
      (WebInspector.DataGridNode.prototype.createCellContent):
      Handle undefined/null cells better by substituting empty strings.
      
      (WebInspector.DataGridNode.prototype.collapse):
      (WebInspector.DataGridNode.prototype.expand):
      Fire events on the DataGrid for expand and collapse.
      
      * UserInterface/Main.html: Include TreeOutlineDataGridSynchronizer.js.
      
      * UserInterface/NavigationSidebarPanel.css:
      (.sidebar > .panel.navigation > .content): Shorten by 1px to match the content view height.
      Needed to keep scrolling in sync. The clipping looks better too.
      
      * UserInterface/OverviewTimelineView.css:
      (.timeline-view.overview > .data-grid):
      (.timeline-view.overview > .data-grid table.header):
      (.timeline-view.overview > .data-grid .data-container):
      Style the DataGrid to to not have a header.
      
      * UserInterface/OverviewTimelineView.js:
      (WebInspector.OverviewTimelineView):
      (WebInspector.OverviewTimelineView.prototype.shown):
      (WebInspector.OverviewTimelineView.prototype._addResourceToTreeIfNeeded):
      (WebInspector.OverviewTimelineView.prototype._sourceCodeTimelineAdded):
      Create the DataGrid and some placeholder nodes. Hook up TreeOutlineDataGridSynchronizer.
      
      * UserInterface/TimelineContentView.css:
      (.content-view.timeline > .view-container > .timeline-view > .data-grid td):
      (.content-view.timeline > .view-container > .timeline-view > .data-grid table.data):
      Style the DataGrid to match the height of TreeElements in the sidebar.
      
      * UserInterface/TimelineSidebarPanel.css:
      (.sidebar > .panel.timeline.timeline-content-view-showing > .content):
      Hide the scrollbar off the right when the view is showing. The view will show the scrollbar.
      
      * UserInterface/TimelineSidebarPanel.js:
      (WebInspector.TimelineSidebarPanel):
      (WebInspector.TimelineSidebarPanel.prototype._timelinesTreeElementSelected):
      (WebInspector.TimelineSidebarPanel.prototype._contentBrowserCurrentContentViewDidChange):
      
      * UserInterface/TreeOutline.js:
      (TreeOutline.prototype.removeChildAtIndex):
      (TreeOutline.prototype.removeChildren):
      (TreeOutline.prototype.removeChildrenRecursive):
      (TreeElement.prototype.set hidden):
      Add event callbacks for onhidden and onremove.
      
      * UserInterface/TreeOutlineDataGridSynchronizer.js: Added.
      (WebInspector.TreeOutlineDataGridSynchronizer):
      (WebInspector.TreeOutlineDataGridSynchronizer.prototype.associate):
      (WebInspector.TreeOutlineDataGridSynchronizer.prototype.synchronize):
      (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeOutlineScrolled):
      (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridScrolled):
      (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridNodeSelected):
      (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridNodeExpanded):
      (WebInspector.TreeOutlineDataGridSynchronizer.prototype._dataGridNodeCollapsed):
      (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementSelected):
      (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementAdded):
      (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementRemoved):
      (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementExpanded):
      (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementCollapsed):
      (WebInspector.TreeOutlineDataGridSynchronizer.prototype._treeElementHiddenChanged):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162405 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8bfe271b
    • timothy@apple.com's avatar
      Start fleshing out the Overview Timeline view. · 4e24b669
      timothy@apple.com authored
      This gets the overview populating in the Timeline sidebar. The graph side is still empty.
      
      https://bugs.webkit.org/show_bug.cgi?id=124005
      
      Reviewed by Joseph Pecoraro.
      
      * Localizations/en.lproj/localizedStrings.js: Updated.
      * UserInterface/Frame.js:
      (WebInspector.Frame.prototype.addResource):
      * UserInterface/Images/TimelineRecordAnimation.svg: Added.
      * UserInterface/Images/TimelineRecordEvent.svg: Added.
      * UserInterface/Images/TimelineRecordLayout.svg: Added.
      * UserInterface/Images/TimelineRecordPaint.svg: Added.
      * UserInterface/Images/TimelineRecordScriptEvaluated.svg: Added.
      * UserInterface/Images/TimelineRecordStyle.svg: Added.
      * UserInterface/Images/TimelineRecordTimer.svg: Added.
      * UserInterface/Main.html:
      * UserInterface/OverviewTimelineView.js: Added.
      (WebInspector.OverviewTimelineView):
      (WebInspector.OverviewTimelineView.prototype.get navigationSidebarTreeOutlineLabel):
      (WebInspector.OverviewTimelineView.prototype._childFrameWasAdded):
      (WebInspector.OverviewTimelineView.prototype._mainResourceDidChange):
      (WebInspector.OverviewTimelineView.prototype._provisionalResourceWasAdded):
      (WebInspector.OverviewTimelineView.prototype._resourceWasAdded):
      (WebInspector.OverviewTimelineView.prototype._compareTreeElementsByDetails):
      (WebInspector.OverviewTimelineView.prototype._compareTreeElementsByStartTime):
      (WebInspector.OverviewTimelineView.prototype._insertTreeElement):
      (WebInspector.OverviewTimelineView.prototype._addResourceToTreeIfNeeded):
      (WebInspector.OverviewTimelineView.prototype._sourceCodeTimelineAdded):
      (WebInspector.OverviewTimelineView.prototype._treeElementSelected):
      * UserInterface/SourceCodeTimelineTreeElement.js: Added.
      (WebInspector.SourceCodeTimelineTreeElement):
      (WebInspector.SourceCodeTimelineTreeElement.prototype.get sourceCodeTimeline):
      * UserInterface/TimelineContentView.js:
      (WebInspector.TimelineContentView.createPathComponent):
      (WebInspector.TimelineContentView):
      (WebInspector.TimelineContentView.prototype.showOverviewTimelineView):
      (WebInspector.TimelineContentView.prototype.showTimelineView):
      (WebInspector.TimelineContentView.prototype.get supportsSplitContentBrowser):
      (WebInspector.TimelineContentView.prototype.get selectionPathComponents):
      (WebInspector.TimelineContentView.prototype._pathComponentSelected):
      (WebInspector.TimelineContentView.prototype._showTimelineView):
      (WebInspector.TimelineContentView.prototype._recordingReset):
      * UserInterface/TimelineIcons.css:
      (.style-record .icon): Added.
      (.layout-record .icon): Added.
      (.paint-record .icon): Added.
      (.evaluated-record .icon): Added.
      (.event-record .icon): Added.
      (.timer-record .icon): Added.
      (.animation-record .icon): Added.
      * UserInterface/TimelineView.css: Added.
      (.timeline-view):
      * UserInterface/TimelineView.js: Added.
      (WebInspector.TimelineView):
      (WebInspector.TimelineView.prototype.get navigationSidebarTreeOutline):
      (WebInspector.TimelineView.prototype.get navigationSidebarTreeOutlineLabel):
      (WebInspector.TimelineView.prototype.reset):
      (WebInspector.TimelineView.prototype.shown):
      (WebInspector.TimelineView.prototype.hidden):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162404 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4e24b669
    • timothy@apple.com's avatar
      Start fleshing out the new TimelineSidebarPanel and TimelineContentView. · fe816eba
      timothy@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124003
      
      Reviewed by Joseph Pecoraro.
      
      * UserInterface/ContentView.js:
      (WebInspector.ContentView):
      (WebInspector.ContentView.isViewable):
      * UserInterface/FrameContentView.js:
      * UserInterface/Images/CloseTimeline.png: Added.
      * UserInterface/Images/CloseTimeline@2x.png: Added.
      * UserInterface/Images/ColorsLarge.png: Added.
      * UserInterface/Images/ColorsLarge@2x.png: Added.
      * UserInterface/Images/NetworkLarge.png: Added.
      * UserInterface/Images/NetworkLarge@2x.png: Added.
      * UserInterface/Images/ScriptLarge.png: Added.
      * UserInterface/Images/ScriptLarge@2x.png: Added.
      * UserInterface/Main.html:
      * UserInterface/Main.js:
      (WebInspector.sidebarPanelForRepresentedObject):
      (WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar):
      * UserInterface/NavigationSidebarPanel.js:
      (WebInspector.NavigationSidebarPanel.prototype.showDefaultContentView):
      * UserInterface/ResourceClusterContentView.js:
      * UserInterface/TimelineContentView.css: Added.
      (.content-view.timeline > .view-container):
      * UserInterface/TimelineContentView.js: Added.
      (WebInspector.TimelineContentView):
      * UserInterface/TimelineIcons.css: Renamed from Source/WebInspectorUI/UserInterface/InstrumentIcons.css.
      (.network-icon.large .icon): Added.
      (.colors-icon.large .icon): Added.
      (.script-icon.large .icon): Added.
      * UserInterface/TimelineSidebarPanel.css:
      (.sidebar > .panel.timeline > .navigation-bar):
      (.sidebar > .panel.timeline > .title-bar):
      (.sidebar > .panel.timeline > .title-bar.timelines):
      (.sidebar > .panel.timeline > .title-bar.timeline-events):
      (.sidebar > .panel.timeline > .timelines-content):
      (.sidebar > .panel.timeline > .timelines-content .close-button):
      (.sidebar > .panel.timeline > .timelines-content li.item.selected .close-button):
      (.sidebar > .panel.timeline > .timelines-content .close-button:active):
      (.sidebar > .panel.timeline > .content):
      * UserInterface/TimelineSidebarPanel.js:
      (WebInspector.TimelineSidebarPanel.createTimelineTreeElement):
      (WebInspector.TimelineSidebarPanel):
      (WebInspector.TimelineSidebarPanel.prototype.showDefaultContentView):
      (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject):
      (WebInspector.TimelineSidebarPanel.prototype.get contentTreeOutlineLabel):
      (WebInspector.TimelineSidebarPanel.prototype.set contentTreeOutlineLabel):
      (WebInspector.TimelineSidebarPanel.prototype.showTimelineOverview):
      (WebInspector.TimelineSidebarPanel.prototype.showTimelineView):
      (WebInspector.TimelineSidebarPanel.prototype._timelinesTreeElementSelected):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162403 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fe816eba
    • timothy@apple.com's avatar
      Correctly track time bounds of WebInspector.Timeline and WebInspector.TimelineRecording. · de77591f
      timothy@apple.com authored
      The startTime and endTime were not correct when Network timeline needed to be taken into
      account (due to its dynamic loading nature.) This creates a network Timeline for the purposes
      of tracking the ResourceTimelineRecords and getting accurate start and end times.
      
      Also changes the way TimelineRecord tracks the inactive portion of time, needed for later
      work on the timeline graphs.
      
      https://bugs.webkit.org/show_bug.cgi?id=126676
      
      Reviewed by Joseph Pecoraro.
      
      * UserInterface/ResourceTimelineRecord.js:
      (WebInspector.ResourceTimelineRecord.prototype.get updatesDynamically):
      (WebInspector.ResourceTimelineRecord.prototype.get usesActiveStartTime):
      (WebInspector.ResourceTimelineRecord.prototype.get startTime):
      (WebInspector.ResourceTimelineRecord.prototype.get activeStartTime):
      (WebInspector.ResourceTimelineRecord.prototype.get endTime):
      * UserInterface/Timeline.js:
      (WebInspector.Timeline):
      (WebInspector.Timeline.prototype.get startTime):
      (WebInspector.Timeline.prototype.get endTime):
      (WebInspector.Timeline.prototype.addRecord):
      (WebInspector.Timeline.prototype._updateTimesIfNeeded):
      (WebInspector.Timeline.prototype._recordUpdated):
      * UserInterface/TimelineRecord.js:
      (WebInspector.TimelineRecord.prototype.get startTime):
      (WebInspector.TimelineRecord.prototype.get activeStartTime):
      (WebInspector.TimelineRecord.prototype.get endTime):
      (WebInspector.TimelineRecord.prototype.get inactiveDuration):
      (WebInspector.TimelineRecord.prototype.get activeDuration):
      (WebInspector.TimelineRecord.prototype.get updatesDynamically):
      (WebInspector.TimelineRecord.prototype.get usesActiveStartTime):
      * UserInterface/TimelineRecording.js:
      (WebInspector.TimelineRecording.prototype._timelineTimesUpdated):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162402 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      de77591f
    • timothy@apple.com's avatar
      Implement TimelineRecording and per-call-site timelines. · 650bc7c5
      timothy@apple.com authored
      Keep track of timeline records per global timeline and per source code location.
      This will be used to display them in the UI in later patches.
      
      https://bugs.webkit.org/show_bug.cgi?id=123367
      
      Reviewed by Joseph Pecoraro.
      
      * UserInterface/Main.html:
      * UserInterface/SourceCodeTimeline.js: Added.
      (WebInspector.SourceCodeTimeline):
      (WebInspector.SourceCodeTimeline.prototype.get sourceCode):
      (WebInspector.SourceCodeTimeline.prototype.get sourceCodeLocation):
      (WebInspector.SourceCodeTimeline.prototype.get recordType):
      (WebInspector.SourceCodeTimeline.prototype.get recordEventType):
      * UserInterface/Timeline.js: Added.
      (WebInspector.Timeline):
      (WebInspector.Timeline.prototype.get records):
      (WebInspector.Timeline.prototype.addRecord):
      * UserInterface/TimelineRecording.js:
      (WebInspector.TimelineRecording):
      (WebInspector.TimelineRecording.prototype.get timelines): Added.
      (WebInspector.TimelineRecording.prototype.sourceCodeTimelinesForSourceCode): Added.
      (WebInspector.TimelineRecording.prototype.addEventMarker): Implemented.
      (WebInspector.TimelineRecording.prototype.addRecord): Implemented.
      (WebInspector.TimelineRecording.prototype._keyForRecord): Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162401 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      650bc7c5
    • timothy@apple.com's avatar
      Add support for multiple Timeline recordings. · bde56d6d
      timothy@apple.com authored
      We also don't explicitly add ResourceTimelineRecords anymore. These will be tracked automatically in a later patch.
      
      https://bugs.webkit.org/show_bug.cgi?id=123366
      
      Reviewed by Joseph Pecoraro.
      
      * UserInterface/DashboardManager.js:
      (WebInspector.DashboardManager.prototype._mainResourceDidChange): Check for currentRecording.
      * UserInterface/InspectorFrontendAPI.js:
      (InspectorFrontendAPI.isTimelineProfilingEnabled): Check for currentRecording.
      * UserInterface/Main.html:
      * UserInterface/TimelineManager.js:
      (WebInspector.TimelineManager):
      (WebInspector.TimelineManager.prototype.get currentRecording): Added.
      (WebInspector.TimelineManager.prototype.startRecording): Make a new recording and push it onto the recording array.
      Add the current recording to the event.
      (WebInspector.TimelineManager.prototype.stopRecording): Add the current recording to the event.
      (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Check for currentRecording. Add the markers
      to the current recording.
      (WebInspector.TimelineManager.prototype._addRecord): Add the record to the current recording.
      (WebInspector.TimelineManager.prototype._startAutoRecording): Clean up. Don't add ResourceTimelineRecord. Clear recordings.
      (WebInspector.TimelineManager.prototype._stopAutoRecordingSoon): Check for _currentRecording.
      (WebInspector.TimelineManager.prototype._resetAutoRecordingDeadTimeTimeout): Ditto.
      (WebInspector.TimelineManager.prototype._mainResourceDidChange): Don't add ResourceTimelineRecord anymore.
      (WebInspector.TimelineManager.prototype._resourceWasAdded): Removed.
      * UserInterface/TimelineRecording.js: Added.
      (WebInspector.TimelineRecording): Added.
      (WebInspector.TimelineRecording.prototype.addEventMarker): Added.
      (WebInspector.TimelineRecording.prototype.addRecord): Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162400 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bde56d6d
    • timothy@apple.com's avatar
      Track callFrames and sourceCodeLocation per TimelineRecord. · d002bcf3
      timothy@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=123359
      
      Reviewed by Joseph Pecoraro.
      
      * UserInterface/LayoutTimelineRecord.js:
      (WebInspector.LayoutTimelineRecord): Pass callFrames and sourceCodeLocation to superclass.
      * UserInterface/ScriptTimelineRecord.js:
      (WebInspector.ScriptTimelineRecord): Pass callFrames and sourceCodeLocation to superclass.
      * UserInterface/TimelineManager.js:
      (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Add "Payload" suffix to better track what is a protocol object.
      Pass the callFrames and sourceCodeLocation to all the new TimelineRecords.
      (WebInspector.TimelineManager.prototype.eventRecorded): Add "Payload" suffix.
      * UserInterface/TimelineRecord.js:
      (WebInspector.TimelineRecord):
      (WebInspector.TimelineRecord.prototype.get callFrames): Added.
      (WebInspector.TimelineRecord.prototype.get initiatorCallFrame): Added.
      (WebInspector.TimelineRecord.prototype.get sourceCodeLocation): Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162399 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d002bcf3
    • timothy@apple.com's avatar
      Change how the load and content ready event timestamps are tracked. · fd0f9339
      timothy@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=123356
      
      Reviewed by Joseph Pecoraro.
      
      * UserInterface/DashboardManager.js:
      (WebInspector.DashboardManager.prototype._updateTime): Use the timestamps on the main frame.
      * UserInterface/Frame.js:
      (WebInspector.Frame):
      (WebInspector.Frame.prototype.get domContentReadyEventTimestamp): Added.
      (WebInspector.Frame.prototype.get loadEventTimestamp): Added.
      (WebInspector.Frame.prototype.markDOMContentReadyEvent): Added.
      (WebInspector.Frame.prototype.markLoadEvent): Added.
      * UserInterface/TimelineManager.js:
      (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Use markLoadEvent and markDOMContentReadyEvent.
      Do it for all frames, not just the main frame.
      (WebInspector.TimelineManager.prototype.pageDidLoad): Call markLoadEvent on the Frame.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162398 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fd0f9339
    • timothy@apple.com's avatar
      Remove a lot of the current Timelines code to make room for a new implementation. · 3d837ef6
      timothy@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=123368
      
      Reviewed by Joseph Pecoraro.
      
      * Localizations/en.lproj/localizedStrings.js:
      * UserInterface/ContentView.js:
      (WebInspector.ContentView):
      (WebInspector.ContentView.isViewable):
      * UserInterface/DashboardView.js:
      (WebInspector.DashboardView.prototype._networkItemWasClicked):
      * UserInterface/InspectorFrontendAPI.js:
      (InspectorFrontendAPI.setTimelineProfilingEnabled):
      (InspectorFrontendAPI.stopProfilingJavaScript):
      * UserInterface/InstrumentSidebarPanel.js: Removed.
      * UserInterface/Main.html:
      * UserInterface/Main.js:
      (WebInspector.contentLoaded):
      (WebInspector.sidebarPanelForRepresentedObject):
      (WebInspector.openURL):
      * UserInterface/Object.js:
      (WebInspector.Object.addEventListener):
      * UserInterface/TimelineManager.js:
      (WebInspector.TimelineManager):
      (WebInspector.TimelineManager.prototype.startRecording):
      (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
      (WebInspector.TimelineManager.prototype.eventRecorded):
      (WebInspector.TimelineManager.prototype.objectForCookie):
      (WebInspector.TimelineManager.prototype._addRecord):
      * UserInterface/TimelinesObject.js: Removed.
      * UserInterface/TimelineOverview.css: Removed.
      * UserInterface/TimelineOverview.js: Removed.
      * UserInterface/TimelineSidebarPanel.css: Added.
      * UserInterface/TimelineSidebarPanel.js: Added.
      (WebInspector.TimelineSidebarPanel):
      * UserInterface/TimelinesContentView.css: Removed.
      * UserInterface/TimelinesContentView.js: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162397 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3d837ef6
    • andersca@apple.com's avatar
      Remove an unused PageGroup function · 22ec5d1b
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127327
      
      Reviewed by Andreas Kling.
      
      * WebCore.exp.in:
      * page/PageGroup.cpp:
      * page/PageGroup.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162396 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      22ec5d1b
    • andersca@apple.com's avatar
      Move user style sheet handling to UserContentController · c005d5bc
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127322
      <rdar://problem/15861296>
      
      Reviewed by Andreas Kling.
      
      * dom/DocumentStyleSheetCollection.cpp:
      (WebCore::DocumentStyleSheetCollection::updateInjectedStyleSheetCache):
      * page/PageGroup.cpp:
      (WebCore::PageGroup::addUserStyleSheetToWorld):
      (WebCore::PageGroup::removeUserStyleSheetFromWorld):
      (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
      (WebCore::PageGroup::removeAllUserContent):
      * page/PageGroup.h:
      * page/UserContentController.cpp:
      (WebCore::UserContentController::addUserStyleSheet):
      (WebCore::UserContentController::removeUserStyleSheet):
      (WebCore::UserContentController::removeUserStyleSheets):
      (WebCore::UserContentController::removeAllUserContent):
      (WebCore::UserContentController::invalidateInjectedStyleSheetCacheInAllFrames):
      * page/UserContentController.h:
      (WebCore::UserContentController::userStyleSheets):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162395 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c005d5bc
    • benjamin@webkit.org's avatar
      Add a nicer way to iterate over all the attributes of an element · 64c95337
      benjamin@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=127266
      
      Reviewed by Geoffrey Garen.
      
      When using Element::attributeAt() in a loop, the compiler had to generate two kinds of
      accessor:
      -If the element data is unique, the length and data comes from the attribute Vector.
      -If the element data is shared, the data comes from the tail of elementData itself.
      
      The choice was done for every access, which caused the assembly to be a little
      hard to follow.
      This patch unify the data access by doing everything as a array pointer with offset (getting
      that data from Vector when necessary).
      
      To make it easier to do the right thing, a new iterator was added so that range-based loops
      can replace all the faulty cases.
      
      * css/SelectorChecker.cpp:
      (WebCore::anyAttributeMatches):
      * css/SelectorChecker.h:
      (WebCore::SelectorChecker::checkExactAttribute):
      * dom/DatasetDOMStringMap.cpp:
      (WebCore::DatasetDOMStringMap::getNames):
      (WebCore::DatasetDOMStringMap::item):
      (WebCore::DatasetDOMStringMap::contains):
      * dom/Element.cpp:
      (WebCore::Element::normalizeAttributes):
      (WebCore::Element::detachAllAttrNodesFromElement):
      (WebCore::Element::cloneAttributesFromElement):
      * dom/Element.h:
      (WebCore::Element::attributesIterator):
      * dom/ElementData.cpp:
      (WebCore::ElementData::isEquivalent):
      (WebCore::ElementData::findAttributeIndexByNameSlowCase):
      * dom/ElementData.h:
      (WebCore::AttributeConstIterator::AttributeConstIterator):
      (WebCore::AttributeConstIterator::operator*):
      (WebCore::AttributeConstIterator::operator->):
      (WebCore::AttributeConstIterator::operator++):
      (WebCore::AttributeConstIterator::operator==):
      (WebCore::AttributeConstIterator::operator!=):
      (WebCore::AttributeIteratorAccessor::AttributeIteratorAccessor):
      (WebCore::AttributeIteratorAccessor::begin):
      (WebCore::AttributeIteratorAccessor::end):
      (WebCore::ElementData::attributesIterator):
      * dom/Node.cpp:
      (WebCore::Node::isDefaultNamespace):
      (WebCore::Node::lookupNamespaceURI):
      (WebCore::Node::lookupNamespacePrefix):
      (WebCore::Node::compareDocumentPosition):
      * dom/StyledElement.cpp:
      (WebCore::StyledElement::makePresentationAttributeCacheKey):
      (WebCore::StyledElement::rebuildPresentationAttributeStyle):
      * editing/MarkupAccumulator.cpp:
      (WebCore::MarkupAccumulator::appendElement):
      * editing/markup.cpp:
      (WebCore::completeURLs):
      (WebCore::StyledMarkupAccumulator::appendElement):
      * html/HTMLEmbedElement.cpp:
      (WebCore::HTMLEmbedElement::parametersForPlugin):
      * html/HTMLObjectElement.cpp:
      (WebCore::HTMLObjectElement::parametersForPlugin):
      * inspector/DOMPatchSupport.cpp:
      (WebCore::DOMPatchSupport::innerPatchNode):
      (WebCore::DOMPatchSupport::createDigest):
      * inspector/InspectorDOMAgent.cpp:
      (WebCore::InspectorDOMAgent::setAttributesAsText):
      (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
      * inspector/InspectorNodeFinder.cpp:
      (WebCore::InspectorNodeFinder::matchesElement):
      * page/PageSerializer.cpp:
      (WebCore::isCharsetSpecifyingNode):
      * xml/XPathNodeSet.cpp:
      (WebCore::XPath::NodeSet::traversalSort):
      * xml/XPathStep.cpp:
      (WebCore::XPath::Step::nodesInAxis):
      * xml/parser/XMLDocumentParserLibxml2.cpp:
      (WebCore::XMLDocumentParser::XMLDocumentParser):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162394 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      64c95337
    • akling@apple.com's avatar
      JSC Parser: Shrink BindingNode. · bdf5d1d4
      akling@apple.com authored
      <https://webkit.org/b/127253>
      
      The "divot" and "end" source locations are always identical for
      BindingNodes, so store only "start" and "end" instead.
      
      1.19 MB progression on Membuster3.
      
      Reviewed by Geoff Garen.
      
      * bytecompiler/NodesCodegen.cpp:
      (JSC::BindingNode::bindValue):
      * parser/ASTBuilder.h:
      (JSC::ASTBuilder::createBindingLocation):
      * parser/NodeConstructors.h:
      (JSC::BindingNode::create):
      (JSC::BindingNode::BindingNode):
      * parser/Nodes.h:
      (JSC::BindingNode::divotStart):
      (JSC::BindingNode::divotEnd):
      * parser/Parser.cpp:
      (JSC::Parser<LexerType>::createBindingPattern):
      * parser/SyntaxChecker.h:
      (JSC::SyntaxChecker::operatorStackPop):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162393 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bdf5d1d4
    • ap@apple.com's avatar
      platform/mac/accessibility/iframe-aria-hidden.html is flaky · 067afd26
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127323
      
      * platform/mac-wk2/TestExpectations: Marked as such.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162392 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      067afd26
    • zalan@apple.com's avatar
      Force float division when calculating CSS px value. · c615b648
      zalan@apple.com authored
      Reviewed by Simon Fraser.
      
      Note that in Python 3, this is the default behavior.
      
      * lldb/lldb_webkit.py:
      (WebCoreLayoutUnitProvider.to_string):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162391 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c615b648
    • fpizlo@apple.com's avatar
      op_captured_mov and op_new_captured_func in UnlinkedCodeBlocks should use the... · 66ae4dc4
      fpizlo@apple.com authored
      op_captured_mov and op_new_captured_func in UnlinkedCodeBlocks should use the IdentifierMap instead of the strings directly
      https://bugs.webkit.org/show_bug.cgi?id=127311
      <rdar://problem/15853958>
      
      Reviewed by Andreas Kling.
              
      This makes UnlinkedCodeBlocks use 32-bit instruction streams again.
      
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::CodeBlock):
      * bytecode/UnlinkedCodeBlock.h:
      (JSC::UnlinkedInstruction::UnlinkedInstruction):
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::addVar):
      (JSC::BytecodeGenerator::emitInitLazyRegister):
      (JSC::BytecodeGenerator::createArgumentsIfNecessary):
      * bytecompiler/BytecodeGenerator.h:
      (JSC::BytecodeGenerator::watchableVariable):
      (JSC::BytecodeGenerator::hasWatchableVariable):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162390 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      66ae4dc4
    • mark.lam@apple.com's avatar
      Removing CodeBlock::opDebugBytecodeOffsetForLineAndColumn() and friends. · 26a6692f
      mark.lam@apple.com authored
      <https://webkit.org/b/127321>
      
      Reviewed by Geoffrey Garen.
      
      We're changing plans and will be going with CodeBlock level breakpoints
      instead of bytecode level breakpoints. As a result, we no longer need
      the services of CodeBlock::opDebugBytecodeOffsetForLineAndColumn() (and
      friends). This patch will remove that unused code.
      
      * GNUmakefile.list.am:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * bytecode/CodeBlock.cpp:
      * bytecode/CodeBlock.h:
      * bytecode/LineColumnInfo.h: Removed.
      * bytecode/UnlinkedCodeBlock.cpp:
      (JSC::UnlinkedCodeBlock::dumpExpressionRangeInfo):
      * bytecode/UnlinkedCodeBlock.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162389 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      26a6692f
    • ap@apple.com's avatar
      Fix an erroneous paste in TestExpectations. · f9ad2c92
      ap@apple.com authored
      * platform/mac-wk2/TestExpectations:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162387 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f9ad2c92
    • eunmi15.lee@samsung.com's avatar
      [EFL][WK2] Amount of scrolling is different from movement of touch when device... · ddfff700
      eunmi15.lee@samsung.com authored
      [EFL][WK2] Amount of scrolling is different from movement of touch when device pixel ratio is not 1.
      https://bugs.webkit.org/show_bug.cgi?id=127268
      
      Reviewed by Gyuyoung Kim.
      
      Amount of scrolling should be same with movement of touch even though
      device pixel ratio is not 1, so apply device pixel ratio to the new
      position of scrollBy().
      
      * UIProcess/API/efl/EwkView.cpp:
      (EwkView::scrollBy):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162386 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ddfff700
    • gyuyoung.kim@samsung.com's avatar
      Do refactor in collectGradientAttributes() and renderStyleForLengthResolve() · 9fbfea1a
      gyuyoung.kim@samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=126869
      
      Reviewed by Dirk Schulze.
      
      Some SVG functions have done a first iteration by using a boolean flag. This is
      one of poor implementations. This patch fix it by extracting a logic into a new method.
      Additionally it would be good to use do-while() loop instead of using while() in
      renderStyleForLengthResolving() because a first condition is always true.
      
      Merge r165358 from blink.
      
      * svg/SVGLengthContext.cpp:
      (WebCore::renderStyleForLengthResolving):
      * svg/SVGLinearGradientElement.cpp:
      (WebCore::setGradientAttributes):
      (WebCore::SVGLinearGradientElement::collectGradientAttributes):
      * svg/SVGRadialGradientElement.cpp:
      (WebCore::setGradientAttributes):
      (WebCore::SVGRadialGradientElement::collectGradientAttributes):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162385 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9fbfea1a
    • andersca@apple.com's avatar
      UserContentController should keep track of user scripts · 70128916
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127317
      <rdar://problem/15861296>
      
      Reviewed by Andreas Kling.
      
      Move handling of user scripts from PageGroup to UserContentController.
      
      * page/Frame.cpp:
      (WebCore::Frame::injectUserScripts):
      * page/PageGroup.cpp:
      (WebCore::PageGroup::addUserScriptToWorld):
      (WebCore::PageGroup::removeUserScriptFromWorld):
      (WebCore::PageGroup::removeUserScriptsFromWorld):
      (WebCore::PageGroup::removeAllUserContent):
      * page/PageGroup.h:
      * page/UserContentController.cpp:
      (WebCore::UserContentController::addUserScript):
      (WebCore::UserContentController::removeUserScript):
      (WebCore::UserContentController::removeUserScripts):
      (WebCore::UserContentController::removeAllUserContent):
      * page/UserContentController.h:
      (WebCore::UserContentController::userScripts):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162384 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      70128916
  2. 20 Jan, 2014 10 commits
    • ap@apple.com's avatar
      svg/dom/SVGPolygonElement-baseVal-list-removal-crash.html is flaky · 070c2097
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127316
      
      * platform/mac-wk2/TestExpectations: Marked as such.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162383 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      070c2097
    • thiago.lacerda@openbossa.org's avatar
      [WK2] Setting m_pageScaleFactor directly in WebPageProxy::scalePage · 5cb9e9dc
      thiago.lacerda@openbossa.org authored
      https://bugs.webkit.org/show_bug.cgi?id=127090
      
      Reviewed by Simon Fraser.
      
      When the client side sets the scale factor, the UIProcess will send the message to WebProcess and only after
      WebPageProxy::pageScaleFactorDidChange is called the desired scale factor is returned correctly by
      WebPageProxy::pageScaleFactor.
      This will avoid the client side retrieve a wrong scale factor while UIProcess and WebProcess gets synchronized.
      
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::scalePage):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162382 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5cb9e9dc
    • zalan@apple.com's avatar
      Subpixel layout: 100000px overflows while calculating layout positions. · ef291d28
      zalan@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=126896
      
      Reviewed by Simon Fraser.
      
      Test case is adjusted to subpixel layout.
      
      * fast/spatial-navigation/snav-unit-overflow-and-scroll-in-direction.html:
      * platform/efl/TestExpectations:
      * platform/gtk/fast/spatial-navigation/snav-unit-overflow-and-scroll-in-direction-expected.txt: Removed.
      * platform/mac/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162381 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ef291d28
    • andersca@apple.com's avatar
      Give each page a UserContentController · 2e7006b1
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127315
      
      Reviewed by Andreas Kling.
      
      Add a UserContentController object to PageGroup and have the page group set it on any
      pages that are added to the page group.
      
      This is another step towards moving handling of user content away from PageGroup and make it
      possible for each page to have different user content.
      
      * page/Page.cpp:
      (WebCore::Page::~Page):
      (WebCore::Page::setUserContentController):
      * page/Page.h:
      (WebCore::Page::userContentController):
      * page/PageGroup.cpp:
      (WebCore::PageGroup::PageGroup):
      (WebCore::PageGroup::addPage):
      (WebCore::PageGroup::removePage):
      * page/PageGroup.h:
      * page/UserContentController.cpp:
      (WebCore::UserContentController::addPage):
      (WebCore::UserContentController::removePage):
      * page/UserContentController.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162380 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2e7006b1
    • commit-queue@webkit.org's avatar
      Add AVKit fullscreen video interface. · 631001b6
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=126818
      
      Patch by Jeremy Jones <jeremyj@apple.com> on 2014-01-20
      Reviewed by Eric Carlson.
      
      Source/WebCore:
      
      No new tests, no observable change in functionality.
      
      * WebCore.exp.in:
      * WebCore.xcodeproj/project.pbxproj:
      * html/HTMLMediaElement.cpp:
      (WebCore::HTMLMediaElement::parseAttribute):
      * html/HTMLMediaElement.h:
      Add ability for fullscreen to borrow the AVPlayerLayer.
      * page/Settings.cpp:
      * page/Settings.h:
      (WebCore::Settings::setMediaPlaybackFullscreenAVKit):
      (WebCore::Settings::mediaPlaybackFullscreenAVKit):
      Add a disabled setting.
      * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
      (WebCore::MediaPlayerPrivateAVFoundation::supportsFullscreen):
      Enabled fullscreen for iOS.
      * platform/ios/WebVideoFullscreenControllerAVKit.h: Added.
      * platform/ios/WebVideoFullscreenControllerAVKit.mm: Added.
      (-[WebAVPlayerController init]):
      (-[WebAVPlayerController dealloc]):
      (-[WebAVPlayerController forwardingTargetForSelector:]):
      (-[WebAVPlayerController shouldDismissForDone]):
      (-[WebAVPlayerController play:]):
      (-[WebAVPlayerController pause:]):
      (-[WebAVPlayerController togglePlayback:]):
      (-[WebAVPlayerController isPlaying]):
      (-[WebAVPlayerController setPlaying:]):
      (+[WebAVPlayerController keyPathsForValuesAffectingPlaying]):
      (-[WebAVPlayerController seekToTime:]):
      (-[WebAVPlayerController updateTimingWithCurrentTime:]):
      (-[WebAVPlayerController effectiveRate]):
      (-[WebAVPlayerController setMediaElement:]):
      (-[WebAVPlayerController handleEvent:]):
      (-[WebVideoFullscreenController init]):
      (-[WebVideoFullscreenController dealloc]):
      (-[WebVideoFullscreenController setMediaElement:]):
      (-[WebVideoFullscreenController mediaElement]):
      (-[WebVideoFullscreenController enterFullscreen:]):
      (-[WebVideoFullscreenController exitFullscreen]):
      Add WebAVPlayerController for HTMLMediaElememt to interface with AVPlayerViewController.
      
      Source/WebKit/mac:
      
      * WebCoreSupport/WebChromeClient.h:
      * WebCoreSupport/WebChromeClient.mm:
      (WebChromeClient::supportsFullscreenForNode):
      Enable *FullscreenForNode for HTMLMediaElement for iOS
      
      * WebView/WebPreferenceKeysPrivate.h:
      * WebView/WebPreferences.mm:
      (+[WebPreferences initialize]):
      (-[WebPreferences mediaPlaybackFullscreenAVKit]):
      (-[WebPreferences setMediaPlaybackFullscreenAVKit:]):
      * WebView/WebPreferencesPrivate.h:
      * WebView/WebView.mm:
      (-[WebView _preferencesChanged:]):
      (-[WebView _enterFullscreenForNode:WebCore::]):
      * WebView/WebViewInternal.h:
      Add a disabled pref mediaPlaybackFullscreenAVKit.
      Use WebVideoFullscreenControllerAVKit on iOS
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162379 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      631001b6
    • ap@apple.com's avatar
      svg/filters/feComponentTransfer-style-crash.xhtml is flaky · 63e67ef5
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127310
      
      * platform/mac/TestExpectations: Marked it as such.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162378 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      63e67ef5
    • mhahnenberg@apple.com's avatar
      CodeBlockSet::traceMarked doesn't need to visit the ownerExecutable · 2cb4f4dd
      mhahnenberg@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127301
      
      Reviewed by Oliver Hunt.
      
      We used to just call CodeBlock::visitAggregate, but now we call visitChildren
      on the ownerExecutable, which is unnecessary.
      
      * heap/CodeBlockSet.cpp:
      (JSC::CodeBlockSet::traceMarked):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162377 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2cb4f4dd
    • zandobersek@gmail.com's avatar
      Replace uses of std::forward<T>(), std::unique_ptr<T>::clear() that landed in r162368 · 217aa287
      zandobersek@gmail.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127306
      
      Reviewed by Darin Adler.
      
      Address the post-landing reviews of the r162368 commit that moved WebAudio source code to using std::unique_ptr.
      std::move() should be used instead of std::forward<T>() in HRTFKernel::create().
      Instead of calling std::unique_ptr<T>::reset(), nullptr should be assigned to that smart pointer to reset it.
      
      * Modules/webaudio/ConvolverNode.cpp:
      (WebCore::ConvolverNode::uninitialize):
      * Modules/webaudio/DynamicsCompressorNode.cpp:
      (WebCore::DynamicsCompressorNode::uninitialize):
      * Modules/webaudio/MediaElementAudioSourceNode.cpp:
      (WebCore::MediaElementAudioSourceNode::setFormat):
      * Modules/webaudio/PannerNode.cpp:
      (WebCore::PannerNode::uninitialize):
      * platform/audio/AudioChannel.h:
      (WebCore::AudioChannel::set):
      * platform/audio/HRTFDatabaseLoader.cpp:
      (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
      * platform/audio/HRTFKernel.h:
      (WebCore::HRTFKernel::create):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162376 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      217aa287
    • joepeck@webkit.org's avatar
      Modernize WebCore/inspector with nullptr · ed8058ee
      joepeck@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=127303
      
      Reviewed by Anders Carlsson.
      
      Ran clang-modernize -use-nullptr over WebCore/inspector.
      
      * inspector/ConsoleMessage.cpp:
      (WebCore::ConsoleMessage::ConsoleMessage):
      * inspector/ConsoleMessage.h:
      * inspector/ContentSearchUtils.cpp:
      (WebCore::ContentSearchUtils::findMagicComment):
      * inspector/DOMEditor.cpp:
      (WebCore::DOMEditor::SetOuterHTMLAction::SetOuterHTMLAction):
      * inspector/DOMPatchSupport.cpp:
      (WebCore::DOMPatchSupport::patchDocument):
      (WebCore::DOMPatchSupport::patchNode):
      (WebCore::DOMPatchSupport::diff):
      (WebCore::DOMPatchSupport::innerPatchChildren):
      * inspector/InspectorApplicationCacheAgent.cpp:
      (WebCore::InspectorApplicationCacheAgent::willDestroyFrontendAndBackend):
      (WebCore::InspectorApplicationCacheAgent::assertFrameWithDocumentLoader):
      * inspector/InspectorCanvasAgent.cpp:
      (WebCore::InspectorCanvasAgent::disable):
      (WebCore::InspectorCanvasAgent::notifyRenderingContextWasWrapped):
      (WebCore::InspectorCanvasAgent::frameNavigated):
      * inspector/InspectorConsoleAgent.cpp:
      (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
      (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
      (WebCore::InspectorConsoleAgent::clearMessages):
      (WebCore::InspectorConsoleAgent::didFinishXHRLoading):
      (WebCore::InspectorConsoleAgent::didReceiveResponse):
      (WebCore::InspectorConsoleAgent::didFailLoading):
      * inspector/InspectorConsoleAgent.h:
      * inspector/InspectorController.cpp:
      (WebCore::InspectorController::inspectedPageDestroyed):
      * inspector/InspectorDOMDebuggerAgent.cpp:
      (WebCore::InspectorDOMDebuggerAgent::disable):
      (WebCore::InspectorDOMDebuggerAgent::discardAgent):
      * inspector/InspectorDOMStorageAgent.cpp:
      (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
      (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
      (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
      (WebCore::InspectorDOMStorageAgent::findStorageArea):
      * inspector/InspectorDatabaseAgent.cpp:
      (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
      (WebCore::InspectorDatabaseAgent::findByFileName):
      (WebCore::InspectorDatabaseAgent::databaseForId):
      * inspector/InspectorDebuggerAgent.cpp:
      (WebCore::InspectorDebuggerAgent::addMessageToConsole):
      (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
      (WebCore::InspectorDebuggerAgent::didParseSource):
      (WebCore::InspectorDebuggerAgent::didContinue):
      (WebCore::InspectorDebuggerAgent::clearBreakDetails):
      * inspector/InspectorFrontendHost.cpp:
      (WebCore::FrontendMenuProvider::disconnect):
      (WebCore::InspectorFrontendHost::InspectorFrontendHost):
      (WebCore::InspectorFrontendHost::disconnectClient):
      * inspector/InspectorHeapProfilerAgent.cpp:
      (WebCore::InspectorHeapProfilerAgent::~InspectorHeapProfilerAgent):
      * inspector/InspectorIndexedDBAgent.cpp:
      (WebCore::assertDocument):
      (WebCore::assertIDBFactory):
      (WebCore::InspectorIndexedDBAgent::requestData):
      * inspector/InspectorInstrumentation.cpp:
      (WebCore::frameForScriptExecutionContext):
      (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
      (WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl):
      (WebCore::InspectorInstrumentation::consoleAgentEnabled):
      (WebCore::InspectorInstrumentation::unregisterInstrumentingAgents):
      (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
      (WebCore::InspectorInstrumentation::instrumentingAgentsForPage):
      (WebCore::InspectorInstrumentation::instrumentingAgentsForWorkerGlobalScope):
      (WebCore::InspectorInstrumentation::instrumentingAgentsForNonDocumentContext):
      * inspector/InspectorInstrumentation.h:
      (WebCore::InspectorInstrumentation::instrumentingAgentsForContext):
      (WebCore::InspectorInstrumentation::instrumentingAgentsForFrame):
      (WebCore::InspectorInstrumentation::instrumentingAgentsForDocument):
      * inspector/InspectorLayerTreeAgent.cpp:
      (WebCore::InspectorLayerTreeAgent::disable):
      * inspector/InspectorNodeFinder.cpp:
      (WebCore::InspectorNodeFinder::searchUsingXPath):
      * inspector/InspectorOverlay.cpp:
      (WebCore::buildObjectForElementInfo):
      * inspector/InspectorPageAgent.cpp:
      (WebCore::InspectorPageAgent::cachedResourceContent):
      (WebCore::InspectorPageAgent::sharedBufferContent):
      (WebCore::InspectorPageAgent::disable):
      (WebCore::InspectorPageAgent::frameForId):
      (WebCore::InspectorPageAgent::findFrameWithSecurityOrigin):
      * inspector/InspectorProfilerAgent.cpp:
      (WebCore::InspectorProfilerAgent::~InspectorProfilerAgent):
      * inspector/InspectorProfilerAgent.h:
      * inspector/InspectorResourceAgent.cpp:
      (WebCore::buildObjectForResourceResponse):
      (WebCore::InspectorResourceAgent::willSendRequest):
      (WebCore::InspectorResourceAgent::didReceiveResponse):
      (WebCore::InspectorResourceAgent::didFinishLoading):
      (WebCore::InspectorResourceAgent::didFailLoading):
      (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
      (WebCore::InspectorResourceAgent::disable):
      * inspector/InspectorRuntimeAgent.cpp:
      (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
      * inspector/InspectorStyleSheet.cpp:
      (ParsedStyleSheet::ruleSourceDataAt):
      (WebCore::buildSourceRangeObject):
      (WebCore::asCSSRuleList):
      (WebCore::fillMediaListChain):
      (WebCore::InspectorStyle::setPropertyText):
      (WebCore::InspectorStyle::populateAllProperties):
      (WebCore::InspectorStyle::extractSourceData):
      (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters):
      (WebCore::InspectorStyleSheet::addRule):
      (WebCore::InspectorStyleSheet::ruleForId):
      (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
      (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
      (WebCore::InspectorStyleSheet::buildObjectForRule):
      (WebCore::InspectorStyleSheet::styleForId):
      (WebCore::InspectorStyleSheet::inspectorStyleForId):
      (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
      * inspector/InspectorStyleSheet.h:
      (WebCore::InspectorCSSId::asProtocolValue):
      * inspector/InspectorTimelineAgent.cpp:
      (WebCore::InspectorTimelineAgent::stop):
      (WebCore::InspectorTimelineAgent::willComposite):
      (WebCore::InspectorTimelineAgent::page):
      * inspector/InspectorWorkerAgent.cpp:
      (WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
      * inspector/InstrumentingAgents.cpp:
      (WebCore::InstrumentingAgents::InstrumentingAgents):
      (WebCore::InstrumentingAgents::reset):
      * inspector/NetworkResourcesData.cpp:
      (WebCore::NetworkResourcesData::ResourceData::ResourceData):
      (WebCore::NetworkResourcesData::xhrReplayData):
      (WebCore::NetworkResourcesData::removeCachedResource):
      (WebCore::NetworkResourcesData::resourceDataForRequestId):
      * inspector/PageConsoleAgent.cpp:
      (WebCore::PageConsoleAgent::~PageConsoleAgent):
      * inspector/PageDebuggerAgent.cpp:
      (WebCore::PageDebuggerAgent::disable):
      * inspector/PageRuntimeAgent.cpp:
      (WebCore::PageRuntimeAgent::~PageRuntimeAgent):
      (WebCore::PageRuntimeAgent::didCreateMainWorldContext):
      (WebCore::PageRuntimeAgent::reportExecutionContextCreation):
      * inspector/ScriptArguments.cpp:
      (WebCore::ScriptArguments::globalState):
      * inspector/WorkerRuntimeAgent.cpp:
      (WebCore::WorkerRuntimeAgent::~WorkerRuntimeAgent):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162374 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ed8058ee
    • ap@apple.com's avatar
      build.webkit.org/dashboard should display information about patches in EWS · 03c8a837
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127006
      
      Reviewed by Ryosuke Niwa.
      
      * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/index.html:
      * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Bugzilla.js: Added.
      (Bugzilla.prototype.detailsURLForAttachment):
      Added a class for Bugzilla. So far, the only thing it can do is build patch URLs,
      which is needed when one wants to do something with a patch EWS is stuck on.
      
      * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Initialization.js:
      Create a Bugzilla instance.
      
      * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWS.js:
      (EWS.prototype.jsonQueueLengthURL):
      (EWS.prototype.jsonQueueStatusURL):
      Build JSON ULRs here, not in EWSQueue, as this is how other classes are structured.
      
      * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueue.js:
      (EWSQueue.prototype.get statusPageURL): Changed to use a URL provided by EWS instead
      of second guessing.
      (EWSQueue.prototype.get chartsPageURL): Added.
      (EWSQueue.prototype.get loadedDetailedStatus): Tells whether we currently have
      additional data already loaded (it's reset with every update).
      (EWSQueue.prototype.get patches): Get patch queue.
      (EWSQueue.prototype.get bots): Get bots.
      (EWSQueue.prototype.update): Changed to use a specialized cheaper URL.
      (EWSQueue.prototype.loadDetailedStatus): Load and transform detailed status JSON.
      
      * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueueView.js:
      (EWSQueueView.prototype.update.appendQueue): Add a popover is there are any patches
      in the queue.
      (EWSQueueView.prototype.addLinkToRow): A helper to build the popover.
      (EWSQueueView.prototype.addTextToRow): Ditto.
      (EWSQueueView.prototype._addQueueHeadingToPopover): Ditto.
      (EWSQueueView.prototype._addBotsHeadingToPopover): Ditto.
      (EWSQueueView.prototype._addDividerToPopover): Ditto.
      (EWSQueueView.prototype._timeIntervalString): A helper to format a timestamp into a
      relative string.
      (EWSQueueView.prototype._popoverContentForEWSQueue): Build the popover.
      (EWSQueueView.prototype._presentPopoverForEWSQueue): Start loading data, and present
      it when done.
      
      * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/QueueView.css:
      Added rules for EWS popover. Removed a duplicate rule for build-logs-popover.
      Changed a few difficult to read padding styles to padding-left.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162373 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      03c8a837