1. 21 Jan, 2014 17 commits
    • 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
    • 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
    • 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 23 commits
    • 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
    • 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
    • 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
    • andersca@apple.com's avatar
      Add empty UserContentController class · a5e72936
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127300
      <rdar://problem/15861296>
      
      Reviewed by Dan Bernstein.
      
      This is the first step towards moving handling of user scripts and style sheets from
      the page group to a separate objects and ultimately make them be settable per page instead of per page group.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * page/UserContentController.cpp: Added.
      (WebCore::UserContentController::create):
      (WebCore::UserContentController::UserContentController):
      (WebCore::UserContentController::~UserContentController):
      * page/UserContentController.h: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162372 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a5e72936
    • zandobersek@gmail.com's avatar
      [GTK][WK2] Move the rest of GTK's WorkQueue implementation to std::function · 530f751a
      zandobersek@gmail.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127273
      
      Reviewed by Anders Carlsson.
      
      Move to using std::function and move semantics in WorkQueue::registerSocketEventHandler
      and WorkQueue::SocketEventSource.
      
      * Platform/IPC/unix/ConnectionUnix.cpp:
      (IPC::Connection::open):
      * Platform/WorkQueue.h:
      * Platform/gtk/WorkQueueGtk.cpp:
      (WorkQueue::SocketEventSource::SocketEventSource):
      (WorkQueue::registerSocketEventHandler):
      (WorkQueue::dispatchOnSource): Use std::move instead of std::forward<T>.
      (WorkQueue::dispatch): Ditto.
      (WorkQueue::dispatchAfter): Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162370 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      530f751a
    • joepeck@webkit.org's avatar
      Run clang-modernize and let it add a bunch of missing overrides in WebCore/inspector · 585b903f
      joepeck@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=127206
      
      Reviewed by Anders Carlsson.
      
      Let clang-modernize add overrides.
      
      * inspector/DOMEditor.cpp:
      * inspector/InspectorApplicationCacheAgent.h:
      * inspector/InspectorCSSAgent.h:
      * inspector/InspectorCanvasAgent.h:
      * inspector/InspectorConsoleAgent.h:
      * inspector/InspectorDOMAgent.h:
      * inspector/InspectorDOMDebuggerAgent.h:
      * inspector/InspectorDOMStorageAgent.h:
      * inspector/InspectorDatabaseAgent.cpp:
      * inspector/InspectorDatabaseAgent.h:
      * inspector/InspectorDebuggerAgent.h:
      * inspector/InspectorFrontendHost.cpp:
      * inspector/InspectorHeapProfilerAgent.cpp:
      (WebCore::InspectorHeapProfilerAgent::getHeapSnapshot):
      (WebCore::InspectorHeapProfilerAgent::takeHeapSnapshot):
      * inspector/InspectorHeapProfilerAgent.h:
      * inspector/InspectorHistory.cpp:
      * inspector/InspectorIndexedDBAgent.cpp:
      * inspector/InspectorIndexedDBAgent.h:
      * inspector/InspectorInputAgent.h:
      * inspector/InspectorLayerTreeAgent.h:
      * inspector/InspectorMemoryAgent.h:
      * inspector/InspectorPageAgent.h:
      * inspector/InspectorProfilerAgent.cpp:
      * inspector/InspectorProfilerAgent.h:
      * inspector/InspectorResourceAgent.h:
      * inspector/InspectorRuntimeAgent.h:
      * inspector/InspectorStyleSheet.h:
      * inspector/InspectorTimelineAgent.h:
      * inspector/InspectorWorkerAgent.cpp:
      * inspector/InspectorWorkerAgent.h:
      * inspector/PageConsoleAgent.h:
      * inspector/PageDebuggerAgent.h:
      * inspector/PageRuntimeAgent.h:
      * inspector/WorkerConsoleAgent.h:
      * inspector/WorkerDebuggerAgent.cpp:
      * inspector/WorkerInspectorController.cpp:
      * inspector/WorkerRuntimeAgent.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162369 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      585b903f
    • zandobersek@gmail.com's avatar
      Move WebAudio source code to std::unique_ptr · 56c23bd4
      zandobersek@gmail.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127274
      
      Reviewed by Eric Carlson.
      
      Move from using OwnPtr and PassOwnPtr to using std::unique_ptr and move semantics
      in the WebAudio module and the WebAudio code in the platform layer.
      
      * Modules/webaudio/AsyncAudioDecoder.cpp:
      * Modules/webaudio/AsyncAudioDecoder.h:
      * Modules/webaudio/AudioBasicInspectorNode.cpp:
      (WebCore::AudioBasicInspectorNode::AudioBasicInspectorNode):
      * Modules/webaudio/AudioBasicProcessorNode.cpp:
      (WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):
      * Modules/webaudio/AudioBasicProcessorNode.h:
      * Modules/webaudio/AudioBufferSourceNode.cpp:
      (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
      * Modules/webaudio/AudioContext.cpp:
      * Modules/webaudio/AudioContext.h:
      * Modules/webaudio/AudioDestinationNode.cpp:
      (WebCore::AudioDestinationNode::AudioDestinationNode):
      * Modules/webaudio/AudioNode.cpp:
      (WebCore::AudioNode::addInput):
      (WebCore::AudioNode::addOutput):
      (WebCore::AudioNode::checkNumberOfChannelsForInput):
      * Modules/webaudio/AudioNode.h:
      * Modules/webaudio/BiquadFilterNode.cpp:
      (WebCore::BiquadFilterNode::BiquadFilterNode):
      * Modules/webaudio/BiquadProcessor.cpp:
      (WebCore::BiquadProcessor::createKernel):
      (WebCore::BiquadProcessor::getFrequencyResponse):
      * Modules/webaudio/BiquadProcessor.h:
      * Modules/webaudio/ChannelMergerNode.cpp:
      (WebCore::ChannelMergerNode::ChannelMergerNode):
      * Modules/webaudio/ChannelSplitterNode.cpp:
      (WebCore::ChannelSplitterNode::ChannelSplitterNode):
      * Modules/webaudio/ConvolverNode.cpp:
      (WebCore::ConvolverNode::ConvolverNode):
      (WebCore::ConvolverNode::uninitialize):
      (WebCore::ConvolverNode::setBuffer):
      * Modules/webaudio/ConvolverNode.h:
      * Modules/webaudio/DefaultAudioDestinationNode.h:
      * Modules/webaudio/DelayNode.cpp:
      (WebCore::DelayNode::DelayNode):
      * Modules/webaudio/DelayProcessor.cpp:
      (WebCore::DelayProcessor::createKernel):
      * Modules/webaudio/DelayProcessor.h:
      * Modules/webaudio/DynamicsCompressorNode.cpp:
      (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
      (WebCore::DynamicsCompressorNode::initialize):
      (WebCore::DynamicsCompressorNode::uninitialize):
      * Modules/webaudio/DynamicsCompressorNode.h:
      * Modules/webaudio/GainNode.cpp:
      (WebCore::GainNode::GainNode):
      * Modules/webaudio/MediaElementAudioSourceNode.cpp:
      (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
      (WebCore::MediaElementAudioSourceNode::setFormat):
      * Modules/webaudio/MediaElementAudioSourceNode.h:
      * Modules/webaudio/MediaStreamAudioDestinationNode.h:
      * Modules/webaudio/MediaStreamAudioSource.cpp:
      * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
      (WebCore::MediaStreamAudioSourceNode::MediaStreamAudioSourceNode):
      * Modules/webaudio/MediaStreamAudioSourceNode.h:
      * Modules/webaudio/OscillatorNode.cpp:
      (WebCore::OscillatorNode::OscillatorNode):
      * Modules/webaudio/PannerNode.cpp:
      (WebCore::PannerNode::PannerNode):
      (WebCore::PannerNode::uninitialize):
      (WebCore::PannerNode::setPanningModel):
      * Modules/webaudio/PannerNode.h:
      * Modules/webaudio/PeriodicWave.cpp:
      (WebCore::PeriodicWave::createBandLimitedTables):
      * Modules/webaudio/PeriodicWave.h:
      * Modules/webaudio/RealtimeAnalyser.cpp:
      (WebCore::RealtimeAnalyser::RealtimeAnalyser):
      (WebCore::RealtimeAnalyser::setFftSize):
      * Modules/webaudio/RealtimeAnalyser.h:
      * Modules/webaudio/ScriptProcessorNode.cpp:
      (WebCore::ScriptProcessorNode::ScriptProcessorNode):
      * Modules/webaudio/WaveShaperDSPKernel.cpp:
      (WebCore::WaveShaperDSPKernel::lazyInitializeOversampling):
      * Modules/webaudio/WaveShaperDSPKernel.h:
      * Modules/webaudio/WaveShaperNode.cpp:
      (WebCore::WaveShaperNode::WaveShaperNode):
      * Modules/webaudio/WaveShaperProcessor.cpp:
      (WebCore::WaveShaperProcessor::createKernel):
      * Modules/webaudio/WaveShaperProcessor.h:
      * platform/audio/AudioBus.cpp:
      (WebCore::AudioBus::AudioBus):
      (WebCore::AudioBus::copyWithGainFrom):
      * platform/audio/AudioBus.h:
      * platform/audio/AudioChannel.cpp:
      * platform/audio/AudioChannel.h:
      (WebCore::AudioChannel::AudioChannel):
      (WebCore::AudioChannel::set):
      * platform/audio/AudioDSPKernelProcessor.h:
      * platform/audio/AudioDestination.h:
      * platform/audio/AudioResampler.cpp:
      (WebCore::AudioResampler::AudioResampler):
      (WebCore::AudioResampler::configureChannels):
      * platform/audio/AudioResampler.h:
      * platform/audio/AudioSession.h:
      * platform/audio/DynamicsCompressor.cpp:
      (WebCore::DynamicsCompressor::setNumberOfChannels):
      * platform/audio/DynamicsCompressor.h:
      * platform/audio/DynamicsCompressorKernel.cpp:
      (WebCore::DynamicsCompressorKernel::setNumberOfChannels):
      * platform/audio/DynamicsCompressorKernel.h:
      * platform/audio/FFTFrame.cpp:
      (WebCore::FFTFrame::createInterpolatedFrame):
      * platform/audio/FFTFrame.h:
      * platform/audio/HRTFDatabase.cpp:
      (WebCore::HRTFDatabase::HRTFDatabase):
      * platform/audio/HRTFDatabase.h:
      * platform/audio/HRTFDatabaseLoader.cpp:
      (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
      (WebCore::HRTFDatabaseLoader::load):
      * platform/audio/HRTFDatabaseLoader.h:
      * platform/audio/HRTFElevation.cpp:
      (WebCore::HRTFElevation::createForSubject):
      (WebCore::HRTFElevation::createByInterpolatingSlices):
      * platform/audio/HRTFElevation.h:
      (WebCore::HRTFElevation::HRTFElevation):
      * platform/audio/HRTFKernel.cpp:
      (WebCore::HRTFKernel::HRTFKernel):
      (WebCore::HRTFKernel::createImpulseResponse):
      (WebCore::HRTFKernel::createInterpolatedKernel):
      * platform/audio/HRTFKernel.h:
      (WebCore::HRTFKernel::create):
      (WebCore::HRTFKernel::HRTFKernel):
      * platform/audio/MultiChannelResampler.cpp:
      (WebCore::MultiChannelResampler::MultiChannelResampler):
      * platform/audio/MultiChannelResampler.h:
      * platform/audio/Panner.cpp:
      (WebCore::Panner::create):
      * platform/audio/Panner.h:
      * platform/audio/Reverb.cpp:
      (WebCore::Reverb::initialize):
      * platform/audio/Reverb.h:
      * platform/audio/ReverbConvolver.h:
      * platform/audio/ReverbConvolverStage.cpp:
      (WebCore::ReverbConvolverStage::ReverbConvolverStage):
      * platform/audio/ReverbConvolverStage.h:
      * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
      (WebCore::AudioDestination::create):
      * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
      * platform/audio/ios/AudioDestinationIOS.cpp:
      (WebCore::AudioDestination::create):
      * platform/audio/ios/AudioSessionIOS.mm:
      (WebCore::AudioSession::AudioSession):
      * platform/audio/mac/AudioDestinationMac.cpp:
      (WebCore::AudioDestination::create):
      * platform/audio/mac/AudioDestinationMac.h:
      * platform/audio/mac/AudioSessionMac.cpp:
      (WebCore::AudioSession::AudioSession):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162368 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      56c23bd4
    • andersca@apple.com's avatar
      Fix build. · 2d4882d6
      andersca@apple.com authored
      * heap/BlockAllocator.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162367 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2d4882d6
    • commit-queue@webkit.org's avatar
      Region based multicol: support explicit column breaks · fd8f1a2d
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=123993
      
      Patch by Morten Stenshorne <mstensho@opera.com> on 2014-01-20
      Reviewed by David Hyatt.
      
      Source/WebCore:
      
      Merely supporting insertion of explicit (forced) column breaks in
      the region based multicol implementation is really simple: just
      hook up with what the CSS regions code is already doing.
      
      However, there is one complication: column balancing. In order to
      balance columns as nicely as possible when there are explicit
      breaks, we need to figure out between which explicit breaks the
      implicit breaks will occur (if there's room for any at all).
      
      Tests: fast/multicol/newmulticol/break-after.html
             fast/multicol/newmulticol/break-before.html
             fast/multicol/newmulticol/breaks-2-columns-3-no-balancing.html
             fast/multicol/newmulticol/breaks-2-columns-3.html
             fast/multicol/newmulticol/breaks-3-columns-3.html
             fast/multicol/newmulticol/fixed-height-fill-balance-2.html
      
      * rendering/RenderBlockFlow.cpp:
      (WebCore::RenderBlockFlow::applyBeforeBreak):
      (WebCore::RenderBlockFlow::applyAfterBreak): Use the already
      existing region breaking code when inserting breaks in region
      based multicol.
      * rendering/RenderFlowThread.h:
      * rendering/RenderMultiColumnBlock.cpp:
      (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
      (WebCore::RenderMultiColumnBlock::relayoutForPagination): Avoid
      re-balancing if the multicol's contents were not laid out. Apart
      from being good for performance, this is now necessary because of
      how explicit breaks are implemented.
      (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
      Detect if the contents are going to be laid out, or skipped, so
      that we can tell if we need to (re-)balance the columns
      afterwards.
      * rendering/RenderMultiColumnBlock.h:
      * rendering/RenderMultiColumnFlowThread.cpp:
      (WebCore::RenderMultiColumnFlowThread::addForcedRegionBreak):
      Locate the appropriate multi-column set and call its
      addForcedBreak().
      * rendering/RenderMultiColumnFlowThread.h:
      * rendering/RenderMultiColumnSet.cpp:
      (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
      (WebCore::RenderMultiColumnSet::findRunWithTallestColumns):
      (WebCore::RenderMultiColumnSet::distributeImplicitBreaks): Figure
      out how many implicit breaks each single "content run" should
      contain. The taller the content run, the more implicit breaks.
      (WebCore::RenderMultiColumnSet::calculateBalancedHeight): This is
      now a const method that only does half of what the old
      calculateBalancedHeight() did. The rest (such as actually storing
      the new column height) is done by recalculateBalancedHeight().
      (WebCore::RenderMultiColumnSet::clearForcedBreaks): Needs to be
      called between each layout pass, to clear the list of "content
      runs".
      (WebCore::RenderMultiColumnSet::addForcedBreak): Only useful when
      columns are to be balanced. It receives explicit (forced) breaks
      and stores them as "content runs". When layout is done, we'll go
      through the list of content runs, and see where implicit breaks
      should be inserted (if there's room for any). The goal is to
      insert implicit breaks in such a way that the final columns become
      as short as possible.
      (WebCore::RenderMultiColumnSet::recalculateBalancedHeight):
      Calculates and sets a new balanced column height. This used to be
      done directly in calculateBalancedHeight(), but that method is now
      const and it now only calculates the new height and returns it.
      (WebCore::RenderMultiColumnSet::prepareForLayout):
      * rendering/RenderMultiColumnSet.h: Remove old data members
      intended for forced breaks (they were unused), and introduce a
      "content run" vector instead. A new content run is triggered by an
      explicit break. This is only used when column balancing is
      enabled. When not balanced, RenderMultiColumnSet doesn't need to
      do anything when explicit breaks are inserted.
      
      LayoutTests:
      
      * fast/multicol/newmulticol/break-after-expected.html: Added.
      * fast/multicol/newmulticol/break-after.html: Added.
      * fast/multicol/newmulticol/break-before-expected.html: Added.
      * fast/multicol/newmulticol/break-before.html: Added.
      * fast/multicol/newmulticol/breaks-2-columns-3-expected.html: Added.
      * fast/multicol/newmulticol/breaks-2-columns-3-no-balancing-expected.html: Added.
      * fast/multicol/newmulticol/breaks-2-columns-3-no-balancing.html: Added.
      * fast/multicol/newmulticol/breaks-2-columns-3.html: Added.
      * fast/multicol/newmulticol/breaks-3-columns-3-expected.html: Added.
      * fast/multicol/newmulticol/breaks-3-columns-3.html: Added.
      * fast/multicol/newmulticol/fixed-height-fill-balance-2-expected.html: Added.
      * fast/multicol/newmulticol/fixed-height-fill-balance-2.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162366 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fd8f1a2d
    • andersca@apple.com's avatar
      Stop using ThreadCondition in BlockAllocator · f7a788fa
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=126313
      
      Reviewed by Sam Weinig.
      
      * heap/BlockAllocator.cpp:
      (JSC::BlockAllocator::~BlockAllocator):
      (JSC::BlockAllocator::waitForDuration):
      (JSC::BlockAllocator::blockFreeingThreadMain):
      * heap/BlockAllocator.h:
      (JSC::BlockAllocator::deallocate):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162362 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f7a788fa
    • timothy@apple.com's avatar
      Fix jumping to a text position when showing a resource. · 679d978c
      timothy@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127271
      
      Reviewed by Joseph Pecoraro.
      
      * UserInterface/FrameContentView.js:
      (WebInspector.FrameContentView.prototype.showSourceCode): Just use showResponse's arguments
      which already does the same logic to call revealPosition.
      * UserInterface/ResourceClusterContentView.js:
      (WebInspector.ResourceClusterContentView.prototype.restoreFromCookie): This was the bug.
      lineNumber and columnNumber need honored here. They were only honored by FrameContentView.
      * UserInterface/ResourceSidebarPanel.js:
      (WebInspector.ResourceSidebarPanel.prototype.showSourceCode): Use showContentViewForRepresentedObject
      which also accepts a cookie and handles creating the content view for us.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162361 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      679d978c
    • eric.carlson@apple.com's avatar
      Allow MediaSessionManager to restrict 'preload' behavior · 7cadf18b
      eric.carlson@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127297
      
      Reviewed by Jer Noble.
      
      Source/WebCore: 
      
      Tests: media/video-restricted-no-preload-auto.html
             media/video-restricted-no-preload-metadata.html
      
      * html/HTMLMediaElement.cpp:
      (WebCore::HTMLMediaElement::parseAttribute): Apply restrictions to preload attribute before
          passing to media engine.
      (WebCore::HTMLMediaElement::loadResource): Ditto.
      
      * html/HTMLMediaSession.cpp:
      (WebCore::HTMLMediaSession::effectivePreloadForElement): New, limit preload according to restrictions.
      * html/HTMLMediaSession.h:
      
      * platform/audio/MediaSessionManager.h:
      * platform/audio/ios/MediaSessionManagerIOS.mm:
      (WebCore::MediaSessionManageriOS::resetRestrictions): Limit preload to metadata only. Drive-by
          static deviceClass initialization cleanup.
      
      * testing/Internals.cpp:
      (WebCore::Internals::setMediaSessionRestrictions): Support MetadataPreloadingNotPermitted and
          AutoPreloadingNotPermitted.
      
      LayoutTests: 
      
      * media/video-restricted-no-preload-auto-expected.txt: Added.
      * media/video-restricted-no-preload-auto.html: Added.
      * media/video-restricted-no-preload-metadata-expected.txt: Added.
      * media/video-restricted-no-preload-metadata.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7cadf18b
    • akling@apple.com's avatar
      Let RenderImage construct its RenderImageResource. · dcf6c8f9
      akling@apple.com authored
      <https://webkit.org/b/127290>
      
      Everyone who creates a RenderImage immediately follows up with
      creating a RenderImageResource and assigning it to the image.
      
      Let the RenderImage constructor do this instead, and make the
      imageResource() accessors return references. This exposed a
      number of unnecessary null checks.
      
      Also modernized the touched code with std::unique_ptr.
      
      Reviewed by Antti Koivisto.
      
      * html/HTMLImageElement.cpp:
      (WebCore::HTMLImageElement::createElementRenderer):
      (WebCore::HTMLImageElement::didAttachRenderers):
      * html/HTMLPlugInImageElement.cpp:
      (WebCore::HTMLPlugInImageElement::createElementRenderer):
      * html/HTMLVideoElement.cpp:
      (WebCore::HTMLVideoElement::didAttachRenderers):
      (WebCore::HTMLVideoElement::parseAttribute):
      * html/ImageInputType.cpp:
      (WebCore::ImageInputType::createInputRenderer):
      (WebCore::ImageInputType::attach):
      * loader/ImageLoader.cpp:
      (WebCore::ImageLoader::renderImageResource):
      * rendering/RenderElement.cpp:
      (WebCore::RenderElement::createFor):
      * rendering/RenderImage.cpp:
      (WebCore::RenderImage::RenderImage):
      (WebCore::RenderImage::~RenderImage):
      (WebCore::RenderImage::styleDidChange):
      (WebCore::RenderImage::imageChanged):
      (WebCore::RenderImage::updateIntrinsicSizeIfNeeded):
      (WebCore::RenderImage::updateInnerContentRect):
      (WebCore::RenderImage::imageDimensionsChanged):
      (WebCore::RenderImage::notifyFinished):
      (WebCore::RenderImage::paintReplaced):
      (WebCore::RenderImage::paintIntoRect):
      (WebCore::RenderImage::foregroundIsKnownToBeOpaqueInRect):
      (WebCore::RenderImage::minimumReplacedHeight):
      (WebCore::RenderImage::computeIntrinsicRatioInformation):
      (WebCore::RenderImage::embeddedContentBox):
      * rendering/RenderImage.h:
      (WebCore::RenderImage::imageResource):
      (WebCore::RenderImage::cachedImage):
      * rendering/RenderImageResource.h:
      * rendering/RenderImageResourceStyleImage.h:
      * rendering/RenderMedia.cpp:
      (WebCore::RenderMedia::RenderMedia):
      * rendering/RenderSnapshottedPlugIn.cpp:
      (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn):
      * rendering/RenderSnapshottedPlugIn.h:
      * rendering/RenderVideo.cpp:
      (WebCore::RenderVideo::calculateIntrinsicSize):
      * rendering/style/ContentData.cpp:
      (WebCore::ImageContentData::createContentRenderer):
      * rendering/svg/RenderSVGImage.cpp:
      (WebCore::RenderSVGImage::RenderSVGImage):
      (WebCore::RenderSVGImage::~RenderSVGImage):
      (WebCore::RenderSVGImage::updateImageViewport):
      (WebCore::RenderSVGImage::paint):
      (WebCore::RenderSVGImage::paintForeground):
      * rendering/svg/RenderSVGImage.h:
      * svg/SVGImageElement.cpp:
      (WebCore::SVGImageElement::didAttachRenderers):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162356 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dcf6c8f9
    • andersca@apple.com's avatar
      Remove an unused member variable · 51fde83f
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127295
      
      Reviewed by Antti Koivisto.
      
      * wtf/MainThread.cpp:
      (WTF::FunctionWithContext::FunctionWithContext):
      (WTF::FunctionWithContext::operator == ):
      (WTF::dispatchFunctionsFromMainThread):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162355 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      51fde83f
    • antti@apple.com's avatar
      Update overlay scrollbars in single pass · a9fcb2cf
      antti@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127289
      
      Reviewed by Anders Carlsson.
      
      * platform/ScrollView.cpp:
      (WebCore::ScrollView::updateScrollbars):
              
          Multi-pass scrollbar resolution is only needed for traditional scrollbars. Overlay scrollbars don't affect layout.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162354 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a9fcb2cf
    • andersca@apple.com's avatar
      Remove MutexTryLocker · f14652b0
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127294
      
      Reviewed by Antti Koivisto.
      
      MutexTryLocker has been replaced with std::unique_lock with std::try_to_lock everywhere now.
      
      * wtf/ThreadingPrimitives.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162353 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f14652b0
    • andersca@apple.com's avatar
      Convert GCThreadSharedData over to STL threading primitives · b9a38733
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127256
      
      Reviewed by Andreas Kling.
      
      * heap/GCThread.cpp:
      (JSC::GCThread::waitForNextPhase):
      (JSC::GCThread::gcThreadMain):
      * heap/GCThreadSharedData.cpp:
      (JSC::GCThreadSharedData::GCThreadSharedData):
      (JSC::GCThreadSharedData::~GCThreadSharedData):
      (JSC::GCThreadSharedData::startNextPhase):
      (JSC::GCThreadSharedData::endCurrentPhase):
      (JSC::GCThreadSharedData::didStartMarking):
      (JSC::GCThreadSharedData::didFinishMarking):
      * heap/GCThreadSharedData.h:
      * heap/SlotVisitor.cpp:
      (JSC::SlotVisitor::donateKnownParallel):
      (JSC::SlotVisitor::drainFromShared):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162352 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b9a38733
    • jochen@chromium.org's avatar
      Never send a non-http(s) referrer header even with a referrer policy · b1560682
      jochen@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=127172
      
      Reviewed by Alexey Proskuryakov.
      
      This mirrors the code SecurityPolicy::shouldHideReferrer which is used
      for ReferrerPolicyDefault.
      
      No new tests, only affects an embedder that registers other schemes,
      e.g. chrome://
      
      * page/SecurityPolicy.cpp:
      (WebCore::SecurityPolicy::generateReferrerHeader):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162351 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b1560682
    • commit-queue@webkit.org's avatar
      Source/WebCore: [CSS Background Blending] Background layer with -webkit-cross-fade doesn't blend · 5553eb78
      commit-queue@webkit.org authored
      when having -webkit-background-blending applied. Turns out the problem was
      the blending parameter not being passed to WebCore::CrossfadeGeneratedImage::draw
      
      https://bugs.webkit.org/show_bug.cgi?id=126887
      
      Patch by Mihai Tica <mitica@adobe.com> on 2014-01-20
      Reviewed by Dirk Schulze.
      
      Test: css3/compositing/background-blend-mode-crossfade-image.html
      
      * platform/graphics/CrossfadeGeneratedImage.cpp:
      (WebCore::CrossfadeGeneratedImage::draw): set blendMode on context.
      
      LayoutTests: Reapply:
      [CSS Background Blending] Background layer with -webkit-cross-fade doesn't blend
      when having -webkit-background-blending applied. Tests now use SVG rects, instead
      of circles.
      
      https://bugs.webkit.org/show_bug.cgi?id=126887
      Patch by Mihai Tica <mitica@adobe.com> on 2014-01-20
      Reviewed by Dirk Schulze.
      
      * css3/compositing/background-blend-mode-crossfade-image-expected.html:
      * css3/compositing/background-blend-mode-crossfade-image.html:
      * platform/efl/TestExpectations: Pass efl as blendMode is not implemented.
      * platform/mac/TestExpectations: Mark added test as ImageOnlyFailure due to slight differences between the result and the blending formula.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162348 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5553eb78
    • svillar@igalia.com's avatar
      Null-pointer dereference in WebCore::CSSValue::isPrimitiveValue · 93a7060d
      svillar@igalia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124769
      
      Reviewed by Andreas Kling.
      
      Source/WebCore:
      
      Test: fast/gradients/crash-on-no-position-separator.html
      
      The function parseFillPosition() may not return valid values for
      centerX and centerY if the input data is malformed. We need to
      check that we get a valid pair of positions before checking that
      they're actually valid primitive values in the assertions.
      
      * css/CSSParser.cpp:
      (WebCore::CSSParser::parseRadialGradient):
      
      LayoutTests:
      
      Checks that invalid position declarations (like skiping the comma
      separator) do not make the engine crash.
      
      * fast/gradients/crash-on-no-position-separator-expected.txt: Added.
      * fast/gradients/crash-on-no-position-separator.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162344 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      93a7060d