1. 23 Aug, 2013 3 commits
  2. 22 Aug, 2013 9 commits
    • simon.fraser@apple.com's avatar
      compositing/geometry/bounds-ignores-hidden-dynamic.html has incorrect initial rendering · bd93c753
      simon.fraser@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119825
      
      Source/WebCore:
      
      Reviewed by Tim Horton.
      
      r137526 and some earlier commits attempted to avoid unconditionally
      repainting layers when their size changes, because this was causing
      TiledBacking layers to repaint when the document size changed.
      
      However, the approach required that we have good information about
      whether size changes require a repaint, which in some cases is hard
      to determine, especially when RenderLayer changes affect our
      decisions about which layers are composited.
      
      Fix by pushing the decision about whether to repaint on size change
      into GraphicsLayer. The default is to repaint on size change,
      but GraphicsLayer provides a function that can be overridden to
      modify this behavior; GraphicsLayerCA does so to avoid repaints
      when layers with TiledBackings get resized.
      
      Test: compositing/repaint/repaint-on-layer-grouping-change.html
      
      * WebCore.exp.in: WebKit2 needs GraphicsLayer::setSize, which is no longer inline.
      * platform/graphics/GraphicsLayer.cpp:
      (WebCore::GraphicsLayer::setOffsetFromRenderer):
      (WebCore::GraphicsLayer::setSize):
      * platform/graphics/GraphicsLayer.h:
      (WebCore::GraphicsLayer::shouldRepaintOnSizeChange):
      * platform/graphics/ca/GraphicsLayerCA.cpp:
      (WebCore::GraphicsLayerCA::shouldRepaintOnSizeChange):
      * platform/graphics/ca/GraphicsLayerCA.h:
      * rendering/RenderLayerBacking.h: No longer need m_boundsConstrainedByClipping
      * rendering/RenderLayerBacking.cpp:
      (WebCore::RenderLayerBacking::RenderLayerBacking):
      (WebCore::RenderLayerBacking::updateCompositedBounds):
      (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): setSize takes
      care of repainting for us now, so we can remove all the conditional code.
      
      LayoutTests:
      
      Reviewed by Tim Horton.
      
      Test that dumps repaint rects on layers after visibility changes affect
      the layer hierarchy.
      
      * compositing/repaint/repaint-on-layer-grouping-change-expected.txt: Added.
      * compositing/repaint/repaint-on-layer-grouping-change.html: Added.
      * compositing/repaint/resize-repaint-expected.txt: Update result.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154470 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bd93c753
    • ch.dumez@sisa.samsung.com's avatar
      [SVG2] Merge SVGStyledElement and SVGElement · 7dd31bf9
      ch.dumez@sisa.samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=107386
      
      Reviewed by Andreas Kling.
      
      Source/WebCore:
      
      Merge SVGStyledElement into SVGElement to simplify the SVG inheritance
      model and match the SVG2 specification:
      https://svgwg.org/svg2-draft/single-page.html#types-InterfaceSVGElement
      
      Test: svg/dom/svg2-inheritance.html
      
      * CMakeLists.txt:
      * DerivedSources.cpp:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.order:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * accessibility/AccessibilityNodeObject.cpp:
      (WebCore::AccessibilityNodeObject::alternativeText):
      (WebCore::AccessibilityNodeObject::accessibilityDescription):
      * css/SVGCSSStyleSelector.cpp:
      * rendering/style/SVGRenderStyle.cpp:
      * rendering/svg/RenderSVGContainer.cpp:
      (WebCore::RenderSVGContainer::RenderSVGContainer):
      * rendering/svg/RenderSVGContainer.h:
      * rendering/svg/RenderSVGHiddenContainer.cpp:
      (WebCore::RenderSVGHiddenContainer::RenderSVGHiddenContainer):
      * rendering/svg/RenderSVGHiddenContainer.h:
      * rendering/svg/RenderSVGModelObject.cpp:
      (WebCore::RenderSVGModelObject::RenderSVGModelObject):
      (WebCore::getElementCTM):
      * rendering/svg/RenderSVGModelObject.h:
      * rendering/svg/RenderSVGResourceClipper.cpp:
      (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
      (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
      (WebCore::RenderSVGResourceClipper::hitTestClipContent):
      * rendering/svg/RenderSVGResourceContainer.cpp:
      (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
      * rendering/svg/RenderSVGResourceContainer.h:
      * rendering/svg/RenderSVGResourceFilter.cpp:
      * rendering/svg/RenderSVGResourceFilterPrimitive.h:
      * rendering/svg/RenderSVGResourceMarker.cpp:
      * rendering/svg/RenderSVGResourceMarker.h:
      * rendering/svg/RenderSVGResourceMasker.cpp:
      (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
      (WebCore::RenderSVGResourceMasker::calculateMaskContentRepaintRect):
      * rendering/svg/RenderSVGResourcePattern.cpp:
      (WebCore::RenderSVGResourcePattern::createTileImage):
      * rendering/svg/RenderSVGRoot.cpp:
      (WebCore::RenderSVGRoot::RenderSVGRoot):
      * rendering/svg/RenderSVGRoot.h:
      * rendering/svg/RenderSVGViewportContainer.cpp:
      (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer):
      * rendering/svg/RenderSVGViewportContainer.h:
      * rendering/svg/SVGRenderSupport.cpp:
      (WebCore::SVGRenderSupport::layoutChildren):
      * rendering/svg/SVGRenderTreeAsText.cpp:
      * rendering/svg/SVGResources.cpp:
      (WebCore::registerPendingResource):
      * rendering/svg/SVGResourcesCache.cpp:
      * svg/SVGAElement.cpp:
      (WebCore::SVGAElement::title):
      * svg/SVGAllInOne.cpp:
      * svg/SVGAltGlyphDefElement.h:
      * svg/SVGAltGlyphItemElement.h:
      * svg/SVGAnimateElement.cpp:
      * svg/SVGAnimatedType.cpp:
      (WebCore::SVGAnimatedType::valueAsString):
      (WebCore::SVGAnimatedType::setValueAsString):
      * svg/SVGAnimationElement.cpp:
      (WebCore::SVGAnimationElement::isTargetAttributeCSSProperty):
      (WebCore::SVGAnimationElement::computeCSSPropertyValue):
      (WebCore::SVGAnimationElement::adjustForInheritance):
      (WebCore::inheritsFromProperty):
      * svg/SVGComponentTransferFunctionElement.h:
      * svg/SVGCursorElement.h:
      * svg/SVGDescElement.cpp:
      (WebCore::SVGDescElement::SVGDescElement):
      * svg/SVGDescElement.h:
      * svg/SVGDescElement.idl:
      * svg/SVGElement.cpp:
      (WebCore::mapAttributeToCSSProperty):
      (WebCore::cssPropertyToTypeMap):
      (WebCore::SVGElement::SVGElement):
      (WebCore::SVGElement::~SVGElement):
      (WebCore::SVGElement::removedFrom):
      (WebCore::SVGElement::parseAttribute):
      (WebCore::SVGElement::animatedPropertyTypeForAttribute):
      (WebCore::collectInstancesForSVGElement):
      (WebCore::SVGElement::isAnimatableAttribute):
      (WebCore::SVGElement::title):
      (WebCore::SVGElement::rendererIsNeeded):
      (WebCore::SVGElement::cssPropertyIdForSVGAttributeName):
      (WebCore::SVGElement::isAnimatableCSSProperty):
      (WebCore::SVGElement::isPresentationAttribute):
      (WebCore::SVGElement::collectStyleForPresentationAttribute):
      (WebCore::SVGElement::isKnownAttribute):
      (WebCore::SVGElement::svgAttributeChanged):
      (WebCore::SVGElement::insertedInto):
      (WebCore::SVGElement::buildPendingResourcesIfNeeded):
      (WebCore::SVGElement::childrenChanged):
      (WebCore::SVGElement::getPresentationAttribute):
      (WebCore::SVGElement::instanceUpdatesBlocked):
      (WebCore::SVGElement::setInstanceUpdatesBlocked):
      (WebCore::SVGElement::localCoordinateSpaceTransform):
      (WebCore::SVGElement::updateRelativeLengthsInformation):
      (WebCore::SVGElement::isMouseFocusable):
      (WebCore::SVGElement::isKeyboardFocusable):
      * svg/SVGElement.h:
      (WebCore::SVGElement::supportsMarkers):
      (WebCore::SVGElement::hasRelativeLengths):
      (WebCore::SVGElement::needsPendingResourceHandling):
      (WebCore::SVGElement::selfHasRelativeLengths):
      (WebCore::SVGElement::updateRelativeLengthsInformation):
      * svg/SVGElement.idl:
      * svg/SVGElementInstance.cpp:
      (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
      (WebCore::SVGElementInstance::InstanceUpdateBlocker::InstanceUpdateBlocker):
      * svg/SVGElementInstance.h:
      * svg/SVGFEBlendElement.idl:
      * svg/SVGFEColorMatrixElement.idl:
      * svg/SVGFEComponentTransferElement.idl:
      * svg/SVGFECompositeElement.idl:
      * svg/SVGFEConvolveMatrixElement.idl:
      * svg/SVGFEDiffuseLightingElement.idl:
      * svg/SVGFEDisplacementMapElement.idl:
      * svg/SVGFEDropShadowElement.idl:
      * svg/SVGFEFloodElement.idl:
      * svg/SVGFEGaussianBlurElement.idl:
      * svg/SVGFEImageElement.idl:
      * svg/SVGFELightElement.h:
      * svg/SVGFEMergeElement.idl:
      * svg/SVGFEMergeNodeElement.h:
      * svg/SVGFEMorphologyElement.idl:
      * svg/SVGFEOffsetElement.idl:
      * svg/SVGFESpecularLightingElement.idl:
      * svg/SVGFETileElement.idl:
      * svg/SVGFETurbulenceElement.idl:
      * svg/SVGFilterElement.cpp:
      (WebCore::SVGFilterElement::SVGFilterElement):
      (WebCore::SVGFilterElement::parseAttribute):
      (WebCore::SVGFilterElement::svgAttributeChanged):
      (WebCore::SVGFilterElement::childrenChanged):
      * svg/SVGFilterElement.h:
      * svg/SVGFilterElement.idl:
      * svg/SVGFilterPrimitiveStandardAttributes.cpp:
      (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
      (WebCore::SVGFilterPrimitiveStandardAttributes::parseAttribute):
      (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
      (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
      (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
      * svg/SVGFilterPrimitiveStandardAttributes.h:
      * svg/SVGFontElement.cpp:
      (WebCore::SVGFontElement::SVGFontElement):
      * svg/SVGFontElement.h:
      * svg/SVGFontFaceElement.cpp:
      * svg/SVGFontFaceElement.h:
      * svg/SVGFontFaceFormatElement.h:
      * svg/SVGFontFaceNameElement.h:
      * svg/SVGFontFaceSrcElement.h:
      * svg/SVGFontFaceUriElement.h:
      * svg/SVGGElement.cpp:
      (WebCore::SVGGElement::rendererIsNeeded):
      * svg/SVGGlyphElement.cpp:
      (WebCore::SVGGlyphElement::SVGGlyphElement):
      (WebCore::SVGGlyphElement::parseAttribute):
      (WebCore::SVGGlyphElement::insertedInto):
      (WebCore::SVGGlyphElement::removedFrom):
      * svg/SVGGlyphElement.h:
      * svg/SVGGlyphRefElement.cpp:
      (WebCore::SVGGlyphRefElement::SVGGlyphRefElement):
      (WebCore::SVGGlyphRefElement::parseAttribute):
      * svg/SVGGlyphRefElement.h:
      * svg/SVGGlyphRefElement.idl:
      * svg/SVGGradientElement.cpp:
      (WebCore::SVGGradientElement::SVGGradientElement):
      (WebCore::SVGGradientElement::parseAttribute):
      (WebCore::SVGGradientElement::svgAttributeChanged):
      (WebCore::SVGGradientElement::childrenChanged):
      * svg/SVGGradientElement.h:
      * svg/SVGGradientElement.idl:
      * svg/SVGGraphicsElement.cpp:
      (WebCore::SVGGraphicsElement::SVGGraphicsElement):
      (WebCore::SVGGraphicsElement::parseAttribute):
      (WebCore::SVGGraphicsElement::svgAttributeChanged):
      * svg/SVGGraphicsElement.h:
      * svg/SVGGraphicsElement.idl:
      * svg/SVGLocatable.cpp:
      (WebCore::SVGLocatable::computeCTM):
      * svg/SVGMPathElement.h:
      * svg/SVGMarkerElement.cpp:
      (WebCore::SVGMarkerElement::SVGMarkerElement):
      (WebCore::SVGMarkerElement::parseAttribute):
      (WebCore::SVGMarkerElement::svgAttributeChanged):
      (WebCore::SVGMarkerElement::childrenChanged):
      * svg/SVGMarkerElement.h:
      * svg/SVGMarkerElement.idl:
      * svg/SVGMaskElement.cpp:
      (WebCore::SVGMaskElement::SVGMaskElement):
      (WebCore::SVGMaskElement::parseAttribute):
      (WebCore::SVGMaskElement::svgAttributeChanged):
      (WebCore::SVGMaskElement::childrenChanged):
      * svg/SVGMaskElement.h:
      * svg/SVGMaskElement.idl:
      * svg/SVGMetadataElement.h:
      * svg/SVGMissingGlyphElement.cpp:
      (WebCore::SVGMissingGlyphElement::SVGMissingGlyphElement):
      * svg/SVGMissingGlyphElement.h:
      * svg/SVGMissingGlyphElement.idl:
      * svg/SVGPatternElement.cpp:
      (WebCore::SVGPatternElement::SVGPatternElement):
      (WebCore::SVGPatternElement::parseAttribute):
      (WebCore::SVGPatternElement::svgAttributeChanged):
      (WebCore::SVGPatternElement::childrenChanged):
      * svg/SVGPatternElement.h:
      * svg/SVGPatternElement.idl:
      * svg/SVGScriptElement.h:
      * svg/SVGStopElement.cpp:
      (WebCore::SVGStopElement::SVGStopElement):
      (WebCore::SVGStopElement::parseAttribute):
      (WebCore::SVGStopElement::svgAttributeChanged):
      * svg/SVGStopElement.h:
      * svg/SVGStopElement.idl:
      * svg/SVGStyleElement.h:
      * svg/SVGStyledElement.cpp: Removed.
      * svg/SVGStyledElement.h: Removed.
      * svg/SVGStyledElement.idl: Removed.
      * svg/SVGSymbolElement.cpp:
      (WebCore::SVGSymbolElement::SVGSymbolElement):
      (WebCore::SVGSymbolElement::parseAttribute):
      (WebCore::SVGSymbolElement::svgAttributeChanged):
      * svg/SVGSymbolElement.h:
      * svg/SVGSymbolElement.idl:
      * svg/SVGTRefElement.cpp:
      (WebCore::SVGTRefElement::insertedInto):
      (WebCore::SVGTRefElement::removedFrom):
      * svg/SVGTitleElement.cpp:
      (WebCore::SVGTitleElement::SVGTitleElement):
      (WebCore::SVGTitleElement::insertedInto):
      * svg/SVGTitleElement.h:
      * svg/SVGTitleElement.idl:
      * svg/SVGTransformable.cpp:
      * svg/SVGUseElement.cpp:
      (WebCore::SVGUseElement::selfHasRelativeLengths):
      * svg/SVGViewElement.cpp:
      (WebCore::SVGViewElement::SVGViewElement):
      (WebCore::SVGViewElement::parseAttribute):
      * svg/SVGViewElement.h:
      * svg/animation/SVGSMILElement.h:
      * svg/graphics/filters/SVGFEImage.cpp:
      (WebCore::FEImage::platformApplySoftware):
      
      LayoutTests:
      
      Add layout test to validate the SVG2 inheritance model.
      
      * svg/dom/svg2-inheritance-expected.txt: Added.
      * svg/dom/svg2-inheritance.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7dd31bf9
    • barraclough@apple.com's avatar
      Error.stack should not be enumerable · a928469d
      barraclough@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120171
      
      Reviewed by Oliver Hunt.
      
      Breaks ECMA tests.
      
      Source/JavaScriptCore: 
      
      * runtime/ErrorInstance.cpp:
      (JSC::ErrorInstance::finishCreation):
          - None -> DontEnum
      
      LayoutTests: 
      
      * fast/js/exception-properties-expected.txt:
      * fast/js/script-tests/exception-properties.js:
          - Update test expectations.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154460 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a928469d
    • commit-queue@webkit.org's avatar
      [CSSRegions] Min-width and max-width for a region should support values other than length · 48e1efd2
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=115248
      
      Patch by Anton Obzhirov <a.obzhirov@samsung.com> on 2013-08-22
      Reviewed by Alexandru Chiculita.
      
      * fast/regions/region-min-max-width-support-expected.txt: Added.
      * fast/regions/region-min-max-width-support.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154453 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      48e1efd2
    • rniwa@webkit.org's avatar
      Actually, this test is failing on Debug builds as well. · d79fd74a
      rniwa@webkit.org authored
      Update the test expectation accordingly.
      
      * platform/mac-wk2/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154446 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d79fd74a
    • rniwa@webkit.org's avatar
      Add the failing test expectation to... · a1c40807
      rniwa@webkit.org authored
      Add the failing test expectation to webaudio/codec-tests/mp3/128kbps-44khz.html on Lion Release WK2.
      The failure is tracked by the bug 120161.
      
      * platform/mac-wk2/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154445 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a1c40807
    • rwlbuis@webkit.org's avatar
      REGRESSION: Assertion failure !collection->hasExactlyOneItem() in WebCore::namedItemGetter · f02f5da6
      rwlbuis@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=118056
      
      Reviewed by Ryosuke Niwa.
      
      Source/WebCore:
      
      The assert is hit in Debug mode because the DocumentOrderedMap in HTMLDocument::m_windowNamedItem
      includes matched SVG elements, but the WindowNameCollection used to collect the elements does not.
      This means the HTMLCollection stripped of SVG elements could end up hitting the empty or single item
      assertion, which the testcase verifies.
      To fix this change WindowNameCollection to include both SVG and HTML elements so it matches DocumentOrderedMap.
      
      Tests: svg/custom/document-all-includes-svg.html
             svg/custom/window-named-item-lookup.html
      
      * html/HTMLCollection.cpp:
      (WebCore::isMatchingElement):
      (WebCore::HTMLCollection::updateNameCache):
      
      LayoutTests:
      
      Add test to verify that SVG and HTML elements with id's are both found when using document.all or named properties.
      
      * svg/custom/document-all-includes-svg-expected.txt: Added.
      * svg/custom/document-all-includes-svg.html: Added.
      * svg/custom/window-named-item-lookup-expected.txt: Added.
      * svg/custom/window-named-item-lookup.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154441 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f02f5da6
    • reni@webkit.org's avatar
      ASSERTION FAILED: extractedStyle in WebCore::ApplyStyleCommand::removeInlineStyleFromElement · 82857b28
      reni@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=119672
      
      Reviewed by Darin Adler.
      
      Source/WebCore:
      
      The last extractedStyle parameter of removeInlineStyleFromElement() is not mandatory and it's set
      to default 0. This way we have to check its existence before the usage.
      
      Test: editing/execCommand/extracted_style_assert.html
      
      * editing/ApplyStyleCommand.cpp:
      (WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
      
      LayoutTests:
      
      Test with NULL extractedStyle.
      
      * editing/execCommand/extracted_style_assert-expected.txt: Added.
      * editing/execCommand/extracted_style_assert.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154439 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      82857b28
    • sergio@webkit.org's avatar
      [CSS Grid Layout] Refactor testing code · f55039c5
      sergio@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=119552
      
      Reviewed by Darin Adler.
      
      Based on Blink r148922 & r149060 by <jchaffraix@chromium.org>
      
      The old testing code was a huge copy&paste of big testing code
      blocks. Refactor it in some new utility functions so that we could
      reduce the size of the layout test file and ease the maintenance.
      
      * fast/css-grid-layout/grid-item-column-row-get-set-expected.txt:
      * fast/css-grid-layout/grid-item-column-row-get-set.html:
      * fast/css-grid-layout/grid-item-end-after-get-set-expected.txt:
      * fast/css-grid-layout/grid-item-end-after-get-set.html:
      * fast/css-grid-layout/grid-item-start-before-get-set-expected.txt:
      * fast/css-grid-layout/grid-item-start-before-get-set.html:
      * fast/css-grid-layout/resources/grid-item-column-row-parsing-utils.js: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154438 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f55039c5
  3. 21 Aug, 2013 22 commits
    • rniwa@webkit.org's avatar
      Update Mac test expectations. · 9bc82be5
      rniwa@webkit.org authored
      * platform/mac-wk2/TestExpectations:
      * platform/mac/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154437 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9bc82be5
    • simon.fraser@apple.com's avatar
      Setting -webkit-filter: in :active selector causes failure to redraw · 3d54f8b4
      simon.fraser@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120135
      
      Source/WebCore:
      
      Reviewed by Jer Noble.
      
      When removing a filter on an inline child of a compositing layer,
      the inline loses its RenderLayer and compositing layer, but we fail to
      repaint the compositing layer that the inline is now painting into.
      
      This worked correctly for opacity, because opacity toggles cause
      layouts (which then paint the correct layer), so do the same for filters.
      
      Test: css3/filters/remove-filter-repaint.html
      
      * rendering/style/RenderStyle.cpp:
      (WebCore::RenderStyle::changeRequiresLayout): Return true if we toggled
      between having filters and not. Drive-by cleanup, making use of new convenience
      function for hasOpacity().
      * rendering/style/StyleRareNonInheritedData.cpp:
      (WebCore::StyleRareNonInheritedData::hasFilters): Returns true if we have any
      filters.
      * rendering/style/StyleRareNonInheritedData.h:
      (WebCore::StyleRareNonInheritedData::hasOpacity): Convenience function that
      returns true if opacity is < 1.
      
      LayoutTests:
      
      Reviewed by Jer Noble.
      
      Ref test for removing a filter on an inline.
      
      * css3/filters/remove-filter-repaint-expected.html: Added.
      * css3/filters/remove-filter-repaint.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154430 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3d54f8b4
    • commit-queue@webkit.org's avatar
      https://bugs.webkit.org/show_bug.cgi?id=119900 · 40b6cd3c
      commit-queue@webkit.org authored
      Exception in global setter doesn't unwind correctly
      
      Patch by Yi Shen <max.hong.shen@gmail.com> on 2013-08-21
      Reviewed by Geoffrey Garen.
      
      Source/JavaScriptCore:
      
      Call VM_THROW_EXCEPTION_AT_END in op_put_to_scope if the setter throws exception.
      
      * jit/JITStubs.cpp:
      (JSC::DEFINE_STUB_FUNCTION):
      
      LayoutTests:
      
      Add test for calling global setter which throws exception.
      
      * fast/js/script-tests/throw-exception-in-global-setter.js: Added.
      (g):
      * fast/js/throw-exception-in-global-setter-expected.txt: Added.
      * fast/js/throw-exception-in-global-setter.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154429 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      40b6cd3c
    • ap@apple.com's avatar
      http/tests/cookies/simple-cookies-expired.html sometimes fails on Lion Intel Release (Tests) · dc3f1794
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=73694
      
      http/tests/cookies/simple-cookies-max-age.html sometimes fails on Lion Intel Release (Tests)
      https://bugs.webkit.org/show_bug.cgi?id=73695
      
      http/tests/cookies/single-quoted-value.html intermittently fails on Mac
      https://bugs.webkit.org/show_bug.cgi?id=105603
      
      Reviewed by Dan Bernstein.
      
      Woark around a CFNetwork issue by using Max-Age=-1 instead of Max-Age=0. Since it's
      WebKit that we are testing and not the lower level networking, this does not change
      test coverage.
      
      * http/tests/cookies/resources/clearCookies.cgi:
      * http/tests/cookies/resources/cookies-test-pre.js:
      * http/tests/cookies/simple-cookies-max-age.html:
      * http/tests/websocket/tests/hybi/httponly-cookie.pl:
      * platform/mac-wk2/TestExpectations:
      * platform/mac/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dc3f1794
    • bfulgham@apple.com's avatar
      [Windows] Reenable some tests that pass now. · 92247d80
      bfulgham@apple.com authored
      * platform/win/TestExpectations:  Renable some tests
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154424 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      92247d80
    • timothy_horton@apple.com's avatar
      Remove a deleted test from the global TestExpectations · e2202029
      timothy_horton@apple.com authored
      It was freaking lint-test-expectations out.
      
      * TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154420 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e2202029
    • fpizlo@apple.com's avatar
      REGRESSION: Crash under JITCompiler::link while loading Gmail · 5feb4a8f
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119872
      
      Source/JavaScriptCore: 
      
      Reviewed by Mark Hahnenberg.
              
      Apparently, unsigned + signed = unsigned. Work around it with a cast.
      
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::parseBlock):
      
      LayoutTests: 
      
      Reviewed by Mark Hahnenberg.
      
      * fast/js/dfg-switch-imm-negative-expected.txt: Added.
      * fast/js/dfg-switch-imm-negative.html: Added.
      * fast/js/jsc-test-list:
      * fast/js/script-tests/dfg-switch-imm-negative.js: Added.
      (foo):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154419 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5feb4a8f
    • timothy_horton@apple.com's avatar
      isReplacementObscured is wrong when the indicator is clipped by an iframe · 2d405bad
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120031
      <rdar://problem/14606819>
      
      Reviewed by Simon Fraser.
      
      Hit-test for plugin obscurity in the root document. To do this, we also need
      to convert the indicator rectangle into root view coordinates before
      hit testing its edges.
      
      This resolves the case where an iframe which clips its content was reporting
      the indicator as not obscured, despite the fact that it was obscured from the
      point of view of the user.
      
      Updated test plugins/unavailable-plugin-indicator-obscurity.html
      
      * rendering/RenderEmbeddedObject.cpp:
      (WebCore::RenderEmbeddedObject::isReplacementObscured):
      
      Update the unavailable plugin indicator test to also ensure that plugins are
      correctly known to be obscured when contained within and clipped by an <iframe>.
      
      * plugins/unavailable-plugin-indicator-obscurity-expected.txt:
      * plugins/unavailable-plugin-indicator-obscurity.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154412 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2d405bad
    • ap@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=111650 · 93f6e570
      ap@apple.com authored
      REGRESSION (r143931): set-cookie-on-redirect.html still breaking subsequent tests
      
      Reviewed by Brady Eidson.
      
      Work around <rdar://problem/10080130> by making the cookie persistent, session
      cookies are deleted in a way that confuses some code paths in CFNetwork.
      
      I'll unskip tests later, with another cookie reliability fix.
      
      * http/tests/cookies/resources/set-cookie-on-redirect.php:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154410 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      93f6e570
    • fpizlo@apple.com's avatar
      Assertion failure in JSC::SlotVisitor::copyLater when marking JSDataView · cd07b473
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120099
      
      Source/JavaScriptCore: 
      
      Reviewed by Mark Hahnenberg.
              
      JSDataView should not store the ArrayBuffer* in the butterfly indexing header, since
      JSDataView may have ordinary JS indexed properties.
      
      * runtime/ClassInfo.h:
      * runtime/JSArrayBufferView.cpp:
      (JSC::JSArrayBufferView::ConstructionContext::ConstructionContext):
      (JSC::JSArrayBufferView::finishCreation):
      * runtime/JSArrayBufferView.h:
      (JSC::hasArrayBuffer):
      * runtime/JSArrayBufferViewInlines.h:
      (JSC::JSArrayBufferView::buffer):
      (JSC::JSArrayBufferView::neuter):
      (JSC::JSArrayBufferView::byteOffset):
      * runtime/JSCell.cpp:
      (JSC::JSCell::slowDownAndWasteMemory):
      * runtime/JSCell.h:
      * runtime/JSDataView.cpp:
      (JSC::JSDataView::JSDataView):
      (JSC::JSDataView::create):
      (JSC::JSDataView::slowDownAndWasteMemory):
      * runtime/JSDataView.h:
      (JSC::JSDataView::buffer):
      * runtime/JSGenericTypedArrayView.h:
      * runtime/JSGenericTypedArrayViewInlines.h:
      (JSC::::visitChildren):
      (JSC::::slowDownAndWasteMemory):
      
      LayoutTests: 
      
      Reviewed by Mark Hahnenberg.
      
      * fast/js/regress/ArrayBuffer-DataView-alloc-large-long-lived-expected.txt: Added.
      * fast/js/regress/ArrayBuffer-DataView-alloc-large-long-lived.html: Added.
      * fast/js/regress/ArrayBuffer-DataView-alloc-long-lived-expected.txt: Added.
      * fast/js/regress/ArrayBuffer-DataView-alloc-long-lived.html: Added.
      * fast/js/regress/DataView-custom-properties-expected.txt: Added.
      * fast/js/regress/DataView-custom-properties.html: Added.
      * fast/js/regress/script-tests/ArrayBuffer-DataView-alloc-large-long-lived.js: Added.
      * fast/js/regress/script-tests/ArrayBuffer-DataView-alloc-long-lived.js: Added.
      * fast/js/regress/script-tests/DataView-custom-properties.js: Added.
      * platform/mac/TestExpectations: 
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154408 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cd07b473
    • mhahnenberg@apple.com's avatar
      Remove incorrect ASSERT from CopyVisitor::visitItem · a61dc64e
      mhahnenberg@apple.com authored
      Rubber stamped by Filip Pizlo.
      
      Source/JavaScriptCore: 
      
      * heap/CopyVisitorInlines.h:
      (JSC::CopyVisitor::visitItem):
      
      LayoutTests: 
      
      Added a new test that triggered the old ASSERT. It's a useful test to have because we create
      TypedArrays with custom properties.
      
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented-expected.txt: Added.
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented.html: Added.
      * fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented.js: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154407 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a61dc64e
    • timothy_horton@apple.com's avatar
      REGRESSION(r154399): broke Mac ML debug WK1 tests > 50 crashes (Requested by thorton on #webkit). · eefba76d
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120129
      
      Rolling out http://trac.webkit.org/changeset/154399.
      
      * rendering/RenderBlock.cpp:
      * rendering/RenderBlock.h:
      * rendering/RenderBlockLineLayout.cpp:
      (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
      * rendering/RenderBox.h:
      
      * fast/block/margin-collapse/self-collapsing-block-with-float-descendant-expected.html: Removed.
      * fast/block/margin-collapse/self-collapsing-block-with-float-descendant.html: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154404 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eefba76d
    • fpizlo@apple.com's avatar
      DFG should inline new typedArray() · 372fa82b
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120022
      
      Source/JavaScriptCore: 
      
      Reviewed by Oliver Hunt.
              
      Adds inlining of typed array allocations in the DFG. Any operation of the
      form:
              
          new foo(blah)
              
      or:
              
          foo(blah)
              
      where 'foo' is a typed array constructor and 'blah' is exactly one argument,
      is turned into the NewTypedArray intrinsic. Later, of child1 (i.e. 'blah')
      is predicted integer, we generate inline code for an allocation. Otherwise
      it turns into a call to an operation that behaves like the constructor would
      if it was passed one argument (i.e. it may wrap a buffer or it may create a
      copy or another array, or it may allocate an array of that length).
      
      * bytecode/SpeculatedType.cpp:
      (JSC::speculationFromTypedArrayType):
      (JSC::speculationFromClassInfo):
      * bytecode/SpeculatedType.h:
      * dfg/DFGAbstractInterpreterInlines.h:
      (JSC::DFG::::executeEffects):
      * dfg/DFGBackwardsPropagationPhase.cpp:
      (JSC::DFG::BackwardsPropagationPhase::propagate):
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::handleTypedArrayConstructor):
      (JSC::DFG::ByteCodeParser::handleConstantInternalFunction):
      * dfg/DFGCCallHelpers.h:
      (JSC::DFG::CCallHelpers::setupArgumentsWithExecState):
      * dfg/DFGCSEPhase.cpp:
      (JSC::DFG::CSEPhase::putStructureStoreElimination):
      * dfg/DFGClobberize.h:
      (JSC::DFG::clobberize):
      * dfg/DFGFixupPhase.cpp:
      (JSC::DFG::FixupPhase::fixupNode):
      * dfg/DFGGraph.cpp:
      (JSC::DFG::Graph::dump):
      * dfg/DFGNode.h:
      (JSC::DFG::Node::hasTypedArrayType):
      (JSC::DFG::Node::typedArrayType):
      * dfg/DFGNodeType.h:
      * dfg/DFGOperations.cpp:
      (JSC::DFG::newTypedArrayWithSize):
      (JSC::DFG::newTypedArrayWithOneArgument):
      * dfg/DFGOperations.h:
      (JSC::DFG::operationNewTypedArrayWithSizeForType):
      (JSC::DFG::operationNewTypedArrayWithOneArgumentForType):
      * dfg/DFGPredictionPropagationPhase.cpp:
      (JSC::DFG::PredictionPropagationPhase::propagate):
      * dfg/DFGSafeToExecute.h:
      (JSC::DFG::safeToExecute):
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::SpeculativeJIT::compileNewTypedArray):
      * dfg/DFGSpeculativeJIT.h:
      (JSC::DFG::SpeculativeJIT::callOperation):
      * dfg/DFGSpeculativeJIT32_64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGSpeculativeJIT64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * jit/JITOpcodes.cpp:
      (JSC::JIT::emit_op_new_object):
      * jit/JITOpcodes32_64.cpp:
      (JSC::JIT::emit_op_new_object):
      * runtime/JSArray.h:
      (JSC::JSArray::allocationSize):
      * runtime/JSArrayBufferView.h:
      (JSC::JSArrayBufferView::allocationSize):
      * runtime/JSGenericTypedArrayViewConstructorInlines.h:
      (JSC::constructGenericTypedArrayView):
      * runtime/JSObject.h:
      (JSC::JSFinalObject::allocationSize):
      * runtime/TypedArrayType.cpp:
      (JSC::constructorClassInfoForType):
      * runtime/TypedArrayType.h:
      (JSC::indexToTypedArrayType):
      
      LayoutTests: 
      
      Reviewed by Oliver Hunt.
      
      * fast/js/regress/Float64Array-alloc-long-lived-expected.txt: Added.
      * fast/js/regress/Float64Array-alloc-long-lived.html: Added.
      * fast/js/regress/Int16Array-alloc-long-lived-expected.txt: Added.
      * fast/js/regress/Int16Array-alloc-long-lived.html: Added.
      * fast/js/regress/Int8Array-alloc-long-lived-expected.txt: Added.
      * fast/js/regress/Int8Array-alloc-long-lived.html: Added.
      * fast/js/regress/script-tests/Float64Array-alloc-long-lived.js: Added.
      * fast/js/regress/script-tests/Int16Array-alloc-long-lived.js: Added.
      * fast/js/regress/script-tests/Int32Array-alloc-long-lived.js:
      * fast/js/regress/script-tests/Int8Array-alloc-long-lived.js: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154403 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      372fa82b
    • timothy_horton@apple.com's avatar
      <https://webkit.org/b/120099> Assertion failure in JSC::SlotVisitor::copyLater... · 5e1de64f
      timothy_horton@apple.com authored
      <https://webkit.org/b/120099> Assertion failure in JSC::SlotVisitor::copyLater when marking DataView
      
      Mark fast/canvas/webgl/array-message-passing.html as crashing on debug, for now.
      
      * platform/mac/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154402 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5e1de64f
    • simon.fraser@apple.com's avatar
      Allow opacity to apply to custom scrollbars · 7c818704
      simon.fraser@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120104
      
      Source/WebCore:
      
      Reviewed by David Hyatt.
      
      Opacity was ignored custom scrollbar pseudoelements because custom scrollbar
      renderers never create layers, and opacity is normally handled by the RenderLayer code.
      
      Fix by having RenderScrollbarTheme and RenderScrollbarPart do the transparency
      layers necessary for opacity. RenderScrollbarPart handles opacity for individual
      parts.
      
      Because ScrollbarThemeComposite::paint() renders the parts on after another (with
      no nesting), opacity handling for the entire scrollbar needs special-casing.
      This is done by willPaintScrollbar()/didPaintScrollbar() on the theme.
      RenderScrollbarTheme consults the opacity the scrollbar (which we get from
      the ScrollbarBGPart renderer) to decide whether to set up a transparency layer.
      
      Test: scrollbars/scrollbar-parts-opacity.html
      
      * platform/ScrollbarThemeComposite.cpp:
      (WebCore::ScrollbarThemeComposite::paint):
      * platform/ScrollbarThemeComposite.h:
      (WebCore::ScrollbarThemeComposite::willPaintScrollbar):
      (WebCore::ScrollbarThemeComposite::didPaintScrollbar):
      * rendering/RenderScrollbar.cpp:
      (WebCore::RenderScrollbar::opacity):
      * rendering/RenderScrollbar.h:
      * rendering/RenderScrollbarPart.cpp:
      (WebCore::RenderScrollbarPart::paintIntoRect):
      * rendering/RenderScrollbarTheme.cpp:
      (WebCore::RenderScrollbarTheme::willPaintScrollbar):
      (WebCore::RenderScrollbarTheme::didPaintScrollbar):
      * rendering/RenderScrollbarTheme.h:
      
      LayoutTests:
      
      Reviewed by David Hyatt.
      
      Ref test for custom scrollbars with opacity on the bar itself,
      and on the thumb.
      
      * scrollbars/scrollbar-parts-opacity-expected.html: Added.
      * scrollbars/scrollbar-parts-opacity.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154400 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7c818704
    • robert@webkit.org's avatar
      REGRESSION(r127163): Respect clearance set on ancestors when placing floats · a10ca744
      robert@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=119979
      
      Reviewed by David Hyatt.
      
      Source/WebCore:
      
      If a float has a self-collapsing ancestor with clearance then it needs to respect
      that clearance when placing itself on the line.
      
      Test: fast/block/margin-collapse/self-collapsing-block-with-float-descendant.html
      
      * rendering/RenderBlock.cpp:
      (WebCore::RenderBlock::marginOffsetForSelfCollapsingBlock):
      * rendering/RenderBlock.h:
      * rendering/RenderBlockLineLayout.cpp:
      (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
      * rendering/RenderBox.h:
      (WebCore::RenderBox::previousInFlowSiblingBox):
      
      LayoutTests:
      
      * fast/block/margin-collapse/self-collapsing-block-with-float-descendant-expected.html: Added.
      * fast/block/margin-collapse/self-collapsing-block-with-float-descendant.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154399 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a10ca744
    • bfulgham@apple.com's avatar
      [Windows] Unreviewed gardening. One more CSS_IMAGE_SET test can be activated. · 26cfb5c5
      bfulgham@apple.com authored
      * platform/win/TestExpectations: We can reactivate cssom/cssvalue-comparison.html
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154394 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      26cfb5c5
    • bfulgham@apple.com's avatar
      <https://webkit.org/b/120113> Enable CSS_IMAGE_SET · 544444a9
      bfulgham@apple.com authored
      Reviewed by Anders Carlsson.
      
      * platform/win/TestExpectations: Turn on two CSS_IMAGE_SET-based tests that
      now pass on Windows.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154392 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      544444a9
    • allan.jensen@digia.com's avatar
      Font’s fast code path doesn’t handle partial runs correctly when kerning or ligatures are enabled · 52ea0c9f
      allan.jensen@digia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=100050
      
      Reviewed by Antti Koivisto.
      
      Source/WebCore:
      
      Always let WidthIterator iterate over an entire TextRun to avoid problems
      with pixel rounding or shaping on partial runs.
      
      This fix is necessary for Qt because the complex font-path can not disable
      shaping, leading to the complex path painting slighly different from the
      fast path, which messes up selection painting.
      
      No change in functionality, no new tests.
      
      * 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:
      (WebCore::GlyphBuffer::add):
      (GlyphBuffer):
      * platform/graphics/WidthIterator.cpp:
      (WebCore::WidthIterator::advanceInternal):
      * platform/graphics/WidthIterator.h:
      (WidthIterator): Removed now unused advanceOneCharacter method.
      
      LayoutTests:
      
      * fast/text/resources/PTS55F-webfont.ttf: Added.
      * fast/text/partial-textruns-expected.html: Added.
      * fast/text/partial-textruns.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154384 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      52ea0c9f
    • tonikitoo@webkit.org's avatar
      Harden RenderBox::canBeScrolledAndHasScrollableArea logic... · 1bf1cb62
      tonikitoo@webkit.org authored
      Harden RenderBox::canBeScrolledAndHasScrollableArea logic https://bugs.webkit.org/show_bug.cgi?id=104373
      
      Reviewed by Simon Fraser.
      Patch by Antonio Gomes <a1.gomes@sisa.samsung.com>
      
      Source/WebCore:
      
      Previously if a say div has a overflown content on 'y' but is
      styled as "overflow-x: auto; overflow-y: hidden", RenderBox::canBeProgramaticallyScrolled
      would still return true. It interfers, among other things, with the way
      autoscroll works.
      
      Patch fixes it by adding two helper methods to RenderBox class in order to verify a box'
      scrollability in a given axis (x or y); They are used when checking if a given box is in
      fact programatically scrollable.
      
      Test: fast/events/autoscroll-overflow-hidden-longhands.html
      
      WebKit autoscroll behavior now matches Firefox and Opera12 (pre-blink)
      in that sense.
      
      * rendering/RenderBox.cpp:
      (WebCore::RenderBox::canBeProgramaticallyScrolled):
      * rendering/RenderBox.h:
      (WebCore::RenderBox::hasScrollableOverflowX):
      (WebCore::RenderBox::hasScrollableOverflowY):
      
      LayoutTests:
      
      Patch adds a test to ensure autoscrolling only happens on a given
      axis if it is scrollable in that direction, according to its style.
      
      * fast/events/autoscroll-overflow-hidden-longhands-expected.txt: Added.
      * fast/events/autoscroll-overflow-hidden-longhands.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154383 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1bf1cb62
    • tonikitoo@webkit.org's avatar
      Text dragging can scroll overflow:hidden boxes https://bugs.webkit.org/show_bug.cgi?id=119760 · ce8f1831
      tonikitoo@webkit.org authored
      Reviewed by Darin Adler.
      Patch by Antonio Gomes <a1.gomes@sisa.samsung.com>
      
      Source/WebCore:
      
      Consider the case of the following HTML:
      <div style="overflow:hidden; width: 100px; height: 100px" >
        <input id="input" type="text" size=10 value="any text here!"/>
        <button style="position:relative; top: 100px; left: 100px"/>
      </div>
      
      If ones starts a text selection by dragging the mouse from within the input
      field, and continues to drag beyong the outer div boundary, the latter will
      be scrolled no matter its overflow:hidden style.
      That happens because when the autoscroll has started, it gets propagated up
      to the current layer's parent layer, instead of the to current layer's enclosing
      scrollable layer.
      
      Patch fixes the issue by hardening the way scrolling is
      propagated upwards when autoscroll is being performed.
      
      RenderLayer::enclosingScrollableLayer method also got rewritten
      in terms of RenderLayer tree traversing, instead of RenderObject tree.
      The rewrite adds support for cross frame upwards traversal.
      
      Test: fast/events/autoscroll-upwards-propagation.html
      
      * rendering/RenderLayer.cpp:
      (WebCore::parentLayerCrossFrame):
      (WebCore::RenderLayer::enclosingScrollableLayer):
      (WebCore::RenderLayer::scrollRectToVisible):
      
      LayoutTests:
      
      * fast/events/autoscroll-upwards-propagation-expected.txt: Added.
      * fast/events/autoscroll-upwards-propagation.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154382 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ce8f1831
    • barraclough@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=120086 · c6434f6d
      barraclough@apple.com authored
      REGRESSION (r154300): http/tests/security/cross-frame-access-getOwnPropertyDescriptor is failing or crashing on the bots
      
      Reviewed by Geoff Garen.
      
      Previously we allowed cross-frame access to these properties, but hid the descriptors.
      Now we allow access, but make them read-only, non-configurable.
      
      * http/tests/security/cross-frame-access-getOwnPropertyDescriptor-expected.txt:
      * http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html:
      * platform/mac/TestExpectations:
          - Update test/results/expectations.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154379 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c6434f6d
  4. 20 Aug, 2013 6 commits
    • fpizlo@apple.com's avatar
      fast/js/regress/emscripten-cube2hash is failing on all the Mac bots · b022c270
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120083
      
      Unreviewed.
              
      Fixed the test to work in web mode and removed the failure expectation.
      
      * fast/js/regress/script-tests/emscripten-cube2hash.js:
      (else.Module.string_appeared_here):
      * platform/mac/TestExpectations:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154377 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b022c270
    • fpizlo@apple.com's avatar
      Add emscripten memops benchmark. · 1fabb414
      fpizlo@apple.com authored
      Rubber stamped by Oliver Hunt.
      
      * TestExpectations:
      * fast/js/regress/emscripten-memops-expected.txt: Added.
      * fast/js/regress/emscripten-memops.html: Added.
      * fast/js/regress/script-tests/emscripten-memops.js: Added.
      (.Module.string_appeared_here):
      (else.Module.string_appeared_here):
      (else.else.Module.string_appeared_here):
      (else.else):
      (globalEval):
      (Runtime.stackSave):
      (Runtime.stackRestore):
      (Runtime.forceAlign):
      (Runtime.isNumberType):
      (Runtime.isPointerType):
      (Runtime.isStructType):
      (or64):
      (and64):
      (xor64):
      (getNativeTypeSize):
      (getNativeFieldSize):
      (dedup):
      (.set var):
      (getAlignSize):
      (calculateStructAlignment):
      (.else.alignment):
      (generateStructInfo):
      (dynCall):
      (addFunction):
      (removeFunction):
      (warnOnce):
      (.Runtime.funcWrappers.func):
      (getFuncWrapper):
      (UTF8Processor.this.processCChar):
      (UTF8Processor.this.processJSString):
      (UTF8Processor):
      (stackAlloc):
      (staticAlloc):
      (dynamicAlloc):
      (alignMemory):
      (makeBigInt):
      (assert):
      (ccall):
      (getCFunc):
      (.toC):
      (.fromC):
      (ccallFunc):
      (setValue):
      (getValue):
      (.set else):
      (.set return):
      (allocate):
      (Pointer_stringify):
      (alignMemoryPage):
      (enlargeMemory):
      (callRuntimeCallbacks):
      (preRun):
      (ensureInitRuntime):
      (preMain):
      (exitRuntime):
      (postRun):
      (addOnPreRun):
      (addOnInit):
      (addOnPreMain):
      (addOnExit):
      (addOnPostRun):
      (intArrayFromString):
      (intArrayToString):
      (writeStringToMemory):
      (writeArrayToMemory):
      (unSign):
      (reSign):
      (Math.string_appeared_here):
      (addRunDependency):
      (removeRunDependency):
      (loadMemoryInitializer.applyData):
      (loadMemoryInitializer.set addOnPreRun):
      (__ATINIT__.push):
      (STATIC_BASE):
      (copyTempDouble):
      (___setErrNo):
      (PATH.splitPath):
      (PATH.normalizeArray):
      (PATH.normalize.join):
      (PATH.normalize):
      (PATH.dirname):
      (PATH.basename):
      (PATH.join):
      (PATH.trim):
      (PATH.relative):
      (TTY.register):
      (TTY.stream_ops.open):
      (TTY.stream_ops.close):
      (TTY.stream_ops.read):
      (TTY.stream_ops.write):
      (TTY.default_tty_ops.get_char):
      (TTY.default_tty_ops.put_char):
      (TTY.default_tty1_ops.put_char):
      (MEMFS.mount):
      (MEMFS.create_node):
      (MEMFS.node_ops.getattr):
      (MEMFS.node_ops.setattr):
      (MEMFS.node_ops.lookup):
      (MEMFS.node_ops.mknod):
      (MEMFS.node_ops.rename):
      (MEMFS.node_ops.unlink):
      (MEMFS.node_ops.rmdir):
      (MEMFS.node_ops.readdir):
      (MEMFS.node_ops.symlink):
      (MEMFS.node_ops.readlink):
      (MEMFS.stream_ops.set else):
      (MEMFS.stream_ops.read):
      (MEMFS.stream_ops.write):
      (MEMFS.stream_ops.llseek):
      (MEMFS.stream_ops.allocate):
      (MEMFS.stream_ops.set return):
      (MEMFS.stream_ops.mmap):
      (_fflush):
      (FS.ErrnoError):
      (FS.handleFSError):
      (FS.hashName):
      (FS.hashAddNode):
      (FS.hashRemoveNode):
      (FS.lookupNode):
      (FS.):
      (FS.destroyNode):
      (FS.isRoot):
      (FS.isMountpoint):
      (FS.isFile):
      (FS.isDir):
      (FS.isLink):
      (FS.isChrdev):
      (FS.isBlkdev):
      (FS.isFIFO):
      (FS.cwd):
      (FS.var):
      (FS.lookupPath):
      (FS.getPath):
      (FS.modeStringToFlags):
      (FS.flagsToPermissionString):
      (FS.nodePermissions):
      (FS.mayLookup):
      (FS.mayMknod):
      (FS.mayCreate):
      (FS.mayDelete):
      (FS.mayOpen):
      (FS.chrdev_stream_ops.open):
      (FS.chrdev_stream_ops.llseek):
      (FS.major):
      (FS.minor):
      (FS.makedev):
      (FS.registerDevice):
      (FS.getDevice):
      (FS.nextfd):
      (FS.getStream):
      (FS.closeStream):
      (FS.getMode):
      (FS.joinPath):
      (FS.absolutePath):
      (FS.standardizePath):
      (FS.findObject):
      (FS.analyzePath):
      (FS.createFolder):
      (FS.createPath):
      (FS.createFile):
      (FS.createDataFile):
      (FS.createDevice):
      (FS.createLink):
      (FS.forceLoadFile):
      (FS.LazyUint8Array):
      (FS.LazyUint8Array.prototype.get if):
      (FS.LazyUint8Array.prototype):
      (FS.LazyUint8Array.prototype.setDataGetter):
      (FS.LazyUint8Array.prototype.cacheLength.doXHR):
      (FS.LazyUint8Array.prototype.cacheLength):
      (FS.get Object):
      (FS.get var):
      (FS.keys.forEach):
      (FS.processData.finish):
      (FS.processData):
      (FS.else):
      (FS.createPreloadedFile):
      (FS.createDefaultDirectories):
      (FS.createDefaultDevices.):
      (FS.createDefaultDevices):
      (FS.createStandardStreams):
      (FS.staticInit):
      (FS.init):
      (FS.quit):
      (FS.mount):
      (FS.lookup):
      (FS.mknod):
      (FS.create):
      (FS.mkdir):
      (FS.mkdev):
      (FS.symlink):
      (FS.rename):
      (FS.rmdir):
      (FS.readdir):
      (FS.unlink):
      (FS.readlink):
      (FS.stat):
      (FS.lstat):
      (FS.chmod):
      (FS.lchmod):
      (FS.fchmod):
      (FS.chown):
      (FS.lchown):
      (FS.fchown):
      (FS.truncate):
      (FS.ftruncate):
      (FS.utime):
      (FS.open):
      (FS.close):
      (FS.llseek):
      (FS.read):
      (FS.write):
      (FS.allocate):
      (FS.mmap):
      (_send):
      (_pwrite):
      (_write):
      (_fwrite):
      (__reallyNegative):
      (.getNextArg):
      (.switch.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.break):
      (.switch.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.case.string_appeared_here.break):
      (_fprintf):
      (_printf):
      (_abort):
      (___errno_location):
      (_sbrk.Runtime.dynamicAlloc):
      (_sbrk):
      (_sysconf):
      (_time):
      (Browser.mainLoop.pause):
      (Browser.mainLoop.resume):
      (Browser.mainLoop.updateStatus):
      (Browser.init.imagePlugin.string_appeared_here):
      (Browser.init.img.onload):
      (Browser.init.img.onerror):
      (Browser.init.audioPlugin.string_appeared_here):
      (Browser.init.finish):
      (Browser.init.fail):
      (Browser.init.audio.onerror.encode64):
      (Browser.init.audio.onerror):
      (Browser.init.audio):
      (Browser.init.else):
      (Browser.init.pointerLockChange):
      (Browser.init.canvas):
      (Browser.init):
      (Browser.destroyContext):
      (Browser.fullScreenChange):
      (Browser.requestFullScreen):
      (Browser.requestAnimationFrame):
      (Browser.safeRequestAnimationFrame):
      (Browser.safeSetTimeout):
      (Browser.safeSetInterval):
      (Browser.getMimetype):
      (Browser.getUserMedia):
      (Browser.getMovementX):
      (Browser.getMovementY):
      (Browser.calculateMouseEvent):
      (Browser.xhr.onload):
      (Browser.xhrLoad):
      (Browser.updateResizeListeners):
      (Browser.setCanvasSize):
      (Browser.setFullScreenCanvasSize):
      (Browser.setWindowedCanvasSize):
      (__ATINIT__.unshift):
      (__ATMAIN__.push):
      (__ATEXIT__.push):
      (Module.string_appeared_here):
      (invoke_ii):
      (invoke_v):
      (invoke_iii):
      (invoke_vi):
      (asmPrintInt):
      (asmPrintFloat):
      (asm):
      (Runtime.stackAlloc):
      (ExitStatus):
      (Module.string_appeared_here.Module.callMain.callMain.pad):
      (Module.string_appeared_here.Module.callMain):
      (run.doRun):
      (run.else):
      (run):
      (exit):
      (abort):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154376 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1fabb414
    • seokju@webkit.org's avatar
      Unreviewed gardening. Rebaseline after r154372. · e0099816
      seokju@webkit.org authored
      * platform/qt-mac/TestExpectations: fast/css/giant-stylesheet-crash.html was removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154374 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e0099816
    • rniwa@webkit.org's avatar
      <https://webkit.org/b/120095> Delete fast/css/giant-stylesheet-crash.html... · 6114a00c
      rniwa@webkit.org authored
      <https://webkit.org/b/120095> Delete fast/css/giant-stylesheet-crash.html since it flakily timeout or crash
      
      Reviewed by Antti Koivisto.
      
      Deleted the test. This test was added in r82054 but it has been crashing since r154242.
      
      Since our expected behavior is to crash at the moment, this test's description doesn't even match
      the expected behavior anymore. Furthermore, it intermittently times out due to DRT taking too long to
      allocate memory before it can crash.
      
      * fast/css/giant-stylesheet-crash-expected.txt: Removed.
      * fast/css/giant-stylesheet-crash.html: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154372 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6114a00c
    • dbates@webkit.org's avatar
      <https://webkit.org/b/120032> Add DRT test to ensure that AccessibilityObject::stringValue() · dd0e80ee
      dbates@webkit.org authored
      of <input type="file"> is meaningful
      
      Following <http://trac.webkit.org/changeset/154332>, add GTK-specific expected results for test
      LayoutTests/accessibility/file-upload-button-stringvalue.html.
      
      * platform/gtk-wk2/accessibility/file-upload-button-stringvalue-expected.txt: Added; expected failure
      results until we fix <https://webkit.org/b/64285>.
      * platform/gtk/accessibility/file-upload-button-stringvalue-expected.txt: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154359 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dd0e80ee
    • timothy_horton@apple.com's avatar
      Failing test expectations for two tests · 31bf3315
      timothy_horton@apple.com authored
      One recently regressed:
      webkit.org/b/120086 http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html
      
      One was recently added in a failing state:
      webkit.org/b/120083 fast/js/regress/emscripten-cube2hash.html
      
      * platform/mac/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154357 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      31bf3315