ChangeLog-2014-02-20   [plain text]


2014-02-20  Dean Jackson  <dino@apple.com>

        An unresolved WebGL Context should operate normally until used
        https://bugs.webkit.org/show_bug.cgi?id=129110

        Reviewed by Brent Fulgham.

        Add the ability to create a special instance of WebGLRenderingContext,
        that appears normal but won't actually do anything if asked. This will
        be created in the case of the WebGLLoadPolicy being "pending" and helps
        in the case of pages that feature detect by creating a context and
        immediately deleting it.

        Note that the context doesn't actually try to recover from this state
        yet, although that would be a nice addition. When asked to do something
        it could actually try to create the GraphicsContext3D. However, if it
        fails it would then have to fire a context lost.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::getContext): Move the load policy code out of getContext.
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::create): Add the ability to create a pending context.
        (WebCore::WebGLRenderingContext::WebGLRenderingContext): New constructor for a pending context.
        (WebCore::WebGLRenderingContext::~WebGLRenderingContext): Only delete if not pending.
        (WebCore::WebGLRenderingContext::destroyGraphicsContext3D): Ditto.
        (WebCore::WebGLRenderingContext::clearIfComposited): Everything below is about checking the
        pending state before doing anything, and triggering a resolution if necessary.
        (WebCore::WebGLRenderingContext::activeTexture):
        (WebCore::WebGLRenderingContext::attachShader):
        (WebCore::WebGLRenderingContext::bindAttribLocation):
        (WebCore::WebGLRenderingContext::checkObjectToBeBound):
        (WebCore::WebGLRenderingContext::blendColor):
        (WebCore::WebGLRenderingContext::blendEquation):
        (WebCore::WebGLRenderingContext::blendEquationSeparate):
        (WebCore::WebGLRenderingContext::blendFunc):
        (WebCore::WebGLRenderingContext::blendFuncSeparate):
        (WebCore::WebGLRenderingContext::bufferData):
        (WebCore::WebGLRenderingContext::bufferSubData):
        (WebCore::WebGLRenderingContext::checkFramebufferStatus):
        (WebCore::WebGLRenderingContext::clear):
        (WebCore::WebGLRenderingContext::clearColor):
        (WebCore::WebGLRenderingContext::clearDepth):
        (WebCore::WebGLRenderingContext::clearStencil):
        (WebCore::WebGLRenderingContext::colorMask):
        (WebCore::WebGLRenderingContext::compileShader):
        (WebCore::WebGLRenderingContext::compressedTexImage2D):
        (WebCore::WebGLRenderingContext::compressedTexSubImage2D):
        (WebCore::WebGLRenderingContext::copyTexImage2D):
        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
        (WebCore::WebGLRenderingContext::createBuffer):
        (WebCore::WebGLRenderingContext::createFramebuffer):
        (WebCore::WebGLRenderingContext::createTexture):
        (WebCore::WebGLRenderingContext::createProgram):
        (WebCore::WebGLRenderingContext::createRenderbuffer):
        (WebCore::WebGLRenderingContext::createShader):
        (WebCore::WebGLRenderingContext::cullFace):
        (WebCore::WebGLRenderingContext::deleteObject):
        (WebCore::WebGLRenderingContext::depthFunc):
        (WebCore::WebGLRenderingContext::depthMask):
        (WebCore::WebGLRenderingContext::depthRange):
        (WebCore::WebGLRenderingContext::detachShader):
        (WebCore::WebGLRenderingContext::disable):
        (WebCore::WebGLRenderingContext::disableVertexAttribArray):
        (WebCore::WebGLRenderingContext::validateDrawArrays):
        (WebCore::WebGLRenderingContext::validateDrawElements):
        (WebCore::WebGLRenderingContext::enable):
        (WebCore::WebGLRenderingContext::enableVertexAttribArray):
        (WebCore::WebGLRenderingContext::finish):
        (WebCore::WebGLRenderingContext::flush):
        (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
        (WebCore::WebGLRenderingContext::framebufferTexture2D):
        (WebCore::WebGLRenderingContext::frontFace):
        (WebCore::WebGLRenderingContext::generateMipmap):
        (WebCore::WebGLRenderingContext::getActiveAttrib):
        (WebCore::WebGLRenderingContext::getActiveUniform):
        (WebCore::WebGLRenderingContext::getAttachedShaders):
        (WebCore::WebGLRenderingContext::getAttribLocation):
        (WebCore::WebGLRenderingContext::getBufferParameter):
        (WebCore::WebGLRenderingContext::getContextAttributes):
        (WebCore::WebGLRenderingContext::getExtension):
        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
        (WebCore::WebGLRenderingContext::getParameter):
        (WebCore::WebGLRenderingContext::getProgramParameter):
        (WebCore::WebGLRenderingContext::getProgramInfoLog):
        (WebCore::WebGLRenderingContext::getRenderbufferParameter):
        (WebCore::WebGLRenderingContext::getShaderParameter):
        (WebCore::WebGLRenderingContext::getShaderInfoLog):
        (WebCore::WebGLRenderingContext::getShaderPrecisionFormat):
        (WebCore::WebGLRenderingContext::getShaderSource):
        (WebCore::WebGLRenderingContext::getTexParameter):
        (WebCore::WebGLRenderingContext::getUniform):
        (WebCore::WebGLRenderingContext::getUniformLocation):
        (WebCore::WebGLRenderingContext::getVertexAttrib):
        (WebCore::WebGLRenderingContext::getVertexAttribOffset):
        (WebCore::WebGLRenderingContext::hint):
        (WebCore::WebGLRenderingContext::isBuffer):
        (WebCore::WebGLRenderingContext::isContextLostOrPending):
        (WebCore::WebGLRenderingContext::isEnabled):
        (WebCore::WebGLRenderingContext::isFramebuffer):
        (WebCore::WebGLRenderingContext::isProgram):
        (WebCore::WebGLRenderingContext::isRenderbuffer):
        (WebCore::WebGLRenderingContext::isShader):
        (WebCore::WebGLRenderingContext::isTexture):
        (WebCore::WebGLRenderingContext::lineWidth):
        (WebCore::WebGLRenderingContext::linkProgram):
        (WebCore::WebGLRenderingContext::pixelStorei):
        (WebCore::WebGLRenderingContext::polygonOffset):
        (WebCore::WebGLRenderingContext::readPixels):
        (WebCore::WebGLRenderingContext::releaseShaderCompiler):
        (WebCore::WebGLRenderingContext::renderbufferStorage):
        (WebCore::WebGLRenderingContext::sampleCoverage):
        (WebCore::WebGLRenderingContext::scissor):
        (WebCore::WebGLRenderingContext::shaderSource):
        (WebCore::WebGLRenderingContext::stencilFunc):
        (WebCore::WebGLRenderingContext::stencilFuncSeparate):
        (WebCore::WebGLRenderingContext::stencilMask):
        (WebCore::WebGLRenderingContext::stencilMaskSeparate):
        (WebCore::WebGLRenderingContext::stencilOp):
        (WebCore::WebGLRenderingContext::stencilOpSeparate):
        (WebCore::WebGLRenderingContext::texImage2D):
        (WebCore::WebGLRenderingContext::texParameter):
        (WebCore::WebGLRenderingContext::texSubImage2D):
        (WebCore::WebGLRenderingContext::uniform1f):
        (WebCore::WebGLRenderingContext::uniform1fv):
        (WebCore::WebGLRenderingContext::uniform1i):
        (WebCore::WebGLRenderingContext::uniform1iv):
        (WebCore::WebGLRenderingContext::uniform2f):
        (WebCore::WebGLRenderingContext::uniform2fv):
        (WebCore::WebGLRenderingContext::uniform2i):
        (WebCore::WebGLRenderingContext::uniform2iv):
        (WebCore::WebGLRenderingContext::uniform3f):
        (WebCore::WebGLRenderingContext::uniform3fv):
        (WebCore::WebGLRenderingContext::uniform3i):
        (WebCore::WebGLRenderingContext::uniform3iv):
        (WebCore::WebGLRenderingContext::uniform4f):
        (WebCore::WebGLRenderingContext::uniform4fv):
        (WebCore::WebGLRenderingContext::uniform4i):
        (WebCore::WebGLRenderingContext::uniform4iv):
        (WebCore::WebGLRenderingContext::uniformMatrix2fv):
        (WebCore::WebGLRenderingContext::uniformMatrix3fv):
        (WebCore::WebGLRenderingContext::uniformMatrix4fv):
        (WebCore::WebGLRenderingContext::validateProgram):
        (WebCore::WebGLRenderingContext::vertexAttribPointer):
        (WebCore::WebGLRenderingContext::viewport):
        (WebCore::WebGLRenderingContext::forceLostContext):
        (WebCore::WebGLRenderingContext::forceRestoreContext):
        (WebCore::WebGLRenderingContext::platformLayer):
        (WebCore::WebGLRenderingContext::removeSharedObject):
        (WebCore::WebGLRenderingContext::addSharedObject):
        (WebCore::WebGLRenderingContext::removeContextObject):
        (WebCore::WebGLRenderingContext::addContextObject):
        (WebCore::WebGLRenderingContext::detachAndRemoveAllObjects):
        (WebCore::WebGLRenderingContext::stop):
        (WebCore::WebGLRenderingContext::vertexAttribfImpl):
        (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
        (WebCore::WebGLRenderingContext::vertexAttribDivisor):
        * html/canvas/WebGLRenderingContext.h:

2014-02-20  Dean Jackson  <dino@apple.com>

        Add an unresolved WebGLPolicy and an API to resolve it
        https://bugs.webkit.org/show_bug.cgi?id=129109

        Reviewed by Anders Carlsson.

        Add a third WebGLLoadPolicy which is "pending" allowing the page
        to go ahead with creating the WebGLRenderingContext and resolve the policy
        at a later time. Add a new API resolveWebGLLoadPolicy to do the resolution.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::getContext): WebGLBlock -> WebGLBlockCreation
        * loader/FrameLoaderClient.h:
        (WebCore::FrameLoaderClient::webGLPolicyForURL): WebGLAllow -> WebGLAllowCreation.
        (WebCore::FrameLoaderClient::resolveWebGLPolicyForURL): New method.
        * loader/FrameLoaderTypes.h: Add WebGLPendingCreation.

2014-02-20  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Enable compositing RenderLayer painting on device pixel position.
        https://bugs.webkit.org/show_bug.cgi?id=128509

        Reviewed by Simon Fraser.

        GraphicsLayer is now positioned on device pixel boundary. This enables us to put
        compositing layers on a subpixel position and animate them with device pixel
        precision.

        Tests: fast/sub-pixel/compositing-layers-on-subpixel-position.html
               fast/sub-pixel/simple-clipping.html

        * platform/LayoutUnit.h:
        (WebCore::ceilToDevicePixel):
        * platform/graphics/LayoutPoint.h:
        (WebCore::flooredForPainting):
        (WebCore::ceiledForPainting):
        * platform/graphics/LayoutRect.cpp:
        (WebCore::enclosingRectForPainting):
        * platform/graphics/LayoutRect.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::clipToRect):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::clipBox):
        (WebCore::pixelFractionForLayerPainting):
        (WebCore::calculateDevicePixelOffsetFromRenderer):
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
        (WebCore::RenderLayerBacking::paintIntoLayer):
        * rendering/RenderLayerBacking.h:

2014-02-20  Bem Jones-Bey  <bjonesbe@adobe.com>

        Rename border/padding/margin width/height to horizontal/vertical extent on RenderBoxModelObject
        https://bugs.webkit.org/show_bug.cgi?id=129043

        Reviewed by David Hyatt.

        Using horizontal extent instead of width and vertical extent instead
        of height makes it more obvious that these are measurements of both
        border/margin/padding sides, not just one.

        As David Hyatt put it: "I dislike using terms like 'width' since it
        could be confused with the actual border-width CSS name, i.e., a
        person new to this code would think the method was returning the pixel
        width of a single border."

        No new tests, no behavior change.

        * html/HTMLAppletElement.cpp:
        (WebCore::HTMLAppletElement::updateWidget):
        * inspector/InspectorOverlay.cpp:
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlockFlow::checkFloatsInCleanLine):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::repaintLayerRectsForImage):
        (WebCore::RenderBox::positionForPoint):
        * rendering/RenderBoxModelObject.h:
        (WebCore::RenderBoxModelObject::horizontalBorderExtent):
        (WebCore::RenderBoxModelObject::verticalBorderExtent):
        (WebCore::RenderBoxModelObject::verticalBorderAndPaddingExtent):
        (WebCore::RenderBoxModelObject::horizontalBorderAndPaddingExtent):
        (WebCore::RenderBoxModelObject::verticalMarginExtent):
        (WebCore::RenderBoxModelObject::horizontalMarginExtent):
        * rendering/RenderDeprecatedFlexibleBox.cpp:
        (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
        (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
        (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::computePreferredLogicalWidths):
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::crossAxisMarginExtentForChild):
        (WebCore::RenderFlexibleBox::mainAxisBorderAndPaddingExtentForChild):
        (WebCore::RenderFlexibleBox::computeNextFlexLine):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::localCaretRect):
        (WebCore::RenderInline::generateCulledLineBoxRects):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::resize):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::computePreferredLogicalWidths):
        (WebCore::RenderListBox::computeLogicalHeight):
        * rendering/RenderMenuList.cpp:
        (RenderMenuList::computePreferredLogicalWidths):
        * rendering/RenderScrollbar.cpp:
        (WebCore::RenderScrollbar::trackPieceRectWithMargins):
        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::computePreferredLogicalWidths):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::computeLogicalHeight):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::layout):
        * rendering/line/LineLayoutState.h:
        (WebCore::FloatWithRect::FloatWithRect):
        * rendering/shapes/ShapeInfo.cpp:
        (WebCore::ShapeInfo<RenderType>::setReferenceBoxLogicalSize):
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::updateCachedBoundaries):

2014-02-20  Bem Jones-Bey  <bjonesbe@adobe.com>

        Rename RenderBlockFlow::clearFloats and RenderBlockFlow::newLine to be more accurate
        https://bugs.webkit.org/show_bug.cgi?id=128991

        Reviewed by David Hyatt.

        Rename clearFloats to rebuildFloatingObjectSetFromIntrudingFloats
        since it does just that.

        Rename newLine to clearFloats because it actually does what the CSS
        spec calls clearing floats. This also matches clearFloatsIfNeeded.

        This also removes a FIXME comment that points to a bug that has
        already been fixed.

        This patch is based on a Blink patch by leviw:
        https://src.chromium.org/viewvc/blink?revision=158598&view=revision

        No new tests, no behavior change.

        * rendering/RenderBlockFlow.cpp:
        (WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats):
        (WebCore::RenderBlockFlow::layoutBlock):
        (WebCore::RenderBlockFlow::clearFloats):
        * rendering/RenderBlockFlow.h:
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlockFlow::layoutRunsAndFloats):
        (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
        * rendering/line/BreakingContextInlineHeaders.h:
        (WebCore::BreakingContext::handleFloat):
        * rendering/svg/RenderSVGText.cpp:
        (WebCore::RenderSVGText::layout):

2014-02-19  Pratik Solanki  <psolanki@apple.com>

        ASSERT in FrameLoader::shouldInterruptLoadForXFrameOptions
        https://bugs.webkit.org/show_bug.cgi?id=129081
        <rdar://problem/16026440>

        Reviewed by Alexey Proskuryakov.

        Do not assert if the server sends us a malformed X-Frame-Options header.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):

2014-02-20  Krzysztof Czech  <k.czech@samsung.com>

        AX: Use auto to reduce some code in loops
        https://bugs.webkit.org/show_bug.cgi?id=129087

        Reviewed by Chris Fleizach.

        Use auto where appropriate to reduce some code.

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::boundingBoxForQuads):
        (WebCore::AccessibilityObject::ariaRoleToWebCoreRole):
        * accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp:
        (webkitAccessibleHypertextGetNLinks):

2014-02-20  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r164422.
        http://trac.webkit.org/changeset/164422
        https://bugs.webkit.org/show_bug.cgi?id=129102

        Causes assertions in
        ScriptExecutionContext::canSuspendActiveDOMObjects()
        (Requested by zdobersek on #webkit).

        * dom/KeyboardEvent.cpp:
        (WebCore::KeyboardEvent::KeyboardEvent):
        * dom/KeyboardEvent.h:
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::reportException):
        (WebCore::ScriptExecutionContext::publicURLManager):
        * dom/ScriptExecutionContext.h:
        * dom/ScriptRunner.h:

2014-02-20  Zan Dobersek  <zdobersek@igalia.com>

        Move to using std::unique_ptr for VisitedLinkState, CheckedRadioButtons
        https://bugs.webkit.org/show_bug.cgi?id=128967

        Reviewed by Andreas Kling.

        Replace uses of OwnPtr and PassOwnPtr in the VisitedLinkState and
        CheckedRadioButtons classes with std::unique_ptr.

        * dom/CheckedRadioButtons.cpp:
        (WebCore::RadioButtonGroup::RadioButtonGroup):
        (WebCore::RadioButtonGroup::remove):
        (WebCore::CheckedRadioButtons::addButton):
        (WebCore::CheckedRadioButtons::removeButton):
        * dom/CheckedRadioButtons.h:
        * dom/Document.cpp:
        (WebCore::Document::Document):
        * dom/Document.h:
        * dom/VisitedLinkState.cpp:
        * dom/VisitedLinkState.h:

2014-02-20  Artur Moryc  <a.moryc@samsung.com>

        AX: Children Nodes for Canvas objects are not equal to Render Objects.
        https://bugs.webkit.org/show_bug.cgi?id=123568

        Reviewed by Chris Fleizach.

        There is a difference in children nodes taken into account for RenderObject
        and for NodeObject types. There is a problem with text nodes that are
        focusable for EFL/GTK and therefore are not filtered out in the test like it
        happens for the MAC port. Text nodes are eliminated in the
        AccessibilityRenderObject::computeAccessibilityIsIgnored() method. The same
        approach has been applied to the NodeObject to eliminate text nodes.

        Covered by existing tests.

        * accessibility/AccessibilityNodeObject.cpp:
        (WebCore::AccessibilityNodeObject::computeAccessibilityIsIgnored):

2014-02-20  Zan Dobersek  <zdobersek@igalia.com>

        Move to using std::unique_ptr for KeyboardEvent, ScriptExecutionContext::PendingException
        https://bugs.webkit.org/show_bug.cgi?id=129061

        Reviewed by Andreas Kling.

        Replace uses of OwnPtr and PassOwnPtr for KeyboardEvent and ScriptExecutionContext::PendingException
        classes with std::unique_ptr. ScriptExecutionContext::Task objects are still handled through OwnPtr,
        but this will be addressed later.

        * dom/KeyboardEvent.cpp:
        (WebCore::KeyboardEvent::KeyboardEvent):
        * dom/KeyboardEvent.h:
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::reportException):
        (WebCore::ScriptExecutionContext::publicURLManager):
        * dom/ScriptExecutionContext.h:
        * dom/ScriptRunner.h: Remove an unnecessary PassOwnPtr header inclusion.

2014-02-20  Zan Dobersek  <zdobersek@igalia.com>

        Move to using std::unique_ptr for EventListenerMap, EventTarget
        https://bugs.webkit.org/show_bug.cgi?id=129062

        Reviewed by Andreas Kling.

        Replace uses of OwnPtr and PassOwnPtr in the EventListenerMap and
        EventTarget classes with std::unique_ptr.

        * dom/EventListenerMap.cpp:
        (WebCore::EventListenerMap::add):
        * dom/EventListenerMap.h:
        * dom/EventTarget.cpp:
        (WebCore::EventTarget::fireEventListeners):
        * dom/EventTarget.h:

2014-02-20  Zan Dobersek  <zdobersek@igalia.com>

        Move to using std::unique_ptr for Document and related classes
        https://bugs.webkit.org/show_bug.cgi?id=129063

        Reviewed by Anders Carlsson.

        Replace uses of OwnPtr and PassOwnPtr in the Document and related classes with std::unique_ptr.

        * dom/DOMImplementation.h:
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::removedLastRef):
        (WebCore::Document::selectorQueryCache):
        (WebCore::Document::implementation):
        (WebCore::Document::formController):
        (WebCore::Document::createStyleResolver):
        (WebCore::Document::clearStyleResolver):
        (WebCore::Document::clearAXObjectCache):
        (WebCore::Document::axObjectCache):
        (WebCore::Document::setParsing):
        (WebCore::Document::styleResolverChanged):
        (WebCore::Document::setTransformSource):
        (WebCore::Document::accessSVGExtensions):
        (WebCore::Document::sharedObjectPoolClearTimerFired):
        (WebCore::Document::didAddTouchEventHandler):
        * dom/Document.h:
        * dom/DocumentEventQueue.cpp:
        (WebCore::DocumentEventQueue::DocumentEventQueue):
        * dom/DocumentEventQueue.h:
        * dom/DocumentMarkerController.cpp:
        (WebCore::DocumentMarkerController::addMarker):
        * dom/DocumentMarkerController.h:
        * dom/DocumentSharedObjectPool.cpp:
        * dom/DocumentSharedObjectPool.h:
        * dom/DocumentStyleSheetCollection.cpp:
        (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
        (WebCore::DocumentStyleSheetCollection::activeStyleSheetsContains):
        * dom/DocumentStyleSheetCollection.h:
        * dom/DocumentType.h:
        * html/FormController.h:
        * rendering/TextAutosizer.h:
        * xml/parser/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::doEnd):

2014-02-20  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] Add helper method for region clipping flow content
        https://bugs.webkit.org/show_bug.cgi?id=129036

        Reviewed by Andrei Bucur.

        Add helper method to test whether a region should clip the flow thread content
        and use it thoughout the code.
        Code refactoring, no functionality change, no new tests.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::calculateClipRects):
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
        (WebCore::RenderRegion::shouldClipFlowThreadContent):
        (WebCore::RenderRegion::rectFlowPortionForBox):
        * rendering/RenderRegion.h:

2014-02-20  Frédéric Wang  <fred.wang@free.fr>

        Implement the MathML Operator Dictionary.
        https://bugs.webkit.org/show_bug.cgi?id=99620

        Reviewed by Chris Fleizach.

        The MathML Operator Dictionary is implemented and the corresponding mo
        attributes are parsed. Currently, only the stretchy property is used for
        the visual rendering and the fence/separators properties are used by the
        accessibility code. Very basic heuristics to determine the form are also
        added.

        Tests: mathml/presentation/mo-form-fallback.html
               mathml/presentation/mo-form-stretchy.html
               mathml/presentation/mo-invalid-attributes.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isMathFenceOperator):
        (WebCore::AccessibilityRenderObject::isMathSeparatorOperator):
        * mathml/mathattrs.in:
        * rendering/mathml/RenderMathMLFenced.cpp:
        (WebCore::RenderMathMLFenced::createMathMLOperator):
        (WebCore::RenderMathMLFenced::makeFences):
        (WebCore::RenderMathMLFenced::addChild):
        * rendering/mathml/RenderMathMLFenced.h:
        * rendering/mathml/RenderMathMLOperator.cpp:
        (WebCore::MathMLOperatorDictionary::ExtractKey):
        (WebCore::MathMLOperatorDictionary::ExtractChar):
        (WebCore::RenderMathMLOperator::RenderMathMLOperator):
        (WebCore::RenderMathMLOperator::setOperatorFlagFromAttribute):
        (WebCore::RenderMathMLOperator::setOperatorPropertiesFromOpDictEntry):
        (WebCore::RenderMathMLOperator::SetOperatorProperties):
        (WebCore::RenderMathMLOperator::advanceForCharacter):
        (WebCore::RenderMathMLOperator::computePreferredLogicalWidths):
        (WebCore::RenderMathMLOperator::updateFromElement):
        (WebCore::RenderMathMLOperator::shouldAllowStretching):
        (WebCore::RenderMathMLOperator::updateStyle):
        * rendering/mathml/RenderMathMLOperator.h:

2014-02-19  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Make GraphicsLayer's offsetFromRenderer subpixel position based.
        https://bugs.webkit.org/show_bug.cgi?id=128694

        Reviewed by Simon Fraser.

        Changing layers from using integral types to using Float/LayoutUnits so that
        we can position them on subpixels. They are still integral positioned though.

        Covered by existing tests.

        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::setOffsetFromRenderer):
        (WebCore::GraphicsLayer::paintGraphicsLayerContents):
        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::offsetFromRenderer): removed incorrect comment.
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
        (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread):
        (WebCore::RenderLayerBacking::positionOverflowControlsLayers):
        (WebCore::RenderLayerBacking::computeTransformOrigin):
        (WebCore::RenderLayerBacking::computePerspectiveOrigin):
        * rendering/RenderLayerBacking.h:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::requiresOwnBackingStore):
        * rendering/RenderLayerCompositor.h:
        * rendering/RenderMultiColumnSet.cpp:
        (WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):
        * rendering/RenderMultiColumnSet.h:
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::adjustRegionBoundsFromFlowThreadPortionRect):
        * rendering/RenderRegion.h:

2014-02-19  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Make GraphicsLayer::paintGraphicsLayerContents()'s cliprect FloatRect based.
        https://bugs.webkit.org/show_bug.cgi?id=128911

        Reviewed by Simon Fraser.

        Switching from IntRect to FloatRect makes device pixel position clipping possible.

        Covered by existing tests.

        * WebCore.exp.in:
        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::paintGraphicsLayerContents):
        * platform/graphics/GraphicsLayer.h:
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::platformCALayerPaintContents):
        * platform/graphics/ca/GraphicsLayerCA.h:
        * platform/graphics/ca/PlatformCALayerClient.h:
        * platform/graphics/ca/mac/TileController.h:
        * platform/graphics/ca/mac/TileController.mm:
        (WebCore::TileController::platformCALayerPaintContents):
        * platform/graphics/mac/WebLayer.mm:
        (WebCore::drawLayerContents):
        (-[WebSimpleLayer drawInContext:]):

2014-02-19  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: (RenderLayer)Pass non-css-pixel-snapped dirty rects to PaintInfo when painting renderer().
        https://bugs.webkit.org/show_bug.cgi?id=128913

        Reviewed by Simon Fraser.

        This is part of the preparation to move RenderLayers to device pixel positioning.
        We might need to device pixelsnapp the dirty rects later, but PaintInfo should be
        able to manage that instead of doing it everywhere in the code.

        Covered by existing tests.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintBackgroundForFragments):
        (WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
        (WebCore::RenderLayer::paintOutlineForFragments):
        (WebCore::RenderLayer::paintMaskForFragments):

2014-02-19  Ryosuke Niwa  <rniwa@webkit.org>

        fieldset:disabled fieldset > legend:first-child input should be disabled
        https://bugs.webkit.org/show_bug.cgi?id=129077

        Reviewed by Antti Koivisto.

        Similar to r164403. When a fieldset inside a disabled fieldset, input elements inside
        the inner fieldset's first legend element child should be disabled.

        Test: fast/forms/fieldset/fieldset-disabled-2.html

        * html/HTMLFieldSetElement.cpp:
        (WebCore::HTMLFieldSetElement::legend): Fixed the bug where it was returning the first
        legend element descendent. It should be the first legend element _child_.
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::updateAncestorDisabledState): Fixed the algorithm
        to look for any ancestor fieldset that has been disabled instead of the first fieldset
        ancestor and checking its disabledness.

2014-02-19  Ryosuke Niwa  <rniwa@webkit.org>

        Debug build fix after r164401. Removed a bogus assertion in comparePositions.
        When either position is anchored at a detached node, they don't have a tree scope in common.

        * editing/htmlediting.cpp:
        (WebCore::comparePositions):

2014-02-19  Ryosuke Niwa  <rniwa@webkit.org>

        fieldset:disabled > legend:first-child legend input should not be disabled
        https://bugs.webkit.org/show_bug.cgi?id=129068

        Reviewed by Andreas Kling.

        An input element inside a disabled fieldset element is ordinarily disabled unless it's inside
        a legend element that is the first of its kind to appear in the fieldset's child node list.

        Prior to this patch, an input element inside such a legend element was erroneously disabled if
        we had another legend element between the two as in <fieldset disabled><legend><legend><input>.

        Fixed the bug by correcting the algorithm in updateAncestorDisabledState.

        Test: fast/forms/fieldset/fieldset-disabled-2.html

        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::updateAncestorDisabledState):

2014-02-18  Ryosuke Niwa  <rniwa@webkit.org>

        Changing selection shouldn't synchronously update editor UI components
        https://bugs.webkit.org/show_bug.cgi?id=129024

        Reviewed by Brent Fulgham.

        Make updates to spellchecker, alternative text controller (correction pane), and delete button controller
        asynchronous for programmatically triggered selection changes.

        We continue to update their states synchronously immediately after we have applied, unapplied, or reapplied
        editing commands to keep states in spell checker and alternative text controller consistent. We should be
        able to make them asynchronous as well in the future but that should be done in a separate patch.

        * WebCore.exp.in:
        * editing/AlternativeTextController.cpp:
        (WebCore::AlternativeTextController::respondToChangedSelection): This function used to enumerate all document
        makers and call respondToMarkerAtEndOfWord on each one of them only to exit early when SetSelectionOptions
        had DictationTriggered. This condition is now checked in Editor::respondToChangedSelection to avoid all the
        unnecessary work and remove the dependency on SetSelectionOptions.
        (WebCore::AlternativeTextController::respondToMarkerAtEndOfWord): Ditto.
        * editing/AlternativeTextController.h:

        * editing/Editor.cpp:
        (WebCore::Editor::appliedEditing): Calls updateEditorUINowIfScheduled before calling respondToAppliedEditing
        on the alternative text controller.
        (WebCore::Editor::unappliedEditing): Ditto.
        (WebCore::Editor::reappliedEditing): Ditto.
        (WebCore::Editor::Editor): Initializes newly added booleans.
        (WebCore::Editor::respondToChangedSelection): Continue to call respondToChangedSelection (for API consistency)
        and setStartNewKillRingSequence but defer the "editor UI updates" to spellchecker, alternative text controller
        and delete button controller by firing a newly added one shot timer.
        (WebCore::Editor::updateEditorUINowIfScheduled): Synchronously update the pending editor UI updates.
        (WebCore::Editor::editorUIUpdateTimerFired): Extracted from respondToChangedSelection.
        * editing/Editor.h:

        * testing/Internals.cpp:
        (WebCore::Internals::markerCountForNode): Calls updateEditorUINowIfScheduled() to update document markers.
        (WebCore::Internals::markerAt): Ditto.
        (WebCore::Internals::updateEditorUINowIfScheduled): Added.
        (WebCore::Internals::findEditingDeleteButton): Added. Updates delete button controller synchronously.
        (WebCore::Internals::hasSpellingMarker): Calls updateEditorUINowIfScheduled() to update document markers.
        (WebCore::Internals::hasAutocorrectedMarker): Ditto.
        * testing/Internals.h:
        * testing/Internals.idl:

2014-02-19  Anders Carlsson  <andersca@apple.com>

        Add WTF_MAKE_FAST_ALLOCATED to more classes
        https://bugs.webkit.org/show_bug.cgi?id=129064

        Reviewed by Andreas Kling.

        * dom/EventContext.h:
        * platform/graphics/Region.h:
        * platform/text/BidiResolver.h:
        * rendering/LayoutState.h:

2014-02-19  Ryosuke Niwa  <rniwa@webkit.org>

        isEditablePosition shouldn't trigger synchronous layout
        https://bugs.webkit.org/show_bug.cgi?id=129026

        Reviewed by Brent Fulgham.

        Just trigger style recalc instead.

        * editing/htmlediting.cpp:
        (WebCore::isEditablePosition):

2014-02-19  Beth Dakin  <bdakin@apple.com>

        UIProcess needs to know the color of the page's extended background
        https://bugs.webkit.org/show_bug.cgi?id=129004

        Rubber-stamped by Andreas Kling.

        Missed this late-breaking review comment. Fixing now!

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::RenderLayerCompositor):

2014-02-19  Beth Dakin  <bdakin@apple.com>

        UIProcess needs to know the color of the page's extended background
        https://bugs.webkit.org/show_bug.cgi?id=129004

        Reviewed by Brent Fulgham.

        This patch adds a new ChromeClient function, 
        pageExtendedBackgroundColorDidChange() which will be called whenever the extended 
        background color has changed.

        New function.
        * page/ChromeClient.h:
        (WebCore::ChromeClient::pageExtendedBackgroundColorDidChange):

        Store the extended background color in a member variable so that we can know if it 
        changed even if we do not have an m_layerForOverhangAreas.
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
        (WebCore::RenderLayerCompositor::setRootExtendedBackgroundColor):
        * rendering/RenderLayerCompositor.h:

2014-02-19  Dirk Schulze  <krit@webkit.org>

        Missing box doesn't use border-box as reference box for clip-path
        https://bugs.webkit.org/show_bug.cgi?id=129049

        Reviewed by Simon Fraser.

        If no reference box was specified the default reference box should be
        border-box. Previously to this patch the reference box was the bounding
        client rect. This was not following the specification.
        http://www.w3.org/TR/2014/WD-css-masking-1-20140213/#the-clip-path
        The change affects content using -webkit-clip-path in Safari. Since the
        bounding client box is equalvalent to the border box most of the time
        there shouldn't be to much impact.

        Existing tests cover the issue.

        * rendering/RenderLayer.cpp:
        (WebCore::computeReferenceBox):

2014-02-19  James Craig  <jcraig@apple.com>

        Web Inspector: AX: clarify reason for ignored state where possible (hidden, default for tag, etc)
        https://bugs.webkit.org/show_bug.cgi?id=129037

        Reviewed by Timothy Hatcher.

        Passing back hidden and ignoredByDefault attrs to clarify some reasons for "ignored" status.

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

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
        * inspector/protocol/DOM.json:

2014-02-19  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>

        [WebRTC] Updating RTCConfiguration to match WebRTC editor's draft of 01/27/2014
        https://bugs.webkit.org/show_bug.cgi?id=129000

        Reviewed by Eric Carlson.

        Adding RTCIceTransports and RTCIdentityOption to RTCConfiguration object.

        Existing test was updated.

        * Modules/mediastream/RTCPeerConnection.cpp:
        (WebCore::RTCPeerConnection::parseConfiguration): Taking into account iceTransports and requestIdentity
        parameters.
        * platform/mediastream/RTCConfiguration.h:
        (WebCore::RTCConfiguration::iceTransports): Added.
        (WebCore::RTCConfiguration::setIceTransports): Added.
        (WebCore::RTCConfiguration::requestIdentity): Added.
        (WebCore::RTCConfiguration::setRequestIdentity): Added.
        (WebCore::RTCConfiguration::RTCConfiguration): Initialize iceTransports and requestIdentity with the default
        values.

2014-02-19  Antti Koivisto  <antti@apple.com>

        Don't call to willBeDeletedFrom(Document&) when destructing document
        https://bugs.webkit.org/show_bug.cgi?id=129013

        Reviewed by Andreas Kling.
        
        The document is half dead at this point.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::~ContainerNode):

2014-02-19  Daniel Bates  <dabates@apple.com>

        REGRESSION (r163560): Always treat SVG <tspan> and <textPath> as display inline
        https://bugs.webkit.org/show_bug.cgi?id=128552
        <rdar://problem/16029658>

        Reviewed by Andreas Kling.

        Following <http://trac.webkit.org/changeset/163560>, SVG <tspan> and <textPath> may be treated as block-
        level elements depending on their CSS styles (e.g. display: block). But such elements should always be
        treated as inline-level elements.

        Tests: svg/text/textpath-display-block.html
               svg/text/textpath-display-none.html
               svg/text/tspan-display-block.html

        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::adjustRenderStyle):

2014-02-19  Daniel Bates  <dabates@apple.com>

        Do not dispatch change event twice in single step action
        https://bugs.webkit.org/show_bug.cgi?id=116936
        <rdar://problem/16086828>

        Reviewed by Ryosuke Niwa.

        Merged from Blink (patch by Kent Tamura):
        https://src.chromium.org/viewvc/blink?view=rev&revision=151175

        Test: fast/forms/number/number-type-update-by-change-event.html

        * html/InputType.cpp:
        (WebCore::InputType::stepUpFromRenderer):

2014-02-19  Brady Eidson  <beidson@apple.com>

        Add FeatureDefines for image controls
        https://bugs.webkit.org/show_bug.cgi?id=129022

        Reviewed by Jer Noble.

        * Configurations/FeatureDefines.xcconfig:

2014-02-19  Piotr Grad  <p.grad@samsung.com>

        Setting playback rate on Media Controller modifies current time.
        https://bugs.webkit.org/show_bug.cgi?id=129042

        Reviewed by Jer Noble.

        In ClockGeneric: when setting playback rate or stoping timer,clock was restarted using current real time
        instead of provided time by setCurrentTime.
        Changed impl. so that m_offset is updated when clock stops to remember last clock position.
        When playbackRate is changed m_offset is updated in order to not use old time interval for new playback rate.

        Test: media/video-controller-currentTime-rate.html

        * html/MediaController.cpp:
        (MediaController::updatePlaybackState):
        * platform/ClockGeneric.cpp:
        (ClockGeneric::setPlayRate):
        (ClockGeneric::start):
        (ClockGeneric::stop):

2014-02-19  Brady Eidson  <beidson@apple.com>

        Add settings/preferences for enabling image controls
        https://bugs.webkit.org/show_bug.cgi?id=129027

        Reviewed by Jer Noble.

        * WebCore.exp.in:

        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        (WebCore::Settings::setImageControlsEnabled):
        * page/Settings.h:
        (WebCore::Settings::imageControlsEnabled):

2014-02-19  Bem Jones-Bey  <bjonesbe@adobe.com>

        [CSS Shapes] shape-outside does not properly handle different writing modes
        https://bugs.webkit.org/show_bug.cgi?id=128631

        Reviewed by David Hyatt.

        Fix ShapeOutsideInfo to properly convert the line coordinates and
        shape coordinates with respect to the writing mode and writing
        direction for the lines that are affected by the shape. This is
        notably different from shape inside in that shape outside needs to use
        the writing mode of the container, not of the element that the shape
        is applied to.

        Tests: fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-border-box.html
               fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-content-box.html
               fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-margin-box.html
               fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-padding-box.html
               fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-border-box.html
               fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-content-box.html
               fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-margin-box.html
               fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-padding-box.html

        * rendering/RenderBoxModelObject.h:
        (WebCore::RenderBoxModelObject::borderWidth): Used by
            ShapeInfo::setReferenceBoxLogicalSize.
        (WebCore::RenderBoxModelObject::borderHeight): Ditto.
        * rendering/shapes/ShapeInfo.cpp:
        (WebCore::ShapeInfo<RenderType>::setReferenceBoxLogicalSize): Use the
            container's writing mode to determine the logical dimensions in
            the case of shape outside.
        (WebCore::ShapeInfo<RenderType>::computedShape): Use the new
            ShapeInfo::styleForWritingMode method.
        (WebCore::borderBeforeInWritingMode): Determines the borderBefore for
            the passed in renderer using the writing mode passed in. The
            borderBefore method on the renderer is implemented in RenderStyle,
            unlike with the margin methods, so this was chosen instead of
            attempting to move the border method implementation into a place
            where it could take the writing mode as an argument.
        (WebCore::borderAndPaddingBeforeInWritingMode): Determines the
            borderAndPaddingBefore for the passed in renderer using the
            given writihg mode. See above for why this method instead of doing
            it like margins.
        (WebCore::borderStartWithStyleForWritingMode): Determines the
            borderStart for the passed in renderer using the writing mode and
            direction from the style passed in. See above for why this method
            instead of doing it like margins.
        (WebCore::borderAndPaddingStartWithStyleForWritingMode): Determines
            the borderAndPaddingStart for the passed in renderer using the
            writing mode and direction from the style passed in. See above for
            why this method instead of doing it like margins.
        (WebCore::ShapeInfo<RenderType>::logicalTopOffset): Use the
            container's writing mode to determine the logicalTopOffset in the
            case of shape outside.
        (WebCore::ShapeInfo<RenderType>::logicalLeftOffset): Use the
            container's writing mode to determine the logicalTopOffset in the
            case of shape outside.
        * rendering/shapes/ShapeInfo.h:
        * rendering/shapes/ShapeInsideInfo.cpp:
        (WebCore::ShapeInsideInfo::styleForWritingMode): Return the entire
            style because to determine start/end the writing direction is
            needed in addtion to the writing mode.
        * rendering/shapes/ShapeInsideInfo.h:
        * rendering/shapes/ShapeOutsideInfo.cpp:
        (WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine):
            Properly convert the containing block line into the reference box
            coordinates of the shape.
        (WebCore::ShapeOutsideInfo::styleForWritingMode): Return the entire
            style because to determine start/end the writing direction is
            needed in addtion to the writing mode.
        * rendering/shapes/ShapeOutsideInfo.h:

2014-02-19  Xabier Rodriguez Calvar  <calvaris@igalia.com>

        [GStreamer] the GstPlayFlags enum diverged from upstream
        https://bugs.webkit.org/show_bug.cgi?id=128957

        Reviewed by Philippe Normand.

        Removed the GstPlayFlags from the GStreamer implementation and
        replaced by the use of the GFlags.

        * platform/graphics/gstreamer/GStreamerUtilities.h:
        * platform/graphics/gstreamer/GStreamerUtilities.cpp:
        (WebCore::getGstPlaysFlag): Created to get the flags by using the
        GFlags infrastructure.
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::setDownloadBuffering):
        Replaced GST_PLAY_FLAG_DOWNLOAD with getGstPlaysFlag.

2014-02-19  Zan Dobersek  <zdobersek@igalia.com>

        Replace WTF::bind() uses in RTCPeerConnection with C++11 lambdas
        https://bugs.webkit.org/show_bug.cgi?id=129001

        Reviewed by Eric Carlson.

        * Modules/mediastream/RTCPeerConnection.cpp:
        (WebCore::RTCPeerConnection::setLocalDescription): Pass a lambda function to
        callOnMainThread() instead of using WTF::bind().
        (WebCore::RTCPeerConnection::setRemoteDescription): Ditto.

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

        Simplify PLATFORM(MAC) && !PLATFORM(IOS) and similar expressions
        https://bugs.webkit.org/show_bug.cgi?id=129029

        Reviewed by Mark Rowe.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
        (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
        * config.h:
        * editing/Editor.cpp:
        (WebCore::Editor::copyURL):
        * editing/EditorCommand.cpp:
        (WebCore::createCommandMap):
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::markMisspellingsAfterTyping):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadArchive):
        * page/AlternativeTextClient.h:
        * page/EventHandler.cpp:
        * page/PageGroup.cpp:
        (WebCore::PageGroup::captionPreferences):
        * page/scrolling/ScrollingStateScrollingNode.cpp:
        (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
        * page/scrolling/ScrollingStateScrollingNode.h:
        * page/scrolling/ScrollingTree.h:
        * page/scrolling/ThreadedScrollingTree.cpp:
        * page/scrolling/ThreadedScrollingTree.h:
        * platform/DragData.h:
        * platform/FileSystem.cpp:
        * platform/MemoryPressureHandler.cpp:
        * platform/Pasteboard.h:
        * platform/PlatformMouseEvent.h:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/PlatformPasteboard.h:
        * platform/PlatformScreen.h:
        * platform/Scrollbar.cpp:
        (WebCore::Scrollbar::supportsUpdateOnSecondaryThread):
        * platform/SuddenTermination.h:
        * platform/ThreadGlobalData.cpp:
        (WebCore::ThreadGlobalData::ThreadGlobalData):
        (WebCore::ThreadGlobalData::destroy):
        * platform/ThreadGlobalData.h:
        * platform/audio/mac/AudioDestinationMac.cpp:
        * platform/audio/mac/AudioFileReaderMac.cpp:
        * platform/audio/mac/AudioSessionMac.cpp:
        * platform/graphics/DisplayRefreshMonitor.h:
        * platform/graphics/FloatPoint.h:
        * platform/graphics/FloatRect.h:
        * platform/graphics/FloatSize.h:
        * platform/graphics/IntRect.h:
        * platform/graphics/IntSize.h:
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::installedMediaEngines):
        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::utiFromMIMEType):
        * platform/graphics/cg/PDFDocumentImage.h:
        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
        * platform/graphics/mac/GraphicsContextMac.mm:
        (WebCore::GraphicsContext::drawLineForDocumentMarker):
        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
        (WebCore::Extensions3DOpenGL::supportsExtension):
        (WebCore::Extensions3DOpenGL::drawBuffersEXT):
        * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
        (WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon):
        * platform/mac/KeyEventMac.mm:
        * platform/network/NetworkStateNotifier.h:
        * platform/network/cf/CookieJarCFNet.cpp:
        * platform/network/cf/ResourceRequest.h:
        * platform/network/cf/ResourceRequestCFNet.cpp:
        * platform/network/cf/SocketStreamHandleCFNet.cpp:
        (WebCore::SocketStreamHandle::reportErrorToClient):
        * platform/text/TextEncodingRegistry.cpp:
        (WebCore::extendTextCodecMaps):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::allowsIndependentlyCompositedFrames):
        (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):

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

        PLATFORM(MAC) is true when building for iOS
        https://bugs.webkit.org/show_bug.cgi?id=129025

        Reviewed by Mark Rowe.

        * editing/Editor.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA) now that the former does not
        include iOS.

2014-02-17  Gavin Barraclough  <barraclough@apple.com>

        Add fast mapping from StringImpl to JSString
        https://bugs.webkit.org/show_bug.cgi?id=128625

        Reviewed by Geoff Garen & Andreas Kling.

        Removed JSStringCache from WebCore; call JSC::jsStringWithWeakOwner instead.

        * bindings/js/DOMWrapperWorld.cpp:
        (WebCore::DOMWrapperWorld::clearWrappers):
            - removed JSStringCache.
        * bindings/js/DOMWrapperWorld.h:
            - removed JSStringCache.
        * bindings/js/JSDOMBinding.h:
        (WebCore::jsStringWithCache):
            - call jsStringWithWeakOwner insead of using JSStringCache.
        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::commonVM):
            - renamed createLeaked -> createLeakedForMainThread.
        * bindings/scripts/StaticString.pm:
        (GenerateStrings):
            - StringImpl has an additional field.

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

        Remove UIWKRemoteView
        https://bugs.webkit.org/show_bug.cgi?id=129015

        Reviewed by Dan Bernstein.

        The project referenced a maketokenizer script that disappeared
        long ago.

        * WebCore.xcodeproj/project.pbxproj:

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

        border-box clip-paths jump around when outline changes
        https://bugs.webkit.org/show_bug.cgi?id=128929

        Reviewed by Dirk Schulze.
        
        computeReferenceBox() for clip paths was using "rootRelativeBounds"
        to position the border-box. This bounds is an enclosing bounds for
        the layer and its descendants, including outlines and absolute descendants,
        so it is not the correct box to use to offset the border-box.
        
        The caller has offsetFromRoot(), which is the correct thing to use,
        so use it.

        Test: css3/masking/clip-path-root-relative-bounds.html

        * rendering/RenderLayer.cpp:
        (WebCore::computeReferenceBox):
        (WebCore::RenderLayer::setupClipPath):

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

        Web Inspector: AX: more properties: exists, required, and invalid (exists was previously combined with ignored)
        https://bugs.webkit.org/show_bug.cgi?id=128504

        Reviewed by Timothy Hatcher.

        Additions to the accessibility node inspector: exists, required, invalid.

        Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
        * inspector/protocol/DOM.json:

2014-02-18  Ryosuke Niwa  <rniwa@webkit.org>

        Commit the code change supposed to happen in r164320.

        * editing/Editor.cpp:
        (WebCore::Editor::setIgnoreCompositionSelectionChange):
        (WebCore::Editor::respondToChangedSelection):
        * editing/Editor.h:

2014-02-18  Ryosuke Niwa  <rniwa@webkit.org>

        TextFieldInputType::handleBeforeTextInsertedEvent shouldn't use plainText
        https://bugs.webkit.org/show_bug.cgi?id=128953

        Reviewed by Alexey Proskuryakov.

        Don't use FrameSelection's toNormalizedRange and plainText. Instead, use the cached selection start and selection
        end to extract the selected text. The caches are updated inside FrameSelection::setSelection whenever selection
        is inside a text form control via HTMLTextFormControlElement::selectionChanged.

        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):

2014-02-18  Viatcheslav Ostapenko  <sl.ostapenko@samsung.com>

        Bottom/right sticky positioning don't correctly handle scroll containers with padding
        https://bugs.webkit.org/show_bug.cgi?id=119280

        Reviewed by Simon Fraser.

        Take padding into account during calculation of overflow constraining rect for sticky
        positioning.

        Test: fast/css/sticky/sticky-bottom-overflow-padding.html

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::stickyPositionOffset):

2014-02-17  Jon Honeycutt  <jhoneycutt@apple.com>

        Crash when merging ruby bases that contain floats

        https://bugs.webkit.org/show_bug.cgi?id=127515
        <rdar://problem/15896562>

        This crash occurs when we remove a ruby text object and decide to merge
        two adjacent ruby base objects. The right ruby base's children were
        being merged into the left ruby base, but the right ruby base's floats
        were not being moved to the left base. This could cause us not to
        descend into all nodes containing a FloatingObject in
        RenderBlockFlow::markAllDescendantsWithFloatsForLayout(), because we
        assume that if a block does not have a particular float in its float
        list, none of its descendants will, either.

        Reviewed by David Hyatt.

        Test: fast/ruby/ruby-base-merge-block-children-crash-2.html

        * rendering/RenderBlockFlow.cpp:
        (WebCore::RenderBlockFlow::moveFloatsTo):
        Code split out of moveAllChildrenIncludingFloatsTo().
        (WebCore::RenderBlockFlow::moveAllChildrenIncludingFloatsTo):
        Call moveFloatsTo().

        * rendering/RenderBlockFlow.h:
        Add declaration of moveFloatsTo().

        * rendering/RenderRubyBase.cpp:
        (WebCore::RenderRubyBase::mergeChildrenWithBase):
        Move children and floats to the new base.

        * rendering/RenderRubyBase.h:
        Declare mergeChildrenWithBase().

        * rendering/RenderRubyRun.cpp:
        (WebCore::RenderRubyRun::removeChild):
        Call mergeChildrenWithBase().

2014-02-18  Ryosuke Niwa  <rniwa@webkit.org>

        iOS build fix after r164319.

        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::setSelectedRange):

2014-02-18  Samuel White  <samuel_white@apple.com>

        AX: Searching for "immediate descendants only" can return unexpected results.
        https://bugs.webkit.org/show_bug.cgi?id=128986

        Reviewed by Chris Fleizach.

        Missed an application of the immediateDescendantsOnly flag during the initial implementation. We
        need to make sure we don't decend into the startObject first if it is provided. This fix causes
        the outer loop to 'skip' the first iteration so only siblings of the startObject are considered.

        No new tests, updated existing search-predicate-immediate-descendants-only.html test to cover this case.

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::findMatchingObjects):

2014-02-18 Ryosuke Niwa <rniwa@webkit.org>

        Merge notifyComponentsOnChangedSelection into respondToSelectionChange
        https://bugs.webkit.org/show_bug.cgi?id=128993

        Reviewed by Andreas Kling.

        Merged notifyComponentsOnChangedSelection into respondToSelectionChange since notifyComponentsOnChangedSelection
        was only added in iOS codebase in response to the code added for continuous spellchecking and alternative text controller
        in respondToChangedSelection but they should have been called inside setIgnoreCompositionSelectionChange.

        So merge these two functions and make respondToChangedSelection behave like setIgnoreCompositionSelectionChange.

        * editing/Editor.cpp:
        (WebCore::Editor::setIgnoreCompositionSelectionChange):
        (WebCore::Editor::respondToChangedSelection):
        * editing/Editor.h:

2014-02-18  Ryosuke Niwa  <rniwa@webkit.org>

        FrameSelection::textWasReplaced and setSelectedRange shouldn't trigger synchronous layout
        https://bugs.webkit.org/show_bug.cgi?id=128951

        Reviewed by Antti Koivisto.

        Cleanup.

        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::textWasReplaced): Don't call updateLayout. It's totally unnecessarily.
        (WebCore::FrameSelection::setSelectedRange): Ditto. Also removed the code to set affinity only when
        range is collapsed since VisibleSelection::validate already does this.

2014-02-18  Eric Carlson  <eric.carlson@apple.com>

        Do not cache media time until media engine returns a non-zero value
        https://bugs.webkit.org/show_bug.cgi?id=128976

        Reviewed by Jer Noble.

        No new tests, covered by existing tests.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::refreshCachedTime): Don't mark the cached time as valid
            until it is non-zero.
        (WebCore::HTMLMediaElement::currentTime): Return 0 if m_cachedTime is invalid.

2014-02-17  Alexey Proskuryakov  <ap@apple.com>

        [iOS] All WebKit clients should encrypt WebCrypto keys automatically
        https://bugs.webkit.org/show_bug.cgi?id=128938

        Reviewed by Dan Bernstein.

        Don't pass ACLs on iOS. Key will be added to app's default Keychain access group.

        Also, don't pass kSecAttrIsPermanent, which is irrelevant for password items, and
        caused error -50 in DumpRenderTree for me when passed.

        Added fallback to _NSGetProgname for account name, to account for tools such as
        Mac DumpRenderTree that don't have bundle identifiers.

        * crypto/mac/SerializedCryptoKeyWrapMac.mm:
        (WebCore::masterKeyAccountNameForCurrentApplication):
        (WebCore::createAndStoreMasterKey):

2014-02-18  Ryosuke Niwa  <rniwa@webkit.org>

        setSelectionRange should set selection without validation
        https://bugs.webkit.org/show_bug.cgi?id=128949

        Reviewed by Enrica Casucci.

        Since positionForIndex in HTMLTextFormControlElement always returns a candidate Position, we don't have to
        validate selection in setSelectionRange.

        Also fixed various bugs uncovered by this change.

        This patch also fixes fast/forms/input-select-webkit-user-select-none.html, which used to assert wrong outcome
        so that WebKit's behavior matches that of Chrome and Firefox.

        Test: fast/forms/input-select-webkit-user-select-none.html

        * dom/Position.h:
        (WebCore::positionInParentBeforeNode): This function had a bug that when node is a child of the shadow root
        it would return a null Position. Allow a position anchored inside a shadow root.
        (WebCore::positionInParentAfterNode): Ditto.

        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::moveWithoutValidationTo): Renamed from moveTo and avoided selection validation.
        * editing/FrameSelection.h:

        * editing/htmlediting.cpp:
        (WebCore::updatePositionForNodeRemoval): Fixed the bug that this function doesn't update positions before
        or after children even if the shadow host of the anchor node is getting removed. Move the position before
        the shadow host to be removed in both situations.

        * html/HTMLTextFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::setSelectionRange): moveTo is renamed to moveWithoutValidationTo.
        (WebCore::HTMLTextFormControlElement::selectionChanged): Check if the cached selection offsets are different
        in lieu of FrameSelection::isRange() since they're equivalent here.
        (WebCore::positionForIndex): Return the position inside or after the last br when there is one to match
        the canonicalization algorithm we have. It's probably harmless to return the last position in the inner text
        element anyways since most of our codebase supports that but this would avoid having to rebaseline dozens
        of tests and reduces the risk of this patch.

2014-02-18  Zan Dobersek  <zdobersek@igalia.com>

        Move IndexedDB module, LevelDB code to std::unique_ptr
        https://bugs.webkit.org/show_bug.cgi?id=128964

        Reviewed by Andreas Kling.

        Replace uses of OwnPtr and PassOwnPtr in the IndexedDB module and LevelDB platform code with std::unique_ptr.

        * Modules/indexeddb/IDBCursorBackend.h:
        * Modules/indexeddb/IDBDatabaseBackend.cpp:
        (WebCore::IDBDatabaseBackend::IDBDatabaseBackend):
        (WebCore::IDBDatabaseBackend::transactionFinishedAndAbortFired):
        (WebCore::IDBDatabaseBackend::processPendingCalls):
        (WebCore::IDBDatabaseBackend::processPendingOpenCalls):
        (WebCore::IDBDatabaseBackend::openConnection):
        (WebCore::IDBDatabaseBackend::runIntVersionChangeTransaction):
        (WebCore::IDBDatabaseBackend::deleteDatabase):
        (WebCore::IDBDatabaseBackend::close):
        * Modules/indexeddb/IDBDatabaseBackend.h:
        (WebCore::IDBDatabaseBackend::hasPendingSecondHalfOpen):
        (WebCore::IDBDatabaseBackend::setPendingSecondHalfOpen):
        * Modules/indexeddb/IDBPendingDeleteCall.h:
        (WebCore::IDBPendingDeleteCall::IDBPendingDeleteCall):
        * Modules/indexeddb/IDBPendingOpenCall.h:
        (WebCore::IDBPendingOpenCall::IDBPendingOpenCall):
        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
        (WebCore::IDBDatabaseBackend::VersionChangeOperation::perform):
        * Modules/indexeddb/IDBTransactionCoordinator.cpp:
        * Modules/indexeddb/IDBTransactionCoordinator.h:
        * Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.h:
        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
        (WebCore::setUpMetadata):
        (WebCore::DefaultLevelDBFactory::openLevelDB):
        (WebCore::IDBBackingStoreLevelDB::IDBBackingStoreLevelDB):
        (WebCore::IDBBackingStoreLevelDB::~IDBBackingStoreLevelDB):
        (WebCore::IDBBackingStoreLevelDB::open):
        (WebCore::IDBBackingStoreLevelDB::openInMemory):
        (WebCore::IDBBackingStoreLevelDB::create):
        (WebCore::IDBBackingStoreLevelDB::getDatabaseNames):
        (WebCore::deleteRange):
        (WebCore::IDBBackingStoreLevelDB::deleteDatabase):
        (WebCore::IDBBackingStoreLevelDB::getObjectStores):
        (WebCore::IDBBackingStoreLevelDB::getKeyGeneratorCurrentNumber):
        (WebCore::IDBBackingStoreLevelDB::getIndexes):
        (WebCore::findGreatestKeyLessThanOrEqual):
        (WebCore::IDBBackingStoreLevelDB::findKeyInIndex):
        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
        * platform/leveldb/LevelDBDatabase.cpp:
        (WebCore::LevelDBDatabase::~LevelDBDatabase):
        (WebCore::LevelDBDatabase::open):
        (WebCore::LevelDBDatabase::openInMemory):
        (WebCore::IteratorImpl::IteratorImpl):
        (WebCore::LevelDBDatabase::createIterator):
        * platform/leveldb/LevelDBDatabase.h:
        * platform/leveldb/LevelDBTransaction.cpp:
        (WebCore::LevelDBTransaction::commit):
        (WebCore::LevelDBTransaction::createIterator):
        (WebCore::LevelDBTransaction::TransactionIterator::TransactionIterator):
        (WebCore::LevelDBTransaction::TransactionIterator::refreshTreeIterator):
        (WebCore::LevelDBWriteOnlyTransaction::LevelDBWriteOnlyTransaction):
        * platform/leveldb/LevelDBTransaction.h:
        * platform/leveldb/LevelDBWriteBatch.cpp:
        (WebCore::LevelDBWriteBatch::LevelDBWriteBatch):
        * platform/leveldb/LevelDBWriteBatch.h:

2014-02-18  David Kilzer  <ddkilzer@apple.com>

        Follow-up: Add type-checked casts for StyleImage and subclasses
        <http://webkit.org/b/128915>

        Address some style issues based on feedback from Andreas Kling.

        * css/CSSCursorImageValue.cpp:
        (WebCore::CSSCursorImageValue::cachedImageURL):
        * css/CSSImageSetValue.cpp:
        (WebCore::CSSImageSetValue::~CSSImageSetValue):
        (WebCore::CSSImageSetValue::hasFailedOrCanceledSubresources):
        * css/CSSImageValue.cpp:
        (WebCore::CSSImageValue::hasFailedOrCanceledSubresources):
        - Use the reference version of the type-checked casts since we
          know the pointers are not NULL.

        * rendering/style/StyleImage.h:
        - Use 'styleImage' instead of 'resource' in
          STYLE_IMAGE_TYPE_CASTS.

2014-02-18  Zan Dobersek  <zdobersek@igalia.com>

        Remove unnecessary UserActionElementSet constructor, destructor
        https://bugs.webkit.org/show_bug.cgi?id=128962

        Reviewed by Andreas Kling.

        UserActionElementSet constructor and destructor are not necessary, as is not the
        static create() function that returns PassOwnPtr<UserActionElementSet>. The implicit
        constructor and destructor can take care of creating and destroying the sole HashMap
        member variable.

        * dom/UserActionElementSet.cpp:
        * dom/UserActionElementSet.h:

2014-02-18  Myles C. Maxfield  <mmaxfield@apple.com>

        Rename convertFixedAndStickyPosition() to convertPositionStyle()
        https://bugs.webkit.org/show_bug.cgi?id=128987

        Reviewed by NOBODY. This is addressing a post-commit review from Dean Jackson.

        No new tests are necessary because there is no behavior change

        * editing/EditingStyle.cpp:
        (WebCore::EditingStyle::convertPositionStyle):
        * editing/EditingStyle.h:
        * editing/markup.cpp:
        (WebCore::StyledMarkupAccumulator::appendElement):

2014-02-18  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r164296.
        http://trac.webkit.org/changeset/164296
        https://bugs.webkit.org/show_bug.cgi?id=128989

        Broke many media tests (Requested by eric_carlson on #webkit).

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::parseAttribute):
        * html/HTMLMediaElement.h:

2014-02-18  Myles C. Maxfield  <mmaxfield@apple.com>

        Convert position:sticky to position:static upon copy and paste
        https://bugs.webkit.org/show_bug.cgi?id=128982

        Reviewed by Simon Fraser.

        This patch has two parts:

        1. Make sure that position:absolute elements trigger the position:relative wrapping (as
        well as position:fixed)
        2. Now that we copy position:sticky, convert that to position:static

        Tests: editing/pasteboard/copy-paste-converts-fixed.html
               editing/pasteboard/copy-paste-converts-sticky.html
               editing/pasteboard/copy-paste-wraps-position-absolute.html

        * editing/EditingStyle.cpp:
        (WebCore::EditingStyle::convertFixedAndStickyPosition):

2014-02-18  David Kilzer  <ddkilzer@apple.com>

        Add type-checked casts for StyleImage and subclasses
        <http://webkit.org/b/128915>

        Reviewed by Oliver Hunt.

        * css/CSSCursorImageValue.cpp:
        (WebCore::CSSCursorImageValue::detachPendingImage):
        (WebCore::CSSCursorImageValue::cachedImage):
        (WebCore::CSSCursorImageValue::cachedImageURL):
        * css/CSSImageSetValue.cpp:
        (WebCore::CSSImageSetValue::detachPendingImage):
        (WebCore::CSSImageSetValue::~CSSImageSetValue):
        (WebCore::CSSImageSetValue::cachedImageSet):
        (WebCore::CSSImageSetValue::hasFailedOrCanceledSubresources):
        * css/CSSImageValue.cpp:
        (WebCore::CSSImageValue::detachPendingImage):
        (WebCore::CSSImageValue::cachedImage):
        (WebCore::CSSImageValue::hasFailedOrCanceledSubresources):
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::loadPendingShapeImage):
        (WebCore::StyleResolver::loadPendingImages):
        * page/PageSerializer.cpp:
        (WebCore::PageSerializer::retrieveResourcesForProperties):
        * page/animation/CSSPropertyAnimation.cpp:
        (WebCore::blendFunc):
        - Switch from static_cast<>() operators to toTypeName() methods.
        - Replace 0 with nullptr where convenient.

        * rendering/style/StyleCachedImage.h:
        * rendering/style/StyleCachedImageSet.h:
        * rendering/style/StyleGeneratedImage.h:
        * rendering/style/StyleImage.h:
        * rendering/style/StylePendingImage.h:
        - Define type-checked cast macros.

2014-02-18  Sam Weinig  <sam@webkit.org>

        Simplify HTML tokenizer parameterization down to what is used
        https://bugs.webkit.org/show_bug.cgi?id=128977

        Reviewed by Alexey Proskuryakov.

        - Removes support for CustomHTMLTokenizerChunkSize.
        - Consolidates CustomHTMLTokenizerTimeDelay down to one implementation, using Settings::maxParseDuration

        * WebCore.exp.in:
        * html/parser/HTMLParserScheduler.cpp:
        (WebCore::HTMLParserScheduler::HTMLParserScheduler):
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
        (WebCore::Page::customHTMLTokenizerTimeDelay):
        * page/Page.h:

2014-02-18  Eric Carlson  <eric.carlson@apple.com>

        Do not cache media time until media engine returns a non-zero value
        https://bugs.webkit.org/show_bug.cgi?id=128976

        Reviewed by Jer Noble.

        No new tests, covered by existing tests.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::refreshCachedTime): Don't mark the cached time as valid
            until it is non-zero.

2014-02-18  Mihai Tica  <mitica@adobe.com>

        [CSS Blending] Add -webkit-blend-mode support for SVG.

        https://bugs.webkit.org/show_bug.cgi?id=110427
        Reviewed by Dirk Schulze.

        Add support for blend modes to SVG. This includes adding and validating isolation for blending.
        Make masked elements isolate blending by creating a transparency layer.

        Tests: css3/compositing/svg-blend-color-burn.html
               css3/compositing/svg-blend-color-dodge.html
               css3/compositing/svg-blend-color.html
               css3/compositing/svg-blend-darken.html
               css3/compositing/svg-blend-difference.html
               css3/compositing/svg-blend-exclusion.html
               css3/compositing/svg-blend-hard-light.html
               css3/compositing/svg-blend-hue.html
               css3/compositing/svg-blend-layer-blend.html
               css3/compositing/svg-blend-layer-clip-path.html
               css3/compositing/svg-blend-layer-filter.html
               css3/compositing/svg-blend-layer-mask.html
               css3/compositing/svg-blend-layer-opacity.html
               css3/compositing/svg-blend-layer-shadow.html
               css3/compositing/svg-blend-lighten.html
               css3/compositing/svg-blend-luminosity.html
               css3/compositing/svg-blend-multiply-alpha.html
               css3/compositing/svg-blend-multiply.html
               css3/compositing/svg-blend-normal.html
               css3/compositing/svg-blend-overlay.html
               css3/compositing/svg-blend-saturation.html
               css3/compositing/svg-blend-screen.html
               css3/compositing/svg-blend-soft-light.html

        * rendering/RenderElement.cpp:
        (WebCore::RenderElement::styleDidChange): Also pass a pointer to the old style when calling SVGRenderSupport::styleChanged.
        * rendering/style/RenderStyle.h:  Add blendMode default getter when CSS_COMPOSITING is disabled.
        * rendering/style/SVGRenderStyle.h:
        (WebCore::SVGRenderStyle::isolatesBlending): Add method.
        * rendering/svg/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::styleChanged): Call updateMaskedAncestorShouldIsolateBlending only when a blend mode is set/unset.
        (WebCore::SVGRenderSupport::isolatesBlending): Implement method that decides whether an SVGElement isolates or not blending.
        (WebCore::SVGRenderSupport::updateMaskedAncestorShouldIsolateBlending): Traverse to the nearest ancestor having a mask.
        - Set a flag causing the creation of a transparency layer when rendering the masked element.
        * rendering/svg/SVGRenderSupport.h:
        * rendering/svg/SVGRenderingContext.cpp:
        (WebCore::SVGRenderingContext::prepareToRenderSVGContent): Call GraphicsContext::setCompositeOperation.
        - Isolate blending by creating a transparency layer.
        - Isolate group when rendering a masked element having a blended child node.
        * svg/SVGGraphicsElement.cpp:
        (WebCore::SVGGraphicsElement::SVGGraphicsElement): Set default m_shouldIsolateBlending to false.
        * svg/SVGGraphicsElement.h: Add m_shouldIsolateBlending member, getter and setter.
        (WebCore::SVGGraphicsElement::shouldIsolateBlending):
        (WebCore::SVGGraphicsElement::setShouldIsolateBlending):

2014-02-18  ChangSeok Oh  <changseok.oh@collabora.com>

        [GTK] Unreviewed fix. Correct wrong flags, ENABLE(GTK)->PLATFORM(GTK).

        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
        (WebCore::Extensions3DOpenGL::drawArraysInstanced):
        (WebCore::Extensions3DOpenGL::drawElementsInstanced):
        (WebCore::Extensions3DOpenGL::vertexAttribDivisor):

2014-02-18  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] Compute region ranges for inline replaced elements
        https://bugs.webkit.org/show_bug.cgi?id=128800

        Reviewed by Andrei Bucur.

        Tests: fast/regions/hover-content-inside-iframe-in-region.html
               fast/regions/select-multiple-in-region.html

        When asking for the range of regions for an inline replaced box,
        use the region cached on the root inline box for the inline replaced
        box as the range of regions is computed only for blocks.
        A future patch will extend the computation of region ranges
        for inline blocks too.

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):
        Remove the restriction set during https://bugs.webkit.org/show_bug.cgi?id=113703
        and enable the code path for boxes not only for blocks.
        Method RenderFlowThread::getRegionRangeForBox returns a null region when it is unable
        to get the region range and we already check for null region case.
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::getRegionRangeForBox):

2014-02-18  Xabier Rodriguez Calvar  <calvaris@igalia.com>

        Move inheriting method to the superclass in the JavaScript media controls
        https://bugs.webkit.org/show_bug.cgi?id=128897

        Reviewed by Jer Noble.

        The inheriting method of the JavaScript multimedia controls was
        moved from the subclasses to the superclass because this way it is
        only defined once.

        * Modules/mediacontrols/mediaControlsApple.js:
        (Controller.prototype.extend): Added to replace inheritFrom in the
        subclasses.
        * Modules/mediacontrols/mediaControlsGtk.js:
        * Modules/mediacontrols/mediaControlsiOS.js: Removed inheritFrom
        and used extend.

2014-02-18  Xabier Rodriguez Calvar  <calvaris@igalia.com>

        [GTK] Fix hitting hasClass() assertion in debug with the new JS media controls
        https://bugs.webkit.org/show_bug.cgi?id=128820

        Reviewed by Martin Robinson.

        The code introduced at r164024 caused the hit of hasClass()
        assertion when getting the classNames() of an element with no
        class. Now we check for it to avoid the assertion.

        No new tests, current set detects the crash in many tests.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::nodeHasClass): Check for hasClass() in order not to hit
        the assertion when getting the classNames() in debug mode.

2014-02-18  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Refactor SVGPreserveAspectRatio::parse()
        https://bugs.webkit.org/show_bug.cgi?id=128658

        Reviewed by Dirk Schulze.

        To removed "goto" in SVGPreserveAspectRatio::parse(), this patch introduce parseInternal() to handle
        existing behavior with local variables, and existing/new parse() functions invoke it, then set
        those to member variables.

        Motivated from Blink: https://src.chromium.org/viewvc/blink?view=rev&revision=166927

        No new tests, no behavior change.

        * svg/SVGPreserveAspectRatio.cpp:
        (WebCore::SVGPreserveAspectRatio::parse):
        (WebCore::SVGPreserveAspectRatio::parseInternal):
        * svg/SVGPreserveAspectRatio.h: Add parse() and parseInternal() functions.

2014-02-17  Radu Stavila  <stavila@adobe.com>

        [CSS Regions] Move specific named flow methods from RenderRegion to RenderNamedFlowFragment
        https://bugs.webkit.org/show_bug.cgi?id=128914

        Reviewed by Antti Koivisto.

        Moved named flow specific methods regionContainer() and regionContainerLayer() from 
        RenderRegion to RenderNamedFlowFragment and renamed them to fragmentContainer and
        fragmentContainerLayer.

        No new tests required.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
        (WebCore::RenderLayer::calculateClipRects):
        * rendering/RenderNamedFlowFragment.cpp:
        (WebCore::RenderNamedFlowFragment::fragmentContainer):
        (WebCore::RenderNamedFlowFragment::fragmentContainerLayer):
        * rendering/RenderNamedFlowFragment.h:
        * rendering/RenderRegion.cpp:
        * rendering/RenderRegion.h:

2014-02-17  Sangho Kim  <thomas.kim@lge.com>

        Move PublicURLMansger to std::unique_ptr.
        https://bugs.webkit.org/show_bug.cgi?id=128891

        Reviewed by Anders Carlsson.

        Use std::unique_ptr and std::make_unique in place of PassOwnPtr and adoptPtr in the PublicURLManager

        * dom/ScriptExecutionContext.h:
        * html/PublicURLManager.cpp:
        (WebCore::PublicURLManager::create):
        * html/PublicURLManager.h:

2014-02-17  Ricky Mondello  <rmondello@apple.com>

        Expose a way to clear cookies modified after a given date
        https://bugs.webkit.org/show_bug.cgi?id=128845

        Reviewed by Alexey Proskuryakov.

        * WebCore.exp.in: Add a symbol.
        * platform/network/PlatformCookieJar.h: Declare deleteAllCookiesModifiedAfterDate.
        * platform/network/cf/CookieJarCFNet.cpp:
        (WebCore::deleteAllCookiesModifiedAfterDate): Add a stub.
        * platform/network/curl/CookieJarCurl.cpp:
        (WebCore::deleteAllCookiesModifiedAfterDate): Ditto.
        * platform/network/soup/CookieJarSoup.cpp:
        (WebCore::deleteAllCookiesModifiedAfterDate): Ditto.
        * platform/network/mac/CookieJarMac.mm: Add a category NSHTTPCookieStorage category with the method
            used for time-based clearing so we can build on all platforms. For now, we'll check for support
            at runtime.
        (WebCore::deleteAllCookiesModifiedAfterDate): Added. Without foundation API, we'll ignore the passed-in
            NetworkStorageSession.

2014-02-17  Benjamin Poulain  <bpoulain@apple.com>

        SelectorCompiler incorrectly saves a backtracking register for a child chain without descendant relation on the right
        https://bugs.webkit.org/show_bug.cgi?id=128944

        Reviewed by Andreas Kling.

        When resolving the backtracking relations, the value of ancestorPositionSinceDescendantRelation was incorrect for the
        rightmost child chain.
        What was happenning is updateChainStates() would increment ancestorPositionSinceDescendantRelation even if there was
        no descendant relation previously in the chain. As a result, the second SelectorFragment in the fragment chain would
        save a backtracking register.

        Previously this would just be a wasted register but since r163850, the number of registers available for compilation
        is defined by SelectorCompiler::minimumRegisterRequirements(). Since we would have one less register available than computed,
        we could run out of register and RegisterAllocator would invoke WTFCrash to avoid generating incorrect code.

        This patch fixes the issue by not updating ancestorPositionSinceDescendantRelation until the first descendant relation
        is seen. There was no need to fix the Adjacent relation because adjacentPositionSinceIndirectAdjacentTreeWalk already
        had the correct guard.

        Test: fast/selectors/querySelector-rightmost-child-chain-attribute-matching.html

        * cssjit/SelectorCompiler.cpp:
        (WebCore::SelectorCompiler::updateChainStates):
        (WebCore::SelectorCompiler::isFirstAdjacent): The name was a bad copy-paste, fix it.

2014-02-17  Dean Jackson  <dino@apple.com>

        Constrain replaced element layout to from-intrinsic aspect ratio if specified
        https://bugs.webkit.org/show_bug.cgi?id=128629

        Reviewed by Simon Fraser.

        First pass at implementing -webkit-aspect-ratio: from-instrinsics;

        After RenderReplaced has done layout, attempt to update the
        resulting size to match the desired aspect ratio. This step
        will only reduce the size of an element, and never below the
        minimum dimensions.

        Tests: fast/css/aspect-ratio/columns.html
               fast/css/aspect-ratio/containers.html
               fast/css/aspect-ratio/simple.html

        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::imageDimensionsChanged): If we get an update
        to our intrinsic dimensions, and layout depends on this, trigger
        another layout pass.
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::layout): Implement the step described
        above.

2014-02-17  Sam Weinig  <sam@webkit.org>

        Fix build.

        * WebCore.exp.in:

2014-02-17  Anders Carlsson  <andersca@apple.com>

        Remove ENABLE_GLOBAL_FASTMALLOC_NEW
        https://bugs.webkit.org/show_bug.cgi?id=127067

        Reviewed by Geoffrey Garen.

        * platform/Timer.h:

2014-02-17  Sam Weinig  <sam@webkit.org>

        Move iOS only Settings into Settings.in and make them not-iOS only
        https://bugs.webkit.org/show_bug.cgi?id=128942

        Reviewed by Tim Horton.

        * page/Settings.cpp:
        * page/Settings.h:
        * page/Settings.in:

2014-02-17  Anders Carlsson  <andersca@apple.com>

        Remove view source code
        https://bugs.webkit.org/show_bug.cgi?id=127233

        Reviewed by Antti Koivisto.

        * CMakeLists.txt:
        * DerivedSources.make:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::canExecuteScripts):
        * css/CSSDefaultStyleSheets.cpp:
        * css/CSSDefaultStyleSheets.h:
        * css/DocumentRuleSets.cpp:
        (WebCore::DocumentRuleSets::appendAuthorStyleSheets):
        (WebCore::DocumentRuleSets::collectFeatures):
        * css/DocumentRuleSets.h:
        * css/ElementRuleCollector.cpp:
        (WebCore::ElementRuleCollector::matchUARules):
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::appendAuthorStyleSheets):
        (WebCore::StyleResolver::styleForElement):
        * css/view-source.css: Removed.
        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument):
        * dom/DOMImplementation.h:
        * dom/Document.cpp:
        (WebCore::Document::Document):
        * dom/Document.h:
        * html/HTMLAttributeNames.in:
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
        (WebCore::HTMLFrameElementBase::openURL):
        * html/HTMLFrameElementBase.h:
        * html/HTMLViewSourceDocument.cpp: Removed.
        * html/HTMLViewSourceDocument.h: Removed.
        * html/parser/HTMLToken.h:
        * html/parser/HTMLViewSourceParser.cpp: Removed.
        * html/parser/HTMLViewSourceParser.h: Removed.
        * html/parser/TextViewSourceParser.cpp: Removed.
        * html/parser/TextViewSourceParser.h: Removed.
        * inspector/InspectorOverlayPage.css:
        (.tag-name):
        (.node-id):
        (.class-name):
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::createDocument):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::receivedFirstData):
        * page/Frame.cpp:
        (WebCore::Frame::Frame):
        * page/Frame.h:
        * xml/DOMParser.cpp:
        (WebCore::DOMParser::parseFromString):
        * xml/XMLViewer.css:
        (.tag):
        * xml/XSLTProcessor.cpp:
        (WebCore::XSLTProcessor::createDocumentFromSource):

2014-02-17  Simon Fraser  <simon.fraser@apple.com>

        box-shadows get truncated with a combination of transforms and clip: (affects Google Maps)
        https://bugs.webkit.org/show_bug.cgi?id=128937

        Reviewed by Dean Jackson.
        
        RenderLayer::calculateLayerBounds() incorrectly assumed that if localClipRect() returns
        a non-infinite rect, that rect is OK to use as the compositing bounds.
        
        That is not a valid assumption when clip() has a larger rect than the element (e.g.
        with negative top/left in the rect). In that case, localClipRect() still just
        returns the background rect, but we actually need a larger compositing layer
        to show the unclipped parts of descendants.
        
        Fix by detecting clip() that exceeds the renderer bounds, and when it does,
        not early returning in the UseLocalClipRectIfPossible clause.

        Test: compositing/geometry/css-clip-oversize.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::localClipRect): Do a convertToLayerCoords()
        because we need offsetFromRoot later, and we can pass our value down to
        calculateRects(). Compute clipExceedsBounds based on the CSS clip rect.
        (WebCore::RenderLayer::calculateClipRects): Don't early return if clipExceedsBounds
        is true.
        * rendering/RenderLayer.h:

2014-02-17  Antti Koivisto  <antti@apple.com>

        Make TreeScope::rootNode return a reference
        https://bugs.webkit.org/show_bug.cgi?id=128934

        Reviewed by Andreas Kling.

        It is never null.

        * css/ElementRuleCollector.cpp:
        (WebCore::ElementRuleCollector::collectMatchingRules):
        * dom/ContainerNode.h:
        (WebCore::Node::isTreeScope):
        * dom/Document.cpp:
        (WebCore::Document::buildAccessKeyMap):
        * dom/DocumentOrderedMap.cpp:
        (WebCore::DocumentOrderedMap::add):
        (WebCore::DocumentOrderedMap::get):
        (WebCore::DocumentOrderedMap::getAllElementsById):
        * dom/EventDispatcher.cpp:
        (WebCore::EventRelatedNodeResolver::moveToParentOrShadowHost):
        (WebCore::eventTargetRespectingTargetRules):
        (WebCore::shouldEventCrossShadowBoundary):
        * dom/Node.cpp:
        (WebCore::Node::containingShadowRoot):
        (WebCore::Node::removedFrom):
        * dom/ShadowRoot.h:
        (WebCore::isShadowRoot):
        * dom/TreeScope.h:
        (WebCore::TreeScope::rootNode):
        * page/DOMSelection.cpp:
        (WebCore::DOMSelection::DOMSelection):
        * page/DragController.cpp:
        (WebCore::asFileInput):
        * page/FocusController.cpp:
        (WebCore::FocusNavigationScope::rootNode):

2014-02-17  Chris Fleizach  <cfleizach@apple.com>

        AX: Invalid cast in WebCore::AccessibilityTable::isDataTable (CRBug 280352)
        <https://webkit.org/b/128925>
        <rdar://problem/16087351>

        Merged from Blink (patch by Dominic Mazzoni):
        https://src.chromium.org/viewvc/blink?revision=159711&view=revision

        Reviewed by Oliver Hunt.

        Don't cast to a table cell element unless we are sure it is one.

        Test: accessibility/display-table-cell-causes-crash.html

        * accessibility/AccessibilityTable.cpp:
        (WebCore::AccessibilityTable::isDataTable):

2014-02-17  Antti Koivisto  <antti@apple.com>

        Node constructor should take Document reference
        https://bugs.webkit.org/show_bug.cgi?id=128931

        Reviewed by Geoff Garen.

        * dom/Attr.cpp:
        (WebCore::Attr::Attr):
        * dom/CharacterData.h:
        (WebCore::CharacterData::CharacterData):
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::~ContainerNode):
        * dom/ContainerNode.h:
        (WebCore::ContainerNode::ContainerNode):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        * dom/Document.h:
        (WebCore::Node::Node):
        * dom/DocumentFragment.cpp:
        (WebCore::DocumentFragment::DocumentFragment):
        (WebCore::DocumentFragment::create):
        * dom/DocumentFragment.h:
        * dom/DocumentType.cpp:
        (WebCore::DocumentType::DocumentType):
        * dom/Element.h:
        (WebCore::Element::Element):
        * dom/Entity.h:
        (WebCore::Entity::Entity):
        * dom/EntityReference.cpp:
        (WebCore::EntityReference::EntityReference):
        * dom/Node.cpp:
        (WebCore::Node::~Node):
        (WebCore::Node::willBeDeletedFrom):
        * dom/Node.h:
        * dom/Notation.cpp:
        * dom/Notation.h:
        (WebCore::Notation::publicId):
        (WebCore::Notation::systemId):
        (WebCore::Notation::Notation):
        
            Remove cruft from this non-instantiated class.

        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::ShadowRoot):
        (WebCore::ShadowRoot::~ShadowRoot):
        * dom/TemplateContentDocumentFragment.h:

2014-02-17  Sergio Correia  <sergio.correia@openbossa.org>

        Replace uses of PassOwnPtr/OwnPtr with std::unique_ptr in WebCore/inspector
        https://bugs.webkit.org/show_bug.cgi?id=128681

        Reviewed by Timothy Hatcher.

        Another step towards getting rid of PassOwnPtr/OwnPtr, now targeting
        WebCore/inspector/*. Besides files in there, a few other files in
        JavaScriptCore/inspector, WebKit/, WebKit2/WebProcess/WebCoreSupport/
        and WebCore/testing were touched.

        No new tests; no new behavior.

        * WebCore.exp.in:
        * inspector/CommandLineAPIHost.cpp:
        * inspector/CommandLineAPIHost.h:
        * inspector/DOMEditor.cpp:
        * inspector/DOMPatchSupport.cpp:
        * inspector/DOMPatchSupport.h:
        * inspector/InspectorApplicationCacheAgent.h:
        * inspector/InspectorCSSAgent.cpp:
        * inspector/InspectorCSSAgent.h:
        * inspector/InspectorCanvasAgent.h:
        * inspector/InspectorDOMAgent.cpp:
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorDOMDebuggerAgent.h:
        * inspector/InspectorDOMStorageAgent.h:
        * inspector/InspectorDatabaseAgent.h:
        * inspector/InspectorFrontendClientLocal.cpp:
        * inspector/InspectorFrontendClientLocal.h:
        * inspector/InspectorHeapProfilerAgent.h:
        * inspector/InspectorHistory.cpp:
        * inspector/InspectorHistory.h:
        * inspector/InspectorIndexedDBAgent.h:
        * inspector/InspectorInputAgent.h:
        * inspector/InspectorLayerTreeAgent.h:
        * inspector/InspectorMemoryAgent.cpp:
        * inspector/InspectorMemoryAgent.h:
        * inspector/InspectorOverlay.cpp:
        * inspector/InspectorOverlay.h:
        * inspector/InspectorProfilerAgent.cpp:
        * inspector/InspectorProfilerAgent.h:
        * inspector/InspectorResourceAgent.cpp:
        * inspector/InspectorResourceAgent.h:
        * inspector/InspectorStyleSheet.cpp:
        * inspector/InspectorStyleSheet.h:
        * inspector/InspectorTimelineAgent.h:
        * inspector/InspectorWorkerAgent.cpp:
        * inspector/PageConsoleAgent.cpp:
        * inspector/PageRuntimeAgent.h:
        * inspector/WebConsoleAgent.cpp:
        * inspector/WorkerRuntimeAgent.h:
        * testing/Internals.cpp:

2014-02-17  Antti Koivisto  <antti@apple.com>

        Rename Document::m_selfOnlyRefCount to m_referencingNodeCount
        https://bugs.webkit.org/show_bug.cgi?id=128916

        Reviewed by Andreas Kling.

        Make the name more informative. Also make it zero based (document is not considered to reference itself).

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::removedLastRef):
        * dom/Document.h:
        (WebCore::Document::increaseReferencingNodeCount):
        (WebCore::Document::decreaseReferencingNodeCount):
        (WebCore::Node::Node):
        * dom/Node.cpp:
        (WebCore::Node::~Node):
        * dom/TreeScopeAdopter.cpp:
        (WebCore::TreeScopeAdopter::moveTreeToNewScope):
        (WebCore::TreeScopeAdopter::moveNodeToNewDocument):

2014-02-17  ChangSeok Oh  <changseok.oh@collabora.com>

        [GTK] Build failure caused by missing jsmin module
        https://bugs.webkit.org/show_bug.cgi?id=128742

        Reviewed by Philippe Normand.

        No new tests since no functionality changed.

        * GNUmakefile.am: Relocate PYTHONPATH to make it meaningful.

2014-02-17  Radu Stavila  <stavila@adobe.com>

        [CSS Regions] Make regions unsplittable
        https://bugs.webkit.org/show_bug.cgi?id=128811

        Reviewed by David Hyatt.

        At the moment, nested regions are not properly fragmented across regions. For the moment, 
        the regions will become unsplittable elements to avoid slicing. At a later time a proper
        fragmentation algorithm should be written, also taking into consideration pagination strut.

        Test: fast/regions/unsplittable-nested-region.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::isUnsplittableForPagination):

2014-02-17  Simon Fraser  <simon.fraser@apple.com>

        Graphics buffer issue with clip-path and fixed positioned element
        https://bugs.webkit.org/show_bug.cgi?id=126262

        Reviewed by Tim Horton.
        
        If an element has a clip-path, backgroundIsKnownToBeOpaqueInRect() needs
        to return false so that we don't try to make opaque compositing layers.

        Test: compositing/contents-opaque/opaque-with-clip-path.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::backgroundIsKnownToBeOpaqueInRect):

2014-02-17  Radu Stavila  <stavila@adobe.com>

        [CSS Regions] The box decorations of an element overflowing a region should be clipped at the border box, not the content box
        https://bugs.webkit.org/show_bug.cgi?id=128815

        Reviewed by Andrei Bucur.

        Elements flowed into a region should not be painted past the region's content box
        if they continue to flow into another region in that direction.
        If they do not continue into another region in that direction, they should be
        painted all the way to the region's border box.
        Regions with overflow:hidden will apply clip at the border box, not the content box.

        Tests: fast/regions/box-decorations-over-region-padding-fragmented.html
               fast/regions/box-decorations-over-region-padding-horiz-bt.html
               fast/regions/box-decorations-over-region-padding-vert-lr.html
               fast/regions/box-decorations-over-region-padding-vert-rl.html
               fast/regions/box-decorations-over-region-padding.html

        * rendering/RenderNamedFlowFragment.cpp:
        (WebCore::RenderNamedFlowFragment::flowThreadPortionRectForClipping):
        * rendering/RenderNamedFlowFragment.h:
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::rectFlowPortionForBox):

2014-02-17  Brendan Long  <b.long@cablelabs.com>

        DataCue.data should be a copy of the input ArrayBuffer, not a pointer
        https://bugs.webkit.org/show_bug.cgi?id=128886

        Reviewed by Eric Carlson.

        No new tests, just updated existing track-datacue.html test.

        * html/track/DataCue.cpp:
        (WebCore::DataCue::DataCue): Add ExceptionCode and pass through to setData().
        (WebCore::DataCue::data): Return a copy of m_data instead of a pointer.
        (WebCore::DataCue::setData): Create a copy of the input data, or throw an exception if it's null.
        * html/track/DataCue.h: Add ExceptionCode parameters to constructor and data setter.
        * html/track/DataCue.idl: Same.

2014-02-17  David Kilzer  <ddkilzer@apple.com>

        CounterContentData::counter() and ImageContentData::image() should return references
        <http://webkit.org/b/128671>

        Reviewed by Darin Adler.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::contentToCSSValue):
        - Update to use references.  Remove useless ASSERTs.

        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::loadPendingImages):
        - Update to use references.  StyleResolver::loadPendingImage()
          will be changed to take a reference in the near future.

        * rendering/RenderElement.cpp:
        (WebCore::RenderElement::createFor):
        - Update to use references.  The auto keyword wanted to
          instantiate a StyleImage instead a reference, so it was
          replaced.

        * rendering/style/ContentData.h:
        (WebCore::ImageContentData::ImageContentData): Add ASSERT that
        m_image is not NULL.
        (WebCore::ImageContentData::image): Return a reference.  Remove
        useless overload with identical name.
        (WebCore::ImageContentData::cloneInternal): Simplify by using
        implicit PassRefPtr constructor.
        (WebCore::operator==): Remove unneeded deref operators.
        (WebCore::CounterContentData::counter): Return a reference.
        (WebCore::CounterContentData::cloneInternal): Remove unneeded
        deref operator.
        (WebCore::operator==): Remove unneeded deref operators.

2014-02-17  Jer Noble  <jer.noble@apple.com>

        [MediaControls][iOS] Make mediacontrols match the system inline controls
        https://bugs.webkit.org/show_bug.cgi?id=128833

        Reviewed by Eric Carlson.

        Move items slightly, fix button sizes, font sizes, and colors to match the
        inline controls from MoviePlayer.framework.

        * Modules/mediacontrols/mediaControlsiOS.css:
        (audio::-webkit-media-controls-panel):
        (audio::-webkit-media-controls-fullscreen-button):
        (audio::-webkit-media-controls-play-button):
        (audio::-webkit-media-controls-play-button.paused):
        (audio::-webkit-media-controls-timeline):
        (audio::-webkit-media-controls-timeline::-webkit-slider-thumb):
        (audio::-webkit-media-controls-time-remaining-display):
        * Modules/mediacontrols/mediaControlsiOS.js:
        (ControllerIOS.prototype.configureInlineControls): Do not add the status text.
        (ControllerIOS.prototype.updateTime): Call updateProgress().
        (ControllerIOS.prototype.progressFillStyle): Draw a slightly different color.
        (ControllerIOS.prototype.updateProgress): Draw white to the left of the currentTime.
        (ControllerIOS.prototype.formatTime): Single leading zero in the time display fields.
        (ControllerIOS.prototype.handleTimelineChange): Call updateProgress().

2014-02-17  Manuel Rego Casasnovas  <rego@igalia.com>

        [CSS Grid Layout] Fix missing layout in flexible and content sized columns
        https://bugs.webkit.org/show_bug.cgi?id=128672

        Reviewed by Sergio Villar Senin.

        RenderGrid::logicalContentHeightForChild() is called for some items at the beginning of RenderGrid::layoutGridItems()
        from RenderGrid::computeUsedBreadthOfGridTracks(). This causes that the comparison inside the for loop in
        RenderGrid::layoutGridItems() does not detect width changes, so elements won't be marked as needsLayout.

        So the comparison is done in RenderGrid::logicalContentHeightForChild() and the element is marked to perform a layout if
        the width has changed.

        The issue can be reproduced easily with a simple grid with one flexible or content sized column, all the available width
        is not used. On top of that, when you resize the window the flexible or content sized columns are not updating their
        size properly.

        CSS Grid Layout perftest results are around 4% worse, which is expected as we're adding a missing layout.

        Test: fast/css-grid-layout/flex-content-sized-column-use-available-width.html

        * rendering/RenderGrid.cpp:
        (WebCore::RenderGrid::logicalContentHeightForChild): Check width changes and mark element as needed layout if required.

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

        Ensure that removing an iframe from the DOM tree disconnects its Frame.
        <https://webkit.org/b/128889>
        <rdar://problem/15671221>

        Merged from Blink (patch by Adam Klein):
        https://src.chromium.org/viewvc/blink?revision=156174&view=revision

        SubframeLoadingDisabler wasn't catching the case when an <iframe> was,
        in its unload handler, removed and re-added to the same parent.
        Fix this by using a count of SubframeLoadingDisablers that are on the
        stack for a given root, rather than a simple boolean.

        Test: fast/frames/reattach-in-unload.html

        * html/HTMLFrameOwnerElement.h:
        (WebCore::SubframeLoadingDisabler::disabledSubtreeRoots):

2014-02-16  Benjamin Poulain  <benjamin@webkit.org>

        When applying style, attribute value matching should be case sensitive for SVG
        https://bugs.webkit.org/show_bug.cgi?id=128882

        Reviewed by Andreas Kling.

        SelectorChecker was incorrectly matching attribute values with a case insensitve comparison
        in some cases.

        The choice to use case sensitive matching was taking into account the document type but not
        the element type. As a result, SVG (and likely MHTML) elements were incorrectly being tested
        as if they were HTML element.

        With the patch, WebKit also matches the behavior of Firefox, which is great.

        Tests: fast/css/case-insensitive-attribute-with-svg.html
               fast/selectors/querySelector-case-insensitive-attribute-match-with-svg.html

        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::checkOne):

2014-02-16  Benjamin Poulain  <benjamin@webkit.org>

        Split compilation state between querySelector and CSS matching
        https://bugs.webkit.org/show_bug.cgi?id=128869

        Reviewed by Antti Koivisto.

        Cleanup after recent changes:
        -SelectorCompiler now has a SelectorContext defining if the code is compiled for QuerySelector
         or for ElementRuleCollector.
        -Generalize m_selectorCannotMatchAnything by making it part of the FunctionType. FunctionType now
         fully represent the type of code generation and we don't rely implicitly on m_selectorFragments being
         empty.

        * css/ElementRuleCollector.cpp:
        (WebCore::ElementRuleCollector::ruleMatches):

        * cssjit/SelectorCompiler.cpp:
        (WebCore::SelectorCompiler::compileSelector):
        (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
        There is no tree marking for QuerySelector, so we can generate a simple selector
        for the sibling selectors.

        (WebCore::SelectorCompiler::SelectorCodeGenerator::compile):
        The code is split to make it simpler. The classic code generation has been moved
        to generateSelectorChecker().
        The decision on what to generate is reduced to a simple switch-case.

        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
        The code that was previously in compile().

        (WebCore::SelectorCompiler::SelectorCodeGenerator::markParentElementIfResolvingStyle):
        We should not generate tree marking on querySelector traversal. Since the constructor
        now generate a SimpleChecker, it would also be incorrect to attempt to access the checkingContext
        on the stack.
        We can just skip the marking entierly.

        * cssjit/SelectorCompiler.h:
        * dom/SelectorQuery.cpp:
        (WebCore::SelectorDataList::execute):
        With the changes of SelectorContext, we can no longer generate a complex checker for querySelector.
        This code may come back in the future but at the moment it is useless.

2014-02-16  Benjamin Poulain  <bpoulain@apple.com>

        The FTP view is squished to the left
        https://bugs.webkit.org/show_bug.cgi?id=128856

        Reviewed by Andreas Kling.

        * html/FTPDirectoryDocument.cpp:
        (WebCore::FTPDirectoryDocumentParser::createBasicDocument):

2014-02-16  Jae Hyun Park  <jae.park@company100.net>

        [Coordinated Graphics] Make AreaAllocator fast allocated
        https://bugs.webkit.org/show_bug.cgi?id=124995

        Reviewed by Anders Carlsson.

        AreaAllocator can be created and destroyed frequently (at least once per
        frame) in case of animation with changing width or height. So, it's
        better to make AreaAllocator fast allocated.

        * platform/graphics/texmap/coordinated/AreaAllocator.h:

2014-02-16  Pratik Solanki  <psolanki@apple.com>

        [iOS] WebKit crashes if text is copied to pasteboard with style containing text-shadow
        https://bugs.webkit.org/show_bug.cgi?id=128888
        <rdar://problem/16065699>

        Reviewed by Anders Carlsson.

        Use the correct class on iOS so that we don't crash.

        * platform/mac/HTMLConverter.mm:
        (_shadowForShadowStyle):

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

        Atomicize frequently identical ResourceResponse string members.
        <https://webkit.org/b/128887>

        Store the mime type, text encoding and HTTP response status text in
        AtomicStrings instead of Strings to deduplicate frequently occurring
        values (e.g "text/html", "utf-8" and "OK".)

        Reviewed by Geoffrey Garen.

        * platform/network/ResourceResponseBase.h:
        * platform/network/cf/ResourceResponseCFNet.cpp:
        (WebCore::ResourceResponse::cfURLResponse):
        (WebCore::ResourceResponse::platformLazyInit):
        * platform/network/mac/ResourceResponseMac.mm:
        (WebCore::ResourceResponse::platformLazyInit):

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

        Speculative iOS build fix.

        * dom/Document.cpp:
        (WebCore::Document::Document):

2014-02-15  Antti Koivisto  <antti@apple.com>

        Move document life time management from TreeScope to Document
        https://bugs.webkit.org/show_bug.cgi?id=128877

        Reviewed by Andreas Kling.

        Document life time is managed in confusing manner by TreeScopes which are also inherited to ShadowRoots.
        
        This patches moves the life time management to Document. Nodes in shadow trees selfOnlyRef the Document instead
        of the ShadowRoot. ShadowRoot is treated like any other node and selfOnlyRefs the Document as well (which it
        also did earlier, indirectly).
        
        TreeScope is devirtualized.

        * css/ElementRuleCollector.cpp:
        (WebCore::ElementRuleCollector::collectMatchingRules):
        
            Author stylesheets never match in UA shadow trees.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::~ContainerNode):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::~Document):
        (WebCore::Document::removedLastRef):
        * dom/Document.h:
        (WebCore::Document::selfOnlyRef):
        (WebCore::Document::selfOnlyDeref):

            To avoid branches Document self-refs itself like all other Nodes. This is why deletion will now happen on ref count of 1.

        (WebCore::Node::isDocumentNode):
        (WebCore::Node::Node):
        * dom/DocumentOrderedMap.cpp:
        (WebCore::DocumentOrderedMap::add):
        * dom/Element.cpp:
        (WebCore::Element::insertedInto):
        (WebCore::Element::removedFrom):
        * dom/Node.cpp:
        (WebCore::Node::~Node):
        (WebCore::Node::removedLastRef):
        * dom/Node.h:
        (WebCore::Node::document):
        (WebCore::Node::inDocument):
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::ShadowRoot):
        (WebCore::ShadowRoot::~ShadowRoot):
        * dom/ShadowRoot.h:
        * dom/TreeScope.cpp:
        (WebCore::TreeScope::TreeScope):
        (WebCore::TreeScope::~TreeScope):
        (WebCore::TreeScope::setParentTreeScope):
        * dom/TreeScope.h:
        (WebCore::TreeScope::documentScope):
        
            Document can no longer ever be null.

        (WebCore::TreeScope::rootNode):
        (WebCore::TreeScope::setDocumentScope):
        * dom/TreeScopeAdopter.cpp:
        (WebCore::TreeScopeAdopter::moveTreeToNewScope):
        (WebCore::TreeScopeAdopter::moveShadowTreeToNewDocument):
        
            Manage Document selfOnlyRefs for nodes in shadow trees too.

        (WebCore::TreeScopeAdopter::updateTreeScope):
        (WebCore::TreeScopeAdopter::moveNodeToNewDocument):
        * dom/TreeScopeAdopter.h:

2014-02-16  Ryosuke Niwa  <rniwa@webkit.org>

        setSelectionRange shouldn't directly instantiate VisibleSelection
        https://bugs.webkit.org/show_bug.cgi?id=128881

        Reviewed by Andreas Kling.

        Added a new version of moveTo for setSelectionRange.

        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::moveTo): Added.
        * editing/FrameSelection.h:
        * html/HTMLTextFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::setSelectionRange): Use the newly added FrameSelection::moveTo
        instead of manually instantiating VisibleSelection here.

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

        Stop using PLATFORM(MAC) in Source except where it means “OS X but not iOS”
        https://bugs.webkit.org/show_bug.cgi?id=128885

        Reviewed by Anders Carlsson.

        * loader/FrameLoaderClient.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        * platform/Cursor.h: Changed PLATFORM(MAC) to USE(APPKIT) around uses of NSCursor.
        * platform/LocalizedStrings.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        * platform/graphics/PlatformLayer.h: Ditto.
        * platform/graphics/cg/PDFDocumentImage.cpp: Ditto.
        * rendering/RenderLayerCompositor.cpp: Ditto.
        (WebCore::RenderLayerCompositor::requiresContentShadowLayer):
        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):

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

        Speculative iOS build fix after r164184.

        * dom/Node.cpp:
        (WebCore::Node::defaultEventHandler):

2014-02-15  Ryosuke Niwa  <rniwa@webkit.org>

        DOMSelection shouldn't instantiate VisibleSelection everywhere
        https://bugs.webkit.org/show_bug.cgi?id=128879

        Reviewed by Antti Koivisto.

        Removed explicit instantiation of VisibleSelection from various member functions of VisibleSelection.

        * page/DOMSelection.cpp:
        (WebCore::DOMSelection::collapse):
        (WebCore::DOMSelection::collapseToEnd):
        (WebCore::DOMSelection::collapseToStart):
        (WebCore::DOMSelection::setBaseAndExtent):
        (WebCore::DOMSelection::setPosition):
        (WebCore::DOMSelection::extend):
        (WebCore::DOMSelection::getRangeAt):
        (WebCore::DOMSelection::addRange):

2014-02-15  Ryosuke Niwa  <rniwa@webkit.org>

        Remove unused arguments from moveTo(Range*)
        https://bugs.webkit.org/show_bug.cgi?id=128878

        Reviewed by Antti Koivisto.

        Cleanup.

        * bindings/objc/DOMUIKitExtensions.mm:
        (-[DOMRange move:inDirection:]):
        (-[DOMRange extend:inDirection:]):
        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::moveTo):
        * editing/FrameSelection.h:

2014-02-15  Filip Pizlo  <fpizlo@apple.com>

        Vector with inline capacity should work with non-PODs
        https://bugs.webkit.org/show_bug.cgi?id=128864

        Reviewed by Michael Saboff.

        No new tests because no change behavior.
        
        Deques no longer have inline capacity because it was broken, and we didn't need it
        here anyway.

        * page/WheelEventDeltaTracker.h:

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

        Add checked casts for Event.
        <https://webkit.org/b/128875>

        Generate casting helpers for casting from Event to various subclasses
        and go on static_cast replacement spree.

        Reviewed by Sam Weinig.

2014-02-15  Ryosuke Niwa  <rniwa@webkit.org>

        HTMLTextFormControlElement::subtreeHasChanged should be called before updating selection
        https://bugs.webkit.org/show_bug.cgi?id=128870

        Reviewed by Darin Adler.

        Extracted HTMLTextFormControlElement::didEditInnerTextValue out of HTMLTextFormControlElement::defaultEventHandler
        and called it in appliedEditing, unappliedEditing, and reappliedEditing before updating selection.

        * editing/Editor.cpp:
        (WebCore::notifyTextFromControls): Added.
        (WebCore::Editor::appliedEditing): Update text form control's internal states before updating selection.
        (WebCore::Editor::unappliedEditing): Ditto.
        (WebCore::Editor::reappliedEditing): Ditto.
        * html/HTMLTextFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::didEditInnerTextValue):
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::subtreeHasChanged): Removed a stale assertion from the time we used to do
        everything in the render tree.

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

        Add checked casts for ScriptExecutionContext.
        <https://webkit.org/b/128874>

        Generate casting helpers for casting from ScriptExecutionContext to
        Document and WorkerGlobalScope. Apply heartily.

        Reviewed by Antti Koivisto.

2014-02-15  Alexey Proskuryakov  <ap@apple.com>

        [Mac] All WebKit clients should encrypt WebCrypto keys automatically
        https://bugs.webkit.org/show_bug.cgi?id=128852

        Reviewed by Oliver Hunt.

        Install a persistent master key in Keychain on first use of WebCrypto key serialization.
        The key is per application, protected with ACL.

        * English.lproj/Localizable.strings:
        * WebCore.exp.in:
        * crypto/SerializedCryptoKeyWrap.h:
        * crypto/mac/SerializedCryptoKeyWrapMac.mm:
        (WebCore::masterKeyAccountNameForCurrentApplication):
        (WebCore::getDefaultWebCryptoMasterKey):
        (WebCore::createAndStoreMasterKey):
        (WebCore::findMasterKey):
        * platform/LocalizedStrings.cpp:
        (WebCore::webCryptoMasterKeyKeychainLabel):
        (WebCore::webCryptoMasterKeyKeychainComment):
        * platform/LocalizedStrings.h:

2014-02-15  Ryosuke Niwa  <rniwa@webkit.org>

        computeSelectionStart and computeSelectionEnd shouldn't trigger synchronous layout
        https://bugs.webkit.org/show_bug.cgi?id=128806

        Reviewed by Darin Adler.

        Added indexForPosition to HTMLTextFormControlElement. Like r163825, this patch traverses the DOM tree
        instead of the render tree to compute the index for a given position.

        We traverse the DOM Tree backwards starting at the specified Position all the way back to the beginning
        of the inner text element. The index is computed as the number of characters we encountered during
        this backwards DOM traversal.

        It's worth noting that passedPosition.computeNodeBeforePosition() returns and only returns 0 when the
        position is before the first node of its parent or inside a text node. In such cases, we call
        passedPosition.containerNode() to find the parent or the text node.

        * html/HTMLTextFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::indexForVisiblePosition): Use indexForPosition.
        (WebCore::HTMLTextFormControlElement::computeSelectionStart): Ditto.
        (WebCore::HTMLTextFormControlElement::computeSelectionEnd): Dotto.
        (WebCore::finishText): Cleanup. Use newlineCharacter instead of hard-coding '\n'.
        (WebCore::HTMLTextFormControlElement::indexForPosition): Added. See above for the description.
        * html/HTMLTextFormControlElement.h:

2014-02-15  Brent Fulgham  <bfulgham@apple.com>

        [Win] Avoid unnecessary asserts if "prepareToPlay" is called multiple times.
        https://bugs.webkit.org/show_bug.cgi?id=128859

        Reviewed by Eric Carlson.

        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
        (WebCore::AVFWrapper::createPlayer): Don't assert if player exists; just return the
        existing copy.
        (WebCore::AVFWrapper::createPlayerItem): Ditto (but with Player Items).

2014-02-15  Darin Adler  <darin@apple.com>

        Remove double hashing from DatasetDOMStringMap::deleteItem
        https://bugs.webkit.org/show_bug.cgi?id=128865

        Reviewed by Benjamin Poulain.

        * dom/DatasetDOMStringMap.cpp:
        (WebCore::DatasetDOMStringMap::deleteItem): Removed call to hasAttribute, using the
        result from removeAttribute instead.

        * dom/Element.cpp:
        (WebCore::Element::removeAttribute): Add a return value, false if nothing is removed,
        and true if something is removed.
        (WebCore::Element::removeAttributeNS): Ditto.
        * dom/Element.h: Ditto.

2014-02-15  Piotr Grad  <p.grad@samsung.com>

        Setting currentTime on HTMLMediaElement with media controller should throw exception.
        https://bugs.webkit.org/show_bug.cgi?id=128867.

        Reviewed by Eric Carlson.

        Added implementation for setting currentTime in HTMLMediaElement. Old implementation
        was left to be used internally.

        Test: media/video-controller-currentTime.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::parseAttribute):
        * html/HTMLMediaElement.h:
        * html/HTMLMediaElement.idl:

2014-02-15  Anders Carlsson  <andersca@apple.com>

        Form controls are always painted in the active state
        https://bugs.webkit.org/show_bug.cgi?id=128872
        <rdar://problem/9422677>

        Reviewed by Dan Bernstein.

        AppKit will always paint form controls in the active state if the view doesn't have a
        window. Fix this by adding a fake window whose key appearance we'll update based on the 
        control state. Also, rename WebCoreFlippedView to WebCoreThemeView since it stopped being
        just about the flippedness a long time ago.

        * platform/mac/ThemeMac.h:
        * platform/mac/ThemeMac.mm:
        (-[WebCoreThemeWindow hasKeyAppearance]):
        Return themeWindowHasKeyAppearance.

        (-[WebCoreThemeView window]):
        Create a WebCoreThemeWindow object lazily and return it.

        (WebCore::paintCheckbox):
        (WebCore::paintRadio):
        (WebCore::paintButton):
        Pass the control states to ThemeMac::ensuredView.

        (WebCore::ThemeMac::ensuredView):
        Set themeWindowHasKeyAppearance based on the control state.

        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::documentViewFor):
        Pass the control states to ThemeMac::ensuredView.

2014-02-15  Renata Hodovan  <rhodovan.u-szeged@partner.samsung.com>

        ASSERT_WITH_SECURITY_IMPLICATION in WebCore::toElement
        https://bugs.webkit.org/show_bug.cgi?id=128810

        Reviewed by Ryosuke Niwa.

        Make CompositeEditCommand::cloneParagraphUnderNewElement() to work when |outerNode|
        doesn't contain |start|.

        Before this patch, CompositeEditCommand::cloneParagraphUnderNewElement() tried to copy
        ancestry nodes from |start| to Document node when |start| position isn't in |outerNode|. This
        patch changes CompositeEditCommand::cloneParagraphUnderNewElement() to copy |start| to
        |outerNode| only if |outerNode| contains |start| position.

        Merged from Blink https://src.chromium.org/viewvc/blink?revision=161762&view=revision by yosin@chromium.org.

        Test: editing/execCommand/indent-with-uneditable-crash.html

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):

2014-02-15  Samuel White  <samuel_white@apple.com>

        AX: Add ability to specify descendant type when using AXUIElementsForSearchPredicate.
        https://bugs.webkit.org/show_bug.cgi?id=128747

        Reviewed by Chris Fleizach.

        Added support for 'immediate descendant only' to existing predicate based searching. This
        addition allows VoiceOver to fetch each child element lazily (rather than all at once via AXChildren).

        Test: platform/mac/accessibility/search-predicate-immediate-descendants-only.html

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::findMatchingObjects):
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilitySearchCriteria::AccessibilitySearchCriteria):
        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
        (accessibilitySearchCriteriaForSearchPredicateParameterizedAttribute):

2014-02-15  Jeremy Jones  <jeremyj@apple.com>

        WK2 AVKit enter fullscreen doesn't work a second time.
        https://bugs.webkit.org/show_bug.cgi?id=128558

        Reviewed by Jer Noble.

        Lazily create WebAVPlayerController when needed.

        * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
        * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
        (WebVideoFullscreenInterfaceAVKit::WebVideoFullscreenInterfaceAVKit):
        (WebVideoFullscreenInterfaceAVKit::getPlayerController):
        Add getPlayerController()

        (WebVideoFullscreenInterfaceAVKit::setWebVideoFullscreenModel):
        (WebVideoFullscreenInterfaceAVKit::setDuration):
        (WebVideoFullscreenInterfaceAVKit::setCurrentTime):
        (WebVideoFullscreenInterfaceAVKit::setRate):
        (WebVideoFullscreenInterfaceAVKit::setVideoDimensions):
        (WebVideoFullscreenInterfaceAVKit::setVideoLayer):
        (WebVideoFullscreenInterfaceAVKit::enterFullscreenWithCompletionHandler):
        use getPlayerController();

2014-02-15  Jer Noble  <jer.noble@apple.com>

        [Mac] 10X slower than Chrome when drawing a video into a canvas
        https://bugs.webkit.org/show_bug.cgi?id=124599

        Reviewed by Darin Adler.

        Follow up patch to r159518 to address Darin's post-commit review.

        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::nativeImageForCurrentTime): Use nullptr.
        * platform/graphics/MediaPlayerPrivate.h:
        (WebCore::MediaPlayerPrivateInterface::nativeImageForCurrentTime): Ditto.
        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Ditto.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC): Clear the
                AVPlayerItemVideoOutput's delegate callback.
        (WebCore::CVPixelBufferGetBytePointerCallback): Use static_cast.
        (WebCore::CVPixelBufferReleaseBytePointerCallback): Ditto.
        (WebCore::CVPixelBufferReleaseInfoCallback): Ditto.
        (-[WebCoreAVFPullDelegate initWithCallback:]): Space changes.
        (-[WebCoreAVFPullDelegate setCallback:]): Added.
        (-[WebCoreAVFPullDelegate outputMediaDataWillChange:]): Check the value of m_callback.

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

        CTTE: WorkerGlobalScope is always owned by a WorkerThread.
        <https://webkit.org/b/128834>

        Codify this by storing the owner thread as a WorkerThread& and making
        thread() return a reference.

        This exposed a couple of unnecessary assertions.

        Reviewed by Anders Carlsson.

        * Modules/notifications/WorkerGlobalScopeNotifications.cpp:
        (WebCore::WorkerGlobalScopeNotifications::webkitNotifications):
        * Modules/websockets/ThreadableWebSocketChannel.cpp:
        (WebCore::ThreadableWebSocketChannel::create):
        * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion):
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::execute):
        * bindings/js/WorkerScriptDebugServer.cpp:
        (WebCore::WorkerScriptDebugServer::runEventLoopWhilePaused):
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::createdMessagePort):
        (WebCore::ScriptExecutionContext::destroyedMessagePort):
        * inspector/WorkerDebuggerAgent.cpp:
        (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
        (WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):
        * inspector/WorkerInspectorController.cpp:
        * inspector/WorkerRuntimeAgent.cpp:
        (WebCore::WorkerRuntimeAgent::pauseWorkerGlobalScope):
        * loader/WorkerThreadableLoader.cpp:
        (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
        (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
        * loader/cache/MemoryCache.cpp:
        (WebCore::MemoryCache::removeRequestFromCache):
        * workers/DedicatedWorkerGlobalScope.cpp:
        (WebCore::DedicatedWorkerGlobalScope::create):
        (WebCore::DedicatedWorkerGlobalScope::DedicatedWorkerGlobalScope):
        (WebCore::DedicatedWorkerGlobalScope::postMessage):
        (WebCore::DedicatedWorkerGlobalScope::importScripts):
        (WebCore::DedicatedWorkerGlobalScope::thread):
        * workers/DedicatedWorkerGlobalScope.h:
        * workers/DedicatedWorkerThread.cpp:
        (WebCore::DedicatedWorkerThread::createWorkerGlobalScope):
        * workers/SharedWorkerGlobalScope.cpp:
        (WebCore::SharedWorkerGlobalScope::create):
        (WebCore::SharedWorkerGlobalScope::SharedWorkerGlobalScope):
        (WebCore::SharedWorkerGlobalScope::thread):
        * workers/SharedWorkerGlobalScope.h:
        * workers/SharedWorkerThread.cpp:
        (WebCore::SharedWorkerThread::createWorkerGlobalScope):
        * workers/WorkerGlobalScope.cpp:
        (WebCore::CloseWorkerGlobalScopeTask::performTask):
        (WebCore::WorkerGlobalScope::WorkerGlobalScope):
        (WebCore::WorkerGlobalScope::~WorkerGlobalScope):
        (WebCore::WorkerGlobalScope::postTask):
        (WebCore::WorkerGlobalScope::logExceptionToConsole):
        (WebCore::WorkerGlobalScope::addConsoleMessage):
        (WebCore::WorkerGlobalScope::addMessage):
        (WebCore::WorkerGlobalScope::isContextThread):
        * workers/WorkerGlobalScope.h:
        (WebCore::WorkerGlobalScope::thread):
        * workers/WorkerMessagingProxy.cpp:
        (WebCore::MessageWorkerGlobalScopeTask::performTask):
        (WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
        (WebCore::WorkerMessagingProxy::~WorkerMessagingProxy):
        * workers/WorkerRunLoop.cpp:
        (WebCore::WorkerRunLoop::runInMode):
        (WebCore::WorkerRunLoop::runCleanupTasks):

2014-02-14  Ryosuke Niwa  <rniwa@webkit.org>

        setSelectionRange shouldn't trigger a synchronous layout to check focusability when text field is already focused
        https://bugs.webkit.org/show_bug.cgi?id=128804

        Reviewed by Enrica Casucci.

        Don't trigger a synchronous layout at the beginning of setSelectionRange if the element is already focused
        since we don't have to check the size of render box in that case.

        We should be able to get rid of this synchronous layout entirely once we fix https://webkit.org/b/128797
        but that's somewhat risky behavioral change so we'll do that in a separate patch.

        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::selectAll): Fixed the bug where selectAll selects the entire document even if the text
        form contol is focused if the selection is none (i.e. not anchored to any node).
        * html/HTMLTextFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::setSelectionRange): Only update the layout if the element is not focused
        already. Also pass in DoNotSetFocus option to setSelection since we already have the focus in that case.

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

        REGRESSION (r157443): Search fields with a non-white background don’t have a round bezel
        https://bugs.webkit.org/show_bug.cgi?id=126295

        Reviewed by Ryosuke Niwa.

        Reverted r157443 and improved comment.

        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::isControlStyled):

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

        Web Replay: AtomicString replay input names should be stored in a thread-local table
        https://bugs.webkit.org/show_bug.cgi?id=128829

        Reviewed by Andreas Kling.

        Similar to how DOM event names are frequently-used AtomicStrings, replay input
        names are also checked in many places as a "type tag". This patch puts all known
        input names into a class held by ThreadGlobalData and adds the shortcut `inputTypes()`
        so that replay input types can be referenced with `inputTypes.InputName()`.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/ThreadGlobalData.cpp: Add inputTypes() shortcut.
        (WebCore::ThreadGlobalData::ThreadGlobalData):
        * platform/ThreadGlobalData.h: Add inputTypes() shortcut.
        (WebCore::ThreadGlobalData::inputTypes):
        * replay/ReplayInputTypes.cpp: Added.
        (WebCore::ReplayInputTypes::ReplayInputTypes):
        * replay/ReplayInputTypes.h: Added.
        (WebCore::inputTypes): The input names are provided by per-framework macros that
        are generated by the replay inputs code generator.

2014-02-14  Jer Noble  <jer.noble@apple.com>

        Add support for specced event handlers to HTMLMediaElement
        https://bugs.webkit.org/show_bug.cgi?id=128292

        Reviewed by Andreas Kling.

        Test: media/media-event-listeners.html

        Add explicit event listener IDL attributes to HTMLMediaElement.

        * html/HTMLMediaElement.h:
        * html/HTMLMediaElement.idl:

2014-02-14  Oliver Hunt  <oliver@apple.com>

        Implement a few more Array prototype functions in JS
        https://bugs.webkit.org/show_bug.cgi?id=128788

        Reviewed by Gavin Barraclough.

        Minor change to ensure that the inspector is treating builtins
        as host functions.

        Tests: js/regress/array-prototype-filter.html
               js/regress/array-prototype-forEach.html
               js/regress/array-prototype-map.html
               js/regress/array-prototype-some.html

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::buildObjectForEventListener):
          Make sure we treat builtins as regular host functions

2014-02-14  Beth Dakin  <bdakin@apple.com>

        Margin tiles are not created for the top and left sides when there is a < 1.0 
        scale factor
        https://bugs.webkit.org/show_bug.cgi?id=128842

        Reviewed by Simon Fraser.

        floor the result of the computation whenever we have a negative origin, to ensure 
        that we are rounding 'up' to a larger number of tiles. 
        * platform/graphics/ca/mac/TileController.mm:
        (WebCore::TileController::getTileIndexRangeForRect):

2014-02-13  Ryosuke Niwa  <rniwa@webkit.org>

        setSelection should not synchronously trigger layout
        https://bugs.webkit.org/show_bug.cgi?id=128797

        Reviewed by Antti Koivisto.

        Only update the appearance and reveal selection when the style and the layout is already up to date.
        Otherwise, do so in performPostLayoutTasks.

        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::FrameSelection):
        (WebCore::FrameSelection::setSelection): Set m_pendingSelectionUpdate and synchronously update caret rect
        if we don't need to update style or layout.
        (WebCore::updateSelectionByUpdatingLayoutOrStyle): Added. Used by FrameSelection member functions to
        trigger layout or style recalc whichever is needed.
        (WebCore::FrameSelection::updateAndRevealSelection): Extracted from setSelection.
        (WebCore::FrameSelection::absoluteCaretBounds): Call updateSelectionByUpdatingLayoutOrStyle since caret rect
        is no longer updated synchronously in setSelection.
        (WebCore::FrameSelection::recomputeCaretRect): Don't assert that visibleStart().absoluteCaretBounds() is
        equal to m_absCaretBounds since selection may no longer be caret at this point.
        (WebCore::FrameSelection::setCaretVisibility): Call updateSelectionByUpdatingLayoutOrStyle since we're
        synchronously calling into updateAppearance here. In the future, we should make this asynchronous as well.
        (WebCore::FrameSelection::selectionBounds): Call updateSelectionByUpdatingLayoutOrStyle since selection bounds
        could be outdated. This code only triggering style recalc was presumably a bug.
        * editing/FrameSelection.h:

        * page/FrameView.cpp:
        (WebCore::FrameView::performPostLayoutTasks): Update selection's appearance and scroll to reveal selection
        as needed.

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

        Purge remaining ENABLE(SHADOW_DOM) cruft.
        <https://webkit.org/b/128827>

        Remove the remaining 8.8 million lines of Shadow DOM code to align
        with goals for intent to ship 60fps on mobile in 2014.

        Reviewed by Antti Koivisto.

2014-02-13  Jer Noble  <jer.noble@apple.com>

        [MediaControls][iOS] Embedded YouTube does not show a 'paused' button state after starting
        https://bugs.webkit.org/show_bug.cgi?id=128755

        Reviewed by Eric Carlson.

        Don't rely on "canPlay()", instead, take the information directly from the event itself. I.e., when
        handling the 'play' event, switch mode to playing, and vice versa for the 'pause' event.

        * Modules/mediacontrols/mediaControlsApple.js:
        (Controller.prototype.handlePlay):
        (Controller.prototype.handlePause):
        (Controller.prototype.updatePlaying):
        (Controller.prototype.setPlaying):

2014-02-13  Jer Noble  <jer.noble@apple.com>

        [MediaControls][iOS] Start playback button is visible when playing embedded YouTube
        https://bugs.webkit.org/show_bug.cgi?id=128754

        Reviewed by Eric Carlson.

        Update shouldHaveStartPlaybackButton to match the behavior of the plugin proxy.

        Add a accessor to determine whether playback has been requested:
        * Modules/mediacontrols/MediaControlsHost.cpp:
        (WebCore::MediaControlsHost::userGestureRequired):
        * Modules/mediacontrols/MediaControlsHost.h:
        * Modules/mediacontrols/MediaControlsHost.idl:

        Update the logic of shouldHaveStartPlaybackButton.
        * Modules/mediacontrols/mediaControlsiOS.js:
        (ControllerIOS.prototype.shouldHaveStartPlaybackButton):

2014-02-13  Jer Noble  <jer.noble@apple.com>

        [MediaControls] Add support for a loading progress meter
        https://bugs.webkit.org/show_bug.cgi?id=128651

        Reviewed by Eric Carlson.

        Draw the loaded ranges underneath the timeline slider. Use a -webkit-canvas()
        CSS function to allow the track of the slider to reflect the current state of
        the video's loadedTimeRanges property.

        Since -webkit-canvas() will share a backing store with all other CSS images using
        the same identifier, use a monotonically increasing identifier to uniquely identify the timeline on a per-document basis.

        * Modules/mediacontrols/mediaControlsApple.css:
        (audio::-webkit-media-controls-timeline):
        * Modules/mediacontrols/mediaControlsApple.js:
        (Controller): Call updateProgress().
        (Controller.prototype.createControls): Set up the canvas style and identifier.
        (Controller.prototype.handleLoadStart): Call updateProgress().
        (Controller.prototype.handleStalled): Ditto.
        (Controller.prototype.handleReadyStateChange): Ditto.
        (Controller.prototype.handleDurationChange): Ditto.
        (Controller.prototype.handleProgress): Ditto.
        (Controller.prototype.progressFillStyle): Added an easily overridable method
            to determine the fill color of the progress bar.
        (Controller.prototype.updateProgress): Draw the loadedTimeRanges into the timeline slider.
        * Modules/mediacontrols/mediaControlsiOS.js:
        (ControllerIOS.prototype.progressFillStyle): Override.

2014-02-14  Benjamin Poulain  <benjamin@webkit.org>

        Clean up JSDOMStringMap::deleteProperty
        https://bugs.webkit.org/show_bug.cgi?id=128801

        Reviewed by Geoffrey Garen.

        Follow up on my cleaning of JSDOMStringMapCustom, this time for deletion.

        Previously, we would query for the name, then call deleteItem() if the name was
        found. Instead, everything is moved to deleteItem which then return if the deletion
        is successful or not.

        By using convertPropertyNameToAttributeName, we can use Element::hasAttribute() directly
        to find if the attribute exists or not. If it exists, we remove it.

        Theoretically we could have a single pass over the attributes to find->delete but this
        code is not hot enough to justify anything fancy at this point.

        Finally, we no longer check for isValidPropertyName() on deletion. JSDOMStringMapCustom
        was the last client of DatasetDOMStringMap::deleteItem() and it could not call deleteItem()
        with invalid name since the name would have failed DatasetDOMStringMap::contains().
        The spec does not specify any name checking either for deletion so we are safe just ignoring
        invalid input.

        * bindings/js/JSDOMStringMapCustom.cpp:
        (WebCore::JSDOMStringMap::deleteProperty):
        * dom/DatasetDOMStringMap.cpp:
        (WebCore::DatasetDOMStringMap::deleteItem):
        * dom/DatasetDOMStringMap.h:

2014-02-14  Benjamin Poulain  <bpoulain@apple.com>

        Improve the performance on mobile of FTPDirectoryDocument
        https://bugs.webkit.org/show_bug.cgi?id=128778

        Reviewed by Antti Koivisto.

        Little cleanup.

        * html/FTPDirectoryDocument.cpp:
        (WebCore::FTPDirectoryDocumentParser::appendEntry):
        (WebCore::FTPDirectoryDocumentParser::createTDForFilename):
        (WebCore::processFilesizeString):
        (WebCore::wasLastDayOfMonth):
        (WebCore::processFileDateString):
        (WebCore::FTPDirectoryDocumentParser::parseAndAppendOneLine):
        (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
        (WebCore::FTPDirectoryDocumentParser::createBasicDocument):

2014-02-14  Benjamin Poulain  <benjamin@webkit.org>

        Do not attempt to synchronize attributes when no Simple Selector could match an animatable attribute
        https://bugs.webkit.org/show_bug.cgi?id=128728

        Reviewed by Andreas Kling.

        In most cases, we don't even need to test for the flag animatedSVGAttributesNotDirty.
        If the selector filter could never match an animatable attribute, there is no point in testing for one.

        * cssjit/SelectorCompiler.cpp:
        (WebCore::SelectorCompiler::canMatchStyleAttribute):
        Skip the second test when the local name is equal to canonicalLocalName. That is the common case.

        (WebCore::SelectorCompiler::canMatchAnimatableSVGAttribute):
        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributesMatching):

        * svg/SVGElement.cpp:
        (WebCore::addQualifiedName):
        (WebCore::SVGElement::animatableAttributeForName):
        (WebCore::SVGElement::isAnimatableAttribute):
        (WebCore::SVGElement::filterOutAnimatableAttribute):
        * svg/SVGElement.h:
        * svg/SVGScriptElement.cpp:
        (WebCore::SVGScriptElement::filterOutAnimatableAttribute):
        * svg/SVGScriptElement.h:
        Move the list of animatable attribute to a static function available in Release.
        Selector matching is a lot more flexible than normal name matching. Since the local name must
        always match, it is used as a key to get the full QualifiedName to compare to the selector.

        Separating the list of animatable attributes between Selectors and SVGElement::isAnimatableAttribute
        would be error prone. Instead, SVGElement::isAnimatableAttribute() is modified to use
        SVGElement::animatableAttributeForName so that the two never get out of sync.

        Since SVGScriptElement has one additional restriction to isAnimatableAttribute(), the function
        filterOutAnimatableAttribute() is added to remove a qualified name from the complete list of animatable attributes.
        This ensure SVGElement::animatableAttributeForName() always has the complete list, and subclasses of SVGElement
        can only remove QualifiedNames, not add them.

2014-02-14  Benjamin Poulain  <benjamin@webkit.org>

        Make code generation of the unoptimized pseudo classes separate
        https://bugs.webkit.org/show_bug.cgi?id=128704

        Reviewed by Andreas Kling.

        Mapping the unoptimized selectors when generating the code was useful for debugging
        but those cases are so common that looping over unoptimizedPseudoCheckers was more
        costly than anticipated.

        This patch moves the unoptimized pseudo selector in their own array to simplify code generation.

        * cssjit/SelectorCompiler.cpp:
        (WebCore::SelectorCompiler::addPseudoType):
        (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):

2014-02-14  Myles C. Maxfield  <mmaxfield@apple.com>

        Implement text-decoration-skip: auto
        https://bugs.webkit.org/show_bug.cgi?id=128786

        Reviewed by Dean Jackson.

        http://lists.w3.org/Archives/Public/www-style/2014Feb/0485.html
        We are updating the initial value of text-decoration-skip to a new value, "auto".
        On Mac + iOS, this will have the same behavior as "skip".

        Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-default.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::renderTextDecorationSkipFlagsToCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseTextDecorationSkip):
        * css/DeprecatedStyleBuilder.cpp:
        (WebCore::valueToDecorationSkip):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintDecoration):
        * rendering/style/RenderStyle.h:
        * rendering/style/RenderStyleConstants.h:

2014-02-13  Simon Fraser  <simon.fraser@apple.com>

        Give ScrollingTree(State)Nodes a reference to another layer, which is used for moving overflow:scroll contents around
        https://bugs.webkit.org/show_bug.cgi?id=128790

        Reviewed by Beth Dakin.

        Have scrolling tree nodes and state nodes track another layer, the
        "scrolled contents layer", for accelerated overflow:scroll.
        
        When making ScrollingTreeScrollingNodes for overflow:scroll, the node's
        layer will point to the composited element's primary layer, and its
        scrolledContentsLayer to the layer that gets moved around by scrolling.
        
        Do some other cleanup on AsyncScrollingCoordinator, removing
        functions that just called through to nodes.

        * WebCore.exp.in:
        * page/scrolling/AsyncScrollingCoordinator.cpp:
        (WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
        (WebCore::AsyncScrollingCoordinator::frameViewNonFastScrollableRegionChanged):
        (WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
        (WebCore::AsyncScrollingCoordinator::updateScrollingNode):
        (WebCore::AsyncScrollingCoordinator::updateViewportConstrainedNode):
        (WebCore::AsyncScrollingCoordinator::recomputeWheelEventHandlerCountForFrameView):
        * page/scrolling/AsyncScrollingCoordinator.h:
        * page/scrolling/ScrollingCoordinator.h:
        (WebCore::ScrollingCoordinator::updateScrollingNode):
        * page/scrolling/ScrollingStateScrollingNode.cpp:
        (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
        (WebCore::ScrollingStateScrollingNode::setScrolledContentsLayer):
        (WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
        (WebCore::ScrollingStateScrollingNode::setHeaderLayer):
        (WebCore::ScrollingStateScrollingNode::setFooterLayer):
        * page/scrolling/ScrollingStateScrollingNode.h:
        * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
        * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
        (WebCore::ScrollingTreeScrollingNodeIOS::updateBeforeChildren):
        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
        (WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::fixedRootBackgroundLayerChanged):

2014-02-14  Chris Fleizach  <cfleizach@apple.com>

        AX: WebKit needs heuristics to differentiate lists used for layout from semantic data lists, similar to the heuristics for layout tables versus data tables.
        https://bugs.webkit.org/show_bug.cgi?id=122320

        Reviewed by Mario Sanchez Prada.

        Many authors use lists for layout, rather than presenting data. Exposing these kinds of lists to accessibility users
        makes the web harder to process and listen, while degrading the importance of real lists.

        This introduces heuristics to filter out layout lists with the following:
           1. If it's a named list, like ol or aria=list, then it's a list.
             1a. Unless the list has no children, then it's not a list.
           2. If it displays visible list markers, it's a list.
           3. If it does not display list markers and has only one child, it's not a list.
           4. If it does not have any listitem children, it's not a list.
           5. Otherwise it's a list (for now).

        Test: accessibility/list-detection.html

        * accessibility/AccessibilityList.cpp:
        (WebCore::AccessibilityList::determineAccessibilityRole):
        (WebCore::AccessibilityList::roleValue):
        * accessibility/AccessibilityList.h:

2014-02-14  Brendan Long  <b.long@cablelabs.com>

        Use AtomicString arguments in TrackPrivateBaseClient callbacks
        https://bugs.webkit.org/show_bug.cgi?id=128765

        Reviewed by Eric Carlson.

        No new tests because this doesn't change functionality.

        * html/track/AudioTrack.cpp:
        (WebCore::AudioTrack::idChanged):
        (WebCore::AudioTrack::labelChanged):
        (WebCore::AudioTrack::languageChanged):
        * html/track/AudioTrack.h:
        * html/track/InbandTextTrack.cpp:
        (WebCore::InbandTextTrack::InbandTextTrack):
        (WebCore::InbandTextTrack::idChanged):
        (WebCore::InbandTextTrack::labelChanged):
        (WebCore::InbandTextTrack::languageChanged):
        * html/track/InbandTextTrack.h:
        * html/track/VideoTrack.cpp:
        (WebCore::VideoTrack::idChanged):
        (WebCore::VideoTrack::labelChanged):
        (WebCore::VideoTrack::languageChanged):
        * html/track/VideoTrack.h:
        * platform/graphics/TrackPrivateBase.h:

2014-02-14  Renata Hodovan  <rhodovan.u-szeged@partner.samsung.com>

        ASSERTION FAILED: comparePositions(newEnd, newStart) >= 0 in WebCore::ApplyStyleCommand::updateStartEnd
        https://bugs.webkit.org/show_bug.cgi?id=121791

        Reviewed by Darin Adler.

        If WebCore::ApplyStyleCommand::applyBlockStyle() creates a TextIterator for a range
        that has an element with ReplacedElement rendering object, then a ',' is emitted in the
        constructor of TextIterator. Due to this comma the end of the run range can be at the
        wrong position, what makes the assertion fire. This situation can be handled the same
        way in TextIterator::rangeFromLocationAndLength() as we do in case of the emitted '\n's.

        Test: editing/execCommand/remove-formatting-from-iframe-in-button.html

        * editing/TextIterator.cpp:
        (WebCore::TextIterator::rangeFromLocationAndLength):

2014-02-14  Andrei Bucur  <abucur@adobe.com>

        [CSS Regions] visibility: hidden on a region should hide its content
        https://bugs.webkit.org/show_bug.cgi?id=128814

        Reviewed by Mihnea Ovidenie.

        The patch properly checks that the content of a region layer should be painted before actually
        calling the paint function (for example, when visibility: hidden is specified on a region, its
        content should be hidden).

        Test: fast/regions/visibility-hidden.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayerContents):

2014-02-14  László Langó  <llango.u-szeged@partner.samsung.com>

        Follow-up fix after r164036.

        Reviewed by Csaba Osztrogonác.

        * dom/Document.cpp:
        (WebCore::Document::create):

2014-02-13  Byungseon Shin  <sun.shin@lge.com>

        [MSE] Move PublicURLManager shutdown logic so ActiveDOMObjects associated with public URLs won't leak.
        https://bugs.webkit.org/show_bug.cgi?id=128532

        Reviewed by Jer Noble.

        This fixes a leak of DOM objects by breaking the circular reference 
        between Document, PublicURLManager, and MediaSource. 
        Instead of clearing PublicURLManager at destruction-time, 
        which is delayed indefinitely because of the circular reference, 
        clear the PublicURLManager during ActiveDOMObject::stop().

        Frome Blink r151890 by <acolwell@chromium.org>
        <https://src.chromium.org/viewvc/blink?view=rev&revision=151890>

        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
        (WebCore::ScriptExecutionContext::publicURLManager):
        * html/DOMURL.h:
        * html/PublicURLManager.cpp:
        (WebCore::PublicURLManager::create):
        (WebCore::PublicURLManager::PublicURLManager):
        (WebCore::PublicURLManager::registerURL):
        (WebCore::PublicURLManager::stop):
        * html/PublicURLManager.h:

2014-02-13  Myles C. Maxfield  <mmaxfield@apple.com>

        Remove position:sticky runtime flag
        https://bugs.webkit.org/show_bug.cgi?id=128774

        Reviewed by Simon Fraser.

        Rollout of r128663

        No new tests are necessary because there is no behavior change.

        * css/CSSParser.cpp:
        (WebCore::CSSParserContext::CSSParserContext):
        (WebCore::operator==):
        (WebCore::isValidKeywordPropertyAndValue):
        * css/CSSParserMode.h:
        * dom/Document.cpp:
        * dom/Document.h:
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:

2014-02-04  Gustavo Noronha Silva  <gns@gnome.org>

        [GTK][CMake] Generate GObject DOM bindings .symbols files
        https://bugs.webkit.org/show_bug.cgi?id=126210

        Reviewed by Martin Robinson.

        No new tests. Build change only.

        * CMakeLists.txt: list Quota module files and IDLs even if the feature
        is disabled, for GTK, since we rely on that for our DOM bindings.
        * PlatformGTK.cmake: add a new target to check for DOM symbols API by
        running the new python script.
        * bindings/gobject/GNUmakefile.am: call the new python script instead
        of using a custom rule.

2014-02-13  Myles C. Maxfield  <mmaxfield@apple.com>

        text-decoration-skip: ink skips randomly when using SVG fonts
        https://bugs.webkit.org/show_bug.cgi?id=128709

        Reviewed by Simon Fraser.

        This patch simply disables skipping underlines being used with SVG fonts.
        It's a stopgap until we can support skipping properly with SVG fonts.

        Test: svg/custom/svg-fonts-skip-ink.html

        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
        (WebCore::FontPlatformData::ctFont):
        * platform/graphics/mac/FontMac.mm:
        (WebCore::Font::dashesForIntersectionsWithRect):

2014-02-13  Daniel Bates  <dabates@apple.com>

        Fix the ARM build when HAVE_ARM_NEON_INTRINSICS is enabled

        Add !HAVE(ARM_NEON_INTRINSICS)-guard around file-level inline function arithmeticSoftware to
        avoid an unused function compiler warning when building with ARM Neon intrinsics.

        * platform/graphics/filters/FEComposite.cpp:

2014-02-13  Brady Eidson  <beidson@apple.com>

        IDB: Three tests crash the DatabaseProcess under ~KeyedDecoder
        https://bugs.webkit.org/show_bug.cgi?id=128763

        Reviewed by Anders Carlsson.

        No new tests (Covered by three existing tests)

        * platform/KeyedCoding.h:
        (WebCore::KeyedEncoder::encodeObjects): If the array is empty we still have to begin() and end() it.

2014-02-13  Yuki Sekiguchi  <yuki.sekiguchi@access-company.com>

        [css3-text] Support -webkit-text-decoration-skip: objects
        https://bugs.webkit.org/show_bug.cgi?id=128723

        Reviewed by Dean Jackson.

        Implemented 'objects' value of text-decoration-skip.
        http://www.w3.org/TR/2013/CR-css-text-decor-3-20130801/#text-decoration-skip

        This is initial value and same behavior without
        ENABLE_CSS3_TEXT_DECORATION_SKIP_INK flag. Threfore, this patch only
        added parser code and constant for 'objects'.

        Changed the initial value of text-decoration-skip.

        The current implementation parses 'none', but the rendering code is
        not match the spec, so this patch added FIXME to the rendering code.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::renderTextDecorationSkipFlagsToCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseTextDecorationSkip):
        * css/CSSValueKeywords.in:
        * css/DeprecatedStyleBuilder.cpp:
        (WebCore::valueToDecorationSkip):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintDecoration):
        * rendering/style/RenderStyle.h:
        * rendering/style/RenderStyleConstants.h:

2014-02-13  Daniel Bates  <dabates@apple.com>

        Fix ARM NEON build following <http://trac.webkit.org/changeset/164058>
        (https://bugs.webkit.org/show_bug.cgi?id=128767)

        I inadvertently didn't include header NEONHelpers.h, which defines WebCore::loadRGBA8AsFloat().

        * platform/graphics/cpu/arm/filters/FECompositeArithmeticNEON.h:

2014-02-13  Daniel Bates  <dabates@apple.com>

        Write FEComposite::computeArithmeticPixelsNeon() in terms of loadRGBA8AsFloat()
        https://bugs.webkit.org/show_bug.cgi?id=128767

        Reviewed by Dean Jackson.

        This patch was inspired by Gabor Rapcsanyi's work in <https://bugs.webkit.org/show_bug.cgi?id=90669>.

        Currently we duplicate code in FEComposite::computeArithmeticPixelsNeon() to read pixel data.
        Instead we should use the convenience function WebCore::loadRGBA8AsFloat. This also resolves
        an uninitialized variable compiler warning in the existing code.

        * platform/graphics/cpu/arm/filters/FECompositeArithmeticNEON.h:
        (WebCore::FEComposite::computeArithmeticPixelsNeon):

2014-02-13  Myles C. Maxfield  <mmaxfield@apple.com>

        During a copy, position:fixed gets converted to position:absolute even if only part of the document is selected
        https://bugs.webkit.org/show_bug.cgi?id=128688

        Reviewed by Ryosuke Niwa.

        Adds a field, m_needsPositionStyleConversion, to StyledMarkupAccumulator.

        Also, renames the ConvertPositionStyleOnCopy setting to ShouldConvertPositionStyleOnCopy

        Test: editing/pasteboard/copy-paste-doesnt-convert-sticky-and-fixed-during-partial-copy.html

        * editing/markup.cpp:
        (WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator):
        (WebCore::StyledMarkupAccumulator::appendElement):
        (WebCore::createMarkupInternal):
        * page/Settings.in:
        * testing/InternalSettings.cpp:
        (WebCore::InternalSettings::Backup::Backup):
        (WebCore::InternalSettings::Backup::restoreTo):
        (WebCore::InternalSettings::setShouldConvertPositionStyleOnCopy):
        * testing/InternalSettings.h:
        * testing/InternalSettings.idl:

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

        Enable inspection of recently used IndexedDB databases.

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

        Reviewed by Brady Eidson & Joseph Pecoraro.

        * Modules/indexeddb/IDBFactory.cpp:
        (WebCore::IDBFactory::getDatabaseNames):
        * Modules/indexeddb/IDBFactoryBackendInterface.h:
        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
        (WebCore::IDBFactoryBackendLevelDB::getDatabaseNames):
        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
        Fix up the arguments passed to getDatabaseNames.

        * WebCore.xcodeproj/project.pbxproj:
        Make DOMStringList.h private so WebKit2 can use it.

        * inspector/InspectorIndexedDBAgent.cpp:
        Modernize the loops and remove some PLATFORM(COCOA) ifdefs to
        compile the code. 

        * inspector/protocol/IndexedDB.json: Use number for version to
        allow larger values instead of clamping to int.

2014-02-13  Chang Shu  <cshu@webkit.org>

        Copying (createMarkup) wrapping text results in space between wrapped lines stripped.
        https://bugs.webkit.org/show_bug.cgi?id=63233

        The problem is StyledMarkupAccumulator uses renderedText and the space at
        the end of the text has been stripped when the tag after the text was wrapped.

        Reviewed by Ryosuke Niwa.

        Test: editing/pasteboard/copy-text-with-wrapped-tag.html

        * editing/TextIterator.cpp:
        (WebCore::TextIterator::TextIterator):
        (WebCore::TextIterator::handleTextBox):
        * editing/TextIterator.h:
        Check the special case when the iterator runs over a range that is followed by a non-text box.
        In this case, the possible last space has been collapsed and needs to be restored.
        * editing/markup.cpp:
        (WebCore::StyledMarkupAccumulator::renderedText):
        Check if the range is followed by more nodes and pass this information to the constructed TextIterator.

2014-02-13  Myles C. Maxfield  <mmaxfield@apple.com>

        Gaps for text-decoration-skip: ink are calculated assuming the glyph orientation is the same as the run orientation
        https://bugs.webkit.org/show_bug.cgi?id=128718

        Reviewed by Darin Adler.

        This is a stop-gap patch to make underlines in CJK text not look terrible. A long-term fix is to refactor
        showGlyphsWithAdvances to move rotation logic into a common place that the text-decoration-skip: ink code
        can use.

        Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-orientation-upright.html

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintDecoration):

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

        InsertIntoTextNodeCommand should get Settings from the Frame.
        <https://webkit.org/b/128678>

        EditCommands have a frame() accessor that returns a reference,
        so there's no need to go through Document.

        Reviewed by Anders Carlsson.

        * editing/InsertIntoTextNodeCommand.cpp:
        (WebCore::InsertIntoTextNodeCommand::doApply):

2014-02-13  László Langó  <llango.u-szeged@partner.samsung.com>

        Document should be constructable
        https://bugs.webkit.org/show_bug.cgi?id=115643

        Reviewed by Darin Adler.

        http://www.w3.org/TR/2014/WD-dom-20140204/#interface-document
        Make Document constructable so that one can do "new Document"
        instead of "document.implementation.createHTMLDocument('')".

        Test: fast/dom/Document/document-constructor.html

        * dom/Document.cpp:
        (WebCore::Document::create):
        (WebCore::Document::origin):
        * dom/Document.h:
        * dom/Document.idl:

2014-02-13  Javier Fernandez  <jfernandez@igalia.com>

        [CSS Grid Layout] Rename named areas property
        https://bugs.webkit.org/show_bug.cgi?id=127990

        Reviewed by Sergio Villar Senin.

        From Blink r165891 by <rego@igalia.com>

        The property 'grid-template' has been renamed to 'grid-template-areas'
        in the last two versions of the spec.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::ComputedStyleExtractor::propertyValue):
        * css/CSSGridTemplateAreasValue.cpp: Renamed from Source/WebCore/css/CSSGridTemplateValue.cpp.
        (WebCore::CSSGridTemplateAreasValue::CSSGridTemplateAreasValue):
        (WebCore::stringForPosition):
        (WebCore::CSSGridTemplateAreasValue::customCSSText):
        * css/CSSGridTemplateAreasValue.h: Renamed from Source/WebCore/css/CSSGridTemplateValue.h.
        (WebCore::CSSGridTemplateAreasValue::create):
        (WebCore::CSSGridTemplateAreasValue::~CSSGridTemplateAreasValue):
        (WebCore::CSSGridTemplateAreasValue::gridAreaMap):
        (WebCore::CSSGridTemplateAreasValue::rowCount):
        (WebCore::CSSGridTemplateAreasValue::columnCount):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseGridTemplateAreas):
        * css/CSSParser.h:
        * css/CSSPropertyNames.in:
        * css/CSSValue.cpp:
        (WebCore::CSSValue::equals):
        (WebCore::CSSValue::cssText):
        (WebCore::CSSValue::destroy):
        * css/CSSValue.h:
        (WebCore::CSSValue::isGridTemplateAreasValue):
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::applyProperty):

2014-02-13  Adrian Bunk  <bunk@stusta.de>

        Remove the last remnants of Maemo support
        https://bugs.webkit.org/show_bug.cgi?id=85238

        Reviewed by Ryosuke Niwa.

        * plugins/npapi.h:

2014-02-13  ChangSeok Oh  <changseok.oh@collabora.com>

        Support ANGLE_instanced_arrays for GLES backend.
        https://bugs.webkit.org/show_bug.cgi?id=128579

        Reviewed by Dean Jackson.

        Add some APIs to Extensions3D to support ANGLE_instanced_arrays for GLES backend.
        At the same time, drawArraysInstanced, drawElementsInstanced and vertexAttribDivisor
        are moved from GC3DOpenGL.cpp to GC3DOpenGLCommon.cpp since they could be shareable
        through Extensions3D.

        Covered by fast/canvas/webgl/angle-instanced-arrays.html

        * platform/graphics/Extensions3D.h:
        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
        (WebCore::Extensions3DOpenGL::drawArraysInstanced):
        (WebCore::Extensions3DOpenGL::drawElementsInstanced):
        (WebCore::Extensions3DOpenGL::vertexAttribDivisor):
        * platform/graphics/opengl/Extensions3DOpenGL.h:
        * platform/graphics/opengl/Extensions3DOpenGLES.cpp:
        (WebCore::Extensions3DOpenGLES::Extensions3DOpenGLES):
        (WebCore::Extensions3DOpenGLES::drawArraysInstanced):
        (WebCore::Extensions3DOpenGLES::drawElementsInstanced):
        (WebCore::Extensions3DOpenGLES::vertexAttribDivisor):
        (WebCore::Extensions3DOpenGLES::supportsExtension):
        * platform/graphics/opengl/Extensions3DOpenGLES.h:
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
        (WebCore::GraphicsContext3D::drawArraysInstanced):
        (WebCore::GraphicsContext3D::drawElementsInstanced):
        (WebCore::GraphicsContext3D::vertexAttribDivisor):
        * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:

2014-02-13  Xabier Rodriguez Calvar  <calvaris@igalia.com>

        [GTK] MEDIA_CONTROLS_SCRIPT support
        https://bugs.webkit.org/show_bug.cgi?id=123097

        Reviewed by Jer Noble.

        WebKitGTK+ multimedia controls are now managed from Javascript
        code. Apple controls are kept as common code and GTK+ ones are
        subclassed for the specific behavior.

        Both CMake and Autotools build support is provided.

        * CMakeLists.txt: Added support to build the media controls
        script and their associated files.
        * GNUmakefile.am: Added support to generate the C++ code from the
        Javascript.
        * GNUmakefile.list.am: Added the media controls script associated
        files.
        * Modules/mediacontrols/MediaControlsHost.cpp:
        * Modules/mediacontrols/MediaControlsHost.h:
        * Modules/mediacontrols/MediaControlsHost.idl:
        (WebCore::MediaControlsHost::supportsFullscreen): Added attribute
        to know if the element supports fullscreen.
        * Modules/mediacontrols/mediaControlsApple.js:
        (Controller.prototype.handleWrapperMouseMove):
        (Controller.prototype.handleWrapperMouseOut):
        (Controller.prototype.updatePlaying): Use clear and
        resetHideControlsTimer.
        (Controller.prototype.clearHideControlsTimer): Added.
        (Controller.prototype.resetHideControlsTimer): Added.
        * Modules/mediacontrols/mediaControlsGtk.js: Added.
        (createControls): Calls ControllerGtk.
        (ControllerGtk): Calls the superclass.
        (contains): Defines a function to know if an object is contained
        in an array.
        (ControllerGtk.prototype.inheritFrom): Copies the method of the
        superclass that are not reimplemented in the subclass.
        (ControllerGtk.prototype.createControls): Calls the superclass and
        create the remaining needed elements.
        (ControllerGtk.prototype.configureInlineControls): Configures the
        controls.
        (ControllerGtk.prototype.setStatusHidden): Redefined empty.
        (ControllerGtk.prototype.updateTime): Writes the duration and
        current position. As it was so far, current time also includes
        duration. If current time is bigger than 0 we show that.
        (ControllerGtk.prototype.showCurrentTime): Shows current time and
        hides duration label (that is included in current time).
        (ControllerGtk.prototype.handlePlay): Calls the superclass and
        force showing the current time.
        (ControllerGtk.prototype.handleTimeUpdate): Always update the
        time.
        (ControllerGtk.prototype.handleMuteButtonMouseOver): Shows the
        volume slider.
        (ControllerGtk.prototype.handleVolumeBoxMouseOut): Hides the
        volume slider.
        (ControllerGtk.prototype.addControls): Adds the enclosure instead
        of the panel directly. Panel is, of course, part of the enclosure.
        (ControllerGtk.prototype.updateReadyState): Shows the fullscreen
        button only if fullscreen is supported. Sets the volume in up or
        down mode depending on its position in the document. Updates the
        volume.
        (ControllerGtk.prototype.setControlsType): Creates the controls it
        they were not created before. Unlike Apple ones, WebKitGTK+
        fullscreen and inline controls are the same.
        (ControllerGtk.prototype.updatePlaying): Calls the superclass and
        shows the controls if not playing.
        (ControllerGtk.prototype.handleCaptionButtonClicked): Redefined
        empty. To be coherent with volume, that also shows a popup, this
        is handled with mouseover instead of click.
        (ControllerGtk.prototype.buildCaptionMenu): Calls the superclass
        to build the menu, sets some listeners, centers the popup with the
        captions button, keeps the current height and sets the style to 0,
        which is needed to animate it.
        (ControllerGtk.prototype.destroyCaptionMenu): Hides the caption menu.
        (ControllerGtk.prototype.showCaptionMenu): Resets the height to
        its original. We don't animate it with CSS because we would need
        to specify a height in the style and we don't know it in advance.
        (ControllerGtk.prototype.hideCaptionMenu): Sets height to 0.
        (ControllerGtk.prototype.captionMenuTransitionEnd): When the
        captions menu transtition ends, it is destroyed.
        (ControllerGtk.prototype.handleCaptionButtonMouseOver): Creates
        the caption menu and shows it.
        (ControllerGtk.prototype.handleCaptionButtonMouseOut): Hides the
        captions menu.
        (ControllerGtk.prototype.handleCaptionMouseOut): Hides the
        captions menu.
        * PlatformGTK.cmake: Added WebCore to the target link libraries
        and initialized the variables needed at CMakelists.txt
        * css/mediaControlsGtk.css:
        (audio::-webkit-media-controls-panel)
        (video::-webkit-media-controls-panel): Added transtion based on opacity.
        (video::-webkit-media-controls-panel): Set video opacity to 0.
        (video::-webkit-media-controls-panel.paused): Set video opacity to 1.
        (audio::-webkit-media-controls-panel div.mute-box): Set the same
        style as the mute button to preserve the layout.
        (audio::-webkit-media-controls-panel div.mute-box.hidden): Sets
        the display to none.
        (audio::-webkit-media-controls-mute-button)
        (video::-webkit-media-controls-mute-button): Removed the outline
        and the margin that is managed by the mute box now.
        (audio::-webkit-media-controls-play-button)
        (video::-webkit-media-controls-play-button): Removed the outline.
        (audio::-webkit-media-controls-time-remaining-display)
        (video::-webkit-media-controls-time-remaining-display): Removed
        the display.
        (audio::-webkit-media-controls-current-time-display)
        (video::-webkit-media-controls-current-time-display): Added the
        display block.
        (video::-webkit-media-controls-time-remaining-display): Set
        display none.
        (video::-webkit-media-controls-time-remaining-display.show): Set
        display block.
        (video::-webkit-media-controls-time-remaining-display.hidden): Set
        display none.
        (audio::-webkit-media-controls-timeline)
        (video::-webkit-media-controls-timeline): Removed outline.
        (audio::-webkit-media-controls-volume-slider-container)
        (video::-webkit-media-controls-volume-slider-container): Set
        overflow hidden and set a transition by height.
        (video::-webkit-media-controls-volume-slider-container.hidden):
        Set height 0.
        (video::-webkit-media-controls-volume-slider-container.down): Set
        bottom to be below the panel. Changed the border radius and
        transition accordingly.
        (video::-webkit-media-controls-panel .hidden.down): Sets default
        bottom as 0.
        (audio::-webkit-media-controls-volume-slider)
        (video::-webkit-media-controls-volume-slider): Removed the outline.
        (audio::-webkit-media-controls-toggle-closed-captions-button)
        (video::-webkit-media-controls-toggle-closed-captions-button):
        Removed the background that is painted from C++ and removed the
        outline.
        (video::-webkit-media-controls-closed-captions-container):
        (video::-webkit-media-controls-closed-captions-container h3):
        (video::-webkit-media-controls-closed-captions-container ul):
        (video::-webkit-media-controls-closed-captions-container li):
        (video::-webkit-media-controls-closed-captions-container li.selected): Changed
        the style to make it more coherent with the rest of the controls.
        (audio::-webkit-media-controls-fullscreen-button)
        (video::-webkit-media-controls-fullscreen-button): Removed the outline.
        (audio::-webkit-media-controls-panel button.hidden): Sets the
        display to none.
        * html/HTMLMediaElement.cpp: UserAgentScripts.h is not needed here
        and build cmake build would need for changes to get this compiled.
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::nodeHasPseudo): Added. Checks if a node has a certain
        pseudo.
        (WebCore::nodeHasClass): Added. Checks if a node has a certain
        class.
        (WebCore::supportsFocus): Removed some element types as outline is
        now handled in CSS.
        (WebCore::RenderThemeGtk::paintMediaPlayButton): Checks if the
        play button has the class paused to show the play icon instead of
        the pause one.
        (WebCore::RenderThemeGtk::paintMediaToggleClosedCaptionsButton):
        Added. Paints the captions icon.
        (WebCore::RenderThemeGtk::mediaControlsScript): Added. Loads the
        bundled scripts.
        * platform/gtk/RenderThemeGtk.h: Added the mediaControlsScript
        method and declared the redefinition of the method to play the
        captions icon.

2014-02-11  Alexey Proskuryakov  <ap@apple.com>

        Don't crash when SerializedScriptValue deserialization fails
        https://bugs.webkit.org/show_bug.cgi?id=128657

        Reviewed by Oliver Hunt.

        Test: crypto/subtle/postMessage-worker.html

        * bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::data): Added a FIXME.

        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneBase::fail): Don't assert on failure.
        (WebCore::SerializedScriptValue::deserialize): Never return a null JSValue, these
        are not allowed.

2014-02-12  Bem Jones-Bey  <bjonesbe@adobe.com>

        [CSS Shapes] Rename shapeSize and others to make ShapeInfo and friends easier to understand
        https://bugs.webkit.org/show_bug.cgi?id=128685

        Reviewed by Alexandru Chiculita.

        The ShapeInfo hierarchy has grown organically as the spec has changed,
        and the naming has become very stale and confusing. The spec is now in
        Last Call, so it seems like a good time to take a stab towards better
        naming that matches the spec terminology and is also more consistent
        in general.

        No new tests, no behavior change.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::imageChanged): Use new names.
        (WebCore::RenderBlock::updateShapeInsideInfoAfterStyleChange): Ditto.
        (WebCore::shapeInfoRequiresRelayout): Ditto.
        (WebCore::RenderBlock::computeShapeSize): Ditto.
        (WebCore::RenderBlock::updateShapesAfterBlockLayout): Ditto.
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::logicalSizeForChild): This method makes it much
            cleaner to set the reference box size.
        * rendering/RenderBlockFlow.cpp:
        (WebCore::RenderBlockFlow::positionNewFloats): Use new names.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::updateShapeOutsideInfoAfterStyleChange): Ditto.
        (WebCore::RenderBox::imageChanged): Ditto.
        * rendering/shapes/ShapeInfo.cpp:
        (WebCore::getShapeImageMarginRect): Rename variables.
        (WebCore::ShapeInfo<RenderType>::computedShape): More renames.
        * rendering/shapes/ShapeInfo.h:
        (WebCore::ShapeInfo::setReferenceBoxLogicalSize): Renamed from
            setShapeSize.
        (WebCore::ShapeInfo::logicalLineTop): Use new names.
        (WebCore::ShapeInfo::logicalLineBottom): Ditto.
        (WebCore::ShapeInfo::shapeContainingBlockLogicalHeight): Ditto.
        (WebCore::ShapeInfo::markShapeAsDirty): Renamed from dirtyShapeSize.
        (WebCore::ShapeInfo::isShapeDirty): Renamed from shapeSizeDirty.
        (WebCore::ShapeInfo::referenceBoxLogicalSize): Renamed from shapeSize.
        (WebCore::ShapeInfo::logicalTopOffset): Use new names.
        (WebCore::ShapeInfo::logicalLeftOffset): Ditto.
        * rendering/shapes/ShapeInsideInfo.cpp:
        (WebCore::ShapeInsideInfo::updateSegmentsForLine): Ditto.
        (WebCore::ShapeInsideInfo::adjustLogicalLineTop): Ditto.
        (WebCore::ShapeInsideInfo::computeFirstFitPositionForFloat): Ditto.
        * rendering/shapes/ShapeInsideInfo.h:
        * rendering/shapes/ShapeOutsideInfo.cpp:
        (WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine): Ditto.
        * rendering/shapes/ShapeOutsideInfo.h:

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

        REGRESSION: Crashing/Broken Tests Due To Unexpected 8-bit Character Data
        https://bugs.webkit.org/show_bug.cgi?id=128698

        Reviewed by Tim Horton.

        * platform/graphics/win/UniscribeController.cpp:
        (WebCore::UniscribeController::advance): Make 16-bit copy when needed.
        (WebCore::UniscribeController::shapeAndPlaceItem): Handle 8-bit case when checking
        for word boundaries.

2014-02-12  Benjamin Poulain  <bpoulain@apple.com>

        Document::childrenChanged does not necessarily have a page

        Rubber stamped by Enrica Casucci.

        * dom/Document.cpp:
        (WebCore::Document::childrenChanged):

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

        Add a missing ": " between the URL and exception in STDOUT logs.

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

        Reviewed by Joseph Pecoraro.

        * page/PageConsole.cpp:
        (WebCore::PageConsole::addMessage): Print ": " after calling
        printSourceURLAndPosition now that it does not print it for us.

2014-02-12  Enrica Casucci  <enrica@apple.com>

        WK2: coordinate mapping for frames does not work when the page is scrolled.
        https://bugs.webkit.org/show_bug.cgi?id=128690
        <rdar://problem/16042925>

        Reviewed by Simon Fraser.

        We should not apply the scroll offset when using delegate scrolling.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::rootViewToContents):
        (WebCore::ScrollView::contentsToRootView):
        (WebCore::ScrollView::rootViewToTotalContents):

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

        Web Inspector: Rename PageInjectedScript* to WebInjectedScript*
        https://bugs.webkit.org/show_bug.cgi?id=128660

        Reviewed by Timothy Hatcher.

        Rename the files update build systems and users.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/CommandLineAPIModule.cpp:
        (WebCore::CommandLineAPIModule::host):
        * inspector/InspectorAllInOne.cpp:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InspectorController.h:
        * inspector/InspectorHeapProfilerAgent.cpp:
        (WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
        * inspector/InspectorHeapProfilerAgent.h:
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::PageProfilerAgent::PageProfilerAgent):
        (WebCore::InspectorProfilerAgent::create):
        (WebCore::WorkerProfilerAgent::WorkerProfilerAgent):
        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
        * inspector/InspectorProfilerAgent.h:
        * inspector/PageConsoleAgent.cpp:
        (WebCore::PageConsoleAgent::PageConsoleAgent):
        (WebCore::PageConsoleAgent::addInspectedNode):
        * inspector/PageConsoleAgent.h:
        * inspector/WebConsoleAgent.cpp:
        (WebCore::WebConsoleAgent::WebConsoleAgent):
        (WebCore::WebConsoleAgent::frameWindowDiscarded):
        (WebCore::WebConsoleAgent::addInspectedHeapObject):
        * inspector/WebConsoleAgent.h:
        * inspector/WebInjectedScriptHost.cpp: Renamed from Source/WebCore/inspector/PageInjectedScriptHost.cpp.
        (WebCore::WebInjectedScriptHost::type):
        (WebCore::WebInjectedScriptHost::isHTMLAllCollection):
        * inspector/WebInjectedScriptHost.h: Renamed from Source/WebCore/inspector/PageInjectedScriptHost.h.
        * inspector/WebInjectedScriptManager.cpp: Renamed from Source/WebCore/inspector/PageInjectedScriptManager.cpp.
        (WebCore::WebInjectedScriptManager::WebInjectedScriptManager):
        (WebCore::WebInjectedScriptManager::disconnect):
        (WebCore::WebInjectedScriptManager::didCreateInjectedScript):
        (WebCore::WebInjectedScriptManager::discardInjectedScriptsFor):
        * inspector/WebInjectedScriptManager.h: Renamed from Source/WebCore/inspector/PageInjectedScriptManager.h.
        * inspector/WorkerConsoleAgent.cpp:
        (WebCore::WorkerConsoleAgent::WorkerConsoleAgent):
        * inspector/WorkerConsoleAgent.h:
        * inspector/WorkerInspectorController.cpp:
        (WebCore::WorkerInspectorController::WorkerInspectorController):
        * inspector/WorkerInspectorController.h:

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

        Unreviewed iOS Build fix after r163975.

        * page/EventHandler.cpp: Use wheel event stubs if !PLATFORM(MAC) || PLATFORM(IOS).

2014-02-12  Gavin Barraclough  <barraclough@apple.com>

        Clean up PageThrottler interface
        https://bugs.webkit.org/show_bug.cgi?id=128677

        Reviewed by Benjamin Poulain.

        Currently, responsibility for throttling DOM timers & suspending animations is split
        between the Page & the PageThrottler. Clarify by making Page responsible for suspending
        animations (PageThrottler is now purely related to aspects of timer throttling), and
        move all timer throttling policy to the PageThrottler, with a single function on Page to
        enable (Page::setTimerThrottlingEnabled).

        Also, transmit the full ViewState to the PageThrottler (not just the IsVisuallyIdle flag),
        and distinguish between media & page-load activity.

        * WebCore.exp.in:
            - removed setDOMTimerAlignmentInterval.
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::parseAttribute):
            - createActivityToken -> mediaActivityToken
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::started):
            - createActivityToken -> pageLoadActivityToken
        * page/Page.cpp:
        (WebCore::Page::Page):
            - added m_timerThrottlingEnabled, made PageThrottler a member
        (WebCore::Page::setIsVisuallyIdleInternal):
            - update animiation suspension.
        (WebCore::Page::setTimerThrottlingEnabled):
            - setTimerAlignmentInterval -> setTimerThrottlingEnabled
        (WebCore::Page::setViewState):
            - pass viewState to PageThrottler.
        (WebCore::Page::setIsVisibleInternal):
            - don't update timer throttling.
        * page/Page.h:
        (WebCore::Page::pageThrottler):
            - made PageThrottler a member.
        (WebCore::Page::timerAlignmentInterval):
            - inlined.
        * page/PageThrottler.cpp:
        (WebCore::PageThrottler::PageThrottler):
            - initialize ViewState.
        (WebCore::PageThrottler::~PageThrottler):
            - clean up by calling setTimerThrottlingEnabled directly.
        (WebCore::PageThrottler::hiddenPageDOMTimerThrottlingStateChanged):
            - moved from Page.
        (WebCore::PageThrottler::mediaActivityToken):
        (WebCore::PageThrottler::pageLoadActivityToken):
            - from Page::createActivityToken
        (WebCore::PageThrottler::throttlePage):
        (WebCore::PageThrottler::unthrottlePage):
            - don't throttle animations here.
        (WebCore::PageThrottler::setViewState):
        (WebCore::PageThrottler::setIsVisible):
            - added, throttle Dom timers.
        * page/PageThrottler.h:
        * page/Settings.cpp:
        (WebCore::Settings::setHiddenPageDOMTimerThrottlingEnabled):
            - removed setDOMTimerAlignmentInterval, hiddenPageDOMTimerThrottlingStateChanged moved to PageThrottler.
        * page/Settings.h:
            - removed setDOMTimerAlignmentInterval.

2014-02-12  Benjamin Poulain  <bpoulain@apple.com>

        [WK2][iOS] Add back the special viewport for the old xhtml mobile doctype
        https://bugs.webkit.org/show_bug.cgi?id=128639

        Reviewed by Andreas Kling.

        * WebCore.exp.in:
        * dom/Document.cpp:
        (WebCore::Document::childrenChanged):
        Document::setDocType() has been removed and the doctype update code with it.
        Add a call to didReceiveDocType() to ensure the viewport is updated when the doctype is parsed.

        * loader/EmptyClients.h:
        * page/Chrome.cpp:
        (WebCore::Chrome::didReceiveDocType):
        * page/ChromeClient.h:
        * page/ViewportConfiguration.cpp:
        (WebCore::ViewportConfiguration::xhtmlMobileParameters):
        * page/ViewportConfiguration.h:

2014-02-12  Alexey Proskuryakov  <ap@apple.com>

        Mountain Lion build fix.

        * WebCore.exp.in: Only export WebCrypto symbols on 10.9+, because SUBTLE_CRYPTO
        is not enabled on 10.8.

2014-02-12  Alexey Proskuryakov  <ap@apple.com>

        Wrap WebCrypto keys in SerializedScriptValue
        https://bugs.webkit.org/show_bug.cgi?id=128680

        Reviewed by Anders Carlsson.

        Test: crypto/subtle/rsa-indexeddb.html

        Added Mac code to wrap a key with AES-GCM. We then serialize it into a plist,
        because more custom formats would be crazy (even the custom format in SerializedScriptValue
        makes me nervous, we'll certainly need to change CryptoKey in the future).

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:
        * crypto/CommonCryptoUtilities.h:
        * crypto/SerializedCryptoKeyWrap.h: Added.
        * crypto/mac/SerializedCryptoKeyWrapMac.mm: Added.
        (WebCore::vectorFromNSData):
        (WebCore::wrapSerializedCryptoKey):
        (WebCore::unwrapSerializedCryptoKey):

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

        Wheel events don't latch to inner scrollable elements 
        https://bugs.webkit.org/show_bug.cgi?id=128225
        <rdar://problem/12183688>

        Reviewed by Simon Fraser

        * WebCore.exp.in: Add declarations for new scrolledToTop, scrolledToBottom, scrolledToLeft, and scrolledToRight.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::EventHandler):
        (WebCore::EventHandler::clear):
        (WebCore::findScrollableContainer): New helper function to locate first node
        in enclosing region of document that is capable of handling mouse wheel events.
        (WebCore::isAtMaxDominantScrollPosition): Predicate to check if the scrollable
        area is at the limit we will hit based on scroll direction.
        (WebCore::EventHandler::handleWheelEvent): Identify the case where we have hit
        the end of a scroll, and treat that as a valid 'handled' case. If the scroll event
        is just starting, treat end-of-scroll as unhandled so the parent element can
        handle things.
        * page/EventHandler.h:
        * page/scrolling/ScrollingTree.cpp:
        (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously): Use new methods
        on the PlatformWheelEvent class.
        (WebCore::ScrollingTree::setOrClearLatchedNode): Ditto
        * platform/PlatformWheelEvent.h:
        (WebCore::PlatformWheelEvent::shouldConsiderLatching): Moved implementation from ScrollingTree.
        (WebCore::PlatformWheelEvent::shouldClearLatchedNode): Ditto
        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::scrolledToTop): Added
        (WebCore::ScrollableArea::scrolledToBottom):Added
        (WebCore::ScrollableArea::scrolledToLeft): Added
        (WebCore::ScrollableArea::scrolledToRight): Added
        * platform/ScrollableArea.h:
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::scrolledToTop): Added
        (WebCore::RenderListBox::scrolledToBottom): Added
        (WebCore::RenderListBox::scrolledToLeft): Added
        (WebCore::RenderListBox::scrolledToRight): Added
        * rendering/RenderListBox.h: Changed to public inheritance of ScrollableArea to
        allow generic use of this type in scroll wheel logic.

2014-02-12  Brendan Long  <b.long@cablelabs.com>

        Implement DataCue for metadata cues
        https://bugs.webkit.org/show_bug.cgi?id=128402

        Reviewed by Eric Carlson.

        Test: media/track/track-datacue.html

        * CMakeLists.txt: Add DataCue.
        * DerivedSources.cpp: Add JSDataCue.
        * DerivedSources.make: Same.
        * GNUmakefile.list.am: Add DataCue and JSDataCue.
        * WebCore.vcxproj/WebCore.vcxproj: Add DataCue.
        * WebCore.vcxproj/WebCore.vcxproj.filters: Same.
        * WebCore.xcodeproj/project.pbxproj: Add DataCue and JSDataCue.
        * bindings/js/JSTextTrackCueCustom.cpp:
        (WebCore::toJS): Add DataCue wrapper.
        * html/track/DataCue.cpp: Copied from Source/WebCore/html/track/TextTrack.idl.
        * html/track/DataCue.h: Copied from Source/WebCore/html/track/TextTrack.idl.
        * html/track/DataCue.idl: Copied from Source/WebCore/html/track/TextTrack.idl.
        * html/track/InbandGenericTextTrack.cpp:
        (WebCore::InbandGenericTextTrack::addGenericCue): Pass ASSERT_NO_EXCEPTION to addCue().
        * html/track/InbandWebVTTTextTrack.cpp:
        (WebCore::InbandWebVTTTextTrack::newCuesParsed): Same.
        * html/track/TextTrack.cpp:
        (WebCore::TextTrack::addCue): Throw an exception if DataCue is added to a track that isn't kind="metadata".
        * html/track/TextTrack.h: Add exception code parameter to addCue().
        * html/track/TextTrack.idl: Add [RaisesException] to addCue().
        * html/track/TextTrackCue.h: Add Data CueType.

2014-02-12  Zalan Bujtas  <zalan@apple.com>

        Subpixel layout: Clean up LayoutPoint class.
        https://bugs.webkit.org/show_bug.cgi?id=128515

        Reviewed by Simon Fraser.

        Remove redundant functions (keep the more explicit ones).

        No change in functionality.

        * page/FrameView.cpp:
        (WebCore::FrameView::viewportConstrainedVisibleContentRect):
        * platform/graphics/LayoutPoint.h:
        (WebCore::toLayoutPoint):
        (WebCore::toLayoutSize):
        (WebCore::roundedIntPoint):
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::updateContentsRects):
        * rendering/LayoutState.cpp:
        (WebCore::LayoutState::LayoutState):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addFocusRingRects):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::offsetFromContainer):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::addFocusRingRects):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateLayerPosition):
        (WebCore::accumulateOffsetTowardsAncestor):
        (WebCore::RenderLayer::paintBackgroundForFragments):
        (WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
        (WebCore::RenderLayer::paintOutlineForFragments):
        (WebCore::RenderLayer::paintMaskForFragments):
        (WebCore::RenderLayer::paintOverflowControlsForFragments):
        * rendering/RenderScrollbarPart.cpp:
        (WebCore::RenderScrollbarPart::paintIntoRect):

2014-02-12  Zan Dobersek  <zdobersek@igalia.com>

        [CoordinatedGraphics] Move CoordinatedGraphicsScene, CoordinatedLayerTreeHostProxy to std::function
        https://bugs.webkit.org/show_bug.cgi?id=128473

        Reviewed by Anders Carlsson.


        Move the CoordinatedGraphicsScene class to using std::function instead of WTF::Functional and std::bind
        instead of WTF::bind. The function wrapper is now moved through function calls and not passed by reference,
        and lambda functions are inlined into the dispatchOnMainThread() calls, with the CoordinatedGraphicsScene
        refcount-protected.

        * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
        (WebCore::CoordinatedGraphicsScene::dispatchOnMainThread):
        (WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
        (WebCore::CoordinatedGraphicsScene::commitSceneState):
        (WebCore::CoordinatedGraphicsScene::syncRemoteContent):
        (WebCore::CoordinatedGraphicsScene::purgeGLResources):
        (WebCore::CoordinatedGraphicsScene::commitScrollOffset):
        (WebCore::CoordinatedGraphicsScene::appendUpdate):
        (WebCore::CoordinatedGraphicsScene::setActive):
        * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:

2014-02-12  Eric Carlson  <eric.carlson@apple.com>

        Cleanup the code added for https://bugs.webkit.org/show_bug.cgi?id=128125.

        Not reviewed.

        * html/HTMLMediaSession.cpp:
        (WebCore::restrictionName): Don't need a "break" after a "return" in a case statement.
        * platform/audio/MediaSession.cpp:
        (WebCore::stateName): Ditto.
        * platform/audio/ios/MediaSessionManagerIOS.mm:

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

        RenderNamedFlowThread should only support RenderElement children.
        <https://webkit.org/b/128675>

        Tighten up flow-thread rendering so that it only supports element
        children directly. This means we don't have to worry about text
        renderers on this code path.

        Reviewed by Antti Koivisto.

        * rendering/RenderElement.cpp:
        (WebCore::RenderElement::insertedIntoTree):
        (WebCore::RenderElement::willBeRemovedFromTree):
        (WebCore::RenderElement::willBeDestroyed):
        * rendering/RenderNamedFlowThread.cpp:
        (WebCore::RenderNamedFlowThread::nextRendererForElement):
        (WebCore::RenderNamedFlowThread::addFlowChild):
        (WebCore::RenderNamedFlowThread::removeFlowChild):
        * rendering/RenderNamedFlowThread.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::willBeDestroyed):
        (WebCore::RenderObject::insertedIntoTree):
        (WebCore::RenderObject::willBeRemovedFromTree):
        * style/StyleResolveTree.cpp:
        (WebCore::Style::createRendererIfNeeded):

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

        Web Inspector: Modernize missed inspector files
        https://bugs.webkit.org/show_bug.cgi?id=128661

        Reviewed by Anders Carlsson.

        Add final, override, and use nullptr where appropriate.

        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::asCSSStyleRule):
        (WebCore::InspectorCSSAgent::discardAgent):
        (WebCore::InspectorCSSAgent::disable):
        (WebCore::InspectorCSSAgent::getInlineStylesForNode):
        (WebCore::InspectorCSSAgent::getComputedStyleForNode):
        (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
        (WebCore::InspectorCSSAgent::elementForId):
        (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
        (WebCore::InspectorCSSAgent::assertStyleSheetForId):
        (WebCore::InspectorCSSAgent::buildObjectForRule):
        (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
        * inspector/InspectorFrontendClientLocal.h:

2014-02-11  Brent Fulgham  <bfulgham@apple.com>

        Remove some unintended copies in ranged for loops
        https://bugs.webkit.org/show_bug.cgi?id=128644

        Reviewed by Anders Carlsson.

        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::loadPendingSVGDocuments): Avoid creating/destroying
        RefPtrs in loop.

2014-02-12  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>

        Update the HTML Media Capture implementation.
        https://bugs.webkit.org/show_bug.cgi?id=118465

        Reviewed by Darin Adler.

        Make the implementation in WebKit compatible with the 2013-05-09
        version of the spec, which makes the "capture" attribute a boolean
        instead of an enum.

        Covered by fast/forms/file/file-input-capture.html.

        * html/FileInputType.cpp:
        (WebCore::FileInputType::handleDOMActivateEvent):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::capture): Renamed to shouldUseMediaCapture().
        (WebCore::HTMLInputElement::shouldUseMediaCapture): Return a bool.
        * html/HTMLInputElement.h:
        * html/HTMLInputElement.idl: Turn the `capture' attribute into a
        reflective boolean instead of a DOMString.
        * platform/FileChooser.h:

2014-02-12  Radu Stavila  <stavila@adobe.com>

        [CSS Regions] Remove unused method in RenderFlowThread
        https://bugs.webkit.org/show_bug.cgi?id=128373

        Reviewed by Mihnea Ovidenie.

        After the landing of https://bugs.webkit.org/show_bug.cgi?id=118665, the 
        RenderFlowThread::computeRegionClippingRect method is obsolete.

        No new tests needed, this patch only removes an unused method.

        * rendering/RenderFlowThread.cpp:
        * rendering/RenderFlowThread.h:

2014-02-12  Mihai Tica  <mitica@adobe.com>

        [CSS Element Blending] Implement the software path of -webkit-blend-mode with Core Graphics.
        https://bugs.webkit.org/show_bug.cgi?id=99119

        Reviewed by Simon Fraser.

        This patch adds support for -webkit-blend-mode with Core Graphics.
        The layer promotion code that forced compositing when blending was detected has been removed.
        Remaining work for the software path is to detect and implement isolation of the blending operation:
        as stated in the spec, blending should be limited to the parent stacking context.

        Tests: css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer.html
               css3/compositing/blend-mode-parent-of-composited-blended-has-layer.html
               css3/compositing/blend-mode-simple-composited.html
               css3/compositing/blend-mode-with-composited-descendant-should-have-layer.html

        * inspector/InspectorLayerTreeAgent.cpp:
        (WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer): Remove CompositingReasonBlending.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::beginTransparencyLayers): Set the blendMode on the GraphicsContext.
        * rendering/RenderLayer.h: paintsWithTransparency should return true when a blendMode is set.
        * rendering/RenderLayerCompositor.cpp: Remove promotion code when a blendMode is detected.
        (WebCore::RenderLayerCompositor::requiresCompositingLayer): Remove CompositingReasonBlending reason.
        (WebCore::RenderLayerCompositor::requiresOwnBackingStore): Remove CompositingReasonBlending reason.
        (WebCore::RenderLayerCompositor::reasonsForCompositing): Remove CompositingReasonBlending reason.
        (WebCore::RenderLayerCompositor::logReasonsForCompositing): Remove CompositingReasonBlending reason.
        * rendering/RenderLayerCompositor.h:
        - Remove the requiresCompositingForBlending method
        - Remove the CompositingReasonBlending from the CompositingReasons enum.

2014-02-11  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Switch repaint rect from IntRect to LayoutRect to be able to
        repaint on device pixel boundaries.
        https://bugs.webkit.org/show_bug.cgi?id=128477

        Reviewed by Simon Fraser.

        RenderLayer needs to be able to repaint on device pixel boundaries. RenderView still
        repaints on integral position.

        No change in functionality.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlockFlow::layoutRunsAndFloats):
        * rendering/RenderElement.cpp:
        (WebCore::RenderElement::repaintAfterLayoutIfNeeded):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateLayerPositions):
        (WebCore::RenderLayer::clearRepaintRects):
        (WebCore::RenderLayer::scrollTo):
        (WebCore::RenderLayer::calculateClipRects):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
        * rendering/RenderLayerBacking.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::repaintUsingContainer):
        (WebCore::RenderObject::repaint):
        (WebCore::RenderObject::repaintRectangle):
        * rendering/RenderObject.h:

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

        iOS build fix fix.

        * rendering/RenderElement.cpp:
        (WebCore::shouldRepaintForImageAnimation):

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

        iOS build fix.

        * rendering/RenderElement.cpp:
        (WebCore::shouldRepaintForImageAnimation):

2014-02-11  David Kilzer  <ddkilzer@apple.com>

        ContentData equals() methods are not inline-able
        <http://webkit.org/b/128538>

        Reviewed by Darin Adler.

        Get rid of pure virtual equals() method in favor of
        ContentData::Type enum for runtime type information.
        This also lets us devirtualize the isFoo() methods.

        * rendering/style/ContentData.h:
        (WebCore::ContentData::type): Add.
        (WebCore::ContentData::isCounter): Devirtualize.
        (WebCore::ContentData::isImage): Devirtualize.
        (WebCore::ContentData::isQuote): Devirtualize.
        (WebCore::ContentData::isText): Devirtualize.
        (WebCore::ContentData::ContentData): Add.  Include
        ContentData::Type parameter.
        (WebCore::operator==): Add overloaded methods for each subclass.
        Stop using pure virtual equals() method, check type(), and use
        overloaded subclass operator==() methods.
        (WebCore::operator!=): Add overloaded methods for each subclass.

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

        Protect some RenderFlowThread functions.
        <https://webkit.org/b/128642>

        Make the RenderFlowThread constructor protected and a handful of
        member functions private.

        Reviewed by Anders Carlsson.

        * rendering/RenderFlowThread.h:

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

        Don't allocate RenderNamedFlowThread's child list separately.
        <https://webkit.org/b/128640>

        Since we always create the flow-thread child list, there's no reason
        to put it in a separate heap allocation. Also remove the typedef and
        use auto instead.

        Reviewed by Anders Carlsson.

        * rendering/RenderNamedFlowThread.cpp:
        (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
        (WebCore::RenderNamedFlowThread::nextRendererForNode):
        (WebCore::RenderNamedFlowThread::addFlowChild):
        (WebCore::RenderNamedFlowThread::removeFlowChild):
        * rendering/RenderNamedFlowThread.h:

2014-02-11  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Make GraphicsLayerClient::paintContents's clip rect subpixel based.
        https://bugs.webkit.org/show_bug.cgi?id=128460

        Reviewed by Simon Fraser.

        GraphicsClient::paintContents takes clipRect as FloatRect now so that we can paint on
        subpixel position.

        No change in functionality.

        * platform/graphics/GraphicsLayerClient.h:
        * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
        (WebCore::CompositingCoordinator::paintContents):
        * platform/graphics/texmap/coordinated/CompositingCoordinator.h:
        * rendering/RenderLayer.cpp:
        (WebCore::cornerRect):
        (WebCore::RenderLayer::scrollCornerRect):
        (WebCore::resizerCornerRect):
        (WebCore::RenderLayer::scrollCornerAndResizerRect):
        (WebCore::RenderLayer::verticalScrollbarStart):
        (WebCore::RenderLayer::horizontalScrollbarStart):
        (WebCore::RenderLayer::paintResizer):
        (WebCore::RenderLayer::hitTestOverflowControls):
        * rendering/RenderLayer.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintIntoLayer):
        (WebCore::RenderLayerBacking::paintContents):
        * rendering/RenderLayerBacking.h:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::paintContents):
        * rendering/RenderLayerCompositor.h:
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint):

2014-02-11  Antti Koivisto  <antti@apple.com>

        GIF animations should be suspended when outside of viewport
        https://bugs.webkit.org/show_bug.cgi?id=128632

        Reviewed by Andreas Kling.
        
        Animations are driven by the paint cycle. Speculative tiles keep animations outside the actual viewport going.
        
        Pause animations when they are outside the viewport by not painting them.

        Test: fast/repaint/no-animation-outside-viewport.html

        * loader/cache/CachedImage.cpp:
        (WebCore::CachedImage::animationAdvanced):
        
            Call animation specific newImageAnimationFrameAvailable instead of the generic notifyObservers.

        * loader/cache/CachedImage.h:
        
            Removed now unnecessary resumeAnimatingImagesForLoader mechanism.
            Remove unnecessary shouldPauseAnimation. Pausing is now always done when by avoiding repaint.

        * loader/cache/CachedImageClient.h:
        (WebCore::CachedImageClient::newImageAnimationFrameAvailable):
        * page/FrameView.cpp:
        (WebCore::FrameView::scrollPositionChanged):
        
            Check if we have image animations to resume when scroll position changes.

        * page/Page.cpp:
        (WebCore::Page::resumeAnimatingImages):
        
            Use the same mechanism when resuming background tabs etc.

        * platform/graphics/BitmapImage.cpp:
        (WebCore::BitmapImage::internalAdvanceAnimation):
        
            Remove the shouldPauseAnimation test, always rely on pausing on invalidation.

        * platform/graphics/ImageObserver.h:
        * rendering/RenderBoxModelObject.cpp:
        * rendering/RenderElement.cpp:
        (WebCore::RenderElement::RenderElement):
        (WebCore::RenderElement::~RenderElement):
        (WebCore::shouldRepaintForImageAnimation):
        
            Factor the pausing conditions to a function. Test that the animation is withing the
            visible rect.

        (WebCore::RenderElement::newImageAnimationFrameAvailable):
        
            Add renderer to the paused animation set if we don't continue the animation.

        (WebCore::RenderElement::repaintForPausedImageAnimationsIfNeeded):
        
            Resume the paused animations by triggering repaint.

        * rendering/RenderElement.h:
        (WebCore::RenderElement::setHasPausedImageAnimations):
        (WebCore::RenderElement::hasPausedImageAnimations):
        * rendering/RenderObject.cpp:
        * rendering/RenderObject.h:
        * rendering/RenderView.cpp:
        (WebCore::RenderView::addRendererWithPausedImageAnimations):
        (WebCore::RenderView::removeRendererWithPausedImageAnimations):
        (WebCore::RenderView::resumePausedImageAnimationsIfNeeded):
        * rendering/RenderView.h:

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

        Remove unused RenderNamedFlowThread::previousRendererForNode().
        <https://webkit.org/b/128637>

        Reviewed by Antti Koivisto.

        * rendering/RenderNamedFlowThread.cpp:
        * rendering/RenderNamedFlowThread.h:

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

        Move renderNamedFlowThreadWrapper() to RenderElement.
        <https://webkit.org/b/128634>

        This function is only ever called on RenderElements so move it there
        from RenderObject.

        Reviewed by Antti Koivisto.

        * rendering/RenderElement.cpp:
        (WebCore::RenderElement::renderNamedFlowThreadWrapper):
        * rendering/RenderElement.h:
        * rendering/RenderObject.cpp:
        * rendering/RenderObject.h:

2014-02-11  Myles C. Maxfield  <mmaxfield@apple.com>

        Position and thickness of underline as text size changes
        https://bugs.webkit.org/show_bug.cgi?id=16768

        Reviewed by Dean Jackson.

        This patch adopts the iOS codepath for underlines. It also reorganizes
        drawLineForText to avoid a costly global state save & restore.

        Test: fast/css3-text/css3-text-decoration/text-decoration-thickness.html

        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::computeLineBoundsAndAntialiasingModeForText):
        (WebCore::GraphicsContext::computeLineBoundsForText):
        (WebCore::GraphicsContext::drawLineForText):
        (WebCore::GraphicsContext::drawLinesForText):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintDecoration):

2014-02-11  Ryosuke Niwa  <rniwa@webkit.org>

        Frame::rectForSelection shouldn't instantiate FrameSelection
        https://bugs.webkit.org/show_bug.cgi?id=128587

        Reviewed by Enrica Casucci.

        Made VisiblePosition::absoluteCaretBounds more interoperable with the one in FrameSelection and made
        iOS's Frame::rectForScrollToVisible use that function instead.

        The above change allows us to remove:
        - suppressCloseTyping(), restoreCloseTyping(), and m_closeTypingSuppressions in FrameSelection
        - suppressSelectionNotifications() and restoreSelectionNotifications() in EditorClient

        See inline comments below for more details.

        * Source/WebCore/WebCore.exp.in:

        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::FrameSelection):
        (WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance):
        (WebCore::CaretBase::updateCaretRect):
        (WebCore::FrameSelection::caretRendererWithoutUpdatingLayout):
        (WebCore::DragCaretController::caretRenderer):
        (WebCore::repaintCaretForLocalRect):
        (WebCore::FrameSelection::recomputeCaretRect): Merged FrameSelection::localCaretRect(). Modified
        the code to update caretNode when and only when caret rect is updated. Also added an assertion to
        ensure absoluteCaretBounds() on FrameSelection and VisiblePosition yield the same result.

        (WebCore::CaretBase::paintCaret):
        * editing/FrameSelection.h:

        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::absoluteCaretBounds): Fixed the bug where the old code wasn't respecting
        the convention to use containing block as the renderer to paint caret.

        * editing/htmlediting.cpp:
        (WebCore::caretRendersInsideNode): Moved from FrameSelection.cpp.
        (WebCore::rendererForCaretPainting): Ditto and renamed from caretRenderer.
        (WebCore::localCaretRectInRendererForCaretPainting): Extracted from FrameSelection::updateCaretRect.
        (WebCore::absoluteBoundsForLocalCaretRect): Ditto from CaretBase::absoluteBoundsForLocalRect.
        * editing/htmlediting.h:

        * loader/EmptyClients.h:
        * page/EditorClient.h:
        * page/Frame.h:

        * page/ios/FrameIOS.mm:
        (WebCore::Frame::rectForScrollToVisible): Reimplemented in its simplest form using VisiblePosition's
        absoluteCaretBounds().

2014-02-11  Enrica Casucci  <enrica@apple.com>

        Support WebSelections in WK2 on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=127015
        <rdar://problem/15211964>

        Reviewed by Benjamin Poulain.

        Adding few exports.

        * WebCore.exp.in:

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

        CTTE: RenderNamedFlowThread always has a WebKitNamedFlow.
        <https://webkit.org/b/128623>

        Codify the fact that RenderNamedFlowThread always has a corresponding
        WebKitNamedFlow by storing it in a Ref, and adding an accessor that
        returns a reference to get rid of all the ->'s.

        Also removed some unnecessary assertions exposed by this.

        Reviewed by Antti Koivisto.

        * dom/NamedFlowCollection.cpp:
        (WebCore::NamedFlowCollection::ensureFlowWithName):
        * dom/NamedFlowCollection.h:
        * rendering/RenderNamedFlowThread.cpp:
        (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
        (WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
        (WebCore::RenderNamedFlowThread::unregisterNamedFlowContentElement):
        (WebCore::RenderNamedFlowThread::flowThreadName):
        (WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEvent):
        (WebCore::RenderNamedFlowThread::dispatchRegionOversetChangeEvent):
        (WebCore::RenderNamedFlowThread::regionLayoutUpdateEventTimerFired):
        (WebCore::RenderNamedFlowThread::regionOversetChangeEventTimerFired):
        (WebCore::RenderNamedFlowThread::setMarkForDestruction):
        (WebCore::RenderNamedFlowThread::resetMarkForDestruction):
        (WebCore::RenderNamedFlowThread::isMarkedForDestruction):
        * rendering/RenderNamedFlowThread.h:

2014-02-10  Myles C. Maxfield  <mmaxfield@apple.com>

        Convert position:fixed property to position:absolute upon copy
        https://bugs.webkit.org/show_bug.cgi?id=128194

        Reviewed by Simon Fraser.

        This adds a Setting and Preference that allows clients to opt-in to this behavior.

        This new behavior is only activated if the entire body is copied. If there is a position:fixed
        element in the copied selection, it is replaced with position:absolute, and a containing
        block (position:relative) is wrapped around the copied text.

        This patch originally converted position:-webkit-sticky to position:relative. However, we
        currently don't support copying and pasting of position:-webkit-sticky content (See below).
        Therefore, this patch only deals with position:fixed.

        Right now we don't copy position:-webkit-sticky. This is because:
        1. When copying styled elements, we parse the style properties again
        2. CSSParserContext has a flag which can disable parsing -webkit-sticky
        3. There are two constructors to CSSParserContext: one that takes a document and sets up the
        aforementioned flag, and a simple one that doesn't take a document and sets all the enableFoo
        flags to false
        4. At the relevant place within copy code, we are far removed from the Document object, so we
        instead call the second constructor, thereby disabling parsing of -webkit-sticky

        Test: editing/pasteboard/copy-paste-converts-sticky-and-fixed.html

        * WebCore.exp.in: Export the Setting setter
        * editing/EditingStyle.cpp:
        (WebCore::EditingStyle::convertFixedAndStickyPosition): Converts a single style
        * editing/EditingStyle.h:
        * editing/markup.cpp:
        (WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator): Remember if we found
        an element which needs the position:relative containing block
        (WebCore::StyledMarkupAccumulator::appendElement): Surround with the position:relative
        containing block if necessary
        (WebCore::createMarkupInternal):
        * page/Settings.cpp:
        (WebCore::Settings::Settings): New setting to opt-in to this new behavior
        (WebCore::Settings::setConvertPositionStyleOnCopy):
        * page/Settings.h:
        (WebCore::Settings::convertPositionStyleOnCopy):
        * testing/InternalSettings.cpp: Allow setting the setting from a Layout Test
        (WebCore::InternalSettings::Backup::Backup):
        (WebCore::InternalSettings::Backup::restoreTo):
        (WebCore::InternalSettings::setConvertPositionStyleOnCopy):
        * testing/InternalSettings.h:
        * testing/InternalSettings.idl:

2014-02-11  Youenn Fablet  <youennf@gmail.com>

        XMLHttpRequest should not send DNT header
        https://bugs.webkit.org/show_bug.cgi?id=128533

        Reviewed by Alexey Proskuryakov.

        Added DNT (Do Not Track) header to the list of forbidden headers.
        Updated http/tests/xmlhttprequest/set-dangerous-headers.html to test that header.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData):

2014-02-10  Jeffrey Pfau  <jpfau@apple.com>

        Bring third-party app cache blocking behavior in line with private browsing app cache blocking behavior
        https://bugs.webkit.org/show_bug.cgi?id=128557

        Reviewed by Alexey Proskuryakov.

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::cacheForMainRequest):
        (WebCore::ApplicationCacheGroup::selectCache):
        (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
        (WebCore::ApplicationCacheGroup::update):
        * loader/appcache/ApplicationCacheHost.cpp:
        (WebCore::ApplicationCacheHost::maybeLoadMainResource):
        (WebCore::ApplicationCacheHost::maybeLoadFallbackForMainResponse):
        (WebCore::ApplicationCacheHost::maybeLoadFallbackForMainError):
        (WebCore::ApplicationCacheHost::maybeLoadResource):
        (WebCore::ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache):
        (WebCore::ApplicationCacheHost::isApplicationCacheBlockedForRequest):
        * loader/appcache/ApplicationCacheHost.h:

2014-02-11  Brady Eidson  <beidson@apple.com>

        IDB: The test after storage/indexeddb/mozilla/object-identity.html fails in cleanup code
        <rdar://problem/16040663> and https://bugs.webkit.org/show_bug.cgi?id=128621

        Reviewed by Alexey Proskuryakov.

        Covered by storage/indexeddb/mozilla/object-identity.html.

        * Modules/indexeddb/IDBTransactionBackend.cpp:
        (WebCore::IDBTransactionBackend::abort): Clear the m_database pointer before calling the onAbort callback.
        (WebCore::IDBTransactionBackend::commit): Don't run the abort code if there's no m_database pointer.

2014-02-10  Jer Noble  <jer.noble@apple.com>

        [EME][Mac] Move the implementation of CDMPrivateAVFoundation back into MediaPlayerPrivateAVFoundationObjC.
        https://bugs.webkit.org/show_bug.cgi?id=128559

        Reviewed by Dean Jackson.

        To prepare for multiple simultaneous CDMs with muliple MediaPlayer types, move the implementation for
        CDMPrivateAVFoundation back into its media engine.

        * Modules/encryptedmedia/CDMPrivateAVFoundation.mm:
        (WebCore::MediaKeyExceptionToErrorCode): Added.
        (WebCore::CDMSessionAVFoundation::generateKeyRequest): Moved to MediaPlayerPrivateAVFoundationObjC.
        (WebCore::CDMSessionAVFoundation::releaseKeys): Ditto.
        (WebCore::CDMSessionAVFoundation::update): Ditto.
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::generateKeyRequest): Added, pass through to MediaPlayerPrivate.
        (WebCore::MediaPlayer::releaseKeys): Ditto.
        (WebCore::MediaPlayer::update): Ditto.
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/MediaPlayerPrivate.h:
        (WebCore::MediaPlayerPrivateInterface::generateKeyRequest): Added.
        (WebCore::MediaPlayerPrivateInterface::releaseKeys): Ditto.
        (WebCore::MediaPlayerPrivateInterface::update): Ditto.
        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::generateKeyRequest): Moved from CDMSessionAVFoundation.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::releaseKeys): Ditto.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::update): Ditto.

2014-01-24  Jer Noble  <jer.noble@apple.com>

        Run UserAgentScripts through jsmin rather than the css preprocessor
        https://bugs.webkit.org/show_bug.cgi?id=127559

        Reviewed by Tim Horton.

        User Agent JavaScript files were being run through the c++ preprocessor to strip out
        comments (and presumably to allow #if ENABLE macros, though that feature is entirely
        unused). This had the side effect of removing important whitespace, namely newlines where
        there would normally be an implicit semicolon.

        Instead, .js files will now be run through the jsmin minifier, used by the inspector.
        Jsmin will also strip comments and whitespace, but in a syntactically aware way which will
        keep newlines when their presence adds an implied semicolon.

        * DerivedSources.make:
        * Scripts/make-js-file-arrays.py: Added.
        (stringifyCodepoint):
        (chunk):
        (main):

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

        [Mac] connection:willStopBufferingData: no longer exists in NSURLConnectionDelegate
        https://bugs.webkit.org/show_bug.cgi?id=128583

        Reviewed by Anders Carlsson.

        The delegate method was removed in Snow Leopard.

        * loader/ResourceLoader.cpp:
        * loader/ResourceLoader.h:
        * platform/network/ResourceHandleClient.h:
        * platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
        * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

2014-02-10  Andy Estes  <aestes@apple.com>

        [Content Filter] Check for NULL before calling dispatch_release()
        https://bugs.webkit.org/show_bug.cgi?id=128576

        Reviewed by Darin Adler.

        m_neFilterSourceQueue will be NULL if NEFilterSource isn't enabled, and
        passing NULL to dispatch_release() is undefined.

        * platform/mac/ContentFilterMac.mm:
        (WebCore::ContentFilter::~ContentFilter):

2014-01-24  Jer Noble  <jer.noble@apple.com>

        [MediaControls] Allow the media controls script to be debuggable by giving it a generated sourceURL
        https://bugs.webkit.org/show_bug.cgi?id=127560

        Reviewed by Eric Carlson.

        When evaluating a script through ScriptController, if that script does not have an
        explicit sourceURL, it will not appear in the resources section of the Web Inspector.
        For debug builds only, give the media controls script a generated (i.e. fake) sourceURL.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::parseAttribute):

2014-02-11  Samuel White  <samuel_white@apple.com>

        AX: Add text replacement activity support to NSAccessibilitySelectTextWithCriteriaParameterizedAttribute.
        https://bugs.webkit.org/show_bug.cgi?id=128397

        Reviewed by Chris Fleizach.

        Added text replacement support for the AXSelectTextWithCriteria parameterized attribute.

        No new test. Updated platform/mac/accessibility/select-text.html to test the added functionality.

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::selectText):
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilitySelectTextCriteria::AccessibilitySelectTextCriteria):
        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
        (accessibilitySelectTextCriteriaForCriteriaParameterizedAttribute):

2014-02-11  Roger Fong  <roger_fong@apple.com>

        [Windows] Unreviewed. Speculative test fix.

        * platform/graphics/GraphicsContext.h:
        (WebCore::GraphicsContext::pixelSnappingFactor):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::platformInit):

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

        iOS build fix.

        * platform/ios/TileGrid.mm:
        (WebCore::TileGrid::dropTilesBetweenRects):
        (WebCore::TileGrid::dropDistantTiles):
        (WebCore::TileGrid::dropInvalidTiles):

2014-02-11  James Craig  <jcraig@apple.com>

        Web Inspector: AX: Accessibility Node Inspection
        https://bugs.webkit.org/show_bug.cgi?id=127447

        Reviewed by Timothy Hatcher.

        New methods supporting WebCore::AccessibilityObject::computedRoleString()
        used for Accessibility section in WebInspector Node Inspector. Other updates 
        support the JSON interface for the WebInspectorUI feature.

        Test: accessibility/roles-computedRoleString.html

        * accessibility/AccessibilityObject.cpp:
        (WebCore::initializeRoleMap):
        (WebCore::ariaRoleMap):
        (WebCore::reverseAriaRoleMap):
        (WebCore::AccessibilityObject::ariaRoleToWebCoreRole):
        (WebCore::AccessibilityObject::computedRoleString):
        * accessibility/AccessibilityObject.h:
        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
        (-[WebAccessibilityObjectWrapper computedRoleString]):
        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::getAccessibilityPropertiesForNode):
        (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
        * inspector/InspectorDOMAgent.h:
        * inspector/protocol/DOM.json:

2014-02-10  Oliver Hunt  <oliver@apple.com>

        Stop throwing when attempting to read instance properties directly from the prototype
        https://bugs.webkit.org/show_bug.cgi?id=128568

        Reviewed by Mark Lam.

        A number of websites expect to be able to access instance properties
        directly through the prototype.  This is broken behavior but if we
        throw an exception the entire site breaks.  This patch simply makes us
        return undefined when reading, and logs the error to the console.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
        (WebCore::jsTestActiveDOMObjectExcitingAttr):
        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
        (WebCore::jsTestEventConstructorAttr1):
        (WebCore::jsTestEventConstructorAttr2):
        * bindings/scripts/test/JS/JSTestException.cpp:
        (WebCore::jsTestExceptionName):
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::jsTestInterfaceImplementsStr1):
        (WebCore::jsTestInterfaceImplementsStr2):
        (WebCore::jsTestInterfaceImplementsStr3):
        (WebCore::jsTestInterfaceImplementsNode):
        (WebCore::jsTestInterfaceSupplementalStr1):
        (WebCore::jsTestInterfaceSupplementalStr2):
        (WebCore::jsTestInterfaceSupplementalStr3):
        (WebCore::jsTestInterfaceSupplementalNode):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjReadOnlyLongAttr):
        (WebCore::jsTestObjReadOnlyStringAttr):
        (WebCore::jsTestObjReadOnlyTestObjAttr):
        (WebCore::jsTestObjConstructorTestSubObj):
        (WebCore::jsTestObjTestSubObjEnabledBySettingConstructor):
        (WebCore::jsTestObjEnumAttr):
        (WebCore::jsTestObjByteAttr):
        (WebCore::jsTestObjOctetAttr):
        (WebCore::jsTestObjShortAttr):
        (WebCore::jsTestObjUnsignedShortAttr):
        (WebCore::jsTestObjLongAttr):
        (WebCore::jsTestObjLongLongAttr):
        (WebCore::jsTestObjUnsignedLongLongAttr):
        (WebCore::jsTestObjStringAttr):
        (WebCore::jsTestObjTestObjAttr):
        (WebCore::jsTestObjXMLObjAttr):
        (WebCore::jsTestObjCreate):
        (WebCore::jsTestObjReflectedStringAttr):
        (WebCore::jsTestObjReflectedIntegralAttr):
        (WebCore::jsTestObjReflectedUnsignedIntegralAttr):
        (WebCore::jsTestObjReflectedBooleanAttr):
        (WebCore::jsTestObjReflectedURLAttr):
        (WebCore::jsTestObjReflectedCustomIntegralAttr):
        (WebCore::jsTestObjReflectedCustomBooleanAttr):
        (WebCore::jsTestObjReflectedCustomURLAttr):
        (WebCore::jsTestObjTypedArrayAttr):
        (WebCore::jsTestObjAttrWithGetterException):
        (WebCore::jsTestObjAttrWithSetterException):
        (WebCore::jsTestObjStringAttrWithGetterException):
        (WebCore::jsTestObjStringAttrWithSetterException):
        (WebCore::jsTestObjCustomAttr):
        (WebCore::jsTestObjWithScriptStateAttribute):
        (WebCore::jsTestObjWithScriptExecutionContextAttribute):
        (WebCore::jsTestObjWithScriptStateAttributeRaises):
        (WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
        (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute):
        (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
        (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
        (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
        (WebCore::jsTestObjConditionalAttr1):
        (WebCore::jsTestObjConditionalAttr2):
        (WebCore::jsTestObjConditionalAttr3):
        (WebCore::jsTestObjConditionalAttr4Constructor):
        (WebCore::jsTestObjConditionalAttr5Constructor):
        (WebCore::jsTestObjConditionalAttr6Constructor):
        (WebCore::jsTestObjCachedAttribute1):
        (WebCore::jsTestObjCachedAttribute2):
        (WebCore::jsTestObjAnyAttribute):
        (WebCore::jsTestObjContentDocument):
        (WebCore::jsTestObjMutablePoint):
        (WebCore::jsTestObjImmutablePoint):
        (WebCore::jsTestObjStrawberry):
        (WebCore::jsTestObjStrictFloat):
        (WebCore::jsTestObjDescription):
        (WebCore::jsTestObjId):
        (WebCore::jsTestObjHash):
        (WebCore::jsTestObjReplaceableAttribute):
        (WebCore::jsTestObjNullableDoubleAttribute):
        (WebCore::jsTestObjNullableLongAttribute):
        (WebCore::jsTestObjNullableBooleanAttribute):
        (WebCore::jsTestObjNullableStringAttribute):
        (WebCore::jsTestObjNullableLongSettableAttribute):
        (WebCore::jsTestObjNullableStringValue):
        (WebCore::jsTestObjAttribute):
        (WebCore::jsTestObjAttributeWithReservedEnumType):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore::jsTestSerializedScriptValueInterfaceValue):
        (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
        (WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
        (WebCore::jsTestSerializedScriptValueInterfacePorts):
        (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
        (WebCore::jsTestTypedefsUnsignedLongLongAttr):
        (WebCore::jsTestTypedefsImmutableSerializedScriptValue):
        (WebCore::jsTestTypedefsConstructorTestSubObj):
        (WebCore::jsTestTypedefsAttrWithGetterException):
        (WebCore::jsTestTypedefsAttrWithSetterException):
        (WebCore::jsTestTypedefsStringAttrWithGetterException):
        (WebCore::jsTestTypedefsStringAttrWithSetterException):
        * bindings/scripts/test/JS/JSattribute.cpp:
        (WebCore::jsattributeReadonly):

2014-02-11  Sergio Villar Senin  <svillar@igalia.com>

        [CSS Grid Layout] Support calc() breadth size type
        https://bugs.webkit.org/show_bug.cgi?id=103761

        Reviewed by Dean Jackson.

        We now support using calc() in
        -webkit-grid-template-{columns|rows}. This means that we now
        match the specification and support all the possible ways to
        specify the track breadths.

        This includes a fix to CSSCalculationValue that was converting
        Length values to CalcExpressionNumber and thus removing all the
        info regarding length units (px, em, pt...). That's why things
        like calc(10px + 20%) were shown as calc(10 + 20%) in
        getComputedStyle() output.

        * css/CSSCalculationValue.cpp:
        (WebCore::CSSCalcPrimitiveValue::toCalcValue):
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::zoomAdjustedPixelValueForLength):
        (WebCore::specifiedValueForGridTrackBreadth):
        (WebCore::specifiedValueForGridTrackSize):
        * css/StyleResolver.cpp:
        (WebCore::createGridTrackBreadth):
        * rendering/RenderGrid.cpp:
        (WebCore::RenderGrid::computeUsedBreadthOfMinLength):
        (WebCore::RenderGrid::computeUsedBreadthOfMaxLength):
        (WebCore::RenderGrid::computeUsedBreadthOfSpecifiedLength):

2014-02-11  Brent Fulgham  <bfulgham@apple.com>

        Correct some uses of 'auto'
        https://bugs.webkit.org/show_bug.cgi?id=128578

        Reviewed by Anders Carlsson.

        Correct the following instances of "for (auto ...)" to use reference or
        const references to avoid copies.

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::elementsFromAttribute):
        * css/CSSGridTemplateValue.cpp:
        (WebCore::stringForPosition):
        * dom/Node.cpp:
        (WebCore::NodeListsNodeData::invalidateCaches):
        * inspector/PageInjectedScriptManager.cpp:
        (WebCore::PageInjectedScriptManager::discardInjectedScriptsFor):
        * page/WheelEventDeltaTracker.cpp:
        (WebCore::WheelEventDeltaTracker::dominantScrollGestureDirection):
        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::computeNonFastScrollableRegion):
        * platform/graphics/mac/WebLayer.mm:
        (WebCore::drawLayerContents):
        * platform/ios/TileGrid.mm:
        (WebCore::TileGrid::dropTilesBetweenRects):
        (WebCore::TileGrid::dropDistantTiles):
        (WebCore::TileGrid::dropInvalidTiles):
        * rendering/InlineTextBox.cpp:
        (WebCore::translateIntersectionPointsToSkipInkBoundaries):
        * testing/InternalSettings.cpp:
        (WebCore::InternalSettings::Backup::restoreTo):

2014-02-10  David Hyatt  <hyatt@apple.com>

        [New Multicolumn] Make columns work with line grids
        https://bugs.webkit.org/show_bug.cgi?id=128555

        Reviewed by Antti Koivisto.

        Added line-snap-into-columns.html and line-snap-inside-columns.html

        * rendering/LayoutState.cpp:
        (WebCore::LayoutState::LayoutState):
        * rendering/LayoutState.h:
        (WebCore::LayoutState::pageOffset):
        (WebCore::LayoutState::setLineGridPaginationOrigin):
        Change the LayoutState to call into the renderer to compute the line
        grid pagination origin instead of doing it directly. Added the
        appropriate getters and setters to enable the renderer to do this.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::computeLineGridPaginationOrigin):
         * rendering/RenderBlock.h:
        An implementation for the old multi-column code. The logic is the
        same with tweaks made now that the method is on the renderer instead.

        * rendering/RenderBlockFlow.cpp:
        (WebCore::RenderBlockFlow::pageLogicalTopForOffset):
        Fix a bug with flow threads and pageLogicalTopForOffset. Normal CSS region-based
        flow threads are never embedded in an enclosing pagination context, so they
        didn't add in the firstPageLogicalTop (or subtract it when computing the region
        hit). Multi-column flow threads do need to subtract out the firstPageLogicalTop,
        since it can occur somewhere on the page.
        
        Ultimately regions will need to get smarter here too if they want to work with
        line grids, but for now I just fixed multi-column.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::isUnsplittableForPagination):
        Undo this change, since it prevents the inheritance of line grids into the
        multi-column layout.

        * rendering/RenderMultiColumnFlowThread.cpp:
        (WebCore::RenderMultiColumnFlowThread::computeLineGridPaginationOrigin):
        * rendering/RenderMultiColumnFlowThread.h:
        An implementation for the new multi-column code. The logic is the
        same as the old code. Code duplication is ok, since the old multi-column method
        in RenderBlock will just be deleted once the new code is turned on, and it's easier
        not to intertwine them.

2014-02-11  Radu Stavila  <stavila@adobe.com>

        [CSS Regions] Overflow above the first region is not properly painted for regions with padding
        https://bugs.webkit.org/show_bug.cgi?id=128590

        Reviewed by Andrei Bucur.

        Painting is done using the layer of the region's container, so offsetting using the content box
        of the region itself is incorrect. 

        Test: fast/regions/region-padding-overflow-hidden.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::regionContainer):
        (WebCore::RenderRegion::regionContainerLayer):
        * rendering/RenderRegion.h:

2014-02-11  Benjamin Poulain  <benjamin@webkit.org>

        querySelector() does not use the compiler correctly
        https://bugs.webkit.org/show_bug.cgi?id=128588

        Reviewed by Andreas Kling.

        * dom/SelectorQuery.cpp:
        (WebCore::SelectorDataList::execute):
        I messed up the refactoring when I landed SelectorQuery. The compiled
        code was not used the first time through SelectorDataList::execute.

2014-02-11  Piotr Grad  <p.grad@samsung.com>

        [GStreamer] High playback rate causes crash
        https://bugs.webkit.org/show_bug.cgi?id=128453

        Reviewed by Philippe Normand.

        To high playback rate passed to GStreamer was causing crash.
        Added guard in setRate method.

        Test: media/video-extreme-playbackrate-crash.html

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::setRate):

2014-02-10  Brady Eidson  <beidson@apple.com>

        IndexedDB assertion at IDBTransactionBackend::~IDBTransactionBackend()
        https://bugs.webkit.org/show_bug.cgi?id=128341

        Reviewed by Maciej Stachowiak.

        * Modules/indexeddb/IDBTransactionBackend.cpp:
        (WebCore::IDBTransactionBackend::~IDBTransactionBackend): "Finished" is not the only
          valid value here - In WK2, "Unused" is also valid. Update the ASSERT.

2014-02-10  Alexey Proskuryakov  <ap@apple.com>

        Add hooks for wrapping CryptoKeys in SerializedScriptValue
        https://bugs.webkit.org/show_bug.cgi?id=128567

        Reviewed by Anders Carlsson.

        * bindings/js/SerializedScriptValue.cpp: Changed SerializedScriptValue to serialize
        wrapped keys. Added a version number to crypto key serialization.

        * dom/Document.cpp:
        (WebCore::Document::wrapCryptoKey):
        (WebCore::Document::unwrapCryptoKey):
        * dom/Document.h:
        * dom/ScriptExecutionContext.h:
        * page/ChromeClient.h:
        (WebCore::ChromeClient::wrapCryptoKey):
        (WebCore::ChromeClient::unwrapCryptoKey):
        Hand wrapping/unwrapping over to client code.

        * workers/WorkerGlobalScope.cpp:
        (WebCore::WorkerGlobalScope::wrapCryptoKey):
        (WebCore::WorkerGlobalScope::unwrapCryptoKey):
        * workers/WorkerGlobalScope.h:
        Not implemented in workers. SubtleCrypto is currently not exposed in workers. It used
        to be possible in WebKit implementation to post a CryptoKey to a worker anyway,
        but this doesn't work any more.

2014-02-10  ChangSeok Oh  <changseok.oh@collabora.com>

        Support ANGLE_instanced_arrays for linux
        https://bugs.webkit.org/show_bug.cgi?id=127465

        Reviewed by Martin Robinson.

        Support the instanced drawing WebGL extension, ANGLE_instanced_arrays for linux platform.
        This is a following patch for r162565. Relevant opengl APIs are exposed
        for WebGLRenderingContext to access them.

        Covered by fast/canvas/webgl/angle-instanced-arrays.html

        * html/canvas/ANGLEInstancedArrays.cpp:
        (WebCore::ANGLEInstancedArrays::supported):
        * platform/graphics/OpenGLShims.cpp:
        (WebCore::initializeOpenGLShims):
        * platform/graphics/OpenGLShims.h:
        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
        (WebCore::Extensions3DOpenGL::supportsExtension):
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        (WebCore::GraphicsContext3D::drawArraysInstanced):
        (WebCore::GraphicsContext3D::drawElementsInstanced):
        (WebCore::GraphicsContext3D::vertexAttribDivisor):

2014-02-10  Mark Lam  <mark.lam@apple.com>

        Removing limitation on JSLock’s lockDropDepth.
        <https://webkit.org/b/128570>

        Reviewed by Geoffrey Garen.

        No new tests.

        * bindings/js/PageScriptDebugServer.cpp:
        (WebCore::PageScriptDebugServer::runEventLoopWhilePaused):
        * platform/ios/wak/WebCoreThread.mm:
        (SendDelegateMessage):
        (WebThreadRunOnMainThread):
        - No longer need to specify AlwaysDropLocks, because DropAllLocks is
          now always unconditional.

2014-02-10  Benjamin Poulain  <benjamin@webkit.org>

        Clean up MarkupAccumulator::appendCharactersReplacingEntities
        https://bugs.webkit.org/show_bug.cgi?id=128440

        Reviewed by Ryosuke Niwa.

        Some cleanup:
        -Remove the copied code for the loops. Instead, use a template with the loop
         parametrized by the characters type.
        -Move EntityDescription from the header to the implementation.
        -Make the 5 substitution strings compile-time literals. Replacement is not hot enough
         to justify the static here.

        * editing/MarkupAccumulator.cpp:
        (WebCore::appendCharactersReplacingEntitiesInternal):
        (WebCore::MarkupAccumulator::appendCharactersReplacingEntities):
        * editing/MarkupAccumulator.h:

2014-02-10  Benjamin Poulain  <benjamin@webkit.org>

        Add a few pseudo type to the selector compiler through function calls
        https://bugs.webkit.org/show_bug.cgi?id=128514

        Reviewed by Dean Jackson.

        Certain pseudo type checkers rely on virtual function calls. Since those types
        are uncommon, and this code generator cannot currently make virtual function calls,
        the checker are added by generating a function call to a wrapper function.

        To avoid code duplication between SelectorChecker and the compiler, all the relevant checking
        code has been moved to a common header, SelectorCheckerTestFunctions.h.
        SelectorChecker still inline the functions, while the SelectorCompiler generate local static functions
        and generate calls to them as needed.

        * GNUmakefile.list.am:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::checkOne):
        * css/SelectorCheckerTestFunctions.h: Added.
        (WebCore::isAutofilled):
        (WebCore::isDefaultButtonForForm):
        (WebCore::isDisabled):
        (WebCore::isEnabled):
        (WebCore::isChecked):
        (WebCore::isInvalid):
        (WebCore::isOptionalFormControl):
        (WebCore::isRequiredFormControl):
        (WebCore::isValid):
        (WebCore::matchesReadOnlyPseudoClass):
        (WebCore::matchesReadWritePseudoClass):
        (WebCore::shouldAppearIndeterminate):
        (WebCore::matchesFullScreenPseudoClass):
        (WebCore::matchesFutureCuePseudoClass):
        (WebCore::matchesPastCuePseudoClass):
        * cssjit/SelectorCompiler.cpp:
        (WebCore::SelectorCompiler::addPseudoType):
        (WebCore::SelectorCompiler::nonConstTestFunctionWrapper):
        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementFunctionCallTest):
        * dom/Element.h:
        (WebCore::Element::isValidFormControlElement):
        * dom/Node.h:
        (WebCore::Node::toInputElement):
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::isValidFormControlElement):
        * html/HTMLFormControlElement.h:

2014-02-10  Benjamin Poulain  <benjamin@webkit.org>

        Add the basic infrastructure to compile attributes matching in selectors
        https://bugs.webkit.org/show_bug.cgi?id=128484

        Reviewed by Gavin Barraclough.

        Tests: fast/selectors/querySelector-attribute-match-with-child-backtracking.html
               fast/selectors/querySelector-long-attribute-match-with-child-backtracking.html
               fast/selectors/querySelector-long-multiple-attribute-match-with-child-backtracking.html
               fast/selectors/querySelector-multiple-attribute-match-with-child-backtracking.html

        Add the infrastructure to match attributes. This only add basic support for the 'Set' match
        type, the other match types will have to be built on top.

        * cssjit/RegisterAllocator.h:
        (WebCore::RegisterAllocator::availableRegisterCount):
        (WebCore::RegisterAllocator::allocateRegister):
        (WebCore::RegisterAllocator::deallocateRegister):
        (WebCore::RegisterAllocator::reserveCalleeSavedRegisters):
        (WebCore::RegisterAllocator::restoreCalleeSavedRegisters):
        (WebCore::RegisterAllocator::allocatedRegisters):
        (WebCore::RegisterAllocator::RegisterAllocator):
        (WebCore::RegisterAllocator::~RegisterAllocator):
        In the worst case, matching attributes can take up to 10 registers. On x86_64, we have
        8 caller-saved registers. The extra 2 registers are simply added by taking callee-saved registers.

        RegisterAllocator is modified to know support saving and restoring callee saved registers.
        The list of available registers is changed from a vector to a HashSet because the registers
        are removed from arbitrary locations in restoreCalleeSavedRegisters(). The m_allocatedRegisters
        remain a vector since the allocation/release pattern remain ordered.

        * cssjit/SelectorCompiler.cpp:
        (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):

        (WebCore::SelectorCompiler::minimumRegisterRequirements):
        This new utility finds the minimum number of registers needed to compile the input. In most
        cases we have plenty enough. In rare cases we need to saved a few registers to the stack.

        (WebCore::SelectorCompiler::SelectorCodeGenerator::compile):
        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementDataMatching):
        (WebCore::SelectorCompiler::testIsHTMLFlagOnNode):
        (WebCore::SelectorCompiler::canMatchStyleAttribute):

        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSynchronizeStyleAttribute):
        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSynchronizeAllAnimatedSVGAttribute):
        The style attribute and certain SVG attributes can be modified lazily. In those cases,
        the element needs to be updated before querying the attributes.

        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributesMatching):
        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeMatching):
        Generate the attribute matching. For each CSSSelector matching an attribute, we generate
        a loop over all the attributes of the element, maching the particular CSSSelector.
        This makes no attempt at grouping related queries since those do not seem to happen a lot
        in practice.

        * dom/Attribute.h:
        (WebCore::Attribute::nameMemoryOffset):
        (WebCore::Attribute::nameMatchesFilter):
        (WebCore::Attribute::matches):
        * dom/ElementData.h:
        (WebCore::ElementData::isUniqueFlag):
        (WebCore::ElementData::arraySizeAndFlagsMemoryOffset):
        (WebCore::ElementData::styleAttributeIsDirtyFlag):
        (WebCore::ElementData::animatedSVGAttributesAreDirtyFlag):
        (WebCore::ElementData::arraySizeOffset):
        (WebCore::ShareableElementData::attributeArrayMemoryOffset):
        (WebCore::UniqueElementData::attributeVectorMemoryOffset):
        * dom/Node.h:
        (WebCore::Node::flagIsHTML):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::synchronizeStyleAttributeInternal):
        * dom/StyledElement.h:
        (WebCore::StyledElement::synchronizeStyleAttributeInternal):
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::synchronizeAllAnimatedSVGAttribute):
        (WebCore::SVGElement::synchronizeAnimatedSVGAttribute):
        * svg/SVGElement.h:

2014-02-10  Brady Eidson  <beidson@apple.com>

        IDB: storage/indexeddb/mozilla/indexes.html fails
        <rdar://problem/16031590> and https://bugs.webkit.org/show_bug.cgi?id=128563

        Reviewed by Tim Horton.

        Tested by storage/indexeddb/mozilla/indexes.html (and probably others)

        * Modules/indexeddb/IDBGetResult.h:
        (WebCore::IDBGetResult::IDBGetResult): Add a constructor that takes an IDBKeyData argument.

        * Modules/indexeddb/IDBRequest.cpp:
        (WebCore::IDBRequest::onSuccess): If there’s no keyPath then skip the injection step.

2014-02-10  Benjamin Poulain  <benjamin@webkit.org>

        Speed up DatasetDOMStringMap::item() when the element has multiple attributes
        https://bugs.webkit.org/show_bug.cgi?id=128058

        Reviewed by Darin Adler.

        Accessing data attributes by name through DatasetDOMStringMap involes the conversion
        from JavaScript property name to attribute name (done with propertyNameMatchesAttributeName()).

        When there is a single data attribute, that method is efficient. When there are several attributes,
        comparing names character by character becomes a bottleneck.

        This patch add an efficent path for this case: instead of converting the attribute name on the fly,
        the JavaScript property name is converted to an attribute name so that it can compared by its
        AtomicStringImpl pointer.

        This method puts a lot more pressure on convertPropertyNameToAttributeName()'s speed. The method was
        improved accordingly to compensate for its new caller.

        When enumerating multiple attributes by name, this patch provides about 80% speedup.
        I could not measure any slow down on the simple cases.

        * dom/DatasetDOMStringMap.cpp:
        (WebCore::convertPropertyNameToAttributeName):
        (WebCore::DatasetDOMStringMap::item):
        * dom/ElementData.h:
        (WebCore::AttributeIteratorAccessor::attributeCount):

2014-02-10  Ryosuke Niwa  <rniwa@webkit.org>

        Address the review comments for r163825.

        * html/HTMLTextFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::indexForVisiblePosition):
        (WebCore::positionForIndex):

2014-02-10  Simon Fraser  <simon.fraser@apple.com>

        Try to fix the 32-bit build.

        * WebCore.exp.in:

2014-02-10  Filip Pizlo  <fpizlo@apple.com>

        Rename Operations.h to JSCInlines.h
        https://bugs.webkit.org/show_bug.cgi?id=128543

        Rubber stamped by Geoffrey Garen.

        No new tests because no change in behavior.

        * ForwardingHeaders/runtime/JSCInlines.h: Added.
        * bindings/js/JSCryptoAlgorithmBuilder.cpp:
        * bindings/js/JSCryptoKeySerializationJWK.cpp:
        * bindings/js/JSCustomXPathNSResolver.h:
        * bindings/js/JSDOMBinding.h:
        * bindings/js/JSDOMGlobalObject.h:
        * bindings/js/JSDictionary.h:
        * bindings/js/JSMessagePortCustom.cpp:
        * bindings/js/JSMessagePortCustom.h:
        * bindings/js/JSNodeFilterCondition.h:
        * bindings/js/SerializedScriptValue.cpp:
        * bindings/js/WebCoreTypedArrayController.cpp:
        * bridge/c/c_utility.h:
        * bridge/jsc/BridgeJSC.h:
        * dom/CustomEvent.cpp:
        * dom/Node.cpp:
        * html/HTMLCanvasElement.cpp:
        * html/HTMLImageLoader.cpp:
        * html/canvas/WebGLRenderingContext.cpp:
        * inspector/InspectorDOMAgent.cpp:
        * inspector/WebConsoleAgent.cpp:
        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
        * platform/graphics/filters/FEGaussianBlur.cpp:
        * platform/graphics/filters/FilterEffect.cpp:
        * testing/MockCDM.cpp:
        * xml/XMLHttpRequest.cpp:

2014-02-09  Dean Jackson  <dino@apple.com>

        Update aspect-ratio property to have constraining keywords
        https://bugs.webkit.org/show_bug.cgi?id=128262

        Reviewed by Simon Fraser.

        Add support for "from-dimensions" and "from-intrinsic"
        property values to "-webkit-aspect-ratio". I also changed
        the default value from "none" to "auto", because "none" doesn't
        make sense any more.

        Covered by enhancing existing tests.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::ComputedStyleExtractor::propertyValue): New keywords.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseAspectRatio): Support new keywords.
        * css/CSSValueKeywords.in: Add from-dimensions and from-intrinsic.
        * css/DeprecatedStyleBuilder.cpp: This now has to handle the new
        values. I also changed "none" to "auto".
        (WebCore::ApplyPropertyAspectRatio::applyInheritValue):
        (WebCore::ApplyPropertyAspectRatio::applyInitialValue):
        (WebCore::ApplyPropertyAspectRatio::applyValue):
        * rendering/style/RenderStyle.h: hasAspectRatio is now aspectRatioType
        and indicates one of the three keywords, or a specified number.
        * rendering/style/RenderStyleConstants.h: New enum.
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        (WebCore::StyleRareNonInheritedData::operator==):
        * rendering/style/StyleRareNonInheritedData.h:

2014-02-10  Benjamin Poulain  <bpoulain@apple.com>

        [WK2] Add support for image document viewport configuration
        https://bugs.webkit.org/show_bug.cgi?id=128565

        Reviewed by Simon Fraser.

        Add proper default settings for displaying images.

        * WebCore.exp.in:
        * page/ViewportConfiguration.cpp:
        (WebCore::ViewportConfiguration::imageDocumentParameters):
        (WebCore::ViewportConfiguration::textDocumentParameters):
        * page/ViewportConfiguration.h:

2014-02-10  Brendan Long  <b.long@cablelabs.com>

        Unreviewed GTK build fix after r163816.

        * GNUmakefile.list.am: Remove HTMLMediaSource.h and HTMLMediaSource.cpp

2014-02-10  Jinwoo Song  <jinwoo7.song@samsung.com>

        Unreviewed EFL WebKit2 build fix after r163816.

        * CMakeLists.txt: Remove HTMLMediaSource.cpp

2014-02-10  Ryosuke Niwa  <rniwa@webkit.org>

        HTMLTextFormControlElement::setSelectionRange shouldn't use VisiblePosition
        https://bugs.webkit.org/show_bug.cgi?id=128478

        Reviewed by Darin Adler.

        Added positionForIndex to compute Position given a selection index. This function doesn't
        synchronously trigger like visiblePositionForIndex.

        Also added assertions in visiblePositionForIndex and visiblePositionForIndex to make sure
        they are inverse of one another.

        * html/HTMLTextFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::setSelectionRange): Use positionForIndex. Also removed
        the now tautological assertions since we would never create a position outside the inner text
        element.

        (WebCore::HTMLTextFormControlElement::indexForVisiblePosition): Fixed the bug where this
        function could return a selection index beyond innerTextElement in some types of input
        elements such as search fields. fast/forms/search-disabled-readonly.html hits the newly
        added assertion without this change. Note we can't use visiblePositionForIndex here as that
        would result in a mutual recursion with the assertion in visiblePositionForIndex.

        (WebCore::HTMLTextFormControlElement::visiblePositionForIndex): Added an assertion.

        (WebCore::positionForIndex): Added. It's here with prototype at the beginning of the file
        so that it's right next to HTMLTextFormControlElement::innerText() where we do a similar
        DOM traversal to obtain the inner text value.

2014-02-07  Jeffrey Pfau  <jpfau@apple.com>

        Disable access to application cache when in private browsing
        https://bugs.webkit.org/show_bug.cgi?id=128426

        Reviewed by Alexey Proskuryakov.

        Tests: http/tests/security/appcache-in-private-browsing.html
               http/tests/security/appcache-switching-private-browsing.html

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::cacheForMainRequest):
        (WebCore::ApplicationCacheGroup::selectCache):
        (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
        (WebCore::ApplicationCacheGroup::update):
        * loader/appcache/ApplicationCacheHost.cpp:
        (WebCore::ApplicationCacheHost::isApplicationCacheEnabled):

2014-02-10  Jer Noble  <jer.noble@apple.com>

        [MSE] Fix layering violations in MediaSource
        https://bugs.webkit.org/show_bug.cgi?id=128546

        Reviewed by Eric Carlson.

        Code in Modules should be considered part of html/ and should have the
        same layering properties. Get rid of HTMLMediaSource (which was intended
        to allow Modules/mediasource to be considered part of platform/) and add
        a new client interface allowing communication from platform/ -> 
        Modules/mediasource.

        Replace HTMLMediaSource -> MediaSourcePrivateClient:
        * html/HTMLMediaSource.cpp: Removed.
        * html/HTMLMediaSource.h: Removed.
        * platform/graphics/MediaSourcePrivateClient.h: Added.
        (WebCore::MediaSourcePrivateClient::~MediaSourcePrivateClient):

        Move registry support from HTMLMediaSource -> MediaSource.
        * Modules/mediasource/MediaSource.cpp:
        (WebCore::MediaSource::setRegistry): Moved from HTMLMediaSource.cpp.
        * Modules/mediasource/MediaSource.h:
        (WebCore::MediaSource::lookup): Ditto.

        Update references to HTMLMediaSource -> MediaSource:
        * Modules/mediasource/MediaSourceRegistry.cpp:
        (WebCore::MediaSourceRegistry::MediaSourceRegistry): 
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::loadResource):
        * html/HTMLMediaElement.h:

        Update references to HTMLMediaSource -> MediaSourcePrivateClient:
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::NullMediaPlayerPrivate::load):
        (WebCore::MediaPlayer::load): Ditto.
        (WebCore::MediaPlayer::loadWithNextMediaEngine):
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/MediaPlayerPrivate.h:
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
        (WebCore::MediaPlayerPrivateAVFoundation::load):
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load):
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::load):
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
        * platform/graphics/gstreamer/MediaSourceGStreamer.cpp:
        (WebCore::MediaSourceGStreamer::open):
        * platform/graphics/gstreamer/MediaSourceGStreamer.h:
        * platform/graphics/ios/MediaPlayerPrivateIOS.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivateQTKit::load):
        * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
        (WebCore::MockMediaPlayerMediaSource::load):
        * platform/mock/mediasource/MockMediaPlayerMediaSource.h:

2014-02-10  Alexey Proskuryakov  <ap@apple.com>

        Remove some unused functions from SerializedScriptValue
        https://bugs.webkit.org/show_bug.cgi?id=128407

        Reviewed by Oliver Hunt.

        Removed functions that used Deprecated::ScriptValue

        * Modules/indexeddb/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::put):
        * bindings/js/IDBBindingUtilities.cpp:
        (WebCore::deserializeIDBValue):
        (WebCore::deserializeIDBValueBuffer):
        * bindings/js/SerializedScriptValue.cpp:
        * bindings/js/SerializedScriptValue.h:

2014-02-10  Roger Fong  <roger_fong@apple.com>

        [Windows] Unreviewed test fix.

        * platform/graphics/cg/GraphicsContextCG.cpp: m_pixelSnappingFactor was not set to 1.
        (WebCore::GraphicsContext::platformInit):

2014-02-10  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GLIB] Add GUniqueOutPtr and use it instead of GOwnPtr
        https://bugs.webkit.org/show_bug.cgi?id=127554

        Reviewed by Gustavo Noronha Silva.

        Use GUniqueOutPtr instead of GOwnPtr.

        * GNUmakefile.list.am:
        * PlatformEfl.cmake:
        * PlatformGTK.cmake:
        * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
        (WebCore::AudioDestinationGStreamer::handleMessage):
        * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
        (WebCore::AudioFileReader::handleMessage):
        * platform/glib/BatteryProviderUPower.cpp:
        (BatteryProviderUPower::startUpdating):
        * platform/graphics/gstreamer/GStreamerUtilities.cpp:
        (WebCore::initializeGStreamer):
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
        * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
        (WebCore::TrackPrivateBaseGStreamer::getTag):
        * platform/graphics/gtk/ImageBufferGtk.cpp:
        (WebCore::encodeImage):
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/gtk/ImageGtk.cpp:
        (WebCore::loadResourceSharedBuffer):
        * platform/gtk/DataObjectGtk.cpp:
        (WebCore::DataObjectGtk::setURIList):
        * platform/gtk/FileSystemGtk.cpp:
        (WebCore::readFromFile):
        * platform/gtk/GamepadsGtk.cpp:
        (WebCore::GamepadDeviceGtk::readCallback):
        * platform/gtk/GtkInputMethodFilter.cpp:
        (WebCore::GtkInputMethodFilter::handlePreeditChanged):
        * platform/gtk/PasteboardHelper.cpp:
        (WebCore::PasteboardHelper::fillDataObjectFromDropData):
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::systemFont):
        * platform/gtk/SharedBufferGtk.cpp:
        (WebCore::SharedBuffer::createWithContentsOfFile):
        * platform/network/gtk/CredentialBackingStore.cpp:
        (WebCore::credentialForChallengeAsyncReadyCallback):
        * platform/network/soup/GOwnPtrSoup.cpp: Removed.
        * platform/network/soup/GOwnPtrSoup.h: Removed.
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::redirectSkipCallback):
        (WebCore::nextMultipartResponsePartCallback):
        (WebCore::sendRequestCallback):
        (WebCore::addFileToSoupMessageBody):
        (WebCore::createSoupRequestAndMessageForHandle):
        (WebCore::readCallback):
        * platform/network/soup/SocketStreamHandleSoup.cpp:
        (WebCore::SocketStreamHandle::platformSend):
        (WebCore::SocketStreamHandle::platformClose):
        (WebCore::connectedCallback):
        (WebCore::readReadyCallback):
        * platform/network/soup/SoupNetworkSession.cpp:
        (WebCore::SoupNetworkSession::httpProxy):

2014-02-10  Darin Adler  <darin@apple.com>

        Automatically generate isRendererOfType in RENDER_OBJECT_TYPE_CASTS
        https://bugs.webkit.org/show_bug.cgi?id=128520

        Reviewed by Andreas Kling.

        * rendering/RenderObject.h: Updated the RENDER_OBJECT_TYPE_CASTS macro so
        that it generates isRendererOfType specializations as well as type casts
        and also have the type casts use the isRendererOfType function. The macro
        also now uses an argument name of "renderer" and allows for a predicate
        that is more than just a single function call (see RenderTextFragment.h).

        * rendering/RenderBlock.h:
        * rendering/RenderBlockFlow.h:
        * rendering/RenderBox.h:
        * rendering/RenderBoxModelObject.h:
        * rendering/RenderCounter.h:
        * rendering/RenderElement.h:
        * rendering/RenderFrameSet.h:
        * rendering/RenderLayerModelObject.h:
        * rendering/RenderMenuList.h:
        * rendering/RenderNamedFlowThread.h:
        * rendering/RenderRubyRun.h:
        * rendering/RenderTableSection.h:
        * rendering/RenderText.h:
        * rendering/mathml/RenderMathMLBlock.h:
        * rendering/mathml/RenderMathMLOperator.h:
        * rendering/mathml/RenderMathMLToken.h:
        * rendering/svg/RenderSVGRoot.h:
        * rendering/svg/RenderSVGText.h:
        Removed specialization of isRendererOfType, since the RENDER_OBJECT_TYPE_CASTS
        macro handles that now. Also removed some unneeded semicolons.

        * rendering/RenderTextFragment.h: Use RENDER_OBJECT_TYPE_CASTS instead of
        hand written casts, now that it can handle a non-trivial predicate.

        * rendering/RenderCombineText.h:
        * rendering/RenderDetailsMarker.h:
        * rendering/RenderListMarker.h:
        * rendering/RenderVideo.h:
        * rendering/RenderView.h:
        * rendering/mathml/RenderMathMLFraction.h:
        * rendering/mathml/RenderMathMLScripts.h:
        * rendering/mathml/RenderMathMLSpace.h:
        Removed unneeded semicolons.

2014-02-10  Darin Adler  <darin@apple.com>

        Stop using String::deprecatedCharacters to call WTF::Collator
        https://bugs.webkit.org/show_bug.cgi?id=128517

        Reviewed by Alexey Proskuryakov.

        * xml/XSLTUnicodeSort.cpp:
        (WebCore::xsltUnicodeSortFunction): Create the collator in a single line using the
        new constructor that takes a shouldSortLowercaseFirst boolean. Use the new
        collateUTF8 function instead of upconverting UTF-8 strings to UTF-16 as the old code did.

2014-02-10  Changhun Kang  <temoochin@company100.net>

        Remove unnecessary comment lines.
        https://bugs.webkit.org/show_bug.cgi?id=127894

        Reviewed by Darin Adler.

        No new tests. No change in behavior.

        * Modules/websockets/WebSocketHandshake.cpp:
        (WebCore::WebSocketHandshake::clientHandshakeRequest):

2014-02-10  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>

        Fix EFL build with INSPECTOR disabled
        https://bugs.webkit.org/show_bug.cgi?id=125064

        Reviewed by Csaba Osztrogonác.

        * bindings/js/PageScriptDebugServer.cpp:
        * bindings/js/PageScriptDebugServer.h:
        * bindings/js/WorkerScriptDebugServer.cpp:
        * bindings/js/WorkerScriptDebugServer.h:
        * inspector/PageInjectedScriptManager.h:

2014-02-10  Zan Dobersek  <zdobersek@igalia.com>

        Fix a few mistakes that landed with r163749.

        Rubber-stamped by Carlos Garcia Campos.

        * platform/gtk/GtkTouchContextHelper.cpp:
        (WebCore::GtkTouchContextHelper::handleEvent): When handling GDK_TOUCH_BEGIN, the assertion
        should ensure that the sequence-to-event map doesn't yet contain pairs with the specific
        sequence as the key.

2014-02-10  David Kilzer  <ddkilzer@apple.com>

        Add type-safe casts for ContentData subclasses
        <http://webkit.org/b/128510>

        Reviewed by Darin Adler.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::contentToCSSValue):
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::loadPendingImages):
        * rendering/RenderElement.cpp:
        (WebCore::RenderElement::createFor):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::setContent):
        - Switch to toFooContentData() methods.

        * rendering/style/ContentData.h:
        - Define toFooContentData() methods.
        - Extract FooContentData::equals() methods so that the
          toFooContentData() methods can be used.

2014-02-09  Dirk Schulze  <dschulze@chromium.org>

        -webkit-clip-path should support fill, stroke, view-box keywords
        https://bugs.webkit.org/show_bug.cgi?id=128393

        Reviewed by Dean Jackson.

        CSS Masking uses the keywords fill, stroke and view-box for SVG shapes.
        This patch updates the parser, style resolver and SVG implementation of
        the prefixed clip-path property.

        Remove the unexposed and obsolete keyword bounding-box.

        Tests: svg/clip-path/clip-path-shape-fill-expected.svg
               svg/clip-path/clip-path-shape-fill.svg
               svg/clip-path/clip-path-shape-stroke-expected.svg
               svg/clip-path/clip-path-shape-stroke.svg
               svg/clip-path/clip-path-shape-view-box-expected.svg
               svg/clip-path/clip-path-shape-view-box.svg

        * css/CSSParser.cpp: Parse fill, stroke, view-box. Remove bounding-box.
        (WebCore::isBoxValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator LayoutBox):
        * css/CSSValueKeywords.in:
        * css/DeprecatedStyleBuilder.cpp:
        (WebCore::ApplyPropertyClipPath::applyValue):
        * rendering/RenderLayer.cpp:
        (WebCore::computeReferenceBox):
        * rendering/shapes/ShapeInfo.h:
        (WebCore::ShapeInfo::setShapeSize):
        (WebCore::ShapeInfo::logicalTopOffset):
        (WebCore::ShapeInfo::logicalLeftOffset):
        * rendering/style/RenderStyleConstants.h:
        * rendering/svg/SVGRenderingContext.cpp: Use different reference boxes per keyword.
        (WebCore::SVGRenderingContext::prepareToRenderSVGContent):

2014-02-09  Dean Jackson  <dino@apple.com>

        [WebGL] Remove state restorer code
        https://bugs.webkit.org/show_bug.cgi?id=128516

        Reviewed by Dirk Schulze.

        I'm not sure what the point of the WebGLStateRestorer class was. It was
        always constructed with a false parameter, and then wasn't even retained
        in local scope (so wouldn't have worked anyway). Meanwhile there were
        also LOTS of calls to cleanupAfterGraphicsCall, the majority of which
        were a no-op. I replaced the handful of cleanupAfterGraphicsCall(true)
        with the call to markContextChanged().

        * html/canvas/OESVertexArrayObject.cpp:
        (WebCore::OESVertexArrayObject::bindVertexArrayOES):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::activeTexture):
        (WebCore::WebGLRenderingContext::attachShader):
        (WebCore::WebGLRenderingContext::bindAttribLocation):
        (WebCore::WebGLRenderingContext::bindBuffer):
        (WebCore::WebGLRenderingContext::bindFramebuffer):
        (WebCore::WebGLRenderingContext::bindRenderbuffer):
        (WebCore::WebGLRenderingContext::bindTexture):
        (WebCore::WebGLRenderingContext::blendColor):
        (WebCore::WebGLRenderingContext::blendEquation):
        (WebCore::WebGLRenderingContext::blendEquationSeparate):
        (WebCore::WebGLRenderingContext::blendFunc):
        (WebCore::WebGLRenderingContext::blendFuncSeparate):
        (WebCore::WebGLRenderingContext::bufferData):
        (WebCore::WebGLRenderingContext::bufferSubData):
        (WebCore::WebGLRenderingContext::checkFramebufferStatus):
        (WebCore::WebGLRenderingContext::clear):
        (WebCore::WebGLRenderingContext::clearColor):
        (WebCore::WebGLRenderingContext::clearDepth):
        (WebCore::WebGLRenderingContext::clearStencil):
        (WebCore::WebGLRenderingContext::colorMask):
        (WebCore::WebGLRenderingContext::compileShader):
        (WebCore::WebGLRenderingContext::compressedTexImage2D):
        (WebCore::WebGLRenderingContext::compressedTexSubImage2D):
        (WebCore::WebGLRenderingContext::copyTexImage2D):
        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
        (WebCore::WebGLRenderingContext::cullFace):
        (WebCore::WebGLRenderingContext::depthFunc):
        (WebCore::WebGLRenderingContext::depthMask):
        (WebCore::WebGLRenderingContext::depthRange):
        (WebCore::WebGLRenderingContext::detachShader):
        (WebCore::WebGLRenderingContext::disable):
        (WebCore::WebGLRenderingContext::disableVertexAttribArray):
        (WebCore::WebGLRenderingContext::validateDrawArrays):
        (WebCore::WebGLRenderingContext::drawArrays):
        (WebCore::WebGLRenderingContext::validateDrawElements):
        (WebCore::WebGLRenderingContext::drawElements):
        (WebCore::WebGLRenderingContext::enable):
        (WebCore::WebGLRenderingContext::enableVertexAttribArray):
        (WebCore::WebGLRenderingContext::finish):
        (WebCore::WebGLRenderingContext::flush):
        (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
        (WebCore::WebGLRenderingContext::framebufferTexture2D):
        (WebCore::WebGLRenderingContext::frontFace):
        (WebCore::WebGLRenderingContext::generateMipmap):
        (WebCore::WebGLRenderingContext::getBufferParameter):
        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
        (WebCore::WebGLRenderingContext::getParameter):
        (WebCore::WebGLRenderingContext::getProgramParameter):
        (WebCore::WebGLRenderingContext::getProgramInfoLog):
        (WebCore::WebGLRenderingContext::getRenderbufferParameter):
        (WebCore::WebGLRenderingContext::getShaderParameter):
        (WebCore::WebGLRenderingContext::getShaderInfoLog):
        (WebCore::WebGLRenderingContext::getTexParameter):
        (WebCore::WebGLRenderingContext::getUniform):
        (WebCore::WebGLRenderingContext::getUniformLocation):
        (WebCore::WebGLRenderingContext::getVertexAttrib):
        (WebCore::WebGLRenderingContext::getVertexAttribOffset):
        (WebCore::WebGLRenderingContext::hint):
        (WebCore::WebGLRenderingContext::lineWidth):
        (WebCore::WebGLRenderingContext::linkProgram):
        (WebCore::WebGLRenderingContext::pixelStorei):
        (WebCore::WebGLRenderingContext::polygonOffset):
        (WebCore::WebGLRenderingContext::readPixels):
        (WebCore::WebGLRenderingContext::releaseShaderCompiler):
        (WebCore::WebGLRenderingContext::renderbufferStorage):
        (WebCore::WebGLRenderingContext::sampleCoverage):
        (WebCore::WebGLRenderingContext::scissor):
        (WebCore::WebGLRenderingContext::shaderSource):
        (WebCore::WebGLRenderingContext::stencilFunc):
        (WebCore::WebGLRenderingContext::stencilFuncSeparate):
        (WebCore::WebGLRenderingContext::stencilMask):
        (WebCore::WebGLRenderingContext::stencilMaskSeparate):
        (WebCore::WebGLRenderingContext::stencilOp):
        (WebCore::WebGLRenderingContext::stencilOpSeparate):
        (WebCore::WebGLRenderingContext::texImage2DBase):
        (WebCore::WebGLRenderingContext::texImage2D):
        (WebCore::WebGLRenderingContext::texParameter):
        (WebCore::WebGLRenderingContext::texSubImage2DBase):
        (WebCore::WebGLRenderingContext::uniform1f):
        (WebCore::WebGLRenderingContext::uniform1fv):
        (WebCore::WebGLRenderingContext::uniform1i):
        (WebCore::WebGLRenderingContext::uniform1iv):
        (WebCore::WebGLRenderingContext::uniform2f):
        (WebCore::WebGLRenderingContext::uniform2fv):
        (WebCore::WebGLRenderingContext::uniform2i):
        (WebCore::WebGLRenderingContext::uniform2iv):
        (WebCore::WebGLRenderingContext::uniform3f):
        (WebCore::WebGLRenderingContext::uniform3fv):
        (WebCore::WebGLRenderingContext::uniform3i):
        (WebCore::WebGLRenderingContext::uniform3iv):
        (WebCore::WebGLRenderingContext::uniform4f):
        (WebCore::WebGLRenderingContext::uniform4fv):
        (WebCore::WebGLRenderingContext::uniform4i):
        (WebCore::WebGLRenderingContext::uniform4iv):
        (WebCore::WebGLRenderingContext::uniformMatrix2fv):
        (WebCore::WebGLRenderingContext::uniformMatrix3fv):
        (WebCore::WebGLRenderingContext::uniformMatrix4fv):
        (WebCore::WebGLRenderingContext::useProgram):
        (WebCore::WebGLRenderingContext::validateProgram):
        (WebCore::WebGLRenderingContext::vertexAttribPointer):
        (WebCore::WebGLRenderingContext::viewport):
        (WebCore::WebGLRenderingContext::vertexAttribfImpl):
        (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
        (WebCore::WebGLRenderingContext::drawArraysInstanced):
        (WebCore::WebGLRenderingContext::drawElementsInstanced):
        * html/canvas/WebGLRenderingContext.h:

2014-02-09  Dean Jackson  <dino@apple.com>

        Remove unused layer owner from WebGLLayer
        https://bugs.webkit.org/show_bug.cgi?id=128512

        Reviewed by Dirk Schulze.

        The m_layerOwner and ObjC category were not
        used anywhere.

        * platform/graphics/mac/WebGLLayer.h:
        * platform/graphics/mac/WebGLLayer.mm:
        (-[WebGLLayer display]):

2014-02-09  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL] Remove PageClientEfl
        https://bugs.webkit.org/show_bug.cgi?id=128508

        Reviewed by Andreas Kling.

        PageClientEfl was introduced for accelerated compositing of WebKit1, but
        it's bad idea because it's layer violation.
        Indeed, it has never been used since introduced.

        * platform/Widget.h: Back to PlatformPageClient to Evas_Object.
        * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
        Removed empty method which use PageClientEfl.
        * platform/graphics/efl/GraphicsContext3DPrivate.h: Ditto.

2014-02-09  Tim Horton  <timothy_horton@apple.com>

        [iOS][wk2] ASSERT(WebThreadIsCurrent()) in [WebDisplayLinkHandler handleDisplayLink:]
        https://bugs.webkit.org/show_bug.cgi?id=128490

        Reviewed by Simon Fraser.

        * platform/graphics/ios/DisplayRefreshMonitorIOS.mm:
        (-[WebDisplayLinkHandler handleDisplayLink:]):
        [WebDisplayLinkHandler handleDisplayLink:] has an ASSERT(WebThreadIsCurrent()).

        We don't use the Web Thread in WebKit2, but it looks like isMainThread()
        does the right thing (main thread if web thread is disabled, web thread
        otherwise), so use that instead.

2014-02-09  Anders Carlsson  <andersca@apple.com>

        Add WTF_MAKE_FAST_ALLOCATED to more classes
        https://bugs.webkit.org/show_bug.cgi?id=128506

        Reviewed by Andreas Kling.

        * dom/Node.h:
        * dom/ScriptElement.h:
        * loader/ImageLoader.h:
        * loader/cache/CachedResourceClient.h:
        * platform/TreeShared.h:
        * platform/graphics/GlyphMetricsMap.h:
        * rendering/InlineBox.h:
        * rendering/RenderLayer.h:
        * rendering/RenderObject.h:

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

        Reduce ref churn in ChildNodesLazySnapshot iteration.
        <https://webkit.org/b/128492>

        Add a missing release() in ChildNodesLazySnapshot::nextNode()
        so we don't have to churn the ref count.

        Reviewed by Sam Weinig.

        * dom/ContainerNode.h:
        (WebCore::ChildNodesLazySnapshot::nextNode):

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

        Reduce ref churn in ChildInsertionNotifier.
        <https://webkit.org/b/128494>

        All callers of notifyNodeInsertedIntoDocument() already hold a strong
        reference on the Node, so there's no need to ref it again inside.

        Reviewed by Anders Carlsson.

        * dom/ContainerNodeAlgorithms.h:
        (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument):

2014-02-09  Zan Dobersek  <zdobersek@igalia.com>

        Manage ShadowData through std::unique_ptr
        https://bugs.webkit.org/show_bug.cgi?id=128466

        Reviewed by Andreas Kling.

        Use std::unique_ptr instead of OwnPtr to manage ShadowData objects.

        * css/SVGCSSStyleSelector.cpp:
        (WebCore::StyleResolver::applySVGProperty):
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::applyProperty):
        * page/animation/CSSPropertyAnimation.cpp:
        (WebCore::blendFunc):
        (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
        (WebCore::PropertyWrapperShadow::blendSimpleOrMatchedShadowLists):
        (WebCore::PropertyWrapperShadow::blendMismatchedShadowLists):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::setTextShadow):
        (WebCore::RenderStyle::setBoxShadow):
        * rendering/style/RenderStyle.h:
        * rendering/style/SVGRenderStyle.h:
        (WebCore::SVGRenderStyle::setShadow):
        * rendering/style/SVGRenderStyleDefs.cpp:
        (WebCore::StyleShadowSVGData::StyleShadowSVGData):
        * rendering/style/SVGRenderStyleDefs.h:
        * rendering/style/ShadowData.cpp:
        (WebCore::ShadowData::ShadowData):
        * rendering/style/ShadowData.h:
        (WebCore::ShadowData::setNext):
        * rendering/style/StyleRareInheritedData.cpp:
        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
        * rendering/style/StyleRareInheritedData.h:
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        * rendering/style/StyleRareNonInheritedData.h:

2014-02-09  Carlos Garnacho  <carlosg@gnome.org>

        [GTK] Add touch-events related code to build
        https://bugs.webkit.org/show_bug.cgi?id=98931

        Reviewed by Carlos Garcia Campos.

        Tests in fast/events/touch have been enabled on GTK+ now that touch
        support is implemented, and thus all expected bits are there.

        * platform/gtk/GtkTouchContextHelper.cpp:
        * platform/gtk/GtkTouchContextHelper.h: Add helper object to track all touchpoints, handy
        when creating WebTouchEvents.
        * GNUmakefile.list.am:
        * PlatformGTK.cmake:
        * bindings/gobject/GNUmakefile.am: Add touch related code and idls to build, those are
        necessary now that GTK+ implements touch events.

2014-02-09  Zan Dobersek  <zdobersek@igalia.com>

        Switch the rest of CSS code from OwnPtr over to std::unique_ptr
        https://bugs.webkit.org/show_bug.cgi?id=128471

        Reviewed by Andreas Kling.

        Replace the remaining uses of OwnPtr in the CSS code with std::unique_ptr, covering
        the CSSParser, CSSParserSelector and CSSSelector classes and a few additional, closely related classes.

        * css/CSSGrammar.y.in:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseSheet):
        (WebCore::CSSParser::parseDeclaration):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::markSupportsRuleHeaderStart):
        (WebCore::CSSParser::createKeyframesRule):
        (WebCore::CSSParser::createStyleRule):
        (WebCore::CSSParser::rewriteSpecifiersWithElementName):
        (WebCore::CSSParser::rewriteSpecifiers):
        * css/CSSParser.h:
        * css/CSSParserValues.cpp:
        (WebCore::CSSParserSelector::CSSParserSelector):
        (WebCore::CSSParserSelector::~CSSParserSelector):
        (WebCore::CSSParserSelector::adoptSelectorVector):
        (WebCore::CSSParserSelector::insertTagHistory):
        (WebCore::CSSParserSelector::appendTagHistory):
        (WebCore::CSSParserSelector::prependTagSelector):
        * css/CSSParserValues.h:
        (WebCore::CSSParserSelector::releaseSelector):
        (WebCore::CSSParserSelector::setTagHistory):
        (WebCore::CSSParserSelector::clearTagHistory):
        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::setSelectorList):
        * css/CSSSelector.h:
        * css/CSSSelectorList.cpp:
        (WebCore::CSSSelectorList::adoptSelectorVector):
        * css/CSSSelectorList.h:
        * css/CSSValueList.cpp:
        * css/StyleRule.cpp:
        (WebCore::StyleRuleRegion::StyleRuleRegion):
        * css/StyleRule.h:
        (WebCore::StyleRule::parserAdoptSelectorVector):
        (WebCore::StyleRulePage::parserAdoptSelectorVector):
        (WebCore::StyleRuleRegion::create):

2014-02-09  Zan Dobersek  <zdobersek@igalia.com>

        Manage MutationObserverInterestGroup through std::unique_ptr
        https://bugs.webkit.org/show_bug.cgi?id=128468

        Reviewed by Andreas Kling.

        Use std::unique_ptr instead of OwnPtr for managing MutationObserverInterestGroup objects.

        * css/PropertySetCSSStyleDeclaration.cpp:
        * dom/CharacterData.cpp:
        (WebCore::CharacterData::dispatchModifiedEvent):
        * dom/ChildListMutationScope.cpp:
        (WebCore::ChildListMutationAccumulator::ChildListMutationAccumulator):
        * dom/ChildListMutationScope.h:
        (WebCore::ChildListMutationAccumulator::hasObservers):
        * dom/Element.cpp:
        (WebCore::Element::willModifyAttribute):
        * dom/MutationObserverInterestGroup.cpp:
        (WebCore::MutationObserverInterestGroup::createIfNeeded):
        * dom/MutationObserverInterestGroup.h:
        (WebCore::MutationObserverInterestGroup::createForChildListMutation):
        (WebCore::MutationObserverInterestGroup::createForCharacterDataMutation):
        (WebCore::MutationObserverInterestGroup::createForAttributesMutation):

2014-02-09  Zan Dobersek  <zdobersek@igalia.com>

        Manage MessagePort, MessagePortChannel and friends through std::unique_ptr
        https://bugs.webkit.org/show_bug.cgi?id=128467

        Reviewed by Andreas Kling.

        Use std::unique_ptr instead of OwnPtr to manage MessagePort, MessagePortArray, MessagePortChannel
        and MessagePortChannelArray objects.

        * bindings/js/JSMessageEventCustom.cpp:
        (WebCore::handleInitMessageEvent):
        * dom/MessageEvent.cpp:
        (WebCore::MessageEvent::MessageEvent):
        (WebCore::MessageEvent::initMessageEvent):
        * dom/MessageEvent.h:
        (WebCore::MessageEvent::create):
        * dom/MessagePort.cpp:
        (WebCore::MessagePort::postMessage):
        (WebCore::MessagePort::disentangle):
        (WebCore::MessagePort::entangle):
        (WebCore::MessagePort::dispatchMessages):
        (WebCore::MessagePort::disentanglePorts):
        (WebCore::MessagePort::entanglePorts):
        * dom/MessagePort.h:
        * dom/MessagePortChannel.h:
        * dom/default/PlatformMessagePortChannel.cpp:
        (WebCore::PlatformMessagePortChannel::EventData::EventData):
        (WebCore::MessagePortChannel::createChannel):
        (WebCore::MessagePortChannel::postMessageToRemote):
        (WebCore::MessagePortChannel::tryGetMessageFromRemote):
        * dom/default/PlatformMessagePortChannel.h:
        (WebCore::PlatformMessagePortChannel::EventData::channels):
        * page/DOMWindow.cpp:
        (WebCore::PostMessageTimer::PostMessageTimer):
        (WebCore::PostMessageTimer::event):
        (WebCore::DOMWindow::postMessage):
        * workers/DedicatedWorkerGlobalScope.cpp:
        (WebCore::DedicatedWorkerGlobalScope::postMessage):
        * workers/DefaultSharedWorkerRepository.cpp:
        (WebCore::SharedWorkerConnectTask::create):
        (WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask):
        (WebCore::SharedWorkerConnectTask::performTask):
        (WebCore::SharedWorkerScriptLoader::SharedWorkerScriptLoader):
        (WebCore::SharedWorkerScriptLoader::notifyFinished):
        (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
        (WebCore::DefaultSharedWorkerRepository::connectToWorker):
        * workers/DefaultSharedWorkerRepository.h:
        * workers/SharedWorker.cpp:
        (WebCore::SharedWorker::create):
        * workers/SharedWorkerGlobalScope.cpp:
        (WebCore::createConnectEvent):
        * workers/SharedWorkerRepository.cpp:
        (WebCore::SharedWorkerRepository::connect):
        * workers/SharedWorkerRepository.h:
        * workers/Worker.cpp:
        (WebCore::Worker::postMessage):
        * workers/WorkerGlobalScopeProxy.h:
        * workers/WorkerMessagingProxy.cpp:
        (WebCore::MessageWorkerGlobalScopeTask::create):
        (WebCore::MessageWorkerGlobalScopeTask::MessageWorkerGlobalScopeTask):
        (WebCore::MessageWorkerGlobalScopeTask::performTask):
        (WebCore::MessageWorkerTask::create):
        (WebCore::MessageWorkerTask::MessageWorkerTask):
        (WebCore::MessageWorkerTask::performTask):
        (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
        (WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):
        * workers/WorkerMessagingProxy.h:
        * workers/WorkerObjectProxy.h:

2014-02-08  Ryosuke Niwa  <rniwa@webkit.org>

        Cleanup the interface of FrameSelection
        https://bugs.webkit.org/show_bug.cgi?id=128481

        Reviewed by Andreas Kling.

        Removed FrameSelection::end() as intended in r163232, and the stale declaration of
        paintDragCaret() which was supposed to be removed when we extracted DragCaretController.

        Renamed caretRenderer() to caretRendererWithoutUpdatingLayout() to clarify the contract
        as the only caller of this function is RenderBlock::paintCaret. Also renamed bounds()
        to selectionBounds() to make it more easily identifiable / grep'able.

        In addition, made recomputeCaretRect() and invalidateCaretRect() private.

        * WebCore.exp.in:
        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::caretRendererWithoutUpdatingLayout):
        (WebCore::FrameSelection::selectionBounds):
        (WebCore::FrameSelection::revealSelection):
        * editing/FrameSelection.h:
        (WebCore::FrameSelection::setCaretVisible):
        * page/DragController.cpp:
        (WebCore::dragLocForSelectionDrag):
        * page/FrameSnapshotting.cpp:
        (WebCore::snapshotSelection):
        * page/win/FrameWin.cpp:
        (WebCore::imageFromSelection):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintCaret):
        * testing/Internals.cpp:
        (WebCore::Internals::selectionBounds):

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

        Reverted part of r163734, because the assertion it enabled still fails when running
        loader/load-defer-resume-crash.html

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::dataReceived):

2014-02-08  Ryosuke Niwa  <rniwa@webkit.org>

        EFL build fix after r163729.

        * Modules/indexeddb/IDBDatabase.cpp:
        (WebCore::IDBDatabase::version):

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

        Remove outdated workarounds in DocumentLoader::dataReceived
        https://bugs.webkit.org/show_bug.cgi?id=128465

        Reviewed by Andreas Kling.

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::dataReceived):

2014-02-08  Alexey Proskuryakov  <ap@apple.com>

        Remove some unused functions from SerializedScriptValue
        https://bugs.webkit.org/show_bug.cgi?id=128407

        Reviewed by Oliver Hunt.

        Removed more unused code, particularly in API helpers. Renamed one serialize()
        function to create(), because it does the same thing as other create() functions.

        * Modules/indexeddb/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::put):
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::SerializedScriptValue::create):
        (WebCore::SerializedScriptValue::deserialize):
        * bindings/js/SerializedScriptValue.h:

2014-02-08  Brady Eidson  <beidson@apple.com>

        IDB: storage/indexeddb/mozilla/versionchange-abort.html fails
        <rdar://problem/16018887> and https://bugs.webkit.org/show_bug.cgi?id=128442

        Reviewed by Dan Bernstein.

        Tested by storage/indexeddb/mozilla/versionchange-abort.html (and probably others)

        * Modules/indexeddb/IDBDatabase.cpp:
        (WebCore::IDBDatabase::version): If the version is NoIntVersion, return DefaultIntVersion to script.

2014-02-08  Brady Eidson  <beidson@apple.com>

        IDB: storage/indexeddb/mozilla/cursors.html fails
        <rdar://problem/16017998> and https://bugs.webkit.org/show_bug.cgi?id=128423

        Reviewed by Dan Bernstein.

        Tested by storage/indexeddb/mozilla/cursors.html (And probably others)

        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
        (WebCore::OpenCursorOperation::perform): Distinguish between an error while opening the cursor
          and opening a cursor that points to no records.

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

        Remove unused ChromeClient::layoutUpdated().
        <https://webkit.org/b/128470>

        Nobody listens for this callback anymore so remove it.

        Reviewed by Anders Carlsson.

        * page/Chrome.cpp:
        * page/Chrome.h:
        * page/ChromeClient.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::layout):

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

        Stop using PLATFORM(MAC) in WebCore except where it means “OS X but not iOS”
        https://bugs.webkit.org/show_bug.cgi?id=128464

        Reviewed by Anders Carlsson.

        * Modules/webaudio/AudioContext.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        (WebCore::AudioContext::constructCommon):
        * accessibility/AccessibilityNodeObject.cpp: Ditto.
        (WebCore::AccessibilityNodeObject::visibleText):
        * accessibility/AccessibilityObject.h: Ditto.
        * accessibility/AccessibilityRenderObject.cpp: Ditto.
        (WebCore::AccessibilityRenderObject::clickPoint):
        (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
        (WebCore::AccessibilityRenderObject::addChildren):
        * accessibility/AccessibilityRenderObject.h: Ditto.
        * bindings/js/JSInspectorFrontendHostCustom.cpp:
        (WebCore::JSInspectorFrontendHost::platform): Made it explicit that this function returns
        "mac" when built for iOS.
        * bindings/js/ScriptController.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        (WebCore::ScriptController::ScriptController):
        * bindings/js/ScriptController.h: Ditto.
        * crypto/CryptoKey.cpp: Changed PLATFORM(MAC) to OS(DARWIN) && !PLATFORM(EFL) &&
        !PLATFORM(GTK) when checking for whether to use CoreCrypto.
        * crypto/keys/CryptoKeyRSA.h: Ditto.
        * dom/Clipboard.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        * dom/Document.cpp: Ditto.
        (WebCore::Document::implicitClose):
        * dom/KeyboardEvent.h: Ditto.
        * editing/Editor.cpp: Ditto.
        (WebCore::Editor::cut):
        (WebCore::Editor::copy):
        (WebCore::Editor::copyImage):
        * editing/Editor.h: Ditto.
        * editing/FrameSelection.h: Ditto.
        * editing/TypingCommand.cpp: Ditto.
        (WebCore::TypingCommand::typingAddedToOpenCommand):
        * history/HistoryItem.h: Ditto.
        * html/HTMLMediaElement.cpp: Ditto.
        (WebCore::HTMLMediaElement::parseAttribute):
        * html/HTMLMediaElement.h: Ditto.
        * html/HTMLPlugInElement.cpp: Ditto.
        (WebCore::registeredPluginReplacements):
        * html/HTMLPlugInImageElement.cpp: Ditto.
        (WebCore::HTMLPlugInImageElement::setDisplayState):
        * html/HTMLSelectElement.cpp: Ditto.
        (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
        * html/shadow/MediaControlElements.cpp: Ditto.
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
        * html/shadow/MediaControlElements.h: Ditto.
        * inspector/InspectorIndexedDBAgent.cpp: Ditto.
        * loader/CookieJar.cpp: Ditto.
        * loader/DocumentLoader.cpp: Ditto.
        (WebCore::DocumentLoader::dataReceived):
        * loader/DocumentLoader.h: Ditto.
        (WebCore::DocumentLoader::didTellClientAboutLoad):
        * loader/EmptyClients.h: Ditto.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadArchive): Added !PLATFORM(IOS) around Mac-only workaround.
        (WebCore::FrameLoader::defaultObjectContentType): Changed PLATFORM(MAC) to PLATFORM(COCOA).
        (WebCore::FrameLoader::subresourceCachePolicy): Ditto.
        * loader/ResourceBuffer.h: Changed PLATFORM(MAC) to USE(FOUNDATION) around functions that
        are implemented using Foundation.
        * loader/ResourceLoadScheduler.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        (WebCore::ResourceLoadScheduler::scheduleLoad):
        * loader/ResourceLoader.cpp: Ditto.
        (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
        * loader/ResourceLoader.h: Ditto.
        * loader/archive/cf/LegacyWebArchive.cpp: Ditto.
        * loader/cache/CachedResource.cpp: Changed PLATFORM(MAC) to USE(FOUNDATION) around function
        that is implemented using other USE(FOUNDATION)-guarded code.
        * loader/cache/CachedResource.h: Ditto.
        * page/Chrome.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        * page/ChromeClient.h: Ditto.
        * page/ContextMenuClient.h: Ditto.
        * page/ContextMenuController.cpp: Ditto.
        (WebCore::ContextMenuController::contextMenuItemSelected):
        (WebCore::ContextMenuController::createAndAppendFontSubMenu):
        (WebCore::ContextMenuController::createAndAppendSpellingAndGrammarSubMenu):
        (WebCore::ContextMenuController::populate):
        (WebCore::ContextMenuController::checkOrEnableIfNeeded):
        * page/DragClient.h: Ditto.
        * page/DragController.cpp: Ditto.
        (WebCore::dragLocForDHTMLDrag):
        (WebCore::dragLocForSelectionDrag):
        (WebCore::DragController::startDrag):
        (WebCore::DragController::doImageDrag):
        * page/EditorClient.h: Ditto.
        * page/EventHandler.cpp: Ditto.
        (WebCore::EventHandler::EventHandler):
        (WebCore::EventHandler::handleMouseDraggedEvent):
        (WebCore::EventHandler::logicalScrollRecursively):
        (WebCore::EventHandler::clearDragState):
        (WebCore::EventHandler::handleWheelEvent):
        (WebCore::EventHandler::defaultWheelEventHandler):
        (WebCore::EventHandler::keyEvent):
        (WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
        * page/EventHandler.h: Ditto.
        * page/FrameView.cpp: Ditto.
        (WebCore::FrameView::layout):
        * page/Page.h: Ditto.
        * page/Settings.cpp: Ditto.
        * page/Settings.h: Ditto.
        * page/scrolling/ScrollingCoordinator.cpp: Ditto.
        * page/scrolling/ScrollingCoordinator.h: Ditto.
        * page/scrolling/ScrollingStateNode.h: Removed unused #include.
        * page/scrolling/ScrollingThread.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        (WebCore::ScrollingThread::createThreadIfNeeded):
        * page/scrolling/ScrollingThread.h: Ditto.
        * platform/network/cf/ResourceRequest.h: Added !PLATFORM(IOS) around
        applyWebArchiveHackForMail.
        * platform/network/cf/ResourceRequestCFNet.cpp:
        (WebCore::ResourceRequest::applyWebArchiveHackForMail): Ditto.
        * platform/network/mac/ResourceRequestMac.mm:
        (WebCore::ResourceRequest::applyWebArchiveHackForMail): Ditto.
        * plugins/PluginViewNone.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA)
        * rendering/RenderBox.cpp: Ditto.
        (WebCore::RenderBox::logicalScroll):
        * rendering/RenderLayerBacking.cpp: Ditto.
        (WebCore::RenderLayerBacking::createGraphicsLayer):
        (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
        * rendering/RenderMenuList.h: Ditto.
        * rendering/RenderText.cpp: Ditto.
        (WebCore::RenderText::previousOffsetForBackwardDeletion):
        * rendering/break_lines.cpp: Removed unused #include.
        * testing/js/WebCoreTestSupport.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        * xml/XSLStyleSheetLibxslt.cpp: Changed PLATFORM(MAC) to OS(DARWIN) && !PLATFORM(EFL) &&
        !PLATFORM(GTK) around soft-linking libxslt.
        * xml/XSLTExtensions.cpp: Ditto.
        * xml/XSLTProcessorLibxslt.cpp: Ditto.
        * xml/XSLTUnicodeSort.cpp: Ditto.

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

        Remove unused ChromeClient::formStateDidChange().
        <https://webkit.org/b/128469>

        Nobody listens for this callback anymore so remove it and stop
        spamming no-op virtual dispatches in forms code.

        Reviewed by Anders Carlsson.

        * html/FileInputType.cpp:
        (WebCore::FileInputType::setFiles):
        * html/HTMLFormControlElementWithState.cpp:
        * html/HTMLFormControlElementWithState.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::updateType):
        (WebCore::HTMLInputElement::setValue):
        (WebCore::HTMLInputElement::setValueFromRenderer):
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::updateListBoxSelection):
        (WebCore::HTMLSelectElement::selectOption):
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::updateValue):
        (WebCore::HTMLTextAreaElement::setValueCommon):
        * loader/EmptyClients.h:
        * page/ChromeClient.h:

2014-02-08  Chris J. Shull  <chrisjshull@gmail.com>

        Web Inspector: Find evaluates attributes in a case sensitive manner
        https://bugs.webkit.org/show_bug.cgi?id=128405

        Reviewed by Timothy Hatcher.

        Changed matchesAttribute to ignore case.

        Updated existing test with additional cases: 
        inspector-protocol/dom/dom-search.html

        * inspector/InspectorNodeFinder.cpp:
        (WebCore::InspectorNodeFinder::matchesAttribute):

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

        Remove unused FrameLoaderClient::dispatchWillOpenSocketStream().
        <https://webkit.org/b/128472>

        Nobody listens for this callback anymore so remove it.

        Reviewed by Anders Carlsson.

        * Modules/websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::willOpenSocketStream):
        * loader/FrameLoaderClient.h:

2014-02-08  Ryosuke Niwa  <rniwa@webkit.org>

        Split UserTriggered into FireSelectEvent and RevealSelection for selection options
        https://bugs.webkit.org/show_bug.cgi?id=128441

        Reviewed by Darin Adler.

        Split UserTriggered by FireSelectEvent and RevealSelection for selection options.

        Also added defaultSetSelectionOptions() to abstract away the default options.

        * editing/AlternativeTextController.cpp:
        (WebCore::AlternativeTextController::respondToUnappliedSpellCorrection):
        * editing/Editor.cpp:
        (WebCore::Editor::unappliedEditing):
        (WebCore::Editor::reappliedEditing):
        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::moveTo):
        (WebCore::FrameSelection::setSelectionByMouseIfDifferent): UserTriggered | DoNotRevealSelection
        is replaced by FireSelectEvent.
        (WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance): Check options & FireSelectEvent
        instead of options & UserTriggered.
        (WebCore::FrameSelection::setSelection): Check options & RevealSelection instead of
        options & UserTriggered && !(options & DoNotRevealSelection).
        (WebCore::FrameSelection::prepareForDestruction):
        (WebCore::FrameSelection::setBase):
        (WebCore::FrameSelection::setExtent):
        (WebCore::FrameSelection::selectAll):
        (WebCore::FrameSelection::wordSelectionContainingCaretSelection):
        * editing/FrameSelection.h:
        (WebCore::FrameSelection::defaultSetSelectionOptions): Added.
        * editing/SpellingCorrectionCommand.cpp:
        (WebCore::SpellingCorrectionCommand::doApply):
        * html/HTMLTextFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::selectionChanged): Renamed the argument.
        * html/HTMLTextFormControlElement.h:

2014-02-08  Zan Dobersek  <zdobersek@igalia.com>

        Move TreeScope, IdTargetObserverRegistry to std::unique_ptr
        https://bugs.webkit.org/show_bug.cgi?id=127276

        Reviewed by Andreas Kling.

        Replace uses of OwnPtr in the TreeScope and IdTargetObserverRegistry classes with std::unique_ptr.

        * dom/IdTargetObserverRegistry.cpp:
        (WebCore::IdTargetObserverRegistry::addObserver):
        * dom/IdTargetObserverRegistry.h:
        (WebCore::IdTargetObserverRegistry::IdTargetObserverRegistry):
        * dom/TreeScope.cpp:
        (WebCore::TreeScope::TreeScope):
        (WebCore::TreeScope::destroyTreeScopeData):
        (WebCore::TreeScope::addElementById):
        (WebCore::TreeScope::addElementByName):
        (WebCore::TreeScope::addImageMap):
        (WebCore::TreeScope::labelElementForId):
        * dom/TreeScope.h:
        (WebCore::TreeScope::shouldCacheLabelsByForAttribute):

2014-02-08  Anders Carlsson  <andersca@apple.com>

        Slight CTTE in PingLoader
        https://bugs.webkit.org/show_bug.cgi?id=128462

        Reviewed by Dan Bernstein.

        PingLoader always wants a non-null frame.

        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::sendPings):
        * html/parser/XSSAuditorDelegate.cpp:
        (WebCore::XSSAuditorDelegate::didBlockScript):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::continueAfterPingLoader):
        * loader/PingLoader.cpp:
        (WebCore::PingLoader::loadImage):
        (WebCore::PingLoader::sendPing):
        (WebCore::PingLoader::sendViolationReport):
        (WebCore::PingLoader::createPingLoader):
        (WebCore::PingLoader::PingLoader):
        * loader/PingLoader.h:
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::requestImage):
        * page/ContentSecurityPolicy.cpp:
        (WebCore::ContentSecurityPolicy::reportViolation):

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

        Remove client-drawn highlights (-webkit-highlight, WebHTMLHighlighter)
        https://bugs.webkit.org/show_bug.cgi?id=128456

        Reviewed by Anders Carlsson.

        Updated fast/css/getComputedStyle and svg/css results.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::ComputedStyleExtractor::propertyValue): Removed CSSPropertyWebKitHighlight case.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue): Ditto.
        * css/CSSPropertyNames.in: Removed -webkit-highlight.
        * css/DeprecatedStyleBuilder.cpp:
        (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): Removed
        CSSPropertyWebKitHighlight handler.
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::applyProperty): Removed CSSPropertyWebKitHighlight case.
        * page/Chrome.cpp: Removed customHighlightRect and paintCustomHighlight.
        * page/ChromeClient.h: Ditto.
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint): Removed painting custom highlight.
        * rendering/InlineTextBox.h:
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlockFlow::createLineBoxesFromBidiRuns): Removed adding overflow for custom
        highlights.
        * rendering/RenderBox.cpp: Removed paintCustomHighlight.
        * rendering/RenderBox.h:
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paintReplaced): Removed painting custom highlight.
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::paint): Ditto.
        * rendering/RenderSnapshottedPlugIn.cpp:
        (WebCore::RenderSnapshottedPlugIn::paintSnapshot): Ditto.
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint): Ditto.
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::paint): Ditto.
        * rendering/RootInlineBox.h:
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::changeRequiresLayout): Removed highlight comparison.
        * rendering/style/RenderStyle.h:
        * rendering/style/StyleRareInheritedData.cpp:
        (WebCore::StyleRareInheritedData::StyleRareInheritedData): Removed initializer.
        (WebCore::StyleRareInheritedData::operator==): Removed highlight comparison.
        * rendering/style/StyleRareInheritedData.h: Removed highlight member variable.

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

        One more build fix fix.

        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
        (-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):

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

        More (and more correct) iOS build fix after r163712.

        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
        (AXAttributedStringAppendText):
        (-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
        * page/ios/FrameIOS.mm:
        (WebCore::Frame::wordsInCurrentParagraph):

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

        iOS build fix after r163712.

        * page/ios/FrameIOS.mm:
        (WebCore::Frame::indexCountOfWordPrecedingSelection):
        (WebCore::Frame::wordsInCurrentParagraph):

2014-02-08  Darin Adler  <darin@apple.com>

        Change TextIterator to use StringView, preparing to wean it from deprecatedCharacters
        https://bugs.webkit.org/show_bug.cgi?id=128233

        Reviewed by Anders Carlsson.

        * accessibility/AccessibilityNodeObject.cpp: Removed unneeded TextIterator.h include.

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::hasMisspelling): Updated to use StringView for checkSpelling.

        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
        (AXAttributeStringSetSpelling): Changed to take a StringView.
        (AXAttributedStringAppendText): Ditto.
        (-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]): Pass StringView.

        * editing/Editor.cpp:
        (WebCore::Editor::misspelledWordAtCaretOrRange): Pass StringView.
        (WebCore::Editor::misspelledSelectionString): Ditto.
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto.

        * editing/TextCheckingHelper.cpp:
        (WebCore::findGrammaticalErrors): Renamed this function. Changed to use StringView.
        (WebCore::findMisspellings): Use StringView.
        (WebCore::TextCheckingHelper::findFirstMisspelling): Ditto. Also separated out assertions
        that were asserting multiple things with &&.
        (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar): Ditto.
        (WebCore::TextCheckingHelper::findFirstGrammarDetail): Ditto.
        (WebCore::TextCheckingHelper::findFirstBadGrammar): Ditto.
        (WebCore::TextCheckingHelper::isUngrammatical): Ditto.
        (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): Ditto.
        (WebCore::checkTextOfParagraph): Ditto.

        * editing/TextCheckingHelper.h: Made TextCheckingParagraph::text public. Deleted
        TextCheckingParagraph::textDeprecatedCharacters. Added comments about additional
        TextCheckingParagraph refinements. Changed checkTextOfParagraph to take a client
        reference instead of pointer and StringView instead of characters pointer with length.

        * editing/TextIterator.cpp:
        (WebCore::TextIterator::appendTextToStringBuilder): Use data members directly,
        rather than using functions, since we already checked m_textCharacters for null.
        (WebCore::CharacterIterator::string): Use text() instead of characters().
        (WebCore::WordAwareIterator::WordAwareIterator): Removed initialization of
        m_previousText now that it's a StringView rather than a pointer.
        (WebCore::WordAwareIterator::advance): Use TextIterator::text instead of
        TextIterator::characters. Also added a FIXME about a fundamental problem
        with the implementation of this class!
        (WebCore::WordAwareIterator::length): Updated for m_previousText change.
        (WebCore::WordAwareIterator::text): Replaced WordAwareIterator::characters with this.
        (WebCore::SearchBuffer::append): Changed to take a StringView.
        (WebCore::SearchBuffer::prependContext): Ditto.
        (WebCore::SearchBuffer::isWordStartMatch): Use StringView.
        (WebCore::SearchBuffer::search): Ditto.
        (WebCore::findPlainText): Ditto.

        * editing/TextIterator.h: Added TextIterator::text that returns a StringView, and
        renamed TextIterator::characters to TextIterator::deprecatedTextIteratorCharacters
        (easy to search for in source code). Added SimplifiedBackwardsTextIterator::text
        and removed SimplifiedBackwardsTextIterator::characters. Added CharacterIterator::text,
        and removed CharacterIterator::characters. Added WordAwareIterator::text and removed
        WorkdAwareIterator::characters. Changed WordAwareIterator data members to use StringView.

        * editing/VisibleSelection.cpp:
        (WebCore::VisibleSelection::appendTrailingWhitespace): Use TextIterator::text instead
        of TextIterator::characters.

        * editing/VisibleUnits.cpp:
        (WebCore::previousBoundary): Updated to use StringView.
        (WebCore::nextBoundary): Ditto.
        (WebCore::startWordBoundary): Ditto.
        (WebCore::startOfWord): Ditto.
        (WebCore::endWordBoundary): Ditto.
        (WebCore::endOfWord): Fixed formatting.
        (WebCore::previousWordPositionBoundary): Updated to use StringView.
        (WebCore::previousWordPosition): Fixed formatting and got rid of local variable.
        (WebCore::nextWordPositionBoundary): Updated to use StringView.
        (WebCore::nextWordPosition): Fixed formatting and got rid of local variable.
        (WebCore::inSameLine): Fixed formatting.
        (WebCore::isStartOfLine): Ditto.
        (WebCore::isEndOfLine): Ditto.
        (WebCore::absoluteLineDirectionPointToLocalPointInBlock): Changed to take a reference.
        (WebCore::previousLinePosition): Fixed formatting chand changed to pass a reference.
        (WebCore::nextLinePosition): Ditto.
        (WebCore::startSentenceBoundary): Updated to use StringView and got rid of a local.
        (WebCore::startOfSentence): Fixed formatting.
        (WebCore::endSentenceBoundary): Updated to use StringView and got rid of a local.
        (WebCore::endOfSentence): Fixed formatting.
        (WebCore::previousSentencePositionBoundary): Updated to use StringView and got rid of
        a local.
        (WebCore::previousSentencePosition): Ditto.
        (WebCore::nextSentencePositionBoundary): Ditto.
        (WebCore::nextSentencePosition): Fixed formatting.
        (WebCore::endOfParagraph): Ditto.
        (WebCore::inSameParagraph): Ditto.
        (WebCore::isStartOfParagraph): Ditto.
        (WebCore::isEndOfParagraph): Ditto.
        (WebCore::inSameBlock): Ditto.
        (WebCore::isStartOfBlock): Ditto.
        (WebCore::isEndOfBlock): Ditto.
        (WebCore::startOfDocument): Ditto.
        (WebCore::endOfDocument): Ditto.
        (WebCore::inSameDocument): Ditto.
        (WebCore::isStartOfDocument): Ditto.
        (WebCore::isEndOfDocument): Ditto.
        (WebCore::isEndOfEditableOrNonEditableContent): Ditto.

        * loader/EmptyClients.h: Use StringView.

        * platform/mac/HTMLConverter.mm:
        (+[WebHTMLConverter editingAttributedStringFromRange:]): Use StringView.

        * platform/text/TextBoundaries.cpp:
        (WebCore::endOfFirstWordBoundaryContext): Use StringView and unsigned.
        (WebCore::startOfLastWordBoundaryContext): Ditto.

        * platform/text/TextBoundaries.h: Change interfaces to use StringView,
        and in some cases, unsigned instead of int. All call sites were better off
        with unsigned.

        * platform/text/TextCheckerClient.h: Use StringView.

        * platform/text/mac/TextBoundaries.mm: Changed conditionals to say
        USE(APPKIT) instead of PLATFORM(IOS), since that's the real issue.
        (WebCore::isSkipCharacter): Tweaked formatting.
        (WebCore::isWhitespaceCharacter): Ditto.
        (WebCore::isWordDelimitingCharacter): Ditto, also removed local variable.
        (WebCore::isSymbolCharacter): Ditto.
        (WebCore::tokenizerForString): Ditto.
        (WebCore::findSimpleWordBoundary): Use StringView. Also changed to mostly
        use unsigned instead of int.
        (WebCore::findComplexWordBoundary): Use StringView. Also restructured to
        be much more readable, with early returns and such.
        (WebCore::findWordBoundary): Use StringView and unsigned.
        (WebCore::findEndWordBoundary): Removed redudant copy of the findWordBoundary
        function and changed this to just call findWordBoundary. The reason this
        function exists is to optimize this case for some non-Mac, non-iOS platforms.
        We can always do that for Mac and/or iOS later if we like.
        (WebCore::findNextWordFromIndex): Use StringView. Also use wordBreakIterator
        instead of using UBreakIterator directly so we get a cached iterator instead
        of creating and destroying a new one each time this function is called.

        * bindings/objc/DOMUIKitExtensions.mm: Removed unneeded includes.
        * dom/Element.cpp: Ditto.
        * dom/PositionIterator.cpp: Ditto.
        * editing/ApplyBlockElementCommand.cpp: Ditto.
        * editing/IndentOutdentCommand.cpp: Ditto.
        * editing/InsertListCommand.cpp: Ditto.
        * editing/markup.cpp: Ditto.
        * html/HTMLElement.cpp: Ditto.
        * html/HTMLTextAreaElement.cpp: Ditto.
        * page/Frame.cpp: Ditto.
        * rendering/RenderTextControl.cpp: Ditto.

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

        Remove two unused function declarations.

        Scrub "highQualityRepaintTimerFired" declarations from RenderImage
        and RenderBoxModelObject since they're not actually defined.

        * rendering/RenderBoxModelObject.h:
        * rendering/RenderImage.h:

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

        CTTE: SVGTRefTargetEventListener is always owned by SVGTRefElement.
        <https://webkit.org/b/128432>

        Tighten up the relationship between SVGTRefElement and its internal
        event listener helper by storing the listener in a Ref, and making
        the listeners backpointer to the element be a reference.

        Reviewed by Anders Carlsson.

        * svg/SVGTRefElement.cpp:
        (WebCore::SVGTRefTargetEventListener::create):
        (WebCore::SVGTRefTargetEventListener::SVGTRefTargetEventListener):
        (WebCore::SVGTRefTargetEventListener::operator==):
        (WebCore::SVGTRefTargetEventListener::handleEvent):
        (WebCore::SVGTRefElement::SVGTRefElement):
        * svg/SVGTRefElement.h:

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

        Devirtualize RenderBlockFlowRareData.
        <https://webkit.org/b/128427>

        This class had a virtual destructor for no reason. Removing it
        shrinks RenderBlockFlowRareData by 8 bytes.

        Reviewed by Anders Carlsson.

        * rendering/RenderBlockFlow.h:
        (WebCore::RenderBlockFlow::RenderBlockFlowRareData::~RenderBlockFlowRareData):

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

        Use renderer iterators in two more places.
        <https://webkit.org/b/128371>

        Reviewed by Antti Koivisto.

        * dom/Position.cpp:
        (WebCore::Position::primaryDirection):

            Use lineageOfType instead of walking the parent chain.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::insertOnlyThisLayer):

            Use childrenOfType instead of walking the children.

2014-02-07  David Kilzer  <ddkilzer@apple.com>

        [ASan] Use new/delete in PODFreeListArena
        <http://webkit.org/b/128437>

        Reviewed by Oliver Hunt.

        * platform/PODFreeListArena.h:
        (WebCore::PODFreeListArena::allocateObject): Use new when
        ADDRESS_SANITIZER is defined.
        (WebCore::PODFreeListArena::freeObject): Use delete when
        ADDRESS_SANITIZER is defined.

2014-02-07  Ryosuke Niwa  <rniwa@webkit.org>

        Merge updateSelectionCachesIfSelectionIsInsideTextFormControl into setSelectionWithoutUpdatingAppearance
        https://bugs.webkit.org/show_bug.cgi?id=128439

        Reviewed by Anders Carlsson.

        FrameSelection::selectAll had a superfluous call to updateSelectionCachesIfSelectionIsInsideTextFormControl
        because it wasn't setting UserTriggered option to avoid revealing selection.

        Call setSelection with UserTriggered and recently added DoNotRevealSelection option and merge
        updateSelectionCachesIfSelectionIsInsideTextFormControl into setSelectionWithoutUpdatingAppearance.

        Also rename local variables in setSelectionWithoutUpdatingAppearance, newSelection to
        newSelectionPossiblyWithoutDirection and s to newSelection so that they're self explanatory.

        In addition, we now update the input element's selection caches before calling
        selectFrameElementInParentIfFullySelected but this should be fine because selection cannot simultaneously
        select the entire document and be inside a text form control.

        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance):
        (WebCore::FrameSelection::selectAll):

2014-02-07  Ryosuke Niwa  <rniwa@webkit.org>

        EFL build fix attempt after r163662.

        * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
        (WebCore::IDBLevelDBCoding::encodeIDBKey):

2014-02-07  Ryosuke Niwa  <rniwa@webkit.org>

        FrameSelection's destructor shouldn't notify accessibility
        https://bugs.webkit.org/show_bug.cgi?id=128421

        Reviewed by Benjamin Poulain.

        Extracted setSelectionWithoutUpdatingAppearance out of setSelection and called it in prepareForDestruction
        instead of setting DoNotUpdateAppearance option. This new function doesn't reveal selection or notify
        accessibility code in addition to not updating appearance.

        Note that all implementations of notifyAccessibilityForSelectionChange in FrameSelectionAtk.cpp and
        FrameSelectionMac.mm exit early when the selection type is not caret or either start or end is null,
        which is already the case inside FrameSelection's destructor. In addition, revealSelection is never called
        when selection change was not triggered by user so there should be no behavioral change from this patch.

        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance):
        (WebCore::FrameSelection::setSelection):
        (WebCore::FrameSelection::prepareForDestruction):
        * editing/FrameSelection.h:
        (WebCore::FrameSelection::notifyAccessibilityForSelectionChange): Added the trivial implementation in the case
        accessibility is disabled to tidy up call sites.

2014-02-07  Martin Robinson  <mrobinson@igalia.com>

        Build fix for the GTK+ CMake build

        * PlatformGTK.cmake: VTTCue.idl was unintentionally added to the list of GObject DOM bindings
        output files. Remove it.

2014-02-07  Dirk Schulze  <krit@webkit.org>

        Per CSSOM, computed rect() function values must be comma separated
        https://bugs.webkit.org/show_bug.cgi?id=128401

        Reviewed by Simon Fraser.

        Updated tests.

        * css/Rect.h:
        (WebCore::Rect::generateCSSString):

2014-02-07  Gavin Barraclough  <barraclough@apple.com>

        Remove isInitialState flag from Page::setViewState
        https://bugs.webkit.org/show_bug.cgi?id=128428

        Reviewed by Sam Weinig.

        * WebCore.exp.in:
            - removed isInitialState.
        * page/Page.cpp:
        (WebCore::Page::setViewState):
            - removed isInitialState.
        (WebCore::Page::setIsVisible):
            - removed isInitialState.
        (WebCore::Page::setIsVisibleInternal):
            - removed isInitialState.
        * page/Page.h:
            - removed isInitialState.

2014-02-07  Simon Fraser  <simon.fraser@apple.com>

        Encode requestedScrollPosition on ScrollingStateScrollingNodes to send to the UI process
        https://bugs.webkit.org/show_bug.cgi?id=128416

        Reviewed by Tim Horton.
        
        Change requestedScrollPosition() to be a FloatPoint, and export
        ScrollingStateScrollingNode::setRequestedScrollPosition(WebCore::FloatPoint const&, bool)
        for WK2.

        * WebCore.exp.in:
        * page/scrolling/ScrollingStateScrollingNode.cpp:
        (WebCore::ScrollingStateScrollingNode::setRequestedScrollPosition):
        * page/scrolling/ScrollingStateScrollingNode.h:

2014-02-07  Beth Dakin  <bdakin@apple.com>

        Should get rid of TileController's CoverageForSlowScrolling mode
        https://bugs.webkit.org/show_bug.cgi?id=128339

        Reviewed by Simon Fraser.

        This patch gets rid of CoverageForSlowScrolling in the TileController. It also 
        makes sure that margin tiles are properly invalidated on pages with slow repaint 
        objects that cause slow scrolling. 

        When we invalidate because of slow scrolling, don’t clip the update rect to the 
        layer bounds.
        * page/FrameView.cpp:
        (WebCore::FrameView::scrollContentsSlowPath):

        Call new RenderObject paint function repaintSlowRepaintObject() instead of the 
        more-generic repaint().
        (WebCore::FrameView::repaintSlowRepaintObjects):

        Remove CoverageForSlowScrolling.
        * platform/graphics/TiledBacking.h:
        * platform/graphics/ca/mac/TileController.h:
        * platform/graphics/ca/mac/TileController.mm:
        (WebCore::TileController::tilesWouldChangeForVisibleRect):
        (WebCore::TileController::computeTileCoverageRect):
        (WebCore::TileController::revalidateTiles):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::computeTileCoverage):

        Handle repainting a slow repaint object. Don’t clip when we shouldn’t, use the 
        RenderView’s backgroundRect as a repaintRect when this is the root background 
        since that will take the extended background rect into consideration.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::repaintSlowRepaintObject):
        * rendering/RenderObject.h:

2014-02-06  Filip Pizlo  <fpizlo@apple.com>

        More FTL build scaffolding
        https://bugs.webkit.org/show_bug.cgi?id=128330

        Reviewed by Geoffrey Garen.

        The FTL already has tests.

        * Configurations/FeatureDefines.xcconfig:

2014-02-07  Alexey Proskuryakov  <ap@apple.com>

        Remove some unused functions from SerializedScriptValue
        https://bugs.webkit.org/show_bug.cgi?id=128407

        Reviewed by Anders Carlsson.

        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::SerializedScriptValue::undefinedValue):
        (WebCore::SerializedScriptValue::nullValue):
        * bindings/js/SerializedScriptValue.h:

2014-02-07  Brady Eidson  <beidson@apple.com>

        IDB: Some Mozilla cursor mutation tests fail
        <rdar://problem/16011680> and https://bugs.webkit.org/show_bug.cgi?id=128374

        Reviewed by Sam Weinig.

        Tested by:
        storage/indexeddb/mozilla/cursor-mutation-objectstore-only.html
        storage/indexeddb/mozilla/cursor-mutation.html

        The previous comment about LevelDB was wrong.
        Apparently calling onSuccess() with a null SharedBuffer means the cursor reached the end.
        Update to distinguish between an error and reaching the end:
        * Modules/indexeddb/IDBCursorBackendOperations.cpp:
        (WebCore::CursorAdvanceOperation::perform):
        (WebCore::CursorIterationOperation::perform):
 
        Add a new IDBKey type - Maximum - To be used in comparisons between keys.
        This will allow the DatabaseProcess to operate on the range of all keys:
        * Modules/indexeddb/IDBKey.cpp:
        (WebCore::IDBKey::compare):
        * Modules/indexeddb/IDBKey.h:

        * Modules/indexeddb/IDBKeyData.cpp:
        (WebCore::IDBKeyData::IDBKeyData):
        (WebCore::IDBKeyData::maybeCreateIDBKey):
        (WebCore::IDBKeyData::isolatedCopy):
        (WebCore::IDBKeyData::encode):
        (WebCore::IDBKeyData::decode):
        (WebCore::IDBKeyData::compare):
        (WebCore::IDBKeyData::loggingString):
        * Modules/indexeddb/IDBKeyData.h:
        (WebCore::IDBKeyData::minimum):
        (WebCore::IDBKeyData::maximum):

        * bindings/js/IDBBindingUtilities.cpp:
        (WebCore::idbKeyToJSValue):

        Remove an unused callback:
        * Modules/indexeddb/IDBCallbacks.h:
        * Modules/indexeddb/IDBRequest.h:

2014-02-07  Roger Fong  <roger_fong@apple.com>

        CGContextGetUserSpaceToDeviceSpaceTransform returns the wrong value on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=128395.
        
        Rubberstamped by Zalan Bujtas.

        The call essentially returns 0 and causes an assertion failure when running many layout tests.

        * platform/graphics/cg/GraphicsContextCG.cpp: Don't make the call on Windows. We default to 1.
        (WebCore::GraphicsContext::platformInit):

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

        iOS build fix.

        * platform/PlatformKeyboardEvent.h: Fixed a typo.

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

        Stop using PLATFORM(MAC) in WebCore/platform except where it means “OS X but not iOS”
        https://bugs.webkit.org/show_bug.cgi?id=128404

        Reviewed by Anders Carlsson.

        * Configurations/WebCore.xcconfig: Removed KeyEventMac.mm from
        EXCLUDED_SOURCE_FILE_NAMES_iphoneos, because that file contains !PLATFORM(IOS) guards.
        Removed WheelEventMac.mm from the same definition, because that file no longer exists.
        * platform/ContentFilter.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        * platform/ContextMenu.h: Ditto.
        * platform/ContextMenuItem.h: Ditto.
        * platform/Cursor.cpp: Ditto.
        * platform/Cursor.h: Ditto.
        * platform/DragData.cpp: Ditto.
        * platform/DragImage.cpp: Ditto.
        * platform/Language.cpp:
        (WebCore::displayNameForLanguageLocale): Changed PLATFORM(MAC) to USE(CF) && !PLATFORM(WIN).
        * platform/LocalizedStrings.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        (WebCore::contextMenuItemTagSearchWeb):
        * platform/LocalizedStrings.h: Ditto.
        * platform/MIMETypeRegistry.cpp: Ditto.
        (WebCore::initializeSupportedImageMIMETypesForEncoding):
        * platform/PasteboardStrategy.h: Ditto.
        * platform/PlatformKeyboardEvent.h: Ditto.
        * platform/PlatformMenuDescription.h: Ditto.
        * platform/PlatformSpeechSynthesizer.h: Ditto.
        * platform/PlatformWheelEvent.h: Ditto.
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
        * platform/SchemeRegistry.cpp: Ditto.
        (WebCore::localURLSchemes):
        (WebCore::SchemeRegistry::removeURLSchemeRegisteredAsLocal):
        (WebCore::SchemeRegistry::shouldCacheResponsesFromURLSchemeIndefinitely):
        * platform/ScrollAnimator.cpp: Ditto.
        (WebCore::ScrollAnimator::handleWheelEvent):
        * platform/ScrollAnimator.h: Ditto.
        * platform/ScrollView.cpp: Ditto.
        * platform/ScrollView.h: Ditto.
        * platform/ScrollbarThemeComposite.h: Ditto.
        * platform/SharedBuffer.h: Changed PLATFORM(MAC) to USE(FOUNDATION) around NSData-related
        code.
        * platform/URL.h: Changed PLATFORM(MAC) to USE(FOUNDATION) around NSURL-related code.
        * platform/Widget.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        * platform/Widget.h: Ditto.
        * platform/audio/AudioSession.cpp: Changed !PLATFORM(MAC) && !PLATFORM(IOS) to
        !PLATFORM(COCOA).
        * platform/audio/HRTFElevation.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        * platform/audio/MediaSessionManager.cpp: Ditto.
        * platform/audio/mac/AudioSessionMac.cpp: Updated comment.
        * platform/audio/mac/MediaSessionManagerMac.cpp: Removed PLATFORM(MAC) from Cocoa-only file.
        * platform/cf/SharedBufferCF.cpp: Changed !PLATFORM(MAC) to !USE(FOUNDATION) and updated
        comment.
        * platform/cf/URLCF.cpp: Changed !PLATFORM(MAC) to !USE(FOUNDATION).
        * platform/graphics/BitmapImage.h: Changed one instance of PLATFORM(MAC) to
        USE(CG) || USE(APPKIT), and another to PLATFORM(COCOA).
        * platform/graphics/DisplayRefreshMonitor.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor):
        * platform/graphics/DisplayRefreshMonitor.h: Ditto.
        * platform/graphics/FloatPoint.h: Collapsed nested #ifs into a single #if.
        * platform/graphics/FloatRect.h: Ditto.
        * platform/graphics/FloatSize.h: Ditto.
        * platform/graphics/Font.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        * platform/graphics/Font.h: Ditto.
        * platform/graphics/FontCache.cpp: Ditto.
        (WebCore::FontCache::getFontData):
        * platform/graphics/FontCache.h: Ditto. Also removed redundant friend class declaration.
        * platform/graphics/FontGlyphs.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        (WebCore::FontGlyphs::glyphDataAndPageForCharacter):
        * platform/graphics/GlyphPage.h: Ditto.
        * platform/graphics/GraphicsContext3D.h: Ditto.
        * platform/graphics/Image.h: Changed PLATFORM(MAC) to USE(APPKIT) around use of NSImage.
        Changed another PLATFORM(MAC) to PLATFORM(COCOA).
        * platform/graphics/IntRect.h: Collapsed nested #ifs into a single #if.
        * platform/graphics/IntSize.h: Ditto.
        * platform/graphics/MediaPlayer.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        (WebCore::installedMediaEngines):
        (WebCore::MediaPlayer::supportsType):
        * platform/graphics/SimpleFontData.cpp: Ditto.
        (WebCore::SimpleFontData::nonSyntheticItalicFontData):
        (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):
        * platform/graphics/SimpleFontData.h: Ditto.
        * platform/graphics/TiledBacking.h: Ditto.
        * platform/graphics/ca/GraphicsLayerCA.cpp: Ditto.
        (WebCore::GraphicsLayerCA::filtersCanBeComposited):
        (WebCore::GraphicsLayerCA::createPlatformCALayer):
        * platform/graphics/ca/LayerFlushScheduler.h: Ditto.
        * platform/graphics/ca/PlatformCAAnimation.h: Ditto.
        * platform/graphics/ca/PlatformCAFilters.h: Ditto.
        * platform/graphics/ca/PlatformCALayer.h: Ditto.
        * platform/graphics/cg/BitmapImageCG.cpp: Ditto.
        * platform/graphics/cg/GraphicsContextCG.cpp: Ditto.
        (WebCore::GraphicsContext::setAllowsFontSmoothing):
        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: Ditto.
        * platform/graphics/cg/ImageBufferCG.cpp: Ditto.
        * platform/graphics/cg/ImageBufferDataCG.h: Ditto.
        * platform/graphics/cg/ImageCG.cpp: Ditto.
        * platform/graphics/cg/ImageSourceCG.cpp: Ditto.
        (WebCore::ImageSource::setData):
        * platform/graphics/cg/ImageSourceCG.h: Ditto.
        * platform/graphics/cg/PathCG.cpp: Ditto.
        (WebCore::Path::platformAddPathForRoundedRect):
        * platform/graphics/cg/PatternCG.cpp: Ditto.
        * platform/graphics/gpu/DrawingBuffer.h: Ditto.
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivateQTKit::createQTMovieView): Removed PLATFORM(MAC) guards, since
        this file is only used on Mac and iOS.
        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
        (WebCore::Extensions3DOpenGL::supportsExtension): Changed the GL_EXT_draw_buffers check to
        match the implementation.
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Changed PLATFORM(MAC) to
        PLATFORM(COCOA).
        * platform/mac/KeyEventMac.mm: Added !PLATFORM(IOS).
        * platform/mac/PlatformEventFactoryMac.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        * platform/mac/WebCoreSystemInterface.h: Ditto. Removed redundant check for PLATFORM(MAC).
        * platform/mac/WebCoreSystemInterface.mm: Removed redundant check for PLATFORM(MAC).
        * platform/network/Credential.h: Changed PLATFORM(IOS) || PLATFORM(MAC) to PLATFORM(COCOA).
        * platform/network/NetworkStateNotifier.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        * platform/network/NetworkStorageSession.h: Ditto.
        * platform/network/NetworkingContext.h: Ditto.
        * platform/network/ProtectionSpace.cpp: Ditto.
        (WebCore::ProtectionSpace::receivesCredentialSecurely):
        * platform/network/ResourceHandle.cpp: Ditto.
        (WebCore::ResourceHandle::clearAuthentication):
        (WebCore::ResourceHandle::shouldContentSniffURL):
        * platform/network/ResourceHandle.h: Ditto.
        * platform/network/ResourceHandleClient.cpp: Ditto.
        * platform/network/ResourceHandleClient.h: Ditto.
        * platform/network/ResourceHandleInternal.h: Ditto.
        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
        * platform/network/ResourceRequestBase.cpp: Ditto.
        * platform/network/cf/AuthenticationCF.h: Ditto.
        * platform/network/cf/CookieStorageCFNet.cpp: Ditto.
        * platform/network/cf/CredentialStorageCFNet.cpp: Ditto.
        * platform/network/cf/FormDataStreamCFNet.cpp: Ditto.
        * platform/network/cf/NetworkStorageSessionCFNet.cpp: Ditto.
        (WebCore::NetworkStorageSession::switchToNewTestingSession):
        (WebCore::NetworkStorageSession::createPrivateBrowsingSession):
        * platform/network/cf/ResourceError.h: Ditto.
        * platform/network/cf/ResourceHandleCFNet.cpp: Ditto.
        (WebCore::ResourceHandle::createCFURLConnection):
        * platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp:
        * platform/network/cf/ResourceRequest.h: Ditto.
        (WebCore::ResourceRequest::ResourceRequest):
        * platform/network/cf/ResourceRequestCFNet.cpp: Ditto.
        (WebCore::ResourceRequest::doUpdatePlatformRequest):
        (WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
        (WebCore::ResourceRequest::setStorageSession):
        * platform/network/cf/ResourceResponse.h: Ditto.
        * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:
        (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveResponse):
        * platform/network/mac/ResourceResponseMac.mm: Ditto.
        * platform/posix/FileSystemPOSIX.cpp: Changed PLATFORM(MAC) to OS(DARWIN) &&
        !PLATFORM(EFL) && !PLATFORM(GTK).
        * platform/text/TextBoundaries.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).

2014-02-07  Ryosuke Niwa  <rniwa@webkit.org>

        Revert r154384 and r154674 as they broke selection rect computations for text with ligatures.

        * platform/graphics/Font.cpp:
        (WebCore::Font::drawText):
        (WebCore::Font::drawEmphasisMarks):
        (WebCore::Font::selectionRectForText):
        (WebCore::Font::offsetForPosition):
        * platform/graphics/FontFastPath.cpp:
        (WebCore::Font::getGlyphsAndAdvancesForSimpleText):
        (WebCore::Font::selectionRectForSimpleText):
        (WebCore::Font::offsetForPositionForSimpleText):
        * platform/graphics/GlyphBuffer.h:
        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::WidthIterator):
        (WebCore::WidthIterator::advanceInternal):
        (WebCore::WidthIterator::advanceOneCharacter):
        * platform/graphics/WidthIterator.h:

2014-02-07  Benjamin Poulain  <bpoulain@apple.com>

        [WK2] Add support for text document viewport configuration
        https://bugs.webkit.org/show_bug.cgi?id=128359

        Reviewed by Simon Fraser.

        Define a set of ViewportParameters suitable for displaying text documents.
        Add a documents class for text document to differentiate them from other type of documents.

        * WebCore.exp.in:
        * dom/Document.h:
        (WebCore::Document::isTextDocument):
        * html/TextDocument.cpp:
        (WebCore::TextDocument::TextDocument):
        * page/ViewportConfiguration.cpp:
        (WebCore::ViewportConfiguration::ViewportConfiguration):
        (WebCore::ViewportConfiguration::webpageParameters):
        (WebCore::ViewportConfiguration::plainTextParameters):
        * page/ViewportConfiguration.h:

2014-02-07  Bem Jones-Bey  <bjonesbe@adobe.com>

        FloatingObject::unsafeClone should not copy m_originatingLine
        https://bugs.webkit.org/show_bug.cgi?id=128381

        Reviewed by Andreas Kling.

        Copying the originatingLine allows to break the invariant that the
        floating object must only contain lines that are owned by the renderer
        it is attached to.

        * rendering/FloatingObjects.cpp:
        (WebCore::FloatingObject::unsafeClone):

2014-02-07  Brendan Long  <b.long@cablelabs.com>

        Update TextTrack API to current spec
        https://bugs.webkit.org/show_bug.cgi?id=122218

        Refactoring VTTCue out of TextTrackCue.

        Reviewed by Eric Carlson.

        Test: media/track/track-vttcue.html

        * CMakeLists.txt: Add VTTCue and rename RenderTextTrackCue to RenderVTTCue.
        * DerivedSources.cpp: Same.
        * DerivedSources.make: Same.
        * GNUmakefile.list.am: Same.
        * PlatformGTK.cmake:  Same.
        * WebCore.vcxproj/WebCore.vcxproj: Same.
        * WebCore.vcxproj/WebCore.vcxproj.filters: Same.
        * WebCore.xcodeproj/project.pbxproj: Same.
        * bindings/js/JSTextTrackCueCustom.cpp:
        (WebCore::toJS): Use VTTCue DOM wrapper for VTTCue and its subclasses.
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Convert to VTTCue as needed.
        (WebCore::HTMLMediaElement::textTrackRemoveCue): Same.
        * html/HTMLMediaElement.h: Only print cue.text in debug output if the cue type has a .text attribute
        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Convert to VTTCue as needed, and fix TextTrackCueBox to VTTCueBox.
        (WebCore::MediaControlTextTrackContainerElement::updateTimerFired): Convert to VTTCue as needed.
        * html/track/InbandGenericTextTrack.cpp:
        (WebCore::InbandGenericTextTrack::addGenericCue): Use refactored VTTCue attributes.
        * html/track/InbandWebVTTTextTrack.cpp:
        (WebCore::InbandWebVTTTextTrack::newCuesParsed): Use VTTCue's constructor instead of deprecated TextTrackCue constructor.
        * html/track/TextTrack.cpp:
        (WebCore::TextTrack::setMode): Convert to VTTCue as needed.
        (WebCore::TextTrack::hasCue): Make this function only accept VTTCues, since it's only used for them anyway, and convert existing cues to VTTCues as needed.
        * html/track/TextTrack.h: Same as hasCue above.
        * html/track/TextTrackCue.cpp: Refactor a lot of code out. Everything that was removed went to VTTCue.cpp.
        (WebCore::TextTrackCue::create): For backwards compatibility, just call VTTCue::create().
        (WebCore::TextTrackCue::TextTrackCue): Refactor a lot of code out.
        (WebCore::TextTrackCue::~TextTrackCue): Same.
        (WebCore::TextTrackCue::didChange): Same.
        (WebCore::TextTrackCue::setIsActive): Same.
        * html/track/TextTrackCue.h: Same.
        * html/track/TextTrackCue.idl: Remove VTTCue attributes and add custom toJS function.
        * html/track/TextTrackCueGeneric.cpp: Use VTTCue instead of TextTrackCue.
        * html/track/TextTrackCueGeneric.h: Same.
        * html/track/VTTCue.cpp: Copied from Source/WebCore/html/track/TextTrackCue.cpp.
        * html/track/VTTCue.h: Copied from Source/WebCore/html/track/TextTrackCue.h.
        * html/track/VTTCue.idl: Copied from Source/WebCore/html/track/TextTrackCue.idl.
        * loader/TextTrackLoader.cpp:
        (WebCore::TextTrackLoader::getNewCues): Use VTTCue instead of TextTrackCue.
        * page/CaptionUserPreferencesMediaAF.cpp:
        (WebCore::CaptionUserPreferencesMediaAF::captionsStyleSheetOverride): Use VTTCueBox instead of TextTrackCueBox.
        * rendering/RenderVTTCue.cpp: Renamed from Source/WebCore/rendering/RenderTextTrackCue.cpp. Changed to use VTTCue instead of TextTrackCue.
        * rendering/RenderVTTCue.h: Renamed from Source/WebCore/rendering/RenderTextTrackCue.h. Changed to use VTTCue instead of TextTrackCue.
        * rendering/RenderingAllInOne.cpp: Rename RenderTextTrackCue to RenderVTTCue.

2014-02-07  Gavin Barraclough  <barraclough@apple.com>

        Should report user input to PageThrottler
        https://bugs.webkit.org/show_bug.cgi?id=128398

        Reviewed by Tim Horton.

        Make sure we wake from AppNap if there is user interaction.

        * page/PageThrottler.h:
        (WebCore::PageThrottler::didReceiveUserInput):
        (WebCore::PageThrottler::pluginDidEvaluate):
            - added, these call reportInterestingEvent()

2014-02-07  Jer Noble  <jer.noble@apple.com>

        Unreviewed build fix for 32-bit iOS.

        Use magic ? values to allow the exported symbol to be different on 32- and 64-bit builds.

        * WebCore.exp.in:

2014-02-07  Anders Carlsson  <andersca@apple.com>

        Convert ProgressTracker to std::chrono
        https://bugs.webkit.org/show_bug.cgi?id=128377

        Reviewed by Andreas Kling.

        * loader/ProgressTracker.cpp:
        (WebCore::ProgressTracker::ProgressTracker):
        (WebCore::ProgressTracker::reset):
        (WebCore::ProgressTracker::progressStarted):
        (WebCore::ProgressTracker::finalProgressComplete):
        (WebCore::ProgressTracker::incrementProgress):
        * loader/ProgressTracker.h:

2014-02-07  Alexey Proskuryakov  <ap@apple.com>

        32-bit build fix.

        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
        (accessibilitySelectTextCriteriaForCriteriaParameterizedAttribute):

2014-02-07  Mihai Tica  <mitica@adobe.com>

        [CSS Background Blending] Unprefix the -webkit-background-blend-mode property

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

        Reviewed by Dean Jackson.

        This patch consist of unprefixing the -webkit-background-blend-mode.
        The property now changes to background-blend-mode.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::ComputedStyleExtractor::propertyValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseFillProperty):
        * css/CSSPropertyNames.in:
        * css/DeprecatedStyleBuilder.cpp:
        (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):

2014-02-07  Samuel White  <samuel_white@apple.com>

        AX: Find and select text with respect to insertion point using accessibility API.
        https://bugs.webkit.org/show_bug.cgi?id=128026

        Reviewed by Chris Fleizach.

        Added facilities to support semi-ambiguous text selection through the accessibility API. All
        requests are handled with respect to the current selection. The requests are disambiguated in
        WebCore using passed parameters such as: SelectStringAfterSelection , ..Before.., ..ClosestTo...,
        etc. Callers can also supply an array of strings to select and the closest that matches the
        disambiguation criteria will be used.

        Test: platform/mac/accessibility/select-text.html

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::rangeClosestToRange):
        (WebCore::AccessibilityObject::rangeOfStringClosestToRangeInDirection):
        (WebCore::AccessibilityObject::selectionRange):
        (WebCore::AccessibilityObject::selectText):
        (WebCore::AccessibilityObject::frame):
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilitySelectTextCriteria::AccessibilitySelectTextCriteria):
        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
        (accessibilitySelectTextCriteriaForCriteriaParameterizedAttribute):
        (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
        * dom/Position.cpp:
        (WebCore::Position::positionCountBetweenPositions):
        * dom/Position.h:

2014-02-07  Bem Jones-Bey  <bjonesbe@adobe.com>

        FloatingObject m_paginationStrut should be LayoutUnit
        https://bugs.webkit.org/show_bug.cgi?id=119808

        Reviewed by Andreas Kling.

        Make the paginationStrut in FloatingObject have the same type as all
        of the other paginationStruts in the code.

        * rendering/FloatingObjects.h:
        (WebCore::FloatingObject::paginationStrut):
        (WebCore::FloatingObject::setPaginationStrut):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlockFlow::positionNewFloatOnLine):

2014-02-06  Brady Eidson  <beidson@apple.com>

        IDB: storage/indexeddb/create-index-with-integer-keys.html fails
        <rdar://problem/16002857> and https://bugs.webkit.org/show_bug.cgi?id=128316

        Reviewed by Geoff Garen.

        Tested by storage/indexeddb/create-index-with-integer-keys.html (and probably some others)

        * Modules/indexeddb/IDBCursor.cpp:
        (WebCore::IDBCursor::update): Update createIDBKeyFromScriptValueAndKeyPath usage.
        (WebCore::IDBCursor::setValueReady): Update createIDBKeyFromScriptValueAndKeyPath usage.

        * Modules/indexeddb/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::put): Update usage of binding utilities.

        * Modules/indexeddb/IDBRequest.cpp:
        (WebCore::IDBRequest::onSuccess): Update createIDBKeyFromScriptValueAndKeyPath usage.

        * bindings/js/IDBBindingUtilities.cpp:
        (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath):
        (WebCore::createIDBKeyFromScriptValueAndKeyPath): Changed to take an ExecState*.
        (WebCore::deserializeIDBValueBuffer): Added new version that starts with ExecState* and Vector<uint8_t>
          instead of RequestState and SharedBuffer.
        (WebCore::generateIndexKeysForValue): Moved from IDBObjectStore.cpp and changed to take an ExecState*
        * bindings/js/IDBBindingUtilities.h:

        Added new blob fetcher that works with uint8_t buffers:
        * platform/sql/SQLiteStatement.cpp:
        (WebCore::SQLiteStatement::getColumnBlobAsVector):
        * platform/sql/SQLiteStatement.h:

        * WebCore.exp.in:

2014-02-07  Frédéric Wang  <fred.wang@free.fr>

        childShouldCreateRenderer should return false for the mspace element
        https://bugs.webkit.org/show_bug.cgi?id=128325

        Reviewed by Chris Fleizach.

        The mspace element can not have children so this makes its
        childShouldCreateRenderer always return false.

        Test: mathml/presentation/mspace-children.html

        * mathml/MathMLTextElement.cpp:
        (WebCore::MathMLTextElement::childShouldCreateRenderer):

2014-02-07  Javier Fernandez  <jfernandez@igalia.com>

        [CSS Grid Layout] Rename grid-definition-{columns|rows} to match the new syntax
        https://bugs.webkit.org/show_bug.cgi?id=127989

        Reviewed by Andreas Kling.

        In the latest WD, grid-definition-{columns|rows} were renamed to grid-template-{columns|rows}.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::isLayoutDependent):
        (WebCore::ComputedStyleExtractor::propertyValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSPropertyNames.in:
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::applyProperty):

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

        CTTE: DocumentThreadableLoader always has a Document.
        <https://webkit.org/b/128364>

        DocumentThreadableLoader always has an "owner" Document, so store
        that as a reference instead of a pointer. Removed some unnecessary
        assertions exposed by this change.

        Reviewed by Antti Koivisto.

        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::loadResourceSynchronously):
        (WebCore::DocumentThreadableLoader::create):
        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
        (WebCore::DocumentThreadableLoader::didReceiveResponse):
        (WebCore::DocumentThreadableLoader::didReceiveData):
        (WebCore::DocumentThreadableLoader::didFinishLoading):
        (WebCore::DocumentThreadableLoader::didFail):
        (WebCore::DocumentThreadableLoader::preflightFailure):
        (WebCore::DocumentThreadableLoader::loadRequest):
        (WebCore::DocumentThreadableLoader::securityOrigin):
        * loader/DocumentThreadableLoader.h:
        * loader/ThreadableLoader.cpp:
        (WebCore::ThreadableLoader::create):
        (WebCore::ThreadableLoader::loadResourceSynchronously):
        * loader/WorkerThreadableLoader.cpp:
        (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):

2014-02-07  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>

        Vector-effect updates require a re-layout
        https://bugs.webkit.org/show_bug.cgi?id=127553

        Reviewed by Andreas Kling.

        As noted in the stale SVGRenderStyle::diff() comment, now that layout() observes vector-effect
        we need to trigger a re-layout on attribute changes.

        Merged from Blink: https://src.chromium.org/viewvc/blink?revision=152570&view=revision

        Tests: svg/custom/non-scaling-stroke-update-expected.svg
               svg/custom/non-scaling-stroke-update.svg

        * rendering/style/SVGRenderStyle.cpp:
        (WebCore::SVGRenderStyle::diff):

2014-02-07  Laszlo Vidacs  <lvidacs.u-szeged@partner.samsung.com>

        Renaming isTableElement() to isRenderedTable() as per the FIXME comment
        https://bugs.webkit.org/show_bug.cgi?id=127769

        Reviewed by Andreas Kling.

        Rename method and use IsTable() instead of local type checking.

        * dom/Position.cpp:
        (WebCore::Position::parentAnchoredEquivalent):
        (WebCore::Position::upstream):
        (WebCore::Position::downstream):
        (WebCore::Position::isCandidate):
        * dom/PositionIterator.cpp:
        (WebCore::PositionIterator::isCandidate):
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
        (WebCore::CompositeEditCommand::moveParagraphWithClones):
        * editing/FrameSelection.cpp:
        (WebCore::caretRendersInsideNode):
        * editing/VisibleUnits.cpp:
        (WebCore::startOfParagraph):
        (WebCore::endOfParagraph):
        * editing/htmlediting.cpp:
        (WebCore::firstInSpecialElement):
        (WebCore::lastInSpecialElement):
        (WebCore::isRenderedTable):
        * editing/htmlediting.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::localCaretRect):

2014-02-06  Brady Eidson  <beidson@apple.com>

        IDB: Remove the entirely unnecessary "Value Key" concept
        https://bugs.webkit.org/show_bug.cgi?id=128360

        Reviewed by Dan Bernstein.

        No new tests (No change in behavior)

        All cursor operations were set up to pass a value key parameter around, but it was:
        1 - Entirely unused
        2 - The same thing that the primary key is supposed to be

        * Modules/indexeddb/IDBCallbacks.h:

        * Modules/indexeddb/IDBCursorBackend.cpp:
        (WebCore::IDBCursorBackend::updateCursorData):
        (WebCore::IDBCursorBackend::clear):
        * Modules/indexeddb/IDBCursorBackend.h:

        * Modules/indexeddb/IDBCursorBackendOperations.cpp:
        (WebCore::CursorAdvanceOperation::perform):
        (WebCore::CursorIterationOperation::perform):

        * Modules/indexeddb/IDBRequest.cpp:
        (WebCore::IDBRequest::onSuccess):
        * Modules/indexeddb/IDBRequest.h:

        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
        (WebCore::OpenCursorOperation::perform):

        * Modules/indexeddb/IDBServerConnection.h:
        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
        (WebCore::IDBServerConnectionLevelDB::openCursor):
        (WebCore::IDBServerConnectionLevelDB::cursorAdvance):
        (WebCore::IDBServerConnectionLevelDB::cursorIterate):
        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:

2014-02-06  Jeremy Jones  <jeremyj@apple.com>

        Add support for AVKit fullscreen to WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=128143

        Reviewed by Simon Fraser.

        Rename overloaded functions to prevent ambiguous template parameter
        compile error in generated code.

        Rename overloaded exitFullscreen to exitFullscreenWithCompletionHandler.
        Rename overloaded enterFullscreen to enterFullscreenWithCompletionHandler.

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/ios/WebVideoFullscreenControllerAVKit.mm:
        (-[WebVideoFullscreenController exitFullscreen]):
        * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
        * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
        (WebVideoFullscreenInterfaceAVKit::enterFullscreenWithCompletionHandler):
        (WebVideoFullscreenInterfaceAVKit::enterFullscreen):
        (WebVideoFullscreenInterfaceAVKit::exitFullscreenWithCompletionHandler):
        (WebVideoFullscreenInterfaceAVKit::exitFullscreen):
        * platform/ios/WebVideoFullscreenModelMediaElement.h:

2014-02-06  Jeffrey Pfau  <jpfau@apple.com>

        loadSubframe can return null in SubframeLoader::loadOrRedirectSubframe
        https://bugs.webkit.org/show_bug.cgi?id=128344

        Reviewed by Ryosuke Niwa.

        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::loadOrRedirectSubframe):

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

        Use child iterator in HTMLDetailsElement::findMainSummary().
        <https://webkit.org/b/128335>

        Reviewed by Antti Koivisto.

        * html/HTMLDetailsElement.h:
        * html/HTMLDetailsElement.cpp:
        (WebCore::HTMLDetailsElement::findMainSummary):

2014-02-06  Antti Koivisto  <antti@apple.com>

        Add missing &.

        * css/StyleInvalidationAnalysis.cpp:
        (WebCore::shouldDirtyAllStyle):

2014-02-06  Antti Koivisto  <antti@apple.com>

        Check selectors exactly when invalidating style
        https://bugs.webkit.org/show_bug.cgi?id=128321

        Reviewed by Andreas Kling.
        
        Selectors are now really fast to match with the JIT. Take advantage of this by invalidating
        the document style exactly when a new stylesheet arrives (instead of using heuristics).
        
        This reduces need for large style recalculations in some common cases.

        * css/ElementRuleCollector.cpp:
        (WebCore::ElementRuleCollector::clearMatchedRules):
        (WebCore::ElementRuleCollector::collectMatchingRulesForList):
        * css/ElementRuleCollector.h:
        (WebCore::ElementRuleCollector::hasMatchedRules):
        * css/RuleSet.h:
        (WebCore::RuleSet::hasShadowPseudoElementRules):
        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::matchRecursively):
        * css/SelectorChecker.h:
        
            Add new mode where all pseudo elements match so we can invalidate their element.

        * css/StyleInvalidationAnalysis.cpp:
        (WebCore::shouldDirtyAllStyle):
        (WebCore::StyleInvalidationAnalysis::StyleInvalidationAnalysis):
        (WebCore::invalidateStyleRecursively):
        (WebCore::StyleInvalidationAnalysis::invalidateStyle):
        
            Switch to real selector checker.

        * css/StyleInvalidationAnalysis.h:
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::MatchedProperties::~MatchedProperties):
        * css/StyleResolver.h:
        (WebCore::StyleResolver::mediaQueryEvaluator):
        * dom/DocumentStyleSheetCollection.cpp:
        (WebCore::DocumentStyleSheetCollection::analyzeStyleSheetChange):

2014-02-06  Gavin Barraclough  <barraclough@apple.com>

        Remove ChildProcess::m_activeTasks
        https://bugs.webkit.org/show_bug.cgi?id=128342

        Reviewed by Anders Carlson.

        Currently we funnel a number of different user activities
        to a single UserActivity object, which requires a call down
        from WebCore to WebKit2. Split these out so we can track
        them separately.

        * page/ChromeClient.h:
            - removed [inc|dec]rementActivePageCount
        * page/PageThrottler.cpp:
        (WebCore::PageThrottler::PageThrottler):
            - incrementActivePageCount -> beginActivity
        (WebCore::PageThrottler::~PageThrottler):
            - decrementActivePageCount -> endActivity
        (WebCore::PageThrottler::throttlePage):
            - decrementActivePageCount -> endActivity
        (WebCore::PageThrottler::unthrottlePage):
            - incrementActivePageCount -> beginActivity
        * page/PageThrottler.h:
            - Added m_pageActivity.

2014-02-06  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r163558.
        http://trac.webkit.org/changeset/163558
        https://bugs.webkit.org/show_bug.cgi?id=128350

        Breaks scrolling on certain websites (Requested by bfulgham on
        #webkit).

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleWheelEvent):
        * page/WheelEventDeltaTracker.h:

2014-02-06  Chris Fleizach  <cfleizach@apple.com>

        AX: Crash in WebCore::AXObjectCache::computedObjectAttributeCache
        https://bugs.webkit.org/show_bug.cgi?id=128310

        Reviewed by Alexey Proskuryakov.

        Be more careful about using axObjectCache() directly since it can return null.
        I audited the usage cases of this method and ensured the ptr was not null in cases
        where I thought we might get hit by this.

        * accessibility/AccessibilityNodeObject.cpp:
        (WebCore::AccessibilityNodeObject::parentObject):
        (WebCore::AccessibilityNodeObject::menuForMenuButton):
        (WebCore::AccessibilityNodeObject::menuButtonForMenu):
        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::firstAccessibleObjectFromNode):
        (WebCore::AccessibilityObject::findMatchingObjects):
        (WebCore::AccessibilityObject::elementAccessibilityHitTest):
        (WebCore::AccessibilityObject::axObjectCache):
        (WebCore::AccessibilityObject::notifyIfIgnoredValueChanged):
        (WebCore::AccessibilityObject::accessibilityIsIgnored):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::parentObjectIfExists):
        (WebCore::AccessibilityRenderObject::parentObject):
        (WebCore::AccessibilityRenderObject::anchorElement):
        (WebCore::AccessibilityRenderObject::isTabItemSelected):
        (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
        (WebCore::AccessibilityRenderObject::nodeIsTextControl):
        (WebCore::AccessibilityRenderObject::activeDescendant):
        (WebCore::AccessibilityRenderObject::handleAriaExpandedChanged):
        (WebCore::AccessibilityRenderObject::observableObject):
        (WebCore::AccessibilityRenderObject::textChanged):
        * accessibility/AccessibilityScrollView.cpp:
        (WebCore::AccessibilityScrollView::addChildScrollbar):
        (WebCore::AccessibilityScrollView::webAreaObject):
        (WebCore::AccessibilityScrollView::parentObject):
        (WebCore::AccessibilityScrollView::parentObjectIfExists):

2014-02-06  Zoltan Horvath  <zoltan@webkit.org>

        [CSS Shapes] Rounded Insets Let Content Overlap Shape
        https://bugs.webkit.org/show_bug.cgi?id=127852

        Reviewed by Bem Jones-Bey.

        Using LengthSize to FloatSize conversion from LengthSize.h lead to miscalculated
        inset border radius, when the border radius was defined by percentages. This patch
        fixes the behavior and removes the incorrect conversion.

        Test: fast/shapes/shape-outside-floats/shape-outside-rounded-inset.html

        * css/LengthFunctions.cpp:
        (WebCore::floatSizeForLengthSize): Add new helper function for LengthSize to FloatSize conversion.
        * css/LengthFunctions.h:
        * platform/LengthSize.h: Remove floatSize conversion.
        * rendering/shapes/Shape.cpp:
        (WebCore::Shape::createShape): Use new helper function to calculate the right with for the inset border radius.

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

        Regenerate JSTestObj now that ScriptArguments moved. Generator knows what to do.

        Rubber-stamped by Zalan Bujtas.

        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):

2014-02-04  Jeffrey Pfau  <jpfau@apple.com>

        Make adoption agency use the task queue
        https://bugs.webkit.org/show_bug.cgi?id=109445

        Reviewed by Ryosuke Niwa.

        Tests: fast/parser/adoption-agency-crash-01.html
               fast/parser/adoption-agency-crash-02.html
               fast/parser/adoption-agency-crash-03.html

        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::insert):
        (WebCore::executeInsertTask):
        (WebCore::executeReparentTask):
        (WebCore::executeInsertAlreadyParsedChildTask):
        (WebCore::executeTakeAllChildrenTask):
        (WebCore::executeTask):
        (WebCore::HTMLConstructionSite::attachLater):
        (WebCore::HTMLConstructionSite::executeQueuedTasks):
        (WebCore::HTMLConstructionSite::insertTextNode):
        (WebCore::HTMLConstructionSite::reparent):
        (WebCore::HTMLConstructionSite::insertAlreadyParsedChild):
        (WebCore::HTMLConstructionSite::takeAllChildren):
        (WebCore::HTMLConstructionSite::fosterParent):
        * html/parser/HTMLConstructionSite.h:
        (WebCore::HTMLConstructionSiteTask::HTMLConstructionSiteTask):
        (WebCore::HTMLConstructionSiteTask::oldParent):
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

2014-02-06  Mark Hahnenberg  <mhahnenberg@apple.com>

        Heap::writeBarrier shouldn't be static
        https://bugs.webkit.org/show_bug.cgi?id=127807

        Reviewed by Geoffrey Garen.

        Currently it looks up the Heap in which to fire the write barrier by using 
        the cell passed to it. Almost every call site already has a reference to the 
        VM or the Heap itself. It seems wasteful to look it up all over again.

        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::JSEventListener):
        * bindings/js/JSEventListener.h:
        (WebCore::JSEventListener::jsFunction):

2014-02-06  Jaehun Lim  <ljaehun.lim@samsung.com>

        Unreviewed, fix build error on 64bit debug build

        Apply static_cast<long long> to int64_t variable when '%lli' is used.

        * Modules/indexeddb/IDBDatabaseBackend.cpp:
        (WebCore::IDBDatabaseBackend::clearObjectStore):
        * Modules/indexeddb/IDBTransaction.cpp:
        (WebCore::IDBTransaction::setActive):

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

        Web Inspector: Add Console support to JSContext Inspection
        https://bugs.webkit.org/show_bug.cgi?id=127941

        Reviewed by Geoffrey Garen.

          - Move InspectorConsoleAgent and dependencies to JavaScriptCore
            and into the Inspector namespace.
          - Update Console Message enum types to enum classes and update
            all users to the new, simpler names.
          - Since we are updating addConsoleMessage callsites anyways, add
            ASCIILiteral where appropriate.
          - Add WebConsoleAgent base of Page/Worker ConsoleAgent to implement
            what could not be pushed into JavaScriptCore.

        * CMakeLists.txt:
        * DerivedSources.make:
        * ForwardingHeaders/inspector/ConsoleMessage.h: Added.
        * ForwardingHeaders/inspector/ConsoleTypes.h: Added.
        * ForwardingHeaders/inspector/IdentifiersFactory.h: Added.
        * ForwardingHeaders/inspector/ScriptArguments.h: Added.
        * ForwardingHeaders/inspector/ScriptCallFrame.h: Added.
        * ForwardingHeaders/inspector/ScriptCallStack.h: Added.
        * ForwardingHeaders/inspector/ScriptCallStackFactory.h: Added.
        * ForwardingHeaders/inspector/agents/InspectorConsoleAgent.h: Added.
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        Add / remove files from builds.

        * inspector/WebConsoleAgent.h:
        * inspector/WebConsoleAgent.cpp: Added.
        (WebCore::WebConsoleAgent::WebConsoleAgent):
        (WebCore::WebConsoleAgent::setMonitoringXHREnabled):
        (WebCore::WebConsoleAgent::frameWindowDiscarded):
        (WebCore::WebConsoleAgent::didFinishXHRLoading):
        (WebCore::WebConsoleAgent::didReceiveResponse):
        (WebCore::WebConsoleAgent::didFailLoading):
        (WebCore::WebConsoleAgent::addInspectedHeapObject):
        Implement what could not be pushed down into JavaScriptCore.

        * inspector/InstrumentingAgents.h:
        (WebCore::InstrumentingAgents::webConsoleAgent):
        (WebCore::InstrumentingAgents::setWebConsoleAgent):
        Hold a WebConsoleAgent instead of InspectorConsoleAgent.

        * Modules/indexeddb/IDBCursor.cpp:
        * Modules/indexeddb/IDBDatabase.cpp:
        * Modules/indexeddb/IDBTransaction.cpp:
        * Modules/quota/DOMWindowQuota.cpp:
        (WebCore::DOMWindowQuota::webkitStorageInfo):
        * Modules/webaudio/AudioBufferSourceNode.cpp:
        (WebCore::AudioBufferSourceNode::looping):
        (WebCore::AudioBufferSourceNode::setLooping):
        * Modules/webaudio/AudioContext.cpp:
        * Modules/webaudio/PannerNode.cpp:
        (WebCore::PannerNode::setPanningModel):
        * Modules/webdatabase/DatabaseBase.cpp:
        (WebCore::DatabaseBase::logErrorMessage):
        * Modules/webdatabase/DatabaseManager.cpp:
        (WebCore::DatabaseManager::logErrorMessage):
        * Modules/websockets/WebSocket.cpp:
        (WebCore::WebSocket::connect):
        (WebCore::WebSocket::send):
        (WebCore::WebSocket::close):
        (WebCore::WebSocket::setBinaryType):
        * Modules/websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::fail):
        (WebCore::WebSocketChannel::didFailSocketStream):
        * Modules/websockets/WebSocketHandshake.cpp:
        * WebCore.exp.in:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSAudioContextCustom.cpp:
        (WebCore::JSAudioContextConstructor::constructJSAudioContext):
        * bindings/js/JSCustomXPathNSResolver.cpp:
        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
        * bindings/js/JSDOMBinding.cpp:
        * bindings/js/JSSubtleCryptoCustom.cpp:
        (WebCore::JSSubtleCrypto::encrypt):
        (WebCore::JSSubtleCrypto::decrypt):
        (WebCore::JSSubtleCrypto::sign):
        (WebCore::JSSubtleCrypto::verify):
        (WebCore::JSSubtleCrypto::wrapKey):
        (WebCore::JSSubtleCrypto::unwrapKey):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::canExecuteScripts):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateCallWith):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::logError):
        * css/MediaList.cpp:
        (WebCore::addResolutionWarningMessageToConsole):
        * dom/Document.cpp:
        (WebCore::Document::logExceptionToConsole):
        (WebCore::Document::processHttpEquiv):
        (WebCore::Document::addMessage):
        * dom/Document.h:
        * dom/ScriptElement.cpp:
        (WebCore::ScriptElement::executeScript):
        (WebCore::ScriptElement::notifyFinished):
        * dom/ScriptExecutionContext.cpp:
        * dom/ScriptExecutionContext.h:
        * dom/ViewportArguments.cpp:
        (WebCore::viewportErrorMessageLevel):
        (WebCore::reportViewportWarning):
        * fileapi/Blob.cpp:
        * fileapi/WebKitBlobBuilder.cpp:
        * html/HTMLFormControlElement.cpp:
        (WebCore::shouldAutofocus):
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::validateInteractively):
        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::parseAttribute):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::parseAttribute):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::getImageData):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::printWarningToConsole):
        * html/parser/XSSAuditor.cpp:
        (WebCore::XSSAuditor::init):
        * html/parser/XSSAuditorDelegate.cpp:
        (WebCore::XSSAuditorDelegate::didBlockScript):
        * inspector/CommandLineAPIHost.cpp:
        * inspector/CommandLineAPIHost.h:
        (WebCore::CommandLineAPIHost::init):
        * inspector/InspectorAllInOne.cpp:
        * inspector/InspectorConsoleAgent.h: Removed.
        * inspector/InspectorConsoleInstrumentation.h:
        (WebCore::InspectorInstrumentation::addMessageToConsole):
        (WebCore::InspectorInstrumentation::consoleCount):
        (WebCore::InspectorInstrumentation::stopConsoleTiming):
        (WebCore::InspectorInstrumentation::consoleTimeStamp):
        (WebCore::InspectorInstrumentation::addProfile):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InspectorDOMAgent.cpp:
        * inspector/InspectorFrontendHost.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::frameWindowDiscardedImpl):
        (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
        (WebCore::InspectorInstrumentation::didFailLoadingImpl):
        (WebCore::InspectorInstrumentation::didFinishXHRLoadingImpl):
        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
        (WebCore::isConsoleAssertMessage):
        (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
        (WebCore::InspectorInstrumentation::consoleCountImpl):
        (WebCore::InspectorInstrumentation::startConsoleTimingImpl):
        (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
        (WebCore::InspectorInstrumentation::consoleAgentEnabled):
        * inspector/InspectorInstrumentation.h:
        * inspector/InspectorLayerTreeAgent.cpp:
        * inspector/InspectorPageAgent.cpp:
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
        (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
        * inspector/InspectorProfilerAgent.h:
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::buildInitiatorObject):
        * inspector/InspectorTimelineAgent.cpp:
        * inspector/InstrumentingAgents.cpp:
        (WebCore::InstrumentingAgents::InstrumentingAgents):
        (WebCore::InstrumentingAgents::reset):
        * inspector/PageConsoleAgent.cpp:
        (WebCore::PageConsoleAgent::PageConsoleAgent):
        (WebCore::PageConsoleAgent::clearMessages):
        (WebCore::PageConsoleAgent::addInspectedNode):
        * inspector/PageConsoleAgent.h:
        * inspector/PageDebuggerAgent.cpp:
        (WebCore::PageDebuggerAgent::breakpointActionLog):
        * inspector/PageInjectedScriptHost.h:
        * inspector/PageInjectedScriptManager.h:
        * inspector/TimelineRecordFactory.cpp:
        (WebCore::TimelineRecordFactory::createGenericRecord):
        (WebCore::WebConsoleAgent::~WebConsoleAgent):
        * inspector/WorkerConsoleAgent.cpp:
        (WebCore::WorkerConsoleAgent::WorkerConsoleAgent):
        (WebCore::WorkerConsoleAgent::addInspectedNode):
        * inspector/WorkerConsoleAgent.h:
        * inspector/WorkerDebuggerAgent.cpp:
        (WebCore::WorkerDebuggerAgent::breakpointActionLog):
        * inspector/WorkerInspectorController.cpp:
        (WebCore::WorkerInspectorController::WorkerInspectorController):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::responseReceived):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::submitForm):
        (WebCore::FrameLoader::reportLocalLoadFailed):
        (WebCore::FrameLoader::handleBeforeUnloadEvent):
        (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
        (WebCore::createWindow):
        * loader/ImageLoader.cpp:
        (WebCore::ImageLoader::notifyFinished):
        * loader/MixedContentChecker.cpp:
        (WebCore::MixedContentChecker::logWarning):
        * loader/TextTrackLoader.cpp:
        (WebCore::TextTrackLoader::corsPolicyPreventedLoad):
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::abort):
        (WebCore::ApplicationCacheGroup::didReceiveResponse):
        (WebCore::ApplicationCacheGroup::didFinishLoading):
        (WebCore::ApplicationCacheGroup::didFail):
        (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::printAccessDeniedMessage):
        * page/ChromeClient.h:
        * page/Console.cpp:
        (WebCore::internalAddMessage):
        (WebCore::Console::debug):
        (WebCore::Console::error):
        (WebCore::Console::log):
        (WebCore::Console::warn):
        (WebCore::Console::dir):
        (WebCore::Console::dirxml):
        (WebCore::Console::table):
        (WebCore::Console::clear):
        (WebCore::Console::trace):
        (WebCore::Console::assertCondition):
        (WebCore::Console::group):
        (WebCore::Console::groupCollapsed):
        (WebCore::Console::groupEnd):
        * page/Console.h:
        * page/ConsoleTypes.h: Removed.
        * page/ContentSecurityPolicy.cpp:
        (WebCore::ContentSecurityPolicy::reportViolation):
        (WebCore::ContentSecurityPolicy::logToConsole):
        * page/DOMSecurityPolicy.cpp:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::postMessage):
        (WebCore::DOMWindow::dispatchMessageEventWithOriginCheck):
        (WebCore::DOMWindow::close):
        (WebCore::DOMWindow::printErrorMessage):
        * page/DOMWindow.h:
        * page/EventSource.cpp:
        (WebCore::EventSource::didReceiveResponse):
        (WebCore::EventSource::didFailAccessControlCheck):
        * page/PageConsole.cpp:
        (WebCore::PageConsole::printMessageSourceAndLevelPrefix):
        (WebCore::PageConsole::addMessage):
        * page/PageConsole.h:
        * page/PointerLockController.cpp:
        (WebCore::PointerLockController::requestPointerLock):
        * platform/CrossThreadCopier.h:
        * rendering/shapes/ShapeInfo.cpp:
        (WebCore::checkShapeImageOrigin):
        * svg/SVGDocumentExtensions.cpp:
        (WebCore::reportMessage):
        (WebCore::SVGDocumentExtensions::reportWarning):
        (WebCore::SVGDocumentExtensions::reportError):
        * testing/Internals.cpp:
        (WebCore::Internals::consoleMessageArgumentCounts):
        * workers/DefaultSharedWorkerRepository.cpp:
        * workers/SharedWorkerGlobalScope.cpp:
        (WebCore::SharedWorkerGlobalScope::logExceptionToConsole):
        * workers/SharedWorkerGlobalScope.h:
        * workers/WorkerGlobalScope.cpp:
        (WebCore::WorkerGlobalScope::addMessageToWorkerConsole):
        * workers/WorkerGlobalScope.h:
        * workers/WorkerMessagingProxy.cpp:
        * workers/WorkerReportingProxy.h:
        * xml/XMLHttpRequest.cpp:
        (WebCore::logConsoleError):
        (WebCore::XMLHttpRequest::send):
        * xml/XSLTProcessorLibxslt.cpp:
        (WebCore::XSLTProcessor::parseErrorFunc):

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

        Convert a parameter to PassRefPtr
        https://bugs.webkit.org/show_bug.cgi?id=128327

        Reviewed by Timothy Hatcher.

        * inspector/InspectorConsoleInstrumentation.h:
        (WebCore::InspectorInstrumentation::addProfile):
        * inspector/InspectorInstrumentation.h:

2014-01-30  Oliver Hunt  <oliver@apple.com>

        Push DOM attributes into the prototype chain
        https://bugs.webkit.org/show_bug.cgi?id=127969

        Reviewed by Mark Lam.

        This patch does the actual work of moving dom attributes up the
        prototype chain. There are still a few class and edge cases
        where we can't do this without impacting existing behaviour,
        but they can be fixed separately in later patches.

        * bindings/js/JSDOMBinding.h:
        (WebCore::getStaticPropertySlotEntryWithoutCaching):
        (WebCore::getStaticPropertySlotEntryWithoutCaching<JSDOMWrapper>):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateGetOwnPropertySlotBody):
        (HasComplexGetOwnProperty):
        (ConstructorShouldBeOnInstance):
        (AttributeShouldBeOnInstance):
        (InstanceAttributeCount):
        (PrototypeAttributeCount):
        (InstanceOverridesGetOwnPropertySlot):
        (PrototypeOverridesGetOwnPropertySlot):
        (GenerateAttributesHashTable):
        (GenerateImplementation):

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

        Remove display:run-in support.
        <https://webkit.org/b/127874>
        <rdar://problem/15926949>

        Remove support for the "run-in" display type. Blink recently removed
        this and Gecko never supported in the first place.

        Rubber-stamped by Anders Carlsson.

        * css/CSSParser.cpp:
        (WebCore::isValidKeywordPropertyAndValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        * css/CSSValueKeywords.in:
        * css/StyleResolver.cpp:
        (WebCore::equivalentBlockDisplay):
        (WebCore::doesNotInheritTextDecoration):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::willBeDestroyed):
        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
        (WebCore::RenderBlock::makeChildrenNonInline):
        (WebCore::canMergeContiguousAnonymousBlocks):
        (WebCore::RenderBlock::renderName):
        * rendering/RenderBlock.h:
        * rendering/RenderBlockFlow.cpp:
        (WebCore::RenderBlockFlow::willBeDestroyed):
        (WebCore::shouldCheckLines):
        (WebCore::getHeightForLineCount):
        * rendering/RenderElement.cpp:
        (WebCore::RenderElement::createFor):
        (WebCore::RenderElement::destroyLeftoverChildren):
        * rendering/RenderFileUploadControl.cpp:
        * rendering/RenderFileUploadControl.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::updateFromStyle):
        (WebCore::RenderInline::renderName):
        (WebCore::RenderInline::clippedOverflowRectForRepaint):
        * rendering/RenderListBox.cpp:
        * rendering/RenderListBox.h:
        * rendering/RenderMenuList.cpp:
        * rendering/RenderMenuList.h:
        * rendering/RenderObject.cpp:
        * rendering/RenderObject.h:
        * rendering/RenderProgress.cpp:
        * rendering/RenderProgress.h:
        * rendering/RenderSlider.cpp:
        * rendering/RenderSlider.h:
        * rendering/RenderTextControl.cpp:
        * rendering/RenderTextControl.h:
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::adjustStyle):
        * rendering/style/RenderStyleConstants.h:

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

        Remove leftover cruft from scoped stylesheet implementation.
        <https://webkit.org/b/128139>

        Kill some pointless non-null checks that were left behind by the
        removed <style scoped> code. Also pruned outdated comments and
        FIXME's about such scopes.

        Reviewed by Antti Koivisto.

        * css/ElementRuleCollector.cpp:
        (WebCore::ElementRuleCollector::collectMatchingRules):
        * css/RuleSet.cpp:
        (WebCore::RuleSet::addChildRules):
        (WebCore::RuleSet::addRulesFromSheet):
        * css/RuleSet.h:
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::checkRegionStyle):

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

        Wheel events don't latch to inner scrollable elements 
        https://bugs.webkit.org/show_bug.cgi?id=128225

        Reviewed by Beth Dakin.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleWheelEvent): Identify the case
        where we have hit the end of a scroll, and treat that as a
        valid 'handled' case. If the scroll event is just starting,
        treat end-of-scroll as unhandled so the parent element can
        handle things.
        * page/WheelEventDeltaTracker.h:
        (WebCore::WheelEventDeltaTracker::isFirstWheelEvent): Added.

2014-02-06  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r163542.
        http://trac.webkit.org/changeset/163542
        https://bugs.webkit.org/show_bug.cgi?id=128324

        Caused many assertion failures (Requested by ap on #webkit).

        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::JSEventListener):
        * bindings/js/JSEventListener.h:
        (WebCore::JSEventListener::jsFunction):

2014-02-06  Frédéric Wang  <fred.wang@free.fr>

        Do not draw multi-characters <mi> in italic.
        https://bugs.webkit.org/show_bug.cgi?id=44208

        Reviewed by Chris Fleizach.

        This test prevents multi-char <mi> to be drawn in italic and prepare
        further improvements to MathML token and mfenced elements (bugs 124838
        and bug 99620).

        Test: mathml/presentation/tokenElements-dynamic.html

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * css/mathml.css:
        (mi, mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose):
        * mathml/MathMLTextElement.cpp:
        (WebCore::MathMLTextElement::didAttachRenderers):
        (WebCore::MathMLTextElement::childrenChanged):
        (WebCore::MathMLTextElement::createElementRenderer):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isRenderMathMLToken):
        * rendering/mathml/RenderMathMLToken.cpp: Added.
        (WebCore::RenderMathMLToken::RenderMathMLToken):
        (WebCore::RenderMathMLToken::addChild):
        (WebCore::RenderMathMLToken::createWrapperIfNeeded):
        (WebCore::RenderMathMLToken::updateTokenContent):
        (WebCore::RenderMathMLToken::updateStyle):
        (WebCore::RenderMathMLToken::styleDidChange):
        (WebCore::RenderMathMLToken::updateFromElement):
        * rendering/mathml/RenderMathMLToken.h: Added.
        (WebCore::RenderMathMLToken::element):
        (WebCore::RenderMathMLToken>):

2014-02-06  Zoltan Horvath  <zoltan@webkit.org>

        [CSS Shapes] Simplify BasicShapeInset creation
        https://bugs.webkit.org/show_bug.cgi?id=128314

        Reviewed by David Hyatt.

        Introduce convertToLengthSize helper function in order to simplify and make BasicShapeInset more readable.

        No new tests, no behavior change.

        * css/BasicShapeFunctions.cpp:
        (WebCore::convertToLengthSize):
        (WebCore::basicShapeForValue):

2014-02-06  Anders Carlsson  <andersca@apple.com>

        Try to fix the Windows build.

        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::didReceiveResponse):

2014-01-29  Sergio Villar Senin  <svillar@igalia.com>

        [CSS Grid Layout] getComputedStyle() is wrong for grid-definition-{columns|rows}
        https://bugs.webkit.org/show_bug.cgi?id=127033

        Reviewed by Andreas Kling.

        Tests: fast/css-grid-layout/non-grid-columns-rows-get-set-multiple.html
               fast/css-grid-layout/non-grid-columns-rows-get-set.html
               fast/css-grid-layout/non-grid-element-repeat-get-set.html
               fast/css-grid-layout/non-named-grid-line-get-set.html

        According to the specs getComputedStyle() should return the used
        values instead of the resolved values for compatibility with early
        implementations. This means that grid-definition-{columns|rows}
        are now layout dependent as we need to compute the used values for
        grid track sizes.

        Updated the outcome of existing tests and added a bunch of new
        ones that check the behavior of the different properties outside
        grid containers.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::specifiedValueForGridTrackSize):
        (WebCore::valueForGridTrackList):
        (WebCore::isLayoutDependent):
        (WebCore::ComputedStyleExtractor::propertyValue):
        * rendering/RenderGrid.cpp:
        (WebCore::RenderGrid::GridIterator::GridIterator):
        (WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
        (WebCore::RenderGrid::computeUsedBreadthOfMinLength):
        (WebCore::RenderGrid::computeUsedBreadthOfMaxLength):
        (WebCore::RenderGrid::computeUsedBreadthOfSpecifiedLength):
        (WebCore::RenderGrid::computeNormalizedFractionBreadth):
        (WebCore::RenderGrid::gridTrackSize):
        (WebCore::RenderGrid::minContentForChild):
        (WebCore::RenderGrid::maxContentForChild):
        (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
        (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
        (WebCore::RenderGrid::tracksAreWiderThanMinTrackBreadth):
        (WebCore::RenderGrid::growGrid):
        (WebCore::RenderGrid::autoPlacementMajorAxisDirection):
        (WebCore::RenderGrid::autoPlacementMinorAxisDirection):
        (WebCore::RenderGrid::layoutGridItems):
        (WebCore::RenderGrid::resolveGridPositionsFromAutoPlacementPosition):
        (WebCore::RenderGrid::resolveGridPositionsFromStyle):
        (WebCore::RenderGrid::gridAreaBreadthForChild):
        (WebCore::RenderGrid::populateGridPositions):
        (WebCore::RenderGrid::findChildLogicalPosition):
        * rendering/RenderGrid.h:

2014-02-06  Anders Carlsson  <andersca@apple.com>

        Modernize CrossOriginPreflightResultCache
        https://bugs.webkit.org/show_bug.cgi?id=128309

        Reviewed by Antti Koivisto.

        Use std::chrono::steady_clock instead of currentTime() for determining when
        cache items expire, Use std::unique_ptr instead of OwnPtr, use NeverDestroyed,
        get rid of unnecessary container typedefs now that we have auto. Finally,
        de-indent the entire class declaration.

        * loader/CrossOriginPreflightResultCache.cpp:
        (WebCore::CrossOriginPreflightResultCache::CrossOriginPreflightResultCache):
        (WebCore::parseAccessControlMaxAge):
        (WebCore::CrossOriginPreflightResultCacheItem::parse):
        (WebCore::CrossOriginPreflightResultCacheItem::allowsRequest):
        (WebCore::CrossOriginPreflightResultCache::shared):
        (WebCore::CrossOriginPreflightResultCache::appendEntry):
        (WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
        * loader/CrossOriginPreflightResultCache.h:
        (WebCore::CrossOriginPreflightResultCacheItem::CrossOriginPreflightResultCacheItem):
        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::didReceiveResponse):

2014-02-06  Gurpreet Kaur  <k.gurpreet@samsung.com>

        Menclose with no notation attribute does not display anything.
        https://bugs.webkit.org/show_bug.cgi?id=127889

        Reviewed by Chris Fleizach.

        Menclose with no notation attribute should behave same as menclose with
        notation attribute with value as longdiv. By default the division
        symbol should be displayed. For empty and invalid notation attribute
        nothing should be displayed.

        Tests: mathml/presentation/menclose-notation-default-longdiv.html
               mathml/presentation/menclose-notation-invalid-empty.html

        * mathml/MathMLMencloseElement.h:
        * rendering/mathml/RenderMathMLMenclose.cpp:
        (WebCore::RenderMathMLMenclose::computePreferredLogicalWidths):
        (WebCore::RenderMathMLMenclose::paint):
        Added style for menclose with no notation attribute and handled this
        condition in paint also where for longdiv we are explicitly drawing
        the division symbol.

2014-02-05  Mark Hahnenberg  <mhahnenberg@apple.com>

        Heap::writeBarrier shouldn't be static
        https://bugs.webkit.org/show_bug.cgi?id=127807

        Reviewed by Geoffrey Garen.

        Currently it looks up the Heap in which to fire the write barrier by using 
        the cell passed to it. Almost every call site already has a reference to the 
        VM or the Heap itself. It seems wasteful to look it up all over again.

        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::JSEventListener):
        * bindings/js/JSEventListener.h:
        (WebCore::JSEventListener::jsFunction):

2014-02-06  Brady Eidson  <beidson@apple.com>

        IDB: storage/indexeddb/mozilla/clear.html fails
        <rdar://problem/15997155> and https://bugs.webkit.org/show_bug.cgi?id=128282

        Reviewed by David Kilzer.

        Covered by storage/indexeddb/mozilla/clear.html (and probably others)

        Update the value deserializer to take into account whether or not there was an IDBKey:
        * bindings/js/IDBBindingUtilities.cpp:
        (WebCore::deserializeIDBValueBuffer):
        * bindings/js/IDBBindingUtilities.h:

        * Modules/indexeddb/IDBRequest.cpp:
        (WebCore::IDBRequest::onSuccess): Call the new form of deserializeIDBValueBuffer.

        * Modules/indexeddb/IDBDatabaseBackend.cpp:
        (WebCore::IDBDatabaseBackend::clearObjectStore): Update logging.

        * Modules/indexeddb/IDBTransaction.cpp:
        (WebCore::IDBTransaction::setActive): Update logging.

        * Modules/indexeddb/IDBTransactionBackend.cpp:
        (WebCore::IDBTransactionBackend::commit): Fix ASSERTs to reflect multi-process worlds.

2014-02-06  Csaba Osztrogonác  <ossy@webkit.org>

        Re-enable simple line layout on non-Mac platforms
        https://bugs.webkit.org/show_bug.cgi?id=123338

        Reviewed by Anders Carlsson.

        * rendering/SimpleLineLayout.cpp:
        (WebCore::SimpleLineLayout::canUseFor):

2014-02-06  Koop Mast <kwm@FreeBSD.org>

        Use system default compiler instead of gcc, as final fall through.
        https://bugs.webkit.org/show_bug.cgi?id=126773

        Reviewed by Alexey Proskuryakov.

        * dom/make_names.pl:

2014-02-06  Eric Carlson  <eric.carlson@apple.com>

        No need to enterFullscreen() when already in fullscreen
        https://bugs.webkit.org/show_bug.cgi?id=128276

        Reviewed by Jer Noble.

        No new tests, this is just cleanup.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::updatePlayState): Don't call enterFullscreen() if already there.
        (WebCore::HTMLMediaElement::enterFullscreen): Return early if m_isFullscreen is already true.

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

        [CSS Regions] Null dereference applying animation with CSS regions
        https://bugs.webkit.org/show_bug.cgi?id=128218

        Reviewed by Andrei Bucur.

        The first issue (the null dereference) was caused by the checkForZoomChange method
        not guarding against a null parentStyle parameter, as the checkForGenericFamilyChange 
        method does, which in the crashing scenario is called just before the faulty
        checkForZoomChange method.
        The second issue was an assert which was caused by the fact that detaching is performed
        in a certain situation if the element has a renderer or if it's inside a named flow.
        However, when reattaching and asserting the element has no renderer, the 
        "inside named flow" condition was no longer considered.

        Test: fast/regions/animation-element-in-region-flowed-to-other-thread.html

        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::checkForZoomChange):
        * style/StyleResolveTree.cpp:
        (WebCore::Style::attachChildren):

2014-02-06  László Langó  <llango.u-szeged@partner.samsung.com>

        Create a HTMLUnknownElement when using createElement('image')
        https://bugs.webkit.org/show_bug.cgi?id=125896

        Reviewed by Antti Koivisto.

        Backported from Blink: https://chromium.googlesource.com/chromium/blink/+/fd8a7b65f3300fb9245db24d5ed240c80b7f76ad

        * html/HTMLTagNames.in:

2014-02-06  Youenn Fablet  <youennf@gmail.com>

        [XHR] Ensure response return null when error flag is set for blob and arraybuffer
        https://bugs.webkit.org/show_bug.cgi?id=127050

        Reviewed by Alexey Proskuryakov.

        Added a check in JSXMLHttpRequest::response to ensure response return null when error flag is set for blob and arraybuffer
        This check also applies to document and json response types (no change in behavior for those types but code path change)
        Added assertions in the related XMLHttpRequest blob and array buffer getters
        Minor code clean-up.
        The test cases check all four response types in case of timeout and abort

        Tests: http/tests/xmlhttprequest/onabort-response-getters.html
               http/tests/xmlhttprequest/ontimeout-response-getters.html

        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::response):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::didCacheResponseJSON):
        (WebCore::XMLHttpRequest::responseXML):
        (WebCore::XMLHttpRequest::responseBlob):
        (WebCore::XMLHttpRequest::responseArrayBuffer):

2014-02-05  Gavin Barraclough  <barraclough@apple.com>

        Change Page, FocusController to use ViewState
        https://bugs.webkit.org/show_bug.cgi?id=126533

        Reviewed by Tim Horton.

        These classes currently maintain a set of separate fields to represent the view state;
        combine these into a single field, and allow WebPage to send the combined update rather
        than individual changes.

        Maintain existing interface for WebKit1 clients.

        * WebCore.exp.in:
            - Added WebCore::setViewState, removed WebCore::setIsVisuallyIdle.
        * page/FocusController.cpp:
        (WebCore::FocusController::FocusController):
            - Initialize combined m_viewState.
        (WebCore::FocusController::setFocused):
            - Calls setViewState.
        (WebCore::FocusController::setFocusedInternal):
            - setFocused -> setFocusedInternal.
        (WebCore::FocusController::setViewState):
            - Added, update all ViewState flags.
        (WebCore::FocusController::setActive):
            - Calls setViewState.
        (WebCore::FocusController::setActiveInternal):
            - setActive -> setActiveInternal.
        (WebCore::FocusController::setContentIsVisible):
            - Calls setViewState.
        (WebCore::FocusController::setContentIsVisibleInternal):
            - setContentIsVisible -> setContentIsVisibleInternal.
        * page/FocusController.h:
        (WebCore::FocusController::isActive):
        (WebCore::FocusController::isFocused):
        (WebCore::FocusController::contentIsVisible):
            - Implemented in terms of ViewState.
        * page/Page.cpp:
        (WebCore::Page::Page):
            - Initialize using PageInitialViewState.
        (WebCore::Page::setIsInWindow):
            - Calls setViewState.
        (WebCore::Page::setIsInWindowInternal):
            - setIsInWindow -> setIsInWindowInternal.
        (WebCore::Page::setIsVisuallyIdleInternal):
            - setIsVisuallyIdle -> setIsVisuallyIdleInternal.
        (WebCore::Page::setViewState):
            - Added, update all ViewState flags, including FocusController.
        (WebCore::Page::setIsVisible):
            - Calls setViewState.
        (WebCore::Page::setIsVisibleInternal):
            - setIsVisible -> setIsVisibleInternal.
        (WebCore::Page::visibilityState):
            - m_isVisible -> isVisible()
        (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
            - m_isVisible -> isVisible()
        * page/Page.h:
        (WebCore::Page::isVisible):
        (WebCore::Page::isInWindow):
            - Implemented in terms of ViewState.
        (WebCore::Page::scriptedAnimationsSuspended):
            - Combined member fields into ViewState::Flags.

2014-02-05  Simon Fraser  <simon.fraser@apple.com>

        Transfer the non-fast-scrollable region to the UI process for iOS
        https://bugs.webkit.org/show_bug.cgi?id=128293

        Reviewed by Benjamin Poulain.

        Two main changes to support sending the non-fast scrollable region
        to the UI process for iOS:
        
        1. Add ScrollingCoordinator::frameViewNonFastScrollableRegionChanged(),
        which is called when we've updated the touch event region (this can happen
        independenly of layout). When called we just scheduled a scrolling tree
        commit with the new region.
        
        2. Avoid thinking that we have a new root node with every remote scrolling
        transaction. This was a side-effect of reconstructing the scrolling state
        tree in the UI process, and caused us to try to grab a nonFastScrollableRegion
        from a node which never had one set.

        * WebCore.exp.in:
        * page/scrolling/AsyncScrollingCoordinator.cpp:
        (WebCore::AsyncScrollingCoordinator::frameViewNonFastScrollableRegionChanged):
        * page/scrolling/AsyncScrollingCoordinator.h:
        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::computeNonFastScrollableRegion):
        * page/scrolling/ScrollingCoordinator.h:
        (WebCore::ScrollingCoordinator::frameViewNonFastScrollableRegionChanged):
        * page/scrolling/ScrollingStateTree.h:
        (WebCore::ScrollingStateTree::setHasNewRootStateNode):
        * page/scrolling/ScrollingTree.cpp:
        (WebCore::ScrollingTree::commitNewTreeState):
        (WebCore::ScrollingTree::isPointInNonFastScrollableRegion):
        * page/scrolling/ScrollingTree.h:

2014-02-05  Benjamin Poulain  <benjamin@webkit.org>

        [iOS] Synchronize the WKContentView and UIScrollView updates with the tiles being commited
        https://bugs.webkit.org/show_bug.cgi?id=127886

        Reviewed by Simon Fraser.

        The updates of the views on the UIProcess side was completely disconnected
        from the tiles updates from the DrawingArea. There is a non-negligible time
        between the size/scale update and the new tiles coming, which causes
        visual glitches.

        There are three main cases where the tiles and content would be out of sync
        with the UIViews:
        -When loading a new page with different content width of a different viewport.
        -When a page changes its viewport.
        -When the viewport-constrainted viewport size changes.

        To fix the issue, WKView is modified to maintain the old state of WKContentView
        and UIScrollView until the new tiles are available.

        Geometry/scale update are split in two phases:
        1) A source (the page or the user) changes parameters of the geometry. The WebProcess updates
           its layout accordingly.
           At this point, the UIViews are unchanged and are left with the old parameters.
        2) Eventually, new tiles come and commitLayerTree() is called on the drawing area proxy.
           At that point, WKContentView and its UIScrollView are updated to match the committed
           size and scale for the page.

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:
        * page/ViewportConfiguration.cpp: Added.
        (WebCore::constraintsAreAllRelative):
        (WebCore::ViewportConfiguration::ViewportConfiguration):
        (WebCore::ViewportConfiguration::setDefaultConfiguration):
        (WebCore::ViewportConfiguration::setContentsSize):
        (WebCore::ViewportConfiguration::setMinimumLayoutSize):
        (WebCore::ViewportConfiguration::setViewportArguments):
        (WebCore::ViewportConfiguration::layoutSize):
        (WebCore::ViewportConfiguration::initialScale):
        (WebCore::ViewportConfiguration::minimumScale):
        (WebCore::ViewportConfiguration::maximumScale):
        (WebCore::ViewportConfiguration::allowsUserScaling):
        (WebCore::viewportArgumentValueIsValid):
        (WebCore::applyViewportArgument):
        (WebCore::ViewportConfiguration::updateConfiguration):
        (WebCore::ViewportConfiguration::layoutWidth):
        (WebCore::ViewportConfiguration::layoutHeight):
        * page/ViewportConfiguration.h: Added.
        (WebCore::ViewportConfigurationConfiguration::ViewportConfigurationConfiguration):
        (WebCore::ViewportConfiguration::defaultConfiguration):
        (WebCore::ViewportConfiguration::contentsSize):
        (WebCore::ViewportConfiguration::minimumLayoutSize):
        (WebCore::ViewportConfiguration::viewportArguments):

2014-02-05  Benjamin Poulain  <benjamin@webkit.org>

        SelectorCodeGenerator::generateElementHasTagName should match the local name before the namespace
        https://bugs.webkit.org/show_bug.cgi?id=128167

        Reviewed by Sam Weinig.

        The local name is a stricter filter than the namespace, it should always run first.

        * cssjit/SelectorCompiler.cpp:
        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasTagName):

2014-02-05  Benjamin Poulain  <benjamin@webkit.org>

        Add HTMLNames::classAttr as a regular name in SVGElement::isAnimatableAttribute
        https://bugs.webkit.org/show_bug.cgi?id=128166

        Reviewed by Sam Weinig.

        For historical reasons, classAttr was treated separately. There is no reasons for that anymore.

        * svg/SVGElement.cpp:
        (WebCore::SVGElement::isAnimatableAttribute):

2014-02-05  Simon Fraser  <simon.fraser@apple.com>

        Support encoding and decoding of Regions
        https://bugs.webkit.org/show_bug.cgi?id=128284

        Reviewed by Anders Carlsson.

        Region changes to make it encodable:
        
        Make Region::Span public and give it a default constructor.
        Allow getting and setting of Shape internals, and a way to update
        the Region bounds after changing the shape. Also add a way to test
        for valid spans and segments.

        * platform/graphics/Region.cpp:
        (WebCore::Region::Shape::isValid):
        (WebCore::Region::updateBoundsFromShape):
        * platform/graphics/Region.h:
        (WebCore::Region::isValid):
        (WebCore::Region::Span::Span):
        (WebCore::Region::shapeSegments):
        (WebCore::Region::shapeSpans):
        (WebCore::Region::setShapeSegments):
        (WebCore::Region::setShapeSpans):
        (WebCore::Region::Shape::segments):
        (WebCore::Region::Shape::spans):
        (WebCore::Region::Shape::setSegments):
        (WebCore::Region::Shape::setSpans):

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

        Rebaseline the bindings tests after Oliver's hackery.

        * bindings/scripts/test/JS/:

2014-02-05  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL][GTK] Share plugin's implementation between EFL and Gtk ports.
        https://bugs.webkit.org/show_bug.cgi?id=70592

        Reviewed by Gyuyoung Kim.

        Merge common logics of PluginViewGtk.cpp and PluginViewEfl.cpp to PluginViewX11.cpp.
        So, this patch improves the windowless plugin support for the EFL port.

        * GNUmakefile.am: Add include path for gtk2xtbin.h header file.
        * GNUmakefile.list.am: Added PluginViewX11.cpp into source lists.
        * PlatformEfl.cmake: Ditto.
        * PlatformGTK.cmake: Ditto.
        * plugins/PluginView.h: Added getRootWindow and getPluginDisply which implement platform specific code.
        * plugins/efl/PluginViewEfl.cpp:
        (WebCore::PluginView::getRootWindow):
        (WebCore::PluginView::platformGetValueStatic): Turn on NPNVSupportsWindowless support.
        (WebCore::PluginView::getPluginDisplay):
        (WebCore::PluginView::platformStart):
        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::getRootWindow):
        (WebCore::setXButtonEventSpecificFields):
        (WebCore::setXMotionEventSpecificFields):
        (WebCore::setXCrossingEventSpecificFields):
        (WebCore::PluginView::getPluginDisplay):
        (WebCore::PluginView::platformStart):
        * plugins/x11/PluginViewX11.cpp: Moved common logics from PluginViewGtk.cpp
        (WebCore::PluginView::dispatchNPEvent):
        (WebCore::PluginView::updatePluginWidget):
        (WebCore::PluginView::handleFocusInEvent):
        (WebCore::PluginView::invalidateRect):
        (WebCore::PluginView::invalidateRegion):
        (WebCore::PluginView::handleFocusOutEvent):
        (WebCore::PluginView::initXEvent):
        (WebCore::PluginView::paint):
        (WebCore::PluginView::setParent):
        (WebCore::PluginView::setNPWindowRect):
        (WebCore::PluginView::setNPWindowIfNeeded):

2014-02-05  Anders Carlsson  <andersca@apple.com>

        Fix a warning.

        * platform/mac/ContentFilterMac.mm:
        (WebCore::ContentFilter::ContentFilter):
        Remove an unnecessary comparison.

2014-02-05  Csaba Osztrogonác  <ossy@webkit.org>

        Fix the !ENABLE(PAGE_VISIBILITY_API) build
        https://bugs.webkit.org/show_bug.cgi?id=127907

        Reviewed by Brent Fulgham.

        * page/Page.cpp:
        (WebCore::Page::setIsVisible):

2014-02-05  Oliver Hunt  <oliver@apple.com>

        Change custom getter signature to make the base reference an object pointer
        https://bugs.webkit.org/show_bug.cgi?id=128279

        Reviewed by Geoffrey Garen.

        Update everything to the new calling convention.

        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
        (WebCore::cssPropertyGetterCallback):
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::objectToStringFunctionGetter):
        * bindings/js/JSDOMBinding.h:
        * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
        (WebCore::JSDOMMimeTypeArray::nameGetter):
        * bindings/js/JSDOMPluginArrayCustom.cpp:
        (WebCore::JSDOMPluginArray::nameGetter):
        * bindings/js/JSDOMPluginCustom.cpp:
        (WebCore::JSDOMPlugin::nameGetter):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::nonCachingStaticFunctionGetter):
        (WebCore::childFrameGetter):
        (WebCore::indexGetter):
        (WebCore::namedItemGetter):
        * bindings/js/JSHTMLAllCollectionCustom.cpp:
        (WebCore::JSHTMLAllCollection::nameGetter):
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::JSHTMLCollection::nameGetter):
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::nameGetter):
        * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
        (WebCore::JSHTMLFormControlsCollection::nameGetter):
        * bindings/js/JSHTMLFormElementCustom.cpp:
        (WebCore::JSHTMLFormElement::nameGetter):
        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
        (WebCore::JSHTMLFrameSetElement::nameGetter):
        * bindings/js/JSHistoryCustom.cpp:
        (WebCore::nonCachingStaticBackFunctionGetter):
        (WebCore::nonCachingStaticForwardFunctionGetter):
        (WebCore::nonCachingStaticGoFunctionGetter):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::nonCachingStaticReplaceFunctionGetter):
        (WebCore::nonCachingStaticReloadFunctionGetter):
        (WebCore::nonCachingStaticAssignFunctionGetter):
        * bindings/js/JSNamedNodeMapCustom.cpp:
        (WebCore::JSNamedNodeMap::nameGetter):
        * bindings/js/JSPluginElementFunctions.cpp:
        (WebCore::pluginElementPropertyGetter):
        * bindings/js/JSPluginElementFunctions.h:
        * bindings/js/JSRTCStatsResponseCustom.cpp:
        (WebCore::JSRTCStatsResponse::nameGetter):
        * bindings/js/JSStorageCustom.cpp:
        (WebCore::JSStorage::nameGetter):
        * bindings/js/JSStyleSheetListCustom.cpp:
        (WebCore::JSStyleSheetList::nameGetter):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateImplementation):
        * bridge/runtime_array.cpp:
        (JSC::RuntimeArray::lengthGetter):
        (JSC::RuntimeArray::indexGetter):
        * bridge/runtime_array.h:
        * bridge/runtime_method.cpp:
        (JSC::RuntimeMethod::lengthGetter):
        * bridge/runtime_method.h:
        * bridge/runtime_object.cpp:
        (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
        (JSC::Bindings::RuntimeObject::fieldGetter):
        (JSC::Bindings::RuntimeObject::methodGetter):
        * bridge/runtime_object.h:

2014-02-04  Andy Estes  <aestes@apple.com>

        Buffer incoming data in ContentFilter when using NEFilterSource
        https://bugs.webkit.org/show_bug.cgi?id=127979

        Reviewed by Sam Weinig.

        WebFilterEvaluator buffers incoming data and returns it to us as
        replacement data if the load is allowed. NEFilterSource doesn't do
        this, so we need to do our own buffering.

        * platform/ContentFilter.h: Forward-declared NSMutableData and added
        m_originalData.
        * platform/mac/ContentFilterMac.mm:
        (WebCore::ContentFilter::ContentFilter): Constructed m_originalData
        with an initial capacity (if we know the expected content size).
        (WebCore::ContentFilter::addData): Buffered incoming data if we are
        using NEFilterSource.
        (WebCore::ContentFilter::finishedAddingData):
        (WebCore::ContentFilter::getReplacementData): Returned m_originalData
        if the load wasn't blocked.

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

        Remove ENABLE(DIRECTORY_UPLOAD).
        <https://webkit.org/b/128275>

        This is a non-standard Chrome extension that none of the WebKit
        ports have even been building.

        Rubber-stamped by Ryosuke Niwa.

        * Configurations/FeatureDefines.xcconfig:
        * fileapi/File.cpp:
        * fileapi/File.h:
        * fileapi/File.idl:
        * html/FileInputType.cpp:
        (WebCore::FileInputType::handleDOMActivateEvent):
        (WebCore::FileInputType::createFileList):
        (WebCore::FileInputType::receiveDroppedFiles):
        * html/FileInputType.h:
        * html/HTMLAttributeNames.in:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::parseAttribute):
        * html/HTMLInputElement.idl:
        * loader/EmptyClients.h:
        * page/Chrome.cpp:
        * page/Chrome.h:
        * page/ChromeClient.h:
        * platform/FileChooser.h:
        * platform/network/FormData.cpp:
        (WebCore::FormData::appendKeyValuePairItems):

2014-02-05  Brady Eidson  <beidson@apple.com>

        IDB: storage/indexeddb/mozilla/autoincrement-indexes.html fails
        https://bugs.webkit.org/show_bug.cgi?id=128257

        Reviewed by Sam Weinig.

        Tests: storage/indexeddb/mozilla/autoincrement-indexes.html

        Add some IDBKeyData utility methods for WK2 to use:
        * Modules/indexeddb/IDBKeyData.cpp:
        (WebCore::IDBKeyData::setArrayValue):
        (WebCore::IDBKeyData::setStringValue):
        (WebCore::IDBKeyData::setDateValue):
        (WebCore::IDBKeyData::setNumberValue):
        * Modules/indexeddb/IDBKeyData.h:

        * WebCore.exp.in:

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

        Turn on ENABLE(8BIT_TEXTRUN) for everyone.
        <https://webkit.org/b/128273>

        Reviewed by Anders Carlsson.

        * platform/graphics/TextRun.h:
        (WebCore::TextRun::TextRun):
        (WebCore::TextRun::subRun):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::constructTextRun):
        * rendering/RenderBlock.h:

2014-02-05  Enrica Casucci  <enrica@apple.com>

        WK2: Caret, selections and autocorrection bubbles are incorrectly positioned when inside an iframe.
        https://bugs.webkit.org/show_bug.cgi?id=128264
        <rdar://problem/15986954>

        Reviewed by Simon Fraser.

        Adding new exported function.

        * WebCore.exp.in:

2014-02-05  Antti Koivisto  <antti@apple.com>

        ElementRuleCollector should not use StyleResolver::State
        https://bugs.webkit.org/show_bug.cgi?id=128247

        Reviewed by Andreas Kling.
        
        Make ElementRuleCollector more reusable.

        * css/ElementRuleCollector.cpp:
        (WebCore::ElementRuleCollector::collectMatchingRules):
        (WebCore::ElementRuleCollector::sortAndTransferMatchedRules):
        (WebCore::ElementRuleCollector::matchAuthorRules):
        (WebCore::ElementRuleCollector::matchUARules):
        (WebCore::ElementRuleCollector::ruleMatches):
        (WebCore::ElementRuleCollector::collectMatchingRulesForList):
        (WebCore::ElementRuleCollector::matchAllRules):
        * css/ElementRuleCollector.h:
        (WebCore::ElementRuleCollector::ElementRuleCollector):
        
            Pass the objects that are actually needed rather than the entire State.

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

        [Mac] Correct copy/paste error in scrolling code.
        https://bugs.webkit.org/show_bug.cgi?id=128258

        Reviewed by Anders Carlsson.

        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
        (WebCore::ScrollingTreeScrollingNodeMac::pinnedInDirection): Use
        'setWidth' when dealing with width metrics.

2014-02-05  Yuki Sekiguchi  <yuki.sekiguchi@access-company.com>

        Ruby base oddly justify its text when the text is ideograph and it contains <br> on Mac.
        https://bugs.webkit.org/show_bug.cgi?id=106417

        Reviewed by David Hyatt.

        Ruby base always justify even if a line have hard break.
        Even if next leaf child is line break, InlineTextBox allow trailing expansion.
        This make <br> expanded, and there is odd space at the end of the line.

        Test: fast/text/ruby-justification-br.html

        * rendering/InlineTextBox.h:
        (WebCore::InlineTextBox::expansionBehavior):
         - If next leaf child is line break, we should forbid trailing expansion.

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

        FrameLoader::stateMachine() should return a reference.
        <https://webkit.org/b/128263>

        There is always a FrameLoaderStateMatchine, so return it by
        reference since it can never be null.

        Reviewed by Anders Carlsson.

        * history/PageCache.cpp:
        (WebCore::logCanCachePageDecision):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::finishedLoading):
        (WebCore::DocumentLoader::commitData):
        (WebCore::DocumentLoader::maybeLoadEmpty):
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::createDocument):
        (WebCore::DocumentWriter::begin):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::prepareForHistoryNavigation):
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::stateMachine):
        * loader/HistoryController.cpp:
        (WebCore::HistoryController::restoreScrollPositionAndViewState):
        (WebCore::HistoryController::saveDocumentState):
        * loader/NavigationScheduler.cpp:
        (WebCore::NavigationScheduler::scheduleLocationChange):
        (WebCore::NavigationScheduler::scheduleFormSubmission):
        * loader/ProgressTracker.cpp:
        (WebCore::ProgressTracker::incrementProgress):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::storeResourceTimingInitiatorInformation):
        * page/Frame.cpp:
        (WebCore::Frame::injectUserScripts):
        * page/FrameView.cpp:
        (WebCore::FrameView::qualifiesAsVisuallyNonEmpty):

2014-02-04  Myles C. Maxfield  <mmaxfield@apple.com>

        Move characterAt index checks from InlineIterator to RenderText
        https://bugs.webkit.org/show_bug.cgi?id=128224

        Reviewed by Simon Fraser.

        Move characterAt index checks from InlineIterator to RenderText
        so that all RenderText calls are covered. Few safe instances are
        now covered with uncheckedCharacterAt.

        Merged from Blink:
        http://src.chromium.org/viewvc/blink?view=revision&revision=150830

        Test: fast/text/character-at-crash.html

        * rendering/InlineIterator.h:
        (WebCore::InlineIterator::characterAt):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::computePreferredLogicalWidths):
        * rendering/RenderText.h:
        (WebCore::RenderText::operator[]):
        (WebCore::RenderText::uncheckedCharacterAt):
        (WebCore::RenderText::characterAt):

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

        Remove leftover seamless iframe logic from containerForRepaint().
        <https://webkit.org/b/128235>

        The parent-flow-thread-in-different-document case is no longer
        relevant after <iframe seamless> was removed.

        Reviewed by David Hyatt.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::containerForRepaint):

2014-02-05  Hans Muller  <hmuller@adobe.com>

        [CSS Shapes] Dynamically created element with image valued shape-outside doesn't update automatically
        https://bugs.webkit.org/show_bug.cgi?id=128187

        Reviewed by Dean Jackson.

        Corrected the way shape-outside handles the completion of an image load. Move
        the shape-outside imageChanged() logic from RenderBlock to RenderBox and call
        markShapeOutsideDependentsForLayout() instead of parent()->setNeedsLayoutAndPrefWidthsRecalc().
        The latter did not deal with descendants of the shape element's siblings correctly and it
        failed when the shape element was inserted dynamically. The markShapeOutsideDependentsForLayout()
        method can't be called during layout, so the imageChanged() code checks for that. The only
        scenario where imageChanged() can be called during layout (that I've discovered so far anyway)
        is when an SVG Image is renderered  with drawImage(). The Shape::createRasterShape() does this,
        and the corresponding imageChanged() notification can be safely ignored.

        Test: fast/shapes/shape-outside-floats/shape-outside-insert-svg-shape.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::imageChanged):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::imageChanged):

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

        CTTE: ImageLoader is always owned by an Element.
        <https://webkit.org/b/128254>

        - Codify this by making the constructor take Element& or better.
        - Make element() return Element&.
        - Marked HTMLImageLoader and SVGImageLoader final.
        - Made the ImageLoader constructor protected.

        Reviewed by Sam Weinig.

        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::parseAttribute):
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::HTMLImageElement):
        * html/HTMLImageLoader.cpp:
        (WebCore::HTMLImageLoader::HTMLImageLoader):
        (WebCore::HTMLImageLoader::dispatchLoadEvent):
        (WebCore::HTMLImageLoader::sourceURI):
        (WebCore::HTMLImageLoader::notifyFinished):
        * html/HTMLImageLoader.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::imageLoader):
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::parseAttribute):
        * html/HTMLPlugInImageElement.cpp:
        (WebCore::HTMLPlugInImageElement::startLoadingImage):
        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::didAttachRenderers):
        (WebCore::HTMLVideoElement::parseAttribute):
        * loader/ImageLoader.cpp:
        (WebCore::ImageLoader::ImageLoader):
        (WebCore::ImageLoader::~ImageLoader):
        (WebCore::ImageLoader::updateFromElement):
        (WebCore::ImageLoader::notifyFinished):
        (WebCore::ImageLoader::renderImageResource):
        (WebCore::ImageLoader::updatedHasPendingEvent):
        (WebCore::ImageLoader::timerFired):
        (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
        (WebCore::ImageLoader::dispatchPendingLoadEvent):
        (WebCore::ImageLoader::dispatchPendingErrorEvent):
        * loader/ImageLoader.h:
        (WebCore::ImageLoader::element):
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::SVGImageElement):
        * svg/SVGImageLoader.cpp:
        (WebCore::SVGImageLoader::SVGImageLoader):
        (WebCore::SVGImageLoader::~SVGImageLoader):
        (WebCore::SVGImageLoader::dispatchLoadEvent):
        (WebCore::SVGImageLoader::sourceURI):
        * svg/SVGImageLoader.h:

2014-02-05  Sergio Correia  <sergio.correia@openbossa.org>

        SVG preserveAspectRatio=none is not honored.
        https://bugs.webkit.org/show_bug.cgi?id=111402

        Reviewed by Andreas Kling.

        Previously, preserveAspectRatio=none had no effect on SVG images. This change fixes this so
        we follow the special handling of preserveAspectRatio on images as defined in the spec:
        http://www.w3.org/TR/SVG/single-page.html, 7.8 The ‘preserveAspectRatio’ attribute.

        Images that depend on a container size (such as SVG images) require a call to
        setContainerSizeForRenderer(...) to set this size. By passing the image's intrinsic size
        as the container size, the non-uniform scaling defined in the spec will be achieved.

        Merged from Blink: https://chromiumcodereview.appspot.com/14964004

        Test: svg/custom/image-with-preserveAspectRatio-none.html

        * rendering/svg/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::updateImageViewport):

2014-02-05  Zoltan Horvath  <zoltan@webkit.org>

        [CSS Shapes] Simplify CSSBasicShapeInset::cssText
        https://bugs.webkit.org/show_bug.cgi?id=127841

        Reviewed by David Hyatt.

        I introduced the updateCornerRadiusWidthAndHeight helper function, which makes the code of cssText method clearer.

        No new tests, no behavior change.

        * css/CSSBasicShapes.cpp:
        (WebCore::updateCornerRadiusWidthAndHeight): Add helper function.
        (WebCore::CSSBasicShapeInset::cssText):

2014-02-05  Zoltan Horvath  <zoltan@webkit.org>

        [CSS Shapes] Simplify BasicShapeInset::path
        https://bugs.webkit.org/show_bug.cgi?id=127920

        Reviewed by David Hyatt.

        I introduced a new static helper function called floatSizeForLengthSize
        in order to simplify BasicShapeInset::path method.

        No new tests, no behavior change.

        * rendering/style/BasicShapes.cpp:
        (WebCore::floatSizeForLengthSize): New helper function.
        (WebCore::BasicShapeInset::path):

2014-02-05  Wojciech Bielawski  <w.bielawski@samsung.com>

        XMLHttpRequest performs too many copies for ArrayBuffer results
        https://bugs.webkit.org/show_bug.cgi?id=117458

        Reviewed by Alexey Proskuryakov.

        Based on blink change: https://chromium.googlesource.com/chromium/blink/+/bed266aa5a43f7c080c87e527bd35e2b80ecc7b7

        Add SharedBuffer::createArrayBuffer() and use it to create XMLHttpRequest's response in ArrayBuffer
        This cuts
            - two memsets (in ArrayBuffer::create and SharedBuffer::m_buffer::resize)
            - one copy (SharedBuffer::m_buffer to ArrayBufferContents::m_data)
            - one allocation (SharedBuffer::m_buffer)

        No new tests. WebKit desn't provide test mechanism similar to blink's one.

        * platform/SharedBuffer.cpp:
        (WebCore::SharedBuffer::createArrayBuffer):
        * platform/SharedBuffer.h:
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::responseArrayBuffer):

2014-02-05  Csaba Osztrogonác  <ossy@webkit.org>

        Remove ENABLE(SVG) guards
        https://bugs.webkit.org/show_bug.cgi?id=127991

        Reviewed by Sam Weinig.

        * CMakeLists.txt:
        * Configurations/FeatureDefines.xcconfig:
        * DerivedSources.make:
        * GNUmakefile.am:
        * UseJSC.cmake:
        * WebCore.exp.in:
        * accessibility/AXObjectCache.cpp:
        (WebCore::createFromRenderer):
        * accessibility/AccessibilityNodeObject.cpp:
        (WebCore::AccessibilityNodeObject::alternativeText):
        (WebCore::AccessibilityNodeObject::accessibilityDescription):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::boundingBoxRect):
        (WebCore::AccessibilityRenderObject::supportsPath):
        (WebCore::AccessibilityRenderObject::elementPath):
        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
        (WebCore::AccessibilityRenderObject::remoteSVGRootElement):
        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
        (-[WebAccessibilityObjectWrapper isSVGGroupElement]):
        * bindings/gobject/GNUmakefile.am:
        * bindings/js/JSCSSValueCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSElementCustom.cpp:
        (WebCore::toJSNewlyCreated):
        * bindings/js/JSExceptionBase.cpp:
        (WebCore::toExceptionBase):
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::createWrapperInline):
        * bindings/js/JSSVGElementInstanceCustom.cpp:
        * bindings/js/JSSVGLengthCustom.cpp:
        * bindings/js/JSSVGPathSegCustom.cpp:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::ComputedStyleExtractor::propertyValue):
        * css/CSSComputedStyleDeclaration.h:
        * css/CSSCursorImageValue.cpp:
        (WebCore::resourceReferencedByCursorElement):
        (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
        (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
        (WebCore::CSSCursorImageValue::cachedImage):
        (WebCore::CSSCursorImageValue::removeReferencedElement):
        * css/CSSCursorImageValue.h:
        * css/CSSDefaultStyleSheets.cpp:
        (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
        * css/CSSFontSelector.cpp:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseClipPath):
        (WebCore::CSSParser::parseShadow):
        (WebCore::CSSParser::parseFilter):
        (WebCore::CSSParser::realLex):
        * css/CSSParser.h:
        * css/CSSPrimitiveValueMappings.h:
        * css/CSSStyleSheet.cpp:
        (WebCore::isAcceptableCSSStyleSheetParent):
        * css/CSSValue.cpp:
        (WebCore::CSSValue::equals):
        (WebCore::CSSValue::cssText):
        (WebCore::CSSValue::destroy):
        (WebCore::CSSValue::cloneForCSSOM):
        * css/CSSValue.h:
        (WebCore::CSSValue::isSubtypeExposedToCSSOM):
        * css/CSSValueKeywords.in:
        * css/DeprecatedStyleBuilder.cpp:
        (WebCore::ApplyPropertyDisplay::isValidDisplayValue):
        (WebCore::ApplyPropertyClipPath::applyValue):
        * css/ElementRuleCollector.cpp:
        (WebCore::ElementRuleCollector::matchAllRules):
        * css/SVGCSSComputedStyleDeclaration.cpp:
        * css/SVGCSSParser.cpp:
        * css/SVGCSSPropertyNames.in:
        * css/SVGCSSStyleSelector.cpp:
        * css/StyleProperties.cpp:
        (WebCore::StyleProperties::getPropertyValue):
        * css/StylePropertyShorthand.cpp:
        (WebCore::markerShorthand):
        (WebCore::shorthandForProperty):
        (WebCore::matchingShorthandsForLonghand):
        * css/StylePropertyShorthand.h:
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::State::clear):
        (WebCore::StyleResolver::locateCousinList):
        (WebCore::StyleResolver::sharingCandidateHasIdenticalStyleAffectingAttributes):
        (WebCore::StyleResolver::canShareStyleWithElement):
        (WebCore::StyleResolver::locateSharedStyle):
        (WebCore::StyleResolver::adjustRenderStyle):
        (WebCore::isValidVisitedLinkProperty):
        (WebCore::StyleResolver::applyProperty):
        (WebCore::StyleResolver::loadPendingSVGDocuments):
        (WebCore::StyleResolver::createFilterOperations):
        (WebCore::StyleResolver::loadPendingResources):
        * css/StyleResolver.h:
        * dom/DOMExceptions.in:
        * dom/DOMImplementation.cpp:
        (WebCore::addString):
        (WebCore::isSupportedSVG11Feature):
        (WebCore::DOMImplementation::hasFeature):
        (WebCore::DOMImplementation::createDocument):
        * dom/Document.cpp:
        (WebCore::Document::commonTeardown):
        (WebCore::Document::createElement):
        (WebCore::Document::implicitClose):
        (WebCore::Document::hasSVGRootNode):
        * dom/Document.h:
        * dom/DocumentStyleSheetCollection.cpp:
        (WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
        * dom/Element.cpp:
        (WebCore::Element::~Element):
        (WebCore::Element::synchronizeAllAttributes):
        (WebCore::Element::synchronizeAttribute):
        (WebCore::Element::boundsInRootViewSpace):
        (WebCore::Element::getBoundingClientRect):
        (WebCore::Element::removedFrom):
        (WebCore::Element::childShouldCreateRenderer):
        (WebCore::Element::fastAttributeLookupAllowed):
        (WebCore::Element::clearHasPendingResources):
        * dom/Element.h:
        * dom/ElementData.h:
        * dom/ElementRareData.h:
        (WebCore::ElementRareData::ElementRareData):
        * dom/EventDispatcher.cpp:
        (WebCore::eventTargetRespectingTargetRules):
        * dom/EventListenerMap.cpp:
        * dom/EventListenerMap.h:
        * dom/EventNames.in:
        * dom/EventTargetFactory.in:
        * dom/QualifiedName.cpp:
        * dom/ScriptElement.cpp:
        (WebCore::toScriptElementIfPossible):
        * dom/Text.cpp:
        (WebCore::isSVGText):
        (WebCore::Text::createTextRenderer):
        * history/CachedFrame.cpp:
        (WebCore::CachedFrameBase::restore):
        * html/HTMLAnchorElement.cpp:
        (WebCore::shouldProhibitLinks):
        * html/HTMLEmbedElement.idl:
        * html/HTMLFrameElement.idl:
        * html/HTMLFrameOwnerElement.cpp:
        (WebCore::HTMLFrameOwnerElement::getSVGDocument):
        * html/HTMLFrameOwnerElement.h:
        * html/HTMLIFrameElement.idl:
        * html/HTMLObjectElement.idl:
        * html/canvas/DOMPath.h:
        (WebCore::DOMPath::create):
        * html/canvas/DOMPath.idl:
        * html/parser/XSSAuditor.cpp:
        (WebCore::isSemicolonSeparatedAttribute):
        * inspector/DOMPatchSupport.cpp:
        (WebCore::DOMPatchSupport::patchDocument):
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::setOuterHTML):
        * inspector/InspectorOverlay.cpp:
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::inlineStyleSheetText):
        * loader/FrameLoader.cpp:
        * loader/ImageLoader.cpp:
        (WebCore::ImageLoader::renderImageResource):
        * loader/cache/CachedImage.cpp:
        (WebCore::CachedImage::didRemoveClient):
        (WebCore::CachedImage::imageForRenderer):
        (WebCore::CachedImage::setContainerSizeForRenderer):
        (WebCore::CachedImage::imageSizeForRenderer):
        (WebCore::CachedImage::createImage):
        * loader/cache/CachedImage.h:
        * loader/cache/CachedResource.cpp:
        (WebCore::defaultPriorityForResourceType):
        * loader/cache/CachedResource.h:
        * loader/cache/CachedResourceClient.h:
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::createResource):
        (WebCore::CachedResourceLoader::requestSVGDocument):
        (WebCore::CachedResourceLoader::checkInsecureContent):
        (WebCore::CachedResourceLoader::canRequest):
        * loader/cache/CachedResourceLoader.h:
        * loader/cache/CachedSVGDocument.cpp:
        * loader/cache/CachedSVGDocument.h:
        * loader/cache/CachedSVGDocumentClient.h:
        * loader/cache/CachedSVGDocumentReference.cpp:
        * loader/cache/CachedSVGDocumentReference.h:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::EventHandler):
        (WebCore::EventHandler::clear):
        (WebCore::EventHandler::handleMousePressEvent):
        (WebCore::EventHandler::updateSelectionForMouseDrag):
        (WebCore::EventHandler::handleMouseMoveEvent):
        (WebCore::EventHandler::handleMouseReleaseEvent):
        (WebCore::instanceAssociatedWithShadowTreeElement):
        (WebCore::EventHandler::updateMouseEventTargetNode):
        * page/EventHandler.h:
        * page/Frame.cpp:
        (WebCore::Frame::setPageAndTextZoomFactors):
        * page/FrameView.cpp:
        (WebCore::FrameView::applyOverflowToViewport):
        (WebCore::FrameView::forceLayoutParentViewIfNeeded):
        (WebCore::FrameView::embeddedContentBox):
        (WebCore::FrameView::scrollToAnchor):
        * page/animation/CSSPropertyAnimation.cpp:
        (WebCore::blendFunc):
        (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
        * platform/MIMETypeRegistry.cpp:
        (WebCore::initializeSupportedNonImageMimeTypes):
        * platform/graphics/TextRun.cpp:
        * platform/graphics/TextRun.h:
        (WebCore::TextRun::TextRun):
        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::advanceInternal):
        * platform/graphics/filters/FETile.cpp:
        (WebCore::FETile::platformApplySoftware):
        * platform/graphics/filters/FilterOperation.cpp:
        (WebCore::ReferenceFilterOperation::getOrCreateCachedSVGDocumentReference):
        * platform/graphics/filters/FilterOperation.h:
        * platform/gtk/PasteboardGtk.cpp:
        (WebCore::getURLForImageElement):
        * rendering/FilterEffectRenderer.cpp:
        (WebCore::FilterEffectRenderer::buildReferenceFilter):
        * rendering/HitTestLocation.cpp:
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::absoluteImageURL):
        (WebCore::HitTestResult::absoluteLinkURL):
        (WebCore::HitTestResult::isLiveLink):
        * rendering/InlineBox.h:
        * rendering/LogicalSelectionOffsetCaches.h:
        (WebCore::isContainingBlockCandidateForAbsolutelyPositionedObject):
        * rendering/PaintInfo.h:
        (WebCore::PaintInfo::applyTransform):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlockFlow::createLineBoxesFromBidiRuns):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        * rendering/RenderElement.cpp:
        (WebCore::RenderElement::addChild):
        (WebCore::RenderElement::layerCreationAllowedForSubtree):
        (WebCore::RenderElement::styleDidChange):
        * rendering/RenderGeometryMap.cpp:
        (WebCore::canMapBetweenRenderers):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::embeddedContentBox):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::isTransparent):
        (WebCore::RenderLayer::setupClipPath):
        (WebCore::RenderLayer::calculateClipRects):
        * rendering/RenderLayer.h:
        * rendering/RenderLayerFilterInfo.cpp:
        (WebCore::RenderLayer::FilterInfo::~FilterInfo):
        * rendering/RenderLayerFilterInfo.h:
        * rendering/RenderNamedFlowThread.cpp:
        (WebCore::nextNodeInsideContentElement):
        * rendering/RenderObject.cpp:
        (WebCore::objectIsRelayoutBoundary):
        (WebCore::RenderObject::container):
        (WebCore::RenderObject::willBeRemovedFromTree):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::canContainFixedPositionObjects):
        (WebCore::RenderObject::preservesNewline):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::write):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::layout):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
        * rendering/SimpleLineLayout.cpp:
        (WebCore::SimpleLineLayout::canUseFor):
        * rendering/line/BreakingContextInlineHeaders.h:
        (WebCore::BreakingContext::initializeForCurrentObject):
        (WebCore::BreakingContext::handleText):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::RenderStyle):
        (WebCore::RenderStyle::inheritFrom):
        (WebCore::RenderStyle::copyNonInheritedFrom):
        (WebCore::RenderStyle::operator==):
        (WebCore::RenderStyle::inheritedNotEqual):
        (WebCore::RenderStyle::inheritedDataShared):
        (WebCore::RenderStyle::diff):
        * rendering/style/RenderStyle.h:
        * rendering/style/SVGRenderStyle.cpp:
        * rendering/style/SVGRenderStyle.h:
        * rendering/style/SVGRenderStyleDefs.cpp:
        * rendering/style/SVGRenderStyleDefs.h:
        * rendering/svg/RenderSVGBlock.cpp:
        * rendering/svg/RenderSVGBlock.h:
        * rendering/svg/RenderSVGContainer.cpp:
        * rendering/svg/RenderSVGContainer.h:
        * rendering/svg/RenderSVGEllipse.cpp:
        * rendering/svg/RenderSVGEllipse.h:
        * rendering/svg/RenderSVGForeignObject.cpp:
        * rendering/svg/RenderSVGForeignObject.h:
        * rendering/svg/RenderSVGGradientStop.cpp:
        * rendering/svg/RenderSVGGradientStop.h:
        * rendering/svg/RenderSVGHiddenContainer.cpp:
        * rendering/svg/RenderSVGHiddenContainer.h:
        * rendering/svg/RenderSVGImage.cpp:
        * rendering/svg/RenderSVGImage.h:
        * rendering/svg/RenderSVGInline.cpp:
        * rendering/svg/RenderSVGInline.h:
        * rendering/svg/RenderSVGInlineText.cpp:
        * rendering/svg/RenderSVGInlineText.h:
        * rendering/svg/RenderSVGModelObject.cpp:
        * rendering/svg/RenderSVGModelObject.h:
        * rendering/svg/RenderSVGPath.cpp:
        * rendering/svg/RenderSVGPath.h:
        * rendering/svg/RenderSVGRect.cpp:
        * rendering/svg/RenderSVGRect.h:
        * rendering/svg/RenderSVGResource.cpp:
        * rendering/svg/RenderSVGResource.h:
        * rendering/svg/RenderSVGResourceClipper.cpp:
        * rendering/svg/RenderSVGResourceClipper.h:
        * rendering/svg/RenderSVGResourceContainer.cpp:
        * rendering/svg/RenderSVGResourceContainer.h:
        * rendering/svg/RenderSVGResourceFilter.cpp:
        * rendering/svg/RenderSVGResourceFilter.h:
        * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
        * rendering/svg/RenderSVGResourceFilterPrimitive.h:
        * rendering/svg/RenderSVGResourceGradient.cpp:
        (WebCore::RenderSVGResourceGradient::applyResource):
        * rendering/svg/RenderSVGResourceGradient.h:
        * rendering/svg/RenderSVGResourceLinearGradient.cpp:
        * rendering/svg/RenderSVGResourceLinearGradient.h:
        * rendering/svg/RenderSVGResourceMarker.cpp:
        * rendering/svg/RenderSVGResourceMarker.h:
        * rendering/svg/RenderSVGResourceMasker.cpp:
        * rendering/svg/RenderSVGResourceMasker.h:
        * rendering/svg/RenderSVGResourcePattern.cpp:
        * rendering/svg/RenderSVGResourcePattern.h:
        * rendering/svg/RenderSVGResourceRadialGradient.cpp:
        * rendering/svg/RenderSVGResourceRadialGradient.h:
        * rendering/svg/RenderSVGResourceSolidColor.cpp:
        * rendering/svg/RenderSVGResourceSolidColor.h:
        * rendering/svg/RenderSVGRoot.cpp:
        * rendering/svg/RenderSVGRoot.h:
        * rendering/svg/RenderSVGShape.cpp:
        * rendering/svg/RenderSVGShape.h:
        * rendering/svg/RenderSVGTSpan.h:
        * rendering/svg/RenderSVGText.cpp:
        * rendering/svg/RenderSVGText.h:
        * rendering/svg/RenderSVGTextPath.cpp:
        * rendering/svg/RenderSVGTextPath.h:
        * rendering/svg/RenderSVGTransformableContainer.cpp:
        * rendering/svg/RenderSVGTransformableContainer.h:
        * rendering/svg/RenderSVGViewportContainer.cpp:
        * rendering/svg/RenderSVGViewportContainer.h:
        * rendering/svg/SVGInlineFlowBox.cpp:
        * rendering/svg/SVGInlineFlowBox.h:
        * rendering/svg/SVGInlineTextBox.cpp:
        * rendering/svg/SVGInlineTextBox.h:
        * rendering/svg/SVGMarkerData.h:
        * rendering/svg/SVGPathData.cpp:
        * rendering/svg/SVGPathData.h:
        * rendering/svg/SVGRenderSupport.cpp:
        * rendering/svg/SVGRenderSupport.h:
        * rendering/svg/SVGRenderTreeAsText.cpp:
        * rendering/svg/SVGRenderTreeAsText.h:
        * rendering/svg/SVGRenderingContext.cpp:
        * rendering/svg/SVGRenderingContext.h:
        * rendering/svg/SVGResources.cpp:
        * rendering/svg/SVGResources.h:
        * rendering/svg/SVGResourcesCache.cpp:
        * rendering/svg/SVGResourcesCache.h:
        * rendering/svg/SVGResourcesCycleSolver.cpp:
        * rendering/svg/SVGResourcesCycleSolver.h:
        * rendering/svg/SVGRootInlineBox.cpp:
        * rendering/svg/SVGRootInlineBox.h:
        * rendering/svg/SVGSubpathData.h:
        * rendering/svg/SVGTextChunk.cpp:
        * rendering/svg/SVGTextChunk.h:
        * rendering/svg/SVGTextChunkBuilder.cpp:
        * rendering/svg/SVGTextChunkBuilder.h:
        * rendering/svg/SVGTextFragment.h:
        * rendering/svg/SVGTextLayoutAttributes.cpp:
        * rendering/svg/SVGTextLayoutAttributes.h:
        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
        * rendering/svg/SVGTextLayoutAttributesBuilder.h:
        * rendering/svg/SVGTextLayoutEngine.cpp:
        * rendering/svg/SVGTextLayoutEngine.h:
        * rendering/svg/SVGTextLayoutEngineBaseline.cpp:
        * rendering/svg/SVGTextLayoutEngineBaseline.h:
        * rendering/svg/SVGTextLayoutEngineSpacing.cpp:
        * rendering/svg/SVGTextLayoutEngineSpacing.h:
        * rendering/svg/SVGTextMetrics.cpp:
        * rendering/svg/SVGTextMetrics.h:
        * rendering/svg/SVGTextMetricsBuilder.cpp:
        * rendering/svg/SVGTextMetricsBuilder.h:
        * rendering/svg/SVGTextQuery.cpp:
        * rendering/svg/SVGTextQuery.h:
        * svg/ColorDistance.cpp:
        * svg/ColorDistance.h:
        * svg/GradientAttributes.h:
        * svg/LinearGradientAttributes.h:
        * svg/PatternAttributes.h:
        * svg/RadialGradientAttributes.h:
        * svg/SVGAElement.cpp:
        * svg/SVGAElement.h:
        * svg/SVGAElement.idl:
        * svg/SVGAltGlyphDefElement.cpp:
        * svg/SVGAltGlyphDefElement.h:
        * svg/SVGAltGlyphDefElement.idl:
        * svg/SVGAltGlyphElement.cpp:
        * svg/SVGAltGlyphElement.h:
        * svg/SVGAltGlyphElement.idl:
        * svg/SVGAltGlyphItemElement.cpp:
        * svg/SVGAltGlyphItemElement.h:
        * svg/SVGAltGlyphItemElement.idl:
        * svg/SVGAngle.cpp:
        * svg/SVGAngle.h:
        * svg/SVGAngle.idl:
        * svg/SVGAnimateColorElement.cpp:
        * svg/SVGAnimateColorElement.h:
        * svg/SVGAnimateColorElement.idl:
        * svg/SVGAnimateElement.cpp:
        * svg/SVGAnimateElement.h:
        * svg/SVGAnimateElement.idl:
        * svg/SVGAnimateMotionElement.cpp:
        * svg/SVGAnimateMotionElement.h:
        * svg/SVGAnimateMotionElement.idl:
        * svg/SVGAnimateTransformElement.cpp:
        * svg/SVGAnimateTransformElement.h:
        * svg/SVGAnimateTransformElement.idl:
        * svg/SVGAnimatedAngle.cpp:
        * svg/SVGAnimatedAngle.h:
        * svg/SVGAnimatedAngle.idl:
        * svg/SVGAnimatedBoolean.cpp:
        * svg/SVGAnimatedBoolean.h:
        * svg/SVGAnimatedBoolean.idl:
        * svg/SVGAnimatedColor.cpp:
        * svg/SVGAnimatedColor.h:
        * svg/SVGAnimatedEnumeration.cpp:
        * svg/SVGAnimatedEnumeration.h:
        * svg/SVGAnimatedEnumeration.idl:
        * svg/SVGAnimatedInteger.cpp:
        * svg/SVGAnimatedInteger.h:
        * svg/SVGAnimatedInteger.idl:
        * svg/SVGAnimatedIntegerOptionalInteger.cpp:
        * svg/SVGAnimatedIntegerOptionalInteger.h:
        * svg/SVGAnimatedLength.cpp:
        * svg/SVGAnimatedLength.h:
        * svg/SVGAnimatedLength.idl:
        * svg/SVGAnimatedLengthList.cpp:
        * svg/SVGAnimatedLengthList.h:
        * svg/SVGAnimatedLengthList.idl:
        * svg/SVGAnimatedNumber.cpp:
        * svg/SVGAnimatedNumber.h:
        * svg/SVGAnimatedNumber.idl:
        * svg/SVGAnimatedNumberList.cpp:
        * svg/SVGAnimatedNumberList.h:
        * svg/SVGAnimatedNumberList.idl:
        * svg/SVGAnimatedNumberOptionalNumber.cpp:
        * svg/SVGAnimatedNumberOptionalNumber.h:
        * svg/SVGAnimatedPath.cpp:
        * svg/SVGAnimatedPath.h:
        * svg/SVGAnimatedPointList.cpp:
        * svg/SVGAnimatedPointList.h:
        * svg/SVGAnimatedPreserveAspectRatio.cpp:
        * svg/SVGAnimatedPreserveAspectRatio.h:
        * svg/SVGAnimatedPreserveAspectRatio.idl:
        * svg/SVGAnimatedRect.cpp:
        * svg/SVGAnimatedRect.h:
        * svg/SVGAnimatedRect.idl:
        * svg/SVGAnimatedString.cpp:
        * svg/SVGAnimatedString.h:
        * svg/SVGAnimatedString.idl:
        * svg/SVGAnimatedTransformList.cpp:
        * svg/SVGAnimatedTransformList.h:
        * svg/SVGAnimatedTransformList.idl:
        * svg/SVGAnimatedType.cpp:
        * svg/SVGAnimatedType.h:
        * svg/SVGAnimatedTypeAnimator.cpp:
        * svg/SVGAnimatedTypeAnimator.h:
        * svg/SVGAnimationElement.cpp:
        * svg/SVGAnimationElement.h:
        * svg/SVGAnimationElement.idl:
        * svg/SVGAnimatorFactory.h:
        * svg/SVGCircleElement.cpp:
        * svg/SVGCircleElement.h:
        * svg/SVGCircleElement.idl:
        * svg/SVGClipPathElement.cpp:
        * svg/SVGClipPathElement.h:
        * svg/SVGClipPathElement.idl:
        * svg/SVGColor.cpp:
        * svg/SVGColor.h:
        * svg/SVGColor.idl:
        * svg/SVGComponentTransferFunctionElement.cpp:
        * svg/SVGComponentTransferFunctionElement.h:
        * svg/SVGComponentTransferFunctionElement.idl:
        * svg/SVGCursorElement.cpp:
        * svg/SVGCursorElement.h:
        * svg/SVGCursorElement.idl:
        * svg/SVGDefsElement.cpp:
        * svg/SVGDefsElement.h:
        * svg/SVGDefsElement.idl:
        * svg/SVGDescElement.cpp:
        * svg/SVGDescElement.h:
        * svg/SVGDescElement.idl:
        * svg/SVGDocument.cpp:
        * svg/SVGDocument.h:
        * svg/SVGDocument.idl:
        * svg/SVGDocumentExtensions.cpp:
        * svg/SVGDocumentExtensions.h:
        * svg/SVGElement.cpp:
        * svg/SVGElement.h:
        * svg/SVGElement.idl:
        * svg/SVGElementInstance.cpp:
        * svg/SVGElementInstance.h:
        * svg/SVGElementInstance.idl:
        * svg/SVGElementInstanceList.cpp:
        * svg/SVGElementInstanceList.h:
        * svg/SVGElementInstanceList.idl:
        * svg/SVGEllipseElement.cpp:
        * svg/SVGEllipseElement.h:
        * svg/SVGEllipseElement.idl:
        * svg/SVGException.cpp:
        * svg/SVGException.h:
        * svg/SVGException.idl:
        * svg/SVGExternalResourcesRequired.cpp:
        * svg/SVGExternalResourcesRequired.h:
        * svg/SVGExternalResourcesRequired.idl:
        * svg/SVGFEBlendElement.cpp:
        * svg/SVGFEBlendElement.h:
        * svg/SVGFEBlendElement.idl:
        * svg/SVGFEColorMatrixElement.cpp:
        * svg/SVGFEColorMatrixElement.h:
        * svg/SVGFEColorMatrixElement.idl:
        * svg/SVGFEComponentTransferElement.cpp:
        * svg/SVGFEComponentTransferElement.h:
        * svg/SVGFEComponentTransferElement.idl:
        * svg/SVGFECompositeElement.cpp:
        * svg/SVGFECompositeElement.h:
        * svg/SVGFECompositeElement.idl:
        * svg/SVGFEConvolveMatrixElement.cpp:
        * svg/SVGFEConvolveMatrixElement.h:
        * svg/SVGFEConvolveMatrixElement.idl:
        * svg/SVGFEDiffuseLightingElement.cpp:
        * svg/SVGFEDiffuseLightingElement.h:
        * svg/SVGFEDiffuseLightingElement.idl:
        * svg/SVGFEDisplacementMapElement.cpp:
        * svg/SVGFEDisplacementMapElement.h:
        * svg/SVGFEDisplacementMapElement.idl:
        * svg/SVGFEDistantLightElement.cpp:
        * svg/SVGFEDistantLightElement.h:
        * svg/SVGFEDistantLightElement.idl:
        * svg/SVGFEDropShadowElement.cpp:
        * svg/SVGFEDropShadowElement.h:
        * svg/SVGFEDropShadowElement.idl:
        * svg/SVGFEFloodElement.cpp:
        * svg/SVGFEFloodElement.h:
        * svg/SVGFEFloodElement.idl:
        * svg/SVGFEFuncAElement.cpp:
        * svg/SVGFEFuncAElement.h:
        * svg/SVGFEFuncAElement.idl:
        * svg/SVGFEFuncBElement.cpp:
        * svg/SVGFEFuncBElement.h:
        * svg/SVGFEFuncBElement.idl:
        * svg/SVGFEFuncGElement.cpp:
        * svg/SVGFEFuncGElement.h:
        * svg/SVGFEFuncGElement.idl:
        * svg/SVGFEFuncRElement.cpp:
        * svg/SVGFEFuncRElement.h:
        * svg/SVGFEFuncRElement.idl:
        * svg/SVGFEGaussianBlurElement.cpp:
        * svg/SVGFEGaussianBlurElement.h:
        * svg/SVGFEGaussianBlurElement.idl:
        * svg/SVGFEImageElement.cpp:
        * svg/SVGFEImageElement.h:
        * svg/SVGFEImageElement.idl:
        * svg/SVGFELightElement.cpp:
        * svg/SVGFELightElement.h:
        * svg/SVGFEMergeElement.cpp:
        * svg/SVGFEMergeElement.h:
        * svg/SVGFEMergeElement.idl:
        * svg/SVGFEMergeNodeElement.cpp:
        * svg/SVGFEMergeNodeElement.h:
        * svg/SVGFEMergeNodeElement.idl:
        * svg/SVGFEMorphologyElement.cpp:
        * svg/SVGFEMorphologyElement.h:
        * svg/SVGFEMorphologyElement.idl:
        * svg/SVGFEOffsetElement.cpp:
        * svg/SVGFEOffsetElement.h:
        * svg/SVGFEOffsetElement.idl:
        * svg/SVGFEPointLightElement.cpp:
        * svg/SVGFEPointLightElement.h:
        * svg/SVGFEPointLightElement.idl:
        * svg/SVGFESpecularLightingElement.cpp:
        * svg/SVGFESpecularLightingElement.h:
        * svg/SVGFESpecularLightingElement.idl:
        * svg/SVGFESpotLightElement.cpp:
        * svg/SVGFESpotLightElement.h:
        * svg/SVGFESpotLightElement.idl:
        * svg/SVGFETileElement.cpp:
        * svg/SVGFETileElement.h:
        * svg/SVGFETileElement.idl:
        * svg/SVGFETurbulenceElement.cpp:
        * svg/SVGFETurbulenceElement.h:
        * svg/SVGFETurbulenceElement.idl:
        * svg/SVGFilterElement.cpp:
        * svg/SVGFilterElement.h:
        * svg/SVGFilterElement.idl:
        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
        * svg/SVGFilterPrimitiveStandardAttributes.h:
        * svg/SVGFilterPrimitiveStandardAttributes.idl:
        * svg/SVGFitToViewBox.cpp:
        * svg/SVGFitToViewBox.h:
        * svg/SVGFitToViewBox.idl:
        * svg/SVGFontElement.idl:
        * svg/SVGFontFaceElement.idl:
        * svg/SVGFontFaceFormatElement.idl:
        * svg/SVGFontFaceNameElement.cpp:
        * svg/SVGFontFaceNameElement.idl:
        * svg/SVGFontFaceSrcElement.idl:
        * svg/SVGFontFaceUriElement.idl:
        * svg/SVGForeignObjectElement.cpp:
        * svg/SVGForeignObjectElement.h:
        * svg/SVGForeignObjectElement.idl:
        * svg/SVGGElement.cpp:
        * svg/SVGGElement.h:
        * svg/SVGGElement.idl:
        * svg/SVGGlyphElement.idl:
        * svg/SVGGlyphRefElement.cpp:
        * svg/SVGGlyphRefElement.h:
        * svg/SVGGlyphRefElement.idl:
        * svg/SVGGradientElement.cpp:
        * svg/SVGGradientElement.h:
        * svg/SVGGradientElement.idl:
        * svg/SVGGraphicsElement.cpp:
        * svg/SVGGraphicsElement.h:
        * svg/SVGGraphicsElement.idl:
        * svg/SVGHKernElement.idl:
        * svg/SVGImageElement.cpp:
        * svg/SVGImageElement.h:
        * svg/SVGImageElement.idl:
        * svg/SVGImageLoader.cpp:
        * svg/SVGImageLoader.h:
        * svg/SVGLangSpace.cpp:
        * svg/SVGLangSpace.h:
        * svg/SVGLength.cpp:
        * svg/SVGLength.h:
        * svg/SVGLength.idl:
        * svg/SVGLengthContext.cpp:
        * svg/SVGLengthContext.h:
        * svg/SVGLengthList.cpp:
        * svg/SVGLengthList.h:
        * svg/SVGLengthList.idl:
        * svg/SVGLineElement.cpp:
        * svg/SVGLineElement.h:
        * svg/SVGLineElement.idl:
        * svg/SVGLinearGradientElement.cpp:
        * svg/SVGLinearGradientElement.h:
        * svg/SVGLinearGradientElement.idl:
        * svg/SVGLocatable.cpp:
        * svg/SVGLocatable.h:
        * svg/SVGMPathElement.cpp:
        * svg/SVGMPathElement.h:
        * svg/SVGMPathElement.idl:
        * svg/SVGMarkerElement.cpp:
        * svg/SVGMarkerElement.h:
        * svg/SVGMarkerElement.idl:
        * svg/SVGMaskElement.cpp:
        * svg/SVGMaskElement.h:
        * svg/SVGMaskElement.idl:
        * svg/SVGMatrix.h:
        * svg/SVGMatrix.idl:
        * svg/SVGMetadataElement.cpp:
        * svg/SVGMetadataElement.h:
        * svg/SVGMetadataElement.idl:
        * svg/SVGMissingGlyphElement.idl:
        * svg/SVGNumber.idl:
        * svg/SVGNumberList.cpp:
        * svg/SVGNumberList.h:
        * svg/SVGNumberList.idl:
        * svg/SVGPaint.cpp:
        * svg/SVGPaint.h:
        * svg/SVGPaint.idl:
        * svg/SVGParserUtilities.cpp:
        * svg/SVGParserUtilities.h:
        * svg/SVGParsingError.h:
        * svg/SVGPathBlender.cpp:
        * svg/SVGPathBlender.h:
        * svg/SVGPathBuilder.cpp:
        * svg/SVGPathBuilder.h:
        * svg/SVGPathByteStream.h:
        * svg/SVGPathByteStreamBuilder.cpp:
        * svg/SVGPathByteStreamBuilder.h:
        * svg/SVGPathByteStreamSource.cpp:
        * svg/SVGPathByteStreamSource.h:
        * svg/SVGPathConsumer.h:
        * svg/SVGPathElement.cpp:
        * svg/SVGPathElement.h:
        * svg/SVGPathElement.idl:
        * svg/SVGPathParser.cpp:
        * svg/SVGPathParser.h:
        * svg/SVGPathSeg.h:
        * svg/SVGPathSeg.idl:
        * svg/SVGPathSegArc.h:
        * svg/SVGPathSegArcAbs.h:
        * svg/SVGPathSegArcAbs.idl:
        * svg/SVGPathSegArcRel.h:
        * svg/SVGPathSegArcRel.idl:
        * svg/SVGPathSegClosePath.h:
        * svg/SVGPathSegClosePath.idl:
        * svg/SVGPathSegCurvetoCubic.h:
        * svg/SVGPathSegCurvetoCubicAbs.h:
        * svg/SVGPathSegCurvetoCubicAbs.idl:
        * svg/SVGPathSegCurvetoCubicRel.h:
        * svg/SVGPathSegCurvetoCubicRel.idl:
        * svg/SVGPathSegCurvetoCubicSmooth.h:
        * svg/SVGPathSegCurvetoCubicSmoothAbs.h:
        * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
        * svg/SVGPathSegCurvetoCubicSmoothRel.h:
        * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
        * svg/SVGPathSegCurvetoQuadratic.h:
        * svg/SVGPathSegCurvetoQuadraticAbs.h:
        * svg/SVGPathSegCurvetoQuadraticAbs.idl:
        * svg/SVGPathSegCurvetoQuadraticRel.h:
        * svg/SVGPathSegCurvetoQuadraticRel.idl:
        * svg/SVGPathSegCurvetoQuadraticSmoothAbs.h:
        * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
        * svg/SVGPathSegCurvetoQuadraticSmoothRel.h:
        * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
        * svg/SVGPathSegLinetoAbs.h:
        * svg/SVGPathSegLinetoAbs.idl:
        * svg/SVGPathSegLinetoHorizontal.h:
        * svg/SVGPathSegLinetoHorizontalAbs.h:
        * svg/SVGPathSegLinetoHorizontalAbs.idl:
        * svg/SVGPathSegLinetoHorizontalRel.h:
        * svg/SVGPathSegLinetoHorizontalRel.idl:
        * svg/SVGPathSegLinetoRel.h:
        * svg/SVGPathSegLinetoRel.idl:
        * svg/SVGPathSegLinetoVertical.h:
        * svg/SVGPathSegLinetoVerticalAbs.h:
        * svg/SVGPathSegLinetoVerticalAbs.idl:
        * svg/SVGPathSegLinetoVerticalRel.h:
        * svg/SVGPathSegLinetoVerticalRel.idl:
        * svg/SVGPathSegList.cpp:
        * svg/SVGPathSegList.h:
        * svg/SVGPathSegList.idl:
        * svg/SVGPathSegListBuilder.cpp:
        * svg/SVGPathSegListBuilder.h:
        * svg/SVGPathSegListSource.cpp:
        * svg/SVGPathSegListSource.h:
        * svg/SVGPathSegMovetoAbs.h:
        * svg/SVGPathSegMovetoAbs.idl:
        * svg/SVGPathSegMovetoRel.h:
        * svg/SVGPathSegMovetoRel.idl:
        * svg/SVGPathSegWithContext.h:
        * svg/SVGPathSource.h:
        * svg/SVGPathStringBuilder.cpp:
        * svg/SVGPathStringBuilder.h:
        * svg/SVGPathStringSource.cpp:
        * svg/SVGPathStringSource.h:
        * svg/SVGPathTraversalStateBuilder.cpp:
        * svg/SVGPathTraversalStateBuilder.h:
        * svg/SVGPathUtilities.cpp:
        * svg/SVGPathUtilities.h:
        * svg/SVGPatternElement.cpp:
        * svg/SVGPatternElement.h:
        * svg/SVGPatternElement.idl:
        * svg/SVGPoint.h:
        * svg/SVGPoint.idl:
        * svg/SVGPointList.cpp:
        * svg/SVGPointList.h:
        * svg/SVGPointList.idl:
        * svg/SVGPolyElement.cpp:
        * svg/SVGPolyElement.h:
        * svg/SVGPolygonElement.cpp:
        * svg/SVGPolygonElement.h:
        * svg/SVGPolygonElement.idl:
        * svg/SVGPolylineElement.cpp:
        * svg/SVGPolylineElement.h:
        * svg/SVGPolylineElement.idl:
        * svg/SVGPreserveAspectRatio.cpp:
        * svg/SVGPreserveAspectRatio.h:
        * svg/SVGPreserveAspectRatio.idl:
        * svg/SVGRadialGradientElement.cpp:
        * svg/SVGRadialGradientElement.h:
        * svg/SVGRadialGradientElement.idl:
        * svg/SVGRect.h:
        * svg/SVGRect.idl:
        * svg/SVGRectElement.cpp:
        * svg/SVGRectElement.h:
        * svg/SVGRectElement.idl:
        * svg/SVGRenderingIntent.h:
        * svg/SVGRenderingIntent.idl:
        * svg/SVGSVGElement.cpp:
        * svg/SVGSVGElement.h:
        * svg/SVGSVGElement.idl:
        * svg/SVGScriptElement.cpp:
        * svg/SVGScriptElement.h:
        * svg/SVGScriptElement.idl:
        * svg/SVGSetElement.cpp:
        * svg/SVGSetElement.h:
        * svg/SVGSetElement.idl:
        * svg/SVGStopElement.cpp:
        * svg/SVGStopElement.h:
        * svg/SVGStopElement.idl:
        * svg/SVGStringList.cpp:
        * svg/SVGStringList.h:
        * svg/SVGStringList.idl:
        * svg/SVGStyleElement.cpp:
        * svg/SVGStyleElement.h:
        * svg/SVGStyleElement.idl:
        * svg/SVGSwitchElement.cpp:
        * svg/SVGSwitchElement.h:
        * svg/SVGSwitchElement.idl:
        * svg/SVGSymbolElement.cpp:
        * svg/SVGSymbolElement.h:
        * svg/SVGSymbolElement.idl:
        * svg/SVGTRefElement.cpp:
        * svg/SVGTRefElement.h:
        * svg/SVGTRefElement.idl:
        * svg/SVGTSpanElement.cpp:
        * svg/SVGTSpanElement.h:
        * svg/SVGTSpanElement.idl:
        * svg/SVGTests.cpp:
        * svg/SVGTests.h:
        * svg/SVGTests.idl:
        * svg/SVGTextContentElement.cpp:
        * svg/SVGTextContentElement.h:
        * svg/SVGTextContentElement.idl:
        * svg/SVGTextElement.cpp:
        * svg/SVGTextElement.h:
        * svg/SVGTextElement.idl:
        * svg/SVGTextPathElement.cpp:
        * svg/SVGTextPathElement.h:
        * svg/SVGTextPathElement.idl:
        * svg/SVGTextPositioningElement.cpp:
        * svg/SVGTextPositioningElement.h:
        * svg/SVGTextPositioningElement.idl:
        * svg/SVGTitleElement.cpp:
        * svg/SVGTitleElement.h:
        * svg/SVGTitleElement.idl:
        * svg/SVGTransform.cpp:
        * svg/SVGTransform.h:
        * svg/SVGTransform.idl:
        * svg/SVGTransformDistance.cpp:
        * svg/SVGTransformDistance.h:
        * svg/SVGTransformList.cpp:
        * svg/SVGTransformList.h:
        * svg/SVGTransformList.idl:
        * svg/SVGTransformable.cpp:
        * svg/SVGTransformable.h:
        * svg/SVGURIReference.cpp:
        * svg/SVGURIReference.h:
        * svg/SVGURIReference.idl:
        * svg/SVGUnitTypes.h:
        * svg/SVGUnitTypes.idl:
        * svg/SVGUnknownElement.h:
        * svg/SVGUseElement.cpp:
        * svg/SVGUseElement.h:
        * svg/SVGUseElement.idl:
        * svg/SVGVKernElement.idl:
        * svg/SVGViewElement.cpp:
        * svg/SVGViewElement.h:
        * svg/SVGViewElement.idl:
        * svg/SVGViewSpec.cpp:
        * svg/SVGViewSpec.h:
        * svg/SVGViewSpec.idl:
        * svg/SVGZoomAndPan.cpp:
        * svg/SVGZoomAndPan.h:
        * svg/SVGZoomAndPan.idl:
        * svg/SVGZoomEvent.cpp:
        * svg/SVGZoomEvent.h:
        * svg/SVGZoomEvent.idl:
        * svg/animation/SMILTime.cpp:
        (WebCore::operator*):
        * svg/animation/SMILTime.h:
        * svg/animation/SMILTimeContainer.cpp:
        * svg/animation/SMILTimeContainer.h:
        * svg/animation/SVGSMILElement.cpp:
        * svg/animation/SVGSMILElement.h:
        * svg/graphics/SVGImage.cpp:
        * svg/graphics/SVGImage.h:
        * svg/graphics/SVGImageCache.cpp:
        * svg/graphics/SVGImageCache.h:
        * svg/graphics/SVGImageChromeClient.h:
        * svg/graphics/SVGImageForContainer.cpp:
        * svg/graphics/SVGImageForContainer.h:
        * svg/graphics/filters/SVGFEImage.cpp:
        * svg/graphics/filters/SVGFEImage.h:
        * svg/graphics/filters/SVGFilter.cpp:
        * svg/graphics/filters/SVGFilter.h:
        * svg/graphics/filters/SVGFilterBuilder.cpp:
        * svg/graphics/filters/SVGFilterBuilder.h:
        * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
        * svg/properties/SVGAnimatedListPropertyTearOff.h:
        * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
        * svg/properties/SVGAnimatedProperty.cpp:
        * svg/properties/SVGAnimatedProperty.h:
        * svg/properties/SVGAnimatedPropertyDescription.h:
        * svg/properties/SVGAnimatedPropertyMacros.h:
        * svg/properties/SVGAnimatedPropertyTearOff.h:
        * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
        * svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
        * svg/properties/SVGAttributeToPropertyMap.cpp:
        * svg/properties/SVGAttributeToPropertyMap.h:
        * svg/properties/SVGListProperty.h:
        * svg/properties/SVGListPropertyTearOff.h:
        * svg/properties/SVGPathSegListPropertyTearOff.cpp:
        * svg/properties/SVGPathSegListPropertyTearOff.h:
        * svg/properties/SVGProperty.h:
        * svg/properties/SVGPropertyInfo.cpp:
        * svg/properties/SVGPropertyInfo.h:
        * svg/properties/SVGPropertyTearOff.h:
        * svg/properties/SVGPropertyTraits.h:
        * svg/properties/SVGStaticListPropertyTearOff.h:
        * svg/properties/SVGStaticPropertyTearOff.h:
        * svg/properties/SVGStaticPropertyWithParentTearOff.h:
        * svg/properties/SVGTransformListPropertyTearOff.h:
        * svg/svgattrs.in:
        * svg/svgtags.in:
        * xml/XMLErrors.cpp:
        (WebCore::XMLErrors::insertErrorMessageBlock):
        * xml/parser/XMLDocumentParser.cpp:

2014-02-05  Zan Dobersek  <zdobersek@igalia.com>

        Manage CalcExpressionNode and derived classes through std::unique_ptr instead of OwnPtr
        https://bugs.webkit.org/show_bug.cgi?id=128118

        Reviewed by Darin Adler.

        Replace uses of OwnPtr for CalcExpressionNode and derived classes with std::unique_ptr.

        * css/CSSCalculationValue.cpp:
        (WebCore::CSSCalcPrimitiveValue::toCalcValue):
        (WebCore::CSSCalcBinaryOperation::toCalcValue):
        * css/CSSCalculationValue.h:
        * platform/CalculationValue.cpp:
        (WebCore::CalculationValue::create):
        * platform/CalculationValue.h:
        (WebCore::CalculationValue::CalculationValue):
        (WebCore::CalcExpressionBinaryOperation::CalcExpressionBinaryOperation):
        * platform/Length.cpp:
        (WebCore::Length::blendMixedTypes):
        * rendering/style/BasicShapes.cpp:
        (WebCore::BasicShapeCenterCoordinate::updateComputedLength):

2014-02-05  Zan Dobersek  <zdobersek@igalia.com>

        Remove CLASS_IF_GCC workarounds
        https://bugs.webkit.org/show_bug.cgi?id=128207

        Reviewed by Anders Carlsson.

        Remove the CLASS_IF_GCC macro that was defined to 'class' when using the GCC compiler.
        The macro was then used in class friendship declarations for templated classes to avoid
        corner-case compiler failures on both GCC pre-4.7 and MSVC pre-2013. The problematic
        versions of both compilers are no longer supported, so this macro is good to go.

        * bindings/generic/RuntimeEnabledFeatures.h:

2014-02-05  Ryuan Choi  <ryuan.choi@samsung.com>

        MediaPlayerPrivateGStreamerBase should have virtual destructor
        https://bugs.webkit.org/show_bug.cgi?id=128238

        Reviewed by Carlos Garcia Campos.

        MediaPlayerPrivateGStreamer inherit MediaPlayerPrivateGStreamerBase.
        So MediaPlayerPrivateGStreamerBase should have virtual destructor.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h: Made destructor as virtual.

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

        Remove <iframe seamless> support.
        <https://webkit.org/b/128213>

        Seamless iframes were behind a runtime flag that we never enabled,
        and the only other engine that implemented them (Blink) recently
        removed them. Since the feature is very invasive, let's take it
        out for now.

        Rubber-stamped by Antti Koivisto.

        * Configurations/FeatureDefines.xcconfig:
        * accessibility/AccessibilityObject.h:
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::parentObjectIfExists):
        (WebCore::AccessibilityRenderObject::parentObject):
        (WebCore::AccessibilityRenderObject::boundingBoxRect):
        (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
        (createAccessibilityRoleMap):
        * bindings/generic/RuntimeEnabledFeatures.cpp:
        (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
        * bindings/generic/RuntimeEnabledFeatures.h:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::ComputedStyleExtractor::propertyValue):
        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::pseudoId):
        (WebCore::populatePseudoTypeByNameMap):
        (WebCore::CSSSelector::extractPseudoType):
        * css/CSSSelector.h:
        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::checkOne):
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::adjustRenderStyle):
        * css/html.css:
        (iframe):
        * dom/Document.cpp:
        (WebCore::Document::scheduleStyleRecalc):
        (WebCore::Document::implicitOpen):
        (WebCore::Document::initSecurityContext):
        * dom/Document.h:
        * dom/DocumentStyleSheetCollection.cpp:
        (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
        * dom/SecurityContext.cpp:
        (WebCore::SecurityContext::SecurityContext):
        * dom/SecurityContext.h:
        * html/HTMLAttributeNames.in:
        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::HTMLIFrameElement):
        (WebCore::HTMLIFrameElement::isPresentationAttribute):
        (WebCore::HTMLIFrameElement::parseAttribute):
        * html/HTMLIFrameElement.h:
        * html/HTMLIFrameElement.idl:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::findFrameForNavigation):
        * page/FrameView.cpp:
        (WebCore::FrameView::calculateScrollbarModesForLayout):
        (WebCore::FrameView::isInChildFrameWithFrameFlattening):
        * page/Location.cpp:
        (WebCore::Location::setLocation):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::stretchesToViewport):
        * rendering/RenderIFrame.cpp:
        (WebCore::RenderIFrame::shouldComputeSizeAsReplaced):
        (WebCore::RenderIFrame::isInlineBlockOrInlineTable):
        (WebCore::RenderIFrame::flattenFrame):
        (WebCore::RenderIFrame::layout):
        * rendering/RenderIFrame.h:
        * rendering/RenderView.cpp:
        (WebCore::RenderView::initializeLayoutState):
        (WebCore::RenderView::layout):
        * rendering/RenderView.h:
        * style/StyleResolveForDocument.cpp:
        (WebCore::Style::resolveForDocument):
        * style/StyleResolveTree.cpp:
        (WebCore::Style::resolveTree):

2014-02-04  Tim Horton  <timothy_horton@apple.com>

        [iOS][wk2] Make development builds of WebKit work on device
        https://bugs.webkit.org/show_bug.cgi?id=128230

        Reviewed by Anders Carlsson.

        * platform/RuntimeApplicationChecksIOS.mm:
        (WebCore::applicationIsWebProcess):
        Add WebContent.Development as an additional name for the WebContent process.

2014-02-04  Brady Eidson  <beidson@apple.com>

        IDB: indexeddb/mozilla/add-twice-failure.html fails
        <rdar://problem/15982569> and https://bugs.webkit.org/show_bug.cgi?id=128208

        Reviewed by Tim Horton.

        Covered specifically by indexeddb/mozilla/add-twice-failure.html and a handful of others.

        * Modules/indexeddb/IDBRequest.cpp:
        (WebCore::IDBRequest::onError): Improve logging.

        * Modules/indexeddb/IDBTransactionBackend.cpp:
        (WebCore::IDBTransactionBackend::abort): Improve logging.

        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
        (WebCore::PutOperation::perform): Don’t abort the transaction when an error occurred.

        * WebCore.exp.in:

2014-02-04  Yoav Weiss  <yoav@yoav.ws>

        Use srcset's pixel density to determine intrinsic size
        https://bugs.webkit.org/show_bug.cgi?id=123832

        Reviewed by Dean Jackson.

        The patch is a port of a similar Blink patch: https://codereview.chromium.org/25105004
        According to the spec "When an img element has a current pixel density that is not 1.0,
        the element's image data must be treated as if its resolution, in device pixels per CSS pixels,
        was the current pixel density."

        I've added that support using the following changes:
        - bestFitSourceForImageAttributes now returns the image candidate to HTMLImageElement.
        - HTMLImageElement passes the devicePixelRatio data to RenderImage, which stores it.
        - Bitmap images are scaled using the devicePixelRatio at RenderImageResource's intrinsicSize() and imageSize().
        - SVG images are scaled using the devicePixelRatio at RenderReplaced::computeAspectRatioInformationForRenderBox.
        - Canvas support added at CanvasRenderingContext2D::size.

        Tests: fast/hidpi/image-srcset-intrinsic-size.html
               fast/hidpi/image-srcset-png-canvas.html
               fast/hidpi/image-srcset-png.html
               fast/hidpi/image-srcset-relative-svg-canvas-2x.html
               fast/hidpi/image-srcset-relative-svg.html
               fast/hidpi/image-srcset-space-left-nomodifier.html
               fast/hidpi/image-srcset-svg-canvas-2x.html
               fast/hidpi/image-srcset-svg-canvas.html
               fast/hidpi/image-srcset-svg.html
               fast/hidpi/image-srcset-svg2.html

        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::HTMLImageElement):
        (WebCore::HTMLImageElement::parseAttribute):
        (WebCore::HTMLImageElement::createRenderer):
        * html/HTMLImageElement.h:
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::size):
        (WebCore::CanvasRenderingContext2D::drawImage):
        * html/parser/HTMLParserIdioms.cpp:
        (WebCore::compareByScaleFactor):
        (WebCore::parseImagesWithScaleFromSrcsetAttribute):
        (WebCore::bestFitSourceForImageAttributes):
        * html/parser/HTMLParserIdioms.h:
        (WebCore::ImageWithScale::ImageWithScale):
        (WebCore::ImageWithScale::imageURL):
        (WebCore::ImageWithScale::scaleFactor):
        * html/parser/HTMLPreloadScanner.cpp:
        (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::RenderImage):
        * rendering/RenderImage.h:
        (WebCore::RenderImage::setImageDevicePixelRatio):
        (WebCore::RenderImage::imageDevicePixelRatio):
        * rendering/RenderImageResource.cpp:
        (WebCore::RenderImageResource::imageSize):
        (WebCore::RenderImageResource::intrinsicSize):
        (WebCore::RenderImageResource::getImageSize):
        * rendering/RenderImageResource.h:
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::computeAspectRatioInformationForRenderBox):

2014-02-04  Geoffrey Garen  <ggaren@apple.com>

        Rolled out <http://trac.webkit.org/changeset/163280>:

            Push DOM attributes into the prototype chain
            ​https://bugs.webkit.org/show_bug.cgi?id=127969

        It caused performance regressions, and broken websites on iOS.

        Reviewed by Geoffrey Garen.

        * bindings/js/JSDOMBinding.h:
        (WebCore::getStaticValueSlotEntryWithoutCaching):
        * bindings/js/JSStorageCustom.cpp:
        (WebCore::JSStorage::nameGetter):
        (WebCore::JSStorage::deleteProperty):
        (WebCore::JSStorage::putDelegate):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateGetOwnPropertySlotBody):
        (InstanceOverridesGetOwnPropertySlot):
        (PrototypeOverridesGetOwnPropertySlot):
        (GenerateAttributesHashTable):
        (GenerateImplementation):
        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
        (WebCore::jsTestActiveDOMObjectConstructor):
        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
        (WebCore::jsTestCustomNamedGetterConstructor):
        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
        (WebCore::JSTestEventConstructor::getOwnPropertySlot):
        (WebCore::jsTestEventConstructorConstructor):
        * bindings/scripts/test/JS/JSTestEventConstructor.h:
        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
        (WebCore::jsTestEventTargetConstructor):
        * bindings/scripts/test/JS/JSTestException.cpp:
        (WebCore::jsTestExceptionConstructor):
        * bindings/scripts/test/JS/JSTestException.h:
        * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
        (WebCore::JSTestGenerateIsReachable::getOwnPropertySlot):
        (WebCore::jsTestGenerateIsReachableConstructor):
        * bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::jsTestInterfaceConstructor):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
        (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlot):
        (WebCore::JSTestMediaQueryListListener::getOwnPropertySlot):
        (WebCore::jsTestMediaQueryListListenerConstructor):
        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
        (WebCore::JSTestNamedConstructor::getOwnPropertySlot):
        (WebCore::jsTestNamedConstructorConstructor):
        * bindings/scripts/test/JS/JSTestNamedConstructor.h:
        * bindings/scripts/test/JS/JSTestNode.cpp:
        (WebCore::JSTestNode::getOwnPropertySlot):
        (WebCore::jsTestNodeConstructor):
        * bindings/scripts/test/JS/JSTestNode.h:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjConstructor):
        * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
        (WebCore::JSTestOverloadedConstructors::getOwnPropertySlot):
        (WebCore::jsTestOverloadedConstructorsConstructor):
        * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):
        (WebCore::jsTestSerializedScriptValueInterfaceConstructor):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
        (WebCore::JSTestTypedefsPrototype::getOwnPropertySlot):
        (WebCore::jsTestTypedefsConstructor):
        * bindings/scripts/test/JS/JSattribute.cpp:
        (WebCore::JSattribute::getOwnPropertySlot):
        (WebCore::jsattributeConstructor):
        * bindings/scripts/test/JS/JSattribute.h:
        * bindings/scripts/test/JS/JSreadonly.cpp:
        (WebCore::JSreadonly::getOwnPropertySlot):
        (WebCore::jsreadonlyConstructor):
        * bindings/scripts/test/JS/JSreadonly.h:

2014-02-04  Alexey Proskuryakov  <ap@apple.com>

        WebCrypto HMAC verification uses a non-constant-time memcmp
        https://bugs.webkit.org/show_bug.cgi?id=128198
        <rdar://problem/15976961>

        Reviewed by Oliver Hunt.

        * crypto/mac/CryptoAlgorithmHMACMac.cpp: (WebCore::CryptoAlgorithmHMAC::platformVerify):
        Use a constant time memcmp.

2014-02-04  Simon Fraser  <simon.fraser@apple.com>

        Add WK2 event handling path for iOS, and make Mac and iOS code more similar
        https://bugs.webkit.org/show_bug.cgi?id=128199

        Reviewed by Sam Weinig.

        EventHandlerIOS need some changes for WebKit2, where we have no native
        widget. Merge those changes from EventHandlerMac.
        
        Make a few drive-by changes to match EventHandlerMac behavior.
        
        Clean up EventHandlerMac, removing trailing whitespace and fixing
        the odd comment.

        * page/ios/EventHandlerIOS.mm:
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        (WebCore::EventHandler::passMouseDownEventToWidget):
        (WebCore::EventHandler::passSubframeEventToSubframe):
        (WebCore::EventHandler::passWheelEventToWidget):
        (WebCore::EventHandler::mouseDown):
        (WebCore::EventHandler::mouseMoved):
        (WebCore::frameHasPlatformWidget):
        (WebCore::EventHandler::passMousePressEventToSubframe):
        (WebCore::EventHandler::passMouseMoveEventToSubframe):
        (WebCore::EventHandler::passMouseReleaseEventToSubframe):
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        (WebCore::EventHandler::passMouseDownEventToWidget):
        (WebCore::findViewInSubviews):
        (WebCore::EventHandler::eventLoopHandleMouseUp):
        (WebCore::EventHandler::passWheelEventToWidget):
        (WebCore::EventHandler::mouseMoved):

2014-02-04  Benjamin Poulain  <bpoulain@apple.com>

        [OSX] Limit progress bar's dimensions to ushort
        https://bugs.webkit.org/show_bug.cgi?id=128019

        Wordaround a crash in Quartz until <rdar://problem/15855086> is fixed.

        Reviewed by Sam Weinig.

        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::progressBarRectForBounds):

2014-02-04  Anders Carlsson  <andersca@apple.com>

        Rename StringImpl::getCharacters to StringImpl::characters
        https://bugs.webkit.org/show_bug.cgi?id=128205

        Reviewed by Antti Koivisto.

        Update for WTF changes.

        * rendering/SimpleLineLayout.cpp:
        (WebCore::SimpleLineLayout::createTextRuns):

2014-02-04  Anders Carlsson  <andersca@apple.com>

        Rename equalNonNull to equal and make it take const StringImpl& instead
        https://bugs.webkit.org/show_bug.cgi?id=128206

        Reviewed by Andreas Kling.

        * html/parser/HTMLParserIdioms.cpp:
        (WebCore::threadSafeEqual):
        (WebCore::threadSafeMatch):

2014-02-04  Anders Carlsson  <andersca@apple.com>

        Rename String::getCharacters to String::characters
        https://bugs.webkit.org/show_bug.cgi?id=128196

        Reviewed by Andreas Kling.

        Update for WTF::String changes.

        * dom/Document.cpp:
        (WebCore::canonicalizedTitle):

2014-02-04  Eric Carlson  <eric.carlson@apple.com>

        Fix Release build after r163390.

        * platform/audio/MediaSession.cpp: Add "#if !LOG_DISABLED" around logging-only function.

2014-02-04  Eric Carlson  <eric.carlson@apple.com>

        Refine MediaSession interruptions
        https://bugs.webkit.org/show_bug.cgi?id=128125

        Reviewed by Jer Noble.

        Test: media/video-background-playback.html

        * WebCore.exp.in: Export applicationWillEnterForeground and applicationWillEnterBackground for
            Internals.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::play): Ask the media session if playback is allowed instead of check
            to see if it is interrupted directly.
        (WebCore::HTMLMediaElement::pause): Ask the media session if pausing is allowed instead of check
            to see if it is interrupted directly.
        (WebCore::HTMLMediaElement::mediaType): Return media type based on media characteristics once
            the information is available.
        (WebCore::HTMLMediaElement::resumePlayback): New.
        * html/HTMLMediaElement.h:

        * html/HTMLMediaSession.cpp:
        (WebCore::restrictionName): New, use for logging only.
        (WebCore::HTMLMediaSession::addBehaviorRestriction): Log  restriction changes.
        (WebCore::HTMLMediaSession::removeBehaviorRestriction): Ditto.
        * html/HTMLMediaSession.h:

        * platform/audio/MediaSession.cpp:
        (WebCore::stateName): New, used for logging.
        (WebCore::MediaSession::MediaSession): Don't cache client media type because it can change.
        (WebCore::MediaSession::setState): Log state changes.
        (WebCore::MediaSession::beginInterruption): Remember the current state in case we want to use it
            to restore state when the interruption ends.
        (WebCore::MediaSession::endInterruption): Resume playback if appropriate.
        (WebCore::MediaSession::clientWillBeginPlayback): Track the client's playback state.
        (WebCore::MediaSession::clientWillPausePlayback): Ditto.
        (WebCore::MediaSession::mediaType): Ask client for state.
        * platform/audio/MediaSession.h:

        * platform/audio/MediaSessionManager.cpp:
        (WebCore::MediaSessionManager::MediaSessionManager): m_interruptions -> m_interrupted.
        (WebCore::MediaSessionManager::beginInterruption): Don't assume interruptions are always balanced.
        (WebCore::MediaSessionManager::endInterruption): Ditto.
        (WebCore::MediaSessionManager::addSession): 
        (WebCore::MediaSessionManager::applicationWillEnterBackground): Interrupt client if it is not
            allowed to play in the background.
        (WebCore::MediaSessionManager::applicationWillEnterForeground): End client interruption if it
            was stopped by an interruption.
        * platform/audio/MediaSessionManager.h:

        * platform/audio/ios/MediaSessionManagerIOS.h:
        * platform/audio/ios/MediaSessionManagerIOS.mm:
        (WebCore::MediaSessionManageriOS::~MediaSessionManageriOS): Clear the helper callback.
        (WebCore::MediaSessionManageriOS::resetRestrictions): Mark video as not allowed to play
            while the application is in the background. Register for application suspend/resume
            notifications.
        (-[WebMediaSessionHelper clearCallback]): Set _callback to nil.
        (-[WebMediaSessionHelper applicationWillEnterForeground:]): New, notify client of application 
            state change.
        (-[WebMediaSessionHelper applicationWillResignActive:]): Ditto.

        * platform/audio/mac/AudioDestinationMac.h: Add resumePlayback.

        * testing/Internals.cpp:
        (WebCore::Internals::applicationWillEnterForeground): New, simulate application context switch.
        (WebCore::Internals::applicationWillEnterBackground): Ditto.
        (WebCore::Internals::setMediaSessionRestrictions): Add "BackgroundPlaybackNotPermitted" restriction.
        * testing/Internals.h:
        * testing/Internals.idl:

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

        Remove CPP bindings generator.
        <https://webkit.org/b/128189>

        Scrub out some leftover Blackberry gunk.

        Reviewed by Anders Carlsson.

        * Modules/webdatabase/SQLResultSet.idl:
        * bindings/cpp/WebDOMCString.cpp: Removed.
        * bindings/cpp/WebDOMCString.h: Removed.
        * bindings/cpp/WebDOMDOMWindowCustom.cpp: Removed.
        * bindings/cpp/WebDOMEventListenerCustom.cpp: Removed.
        * bindings/cpp/WebDOMEventTarget.cpp: Removed.
        * bindings/cpp/WebDOMEventTarget.h: Removed.
        * bindings/cpp/WebDOMHTMLCollectionCustom.cpp: Removed.
        * bindings/cpp/WebDOMHTMLDocumentCustom.cpp: Removed.
        * bindings/cpp/WebDOMHTMLOptionsCollectionCustom.cpp: Removed.
        * bindings/cpp/WebDOMNodeCustom.cpp: Removed.
        * bindings/cpp/WebDOMNodeFilterCustom.cpp: Removed.
        * bindings/cpp/WebDOMObject.h: Removed.
        * bindings/cpp/WebDOMString.cpp: Removed.
        * bindings/cpp/WebDOMString.h: Removed.
        * bindings/cpp/WebExceptionHandler.cpp: Removed.
        * bindings/cpp/WebExceptionHandler.h: Removed.
        * bindings/cpp/WebNativeEventListener.cpp: Removed.
        * bindings/cpp/WebNativeEventListener.h: Removed.
        * bindings/cpp/WebNativeNodeFilterCondition.cpp: Removed.
        * bindings/cpp/WebNativeNodeFilterCondition.h: Removed.
        * bindings/scripts/CodeGeneratorCPP.pm: Removed.
        * bindings/scripts/test/CPP/CPPTestSupplemental.cpp: Removed.
        * bindings/scripts/test/CPP/CPPTestSupplemental.h: Removed.
        * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp: Removed.
        * bindings/scripts/test/CPP/WebDOMFloat64Array.h: Removed.
        * bindings/scripts/test/CPP/WebDOMTestActiveDOMObject.cpp: Removed.
        * bindings/scripts/test/CPP/WebDOMTestActiveDOMObject.h: Removed.
        * bindings/scripts/test/CPP/WebDOMTestCallback.cpp: Removed.
        * bindings/scripts/test/CPP/WebDOMTestCallback.h: Removed.
        * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.cpp: Removed.
        * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.h: Removed.
        * bindings/scripts/test/CPP/WebDOMTestEventConstructor.cpp: Removed.
        * bindings/scripts/test/CPP/WebDOMTestEventConstructor.h: Removed.
        * bindings/scripts/test/CPP/WebDOMTestEventTarget.cpp: Removed.
        * bindings/scripts/test/CPP/WebDOMTestEventTarget.h: Removed.
        * bindings/scripts/test/CPP/WebDOMTestException.cpp: Removed.
        * bindings/scripts/test/CPP/WebDOMTestException.h: Removed.
        * bindings/scripts/test/CPP/WebDOMTestGenerateIsReachable.cpp: Removed.
        * bindings/scripts/test/CPP/WebDOMTestGenerateIsReachable.h: Removed.
        * bindings/scripts/test/CPP/WebDOMTestImplements.cpp: Removed.
        * bindings/scripts/test/CPP/WebDOMTestImplements.h: Removed.
        * bindings/scripts/test/CPP/WebDOMTestInterface.cpp: Removed.
        * bindings/scripts/test/CPP/WebDOMTestInterface.h: Removed.
        * bindings/scripts/test/CPP/WebDOMTestMediaQueryListListener.cpp: Removed.
        * bindings/scripts/test/CPP/WebDOMTestMediaQueryListListener.h: Removed.
        * bindings/scripts/test/CPP/WebDOMTestNamedConstructor.cpp: Removed.
        * bindings/scripts/test/CPP/WebDOMTestNamedConstructor.h: Removed.
        * bindings/scripts/test/CPP/WebDOMTestNode.cpp: Removed.
        * bindings/scripts/test/CPP/WebDOMTestNode.h: Removed.
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Removed.
        * bindings/scripts/test/CPP/WebDOMTestObj.h: Removed.
        * bindings/scripts/test/CPP/WebDOMTestOverloadedConstructors.cpp: Removed.
        * bindings/scripts/test/CPP/WebDOMTestOverloadedConstructors.h: Removed.
        * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp: Removed.
        * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h: Removed.
        * bindings/scripts/test/CPP/WebDOMTestSupplemental.cpp: Removed.
        * bindings/scripts/test/CPP/WebDOMTestSupplemental.h: Removed.
        * bindings/scripts/test/CPP/WebDOMTestTypedefs.cpp: Removed.
        * bindings/scripts/test/CPP/WebDOMTestTypedefs.h: Removed.
        * bindings/scripts/test/CPP/WebDOMattribute.cpp: Removed.
        * bindings/scripts/test/CPP/WebDOMattribute.h: Removed.
        * bindings/scripts/test/CPP/WebDOMreadonly.cpp: Removed.
        * bindings/scripts/test/CPP/WebDOMreadonly.h: Removed.
        * css/StyleSheet.idl:
        * dom/CustomEvent.idl:
        * dom/Document.idl:
        * dom/Event.idl:
        * dom/Node.idl:
        * dom/PopStateEvent.idl:
        * html/HTMLCanvasElement.idl:
        * html/HTMLInputElement.idl:
        * html/canvas/CanvasRenderingContext2D.idl:
        * page/DOMWindow.idl:
        * page/Location.idl:
        * workers/DedicatedWorkerGlobalScope.idl:

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

        iOS build fix.

        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::platformInit):

2014-02-03  Zan Dobersek  <zdobersek@igalia.com>

        Manage MediaQuery and MediaQueryExp classes through std::unique_ptr instead of OwnPtr
        https://bugs.webkit.org/show_bug.cgi?id=128117

        Reviewed by Darin Adler.

        Replace uses of OwnPtr for the MediaQuery and MediaQueryExp classes with std::unique_ptr.

        * css/CSSGrammar.y.in:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseMediaQuery):
        * css/CSSParser.h:
        * css/MediaList.cpp:
        (WebCore::MediaQuerySet::parse):
        (WebCore::MediaQuerySet::add):
        (WebCore::MediaQuerySet::remove):
        (WebCore::MediaQuerySet::addMediaQuery):
        (WebCore::MediaList::item):
        (WebCore::reportMediaQueryWarningIfNeeded):
        * css/MediaList.h:
        (WebCore::MediaQuerySet::queryVector):
        * css/MediaQuery.cpp:
        (WebCore::MediaQuery::MediaQuery):
        * css/MediaQuery.h:
        (WebCore::MediaQuery::expressions):
        (WebCore::MediaQuery::copy):
        * css/MediaQueryEvaluator.cpp:
        (WebCore::MediaQueryEvaluator::eval):
        * css/MediaQueryExp.cpp:
        (WebCore::MediaQueryExp::MediaQueryExp):
        * css/MediaQueryExp.h:
        (WebCore::MediaQueryExp::copy):

2014-02-04  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>

        Remove SVG_DOM_OBJC_BINDINGS after r161638.
        https://bugs.webkit.org/show_bug.cgi?id=128182

        Reviewed by Andreas Kling.

        Removed ENABLE(SVG_DOM_OBJC_BINDINGS).

        No tests required.

        * bindings/objc/DOMUIKitExtensions.mm:
        (-[DOMNode boundingBoxes]):
        (-[DOMNode absoluteQuads]):

2014-02-04  Radu Stavila  <stavila@adobe.com>

        REGRESSION (r159609): Images are corrupted when hovering over buttons @ github.com
        https://bugs.webkit.org/show_bug.cgi?id=127729

        Reviewed by Antti Koivisto.

        When clipping a rect, the RenderLayer would not properly save the context when
        the clipping rect is the same as the paint rect and the clipping rect
        has radius.

        Test: fast/regions/repaint/hover-border-radius.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::clipToRect):
        (WebCore::RenderLayer::restoreClip):

2014-02-04  Ryuan Choi  <ryuan.choi@samsung.com>

        [CMAKE] Remove workaround for GCC 4.6
        https://bugs.webkit.org/show_bug.cgi?id=128176

        Reviewed by Csaba Osztrogonác.

        Since r162126, WebKit requires at least 4.7.

        * CMakeLists.txt:

2014-02-04  Zan Dobersek  <zdobersek@igalia.com>

        Manage RuleSet and RuleData classes through std::unique_ptr instead of OwnPtr
        https://bugs.webkit.org/show_bug.cgi?id=128116

        Reviewed by Darin Adler.

        Replace uses of OwnPtr for the RuleSet and RuleData classes with std::unique_ptr.

        * css/CSSDefaultStyleSheets.cpp:
        (WebCore::CSSDefaultStyleSheets::loadFullDefaultStyle):
        (WebCore::CSSDefaultStyleSheets::loadSimpleDefaultStyle):
        (WebCore::CSSDefaultStyleSheets::viewSourceStyle):
        * css/DocumentRuleSets.cpp:
        (WebCore::DocumentRuleSets::initUserStyle):
        (WebCore::makeRuleSet):
        (WebCore::DocumentRuleSets::resetAuthorStyle):
        * css/DocumentRuleSets.h:
        * css/RuleSet.cpp:
        (WebCore::RuleSet::addToRuleSet):
        (WebCore::RuleSet::addRegionRule):
        * css/RuleSet.h:
        (WebCore::RuleSet::RuleSetSelectorPair::RuleSetSelectorPair):

2014-02-04  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r163376.
        http://trac.webkit.org/changeset/163376
        https://bugs.webkit.org/show_bug.cgi?id=128184

        Unexpected test failures. (Requested by eric_carlson on
        #webkit).

        * WebCore.exp.in:
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::parseAttribute):
        * html/HTMLMediaElement.h:
        * html/HTMLMediaSession.cpp:
        (WebCore::HTMLMediaSession::addBehaviorRestriction):
        (WebCore::HTMLMediaSession::removeBehaviorRestriction):
        (WebCore::HTMLMediaSession::clientWillBeginPlayback):
        * html/HTMLMediaSession.h:
        * platform/audio/MediaSession.cpp:
        (WebCore::MediaSession::MediaSession):
        (WebCore::MediaSession::beginInterruption):
        (WebCore::MediaSession::endInterruption):
        * platform/audio/MediaSession.h:
        (WebCore::MediaSession::mediaType):
        (WebCore::MediaSession::setState):
        (WebCore::MediaSessionClient::beginInterruption):
        (WebCore::MediaSessionClient::endInterruption):
        * platform/audio/MediaSessionManager.cpp:
        (WebCore::MediaSessionManager::MediaSessionManager):
        (WebCore::MediaSessionManager::beginInterruption):
        (WebCore::MediaSessionManager::endInterruption):
        (WebCore::MediaSessionManager::addSession):
        * platform/audio/MediaSessionManager.h:
        * platform/audio/ios/MediaSessionManagerIOS.h:
        (WebCore::MediaSessionManageriOS::~MediaSessionManageriOS):
        * platform/audio/ios/MediaSessionManagerIOS.mm:
        (WebCore::MediaSessionManageriOS::resetRestrictions):
        (-[WebMediaSessionHelper initWithCallback:]):
        * platform/audio/mac/AudioDestinationMac.h:
        * testing/Internals.cpp:
        (WebCore::Internals::setMediaSessionRestrictions):
        * testing/Internals.h:
        * testing/Internals.idl:

2014-02-04  Eric Carlson  <eric.carlson@apple.com>

        Refine MediaSession interruptions
        https://bugs.webkit.org/show_bug.cgi?id=128125

        Reviewed by Jer Noble.

        Test: media/video-background-playback.html

        * WebCore.exp.in: Export applicationWillEnterForeground and applicationWillEnterBackground for
            Internals.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::play): Ask the media session if playback is allowed instead of check
            to see if it is interrupted directly.
        (WebCore::HTMLMediaElement::pause): Ask the media session if pausing is allowed instead of check
            to see if it is interrupted directly.
        (WebCore::HTMLMediaElement::mediaType): Return media type based on media characteristics once
            the information is available.
        (WebCore::HTMLMediaElement::resumePlayback): New.
        * html/HTMLMediaElement.h:

        * html/HTMLMediaSession.cpp:
        (WebCore::restrictionName): New, use for logging only.
        (WebCore::HTMLMediaSession::addBehaviorRestriction): Log  restriction changes.
        (WebCore::HTMLMediaSession::removeBehaviorRestriction): Ditto.
        * html/HTMLMediaSession.h:

        * platform/audio/MediaSession.cpp:
        (WebCore::stateName): New, used for logging.
        (WebCore::MediaSession::MediaSession): Don't cache client media type because it can change.
        (WebCore::MediaSession::setState): Log state changes.
        (WebCore::MediaSession::beginInterruption): Remember the current state in case we want to use it
            to restore state when the interruption ends.
        (WebCore::MediaSession::endInterruption): Resume playback if appropriate.
        (WebCore::MediaSession::clientWillBeginPlayback): Track the client's playback state.
        (WebCore::MediaSession::clientWillPausePlayback): Ditto.
        (WebCore::MediaSession::mediaType): Ask client for state.
        * platform/audio/MediaSession.h:

        * platform/audio/MediaSessionManager.cpp:
        (WebCore::MediaSessionManager::MediaSessionManager): m_interruptions -> m_interrupted.
        (WebCore::MediaSessionManager::beginInterruption): Don't assume interruptions are always balanced.
        (WebCore::MediaSessionManager::endInterruption): Ditto.
        (WebCore::MediaSessionManager::addSession): 
        (WebCore::MediaSessionManager::applicationWillEnterBackground): Interrupt client if it is not
            allowed to play in the background.
        (WebCore::MediaSessionManager::applicationWillEnterForeground): End client interruption if it
            was stopped by an interruption.
        * platform/audio/MediaSessionManager.h:

        * platform/audio/ios/MediaSessionManagerIOS.h:
        * platform/audio/ios/MediaSessionManagerIOS.mm:
        (WebCore::MediaSessionManageriOS::~MediaSessionManageriOS): Clear the helper callback.
        (WebCore::MediaSessionManageriOS::resetRestrictions): Mark video as not allowed to play
            while the application is in the background. Register for application suspend/resume
            notifications.
        (-[WebMediaSessionHelper clearCallback]): Set _callback to nil.
        (-[WebMediaSessionHelper applicationWillEnterForeground:]): New, notify client of application 
            state change.
        (-[WebMediaSessionHelper applicationWillResignActive:]): Ditto.

        * platform/audio/mac/AudioDestinationMac.h: Add resumePlayback.

        * testing/Internals.cpp:
        (WebCore::Internals::applicationWillEnterForeground): New, simulate application context switch.
        (WebCore::Internals::applicationWillEnterBackground): Ditto.
        (WebCore::Internals::setMediaSessionRestrictions): Add "BackgroundPlaybackNotPermitted" restriction.
        * testing/Internals.h:
        * testing/Internals.idl:

2014-02-04  Mihai Maerean  <mmaerean@adobe.com>

        [CSS Regions] Fix Assert SHOULD NEVER BE REACHED in RenderLayer::enclosingElement()
        https://bugs.webkit.org/show_bug.cgi?id=123329

        Reviewed by Mihnea Ovidenie.

        The flowthread doesn't have an enclosing element, so when hitting the layer of the
        flowthread (e.g. the descent area of the RootInlineBox for the image flowed alone
        inside the flow thread) we're letting the hit testing continue so it will hit the region.

        Tests: fast/regions/assert-hit-test-image.html
               fast/regions/auto-size/region-same-height-as-div-with-inline-child.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hitTestContents):

2014-02-04  Mihnea Ovidenie  <mihnea@adobe.com>

        ASSERTION FAILED: !object || (object->isRenderBlock())
        https://bugs.webkit.org/show_bug.cgi?id=127687

        Reviewed by Ryosuke Niwa.

        Currently, when computing the visible position for a point inside a region,
        we transform the point into flow thread coordinates and delegate the processing
        to the first child of the flow thread which we incorrectly assume is a block.
        However, we can specify flow-into also on inline elements which leads to the
        assertion.

        Instead of delegating the processing to the first child when the flow thread
        has children, delegate the computation of the visible position to the
        flow thread and avoid any assumption about the nature of the flow thread
        first child. If the flow thread does not have any children that should be
        rendered by the region, let the region behave like an ordinary element
        with no children.

        Tests: fast/regions/selection/position-for-point-inline-content-node.html
               fast/regions/selection/selection-ended-in-empty-region.html

        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::positionForPoint):

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

        Remove stray vestige from ::-webkit-distributed selector.
        <https://webkit.org/b/128154>

        Reviewed by Anders Carlsson.

        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::extractPseudoType):

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

        Remove the CSS @host rule.
        <https://webkit.org/b/128146>

        The @host rule is no longer part of the spec, and besides this code
        was behind ENABLE(SHADOW_DOM) so nobody was building it.

        Reviewed by Anders Carlsson.

        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.list.am:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSCSSRuleCustom.cpp:
        (WebCore::toJS):
        * bindings/objc/DOMCSS.mm:
        (kitClass):
        * css/CSSAllInOne.cpp:
        * css/CSSGrammar.y.in:
        * css/CSSHostRule.cpp: Removed.
        * css/CSSHostRule.h: Removed.
        * css/CSSHostRule.idl: Removed.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::detectDashToken):
        (WebCore::CSSParser::detectAtToken):
        * css/CSSParser.h:
        * css/CSSRule.h:
        * css/CSSRule.idl:
        * css/InspectorCSSOMWrappers.cpp:
        (WebCore::InspectorCSSOMWrappers::collect):
        * css/StyleResolver.h:
        * css/StyleRule.cpp:
        (WebCore::StyleRuleBase::destroy):
        (WebCore::StyleRuleBase::copy):
        (WebCore::StyleRuleBase::createCSSOMWrapper):
        * css/StyleRule.h:
        * css/StyleSheetContents.cpp:
        (WebCore::childRulesHaveFailedOrCanceledSubresources):
        * inspector/InspectorStyleSheet.cpp:
        (flattenSourceData):
        (WebCore::asCSSRuleList):

2014-02-03  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Do not query the scaling factor when the graphics context is invalid.
        https://bugs.webkit.org/show_bug.cgi?id=128131

        Reviewed by Simon Fraser.

        No existing context to test it.

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::platformInit):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::platformInit):
        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::GraphicsContext::platformInit):

2014-02-03  Hunseop Jeong  <hs85.jeong@samsung.com>

        [Cairo] GraphicsContext::m_pixelSnappingFactor is uninitialized
        https://bugs.webkit.org/show_bug.cgi?id=128102

        Reviewed by Csaba Osztrogonác.

        Initalize m_pixelSnappingFactor to 1

        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::GraphicsContext): Initialized pixelSnappingFactor to 1 and 
        fixed the coding style violation.

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

        Web Replay: upstream base input classes and the input cursor interface
        https://bugs.webkit.org/show_bug.cgi?id=128110

        Reviewed by Joseph Pecoraro.

        Add EventLoopInput, a base class for replay inputs that are handled
        as if they begin a new run loop. For example, navigations, user input,
        network callbacks, and asynchronous timers are modeled by inputs which
        derive from this base class.

        Add the ability to set an InputCursor instance on a Document. This
        is the means for connecting a replay recording to a document context.

        Add forwarding headers for some fundamental replay classes.

        No new tests; no new functionality is exposed.

        * ForwardingHeaders/replay/EmptyInputCursor.h: Added.
        * ForwardingHeaders/replay/InputCursor.h: Added.
        * ForwardingHeaders/replay/NondeterministicInput.h: Added.
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        (WebCore::Document::Document):
        * dom/Document.h:
        (WebCore::Document::inputCursor):
        (WebCore::Document::setInputCursor):
        * replay/EventLoopInput.h: Added.
        (WebCore::ReplayPosition::ReplayPosition):
        (WebCore::ReplayPosition::index):
        (WebCore::ReplayPosition::time):
        (WebCore::EventLoopInputBase::EventLoopInputBase):
        (WebCore::EventLoopInputBase::~EventLoopInputBase):
        (WebCore::EventLoopInputBase::setPosition):
        (WebCore::EventLoopInputBase::position):

2014-02-03  Jinwoo Song  <jinwoo7.song@samsung.com>

        Remove unused code in CSSParser.cpp
        https://bugs.webkit.org/show_bug.cgi?id=128135

        Reviewed by Darin Adler.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):

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

        [Mac] WK1 Clients Only Latch on Momentum Scroll
        https://bugs.webkit.org/show_bug.cgi?id=128133

        Reviewed by Simon Fraser.

        * platform/PlatformWheelEvent.h:
        (WebCore::PlatformWheelEvent::useLatchedEventElement): Update
        predicate to recognize the start and change phases of the wheel
        event as latchable (not just momentum start/change).

2014-02-03  Dean Jackson  <dino@apple.com>

        Feature flag for shape-inside
        https://bugs.webkit.org/show_bug.cgi?id=128001

        Reviewed by Simon Fraser.

        Add CSS_SHAPE_INSIDE flag.

        I wrapped everything that is specific to shape-inside in
        this flag. It is now possible to build with CSS Shapes enabled
        but shape-inside disabled. CSS_SHAPE_INSIDE is dependent on
        CSS_SHAPES, so disabling the latter should also disable the former.

        * Configurations/FeatureDefines.xcconfig:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::ComputedStyleExtractor::propertyValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseShapeProperty):
        * css/CSSPropertyNames.in:
        * css/DeprecatedStyleBuilder.cpp:
        (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::applyProperty):
        (WebCore::StyleResolver::loadPendingImages):
        * page/animation/CSSPropertyAnimation.cpp:
        (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
        * rendering/LayoutState.cpp:
        (WebCore::LayoutState::LayoutState):
        * rendering/LayoutState.h:
        (WebCore::LayoutState::LayoutState):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::styleDidChange):
        (WebCore::RenderBlock::updateShapesBeforeBlockLayout):
        (WebCore::RenderBlock::updateShapesAfterBlockLayout):
        * rendering/RenderBlock.h:
        * rendering/RenderBlockFlow.cpp:
        (WebCore::RenderBlockFlow::layoutBlockChild):
        (WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
        * rendering/RenderBlockFlow.h:
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine):
        (WebCore::constructBidiRunsForLine):
        (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
        * rendering/RenderElement.cpp:
        (WebCore::RenderElement::~RenderElement):
        (WebCore::RenderElement::initializeStyle):
        (WebCore::RenderElement::setStyle):
        * rendering/RenderNamedFlowFragment.cpp:
        (WebCore::RenderNamedFlowFragment::createStyle):
        * rendering/RenderView.h:
        * rendering/SimpleLineLayout.cpp:
        (WebCore::SimpleLineLayout::canUseFor):
        * rendering/line/BreakingContextInlineHeaders.h:
        (WebCore::BreakingContext::handleText):
        (WebCore::BreakingContext::handleEndOfLine):
        * rendering/line/LineBreaker.cpp:
        (WebCore::LineBreaker::nextLineBreak):
        * rendering/line/LineWidth.cpp:
        (WebCore::LineWidth::LineWidth):
        (WebCore::LineWidth::updateAvailableWidth):
        (WebCore::LineWidth::fitBelowFloats):
        * rendering/line/LineWidth.h:
        * rendering/shapes/ShapeInsideInfo.cpp:
        * rendering/shapes/ShapeInsideInfo.h:
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::changeRequiresLayout):
        * rendering/style/RenderStyle.h:
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        (WebCore::StyleRareNonInheritedData::operator==):
        * rendering/style/StyleRareNonInheritedData.h:

2014-02-03  Radu Stavila  <stavila@adobe.com>

        REGRESSION (r163018): Can’t scroll in <select> lists
        https://bugs.webkit.org/show_bug.cgi?id=128090

        The regression was caused by the fact that a new method scrollWithWheelEventLocation() was added
        to RenderBox to replace the generic scroll() method for the particular case of scrolling using 
        the mouse wheel. This turned out to be a mistake because in the case of some elements, like select lists, 
        the scroll method was overriden and now the incorrect method was being called.
        The solution was to remove the new method and just add two default parameters to the generic
        scroll method.

        Reviewed by Simon Fraser.

        Test: fast/scrolling/scroll-select-list.html

        * page/EventHandler.cpp:
        (WebCore::scrollNode):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::scroll):
        * rendering/RenderBox.h:
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::scroll):
        * rendering/RenderEmbeddedObject.h:
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::scroll):
        * rendering/RenderListBox.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::scroll):
        * rendering/RenderTextControlSingleLine.h:

2014-02-03  Chris Fleizach  <cfleizach@apple.com>

        AX: WebKit should support @headers/@id for complex accessible web tables
        https://bugs.webkit.org/show_bug.cgi?id=128114

        Reviewed by Darin Adler.

        Expose the headers attribute for table cells to accessibility.

        Test: platform/mac/accessibility/table-headers-attribute.html

        * accessibility/AccessibilityTableCell.cpp:
        (WebCore::AccessibilityTableCell::columnHeaders):

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

        CTTE: RenderSVGGradientStop always has a SVGStopElement.
        <https://webkit.org/b/128107>

        RenderSVGGradientStop is never anonymous and always has a
        corresponding SVGStopElement. Codify this by adding an element()
        overload that returns an SVGStopElement&.

        Also added missing overrides and made most functions private.

        Reviewed by Darin Adler.

        * rendering/svg/RenderSVGGradientStop.cpp:
        (WebCore::RenderSVGGradientStop::styleDidChange):
        (WebCore::RenderSVGGradientStop::gradientElement):
        * rendering/svg/RenderSVGGradientStop.h:
        * rendering/svg/SVGRenderTreeAsText.cpp:
        (WebCore::writeSVGGradientStop):

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

        Remove CachedImageManual class
        <http://webkit.org/b/128043>

        Reviewed by Darin Adler.

        Get rid of the CachedImageManual class by inlining its
        functionality into CachedImage.  This makes it possible to
        de-virtual-ize isManual() (renamed to isManuallyCached()) and to
        make CachedImage final.  The size of CachedImage does not
        increase because we turn an existing bool into a bitfield to add
        an m_isManuallyCached bit, and create a static CachedImageClient
        in MemoryCache.cpp as the "fake" client to keep the manually
        cached image alive in the cache.

        * loader/cache/CachedImage.cpp:
        (WebCore::CachedImage::CachedImage): Set m_isManuallyCached
        bitfield.  For one overloaded constructor, move the
        CachedImageManual code into the CachedImage constructor.
        (WebCore::CachedImageManual::CachedImageManual): Remove.
        (WebCore::CachedImage::mustRevalidateDueToCacheHeaders): Move
        method from CachedImageManual to CachedImage, and put
        ManuallyCached behavior behind a check.
        * loader/cache/CachedImage.h: Update includes.  Make CachedImage
        final.  Add CachedImage::CacheBehaviorType enum when manually
        cached images are created.  Move CachedImageManual methods into
        CachedImage, remove addFakeClient() and removeFakeClient()
        methods (MemoryCache methods use addClient() and removeClient()
        with a static CachedImageClient), and remove the
        CachedImageManual class definition.  Change
        m_shouldPaintBrokenImage to a bitfield and add
        m_isManuallyCached bitfield.

        * loader/cache/MemoryCache.cpp:
        (WebCore::MemoryCache::addImageToCache): Use std::unique_ptr and
        remove useless NULL check after calling CachedImage constructor.
        (WebCore::MemoryCache::removeImageFromCache):
        - Update to use CachedImage class instead of CachedImageManual.

2014-02-03  Zan Dobersek  <zdobersek@igalia.com>

        Move the webdatabase module source code to std::unique_ptr
        https://bugs.webkit.org/show_bug.cgi?id=127278

        Reviewed by Antti Koivisto.

        Replace the majority of OwnPtr uses in the webdatabase module with std::unique_ptr.
        The only remaining uses are due to ScriptExecutionContext::Task subclasses.

        * Modules/webdatabase/AbstractSQLTransactionBackend.h:
        * Modules/webdatabase/Database.cpp:
        * Modules/webdatabase/DatabaseTask.h:
        * Modules/webdatabase/DatabaseThread.cpp:
        (WebCore::DatabaseThread::DatabaseThread):
        * Modules/webdatabase/DatabaseThread.h:
        * Modules/webdatabase/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::addOpenDatabase):
        * Modules/webdatabase/DatabaseTracker.h:
        * Modules/webdatabase/OriginLock.cpp:
        * Modules/webdatabase/SQLStatement.cpp:
        * Modules/webdatabase/SQLStatement.h:
        * Modules/webdatabase/SQLStatementBackend.cpp:
        (WebCore::SQLStatementBackend::create):
        (WebCore::SQLStatementBackend::SQLStatementBackend):
        * Modules/webdatabase/SQLStatementBackend.h:
        * Modules/webdatabase/SQLTransaction.cpp:
        (WebCore::SQLTransaction::executeSQL):
        * Modules/webdatabase/SQLTransactionBackend.cpp:
        (WebCore::SQLTransactionBackend::doCleanup):
        (WebCore::SQLTransactionBackend::computeNextStateAndCleanupIfNeeded):
        (WebCore::SQLTransactionBackend::executeSQL):
        (WebCore::SQLTransactionBackend::openTransactionAndPreflight):
        (WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
        * Modules/webdatabase/SQLTransactionBackend.h:
        * Modules/webdatabase/SQLTransactionBackendSync.cpp:
        (WebCore::SQLTransactionBackendSync::SQLTransactionBackendSync):
        (WebCore::SQLTransactionBackendSync::begin):
        (WebCore::SQLTransactionBackendSync::commit):
        (WebCore::SQLTransactionBackendSync::rollback):
        * Modules/webdatabase/SQLTransactionBackendSync.h:

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

        CTTE: Grab bag of SVGRenderTreeAsText cleanups.
        <https://webkit.org/b/128099>

        Made some of the DRT SVG functions take more specific types than
        RenderObject. Removed some redundant casts.

        Reviewed by Anders Carlsson.

        * rendering/RenderTreeAsText.cpp:
        (WebCore::write):
        * rendering/svg/SVGRenderTreeAsText.h:
        * rendering/svg/SVGRenderTreeAsText.cpp:
        (WebCore::writeSVGResourceContainer):
        (WebCore::writeSVGContainer):

            Make writeSVGResourceContainer() and writeSVGContainer() take the
            final type instead of RenderObject.

        (WebCore::writeStyle):
        (WebCore::writePositionAndStyle):

            Make these take RenderElement instead of RenderObject.

        (WebCore::writeChildren):

            Use child renderer iterator.

        (WebCore::writeResources):

            Remove unnecessary cast.

2014-01-25  Darin Adler  <darin@apple.com>

        Stop using Unicode.h
        https://bugs.webkit.org/show_bug.cgi?id=127633

        Reviewed by Anders Carlsson.

        * Modules/indexeddb/IDBKeyPath.cpp:
        * css/CSSFontFace.h:
        * css/CSSOMUtils.h:
        * css/CSSSegmentedFontFace.h:
        * css/CSSUnicodeRangeValue.h:
        * editing/Editor.cpp:
        * editing/SmartReplace.h:
        * html/parser/HTMLTokenizer.cpp:
        * loader/DocumentLoader.cpp:
        * page/ContextMenuController.cpp:
        * page/Settings.h:
        * platform/DateComponents.h:
        * platform/SharedBuffer.cpp:
        * platform/graphics/Color.h:
        * platform/graphics/FontCache.h:
        * platform/graphics/FontData.h:
        * platform/graphics/FontDescription.h:
        * platform/graphics/FontFastPath.cpp:
        * platform/graphics/FontGenericFamilies.h:
        * platform/graphics/FontGlyphs.cpp:
        * platform/graphics/GlyphMetricsMap.h:
        * platform/graphics/GlyphPage.h:
        * platform/graphics/GlyphPageTreeNode.cpp:
        * platform/graphics/GlyphPageTreeNode.h:
        * platform/graphics/SVGGlyph.cpp:
        * platform/graphics/WidthIterator.h:
        * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
        * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
        * platform/graphics/mac/ComplexTextController.h:
        * platform/graphics/win/QTMovie.h:
        * platform/graphics/wince/FontWinCE.cpp:
        * platform/text/BidiContext.h:
        * platform/text/Hyphenation.h:
        * platform/text/LocaleToScriptMapping.h:
        * platform/text/TextBoundaries.cpp:
        * platform/text/TextBoundaries.h:
        * platform/text/TextBreakIterator.h:
        * platform/text/TextCodec.h:
        * platform/text/TextEncoding.h:
        * platform/text/TextEncodingRegistry.h:
        * platform/text/TextStream.h:
        * platform/text/icu/UTextProvider.h:
        * platform/text/icu/UTextProviderLatin1.h:
        * platform/text/icu/UTextProviderUTF16.h:
        * platform/text/wchar/TextBreakIteratorWchar.cpp:
        * platform/win/WebCoreTextRenderer.cpp:
        * rendering/RootInlineBox.cpp:
        * rendering/SimpleLineLayout.cpp:
        * rendering/SimpleLineLayoutFunctions.cpp:
        * rendering/break_lines.h:
        * svg/SVGFontData.cpp:
        Removed includes of <wtf/unicode/Unicode.h>, adding includes of
        ICU headers and <wtf/text/LChar.h> as needed to replace it.

2014-02-03  Jessie Berlin  <jberlin@apple.com>

        Revert r163299 since it broke the ML 32-bit Release build

        * html/HTMLAnchorElement.cpp:
        (WebCore::parsePortFromStringPosition):
        (WebCore::HTMLAnchorElement::hash):
        (WebCore::HTMLAnchorElement::setHash):
        (WebCore::HTMLAnchorElement::host):
        (WebCore::HTMLAnchorElement::setHost):
        (WebCore::HTMLAnchorElement::hostname):
        (WebCore::HTMLAnchorElement::setHostname):
        (WebCore::HTMLAnchorElement::pathname):
        (WebCore::HTMLAnchorElement::setPathname):
        (WebCore::HTMLAnchorElement::port):
        (WebCore::HTMLAnchorElement::setPort):
        (WebCore::HTMLAnchorElement::protocol):
        (WebCore::HTMLAnchorElement::setProtocol):
        (WebCore::HTMLAnchorElement::search):
        (WebCore::HTMLAnchorElement::origin):
        (WebCore::HTMLAnchorElement::setSearch):
        (WebCore::HTMLAnchorElement::toString):
        * html/HTMLAnchorElement.h:
        * html/HTMLAnchorElement.idl:
        * html/HTMLAreaElement.idl:
        * html/URLUtils.idl:

2014-02-03  Mihai Maerean  <mmaerean@adobe.com>

        [CSS Regions] Fix selection and hover effect of content in region with overflow:hidden
        https://bugs.webkit.org/show_bug.cgi?id=127101

        Reviewed by Mihnea Ovidenie.

        RenderNamedFlowFragments are not hit candidates. The hit test algorithm will pick the
        parent layer, the one of the region.

        Test: fast/regions/hover-overflow-hidden.html

        * rendering/RenderLayer.cpp:
        (WebCore::isHitCandidate):

2014-02-02  Maciej Stachowiak  <mjs@apple.com>

        Adopt URLUtils interface and template in HTMLAnchorElement and HTMLAreaElement
        https://bugs.webkit.org/show_bug.cgi?id=128067

        Reviewed by Antti Koivisto.

        Tests: fast/dom/HTMLAnchorElement/anchor-password.html
               fast/dom/HTMLAnchorElement/anchor-username.html
               fast/dom/HTMLAreaElement/area-password.html
               fast/dom/HTMLAreaElement/area-username.html

        * html/HTMLAnchorElement.cpp:
        * html/HTMLAnchorElement.h:
        (WebCore::HTMLAnchorElement::setHref): Add version that takes
        (and ignores) ExceptionCode. This is needed because the URLUtil
        base interface is used for URL, which can throw an exception,
        and HTMLAnchorElement, which cannot.
        * html/HTMLAnchorElement.idl: implement URLUtils
        * html/HTMLAreaElement.idl: implement URLUtils
        * html/URLUtils.idl: Treat null as empty string for href

2014-02-03  Krzysztof Czech  <k.czech@samsung.com>

        [ATK] Expose aria-controls through ATK_RELATION_CONTROLLER_FOR
        https://bugs.webkit.org/show_bug.cgi?id=127908

        Reviewed by Chris Fleizach.

        Based on w3c, aria-controls could be exposed through ATK_RELATION_CONTROLLER_FOR.

        Test: accessibility/aria-controls.html

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::supportsARIAControls):
        (WebCore::AccessibilityObject::ariaControlsElements):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::supportsARIAFlowTo):
        (WebCore::AccessibilityRenderObject::supportsARIAControls):
        (WebCore::AccessibilityRenderObject::ariaControlsElements):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
        (setAtkRelationSetFromCoreObject):

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

        RenderSVGResource::removeClientFromCache() should take RenderElement&.
        <https://webkit.org/b/128097>

        Text renderers never have resources associated with them.
        This is yet another step towards enforcing that at compile-time
        by making all the resource cache interfaces deal in RenderElement.

        Also marked the RenderSVGResourceSolidColor class final.

        Reviewed by Darin Adler.

        * rendering/svg/RenderSVGResource.cpp:
        (WebCore::removeFromCacheAndInvalidateDependencies):
        (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
        * rendering/svg/RenderSVGResource.h:
        * rendering/svg/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::removeClientFromCache):
        * rendering/svg/RenderSVGResourceClipper.h:
        * rendering/svg/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::removeClientFromCache):
        * rendering/svg/RenderSVGResourceFilter.h:
        * rendering/svg/RenderSVGResourceGradient.cpp:
        (WebCore::RenderSVGResourceGradient::removeClientFromCache):
        * rendering/svg/RenderSVGResourceGradient.h:
        * rendering/svg/RenderSVGResourceMarker.cpp:
        (WebCore::RenderSVGResourceMarker::removeClientFromCache):
        * rendering/svg/RenderSVGResourceMarker.h:
        * rendering/svg/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::removeClientFromCache):
        * rendering/svg/RenderSVGResourceMasker.h:
        * rendering/svg/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::removeClientFromCache):
        * rendering/svg/RenderSVGResourcePattern.h:
        * rendering/svg/RenderSVGResourceSolidColor.h:
        * rendering/svg/SVGRenderSupport.cpp:
        (WebCore::invalidateResourcesOfChildren):
        (WebCore::SVGRenderSupport::layoutChildren):
        * rendering/svg/SVGResources.cpp:
        (WebCore::SVGResources::removeClientFromCache):
        * rendering/svg/SVGResources.h:

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

        More iOS build fixing.

        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
        (-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::linkifyPhoneNumbers):
        * page/ios/FrameIOS.mm:
        (WebCore::Frame::interpretationsForCurrentRoot):

2014-02-03  Darin Adler  <darin@apple.com>

        Try to fix iOS build.

        * html/BaseDateAndTimeInputType.cpp:
        (WebCore::BaseDateAndTimeInputType::parseToDateComponents):
        Use deprecatedCharacters.

2014-02-02  Darin Adler  <darin@apple.com>

        Obey "delete this" comments, including deleting String::characters and friends
        https://bugs.webkit.org/show_bug.cgi?id=126865

        Reviewed by Andreas Kling.

        * CMakeLists.txt: Deleted HTMLParserErrorCodes.cpp.
        * GNUmakefile.list.am: Deleted HTMLParserErrorCodes.cpp/h, and HTMLParserQuirks.h.
        * WebCore.vcxproj/WebCore.vcxproj: Deleted HTMLParserErrorCodes.cpp/h.
        * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.

        * html/HTMLParserErrorCodes.cpp: Removed.
        * html/HTMLParserErrorCodes.h: Removed.
        * html/HTMLParserQuirks.h: Removed.

        * rendering/RenderText.h: Deleted the characters function, leaving behind the
        deprecatedCharacters function.

2014-02-02  Brady Eidson  <beidson@apple.com>

        IDB: Cannot open new databases with the default version
        https://bugs.webkit.org/show_bug.cgi?id=128096

        Reviewed by Tim Horton.

        * Modules/indexeddb/IDBDatabaseBackend.cpp:
        (WebCore::IDBDatabaseBackend::openConnectionInternal): Update logic to handle the
          current version being NoIntVersion.

        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
        (WebCore::IDBDatabaseBackend::VersionChangeOperation::perform): Update ASSERT.

2014-02-02  Darin Adler  <darin@apple.com>

        Fix context save/restore mistake spotted in SVGInlineTextBox::paintTextWithShadows
        https://bugs.webkit.org/show_bug.cgi?id=128095

        Reviewed by Andreas Kling.

        * rendering/svg/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::paintTextWithShadows): Move calls to GraphicsContext::restore
        and GraphicsContext::clearShadow before restoreGraphicsContextAfterTextPainting, since that
        function can swap contexts.

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

        Modernize RenderSVGText::locateRenderSVGTextAncestor().
        <https://webkit.org/b/128093>

        Make locateRenderSVGTextAncestor() take a reference, and simplify it
        internally with lineageOfType.

        Switched callers to use 'auto' for the return type so we get some
        devirtualization freebies.

        Reviewed by Anders Carlsson.

        * rendering/svg/RenderSVGInline.cpp:
        (WebCore::RenderSVGInline::objectBoundingBox):
        (WebCore::RenderSVGInline::strokeBoundingBox):
        (WebCore::RenderSVGInline::repaintRectInLocalCoordinates):
        (WebCore::RenderSVGInline::absoluteQuads):
        (WebCore::RenderSVGInline::addChild):
        (WebCore::RenderSVGInline::removeChild):
        * rendering/svg/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::setTextInternal):
        (WebCore::RenderSVGInlineText::styleDidChange):
        * rendering/svg/RenderSVGResourceGradient.cpp:
        (WebCore::createMaskAndSwapContextForTextGradient):
        (WebCore::clipToTextMask):
        * rendering/svg/RenderSVGText.cpp:
        (WebCore::RenderSVGText::locateRenderSVGTextAncestor):
        * rendering/svg/RenderSVGText.h:
        (WebCore::RenderSVGText>):
        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextRenderer):
        * rendering/svg/SVGTextMetricsBuilder.cpp:
        (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
        * svg/SVGTextPositioningElement.cpp:
        (WebCore::SVGTextPositioningElement::svgAttributeChanged):

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

        Modernize the toRenderSVGResourceContainer() helper.
        <https://webkit.org/b/128091>

        Make toRenderSVGResourceContainer() a free function like all the
        other casting helpers. Use references instead of pointers where
        applicable.

        Reviewed by Anders Carlsson.

        * rendering/RenderLayerFilterInfo.cpp:
        (WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients):
        (WebCore::RenderLayer::FilterInfo::removeReferenceFilterClients):
        * rendering/RenderObject.cpp:
        * rendering/RenderObject.h:
        * rendering/svg/RenderSVGGradientStop.cpp:
        (WebCore::RenderSVGGradientStop::styleDidChange):
        * rendering/svg/RenderSVGResource.cpp:
        (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
        * rendering/svg/RenderSVGResourceContainer.cpp:
        (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
        * rendering/svg/RenderSVGResourceContainer.h:
        * rendering/svg/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::buildPrimitives):
        * rendering/svg/RenderSVGResourceFilter.h:
        * rendering/svg/SVGRenderTreeAsText.cpp:
        (WebCore::writeSVGResourceContainer):
        * rendering/svg/SVGResourcesCycleSolver.cpp:
        (WebCore::SVGResourcesCycleSolver::resolveCycles):
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::svgAttributeChanged):

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

        Minor SVGRootInlineBox cleanup.
        <https://webkit.org/b/128094>

        Remove two virtual functions and sprinkle some missing overrides.

        Reviewed by Anders Carlsson.

        * rendering/svg/SVGRootInlineBox.h:

2014-01-30  Oliver Hunt  <oliver@apple.com>

        Push DOM attributes into the prototype chain
        https://bugs.webkit.org/show_bug.cgi?id=127969

        Reviewed by Mark Lam.

        This patch does the actual work of moving dom attributes up the
        prototype chain. There are still a few class and edge cases
        where we can't do this without impacting existing behaviour,
        but they can be fixed separately in later patches.

        * bindings/js/JSDOMBinding.h:
        (WebCore::getStaticPropertySlotEntryWithoutCaching):
        (WebCore::getStaticPropertySlotEntryWithoutCaching<JSDOMWrapper>):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateGetOwnPropertySlotBody):
        (HasComplexGetOwnProperty):
        (ConstructorShouldBeOnInstance):
        (AttributeShouldBeOnInstance):
        (InstanceAttributeCount):
        (PrototypeAttributeCount):
        (InstanceOverridesGetOwnPropertySlot):
        (PrototypeOverridesGetOwnPropertySlot):
        (GenerateAttributesHashTable):
        (GenerateImplementation):

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

        RenderSVGResourceContainer clients are always RenderElement.
        <https://webkit.org/b/128088>

        All clients of RenderSVGResourceContainer are going to be RenderElement,
        so make the interface take RenderElement& instead of RenderObject*.

        Also modernized the code a bit with C++11 range for loops.

        Reviewed by Sam Weinig.

        * rendering/svg/RenderSVGResourceContainer.cpp:
        (WebCore::RenderSVGResourceContainer::addClient):
        (WebCore::RenderSVGResourceContainer::removeClient):
        * rendering/svg/RenderSVGResourceContainer.h:
        * rendering/svg/SVGResourcesCache.cpp:
        (WebCore::SVGResourcesCache::addResourcesFromRenderer):
        (WebCore::SVGResourcesCache::removeResourcesFromRenderer):

2014-02-02  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Use floorf/roundf/fabs in device snapping helpers.
        https://bugs.webkit.org/show_bug.cgi?id=128075

        Reviewed by Darin Adler.

        No change in functionality.

        * platform/LayoutUnit.h:
        (WebCore::roundToDevicePixel):
        (WebCore::floorToDevicePixel):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::platformInit):

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

        SVGDocumentExtensions::resourcesCache() should return a reference.
        <https://webkit.org/b/128087>

        The SVGResourcesCache is always present when the Document is using
        SVG extensions, so make this return a reference and propagate that
        knowledge to the call site.

        This gets rid of an assertion and some rickety looking ->'s.
        Also converted a loop to use C++11 range for syntax.

        Reviewed by Sam Weinig.

        * rendering/svg/SVGResourcesCache.cpp:
        (WebCore::resourcesCacheFromRenderer):
        (WebCore::SVGResourcesCache::cachedResourcesForRenderObject):
        (WebCore::SVGResourcesCache::clientStyleChanged):
        (WebCore::SVGResourcesCache::clientWasAddedToTree):
        (WebCore::SVGResourcesCache::clientWillBeRemovedFromTree):
        (WebCore::SVGResourcesCache::clientDestroyed):
        (WebCore::SVGResourcesCache::resourceDestroyed):
        * svg/SVGDocumentExtensions.h:
        (WebCore::SVGDocumentExtensions::resourcesCache):

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

        RenderSVGInlineText::computeNewScaledFontForStyle() should take references.
        <https://webkit.org/b/128086>

        Make computeNewScaledFontForStyle() take renderer and style by reference
        instead of taking a pointer and asserting that it's non-null.

        Reviewed by Darin Adler.

        * rendering/svg/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::updateScaledFont):
        (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
        * rendering/svg/RenderSVGInlineText.h:
        * rendering/svg/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::applyClippingToContext):
        * rendering/svg/RenderSVGResourceContainer.cpp:
        (WebCore::RenderSVGResourceContainer::shouldTransformOnTextPainting):
        * rendering/svg/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::applyResource):
        * rendering/svg/RenderSVGResourceGradient.cpp:
        (WebCore::createMaskAndSwapContextForTextGradient):
        (WebCore::clipToTextMask):
        * rendering/svg/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::applyResource):
        * rendering/svg/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::buildPattern):
        * rendering/svg/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
        * rendering/svg/SVGRenderingContext.cpp:
        (WebCore::SVGRenderingContext::calculateScreenFontSizeScalingFactor):
        (WebCore::SVGRenderingContext::calculateTransformationToOutermostCoordinateSystem):
        * rendering/svg/SVGRenderingContext.h:

2014-02-02  Darin Adler  <darin@apple.com>

        Still more characters -> deprecatedCharacters (EWS keeps finding more)
        https://bugs.webkit.org/show_bug.cgi?id=128076

        Reviewed by Andreas Kling.

        * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
        (WebCore::HarfBuzzShaper::setFontFeatures):
        (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns):
        Use deprecatedCharacters.

2014-02-02  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Enable subpixel positioning/sizing/hairline border painting.
        https://bugs.webkit.org/show_bug.cgi?id=128009

        Reviewed by Simon Fraser.

        Snap and clip to device pixels when painting boxes. Enable hairline painting
        for solid border.

        No existing context to test this functionality yet.

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::drawLineForBoxSide):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::getRoundedBorderFor):
        (WebCore::RenderStyle::getRoundedInnerBorderFor):

2014-02-02  Sam Weinig  <sam@webkit.org>

        Add some missing override keywords
        https://bugs.webkit.org/show_bug.cgi?id=128082

        Reviewed by Antti Koivisto.

        * loader/DocumentThreadableLoader.h:
        * loader/LinkLoader.h:
        * loader/TextTrackLoader.h:
        * xml/parser/XMLDocumentParser.h:

2014-02-02  Brady Eidson  <beidson@apple.com>

        IDB: Support IDBFactory.deleteDatabase()
        https://bugs.webkit.org/show_bug.cgi?id=128060

        Reviewed by Filip Pizlo and Maciej Stachowiak (filesystem parts also Tim Hatcher and Simon Fraser)

        * Modules/indexeddb/IDBDatabaseBackend.cpp:
        (WebCore::IDBDatabaseBackend::deleteDatabaseAsync):

        * Modules/indexeddb/IDBFactory.cpp:
        (WebCore::IDBFactory::deleteDatabase):

        Change factory-level deleteDatabase to take opening and main frame origins:
        * Modules/indexeddb/IDBFactoryBackendInterface.h:
        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
        (WebCore::IDBFactoryBackendLevelDB::deleteDatabase):
        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:

        * Modules/indexeddb/IDBServerConnection.h:
        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:

        * WebCore.exp.in:

2014-02-02  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Introduce device pixel snapping helper functions.
        https://bugs.webkit.org/show_bug.cgi?id=128049

        Reviewed by Simon Fraser.

        These functions help device pixel snapping during painting. They follow the logic of
        the corresponding pixelSnappedInt* functions.

        No change in functionality.

        * platform/LayoutUnit.h:
        (WebCore::roundToDevicePixel):
        (WebCore::floorToDevicePixel):
        (WebCore::snapSizeToPixel):
        (WebCore::snapSizeToDevicePixel):
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::GraphicsContext):
        * platform/graphics/GraphicsContext.h:
        (WebCore::GraphicsContext::pixelSnappingFactor):
        * platform/graphics/LayoutRect.h:
        (WebCore::pixelSnappedForPainting):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::platformInit):

2014-02-02  Zalan Bujtas  <zalan@apple.com>

        Floor thickness and length after switching from int to float.
        https://bugs.webkit.org/show_bug.cgi?id=128071

        Reviewed by Antti Koivisto.

        This is a temporary solution to fix the assertion on empty line drawing until after
        device pixel snapping is added.

        Covered by existing tests.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::drawLineForBoxSide):

2014-02-02  Antti Koivisto  <antti@apple.com>

        Remove StyleScopeResolver
        https://bugs.webkit.org/show_bug.cgi?id=128069

        Reviewed by Anders Carlsson.

        This is dead code.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.xcodeproj/project.pbxproj:
        * css/DocumentRuleSets.cpp:
        (WebCore::DocumentRuleSets::appendAuthorStyleSheets):
        (WebCore::DocumentRuleSets::collectFeatures):
        * css/DocumentRuleSets.h:
        * css/ElementRuleCollector.h:
        (WebCore::ElementRuleCollector::ElementRuleCollector):
        * css/RuleSet.cpp:
        (WebCore::RuleSet::addChildRules):
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::pushParentElement):
        (WebCore::StyleResolver::popParentElement):
        (WebCore::StyleResolver::locateSharedStyle):
        (WebCore::StyleResolver::styleForElement):
        * css/StyleResolver.h:
        (WebCore::StyleResolver::document):
        * css/StyleScopeResolver.cpp: Removed.
        * css/StyleScopeResolver.h: Removed.
        * style/StyleResolveTree.cpp:
        (WebCore::Style::attachShadowRoot):
        (WebCore::Style::resolveShadowTree):

2014-02-02  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Make BorderEdge/RoundedRect::Radii LayoutUnit aware.
        https://bugs.webkit.org/show_bug.cgi?id=128036

        Reviewed by Darin Adler.

        Covered by existing tests.

        * platform/LayoutUnit.h:
        (WebCore::LayoutUnit::operator++):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::BorderEdge::BorderEdge):
        (WebCore::BorderEdge::usedWidth):
        (WebCore::BorderEdge::getDoubleBorderStripeWidths):
        (WebCore::RenderBoxModelObject::paintOneBorderSide):
        (WebCore::RenderBoxModelObject::paintBorder):
        (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
        (WebCore::calculateSideRectIncludingInner):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::drawLineForBoxSide):
        * rendering/RenderObject.h:
        * rendering/style/BorderData.h:
        (WebCore::BorderData::borderLeftWidth):
        (WebCore::BorderData::borderRightWidth):
        (WebCore::BorderData::borderTopWidth):
        (WebCore::BorderData::borderBottomWidth):
        * rendering/style/RenderStyle.cpp:
        (WebCore::calcRadiiFor):
        (WebCore::calcConstraintScaleFor):
        (WebCore::RenderStyle::getRoundedInnerBorderFor):
        * rendering/style/RenderStyle.h:

2014-02-01  Hunseop Jeong  <hs85.jeong@samsung.com>

        REGRESSION(r163234) Debug build is broken
        https://bugs.webkit.org/show_bug.cgi?id=128059

        Unreviewed. Debug build is broken with INDEXED_DATABASE.

        * Modules/indexeddb/IDBKeyData.cpp:
        (WebCore::IDBKeyData::loggingString): Added the default: case.

2014-02-01  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: LayoutUnit operator++ is broken.
        https://bugs.webkit.org/show_bug.cgi?id=128056

        Reviewed by Darin Adler.

        Add pre-increment operator++.

        * platform/LayoutUnit.h:
        (WebCore::LayoutUnit::operator++):

2014-02-01  Darin Adler  <darin@apple.com>

        More characters -> deprecatedCharacters (based on more EWS complaints)
        https://bugs.webkit.org/show_bug.cgi?id=128063

        Reviewed by Anders Carlsson.

        * editing/SmartReplace.cpp:
        (WebCore::addAllCodePoints):
        (WebCore::getSmartSet):
        * platform/win/WebCoreTextRenderer.cpp:
        (WebCore::doDrawTextAtPoint):
        Use deprecatedCharacters.

2014-02-01  Darin Adler  <darin@apple.com>

        Use deprecatedCharacters in a few more places (non-Mac-build sites found by EWS)
        https://bugs.webkit.org/show_bug.cgi?id=128042

        Reviewed by Sam Weinig.

        * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
        (WebCore::IDBLevelDBCoding::encodeString):
        * platform/graphics/win/FontCacheWin.cpp:
        (WebCore::FontCache::systemFallbackForCharacters):
        (WebCore::createGDIFont):
        (WebCore::FontCache::getTraitsInFamily):
        * platform/network/DataURL.cpp:
        (WebCore::handleDataURL):
        * platform/win/BString.cpp:
        (WebCore::BString::BString):
        * platform/win/ClipboardUtilitiesWin.cpp:
        (WebCore::createGlobalData):
        * platform/win/FileSystemWin.cpp:
        (WebCore::pathByAppendingComponent):
        (WebCore::fileSystemRepresentation):
        * platform/win/PasteboardWin.cpp:
        (WebCore::filesystemPathFromUrlOrTitle):
        (WebCore::Pasteboard::writeURLToDataObject):
        (WebCore::createGlobalImageFileDescriptor):
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenuWin::calculatePositionAndSize):
        Call deprecatedCharacters instead of characters.

2014-02-01  Enrica Casucci  <enrica@apple.com>

        Add support for ActionSheets in WK2 for iOS.
        https://bugs.webkit.org/show_bug.cgi?id=127586
        <rdar://problem/15283667>

        Reviewed by Benjamin Poulain.

        Updates the localizable strings for action sheets.

        * English.lproj/Localizable.strings:

2014-02-01  Maciej Stachowiak  <mjs@apple.com>

        Factor URL decomposition methods (from URLUtils interface) into a base template
        https://bugs.webkit.org/show_bug.cgi?id=128052

        Reviewed by Sam Weinig.

        Refactoring only; no new tests.

        * html/DOMURL.cpp:
        * html/DOMURL.h:
        (WebCore::DOMURL::href): Moved to header and made inline.
        * html/URLUtils.h: Added. 
        (WebCore::URLUtils::href): Downcast and call the derived class.
        (WebCore::URLUtils::setHref): Downcast and call the derived class.
        Functions below factored out from DOMURL.cpp.
        (WebCore::URLUtils<T>::toString):
        (WebCore::URLUtils<T>::origin):
        (WebCore::URLUtils<T>::protocol):
        (WebCore::URLUtils<T>::setProtocol):
        (WebCore::URLUtils<T>::username):
        (WebCore::URLUtils<T>::setUsername):
        (WebCore::URLUtils<T>::password):
        (WebCore::URLUtils<T>::setPassword):
        (WebCore::URLUtils<T>::host):
        (WebCore::parsePortFromStringPosition):
        (WebCore::URLUtils<T>::setHost):
        (WebCore::URLUtils<T>::hostname):
        (WebCore::URLUtils<T>::setHostname):
        (WebCore::URLUtils<T>::port):
        (WebCore::URLUtils<T>::setPort):
        (WebCore::URLUtils<T>::pathname):
        (WebCore::URLUtils<T>::setPathname):
        (WebCore::URLUtils<T>::search):
        (WebCore::URLUtils<T>::setSearch):
        (WebCore::URLUtils<T>::hash):
        (WebCore::URLUtils<T>::setHash):

        Add mention of new header.
        * GNUmakefile.list.am: 
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:

2014-02-01  Benjamin Poulain  <bpoulain@apple.com>

        Improve the JavaScript bindings of DatasetDOMStringMap
        https://bugs.webkit.org/show_bug.cgi?id=127971

        Unriewed.

        * dom/DatasetDOMStringMap.cpp:
        * dom/DatasetDOMStringMap.h:
        Follow up for r163239. Darin pointed out the #includes are wrong.

2014-02-01  Brady Eidson  <beidson@apple.com>

        IDB: Implement IDBObjectStore.delete()
        https://bugs.webkit.org/show_bug.cgi?id=127880

        Reviewed by Sam Weinig.

        * Modules/indexeddb/IDBKeyData.cpp:
        (WebCore::IDBKeyData::compare): Make this const.
        * Modules/indexeddb/IDBKeyData.h:

        * Modules/indexeddb/IDBKeyRangeData.cpp:
        (WebCore::IDBKeyRangeData::isExactlyOneKey): Returns whether or not
          the key range is known to represent precisely one key.
        * Modules/indexeddb/IDBKeyRangeData.h:

        * WebCore.exp.in:

2014-02-01  Anders Carlsson  <andersca@apple.com>

        SVGTextLayoutAttributesBuilder shouldn't use RenderText::deprecatedCharacters()
        https://bugs.webkit.org/show_bug.cgi?id=128048

        Reviewed by Sam Weinig.

        Change UChar*& lastCharacter to bool& lastCharacterWasSpace since that's what the parameter was used for.

        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextRenderer):
        Initialize lastCharacterWasSpace to true to match the previous behavior.

        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForForSubtree):
        Ditto.

        (WebCore::processRenderSVGInlineText):
        Take a reference instead of a pointer, get the character using RenderText::operator[] and compute lastCharacterWasSpace.

        (WebCore::SVGTextLayoutAttributesBuilder::collectTextPositioningElements):
        This now takes a bool reference instead.

        * rendering/svg/SVGTextLayoutAttributesBuilder.h:

2014-02-01  Brady Eidson  <beidson@apple.com>

        IDB: Index cursor complete advance() and iterate() support
        <rdar://problem/15941916> and https://bugs.webkit.org/show_bug.cgi?id=127870

        Reviewed by Dan Bernstein.

        * Modules/indexeddb/IDBRequest.cpp:
        (WebCore::IDBRequest::onSuccess): Always use the value buffer for the script object.

2014-02-01  Alexey Proskuryakov  <ap@apple.com>

        Update WebCrypto JWK mapping to use key_ops
        https://bugs.webkit.org/show_bug.cgi?id=127609

        Reviewed by Sam Weinig.

        Updated JWK support ot match current editor draft.

        * bindings/js/JSCryptoKeySerializationJWK.cpp:
        (WebCore::getJSArrayFromJSON): Fixed this previously untested function to actually work.
        (WebCore::tryJWKKeyOpsValue):
        (WebCore::JSCryptoKeySerializationJWK::reconcileUsages):
        (WebCore::JSCryptoKeySerializationJWK::reconcileExtractable): Removed an old comment,
        these things are now specced.
        (WebCore::addToJSON): Made static functions file static, there is no reason for
        them to be class members.
        (WebCore::buildJSONForOctetSequence):
        (WebCore::buildJSONForRSAComponents):
        (WebCore::addBoolToJSON):
        (WebCore::addJWKAlgorithmToJSON):
        (WebCore::addUsagesToJSON):
        (WebCore::JSCryptoKeySerializationJWK::serialize):
        * bindings/js/JSCryptoKeySerializationJWK.h:

        * crypto/mac/CryptoAlgorithmAES_KWMac.cpp:
        (WebCore::CryptoAlgorithmAES_KW::platformEncrypt):
        (WebCore::CryptoAlgorithmAES_KW::platformDecrypt):
        Check for length, so that we don't fail silently.

2014-02-01  David Kilzer  <ddkilzer@apple.com>

        Add security-checked casts for all WebCore::CachedResource subclasses
        <http://webkit.org/b/127988>

        Reviewed by Darin Adler.

        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::cachedResourceContent):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
        - Switch from static_cast<>() to security-checked cast.

        * loader/cache/CachedCSSStyleSheet.h:
        (WebCore::toCachedCSSStyleSheet): Add.
        * loader/cache/CachedFont.h:
        (WebCore::toCachedFont): Add.

        * loader/cache/CachedImage.h: Make CachedImageManual final.

        * loader/cache/CachedRawResource.cpp:
        (WebCore::CachedRawResource::CachedRawResource): Add assert that
        only MainResource or RawResource types are used to construct a
        CachedRawResource.  This may be a security issue depending on
        what code exists that uses the type() value to cast to a
        CachedResource subclass.
        (WebCore::CachedRawResource::switchClientsToRevalidatedResource):
        Switch from static_cast<>() to toCachedRawResource().

        * loader/cache/CachedRawResource.h:
        (WebCore::toCachedRawResource): Add.
        * loader/cache/CachedResource.h:
        (WebCore::CachedResource::isMainOrRawResource): Add.  A
        CachedRawResource could be either a MainResource or a
        RawResource.  Currently only used in assertions.

        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::requestFont):
        (WebCore::CachedResourceLoader::requestTextTrack):
        (WebCore::CachedResourceLoader::requestCSSStyleSheet):
        (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
        (WebCore::CachedResourceLoader::requestScript):
        (WebCore::CachedResourceLoader::requestXSLStyleSheet):
        (WebCore::CachedResourceLoader::requestSVGDocument):
        (WebCore::CachedResourceLoader::requestRawResource):
        (WebCore::CachedResourceLoader::requestMainResource):
        - Switch from static_cast<>() to security-checked cast.

        * loader/cache/CachedSVGDocument.h:
        (WebCore::toCachedSVGDocument): Add.
        * loader/cache/CachedScript.h:
        (WebCore::toCachedScript): Add.
        * loader/cache/CachedTextTrack.h:
        (WebCore::toCachedTextTrack): Add.
        * loader/cache/CachedXSLStyleSheet.h:
        (WebCore::toCachedXSLStyleSheet): Add.

2014-02-01  Xabier Rodriguez Calvar  <calvaris@igalia.com>

        Unreviewed. Fixed GTK+ CMake build after r162922.

        * PlatformGTK.cmake: Removed SoupURIUtils.cpp from the
        compilation.

2014-02-01  Benjamin Poulain  <bpoulain@apple.com>

        Improve the JavaScript bindings of DatasetDOMStringMap
        https://bugs.webkit.org/show_bug.cgi?id=127971

        Reviewed by Sam Weinig.

        Instead of querying contains() followed by item(), just get the item
        at once in the custom binding.

        Test: fast/dom/dataset-name-getter-properties.html

        * bindings/js/JSDOMStringMapCustom.cpp:
        (WebCore::JSDOMStringMap::getOwnPropertySlotDelegate):
        * dom/DOMStringMap.idl:
        * dom/DatasetDOMStringMap.cpp:
        (WebCore::DatasetDOMStringMap::item):
        * dom/DatasetDOMStringMap.h:

2014-01-31  Benjamin Poulain  <bpoulain@apple.com>

        Remove LEGACY_VIEWPORT_ADAPTION
        https://bugs.webkit.org/show_bug.cgi?id=128028

        Reviewed by Anders Carlsson.

        The code is incorrect and was only supported by Nix.

        * dom/Document.cpp:
        (WebCore::Document::childrenChanged):
        * dom/ViewportArguments.h:
        * html/HTMLMetaElement.cpp:
        (WebCore::HTMLMetaElement::process):

2014-01-31  Ryosuke Niwa  <rniwa@webkit.org>

        Release build fix after r163234. Don't always export the symbol that doesn't exist under NDEBUG.

        * WebCore.exp.in:

2014-01-31  Brady Eidson  <beidson@apple.com>

        IDB: Index cursors use wrong deserialization for the retrieved value
        https://bugs.webkit.org/show_bug.cgi?id=128035

        Reviewed by Dan Bernstein.

        For the cursor operations, add an IDBKey value result in the callbacks.
        If an already deserialized IDBKey value exists it will be preferred over the serialized buffer.

        Change some of the onSuccess() callback formats:
        * Modules/indexeddb/IDBCallbacks.h:
        * Modules/indexeddb/IDBRequest.cpp:
        (WebCore::IDBRequest::onSuccess): Selectively choose between the IDBKey or the SharedBuffer value
          when choosed what to convert to the ScriptValue.
        * Modules/indexeddb/IDBRequest.h:

        Let the IDBCursorBackend hold both a value buffer and a value key:
        * Modules/indexeddb/IDBCursorBackend.cpp:
        (WebCore::IDBCursorBackend::updateCursorData):
        (WebCore::IDBCursorBackend::clear):
        * Modules/indexeddb/IDBCursorBackend.h:
        (WebCore::IDBCursorBackend::valueBuffer):
        (WebCore::IDBCursorBackend::valueKey):

        * Modules/indexeddb/IDBCursorBackendOperations.cpp:
        (WebCore::CursorAdvanceOperation::perform):
        (WebCore::CursorIterationOperation::perform):

        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
        (WebCore::OpenCursorOperation::perform):

        * Modules/indexeddb/IDBServerConnection.h:
        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
        (WebCore::IDBServerConnectionLevelDB::openCursor):
        (WebCore::IDBServerConnectionLevelDB::cursorAdvance):
        (WebCore::IDBServerConnectionLevelDB::cursorIterate):
        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:

        Add IDBKey/IDBKeyData debug logging utilities:
        * Modules/indexeddb/IDBKey.cpp:
        (WebCore::IDBKey::loggingString):
        * Modules/indexeddb/IDBKey.h:
        * Modules/indexeddb/IDBKeyData.cpp:
        (WebCore::IDBKeyData::loggingString):
        * Modules/indexeddb/IDBKeyData.h:

        * WebCore.exp.in:

2014-01-31  Ryosuke Niwa  <rniwa@webkit.org>

        Debug build fix after r163232. Call hasEditableStyle() instead of isContentEditable() which
        can trigger a layout synchronously inside paintCaret. This matches the code before r163232.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintCaret):

2014-01-31  Ryosuke Niwa  <rniwa@webkit.org>

        Remove inline member functions of FrameSelection that access m_selection
        https://bugs.webkit.org/show_bug.cgi?id=127986

        Reviewed by Enrica Casucci.

        Removed numerous inline member functions of FrameSelection that depend on m_selection.

        This is needed to ensure all accesses to m_selection happen through FrameSelection::selection(),
        which in turn, allows us to update its call sites to use either validated selection that editing
        and rendering code uses or invalidated selection that's exposed to JavaScript.

        * WebCore.exp.in:
        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
        (-[WebAccessibilityObjectWrapper _convertToNSRange:]):
        (-[WebAccessibilityObjectWrapper _convertToDOMRange:]):
        * bindings/objc/DOMUIKitExtensions.mm:
        (-[DOMRange move:inDirection:]):
        (-[DOMRange extend:inDirection:]):
        * dom/Element.cpp:
        (WebCore::Element::updateFocusAppearance):
        * editing/Editor.cpp:
        (WebCore::Editor::canEdit):
        (WebCore::Editor::canEditRichly):
        (WebCore::Editor::canDHTMLCut):
        (WebCore::Editor::canDHTMLCopy):
        (WebCore::Editor::canCopy):
        (WebCore::Editor::canDelete):
        (WebCore::Editor::replaceSelectionWithFragment):
        (WebCore::Editor::tryDHTMLCopy):
        (WebCore::Editor::tryDHTMLCut):
        (WebCore::Editor::applyStyle):
        (WebCore::Editor::applyParagraphStyle):
        (WebCore::Editor::cut):
        (WebCore::Editor::copy):
        (WebCore::Editor::paste):
        (WebCore::Editor::setComposition):
        (WebCore::Editor::guessesForMisspelledOrUngrammatical):
        (WebCore::Editor::markMisspellingsAfterTypingToWord):
        (WebCore::Editor::isSpellCheckingEnabledInFocusedNode):
        (WebCore::Editor::markAndReplaceFor):
        (WebCore::Editor::getCompositionSelection):
        (WebCore::Editor::selectionStartHasMarkerFor):
        * editing/EditorCommand.cpp:
        (WebCore::expandSelectionToGranularity):
        (WebCore::enabledInRichlyEditableText):
        (WebCore::enabledRangeInEditableText):
        (WebCore::enabledRangeInRichlyEditableText):
        * editing/FrameSelection.cpp:
        (WebCore::CaretBase::updateCaretRect):
        (WebCore::FrameSelection::recomputeCaretRect):
        (WebCore::FrameSelection::selectAll):
        (WebCore::FrameSelection::updateAppearance):
        (WebCore::FrameSelection::updateSelectionCachesIfSelectionIsInsideTextFormControl):
        (WebCore::FrameSelection::setFocusedElementIfNeeded):
        (WebCore::FrameSelection::currentForm):
        (WebCore::FrameSelection::revealSelection):
        (WebCore::FrameSelection::setSelectionFromNone):
        * editing/FrameSelection.h:
        (WebCore::FrameSelection::isCaretOrRange):
        * editing/RemoveFormatCommand.cpp:
        (WebCore::RemoveFormatCommand::doApply):
        * editing/VisibleSelection.cpp:
        (WebCore::VisibleSelection::isInPasswordField):
        * editing/VisibleSelection.h:
        * editing/mac/EditorMac.mm:
        (WebCore::Editor::canCopyExcludingStandaloneImages):
        (WebCore::Editor::readSelectionFromPasteboard):
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::defaultEventHandler):
        (WebCore::HTMLAnchorElement::setActive):
        * html/HTMLTextFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::computeSelectionStart):
        (WebCore::HTMLTextFormControlElement::computeSelectionEnd):
        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::contextMenuItemSelected):
        (WebCore::ContextMenuController::populate):
        * page/DragController.cpp:
        (WebCore::DragController::dragIsMove):
        (WebCore::setSelectionToDragCaret):
        (WebCore::DragController::concludeEditDrag):
        (WebCore::DragController::startDrag):
        * page/EventHandler.cpp:
        (WebCore::nodeIsNotBeingEdited):
        (WebCore::EventHandler::sendContextMenuEvent):
        (WebCore::EventHandler::sendContextMenuEventForKey):
        (WebCore::EventHandler::handleDrag):
        * page/FocusController.cpp:
        (WebCore::FocusController::advanceFocusInDocumentOrder):
        (WebCore::clearSelectionIfNeeded):
        * page/ios/FrameIOS.mm:
        (WebCore::Frame::caretRect):
        (WebCore::Frame::rectForScrollToVisible):
        (WebCore::Frame::styleAtSelectionStart):
        (WebCore::Frame::setRangedSelectionBaseToCurrentSelectionStart):
        (WebCore::Frame::setRangedSelectionBaseToCurrentSelectionEnd):
        (WebCore::Frame::setRangedSelectionInitialExtentToCurrentSelectionStart):
        (WebCore::Frame::setRangedSelectionInitialExtentToCurrentSelectionEnd):
        (WebCore::Frame::interpretationsForCurrentRoot):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintCaret):

2014-01-31  Simon Fraser  <simon.fraser@apple.com>

        Pass the viewport rect and scroll origin independently into the scrolling tree, and make things floats
        https://bugs.webkit.org/show_bug.cgi?id=128032

        Reviewed by Tim Horton.

        Pass the viewport rect and scroll offset independently into the ScrollingTree
        via the ScrollingStateScrollingNode, since on iOS the scroll offset doesn't
        always correspond to the viewport rect.
        
        Make the viewport rect and the scroll origin be float-based, since on
        Retina screens and with zooming these can both be non-integral.

        No behavior change.
        
        * WebCore.exp.in:
        * page/scrolling/AsyncScrollingCoordinator.cpp:
        (WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
        (WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll):
        (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
        * page/scrolling/AsyncScrollingCoordinator.h:
        (WebCore::AsyncScrollingCoordinator::ScheduledScrollUpdate::ScheduledScrollUpdate):
        * page/scrolling/ScrollingStateScrollingNode.cpp:
        (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
        (WebCore::ScrollingStateScrollingNode::setViewportConstrainedObjectRect):
        (WebCore::ScrollingStateScrollingNode::setScrollPosition):
        (WebCore::ScrollingStateScrollingNode::dumpProperties):
        * page/scrolling/ScrollingStateScrollingNode.h:
        * page/scrolling/ScrollingTree.cpp:
        (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously):
        (WebCore::ScrollingTree::commitNewTreeState):
        (WebCore::ScrollingTree::mainFrameScrollPosition):
        (WebCore::ScrollingTree::setMainFrameScrollPosition):
        * page/scrolling/ScrollingTree.h:
        * page/scrolling/ScrollingTreeNode.h:
        * page/scrolling/ScrollingTreeScrollingNode.cpp:
        (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
        * page/scrolling/ScrollingTreeScrollingNode.h:
        (WebCore::ScrollingTreeScrollingNode::scrollPosition):
        (WebCore::ScrollingTreeScrollingNode::viewportConstrainedObjectRect):
        * page/scrolling/ThreadedScrollingTree.cpp:
        (WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
        * page/scrolling/ThreadedScrollingTree.h:
        * page/scrolling/ios/ScrollingTreeIOS.cpp:
        (WebCore::ScrollingTreeIOS::scrollingTreeNodeDidScroll):
        * page/scrolling/ios/ScrollingTreeIOS.h:
        * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
        * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
        (WebCore::ScrollingTreeScrollingNodeIOS::scrollPosition):
        (WebCore::ScrollingTreeScrollingNodeIOS::setScrollPosition):
        (WebCore::ScrollingTreeScrollingNodeIOS::setScrollPositionWithoutContentEdgeConstraints):
        (WebCore::ScrollingTreeScrollingNodeIOS::setScrollLayerPosition):
        (WebCore::ScrollingTreeScrollingNodeIOS::minimumScrollPosition):
        (WebCore::ScrollingTreeScrollingNodeIOS::maximumScrollPosition):
        * page/scrolling/mac/ScrollingTreeFixedNode.h:
        * page/scrolling/mac/ScrollingTreeFixedNode.mm:
        (WebCore::ScrollingTreeFixedNode::parentScrollPositionDidChange):
        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
        (WebCore::ScrollingTreeScrollingNodeMac::updateAfterChildren):
        (WebCore::ScrollingTreeScrollingNodeMac::absoluteScrollPosition):
        (WebCore::ScrollingTreeScrollingNodeMac::adjustScrollPositionToBoundsIfNecessary):
        (WebCore::ScrollingTreeScrollingNodeMac::scrollPosition):
        (WebCore::ScrollingTreeScrollingNodeMac::setScrollPosition):
        (WebCore::ScrollingTreeScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints):
        (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
        (WebCore::ScrollingTreeScrollingNodeMac::minimumScrollPosition):
        (WebCore::ScrollingTreeScrollingNodeMac::maximumScrollPosition):
        (WebCore::ScrollingTreeScrollingNodeMac::updateMainFramePinState):
        (WebCore::ScrollingTreeScrollingNodeMac::logExposedUnfilledArea):
        * page/scrolling/mac/ScrollingTreeStickyNode.h:
        * page/scrolling/mac/ScrollingTreeStickyNode.mm:
        (WebCore::ScrollingTreeStickyNode::parentScrollPositionDidChange):
        * platform/graphics/FloatPoint.h:
        (WebCore::FloatPoint::shrunkTo):

2014-01-30  Andy Estes  <aestes@apple.com>

        [Cocoa] Add NEFilterSource support to ContentFilterMac
        https://bugs.webkit.org/show_bug.cgi?id=127979

        Reviewed by Sam Weinig.

        Update ContentFilterMac to work with both WebFilterEvaluator and
        NEFilterSource, if enabled.

        * platform/ContentFilter.h: Set HAVE_NE_FILTER_SOURCE based on platform
        conditionals, and forward-declare NEFilterSource.
        * platform/mac/ContentFilterMac.mm: Included NEFilterSource.h if the SDK
        has it; declared the class directly if not. Also soft-linked
        NetworkExtension.framework.
        (WebCore::ContentFilter::ContentFilter): Initialized
        m_neFilterSourceStatus to NEFilterSourceStatusNeedsMoreData and created
        m_platformContentFilter and m_neFilterSource objects if their
        respective filters were enabled.
        (WebCore::ContentFilter::isEnabled): Returned true if either filter is
        enabled.
        (WebCore::ContentFilter::addData): Added incoming data to each filter
        that is enabled.
        (WebCore::ContentFilter::finishedAddingData): Notified each enabled
        filter that we are finished adding data.
        (WebCore::ContentFilter::needsMoreData): Returned true if either filter
        needs more data.
        (WebCore::ContentFilter::didBlockData): Returned true if either filter
        blocked data.
        (WebCore::ContentFilter::getReplacementData): Returned
        m_replacementData. Commented that this will currently return a null
        string if NEFilterSource blocked the load.

2014-01-31  Oliver Hunt  <oliver@apple.com>

        Rollout r163195 and related patches

        * CMakeLists.txt:
        * ForwardingHeaders/runtime/JSStringInlines.h: Removed.
        * Modules/plugins/QuickTimePluginReplacement.cpp:
        * bindings/js/JSIDBAnyCustom.cpp:
        * bindings/js/JSIDBDatabaseCustom.cpp:
        * bindings/js/JSIDBObjectStoreCustom.cpp:
        * bindings/js/JSNodeFilterCondition.cpp:

2014-01-31  Simon Fraser  <simon.fraser@apple.com>

        Even when in fixed layout mode, some platforms need to do layout after a viewport change
        https://bugs.webkit.org/show_bug.cgi?id=128003

        Reviewed by Andreas Kling.
        
        Re-land 163182 with a less aggresive check in visibleContentsResized() for
        needing to layout.

        iOS uses fixed layout mode in both WK1 and WK2, but lays out fixed position
        elements relative to a variable viewport. This code assumed that fixed layout
        implies a fixed viewport.
        
        Fix by testing for useCustomFixedPositionLayoutRect() in the fixed layout case.
        
        Also removed RenderView::hasCustomFixedPosition() which is no longer used.
        
        * page/FrameView.cpp:
        (WebCore::FrameView::shouldLayoutAfterViewportChange):
        (WebCore::FrameView::visibleContentsResized):
        * page/FrameView.h:
        * rendering/RenderView.cpp:
        * rendering/RenderView.h:

2014-01-31  Alexey Proskuryakov  <ap@apple.com>

        Expose creation and modification times for LocalStorage
        https://bugs.webkit.org/show_bug.cgi?id=128018

        Reviewed by Anders Carlsson.

        * WebCore.exp.in: Export FileSystem functions to get file times.

2014-01-30  Maciej Stachowiak  <mjs@apple.com>

        Implement (most of) URL API
        https://bugs.webkit.org/show_bug.cgi?id=127795

        Reviewed by Alexey Proskuryakov.

        Tests: fast/dom/DOMURL/get-href-attribute-port.html
               fast/dom/DOMURL/invalid-url-getters.html
               fast/dom/DOMURL/set-href-attribute-hash.html
               fast/dom/DOMURL/set-href-attribute-host.html
               fast/dom/DOMURL/set-href-attribute-hostname.html
               fast/dom/DOMURL/set-href-attribute-pathname.html
               fast/dom/DOMURL/set-href-attribute-port.html
               fast/dom/DOMURL/set-href-attribute-protocol.html
               fast/dom/DOMURL/set-href-attribute-search.html
               fast/dom/DOMURL/set-href-attribute-whitespace.html
               fast/dom/DOMURL/url-constructor.html
               fast/dom/DOMURL/url-origin.html
               fast/dom/DOMURL/url-password.html
               fast/dom/DOMURL/url-username.html

        * CMakeLists.txt: Update for new IDL file.
        * DerivedSources.make: ditto
        * GNUmakefile.list.am: ditto
        * html/DOMURL.cpp: Implement URL() constructor and instance methods; cribbed from
        HTMLAnchorElement mostly
        (WebCore::DOMURL::DOMURL):
        (WebCore::DOMURL::href):
        (WebCore::DOMURL::setHref):
        (WebCore::DOMURL::toString):
        (WebCore::DOMURL::origin):
        (WebCore::DOMURL::protocol):
        (WebCore::DOMURL::setProtocol):
        (WebCore::DOMURL::username):
        (WebCore::DOMURL::setUsername):
        (WebCore::DOMURL::password):
        (WebCore::DOMURL::setPassword):
        (WebCore::DOMURL::host):
        (WebCore::parsePortFromStringPosition):
        (WebCore::DOMURL::setHost):
        (WebCore::DOMURL::hostname):
        (WebCore::DOMURL::setHostname):
        (WebCore::DOMURL::port):
        (WebCore::DOMURL::setPort):
        (WebCore::DOMURL::pathname):
        (WebCore::DOMURL::setPathname):
        (WebCore::DOMURL::search):
        (WebCore::DOMURL::setSearch):
        (WebCore::DOMURL::hash):
        (WebCore::DOMURL::setHash):
        * html/DOMURL.h:
        (WebCore::DOMURL::create):
        * html/DOMURL.idl: Update for new methods.
        * html/URLUtils.idl: Added. New IDL file that contains most of the interface.

2014-01-31  Bem Jones-Bey  <bjonesbe@adobe.com>

        Create clipping path from <box> value
        https://bugs.webkit.org/show_bug.cgi?id=126205

        Reviewed by Dirk Schulze.

        This implements <box> values for border, content, and padding boxes.
        Since margin box is not implemented as a reference box, this does not
        implement margin box value.

        Tests: css3/masking/clip-path-border-box.html
               css3/masking/clip-path-content-box.html
               css3/masking/clip-path-padding-box.html

        * rendering/ClipPathOperation.h:
        (WebCore::BoxClipPathOperation::pathForReferenceRect): Implement.
        * rendering/RenderLayer.cpp:
        (WebCore::computeReferenceBox): Pull out reference box calculation.
        (WebCore::RenderLayer::setupClipPath): Add support for <box> values.
        * rendering/shapes/ShapeInfo.cpp:
        (WebCore::ShapeInfo<RenderType>::computedShape): Add FIXME comment.

2014-01-29  Oliver Hunt  <oliver@apple.com>

        Make it possible to implement JS builtins in JS
        https://bugs.webkit.org/show_bug.cgi?id=127887

        Reviewed by Michael Saboff.

        Updating for the newly required headers.

        Test: js/regress/array-prototype-every.html

        * ForwardingHeaders/runtime/JSStringInlines.h: Added.
        * Modules/plugins/QuickTimePluginReplacement.cpp:
        * bindings/js/JSIDBAnyCustom.cpp:
        * bindings/js/JSIDBDatabaseCustom.cpp:
        * bindings/js/JSIDBObjectStoreCustom.cpp:

2014-01-31  Beth Dakin  <bdakin@apple.com>

        Build fix.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::setRootExtendedBackgroundColor):

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

        Properly handle cases where a profile couldn't be recorded and null is returned.

        <rdar://problem/15957993> Crash with Inspector open at WebCore::ScriptProfile::buildInspectorObject

        Reviewed by Joseph Pecoraro.

        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::didCallFunction): Null check profile.
        (WebCore::InspectorTimelineAgent::didEvaluateScript): Ditto.

2014-01-31  Beth Dakin  <bdakin@apple.com>

        Extended background should only create margin tiles for pages with background 
        images
        https://bugs.webkit.org/show_bug.cgi?id=127876
        -and corresponding-
        <rdar://problem/15827632>

        Reviewed by Simon Fraser.

        Settings::backgroundShouldExtendBeyondPage() doesn't need to create margin tiles
        for pages with simple background colors. Instead, those pages should achieve the 
        same effect by setting a background color on RenderLayerCompositor's
        m_layerForOverhangAreas. For now, we should only create tiles when there is a 
        background image. We may want to extend this to other types of complicated 
        backgrounds in the future.

        This patch makes callers that only care about the value of the setting always call 
        Settings::backgroundShouldExtendBeyondPage() rather than asking about margin 
        tiles. And callers that want to know about margin tiles can either keep querying 
        that directly or they can call FrameView::hasExtendedBackgroundRectForPainting(). 
        An extended background does not necessarily require an extended background rect 
        for painting, and this new FrameView function can make that distinction. 

        When setBackgroundExtendsBeyondPage() is called, call RenderLayerCompositor:: 
        setRootExtendedBackgroundColor() with either the document background color, or an 
        invalid color, depending on whether you have or do not have an extended 
        background. Also call needsExtendedBackgroundRectForPainting() to determine if we 
        also need to extend the background rect, and then call 
        setHasExtendedBackgroundRectForPainting() with its value.
        * page/FrameView.cpp:
        (WebCore::FrameView::setBackgroundExtendsBeyondPage):
        (WebCore::FrameView::hasExtendedBackgroundRectForPainting):

         Right now we only need to extend the background rect for documents with 
        background images on the root. This may be extended in the future.
        (WebCore::FrameView::needsExtendedBackgroundRectForPainting):
        (WebCore::FrameView::setHasExtendedBackgroundRectForPainting):
        (WebCore::FrameView::extendedBackgroundRectForPainting):
        * page/FrameView.h:

        Expose defaultTileWidth and defaultTileHeight from TiledBacking.h so that we can 
        access the values from RenderLayerBacking.
        * platform/graphics/TiledBacking.h:
        * platform/graphics/ca/mac/TileController.mm:

        hasExtendedBackgroundForPainting() is now called 
        hasExtendedBackgroundRectForPainting() to distinguish 
        the case where an extended RECT is needed.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::repaintLayerRectsForImage):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):

        Call setHasExtendedBackgroundRectForPainting() if relevant.
        * rendering/RenderElement.cpp:
        (WebCore::RenderElement::styleWillChange):

        Don't call setTiledBackingHasMargins() right in the constructor because we only
        want margins if we have a background image, and we won't have that information
        yet.
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::RenderLayerBacking):

        Clean up the variable name here. We are only setting margins when we need to 
        extend the background rect for painting. Also make us of newly-exposed 
        defaultTileWidth and Height.
        (WebCore::RenderLayerBacking::setTiledBackingHasMargins):

        Remove RenderLayerBacking::tiledBackingHasMargin() since there aren't any more
        callers.
        * rendering/RenderLayerBacking.h:
        (WebCore::RenderLayerBacking::usingTiledBacking):

        setMasksToBounds(false) based on the Setting, and not based on whether there are 
        tile margins.
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateBacking):

        Return false from RenderLayerCompositor::requiresContentShadowLayer() if there is 
        an extended background.
        (WebCore::RenderLayerCompositor::requiresContentShadowLayer):

        Setting the background color on m_layerForOverhangAreas is all we need to do to 
        create the extended background effect on pages that only have background colors. 
        (WebCore::RenderLayerCompositor::setRootExtendedBackgroundColor):
        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):

        Remove mainFrameBackingIsTiledWithMargin() since there aren't any more callers,
        and add setRootExtendedBackgroundColor() so that we can update the color from 
        RenderView.
        * rendering/RenderLayerCompositor.h:

        Revert the code that was added to paint background color here, since this should 
        all be covered by calling RenderLayerCompositor::setExtendedBackgroundColor(). 
        More complicated backgrounds will run through the full background painting code.
        * rendering/RenderView.cpp:
        (WebCore::RenderView::paintBoxDecorations):
        (WebCore::RenderView::backgroundRect):

2014-01-31  Jochen Eisinger  <jochen@chromium.org>

        Remove FrameLoader's reloadWithOverrideURL and reloadWithRequest
        https://bugs.webkit.org/show_bug.cgi?id=128005

        Reviewed by Darin Adler.

        The former was used by chromium-android to implement the "request
        desktop version" feature, but is no longer used. After removing it,
        the latter is only invoked by reload(), so we can merge the method
        with it.

        No new tests, just removing dead code.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::reload):
        * loader/FrameLoader.h:

2014-01-31  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r163182.
        http://trac.webkit.org/changeset/163182
        https://bugs.webkit.org/show_bug.cgi?id=128012

        Broke lots of tests (Requested by smfr on #webkit).

        * page/FrameView.cpp:
        (WebCore::FrameView::visibleContentsResized):
        * page/FrameView.h:
        * rendering/RenderView.cpp:
        (WebCore::isFixedPositionInViewport):
        (WebCore::RenderView::hasCustomFixedPosition):
        * rendering/RenderView.h:

2014-01-31  Brady Eidson  <beidson@apple.com>

        IDB: openCursor() needs to prime the cursor with first position values
        https://bugs.webkit.org/show_bug.cgi?id=128008

        Reviewed by Alexey Proskuryakov.

        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
        (WebCore::OpenCursorOperation::perform): If the server connection returns initial keys/values
          for the cursor, store them.

        * Modules/indexeddb/IDBServerConnection.h:

        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
        (WebCore::IDBServerConnectionLevelDB::openCursor):
        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:

2014-01-31  Hans Muller  <hmuller@adobe.com>

        [CSS Shapes] Image valued shape can fail
        https://bugs.webkit.org/show_bug.cgi?id=127588

        Reviewed by Dean Jackson.

        Correct the handling of image valued shapes that extend into or beyond the
        margin box. This can happen when object-fit causes one dimension of the shape
        to be greater than the corresponding margin box dimension.

        Made some simplifications in RasterShapeIntervals::computeShapeMarginIntervals()
        by making the shapeMargin parameter an int, removing some unnecessary variables.

        Revised the RasterShapeIntervals class. It's now a just a list of size() interval-lists,
        with valid indices: -offset() <= y < size() - offset(), or minY() to maxY(). If margin-top
        and shape-margin are specified, then offset() is the larger of shape-margin and margin-top.
        Similarly size() is the vertical size of the margin-box or the content-box expanded by
        shape-margin, whichever is larger. See computeShapeMarginIntervals().

        Tests: fast/shapes/shape-outside-floats/shape-outside-image-fit-005.html
               fast/shapes/shape-outside-floats/shape-outside-image-fit-006.html

        * rendering/shapes/RasterShape.cpp:
        (WebCore::RasterShapeIntervals::computeShapeMarginIntervals):
        (WebCore::RasterShape::marginIntervals):
        * rendering/shapes/RasterShape.h:
        (WebCore::RasterShapeIntervals::RasterShapeIntervals):
        (WebCore::RasterShapeIntervals::offset):
        (WebCore::RasterShapeIntervals::minY):
        (WebCore::RasterShapeIntervals::maxY):
        (WebCore::RasterShapeIntervals::intervalsAt):
        * rendering/shapes/Shape.cpp:
        (WebCore::Shape::createRasterShape):
        * rendering/shapes/Shape.h:
        * rendering/shapes/ShapeInfo.cpp:

        (WebCore::getShapeImageReplacedRect):
        The rect that the image will be drawn into. This rect can imply image
        scaling and translation.

        (WebCore::getShapeImageMarginRect):
        The margin rect relative too the (0,0 origin) shape content rect.

        (WebCore::ShapeInfo<RenderType>::computedShape):

2014-01-31  Andreas Kling  <akling@apple.com>

        Deduplicate Document::encoding().
        <https://webkit.org/b/128000>

        Make Document::encoding() return an AtomicString so we don't duplicate
        the string every time it's called.

        215 KB progression on Membuster3.

        Reviewed by Simon Fraser.

        * dom/Document.h:
        * dom/Document.cpp:
        (WebCore::Document::encoding):

2014-01-31  Simon Fraser  <simon.fraser@apple.com>

        Even when in fixed layout mode, some platforms need to do layout after a viewport change
        https://bugs.webkit.org/show_bug.cgi?id=128003

        Reviewed by Andreas Kling.

        iOS uses fixed layout mode in both WK1 and WK2, but lays out fixed position
        elements relative to a variable viewport. This code assumed that fixed layout
        implies a fixed viewport.
        
        Fix by testing for useCustomFixedPositionLayoutRect() in the fixed layout case.
        
        Also removed RenderView::hasCustomFixedPosition() which is no longer used.
        
        * page/FrameView.cpp:
        (WebCore::FrameView::shouldLayoutAfterViewportChange):
        (WebCore::FrameView::visibleContentsResized):
        * page/FrameView.h:
        * rendering/RenderView.cpp:
        * rendering/RenderView.h:

2014-01-31  Zan Dobersek  <zdobersek@igalia.com>

        Guard GLContextEGL::platformContext() with USE(3D_GRAPHICS)
        https://bugs.webkit.org/show_bug.cgi?id=120214

        Reviewed by Philippe Normand.

        Guard the GLContextEGL::platformContext() declaration and definiton with USE(3D_GRAPHICS)
        since this guard is used in the GLContext class, from which the GLContextEGL class overrides
        this method.

        * platform/graphics/egl/GLContextEGL.cpp:
        * platform/graphics/egl/GLContextEGL.h:

2014-01-31  Beth Dakin  <bdakin@apple.com>

        Sideways 'wobble' when scrolling with trackpad on Mavericks
        https://bugs.webkit.org/show_bug.cgi?id=127521
        -and corresponding-
        <rdar://problem/14137306>

        Reviewed by Simon Fraser.

        This patch takes http://trac.webkit.org/changeset/154535 which introduced 
        filtering wheel events for overflow areas to try to make them less sensitive to X 
        deltas when scrolling in a primarily Y direction, and it factors that code out 
        into its own class, now called WheelEventDeltaTracker. So now this new class can 
        use the same code to filter events for WebKit2’s EventDispatcher.

        Files for WheelEventDeltaTracker.
        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:

        WK2 needs these new WheelEventDeltaTracker functions.
        * WebCore.exp.in:

        Move a bunch of code over to WheelEventDeltaTracker and use
        m_recentWheelEventTracker to serve the same purpose.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::EventHandler):
        (WebCore::EventHandler::handleWheelEvent):
        (WebCore::EventHandler::defaultWheelEventHandler):
        * page/EventHandler.h:

        Allow horizontal rubber banding now that we have some event filtering in place.
        * page/FrameView.cpp:
        (WebCore::FrameView::FrameView):

        New files. Most of this code was from EventHandler.
        * page/WheelEventDeltaTracker.cpp: Added.
        (WebCore::WheelEventDeltaTracker::WheelEventDeltaTracker):
        (WebCore::WheelEventDeltaTracker::~WheelEventDeltaTracker):
        (WebCore::WheelEventDeltaTracker::beginTrackingDeltas):
        (WebCore::WheelEventDeltaTracker::endTrackingDeltas):
        (WebCore::WheelEventDeltaTracker::recordWheelEventDelta):
        (WebCore::deltaIsPredominantlyVertical):
        (WebCore::WheelEventDeltaTracker::dominantScrollGestureDirection):
        * page/WheelEventDeltaTracker.h: Added.
        (WebCore::WheelEventDeltaTracker::isTrackingDeltas):

        New function to clone events while zero-ing out certain deltas.
        * platform/PlatformWheelEvent.h:
        (WebCore::PlatformWheelEvent::copyIgnoringHorizontalDelta):
        (WebCore::PlatformWheelEvent::copyIgnoringVerticalDelta):

2014-01-31  Simon Fraser  <simon.fraser@apple.com>

        Don't do logging from Range::collectSelectionRects() on iOS
        https://bugs.webkit.org/show_bug.cgi?id=127999

        Reviewed by Enrica Casucci.

        Remove some logging code that printed Range stuff in debug builds.

        * dom/Range.cpp:
        (WebCore::Range::collectSelectionRects):

2014-01-30  Simon Fraser  <simon.fraser@apple.com>

        Make iOS fixed layer registration more like OS X
        https://bugs.webkit.org/show_bug.cgi?id=127983

        Reviewed by Antti Koivisto.

        Remove some #if PLATFORM(IOS) in the code related to registering
        viewport-constrained layers. The code behaves correctly now in WK1
        and WK2 based on the presence of a ScrollingCoordinator.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
        (WebCore::nearestScrollingCoordinatorAncestor):
        (WebCore::RenderLayerCompositor::registerOrUpdateViewportConstrainedLayer):
        (WebCore::RenderLayerCompositor::unregisterViewportConstrainedLayer):

2014-01-31  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r163165.
        http://trac.webkit.org/changeset/163165
        https://bugs.webkit.org/show_bug.cgi?id=127997

        broke 2 fast/table tests (Requested by kling on #webkit).

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::updateLogicalWidth):
        (WebCore::RenderTable::computePreferredLogicalWidths):

2014-01-31  Anders Carlsson  <andersca@apple.com>

        Don't allocate a new XMLHttpRequestStaticData every time staticData() is called
        https://bugs.webkit.org/show_bug.cgi?id=127996

        Reviewed by Andreas Kling.

        std::once_flag should be static.

        * xml/XMLHttpRequest.cpp:
        (WebCore::staticData):

2014-01-31  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Change RenderBoxModelObject's border functions' signature to support subpixel border painting.
        https://bugs.webkit.org/show_bug.cgi?id=127975

        Reviewed by Simon Fraser.

        From int to LayoutUnit.

        Covered by existing tests. No change in functionality.

        * platform/text/TextStream.cpp:
        (WebCore::TextStream::operator<<):
        * platform/text/TextStream.h:
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        * rendering/RenderBoxModelObject.h:
        (WebCore::RenderBoxModelObject::borderTop):
        (WebCore::RenderBoxModelObject::borderBottom):
        (WebCore::RenderBoxModelObject::borderLeft):
        (WebCore::RenderBoxModelObject::borderRight):
        (WebCore::RenderBoxModelObject::borderBefore):
        (WebCore::RenderBoxModelObject::borderAfter):
        (WebCore::RenderBoxModelObject::borderStart):
        (WebCore::RenderBoxModelObject::borderEnd):
        * rendering/RenderElement.cpp:
        (WebCore::RenderElement::repaintAfterLayoutIfNeeded):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::borderBefore):
        (WebCore::RenderTable::borderAfter):
        * rendering/RenderTable.h:
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::borderLeft):
        (WebCore::RenderTableCell::borderRight):
        (WebCore::RenderTableCell::borderTop):
        (WebCore::RenderTableCell::borderBottom):
        (WebCore::RenderTableCell::borderStart):
        (WebCore::RenderTableCell::borderEnd):
        (WebCore::RenderTableCell::borderBefore):
        (WebCore::RenderTableCell::borderAfter):
        * rendering/RenderTableCell.h:

2014-01-31  Brady Eidson  <beidson@apple.com>

        IDB: Index writing
        <rdar://problem/15899973> and https://bugs.webkit.org/show_bug.cgi?id=127868

        Reviewed by Anders Carlsson.

        * Modules/indexeddb/IDBDatabaseBackend.cpp:
        (WebCore::IDBDatabaseBackend::openConnectionInternal): Remove outdated comment and ASSERT.

        * Modules/indexeddb/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::createIndex): Conditionalize a block of code that is LevelDB-only.

        Remove getColumnBlob().  Nobody used it, and it was dangerous because it reset the statement:
        * platform/sql/SQLiteStatement.cpp:
        * platform/sql/SQLiteStatement.h:
        * WebCore.exp.in:

2014-01-30  László Langó  <lango@inf.u-szeged.hu>

        [CSS Grid Layout] Do log(n) search in the named line vectors when positioning named line spans.
        https://bugs.webkit.org/show_bug.cgi?id=125396

        Reviewed by Andreas Kling.

        Implement the suggested FIXMEs and do a log search in the named line
        vectors. This maintains the previous (somewhat tricky) behavior by
        using std::lower_bound and std::upper_bound. No difference in existing
        performance tests, but should scale much better for big grids.

        Backported from Blink:
        https://chromium.googlesource.com/chromium/blink/+/9fc477af0be708c490a6b90e65e412b0c22b161f

        No new tests, no behavior change.

        * rendering/RenderGrid.cpp:
        (WebCore::RenderGrid::resolveRowStartColumnStartNamedGridLinePositionAgainstOppositePosition):
        (WebCore::RenderGrid::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):

2014-01-31  László Langó  <lango@inf.u-szeged.hu>

        Fix table sizing when 'max-width' is used.
        https://bugs.webkit.org/show_bug.cgi?id=115156

        Reviewed by Andreas Kling.

        r143534 make <table> abide by 'max-width' all the time which is wrong.
        Per the CSS specification, a table should be wide enough to fit its
        content, regardless of 'max-width'.

        r140479 fixed part of the regression from that change but made the
        same fatal mistake by constraining min-content to fit 'max-width'.

        The fix is to avoid constraining min-content and ensure that the table
        logical width is at least its min-content size.

        Backported from Blink:
        https://chromium.googlesource.com/chromium/blink/+/0bca0dec4895aeeb2054ba36316e984e4ebed06f

        Test: fast/table/html-table-width-max-width-constrained.html

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::updateLogicalWidth):
        (WebCore::RenderTable::computePreferredLogicalWidths):

2014-01-30  Simon Fraser  <simon.fraser@apple.com>

        Fix iOS build after r163156.
        
        Need to convert LayoutSizes to FloatSizes.

        * bindings/objc/DOMUIKitExtensions.mm:
        (-[DOMNode borderRadii]):

2014-01-30  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Change drawRect()/drawLine() signature to support subpixel rendering.
        https://bugs.webkit.org/show_bug.cgi?id=127961

        Reviewed by Simon Fraser.

        IntRect/IntPoint -> FloatRect/FloatPoint.

        Covered by existing tests. No change in functionality.

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawRect):
        (WebCore::GraphicsContext::drawLine):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::drawRect):
        (WebCore::GraphicsContext::drawLine): Keep 'distance' int for DottedStroke and DashedStroke for now.
        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::GraphicsContext::drawRect):
        (WebCore::GraphicsContext::drawLine):

2014-01-30  Simon Fraser  <simon.fraser@apple.com>

        Remove ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers() which is no longer used
        https://bugs.webkit.org/show_bug.cgi?id=127981

        Reviewed by Andreas Kling.

        setLayerIsContainerForFixedPositionLayers() was only used by Chromium and Blackberry,
        so remove it.
        
        This allows the removal of RenderLayerBacking::registerScrollingLayers(),
        moving the single useful line of code to the caller.

        * page/scrolling/ScrollingCoordinator.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
        * rendering/RenderLayerBacking.h:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::ensureRootLayer):

2014-01-30  Simon Fraser  <simon.fraser@apple.com>

        Some fixed position elements disappear in WK2 on iOS
        https://bugs.webkit.org/show_bug.cgi?id=127977

        Reviewed by Tim Horton.

        Use the appropriate rectangle to ensure that on iOS we don't 
        consider a fixed element outside the viewport when zoomed in,
        and therefore never make a compositing layer for it.

        Also remove the iOS-specific code in RenderLayerCompositor::requiresCompositingForPosition(),
        since it's OK to use the common code. Doing so requires that we
        set the "acceleratedCompositingForFixedPositionEnabled" setting to true
        for iOS, so do so.

        * page/Settings.cpp:
        * page/Settings.in:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::requiresCompositingForPosition):

2014-01-30  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Make RoundedRect layout unit aware.
        https://bugs.webkit.org/show_bug.cgi?id=127779

        Reviewed by Simon Fraser.

        In order to draw hairline borders, RoundedRect needs to be
        LayoutUnit based.

        No change in behavior.

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::fillRoundedRect):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/RoundedRect.cpp:
        (WebCore::RoundedRect::Radii::scale):
        (WebCore::RoundedRect::Radii::expand):
        (WebCore::RoundedRect::inflateWithRadii):
        (WebCore::RoundedRect::RoundedRect):
        (WebCore::RoundedRect::intersectsQuad):
        * platform/graphics/RoundedRect.h:
        (WebCore::RoundedRect::Radii::Radii):
        (WebCore::RoundedRect::Radii::setTopLeft):
        (WebCore::RoundedRect::Radii::setTopRight):
        (WebCore::RoundedRect::Radii::setBottomLeft):
        (WebCore::RoundedRect::Radii::setBottomRight):
        (WebCore::RoundedRect::Radii::topLeft):
        (WebCore::RoundedRect::Radii::topRight):
        (WebCore::RoundedRect::Radii::bottomLeft):
        (WebCore::RoundedRect::Radii::bottomRight):
        (WebCore::RoundedRect::Radii::expand):
        (WebCore::RoundedRect::Radii::shrink):
        (WebCore::RoundedRect::rect):
        (WebCore::RoundedRect::setRect):
        (WebCore::RoundedRect::move):
        (WebCore::RoundedRect::inflate):
        (WebCore::RoundedRect::expandRadii):
        (WebCore::RoundedRect::shrinkRadii):
        * platform/graphics/ShadowBlur.cpp:
        (WebCore::ScratchBuffer::setCachedShadowValues):
        (WebCore::ScratchBuffer::setCachedInsetShadowValues):
        (WebCore::computeSliceSizesFromRadii):
        (WebCore::ShadowBlur::templateSize):
        (WebCore::ShadowBlur::drawRectShadow):
        (WebCore::ShadowBlur::drawInsetShadow):
        (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
        (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
        (WebCore::ShadowBlur::drawInsetShadowWithTiling):
        (WebCore::ShadowBlur::drawRectShadowWithTiling):
        (WebCore::ShadowBlur::drawLayerPieces):
        (WebCore::ShadowBlur::beginShadowLayer):
        * platform/graphics/ShadowBlur.h:
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::clipOut):
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::fillRectWithRoundedHole):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::platformInit):
        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::GraphicsContext::clipOut):
        (WebCore::GraphicsContext::fillRoundedRect):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintOneBorderSide):
        (WebCore::calculateSideRect):
        (WebCore::RenderBoxModelObject::paintBorderSides):
        (WebCore::RenderBoxModelObject::paintBorder):
        (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
        (WebCore::calculateSideRectIncludingInner):
        (WebCore::calculateAdjustedInnerBorder):
        (WebCore::areaCastingShadowInHole):
        (WebCore::RenderBoxModelObject::paintBoxShadow):
        * rendering/RenderBoxModelObject.h:
        * rendering/RenderThemeSafari.cpp:
        (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
        (WebCore::RenderThemeSafari::paintSliderTrack):

2014-01-30  Martin Robinson  <mrobinson@igalia.com>

        [GTK] [CMake] Add support for building against GTK+ 2
        https://bugs.webkit.org/show_bug.cgi?id=127959

        Reviewed by Anders Carlsson.

        * PlatformGTK.cmake: Use the new API version variable and don't use GTK3 directly.

2014-01-30  Jessie Berlin  <jberlin@apple.com>

        Speculative build fix.

        * page/animation/CSSPropertyAnimation.cpp:

2014-01-30  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Change BorderData's width from unsigned to float to enable subpixel border painting.
        https://bugs.webkit.org/show_bug.cgi?id=127949

        Reviewed by Andreas Kling.

        Covered by existing tests. No change in functionality.

        * css/DeprecatedStyleBuilder.cpp:
        (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
        * page/animation/CSSPropertyAnimation.cpp:
        (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::calcBorderStart):
        (WebCore::RenderTable::calcBorderEnd):
        * rendering/style/BorderValue.h:
        (WebCore::BorderValue::BorderValue):
        (WebCore::BorderValue::width):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::borderBeforeWidth):
        (WebCore::RenderStyle::borderAfterWidth):
        (WebCore::RenderStyle::borderStartWidth):
        (WebCore::RenderStyle::borderEndWidth):
        * rendering/style/RenderStyle.h:

2014-01-30  David Kilzer  <ddkilzer@apple.com>

        Add security-checked cast for WebCore::CachedImage
        <http://webkit.org/b/127967>

        Reviewed by Darin Adler.

        * loader/cache/CachedImage.h:
        (WebCore::toCachedImage): Add.
        (WebCore::toCachedImageManual): Add.
        * loader/cache/CachedResource.h:
        (CACHED_RESOURCE_TYPE_CASTS): Add macro.

        * loader/cache/CachedImage.cpp:
        (WebCore::CachedImage::switchClientsToRevalidatedResource):
        (WebCore::CachedImage::resumeAnimatingImagesForLoader):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::requestImage):
        * loader/cache/MemoryCache.cpp:
        (WebCore::MemoryCache::removeImageFromCache):
        - Use toCachedImage() and toCachedImageManual().

2014-01-30  Simon Fraser  <simon.fraser@apple.com>

        Fixed position objects are clipped in iOS WK2
        https://bugs.webkit.org/show_bug.cgi?id=127974

        Reviewed by Darin Adler.
        
        We clip compositing layers for fixed position objects to the viewport
        to avoid huge layers. However, because iOS changes the fixed position
        rect when zooming, we need a different rect for iOS.
        
        In WK1 (when we have a platformWidget), we can use
        visibleContentRect(ScrollableArea::LegacyIOSDocumentVisibleRect)
        which is effectively the whole document. However in WK2 this is
        the real visibleContentRect(), so there we use unscaledDocumentRect().

        * page/FrameView.cpp:
        (WebCore::FrameView::viewportConstrainedExtentRect):
        * page/FrameView.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateCompositedBounds):

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

        Add column number and call timing support to LegacyProfiler.

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

        Reviewed by Joseph Pecoraro.

        * bindings/js/ScriptProfile.cpp:
        (WebCore::ScriptProfile::idleTime):
        (WebCore::buildInspectorObjectFor):
        (WebCore::ScriptProfile::buildInspectorObject):
        * bindings/js/ScriptProfile.h:
        * inspector/InspectorHeapProfilerAgent.cpp:
        (WebCore::InspectorHeapProfilerAgent::createSnapshotHeader):
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::createSnapshotHeader):
        (WebCore::InspectorProfilerAgent::getCPUProfile):
        * inspector/ScriptProfileNode.idl:
        * inspector/TimelineRecordFactory.cpp:
        (WebCore::TimelineRecordFactory::appendProfile):
        * inspector/protocol/Profiler.json:

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

        Include profile with FunctionCall and EvaluateScript Timeline records.

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

        Reviewed by Joseph Pecoraro.

        * bindings/js/JSCallbackData.cpp:
        (WebCore::JSCallbackData::invokeCallback):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::handleEvent):
        * bindings/js/JSMutationCallback.cpp:
        (WebCore::JSMutationCallback::call):
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::executeFunctionInContext):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::evaluateInWorld):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didCallInjectedScriptFunction):
        * inspector/InspectorController.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didCallFunctionImpl):
        (WebCore::InspectorInstrumentation::didEvaluateScriptImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::didCallFunction):
        (WebCore::InspectorInstrumentation::didEvaluateScript):
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::willCallFunction):
        (WebCore::InspectorTimelineAgent::didCallFunction):
        (WebCore::InspectorTimelineAgent::willEvaluateScript):
        (WebCore::InspectorTimelineAgent::didEvaluateScript):
        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
        * inspector/InspectorTimelineAgent.h:
        * inspector/TimelineRecordFactory.cpp:
        (WebCore::TimelineRecordFactory::appendProfile):
        * inspector/TimelineRecordFactory.h:
        * inspector/WorkerInspectorController.cpp:
        (WebCore::WorkerInspectorController::didCallInjectedScriptFunction):
        * inspector/WorkerInspectorController.h:

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

        Remove now-empty ScriptController::setCaptureCallStackForUncaughtExceptions
        https://bugs.webkit.org/show_bug.cgi?id=127964

        Reviewed by Timothy Hatcher.

        Remove empty function. It was only needed by v8 at one point.

        * bindings/js/ScriptController.h:
        * bindings/js/ScriptController.cpp:
        Remove empty function.

        * inspector/InspectorConsoleAgent.h:
        * inspector/InspectorConsoleAgent.cpp:
        (WebCore::InspectorConsoleAgent::enable):
        (WebCore::InspectorConsoleAgent::disable):
        Remove callers and related tracking state.

2014-01-30  Roger Fong  <roger_fong@apple.com>

        WebGL load policy should be queried for the top level document.
        https://bugs.webkit.org/show_bug.cgi?id=127937.
        <rdar://problem/15950122>

        Reviewed by Timothy Horton.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::getContext):

2014-01-27  Jeffrey Pfau  <jpfau@apple.com>

        Add a method for schemes to be registered as supporting cache partitioning
        https://bugs.webkit.org/show_bug.cgi?id=127739

        Reviewed by Darin Adler.

        Currently, this assumes that schemes supporting cache partitioning
        also support (scheme, host) doubles for the scheme. Furthermore,
        the scheme is currently discarded when partitioning and is only
        checked to ensure that partitioning is supported for that scheme: it
        is assumed that all origins with the same host double should be binned
        together, regardless of scheme.

        * WebCore.exp.in:
        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::cachePartition):
        * platform/SchemeRegistry.cpp:
        (WebCore::CachePartitioningSchemes):
        (WebCore::SchemeRegistry::registerURLSchemeAsCachePartitioned):
        (WebCore::SchemeRegistry::shouldPartitionCacheForURLScheme):
        * platform/SchemeRegistry.h:

2014-01-30  Jer Noble  <jer.noble@apple.com>

        [iOS] Convert blocks to lambdas in iOS Fullscreen code.
        https://bugs.webkit.org/show_bug.cgi?id=127946

        Reviewed by Anders Carlsson.

        Pushing a block into a std::function will eventually cause a crash, since std::function
        does not know about Block_copy and Block_release.

        Lamdas can be intrinsicly converted to blocks, but not vice versa. Switch over all the
        blocks in the new iOS Fullscreen code to use lamdas, and use the ref-counted this object
        directly rather than implicitly.

        * platform/ios/WebVideoFullscreenControllerAVKit.mm:
        (-[WebVideoFullscreenController exitFullscreen]):
        * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
        (WebVideoFullscreenInterfaceAVKit::setVideoLayer):
        (WebVideoFullscreenInterfaceAVKit::enterFullscreen):
        (WebVideoFullscreenInterfaceAVKit::exitFullscreen):

2014-01-30  Martin Robinson  <mrobinson@igalia.com>

        [GTK] [CMake] Add a "make dist" target
        https://bugs.webkit.org/show_bug.cgi?id=116378

        Reviewed by Gustavo Noronha Silva.

        * CMakeLists.txt: Don't build WebKitVersion.h for WebKitGTK+. We don't use it
        and we don't want to distribute the dependency.

2014-01-30  Brady Eidson  <beidson@apple.com>

        IDB: ObjectStore cursor advance() support
        <rdar://problem/15779645> and https://bugs.webkit.org/show_bug.cgi?id=127866

        Reviewed by Sam Weinig.

        Add IDBKeyData sorting for database collation:
        * Modules/indexeddb/IDBKeyData.cpp:
        (WebCore::IDBKeyData::compare):
        * Modules/indexeddb/IDBKeyData.h:

        * WebCore.exp.in:

        * platform/sql/SQLiteTransaction.h:
        (WebCore::SQLiteTransaction::database):

2014-01-30  David Kilzer  <ddkilzer@apple.com>

        De-virtual-ize CachedResource::isImage()
        <http://webkit.org/b/127936>

        Reviewed by Andreas Kling.

        Also replace explicit type() checks with isImage().

        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::willSendRequest): Use isImage().
        * loader/cache/CachedImage.h:
        (WebCore::CachedResource::isImage): Remove virtual override.
        * loader/cache/CachedResource.h:
        (WebCore::CachedResource::isImage): Check type() instead of
        defining a virtual method that returns false by default.
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::reloadImagesIfNotDeferred): Use isImage().

2014-01-30  Eric Carlson  <eric.carlson@apple.com>

        [iOS] don't update media layers on main thread when using AVFoundation
        https://bugs.webkit.org/show_bug.cgi?id=127931

        Reviewed by Simon Fraser.

        * platform/graphics/GraphicsLayerClient.h:
        (WebCore::GraphicsLayerClient::mediaLayerMustBeUpdatedOnMainThread): Add mediaLayerMustBeUpdatedOnMainThread.

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::mediaLayerMustBeUpdatedOnMainThread): Ask the client if graphics layers
            should be updated on the main thread.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::mediaLayerMustBeUpdatedOnMainThread): New, check settings to see
            if video plug-in proxy is enabled.
        * rendering/RenderLayerBacking.h:

2014-01-30  Jer Noble  <jer.noble@apple.com>

        [MediaControls][iOS] Fix a couple of UI bugs in the iOS Media Controls
        https://bugs.webkit.org/show_bug.cgi?id=127929

        Reviewed by Eric Carlson.

        Two UI bugs in the iOS Media Controls: the text in the controls should use the apple
        system font rather than the webkit small control font, and the buttons in the controls
        are clipped due to an "off by one" error when calculating the SVG image dimensions.

        * Modules/mediacontrols/mediaControlsiOS.css:
        (::-webkit-media-controls):
        (audio::-webkit-media-controls-play-button):
        (audio::-webkit-media-controls-fullscreen-button):
        (audio::-webkit-media-controls-time-remaining-display):

2014-01-30  Jeremy Jones  <jeremyj@apple.com>

        Refactor WebVideoFullscreenController separating AVKit from MediaElement.
        https://bugs.webkit.org/show_bug.cgi?id=127762

        Reviewed by Jer Noble.

        Refactor WebVideoFullscreenControllerAVKit implementation into two abstract interfaces with concrete implementations: 
        WebVideoFullscreenModel, WebVideoFullscreenInterface, WebVideoFullscreenModelMediaElement, WebVideoFullscreenInterfaceAVKit.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/ios/WebVideoFullscreenControllerAVKit.h:
        * platform/ios/WebVideoFullscreenControllerAVKit.mm:
        (-[WebVideoFullscreenController init]):
        (-[WebVideoFullscreenController dealloc]):
        (-[WebVideoFullscreenController enterFullscreen:]):
        (-[WebVideoFullscreenController exitFullscreen]):
        * platform/ios/WebVideoFullscreenInterface.h: Copied from Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.h.
        (WebCore::WebVideoFullscreenInterface::~WebVideoFullscreenInterface):
        * platform/ios/WebVideoFullscreenInterfaceAVKit.h: Added.
        (WebCore::WebVideoFullscreenInterfaceAVKit::~WebVideoFullscreenInterfaceAVKit):
        * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: Added.
        (NS_ENUM):
        (-[WebAVPlayerController init]):
        (-[WebAVPlayerController dealloc]):
        (-[WebAVPlayerController forwardingTargetForSelector:]):
        (-[WebAVPlayerController playerViewController:shouldDismissWithReason:]):
        (-[WebAVPlayerController play:]):
        (-[WebAVPlayerController pause:]):
        (-[WebAVPlayerController togglePlayback:]):
        (-[WebAVPlayerController isPlaying]):
        (-[WebAVPlayerController setPlaying:]):
        (+[WebAVPlayerController keyPathsForValuesAffectingPlaying]):
        (-[WebAVPlayerController seekToTime:]):
        (:m_videoFullscreenModel):
        (WebVideoFullscreenInterfaceAVKit::setWebVideoFullscreenModel):
        (WebVideoFullscreenInterfaceAVKit::setDuration):
        (WebVideoFullscreenInterfaceAVKit::setCurrentTime):
        (WebVideoFullscreenInterfaceAVKit::setRate):
        (WebVideoFullscreenInterfaceAVKit::setVideoDimensions):
        (WebVideoFullscreenInterfaceAVKit::setVideoLayer):
        (WebVideoFullscreenInterfaceAVKit::enterFullscreen):
        (WebVideoFullscreenInterfaceAVKit::exitFullscreen):
        * platform/ios/WebVideoFullscreenModel.h: Copied from Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.h.
        (WebCore::WebVideoFullscreenModel::~WebVideoFullscreenModel):
        * platform/ios/WebVideoFullscreenModelMediaElement.h: Copied from Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.h.
        (WebCore::WebVideoFullscreenModelMediaElement::~WebVideoFullscreenModelMediaElement):
        (WebCore::WebVideoFullscreenModelMediaElement::setWebVideoFullscreenInterface):
        * platform/ios/WebVideoFullscreenModelMediaElement.mm: Added.
        (WebVideoFullscreenModelMediaElement::setMediaElement):
        (WebVideoFullscreenModelMediaElement::handleEvent):
        (WebVideoFullscreenModelMediaElement::requestExitFullScreen):
        (WebVideoFullscreenModelMediaElement::play):
        (WebVideoFullscreenModelMediaElement::pause):
        (WebVideoFullscreenModelMediaElement::togglePlayState):
        (WebVideoFullscreenModelMediaElement::seekToTime):
        (WebVideoFullscreenModelMediaElement::didExitFullscreen):

2014-01-30  Jer Noble  <jer.noble@apple.com>

        [MediaControls][iOS] Add a "start load" button.
        https://bugs.webkit.org/show_bug.cgi?id=127861

        Reviewed by Eric Carlson.

        Add a "start load" button which replaces the controls on platforms
        where inline playback is not allowed, or when playback without a
        user gesture is not allowed.

        Add an accessor to MediaControlsHost to query whether inline playback is allowed.:
        * Modules/mediacontrols/MediaControlsHost.cpp:
        (WebCore::MediaControlsHost::mediaPlaybackAllowsInline):
        * Modules/mediacontrols/MediaControlsHost.h:
        * Modules/mediacontrols/MediaControlsHost.idl:
        * html/HTMLMediaElement.h:
        (WebCore::HTMLMediaElement::mediaSession):

        Update the base controller to allow more functions to be overridden:
        * Modules/mediacontrols/mediaControlsApple.js:
        (Controller):
        (Controller.prototype.shouldHaveAnyUI):
        (Controller.prototype.updateBase):
        (Controller.prototype.setControlsType):
        (Controller.prototype.updateControls):
        (Controller.prototype.handleFullscreenChange):

        Add the new button, and allow for switching between "start", "inline", and "fullscreen" controls:
        * Modules/mediacontrols/mediaControlsiOS.js:
        (ControllerIOS.prototype.addVideoListeners):
        (ControllerIOS.prototype.removeVideoListeners):
        (ControllerIOS.prototype.createBase):
        (ControllerIOS.prototype.shouldHaveStartPlaybackButton):
        (ControllerIOS.prototype.shouldHaveControls):
        (ControllerIOS.prototype.shouldHaveAnyUI):
        (ControllerIOS.prototype.createControls):
        (ControllerIOS.prototype.setControlsType):
        (ControllerIOS.prototype.addStartPlaybackControls):
        (ControllerIOS.prototype.removeStartPlaybackControls):
        (ControllerIOS.prototype.updateControls):
        (ControllerIOS.prototype.handleStartPlaybackButtonTouchStart):
        (ControllerIOS.prototype.handleStartPlaybackButtonTouchEnd):
        (ControllerIOS.prototype.handleStartPlaybackButtonTouchCancel):
        (ControllerIOS.prototype.handleReadyStateChange):

        Add the new art:
        * Modules/mediacontrols/mediaControlsiOS.css:
        (audio::-webkit-media-controls-start-playback-button):
        (audio::-webkit-media-controls-start-playback-button.failed):

2014-01-30  Tim Horton  <timothy_horton@apple.com>

        WebKit2 View Gestures (Swipe): Provide a way for clients to provide views to swipe
        https://bugs.webkit.org/show_bug.cgi?id=127891
        <rdar://problem/15931413>

        Reviewed by Anders Carlsson.

        * WebCore.exp.in:
        A surprising export.

2014-01-30  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=127371
        Explore new API that could be used to help build infinitely scrolling websites
        -and corresponding-
        <rdar://problem/15244768>

        Reviewed by Sam Weinig.

        This patch adds 4 new events called webkitwillrevealbottom, webkitwillrevealtop, 
        webkitwillrevealleft, and webkitwillrevealright. These events will fire when the 
        user has scrolled close to corresponding edge of the document. Right now that is 
        defined to be one viewport away from the corresponding edge. 

        FrameView::scrollPositionChanged() and 
        FrameView::scrollPositionChangedViaPlatformWidget() now take two parameters 
        representing the old scroll position and the new position.
        * WebCore.exp.in:

        New events.
        * dom/Document.h:
        * dom/Document.idl:
        * dom/Element.h:
        * dom/Element.idl:
        * dom/EventNames.h:
        * html/HTMLAttributeNames.in:
        * html/HTMLElement.cpp:
        (WebCore::populateEventNameForAttributeLocalNameMap):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:

        Send oldPosition and newPosition to scrollPositionChanged().
        * page/FrameView.cpp:
        (WebCore::FrameView::setFixedVisibleContentRect):
        (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):

        After sending scroll events, also call sendWillRevealEdgeEventsIfNeeded() to send 
        the see if we should send the new will-reveal events.
        (WebCore::FrameView::scrollPositionChanged):

        Use the old position and the new position to determine if the events should be 
        sent.
        (WebCore::FrameView::sendWillRevealEdgeEventsIfNeeded):

        Send new parameters to scrollPositionChanged().
        (WebCore::FrameView::scrollTo):
        (WebCore::FrameView::wheelEvent):
        * page/FrameView.h:

2014-01-30  Szabolcs David  <davidsz@inf.u-szeged.hu>

        [curl] Improve realm string parsing in WWW-Authenticate headers
        https://bugs.webkit.org/show_bug.cgi?id=127421

        Reviewed by Brent Fulgham.

        The realm string contains quotes at the beginning and end - this is the
        opposite of the libsoup implementation. Furthermore, if the header is
        concatenated from two or more another headers, it contains more incorrect part.

        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::removeLeadingAndTrailingQuotes):
        (WebCore::getProtectionSpace):

2014-01-30  Anders Carlsson  <andersca@apple.com>

        Modernize HTTPHeaderMap iteration
        https://bugs.webkit.org/show_bug.cgi?id=127915

        Reviewed by Andreas Kling.

        * inspector/InspectorResourceAgent.cpp:
        (WebCore::buildObjectForHeaders):
        (WebCore::InspectorResourceAgent::willLoadXHR):
        (WebCore::InspectorResourceAgent::replayXHR):
        * loader/CrossOriginAccessControl.cpp:
        (WebCore::isSimpleCrossOriginAccessRequest):
        (WebCore::createAccessControlPreflightRequest):
        * loader/CrossOriginPreflightResultCache.cpp:
        (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::responseReceived):
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::store):
        * loader/cache/CachedRawResource.cpp:
        (WebCore::CachedRawResource::canReuse):
        * loader/cache/CachedResource.cpp:
        (WebCore::CachedResource::updateResponseAfterRevalidation):
        * platform/network/HTTPHeaderMap.cpp:
        (WebCore::HTTPHeaderMap::copyData):
        * platform/network/ResourceRequestBase.cpp:
        (WebCore::ResourceRequestBase::addHTTPHeaderFields):
        * platform/network/cf/ResourceRequestCFNet.cpp:
        (WebCore::setHeaderFields):
        * platform/network/mac/ResourceRequestMac.mm:
        (WebCore::ResourceRequest::doUpdatePlatformRequest):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::getAllResponseHeaders):

2014-01-30  Antti Koivisto  <antti@apple.com>

        WebPage::determinePrimarySnapshottedPlugIn is slow
        https://bugs.webkit.org/show_bug.cgi?id=127905

        Reviewed by Anders Carlsson.

        * WebCore.exp.in: New exports
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLPlugInImageElement.h:
        (WebCore::HTMLPlugInImageElement>): Add isElementOfType<>

2014-01-30  Csaba Osztrogonác  <ossy@webkit.org>

        [SOUP] Fix the build if !ENABLE(WEB_TIMING)
        https://bugs.webkit.org/show_bug.cgi?id=127906

        Reviewed by Gustavo Noronha Silva.

        * platform/network/soup/SoupNetworkSession.cpp:

2014-01-30  Andrei Bucur  <abucur@adobe.com>

        Remove the ACCELERATED_COMPOSITING flag
        https://bugs.webkit.org/show_bug.cgi?id=127833

        Reviewed by Antti Koivisto.

        Remove the USE(ACCELERATED_COMPOSITING) conditionals from the code base and make AC
        mandatory.

        Tests: No new tests, no functional change.

        * css/MediaQueryEvaluator.cpp:
        (WebCore::transform_3dMediaFeatureEval):
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::canShareStyleWithElement):
        * dom/Document.cpp:
        (WebCore::Document::setVisualUpdatesAllowed):
        (WebCore::Document::recalcStyle):
        (WebCore::Document::createRenderTree):
        (WebCore::Document::documentWillBecomeInactive):
        (WebCore::Document::documentDidResumeFromPageCache):
        (WebCore::Document::windowScreenDidChange):
        * dom/PseudoElement.cpp:
        (WebCore::PseudoElement::~PseudoElement):
        * history/CachedFrame.cpp:
        (WebCore::CachedFrameBase::CachedFrameBase):
        (WebCore::CachedFrameBase::restore):
        (WebCore::CachedFrame::CachedFrame):
        * history/CachedFrame.h:
        * history/CachedPage.cpp:
        (WebCore::CachedPage::restore):
        * history/CachedPage.h:
        * history/PageCache.cpp:
        (WebCore::PageCache::PageCache):
        (WebCore::PageCache::markPagesForDeviceScaleChanged):
        * history/PageCache.h:
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::getContext):
        (WebCore::HTMLCanvasElement::reset):
        (WebCore::HTMLCanvasElement::paintsIntoCanvasBuffer):
        (WebCore::HTMLCanvasElement::createImageBuffer):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::parseAttribute):
        * html/HTMLMediaElement.h:
        * html/canvas/CanvasRenderingContext.h:
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::didDraw):
        * html/canvas/CanvasRenderingContext2D.h:
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::markContextChanged):
        (WebCore::WebGLRenderingContext::reshape):
        (WebCore::WebGLRenderingContext::platformLayer):
        * html/canvas/WebGLRenderingContext.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
        (WebCore::InspectorInstrumentation::pseudoElementDestroyedImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::pseudoElementDestroyed):
        * inspector/InspectorLayerTreeAgent.cpp:
        * inspector/InstrumentingAgents.cpp:
        (WebCore::InstrumentingAgents::InstrumentingAgents):
        (WebCore::InstrumentingAgents::reset):
        * inspector/InstrumentingAgents.h:
        * loader/EmptyClients.h:
        * page/ChromeClient.h:
        * page/Frame.cpp:
        (WebCore::Frame::layerTreeAsText):
        (WebCore::Frame::deviceOrPageScaleFactorChanged):
        * page/Frame.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::setFrameRect):
        (WebCore::FrameView::scheduleLayerFlushAllowingThrottling):
        (WebCore::FrameView::hasCompositedContent):
        (WebCore::FrameView::hasCompositedContentIncludingDescendants):
        (WebCore::FrameView::hasCompositingAncestor):
        (WebCore::FrameView::enterCompositingMode):
        (WebCore::FrameView::isEnclosedInCompositingLayer):
        (WebCore::FrameView::flushCompositingStateIncludingSubframes):
        (WebCore::FrameView::isSoftwareRenderable):
        (WebCore::FrameView::layout):
        (WebCore::FrameView::contentsInCompositedLayer):
        (WebCore::FrameView::scrollContentsFastPath):
        (WebCore::FrameView::scrollContentsSlowPath):
        (WebCore::FrameView::setIsOverlapped):
        (WebCore::FrameView::delegatesScrollingDidChange):
        (WebCore::FrameView::scrollPositionChanged):
        (WebCore::FrameView::updateCompositingLayersAfterScrolling):
        (WebCore::FrameView::visibleContentsResized):
        (WebCore::FrameView::addedOrRemovedScrollbar):
        (WebCore::FrameView::disableLayerFlushThrottlingTemporarilyForInteraction):
        (WebCore::FrameView::updateLayerFlushThrottlingInAllFrames):
        (WebCore::FrameView::adjustTiledBackingCoverage):
        (WebCore::FrameView::hasExtendedBackground):
        (WebCore::FrameView::extendedBackgroundRect):
        (WebCore::FrameView::setBackgroundExtendsBeyondPage):
        (WebCore::FrameView::performPostLayoutTasks):
        (WebCore::FrameView::paintContents):
        (WebCore::FrameView::setTracksRepaints):
        (WebCore::FrameView::resetTrackedRepaints):
        (WebCore::FrameView::setScrollingPerformanceLoggingEnabled):
        (WebCore::FrameView::setExposedRect):
        * page/FrameView.h:
        * page/Page.cpp:
        (WebCore::Page::setPageScaleFactor):
        (WebCore::Page::setDeviceScaleFactor):
        * page/Settings.cpp:
        (WebCore::Settings::setBackgroundShouldExtendBeyondPage):
        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::freezeAtTime):
        * page/animation/AnimationController.cpp:
        (WebCore::AnimationController::supportsAcceleratedAnimationOfProperty):
        * page/animation/CSSPropertyAnimation.cpp:
        (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
        (WebCore::CSSPropertyAnimation::blendProperties):
        (WebCore::CSSPropertyAnimation::animationOfPropertyIsAccelerated):
        * page/animation/CSSPropertyAnimation.h:
        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimation::updateTransitions):
        * page/animation/ImplicitAnimation.cpp:
        (WebCore::ImplicitAnimation::animate):
        (WebCore::ImplicitAnimation::startAnimation):
        (WebCore::ImplicitAnimation::pauseAnimation):
        (WebCore::ImplicitAnimation::endAnimation):
        (WebCore::ImplicitAnimation::timeToNextService):
        * page/animation/KeyframeAnimation.cpp:
        (WebCore::KeyframeAnimation::animate):
        (WebCore::KeyframeAnimation::startAnimation):
        (WebCore::KeyframeAnimation::pauseAnimation):
        (WebCore::KeyframeAnimation::endAnimation):
        (WebCore::KeyframeAnimation::timeToNextService):
        * page/ios/FrameIOS.mm:
        (WebCore::Frame::viewportOffsetChanged):
        (WebCore::Frame::containsTiledBackingLayers):
        * page/scrolling/AsyncScrollingCoordinator.cpp:
        (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
        (WebCore::ScrollingCoordinator::computeNonFastScrollableRegion):
        (WebCore::ScrollingCoordinator::verticalScrollbarLayerForScrollableArea):
        (WebCore::ScrollingCoordinator::scrollLayerForFrameView):
        (WebCore::ScrollingCoordinator::headerLayerForFrameView):
        (WebCore::ScrollingCoordinator::footerLayerForFrameView):
        (WebCore::ScrollingCoordinator::counterScrollingLayerForFrameView):
        (WebCore::ScrollingCoordinator::hasVisibleSlowRepaintViewportConstrainedObjects):
        * page/scrolling/ScrollingCoordinator.h:
        * platform/ScrollView.cpp:
        (WebCore::positionScrollCornerLayer):
        (WebCore::ScrollView::positionScrollbarLayers):
        (WebCore::ScrollView::paintScrollbars):
        (WebCore::ScrollView::paint):
        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::invalidateScrollbar):
        (WebCore::ScrollableArea::invalidateScrollCorner):
        (WebCore::ScrollableArea::horizontalScrollbarLayerDidChange):
        (WebCore::ScrollableArea::hasLayerForHorizontalScrollbar):
        (WebCore::ScrollableArea::hasLayerForVerticalScrollbar):
        (WebCore::ScrollableArea::hasLayerForScrollCorner):
        * platform/ScrollableArea.h:
        * platform/ScrollbarTheme.h:
        * platform/efl/EflScreenUtilities.cpp:
        (WebCore::applyFallbackCursor):
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/GraphicsContext3DPrivate.cpp:
        (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
        (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
        * platform/graphics/GraphicsContext3DPrivate.h:
        * platform/graphics/GraphicsLayer.cpp:
        * platform/graphics/GraphicsLayer.h:
        * platform/graphics/GraphicsLayerAnimation.cpp:
        * platform/graphics/GraphicsLayerAnimation.h:
        * platform/graphics/GraphicsLayerClient.h:
        * platform/graphics/GraphicsLayerFactory.h:
        * platform/graphics/GraphicsLayerUpdater.cpp:
        * platform/graphics/GraphicsLayerUpdater.h:
        * platform/graphics/ImageBuffer.cpp:
        * platform/graphics/ImageBuffer.h:
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::platformLayer):
        (WebCore::MediaPlayer::supportsAcceleratedRendering):
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/MediaPlayerPrivate.h:
        * platform/graphics/PlatformLayer.h:
        * platform/graphics/TextTrackRepresentation.cpp:
        * platform/graphics/TextTrackRepresentation.h:
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
        (WebCore::MediaPlayerPrivateAVFoundation::currentRenderingMode):
        (WebCore::MediaPlayerPrivateAVFoundation::preferredRenderingMode):
        (WebCore::MediaPlayerPrivateAVFoundation::setUpVideoRendering):
        (WebCore::MediaPlayerPrivateAVFoundation::tearDownVideoRendering):
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::platformLayer):
        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::acceleratedRenderingStateChanged):
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        * platform/graphics/ca/GraphicsLayerCA.h:
        * platform/graphics/ca/LayerFlushScheduler.cpp:
        * platform/graphics/ca/LayerFlushScheduler.h:
        * platform/graphics/ca/LayerFlushSchedulerClient.h:
        * platform/graphics/ca/PlatformCAAnimation.h:
        * platform/graphics/ca/PlatformCAFilters.h:
        * platform/graphics/ca/PlatformCALayer.h:
        * platform/graphics/ca/PlatformCALayerClient.h:
        * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
        (PlatformCAAnimation::copyTimingFunctionsFrom):
        * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
        * platform/graphics/ca/mac/PlatformCALayerMac.h:
        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayerMac::enumerateRectsBeingDrawn):
        * platform/graphics/ca/win/AbstractCACFLayerTreeHost.h:
        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
        * platform/graphics/ca/win/CACFLayerTreeHost.h:
        * platform/graphics/ca/win/CACFLayerTreeHostClient.h:
        * platform/graphics/ca/win/LayerChangesFlusher.cpp:
        * platform/graphics/ca/win/LayerChangesFlusher.h:
        * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
        * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h:
        * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
        (PlatformCAAnimation::copyTimingFunctionsFrom):
        * platform/graphics/ca/win/PlatformCAFiltersWin.cpp:
        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
        (PlatformCALayerWin::createCompatibleLayer):
        * platform/graphics/ca/win/PlatformCALayerWin.h:
        * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
        (PlatformCALayerWinInternal::drawTile):
        * platform/graphics/ca/win/PlatformCALayerWinInternal.h:
        * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp:
        * platform/graphics/ca/win/WKCACFViewLayerTreeHost.h:
        * platform/graphics/cairo/DrawingBufferCairo.cpp:
        (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
        * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
        (WebCore::GraphicsContext3D::platformLayer):
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::ImageBuffer::platformLayer):
        * platform/graphics/efl/GraphicsContext3DEfl.cpp:
        (WebCore::GraphicsContext3D::platformLayer):
        * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
        * platform/graphics/efl/GraphicsContext3DPrivate.h:
        * platform/graphics/gpu/DrawingBuffer.h:
        * platform/graphics/gpu/LoopBlinnMathUtils.cpp:
        * platform/graphics/gpu/TilingData.cpp:
        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
        (WebCore::DrawingBuffer::frontColorBuffer):
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
        (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
        (WebCore::MediaPlayerPrivateGStreamerBase::paint):
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
        * platform/graphics/ios/MediaPlayerPrivateIOS.h:
        * platform/graphics/ios/MediaPlayerPrivateIOS.mm:
        (WebCore::MediaPlayerPrivateIOS::supportsAcceleratedRendering):
        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
        (WebCore::MediaPlayerPrivateQTKit::destroyQTMovieLayer):
        (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
        (WebCore::MediaPlayerPrivateQTKit::platformLayer):
        (WebCore::MediaPlayerPrivateQTKit::setClosedCaptionsVisible):
        (WebCore::MediaPlayerPrivateQTKit::layerHostChanged):
        (WebCore::MediaPlayerPrivateQTKit::acceleratedRenderingStateChanged):
        (-[WebCoreMovieObserver layerHostChanged:]):
        * platform/graphics/mac/WebGLLayer.h:
        * platform/graphics/mac/WebGLLayer.mm:
        * platform/graphics/mac/WebLayer.h:
        * platform/graphics/mac/WebLayer.mm:
        * platform/graphics/mac/WebTiledLayer.h:
        * platform/graphics/mac/WebTiledLayer.mm:
        * platform/graphics/opengl/GLDefs.h:
        * platform/graphics/opengl/GLPlatformContext.cpp:
        * platform/graphics/opengl/GLPlatformContext.h:
        * platform/graphics/opengl/GLPlatformSurface.cpp:
        * platform/graphics/opengl/GLPlatformSurface.h:
        * platform/graphics/surfaces/GLTransportSurface.cpp:
        * platform/graphics/surfaces/GLTransportSurface.h:
        * platform/graphics/surfaces/glx/GLXConfigSelector.h:
        * platform/graphics/surfaces/glx/GLXContext.cpp:
        * platform/graphics/surfaces/glx/GLXContext.h:
        * platform/graphics/surfaces/glx/GLXSurface.cpp:
        * platform/graphics/surfaces/glx/GLXSurface.h:
        * platform/graphics/texmap/TextureMapper.cpp:
        * platform/graphics/texmap/TextureMapper.h:
        * platform/graphics/texmap/TextureMapperBackingStore.cpp:
        * platform/graphics/texmap/TextureMapperBackingStore.h:
        * platform/graphics/texmap/TextureMapperFPSCounter.cpp:
        * platform/graphics/texmap/TextureMapperFPSCounter.h:
        * platform/graphics/texmap/TextureMapperGL.cpp:
        * platform/graphics/texmap/TextureMapperGL.h:
        * platform/graphics/texmap/TextureMapperLayer.cpp:
        * platform/graphics/texmap/TextureMapperLayer.h:
        * platform/graphics/texmap/TextureMapperShaderProgram.cpp:
        * platform/graphics/texmap/TextureMapperSurfaceBackingStore.cpp:
        * platform/graphics/texmap/TextureMapperSurfaceBackingStore.h:
        * platform/graphics/texmap/TextureMapperTile.cpp:
        * platform/graphics/texmap/TextureMapperTile.h:
        * platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
        * platform/graphics/texmap/TextureMapperTiledBackingStore.h:
        * platform/graphics/win/GraphicsContext3DWin.cpp:
        (WebCore::GraphicsContext3D::platformLayer):
        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
        (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow):
        (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc):
        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerLayoutSublayersOfLayer):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsFullscreen):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformMedia):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformLayer):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::naturalSize):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint):
        (WebCore::CreateCGImageFromPixelBuffer):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::currentRenderingMode):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::preferredRenderingMode):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpVideoRendering):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::tearDownVideoRendering):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::hasSetUpVideoRendering):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveAndResetMovieTransform):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::destroyLayerForMovie):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setPrivateBrowsingMode):
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
        * platform/graphics/win/WKCAImageQueue.cpp:
        * platform/graphics/win/WKCAImageQueue.h:
        * platform/mac/ScrollbarThemeMac.h:
        * platform/mac/ScrollbarThemeMac.mm:
        * plugins/PluginViewBase.h:
        * rendering/FlowThreadController.cpp:
        (WebCore::FlowThreadController::updateRenderFlowThreadLayersIfNeeded):
        * rendering/FlowThreadController.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::styleWillChange):
        (WebCore::isCandidateForOpaquenessTest):
        (WebCore::layersUseImage):
        (WebCore::RenderBox::imageChanged):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::suspendAnimations):
        (WebCore::RenderBoxModelObject::fixedBackgroundPaintsInLocalCoordinates):
        * rendering/RenderBoxModelObject.h:
        * rendering/RenderElement.cpp:
        (WebCore::RenderElement::adjustStyleDifference):
        (WebCore::RenderElement::setStyle):
        (WebCore::RenderElement::styleWillChange):
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing):
        * rendering/RenderEmbeddedObject.h:
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::RenderFlowThread):
        (WebCore::RenderFlowThread::layout):
        (WebCore::RenderFlowThread::updateAllLayerToRegionMappings):
        * rendering/RenderFlowThread.h:
        * rendering/RenderFullScreen.cpp:
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::imageDimensionsChanged):
        (WebCore::RenderImage::notifyFinished):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::RenderLayer):
        (WebCore::RenderLayer::~RenderLayer):
        (WebCore::RenderLayer::canRender3DTransforms):
        (WebCore::RenderLayer::paintsWithFilters):
        (WebCore::RenderLayer::updateLayerPositions):
        (WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrderRecursive):
        (WebCore::RenderLayer::currentTransform):
        (WebCore::RenderLayer::updateDescendantDependentFlags):
        (WebCore::RenderLayer::checkIfDescendantClippingContextNeedsUpdate):
        (WebCore::RenderLayer::shouldRepaintAfterLayout):
        (WebCore::RenderLayer::enclosingFilterRepaintLayer):
        (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
        (WebCore::RenderLayer::clippingRootForPainting):
        (WebCore::RenderLayer::addChild):
        (WebCore::RenderLayer::removeChild):
        (WebCore::RenderLayer::removeOnlyThisLayer):
        (WebCore::RenderLayer::scrollTo):
        (WebCore::RenderLayer::updateCompositingLayersAfterScroll):
        (WebCore::RenderLayer::invalidateScrollbarRect):
        (WebCore::RenderLayer::invalidateScrollCornerRect):
        (WebCore::RenderLayer::positionOverflowControls):
        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
        (WebCore::RenderLayer::paintOverflowControls):
        (WebCore::shouldDoSoftwarePaint):
        (WebCore::RenderLayer::paintLayer):
        (WebCore::RenderLayer::calculateClipRects):
        * rendering/RenderLayer.h:
        * rendering/RenderLayerBacking.cpp:
        * rendering/RenderLayerBacking.h:
        * rendering/RenderLayerCompositor.cpp:
        * rendering/RenderLayerCompositor.h:
        * rendering/RenderNamedFlowThread.cpp:
        (WebCore::RenderNamedFlowThread::collectsGraphicsLayersUnderRegions):
        * rendering/RenderNamedFlowThread.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::containerForRepaint):
        (WebCore::RenderObject::repaintUsingContainer):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::write):
        * rendering/RenderVideo.cpp:
        (WebCore::RenderVideo::updatePlayer):
        (WebCore::RenderVideo::acceleratedRenderingStateChanged):
        * rendering/RenderVideo.h:
        * rendering/RenderView.cpp:
        (WebCore::RenderView::paintBoxDecorations):
        (WebCore::RenderView::repaintRootContents):
        (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
        (WebCore::RenderView::repaintViewAndCompositedLayers):
        (WebCore::RenderView::setMaximalOutlineSize):
        (WebCore::RenderView::compositor):
        (WebCore::RenderView::setIsInWindow):
        * rendering/RenderView.h:
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::setWidgetGeometry):
        (WebCore::RenderWidget::requiresAcceleratedCompositing):
        * rendering/RenderWidget.h:
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::changeRequiresLayout):
        (WebCore::RenderStyle::changeRequiresLayerRepaint):
        (WebCore::RenderStyle::changeRequiresRecompositeLayer):
        (WebCore::RenderStyle::diff):
        * rendering/style/RenderStyle.h:
        * rendering/style/RenderStyleConstants.h:
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        (WebCore::StyleRareNonInheritedData::operator==):
        * rendering/style/StyleRareNonInheritedData.h:
        * testing/Internals.cpp:
        (WebCore::Internals::resetToConsistentState):
        (WebCore::Internals::setHeaderHeight):
        (WebCore::Internals::setFooterHeight):

2014-01-30  Krzysztof Czech  <k.czech@samsung.com>

        AX: Clean up AccessibilityRenderObject
        https://bugs.webkit.org/show_bug.cgi?id=127838

        Reviewed by Chris Fleizach.

        Reducing some code by implementing ariaElementsFromAttribute.
        It is used as a helper for other methods.

        No new tests. Covered by existing ones.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::ariaElementsFromAttribute):
        (WebCore::AccessibilityRenderObject::ariaFlowToElements):
        (WebCore::AccessibilityRenderObject::ariaDescribedByElements):
        (WebCore::AccessibilityRenderObject::ariaOwnsElements):
        * accessibility/AccessibilityRenderObject.h:

2014-01-29  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r163048.
        http://trac.webkit.org/changeset/163048
        https://bugs.webkit.org/show_bug.cgi?id=127890

        Caused many crashes, detected by EWS prior to landing
        (Requested by ap on #webkit).

        * Modules/mediacontrols/MediaControlsHost.cpp:
        (WebCore::MediaControlsHost::sortedTrackListForMenu):
        (WebCore::MediaControlsHost::displayNameForTrack):
        (WebCore::MediaControlsHost::captionDisplayMode):
        * WebCore.exp.in:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * css/DocumentRuleSets.cpp:
        (WebCore::DocumentRuleSets::initUserStyle):
        * css/InspectorCSSOMWrappers.cpp:
        (WebCore::InspectorCSSOMWrappers::collectFromDocumentStyleSheetCollection):
        * dom/Document.cpp:
        (WebCore::Document::setCompatibilityMode):
        (WebCore::Document::registerForCaptionPreferencesChangedCallbacks):
        (WebCore::Document::captionPreferencesChanged):
        * dom/DocumentStyleSheetCollection.cpp:
        * dom/DocumentStyleSheetCollection.h:
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement):
        (WebCore::HTMLMediaElement::parseAttribute):
        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay):
        (WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu):
        (WebCore::MediaControlTextTrackContainerElement::updateTimerFired):
        * page/CaptionStyleSheetMediaAF.cpp: Removed.
        * page/CaptionStyleSheetMediaAF.h: Removed.
        * page/CaptionUserPreferences.cpp:
        (WebCore::CaptionUserPreferences::CaptionUserPreferences):
        (WebCore::CaptionUserPreferences::notify):
        (WebCore::CaptionUserPreferences::setCaptionDisplayMode):
        (WebCore::CaptionUserPreferences::userPrefersCaptions):
        (WebCore::CaptionUserPreferences::setUserPrefersCaptions):
        (WebCore::CaptionUserPreferences::userPrefersSubtitles):
        (WebCore::CaptionUserPreferences::setUserPrefersSubtitles):
        (WebCore::CaptionUserPreferences::userPrefersTextDescriptions):
        (WebCore::CaptionUserPreferences::setUserPrefersTextDescriptions):
        (WebCore::CaptionUserPreferences::captionPreferencesChanged):
        (WebCore::CaptionUserPreferences::textTrackSelectionScore):
        (WebCore::CaptionUserPreferences::setCaptionsStyleSheetOverride):
        (WebCore::CaptionUserPreferences::updateCaptionStyleSheetOveride):
        * page/CaptionUserPreferences.h:
        (WebCore::CaptionUserPreferences::captionsStyleSheetOverride):
        (WebCore::CaptionUserPreferences::setInterestedInCaptionPreferenceChanges):
        (WebCore::CaptionUserPreferences::testingMode):
        (WebCore::CaptionUserPreferences::setTestingMode):
        (WebCore::CaptionUserPreferences::pageGroup):
        * page/CaptionUserPreferencesMediaAF.cpp:
        (WebCore::userCaptionPreferencesChangedNotificationCallback):
        (WebCore::CaptionUserPreferencesMediaAF::CaptionUserPreferencesMediaAF):
        (WebCore::CaptionUserPreferencesMediaAF::userPrefersCaptions):
        (WebCore::CaptionUserPreferencesMediaAF::userPrefersSubtitles):
        (WebCore::CaptionUserPreferencesMediaAF::setInterestedInCaptionPreferenceChanges):
        (WebCore::CaptionUserPreferencesMediaAF::captionPreferencesChanged):
        (WebCore::CaptionUserPreferencesMediaAF::captionsWindowCSS):
        (WebCore::CaptionUserPreferencesMediaAF::captionsBackgroundCSS):
        (WebCore::CaptionUserPreferencesMediaAF::captionsTextColor):
        (WebCore::CaptionUserPreferencesMediaAF::captionsTextColorCSS):
        (WebCore::CaptionUserPreferencesMediaAF::windowRoundedCornerRadiusCSS):
        (WebCore::CaptionUserPreferencesMediaAF::captionsEdgeColorForTextColor):
        (WebCore::CaptionUserPreferencesMediaAF::cssPropertyWithTextEdgeColor):
        (WebCore::CaptionUserPreferencesMediaAF::colorPropertyCSS):
        (WebCore::CaptionUserPreferencesMediaAF::captionsTextEdgeCSS):
        (WebCore::CaptionUserPreferencesMediaAF::captionsDefaultFontCSS):
        (WebCore::CaptionUserPreferencesMediaAF::captionsStyleSheetOverride):
        (WebCore::CaptionUserPreferencesMediaAF::textTrackSelectionScore):
        (WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu):
        * page/CaptionUserPreferencesMediaAF.h:
        * page/Page.cpp:
        * page/Page.h:
        * page/PageGroup.cpp:
        (WebCore::PageGroup::captionPreferencesChanged):
        (WebCore::PageGroup::captionPreferences):
        * page/PageGroup.h:
        * testing/InternalSettings.cpp:
        (WebCore::InternalSettings::setShouldDisplayTrackKind):
        (WebCore::InternalSettings::shouldDisplayTrackKind):
        * testing/Internals.cpp:
        (WebCore::Internals::resetToConsistentState):
        (WebCore::Internals::Internals):
        (WebCore::Internals::captionsStyleSheetOverride):
        (WebCore::Internals::setCaptionsStyleSheetOverride):
        (WebCore::Internals::setPrimaryAudioTrackLanguageOverride):
        (WebCore::Internals::setCaptionDisplayMode):

2014-01-29  Csaba Osztrogonác  <ossy@webkit.org>

        Remove ENABLE(JAVASCRIPT_DEBUGGER) leftovers
        https://bugs.webkit.org/show_bug.cgi?id=127845

        Reviewed by Joseph Pecoraro.

        * Configurations/FeatureDefines.xcconfig:
        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::supportsProfiling):

2014-01-29  Gavin Barraclough  <barraclough@apple.com>

        Add IsVisibleOrOccluded to ViewState
        https://bugs.webkit.org/show_bug.cgi?id=127875

        Reviewed by Anders Carlsson.

        * page/ViewState.h:
            - added IsVisibleOrOccluded

2014-01-29  Ryosuke Niwa  <rniwa@webkit.org>

        EventHandler::handleMouseReleaseEvent shouldn't call updateSelectionCachesIfSelectionIsInsideTextFormControl
        and selectFrameElementInParentIfFullySelected
        https://bugs.webkit.org/show_bug.cgi?id=127834

        Reviewed by Alexey Proskuryakov.

        Removed the calls and made setNonDirectionalSelectionIfNeeded pass in UserTriggered option.

        In addition, removed the rather error-prone function override of setSelection since TextGranularity,
        which is an enum, could be implicitly coerced into SetSelectionOptions which is a typedefed unsigned int.

        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::setSelectionByMouseIfDifferent): Renamed from setNonDirectionalSelectionIfNeeded.
        Pass in DoNotRevealSelection to avoid revealing the selection to preserve the existing behavior.
        There are two layout tests that fail without this.
        (WebCore::FrameSelection::setSelection): Check the newly addeed DoNotRevealSelection option.
        (WebCore::FrameSelection::wordSelectionContainingCaretSelection): Call

        * editing/FrameSelection.h: Made updateSelectionCachesIfSelectionIsInsideTextFormControl and
        selectFrameElementInParentIfFullySelected private as they are no longer called outside of FrameSelection.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::updateSelectionForMouseDownDispatchingSelectStart):
        (WebCore::EventHandler::updateSelectionForMouseDrag):
        (WebCore::EventHandler::handleMouseReleaseEvent): Removed calls to the functions.

2014-01-29  Jer Noble  <jer.noble@apple.com>

        Unreviewed iOS build fix after 163050.

        Import CALayer.h explicitly as (on iOS) it is not included by other headers.

        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

2014-01-29  Jer Noble  <jer.noble@apple.com>

        Unreviewed Mac Build fix after r163046.

        Forward define AVSampleLayerDisplayLayer and its methods.

        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

2014-01-26  Sam Weinig  <sam@webkit.org>

        CaptionUserPreferences should not be on the PageGroup if they are not really per-PageGroup (Part 1)
        https://bugs.webkit.org/show_bug.cgi?id=127666

        Reviewed by Eric Carlson.

        This patch:
        - Makes CaptionUserPreferences a singleton (temporary) that is accessed
          via Page.
        - Simplifies overriding system preferences by requiring that a Document be
          be passed so the correct Settings object can be obtained (and not just a 
          random one).
        - Stops using UserStyleSheets for captions style injection, and instead
          adds a new style sheet to the DocumentStyleSheetCollection.
        - Move caption style sheet creation into its own file - CaptionStyleSheetMediaAF.h/cpp

        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        Add new files.

        * WebCore.exp.in:
        Update exports.

        * css/DocumentRuleSets.cpp:
        * css/InspectorCSSOMWrappers.cpp:
        * dom/Document.cpp:
        * dom/DocumentStyleSheetCollection.cpp:
        * dom/DocumentStyleSheetCollection.h:
        Switch from using the user style sheet mechanism, which is meant for, you guessed it, users,
        to an explicit caption style sheet.

        * Modules/mediacontrols/MediaControlsHost.cpp:
        * html/HTMLMediaElement.cpp:
        * html/shadow/MediaControlElements.cpp:
        Get the CaptionUserPreferences via the Page.

        * page/CaptionStyleSheetMediaAF.cpp: Added.
        * page/CaptionStyleSheetMediaAF.h: Added.
        Move caption style sheet creation here. If the global style changes, the sheet is invalidated
        and this is called again.

        * page/CaptionUserPreferences.cpp:
        * page/CaptionUserPreferences.h:
        - Removes unused m_havePreferences member.
        - Change userPrefersFoo() functions to take a Document&. Use it to check its Settings.
        - Remove setUserPrefersFoo() functions and just set the Settings directly.
        - Move all the testing only pieces together.
        
        * page/CaptionUserPreferencesMediaAF.cpp:
        * page/CaptionUserPreferencesMediaAF.h:
        - Extract caption style sheet creation into CaptionStyleSheetMediaAF.h/cpp
        - Stop waiting for an interested party, and just register for appearance change
          notifications right away. Media elements are common enough that this should not
          make a difference.

        * page/Page.cpp:
        (WebCore::Page::updateStyleForAllPagesForCaptionPreferencesChanged):
        Add helper to call captionPreferencesChanged() on all the Pages.

        (WebCore::Page::captionPreferences):
        Add accessor for the CaptionUserPreferences. Currently this returns a singleton, but I plan
        to extract the singleton aspects of it into another class, and leave the per-Page parts here.

        * page/Page.h:
        * page/PageGroup.cpp:
        * page/PageGroup.h:
        Remove CaptionUserPreferences from here.

        * testing/InternalSettings.cpp:
        (WebCore::InternalSettings::setShouldDisplayTrackKind):
        (WebCore::InternalSettings::shouldDisplayTrackKind):
        Override the settings for the page directly.

        * testing/Internals.cpp:
        (WebCore::Internals::resetToConsistentState):
        (WebCore::Internals::Internals):
        (WebCore::Internals::captionsStyleSheetOverride):
        (WebCore::Internals::setCaptionsStyleSheetOverride):
        (WebCore::Internals::setPrimaryAudioTrackLanguageOverride):
        (WebCore::Internals::setCaptionDisplayMode):
        Get the CaptionUserPreferences via the Page.

2014-01-29  Jer Noble  <jer.noble@apple.com>

        [MSE][Mac] In SourceBufferPrivateAVFObjC, only include those headers actually necessary to compile.
        https://bugs.webkit.org/show_bug.cgi?id=127846

        Reviewed by Darin Adler.

        To work around a compile issue, only include those paths containing classes and typedefs
        which are used within SourceBufferPrivateAVFObjC, rather than all of AVFoundation.

        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

2014-01-29  Brady Eidson  <beidson@apple.com>

        IDB: Fully implement IDBKeyData encoding/decoding
        https://bugs.webkit.org/show_bug.cgi?id=127863

        Rubberstamped by Alexey Proskuryakov.

        * platform/KeyedCoding.h:

        * Modules/indexeddb/IDBKeyData.cpp:
        (WebCore::IDBKeyData::encode):
        (WebCore::IDBKeyData::decode):

        * WebCore.exp.in:

2014-01-29  Bem Jones-Bey  <bjonesbe@adobe.com>

        clip-path swaps bottom radii for the inset shape
        https://bugs.webkit.org/show_bug.cgi?id=127859

        Reviewed by Dirk Schulze.

        The bottom right and bottom left radii were passed in the wrong order,
        causing the wrong corner to be clipped in the resultant rendering.

        Test: css3/masking/clip-path-inset-corners.html

        * rendering/style/BasicShapes.cpp:
        (WebCore::BasicShapeInset::path): Change the parameter order to be
        correct.

2014-01-29  Jer Noble  <jer.noble@apple.com>

        [MediaControls][iOS] Hook up the fullscreen button
        https://bugs.webkit.org/show_bug.cgi?id=127850

        Reviewed by Eric Carlson.

        For the fullscreen button, do the same thing we do for the play button: handle touchstart,
        touchend, and touchcancel, and perform the action (i.e., 'click') on touchend.

        * Modules/mediacontrols/mediaControlsiOS.js:
        (ControllerIOS.prototype.createControls): Add listeners for the fullscreenButton.
        (ControllerIOS.prototype.isFullScreen): Override.
        (ControllerIOS.prototype.handleFullscreenButtonClicked): Override.
        (ControllerIOS.prototype.handleFullscreenTouchStart): Added.
        (ControllerIOS.prototype.handleFullscreenTouchEnd): Added.
        (ControllerIOS.prototype.handleFullscreenTouchCancel): Added.

2014-01-29  Brady Eidson  <beidson@apple.com>

        IDB: Opening an existing database is broken
        https://bugs.webkit.org/show_bug.cgi?id=127851

        Reviewed by Tim Hatcher.

        * Modules/indexeddb/IDBDatabaseBackend.cpp:
        (WebCore::IDBDatabaseBackend::IDBDatabaseBackend):
        (WebCore::IDBDatabaseBackend::didOpenInternalAsync): Remember if this method has completed.
        (WebCore::IDBDatabaseBackend::processPendingCalls): If didOpenInternalAsync hasn’t
          been called yet, then it is incorrect to process any pending calls right now.
        * Modules/indexeddb/IDBDatabaseBackend.h:

2014-01-29  Oliver Hunt  <oliver@apple.com>

        This dereference should not actually be necessary, and
        is producing deprecation warnings with newer perls

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateAttributesHashTable):

2014-01-28  Oliver Hunt  <oliver@apple.com>

        Make DOM attributes appear to be faux accessor properties
        https://bugs.webkit.org/show_bug.cgi?id=127797

        Reviewed by Michael Saboff.

        Refactor the bindings generator, and make sure we emit
        the CustomAccessor flag on properties that should 
        appear to be accessors.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateGetOwnPropertySlotBody):
        (GenerateAttributesHashTable):
        (GenerateImplementation):

2014-01-29  Alex Christensen  <achristensen@webkit.org>

        Prepare for accelerated compositing on WinCairo.
        https://bugs.webkit.org/show_bug.cgi?id=127843

        Reviewed by Anders Carlsson.

        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::setupFormData):
        Remove VS2005 warning workaround.
        * WebCore.vcxproj/WebCore.vcxproj:
        Remove StyleCachedImageSet.cpp and CSSImageSetValue.cpp from the Win64 build
        to avoid warnings because they are also included in StyleAllInOne.cpp and
        CSSAllInOne.cpp, respectively.

2014-01-28  Michael Saboff  <msaboff@apple.com>

        Merge the jsCStack branch
        https://bugs.webkit.org/show_bug.cgi?id=127763

        Reviewed by Mark Hahnenberg.

        Changes from http://svn.webkit.org/repository/webkit/branches/jsCStack
        up to changeset 162958.

2014-01-29  Dan Bernstein  <mitz@apple.com>

        Fixed the iOS build.

        * bindings/js/JSDOMWindowCustom.cpp: Updated for header renames.

2014-01-29  Csaba Osztrogonác  <ossy@webkit.org>

        Remove ENABLE(JAVASCRIPT_DEBUGGER) guards
        https://bugs.webkit.org/show_bug.cgi?id=127840

        Reviewed by Mark Lam.

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::supportsProfiling):
        (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
        * bindings/js/PageScriptDebugServer.cpp:
        * bindings/js/PageScriptDebugServer.h:
        * bindings/js/ScriptProfile.cpp:
        * bindings/js/ScriptProfile.h:
        * bindings/js/ScriptProfileNode.h:
        * bindings/js/ScriptProfiler.cpp:
        * bindings/js/ScriptProfiler.h:
        * bindings/js/WorkerScriptDebugServer.cpp:
        * bindings/js/WorkerScriptDebugServer.h:
        * inspector/InspectorConsoleAgent.h:
        * inspector/InspectorConsoleInstrumentation.h:
        (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::resume):
        * inspector/InspectorController.h:
        * inspector/InspectorDOMDebuggerAgent.cpp:
        * inspector/InspectorDOMDebuggerAgent.h:
        * inspector/InspectorHeapProfilerAgent.cpp:
        * inspector/InspectorHeapProfilerAgent.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
        (WebCore::InspectorInstrumentation::isDebuggerPausedImpl):
        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
        (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
        (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
        (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
        (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
        (WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSPImpl):
        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
        (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
        (WebCore::InspectorInstrumentation::profilerEnabledImpl):
        (WebCore::InspectorInstrumentation::willEvaluateWorkerScript):
        (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
        (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
        * inspector/InspectorInstrumentation.h:
        * inspector/InspectorProfilerAgent.cpp:
        * inspector/InspectorProfilerAgent.h:
        * inspector/InstrumentingAgents.cpp:
        (WebCore::InstrumentingAgents::InstrumentingAgents):
        (WebCore::InstrumentingAgents::reset):
        * inspector/InstrumentingAgents.h:
        * inspector/PageDebuggerAgent.cpp:
        * inspector/PageDebuggerAgent.h:
        * inspector/ScriptProfile.idl:
        * inspector/ScriptProfileNode.idl:
        * inspector/WebDebuggerAgent.cpp:
        * inspector/WebDebuggerAgent.h:
        * inspector/WorkerDebuggerAgent.cpp:
        * inspector/WorkerDebuggerAgent.h:
        * inspector/WorkerInspectorController.cpp:
        (WebCore::WorkerInspectorController::WorkerInspectorController):
        (WebCore::WorkerInspectorController::resume):
        * inspector/WorkerInspectorController.h:
        * inspector/WorkerRuntimeAgent.cpp:
        (WebCore::WorkerRuntimeAgent::pauseWorkerGlobalScope):
        * inspector/WorkerRuntimeAgent.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
        * page/Console.cpp:
        * page/Console.h:
        * page/Console.idl:
        * testing/Internals.cpp:
        (WebCore::Internals::resetToConsistentState):
        * workers/WorkerMessagingProxy.cpp:
        (WebCore::connectToWorkerGlobalScopeInspectorTask):
        (WebCore::WorkerMessagingProxy::connectToInspector):
        (WebCore::disconnectFromWorkerGlobalScopeInspectorTask):
        (WebCore::WorkerMessagingProxy::disconnectFromInspector):
        (WebCore::dispatchOnInspectorBackendTask):
        (WebCore::WorkerMessagingProxy::sendMessageToInspector):

2014-01-29  Eric Carlson  <eric.carlson@apple.com>

        [iOS] cleanup MediaPlayer.cpp
        https://bugs.webkit.org/show_bug.cgi?id=127821

        Reviewed by Jer Noble.

        Don't register MediaPlayerPrivateIOS unless the runtime setting for media player proxy is set.

        * platform/graphics/MediaPlayer.cpp: Don't define PlatformMediaEngineClassName on iOS
        (WebCore::installedMediaEngines): Drive by cleanup to return early if registration has
            already happened.
        (WebCore::MediaPlayer::MediaPlayer): Don't force-register the first media engine unless 
            isVideoPluginProxyEnabled returns true.

2014-01-29  Youenn Fablet  <youennf@gmail.com>

        Have XHR.getResponseHeader() return null and XHR.getAllResponseHeader() return the empty string in initial ready states
        https://bugs.webkit.org/show_bug.cgi?id=125840

        Reviewed by Alexey Proskuryakov.

        Merging https://chromium.googlesource.com/chromium/blink/+/d201caf874a0bd6f101f517462b3cf1d8c5fce3d
        This patch makes it clear that null/empty string is returned whenever the error flag is set.
        This new code path is covered by the added test.
        
        Test: http/tests/xmlhttprequest/response-access-on-error.html

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::getAllResponseHeaders):
        (WebCore::XMLHttpRequest::getResponseHeader):
        * xml/XMLHttpRequest.h:
        * xml/XMLHttpRequest.idl:

2014-01-29  Antti Koivisto  <antti@apple.com>

        REGRESSION (r162947): Repaint test results are different between WK1 and WK2
        https://bugs.webkit.org/show_bug.cgi?id=127814

        Reviewed by Anders Carlsson.

        * page/FrameView.cpp:
        (WebCore::FrameView::repaintContentRectangle):
        
            Move repaint rect logging to RenderView.

        * rendering/RenderView.cpp:
        (WebCore::RenderView::repaintViewRectangle):
        
            Record raw repaint rects instead of optimized ones.

2014-01-29  Brady Eidson  <beidson@apple.com>

        IDB: Serialize IDBKeyDatas to disk, not IDBKeys
        https://bugs.webkit.org/show_bug.cgi?id=127829

        Reviewed by Tim Horton.

        Move encode/decode from IDBKey to IDBKeyData.

        * Modules/indexeddb/IDBKey.cpp:
        * Modules/indexeddb/IDBKey.h:

        * Modules/indexeddb/IDBKeyData.cpp:
        (WebCore::IDBKeyData::IDBKeyData):
        (WebCore::IDBKeyData::encode):
        (WebCore::IDBKeyData::decode):
        * Modules/indexeddb/IDBKeyData.h:

        * WebCore.exp.in:

2014-01-29  Antti Koivisto  <antti@apple.com>

        REGRESSION (r162947): css3/flexbox/multiline-justify-content.html and css3/flexbox/position-absolute-child.html are timing out
        https://bugs.webkit.org/show_bug.cgi?id=127809

        Reviewed by Anders Carlsson.

        These tests generate very large number of small repaint rectangles that overwhelm the region code.

        * page/FrameView.cpp:
        (WebCore::FrameView::repaintContentRectangle):
        * platform/graphics/Region.h:
        (WebCore::Region::gridSize):
        (WebCore::Region::Shape::gridSize):
        
            Add accessor for getting the current region grid complexity.

        * rendering/RenderView.cpp:
        (WebCore::RenderView::repaintViewRectangle):
        
            If the region gets very complex merge the repaint rects into a single big rectangle.

2014-01-29  Radu Stavila  <stavila@adobe.com>

        [CSSRegions] Unable to scroll a scrollable container for regions using mouse wheel
        https://bugs.webkit.org/show_bug.cgi?id=123886

        When an element flowed into a scrollable region is scrolled using the mouse wheel, the event 
        needs to be propagated to the region containing that element, on top of which the cursor
        is located.

        Reviewed by Antti Koivisto.

        Tests: fast/regions/wheel-scroll-abspos.html
               fast/regions/wheel-scroll.html

        * page/EventHandler.cpp:
        (WebCore::scrollNode):
        (WebCore::EventHandler::defaultWheelEventHandler):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::scroll):
        (WebCore::RenderBox::scrollWithWheelEventLocation):
        * rendering/RenderBox.h:
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::regionFromAbsolutePointAndBox):
        * rendering/RenderFlowThread.h:

2014-01-29  Carlos Garcia Campos  <cgarcia@igalia.com>

        REGRESSION(r162922): [SOUP] Several tests are failing in EFL and GTK+ after r162922
        https://bugs.webkit.org/show_bug.cgi?id=127836

        Reviewed by Gustavo Noronha Silva.

        The problem is that I assumed that several things done in
        ResourceRequest::soupURI() were always desired, so I moved them to
        URL. This patch restores the previous behaviour, so that those
        tings are only done right before making a request.

        * platform/network/soup/ResourceRequestSoup.cpp:
        (WebCore::ResourceRequest::createSoupURI):
        * platform/soup/URLSoup.cpp:
        (WebCore::URL::createSoupURI):

2014-01-29  Krzysztof Czech  <k.czech@samsung.com>

        [ATK] Expose aria-describedby with ATK_RELATION_DESCRIBED_BY
        https://bugs.webkit.org/show_bug.cgi?id=121684

        Reviewed by Mario Sanchez Prada.

        Exposed aria-describedby by ATK_RELATION_DESCRIBED_BY.
        Moved elementsFromAttribut to AccessibilityObject to have common interface
        for AccessibilityNodeObject and AccessibilityRenderObject. Implemented
        supportsARIADescribedBy and ariaDescribedByElements to better deal with aria-describedby attribute.

        No new tests. Covered by existed one.

        * accessibility/AccessibilityNodeObject.cpp:
        * accessibility/AccessibilityNodeObject.h:
        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::elementsFromAttribute):
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::supportsARIADescribedBy):
        (WebCore::AccessibilityObject::ariaDescribedByElements):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::supportsARIADescribedBy):
        (WebCore::AccessibilityRenderObject::ariaDescribedByElements):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
        (setAtkRelationSetFromCoreObject):

2014-01-29  Sergio Villar Senin  <svillar@igalia.com>

        [CSS Grid Layout] minmax() should be a CSSFunction instead of a CSSValueList
        https://bugs.webkit.org/show_bug.cgi?id=127057

        Reviewed by Antti Koivisto.

        We were incorrectly dumping minmax(x,y) as "x y" instead of
        "minmax(x,y)". That's because we were treating minmax() internally
        as a CSSValueList instead of a CSSFunction. Replaced that and also
        added some extra information to our tests in order to check that
        we don't regress. From now on the CSS grid layout testing helper
        functions print not only the computed style but also the contents
        of element.style.webkitGridDefinition{Columns|Rows}.

        * css/CSSFunctionValue.h:
        (WebCore::CSSFunctionValue::arguments):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseGridTrackList):
        (WebCore::CSSParser::parseGridTrackRepeatFunction):
        (WebCore::CSSParser::parseGridTrackSize):
        * css/CSSParser.h:
        * css/StyleResolver.cpp:
        (WebCore::createGridTrackSize):

2014-01-29  Ryosuke Niwa  <rniwa@webkit.org>

        Rename notifyRendererOfSelectionChange
        https://bugs.webkit.org/show_bug.cgi?id=127831

        Reviewed by Antti Koivisto.

        Renamed notifyRendererOfSelectionChange to updateSelectionCachesIfSelectionIsInsideTextFormControl.

        * WebCore.order: Removed the exported symbol name as it's not used in WebKit or WebKit2 code.
        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::setSelection):
        (WebCore::FrameSelection::selectAll):
        (WebCore::FrameSelection::updateSelectionCachesIfSelectionIsInsideTextFormControl): Don't update the style since the existence
        of text form control's shadow DOM no longer depends on renderer.
        * editing/FrameSelection.h:
        * html/HTMLTextFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::selectionChanged): Don't check renderer() for the same reason.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMouseReleaseEvent):

2014-01-28  Jer Noble  <jer.noble@apple.com>

        [Mac] Handle NSURLAuthenticationMethodServerTrust challenges from -resourceLoader:shouldWaitForResponseToAuthenticationChallenge:
        https://bugs.webkit.org/show_bug.cgi?id=127806

        Reviewed by Eric Carlson.

        In addition to the normal "user/password" NSURLAuthenticationChallenges, the 
        -resourceLoader:shouldWaitForResponseToAuthenticationChallenge: delegate method will
        ask us to confirm server certificate chains. Rather than pop up an authentication
        dialog (which won't work anyway) we will now just drop such requests and continue
        on normally.

        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
        (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForResponseToAuthenticationChallenge:]):

2014-01-28  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r162987.
        http://trac.webkit.org/changeset/162987
        https://bugs.webkit.org/show_bug.cgi?id=127825

        Broke Mountain Lion build (Requested by andersca on #webkit).

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateGetOwnPropertySlotBody):
        (GenerateAttributesHashTable):
        (GenerateImplementation):
        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
        (WebCore::jsTestActiveDOMObjectConstructor):
        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
        (WebCore::jsTestCustomNamedGetterConstructor):
        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
        (WebCore::jsTestEventConstructorConstructor):
        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
        (WebCore::jsTestEventTargetConstructor):
        * bindings/scripts/test/JS/JSTestException.cpp:
        (WebCore::jsTestExceptionConstructor):
        * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
        (WebCore::jsTestGenerateIsReachableConstructor):
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::jsTestInterfaceConstructor):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
        (WebCore::jsTestMediaQueryListListenerConstructor):
        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
        (WebCore::jsTestNamedConstructorConstructor):
        * bindings/scripts/test/JS/JSTestNode.cpp:
        (WebCore::jsTestNodeConstructor):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjConstructor):
        * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
        (WebCore::jsTestOverloadedConstructorsConstructor):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore::jsTestSerializedScriptValueInterfaceConstructor):
        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
        (WebCore::jsTestTypedefsConstructor):
        * bindings/scripts/test/JS/JSattribute.cpp:
        (WebCore::jsattributeConstructor):
        * bindings/scripts/test/JS/JSreadonly.cpp:
        (WebCore::jsreadonlyConstructor):

2014-01-28  Enrica Casucci  <enrica@apple.com>

        Add support for ActionSheets in WK2 for iOS.
        https://bugs.webkit.org/show_bug.cgi?id=127586
        <rdar://problem/15283667>

        Reviewed by Benjamin Poulain.

        This patch contains some WebCore changes required to
        implement support for ActionSheets.
        It adds copyURL implementation for iOS in the Editor
        class and fixes some bugs in the iOS specific pasteboard
        writing code.
        The changes to Localizable.strings are the result of
        running update-webkit-localizedstrings script.

        * English.lproj/Localizable.strings:
        * WebCore.exp.in:
        * editing/Editor.cpp:
        * editing/Editor.h:
        * editing/ios/EditorIOS.mm:
        (WebCore::Editor::writeImageToPasteboard):
        * platform/ios/PasteboardIOS.mm:
        (WebCore::Pasteboard::write):
        * platform/ios/PlatformPasteboardIOS.mm:
        (WebCore::PlatformPasteboard::write):

2014-01-28  Andy Estes  <aestes@apple.com>

        [iOS] REGRESSION (r162663): Webpages have strange artifacts or corruption around tile boundaries
        https://bugs.webkit.org/show_bug.cgi?id=127823

        Reviewed by Daniel Bates.

        Original patch by Simon Fraser.

        * platform/ScrollView.cpp: Specify LegacyIOSDocumentViewRect when calling visibleContentRect().

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

        [CSS Shapes] Adjust inset sizing syntax to the latest specification
        https://bugs.webkit.org/show_bug.cgi?id=127785

        Reviewed by Bem Jones-Bey.

        According to the latest CSS Shapes specification [1], the width arguments of inset should
        follow the syntax of the margin shorthand, which let us set all four insets with one, two
        or four values. This patch updates the behavior and updates the affected tests.

        [1] http://dev.w3.org/csswg/css-shapes/#funcdef-inset

        Existing tests have been updated.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseInsetRoundedCorners):
        (WebCore::CSSParser::parseBasicShapeInset):

2014-01-28  Oliver Hunt  <oliver@apple.com>

        Make DOM attributes appear to be faux accessor properties
        https://bugs.webkit.org/show_bug.cgi?id=127797

        Reviewed by Michael Saboff.

        Refactor the bindings generator, and make sure we emit
        the CustomAccessor flag on properties that should 
        appear to be accessors.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateGetOwnPropertySlotBody):
        (GenerateAttributesHashTable):
        (GenerateImplementation):

2014-01-27  Chris Fleizach  <cfleizach@apple.com>

        AX: Support @scope in HTML tables
        https://bugs.webkit.org/show_bug.cgi?id=127688

        Reviewed by Mario Sanchez Prada.

        Add support for scope attribute so that row headers and column headers
        are now exposed at the table cell level where appropriate.

        Test: platform/mac/accessibility/table-scope.html

        * accessibility/AccessibilityARIAGridCell.cpp:
        (WebCore::AccessibilityARIAGridCell::parentTable):
        * accessibility/AccessibilityARIAGridCell.h:
        * accessibility/AccessibilityARIAGridRow.cpp:
        (WebCore::AccessibilityARIAGridRow::parentTable):
        * accessibility/AccessibilityARIAGridRow.h:
        * accessibility/AccessibilityTable.cpp:
        (WebCore::AccessibilityTable::columns):
        (WebCore::AccessibilityTable::rows):
        * accessibility/AccessibilityTable.h:
        * accessibility/AccessibilityTableCell.cpp:
        (WebCore::AccessibilityTableCell::parentTable):
        (WebCore::AccessibilityTableCell::isTableHeaderCell):
        (WebCore::AccessibilityTableCell::isTableCellInSameRowGroup):
        (WebCore::AccessibilityTableCell::isTableCellInSameColGroup):
        (WebCore::AccessibilityTableCell::columnHeaders):
        (WebCore::AccessibilityTableCell::rowHeaders):
        * accessibility/AccessibilityTableCell.h:
        * accessibility/AccessibilityTableRow.cpp:
        (WebCore::AccessibilityTableRow::parentTable):
        * accessibility/AccessibilityTableRow.h:
        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
        (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

2014-01-28  Brent Fulgham  <bfulgham@apple.com>

        Improve latching behavior for wheel events
        https://bugs.webkit.org/show_bug.cgi?id=127386
        <rdar://problem/12176858>

        Reviewed by Simon Fraser.

        * page/scrolling/ScrollingTree.cpp:
        (WebCore::ScrollingTree::clearLatchedNode): Added
        (WebCore::ScrollingTree::latchedNode): Added
        (WebCore::ScrollingTree::removeDestroyedNodes): Clear latched node if it's being removed.
        (WebCore::ScrollingTree::ScrollingTree): Initialize new value used for tracking
        scroll latching state.
        (WebCore::ScrollingTree::setLatchedNode): Added
        (WebCore::ScrollingTree::setOrClearLatchedNode): Added
        Set latched node when beginning a swipe event, or clear latched node when scroll/momentum ends.
        (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously): Check for an existing
        latched node and stay in fast scrolling mode if possible. If the current event should
        start a swipe event, clear the current latched node so we can correctly find and assign
        the new latch node.
        * page/scrolling/ScrollingTree.h:
        (WebCore::ScrollingTree::hasLatchedNode): Added
        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
        (WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent): Determine latching state
        based on wheel event state and position of mouse pointer in the document.
        * platform/ScrollAnimator.cpp:
        (ScrollAnimator::handleWheelEvent): Always treat PlatformWheelEventPhaseMayBegin
        as successfully handled so that it does not "bubble back up" to the root of
        the scrolling tree.   

2014-01-23  Myles C. Maxfield  <mmaxfield@apple.com>

        ASSERT_WITH_SECURITY_IMPLICATION in WebCore::InlineTextBox::paint
        https://bugs.webkit.org/show_bug.cgi?id=114586

        Reviewed by Dave Hyatt.

        Taken mostly from https://chromium.googlesource.com/chromium/blink/+/cb2297db16f2e9328cb4dd8b552093d6b22340a8

        If RenderQuote is a subclass of RenderObject, it can't be split by the first-letter CSS pseudoclass.
        Instead, we should make it a subclass of RenderElement, so that it can be split properly.

        Test: fast/css-generated-content/quote-first-letter.html

        * dom/PseudoElement.cpp:
        (WebCore::PseudoElement::didRecalcStyle):
        * rendering/RenderQuote.cpp:
        (WebCore::RenderQuote::RenderQuote):
        (WebCore::RenderQuote::willBeDestroyed):
        (WebCore::RenderQuote::willBeRemovedFromTree):
        (WebCore::RenderQuote::styleDidChange):
        (WebCore::RenderQuote::updateText):
        (WebCore::RenderQuote::computeText):
        (WebCore::RenderQuote::updateDepth):
        * rendering/RenderQuote.h:
        * rendering/style/ContentData.cpp:
        (WebCore::QuoteContentData::createContentRenderer):

2014-01-28  Antti Koivisto  <antti@apple.com>

        Document::topDocument() should return a reference
        https://bugs.webkit.org/show_bug.cgi?id=127786

        Reviewed by Darin Adler.

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::mainFrame):
        (WebCore::AccessibilityObject::topDocument):
        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
        (-[WebAccessibilityObjectWrapper accessibilityContainer]):
        * dom/Document.cpp:
        (WebCore::Document::~Document):
        (WebCore::Document::createRenderTree):
        (WebCore::Document::destroyRenderTree):
        (WebCore::Document::clearAXObjectCache):
        (WebCore::Document::existingAXObjectCache):
        (WebCore::Document::axObjectCache):
        (WebCore::Document::implicitClose):
        (WebCore::Document::topDocument):
        (WebCore::Document::topOrigin):
        (WebCore::Document::webkitCancelFullScreen):
        (WebCore::Document::webkitDidExitFullScreenForElement):
        * dom/Document.h:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::incrementScrollEventListenersCount):
        (WebCore::DOMWindow::decrementScrollEventListenersCount):
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::isReplacementObscured):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::RepaintRegionAccumulator::RepaintRegionAccumulator):
        
2014-01-28  Viatcheslav Ostapenko  <sl.ostapenko@samsung.com>

        Sticky positioning is broken for table rows
        https://bugs.webkit.org/show_bug.cgi?id=112024

        Reviewed by Simon Fraser.

        Enable sticky positioning for table elements. 
        Also includes fix for bug ​wkb.ug/105654
        I don't have access to this bug, but from related commit message I 
        assume it says about "Heap use after free problem".
        Debugging showed that it wasn't heap use after free. 
        The real problem that RenderObject::container() returns object which is
        not RenderBlock and it is used as RenderBlock in 
        RenderBox::containingBlockLogicalHeightForPositioned() method.
        Added extra isRenderBlock check and search for containingBlock if 
        current block is not RenderBlock.
        
        Tests: fast/css/sticky/sticky-table-row-top.html
               fast/css/sticky/sticky-table-thead-top.html

        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::adjustRenderStyle):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
        * rendering/RenderTableRow.h:

2014-01-28  Myles C. Maxfield  <mmaxfield@apple.com>

        Fixing several incorrect assumptions with handling isolated inlines.
        https://bugs.webkit.org/show_bug.cgi?id=127608

        Reviewed by Simon Fraser.

        Fixing capitalization.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::setUpResolverToResumeInIsolate):
        (WebCore::constructBidiRunsForSegment):

2014-01-28  Myles C. Maxfield  <mmaxfield@apple.com>

        Fixing several incorrect assumptions with handling isolated inlines.
        https://bugs.webkit.org/show_bug.cgi?id=127608

        Reviewed by Dave Hyatt.

        First, when an isolated inline spans multiple lines, we aren't guaranteed
        to exit BidiResolver with a nested inline count of zero. Removing the
        assert that says otherwise.
        
        Previously in constructBidiRunsForSegment, we called bidiFirst in
        an attempt to properly setup the isolatedResolver for any dom/style
        that applied, but this only worked on the first line the isolated
        inline appeared in. Adding a function that approaches this properly
        by recursing through the parents of the starting object for the line
        and post-fixing direction attributes to the resolver.
        
        Finally, addressing an issue where the line following a removed isolated
        inline (with a continuation) failed to be marked dirty.

        Merged from Blink: https://chromium.googlesource.com/chromium/blink/+/72698f203b1c50900e535b80945563b92b7eef23

        Tests: fast/text/nested-bidi-assert.html
               fast/text/nested-bidi-with-continuation-crash.html

        * platform/text/BidiResolver.h:
        (WebCore::Run>::~BidiResolver):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::setupResolverToResumeInIsolate):
        (WebCore::constructBidiRunsForSegment):
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):

2014-01-28  Antti Koivisto  <antti@apple.com>

        REGRESSION(r162837): 5% regression on html5-full-render and 3% regression in DoYouEvenBench
        https://bugs.webkit.org/show_bug.cgi?id=127722

        Reviewed by Darin Adler.

        Accumulate repaint region in RendeView instead of flushing rects directly to the system.

        * dom/Document.cpp:
        (WebCore::Document::recalcStyle):
        (WebCore::Document::updateLayout):
        (WebCore::Document::topDocument):
        
            Make less silly.

        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::repaintViewRectangle):
        (WebCore::RenderView::flushAccumulatedRepaintRegion):
        (WebCore::RenderView::RepaintRegionAccumulator::RepaintRegionAccumulator):
        (WebCore::RenderView::RepaintRegionAccumulator::~RepaintRegionAccumulator):
        * rendering/RenderView.h:

2014-01-28  Jeremy Jones  <jeremyj@apple.com>

        HTMLMediaElement::m_platformLayerBorrowed is uninitialized.
        https://bugs.webkit.org/show_bug.cgi?id=127759

        Reviewed by Eric Carlson.

        Initalize m_platformLayerBorrowed to false.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement):

2014-01-28  Jer Noble  <jer.noble@apple.com>

        [Mac] Use explicit, rather than canonical, AudioFormatFlags and types.
        https://bugs.webkit.org/show_bug.cgi?id=127781

        Reviewed by Eric Carlson.

        Since every mac platform uses Float32 audio samples, use these types explicitly
        rather than the implicit, canonical AudioSampleType type. Once we're using Float32
        explicity, we can also use the explicit kAudioFormatFlagsNativeFloatPacked flag
        rather than the canonical version.

        * platform/audio/mac/AudioDestinationMac.cpp:
        (WebCore::AudioDestinationMac::configure):
        * platform/audio/mac/AudioFileReaderMac.cpp:
        (WebCore::AudioFileReader::createBus):

2014-01-27  Alexey Proskuryakov  <ap@apple.com>

        Expose SQL database creation and modification times
        https://bugs.webkit.org/show_bug.cgi?id=127728

        Reviewed by Brady Eidson.

        * platform/FileSystem.h:
        * platform/posix/FileSystemPOSIX.cpp:
        (WebCore::getFileCreationTime):
        * platform/win/FileSystemWin.cpp:
        (WebCore::getFileCreationTimeFromFindData):
        (WebCore::getFileCreationTime):
        Added functions to get file creation times. Not all OSes support that, but Darwin
        and Windows do, as (I think) various BSD flavors.

        * platform/gtk/FileSystemGtk.cpp: Added a stub for getFileCreationTime().

        * platform/sql/SQLiteFileSystem.h:
        * platform/sql/SQLiteFileSystem.cpp:
        (WebCore::SQLiteFileSystem::databaseCreationTime):
        (WebCore::SQLiteFileSystem::databaseModificationTime):
        Expose it in the same strange manner other database file operations are.

        * Modules/webdatabase/DatabaseDetails.h:
        (WebCore::DatabaseDetails::DatabaseDetails):
        (WebCore::DatabaseDetails::creationTime):
        (WebCore::DatabaseDetails::modificationTime):
        Added creation and modification times to DatabaseDetails.

        * Modules/webdatabase/DatabaseManager.cpp:
        (WebCore::DatabaseManager::ProposedDatabase::ProposedDatabase):
        (WebCore::DatabaseManager::openDatabaseBackend):
        ProposedDatabase is an unfortunate mechanism for communicating quota errors to the
        client, we should really straighten it up. But for now, just leave the times uninitialized.

        * Modules/webdatabase/DatabaseBackendBase.cpp: (WebCore::DatabaseBackendBase::details):
        This code path is for handling quota errors, so there is no need to initialize most
        of DatabaseDetails here as well.

        * Modules/webdatabase/DatabaseTracker.cpp: (WebCore::DatabaseTracker::detailsForNameAndOrigin):
        * Modules/webdatabase/DatabaseTracker.h:
        Fill in database file times. Inlined and removed usageForDatabase function to
        avoid rebuilding the path multiple times.

2014-01-28  Jer Noble  <jer.noble@apple.com>

        Setting muted attribute on <video> element is not reflected in controls
        https://bugs.webkit.org/show_bug.cgi?id=127726

        Reviewed by Eric Carlson.

        If the 'muted' IDL attribute is queried after the 'muted' and 'src' content attributes are
        set but before loading begins, it will return 'false' until loading begins, but with no
        way to query whether that value is valid, nor firing a volumechange event when its value
        changes.

        The HTML spec says that the 'muted' content attribute controls whether audio output is
        muted "when the media element is created", not when loading begins, but we don't
        necessarily have a signal that the element is fully parsed.  Additionally, this means its
        impossible to make an element via script and get this behavior.

        So the new behavior is that the 'muted' IDL attribute will always reflect the 'muted'
        content attribute up until one of the following three conditions:

        - The 'muted' IDL attribute is set via script.
        - The element is inserted in the document.
        - The element begins loading.

        After the first one of the above conditions, the 'muted' IDL attribute will no longer
        change when the 'muted' content attribute changes.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement):
        (WebCore::HTMLMediaElement::parseAttribute):
        * html/HTMLMediaElement.h:

2014-01-28  Anders Carlsson  <andersca@apple.com>

        Add stubbed out VisitedLinkProvider class
        https://bugs.webkit.org/show_bug.cgi?id=127744

        Reviewed by Andreas Kling.

        This is a first step towards moving responsibility of visited links from 
        the page group to a separate object.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * page/PageGroup.cpp:
        (WebCore::PageGroup::PageGroup):
        * page/PageGroup.h:
        (WebCore::PageGroup::visitedLinkProvider):
        * page/VisitedLinkProvider.cpp: Added.
        (WebCore::VisitedLinkProvider::VisitedLinkProvider):
        (WebCore::VisitedLinkProvider::~VisitedLinkProvider):
        * page/VisitedLinkProvider.h: Added.
        (WebCore::VisitedLinkProvider::create):

2014-01-28  Gurpreet Kaur  <k.gurpreet@samsung.com>

        Add support for menclose element
        https://bugs.webkit.org/show_bug.cgi?id=85729

        Reviewed by Chris Fleizach.

        Added support for menclose element. MathML <menclose> element renders
        its content inside an enclosing notation specified by the notation
        attribute. The notation attribute can have values longdiv, box, left,
        right, top, bottom , radical, madruwb, actuarial, roundedbox, circle,
        updiagonalstrike, downdiagonalstrike, verticalstrike and
        horizontalstrike.

        Tests: mathml/presentation/menclose-add-children.html
               mathml/presentation/menclose-notation-attribute-add.html
               mathml/presentation/menclose-notation-attribute-change-value.html
               mathml/presentation/menclose-notation-attribute-remove.html
               mathml/presentation/menclose-notation-attribute-set1.html
               mathml/presentation/menclose-notation-attribute-set2.html
               mathml/presentation/menclose-notation-no-overlap.html
               mathml/presentation/menclose-notation-radical.html
               mathml/presentation/menclose-remove-children.html

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * css/mathml.css:
        (mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose):
        (math, mrow, mfenced, msqrt, mroot, merror, mphantom, mstyle, menclose):
        * mathml/MathMLAllInOne.cpp:
        * mathml/MathMLElement.h:
        * mathml/MathMLInlineContainerElement.cpp:
        * mathml/MathMLMencloseElement.cpp: Added.
        (WebCore::MathMLMencloseElement::MathMLMencloseElement):
        (WebCore::MathMLMencloseElement::create):
        (WebCore::MathMLMencloseElement::createElementRenderer):
        (WebCore::MathMLMencloseElement::isPresentationAttribute):
        (WebCore::MathMLMencloseElement::finishParsingChildren):
        (WebCore::MathMLMencloseElement::collectStyleForPresentationAttribute):
        (WebCore::MathMLMencloseElement::longDivLeftPadding):
        * mathml/MathMLMencloseElement.h: Added.
        (WebCore::toMathMLMencloseElement):
        * mathml/mathattrs.in:
        * mathml/mathtags.in:
        * rendering/mathml/RenderMathMLMenclose.cpp: Added.
        (WebCore::RenderMathMLMenclose::RenderMathMLMenclose):
        (WebCore::RenderMathMLMenclose::addChild):
        (WebCore::RenderMathMLMenclose::computePreferredLogicalWidths):
        (WebCore::RenderMathMLMenclose::updateLogicalHeight):
        (WebCore::RenderMathMLMenclose::paint):
        (WebCore::RenderMathMLMenclose::checkNotationalValuesValidity):
        * rendering/mathml/RenderMathMLMenclose.h: Added.
        * rendering/mathml/RenderMathMLRoot.cpp:
        (WebCore::RenderMathMLRoot::RenderMathMLRoot):
        * rendering/mathml/RenderMathMLRoot.h:
        * rendering/mathml/RenderMathMLSquareRoot.cpp:
        (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot):
        (WebCore::RenderMathMLSquareRoot::createAnonymousWithParentRenderer):
        * rendering/mathml/RenderMathMLSquareRoot.h:
        Added new file related to menclose element implementation. Menclose
        element is created and while parsing its notation attribute based on
        its values like top, left CSSBorder properties are applied and for
        values like circle, verticalstrike, longidv its taken care in paint.
        For radical value an anonymous RenderMathMLSquareRoot is created as
        a child of menclose.

2014-01-28  Krzysztof Czech  <k.czech@samsung.com>

        [ATK] accessibility/range-alter-by-percent.html is failing after r162587.
        https://bugs.webkit.org/show_bug.cgi?id=127774

        Reviewed by Mario Sanchez Prada.

        Implicit value of step in range type elements should be one or larger.

        No new tests. Covered by exiting one.

        * accessibility/atk/WebKitAccessibleInterfaceValue.cpp:
        (webkitAccessibleValueGetMinimumIncrement):

2014-01-28  Mark Rowe  <mrowe@apple.com>

        <https://webkit.org/b/127767> Disable some deprecation warnings to fix the build.

        Reviewed by Ryosuke Niwa.

        * accessibility/mac/AXObjectCacheMac.mm:
        (WebCore::AXObjectCache::postPlatformNotification):
        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
        (-[WebAccessibilityObjectWrapper renderWidgetChildren]):
        * platform/audio/mac/AudioDestinationMac.cpp:
        (WebCore::AudioDestinationMac::configure):
        * platform/audio/mac/AudioFileReaderMac.cpp:
        (WebCore::AudioFileReader::createBus):

2014-01-28  Carlos Garcia Campos  <cgarcia@igalia.com>

        [SOUP] Remove soupURIToKURL
        https://bugs.webkit.org/show_bug.cgi?id=127104

        Reviewed by Martin Robinson.

        In favor of a URL constructor receiving a SoupURI. Also add a
        method to URL to create a soupURI.

        * GNUmakefile.list.am: Remove SoupURIUtils and add URLSoup.
        * PlatformEfl.cmake: Ditto.
        * PlatformGTK.cmake: Ditto.
        * platform/URL.h: Add URL constructor receiving a SoupURI and
        createSoupURI() to create a new soupURI for the URL.
        * platform/network/soup/CookieJarSoup.cpp:
        (WebCore::setCookiesFromDOM): Use URL::createSoupURI().
        (WebCore::cookiesForSession): Ditto.
        (WebCore::getRawCookies): Ditto.
        (WebCore::deleteCookie): Ditto.
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::doRedirect): Use the new URL constructor instead of
        soupURIToKURL.
        (WebCore::createSoupRequestAndMessageForHandle): Use URL::createSoupURI().
        * platform/network/soup/ResourceRequest.h: Rename soupURI as
        createSoupURI to make it clear that the method returns a newly
        created SoupURI.
        * platform/network/soup/ResourceRequestSoup.cpp:
        (WebCore::ResourceRequest::updateSoupMessageMembers): Use URL::createSoupURI().
        (WebCore::ResourceRequest::updateSoupMessage): Ditto.
        (WebCore::ResourceRequest::updateFromSoupMessage): Use the new URL
        constructor instead of soupURIToKURL.
        (WebCore::ResourceRequest::createSoupURI): Use URL::createSoupURI().
        * platform/network/soup/ResourceResponseSoup.cpp:
        (WebCore::ResourceResponse::updateFromSoupMessage): Use the new
        URL constructor instead of soupURIToKURL.
        * platform/network/soup/SoupURIUtils.cpp: Removed.
        * platform/network/soup/SoupURIUtils.h: Removed.
        * platform/soup/URLSoup.cpp: Added.
        (WebCore::URL::URL):
        (WebCore::URL::createSoupURI):

2014-01-27  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Avoid unnecessary string duplications in FileSystemGtk
        https://bugs.webkit.org/show_bug.cgi?id=127469

        Reviewed by Martin Robinson.

        We are using fileSystemRepresentation() everywhere internally
        which returns a CString that always duplicates the string.
        Add unescapedFilename() internal helper function that returns a
        GUniquePtr and used it everywhere instead of fileSystemRepresentation().

        * platform/gtk/FileSystemGtk.cpp:
        (WebCore::unescapedFilename):
        (WebCore::fileSystemRepresentation):
        (WebCore::filenameForDisplay):
        (WebCore::fileExists):
        (WebCore::deleteFile):
        (WebCore::deleteEmptyDirectory):
        (WebCore::getFileStat):
        (WebCore::getFileSize):
        (WebCore::getFileModificationTime):
        (WebCore::getFileMetadata):
        (WebCore::pathByAppendingComponent):
        (WebCore::makeAllDirectories):
        (WebCore::pathGetFileName):
        (WebCore::directoryName):
        (WebCore::listDirectory):
        (WebCore::openFile):

2014-01-27  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Make webkit_uri_scheme_request_get_web_view() work with CustomProtocols
        https://bugs.webkit.org/show_bug.cgi?id=127614

        Reviewed by Gustavo Noronha Silva.

        Add API to set the page identifier that initiated the request to
        ResourceRequest, and remove the initiatingPageID() method from the
        NetworkingContext class.

        * platform/network/NetworkingContext.h:
        * platform/network/ResourceHandle.h:
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::createSoupRequestAndMessageForHandle):
        * platform/network/soup/ResourceRequest.h:
        (WebCore::ResourceRequest::ResourceRequest):
        (WebCore::ResourceRequest::initiatingPageID):
        (WebCore::ResourceRequest::setInitiatingPageID):
        * platform/network/soup/ResourceRequestSoup.cpp:
        (WebCore::ResourceRequest::updateSoupRequest):
        (WebCore::ResourceRequest::updateFromSoupRequest):

2014-01-27  Tim Horton  <timothy_horton@apple.com>

        Lots of varied and random crashes on the scrolling thread (ScrollbarPainters are going away)
        https://bugs.webkit.org/show_bug.cgi?id=127734
        <rdar://problem/15906263>

        Reviewed by Simon Fraser.

        * page/scrolling/ScrollingStateScrollingNode.h:
        Retain the ScrollbarPainters in the scrolling state tree.

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

        Unreviewed iOS build fix. FALLTHROUGHs for iOS.

        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
        (-[WebAccessibilityObjectWrapper accessibilityTraits]):
        (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):

2014-01-27  Roger Fong  <roger_fong@apple.com>

        WebGLLoadPolicy::WebGLAsk is an unnecessary value.
        https://bugs.webkit.org/show_bug.cgi?id=127755

        Reviewed by Anders Carlsson.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::getContext):
        * loader/FrameLoaderTypes.h:

2014-01-27  Brady Eidson  <beidson@apple.com>

        IDB: Cursor support - Messaging, IPC, Threading plumbing
        https://bugs.webkit.org/show_bug.cgi?id=127736

        Reviewed by Sam Weinig.

        * Modules/indexeddb/IDBCursorBackendOperations.h:
        (WebCore::CursorIterationOperation::cursorID):
        (WebCore::CursorAdvanceOperation::cursorID):

        * Modules/indexeddb/IDBTransactionBackendOperations.h:
        (WebCore::OpenCursorOperation::transactionID):

        * WebCore.exp.in:

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

        WebCore: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where needed
        https://bugs.webkit.org/show_bug.cgi?id=127671

        Reviewed by Ryosuke Niwa.

        * Configurations/Base.xcconfig:
        Enable the warning.

        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::applyProperty):
        Caught a bug. CSSPropertyWebkitAlt could fall through to CSSPropertyQuotes.

        * css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):
        Caught a bug. CSSPropertyWebkitSvgShadow could fall through to CSSPropertyMaskType.

        * platform/Decimal.cpp:
        (WebCore::Decimal::fromString):
        Possible bug. Implementation doesn't seem to match its documentation.
        Filed an issue to follow-up on this unclear function.

        * css/makeprop.pl:
        * css/makevalues.pl:
        * platform/ColorData.gperf:
        Ignore implicit fallthrough warnings in generated code. gperf outputs
        a "/*FALLTHROUGH*/" comment, but is not easily customizable to change
        this output. Easiest to just ignore the warning for now.

        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::recalcColumn):
        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
        (WebCore::AutoTableLayout::layout):
        There has been a "fall through" comment immediately followed by a break
        since its introduction in 2003. Removing the inaccurate comment.

        * accessibility/AccessibilityNodeObject.cpp:
        (WebCore::AccessibilityNodeObject::canHaveChildren):
        (WebCore::AccessibilityNodeObject::visibleText):
        (WebCore::AccessibilityNodeObject::title):
        * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
        (-[WebAccessibilityObjectWrapperBase accessibilityDescription]):
        (-[WebAccessibilityObjectWrapperBase accessibilityHelpText]):
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneSerializer::serialize):
        (WebCore::CloneDeserializer::deserialize):
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::ComputedStyleExtractor::propertyValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseContent):
        (WebCore::CSSParser::realLex):
        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::extractPseudoType):
        (WebCore::CSSSelector::selectorText):
        * css/StyleProperties.cpp:
        (WebCore::StyleProperties::asText):
        * css/StyleSheetContents.cpp:
        (WebCore::childRulesHaveFailedOrCanceledSubresources):
        * dom/Node.cpp:
        (WebCore::appendTextContent):
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processCharacterBuffer):
        (WebCore::HTMLTreeBuilder::processEndOfFile):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::requestResource):
        * page/EventSource.cpp:
        (WebCore::EventSource::parseEventStream):
        * platform/DateComponents.cpp:
        (WebCore::DateComponents::toStringForTime):
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
        (WebCore::MediaPlayerPrivateAVFoundation::updateStates):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::platformInit):
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::totalBytes):
        * platform/graphics/win/FullScreenController.cpp:
        (FullScreenController::Private::fullscreenClientWndProc):
        * platform/text/BidiResolver.h:
        (WebCore::Run>::updateStatusLastFromCurrentDirection):
        (WebCore::Run>::createBidiRunsForLine):
        * platform/text/win/LocaleWin.cpp:
        (WebCore::LocaleWin::initializeLocaleData):
        * rendering/PointerEventsHitRules.cpp:
        (WebCore::PointerEventsHitRules::PointerEventsHitRules):
        * rendering/RenderBlockFlow.cpp:
        (WebCore::RenderBlockFlow::newLine):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlockFlow::updateLogicalWidthForAlignment):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::calculateFillTileSize):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::drawLineForBoxSide):
        * rendering/RenderQuote.cpp:
        (WebCore::RenderQuote::originalText):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::replacedContentRect):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::addChild):
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::adjustStyle):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::setWordSpacing):
        * rendering/svg/RenderSVGResource.cpp:
        (WebCore::requestPaintingResource):
        * rendering/svg/SVGMarkerData.h:
        (WebCore::SVGMarkerData::updateMarkerDataForPathElement):
        * svg/SVGPathParser.cpp:
        (WebCore::SVGPathParser::parsePathDataFromSource):
        * svg/SVGTransformDistance.cpp:
        (WebCore::SVGTransformDistance::SVGTransformDistance):
        (WebCore::SVGTransformDistance::scaledDistance):
        (WebCore::SVGTransformDistance::addSVGTransforms):
        (WebCore::SVGTransformDistance::addToSVGTransform):
        (WebCore::SVGTransformDistance::distance):
        Add annotation or break before falling into a default:break;

2014-01-27  Andreas Kling  <akling@apple.com>

        Allow mmap encoded data replacement for WOFF fonts.
        <https://webkit.org/b/127737>

        We always have to convert WOFF fonts to SFNT format. This happens
        in a separate buffer from the CachedFont's internal resource buffer.
        Because of this, there's no need to protect the original buffer from
        mmap replacement.

        With this change, WOFF web fonts are no longer duplicated between
        the network and web processes.

        Reviewed by Brady Eidson.

        * loader/cache/CachedFont.cpp:
        (WebCore::CachedFont::CachedFont):
        (WebCore::CachedFont::ensureCustomFontData):
        (WebCore::CachedFont::mayTryReplaceEncodedData):
        * loader/cache/CachedFont.h:

2014-01-27  David Hyatt  <hyatt@apple.com>

        [New Multicolumn] Add support for block progression axis and reverse direction
        https://bugs.webkit.org/show_bug.cgi?id=127715

        Reviewed by thorton.

        This patch adds support for -webkit-progression-direction and -webkit-progression-axis
        to the new column code. This allows columns to stack along the block axis instead of
        the inline axis or to reverse directions along that progression axis.

        Added fast/multicol/newmulticol/progression-reverse.html and
              fast/multicol/newmulticol/progression-reverse-overflow.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::isTopLayoutOverflowAllowed):
        (WebCore::RenderBlock::isLeftLayoutOverflowAllowed):
        New functions have been added for top and left layout overflow in order to get
        a bunch of code out of RenderBox that didn't belong there. RenderBlock is overriding
        the functions for the old multicolumn layout code to keep it working.

        * rendering/RenderBlock.h:
        Added the new top/left overflow functions.

        * rendering/RenderBlockFlow.cpp:
        (WebCore::RenderBlockFlow::determineLogicalLeftPositionForChild):
        Moved from RenderBlock, since it didn't belong there.

        (WebCore::RenderBlockFlow::isTopLayoutOverflowAllowed):
        (WebCore::RenderBlockFlow::isLeftLayoutOverflowAllowed):
        * rendering/RenderBlockFlow.h:
        Overridden for the new multi-column code to specify when top/left overflow are
        allowed (e.g., when the columns go backwards).

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::addLayoutOverflow):
        Overridden to use the new top/left overflow functions.

        * rendering/RenderBox.h:
        (WebCore::RenderBox::isTopLayoutOverflowAllowed):
        (WebCore::RenderBox::isLeftLayoutOverflowAllowed):
        Added base definitions that look at direction and writing-mode.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::isTopLayoutOverflowAllowed):
        (WebCore::RenderFlexibleBox::isLeftLayoutOverflowAllowed):
        * rendering/RenderFlexibleBox.h:
        Overrides for flexible box of the top/left overflow functions.

        * rendering/RenderMultiColumnFlowThread.h:
        Make sure requiresBalancing() is set to false if the axis of the columns
        is block, since at least right now, we don't support balancing columns
        along the block axis. (In theory we could support this in the future, but
        nobody has requested it.)

        * rendering/RenderMultiColumnSet.cpp:
        (WebCore::RenderMultiColumnSet::updateLogicalWidth):
        Remove the code that expands the width of multi column sets. We now always
        let their logical width match the containing block's content width and instead
        add the overflow to the set itself.

        (WebCore::RenderMultiColumnSet::columnRectAt):
        (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
        (WebCore::RenderMultiColumnSet::paintColumnRules):
        (WebCore::RenderMultiColumnSet::initialBlockOffsetForPainting):
        (WebCore::RenderMultiColumnSet::collectLayerFragments):
        (WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):
        Patch all of these functions to know how to handle a block axis or reversed
        direction.

        (WebCore::RenderMultiColumnSet::addOverflowFromChildren):
        * rendering/RenderMultiColumnSet.h:
        Make multi-column set add in its overflow in the same way that the old
        multi-column code did, by looking at the last column rect. (This is really
        not a very good way to do it, but it's the same as the old code for now.)

2014-01-27  Daniel Bates  <dabates@apple.com>

        Fix the Mac build following <http://trac.webkit.org/changeset/162887>
        (https://bugs.webkit.org/show_bug.cgi?id=127703)

        Export symbol for WebCore::AXObjectCache::enableAccessibility().

        * WebCore.exp.in:

2014-01-27  Roger Fong  <roger_fong@apple.com>

        [Mac] Unreviewed build fix. Add missing export symbol.

        * WebCore.exp.in:

2014-01-27  Roger Fong  <roger_fong@apple.com>

        [Windows] Tests crashing on Windows after r162816.
        https://bugs.webkit.org/show_bug.cgi?id=127703.

        Reviewed by Alexey Proskuryakov.

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::enableAccessibility):
        (WebCore::AXObjectCache::disableAccessibility):
        * accessibility/AXObjectCache.h: Un-inline some methods so that they can be exported.

2014-01-27  Andy Estes  <aestes@apple.com>

        Update bindings test expectations after r162872

        * bindings/scripts/test/ObjC/DOMTestInterface.h:
        * bindings/scripts/test/ObjC/DOMTestObj.h:

2014-01-27  Andy Estes  <aestes@apple.com>

        Scrub WebKit API headers of WTF macros
        https://bugs.webkit.org/show_bug.cgi?id=127706

        Reviewed by David Kilzer.

        * Configurations/FeatureDefines.xcconfig: Added ENABLE_INSPECTOR.
        * bindings/objc/DOMEvents.h: Guarded include of
        DOM{Gesture,Touch}Event.h with TARGET_OS_IPHONE, since those features
        are always enabled on iOS.
        * platform/graphics/mac/MediaPlayerProxy.h: Replaced PLATFORM(IOS) with
        TARGET_OS_IPHONE and ensured ENABLE_IOS_AIRPLAY is defined.
        * platform/ios/SystemMemory.h: Replaced PLATFORM(IOS) with
        TARGET_OS_IPHONE.
        * platform/ios/wak/WKGraphics.h: Replaced PLATFORM(IOS_SIMULATOR) with
        TARGET_IPHONE_SIMULATOR.

2014-01-27  Jer Noble  <jer.noble@apple.com>

        [iOS] Use callOnMainThread() not dispatch_async() in MediaPlayerPrivateAVFoundationObjC
        https://bugs.webkit.org/show_bug.cgi?id=127701

        Reviewed by Eric Carlson.

        dispatch_async(dispatch_get_main_queue(), ...) used to be fine so long as the main
        thread was also the web thread. But since that's not the case on iOS, we should be
        using callOnMainThread() instead (because it dispatches to the web thread, not as
        its name implies, the main thread).

        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::createWeakPtr):
        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
        (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
        (WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime):
        (-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]):
        (-[WebCoreAVFMovieObserver outputSequenceWasFlushed:]):
        (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):
        (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForResponseToAuthenticationChallenge:]):
        (-[WebCoreAVFLoaderDelegate resourceLoader:didCancelLoadingRequest:]):

2014-01-27  Maciej Stachowiak  <mjs@apple.com>

        Move Conditional=BLOB from URL interface to Blob-related methods, to prepare for adding URL API
        https://bugs.webkit.org/show_bug.cgi?id=127719

        Reviewed by Sam Weinig.

        * html/DOMURL.idl:

2014-01-27  Andreas Kling  <akling@apple.com>

        Remove unused USE(OPENTYPE_SANITIZER) code.
        <https://webkit.org/b/127710>

        This code was only used by the Chromium port.

        Reviewed by Darin Adler.

        * GNUmakefile.list.am:
        * WebCore.xcodeproj/project.pbxproj:
        * loader/cache/CachedFont.cpp:
        (WebCore::CachedFont::ensureCustomFontData):
        * platform/graphics/WOFFFileFormat.cpp:
        * platform/graphics/WOFFFileFormat.h:
        * platform/graphics/opentype/OpenTypeSanitizer.cpp: Removed.
        * platform/graphics/opentype/OpenTypeSanitizer.h: Removed.


2014-01-27  Andy Estes  <aestes@apple.com>

        Stop the code generator from adding ENABLE() macros to Objective-C DOM headers
        https://bugs.webkit.org/show_bug.cgi?id=127706

        Reviewed by David Kilzer.

        Instead of adding ENABLE() macros to generated Objective-C DOM
        headers, which might become Public or Private headers, elide generated
        code for disabled features.

        * bindings/scripts/CodeGeneratorObjC.pm:
        (GenerateInterface): Passed $defines to GenerateHeader.
        (ConditionalIsEnabled): Checked if the given conditional is found in
        $defines. Handled conditionals with '&' and '|'.
        (GenerateHeader): Rather than calling GenerateConditionalString to
        generate an "#if ENABLE(...)", called ConditionalIsEnabled() to see
        whether we should generate code for the given constant, attribute, or
        function.

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

        [CSS Shapes] Remove restriction of negative values for inset parameters
        https://bugs.webkit.org/show_bug.cgi?id=127704

        Reviewed by Darin Adler.

        The latest version of CSS Shapes (http://www.w3.org/TR/css-shapes/) specification
        doesn't contain any restriction of using negative values for the inset sizing.
        I removed the restriction from the code and added testing for them.

        Existing tests have been extended with the new cases.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseBasicShapeInset):

2014-01-27  Eric Carlson  <eric.carlson@apple.com>

        [iOS] preload=none prevents play()
        https://bugs.webkit.org/show_bug.cgi?id=127702

        Reviewed by Jer Noble.

        No new tests, covered by existing tests.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::potentiallyPlaying): Cleanup logic to make it simpler to understand,
            fix logic error introduced in r161973
        (WebCore::HTMLMediaElement::updatePlayState): Conditionalize some iOS-only code on whether or not
            we are using the plug-in proxy.

2014-01-27  Brady Eidson  <beidson@apple.com>

        IDB: LevelDB backing store shouldn't know about IDBCursor or IDBCallbacks
        https://bugs.webkit.org/show_bug.cgi?id=127708

        Reviewed by Tim Horton.

        Move that knowledge to the IDBCursorBackendOperations inside the callback.

        * Modules/indexeddb/IDBCursorBackendOperations.cpp:
        (WebCore::CursorAdvanceOperation::perform):
        (WebCore::CursorIterationOperation::perform):
        * Modules/indexeddb/IDBCursorBackendOperations.h:

        * Modules/indexeddb/IDBServerConnection.h:
        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
        (WebCore::IDBServerConnectionLevelDB::cursorAdvance):
        (WebCore::IDBServerConnectionLevelDB::cursorIterate):
        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:

2014-01-27  Brady Eidson  <beidson@apple.com>

        IDB: Remove unused concept of "cursor prefetch"
        https://bugs.webkit.org/show_bug.cgi?id=127700

        Reviewed by Tim Horton.

        * Modules/indexeddb/IDBCursorBackend.cpp:
        * Modules/indexeddb/IDBCursorBackend.h:
        * Modules/indexeddb/IDBCursorBackendOperations.cpp:
        * Modules/indexeddb/IDBCursorBackendOperations.h:
        * Modules/indexeddb/IDBServerConnection.h:
        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:

2014-01-27  Brady Eidson  <beidson@apple.com>

        IDB: Refactor out the last of the operation callbacks that are called by the LevelDB backing store
        https://bugs.webkit.org/show_bug.cgi?id=127592

        Reviewed by Tim Horton.

        For each of the 3 remaining operations where the backing store calls callbacks directly,
        factor out the callbacks to the operation itself.


        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
        (WebCore::OpenCursorOperation::perform):
        (WebCore::CountOperation::perform):
        (WebCore::DeleteRangeOperation::perform):
        * Modules/indexeddb/IDBTransactionBackendOperations.h:

        * Modules/indexeddb/IDBServerConnection.h:
        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
        (WebCore::IDBServerConnectionLevelDB::openCursor):
        (WebCore::IDBServerConnectionLevelDB::count):
        (WebCore::IDBServerConnectionLevelDB::deleteRange):
        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:

2014-01-27  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r162755.
        http://trac.webkit.org/changeset/162755
        https://bugs.webkit.org/show_bug.cgi?id=127696

        not quite right, breaks subframe scrolling in some cases
        (Requested by thorton on #webkit).

        * page/scrolling/ScrollingTree.cpp:
        (WebCore::ScrollingTree::ScrollingTree):
        (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously):
        (WebCore::ScrollingTree::removeDestroyedNodes):
        * page/scrolling/ScrollingTree.h:
        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
        (WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent):

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

        [CSS Shapes] inset() function with multiple spaces on element style
        https://bugs.webkit.org/show_bug.cgi?id=127617

        Reviewed by Dirk Schulze.

        When only a subset of parameters were defined for an inset shape, the built
        inset string contained some extra spaces. This patch fixes the behavior and
        adds tests for the case. I also removed the string allocation optimization from
        buildInsetString, since it's not worthwhile to always allocate as many memory
        as needed for a fully defined inset.

        I added the new test cases to the shapes parser code test.

        * css/CSSBasicShapes.cpp:
        (WebCore::buildInsetString):

2014-01-27  Antti Koivisto  <antti@apple.com>

        * WebCore.exp.in: Add export needed for iOS.

2014-01-27  Antti Koivisto  <antti@apple.com>

        REGRESSION(r133214): Don't invalidate style when adding classes that don't match rules
        https://bugs.webkit.org/show_bug.cgi?id=126177

        Reviewed by Anders Carlsson.
        
        Spotted by Elliott Sprehn in Chromium.

        * dom/Element.cpp:
        (WebCore::checkSelectorForClassChange):
        
            Remove unnecessary templating.

        (WebCore::Element::classAttributeChanged):
        
            Fix logic error with 'continue'.

2014-01-27  Brendan Long  <b.long@cablelabs.com>

        [GStreamer] Lockup when playing Icecast radio
        https://bugs.webkit.org/show_bug.cgi?id=127452

        Reviewed by Philippe Normand.

        No new tests. This bug can only be demonstrated with an Icecast stream, and it's
        not clear how to do that in our testing framework.

        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
        (StreamingClient::handleResponseReceived): Wait until we unlock to send notifications.

2014-01-27  Jessie Berlin  <jberlin@apple.com>

        Build fix after r162838.

        * page/FrameView.cpp:
        Remove an unused constant.

2014-01-27  Antti Koivisto  <antti@apple.com>

        Remove repaint throttling
        https://bugs.webkit.org/show_bug.cgi?id=127681

        Reviewed by Sam Weinig.

        Nowadays we throttle layer flushes. This code is unnecessary.

        * WebCore.exp.in:
        * dom/Document.cpp:
        (WebCore::Document::recalcStyle):
        * dom/Element.cpp:
        (WebCore::Element::classAttributeChanged):
        * editing/AlternativeTextController.cpp:
        (WebCore::AlternativeTextController::insertDictatedText):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::checkCompleted):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::dispatchDragEvent):
        (WebCore::EventHandler::dispatchMouseEvent):
        (WebCore::EventHandler::keyEvent):
        (WebCore::EventHandler::handleTextInputEvent):
        * page/FrameView.cpp:
        (WebCore::FrameView::FrameView):
        (WebCore::FrameView::reset):
        (WebCore::FrameView::flushCompositingStateForThisFrame):
        (WebCore::FrameView::layout):
        (WebCore::FrameView::repaintContentRectangle):
        (WebCore::FrameView::disableLayerFlushThrottlingTemporarilyForInteraction):
        (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
        * page/FrameView.h:
        * rendering/RenderView.cpp:
        (WebCore::RenderView::setSelection):

2014-01-24  Eric Carlson  <eric.carlson@apple.com>

        Merge Chromium TextTrack cleanups
        https://bugs.webkit.org/show_bug.cgi?id=127483

        Reviewed by Darin Adler.

        Merge some TextTrack cleanups:
        https://chromium.googlesource.com/chromium/blink/+/b571b9fbc6e62e05aa77a402cf8f447e681b8ee3
        https://chromium.googlesource.com/chromium/blink/+/6b1940151258150ea01bcf21ebfd958e2af247f4
        https://chromium.googlesource.com/chromium/blink/+/397c2a2d9416f5c0d79bca22d6979f174eefcce2
        https://chromium.googlesource.com/chromium/blink/+/f42ad93e25c6310b2b0327ab7ce5d82d3c4a6c1b
        https://chromium.googlesource.com/chromium/blink/+/d55b52b53b7da05bba5fe378a4278250b9347430
        https://chromium.googlesource.com/chromium/blink/+/cac766ecaaac477a08879f0b3157d0327cc75d96
        https://chromium.googlesource.com/chromium/blink/+/6197ce278696cdd52fc2ad81893f369492468ca0

        * html/HTMLTrackElement.cpp:
        (WebCore::HTMLTrackElement::loadTimerFired): Remove the LoadableTextTrack* parameter, it isn't used.
        (WebCore::HTMLTrackElement::didCompleteLoad): Ditto.
        * html/HTMLTrackElement.h: didCompleteLoad doesn't need to be virtual.

        * html/track/LoadableTextTrack.cpp:
        (WebCore::LoadableTextTrack::loadTimerFired): Pass a reference, not a pointer.
        (WebCore::LoadableTextTrack::cueLoadingStarted): Removed, it wasn't used.
        (WebCore::LoadableTextTrack::cueLoadingCompleted): Pass a reference, not a pointer.
        * html/track/LoadableTextTrack.h: Delete LoadableTextTrackClient, it is no longer used.

        * loader/TextTrackLoader.cpp:
        (WebCore::TextTrackLoader::TextTrackLoader): Take a TextTrackLoaderClient reference.
        (WebCore::TextTrackLoader::~TextTrackLoader): Rename m_cachedCueData m_resource.
        (WebCore::TextTrackLoader::cueLoadTimerFired): m_client is a reference.
        (WebCore::TextTrackLoader::cancelLoad): m_cachedCueData -> m_resource.
        (WebCore::TextTrackLoader::processNewCueData): Ditto.
        (WebCore::TextTrackLoader::deprecatedDidReceiveCachedResource): Ditto.
        (WebCore::TextTrackLoader::notifyFinished): Ditto.
        (WebCore::TextTrackLoader::load): shouldLoadCues was removed from the client interface because
            the only implementation always returned true.
        (WebCore::TextTrackLoader::newRegionsParsed): m_client is a reference
        * loader/TextTrackLoader.h:

        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::canRequest): Remove an outdated comment.

2014-01-27  Chris Fleizach  <cfleizach@apple.com>

        AX: Disable accessibility after every test run
        https://bugs.webkit.org/show_bug.cgi?id=127439

        Reviewed by Csaba Osztrogonác.

        Speculative fix for EFL build. Don't process these notifications unless accessibility is enabled.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::prepareForLoadStart):

2014-01-27  Csaba Osztrogonác  <ossy@webkit.org>

        Buildfix for !ENABLE(COMPARE_AND_SWAP) platforms after r162774
        https://bugs.webkit.org/show_bug.cgi?id=127678

        Reviewed by Zoltan Herczeg.

        * platform/text/TextBreakIterator.cpp:
        (WebCore::compareAndSwapNonSharedCharacterBreakIterator):
        Use std::mutex instead of Mutex and std::lock_guard instead of MutexLocker.

2014-01-26  Tim Horton  <timothy_horton@apple.com>

        Fix the iOS build (failed to correctly revert some broken changes in the last patch).

        * platform/graphics/cg/BitmapImageCG.cpp:

2014-01-26  Tim Horton  <timothy_horton@apple.com>

        Start cleaning up iOS upstreaming #ifs in platform/graphics
        https://bugs.webkit.org/show_bug.cgi?id=127641

        Reviewed by Sam Weinig.

        * platform/graphics/BitmapImage.h:
        * platform/graphics/mac/ColorMac.h:
        Use USE(APPKIT) instead of PLATFORM(MAC) && !PLATFORM(IOS) for NSImage/getNSImage().

        * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:
        (WebCore::AVTrackPrivateAVFObjCImpl::label):
        * platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm:
        (WebCore::InbandTextTrackPrivateLegacyAVFObjC::label):
        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
        Remove some code that was only used on OS X on Lion or below.

        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::platformInit):
        ToT WebKit doesn't build on Lion or earlier anymore, so this code can always run.

        * platform/graphics/cg/FloatPointCG.cpp:
        * platform/graphics/cg/FloatRectCG.cpp:
        * platform/graphics/cg/FloatSizeCG.cpp:
        * platform/graphics/cg/GradientCG.cpp:
        * platform/graphics/cg/ImageBufferCG.cpp:
        * platform/graphics/cg/ImageCG.cpp:
        * platform/graphics/cg/IntPointCG.cpp:
        * platform/graphics/cg/IntRectCG.cpp:
        * platform/graphics/cg/PathCG.cpp:
        * platform/graphics/cg/PatternCG.cpp:
        * platform/graphics/mac/FontCustomPlatformData.cpp:
        Use CoreGraphics/CoreGraphics.h instead of ApplicationServices/ApplicationServices.h
        even on Mac, so we can share the include.

        * platform/graphics/cg/IntSizeCG.cpp:
        Remove a random comment of a style we don't tend to use in WebKit,
        and from a file not large enough to need it.

        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::setFont):
        Remove some more always-true #ifs.

        * platform/graphics/mac/WebLayer.mm:
        Move a #if'd include out to its own block as per the style guide.

2014-01-26  David Hyatt  <hyatt@apple.com>

        [New Multicolumn] Make sure the progression axis and direction are propagated to the new columns.
        https://bugs.webkit.org/show_bug.cgi?id=127670

        This patch makes sure that the progression axis and direction style properties
        are properly propagated from the style to the multi-column flow thread. Virtualizing
        and renaming updateColumnInfoFromStyle to updateColumnProgressionFromStyle lets us
        share code between the old multi-column code and the new.

        Reviewed by Sam Weinig.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::updateColumnProgressionFromStyle):
        * rendering/RenderBlock.h:
        * rendering/RenderBlockFlow.cpp:
        (WebCore::RenderBlockFlow::setComputedColumnCountAndWidth):
        (WebCore::RenderBlockFlow::updateColumnProgressionFromStyle):
        * rendering/RenderBlockFlow.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::styleDidChange):
        * rendering/RenderMultiColumnFlowThread.cpp:
        (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
        * rendering/RenderMultiColumnFlowThread.h:
        * style/StyleResolveForDocument.cpp:
        (WebCore::Style::resolveForDocument):

2014-01-26  David Hyatt  <hyatt@apple.com>

        [New Multicolumn] Change the axis property to be a boolean like other isInline checks
        https://bugs.webkit.org/show_bug.cgi?id=127661

        Reviewed by Simon Fraser.

        * rendering/ColumnInfo.h:
        (WebCore::ColumnInfo::ColumnInfo):
        (WebCore::ColumnInfo::progressionIsInline):
        (WebCore::ColumnInfo::setProgressionIsInline):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintColumnRules):
        (WebCore::RenderBlock::initialBlockOffsetForPainting):
        (WebCore::RenderBlock::blockDeltaForPaintingNextColumn):
        (WebCore::RenderBlock::setComputedColumnCountAndWidth):
        (WebCore::RenderBlock::updateColumnInfoFromStyle):
        (WebCore::RenderBlock::columnRectAt):
        (WebCore::RenderBlock::adjustPointToColumnContents):
        (WebCore::RenderBlock::adjustRectForColumns):
        (WebCore::RenderBlock::adjustForColumns):
        * rendering/RenderMultiColumnFlowThread.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::columnNumberForOffset):

2014-01-26  Benjamin Poulain  <benjamin@webkit.org>

        Make DOMStringMap a typedef of DatasetDOMStringMap
        https://bugs.webkit.org/show_bug.cgi?id=127658

        Reviewed by Sam Weinig.

        The only concrete implementation of DOMStringMap is DatasetDOMStringMap.
        The abstract interface for a single definition is adding complexity for no gain.

        This patch removes DOMStringMap and simply keeps the name through a typedef.
        I used a typedef instead of just renaming DatasetDOMStringMap because I think
        having both name has value. DatasetDOMStringMap is a better description of what
        the implementation does. DOMStringMap is the public name and the classname is
        the same as the JavaScript type by convention.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DOMAllInOne.cpp:
        * dom/DOMStringMap.cpp: Removed.
        * dom/DOMStringMap.h:
        * dom/DatasetDOMStringMap.h:
        * dom/Element.cpp:
        (WebCore::Element::dataset):
        * dom/Element.h:

2014-01-26  David Kilzer  <ddkilzer@apple.com>

        Part 2: Assertion failure in WebCore::PseudoElement::didRecalcStyle()
        <https://bugs.webkit.org/show_bug.cgi?id=126761>
        <rdar://problem/15793540>

        Reviewed by Simon Fraser.

        * bindings/objc/DOM.mm:
        (-[DOMElement image]):
        (-[DOMElement _imageTIFFRepresentation]):
        * platform/gtk/PasteboardGtk.cpp:
        (WebCore::Pasteboard::writeImage):
        * platform/win/PasteboardWin.cpp:
        (WebCore::Pasteboard::writeImage):
        (WebCore::getCachedImage):
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::image):
        - More places where toRenderImage() should be used instead of
          toImage().
        - Fixed last two places where static_cast<WebCore::RenderImage*>
          was being used instead of toRenderImage().

2014-01-26  Chris Fleizach  <cfleizach@apple.com>

        AX: Disable accessibility after every test run
        https://bugs.webkit.org/show_bug.cgi?id=127439

        Reviewed by Alexey Proskuryakov.

        If accessibility is disabled, we may still need to return the existing 
        AXObjectCache, so that objects can be cleaned up appropriately.

        A such we have to be prepared to handle a nullptr return value in more cases.

        * accessibility/AXObjectCache.h:
        (WebCore::AXObjectCache::disableAccessibility):
        * accessibility/AccessibilityNodeObject.cpp:
        (WebCore::AccessibilityNodeObject::childrenChanged):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::remoteSVGRootElement):
        * dom/Document.cpp:
        (WebCore::Document::existingAXObjectCache):

2014-01-26  Anders Carlsson  <andersca@apple.com>

        Move history item visit count handling to WebKit
        https://bugs.webkit.org/show_bug.cgi?id=127659

        Reviewed by Dan Bernstein.

        Remove all members dealing with visit handling - they're going back to WebKit.

        * WebCore.exp.in:
        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::HistoryItem):
        (WebCore::HistoryItem::reset):
        (WebCore::HistoryItem::decodeBackForwardTree):
        * history/HistoryItem.h:
        (WebCore::HistoryItem::create):

2014-01-26  Anders Carlsson  <andersca@apple.com>

        Move lastVisitWasHTTPNonGet out to WebHistoryItem
        https://bugs.webkit.org/show_bug.cgi?id=127657

        Reviewed by Dan Bernstein.

        Remove m_lastVisitWasHTTPNonGet, it's only used by WebKit.

        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::HistoryItem):
        (WebCore::HistoryItem::reset):
        * history/HistoryItem.h:

2014-01-26  Zalan Bujtas  <zalan@apple.com>

        Subpixel Layout: Align <input type="button", submit etc (PushButtonPart) top and bottom paddings with <button>
        https://bugs.webkit.org/show_bug.cgi?id=127640

        Reviewed by Simon Fraser.

        <button> sets padding-top: 2px and padding-bottom: 3px as default values (html.css),
        while <input type="button" (submit, etc) has the hardcoded values of 0, 0 and we center the text using the available space.
        This results in different baseline text position in normal cases. This adjustment puts the <input type='button'
        rendering back to the pre-subpixel layout state.

        * platform/mac/ThemeMac.mm:
        (WebCore::ThemeMac::controlPadding):

2014-01-26  Benjamin Poulain  <bpoulain@apple.com>

        Improve the bindings of NodeList's name accessor
        https://bugs.webkit.org/show_bug.cgi?id=127358

        Reviewed by Geoffrey Garen.

        When accessing an item of NodeList by name, the default bindings was
        going through the list of node twice:
        -First, getOwnProperty calls canGetItemsForName() to find if a property exists for
         the given name. This in turn used NodeList::namedItem() which is a slow operation.
        -Then, the value itself was queried through nameGetter(), calling NodeList::namedItem()
         a second time to find the same value.

        This patch kills the default name getter in favor of a getOwnPropertySlotDelegate() returning
        the value directly on the PropertySlot.

        Ad Hoc testing show about 15% speed up for simple cases.

        * bindings/js/JSNodeListCustom.cpp:
        (WebCore::JSNodeList::getOwnPropertySlotDelegate):
        * dom/NodeList.idl:

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

        Web Inspector: Move InspectorDebuggerAgent into JavaScriptCore
        https://bugs.webkit.org/show_bug.cgi?id=127629

        Rubber-stamped by Sam Weinig.

        Test: inspector-protocol/debugger/pause-on-assert.html

        * CMakeLists.txt:
        * ForwardingHeaders/inspector/agents/InspectorDebuggerAgent.h: Added.
        * GNUmakefile.list.am:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/InspectorAllInOne.cpp:
        - Remove InspectorDebuggerAgent.
        - Add WebDebuggerAgent (shared between Page and Worker).

        * inspector/WebDebuggerAgent.h: Added.
        (WebCore::WebDebuggerAgent::~WebDebuggerAgent):
        * inspector/WebDebuggerAgent.cpp: Added.
        (WebCore::WebDebuggerAgent::WebDebuggerAgent):
        (WebCore::WebDebuggerAgent::enable):
        (WebCore::WebDebuggerAgent::disable):
        Shared code for Page and Worker debugger agents.
        Instrumenting agents is a concept in WebCore only,
        and the Debugger agent is only in the instrumenting
        agents list when it is enabled and removed when disabled.

        * inspector/InstrumentingAgents.h:
        (WebCore::InstrumentingAgents::inspectorDebuggerAgent):
        (WebCore::InstrumentingAgents::setInspectorDebuggerAgent):
        * inspector/InspectorDOMDebuggerAgent.cpp:
        * inspector/InspectorDOMDebuggerAgent.h:
        Update namespace for debugger agent.

        * inspector/InspectorInstrumentation.cpp:
        (WebCore::isConsoleAssertMessage):
        (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
        DebuggerAgent in JavaScriptCore does not yet know about console
        types. So temporarily handle it here. We need to give JavaScriptCore
        some concept of Console messages and types.

        * inspector/PageDebuggerAgent.cpp:
        (WebCore::PageDebuggerAgent::PageDebuggerAgent):
        (WebCore::PageDebuggerAgent::enable):
        (WebCore::PageDebuggerAgent::disable):
        (WebCore::PageDebuggerAgent::sourceMapURLForScript):
        (WebCore::PageDebuggerAgent::injectedScriptForEval):
        * inspector/PageDebuggerAgent.h:
        * inspector/WorkerDebuggerAgent.cpp:
        (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
        (WebCore::WorkerDebuggerAgent::injectedScriptForEval):
        * inspector/WorkerDebuggerAgent.h:
        Modernize the Page and Worker debugger agents.

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InspectorController.h:
        * inspector/WorkerInspectorController.cpp:
        (WebCore::WorkerInspectorController::WorkerInspectorController):
        New constructors for the debugger agents.

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

        Remove dead code from the JSC profiler.

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

        Reviewed by Mark Lam.

        Passes existing tests in fast/profiler.

        * bindings/js/ScriptProfile.cpp:
        (WebCore::buildInspectorObjectFor): Remove visible.
        * inspector/ScriptProfileNode.idl: Ditto.
        * inspector/protocol/Profiler.json: Ditto.

2014-01-25  Sam Weinig  <sam@webkit.org>

        Remove unused support for DRAGGABLE_REGION
        https://bugs.webkit.org/show_bug.cgi?id=127642

        Reviewed by Simon Fraser.

        * Configurations/FeatureDefines.xcconfig:
        * DerivedSources.make:
        * WebCore.exp.in:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::ComputedStyleExtractor::propertyValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSPropertyNames.in:
        * css/CSSValueKeywords.in:
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::applyProperty):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        * dom/Document.h:
        * page/Chrome.cpp:
        * page/ChromeClient.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        (WebCore::FrameView::paintContents):
        * page/FrameView.h:
        * rendering/RenderElement.cpp:
        (WebCore::RenderElement::styleWillChange):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::addAnnotatedRegions):
        * rendering/RenderInline.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollTo):
        (WebCore::RenderLayer::setHasHorizontalScrollbar):
        (WebCore::RenderLayer::setHasVerticalScrollbar):
        (WebCore::RenderLayer::updateScrollbarsAfterLayout):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::setHasVerticalScrollbar):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::addAnnotatedRegions):
        * rendering/RenderObject.h:
        (WebCore::AnnotatedRegionValue::operator==):
        * rendering/style/RenderStyle.h:
        * rendering/style/RenderStyleConstants.h:
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        (WebCore::StyleRareNonInheritedData::operator==):
        * rendering/style/StyleRareNonInheritedData.h:

2014-01-25  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Clean up SVGPatternElement::collectPatternAttributes 
        https://bugs.webkit.org/show_bug.cgi?id=127612

        Reviewed by Andreas Kling.

        This patch refactors SVGPatternElement::collectPatternAttributes() by extracting
        the setPatternAttributes logic into a new function. This patch also changes the
        while loop to be easier to understand and similar to collectGradientAttributes.

        * svg/SVGPatternElement.cpp:
        (WebCore::setPatternAttributes):
        (WebCore::SVGPatternElement::collectPatternAttributes):

2014-01-25  Zalan Bujtas  <zalan@apple.com>

        Subpixel layout: RenderInline is not centered when child RenderTextControl's innerTextRenderer needs bias centering.
        https://bugs.webkit.org/show_bug.cgi?id=125659

        Reviewed by Andreas Kling

        layoutMod(logicalHeightDiff, 2) fails to bias round when subpixel layout is enabled. It sets
        the denominator value to 2, which returns incorrect modulo result.
        (subpixel off: 3px % 2 = 1 vs subpixel on: (3px * 64) -> 192 % 2 = 0)

        Covered by existing tests.

        * platform/LayoutUnit.h:
        * rendering/RenderSearchField.cpp:
        (WebCore::RenderSearchField::centerContainerIfNeeded):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::centerRenderer):
        (WebCore::RenderTextControlSingleLine::layout):
        * rendering/RenderTextControlSingleLine.h:

2014-01-25  Sam Weinig  <sam@webkit.org>

        Remove more unnecessary #if PLATFORM(IOS)s in ApplicationCacheStorage.cpp
        https://bugs.webkit.org/show_bug.cgi?id=127635

        Reviewed by Antti Koivisto.

        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::executeSQLCommand):
        (WebCore::ApplicationCacheStorage::verifySchemaVersion):
        (WebCore::ApplicationCacheStorage::executeStatement):
        (WebCore::ApplicationCacheStorage::store):
        (WebCore::ApplicationCacheStorage::ensureOriginRecord):
        (WebCore::ApplicationCacheStorage::loadCache):

2014-01-25  Sam Weinig  <sam@webkit.org>

        Remove some iOS #ifdefs by adding SQLiteDatabaseTracker to all the builds
        https://bugs.webkit.org/show_bug.cgi?id=127632

        Reviewed by Darin Adler.

        Move the SQLiteDatabaseTracker and client from platform/sql/ios to platform/sql,
        as there is nothing iOS specific about it. Then, un-#ifdef all its uses. For
        ports that don't setup a client, this has no change in behavior.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Modules/webdatabase/DatabaseBackendBase.cpp:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * loader/appcache/ApplicationCacheStorage.cpp:
        * platform/ScrollableArea.h:
        (WebCore::ScrollableArea::sendWillRevealEdgeEventsIfNeeded):
        * platform/sql/SQLiteDatabaseTracker.cpp: Copied from Source/WebCore/platform/sql/ios/SQLiteDatabaseTracker.cpp.
        * platform/sql/SQLiteDatabaseTracker.h: Copied from Source/WebCore/platform/sql/ios/SQLiteDatabaseTracker.h.
        * platform/sql/SQLiteDatabaseTrackerClient.h: Copied from Source/WebCore/platform/sql/ios/SQLiteDatabaseTrackerClient.h.
        * platform/sql/ios: Removed.
        * platform/sql/ios/SQLiteDatabaseTracker.cpp: Removed.
        * platform/sql/ios/SQLiteDatabaseTracker.h: Removed.
        * platform/sql/ios/SQLiteDatabaseTrackerClient.h: Removed.
        * storage/StorageAreaSync.cpp:
        (WebCore::StorageAreaSync::openDatabase):
        (WebCore::StorageAreaSync::sync):
        * storage/StorageTracker.cpp:

2014-01-25  Anders Carlsson  <andersca@apple.com>

        Remove an unused FrameLoaderClient function
        https://bugs.webkit.org/show_bug.cgi?id=127628

        Reviewed by Andreas Kling.

        All implementations of FrameLoaderClient::shouldStopLoadingForHistoryItem return true and this function
        was only used by Chromium so we can get rid of it.

        * loader/EmptyClients.h:
        * loader/FrameLoaderClient.h:
        * loader/HistoryController.cpp:
        (WebCore::HistoryController::shouldStopLoadingForHistoryItem):

2014-01-25  Darin Adler  <darin@apple.com>

        Call deprecatedCharacters instead of characters at more call sites
        https://bugs.webkit.org/show_bug.cgi?id=127631

        Reviewed by Sam Weinig.

        * bindings/objc/WebScriptObject.mm:
        (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
        * editing/CompositeEditCommand.cpp:
        (WebCore::containsOnlyWhitespace):
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::insertText):
        * editing/VisibleUnits.cpp:
        (WebCore::startOfParagraph):
        (WebCore::endOfParagraph):
        * html/parser/HTMLParserIdioms.cpp:
        (WebCore::stripLeadingAndTrailingHTMLSpaces):
        (WebCore::parseHTMLNonNegativeInteger):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters):
        * inspector/InspectorStyleTextEditor.cpp:
        (WebCore::InspectorStyleTextEditor::insertProperty):
        (WebCore::InspectorStyleTextEditor::internalReplaceProperty):
        * platform/Length.cpp:
        (WebCore::newCoordsArray):
        * platform/LinkHash.cpp:
        (WebCore::visitedLinkHash):
        * platform/graphics/Color.cpp:
        (WebCore::Color::parseHexColor):
        (WebCore::Color::Color):
        * platform/graphics/TextRun.h:
        (WebCore::TextRun::TextRun):
        * platform/text/TextEncodingRegistry.cpp:
        (WebCore::atomicCanonicalTextEncodingName):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::constructTextRun):
        * rendering/RenderCombineText.cpp:
        (WebCore::RenderCombineText::width):
        * svg/SVGFontElement.cpp:
        (WebCore::SVGFontElement::registerLigaturesInGlyphCache):
        * xml/XPathFunctions.cpp:
        (WebCore::XPath::FunId::evaluate):
        Use the new name.

2014-01-25  Darin Adler  <darin@apple.com>

        Get rid of ICU_UNICODE and WCHAR_UNICODE remnants
        https://bugs.webkit.org/show_bug.cgi?id=127623

        Reviewed by Anders Carlsson.

        * CMakeLists.txt: Removed SmartReplaceICU.cpp.
        * GNUmakefile.list.am: Ditto.
        * PlatformEfl.cmake: Ditto.
        * PlatformGTK.cmake: Ditto.

        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::modifyMovingRight): Ditto.
        (WebCore::FrameSelection::modifyMovingLeft): Ditto.

        * editing/SmartReplace.cpp: Moved code here from SmartReplaceICU,
        since we always support ICU now. Added some FIXME comments about
        bugs and mistakes I spotted in the code as I was moving it.
        * editing/SmartReplaceICU.cpp: Removed.

        * editing/TextIterator.cpp: Removed unneeded checks.
        * platform/ThreadGlobalData.cpp:
        (WebCore::ThreadGlobalData::ThreadGlobalData): Ditto.
        (WebCore::ThreadGlobalData::destroy): Ditto.
        * platform/ThreadGlobalData.h: Ditto.
        * platform/URL.cpp:
        (WebCore::appendEncodedHostname): Ditto.
        * platform/graphics/SurrogatePairAwareTextIterator.cpp: Ditto.
        Also removed unneeded "using namespace".
        * platform/text/TextCodecICU.cpp: Ditto.
        * platform/text/TextEncoding.cpp:
        (WebCore::TextEncoding::encode): Ditto.
        * platform/text/TextEncodingRegistry.cpp:
        (WebCore::extendTextCodecMaps): Ditto.

2014-01-25  Darin Adler  <darin@apple.com>

        Get rid of UnicodeRange.h/cpp, using ICU instead
        https://bugs.webkit.org/show_bug.cgi?id=127622

        Reviewed by Anders Carlsson.

        * CMakeLists.txt: Remove UnicodeRange.h/cpp.
        * GNUmakefile.list.am: Ditto.
        * WebCore.vcxproj/WebCore.vcxproj: Ditto.
        * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.

        * platform/graphics/win/FontCacheWin.cpp:
        (WebCore::FontCache::systemFallbackForCharacters): To check if a character has
        multiple code pages, use UCHAR_UNIFIED_IDEOGRAPH instead of cRangeSetCJK.
        * platform/graphics/wince/FontCacheWinCE.cpp:
        (WebCore::FontCache::systemFallbackForCharacters): Ditto. Also, to check if a
        character is in the Thai block, use UBLOCK_THAI.

        * platform/graphics/wince/FontPlatformData.cpp: Removed include of UnicodeRange.h.

        * platform/text/UnicodeRange.cpp: Removed.
        * platform/text/UnicodeRange.h: Removed.

        * rendering/svg/SVGTextLayoutEngineBaseline.cpp:
        (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphOrientationAngle): To figure
        out if a character is full width, use UCHAR_EAST_ASIAN_WIDTH, instead of hard-coding
        "not Latin or Arabic" as the rule.

2014-01-25  Tim Horton  <timothy_horton@apple.com>

        Remove an unnecessary platform #if in BitmapImage(CG)::checkForSolidColor()
        https://bugs.webkit.org/show_bug.cgi?id=127610

        Reviewed by Simon Fraser.

        * platform/graphics/cg/BitmapImageCG.cpp:
        (WebCore::BitmapImage::checkForSolidColor):
        Over time, the two sides of this #if !PLATFORM(IOS) converged. Remove the #if
        and merge the code. We explicitly use kCGBitmapByteOrder32Big to be correct everywhere.

2014-01-25  Tim Horton  <timothy_horton@apple.com>

        [cg] Look in the PNG dictionary for image duration information
        https://bugs.webkit.org/show_bug.cgi?id=127611
        <rdar://problem/15408643>

        Reviewed by Simon Fraser.

        We should look in the PNG properties dictionary for frame duration and loop count data.

        * platform/graphics/cg/ImageSourceCG.cpp:
        (WebCore::ImageSource::repetitionCount):
        Mush repetitionCount a bit more to make it easier to read (early returns, etc.)
        Also, look in the PNG properties dictionary for a loop count.

        (WebCore::ImageSource::frameDurationAtIndex):
        Look in the PNG properties dictionary for delay time.
        Get rid of WebCoreCGImagePropertyGIFUnclampedDelayTime; it hasn't
        been needed since Snow Leopard.

2014-01-25  Anders Carlsson  <andersca@apple.com>

        Remove atomicIncrement/atomicDecrement
        https://bugs.webkit.org/show_bug.cgi?id=127625

        Reviewed by Andreas Kling.

        Replace atomicIncrement/atomicDecrement with std::atomic.

        * Modules/webaudio/AudioContext.cpp:
        (WebCore::AudioContext::incrementActiveSourceCount):
        (WebCore::AudioContext::decrementActiveSourceCount):
        * Modules/webaudio/AudioContext.h:
        * Modules/webaudio/AudioNode.cpp:
        (WebCore::AudioNode::~AudioNode):
        (WebCore::AudioNode::ref):
        (WebCore::AudioNode::finishDeref):
        * Modules/webaudio/AudioNode.h:
        * Modules/webdatabase/OriginLock.h:

2014-01-25  Alex Christensen  <achristensen@webkit.org>

        Unreviewed build fix for WinCairo.

        * platform/network/curl/CurlDownload.h:
        Included wtf/Threading.h for ThreadIdentifier definition.

2014-01-25  Anders Carlsson  <andersca@apple.com>

        Modernize HashTable threading code
        https://bugs.webkit.org/show_bug.cgi?id=127621

        Reviewed by Darin Adler.

        Explicitly include headers that used to be brought in by HashTable.h

        * platform/DragData.h:
        Change a Windows-specific typedef to avoid having to include WindDef.h from a header.

        * platform/audio/AudioSession.h:
        * platform/network/cf/SocketStreamHandle.h:

2014-01-25  Zan Dobersek  <zdobersek@igalia.com>

        Move CSSGroupingRule, CSSStyleSheet, ElementRuleCollector to std::unique_ptr
        https://bugs.webkit.org/show_bug.cgi?id=127575

        Reviewed by Andreas Kling.

        Use std::unique_ptr and std::make_unique in place of OwnPtr and adoptPtr
        in the CSSGroupingRule, CSSStyleSheet and ElementRuleCollector classes.

        * css/CSSFunctionValue.cpp: Remove the unnecessary PassOwnPtr header inclusion.
        * css/CSSGroupingRule.cpp:
        (WebCore::CSSGroupingRule::cssRules):
        * css/CSSGroupingRule.h:
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::cssRules):
        * css/CSSStyleSheet.h:
        * css/ElementRuleCollector.cpp:
        (WebCore::ElementRuleCollector::addMatchedRule):
        * css/ElementRuleCollector.h:

2014-01-25  Zan Dobersek  <zdobersek@igalia.com>

        Move MediaQueryMatcher, SelectorFilter to std::unique_ptr
        https://bugs.webkit.org/show_bug.cgi?id=127574

        Reviewed by Andreas Kling.

        Replace the use of OwnPtr and adoptPtr with std::unique_ptr and std::make_unique
        in the MediaQueryMatcher and SelectorFilter classes.

        * css/MediaQueryMatcher.cpp:
        (WebCore::MediaQueryMatcher::prepareEvaluator):
        (WebCore::MediaQueryMatcher::evaluate):
        (WebCore::MediaQueryMatcher::addListener):
        (WebCore::MediaQueryMatcher::styleResolverChanged):
        * css/MediaQueryMatcher.h:
        * css/SelectorFilter.cpp:
        (WebCore::SelectorFilter::popParentStackFrame):
        (WebCore::SelectorFilter::setupParentStack):
        * css/SelectorFilter.h:

2014-01-25  Zan Dobersek  <zdobersek@igalia.com>

        Move PropertySetCSSStyleDeclaration, WebKitCSSKeyframesRule to std::unique_ptr
        https://bugs.webkit.org/show_bug.cgi?id=127572

        Reviewed by Andreas Kling.

        Switch the PropertySetCSSStyleDeclaration and WebKitCSSKeyframesRule classes from using
        OwnPtr and adoptPtr to using std::unique_ptr and std::make_unique.

        * css/PropertySetCSSStyleDeclaration.cpp:
        (WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM):
        (WebCore::StyleRuleCSSStyleDeclaration::didMutate):
        (WebCore::InlineCSSStyleDeclaration::didMutate):
        * css/PropertySetCSSStyleDeclaration.h:
        * css/WebKitCSSKeyframesRule.cpp:
        (WebCore::WebKitCSSKeyframesRule::cssRules):
        * css/WebKitCSSKeyframesRule.h:

2014-01-25  Zan Dobersek  <zdobersek@igalia.com>

        Move StyleProperties, StyleResolver to std::unique_ptr
        https://bugs.webkit.org/show_bug.cgi?id=127570

        Reviewed by Andreas Kling.

        Move the StyleProperties and StyleResolver classes from using OwnPtr and adoptPtr
        to using std::unique_ptr and std::make_unique.

        * css/StyleInvalidationAnalysis.h: Remove the PassOwnPtr.h header inclusion.
        * css/StyleProperties.cpp:
        (WebCore::MutableStyleProperties::ensureCSSStyleDeclaration):
        (WebCore::MutableStyleProperties::ensureInlineCSSStyleDeclaration):
        * css/StyleProperties.h:
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::StyleResolver):
        (WebCore::StyleResolver::addViewportDependentMediaQueryResult):
        * css/StyleResolver.h:
        * css/StyleScopeResolver.h:

2014-01-25  Zan Dobersek  <zdobersek@igalia.com>

        Move CSSFontFace, CSSFontSelector to std::unique_ptr
        https://bugs.webkit.org/show_bug.cgi?id=127569

        Reviewed by Andreas Kling.

        Move the CSSFontFace and CSSFontSelector classes from using OwnPtr, PassOwnPtr and adoptPtr
        to using std::unique_ptr, move semantics and std::make_unique.

        * css/CSSFontFace.cpp:
        (WebCore::CSSFontFace::addSource):
        * css/CSSFontFace.h:
        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::addFontFaceRule):
        (WebCore::CSSFontSelector::getFontFace):
        * css/CSSFontSelector.h:

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

        Web Inspector: Move InspectorRuntimeAgent into JavaScriptCore
        https://bugs.webkit.org/show_bug.cgi?id=127605

        Reviewed by Timothy Hatcher.

        Covered by existing tests. No change in functionality.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/InspectorAllInOne.cpp:
        Remove WebCore InspectorRuntimeAgent.

        * ForwardingHeaders/inspector/agents/InspectorRuntimeAgent.h: Added.
        Add JavaScriptCore InspectorRuntimeAgent.

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/WorkerInspectorController.h:
        * inspector/WorkerInspectorController.cpp:
        (WebCore::WorkerInspectorController::WorkerInspectorController):
        New constructors for the runtime agent.

        * inspector/PageRuntimeAgent.h:
        * inspector/PageRuntimeAgent.cpp:
        (WebCore::PageRuntimeAgent::PageRuntimeAgent):
        (WebCore::PageRuntimeAgent::enable):
        (WebCore::PageRuntimeAgent::disable):
        (WebCore::PageRuntimeAgent::didCreateMainWorldContext):
        (WebCore::PageRuntimeAgent::didCreateIsolatedContext):
        (WebCore::PageRuntimeAgent::globalVM):
        Modernize and implement globalVM.

        * inspector/WorkerRuntimeAgent.h:
        * inspector/WorkerRuntimeAgent.cpp:
        (WebCore::WorkerRuntimeAgent::WorkerRuntimeAgent):
        (WebCore::WorkerRuntimeAgent::injectedScriptForEval):
        (WebCore::WorkerRuntimeAgent::globalVM):
        Modernize and implement globalVM.

2014-01-25  Diego Pino Garcia  <dpino@igalia.com>

        [GTK] Add parameters from 'DOM Object Model Core' spec and 'DOM CSS' spec that can be NULL

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

        Reviewed by Xan Lopez.

        * bindings/scripts/CodeGeneratorGObject.pm:
        (ParamCanBeNull): Add new pairs (function, parameter) that can be NULL

2014-01-25  Anders Carlsson  <andersca@apple.com>

        Get rid of BackForwardController::isActive()
        https://bugs.webkit.org/show_bug.cgi?id=127604

        Reviewed by Sam Weinig.

        BackForwardController::isActive() used to mean "my page maintains a back forward
        list that has zero capacity". Move that logic into WebKit instead, namely the
        WebFrameLoaderClient::canCachePage function so we can simplify WebCore.

        * history/BackForwardClient.h:
        * history/BackForwardController.cpp:
        * history/BackForwardController.h:
        * history/BackForwardList.h:
        * history/PageCache.cpp:
        (WebCore::logCanCachePageDecision):
        (WebCore::PageCache::canCache):

2014-01-25  Antti Koivisto  <antti@apple.com>

        REGRESSION(r162744): wsj.com paints white
        https://bugs.webkit.org/show_bug.cgi?id=127619

        Reviewed by Sam Weinig.

        Test: fast/css/stylesheet-layout-with-pending-paint.html

        * dom/Document.cpp:
        (WebCore::Document::styleResolverChanged):
        
            Ensure we switch out from IgnoreLayoutWithPendingSheets state after stylesheet loads complete.

2014-01-24  Dan Bernstein  <mitz@apple.com>

        Reverted r162760. It broke more things.

        * WebCore.exp.in:

2014-01-24  Dan Bernstein  <mitz@apple.com>

        Try to fix some 32-bit builds.

        * WebCore.exp.in:

2014-01-24  Jinwoo Song  <jinwoo7.song@samsung.com>

        [EFL] Replace usage of DEFINE_STATIC_LOCAL with NeverDestroyed in WebCore/platform/efl
        https://bugs.webkit.org/show_bug.cgi?id=127607

        Reviewed by Anders Carlsson.

        * platform/efl/EflKeyboardUtilities.cpp:
        (WebCore::keyMap): Use NeverDestroyed instead of DEFINE_STATIC_LOCAL.
        (WebCore::windowsKeyMap): Ditto.
        (WebCore::keyDownCommandsMap): Ditto.
        (WebCore::keyPressCommandsMap): Ditto.
        * platform/efl/GamepadsEfl.cpp:
        (WebCore::sampleGamepads): Ditto.
        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::systemFont): Do not use unnecessary DEFINE_STATIC_LOCAL.

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

        Move JavaScriptCallFrame and ScriptDebugServer into JavaScriptCore for inspector
        https://bugs.webkit.org/show_bug.cgi?id=127543

        Reviewed by Geoffrey Garen.

        Covered by existing tests.

        * ForwardingHeaders/inspector/ScriptDebugServer.h: Added.
        * GNUmakefile.list.am:
        * UseJSC.cmake:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSBindingsAllInOne.cpp:
        * inspector/JavaScriptCallFrame.idl: Removed.
        Update builds now that ScriptDebugServer moved to JavaScriptCore.

        * bindings/js/PageScriptDebugServer.h:
        * bindings/js/PageScriptDebugServer.cpp:
        (WebCore::PageScriptDebugServer::runEventLoopWhilePaused):
        (WebCore::PageScriptDebugServer::isContentScript):
        (WebCore::PageScriptDebugServer::reportException):
        * bindings/js/WorkerScriptDebugServer.h:
        * bindings/js/WorkerScriptDebugServer.cpp:
        (WebCore::WorkerScriptDebugServer::runEventLoopWhilePaused):
        (WebCore::WorkerScriptDebugServer::reportException):
        Handle ScriptDebugServer functionality depending on WebCore knowledge.

        * inspector/InspectorDebuggerAgent.h:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::breakpointActionSound):
        Handle ScriptDebugServer functionality that depended on WebCore knowledge.
        This will eventually be written in a non-WebCore specific way.

        * inspector/InspectorRuntimeAgent.cpp:
        * inspector/InspectorRuntimeAgent.h:
        Update ScriptDebugServer type now that it is in namespace Inspector.

        * workers/WorkerGlobalScope.h:
        Make addConsoleMessage public again so the inspector can call it.

        * inspector/PageDebuggerAgent.cpp:
        (WebCore::PageDebuggerAgent::breakpointActionLog):
        * inspector/PageDebuggerAgent.h:
        * inspector/WorkerDebuggerAgent.cpp:
        (WebCore::WorkerDebuggerAgent::breakpointActionLog):
        * inspector/WorkerDebuggerAgent.h:
        Let each of these handle console logs in their own way. Both of these
        eventually go through the PageConsole and log through the InspectorConsoleAgent
        and ChromeClient.

2014-01-24  Brent Fulgham  <bfulgham@apple.com>

        Improve latching behavior for wheel events
        https://bugs.webkit.org/show_bug.cgi?id=127386
        <rdar://problem/12176858>

        Reviewed by Simon Fraser.

        * page/scrolling/ScrollingTree.cpp:
        (WebCore::ScrollingTree::ScrollingTree): Initialize new values used for tracking
        scroll latching state.
        (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously): Check for an existing
        latched node and stay in fast scrolling mode if possible.
        (WebCore::ScrollingTree::removeDestroyedNodes): Clear latched node if it's being removed.
        (WebCore::ScrollingTree::latchedNode): Added
        (WebCore::ScrollingTree::setLatchedNode): Added
        (WebCore::ScrollingTree::clearLatchedNode): Added
        * page/scrolling/ScrollingTree.h:
        (WebCore::ScrollingTree::hasLatchedNode): Added
        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
        (WebCore::shouldConsiderLatching): Added
        (WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent): Determine latching state
        based on wheel event state and position of mouse pointer in the document.

2014-01-24  Anders Carlsson  <andersca@apple.com>

        Another attempted build fix.

        Use wildcards in the the std::duration symbol.

        * WebCore.exp.in:

2014-01-24  Simon Fraser  <simon.fraser@apple.com>

        Start using the RemoteScrollingCoordinatorProxy on iOS
        https://bugs.webkit.org/show_bug.cgi?id=127598

        Reviewed by Tim Horton.

        Add a scrollPositionChangedViaDelegatedScrolling() function to
        ScrollingTree, allowing the ScrollingTree to be informed about
        external sources of scrolling.
        
        Also add a convenience getter for nodes, nodeForID().

        * WebCore.exp.in:
        * page/scrolling/ScrollingTree.cpp:
        (WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling):
        (WebCore::ScrollingTree::nodeForID):
        * page/scrolling/ScrollingTree.h:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers):
        To avoid assertions on iOS, bail from iOS WK1 fixed position code if
        we have a ScrollingCoordinator.
        (WebCore::RenderLayerCompositor::unregisterAllViewportConstrainedLayers):
        Ditto.

2014-01-24  Simon Fraser  <simon.fraser@apple.com>

        Add typesafe casts for ScrollingTreeNode classes
        https://bugs.webkit.org/show_bug.cgi?id=127597

        Reviewed by Tim Horton.

        Add a ScrollingNodeType member to ScrollingTreeNodes and
        use it for type-safe casting.

        * page/scrolling/ScrollingTreeNode.cpp:
        (WebCore::ScrollingTreeNode::ScrollingTreeNode):
        * page/scrolling/ScrollingTreeNode.h:
        (WebCore::ScrollingTreeNode::nodeType):
        (WebCore::ScrollingTreeNode::scrollingNodeID):
        * page/scrolling/ScrollingTreeScrollingNode.cpp:
        (WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
        * page/scrolling/ScrollingTreeScrollingNode.h:
        * page/scrolling/mac/ScrollingTreeFixedNode.h:
        * page/scrolling/mac/ScrollingTreeFixedNode.mm:
        (WebCore::ScrollingTreeFixedNode::ScrollingTreeFixedNode):
        * page/scrolling/mac/ScrollingTreeStickyNode.h:
        * page/scrolling/mac/ScrollingTreeStickyNode.mm:
        (WebCore::ScrollingTreeStickyNode::ScrollingTreeStickyNode):

2014-01-24  Anders Carlsson  <andersca@apple.com>

        Remove back/forward list related functions from Page
        https://bugs.webkit.org/show_bug.cgi?id=127596

        Reviewed by Andreas Kling.

        * WebCore.exp.in:
        * history/BackForwardController.cpp:
        (WebCore::BackForwardController::canGoBackOrForward):
        (WebCore::BackForwardController::goBackOrForward):
        (WebCore::BackForwardController::goBack):
        (WebCore::BackForwardController::goForward):
        (WebCore::BackForwardController::count):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::defaultBackspaceEventHandler):
        * page/Page.cpp:
        * page/Page.h:

2014-01-24  Antti Koivisto  <antti@apple.com>

        Update style asynchronously after style sheet load
        https://bugs.webkit.org/show_bug.cgi?id=127563

        Reviewed by Andreas Kling.
        
        Since we don't attach synchronously we don't need to recalc style synchronously either.

        * dom/Document.cpp:
        (WebCore::Document::didRemoveAllPendingStylesheet):

2014-01-24  Zalan Bujtas  <zalan@apple.com>

        Subpixel layout: Default style of input type=checkbox/radio (0.5ex) adds 1px extra margin on both left and right.
        https://bugs.webkit.org/show_bug.cgi?id=125728

        Reviewed by Simon Fraser.

        Using the 0.5ex value to set checkbox/radio left and right margins is a long-standing
        (khtml) behavior. While it indicates dynamic behavior, in order to get the margins changed,
        the widget's font size needs to be set, which is rather rare for such input types.
        It also results in odd layout, where the checkbox's indentation may seem to change randomly.

        '<input style="font-size: 30px;" type="checkbox">foo' changes neither the checkbox
        nor the text size, but it indents the line by about 15px.

        Other browsers (FF, Opera with Presto) disagree and they set static margins values.
        2px is the current default computed value.

        * css/html.css:
        (input[type="radio"], input[type="checkbox"]):

2014-01-24  Oliver Hunt  <oliver@apple.com>

        Put functions need to take a base object and a this value, and perform type checks on |this|
        https://bugs.webkit.org/show_bug.cgi?id=127594

        Reviewed by Geoffrey Garen.

        Update bindings generator to emit setters with correct type, and perform
        type checks on |this|, instead of the baseObject.

        Test: js/dom/dom-as-prototype-assignment-exception.html

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateImplementation):
        (GenerateHashTable):
        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
        * bindings/scripts/test/JS/JSTestException.cpp:
        * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
        (WebCore::setJSTestInterfaceImplementsStr2):
        (WebCore::setJSTestInterfaceImplementsStr3):
        (WebCore::setJSTestInterfaceImplementsNode):
        (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
        (WebCore::setJSTestInterfaceSupplementalStr2):
        (WebCore::setJSTestInterfaceSupplementalStr3):
        (WebCore::setJSTestInterfaceSupplementalNode):
        * bindings/scripts/test/JS/JSTestInterface.h:
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
        * bindings/scripts/test/JS/JSTestNode.cpp:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::setJSTestObjConstructorStaticStringAttr):
        (WebCore::setJSTestObjTestSubObjEnabledBySettingConstructor):
        (WebCore::setJSTestObjEnumAttr):
        (WebCore::setJSTestObjByteAttr):
        (WebCore::setJSTestObjOctetAttr):
        (WebCore::setJSTestObjShortAttr):
        (WebCore::setJSTestObjUnsignedShortAttr):
        (WebCore::setJSTestObjLongAttr):
        (WebCore::setJSTestObjLongLongAttr):
        (WebCore::setJSTestObjUnsignedLongLongAttr):
        (WebCore::setJSTestObjStringAttr):
        (WebCore::setJSTestObjTestObjAttr):
        (WebCore::setJSTestObjXMLObjAttr):
        (WebCore::setJSTestObjCreate):
        (WebCore::setJSTestObjReflectedStringAttr):
        (WebCore::setJSTestObjReflectedIntegralAttr):
        (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
        (WebCore::setJSTestObjReflectedBooleanAttr):
        (WebCore::setJSTestObjReflectedURLAttr):
        (WebCore::setJSTestObjReflectedCustomIntegralAttr):
        (WebCore::setJSTestObjReflectedCustomBooleanAttr):
        (WebCore::setJSTestObjReflectedCustomURLAttr):
        (WebCore::setJSTestObjTypedArrayAttr):
        (WebCore::setJSTestObjAttrWithGetterException):
        (WebCore::setJSTestObjAttrWithSetterException):
        (WebCore::setJSTestObjStringAttrWithGetterException):
        (WebCore::setJSTestObjStringAttrWithSetterException):
        (WebCore::setJSTestObjCustomAttr):
        (WebCore::setJSTestObjWithScriptStateAttribute):
        (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
        (WebCore::setJSTestObjWithScriptStateAttributeRaises):
        (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
        (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
        (WebCore::setJSTestObjConditionalAttr1):
        (WebCore::setJSTestObjConditionalAttr2):
        (WebCore::setJSTestObjConditionalAttr3):
        (WebCore::setJSTestObjConditionalAttr4Constructor):
        (WebCore::setJSTestObjConditionalAttr5Constructor):
        (WebCore::setJSTestObjConditionalAttr6Constructor):
        (WebCore::setJSTestObjAnyAttribute):
        (WebCore::setJSTestObjMutablePoint):
        (WebCore::setJSTestObjImmutablePoint):
        (WebCore::setJSTestObjStrawberry):
        (WebCore::setJSTestObjStrictFloat):
        (WebCore::setJSTestObjId):
        (WebCore::setJSTestObjReplaceableAttribute):
        (WebCore::setJSTestObjNullableLongSettableAttribute):
        (WebCore::setJSTestObjNullableStringValue):
        (WebCore::setJSTestObjAttributeWithReservedEnumType):
        * bindings/scripts/test/JS/JSTestObj.h:
        * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore::setJSTestSerializedScriptValueInterfaceValue):
        (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
        (WebCore::setJSTestTypedefsUnsignedLongLongAttr):
        (WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
        (WebCore::setJSTestTypedefsAttrWithGetterException):
        (WebCore::setJSTestTypedefsAttrWithSetterException):
        (WebCore::setJSTestTypedefsStringAttrWithGetterException):
        (WebCore::setJSTestTypedefsStringAttrWithSetterException):
        * bindings/scripts/test/JS/JSTestTypedefs.h:
        * bindings/scripts/test/JS/JSattribute.cpp:
        * bindings/scripts/test/JS/JSreadonly.cpp:

2014-01-24  Oliver Hunt  <oliver@apple.com>

        Generic JSObject::put should handle static properties in the classinfo hierarchy
        https://bugs.webkit.org/show_bug.cgi?id=127523

        Reviewed by Geoffrey Garen.

        Update the bindings generator to emit the flag indicating the presence
        of setters, and remove the many (now unnecessary) put overrides.
        Tested with run-jsc-benchmarks and shows neutral performance. A few of the
        micro benchmarks actually get a significant performance increase which
        is nice.

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::put):
            We still need a custom call to lookupPut here in order
            to get the magic security semantics of the window object.
        * bindings/scripts/CodeGeneratorJS.pm:
        (hashTableAccessor):
        (prototypeHashTableAccessor):
        (constructorHashTableAccessor):
        (GenerateImplementation):
        (GenerateHashTable):
        (GenerateConstructorHelperMethods):

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::put):
        * bindings/scripts/CodeGeneratorJS.pm:
        (hashTableAccessor):
        (prototypeHashTableAccessor):
        (constructorHashTableAccessor):
        (InstanceOverridesPutImplementation):
        (InstanceOverridesPutDeclaration):
        (GenerateHeader):
        (GenerateImplementation):
        (GenerateHashTable):
        (GenerateConstructorHelperMethods):
        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
        * bindings/scripts/test/JS/JSTestException.cpp:
        * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::JSTestInterface::put):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
        * bindings/scripts/test/JS/JSTestNode.cpp:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        * bindings/scripts/test/JS/JSTestObj.h:
        * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
        * bindings/scripts/test/JS/JSTestTypedefs.h:
        * bindings/scripts/test/JS/JSattribute.cpp:
        * bindings/scripts/test/JS/JSreadonly.cpp:
        * html/canvas/WebGLRenderingContext.idl:
          Remove bogus attribute, as it has never been in the spec and should not
          have been added.

2014-01-24  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r162713.
        http://trac.webkit.org/changeset/162713
        https://bugs.webkit.org/show_bug.cgi?id=127593

        broke media/network-no-source-const-shadow (Requested by
        thorton on #webkit).

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::put):
        * bindings/scripts/CodeGeneratorJS.pm:
        (hashTableAccessor):
        (prototypeHashTableAccessor):
        (constructorHashTableAccessor):
        (GenerateHeader):
        (GenerateImplementation):
        (GenerateHashTable):
        (GenerateConstructorHelperMethods):
        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
        * bindings/scripts/test/JS/JSTestException.cpp:
        * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::JSTestInterface::put):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
        * bindings/scripts/test/JS/JSTestNode.cpp:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::JSTestObj::put):
        * bindings/scripts/test/JS/JSTestObj.h:
        * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore::JSTestSerializedScriptValueInterface::put):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
        (WebCore::JSTestTypedefs::put):
        * bindings/scripts/test/JS/JSTestTypedefs.h:
        * bindings/scripts/test/JS/JSattribute.cpp:
        * bindings/scripts/test/JS/JSreadonly.cpp:
        * html/canvas/WebGLRenderingContext.idl:

2014-01-24  Zalan Bujtas  <zalan@apple.com>

        Replace LayoutUnit() calls to a more descriptive LayoutUnit::fromPixel(int).
        https://bugs.webkit.org/show_bug.cgi?id=127580

        Reviewed by Simon Fraser.

        LayoutUnit(1) statement is ambiguous. While it is intended to set one (CSS) pixel, it
        could be interpreted as 1 layout unit (1/64th of a CSS pixel atm).

        No change in behavior.

        * inspector/InspectorOverlay.cpp:
        (WebCore::buildObjectForRegionHighlight):
        * rendering/FloatingObjects.cpp:
        (WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatTypeValue>::heightRemaining):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutShapeInsideInfo):
        * rendering/RenderBlockFlow.cpp:
        (WebCore::RenderBlockFlow::collapseMargins):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::mainAxisContentExtent):
        (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
        (WebCore::RenderFlexibleBox::alignChildren):
        * rendering/RenderMultiColumnFlowThread.cpp:
        (WebCore::RenderMultiColumnFlowThread::addForcedRegionBreak):
        * rendering/RenderMultiColumnSet.cpp:
        (WebCore::RenderMultiColumnSet::heightAdjustedForSetOffset):
        (WebCore::RenderMultiColumnSet::calculateBalancedHeight):

2014-01-24  Simon Fraser  <simon.fraser@apple.com>

        Prepare scrolling tree to handle > 1 scrolling node
        https://bugs.webkit.org/show_bug.cgi?id=127590

        Reviewed by Tim Horton.

        Clean up the code path called after the ScrollingTree has scrolled a node,
        to prepare for multiple scrolling nodes.
        
        Change "updateMainFrameScrollPosition" terminology to "updateScrollPositionAfterAsyncScroll",
        and pass along the ScrollingNodeID that scrolled.
        
        Move updateMainFrameScrollPosition-related code from ScrollingCoordinator to
        AsyncScrollingCoordinator, since this sync-up is only necessary when doing
        async scrolling.

        * WebCore.exp.in:
        * page/scrolling/AsyncScrollingCoordinator.cpp:
        (WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator):
        (WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
        (WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll):
        (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScrollTimerFired):
        (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
        * page/scrolling/AsyncScrollingCoordinator.h:
        (WebCore::AsyncScrollingCoordinator::ScheduledScrollUpdate::ScheduledScrollUpdate):
        (WebCore::AsyncScrollingCoordinator::ScheduledScrollUpdate::matchesUpdateType):
        Package up the data related to a scheduled scroll into a ScheduledScrollUpdate struct,
        for easier comparison and cleaner code.
        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::ScrollingCoordinator):
        * page/scrolling/ScrollingCoordinator.h:
        * page/scrolling/ScrollingTree.h:
        * page/scrolling/ThreadedScrollingTree.cpp:
        (WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
        * page/scrolling/ThreadedScrollingTree.h:
        * page/scrolling/ios/ScrollingTreeIOS.cpp:
        (WebCore::ScrollingTreeIOS::scrollingTreeNodeDidScroll):
        * page/scrolling/ios/ScrollingTreeIOS.h:
        * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
        (WebCore::ScrollingTreeScrollingNodeIOS::setScrollPositionWithoutContentEdgeConstraints):
        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
        (WebCore::ScrollingTreeScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints):

2014-01-24  Mark Lam  <mark.lam@apple.com>

        ASSERT(!m_markedSpace.m_currentDelayedReleaseScope) reloading page in inspector.
        <https://webkit.org/b/127582>

        Reviewed by Mark Hahnenberg.

        No new tests.

        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::attachDebugger):
        * bindings/js/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::detachDebugger):
        - Adding reasons for detaching a globalObject from the debugger.

2014-01-24  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Make PaintInfo layout unit aware.
        https://bugs.webkit.org/show_bug.cgi?id=127562

        Reviewed by Simon Fraser.

        Replace PaintInfo's IntRect with LayoutRect to be able to render to
        subpixel positions.

        No functional changes.

        * platform/graphics/LayoutRect.h:
        * rendering/PaintInfo.h:
        (WebCore::PaintInfo::PaintInfo):
        (WebCore::PaintInfo::applyTransform):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paint):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        * rendering/RenderLayer.cpp:
        (WebCore::cornerRect):
        (WebCore::RenderLayer::scrollCornerRect):
        (WebCore::resizerCornerRect):
        (WebCore::RenderLayer::scrollCornerAndResizerRect):
        (WebCore::RenderLayer::horizontalScrollbarStart):
        (WebCore::RenderLayer::drawPlatformResizerImage):
        (WebCore::RenderLayer::paintResizer):
        (WebCore::RenderLayer::hitTestOverflowControls):
        * rendering/RenderLayer.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintContents):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::paintScrollbar):
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paintContents):
        * rendering/mathml/RenderMathMLOperator.cpp:
        (WebCore::RenderMathMLOperator::fillWithExtensionGlyph):
        * rendering/svg/SVGRenderingContext.h:

2014-01-24  Simon Fraser  <simon.fraser@apple.com>

        #ifdef out handleWheelEventPhase for iOS
        https://bugs.webkit.org/show_bug.cgi?id=127583

        Reviewed by Tim Horton.

        handleWheelEventPhase() doesn't make any sense for iOS, which
        has no wheel events.

        * page/scrolling/ScrollingTree.h:
        * page/scrolling/ThreadedScrollingTree.cpp:
        * page/scrolling/ThreadedScrollingTree.h:
        * page/scrolling/ios/ScrollingTreeIOS.h:

2014-01-24  David Hyatt  <hyatt@apple.com>

        [New Multicolumn] Don't destroy all the renderers when a multi-column block stops being multi-column (and vice versa)
        https://bugs.webkit.org/show_bug.cgi?id=127584

        Make the logic for when you need columns and when you don't shared between the
        old multi-column code and the new multi-column code. Make sure that the flow thread
        and sets get created lazily and destroyed on-demand when whether or not we should
        have multiple columns changes.

        Reviewed by Beth Dakin.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::updateLogicalWidthAndColumnWidth):
        No longer virtual. The new column code now uses this function too.

        (WebCore::RenderBlock::availableLogicalWidth):
        Renamed desiredColumnWidth() to computedColumnWidth().

        (WebCore::RenderBlock::computeColumnCountAndWidth):
        Renamed calcColumnWidth to computeColumnCountAndWidth.

        (WebCore::RenderBlock::setComputedColumnCountAndWidth):
        Rename setDesiredColumnCountAndWidth to computed.

        (WebCore::RenderBlock::computedColumnWidth):
        (WebCore::RenderBlock::computedColumnCount):
        Renamed desiredColumnWidth/Count to computedColumnWidth/Count and made them virtual.

        (WebCore::RenderBlock::updateFirstLetterStyle):
        desired -> computed rename.

        * rendering/RenderBlock.h:
        Renames and made a few functions virtual so that RenderBlockFlow can override.

        * rendering/RenderBlockFlow.cpp:
        (WebCore::RenderBlockFlow::RenderBlockFlow):
        Don't create the flow thread at construction time any longer.

        (WebCore::RenderBlockFlow::createMultiColumnFlowThread):
        (WebCore::RenderBlockFlow::destroyMultiColumnFlowThread):
        The methods to create and destroy flow threads. These work at any time now and will
        fix up the render tree accordingly.

        (WebCore::RenderBlockFlow::setComputedColumnCountAndWidth):
        Virtual override that creates/destroys the new multi-column information as needed.

        (WebCore::RenderBlockFlow::computedColumnWidth):
        (WebCore::RenderBlockFlow::computedColumnCount):
        Overrides to return the cached column width and count from the flow thread.

        * rendering/RenderBlockFlow.h:
        Has overrides of the virtual functions needed to turn multi-column state on/off and
        to hand back computed count/width information.

        * rendering/RenderMultiColumnFlowThread.cpp:
        * rendering/RenderMultiColumnFlowThread.h:
        Removed the algorithm to compute column count and width, since this has been combined
        with the old multi-column layout code.

        * rendering/RenderView.cpp:
        (WebCore::RenderView::computeColumnCountAndWidth):
        Renamed desired -> computed.

        * rendering/RenderView.h:
        Renamed desired -> computed.

        * style/StyleResolveTree.cpp:
        (WebCore::Style::determineChange):
        (WebCore::Style::resolveLocal):
        (WebCore::Style::resolveTree):
        * style/StyleResolveTree.h:
        The Settings argument is no longer needed now that we don't destroy and re-create
        the renderer for a block flow if it stops being (or becomes) multi-column.

2014-01-24  Anders Carlsson  <andersca@apple.com>

        Fix 32-bit build.

        * WebCore.exp.in:

2014-01-24  Brent Fulgham  <bfulgham@apple.com>

        [Win] Convert some NMake files to MSBuild project files
        https://bugs.webkit.org/show_bug.cgi?id=127579

        Reviewed by Tim Horton.

        * WebCore.vcxproj/WebCore.make: Removed.
        * WebCore.vcxproj/WebCore.proj: Added.

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

        fast/profiler tests ASSERTing after moving recompileAllJSFunctions off a timer
        https://bugs.webkit.org/show_bug.cgi?id=127566

        Reviewed by Oliver Hunt.

        Covered by existing tests.

        * testing/Internals.cpp:
        (WebCore::Internals::closeDummyInspectorFrontend):
        Now that we don't have to fake that this is a page being destroyed to
        avoid recompilation. Use the InspectorDestroyed reason.

2014-01-24  Anders Carlsson  <andersca@apple.com>

        Get rid of monotonicallyIncreasingTimeMS and start using std::chrono instead
        https://bugs.webkit.org/show_bug.cgi?id=127571

        Reviewed by Antti Koivisto.

        WebCore.exp.in:
        Update symbols.

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::implicitClose):
        (WebCore::Document::setParsing):
        (WebCore::Document::isLayoutTimerActive):
        (WebCore::Document::minimumLayoutDelay):
        (WebCore::Document::elapsedTime):
        (WebCore::Document::write):
        (WebCore::Document::styleResolverChanged):
        * dom/Document.h:
        Use std::chrono instead of doubles for the times and durations.

        * fileapi/FileReader.cpp:
        (WebCore::FileReader::FileReader):
        (WebCore::FileReader::didReceiveData):
        * fileapi/FileReader.h:
        Switch over to std::chrono.

        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        (WebCore::FrameView::layoutTimerFired):
        (WebCore::FrameView::scheduleRelayout):
        (WebCore::FrameView::scheduleRelayoutOfSubtree):
        Update for Document::elapsedTime() changes.

        * page/Settings.cpp:
        (WebCore::Settings::setLayoutInterval):
        * page/Settings.h:
        (WebCore::Settings::layoutInterval):
        Change layoutInterval to be std::chrono::milliseconds instead of int.

        * platform/Timer.h:
        (WebCore::TimerBase::startOneShot):
        Add an overload that takes std::chrono::milliseconds.

2014-01-24  Oliver Hunt  <oliver@apple.com>

        Generic JSObject::put should handle static properties in the classinfo hierarchy
        https://bugs.webkit.org/show_bug.cgi?id=127523

        Reviewed by Geoffrey Garen.

        Update the bindings generator to emit the flag indicating the presence
        of setters, and remove the many (now unnecessary) put overrides.
        Tested with run-jsc-benchmarks and shows neutral performance. A few of the
        micro benchmarks actually get a significant performance increase which
        is nice.

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::put):
            We still need a custom call to lookupPut here in order
            to get the magic security semantics of the window object.
        * bindings/scripts/CodeGeneratorJS.pm:
        (hashTableAccessor):
        (prototypeHashTableAccessor):
        (constructorHashTableAccessor):
        (GenerateImplementation):
        (GenerateHashTable):
        (GenerateConstructorHelperMethods):

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::put):
        * bindings/scripts/CodeGeneratorJS.pm:
        (hashTableAccessor):
        (prototypeHashTableAccessor):
        (constructorHashTableAccessor):
        (InstanceOverridesPutImplementation):
        (InstanceOverridesPutDeclaration):
        (GenerateHeader):
        (GenerateImplementation):
        (GenerateHashTable):
        (GenerateConstructorHelperMethods):
        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
        * bindings/scripts/test/JS/JSTestException.cpp:
        * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::JSTestInterface::put):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
        * bindings/scripts/test/JS/JSTestNode.cpp:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        * bindings/scripts/test/JS/JSTestObj.h:
        * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
        * bindings/scripts/test/JS/JSTestTypedefs.h:
        * bindings/scripts/test/JS/JSattribute.cpp:
        * bindings/scripts/test/JS/JSreadonly.cpp:
        * html/canvas/WebGLRenderingContext.idl:
          Remove bogus attribute, as it has never been in the spec and should not
          have been added.

2014-01-24  David Hyatt  <hyatt@apple.com>

        [New Multicolumn] Eliminate RenderMultiColumnBlock
        https://bugs.webkit.org/show_bug.cgi?id=127565

        Reviewed by Antti Koivisto.

        This patch eliminates RenderMultiColumnBlock and folds all of its remaining code
        back into RenderBlockFlow. This allows all block flows to support multi-column
        layout, including table cells, list items, and the RenderView itself.

        * CMakeLists.txt:
        * WebCore.order:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        Remove RenderMultiColumnBlock from the makefiles.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::adjustIntrinsicLogicalWidthsForColumns):
        Tweak the comment, since it was no longer accurate.

        * rendering/RenderBlock.h:
        Move some functions down into RenderBlockFlow.

        * rendering/RenderBlockFlow.cpp:
        (WebCore::RenderBlockFlow::RenderBlockFlow):
        (WebCore::RenderBlockFlow::createMultiColumnFlowThreadIfNeeded):
        (WebCore::RenderBlockFlow::styleDidChange):
        (WebCore::RenderBlockFlow::relayoutForPagination):
        (WebCore::RenderBlockFlow::layoutSpecialExcludedChild):
        (WebCore::RenderBlockFlow::updateLogicalWidthAndColumnWidth):
        (WebCore::RenderBlockFlow::addChild):
        (WebCore::RenderBlockFlow::checkForPaginationLogicalHeightChange):
         * rendering/RenderBlockFlow.h:
         Move a bunch of functions from RenderMultiColumnBlock up into RenderBlockFlow.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::isUnsplittableForPagination):
        Calls isMultiColumnBlockFlow() now instead of testing for a specific renderer type.

        * rendering/RenderElement.cpp:
        (WebCore::RenderElement::createFor):
        Remove the multicolumn block creation code, since we always make a block flow now.

        * rendering/RenderMultiColumnBlock.cpp: Removed.
        * rendering/RenderMultiColumnBlock.h: Removed.
        Nuke the files.

        * rendering/RenderMultiColumnFlowThread.cpp:
        (WebCore::RenderMultiColumnFlowThread::initialLogicalWidth):
        (WebCore::RenderMultiColumnFlowThread::autoGenerateRegionsToBlockOffset):
        * rendering/RenderMultiColumnSet.cpp:
        (WebCore::RenderMultiColumnSet::heightAdjustedForSetOffset):
        (WebCore::RenderMultiColumnSet::addForcedBreak):
        (WebCore::RenderMultiColumnSet::recalculateBalancedHeight):
        (WebCore::RenderMultiColumnSet::updateLogicalWidth):
        (WebCore::RenderMultiColumnSet::prepareForLayout):
        (WebCore::RenderMultiColumnSet::columnGap):
        (WebCore::RenderMultiColumnSet::paintColumnRules):
        Change all of the functions in the multicolumnset and multicolumnflowthread classes
        to cast the parent to a RenderBlockFlow now instead of a RenderMultiColumnBlock.
        Change the code to call through to multiColumnFlowThread() for column-specific information
        for that parent block.

        * rendering/RenderObject.h:
        (WebCore::RenderObject::isMultiColumnBlockFlow):
        Remove isRenderMultiColumnBlock() and replace with isMultiColumnBlockFlow().

        * rendering/RenderingAllInOne.cpp:
        Remove RenderMultiColumnBlock include.
        
2014-01-24  Brady Eidson  <beidson@apple.com>

        IDB: support createIndex/deleteIndex messaging
        https://bugs.webkit.org/show_bug.cgi?id=127546

        Reviewed by Tim Horton.

        * WebCore.exp.in: Export a needed CrossThreadCopier

2014-01-24  Daniel Bates  <dabates@apple.com>

        Fix the Windows build after <http://trac.webkit.org/changeset/162704>
        (https://bugs.webkit.org/show_bug.cgi?id=127293)

        Only include TargetConditionals.h when building on a Darwin-based OS.
        Also, check that TARGET_OS_IPHONE is defined before referencing its value
        since it will be undefined when building on Windows.

        * bindings/objc/PublicDOMInterfaces.h:

2014-01-24  Daniel Bates  <dabates@apple.com>

        Bindings generation tests hit an error trying to include wtf/Platform.h after r161638
        https://bugs.webkit.org/show_bug.cgi?id=127293

        Reviewed by Alexey Proskuryakov.

        Include TargetConditionals.h instead of wtf/Platform.h as the latter isn't available
        in the public SDK.

        As a side effect of this change, replace usage of PLATFORM(IOS) with TARGET_OS_IPHONE.

        * bindings/objc/PublicDOMInterfaces.h:

2014-01-21  David Hyatt  <hyatt@apple.com>

        [New Multicolumn] Table cells and list items need to work as multicolumn blocks.
        https://bugs.webkit.org/show_bug.cgi?id=127365
        
        This patch is a first step towards eliminating RenderMultiColumnBlock and moving
        all its functionality into RenderBlockFlow. Doing so will allow table cells, list
        items and the RenderView to use the new multi-column layout.
        
        Reviewed by Simon Fraser.

        * rendering/RenderBlockFlow.cpp:
        (WebCore::RenderBlockFlow::setMultiColumnFlowThread):
        * rendering/RenderBlockFlow.h:
        (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
        (WebCore::RenderBlockFlow::multiColumnFlowThread):
        Add the flow thread pointer to the multi-column flow thread to RenderBlockFlow's
        rare data. This lets us use only one pointer in the rare data to point to an object
        that can hold all of the rest of the multi-column info.

        * rendering/RenderMultiColumnBlock.cpp:
        (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
        Move the construction of the flow thread to the constructor. This ensures we
        never have a null flow thread and lets us avoid having to null check it for
        empty multi-column blocks.

        (WebCore::RenderMultiColumnBlock::columnHeightAvailable):
        (WebCore::RenderMultiColumnBlock::columnWidth):
        (WebCore::RenderMultiColumnBlock::columnCount):
        (WebCore::RenderMultiColumnBlock::updateLogicalWidthAndColumnWidth):
        The above functions now call through to the multi-column flow thread for results.

        (WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange):
         Set the column height available on the flow thread.

        (WebCore::RenderMultiColumnBlock::relayoutForPagination):
        The balancing pass and guard is in the multi-column flow thread now.

        (WebCore::RenderMultiColumnBlock::addChild):
        Don't have to create the flow thread here any longer, since we do it up front
        in the constructor of RenderMultiColumnBlock.

        (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
        Don't need the null check of the flow thread any more.

        * rendering/RenderMultiColumnBlock.h:
        Change the inlined functions to not be inlined, since they need to call
        RenderMultiColumnFlowThread functions now.

        * rendering/RenderMultiColumnFlowThread.cpp:
        (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
        Init the new member variables we moved here from RenderMultiColumnBlock.

        (WebCore::RenderMultiColumnFlowThread::computeColumnCountAndWidth):
        Moved from RenderMultiColumnBlock.

        * rendering/RenderMultiColumnFlowThread.h:
        Add public getters/setters to the member variables so that RenderMultiColumnBlock can
        still see them. Move the member variables here from RenderMultiColumnBlock.

        * rendering/RenderMultiColumnSet.cpp:
        (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
        (WebCore::RenderMultiColumnSet::prepareForLayout):
        (WebCore::RenderMultiColumnSet::columnCount):
        Call through to the flow thread instead.

2014-01-24  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed GTK build fix after r162663.

        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::ScrollView::visibleContentRectInternal): Renamed from visibleContentRect.

2014-01-24  Zan Dobersek  <zdobersek@igalia.com>

        Move HistoryItem to std::unique_ptr
        https://bugs.webkit.org/show_bug.cgi?id=127275

        Reviewed by Darin Adler.

        Replace the uses of OwnPtr and PassOwnPtr in the HistoryItem class with std::unique_ptr.

        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::HistoryItem):
        (WebCore::HistoryItem::reset):
        (WebCore::HistoryItem::addRedirectURL):
        (WebCore::HistoryItem::setRedirectURLs):
        * history/HistoryItem.h:
        * history/mac/HistoryItemMac.mm:
        (WebCore::HistoryItem::setTransientProperty):
        WebCore.exp.in: Update the symbol.

2014-01-23  Morten Stenshorne  <mstensho@opera.com>

        Region based multicol: unresolvable percent height results in 1px tall multicol
        https://bugs.webkit.org/show_bug.cgi?id=122826

        Reviewed by David Hyatt.

        If a box has a percentage height, but the computed height of its
        containing block is auto, the computed height of the box also becomes
        auto. computeContentLogicalHeight() returns -1 if the height isn't
        resolvable, and we need to make sure that such a value doesn't
        constrain the height of the multicol container.

        Tests: fast/multicol/newmulticol/unresolvable-percent-height-2.html
               fast/multicol/newmulticol/unresolvable-percent-height.html
               fast/multicol/newmulticol/unresolvable-percent-max-height-2.html
               fast/multicol/newmulticol/unresolvable-percent-max-height.html

        * rendering/RenderMultiColumnSet.cpp:
        (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
        (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
        (WebCore::RenderMultiColumnSet::recalculateBalancedHeight):
        (WebCore::RenderMultiColumnSet::prepareForLayout):

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

        Move ContentSearchUtils, ScriptBreakpoint, and ScriptDebugListener into JavaScriptCore for inspector
        https://bugs.webkit.org/show_bug.cgi?id=127537

        Reviewed by Timothy Hatcher.

          - Rename ContentSearchUtils => ContentSearchUtilities and move to JavaScriptCore.
          - Move ScriptBreakpoint and ScriptDebugListener to JavaScriptCore.
          - Move them all to namespace Inspector.
          - Update build files and users to the new names.

        No change in functionality, just moving code.

        * CMakeLists.txt:
        * ForwardingHeaders/inspector/ContentSearchUtilities.h: Added.
        * ForwardingHeaders/inspector/ScriptBreakpoint.h: Added.
        * ForwardingHeaders/inspector/ScriptDebugListener.h: Added.
        * GNUmakefile.list.am:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/PageScriptDebugServer.cpp:
        * bindings/js/PageScriptDebugServer.h:
        * bindings/js/ScriptDebugServer.cpp:
        * bindings/js/ScriptDebugServer.h:
        * bindings/js/WorkerScriptDebugServer.cpp:
        * bindings/js/WorkerScriptDebugServer.h:
        * inspector/InspectorAllInOne.cpp:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::searchInContent):
        (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
        (WebCore::InspectorDebuggerAgent::didParseSource):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::sourceMapURLForResource):
        (WebCore::InspectorPageAgent::searchInResource):
        (WebCore::InspectorPageAgent::searchInResources):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::buildSourceRangeObject):
        (WebCore::InspectorStyleSheet::lineEndings):
        (WebCore::InspectorStyleSheetForInlineStyle::lineEndings):

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

        Move RegularExpression into JavaScriptCore for inspector
        https://bugs.webkit.org/show_bug.cgi?id=127526

        Reviewed by Geoffrey Garen.

        Update as appropriate for the moved file and namespace
        change for class RegularExpression.

        * CMakeLists.txt:
        * ForwardingHeaders/yarr/RegularExpression.h: Added.
        * GNUmakefile.list.am:
        * WebCore.exp.in:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DOMImplementation.h:
        * html/BaseCheckableInputType.cpp:
        * html/BaseTextInputType.cpp:
        (WebCore::BaseTextInputType::patternMismatch):
        * html/EmailInputType.cpp:
        (WebCore::isValidEmailAddress):
        * html/InputType.cpp:
        * inspector/ContentSearchUtils.cpp:
        (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
        (WebCore::ContentSearchUtils::createSearchRegex):
        (WebCore::ContentSearchUtils::countRegularExpressionMatches):
        (WebCore::ContentSearchUtils::searchInTextByLines):
        * inspector/ContentSearchUtils.h:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::matches):
        (WebCore::InspectorDebuggerAgent::breakpointActionLog):
        (WebCore::InspectorDebuggerAgent::breakpointActionSound):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::searchInResources):
        * inspector/InspectorPageAgent.h:
        * inspector/InspectorRuntimeAgent.cpp:
        * inspector/InspectorRuntimeAgent.h:
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::selectorsFromSource):
        * inspector/WorkerDebuggerAgent.cpp:
        * page/Frame.cpp:
        (WebCore::createRegExpForLabels):
        (WebCore::Frame::searchForLabelsAboveCell):
        (WebCore::Frame::searchForLabelsBeforeElement):
        (WebCore::matchLabelsAgainstString):
        * page/Frame.h:
        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
        (WebCore::GraphicsContext3D::getUnmangledInfoLog):

2014-01-23  Brady Eidson  <beidson@apple.com>

        IDB: Support IDBObjectStore.clear()
        https://bugs.webkit.org/show_bug.cgi?id=127541
        
        Reviewed by Anders Carlsson.

        The backing store should never be performing callbacks directly:
        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
        (WebCore::IDBServerConnectionLevelDB::clearObjectStore):

        Instead, the transaction operations should do that themselves:
        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
        (WebCore::ClearObjectStoreOperation::perform):
        * Modules/indexeddb/IDBTransactionBackendOperations.h:
        (WebCore::ClearObjectStoreOperation::transaction):

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

        <rdar://problem/15875326> REGRESSION (r162257): Assertion failure (should not be reached) in CSSPreloadScanner::tokenize()
        https://bugs.webkit.org/show_bug.cgi?id=127540

        Reviewed by Anders Carlsson.

        No new tests, because I could not reproduce the bug reliably and I don’t know how to trigger
        it.

        * html/parser/CSSPreloadScanner.cpp:
        (WebCore::CSSPreloadScanner::scan): Check for the DoneParsingImportRules before tokenizing
        a character, not after. This restores the logic from before r162257.

2014-01-23  Jer Noble  <jer.noble@apple.com>

        [iOS] Protect against possbile deadlock by delaying video layer creation
        https://bugs.webkit.org/show_bug.cgi?id=127505

        Reviewed by Eric Carlson.

        Work around a possible deadlock on iOS when creating a media element
        backed by AVFoundation by delaying creation of the AVPlayerLayer.
        The deadlock can occur when the web thread is doing CALayer layout
        while taking the web thread lock, while CoreMedia is doing property
        access on an async thread while taking the CM lock, and each is waiting
        for the other's lock to be released.

        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):

2014-01-23  Jer Noble  <jer.noble@apple.com>

        [MSE][Mac] Crash when reloading a page during playback
        https://bugs.webkit.org/show_bug.cgi?id=126903

        Reviewed by Eric Carlson.

        Periodic time observers added to AVSampleBufferRenderSynchronizer will execute their
        callback block even after being removed with -removeTimeObserver:, which is tracked by
        <rdar://problem/15798050>. Work around this problem by passing a WeakPtr into the block
        and bail early if the owning media player has been destroyed.

        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::createWeakPtr):
        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):

2014-01-23  ChangSeok Oh  <changseok.oh@collabora.com>

        Dragging from inner side of video to outside causes a crash
        https://bugs.webkit.org/show_bug.cgi?id=126338

        Reviewed by Jer Noble.

        The crash happens while dragging mouse cursor through timeline control to outside
        of video region. This is beacause media controls are selected with the drag.
        The media controls disappear when mouse cursor goes outside of video though
        the dragging/selection proceeds. If once media controls are hidden, related element
        lose their renderers. However the drag is still under going. it requires shadowPseudoId
        of the selected controls. Untorntunately, SliderThumbElement/SliderContainerElement
        don't return a static value for the shadowPseudoId unlike other media controls,
        but they need a renderer to determine it. This is the reason of crash.

        Test: media/media-controller-drag-crash.html

        * html/shadow/SliderThumbElement.cpp:
        (WebCore::SliderThumbElement::shadowPseudoId):
        (WebCore::SliderContainerElement::shadowPseudoId):

2014-01-23  Brady Eidson  <beidson@apple.com>

        IDB: Implement SQLite backing store 'get' support
        https://bugs.webkit.org/show_bug.cgi?id=127502

        Reviewed by Tim Horton.

        Get a KeyRange from a KeyRangeData:
        * Modules/indexeddb/IDBKeyRangeData.cpp:
        (WebCore::IDBKeyRangeData::maybeCreateIDBKeyRange):
        * Modules/indexeddb/IDBKeyRangeData.h:

        Add collation function support to SQLiteDatabase:
        * platform/sql/SQLiteDatabase.cpp:
        (WebCore::destroyCollationFunction):
        (WebCore::callCollationFunction):
        (WebCore::SQLiteDatabase::setCollationFunction):
        (WebCore::SQLiteDatabase::removeCollationFunction):
        * platform/sql/SQLiteDatabase.h:

        * WebCore.exp.in:

2014-01-23  Jon Honeycutt  <jhoneycutt@apple.com>

        Assertion failure in WebCore::PseudoElement::didRecalcStyle()
        <https://bugs.webkit.org/show_bug.cgi?id=126761>
        <rdar://problem/15793540>

        Reviewed by Andy Estes.

        Test: fast/images/animate-list-item-image-assertion.html

        * dom/PseudoElement.cpp:
        (WebCore::PseudoElement::didRecalcStyle):
        Check isRenderImage() rather than isImage() before casting to
        RenderImage.

        * editing/ios/EditorIOS.mm:
        (WebCore::getImage):
        Ditto.

        * editing/mac/EditorMac.mm:
        (WebCore::getImage):
        Ditto.

        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::parseAttribute):
        (WebCore::HTMLImageElement::didAttachRenderers):
        Ditto.

        * loader/ImageLoader.cpp:
        (WebCore::ImageLoader::renderImageResource):
        Ditto.

        * page/DragController.cpp:
        (WebCore::getCachedImage):
        Ditto.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::isDirectlyCompositedImage):
        (WebCore::RenderLayerBacking::updateImageContents):
        Ditto.

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

        Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
        https://bugs.webkit.org/show_bug.cgi?id=127409

        Reviewed by Geoffrey Garen.

        Covered by existing tests.

        * bindings/js/ScriptDebugServer.h:
        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::ScriptDebugServer):
        Remove m_recompileTimer and the recompile soon function.
        We can just recompile immediately in all existing cases.

        * bindings/js/PageScriptDebugServer.h:
        * bindings/js/PageScriptDebugServer.cpp:
        (WebCore::PageScriptDebugServer::addListener):
        (WebCore::PageScriptDebugServer::removeListener):
        (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
        (WebCore::PageScriptDebugServer::didAddFirstListener):
        (WebCore::PageScriptDebugServer::didRemoveLastListener):
        Add a "didAddFirstListener" to match "didRemoveLastListener".
        Only recompile functions when we attach the debugger and when
        we detach the last listener.

        * bindings/js/WorkerScriptDebugServer.cpp:
        (WebCore::WorkerScriptDebugServer::addListener):
        (WebCore::WorkerScriptDebugServer::removeListener):
        (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
        Same thing. Also rearrange the functions to read better.

        * inspector/InspectorProfilerAgent.cpp:
        Use the direct recompile function instead of the removed "soon" version.

        * WebCore.exp.in:
        Update disconnectFrontend symbol.

        * page/PageDebuggable.cpp:
        (WebCore::PageDebuggable::disconnect):
        * testing/Internals.cpp:
        (WebCore::Internals::closeDummyInspectorFrontend):
        * workers/WorkerMessagingProxy.cpp:
        (WebCore::disconnectFromWorkerGlobalScopeInspectorTask):
        Include an InspectorDisconnectReason when calling disconnectFrontend.

        * inspector/InspectorDatabaseAgent.h:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::disable):
        (WebCore::InspectorDebuggerAgent::willDestroyFrontendAndBackend):
        If the disconnect reason is the page will be destroyed, don't recompile when disconnecting.

        * inspector/InspectorProfilerAgent.h:
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::enable):
        (WebCore::InspectorProfilerAgent::disable):
        (WebCore::InspectorProfilerAgent::willDestroyFrontendAndBackend):
        If the disconnect reason is the page will be destroyed, don't recompile when disconnecting.

        * inspector/InspectorController.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::inspectedPageDestroyed):
        (WebCore::InspectorController::disconnectFrontend):
        (WebCore::InspectorController::close):
        Pass different reasons for the different disconnect reasons.

        * inspector/WorkerInspectorController.h:
        * inspector/WorkerInspectorController.cpp:
        (WebCore::WorkerInspectorController::~WorkerInspectorController):
        (WebCore::WorkerInspectorController::disconnectFrontend):
        Pass different reasons for the different disconnect reasons.

        * inspector/InspectorApplicationCacheAgent.cpp:
        (WebCore::InspectorApplicationCacheAgent::willDestroyFrontendAndBackend):
        * inspector/InspectorApplicationCacheAgent.h:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::willDestroyFrontendAndBackend):
        * inspector/InspectorCSSAgent.h:
        * inspector/InspectorCanvasAgent.cpp:
        (WebCore::InspectorCanvasAgent::willDestroyFrontendAndBackend):
        * inspector/InspectorCanvasAgent.h:
        * inspector/InspectorConsoleAgent.cpp:
        (WebCore::InspectorConsoleAgent::willDestroyFrontendAndBackend):
        * inspector/InspectorConsoleAgent.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::willDestroyFrontendAndBackend):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorDOMDebuggerAgent.cpp:
        (WebCore::InspectorDOMDebuggerAgent::willDestroyFrontendAndBackend):
        * inspector/InspectorDOMDebuggerAgent.h:
        * inspector/InspectorDOMStorageAgent.cpp:
        (WebCore::InspectorDOMStorageAgent::willDestroyFrontendAndBackend):
        * inspector/InspectorDOMStorageAgent.h:
        * inspector/InspectorDatabaseAgent.cpp:
        (WebCore::InspectorDatabaseAgent::willDestroyFrontendAndBackend):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/InspectorHeapProfilerAgent.cpp:
        (WebCore::InspectorHeapProfilerAgent::willDestroyFrontendAndBackend):
        * inspector/InspectorHeapProfilerAgent.h:
        * inspector/InspectorIndexedDBAgent.cpp:
        (WebCore::InspectorIndexedDBAgent::willDestroyFrontendAndBackend):
        * inspector/InspectorIndexedDBAgent.h:
        * inspector/InspectorInputAgent.cpp:
        (WebCore::InspectorInputAgent::willDestroyFrontendAndBackend):
        * inspector/InspectorInputAgent.h:
        * inspector/InspectorLayerTreeAgent.cpp:
        (WebCore::InspectorLayerTreeAgent::willDestroyFrontendAndBackend):
        * inspector/InspectorLayerTreeAgent.h:
        * inspector/InspectorMemoryAgent.cpp:
        (WebCore::InspectorMemoryAgent::willDestroyFrontendAndBackend):
        * inspector/InspectorMemoryAgent.h:
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::willDestroyFrontendAndBackend):
        * inspector/InspectorPageAgent.h:
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::willDestroyFrontendAndBackend):
        * inspector/InspectorResourceAgent.h:
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::willDestroyFrontendAndBackend):
        * inspector/InspectorTimelineAgent.h:
        * inspector/InspectorWorkerAgent.cpp:
        (WebCore::InspectorWorkerAgent::willDestroyFrontendAndBackend):
        * inspector/InspectorWorkerAgent.h:
        * inspector/PageDebuggerAgent.cpp:
        (WebCore::PageDebuggerAgent::disable):
        (WebCore::PageDebuggerAgent::stopListeningScriptDebugServer):
        * inspector/PageDebuggerAgent.h:
        * inspector/PageRuntimeAgent.cpp:
        (WebCore::PageRuntimeAgent::willDestroyFrontendAndBackend):
        * inspector/PageRuntimeAgent.h:
        * inspector/WorkerDebuggerAgent.cpp:
        (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
        * inspector/WorkerDebuggerAgent.h:
        * inspector/WorkerRuntimeAgent.cpp:
        (WebCore::WorkerRuntimeAgent::willDestroyFrontendAndBackend):
        * inspector/WorkerRuntimeAgent.h:
        Include InspectorDisconnectReason param.

2014-01-23  Simon Fraser  <simon.fraser@apple.com>

        Another Windows fix: include <algorithm> for std::min and std::max.
        
        * platform/graphics/IntSize.h:

2014-01-23  Simon Fraser  <simon.fraser@apple.com>

        Try to fix Windows build.

        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenuWin::visibleSize):
        * platform/win/PopupMenuWin.h:

2014-01-23  Simon Fraser  <simon.fraser@apple.com>

        Make visibleContentRect() return actualVisibleContentRect() on iOS most of the time
        https://bugs.webkit.org/show_bug.cgi?id=127456
        
        Reviewed by Antti Koivisto.
        
        On iOS, visibleContentRect() returns the entire document rect for historical
        reasons, and actualVisibleContentRect() returns what visibleContentRect()
        returns on other platforms.
        
        In addition, actualVisibleContentRect() was returning an empty rect in WK2.
        
        Reduce the confusion of #ifdefs by making visibleContentRect() behave like
        actualVisibleContentRect() by default on iOS. Where it needs the old behavior,
        an optional parameter, LegacyIOSDocumentVisibleRect, provides this.
        
        Achieve this by having the virtual ScrollableArea::visibleContentRectInternal(),
        which is called by non-virtual visibleContentRect() and visibleContentRectIncludingScrollbars().
        
        Similarly clean up visibleHeight/visibleWidth functions by having visibleSize() be virtual,
        with non-virtual visibleHeight() and visibleWidth().
        
        ScrollableArea subclasses override visibleContentRectInternal() and visibleSize() where necessary.
        
        Mechanically change all the call sites of actualVisibleContentRect() to
        use visibleContentRect(), and the call sites of visibleContentRect()
        to visibleContentRect(..., LegacyIOSDocumentVisibleRect), adding comments
        where this may not be appropriate.
        
        Change callers of visibleContentRect(IncludeScrollbars...) to visibleContentRectIncludingScrollbars().
        
        Also add actualScrollPosition(), and clean up some actualScroll* call sites.
        
        No behavior change.

        * WebCore.exp.in:
        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::isOnscreen):
        (WebCore::AccessibilityObject::scrollToMakeVisibleWithSubFocus):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isOffScreen):
        * dom/Document.cpp:
        (WebCore::Document::adjustFloatQuadsForScrollAndAbsoluteZoomAndFrameScale):
        (WebCore::Document::adjustFloatRectForScrollAndAbsoluteZoomAndFrameScale):
        * dom/MouseRelatedEvent.cpp:
        (WebCore::MouseRelatedEvent::MouseRelatedEvent):
        * editing/Editor.cpp:
        (WebCore::Editor::countMatchesForText):
        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::bounds):
        (WebCore::FrameSelection::getClippedVisibleTextRectangles):
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::scrollLeft):
        (WebCore::HTMLBodyElement::scrollTop):
        * html/ImageDocument.cpp:
        (WebCore::ImageDocument::imageFitsInWindow):
        (WebCore::ImageDocument::windowSizeChanged):
        * inspector/InspectorOverlay.cpp:
        (WebCore::InspectorOverlay::update):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::innerHeight):
        (WebCore::DOMWindow::innerWidth):
        (WebCore::DOMWindow::scrollX):
        (WebCore::DOMWindow::scrollY):
        (WebCore::DOMWindow::scrollBy):
        * page/FrameView.cpp:
        (WebCore::FrameView::calculateScrollbarModesForLayout):
        (WebCore::FrameView::layout):
        (WebCore::FrameView::scrollContentsSlowPath):
        (WebCore::FrameView::repaintContentRectangle):
        (WebCore::FrameView::sendResizeEventIfNeeded):
        (WebCore::FrameView::windowClipRect):
        (WebCore::FrameView::isScrollable):
        (WebCore::FrameView::paintControlTints):
        * page/SpatialNavigation.cpp:
        (WebCore::canScrollInDirection):
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::unscaledVisibleContentSize):
        (WebCore::ScrollView::visibleContentRectInternal):
        (WebCore::ScrollView::updateScrollbars):
        (WebCore::ScrollView::paint):
        * platform/ScrollView.h:
        (WebCore::ScrollView::scrollOffset):
        (WebCore::ScrollView::actualScrollX):
        (WebCore::ScrollView::actualScrollY):
        (WebCore::ScrollView::actualScrollPosition):
        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::visibleContentRect):
        (WebCore::ScrollableArea::visibleContentRectIncludingScrollbars):
        (WebCore::ScrollableArea::visibleContentRectInternal):
        * platform/ScrollableArea.h:
        (WebCore::ScrollableArea::visibleWidth):
        (WebCore::ScrollableArea::visibleHeight):
        * platform/graphics/IntSize.h:
        (WebCore::IntSize::expandedTo): Drive-by cleanup.
        (WebCore::IntSize::shrunkTo):
        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::ScrollView::visibleContentRect):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollRectToVisible):
        (WebCore::RenderLayer::maximumScrollPosition):
        (WebCore::RenderLayer::visibleContentRectInternal):
        (WebCore::RenderLayer::hitTest):
        * rendering/RenderLayer.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateCompositedBounds):
        * rendering/RenderListBox.cpp:
        * rendering/RenderListBox.h:
        * rendering/RenderView.cpp:
        (WebCore::RenderView::viewRect):
        (WebCore::RenderView::viewportSize):

2014-01-20  Myles C. Maxfield  <mmaxfield@apple.com>

       Turn text-decoration-skip: ink on for all underlines
       https://bugs.webkit.org/show_bug.cgi?id=127331

       Reviewed by Antti Koivisto.

       No new tests are necessary because tests already exist

       * rendering/style/RenderStyle.h:

2014-01-23  Hans Muller  <hmuller@adobe.com>

        [CSS Shapes] Image valued shape size and position should conform to the spec
        https://bugs.webkit.org/show_bug.cgi?id=123295

        Reviewed by Andreas Kling.

        Implement image valued shape-outside scaling and translation per the spec,
        http://dev.w3.org/csswg/css-shapes/#shapes-from-image:

        "The image is sized and positioned as if it were a replaced element whose
        specified width and height are the same as the element’s used content box size."

        This change doesn't completely fulfill the spec, it's limited to image elements
        and shape-outside.

        Tests: fast/shapes/shape-outside-floats/shape-outside-image-fit-001.html
               fast/shapes/shape-outside-floats/shape-outside-image-fit-002.html
               fast/shapes/shape-outside-floats/shape-outside-image-fit-003.html
               fast/shapes/shape-outside-floats/shape-outside-image-fit-004.html

        * rendering/shapes/Shape.h:
        * rendering/shapes/Shape.cpp:
        (WebCore::Shape::createRasterShape):
        Added an imageRect parameter which specifies where the shape image is to
        appear relative to the content box. The imageRect implies both scaling and
        translation of the shape image.

        * rendering/shapes/ShapeInfo.cpp:
        (WebCore::ShapeInfo<RenderType>::computedShape):
        (WebCore::getShapeImageRect):
        For replaced elements, compute the shape's imageRect with
        RenderReplaced::replacedContentRect().


2014-01-23  Max Vujovic  <mvujovic@adobe.com>

        Remove CSS Custom Filters code and tests
        https://bugs.webkit.org/show_bug.cgi?id=127382

        Reviewed by Simon Fraser.

        No new tests. Removing functionality.

        * CMakeLists.txt:
        * Configurations/FeatureDefines.xcconfig:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.list.am:
        * WebCore.order:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSCSSRuleCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSCSSValueCustom.cpp:
        (WebCore::toJS):
        * bindings/objc/DOMCSS.mm:
        (kitClass):
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::ComputedStyleExtractor::valueForFilter):
        (WebCore::ComputedStyleExtractor::propertyValue):
        * css/CSSComputedStyleDeclaration.h:
        * css/CSSGrammar.y.in:
        * css/CSSParser.cpp:
        (WebCore::CSSParserContext::CSSParserContext):
        (WebCore::operator==):
        (WebCore::CSSParser::CSSParser):
        (WebCore::CSSParser::parseValue):
        (WebCore::filterInfoForName):
        (WebCore::CSSParser::parseFilter):
        (WebCore::CSSParser::detectAtToken):
        * css/CSSParser.h:
        * css/CSSParserMode.h:
        * css/CSSPropertyNames.in:
        * css/CSSPropertySourceData.h:
        * css/CSSRule.h:
        * css/CSSRule.idl:
        * css/CSSValue.cpp:
        (WebCore::CSSValue::equals):
        (WebCore::CSSValue::cssText):
        (WebCore::CSSValue::destroy):
        (WebCore::CSSValue::cloneForCSSOM):
        * css/CSSValue.h:
        * css/CSSValueKeywords.in:
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::State::clear):
        (WebCore::StyleResolver::applyProperty):
        (WebCore::filterOperationForType):
        (WebCore::StyleResolver::createFilterOperations):
        (WebCore::StyleResolver::loadPendingResources):
        * css/StyleResolver.h:
        (WebCore::StyleResolver::State::State):
        * css/StyleRule.cpp:
        (WebCore::StyleRuleBase::destroy):
        (WebCore::StyleRuleBase::copy):
        (WebCore::StyleRuleBase::createCSSOMWrapper):
        * css/StyleRule.h:
        * css/StyleSheetContents.cpp:
        (WebCore::childRulesHaveFailedOrCanceledSubresources):
        * css/WebKitCSSArrayFunctionValue.cpp: Removed.
        * css/WebKitCSSArrayFunctionValue.h: Removed.
        * css/WebKitCSSFilterRule.cpp: Removed.
        * css/WebKitCSSFilterRule.h: Removed.
        * css/WebKitCSSFilterRule.idl: Removed.
        * css/WebKitCSSFilterValue.cpp:
        (WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
        (WebCore::WebKitCSSFilterValue::customCSSText):
        * css/WebKitCSSFilterValue.h:
        * css/WebKitCSSFilterValue.idl:
        * css/WebKitCSSMatFunctionValue.cpp: Removed.
        * css/WebKitCSSMatFunctionValue.h: Removed.
        * css/WebKitCSSMixFunctionValue.cpp: Removed.
        * css/WebKitCSSMixFunctionValue.h: Removed.
        * css/WebKitCSSMixFunctionValue.idl: Removed.
        * css/WebKitCSSShaderValue.cpp: Removed.
        * css/WebKitCSSShaderValue.h: Removed.
        * loader/cache/CachedResource.cpp:
        (WebCore::defaultPriorityForResourceType):
        * loader/cache/CachedResource.h:
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::createResource):
        (WebCore::CachedResourceLoader::checkInsecureContent):
        (WebCore::CachedResourceLoader::canRequest):
        * loader/cache/CachedResourceLoader.h:
        * loader/cache/CachedShader.cpp: Removed.
        * loader/cache/CachedShader.h: Removed.
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        * page/animation/CSSPropertyAnimation.cpp:
        (WebCore::blendFilter):
        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayerMac::filtersCanBeComposited):
        * platform/graphics/filters/CustomFilterArrayParameter.h: Removed.
        * platform/graphics/filters/CustomFilterColorParameter.h: Removed.
        * platform/graphics/filters/CustomFilterCompiledProgram.cpp: Removed.
        * platform/graphics/filters/CustomFilterCompiledProgram.h: Removed.
        * platform/graphics/filters/CustomFilterConstants.h: Removed.
        * platform/graphics/filters/CustomFilterGlobalContext.cpp: Removed.
        * platform/graphics/filters/CustomFilterGlobalContext.h: Removed.
        * platform/graphics/filters/CustomFilterMesh.cpp: Removed.
        * platform/graphics/filters/CustomFilterMesh.h: Removed.
        * platform/graphics/filters/CustomFilterMeshGenerator.cpp: Removed.
        * platform/graphics/filters/CustomFilterMeshGenerator.h: Removed.
        * platform/graphics/filters/CustomFilterNumberParameter.h: Removed.
        * platform/graphics/filters/CustomFilterOperation.cpp: Removed.
        * platform/graphics/filters/CustomFilterOperation.h: Removed.
        * platform/graphics/filters/CustomFilterParameter.h: Removed.
        * platform/graphics/filters/CustomFilterParameterList.cpp: Removed.
        * platform/graphics/filters/CustomFilterParameterList.h: Removed.
        * platform/graphics/filters/CustomFilterProgram.cpp: Removed.
        * platform/graphics/filters/CustomFilterProgram.h: Removed.
        * platform/graphics/filters/CustomFilterProgramClient.h: Removed.
        * platform/graphics/filters/CustomFilterProgramInfo.cpp: Removed.
        * platform/graphics/filters/CustomFilterProgramInfo.h: Removed.
        * platform/graphics/filters/CustomFilterRenderer.cpp: Removed.
        * platform/graphics/filters/CustomFilterRenderer.h: Removed.
        * platform/graphics/filters/CustomFilterTransformParameter.h: Removed.
        * platform/graphics/filters/CustomFilterValidatedProgram.cpp: Removed.
        * platform/graphics/filters/CustomFilterValidatedProgram.h: Removed.
        * platform/graphics/filters/FECustomFilter.cpp: Removed.
        * platform/graphics/filters/FECustomFilter.h: Removed.
        * platform/graphics/filters/FilterOperation.h:
        * platform/graphics/filters/FilterOperations.cpp:
        (WebCore::FilterOperations::outsets):
        * platform/graphics/filters/FilterOperations.h:
        * platform/graphics/filters/ValidatedCustomFilterOperation.cpp: Removed.
        * platform/graphics/filters/ValidatedCustomFilterOperation.h: Removed.
        * platform/graphics/filters/texmap/CustomFilterValidatedProgramTextureMapper.cpp: Removed.
        * platform/graphics/filters/texmap/TextureMapperPlatformCompiledProgram.h: Removed.
        * platform/graphics/gpu/Texture.cpp:
        * platform/graphics/texmap/TextureMapper.h:
        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::getPassesRequiredForFilter):
        (WebCore::BitmapTextureGL::applyFilters):
        * platform/graphics/texmap/TextureMapperGL.h:
        * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
        (WebCore::CompositingCoordinator::clearPendingStateChanges):
        (WebCore::CompositingCoordinator::syncLayerState):
        * platform/graphics/texmap/coordinated/CompositingCoordinator.h:
        * platform/graphics/texmap/coordinated/CoordinatedCustomFilterOperation.h: Removed.
        * platform/graphics/texmap/coordinated/CoordinatedCustomFilterProgram.h: Removed.
        * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
        (WebCore::CoordinatedGraphicsScene::setLayerFiltersIfNeeded):
        (WebCore::CoordinatedGraphicsScene::commitSceneState):
        (WebCore::CoordinatedGraphicsScene::setLayerAnimationsIfNeeded):
        * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
        * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
        * rendering/FilterEffectRenderer.cpp:
        (WebCore::FilterEffectRenderer::FilterEffectRenderer):
        (WebCore::FilterEffectRenderer::build):
        (WebCore::FilterEffectRenderer::computeSourceImageRectForDirtyRect):
        * rendering/FilterEffectRenderer.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
        (WebCore::RenderLayer::calculateClipRects):
        * rendering/RenderLayer.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateFilters):
        * rendering/RenderLayerFilterInfo.cpp:
        (WebCore::RenderLayer::FilterInfo::~FilterInfo):
        * rendering/RenderLayerFilterInfo.h:
        * rendering/RenderView.cpp:
        * rendering/RenderView.h:
        * rendering/style/StyleCachedShader.cpp: Removed.
        * rendering/style/StyleCachedShader.h: Removed.
        * rendering/style/StyleCustomFilterProgram.cpp: Removed.
        * rendering/style/StyleCustomFilterProgram.h: Removed.
        * rendering/style/StyleCustomFilterProgramCache.cpp: Removed.
        * rendering/style/StyleCustomFilterProgramCache.h: Removed.
        * rendering/style/StylePendingShader.h: Removed.
        * rendering/style/StyleShader.h: Removed.

2014-01-22  Jon Honeycutt  <jhoneycutt@apple.com>

        REGRESSION(r161967): Crash in WebCore::CachedSVGDocumentReference::load
        <https://webkit.org/b/127151>
        <rdar://problem/15840760>

        There were two issues introduced here; the first is a use-after-free of
        CachedSVGDocumentReference objects.

        The previous code kept a map from FilterOperation ->
        RefPtr<WebKitCSSSVGDocumentValue>, which retained the
        CachedSVGDocument. In r161967, this was changed to use a weak HashSet,
        which allows stale CachedSVGDocumentReferences in the pending document
        set if the owning FilterOperation is deleted. To fix this, we'll keep a
        vector of RefPtr<FilterOperation> with pending SVG documents.

        The second issue is a null deref in CachedSVGDocumentReference::load();
        CachedResourceLoader::requestSVGDocument() can return 0 if (for
        example) an invalid URL is passed. r161967 removed a null check as part
        of the refactoring.

        Reviewed by Dirk Schulze.

        Tests: css3/filters/crash-filter-animation-invalid-url.html
               css3/filters/crash-invalid-url.html

        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::State::clear):
        Use new member var name.
        (WebCore::StyleResolver::loadPendingSVGDocuments):
        For each FilterOperation with a pending SVG document, get or create a
        CachedSVGDocumentReference, and tell it to load. Changed to use new
        function names.
        (WebCore::StyleResolver::createFilterOperations):
        Append the FilterOperation to the list of FilterOperations with
        unloaded SVG documents.

        * css/StyleResolver.h:
        Changed from using PendingSVGDocumentSet, a weak set, to
        a Vector<RefPtr<ReferenceFilterOperation>>.
        (WebCore::StyleResolver::State::filtersWithPendingSVGDocuments):
        Return the vector.

        * loader/cache/CachedSVGDocumentReference.cpp:
        (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
        Null check m_document rather than checking m_loadRequested.
        m_loadRequested may be true when m_document is 0.
        (WebCore::CachedSVGDocumentReference::load):
        Null check the result of CachedResourceLoader::requestSVGDocument().

        * platform/graphics/filters/FilterOperation.cpp:
        (WebCore::ReferenceFilterOperation::getOrCreateCachedSVGDocumentReference):
        Create, if necessary, and return the CachedSVGDocumentReference.

        * platform/graphics/filters/FilterOperation.h:
        Replaced createCachedSVGDocumentReference() with
        getOrCreateCachedSVGDocumentReference(), which makes for slightly
        cleaner code.

2014-01-23  Antti Koivisto  <antti@apple.com>

        Don't enable speculative tiles immediately after main load stops progressing
        https://bugs.webkit.org/show_bug.cgi?id=127507

        Reviewed by Andreas Kling.

        It is common for timers and events to trigger more loading after the initial main frame loading
        has completed. We should delay a bit before enabling speculative tiles and keep them disabled 
        if loading still continues.

        * page/FrameView.cpp:
        (WebCore::FrameView::FrameView):
        (WebCore::FrameView::adjustTiledBackingCoverage):
        (WebCore::shouldEnableSpeculativeTilingDuringLoading):
        (WebCore::FrameView::enableSpeculativeTilingIfNeeded):
        
            When load progression stops wait 0.5s before enabling speculative tiles.

        (WebCore::FrameView::speculativeTilingEnableTimerFired):
        
            Don't enable speculative tiles if the progression has started again. Instead restart the timer.

        * page/FrameView.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::RenderLayerBacking):
        (WebCore::computeTileCoverage):
        
            Move the FrameView level code to FrameView (so we don't need to add a timer to every RenderLayerBacking).

        * rendering/RenderLayerBacking.h:

2014-01-23  Antti Koivisto  <antti@apple.com>

        Loads started soon after main frame completion should be considered part of the main load
        https://bugs.webkit.org/show_bug.cgi?id=127504

        Reviewed by Andreas Kling.

        ProgressTracker currently decides that main load is complete when the main frame stops loading. 
        However it is common that timers and onload events trigger more loads immediately (for example 
        by inserting iframes) and loading continues visually. These should be considered as part of the
        main load for paint throttling and speculative tiling coverage purposes.

        * loader/ProgressTracker.cpp:
        (WebCore::ProgressTracker::ProgressTracker):
        (WebCore::ProgressTracker::progressStarted):
        
            Track whether this is considered part of the main load or not with a boolean. 
            It is set for subframe loads too if they start loading soon (within 1s) after the main frame load completes.

        (WebCore::ProgressTracker::finalProgressComplete):
        
            Get a timestamp.

        (WebCore::ProgressTracker::isMainLoadProgressing):

            New definition of "main load".

        * loader/ProgressTracker.h:

2014-01-23  peavo@outlook.com  <peavo@outlook.com>

        [WinCairo] Compile error.
        https://bugs.webkit.org/show_bug.cgi?id=127499

        Reviewed by Brent Fulgham.

        * platform/network/curl/ResourceError.h: Include <winsock2.h> before <curl/curl.h>.

2014-01-23  Brady Eidson  <beidson@apple.com>

        IDB: Implement cross-thread and IPC plumbing for 'get' support
        https://bugs.webkit.org/show_bug.cgi?id=127501

        Reviewed by Anders Carlsson.

        Add isolatedCopy to the IDBGetResult object:
        * Modules/indexeddb/IDBGetResult.h:
        (WebCore::IDBGetResult::isolatedCopy):

        Add a cross-thread and cross-IPC appropriate object for IDBKeyRanges:
        * Modules/indexeddb/IDBKeyRangeData.cpp: Copied from Source/WebCore/Modules/indexeddb/IDBGetResult.h.
        (WebCore::IDBKeyRangeData::isolatedCopy):
        * Modules/indexeddb/IDBKeyRangeData.h: Copied from Source/WebCore/Modules/indexeddb/IDBGetResult.h.
        (WebCore::IDBKeyRangeData::IDBKeyRangeData):

        Add a few more cross-thread copiers:
        * platform/CrossThreadCopier.cpp:
        (WebCore::IDBGetResult>::copy):
        (WebCore::IDBKeyRangeData>::copy):
        * platform/CrossThreadCopier.h:

        Project file gunk:
        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:

2014-01-23  Jer Noble  <jer.noble@apple.com>

        [MSE][Mac] Adopt new AVStreamDataParser delegate API
        https://bugs.webkit.org/show_bug.cgi?id=127498

        Reviewed by Eric Carlson.

        Adopt a new delegate API which passes in whether or not the new AVAsset
        is discontinuous, implying the AVAsset is entirely new rather than
        just updated with new information.

        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
        (-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:withDiscontinuity:]):

2014-01-23  Tim Horton  <timothy_horton@apple.com>

        PDFPlugin: Use PDFPlugin even if there's an external plugin installed, if it's blocked
        https://bugs.webkit.org/show_bug.cgi?id=127415
        <rdar://problem/12482452>

        Reviewed by Sam Weinig.

        * English.lproj/Localizable.strings:
        * WebCore.exp.in:
        * platform/LocalizedStrings.cpp:
        (WebCore::useBlockedPlugInContextMenuTitle):
        * platform/LocalizedStrings.h:
        Add a localizable string for the generic case, where the client
        didn't provide a more specific string for the context menu item.

2014-01-23  peavo@outlook.com  <peavo@outlook.com>

        [Curl] There is no way to specify cache folder.
        https://bugs.webkit.org/show_bug.cgi?id=125028

        Reviewed by Brent Fulgham.

        Fixed logical test, disc cache should be disabled if creating cache folder fails.

        * platform/network/curl/CurlCacheManager.cpp:
        (WebCore::CurlCacheManager::setCacheDirectory):

2014-01-23  Brady Eidson  <beidson@apple.com>

        Unreviewed build fix.

        * WebCore.xcodeproj/project.pbxproj: Export the new header so WebKit can see it

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

        [Win] Update project and solution files for 64-bit builds
        https://bugs.webkit.org/show_bug.cgi?id=127457

        Reviewed by Eric Carlson.

        * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj: Update for VS2013
        * WebCore.vcxproj/WebCore.submit.sln: Add x64 targets
        * WebCore.vcxproj/WebCore.vcxproj: Update for VS2013. Also exclude 32-bit specific
        assembly when building 64-bit target.
        * WebCore.vcxproj/WebCore.vcxproj.filters: Update for VS2013
        * config.h: Handle 64-bit type definitions.
        * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
        (PlatformCAAnimation::setFromValue): Use CGFloat to support 64-bit builds
        (PlatformCAAnimation::setToValue): Ditto
        (PlatformCAAnimation::setValues): Ditto
        * platform/graphics/win/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData): Add cast to
        support 32- and 64-bit targets.
        * platform/graphics/win/GraphicsContextCGWin.cpp:
        (WebCore::GraphicsContext::drawLineForDocumentMarker): Use CGFloat to
        support 64-bit builds.
        * platform/win/PasteboardWin.cpp:
        (WebCore::Pasteboard::writeURLToDataObject): Specialize std::min to
        work on 32- and 64-bit code.
        (WebCore::createGlobalImageFileDescriptor): Ditto
        * platform/win/StructuredExceptionHandlerSuppressor.cpp:
        (WebCore::StructuredExceptionHandlerSuppressor::StructuredExceptionHandlerSuppressor):
        Comment out 32-bit inline assembly.
        (WebCore::StructuredExceptionHandlerSuppressor::~StructuredExceptionHandlerSuppressor):
        Ditto

2014-01-23  Brady Eidson  <beidson@apple.com>

        Make IDBGetResult work with IDBKeyData instead of IDBKey.
        https://bugs.webkit.org/show_bug.cgi?id=127493

        Reviewed by Eric Carlson.

        Also break it into its own header to work better with IPC messages.

        * Modules/indexeddb/IDBGetResult.h: Added.
        (WebCore::IDBGetResult::IDBGetResult):

        * Modules/indexeddb/IDBServerConnection.h:

        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
        (WebCore::GetOperation::perform):

        * WebCore.xcodeproj/project.pbxproj:

2014-01-23  Mátyás Mustoha  <mmatyas@inf.u-szeged.hu>

        [curl] Add storage limit to cache manager
        https://bugs.webkit.org/show_bug.cgi?id=125779

        Reviewed by Brent Fulgham.

        Sets a local disc storage size limit for the cache manager
        used by the curl network backend.

        * platform/network/curl/CurlCacheEntry.cpp:
        (WebCore::CurlCacheEntry::CurlCacheEntry):
        (WebCore::CurlCacheEntry::isCached):
        (WebCore::CurlCacheEntry::saveCachedData):
        (WebCore::CurlCacheEntry::readCachedData):
        (WebCore::CurlCacheEntry::didFail):
        (WebCore::CurlCacheEntry::didFinishLoading):
        (WebCore::CurlCacheEntry::loadFileToBuffer):
        (WebCore::CurlCacheEntry::parseResponseHeaders):
        (WebCore::CurlCacheEntry::entrySize):
        * platform/network/curl/CurlCacheEntry.h:
        (WebCore::CurlCacheEntry::requestHeaders):
        * platform/network/curl/CurlCacheManager.cpp:
        (WebCore::CurlCacheManager::CurlCacheManager):
        (WebCore::CurlCacheManager::setStorageSizeLimit):
        (WebCore::CurlCacheManager::loadIndex):
        (WebCore::CurlCacheManager::saveIndex):
        (WebCore::CurlCacheManager::makeRoomForNewEntry):
        (WebCore::CurlCacheManager::didReceiveResponse):
        (WebCore::CurlCacheManager::didReceiveData):
        (WebCore::CurlCacheManager::invalidateCacheEntry):
        (WebCore::CurlCacheManager::readCachedData):
        * platform/network/curl/CurlCacheManager.h:
        (WebCore::CurlCacheManager::cacheDirectory):

2014-01-23  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix automake warning.

        * GNUmakefile.list.am: Remove trailing whitespaces.

2014-01-23  Mihai Maerean  <mmaerean@adobe.com>

        [CSS Regions] Fix positioning composited layers when the region has overflow:hidden
        https://bugs.webkit.org/show_bug.cgi?id=124042

        Reviewed by Mihnea Ovidenie.

        If there's a clipping GraphicsLayer on the hierarchy, substract its offset, since it's its
        parent that positions us.

        Tests: compositing/regions/position-layer-inside-region-overflow-hidden.html
               compositing/regions/position-layer-inside-overflow-hidden.html
               compositing/regions/position-layers-inside-region-overflow-hidden.html
               compositing/regions/position-layers-inside-regions-overflow-hidden.html

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread): The position
        must also be correct when the region has box-shadow that inflates the region's layer. The
        composited layers from the flow thread should be rendered in the same position whether the
        associated region has clipping or not.
        Using the position of the clipping layer instead of the location of the clipbox makes it
        also work with box-shadow that inflates the region's graphics layer.

2014-01-23  Andrei Bucur  <abucur@adobe.com>

        [CSS Regions] Convert regions iterator loops to range-based loops
        https://bugs.webkit.org/show_bug.cgi?id=127464

        Reviewed by Antti Koivisto.

        Replace most of the iterator loops in the region implementation with
        range based for loops. The for loops that iterate only over subsets
        of collections have not been changed.

        Tests: no new tests, this is a refactoring patch.

        * dom/WebKitNamedFlow.cpp:
        (WebCore::WebKitNamedFlow::firstEmptyRegionIndex):
        (WebCore::WebKitNamedFlow::getRegionsByContent):
        (WebCore::WebKitNamedFlow::getRegions):
        (WebCore::WebKitNamedFlow::getContent):
        * inspector/InspectorOverlay.cpp:
        (WebCore::buildObjectForCSSRegionsHighlight):
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::validateRegions):
        (WebCore::RenderFlowThread::updateLogicalWidth):
        (WebCore::RenderFlowThread::computeLogicalHeight):
        (WebCore::RenderFlowThread::repaintRectangleInRegions):
        (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
        (WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
        (WebCore::RenderFlowThread::clearRenderBoxRegionInfoAndCustomStyle):
        (WebCore::RenderFlowThread::isAutoLogicalHeightRegionsCountConsistent):
        (WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout):
        (WebCore::RenderFlowThread::markRegionsForOverflowLayoutIfNeeded):
        (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
        (WebCore::RenderFlowThread::collectLayerFragments):
        (WebCore::RenderFlowThread::fragmentsBoundingBox):
        * rendering/RenderNamedFlowFragment.cpp:
        (WebCore::RenderNamedFlowFragment::setRegionObjectsRegionStyle):
        (WebCore::RenderNamedFlowFragment::restoreRegionObjectsOriginalStyle):
        * rendering/RenderNamedFlowThread.cpp:
        (WebCore::RenderNamedFlowThread::clearContentElements):
        (WebCore::RenderNamedFlowThread::nextRendererForNode):
        (WebCore::RenderNamedFlowThread::dependsOn):
        (WebCore::RenderNamedFlowThread::computeOversetStateForRegions):
        (WebCore::RenderNamedFlowThread::checkInvalidRegions):
        (WebCore::RenderNamedFlowThread::pushDependencies):
        (WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
        (WebCore::isContainedInElements):
        (WebCore::RenderNamedFlowThread::getRanges):
        (WebCore::RenderNamedFlowThread::checkRegionsWithStyling):
        (WebCore::RenderNamedFlowThread::clearRenderObjectCustomStyle):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::writeRenderRegionList):

2014-01-23  László Langó  <llango.u-szeged@partner.samsung.com>

        Range should be constructable.
        https://bugs.webkit.org/show_bug.cgi?id=115639

        Reviewed by Ryosuke Niwa.

        http://www.w3.org/TR/2013/WD-dom-20131107/#interface-range
        Now we can do `new Range()` instead of `document.createRange()`.

        Backported from Blink: https://chromium.googlesource.com/chromium/blink/+/47ca40efdf58a4787aa33aa75a35778899b1c002%5E%21

        Test: fast/dom/Range/range-constructor.html

        * dom/Range.cpp:
        (WebCore::Range::create):
        * dom/Range.h:
        * dom/Range.idl:

2014-01-23  ChangSeok Oh  <changseok.oh@collabora.com>

        Unreviewed build fix for gles after r162565. Add missing definitions.

        * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
        (WebCore::GraphicsContext3D::drawArraysInstanced):
        (WebCore::GraphicsContext3D::drawElementsInstanced):
        (WebCore::GraphicsContext3D::vertexAttribDivisor):

2014-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GLIB] Use GUniquePtr instead of GOwnPtr
        https://bugs.webkit.org/show_bug.cgi?id=127431

        Reviewed by Martin Robinson.

        GUniquePtr is a template alias of std::unique_ptr with a custom
        deleter that replaces GOwnPtr. GOwnPtr is still used for the cases
        where the output pointer is needed, but it will also be replaced soon.

        * GNUmakefile.list.am:
        * PlatformGTK.cmake:
        * accessibility/atk/AXObjectCacheAtk.cpp:
        * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
        (getAttributeSetForAccessibilityObject):
        (accessibilityObjectLength):
        (textExtents):
        (webkitAccessibleTextGetChar):
        (numberOfReplacedElementsBeforeOffset):
        * page/ContextMenuController.cpp:
        * platform/SharedBuffer.h:
        * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
        (webKitWebAudioSrcConstructed):
        (webKitWebAudioSrcLoop):
        * platform/audio/gtk/AudioBusGtk.cpp:
        (WebCore::AudioBus::loadPlatformResource):
        * platform/geoclue/GeolocationProviderGeoclue.cpp:
        * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties):
        (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
        * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
        (webKitMediaSrcAddSrc):
        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
        (webKitWebSrcStart):
        (ResourceHandleStreamingClient::wasBlocked):
        (ResourceHandleStreamingClient::cannotShowURL):
        * platform/graphics/gtk/ImageBufferGtk.cpp:
        (WebCore::encodeImage):
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/gtk/ImageGtk.cpp:
        (WebCore::getThemeIconFileName):
        (WebCore::Image::loadPlatformResource):
        * platform/gtk/ContextMenuGtk.cpp:
        (WebCore::ContextMenu::itemCount):
        (WebCore::contextMenuItemVector):
        * platform/gtk/ContextMenuItemGtk.cpp:
        (WebCore::createPlatformMenuItemDescription):
        * platform/gtk/DataObjectGtk.cpp:
        (WebCore::DataObjectGtk::setURIList):
        (WebCore::DataObjectGtk::setURL):
        * platform/gtk/FileSystemGtk.cpp:
        (WebCore::filenameToString):
        (WebCore::fileSystemRepresentation):
        (WebCore::filenameForDisplay):
        (WebCore::pathGetFileName):
        (WebCore::applicationDirectoryPath):
        (WebCore::sharedResourcesPath):
        (WebCore::directoryName):
        (WebCore::listDirectory):
        (WebCore::openTemporaryFile):
        * platform/gtk/GOwnPtrGtk.cpp: Removed.
        * platform/gtk/GOwnPtrGtk.h: Removed.
        * platform/gtk/GUniquePtrGtk.h: Added.
        * platform/gtk/GamepadsGtk.cpp:
        (WebCore::GamepadsGtk::GamepadsGtk):
        * platform/gtk/GtkClickCounter.cpp:
        (WebCore::GtkClickCounter::shouldProcessButtonEvent):
        * platform/gtk/GtkInputMethodFilter.cpp:
        (WebCore::GtkInputMethodFilter::sendCompositionAndPreeditWithFakeKeyEvents):
        * platform/gtk/GtkPopupMenu.cpp:
        (WebCore::GtkPopupMenu::popUp):
        (WebCore::GtkPopupMenu::typeAheadFind):
        * platform/gtk/LanguageGtk.cpp:
        (WebCore::platformLanguage):
        * platform/gtk/LocalizedStringsGtk.cpp:
        (WebCore::imageTitle):
        (WebCore::localizedMediaTimeDescription):
        * platform/gtk/PasteboardHelper.cpp:
        (WebCore::selectionDataToUTF8String):
        (WebCore::PasteboardHelper::getClipboardContents):
        (WebCore::PasteboardHelper::fillSelectionData):
        * platform/gtk/PopupMenuGtk.cpp:
        (WebCore::PopupMenuGtk::createGtkActionForMenuItem):
        (WebCore::PopupMenuGtk::show):
        * platform/gtk/WebKitAuthenticationWidget.cpp:
        (webkitAuthenticationWidgetInitialize):
        * platform/network/ResourceHandleInternal.h:
        * platform/network/gtk/CredentialBackingStore.cpp:
        (WebCore::credentialForChallengeAsyncReadyCallback):
        * platform/network/soup/CookieJarSoup.cpp:
        (WebCore::setCookiesFromDOM):
        (WebCore::cookiesForSession):
        (WebCore::getRawCookies):
        (WebCore::deleteCookie):
        (WebCore::getHostnamesWithCookies):
        (WebCore::deleteCookiesForHostname):
        (WebCore::deleteAllCookies):
        * platform/network/soup/DNSSoup.cpp:
        * platform/network/soup/GUniquePtrSoup.h: Added.
        * platform/network/soup/ResourceErrorSoup.cpp:
        (WebCore::failingURI):
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::ResourceHandle::ensureReadBuffer):
        (WebCore::cleanupSoupRequestOperation):
        (WebCore::createSoupRequestAndMessageForHandle):
        * platform/network/soup/ResourceRequestSoup.cpp:
        (WebCore::ResourceRequest::updateSoupMessageMembers):
        (WebCore::ResourceRequest::updateSoupMessage):
        * platform/network/soup/ResourceResponseSoup.cpp:
        * platform/network/soup/SoupURIUtils.cpp:
        (WebCore::soupURIToKURL):
        * platform/soup/SharedBufferSoup.cpp:
        (WebCore::SharedBuffer::SharedBuffer):
        (WebCore::SharedBuffer::clearPlatformData):
        (WebCore::SharedBuffer::maybeTransferPlatformData):
        (WebCore::SharedBuffer::hasPlatformData):
        * plugins/gtk/PluginPackageGtk.cpp:
        (WebCore::PluginPackage::fetchInfo):
        (WebCore::PluginPackage::load):

2014-01-22  Simon Fraser  <simon.fraser@apple.com>

        Surround fixedVisibleContentRect code with USE(TILED_BACKING_STORE)
        https://bugs.webkit.org/show_bug.cgi?id=127461

        Reviewed by Andreas Kling.

        The "fixedVisibleContentRect" code path is only used by platforms
        which enabled TILED_BACKING_STORE, so to reduce confusion, surround
        this code with #if USE(TILED_BACKING_STORE).

        * page/Frame.cpp:
        (WebCore::Frame::createView):
        * page/FrameView.cpp:
        * page/FrameView.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::unscaledVisibleContentSize):
        (WebCore::ScrollView::visibleContentRect):
        * platform/ScrollView.h:
        (WebCore::ScrollView::visibleSize):

2014-01-22  Myles C. Maxfield  <mmaxfield@apple.com>

        ASSERTION FAILED: v.isFixed() in WebCore::RenderStyle::setWordSpacing
        https://bugs.webkit.org/show_bug.cgi?id=126987

        Reviewed by Simon Fraser.

        When "inherit" is specified and there is no parent, Length values have an "Auto" type

        Test: fast/css3-text/css3-word-spacing-percentage/word-spacing-crash.html

        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::setWordSpacing):

2014-01-22  Samuel White  <samuel_white@apple.com>

        AX: Can't always increment web sliders.
        https://bugs.webkit.org/show_bug.cgi?id=127451

        Reviewed by Chris Fleizach.

        Clamping the decrement/increment amount to one when necessary (if a percent change would result in a change of less than one).

        Test: accessibility/range-alter-by-percent.html

        * accessibility/AccessibilityNodeObject.cpp:
        (WebCore::AccessibilityNodeObject::changeValueByPercent):

2014-01-22  Myles C. Maxfield  <mmaxfield@apple.com>

        Remove CSS3_TEXT_DECORATION define
        https://bugs.webkit.org/show_bug.cgi?id=127333

        Reviewed by Simon Fraser.

        This is required for unprefixing the text-decoration-* CSS properties.

        No new tests are necessary becase the flag was already on by default.

        * Configurations/FeatureDefines.xcconfig:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::renderTextDecorationSkipFlagsToCSSValue):
        (WebCore::ComputedStyleExtractor::propertyValue):
        * css/CSSParser.cpp:
        (WebCore::isColorPropertyID):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::addTextDecorationProperty):
        (WebCore::CSSParser::parseTextUnderlinePosition):
        * css/CSSParser.h:
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::operator TextUnderlinePosition):
        * css/CSSPropertyNames.in:
        * css/CSSValueKeywords.in:
        * css/DeprecatedStyleBuilder.cpp:
        (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
        * css/StylePropertyShorthand.cpp:
        (WebCore::webkitTextDecorationShorthand):
        (WebCore::shorthandForProperty):
        (WebCore::matchingShorthandsForLonghand):
        * css/StylePropertyShorthand.h:
        * css/StyleResolver.cpp:
        (WebCore::shouldApplyPropertyInParseOrder):
        (WebCore::isValidVisitedLinkProperty):
        (WebCore::StyleResolver::applyProperty):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::setPlatformStrokeStyle):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::platformInit):
        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::createPen):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::computeMaxLogicalTop):
        * rendering/InlineFlowBox.h:
        * rendering/InlineTextBox.cpp:
        (WebCore::textDecorationStyleToStrokeStyle):
        (WebCore::boundingBoxForAllActiveDecorations):
        (WebCore::InlineTextBox::paintDecoration):
        * rendering/RenderObject.cpp:
        (WebCore::decorationColor):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::maxLogicalTop):
        * rendering/RootInlineBox.h:
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline):
        (WebCore::RenderStyle::colorIncludingFallback):
        (WebCore::RenderStyle::visitedDependentColor):
        * rendering/style/RenderStyle.h:
        * rendering/style/RenderStyleConstants.h:
        * rendering/style/StyleRareInheritedData.cpp:
        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
        (WebCore::StyleRareInheritedData::operator==):
        * rendering/style/StyleRareInheritedData.h:
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        (WebCore::StyleRareNonInheritedData::operator==):
        * rendering/style/StyleRareNonInheritedData.h:

2014-01-22  Chris Fleizach  <cfleizach@apple.com>

        AX: Do not return an accessible name for an object just because it has tabindex=0
        https://bugs.webkit.org/show_bug.cgi?id=126914

        Reviewed by Mario Sanchez Prada.

        WebKit has code to return an accessible name for any object that is "generically" focusable (ie. tabindex=0).
        This behavior, which is not supported in ARIA, has caused many problems for VoiceOver. Often VoiceOver will
        speak all the text underneath any type of group.

        I think we need to revert this behavior and follow the ARIA spec more closely.

        Test: accessibility/aria-describedby-ensures-visibility.html

        * accessibility/AccessibilityNodeObject.cpp:
        (WebCore::AccessibilityNodeObject::visibleText):
        (WebCore::AccessibilityNodeObject::title):

2014-01-22  Brady Eidson  <beidson@apple.com>

        The IDB backing store get() method shouldn't call IDB callbacks directly
        https://bugs.webkit.org/show_bug.cgi?id=127453

        Reviewed by Beth Dakin.

        * Modules/indexeddb/IDBServerConnection.h:
        (WebCore::IDBGetResult::IDBGetResult): Add a new structure to hold all of the
          possible results of a get() call.

        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
        (WebCore::IDBServerConnectionLevelDB::get): Don't call IDBCallbacks directly.
          Instead, return the GetResult to the GetOperation which will make IDBCallbacks.
        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:

        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
        (WebCore::GetOperation::perform): Get all of the IDBGetResults in the completion callback
          make the appropriate IDBCallback.
        * Modules/indexeddb/IDBTransactionBackendOperations.h:

2014-01-22  Dean Jackson  <dino@apple.com>

        Unreviewed attempt to fix 32-bit builds.

        Use long long rather than GC3Dintptr.

        * html/canvas/ANGLEInstancedArrays.cpp:
        (WebCore::ANGLEInstancedArrays::drawElementsInstancedANGLE):
        * html/canvas/ANGLEInstancedArrays.h:
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::drawElementsInstanced):
        * html/canvas/WebGLRenderingContext.h:

2014-01-21  Brady Eidson  <beidson@apple.com>

        IDB: "Put" support
        <rdar://problem/15779643> and https://bugs.webkit.org/show_bug.cgi?id=127401

        Reviewed by Alexey Proskuryakov.

        Add persistent encode/decode for storage to the database:
        * Modules/indexeddb/IDBKey.cpp:
        (WebCore::IDBKey::encode):
        (WebCore::IDBKey::decode):
        * Modules/indexeddb/IDBKey.h:

        Add a data class to represent IDBKey suitable for crossing IPC:
        * Modules/indexeddb/IDBKeyData.cpp: Added.
        (WebCore::IDBKeyData::IDBKeyData):
        (WebCore::IDBKeyData::maybeCreateIDBKey):
        (WebCore::IDBKeyData::isolatedCopy):
        * Modules/indexeddb/IDBKeyData.h: Added.
        (WebCore::IDBKeyData::IDBKeyData):

        * platform/CrossThreadCopier.cpp:
        (WebCore::IDBKeyData>::copy):
        * platform/CrossThreadCopier.h:

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:

2014-01-22  Dean Jackson  <dino@apple.com>

        [WebGL] Implement ANGLE_instanced_arrays
        https://bugs.webkit.org/show_bug.cgi?id=127257

        Reviewed by Brent Fulgham.

        Implement the instanced drawing WebGL extension,
        ANGLE_instanced_arrays. This is currently Mac-only,
        but should be portable to other platforms if their
        OpenGL exposes the functions. It's also done in a way
        that will make exposing it to WebGL2 simple.

        Test: fast/canvas/webgl/angle-instanced-arrays.html

        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.list.am:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        Add the new files to all the build systems.

        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::toJS): Link JS side to C++ side.

        * html/canvas/ANGLEInstancedArrays.cpp: Added.
        (WebCore::ANGLEInstancedArrays::ANGLEInstancedArrays):
        * html/canvas/ANGLEInstancedArrays.h: Added.
        * html/canvas/ANGLEInstancedArrays.idl: Added.
        New boilerplate files that expose the extension methods.

        * html/canvas/WebGLExtension.h: New extension enum.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::validateVertexAttributes): Add an optional
        parameter representing the number of instance primitives we are asked
        to draw. Use that for the draw count if looking at an instanced attribute.
        Also make sure we see at least one non-instanced attribute.
        (WebCore::WebGLRenderingContext::validateDrawArrays): Update this so it could
        be used from either drawArrays or drawArraysInstanced.
        (WebCore::WebGLRenderingContext::drawArrays):
        (WebCore::WebGLRenderingContext::validateDrawElements): Same here, now can be
        used by the instanced and non-instanced versions.
        (WebCore::WebGLRenderingContext::drawElements):
        (WebCore::WebGLRenderingContext::getExtension): Create and return the new extension.
        (WebCore::WebGLRenderingContext::getSupportedExtensions): Add new extension to the list.
        (WebCore::WebGLRenderingContext::getVertexAttrib): Intercept a query to the divisor
        attribute and return the value we kept in the state.
        (WebCore::WebGLRenderingContext::drawArraysInstanced): Call the GC3D method.
        (WebCore::WebGLRenderingContext::drawElementsInstanced): Ditto.
        (WebCore::WebGLRenderingContext::vertexAttribDivisor): Ditto.

        * html/canvas/WebGLRenderingContext.h: Define the new methods and parameters.

        * html/canvas/WebGLVertexArrayObjectOES.cpp:
        (WebCore::WebGLVertexArrayObjectOES::setVertexAttribDivisor): Keep a record of the
        divisor if we set it.
        * html/canvas/WebGLVertexArrayObjectOES.h:
        (WebCore::WebGLVertexArrayObjectOES::VertexAttribState::VertexAttribState):

        * platform/graphics/GraphicsContext3D.h: New enum.
        * platform/graphics/mac/GraphicsContext3DMac.mm:
        (WebCore::GraphicsContext3D::drawArraysInstanced): The actual calls into OpenGL.
        (WebCore::GraphicsContext3D::drawElementsInstanced): Ditto.
        (WebCore::GraphicsContext3D::vertexAttribDivisor): Ditto.

        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Empty implementations
        for non-mac platforms.

        * platform/graphics/ios/GraphicsContext3DIOS.h: Define the iOS names for the
        functions.

2014-01-22  Zalan Bujtas  <zalan@apple.com>

        [CSS Shapes] shape-inside rectangle layout can fail
        https://bugs.webkit.org/show_bug.cgi?id=124784

        Reviewed by Darin Adler.

        Early subpixel rounding/flooring/ceiling can have unwanted
        side effect on the final pixel value. Delay pixel
        conversions as much as possible.

        Existing test is changed to reflect subpixel functionality.

        * rendering/shapes/RectangleShape.cpp:
        (WebCore::RectangleShape::firstIncludedIntervalLogicalTop):

2014-01-22  Jochen Eisinger  <jochen@chromium.org>

        Add protocolIsInHTTPFamily for strings and use it where appropriate
        https://bugs.webkit.org/show_bug.cgi?id=127336

        Reviewed by Alexey Proskuryakov.

        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::parseAttribute):
        * page/ContentSecurityPolicy.cpp:
        (WebCore::CSPSource::schemeMatches):
        * page/SecurityPolicy.cpp:
        (WebCore::SecurityPolicy::generateReferrerHeader):
        * platform/URL.cpp:
        (WebCore::protocolIsInHTTPFamily):
        * platform/URL.h:

2014-01-22  Zalan Bujtas  <zalan@apple.com>

        Subpixel Layout: SimpleLineLayout needs more position rounding to match InlineFlowBox layout.
        https://bugs.webkit.org/show_bug.cgi?id=127404

        Reviewed by Antti Koivisto.

        In order to produce a CSS pixel perfect layout, SimpleLineLayout needs to
        round line positions to CSS (integral) position similarly to InlineFlowBox.

        Existing tests cover it.

        * rendering/SimpleLineLayoutResolver.h:
        (WebCore::SimpleLineLayout::RunResolver::Run::rect):
        (WebCore::SimpleLineLayout::RunResolver::Run::baseline):

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

        Unreviewed rollout of r162534, this caused inspector test failures.

        * bindings/js/PageScriptDebugServer.cpp:
        (WebCore::PageScriptDebugServer::addListener):
        (WebCore::PageScriptDebugServer::removeListener):
        (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
        (WebCore::PageScriptDebugServer::didRemoveLastListener):
        * bindings/js/PageScriptDebugServer.h:
        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::ScriptDebugServer):
        (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
        (WebCore::ScriptDebugServer::recompileAllJSFunctionsTimerFired):
        * bindings/js/ScriptDebugServer.h:
        * bindings/js/WorkerScriptDebugServer.cpp:
        (WebCore::WorkerScriptDebugServer::addListener):
        (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
        (WebCore::WorkerScriptDebugServer::removeListener):
        * inspector/InspectorProfilerAgent.cpp:

2014-01-22  peavo@outlook.com  <peavo@outlook.com>

        Crashes in setTextForIterator
        https://bugs.webkit.org/show_bug.cgi?id=127424

        Reviewed by Brent Fulgham.

        * platform/text/icu/UTextProviderLatin1.cpp:
        (WebCore::uTextLatin1Clone): Provide correct buffer size in utext_setup function call.
        (WebCore::uTextLatin1Access): Give correct buffer size to memset call.
        (WebCore::openLatin1UTextProvider): Ditto.

2014-01-22  Jer Noble  <jer.noble@apple.com>

        [Mac] MediaPlayerPrivateMediaSourceAVFObjC::load ASSERTs on lots of tests
        https://bugs.webkit.org/show_bug.cgi?id=127430

        Reviewed by Eric Carlson.

        When other registered media engines cannot load a URL, the engine selection
        will eventually pick MediaPlayerPrivateMediaSourceAVFObjC and ask it to load
        the URL. Instead of ASSERTing here, simply reject the URL by setting the
        network state to FormatError.

        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load):

2014-01-22  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>

        [EFL][GTK] Get EFL and GTK compiling with ACCESSIBILITY disabled
        https://bugs.webkit.org/show_bug.cgi?id=127119

        Reviewed by Mario Sanchez Prada.

        At build time, the compiler was not able to determine which Timer's constructor to call in AXObjectCache when
        ACCESSIBILITY is not enabled, fixing that.
        Also guarding some members in AccessibilityObject that are only being used by EFL and GTK with ACCESSIBILITY.

        * accessibility/AXObjectCache.h:
        (WebCore::AXObjectCache::AXObjectCache):
        * accessibility/AccessibilityObject.h:

2014-01-22  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>

        Refactor calculation of hasRx and hasRy values in SVGPathData
        https://bugs.webkit.org/show_bug.cgi?id=127423

        Reviewed by Darin Adler.

        This is a follow-up on https://bugs.webkit.org/show_bug.cgi?id=127337

        * rendering/svg/SVGPathData.cpp:
        (WebCore::updatePathFromRectElement):

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

        Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
        https://bugs.webkit.org/show_bug.cgi?id=127409

        Reviewed by Timothy Hatcher.

        * bindings/js/ScriptDebugServer.h:
        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::ScriptDebugServer):
        Remove m_recompileTimer and the recompile soon function.
        We can just recompile immediately in all existing cases.

        * bindings/js/PageScriptDebugServer.h:
        * bindings/js/PageScriptDebugServer.cpp:
        (WebCore::PageScriptDebugServer::addListener):
        (WebCore::PageScriptDebugServer::removeListener):
        (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
        (WebCore::PageScriptDebugServer::didAddFirstListener):
        (WebCore::PageScriptDebugServer::didRemoveLastListener):
        Add a "didAddFirstListener" to match "didRemoveLastListener".
        Only recompile functions when we attach the debugger and when
        we detach the last listener.

        * bindings/js/WorkerScriptDebugServer.cpp:
        (WebCore::WorkerScriptDebugServer::addListener):
        (WebCore::WorkerScriptDebugServer::removeListener):
        (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
        Same thing. Also rearrange the functions to read better.

        * inspector/InspectorProfilerAgent.cpp:
        Use the direct recompile function instead of the removed "soon" version.

2014-01-22  Robert Sipka  <sipka@inf.u-szeged.hu>

        [curl] Improve detecting and handling of SSL client certificate
        https://bugs.webkit.org/show_bug.cgi?id=125006

        Reviewed by Brent Fulgham.

        Add client certificate handling.

        * platform/network/ResourceHandle.h:
        * platform/network/curl/ResourceError.h:
        (WebCore::ResourceError::hasSSLConnectError):
        * platform/network/curl/ResourceHandleCurl.cpp:
        (WebCore::ResourceHandle::setClientCertificateInfo):
        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::ResourceHandleManager::initializeHandle):
        * platform/network/curl/SSLHandle.cpp:
        (WebCore::addAllowedClientCertificate):
        (WebCore::setSSLClientCertificate):
        * platform/network/curl/SSLHandle.h:

2014-01-22  Mihai Maerean  <mmaerean@adobe.com>

        [CSS Regions] layerOwner in RenderNamedFlowFragment cannot return null
        https://bugs.webkit.org/show_bug.cgi?id=127343

        Reviewed by Sam Weinig.

        RenderNamedFlowFragment::layerOwner cannot return null because regions create stacking
        contexts which create layers.

        No new tests, no functional change.

        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::hasCompositingRegionDescendant):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::calculateClipRects):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::computeRegionCompositingRequirements):
        * rendering/RenderNamedFlowFragment.h:

2014-01-22  Antti Koivisto  <antti@apple.com>

        Avoid unthrottled layer flushes triggered by RenderLayerCompositor::ensureRootLayer
        https://bugs.webkit.org/show_bug.cgi?id=127426

        Reviewed by Anders Carlsson.
        
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateScrollLayerPosition):
        (WebCore::RenderLayerCompositor::frameViewDidScroll):

            Factor scroll layer position update to a function.

        (WebCore::RenderLayerCompositor::ensureRootLayer):
        
            Stop calling frameViewDidChangeSize/frameViewDidScroll. Instead call the relevent functions
            directly. This avoid unthrottled layer flush that is done when the view actually scrolls.

        * rendering/RenderLayerCompositor.h:

2014-01-22  Mihai Tica  <mitica@adobe.com>

        [CSS Background Blending] -webkit-background-blend-mode fails for certain SVG files
        https://bugs.webkit.org/show_bug.cgi?id=127350

        Reviewed by Dirk Schulze.

        The graphics context of the SVG inherits the blend mode set
        on the background layer. Fix consists in drawing the SVG
        in a transparency layer.

        Test: css3/compositing/background-blend-mode-svg.html

        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::draw): Begin a transparency layer if a blend mode is set.

2014-01-22  Antti Koivisto  <antti@apple.com>

        Update overlay scrollbars in single pass
        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.

2014-01-22  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] Incorrect layout of a region pseudo children
        https://bugs.webkit.org/show_bug.cgi?id=126146

        Reviewed by David Hyatt.

        Test: fast/regions/collapse-anonymous-region.html

        A region behaviour, styled using -webkit-flow-from, is modeled using an anonymous
        block created to fragment the named flow content inside the region. We have to prevent
        the behaviour of anonymous children collapsing for this block to make sure that the
        region element children are still laid out properly when the region element becomes an ordinary
        element.

        * rendering/RenderBlockFlow.h:

2014-01-21  Ryuan Choi  <ryuan.choi@samsung.com>

        Remove unused "acceleratedCompositingForScrollableFramesEnabled" setting
        https://bugs.webkit.org/show_bug.cgi?id=127402

        Reviewed by Anders Carlsson.

        compositing/iframes/iframe-composited-scrolling.html is updated because
        there are no usages in WebCore.

        * page/Settings.in:

2014-01-21  Alex Christensen  <achristensen@webkit.org>

        Compile fix for using libsoup on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=127377

        Reviewed by Daniel Bates.

        * platform/network/soup/ProxyResolverSoup.cpp:
        (soupProxyResolverWkSetProperty):
        (soupProxyResolverWkGetProperty):
        (soupProxyResolverWkGetProxyURISync):
        Replaced uint with unsigned.

2014-01-21  Daniel Bates  <dabates@apple.com>

        Break up single assertion into two assertions in HTMLMediaElement::returnPlatformLayer()

        Following up after <http://trac.webkit.org/changeset/162473>, we should break up
        the assertion into two assertions as suggested by Darin Adler. Separating the single
        assertion into two assertions makes it straightforward to determine the conjunct that
        failed among other benefits.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::parseAttribute):

2014-01-21  Brady Eidson  <beidson@apple.com>

        The IDB backing store put() method shouldn't call IDB callbacks directly
        https://bugs.webkit.org/show_bug.cgi?id=127399

        Reviewed by Beth Dakin.

        Refactor the put() callback to take a resulting key or an error.
        * Modules/indexeddb/IDBServerConnection.h:

        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
        (WebCore::PutOperation::perform): Call to the backing store, then perform the
          appropriate IDB callback whether a key or an error was returned.
        * Modules/indexeddb/IDBTransactionBackendOperations.h:

        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
        (WebCore::IDBServerConnectionLevelDB::put): Don’t call IDB callbacks directly.
          Instead, pass the resulting key/error back to the PutOperation.
        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:

2014-01-21  Jae Hyun Park  <jae.park@company100.net>

        Use nullptr in HTMLCanvasElement
        https://bugs.webkit.org/show_bug.cgi?id=127388

        Reviewed by Gyuyoung Kim.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::getContext):
        (WebCore::HTMLCanvasElement::drawingContext):
        (WebCore::HTMLCanvasElement::existingDrawingContext):

2014-01-21  László Langó  <llango.u-szeged@partner.samsung.com>

        Assertion failure in Range::nodeWillBeRemoved
        https://bugs.webkit.org/show_bug.cgi?id=121694

        Reviewed by Ryosuke Niwa.

        Based on Blink a change: https://chromium.googlesource.com/chromium/blink/+/407c1d7b2c45974aa614b3f847ffe9e8fce205fa

        This patch fix an assertion failure. Range::nodeWillBeRemoved() might
        be called with removed node in ContainerNode, when DOMNodeRemovedFromDocument
        event handler calls removeChild(), for node being removed.

        Test: fast/dom/Range/remove-twice-crash.html

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::willRemoveChild):
        * dom/ContainerNode.h:

2014-01-21  Tim Horton  <timothy_horton@apple.com>

        REGRESSION (r161580): Some PDFs render outside their <img>
        https://bugs.webkit.org/show_bug.cgi?id=127381
        <rdar://problem/15872168>

        Reviewed by Simon Fraser.

        * platform/graphics/cg/PDFDocumentImage.cpp:
        (WebCore::transformContextForPainting):
        Only try to make the scale uniform if it isn't already, and use the minimum
        of the two original scales when doing so, so that it is absolutely certain
        to fit inside space allocated for the image during layout.

2014-01-21  Simon Fraser  <simon.fraser@apple.com>

        Remove #if PLATFORM(IOS) in various places around customFixedPositionLayoutRect() code
        https://bugs.webkit.org/show_bug.cgi?id=127373

        Reviewed by Beth Dakin.

        Instead of PLATFORM(IOS) #idefs at every call site for viewportConstrainedVisibleContentRect(),
        move the #ifdef inside viewportConstrainedVisibleContentRect().
        
        The one call site that needs special handling is RenderLayerBacking::updateCompositedBounds(),
        which needs to avoid clipping fixed layers to the custom fixed position rect, but instead to
        visibleContentRect() (which is really the document bounds on iOS). This ensures that the
        fixed layers aren't clipped when zooming out.

        * page/FrameView.cpp:
        (WebCore::FrameView::viewportConstrainedVisibleContentRect):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::stickyPositionOffset):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateCompositedBounds):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
        (WebCore::RenderLayerCompositor::computeFixedViewportConstraints):
        (WebCore::RenderLayerCompositor::computeStickyViewportConstraints):

2014-01-21  Andy Estes  <aestes@apple.com>

        [iOS] Allow all clients to link against WebCore
        https://bugs.webkit.org/show_bug.cgi?id=127372
        
        Reviewed by Dan Bernstein.

        * Configurations/WebCore.xcconfig:

2014-01-21  Bear Travis  <betravis@adobe.com>

        [CSS Shapes] Preserve box-shape order when serializing shape values
        https://bugs.webkit.org/show_bug.cgi?id=127200

        Reviewed by Dirk Schulze.

        Convert the parsed shape-box pair to a CSSValueList rather than directly
        adding the box value to BasicShape. The CSSValueList preserves the
        shape-box ordering, and cleans up a little bit of the code shared between
        clip and shape values.

        Modifying existing parsing tests.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::shapePropertyValue): Factor out code common to generating shape
        values.
        (WebCore::ComputedStyleExtractor::propertyValue): Generate a CSSValueList when
        you have both a shape and a box.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseBasicShapeAndOrBox): Factor out code common to clip
        paths and shape properties that parses the [basic-shape || box] syntax from
        the CSS Shapes spec.
        (WebCore::CSSParser::parseShapeProperty): Parse shape-box pairs as a CSSValueList.
        * css/DeprecatedStyleBuilder.cpp:
        (WebCore::ApplyPropertyShape::applyValue): Use the CSSValueList for shape-box pairs.
        * css/CSSValueList.h:
        (WebCore::CSSValueList::itemWithoutBoundsCheck): Add a const version.
        * page/animation/CSSPropertyAnimation.cpp:
        (WebCore::blendFunc): Specify a box when blending.
        * rendering/style/ShapeValue.h:
        (WebCore::ShapeValue::createShapeValue): Add a box parameter.
        (WebCore::ShapeValue::ShapeValue): Ditto.

2014-01-21  Daniel Bates  <dabates@apple.com>

        Fix the iOS Simulator release build

        Substitute ASSERT_UNUSED() for ASSERT() to resolve a compiler warning
        that the argument platformLayer is unused. The argument platformLayer
        is only used in the asserted condition, which isn't compiled in a
        release build; => the argument is unused in a release build.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::parseAttribute):

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

        Since MidpointState is a class, it should behave like a class
        https://bugs.webkit.org/show_bug.cgi?id=127154

        Reviewed by David Hyatt.

        I modified MidpointState to behave like a class, updated the call sites also.

        No new tests, no behavior change.

        * platform/text/BidiResolver.h:
        (WebCore::MidpointState::reset):
        (WebCore::MidpointState::startIgnoringSpaces):
        (WebCore::MidpointState::stopIgnoringSpaces):
        (WebCore::MidpointState::midpoints):
        (WebCore::MidpointState::numMidpoints):
        (WebCore::MidpointState::currentMidpoint):
        (WebCore::MidpointState::incrementCurrentMidpoint):
        (WebCore::MidpointState::decreaseNumMidpoints):
        (WebCore::MidpointState::betweenMidpoints):
        (WebCore::MidpointState::setBetweenMidpoints):
        (WebCore::MidpointState::addMidpoint): Renamed from deprecatedAddMidpoint, since now
        its private, we no longer need to discourage callers from using it.
        * rendering/InlineIterator.h:
        (WebCore::IsolateTracker::addFakeRunIfNecessary):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlockFlow::appendRunsForObject):
        (WebCore::constructBidiRunsForLine):
        * rendering/line/BreakingContextInlineHeaders.h:
        (WebCore::checkMidpoints):
        * rendering/line/TrailingObjects.cpp:
        (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):

2014-01-21  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r162452.
        http://trac.webkit.org/changeset/162452
        https://bugs.webkit.org/show_bug.cgi?id=127366

        broke a few tests on all Mac WebKit1 bots (Requested by
        thorton on #webkit).

        * WebCore.exp.in:
        * page/FocusController.cpp:
        (WebCore::FocusController::FocusController):
        (WebCore::FocusController::setFocused):
        (WebCore::FocusController::setActive):
        (WebCore::FocusController::setContentIsVisible):
        * page/FocusController.h:
        (WebCore::FocusController::isActive):
        (WebCore::FocusController::isFocused):
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::setIsInWindow):
        (WebCore::Page::setIsVisuallyIdle):
        (WebCore::Page::setIsVisible):
        (WebCore::Page::visibilityState):
        (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
        * page/Page.h:
        (WebCore::Page::isVisible):
        (WebCore::Page::isInWindow):

2014-01-21  Chris Fleizach  <cfleizach@apple.com>

        AX: Mac: Expose the visible text of a password field to AX
        https://bugs.webkit.org/show_bug.cgi?id=127353

        Reviewed by Brent Fulgham.

        The Mac platform should now expose the rendered value of password fields through AX.

        Test: accessibility/password-field-value.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::textLength):
        (WebCore::AccessibilityRenderObject::passwordFieldValue):

2014-01-21  Robert Sipka  <sipka@inf.u-szeged.hu>

        Support SSL error handling in case of synchronous job.
        https://bugs.webkit.org/show_bug.cgi?id=125301

        Reviewed by Brent Fulgham.

        Set ssl error informations for the users.

        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::ResourceHandleManager::dispatchSynchronousJob):

2014-01-21  Simon Fraser  <simon.fraser@apple.com>

        Export systemTotalMemory() and systemMemoryLevel() for MobileSafari
        https://bugs.webkit.org/show_bug.cgi?id=127360

        Reviewed by Andy Estes.
        
        MobileSafari inappropriately calls these WebCore functions directly,
        so export them.

        * WebCore.exp.in:

2014-01-21  Simon Fraser  <simon.fraser@apple.com>

        Clean up PLATFORM(IOS) code related to the custom fixed position layout rect
        https://bugs.webkit.org/show_bug.cgi?id=127362

        Reviewed by Dave Hyatt.

        Various platforms customize the rect used to layout position:fixed elements,
        and each modified RenderBox::availableLogicalHeight/WidthUsing() in different
        ways.
        
        Clean this up by adding RenderView::clientLogicalWidth/HeightForFixedPosition(),
        and moving the platform hacks into it.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::availableLogicalHeightUsing):
        (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
        (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::clientLogicalWidthForFixedPosition):
        (WebCore::RenderView::clientLogicalHeightForFixedPosition):
        * rendering/RenderView.h:

2014-01-21  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>

        ASSERT(time.isFinite()) in SVGSMILElement::createInstanceTimesFromSyncbase
        <https://webkit.org/b/108184>

        Reviewed by Philip Rogers.

        In the case a SMILElement timing had a syncbase dependency on an indefinite value
        the assert were raised. The assert has been removed and a check has been added
        instead that prevents the addition of indefinite times to the time list.

        Test: svg/animations/smil-syncbase-self-dependency.svg

        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
          ASSERT removed.

2014-01-21  Tim Horton  <timothy_horton@apple.com>

        Address late review naming comments after r162453.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        * platform/graphics/mac/CALayerWebAdditions.h: Removed.
        * platform/graphics/mac/CALayerWebAdditions.mm: Removed.
        * platform/graphics/mac/WebCoreCALayerExtras.h: Added.
        * platform/graphics/mac/WebCoreCALayerExtras.mm: Added.
        (-[CALayer web_disableAllActions]):

2014-01-21  Tim Horton  <timothy_horton@apple.com>

        Keep CALayer implicit animation disabling code in a single place
        https://bugs.webkit.org/show_bug.cgi?id=127355

        Reviewed by Simon Fraser.

        * WebCore.xcodeproj/project.pbxproj:
        Add CALayerWebAdditions.{h,mm}.

        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayerMac::commonInit):
        Remove nullActionsDictionary() and use [CALayer(WebAdditions) web_disableAllActions] instead.

        * platform/graphics/mac/CALayerWebAdditions.h: Added.
        * platform/graphics/mac/CALayerWebAdditions.mm: Added.
        (-[CALayer web_disableAllActions]):
        Added. Disable all implicit actions on the layer.

2014-01-21  Gavin Barraclough  <barraclough@apple.com>

        Change Page, FocusController to use ViewState
        https://bugs.webkit.org/show_bug.cgi?id=126533

        Reviewed by Tim Horton.

        These classes currently maintain a set of separate fields to represent the view state;
        combine these into a single field, and allow WebPage to send the combined update rather
        than individual changes.

        Maintain existing interface for WebKit1 clients.

        * WebCore.exp.in:
            - Added WebCore::setViewState, removed WebCore::setIsVisuallyIdle.
        * page/FocusController.cpp:
        (WebCore::FocusController::FocusController):
            - Initialize combined m_viewState.
        (WebCore::FocusController::setFocused):
            - Calls setViewState.
        (WebCore::FocusController::setFocusedInternal):
            - setFocused -> setFocusedInternal.
        (WebCore::FocusController::setViewState):
            - Added, update all ViewState flags.
        (WebCore::FocusController::setActive):
            - Calls setViewState.
        (WebCore::FocusController::setActiveInternal):
            - setActive -> setActiveInternal.
        (WebCore::FocusController::setContentIsVisible):
            - Calls setViewState.
        (WebCore::FocusController::setContentIsVisibleInternal):
            - setContentIsVisible -> setContentIsVisibleInternal.
        * page/FocusController.h:
        (WebCore::FocusController::isActive):
        (WebCore::FocusController::isFocused):
        (WebCore::FocusController::contentIsVisible):
            - Implemented in terms of ViewState.
        * page/Page.cpp:
        (WebCore::Page::Page):
            - Initialize using PageInitialViewState.
        (WebCore::Page::setIsInWindow):
            - Calls setViewState.
        (WebCore::Page::setIsInWindowInternal):
            - setIsInWindow -> setIsInWindowInternal.
        (WebCore::Page::setIsVisuallyIdleInternal):
            - setIsVisuallyIdle -> setIsVisuallyIdleInternal.
        (WebCore::Page::setViewState):
            - Added, update all ViewState flags, including FocusController.
        (WebCore::Page::setIsVisible):
            - Calls setViewState.
        (WebCore::Page::setIsVisibleInternal):
            - setIsVisible -> setIsVisibleInternal.
        (WebCore::Page::visibilityState):
            - m_isVisible -> isVisible()
        (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
            - m_isVisible -> isVisible()
        * page/Page.h:
        (WebCore::Page::isVisible):
        (WebCore::Page::isInWindow):
            - Implemented in terms of ViewState.
        (WebCore::Page::scriptedAnimationsSuspended):
            - Combined member fields into ViewState::Flags.

2014-01-21  Lauro Neto  <lauro.neto@openbossa.org>

        Remove PLATFORM(NIX) from WebCore
        https://bugs.webkit.org/show_bug.cgi?id=127299

        Reviewed by Anders Carlsson.

        * editing/Editor.cpp:
        (WebCore::Editor::cut):
        (WebCore::Editor::copy):
        (WebCore::Editor::copyImage):
        * editing/Editor.h:
        * html/HTMLCanvasElement.h:
        * loader/EmptyClients.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::defaultObjectContentType):
        * page/ChromeClient.h:
        * page/DragController.cpp:
        (WebCore::DragController::startDrag):
        * platform/Cursor.h:
        * platform/DragData.h:
        * platform/DragImage.h:
        * platform/FileSystem.h:
        * platform/LocalizedStrings.h:
        * platform/Widget.h:
        * platform/audio/FFTFrame.h:
        * platform/audio/HRTFElevation.cpp:
        * platform/cairo/WidgetBackingStore.h:
        * platform/graphics/ANGLEWebKitBridge.h:
        * platform/graphics/FontPlatformData.h:
        * platform/graphics/GLContext.cpp:
        (WebCore::GLContext::createContextForWindow):
        * platform/graphics/GLContext.h:
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/GraphicsContext3DPrivate.cpp:
        (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
        * platform/graphics/OpenGLESShims.h:
        * platform/graphics/OpenGLShims.cpp:
        (WebCore::getProcAddress):
        * platform/graphics/OpenGLShims.h:
        * platform/graphics/PlatformLayer.h:
        * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
        (WebCore::Extensions3DOpenGL::createVertexArrayOES):
        (WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
        (WebCore::Extensions3DOpenGL::isVertexArrayOES):
        (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
        (WebCore::Extensions3DOpenGL::supportsExtension):
        * platform/graphics/opengl/Extensions3DOpenGL.h:
        * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
        * platform/graphics/opengl/Extensions3DOpenGLES.h:
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
        (WebCore::GraphicsContext3D::reshape):
        * platform/graphics/opengl/TemporaryOpenGLSetting.cpp:
        * platform/graphics/texmap/TextureMapper.h:
        * platform/network/ResourceHandle.h:
        * plugins/PluginPackage.cpp:
        * plugins/PluginView.cpp:
        (WebCore::PluginView::PluginView):
        * plugins/PluginView.h:
        * plugins/PluginViewNone.cpp:
        * rendering/SimpleLineLayout.cpp:
        (WebCore::SimpleLineLayout::canUseFor):

2014-01-21  Eric Carlson  <eric.carlson@apple.com>

        Add &lrm; &rlm; and &nbsp; to WebVTT parser
        https://bugs.webkit.org/show_bug.cgi?id=85112

        Reviewed by Jer Noble.

        No new tests, track-webvtt-tc022-entities.html was updated to test this.

        * html/track/WebVTTTokenizer.cpp:
        (WebCore::WebVTTTokenizer::nextToken): Support RLM, LRM, and NBSP entities.

2014-01-21  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r162354.
        http://trac.webkit.org/changeset/162354
        https://bugs.webkit.org/show_bug.cgi?id=127354

        Appears to have broken accessibility in a non-trivial way
        (Requested by ap on #webkit).

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::updateScrollbars):

2014-01-21  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r162445.
        http://trac.webkit.org/changeset/162445
        https://bugs.webkit.org/show_bug.cgi?id=127351

        It broke the 32 bit GTK build (Requested by Ossy on #webkit).

        * rendering/style/StyleRareInheritedData.cpp:

2014-01-21  László Langó  <llango.u-szeged@partner.samsung.com>

        Wrong struct size when CSS_IMAGE_ORIENTATION and CSS3_TEXT_DECORATION are enabled.
        https://bugs.webkit.org/show_bug.cgi?id=127346

        Efl build fix.

        Reviewed by Csaba Osztrogonác.

        * rendering/style/StyleRareInheritedData.cpp:

2014-01-21  Antti Koivisto  <antti@apple.com>

        Delay initial layer flush during loading on all platforms
        https://bugs.webkit.org/show_bug.cgi?id=127347

        Reviewed by Andreas Kling.

        To reduce unnecessary repaints enable the same behaviour as iOS already has.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
        
            Set the initial state of m_layerFlushThrottlingEnabled correctly.

        (WebCore::RenderLayerCompositor::scheduleLayerFlush):
        (WebCore::RenderLayerCompositor::startInitialLayerFlushTimerIfNeeded):
        * rendering/RenderLayerCompositor.h:
        
            Enable initial layer flush delay on all platforms.

2014-01-21  Mihai Tica  <mitica@adobe.com>

        If you set a tiled cross-faded-image or a tiled gradient as
        a background layer, -webkit-background-blend-mode doesn't work.
        The problem consists in the blendMode parameter not being set
        for these specific drawing paths.

        https://bugs.webkit.org/show_bug.cgi?id=126888
        Reviewed by Dirk Schulze.

        Test: css3/compositing/background-blend-mode-tiled-layers.html

        * platform/graphics/CrossfadeGeneratedImage.cpp:
        (WebCore::CrossfadeGeneratedImage::drawPattern): Add the blendMode parameter and pass it to ImageBuffer::drawPattern.
        * platform/graphics/GradientImage.cpp:
        (WebCore::GradientImage::drawPattern): Add the blendMode parameter and pass it to ImageBuffer::drawPattern.
        * platform/graphics/ImageBuffer.h: Add a BlendMode parameter to the drawPattern method.
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::ImageBuffer::drawPattern): Add the default BlendMode parameter to the method declaration.
        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::drawPattern): Add and use the blendMode parameter for all the code paths.
        * platform/graphics/wince/ImageBufferWinCE.cpp:
        (WebCore::BufferedImage::drawPattern): Add the default BlendMode parameter to the method declaration.

2014-01-21  Gurpreet Kaur  <k.gurpreet@samsung.com>

        The WebCore.vcxproj.filters doesnot apply
        https://bugs.webkit.org/show_bug.cgi?id=127338

        Reviewed by Csaba Osztrogonác.

        * WebCore.vcxproj/WebCore.vcxproj.filters:
        Modified the WebCore.vcxproj.filters so that it is applied when loading
        WebCore.vcxproj file.

2014-01-21  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>

        Fix SVG animations which set rx or ry attributes
        https://bugs.webkit.org/show_bug.cgi?id=127337

        Reviewed by Dirk Schulze.

        Test: svg/stroke/animated-non-scaling-rxry.html

        Merged from Blink: https://src.chromium.org/viewvc/blink?revision=152376&view=revision

        * rendering/svg/RenderSVGRect.cpp:
        (WebCore::RenderSVGRect::updateShapeFromElement):
        * rendering/svg/SVGPathData.cpp:
        (WebCore::updatePathFromRectElement):

2014-01-21  Krzysztof Czech  <k.czech@samsung.com>

        [ATK] Expose aria-flowto through ATK_RELATION_FLOWS_TO
        https://bugs.webkit.org/show_bug.cgi?id=127291

        Reviewed by Mario Sanchez Prada.

        Test: accessibility/aria-flowto.html

        Expose aria-flowto through ATK_RELATION_FLOWS_TO according to
        http://www.w3.org/TR/wai-aria-implementation/#mapping_state-property

        * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
        (setAtkRelationSetFromCoreObject):

2014-01-20  Ryuan Choi  <ryuan.choi@samsung.com>

        [CMAKE] Remove Nix from CMake scripts
        https://bugs.webkit.org/show_bug.cgi?id=127264

        Reviewed by Anders Carlsson.

        * CMakeLists.txt:

2014-01-20  Anders Carlsson  <andersca@apple.com>

        Remove an unused PageGroup function
        https://bugs.webkit.org/show_bug.cgi?id=127327

        Reviewed by Andreas Kling.

        * WebCore.exp.in:
        * page/PageGroup.cpp:
        * page/PageGroup.h:

2014-01-20  Anders Carlsson  <andersca@apple.com>

        Move user style sheet handling to UserContentController
        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):

2014-01-20  Benjamin Poulain  <benjamin@webkit.org>

        Add a nicer way to iterate over all the attributes of an element
        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):

2014-01-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Do refactor in collectGradientAttributes() and renderStyleForLengthResolve()
        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):

2014-01-20  Anders Carlsson  <andersca@apple.com>

        UserContentController should keep track of user scripts
        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):

2014-01-20  Anders Carlsson  <andersca@apple.com>

        Give each page a UserContentController
        https://bugs.webkit.org/show_bug.cgi?id=127315
        <rdar://problem/15861296>

        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:

2014-01-20  Jeremy Jones  <jeremyj@apple.com>

        Add AVKit fullscreen video interface.
        https://bugs.webkit.org/show_bug.cgi?id=126818

        Reviewed by Eric Carlson.

        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.

2014-01-20  Zan Dobersek  <zdobersek@igalia.com>

        Replace uses of std::forward<T>(), std::unique_ptr<T>::clear() that landed in r162368
        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):

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

        Modernize WebCore/inspector with nullptr
        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):

2014-01-20  Anders Carlsson  <andersca@apple.com>

        Add empty UserContentController class
        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.

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

        Run clang-modernize and let it add a bunch of missing overrides in WebCore/inspector
        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:

2014-01-20  Zan Dobersek  <zdobersek@igalia.com>

        Move WebAudio source code to std::unique_ptr
        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):

2014-01-20  Morten Stenshorne  <mstensho@opera.com>

        Region based multicol: support explicit column breaks
        https://bugs.webkit.org/show_bug.cgi?id=123993

        Reviewed by David Hyatt.

        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 br