1. 16 Aug, 2013 9 commits
  2. 15 Aug, 2013 23 commits
    • bfulgham@apple.com's avatar
      [Windows] Unreviewed gardening. Correct some test expectations that now pass. · 7f4fd5d2
      bfulgham@apple.com authored
      * platform/win/editing/selection/caret-ltr-right-expected.txt:
      * platform/win/editing/selection/caret-rtl-2-left-expected.txt:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154163 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7f4fd5d2
    • hmuller@adobe.com's avatar
      [CSS Shapes] Add support for shape-outside image values · 87ba9b6b
      hmuller@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119809
      
      Source/WebCore:
      
      Added minimal support for shape-outside image values. A new method that computes
      the excluded intervals for a horizontal line segment was added to the RasterIntervals
      class. The stub RasterShape getExcludedIntervals() method has been replaced by
      one that uses the new method.
      
      Image shapes are represented by a RasterIntervals object, which just encapsulates a
      Region object. The new getExcludedIntervals() method computes the excluded intervals
      for a horizontal line segment between y1 and y2. To find the excluded intervals we
      vertically expand each of the image shape Region's rectangles that fall within the line
      segment, so that they begin at y1 and have height = y2 - y1. The union of the expanded
      rectangles produces a new Region whose horizontal projection defines the excluded intervals.
      
      Reviewed by Alexandru Chiculita.
      
      Tests: fast/shapes/shape-outside-floats/shape-outside-floats-image-001.html
             fast/shapes/shape-outside-floats/shape-outside-floats-image-002.html
      
      * rendering/shapes/RasterShape.cpp:
      (WebCore::RasterShapeIntervals::getExcludedIntervals): See above.
      (WebCore::RasterShape::getExcludedIntervals): Stub method has been replaced by one that uses RasterShapeIntervals::getExcludedIntervals().
      * rendering/shapes/RasterShape.h:
      * rendering/shapes/ShapeOutsideInfo.cpp:
      (WebCore::ShapeOutsideInfo::isEnabledFor): Enable Image valued shapes.
      
      LayoutTests:
      
      Two tests to verify that the initial implementation of shape valued images is working
      for shape-outside.
      
      Reviewed by Alexandru Chiculita.
      
      * fast/shapes/shape-outside-floats/shape-outside-floats-image-001-expected.html: Added.
      * fast/shapes/shape-outside-floats/shape-outside-floats-image-001.html: Added.
      * fast/shapes/shape-outside-floats/shape-outside-floats-image-002-expected.html: Added.
      * fast/shapes/shape-outside-floats/shape-outside-floats-image-002.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154152 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      87ba9b6b
    • rniwa@webkit.org's avatar
      Revert that. The test had been fixed in r154148. · 8277cc87
      rniwa@webkit.org authored
      * TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154150 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8277cc87
    • rniwa@webkit.org's avatar
      <https://webkit.org/b/119873> REGRESSION(r154057):... · ca415ba2
      rniwa@webkit.org authored
      <https://webkit.org/b/119873> REGRESSION(r154057): platform/mac/accessibility/role-subrole-roledescription.html fails
      
      Add a test expectation.
      
      * TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154149 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ca415ba2
    • commit-queue@webkit.org's avatar
      AX: platform/mac/accessibility/role-subrole-roledescription.html is failing · 0c050d12
      commit-queue@webkit.org authored
      <https://webkit.org/b/119821>
      
      Updating our layout test now that accessibleElementById is able
      to fetch the math element correctly.
      
      Patch by Sam White <samuel_white@apple.com> on 2013-08-15
      Reviewed by Chris Fleizach.
      
      * platform/mac/accessibility/role-subrole-roledescription-expected.txt:
      * platform/mac/accessibility/role-subrole-roledescription.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154148 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0c050d12
    • simon.fraser@apple.com's avatar
      <https://webkit.org/b/119871> Flash of garbage pixels when playing a show on Hulu · 908b1bec
      simon.fraser@apple.com authored
      Source/WebCore:
      
      Reviewed by Tim Horton.
      
      When starting a show on Hulu, there's a layer that gets marked as
      opaque because it has a child RenderLayer whose background fills the
      compositing layer. That child RenderLayer was recently position:fixed
      but outside the viewport, so its viewportConstrainedNotCompositedReason
      was set to a non-zero value.
      
      However, we failed to clear the viewportConstrainedNotCompositedReason
      when the layer became non-fixed. This caused painting the opaque
      layer to bail in RenderLayer::paintLayer(), leaving garbage.
      
      Test: compositing/contents-opaque/fixed-to-nonfixed.html
      
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::paintLayer): Add an assertion to catch this error in future.
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::updateBacking): Make sure we clear the
      ViewportConstrainedNotCompositedReason if the layer is no longer fixed.
      
      LayoutTests:
      
      Reviewed by Tim Horton.
      
      Test that would hit the newly added assertion in case of failure.
      Was unable to create a ref test that worked reliably.
      
      * compositing/contents-opaque/fixed-to-nonfixed.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154147 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      908b1bec
    • fpizlo@apple.com's avatar
      Remove a test that times out. · 5fe6f8c4
      fpizlo@apple.com authored
              
      Rubber stamped by Mark Hahnenberg.
              
      This test times out for me, every time. It tests code that has since been rewritten
      and has had new tests added to cover it. It's not clear that this test would be
      useful anymore even if we made it not timeout.
      
      * fast/js/array-sort-modifying-tostring-expected.txt: Removed.
      * fast/js/array-sort-modifying-tostring.html: Removed.
      * fast/js/script-tests/array-sort-modifying-tostring.js: Removed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154135 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5fe6f8c4
    • krit@webkit.org's avatar
      Implement CSS Image filter() function · c18645db
      krit@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=119845
      
      Reviewed by Dean Jackson.
      
      Source/WebCore:
      
      The Filter Effects specification defines a new CSS Image function called
      filter(). This function takes another CSS Image as well as a filter function
      list as input and can be used by various CSS properties.
      
      Example:
      
          background-image: -webkit-filter(url(image.png), brightness(0.5))
      
      This patch implements the current definition of filter() based on other
      image generation classes like CSSCrossfadeValue.
      A new class called CSSFilterImageValue was added together with an
      image observer.
      
      The function is implemented prefixed and behind the compiler flag CSS_FILTERS.
      
      Tests: fast/filter-image/filter-image.html
             fast/filter-image/parse-filter-image.html
      
      * CMakeLists.txt: Added new files to build systems.
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.xcodeproj/project.pbxproj:
      * css/CSSAllInOne.cpp:
      * css/CSSCrossfadeValue.cpp: Share code together with CSSFilterImageValue
          in CSSImageGeneratorValue.cpp.
      (WebCore::CSSCrossfadeValue::isPending):
      (WebCore::CSSCrossfadeValue::loadSubimages):
      * css/CSSFilterImageValue.cpp: Added.
      (WebCore::CSSFilterImageValue::~CSSFilterImageValue):
      (WebCore::CSSFilterImageValue::customCssText):
      (WebCore::CSSFilterImageValue::fixedSize):
      (WebCore::CSSFilterImageValue::isPending):
      (WebCore::CSSFilterImageValue::knownToBeOpaque):
      (WebCore::CSSFilterImageValue::loadSubimages):
      (WebCore::CSSFilterImageValue::image):
      (WebCore::CSSFilterImageValue::filterImageChanged):
      (WebCore::CSSFilterImageValue::createFilterOperations):
      (WebCore::CSSFilterImageValue::FilterSubimageObserverProxy::imageChanged):
      (WebCore::CSSFilterImageValue::hasFailedOrCanceledSubresources):
      (WebCore::CSSFilterImageValue::equals):
      * css/CSSFilterImageValue.h: Added.
      (WebCore::CSSFilterImageValue::create):
      (WebCore::CSSFilterImageValue::isFixedSize):
      (WebCore::CSSFilterImageValue::CSSFilterImageValue):
      (WebCore::CSSFilterImageValue::FilterSubimageObserverProxy::FilterSubimageObserverProxy):
      (WebCore::CSSFilterImageValue::FilterSubimageObserverProxy::~FilterSubimageObserverProxy):
      (WebCore::CSSFilterImageValue::FilterSubimageObserverProxy::setReady):
      * css/CSSImageGeneratorValue.cpp: Shared code between CSSCrossfadeValue and
          CSSFilterImageValue.
      (WebCore::CSSImageGeneratorValue::image):
      (WebCore::CSSImageGeneratorValue::isFixedSize):
      (WebCore::CSSImageGeneratorValue::fixedSize):
      (WebCore::CSSImageGeneratorValue::isPending):
      (WebCore::CSSImageGeneratorValue::knownToBeOpaque):
      (WebCore::CSSImageGeneratorValue::loadSubimages):
      (WebCore::CSSImageGeneratorValue::subimageIsPending):
      (WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
      * css/CSSImageGeneratorValue.h:
      * css/CSSParser.cpp: Added parsing information for new image function.
      (WebCore::CSSParser::parseValue):
      (WebCore::CSSParser::isGeneratedImageValue):
      (WebCore::CSSParser::parseGeneratedImage):
      (WebCore::CSSParser::parseFilterImage):
      (WebCore::CSSParser::parseFilter):
      * css/CSSParser.h:
      * css/CSSValue.cpp:
      (WebCore::CSSValue::hasFailedOrCanceledSubresources):
      (WebCore::CSSValue::equals):
      (WebCore::CSSValue::cssText):
      (WebCore::CSSValue::destroy):
      * css/CSSValue.h:
      (WebCore::CSSValue::isFilterImageValue):
      * css/StyleResolver.cpp:
      (WebCore::StyleResolver::applyProperty):
      (WebCore::StyleResolver::generatedOrPendingFromValue):
      (WebCore::StyleResolver::createFilterOperations):
      * css/StyleResolver.h: StyleResolver needs to be passed to
          CSSFilterImageValue in order to resolve blur() and
          drop-shadow() function. Both needs to be resolved together
          with all other properties and can't be done earlier or later.
      * rendering/FilterEffectRenderer.cpp:
      (WebCore::FilterEffectRenderer::build): Pass an argument whether the
          intermediate filter results should be clipped or not. The filter
          property for instance doesn't clip but scales the intermediate
          image sizes.
      * rendering/FilterEffectRenderer.h:
      
      LayoutTests:
      
      Test parsing, style resolving, computed style and behavior of new
      CSS image function filter().
      
      * fast/filter-image/filter-image-expected.html: Added.
      * fast/filter-image/filter-image.html: Added.
      * fast/filter-image/parse-filter-image-expected.txt: Added.
      * fast/filter-image/parse-filter-image.html: Added.
      * fast/filter-image/resources/image.svg: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154133 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c18645db
    • fpizlo@apple.com's avatar
      Source/JavaScriptCore: Unreviewed, remove some unnecessary periods from exceptions. · 30c90fd5
      fpizlo@apple.com authored
      * runtime/JSDataViewPrototype.cpp:
      (JSC::getData):
      (JSC::setData):
      
      LayoutTests: Unreviewed, rebase the test now that we throw different exceptions.
      
      * fast/canvas/webgl/data-view-test-expected.txt:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154132 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      30c90fd5
    • fpizlo@apple.com's avatar
      Typed arrays should be rewritten · 0e0d9312
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119064
      
      .: 
      
      Reviewed by Oliver Hunt.
      
      Automake work courtesy of Zan Dobersek <zdobersek@igalia.com>.
      
      * Source/autotools/symbols.filter:
      
      Source/JavaScriptCore: 
      
      Reviewed by Oliver Hunt.
              
      Typed arrays were previously deficient in several major ways:
              
      - They were defined separately in WebCore and in the jsc shell. The two
        implementations were different, and the jsc shell one was basically wrong.
        The WebCore one was quite awful, also.
              
      - Typed arrays were not visible to the JIT except through some weird hooks.
        For example, the JIT could not ask "what is the Structure that this typed
        array would have if I just allocated it from this global object". Also,
        it was difficult to wire any of the typed array intrinsics, because most
        of the functionality wasn't visible anywhere in JSC.
              
      - Typed array allocation was brain-dead. Allocating a typed array involved
        two JS objects, two GC weak handles, and three malloc allocations.
              
      - Neutering. It involved keeping tabs on all native views but not the view
        wrappers, even though the native views can autoneuter just by asking the
        buffer if it was neutered anytime you touch them; while the JS view
        wrappers are the ones that you really want to reach out to.
              
      - Common case-ing. Most typed arrays have one buffer and one view, and
        usually nobody touches the buffer. Yet we created all of that stuff
        anyway, using data structures optimized for the case where you had a lot
        of views.
              
      - Semantic goofs. Typed arrays should, in the future, behave like ES
        features rather than DOM features, for example when it comes to exceptions.
        Firefox already does this and I agree with them.
              
      This patch cleanses our codebase of these sins:
              
      - Typed arrays are almost entirely defined in JSC. Only the lifecycle
        management of native references to buffers is left to WebCore.
              
      - Allocating a typed array requires either two GC allocations (a cell and a
        copied storage vector) or one GC allocation, a malloc allocation, and a
        weak handle (a cell and a malloc'd storage vector, plus a finalizer for the
        latter). The latter is only used for oversize arrays. Remember that before
        it was 7 allocations no matter what.
              
      - Typed arrays require just 4 words of overhead: Structure*, Butterfly*,
        mode/length, void* vector. Before it was a lot more than that - remember,
        there were five additional objects that did absolutely nothing for anybody.
              
      - Native views aren't tracked by the buffer, or by the wrappers. They are
        transient. In the future we'll probably switch to not even having them be
        malloc'd.
              
      - Native array buffers have an efficient way of tracking all of their JS view
        wrappers, both for neutering, and for lifecycle management. The GC
        special-cases native array buffers. This saves a bunch of grief; for example
        it means that a JS view wrapper can refer to its buffer via the butterfly,
        which would be dead by the time we went to finalize.
              
      - Typed array semantics now match Firefox, which also happens to be where the
        standards are going. The discussion on webkit-dev seemed to confirm that
        Chrome is also heading in this direction. This includes making
        Uint8ClampedArray not a subtype of Uint8Array, and getting rid of
        ArrayBufferView as a JS-visible construct.
              
      This is up to a 10x speed-up on programs that allocate a lot of typed arrays.
      It's a 1% speed-up on Octane. It also opens up a bunch of possibilities for
      further typed array optimizations in the JSC JITs, including inlining typed
      array allocation, inlining more of the accessors, reducing the cost of type
      checks, etc.
              
      An additional property of this patch is that typed arrays are mostly
      implemented using templates. This deduplicates a bunch of code, but does mean
      that we need some hacks for exporting s_info's of template classes. See
      JSGenericTypedArrayView.h and JSTypedArrays.cpp. Those hacks are fairly
      low-impact compared to code duplication.
              
      Automake work courtesy of Zan Dobersek <zdobersek@igalia.com>.
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * GNUmakefile.list.am:
      * JSCTypedArrayStubs.h: Removed.
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * Target.pri:
      * bytecode/ByValInfo.h:
      (JSC::hasOptimizableIndexingForClassInfo):
      (JSC::jitArrayModeForClassInfo):
      (JSC::typedArrayTypeForJITArrayMode):
      * bytecode/SpeculatedType.cpp:
      (JSC::speculationFromClassInfo):
      * dfg/DFGArrayMode.cpp:
      (JSC::DFG::toTypedArrayType):
      * dfg/DFGArrayMode.h:
      (JSC::DFG::ArrayMode::typedArrayType):
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::SpeculativeJIT::checkArray):
      (JSC::DFG::SpeculativeJIT::compileGetByValOnIntTypedArray):
      (JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
      (JSC::DFG::SpeculativeJIT::compileGetByValOnFloatTypedArray):
      (JSC::DFG::SpeculativeJIT::compilePutByValForFloatTypedArray):
      (JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage):
      (JSC::DFG::SpeculativeJIT::compileGetArrayLength):
      * dfg/DFGSpeculativeJIT.h:
      * dfg/DFGSpeculativeJIT32_64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGSpeculativeJIT64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * heap/CopyToken.h:
      * heap/DeferGC.h:
      (JSC::DeferGCForAWhile::DeferGCForAWhile):
      (JSC::DeferGCForAWhile::~DeferGCForAWhile):
      * heap/GCIncomingRefCounted.h: Added.
      (JSC::GCIncomingRefCounted::GCIncomingRefCounted):
      (JSC::GCIncomingRefCounted::~GCIncomingRefCounted):
      (JSC::GCIncomingRefCounted::numberOfIncomingReferences):
      (JSC::GCIncomingRefCounted::incomingReferenceAt):
      (JSC::GCIncomingRefCounted::singletonFlag):
      (JSC::GCIncomingRefCounted::hasVectorOfCells):
      (JSC::GCIncomingRefCounted::hasAnyIncoming):
      (JSC::GCIncomingRefCounted::hasSingleton):
      (JSC::GCIncomingRefCounted::singleton):
      (JSC::GCIncomingRefCounted::vectorOfCells):
      * heap/GCIncomingRefCountedInlines.h: Added.
      (JSC::::addIncomingReference):
      (JSC::::filterIncomingReferences):
      * heap/GCIncomingRefCountedSet.h: Added.
      (JSC::GCIncomingRefCountedSet::size):
      * heap/GCIncomingRefCountedSetInlines.h: Added.
      (JSC::::GCIncomingRefCountedSet):
      (JSC::::~GCIncomingRefCountedSet):
      (JSC::::addReference):
      (JSC::::sweep):
      (JSC::::removeAll):
      (JSC::::removeDead):
      * heap/Heap.cpp:
      (JSC::Heap::addReference):
      (JSC::Heap::extraSize):
      (JSC::Heap::size):
      (JSC::Heap::capacity):
      (JSC::Heap::collect):
      (JSC::Heap::decrementDeferralDepth):
      (JSC::Heap::decrementDeferralDepthAndGCIfNeeded):
      * heap/Heap.h:
      * interpreter/CallFrame.h:
      (JSC::ExecState::dataViewTable):
      * jit/JIT.h:
      * jit/JITPropertyAccess.cpp:
      (JSC::JIT::privateCompileGetByVal):
      (JSC::JIT::privateCompilePutByVal):
      (JSC::JIT::emitIntTypedArrayGetByVal):
      (JSC::JIT::emitFloatTypedArrayGetByVal):
      (JSC::JIT::emitIntTypedArrayPutByVal):
      (JSC::JIT::emitFloatTypedArrayPutByVal):
      * jsc.cpp:
      (GlobalObject::finishCreation):
      * runtime/ArrayBuffer.cpp:
      (JSC::ArrayBuffer::transfer):
      * runtime/ArrayBuffer.h:
      (JSC::ArrayBuffer::createAdopted):
      (JSC::ArrayBuffer::ArrayBuffer):
      (JSC::ArrayBuffer::gcSizeEstimateInBytes):
      (JSC::ArrayBuffer::pin):
      (JSC::ArrayBuffer::unpin):
      (JSC::ArrayBufferContents::tryAllocate):
      * runtime/ArrayBufferView.cpp:
      (JSC::ArrayBufferView::ArrayBufferView):
      (JSC::ArrayBufferView::~ArrayBufferView):
      (JSC::ArrayBufferView::setNeuterable):
      * runtime/ArrayBufferView.h:
      (JSC::ArrayBufferView::isNeutered):
      (JSC::ArrayBufferView::buffer):
      (JSC::ArrayBufferView::baseAddress):
      (JSC::ArrayBufferView::byteOffset):
      (JSC::ArrayBufferView::verifySubRange):
      (JSC::ArrayBufferView::clampOffsetAndNumElements):
      (JSC::ArrayBufferView::calculateOffsetAndLength):
      * runtime/ClassInfo.h:
      * runtime/CommonIdentifiers.h:
      * runtime/DataView.cpp: Added.
      (JSC::DataView::DataView):
      (JSC::DataView::create):
      (JSC::DataView::wrap):
      * runtime/DataView.h: Added.
      (JSC::DataView::byteLength):
      (JSC::DataView::getType):
      (JSC::DataView::get):
      (JSC::DataView::set):
      * runtime/Float32Array.h:
      * runtime/Float64Array.h:
      * runtime/GenericTypedArrayView.h: Added.
      (JSC::GenericTypedArrayView::data):
      (JSC::GenericTypedArrayView::set):
      (JSC::GenericTypedArrayView::setRange):
      (JSC::GenericTypedArrayView::zeroRange):
      (JSC::GenericTypedArrayView::zeroFill):
      (JSC::GenericTypedArrayView::length):
      (JSC::GenericTypedArrayView::byteLength):
      (JSC::GenericTypedArrayView::item):
      (JSC::GenericTypedArrayView::checkInboundData):
      (JSC::GenericTypedArrayView::getType):
      * runtime/GenericTypedArrayViewInlines.h: Added.
      (JSC::::GenericTypedArrayView):
      (JSC::::create):
      (JSC::::createUninitialized):
      (JSC::::subarray):
      (JSC::::wrap):
      * runtime/IndexingHeader.h:
      (JSC::IndexingHeader::arrayBuffer):
      (JSC::IndexingHeader::setArrayBuffer):
      * runtime/Int16Array.h:
      * runtime/Int32Array.h:
      * runtime/Int8Array.h:
      * runtime/JSArrayBuffer.cpp: Added.
      (JSC::JSArrayBuffer::JSArrayBuffer):
      (JSC::JSArrayBuffer::finishCreation):
      (JSC::JSArrayBuffer::create):
      (JSC::JSArrayBuffer::createStructure):
      (JSC::JSArrayBuffer::getOwnPropertySlot):
      (JSC::JSArrayBuffer::getOwnPropertyDescriptor):
      (JSC::JSArrayBuffer::put):
      (JSC::JSArrayBuffer::defineOwnProperty):
      (JSC::JSArrayBuffer::deleteProperty):
      (JSC::JSArrayBuffer::getOwnNonIndexPropertyNames):
      * runtime/JSArrayBuffer.h: Added.
      (JSC::JSArrayBuffer::impl):
      (JSC::toArrayBuffer):
      * runtime/JSArrayBufferConstructor.cpp: Added.
      (JSC::JSArrayBufferConstructor::JSArrayBufferConstructor):
      (JSC::JSArrayBufferConstructor::finishCreation):
      (JSC::JSArrayBufferConstructor::create):
      (JSC::JSArrayBufferConstructor::createStructure):
      (JSC::constructArrayBuffer):
      (JSC::JSArrayBufferConstructor::getConstructData):
      (JSC::JSArrayBufferConstructor::getCallData):
      * runtime/JSArrayBufferConstructor.h: Added.
      * runtime/JSArrayBufferPrototype.cpp: Added.
      (JSC::arrayBufferProtoFuncSlice):
      (JSC::JSArrayBufferPrototype::JSArrayBufferPrototype):
      (JSC::JSArrayBufferPrototype::finishCreation):
      (JSC::JSArrayBufferPrototype::create):
      (JSC::JSArrayBufferPrototype::createStructure):
      * runtime/JSArrayBufferPrototype.h: Added.
      * runtime/JSArrayBufferView.cpp: Added.
      (JSC::JSArrayBufferView::ConstructionContext::ConstructionContext):
      (JSC::JSArrayBufferView::JSArrayBufferView):
      (JSC::JSArrayBufferView::finishCreation):
      (JSC::JSArrayBufferView::getOwnPropertySlot):
      (JSC::JSArrayBufferView::getOwnPropertyDescriptor):
      (JSC::JSArrayBufferView::put):
      (JSC::JSArrayBufferView::defineOwnProperty):
      (JSC::JSArrayBufferView::deleteProperty):
      (JSC::JSArrayBufferView::getOwnNonIndexPropertyNames):
      (JSC::JSArrayBufferView::finalize):
      * runtime/JSArrayBufferView.h: Added.
      (JSC::JSArrayBufferView::sizeOf):
      (JSC::JSArrayBufferView::ConstructionContext::operator!):
      (JSC::JSArrayBufferView::ConstructionContext::structure):
      (JSC::JSArrayBufferView::ConstructionContext::vector):
      (JSC::JSArrayBufferView::ConstructionContext::length):
      (JSC::JSArrayBufferView::ConstructionContext::mode):
      (JSC::JSArrayBufferView::ConstructionContext::butterfly):
      (JSC::JSArrayBufferView::mode):
      (JSC::JSArrayBufferView::vector):
      (JSC::JSArrayBufferView::length):
      (JSC::JSArrayBufferView::offsetOfVector):
      (JSC::JSArrayBufferView::offsetOfLength):
      (JSC::JSArrayBufferView::offsetOfMode):
      * runtime/JSArrayBufferViewInlines.h: Added.
      (JSC::JSArrayBufferView::slowDownAndWasteMemoryIfNecessary):
      (JSC::JSArrayBufferView::buffer):
      (JSC::JSArrayBufferView::impl):
      (JSC::JSArrayBufferView::neuter):
      (JSC::JSArrayBufferView::byteOffset):
      * runtime/JSCell.cpp:
      (JSC::JSCell::slowDownAndWasteMemory):
      (JSC::JSCell::getTypedArrayImpl):
      * runtime/JSCell.h:
      * runtime/JSDataView.cpp: Added.
      (JSC::JSDataView::JSDataView):
      (JSC::JSDataView::create):
      (JSC::JSDataView::createUninitialized):
      (JSC::JSDataView::set):
      (JSC::JSDataView::typedImpl):
      (JSC::JSDataView::getOwnPropertySlot):
      (JSC::JSDataView::getOwnPropertyDescriptor):
      (JSC::JSDataView::slowDownAndWasteMemory):
      (JSC::JSDataView::getTypedArrayImpl):
      (JSC::JSDataView::createStructure):
      * runtime/JSDataView.h: Added.
      * runtime/JSDataViewPrototype.cpp: Added.
      (JSC::JSDataViewPrototype::JSDataViewPrototype):
      (JSC::JSDataViewPrototype::create):
      (JSC::JSDataViewPrototype::createStructure):
      (JSC::JSDataViewPrototype::getOwnPropertySlot):
      (JSC::JSDataViewPrototype::getOwnPropertyDescriptor):
      (JSC::getData):
      (JSC::setData):
      (JSC::dataViewProtoFuncGetInt8):
      (JSC::dataViewProtoFuncGetInt16):
      (JSC::dataViewProtoFuncGetInt32):
      (JSC::dataViewProtoFuncGetUint8):
      (JSC::dataViewProtoFuncGetUint16):
      (JSC::dataViewProtoFuncGetUint32):
      (JSC::dataViewProtoFuncGetFloat32):
      (JSC::dataViewProtoFuncGetFloat64):
      (JSC::dataViewProtoFuncSetInt8):
      (JSC::dataViewProtoFuncSetInt16):
      (JSC::dataViewProtoFuncSetInt32):
      (JSC::dataViewProtoFuncSetUint8):
      (JSC::dataViewProtoFuncSetUint16):
      (JSC::dataViewProtoFuncSetUint32):
      (JSC::dataViewProtoFuncSetFloat32):
      (JSC::dataViewProtoFuncSetFloat64):
      * runtime/JSDataViewPrototype.h: Added.
      * runtime/JSFloat32Array.h: Added.
      * runtime/JSFloat64Array.h: Added.
      * runtime/JSGenericTypedArrayView.h: Added.
      (JSC::JSGenericTypedArrayView::byteLength):
      (JSC::JSGenericTypedArrayView::byteSize):
      (JSC::JSGenericTypedArrayView::typedVector):
      (JSC::JSGenericTypedArrayView::canGetIndexQuickly):
      (JSC::JSGenericTypedArrayView::canSetIndexQuickly):
      (JSC::JSGenericTypedArrayView::getIndexQuicklyAsNativeValue):
      (JSC::JSGenericTypedArrayView::getIndexQuicklyAsDouble):
      (JSC::JSGenericTypedArrayView::getIndexQuickly):
      (JSC::JSGenericTypedArrayView::setIndexQuicklyToNativeValue):
      (JSC::JSGenericTypedArrayView::setIndexQuicklyToDouble):
      (JSC::JSGenericTypedArrayView::setIndexQuickly):
      (JSC::JSGenericTypedArrayView::canAccessRangeQuickly):
      (JSC::JSGenericTypedArrayView::typedImpl):
      (JSC::JSGenericTypedArrayView::createStructure):
      (JSC::JSGenericTypedArrayView::info):
      (JSC::toNativeTypedView):
      * runtime/JSGenericTypedArrayViewConstructor.h: Added.
      * runtime/JSGenericTypedArrayViewConstructorInlines.h: Added.
      (JSC::::JSGenericTypedArrayViewConstructor):
      (JSC::::finishCreation):
      (JSC::::create):
      (JSC::::createStructure):
      (JSC::constructGenericTypedArrayView):
      (JSC::::getConstructData):
      (JSC::::getCallData):
      * runtime/JSGenericTypedArrayViewInlines.h: Added.
      (JSC::::JSGenericTypedArrayView):
      (JSC::::create):
      (JSC::::createUninitialized):
      (JSC::::validateRange):
      (JSC::::setWithSpecificType):
      (JSC::::set):
      (JSC::::getOwnPropertySlot):
      (JSC::::getOwnPropertyDescriptor):
      (JSC::::put):
      (JSC::::defineOwnProperty):
      (JSC::::deleteProperty):
      (JSC::::getOwnPropertySlotByIndex):
      (JSC::::putByIndex):
      (JSC::::deletePropertyByIndex):
      (JSC::::getOwnNonIndexPropertyNames):
      (JSC::::getOwnPropertyNames):
      (JSC::::visitChildren):
      (JSC::::copyBackingStore):
      (JSC::::slowDownAndWasteMemory):
      (JSC::::getTypedArrayImpl):
      * runtime/JSGenericTypedArrayViewPrototype.h: Added.
      * runtime/JSGenericTypedArrayViewPrototypeInlines.h: Added.
      (JSC::genericTypedArrayViewProtoFuncSet):
      (JSC::genericTypedArrayViewProtoFuncSubarray):
      (JSC::::JSGenericTypedArrayViewPrototype):
      (JSC::::finishCreation):
      (JSC::::create):
      (JSC::::createStructure):
      * runtime/JSGlobalObject.cpp:
      (JSC::JSGlobalObject::reset):
      (JSC::JSGlobalObject::visitChildren):
      * runtime/JSGlobalObject.h:
      (JSC::JSGlobalObject::arrayBufferPrototype):
      (JSC::JSGlobalObject::arrayBufferStructure):
      (JSC::JSGlobalObject::typedArrayStructure):
      * runtime/JSInt16Array.h: Added.
      * runtime/JSInt32Array.h: Added.
      * runtime/JSInt8Array.h: Added.
      * runtime/JSTypedArrayConstructors.cpp: Added.
      * runtime/JSTypedArrayConstructors.h: Added.
      * runtime/JSTypedArrayPrototypes.cpp: Added.
      * runtime/JSTypedArrayPrototypes.h: Added.
      * runtime/JSTypedArrays.cpp: Added.
      * runtime/JSTypedArrays.h: Added.
      * runtime/JSUint16Array.h: Added.
      * runtime/JSUint32Array.h: Added.
      * runtime/JSUint8Array.h: Added.
      * runtime/JSUint8ClampedArray.h: Added.
      * runtime/Operations.h:
      * runtime/Options.h:
      * runtime/SimpleTypedArrayController.cpp: Added.
      (JSC::SimpleTypedArrayController::SimpleTypedArrayController):
      (JSC::SimpleTypedArrayController::~SimpleTypedArrayController):
      (JSC::SimpleTypedArrayController::toJS):
      * runtime/SimpleTypedArrayController.h: Added.
      * runtime/Structure.h:
      (JSC::Structure::couldHaveIndexingHeader):
      * runtime/StructureInlines.h:
      (JSC::Structure::hasIndexingHeader):
      * runtime/TypedArrayAdaptors.h: Added.
      (JSC::IntegralTypedArrayAdaptor::toNative):
      (JSC::IntegralTypedArrayAdaptor::toJSValue):
      (JSC::IntegralTypedArrayAdaptor::toDouble):
      (JSC::FloatTypedArrayAdaptor::toNative):
      (JSC::FloatTypedArrayAdaptor::toJSValue):
      (JSC::FloatTypedArrayAdaptor::toDouble):
      (JSC::Uint8ClampedAdaptor::toNative):
      (JSC::Uint8ClampedAdaptor::toJSValue):
      (JSC::Uint8ClampedAdaptor::toDouble):
      (JSC::Uint8ClampedAdaptor::clamp):
      * runtime/TypedArrayController.cpp: Added.
      (JSC::TypedArrayController::TypedArrayController):
      (JSC::TypedArrayController::~TypedArrayController):
      * runtime/TypedArrayController.h: Added.
      * runtime/TypedArrayDescriptor.h: Removed.
      * runtime/TypedArrayInlines.h: Added.
      * runtime/TypedArrayType.cpp: Added.
      (JSC::classInfoForType):
      (WTF::printInternal):
      * runtime/TypedArrayType.h: Added.
      (JSC::toIndex):
      (JSC::isTypedView):
      (JSC::elementSize):
      (JSC::isInt):
      (JSC::isFloat):
      (JSC::isSigned):
      (JSC::isClamped):
      * runtime/TypedArrays.h: Added.
      * runtime/Uint16Array.h:
      * runtime/Uint32Array.h:
      * runtime/Uint8Array.h:
      * runtime/Uint8ClampedArray.h:
      * runtime/VM.cpp:
      (JSC::VM::VM):
      (JSC::VM::~VM):
      * runtime/VM.h:
      
      Source/WebCore: 
      
      Reviewed by Oliver Hunt.
      
      Typed arrays are now implemented in JavaScriptCore, and WebCore is merely a
      client of them. There is only one layering violation: WebCore installs a
      WebCoreTypedArrayController on VM, which makes the
      ArrayBuffer<->JSArrayBuffer relationship resemble DOM wrappers. By default,
      JSC makes the ownership go one way; the JSArrayBuffer keeps the ArrayBuffer
      alive but if ArrayBuffer is kept alive from native code then the
      JSArrayByffer may die. WebCoreTypedArrayController will keep the
      JSArrayBuffer alive if the ArrayBuffer is in the opaque root set.
              
      To make non-JSDOMWrappers behave like DOM wrappers, a bunch of code is
      changed to make most references to wrappers refer to JSObject* rather than
      JSDOMWrapper*.
              
      Array buffer views are now transient; the JS array buffer view wrappers
      don't own them or keep them alive. This required a bunch of changes to make
      bindings code use RefPtr<ArrayBufferView> to hold onto their views.
              
      Also there is a bunch of new code to make JSC-provided array buffers and
      views obey the toJS/to<ClassName> idiom for wrapping and unwrapping.
              
      Finally, the DataView API is now completely different: the JSDataView
      provides the same user-visible JS API but using its own internal magic; the
      C++ code that uses DataView now uses a rather different API that is not
      aware of usual DOM semantics, since it's in JSC and not WebCore. It's
      equally useful for all of WebCore's purposes, but some code had to change
      to adapt the new conventions.
              
      Some tests have been changed or rebased due to changes in behavior, that
      bring us into conformance with where the standards are going and allow us to
      match Firefox behavior.
      
      Automake work and some additional GTK changes courtesy of
      Zan Dobersek <zdobersek@igalia.com>.
              
      Additional Qt changes courtesy of Arunprasad Rajkumar <arurajku@cisco.com>.
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * ForwardingHeaders/runtime/DataView.h: Added.
      * ForwardingHeaders/runtime/JSArrayBuffer.h: Added.
      * ForwardingHeaders/runtime/JSArrayBufferView.h: Added.
      * ForwardingHeaders/runtime/JSDataView.h: Added.
      * ForwardingHeaders/runtime/JSTypedArrays.h: Added.
      * ForwardingHeaders/runtime/TypedArrayController.h: Added.
      * ForwardingHeaders/runtime/TypedArrayInlines.h: Added.
      * ForwardingHeaders/runtime/TypedArrays.h: Added.
      * GNUmakefile.list.am:
      * Modules/webaudio/RealtimeAnalyser.h:
      * Target.pri:
      * UseJSC.cmake:
      * WebCore.exp.in:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/DOMWrapperWorld.h:
      * bindings/js/JSArrayBufferCustom.cpp: Removed.
      * bindings/js/JSArrayBufferViewHelper.h: Removed.
      * bindings/js/JSAudioContextCustom.cpp:
      * bindings/js/JSBindingsAllInOne.cpp:
      * bindings/js/JSBlobCustom.cpp:
      * bindings/js/JSCSSRuleCustom.cpp:
      (WebCore::toJS):
      * bindings/js/JSCSSValueCustom.cpp:
      (WebCore::toJS):
      * bindings/js/JSCryptoCustom.cpp:
      (WebCore::JSCrypto::getRandomValues):
      * bindings/js/JSDOMBinding.h:
      (WebCore::wrapperOwner):
      (WebCore::wrapperContext):
      (WebCore::getInlineCachedWrapper):
      (WebCore::setInlineCachedWrapper):
      (WebCore::clearInlineCachedWrapper):
      (WebCore::getCachedWrapper):
      (WebCore::cacheWrapper):
      (WebCore::uncacheWrapper):
      (WebCore::wrap):
      (WebCore::toJS):
      (WebCore::toArrayBufferView):
      (WebCore::toInt8Array):
      (WebCore::toInt16Array):
      (WebCore::toInt32Array):
      (WebCore::toUint8Array):
      (WebCore::toUint8ClampedArray):
      (WebCore::toUint16Array):
      (WebCore::toUint32Array):
      (WebCore::toFloat32Array):
      (WebCore::toFloat64Array):
      (WebCore::toDataView):
      * bindings/js/JSDataViewCustom.cpp: Removed.
      * bindings/js/JSDictionary.cpp:
      * bindings/js/JSDictionary.h:
      * bindings/js/JSDocumentCustom.cpp:
      (WebCore::JSDocument::location):
      (WebCore::toJS):
      * bindings/js/JSEventCustom.cpp:
      (WebCore::toJS):
      * bindings/js/JSFileReaderCustom.cpp:
      * bindings/js/JSHTMLCollectionCustom.cpp:
      (WebCore::toJS):
      * bindings/js/JSHTMLTemplateElementCustom.cpp:
      (WebCore::JSHTMLTemplateElement::content):
      * bindings/js/JSImageDataCustom.cpp:
      (WebCore::toJS):
      * bindings/js/JSInjectedScriptHostCustom.cpp:
      * bindings/js/JSMessageEventCustom.cpp:
      * bindings/js/JSMessagePortCustom.cpp:
      * bindings/js/JSSVGPathSegCustom.cpp:
      (WebCore::toJS):
      * bindings/js/JSStyleSheetCustom.cpp:
      (WebCore::toJS):
      * bindings/js/JSTrackCustom.cpp:
      (WebCore::toJS):
      * bindings/js/JSWebGLRenderingContextCustom.cpp:
      * bindings/js/JSXMLHttpRequestCustom.cpp:
      (WebCore::JSXMLHttpRequest::send):
      * bindings/js/SerializedScriptValue.cpp:
      (WebCore::SerializedScriptValue::transferArrayBuffers):
      * bindings/js/WebCoreJSClientData.h:
      (WebCore::initNormalWorldClientData):
      * bindings/js/WebCoreTypedArrayController.cpp: Added.
      (WebCore::WebCoreTypedArrayController::WebCoreTypedArrayController):
      (WebCore::WebCoreTypedArrayController::~WebCoreTypedArrayController):
      (WebCore::WebCoreTypedArrayController::toJS):
      (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::isReachableFromOpaqueRoots):
      (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::finalize):
      * bindings/js/WebCoreTypedArrayController.h: Added.
      (WebCore::WebCoreTypedArrayController::wrapperOwner):
      * bindings/scripts/CodeGenerator.pm:
      (ForAllParents):
      (ParseInterface):
      (SkipIncludeHeader):
      (IsTypedArrayType):
      (IsWrapperType):
      * bindings/scripts/CodeGeneratorJS.pm:
      (AddIncludesForType):
      (GenerateHeader):
      (GenerateImplementation):
      (GenerateParametersCheck):
      (GetNativeType):
      (JSValueToNative):
      (NativeToJSValue):
      (GenerateConstructorDefinition):
      (GenerateConstructorHelperMethods):
      * fileapi/WebKitBlobBuilder.cpp:
      (WebCore::BlobBuilder::append):
      * fileapi/WebKitBlobBuilder.h:
      * html/canvas/ArrayBuffer.idl: Removed.
      * html/canvas/ArrayBufferView.idl: Removed.
      * html/canvas/DataView.cpp: Removed.
      * html/canvas/DataView.h: Removed.
      * html/canvas/DataView.idl: Removed.
      * html/canvas/Float32Array.idl: Removed.
      * html/canvas/Float64Array.idl: Removed.
      * html/canvas/Int16Array.idl: Removed.
      * html/canvas/Int32Array.idl: Removed.
      * html/canvas/Int8Array.idl: Removed.
      * html/canvas/Uint16Array.idl: Removed.
      * html/canvas/Uint32Array.idl: Removed.
      * html/canvas/Uint8Array.idl: Removed.
      * html/canvas/Uint8ClampedArray.idl: Removed.
      * html/canvas/WebGLRenderingContext.cpp:
      (WebCore::WebGLRenderingContext::readPixels):
      (WebCore::WebGLRenderingContext::validateTexFuncData):
      * page/Crypto.cpp:
      * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
      (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
      (WebCore::MediaPlayerPrivateAVFoundationObjC::extractKeyURIKeyIDAndCertificateFromInitData):
      * platform/graphics/filters/FECustomFilter.h:
      * platform/graphics/filters/FEGaussianBlur.cpp:
      * platform/graphics/filters/FilterEffect.cpp:
      * testing/MockCDM.cpp:
      
      Source/WebKit2: 
      
      Reviewed by Oliver Hunt.
              
      You don't need to include JSUint8Array anymore if you just want to
      unwrap one; JSDOMBinding gives you all of the things you need.
      
      * WebProcess/InjectedBundle/InjectedBundle.cpp:
      
      Source/WTF: 
      
      Reviewed by Oliver Hunt.
              
      - Added the notion of a reference counted object that can be marked Deferred,
        which is like a special-purpose upref.
              
      - Added a common byte flipper.
      
      Automake work courtesy of Zan Dobersek <zdobersek@igalia.com>.
      
      * GNUmakefile.list.am:
      * WTF.xcodeproj/project.pbxproj:
      * wtf/DeferrableRefCounted.h: Added.
      (WTF::DeferrableRefCountedBase::ref):
      (WTF::DeferrableRefCountedBase::hasOneRef):
      (WTF::DeferrableRefCountedBase::refCount):
      (WTF::DeferrableRefCountedBase::isDeferred):
      (WTF::DeferrableRefCountedBase::DeferrableRefCountedBase):
      (WTF::DeferrableRefCountedBase::~DeferrableRefCountedBase):
      (WTF::DeferrableRefCountedBase::derefBase):
      (WTF::DeferrableRefCountedBase::setIsDeferredBase):
      (WTF::DeferrableRefCounted::deref):
      (WTF::DeferrableRefCounted::setIsDeferred):
      (WTF::DeferrableRefCounted::DeferrableRefCounted):
      (WTF::DeferrableRefCounted::~DeferrableRefCounted):
      * wtf/FlipBytes.h: Added.
      (WTF::needToFlipBytesIfLittleEndian):
      (WTF::flipBytes):
      (WTF::flipBytesIfLittleEndian):
      
      LayoutTests: 
      
      Reviewed by Oliver Hunt.
      
      * fast/canvas/webgl/array-set-invalid-arguments-expected.txt:
      * fast/canvas/webgl/array-set-out-of-bounds-expected.txt:
      * fast/canvas/webgl/array-unit-tests-expected.txt:
      * fast/canvas/webgl/array-unit-tests.html:
      * fast/canvas/webgl/data-view-crash-expected.txt:
      * fast/canvas/webgl/script-tests/arraybuffer-transfer-of-control.js:
      (checkView):
      * fast/dom/call-a-constructor-as-a-function-expected.txt:
      * fast/dom/call-a-constructor-as-a-function.html:
      * fast/js/constructor-length.html:
      * fast/js/global-constructors-attributes-dedicated-worker-expected.txt:
      * fast/js/global-constructors-attributes-expected.txt:
      * fast/js/global-constructors-attributes-shared-worker-expected.txt:
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-expected.txt: Added.
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-huge-long-lived-expected.txt: Added.
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-huge-long-lived.html: Added.
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-expected.txt: Added.
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived.html: Added.
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-long-lived-buffer-expected.txt: Added.
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-long-lived-buffer.html: Added.
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-long-lived-expected.txt: Added.
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-long-lived.html: Added.
      * fast/js/regress/ArrayBuffer-Int8Array-alloc.html: Added.
      * fast/js/regress/Int32Array-Int8Array-view-alloc-expected.txt: Added.
      * fast/js/regress/Int32Array-Int8Array-view-alloc.html: Added.
      * fast/js/regress/Int32Array-alloc-expected.txt: Added.
      * fast/js/regress/Int32Array-alloc-huge-expected.txt: Added.
      * fast/js/regress/Int32Array-alloc-huge-long-lived-expected.txt: Added.
      * fast/js/regress/Int32Array-alloc-huge-long-lived.html: Added.
      * fast/js/regress/Int32Array-alloc-huge.html: Added.
      * fast/js/regress/Int32Array-alloc-large-expected.txt: Added.
      * fast/js/regress/Int32Array-alloc-large-long-lived-expected.txt: Added.
      * fast/js/regress/Int32Array-alloc-large-long-lived.html: Added.
      * fast/js/regress/Int32Array-alloc-large.html: Added.
      * fast/js/regress/Int32Array-alloc-long-lived-expected.txt: Added.
      * fast/js/regress/Int32Array-alloc-long-lived.html: Added.
      * fast/js/regress/Int32Array-alloc.html: Added.
      * fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-huge-long-lived.js: Added.
      * fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-large-long-lived.js: Added.
      * fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-long-lived-buffer.js: Added.
      * fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-long-lived.js: Added.
      * fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc.js: Added.
      * fast/js/regress/script-tests/Int32Array-Int8Array-view-alloc.js: Added.
      * fast/js/regress/script-tests/Int32Array-alloc-huge-long-lived.js: Added.
      * fast/js/regress/script-tests/Int32Array-alloc-huge.js: Added.
      * fast/js/regress/script-tests/Int32Array-alloc-large-long-lived.js: Added.
      * fast/js/regress/script-tests/Int32Array-alloc-large.js: Added.
      * fast/js/regress/script-tests/Int32Array-alloc-long-lived.js: Added.
      * fast/js/regress/script-tests/Int32Array-alloc.js: Added.
      * platform/mac/fast/js/constructor-length-expected.txt:
      * webgl/resources/webgl_test_files/conformance/typedarrays/array-unit-tests.html:
      * webgl/resources/webgl_test_files/conformance/typedarrays/data-view-test.html:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154127 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0e0d9312
    • oliver@apple.com's avatar
      <https://webkit.org/b/119830> Assigning to a readonly global results in DFG byte code parse failure · 0053edb3
      oliver@apple.com authored
      Reviewed by Filip Pizlo.
      
      Source/JavaScriptCore:
      
      Make sure dfgCapabilities doesn't report a Dynamic put as
      being compilable when we don't actually support it.
      
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::dumpBytecode):
      * dfg/DFGCapabilities.cpp:
      (JSC::DFG::capabilityLevel):
      
      LayoutTests:
      
      Add a test
      
      * fast/js/dfg-put-to-readonly-property-expected.txt: Added.
      * fast/js/dfg-put-to-readonly-property.html: Added.
      * fast/js/script-tests/dfg-put-to-readonly-property.js: Added.
      (foo):
      (bar):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154120 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0053edb3
    • mario@webkit.org's avatar
      [GTK] Unreviewed gardening. Move Mac specific expectation for · ffe31898
      mario@webkit.org authored
      accessibility test to the cross platform directory, as the result
      it's shared with GTK and EFL ports.
      
      * accessibility/heading-title-includes-links-expected.txt: Renamed
      from LayoutTests/platform/mac/accessibility/heading-title-includes-links-expected.txt.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154105 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ffe31898
    • allan.jensen@digia.com's avatar
      Empty qt-5.0 expectations into qt expectations · 7180b8b7
      allan.jensen@digia.com authored
      Unreviewed gardening.
      
      * platform/qt-5.0/TestExpectations:
      * platform/qt-5.0/editing/selection/editable-html-element-expected.txt: Removed.
      * platform/qt-5.0/editing/selection/extend-by-word-001-expected.txt: Removed.
      * platform/qt-5.0/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.txt: Removed.
      * platform/qt-5.0/editing/selection/vertical-rl-ltr-extend-line-forward-wrap-expected.txt: Removed.
      * platform/qt-5.0/fast/dom/Orientation/create-event-orientationchange-expected.txt: Removed.
      * platform/qt-5.0/fast/dom/Window/window-properties-device-orientation-expected.txt: Removed.
      * platform/qt-5.0/fast/events/onload-re-entry-expected.txt: Removed.
      * platform/qt-5.0/fast/forms/input-disabled-color-expected.png: Removed.
      * platform/qt-5.0/fast/forms/input-disabled-color-expected.txt: Removed.
      * platform/qt-5.0/fast/forms/menulist-separator-painting-expected.png: Removed.
      * platform/qt-5.0/fast/forms/menulist-separator-painting-expected.txt: Removed.
      * platform/qt-5.0/fast/forms/select-background-none-expected.png: Removed.
      * platform/qt-5.0/fast/forms/select-background-none-expected.txt: Removed.
      * platform/qt-5.0/fast/images/embed-image-expected.txt: Removed.
      * platform/qt-5.0/fast/images/object-image-expected.txt: Removed.
      * platform/qt-5.0/fast/text/backslash-to-yen-sign-expected.txt: Removed.
      * platform/qt-5.0/fast/text/basic/003-expected.png: Removed.
      * platform/qt-5.0/fast/text/basic/003-expected.txt: Removed.
      * platform/qt-5.0/fast/text/fallback-traits-fixup-expected.txt: Removed.
      * platform/qt-5.0/fast/text/international/hindi-whitespace-expected.txt: Removed.
      * platform/qt-5.0/fast/text/international/text-spliced-font-expected.txt: Removed.
      * platform/qt-5.0/fast/text/letter-spacing-negative-opacity-expected.png: Removed.
      * platform/qt-5.0/fast/text/letter-spacing-negative-opacity-expected.txt: Removed.
      * platform/qt-5.0/fast/text/soft-hyphen-3-expected.txt: Removed.
      * platform/qt-5.0/http/tests/misc/location-replace-crossdomain-expected.png: Removed.
      * platform/qt-5.0/http/tests/misc/location-replace-crossdomain-expected.txt: Removed.
      * platform/qt-5.0/svg/W3C-SVG-1.1-SE/color-prop-05-t-expected.png: Removed.
      * platform/qt-5.0/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.png: Removed.
      * platform/qt-5.0/svg/W3C-SVG-1.1-SE/pservers-pattern-03-f-expected.png: Removed.
      * platform/qt-5.0/svg/W3C-SVG-1.1-SE/struct-use-14-f-expected.png: Removed.
      * platform/qt-5.0/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.png: Removed.
      * platform/qt-5.0/svg/as-image/img-preserveAspectRatio-support-1-expected.png: Removed.
      * platform/qt-5.0/svg/as-image/img-preserveAspectRatio-support-1-expected.txt: Removed.
      * platform/qt-5.0/svg/as-object/object-box-sizing-no-width-height-expected.png: Removed.
      * platform/qt-5.0/svg/as-object/object-box-sizing-no-width-height-expected.txt: Removed.
      * platform/qt-5.0/svg/batik/text/longTextOnPath-expected.png: Removed.
      * platform/qt-5.0/svg/batik/text/longTextOnPath-expected.txt: Removed.
      * platform/qt-5.0/svg/carto.net/tabgroup-expected.txt: Removed.
      * platform/qt-5.0/svg/foreignObject/text-tref-02-b-expected.png: Removed.
      * platform/qt-5.0/svg/transforms/text-with-pattern-with-svg-transform-expected.png: Removed.
      * platform/qt-5.0/svg/transforms/text-with-pattern-with-svg-transform-expected.txt: Removed.
      * platform/qt/TestExpectations:
      * platform/qt/editing/execCommand/findString-diacriticals-expected.txt: Renamed from LayoutTests/platform/qt-5.0/editing/execCommand/findString-diacriticals-expected.txt.
      * platform/qt/editing/selection/click-left-of-rtl-wrapping-text-expected.txt: Renamed from LayoutTests/platform/qt-5.0/editing/selection/click-left-of-rtl-wrapping-text-expected.txt.
      * platform/qt/fast/events/onload-re-entry-expected.png: Renamed from LayoutTests/platform/qt-5.0/fast/events/onload-re-entry-expected.png.
      * platform/qt/fast/events/onload-re-entry-expected.txt:
      * platform/qt/fast/events/touch/touch-slider-expected.txt: Renamed from LayoutTests/platform/qt-5.0/fast/events/touch/touch-slider-expected.txt.
      * platform/qt/fast/events/touch/touch-slider-no-js-touch-listener-expected.txt: Renamed from LayoutTests/platform/qt-5.0/fast/events/touch/touch-slider-no-js-touch-listener-expected.txt.
      * platform/qt/fast/forms/input-disabled-color-expected.png:
      * platform/qt/fast/forms/input-disabled-color-expected.txt:
      * platform/qt/fast/forms/menulist-separator-painting-expected.png:
      * platform/qt/fast/forms/menulist-separator-painting-expected.txt:
      * platform/qt/fast/forms/select-background-none-expected.png:
      * platform/qt/fast/forms/select-background-none-expected.txt:
      * platform/qt/fast/images/embed-image-expected.txt:
      * platform/qt/fast/images/object-image-expected.txt:
      * platform/qt/fast/text/basic/003-expected.png:
      * platform/qt/fast/text/international/text-spliced-font-expected.png: Renamed from LayoutTests/platform/qt-5.0/fast/text/international/text-spliced-font-expected.png.
      * platform/qt/fast/text/soft-hyphen-3-expected.txt:
      * platform/qt/http/tests/cookies/double-quoted-value-with-semi-colon-expected.txt: Renamed from LayoutTests/platform/qt-5.0/http/tests/cookies/double-quoted-value-with-semi-colon-expected.txt.
      * platform/qt/http/tests/misc/location-replace-crossdomain-expected.png:
      * platform/qt/http/tests/misc/location-replace-crossdomain-expected.txt:
      * platform/qt/http/tests/security/xss-DENIED-xsl-external-entity-redirect-expected.txt: Renamed from LayoutTests/platform/qt-5.0/http/tests/security/xss-DENIED-xsl-external-entity-redirect-expected.txt.
      * platform/qt/http/tests/xmlhttprequest/methods-expected.txt: Renamed from LayoutTests/platform/qt-5.0/http/tests/xmlhttprequest/methods-expected.txt.
      * platform/qt/http/tests/xmlhttprequest/workers/methods-async-expected.txt: Renamed from LayoutTests/platform/qt-5.0/http/tests/xmlhttprequest/workers/methods-async-expected.txt.
      * platform/qt/http/tests/xmlhttprequest/workers/methods-expected.txt: Renamed from LayoutTests/platform/qt-5.0/http/tests/xmlhttprequest/workers/methods-expected.txt.
      * platform/qt/http/tests/xmlhttprequest/workers/shared-worker-methods-async-expected.txt: Renamed from LayoutTests/platform/qt-5.0/http/tests/xmlhttprequest/workers/shared-worker-methods-async-expected.txt.
      * platform/qt/svg/W3C-SVG-1.1-SE/color-prop-05-t-expected.png:
      * platform/qt/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.png:
      * platform/qt/svg/W3C-SVG-1.1-SE/pservers-pattern-03-f-expected.png:
      * platform/qt/svg/W3C-SVG-1.1-SE/struct-use-14-f-expected.png:
      * platform/qt/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.png:
      * platform/qt/svg/as-image/img-preserveAspectRatio-support-1-expected.png:
      * platform/qt/svg/as-object/object-box-sizing-no-width-height-expected.png:
      * platform/qt/svg/as-object/object-box-sizing-no-width-height-expected.txt:
      * platform/qt/svg/batik/text/longTextOnPath-expected.png:
      * platform/qt/svg/batik/text/longTextOnPath-expected.txt:
      * platform/qt/svg/carto.net/tabgroup-expected.png: Renamed from LayoutTests/platform/qt-5.0/svg/carto.net/tabgroup-expected.png.
      * platform/qt/svg/carto.net/tabgroup-expected.txt:
      * platform/qt/svg/foreignObject/text-tref-02-b-expected.png:
      * platform/qt/svg/transforms/text-with-pattern-with-svg-transform-expected.png:
      * platform/qt/svg/transforms/text-with-pattern-with-svg-transform-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154101 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7180b8b7
    • simon.pena@samsung.com's avatar
      [GTK] Unreviewed gardening. Update test expectations. · 3f3bc838
      simon.pena@samsung.com authored
      * platform/gtk-wk1/TestExpectations: Unskip tests no longer failing.
      * platform/gtk-wk1/loader/go-back-cached-main-resource-expected.txt:
      Rebaseline after r153852.
      * platform/gtk/TestExpectations:
      * platform/gtk/fast/regions/region-dynamic-after-before-expected.txt:
      Rebaseline after r154072.
      * platform/gtk/fast/regions/region-generated-content-before-after-expected.txt:
      Rebaseline after r154072.
      * platform/gtk/security/block-test-no-port-expected.txt:
      Rebaseline after r153852.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154100 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3f3bc838
    • rwlbuis@webkit.org's avatar
      ASSERTION FAILED: !m_adoptionIsRequired in void WebCore::TreeShared<NodeType>::ref() · 7d0d8e85
      rwlbuis@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=116979
      
      Reviewed by Antti Koivisto.
      
      Source/WebCore:
      
      Make sure adoptRef is called before calling setPseudo, for all progress shadow elements.
      
      * html/shadow/ProgressShadowElement.cpp:
      (WebCore::ProgressInnerElement::ProgressInnerElement):
      (WebCore::ProgressBarElement::ProgressBarElement):
      (WebCore::ProgressValueElement::ProgressValueElement):
      * html/shadow/ProgressShadowElement.h:
      (WebCore::ProgressInnerElement::create):
      (WebCore::ProgressBarElement::create):
      (WebCore::ProgressValueElement::create):
      
      LayoutTests:
      
      Add testcase from bug with small adjustments.
      
      * svg/custom/tref-with-progress-tag-setpseudo-assert-expected.txt: Added.
      * svg/custom/tref-with-progress-tag-setpseudo-assert.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154099 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7d0d8e85
    • simon.pena@samsung.com's avatar
      [GTK] Unreviewed gardening. Skip failing test. · 7530f00e
      simon.pena@samsung.com authored
      * platform/gtk-wk1/TestExpectations:
      http/tests/loading/unfinished-main-resource-back-to-cached-page-callbacks.html
      is failing.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154097 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7530f00e
    • allan.jensen@digia.com's avatar
      [Qt] fast/canvas/canvas-blending-transforms.html test fails on x32 after r153941. · cc2e6051
      allan.jensen@digia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119792
      
      Unreviewed gardening.
      
      Speculative unskip after r154095.
      
      * platform/qt/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154096 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cc2e6051
    • allan.jensen@digia.com's avatar
      REGRESSION(r148790) Made 7 tests fail on x86 32bit · ee0f0dcc
      allan.jensen@digia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=114913
      
      Reviewed by Filip Pizlo.
      
      Source/JavaScriptCore:
      
      The X87 register was not freed before some calls. Instead
      of inserting resetX87Registers to the last call sites,
      the two X87 registers are now freed in every call.
      
      * llint/LowLevelInterpreter32_64.asm:
      * llint/LowLevelInterpreter64.asm:
      * offlineasm/instructions.rb:
      * offlineasm/x86.rb:
      
      LayoutTests:
      
      Unskip the five tests now passsing again.
      
      * platform/qt/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154095 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ee0f0dcc
    • simon.pena@samsung.com's avatar
      [GTK] Unreviewed gardening. Rebaseline after r154057. · f8d89c3e
      simon.pena@samsung.com authored
      * platform/gtk/fast/js/dom-static-property-for-in-iteration-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154094 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f8d89c3e
    • ryuan.choi@samsung.com's avatar
      [EFL] Unreviwed gardening. · 7cb987de
      ryuan.choi@samsung.com authored
      Skipped some failures.
      
      * platform/efl-wk2/TestExpectations:
      * platform/efl/TestExpectations:
      * platform/efl/fast/forms/datalist/input-list-expected.txt: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154093 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7cb987de
    • simon.pena@samsung.com's avatar
      [GTK] Unreviewed gardening. Rebaseline after r154072. · 959f0912
      simon.pena@samsung.com authored
      * platform/gtk/fast/regions/autoheight-regions-mark-expected.txt:
      * platform/gtk/fast/regions/overflow-in-uniform-regions-dynamic-expected.txt:
      * platform/gtk/fast/regions/overflow-in-variable-width-regions-expected.txt:
      * platform/gtk/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.txt:
      * platform/gtk/fast/regions/overflow-not-moving-below-floats-in-variable-width-regions-expected.txt:
      * platform/gtk/fast/regions/overflow-rtl-in-variable-width-regions-expected.txt:
      * platform/gtk/fast/regions/overflow-size-change-in-variable-width-regions-expected.txt:
      * platform/gtk/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt:
      * platform/gtk/fast/repaint/line-flow-with-floats-in-regions-expected.txt:
      * platform/gtk/fast/repaint/overflow-flipped-writing-mode-block-in-regions-expected.txt:
      * platform/gtk/fast/repaint/region-painting-via-layout-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154092 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      959f0912
    • kadam@inf.u-szeged.hu's avatar
      [Qt] Unreviwed gardening. Rebase fast tests after r154072. · 427833c7
      kadam@inf.u-szeged.hu authored
      Patch by Tamas Czene <tczene@inf.u-szeged.hu> on 2013-08-15
      
      * platform/qt-5.0-wk2/fast/repaint/region-painting-via-layout-expected.txt: Removed.
      * platform/qt/fast/regions/autoheight-regions-mark-expected.txt:
      * platform/qt/fast/regions/overflow-in-uniform-regions-dynamic-expected.png:
      * platform/qt/fast/regions/overflow-in-uniform-regions-dynamic-expected.txt:
      * platform/qt/fast/regions/overflow-in-variable-width-regions-expected.png:
      * platform/qt/fast/regions/overflow-in-variable-width-regions-expected.txt:
      * platform/qt/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.png:
      * platform/qt/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.txt:
      * platform/qt/fast/regions/overflow-not-moving-below-floats-in-variable-width-regions-expected.png:
      * platform/qt/fast/regions/overflow-not-moving-below-floats-in-variable-width-regions-expected.txt:
      * platform/qt/fast/regions/overflow-rtl-in-variable-width-regions-expected.png:
      * platform/qt/fast/regions/overflow-rtl-in-variable-width-regions-expected.txt:
      * platform/qt/fast/regions/overflow-size-change-in-variable-width-regions-expected.png:
      * platform/qt/fast/regions/overflow-size-change-in-variable-width-regions-expected.txt:
      * platform/qt/fast/repaint/line-flow-with-floats-in-regions-expected.png:
      * platform/qt/fast/repaint/line-flow-with-floats-in-regions-expected.txt:
      * platform/qt/fast/repaint/overflow-flipped-writing-mode-block-in-regions-expected.txt:
      * platform/qt/fast/repaint/region-painting-via-layout-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154091 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      427833c7
    • ap@apple.com's avatar
      Don't copy js-test-pre in cookies-test-pre · 756e5496
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119802
      
      Reviewed by Sam Weinig.
      
      * http/tests/cookies/resources/cookies-test-post.js:
      * http/tests/cookies/resources/cookies-test-pre.js:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154090 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      756e5496
  3. 14 Aug, 2013 8 commits
    • ryuan.choi@samsung.com's avatar
      <https://webkit.org/b/119786> [EFL] decoration of search type is different from other platforms · bed9dba6
      ryuan.choi@samsung.com authored
      Reviewed by Gyuyoung Kim.
      
      Source/WebCore:
      
      Other platforms except EFL port draw a magnifying icon for
      -webkit-search-results-button and -webkit-search-results-decoration in search field,
      but Efl port draws it for -webkit-search-decoration.
      
      This patch makes Efl port draw icon in first two cases like other ports.
      
      Tests: fast/css/input-search-padding.html
         fast/css/text-input-with-webkit-border-radius.html
         fast/css/text-overflow-input.html
         fast/forms/box-shadow-override.html
         fast/forms/control-restrict-line-height.html
         fast/forms/input-appearance-height.html
         fast/forms/placeholder-position.html
         fast/forms/placeholder-pseudo-style.html
         fast/forms/search-cancel-button-style-sharing.html
         fast/forms/search-display-none-cancel-button.html
         fast/forms/search-rtl.html
         fast/forms/search-vertical-alignment.html
         fast/forms/searchfield-heights.html
         fast/repaint/search-field-cancel.html
      
      * platform/efl/DefaultTheme/widget/search/cancel/search_cancel.edc:
      Moved results_button alias to search_decoration.edc
      * platform/efl/DefaultTheme/widget/search/decoration/search_decoration.edc:
      * platform/efl/RenderThemeEfl.cpp:
      Updated size of ResultsButtonStyle and ResultsDecorationStyle to show icon.
      In addition, removed adjustSearchFieldResultsButtonStyle and paintSearchFieldDecoration.
      (WebCore::toEdjeGroup): Removed decoration group.
      (WebCore::RenderThemeEfl::adjustSearchFieldResultsButtonStyle):
      (WebCore::RenderThemeEfl::adjustSearchFieldResultsDecorationStyle):
      * platform/efl/RenderThemeEfl.h:
      
      LayoutTests:
      
      Rebaseline related to input search field.
      
      * platform/efl/fast/css/input-search-padding-expected.png:
      * platform/efl/fast/css/input-search-padding-expected.txt:
      * platform/efl/fast/css/text-input-with-webkit-border-radius-expected.png:
      * platform/efl/fast/css/text-input-with-webkit-border-radius-expected.txt:
      * platform/efl/fast/css/text-overflow-input-expected.png:
      * platform/efl/fast/css/text-overflow-input-expected.txt:
      * platform/efl/fast/forms/box-shadow-override-expected.png:
      * platform/efl/fast/forms/box-shadow-override-expected.txt:
      * platform/efl/fast/forms/control-restrict-line-height-expected.png:
      * platform/efl/fast/forms/control-restrict-line-height-expected.txt:
      * platform/efl/fast/forms/input-appearance-height-expected.png:
      * platform/efl/fast/forms/input-appearance-height-expected.txt:
      * platform/efl/fast/forms/placeholder-position-expected.png:
      * platform/efl/fast/forms/placeholder-position-expected.txt:
      * platform/efl/fast/forms/placeholder-pseudo-style-expected.png:
      * platform/efl/fast/forms/placeholder-pseudo-style-expected.txt:
      * platform/efl/fast/forms/search-cancel-button-style-sharing-expected.png:
      * platform/efl/fast/forms/search-cancel-button-style-sharing-expected.txt:
      * platform/efl/fast/forms/search-display-none-cancel-button-expected.png:
      * platform/efl/fast/forms/search-display-none-cancel-button-expected.txt:
      * platform/efl/fast/forms/search-rtl-expected.png:
      * platform/efl/fast/forms/search-rtl-expected.txt:
      * platform/efl/fast/forms/search-vertical-alignment-expected.png:
      * platform/efl/fast/forms/search-vertical-alignment-expected.txt:
      * platform/efl/fast/forms/searchfield-heights-expected.png:
      * platform/efl/fast/forms/searchfield-heights-expected.txt:
      * platform/efl/fast/repaint/search-field-cancel-expected.png:
      * platform/efl/fast/repaint/search-field-cancel-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154089 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bed9dba6
    • cfleizach@apple.com's avatar
      <https://webkit.org/b/119817> AX: Integrate layout tests from overflow... · cc58b546
      cfleizach@apple.com authored
      <https://webkit.org/b/119817> AX: Integrate layout tests from overflow bounding boxes are way too big; prevents VoiceOver taps from activating the right elements
      
      Reviewed by Simon Fraser.
      
      Add a layout test to ensure that transformed elements do not get offset twice when calculating their accessibility bounds.
      
      * accessibility/transformed-bounds-expected.txt: Added.
      * accessibility/transformed-bounds.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154082 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cc58b546
    • hmuller@adobe.com's avatar
      [CSS Exclusions] Minimal support for using an image to define a shape · 416daaac
      hmuller@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116643
      
      Source/WebCore:
      
      Reviewed by Alexandru Chiculita.
      
      This is a first small step towards supporting CSS shapes defined by an
      image URL and a alpha channel threshold. To keep the patch as small as
      possible, there are many limitations and remaining work items. For
      example images are currently restricted to same-origin, although CORS
      should be supported. See https://bugs.webkit.org/show_bug.cgi?id=116348
      for the current list.
      
      Test: fast/exclusions/shape-inside/shape-inside-image-001.html
      Test: fast/exclusions/shape-inside/shape-inside-image-002.html
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.xcodeproj/project.pbxproj:
      * rendering/RenderBlock.cpp:
      (WebCore::RenderBlock::imageChanged): When the image has finished loading, request a layout.
      * rendering/RenderBlock.h:
      * rendering/RenderObject.cpp:
      (WebCore::RenderObject::setStyle): Add notify clients for shape images.
      (WebCore::RenderObject::updateShapeImage):
      (WebCore::removeShapeImageClient):
      (WebCore::RenderObject::arenaDelete): Remove notify clients for shape images.
      * rendering/RenderObject.h:
      * rendering/shapes/RasterShape.cpp: Added. A Shape defined by thresholding an image's alpha channel.
      (WebCore::RasterShapeIntervals::bounds):
      (WebCore::RasterShapeIntervals::addInterval): Add a single run to the shape.
      (WebCore::alignedRect):
      (WebCore::RasterShapeIntervals::getIntervals): Return the shape's runs that fall within a horizonal box.
      (WebCore::RasterShape::marginIntervals): Internal representation of the shape with shape-margin factored in.  Currently only a stub.
      (WebCore::RasterShape::paddingIntervals): Internal representation of the shape with shape-padding factored in.  Currently only a stub.
      (WebCore::RasterShape::getExcludedIntervals):
      (WebCore::RasterShape::getIncludedIntervals):
      (WebCore::RasterShape::firstIncludedIntervalLogicalTop):
      * rendering/shapes/RasterShape.h:
      (WebCore::RasterShapeIntervals::RasterShapeIntervals): Internal run length encoded representation of a RasterShape.
      (WebCore::RasterShapeIntervals::isEmpty):
      (WebCore::RasterShape::RasterShape):
      * rendering/shapes/Shape.cpp:
      (WebCore::Shape::createShape): Support for creating a Shape based on a RasterShapeIntervals object.
      * rendering/shapes/Shape.h:
      * rendering/shapes/ShapeInfo.cpp:
      (WebCore::::computedShape): Added support for the Image ShapeValue type.
      * rendering/shapes/ShapeInsideInfo.cpp:
      (WebCore::ShapeInsideInfo::isEnabledFor): Added support for the Image ShapeValue type.
      * rendering/shapes/ShapeOutsideInfo.cpp:
      (WebCore::ShapeOutsideInfo::isEnabledFor): Added support for the Image ShapeValue type.
      * rendering/style/ShapeValue.h:
      (WebCore::ShapeValue::isImageValid): True if the shape's image is ready to be be processed.
      
      LayoutTests:
      
      Two tests to verify that the initial implementation of shape valued images is working
      for shape-inside.
      
      Reviewed by Alexandru Chiculita.
      
      * fast/exclusions/shape-inside/shape-inside-image-001-expected.html: Added.
      * fast/exclusions/shape-inside/shape-inside-image-001.html: Added.
      * fast/exclusions/shape-inside/shape-inside-image-002-expected.html: Added.
      * fast/exclusions/shape-inside/shape-inside-image-002.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154081 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      416daaac
    • bfulgham@apple.com's avatar
      [Windows] Unreviewed build gardening. · 50d1c58d
      bfulgham@apple.com authored
      * platform/win/TestExpectations: Clean up a lint warning, and reactivate four tiling tests
      that pass and had been turned off previously.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154076 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      50d1c58d
    • achicu@adobe.com's avatar
      [CSS Regions] RenderRegions should have a RenderLayer+Backing when they... · f471af3a
      achicu@adobe.com authored
      [CSS Regions] RenderRegions should have a RenderLayer+Backing when they contain a Composited RenderLayer
      https://bugs.webkit.org/show_bug.cgi?id=117365
      
      Reviewed by David Hyatt.
      
      Source/WebCore:
      
      After the RenderFlowThread has a new layout we need to check if any of the children layers
      had been moved to a new render region. We are only checking for the first level of layers,
      as they are the only ones supported right now. Also, added code to make Regions require a layer
      based on the layers that fit in their clipping area.
      
      Tests: fast/regions/layers/dynamic-layer-added-with-no-layout.html
             fast/regions/layers/dynamic-layer-removed-with-no-layout.html
             fast/regions/layers/float-region-promoted-to-layer.html
             fast/regions/layers/regions-promoted-to-layers-horizontal-bt.html
             fast/regions/layers/regions-promoted-to-layers-vertical-lr.html
             fast/regions/layers/regions-promoted-to-layers-vertical-rl.html
             fast/regions/layers/regions-promoted-to-layers.html
      
      * rendering/FlowThreadController.cpp:
      (WebCore::FlowThreadController::updateRenderFlowThreadLayersIfNeeded): Iterate on all the flow threads and updateLayerToRegionMappings if needed.
      * rendering/FlowThreadController.h:
      * rendering/RenderBlock.cpp:
      (WebCore::RenderBlock::updateLocalFloatingObjectsForPaintingContainer): Checks if the FloatingObject
      needs to be painted by the current block or not.
      (WebCore::RenderBlock::updateFloatingObjectsPaintingContainer): Helper function to lookup what is the right
      container that would need to paint a FloatingObject.
      (WebCore::RenderBlock::updateAllDescendantsFloatingObjectsPaintingContainer):
      * rendering/RenderBlock.h:
      * rendering/RenderBox.cpp:
      (WebCore::RenderBox::outermostBlockContainingFloatingObject): Looks up the ancestor RenderBlock that contains all
      the FloatingObjects of a float.
      (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists): Extracted the code for outermostBlockContainingFloatingObject
      into its own method.
      (WebCore::RenderBox::updatePaintingContainerForFloatingObject): Helper method to update the "m_shouldPaint" flag
      of all the FloatingObjects created for a floating RenderObject. Normally, that flag is maintained during layout,
      but we need to patch it for the floating RenderRegions after the layout is already finished.
      (WebCore::RenderBox::updateLayerIfNeeded): Overwrite of the RenderLayerModelObject::updateLayerIfNeeded that is also
      calling updatePaintingContainerForFloatingObject if a new layer was created or destroyed.
      * rendering/RenderBox.h:
      * rendering/RenderFlowThread.cpp:
      (WebCore::RenderFlowThread::layout): Added code to call updateLayerToRegionMappings when needed.
      (WebCore::RenderFlowThread::regionForCompositedLayer): Looks up the first RenderRegion to display a specific layer.
      It only cares about the top most point of the element and ignores transforms.
      (WebCore::RenderFlowThread::updateRegionForRenderLayer): Helper method to update the mapped region of a layer.
      (WebCore::RenderFlowThread::updateLayerToRegionMappings): Iterates all the first level layers of the flow thread
      and updates the region. Will return true if there was any change.
      * rendering/RenderFlowThread.h:
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::dirtyZOrderLists): When new layers are added or removed we need to update the layer map in the flow thread.
      (WebCore::RenderLayer::dirtyNormalFlowList):
      (WebCore::RenderLayer::shouldBeNormalFlowOnly): CSS Regions might become layers because they contain RenderLayers,
      but they should not become stacking contexts for that reason. This will prevent the RenderRegions from rendering
      in front of other layers.
      (WebCore::RenderLayer::shouldBeSelfPaintingLayer):
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::updateCompositingLayers): Call updateRenderFlowThreadLayersIfNeeded when there's a layer hierarchy update.
      (WebCore::RenderLayerCompositor::updateRenderFlowThreadLayersIfNeeded): Update the render flow thread layer maps when they are dirty.
      * rendering/RenderLayerCompositor.h:
      * rendering/RenderLayer.h:
      (WebCore::RenderLayer::isDirtyRenderFlowThread): Used to check if the RenderLayers had changed their order,
      so that we can update the list of layers associated with a region. In a following patch we will need to
      rebuild the composited layers.
      * rendering/RenderLayerModelObject.cpp:
      (WebCore::RenderLayerModelObject::updateLayerIfNeeded): Adds or removes a layer when the "requiresLayer" changes
      after the styleDidChange already happened. This is needed for Regions as we only know if they still require a layer,
      only after the content of the flow thread is computed.
      * rendering/RenderLayerModelObject.h:
      * rendering/RenderRegion.cpp:
      (WebCore::RenderRegion::RenderRegion):
      (WebCore::RenderRegion::setRequiresLayerForCompositing):
      * rendering/RenderRegion.h:
      (WebCore::RenderRegion::requiresLayer):
      * rendering/RenderTreeAsText.cpp:
      (WebCore::writeRenderRegionList): Updated the output to print the fact that the layer has a layer.
      
      LayoutTests:
      
      Added new tests for cases when CSS Regions are promoted to RenderLayers because
      they contain elements that might need to become composited.
      
      * fast/regions/layers/dynamic-layer-added-with-no-layout-expected.png: Added.
      * fast/regions/layers/dynamic-layer-added-with-no-layout-expected.txt: Added.
      * fast/regions/layers/dynamic-layer-added-with-no-layout.html: Added.
      * fast/regions/layers/dynamic-layer-removed-with-no-layout-expected.png: Added.
      * fast/regions/layers/dynamic-layer-removed-with-no-layout-expected.txt: Added.
      * fast/regions/layers/dynamic-layer-removed-with-no-layout.html: Added.
      * fast/regions/layers/float-region-promoted-to-layer-expected.html: Added.
      * fast/regions/layers/float-region-promoted-to-layer.html: Added.
      * fast/regions/layers/regions-promoted-to-layers-expected.txt: Added.
      * fast/regions/layers/regions-promoted-to-layers-horizontal-bt-expected.txt: Added.
      * fast/regions/layers/regions-promoted-to-layers-horizontal-bt.html: Added.
      * fast/regions/layers/regions-promoted-to-layers-vertical-lr-expected.txt: Added.
      * fast/regions/layers/regions-promoted-to-layers-vertical-lr.html: Added.
      * fast/regions/layers/regions-promoted-to-layers-vertical-rl-expected.txt: Added.
      * fast/regions/layers/regions-promoted-to-layers-vertical-rl.html: Added.
      * fast/regions/layers/regions-promoted-to-layers.html: Added.
      
      Updated existing tests that now have CSS Regions that require a RenderLayer.
      * fast/regions/autoheight-regions-mark-expected.txt:
      * fast/repaint/overflow-flipped-writing-mode-block-in-regions-expected.txt:
      * fast/repaint/region-painting-via-layout-expected.txt:
      * platform/mac/fast/regions/overflow-in-uniform-regions-dynamic-expected.txt:
      * platform/mac/fast/regions/overflow-in-variable-width-regions-expected.txt:
      * platform/mac/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.txt:
      * platform/mac/fast/regions/overflow-not-moving-below-floats-in-variable-width-regions-expected.txt:
      * platform/mac/fast/regions/overflow-rtl-in-variable-width-regions-expected.txt:
      * platform/mac/fast/regions/overflow-size-change-in-variable-width-regions-expected.txt:
      * platform/mac/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt:
      * platform/mac/fast/repaint/line-flow-with-floats-in-regions-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154072 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f471af3a
    • akling@apple.com's avatar
      <http://webkit.org/b/119520> REGRESSION(154062):... · 293acbbd
      akling@apple.com authored
      <http://webkit.org/b/119520> REGRESSION(154062): fast/repaint/caret-jump-between-nodes.html flakes on bots.
      
      Unreviewed. This isn't working out. I can't get it to blink the caret a consistent number of times.
      Removing the test for now to stop making bots red.
      
      * fast/repaint/caret-jump-between-nodes-expected.txt: Removed.
      * fast/repaint/caret-jump-between-nodes.html: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154065 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      293acbbd
    • rwlbuis@webkit.org's avatar
      Assertion failure in RenderObject::drawLineForBoxSide · 0be79dcb
      rwlbuis@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=108187
      
      Reviewed by David Hyatt.
      
      Source/WebCore:
      
      Don't draw the outline if the rectangle to draw is empty.
      
      Test: fast/css/outline-negative.html
      
      * rendering/RenderInline.cpp:
      (WebCore::RenderInline::paintOutlineForLine):
      
      LayoutTests:
      
      Add testcase from bug with small adjustments.
      
      * fast/css/outline-negative-expected.txt: Added.
      * fast/css/outline-negative.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154064 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0be79dcb
    • akling@apple.com's avatar
      REGRESSION(r153815): fast/repaint/caret-jump-between-nodes.html sucks. · a6945c8b
      akling@apple.com authored
      <http://webkit.org/b/119520>
      
      Unreviewed, remove the description text from this repaint test in an attempt
      to get consistent cross-platform results.
      
      * fast/repaint/caret-jump-between-nodes-expected.txt:
      * fast/repaint/caret-jump-between-nodes.html:
      * platform/gtk/fast/repaint/caret-jump-between-nodes-expected.txt: Removed.
      * platform/qt-5.0-wk2/fast/repaint/caret-jump-between-nodes-expected.txt: Removed.
      * platform/qt/fast/repaint/caret-jump-between-nodes-expected.txt: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154062 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a6945c8b