1. 29 Jul, 2010 9 commits
    • simon.fraser@apple.com's avatar
      2010-07-29 Simon Fraser <simon.fraser@apple.com> · e3a3b735
      simon.fraser@apple.com authored
              Reviewed by Pavel Feldman.
      
              Crash when computing pseudo-style of a vanished scrollbar in inspector
              https://bugs.webkit.org/show_bug.cgi?id=42561
      
              When a styled overflow:scroll scrollbar gets destroyed, we need to clear out the m_owner pointer,
              otherwise the event handling code (which keeps the Scrollbar alive) later causes the scrollbar
              to try to use m_owner to get pseudo style.
      
              Test: scrollbars/overflow-custom-scrollbar-crash.html
      
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::destroyScrollbar): If this is a custom scrollbar, clear the owning renderer.
              * rendering/RenderScrollbar.cpp:
              (WebCore::RenderScrollbar::getScrollbarPseudoStyle): Bail if m_owner is 0.
              * rendering/RenderScrollbar.h:
              (WebCore::RenderScrollbar::clearOwningRenderer): New method.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64289 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e3a3b735
    • jorlow@chromium.org's avatar
      2010-07-29 Jeremy Orlow <jorlow@chromium.org> · 41d8bb4c
      jorlow@chromium.org authored
              Reviewed by Dimitri Glazkov.
      
              [Chromium] Rebaseline 8 tests which are no longer failing
              https://bugs.webkit.org/show_bug.cgi?id=43194
      
              http://trac.webkit.org/changeset/64275/ appears to have fixed
              a bunch of SVG stuff for Chromium.  Rebaseline all of these.  (The
              baselines that are modified or deleted were all incorrect, btw.  I don't
              know why they were committed rather than just being "fail"s.)
      
              * platform/chromium-linux/svg/custom/gradient-cycle-detection-expected.checksum:
              * platform/chromium-linux/svg/custom/gradient-cycle-detection-expected.png:
              * platform/chromium-linux/svg/custom/recursive-clippath-expected.checksum: Added.
              * platform/chromium-linux/svg/custom/recursive-clippath-expected.png: Added.
              * platform/chromium-linux/svg/custom/recursive-filter-expected.checksum: Added.
              * platform/chromium-linux/svg/custom/recursive-filter-expected.png: Added.
              * platform/chromium-linux/svg/custom/recursive-gradient-expected.checksum:
              * platform/chromium-linux/svg/custom/recursive-gradient-expected.png: Added.
              * platform/chromium-linux/svg/custom/recursive-mask-expected.checksum: Added.
              * platform/chromium-linux/svg/custom/recursive-mask-expected.png: Added.
              * platform/chromium-linux/svg/custom/recursive-pattern-expected.checksum:
              * platform/chromium-linux/svg/custom/recursive-pattern-expected.png: Added.
              * platform/chromium-win/svg/custom/gradient-cycle-detection-expected.checksum:
              * platform/chromium-win/svg/custom/gradient-cycle-detection-expected.png:
              * platform/chromium-win/svg/custom/recursive-clippath-expected.checksum: Added.
              * platform/chromium-win/svg/custom/recursive-clippath-expected.png:
              * platform/chromium-win/svg/custom/recursive-clippath-expected.txt: Added.
              * platform/chromium-win/svg/custom/recursive-filter-expected.checksum:
              * platform/chromium-win/svg/custom/recursive-filter-expected.png:
              * platform/chromium-win/svg/custom/recursive-filter-expected.txt: Added.
              * platform/chromium-win/svg/custom/recursive-gradient-expected.checksum:
              * platform/chromium-win/svg/custom/recursive-gradient-expected.png:
              * platform/chromium-win/svg/custom/recursive-gradient-expected.txt: Added.
              * platform/chromium-win/svg/custom/recursive-mask-expected.checksum:
              * platform/chromium-win/svg/custom/recursive-mask-expected.png:
              * platform/chromium-win/svg/custom/recursive-mask-expected.txt: Added.
              * platform/chromium-win/svg/custom/recursive-pattern-expected.checksum:
              * platform/chromium-win/svg/custom/recursive-pattern-expected.png:
              * platform/chromium-win/svg/custom/recursive-pattern-expected.txt: Added.
              * platform/chromium-win/svg/custom/use-events-crash-expected.txt: Removed.
              * platform/chromium-win/svg/hixie/error/017-expected.txt: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64283 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      41d8bb4c
    • zimmermann@webkit.org's avatar
      2010-07-29 Nikolas Zimmermann <nzimmermann@rim.com> · 65192969
      zimmermann@webkit.org authored
              Not reviewed. Update Qt specific baselines for three svg/custom tests.
      
              * platform/qt/svg/custom/recursive-gradient-expected.txt:
              * platform/qt/svg/custom/recursive-mask-expected.txt:
              * platform/qt/svg/custom/recursive-pattern-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64279 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      65192969
    • zimmermann@webkit.org's avatar
      2010-07-29 Nikolas Zimmermann <nzimmermann@rim.com> · b984a40e
      zimmermann@webkit.org authored
              Reviewed by Dirk Schulze.
      
              WebKit shouldn't ignore resource cycles, but break them as Opera does
              https://bugs.webkit.org/show_bug.cgi?id=43031
      
              mask images are not updated when render objects' bounds change
              https://bugs.webkit.org/show_bug.cgi?id=15124
      
              SVG Gradients do not resize correctly
              https://bugs.webkit.org/show_bug.cgi?id=41902
      
              svg/dynamic-updates: SVGMarkerElement markerHeight/Width tests are broken
              https://bugs.webkit.org/show_bug.cgi?id=42616
      
              svg/dynamic-updates: SVGMaskElement tests are all broken
              https://bugs.webkit.org/show_bug.cgi?id=42617
      
              Don't ignore resources containing cyclic references, but break them, as discussed on SVG WG mailing lists - to be compatible with Opera which already does that.
      
              We used to lookup RenderSVGResourceContainers objects, by extracting the URI reference from the SVGRenderStyle, then utilizing getElementById() to lookup the
              node, and access its renderer. Opera ignores such references, if they point to resources that contain cyclic references. Ignoring them would mean we have
              to mutate the render style to empty the resource strings. That obviously doesn't work, as it would break expectations (getComputedStyle, etc.).
      
              Introduce a SVGResources class that stores pointers to all resources, that can be applied to a RenderObject (clipper/filter/markers/masker).
              Add a SVGResourcesCache class, which is basically a HashMap<RenderObject*, SVGResources*>. Whenever a RenderObject receives style, we extract the URI references
              from the SVGRenderStyle, look up the RenderSVGResourceContainer* objects, and store them in a SVGResources* class. Then we execute a cycle detection logic,
              which detects cyclic references and breaks them. Breaking them means just nulling the pointer to the resource in the SVGResources object. Those SVGResources
              objects are cached, and used throughout the render tree to access resources. This way it's guaranteed that all cyclic references are resolved until layout/paint
              phase begins.
      
              Add destroy/styleDidChange/updateFromElement methods to all SVG renderers, in order to keep track of resource/client changes in the SVGResourcesCache.
              As side-effect the SVGResourcesCache now knows which RenderObject references which resource, and thus can handle client registration for a RenderSVGResourceContainer.
              The RenderSVGResourceContainer now holds a HashSet of RenderObjects, that's always up2date, and not related to the fact wheter a resources has already been used
              for painting. The old logic missed to register clients for a resource, when the resource was in an invalid state. Fixing that fixes the svg/dynamic-updates/SVGMaskElement* tests.
      
              Rewrite all svg/custom/recursive-(filter|gradient|mask|pattern).svg tests to contain a reference image how it should be renderered. All 1:1 compatible with Opera now.
      
              * rendering/RenderForeignObject.cpp:
              (WebCore::RenderForeignObject::layout): Grab selfNeedsLayout() before calling RenderBlock::layout(), otherwhise it's always false.
              * rendering/RenderPath.cpp: Don't look up resources manually, use SVGResourcesCache.
              (WebCore::RenderPath::fillContains): Remove constness, to avoid the need to pass around const RenderObjects* to the SVGResourcesCache.
              (WebCore::RenderPath::strokeContains): Ditto.
              (WebCore::RenderPath::layout): s/RenderSVGResource::invalidateAllResourcesOfRenderer/SVGResourcesCache::clientLayoutChanged/.
              (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Remove special client handling for markers, it's all unified now.
              (WebCore::RenderPath::styleWillChange): Only call setNeedsBoundariesUpdate when handling StyleDifferenceRepaint/Layout.
              * rendering/RenderPath.h:
              * rendering/RenderSVGBlock.cpp:
              (WebCore::RenderSVGBlock::destroy): Forward to SVGResourcesCache::clientDestroyed.
              (WebCore::RenderSVGBlock::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged.
              (WebCore::RenderSVGBlock::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
              * rendering/RenderSVGBlock.h:
              * rendering/RenderSVGContainer.cpp:
              (WebCore::RenderSVGContainer::layout): s/RenderSVGResource::invalidateAllResourcesOfRenderer/SVGResourcesCache::clientLayoutChanged/.
              (WebCore::RenderSVGContainer::selfWillPaint): Don't look up resources manually, use SVGResourcesCache.
              * rendering/RenderSVGContainer.h:
              * rendering/RenderSVGGradientStop.cpp:
              (WebCore::RenderSVGGradientStop::styleDidChange): Rewrite, as invalidateResourceClients() is gone.
              * rendering/RenderSVGHiddenContainer.h: Make layout() protected, as RenderSVGResourceContainer overrides it.
              * rendering/RenderSVGImage.cpp:
              (WebCore::RenderSVGImage::layout): s/RenderSVGResource::invalidateAllResourcesOfRenderer/SVGResourcesCache::clientLayoutChanged/.
              (WebCore::RenderSVGImage::destroy): Forward to SVGResourcesCache::clientDestroyed.
              (WebCore::RenderSVGImage::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged.
              (WebCore::RenderSVGImage::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
              (WebCore::RenderSVGImage::imageChanged): Don't look up resources manually, use SVGResourcesCache.
              * rendering/RenderSVGImage.h:
              * rendering/RenderSVGInline.cpp:
              (WebCore::RenderSVGInline::destroy): Forward to SVGResourcesCache::clientDestroyed.
              (WebCore::RenderSVGInline::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged.
              (WebCore::RenderSVGInline::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
              * rendering/RenderSVGInline.h:
              * rendering/RenderSVGModelObject.cpp:
              (WebCore::RenderSVGModelObject::destroy): Forward to SVGResourcesCache::clientDestroyed.
              (WebCore::RenderSVGModelObject::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged.
              (WebCore::RenderSVGModelObject::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
              * rendering/RenderSVGModelObject.h:
              * rendering/RenderSVGResource.cpp:
              (WebCore::RenderSVGResource::fillPaintingResource): Remove const from RenderObject parameter.
              (WebCore::RenderSVGResource::strokePaintingResource): Ditto.
              (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation): Early exit if we found the first parent resource.
              * rendering/RenderSVGResource.h:
              * rendering/RenderSVGResourceClipper.cpp:
              (WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper): Early exit if m_clipper is empty.
              (WebCore::RenderSVGResourceClipper::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
              (WebCore::RenderSVGResourceClipper::invalidateClient): Ditto.
              (WebCore::RenderSVGResourceClipper::applyResource): Remove containsCyclicReference() check, SVGResourcesCycleSolver breaks cyclic references, resources do not need to take care anymore.
              (WebCore::RenderSVGResourceClipper::createClipData): Don't look up resources manually, use SVGResourcesCache.
              (WebCore::RenderSVGResourceClipper::hitTestClipContent): Remove containsCyclicReference() check, SVGResourcesCycleSolver breaks cyclic references, resources do not need to take care anymore.
              * rendering/RenderSVGResourceClipper.h:
              * rendering/RenderSVGResourceContainer.cpp:
              (WebCore::svgExtensionsFromNode):
              (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): Stop registering resource from the constructor, delegate to styleDidChange.
              (WebCore::RenderSVGResourceContainer::~RenderSVGResourceContainer): Only deregister resource if it was ever registered.
              (WebCore::RenderSVGResourceContainer::layout): invalidateClients() here, to avoid the need for invalidateResourceClients() in the SVG DOM. Just call setNeedsLayout() from the SVG DOM.
              (WebCore::RenderSVGResourceContainer::destroy): Forward to SVGResourcesCache::resourceDestroyed.
              (WebCore::RenderSVGResourceContainer::styleDidChange): Register resource not in the constructor but when it first receives style.
              (WebCore::RenderSVGResourceContainer::idChanged): Don't duplicate code, use existing methods from SVGResourcesCache.
              (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation): Add new helper function, to share code between all resources.
              (WebCore::RenderSVGResourceContainer::markClientForInvalidation): Ditto.
              (WebCore::RenderSVGResourceContainer::addClient): SVGResourcesCache now manages the list of clients. It calls addClient() for each RenderObject that uses this resource.
              (WebCore::RenderSVGResourceContainer::removeClient): SVGResourcesCache now manages the list of clients.
              (WebCore::RenderSVGResourceContainer::registerResource): New helper function sharing code between idChanged / styleDidChange.
              (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke): Add FIXME that the function is misplaced.
              * rendering/RenderSVGResourceContainer.h: Move most functions to the new RenderSVGResourceContainer.cpp file.
              * rendering/RenderSVGResourceFilter.cpp:
              (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter): Early exit if m_filter is empty.
              (WebCore::RenderSVGResourceFilter::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
              (WebCore::RenderSVGResourceFilter::invalidateClient): Ditto.
              * rendering/RenderSVGResourceGradient.cpp:
              (WebCore::RenderSVGResourceGradient::~RenderSVGResourceGradient): Early exit if m_gradient is empty.
              (WebCore::RenderSVGResourceGradient::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
              (WebCore::RenderSVGResourceGradient::invalidateClient): Ditto.
              * rendering/RenderSVGResourceMarker.cpp:
              (WebCore::RenderSVGResourceMarker::~RenderSVGResourceMarker): Now a no-op, markers are unified within the new client handling concept, no more special code needed.
              (WebCore::RenderSVGResourceMarker::layout): As RenderSVGResourceMarker skips the RenderSVGResourceContainer::layout() method, we also need to call invalidateClients() here.
              (WebCore::RenderSVGResourceMarker::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
              (WebCore::RenderSVGResourceMarker::invalidateClient): Ditto.
              (WebCore::RenderSVGResourceMarker::draw): Remove marker specific logic to catch circular references.
              * rendering/RenderSVGResourceMarker.h:
              * rendering/RenderSVGResourceMasker.cpp:
              (WebCore::RenderSVGResourceMasker::~RenderSVGResourceMasker): Early exit if m_masker is empty.
              (WebCore::RenderSVGResourceMasker::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
              (WebCore::RenderSVGResourceMasker::invalidateClient): Ditto.
              (WebCore::RenderSVGResourceMasker::applyResource): Remove containsCyclicReference() check, SVGResourcesCycleSolver breaks cyclic references, resources do not need to take care anymore.
              * rendering/RenderSVGResourceMasker.h:
              * rendering/RenderSVGResourcePattern.cpp:
              (WebCore::RenderSVGResourcePattern::~RenderSVGResourcePattern): Early exit if m_pattern is empty.
              (WebCore::RenderSVGResourcePattern::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
              (WebCore::RenderSVGResourcePattern::invalidateClient): Ditto.
              (WebCore::RenderSVGResourcePattern::createTileImage): Remove containsCyclicReference() check, SVGResourcesCycleSolver breaks cyclic references, resources do not need to take care anymore.
              * rendering/RenderSVGResourcePattern.h:
              * rendering/RenderSVGRoot.cpp:
              (WebCore::RenderSVGRoot::selfWillPaint): Don't look up resources manually, use SVGResourcesCache.
              (WebCore::RenderSVGRoot::destroy): Forward to SVGResourcesCache::clientDestroyed.
              (WebCore::RenderSVGRoot::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged.
              (WebCore::RenderSVGRoot::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
              * rendering/RenderSVGRoot.h:
              * rendering/RenderSVGText.cpp:
              (WebCore::RenderSVGText::layout): s/RenderSVGResource::invalidateAllResourcesOfRenderer/SVGResourcesCache::clientLayoutChanged/.
              * rendering/RenderSVGText.h:
              * rendering/SVGInlineTextBox.cpp:
              (WebCore::SVGInlineTextBox::acquirePaintingResource): Add RenderObject* parameter, don't assume the style comes from the InlineTextBox parent renderer.
              (WebCore::SVGInlineTextBox::prepareGraphicsContextForTextPainting): Pass the parent()->renderer() to acquirePaintingResource.
              (WebCore::SVGInlineTextBox::paintDecoration): Pass the decoration renderer to acquirePaintingResource.
              (WebCore::SVGInlineTextBox::paintDecorationWithStyle): Ditto.
              (WebCore::SVGInlineTextBox::paintText): When a selection pseudo style is used to paint the selection, swap styles in the SVGResourcesCache, to take the right resources when painting.
              * rendering/SVGInlineTextBox.h:
              * rendering/SVGRenderSupport.cpp:
              (WebCore::SVGRenderSupport::prepareToRenderSVGContent): Don't look up resources manually, use SVGResourcesCache.
              (WebCore::SVGRenderSupport::finishRenderSVGContent): Ditto.
              (WebCore::SVGRenderSupport::intersectRepaintRectWithResources): Ditto.
              (WebCore::SVGRenderSupport::pointInClippingArea): Remove const from RenderObject parameter. 
              * rendering/SVGRenderSupport.h:
              * rendering/SVGRenderTreeAsText.cpp:
              (WebCore::writeStyle): Add two const_cast now that fill/strokePaintingResource take RenderObject* parameters. This was the less intrusive approach, otherwhise more const_casts would be needed.
              (WebCore::writeResources): Add FIXME that we should dump the resources present in the SVGResourcesCache instead of manually looking them up from the SVGRenderStyle, to avoid dumping cycles.
              * rendering/SVGResourcesCache.cpp:
              (WebCore::SVGResourcesCache::clientStyleChanged): Use markForLayoutAndParentResourceInvalidation() instead of duplicating code.
              * rendering/SVGResourcesCycleSolver.cpp:
              (WebCore::setFollowLinkForChainableResource): Implemented stub method.
              * rendering/style/SVGRenderStyle.cpp:
              (WebCore::SVGRenderStyle::diff): Return StyleDifferenceLayout, not Repaint for stroke paint changes, otherwhise the cached boundaries are not correctly updated.
              * svg/SVGClipPathElement.cpp:
              (WebCore::SVGClipPathElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
              (WebCore::SVGClipPathElement::childrenChanged): Ditto.
              * svg/SVGClipPathElement.h:
              (WebCore::SVGClipPathElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
              * svg/SVGElement.cpp:
              (WebCore::SVGElement::insertedIntoDocument): Only execute buildPendingResource() logic, if needsPendingResourceHandling() returns true. Cleaned up code a bit, to deploy early returns.
              * svg/SVGElement.h:
              (WebCore::SVGElement::needsPendingResourceHandling): Return true (default). Only needed by SVGTextPathElement/SVGUseElement, and should be removed in future.
              * svg/SVGFilterElement.cpp:
              (WebCore::SVGFilterElement::SVGFilterElement): Initialize m_followLink=true.
              (WebCore::SVGFilterElement::setFilterRes): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
              (WebCore::SVGFilterElement::svgAttributeChanged): Ditto.
              (WebCore::SVGFilterElement::childrenChanged): Ditto.
              * svg/SVGFilterElement.h:
              (WebCore::SVGFilterElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
              (WebCore::SVGFilterElement::setFollowLink): Used by SVGResourcesCycleSolver, to stop following xlink:href links, if that leads to cyclic references.
              * svg/SVGFilterPrimitiveStandardAttributes.cpp:
              (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged): Don't use invalidateResourceClients(), it's a no-op as effects don't have a renderer -> use invalidateFilter().
              * svg/SVGFilterPrimitiveStandardAttributes.h:
              (WebCore::SVGFilterPrimitiveStandardAttributes::invalidateFilter): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
              * svg/SVGGradientElement.cpp:
              (WebCore::SVGGradientElement::SVGGradientElement): Initialize m_followLink=true.
              (WebCore::SVGGradientElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
              (WebCore::SVGGradientElement::childrenChanged): Ditto.
              * svg/SVGGradientElement.h:
              (WebCore::SVGGradientElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
              (WebCore::SVGGradientElement::setFollowLink): Used by SVGResourcesCycleSolver, to stop following xlink:href links, if that leads to cyclic references.
              * svg/SVGLinearGradientElement.cpp:
              (WebCore::SVGLinearGradientElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
              (WebCore::SVGLinearGradientElement::collectGradientProperties): Only follow xlink:href links if m_followLinks == true.
              * svg/SVGMarkerElement.cpp:
              (WebCore::SVGMarkerElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
              (WebCore::SVGMarkerElement::childrenChanged): Ditto.
              (WebCore::SVGMarkerElement::setOrientToAuto): Ditto.
              (WebCore::SVGMarkerElement::setOrientToAngle): Ditto.
              * svg/SVGMarkerElement.h:
              (WebCore::SVGMarkerElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
              * svg/SVGMaskElement.cpp:
              (WebCore::SVGMaskElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
              (WebCore::SVGMaskElement::childrenChanged): Ditto.
              * svg/SVGMaskElement.h:
              (WebCore::SVGMaskElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
              * svg/SVGPatternElement.cpp:
              (WebCore::SVGPatternElement::SVGPatternElement): Initialize m_followLink=true.
              (WebCore::SVGPatternElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
              (WebCore::SVGPatternElement::childrenChanged): Ditto.
              (WebCore::SVGPatternElement::collectPatternProperties): Only follow xlink:href links if m_followLinks == true.
              * svg/SVGPatternElement.h:
              (WebCore::SVGPatternElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
              (WebCore::SVGPatternElement::setFollowLink): Used by SVGResourcesCycleSolver, to stop following xlink:href links, if that leads to cyclic references.
              * svg/SVGRadialGradientElement.cpp:
              (WebCore::SVGRadialGradientElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
              (WebCore::SVGRadialGradientElement::collectGradientProperties): Only follow xlink:href links if m_followLinks == true.
              * svg/SVGStyledElement.cpp:
              (WebCore::SVGStyledElement::attach): Call updateFromElement upon attach(), needed by all resource renderers. Defaults to a no-op in RenderObject.h
              * svg/SVGStyledElement.h: Remove invalidateResourceClients(), it's not needed anymore.
      2010-07-29  Nikolas Zimmermann  <nzimmermann@rim.com>
      
              Reviewed by Dirk Schulze.
      
              WebKit shouldn't ignore resource cycles, but break them as Opera does
              https://bugs.webkit.org/show_bug.cgi?id=43031
      
              Rebaseline results now that cycles are broken, instead of ignored.
      
              * platform/mac/svg/clip-path/clip-path-recursive-call-by-child-expected.txt:
              * platform/mac/svg/clip-path/clip-path-recursive-call-expected.checksum:
              * platform/mac/svg/clip-path/clip-path-recursive-call-expected.png:
              * platform/mac/svg/custom/circular-marker-reference-4-expected.txt:
              * platform/mac/svg/custom/gradient-cycle-detection-expected.checksum:
              * platform/mac/svg/custom/gradient-cycle-detection-expected.png:
              * platform/mac/svg/custom/recursive-clippath-expected.checksum:
              * platform/mac/svg/custom/recursive-clippath-expected.png:
              * platform/mac/svg/custom/recursive-clippath-expected.txt:
              * platform/mac/svg/custom/recursive-filter-expected.checksum:
              * platform/mac/svg/custom/recursive-filter-expected.png:
              * platform/mac/svg/custom/recursive-filter-expected.txt:
              * platform/mac/svg/custom/recursive-gradient-expected.checksum:
              * platform/mac/svg/custom/recursive-gradient-expected.png:
              * platform/mac/svg/custom/recursive-gradient-expected.txt:
              * platform/mac/svg/custom/recursive-mask-expected.checksum:
              * platform/mac/svg/custom/recursive-mask-expected.png:
              * platform/mac/svg/custom/recursive-mask-expected.txt:
              * platform/mac/svg/custom/recursive-pattern-expected.checksum:
              * platform/mac/svg/custom/recursive-pattern-expected.png:
              * platform/mac/svg/custom/recursive-pattern-expected.txt:
              * platform/mac/svg/custom/use-events-crash-expected.txt:
              * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr-expected.checksum:
              * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr-expected.png:
              * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr-expected.checksum:
              * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr-expected.png:
              * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop-expected.checksum:
              * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop-expected.png:
              * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop-expected.checksum:
              * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop-expected.png:
              * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-height-attr-expected.checksum:
              * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-height-attr-expected.png:
              * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-maskContentUnits-attr-expected.checksum:
              * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-maskContentUnits-attr-expected.png:
              * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-maskUnits-attr-expected.checksum:
              * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-maskUnits-attr-expected.png:
              * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-width-attr-expected.checksum:
              * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-width-attr-expected.png:
              * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-x-attr-expected.checksum:
              * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-x-attr-expected.png:
              * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-y-attr-expected.checksum:
              * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-y-attr-expected.png:
              * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-height-prop-expected.checksum:
              * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-height-prop-expected.png:
              * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-maskContentUnits-prop-expected.checksum:
              * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-maskContentUnits-prop-expected.png:
              * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-maskUnits-prop-expected.checksum:
              * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-maskUnits-prop-expected.png:
              * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-width-prop-expected.checksum:
              * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-width-prop-expected.png:
              * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-x-prop-expected.checksum:
              * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-x-prop-expected.png:
              * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-y-prop-expected.checksum:
              * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-y-prop-expected.png:
              * platform/mac/svg/hixie/error/017-expected.txt:
              * svg/clip-path/clip-path-recursive-call-by-child.svg: Rewrite test to match expectations, now that cycles are broken, not ignored. Looks like in Opera.
              * svg/custom/js-late-clipPath-and-object-creation.svg: Don't update from within the onload event, instead use zero-ms timeouts, to test updating reliable. It failed before this patch.
              * svg/custom/js-late-clipPath-creation.svg: Ditto.
              * svg/custom/js-late-gradient-and-object-creation.svg: Ditto.
              * svg/custom/js-late-gradient-creation.svg: Ditto.
              * svg/custom/js-late-marker-and-object-creation.svg: Ditto.
              * svg/custom/js-late-marker-creation.svg: Ditto.
              * svg/custom/js-late-mask-and-object-creation.svg: Ditto.
              * svg/custom/js-late-mask-creation.svg: Ditto.
              * svg/custom/js-late-pattern-and-object-creation.svg: Ditto.
              * svg/custom/js-late-pattern-creation.svg: Ditto.
              * svg/custom/recursive-clippath.svg: Add a reference rendering, side by side to the test, for the ease of comparision. Passes in WebKit + Opera.
              * svg/custom/recursive-filter.svg: Ditto.
              * svg/custom/recursive-gradient.svg: Ditto.
              * svg/custom/recursive-mask.svg: Ditto.
              * svg/custom/recursive-pattern.svg: Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64275 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b984a40e
    • tonikitoo@webkit.org's avatar
      2010-07-21 Grace Kloba <klobag@gmail.com> , Antonio Gomes <tonikitoo@webkit.org> · 81c027d5
      tonikitoo@webkit.org authored
              Reviewed by David Hyatt.
      
              Enhance the hit testing to take a rectangle instead of a point
              https://bugs.webkit.org/show_bug.cgi?id=40197
      
              The primary goal of this change is to provide mechanisms for more precise tap
              actions by the users on mobile devices.
      
              Patch extends the hit testing system to work considering a rectangular area
              as input instead of a point, when applicable. For that, the HitTestResult class
              was modified to take a padding (IntSize). The padding specifies a fuzzy range for
              accepting input events in pixels coordinates for both vertical and horizontal
              orientations. In other words, it tells how much to expand the search rect
              around a supposed touch point.
      
              If it non-positive, hit testing will behavior as the current point based hit testing,
              and methods are no-op'ed to not regress this common behavior performance-wise.
              When positive IntSize is provided, the hit test result will keep record of all
              nodes that intersect the built up test area. The logic will continue searching when it
              finds a candidate until the rectangle is fully enclosed by the boundaries of a candidate.
              The result will be a list of nodes in the z-order they are hit-tested.
              Caller will decide how to process them.
      
              In order to expose the functionality, the patch:
      
              - Adds a nodesFromRect method to the Document class, exposing the funcionality
              to the DOM. Method returns a NodeList with all nodes that intersect the given
              hit-tested area.
              - Extends hitTestResultAtPoint method of the EventHandler with an extra 'padding'
              parameter, defaulting to IntSize(0, 0). The rect-based hit test is performed when a
              positive padding is passed in.
      
              Test: fast/dom/nodesFromRect-basic.html
      
              * WebCore.base.exp:
              * dom/Document.cpp:
              (WebCore::Document::nodesFromRect): This method exposes the rect based funcionality to
              the DOM. It works similarly to elementFromPoint, however receiving a rectangular area
              as input instead of a point, and returning a z-index ordered list of nodes (not elements)
              whose area intersect the hit test rect.
              * dom/Document.h: Ditto.
              * dom/Document.idl: Ditto.
              * page/EventHandler.cpp:
              (WebCore::EventHandler::hitTestResultAtPoint): The funcionality is also exposed through this
              method. Patch adds a additional IntSize parameter to work as the padding area, building up
              the hit test rect.
              * page/EventHandler.h: Ditto.
              * rendering/HitTestResult.cpp:
              (WebCore::HitTestResult::HitTestResult): Rect based hit test constructor. Receives a
              padding IntSize as parameter. It can be (0,0).
              (WebCore::HitTestResult::operator=): Modified to assign the m_rectBasedTestResult as well.
              (WebCore::HitTestResult::append): Merge to HitTestResult objects in a way that the
              list node's of both objects get amended.
              (WebCore::HitTestResult::addNodeToRectBasedTestResult): Adds a given Node to the list of
              hit nodes.
              * rendering/HitTestResult.h:
              (WebCore::HitTestResult::padding): Returns the padding as an IntSize.
              (WebCore::HitTestResult::isRectBasedTest): Returns if the HitTestResult is rect based or not.
              (WebCore::HitTestResult::.rectBasedTestResult): Returns the list nodes hit.
              (WebCore::HitTestResult::rectFromPoint): Returns the hit test rect given the hit test point
              and padding.
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::hitTestLayer):
              (WebCore::RenderLayer::hitTestList):
              (WebCore::RenderLayer::hitTestChildLayerColumns):
              * rendering/EllipsisBox.cpp:
              (WebCore::EllipsisBox::nodeAtPoint): Method is modified to support rect based hit test extension.
              Now it not just checks if the boundary of the node being hit-tested contains a hit test point, but
              instead it checks if the boundary of the node intersects a hit test rect. It is implemented so
              that the common case (point based hit test) works as previously.
              * rendering/InlineFlowBox.cpp:
              (WebCore::InlineFlowBox::nodeAtPoint): Ditto.
              * rendering/InlineTextBox.cpp:
              (WebCore::InlineTextBox::nodeAtPoint): Ditto.
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::nodeAtPoint): Ditto.
              (WebCore::RenderBlock::hitTestColumns): Ditto.
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::nodeAtPoint): Ditto.
              * rendering/RenderImage.cpp:
              (WebCore::RenderImage::nodeAtPoint): Ditto.
              * rendering/RenderLineBoxList.cpp:
              (WebCore::RenderLineBoxList::hitTest):
              * rendering/RenderSVGRoot.cpp:
              (WebCore::RenderSVGRoot::nodeAtPoint): Ditto.
              * rendering/RenderTable.cpp:
              (WebCore::RenderTable::nodeAtPoint): Ditto.
              * rendering/RenderTableSection.cpp:
              (WebCore::RenderTableSection::nodeAtPoint): Ditto.
              * rendering/RenderWidget.cpp:
              (WebCore::RenderWidget::nodeAtPoint): Ditto.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64272 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      81c027d5
    • steveblock@google.com's avatar
      2010-07-29 Steve Block <steveblock@google.com> · 47068b30
      steveblock@google.com authored
              Reviewed by Jeremy Orlow.
      
              Add LayoutTestController methods to test DeviceOrientation
              https://bugs.webkit.org/show_bug.cgi?id=39589
      
              * fast/dom/DeviceOrientation/basic-operation-expected.txt: Added.
              * fast/dom/DeviceOrientation/basic-operation.html: Added.
              * fast/dom/DeviceOrientation/script-tests/basic-operation.js: Added.
              * platform/gtk/Skipped:
      2010-07-29  Steve Block  <steveblock@google.com>
      
              Reviewed by Jeremy Orlow.
      
              Add LayoutTestController methods to test DeviceOrientation
              https://bugs.webkit.org/show_bug.cgi?id=39589
      
              This patch does not hook up the new LayoutTestController method to WebKit
              for any platform. This will be done in later patches.
              https://bugs.webkit.org/show_bug.cgi?id=43181 tracks this for Mac.
      
              Test: fast/dom/DeviceOrientation/basic-operation.html
      
              * WebCore/WebCore.exp.in:
              * WebCore.xcodeproj/project.pbxproj:
              * dom/DeviceOrientationClient.h:
              (WebCore::DeviceOrientationClient::~DeviceOrientationClient):
              * dom/DeviceOrientationController.cpp:
              (WebCore::DeviceOrientationController::DeviceOrientationController):
              * dom/DeviceOrientationEvent.cpp:
              * platform/mock/DeviceOrientationClientMock.cpp: Added.
              (WebCore::DeviceOrientationClientMock::DeviceOrientationClientMock):
              (WebCore::DeviceOrientationClientMock::setController):
              (WebCore::DeviceOrientationClientMock::startUpdating):
              (WebCore::DeviceOrientationClientMock::stopUpdating):
              (WebCore::DeviceOrientationClientMock::setOrientation):
              (WebCore::DeviceOrientationClientMock::timerFired):
              * platform/mock/DeviceOrientationClientMock.h: Added.
              (WebCore::DeviceOrientationClientMock::lastOrientation):
      2010-07-29  Steve Block  <steveblock@google.com>
      
              Reviewed by Jeremy Orlow.
      
              Add LayoutTestController methods to test DeviceOrientation
              https://bugs.webkit.org/show_bug.cgi?id=39589
      
              * DumpRenderTree/LayoutTestController.cpp:
              (setMockDeviceOrientationCallback):
              (LayoutTestController::staticFunctions):
              * DumpRenderTree/LayoutTestController.h:
              * DumpRenderTree/chromium/LayoutTestController.cpp:
              * DumpRenderTree/chromium/LayoutTestController.h:
              * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
              (LayoutTestController::setMockDeviceOrientation):
              * DumpRenderTree/mac/LayoutTestControllerMac.mm:
              (LayoutTestController::setMockDeviceOrientation):
              * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
              (LayoutTestController::setMockDeviceOrientation):
              * DumpRenderTree/qt/LayoutTestControllerQt.h:
              * DumpRenderTree/win/LayoutTestControllerWin.cpp:
              (LayoutTestController::setMockDeviceOrientation):
              * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
              (LayoutTestController::setMockDeviceOrientation):
              * Scripts/build-webkit:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64270 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      47068b30
    • jorlow@chromium.org's avatar
      2010-07-29 Jeremy Orlow <jorlow@chromium.org> · ae32f341
      jorlow@chromium.org authored
              http://trac.webkit.org/changeset/64266 and its parents missed one
              baseline.  Add it.
      
              Not reviewed.
      
              * platform/chromium-win/svg/custom/convolution-crash-expected.checksum: Added.
              * platform/chromium-win/svg/custom/convolution-crash-expected.png: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64268 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ae32f341
    • apavlov@chromium.org's avatar
      2010-07-27 Alexander Pavlov <apavlov@chromium.org> · e77a48d9
      apavlov@chromium.org authored
              Reviewed by Pavel Feldman.
      
              Inspector should display CDATA section data
              https://bugs.webkit.org/show_bug.cgi?id=16259
      
              WebCore:
              * inspector/InspectorDOMAgent.cpp:
              (WebCore::InspectorDOMAgent::buildObjectForNode):
              * inspector/front-end/ElementsTreeOutline.js:
              ():
      
              LayoutTests:
              * inspector/elements-panel-xhtml-structure-expected.txt:
              * inspector/elements-panel-xhtml-structure.xhtml:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64267 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e77a48d9
    • commit-queue@webkit.org's avatar
      2010-07-29 Alex Nicolaou <anicolao@chromium.org> · a939845c
      commit-queue@webkit.org authored
              Reviewed by Dirk Schulze.
      
              [chromium] new svg failures after r63485
              https://bugs.webkit.org/show_bug.cgi?id=42428
      
              Now that my fix for https://bugs.webkit.org/show_bug.cgi?id=43102
              is checked in, 42428 is fixed also as well as a bunch of other tests
              that were previously failing because of the wrong colourspace for the
              SVG mask. This change resets expectations to pass for the appropriate
              tests.
      
              * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64266 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a939845c
  2. 28 Jul, 2010 30 commits
    • victorw@chromium.org's avatar
      2010-07-28 Victor Wang <victorw@chromium.org> · b088caa0
      victorw@chromium.org authored
              Unreviewed. Update chromium test expectations for svg test.
              After Alex Nicolaou's patch http://trac.webkit.org/changeset/64254,
              Chromium should have same results with platform/mac or platform/mac-leopard.
              Also rebaselin leopard result for the new test added by r64254.
      
              * platform/chromium-mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.checksum: Removed.
              * platform/chromium-mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.png: Removed.
              * platform/chromium-mac/svg/W3C-SVG-1.1/filters-conv-01-f-expected.checksum: Removed.
              * platform/chromium-mac/svg/W3C-SVG-1.1/filters-conv-01-f-expected.png: Removed.
              * platform/chromium-mac/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.checksum: Removed.
              * platform/chromium-mac/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.png: Removed.
              * platform/chromium-mac/svg/W3C-SVG-1.1/filters-displace-01-f-expected.checksum: Removed.
              * platform/chromium-mac/svg/W3C-SVG-1.1/filters-displace-01-f-expected.png: Removed.
              * platform/chromium-mac/svg/W3C-SVG-1.1/filters-example-01-b-expected.checksum: Removed.
              * platform/chromium-mac/svg/W3C-SVG-1.1/filters-example-01-b-expected.png: Removed.
              * platform/chromium-mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.checksum: Removed.
              * platform/chromium-mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.png: Removed.
              * platform/chromium-mac/svg/W3C-SVG-1.1/filters-light-01-f-expected.checksum: Removed.
              * platform/chromium-mac/svg/W3C-SVG-1.1/filters-light-01-f-expected.png: Removed.
              * platform/chromium-mac/svg/W3C-SVG-1.1/filters-light-04-f-expected.checksum: Removed.
              * platform/chromium-mac/svg/W3C-SVG-1.1/filters-light-04-f-expected.png: Removed.
              * platform/chromium-mac/svg/W3C-SVG-1.1/filters-specular-01-f-expected.checksum: Removed.
              * platform/chromium-mac/svg/W3C-SVG-1.1/filters-specular-01-f-expected.png: Removed.
              * platform/chromium-mac/svg/custom/feDisplacementMap-01-expected.checksum: Removed.
              * platform/chromium-mac/svg/custom/feDisplacementMap-01-expected.png: Removed.
              * platform/chromium-mac/svg/custom/image-with-transform-clip-filter-expected.checksum: Removed.
              * platform/chromium-mac/svg/custom/image-with-transform-clip-filter-expected.png: Removed.
              * platform/chromium-mac/svg/custom/recursive-filter-expected.checksum: Removed.
              * platform/chromium-mac/svg/custom/recursive-filter-expected.png: Removed.
              * platform/chromium-mac/svg/filters/feLighting-crash-expected.checksum: Removed.
              * platform/chromium-mac/svg/filters/feLighting-crash-expected.png: Removed.
              * platform/chromium-mac/svg/filters/filter-on-tspan-expected.checksum: Removed.
              * platform/chromium-mac/svg/filters/filter-on-tspan-expected.png: Removed.
              * platform/chromium-mac/svg/filters/filter-width-update-expected.checksum: Removed.
              * platform/chromium-mac/svg/filters/filteredImage-expected.checksum: Removed.
              * platform/chromium-mac/svg/filters/parent-children-with-same-filter-expected.checksum: Removed.
              * platform/chromium-mac/svg/filters/parent-children-with-same-filter-expected.png: Removed.
              * platform/mac-leopard/svg/custom/mask-colorspace-expected.checksum: Added.
              * platform/mac-leopard/svg/custom/mask-colorspace-expected.png: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64264 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b088caa0
    • dbates@webkit.org's avatar
      2010-07-28 Daniel Bates <dbates@rim.com> · a77630c0
      dbates@webkit.org authored
              Reviewed by Darin Adler.
      
              Output more descriptive PASS messages for list layout tests
              https://bugs.webkit.org/show_bug.cgi?id=42938
      
              Output a more descriptive PASS message so that it is clear
              what we are testing in the test cases: fast/lists/w3-css3-list-styles-alphabetic.html
              and fast/lists/w3-css3-list-styles-numeric.html.
      
              Currently, we only output "PASS" if the list marker equals
              its list item text for every <li> in the list. Instead, we
              should output a PASS message for each <li> so that we can
              ensure that we are comparing the list marker and list
              item text.
      
              * fast/lists/resources/dump-list.js: Removed printPassedIfEmptyString()
              instead merged pass message into testListItemMarkerEqualsListItemText().
              (filterListsWithReplacement): Removed support for a post filter
              function as this is not needed anymore.
              (testListItemMarkerEquals): Added.
              (testListItemMarkerEqualsListItemText): Added.
              * fast/lists/w3-css3-list-styles-alphabetic-expected.txt: Rebased result.
              * fast/lists/w3-css3-list-styles-alphabetic.html: Updated to call testListItemMarkerEqualsListItemText().
              * fast/lists/w3-css3-list-styles-numeric-expected.txt: Rebased result.
              * fast/lists/w3-css3-list-styles-numeric.html: Modified JavaScript to call
              testListItemMarkerEquals() so that we can remove the redundant code.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64259 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a77630c0
    • victorw@chromium.org's avatar
      2010-07-28 Alex Nicolaou <anicolao@chromium.org> · 60c3ccc9
      victorw@chromium.org authored
              Reviewed by Ojan Vafai.
      
              Set incorrect but close expectations for mask-colorspace.svg on mac
              https://bugs.webkit.org/show_bug.cgi?id=43102
      
              Blocks:
                [chromium] r63450 caused some svg mask tests to fail pixel tests
                https://bugs.webkit.org/show_bug.cgi?id=42403
      
              ImageBufferCG.cpp uses CoreGraphics to do the transform of SVG masks
              into LinearRGB, but only for MAC which means not for CHROMIUM, so I
              have changed the #if to account for both platforms. I am assuming this
              isn't in for windows because it's missing in CG itself, but I didn't
              verify that.
      
              * platform/graphics/cg/ImageBufferCG.cpp:
              (WebCore::ImageBuffer::ImageBuffer):
      2010-07-28  Alex Nicolaou  <anicolao@chromium.org>
      
              Reviewed by Ojan Vafai.
      
              Set incorrect but close expectations for mask-colorspace.svg on mac
              https://bugs.webkit.org/show_bug.cgi?id=43102
      
              Blocks:
                [chromium] r63450 caused some svg mask tests to fail pixel tests
                https://bugs.webkit.org/show_bug.cgi?id=42403
      
              On my Mac, after my best efforts, the mask colorspace doesn't 
              seem to come out right. Though the pixel values in the test 
              rectangle should be 111, they come out to 104, and ultimately
              it is because the pixel values coming out of ImageBufferCG are
              not linearized properly. Checking in this expected result because
              visually the colours are close enough and I want to catch other
              regressions, but if this starts to fail because the first image
              has color 111,111,111 in the rectange and 76,76,76 or 78,78,78 in
              the circle, the actual problem will have been corrected. (111 and
              78 are the correct values).
      
              Also removed fail expectations for those tests that are now
              passing on my Mac.
      
              * platform/chromium/test_expectations.txt:
              * platform/mac/svg/custom/mask-colorspace-expected.checksum:
              * platform/mac/svg/custom/mask-colorspace-expected.png:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64254 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      60c3ccc9
    • tkent@chromium.org's avatar
      2010-07-28 Kent Tamura <tkent@chromium.org> · 6134e994
      tkent@chromium.org authored
              Unreviewed, test expectation update.
      
              - Rebaseline input-appearance-spinbutton-disabled-readonly.html
                for Chromium-mac and Chromium-linux.
              - Remove input-number-events.html.  It passes on Chromium now.
      
              * platform/chromium-linux/fast/forms/input-appearance-spinbutton-disabled-readonly-expected.checksum: Added.
              * platform/chromium-linux/fast/forms/input-appearance-spinbutton-disabled-readonly-expected.png: Added.
              * platform/chromium-linux/fast/forms/input-appearance-spinbutton-disabled-readonly-expected.txt: Added.
              * platform/chromium-mac/fast/forms/input-appearance-spinbutton-disabled-readonly-expected.checksum: Added.
              * platform/chromium-mac/fast/forms/input-appearance-spinbutton-disabled-readonly-expected.png: Added.
              * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64252 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6134e994
    • darin@apple.com's avatar
      WebKitTestRunner needs to support layoutTestController.execCommand · ba2d62ff
      darin@apple.com authored
      <https://bugs.webkit.org/show_bug.cgi?id=42538>
      
      Reviewed by Sam Weinig.
      
      WebKitTestRunner needs layoutTestController.isCommandEnabled
      <https://bugs.webkit.org/show_bug.cgi?id=42671>
      
      WebKit2: 
      
      * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
      (WKBundlePageExecuteEditingCommand): Added.
      (WKBundlePageIsEditingCommandEnabled): Added.
      * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: Ditto.
      
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::executeEditingCommand): Added.
      (WebKit::WebPage::isEditingCommandEnabled): Added.
      * WebProcess/WebPage/WebPage.h: Ditto.
      
      WebKitTools: 
      
      * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl:
      Added execCommand and isCommandEnabled.
      * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:
      (WTR::LayoutTestController::execCommand): Added.
      (WTR::LayoutTestController::isCommandEnabled): Added.
      * WebKitTestRunner/InjectedBundle/LayoutTestController.h: Ditto.
      
      LayoutTests: 
      
      * platform/mac-wk2/Skipped: Don't skip the now-functioning tests.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64251 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ba2d62ff
    • tkent@chromium.org's avatar
      2010-07-28 Kent Tamura <tkent@chromium.org> · 1afcd778
      tkent@chromium.org authored
              Reviewed by Dimitri Glazkov.
      
              [DRT/Chromium] Introduce drt_expectations.txt for NRWT
              https://bugs.webkit.org/show_bug.cgi?id=43123
      
              * platform/chromium/drt_expectations.txt: Added.
      2010-07-28  Kent Tamura  <tkent@chromium.org>
      
              Reviewed by Dimitri Glazkov.
      
              [DRT/Chromium] Introduce drt_expectations.txt for NRWT
              https://bugs.webkit.org/show_bug.cgi?id=43123
      
              Introduce LayoutTests/platform/chromium/drt_expectations.txt,
              which overrides test expectations only for DumpRenderTree, in
              order to manage what problems are investigated.
              This change will be reverted when we switch to DRT completely.
      
              * Scripts/webkitpy/layout_tests/port/chromium.py:
               Add drt_expectations.txt content to the result of
               test_expectations_overrides() if --use-drt is specified.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64249 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1afcd778
    • andersca@apple.com's avatar
      Implement NPN_InvokeDefault and NPN_Construct · e40da106
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=43160
      
      Reviewed by Sam Weinig.
      
      WebKit2:
      
      * WebProcess/Plugins/NPJSObject.cpp:
      (WebKit::NPJSObject::invoke):
      Just call invoke directly.
      
      (WebKit::NPJSObject::invokeDefault):
      Call invoke.
      
      (WebKit::NPJSObject::construct):
      Implement this.
      
      (WebKit::NPJSObject::invoke):
      Add new invoke overload that takes the function as a JSValue.
      
      (WebKit::NPJSObject::npClass):
      Add NP_Construct.
      
      (WebKit::NPJSObject::NP_InvokeDefault):
      Call NPJSObject::invokeDefault.
      
      (WebKit::NPJSObject::NP_Construct):
      Call NPJSObject::construct.
      
      * WebProcess/Plugins/NPJSObject.h:
      * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
      (WebKit::NPN_GetValue):
      Handle the Core Animation drawing model and the Carbon event model.
      
      (WebKit::NPN_InvokeDefault):
      Call the NPClass::invokeDefault function.
      
      (WebKit::NPN_Construct):
      Call the NPClass::construct function.
      
      LayoutTests:
      
      * platform/mac-wk2/Skipped:
      Remove plugins/npruntime/invoke-default.html
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64246 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e40da106
    • andersca@apple.com's avatar
      Implement NPN_Invoke · e8bdca25
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=43158
      
      Reviewed by Sam Weinig.
      
      WebKit2:
      
      * WebProcess/Plugins/NPJSObject.cpp:
      (WebKit::NPJSObject::hasMethod):
      Use the free getCallData function.
      
      (WebKit::NPJSObject::invoke):
      Get the JavaScript function and call it.
      
      (WebKit::NPJSObject::NP_Invoke):
      Call NPJSObject::invoke.
      
      * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
      (WebKit::NPN_Invoke):
      Call the NPClass::invoke function.
      
      LayoutTests:
      
      * platform/mac-wk2/Skipped:
      Remove plugins/npruntime/invoke.html.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64244 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e8bdca25
    • tony@chromium.org's avatar
      2010-07-28 Tony Chang <tony@chromium.org> · 55406a79
      tony@chromium.org authored
              Reviewed by Ojan Vafai.
      
              implement getData('text/html') for webkit win
              https://bugs.webkit.org/show_bug.cgi?id=37981
      
              * platform/win/Skipped: 2 tests now pass
      2010-07-28  Tony Chang  <tony@chromium.org>
      
              Reviewed by Ojan Vafai.
      
              implement getData('text/html') for webkit win
              https://bugs.webkit.org/show_bug.cgi?id=37981
      
              * platform/win/ClipboardUtilitiesWin.cpp:
              (WebCore::extractMarkupFromCFHTML):
              (WebCore::getCFHTML):
              (WebCore::fragmentFromCFHTML):
              (WebCore::fragmentFromHTML):
              * platform/win/ClipboardUtilitiesWin.h:
              * platform/win/ClipboardWin.cpp:
              (WebCore::):
              (WebCore::clipboardTypeFromMIMEType):
              (WebCore::ClipboardWin::getData):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64242 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      55406a79
    • commit-queue@webkit.org's avatar
      2010-07-28 Alex Nicolaou <anicolao@chromium.org> · d4cd2a31
      commit-queue@webkit.org authored
              Reviewed by Darin Adler.
      
              mask-colorspace.svg result for chromium-linux
              https://bugs.webkit.org/show_bug.cgi?id=43100
      
              blocking:
                [chromium] r63450 caused some svg mask tests to fail pixel tests
                https://bugs.webkit.org/show_bug.cgi?id=42403
      
              New expectations and baseline for mask-colorspace on Linux that
              reflect my idea of what should be the passing output as of when
              I wrote the original patch. In fact the inner circle should be
              78,78,78 instead of 76,76,76 but while I sort out the broken
              baselines I'm going to consider this an improvement; at least
              the two images match each other as intended in the original test.
      
              * platform/chromium-linux/svg/custom/mask-colorspace-expected.checksum: Added.
              * platform/chromium-linux/svg/custom/mask-colorspace-expected.png: Added.
              * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64241 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d4cd2a31
    • andersca@apple.com's avatar
      Implement NPN_HasMethod · e650933e
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=43155
      
      Reviewed by Sam Weinig.
      
      WebKit2:
      
      * WebProcess/Plugins/NPJSObject.cpp:
      (WebKit::NPJSObject::hasMethod):
      Check if the JSObject has a property with the given name. If it does, check that the value is a function.
      
      (WebKit::NPJSObject::hasProperty):
      Add a JSLock.
      
      (WebKit::NPJSObject::npClass):
      Add some stubbed out functions.
      
      (WebKit::NPJSObject::NP_HasMethod):
      Call NPJSObject::hasMethod.
      
      (WebKit::NPJSObject::NP_Invoke):
      (WebKit::NPJSObject::NP_InvokeDefault):
      (WebKit::NPJSObject::NP_SetProperty):
      Stub out functions.
      
      * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
      (WebKit::NPN_HasMethod):
      Call the NPClass::hasMethod function.
      
      LayoutTests:
      
      * platform/mac-wk2/Skipped:
      Remove plugins/npruntime/invoke-browserfuncs.html.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64240 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e650933e
    • abarth@webkit.org's avatar
      2010-07-28 Adam Barth <abarth@webkit.org> · e0cd6d0c
      abarth@webkit.org authored
              Reviewed by Eric Seidel.
      
              Update numbered header element closing to match recent spec change
              https://bugs.webkit.org/show_bug.cgi?id=43072
      
              * html5lib/runner-expected-html5.txt:
      2010-07-28  Adam Barth  <abarth@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Update numbered header element closing to match recent spec change
              https://bugs.webkit.org/show_bug.cgi?id=43072
      
              Pretty straightforward transcription of the spec change.
      
              * html/HTMLElementStack.cpp:
              (WebCore::HTMLNames::isNumberedHeaderElement):
              (WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped):
              (WebCore::HTMLElementStack::hasOnlyHTMLElementsInScope):
              (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
              * html/HTMLElementStack.h:
              * html/HTMLTreeBuilder.cpp:
              (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
              (WebCore::HTMLTreeBuilder::processEndTagForInBody):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64237 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e0cd6d0c
    • andersca@apple.com's avatar
      Implement JSNPObject::put · e40007e0
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=43149
      
      Reviewed by Sam Weinig.
      
      WebKit2:
      
      * WebProcess/Plugins/JSNPObject.cpp:
      (WebKit::JSNPObject::getOwnPropertySlot):
      Fix a typo.
      
      (WebKit::JSNPObject::getOwnPropertyDescriptor):
      Implement this in the same way as it's implemented in RuntimeObject.
      
      (WebKit::JSNPObject::put):
      Implement this, call NPClass::setProperty.
      
      * WebProcess/Plugins/JSNPObject.h:
      
      LayoutTests:
      
      * platform/mac-wk2/Skipped:
      Remove now passing tests.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e40007e0
    • eric@webkit.org's avatar
      2010-07-28 Eric Seidel <eric@webkit.org> · 31e1b9f1
      eric@webkit.org authored
              No review.  Skipping test to restore peace and justice.
      
              REGRESSION(63862): animations/play-state.html fails intermittently
              https://bugs.webkit.org/show_bug.cgi?id=42821
      
              * platform/mac/Skipped:
               - Attempt to staunch the bleeding by skipping this flake-zor.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64234 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      31e1b9f1
    • victorw@chromium.org's avatar
      2010-07-28 Victor Wang <victorw@chromium.org> · 4454ece5
      victorw@chromium.org authored
             Unreviewed. Add chromium baselines for test:
             fast/table/early-table-layout
      
              * platform/chromium-linux/fast/table/early-table-layout-expected.checksum: Added.
              * platform/chromium-linux/fast/table/early-table-layout-expected.png: Added.
              * platform/chromium-mac/fast/table/early-table-layout-expected.checksum: Added.
              * platform/chromium-mac/fast/table/early-table-layout-expected.png: Added.
              * platform/chromium-mac/fast/table/early-table-layout-expected.txt: Added.
              * platform/chromium-win/fast/table/early-table-layout-expected.checksum: Added.
              * platform/chromium-win/fast/table/early-table-layout-expected.png: Added.
              * platform/chromium-win/fast/table/early-table-layout-expected.txt: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64233 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4454ece5
    • andersca@apple.com's avatar
      Add support for calling NPObject methods · 5b2497cf
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=43145
      
      Reviewed by Sam Weinig.
      
      WebCore:
      
      * WebCore.exp.in:
      Export JSHTMLElement::s_info and pluginScriptObject.
      
      * WebCore.xcodeproj/project.pbxproj:
      Make JSHTMLElement.h and JSPluginElementFunctions.h private headers.
      
      * bindings/js/JSPluginElementFunctions.cpp:
      (WebCore::pluginScriptObject):
      * bindings/js/JSPluginElementFunctions.h:
      Make pluginScriptObject a public function.
      
      WebKit2:
      
      * WebKit2.xcodeproj/project.pbxproj:
      Add JSNPMethod.cpp and JSNPMethod.h
      
      * WebProcess/Plugins/JSNPMethod.cpp: Added.
      * WebProcess/Plugins/JSNPMethod.h: Added.
      * WebProcess/Plugins/JSNPObject.cpp:
      (WebKit::):
      Add a ClassInfo static variable for JSNPObject.
      
      (WebKit::JSNPObject::callMethod):
      Convert the passed in arguments, call the method and convert the result back.
      
      (WebKit::JSNPObject::getOwnPropertySlot):
      Check if the NPObject has a method.
      
      (WebKit::JSNPObject::methodGetter):
      Return a new JSNPMethod.
      
      * WebProcess/Plugins/JSNPObject.h:
      (WebKit::JSNPObject::classInfo):
      Return the s_info.
      
      * WebProcess/Plugins/NPJSObject.cpp:
      (WebKit::NPJSObject::getProperty):
      Get the property from the JSObject.
      
      * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
      (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
      Convert the given JSValue to an NPVariant.
      
      * win/WebKit2.vcproj:
      Add JSNPMethod.cpp and JSNPMethod.h
      
      LayoutTests:
      
      * platform/mac-wk2/Skipped:
      Remove plugins/npruntime/get-int-identifier-special-values.html since it passes now.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64231 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5b2497cf
    • victorw@chromium.org's avatar
      2010-07-28 Victor Wang <victorw@chromium.org> · b85d4e69
      victorw@chromium.org authored
              Unreviewed. Fix chromium test expectations:
              Remove duplicate expectation for test:
              tables/mozilla/other/slashlogo.html
      
              * platform/chromium/test_expectations.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64228 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b85d4e69
    • jamesr@google.com's avatar
      2010-07-28 fsamuel@chromium.org <fsamuel@chromium.org> · b426623e
      jamesr@google.com authored
              Reviewed by David Hyatt.
      
              REGRESSION (r63994): Bank of America's home page is horribly mis-rendered
              https://bugs.webkit.org/show_bug.cgi?id=42993
      
              Fixed bug introduced by patch for bug 40775.
      
              The new table rendering code did not take into account table layouts starting
              during a partial construction of the table render tree. As such,
              multiple layouts on the same table resulted in more columns being generated.
              This patch solves this issue.
      
              * rendering/AutoTableLayout.cpp:
              (WebCore::AutoTableLayout::recalcColumn):
              * rendering/RenderTable.cpp:
              (WebCore::RenderTable::cellAbove):
              (WebCore::RenderTable::cellBelow):
              (WebCore::RenderTable::cellBefore):
              * rendering/RenderTableSection.cpp:
              (WebCore::RenderTableSection::ensureRows):
              (WebCore::RenderTableSection::addCell):
              (WebCore::RenderTableSection::setCellWidths):
              (WebCore::RenderTableSection::calcRowHeight):
              (WebCore::RenderTableSection::layoutRows):
              (WebCore::RenderTableSection::paintObject):
              (WebCore::RenderTableSection::appendColumn):
              (WebCore::RenderTableSection::splitColumn):
              * rendering/RenderTableSection.h:
              (WebCore::RenderTableSection::CellStruct::CellStruct):
      2010-07-28  fsamuel@chromium.org  <fsamuel@chromium.org>
      
              Reviewed by David Hyatt.
      
              REGRESSION (r63994): Bank of America's home page is horribly mis-rendered
              https://bugs.webkit.org/show_bug.cgi?id=42993
      
              Restored the expectation for the slashdot logo table test.
      
              Added a new layout test to check for the correctness of early table layout.
      
              * fast/table/early-table-layout.html: Added.
              * platform/chromium/test_expectations.txt:
              * platform/gtk/fast/table/early-table-layout-expected.checksum: Added.
              * platform/gtk/fast/table/early-table-layout-expected.png: Added.
              * platform/gtk/fast/table/early-table-layout-expected.txt: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64225 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b426623e
    • victorw@chromium.org's avatar
      2010-07-28 Victor Wang <victorw@chromium.org> · 08c89767
      victorw@chromium.org authored
              Unreviewed. Update chromium test expectations for tesst that
              may crash on mac or linux:
              fast/dom/prototype-inheritance-2.html
      
              * platform/chromium/test_expectations.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64218 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      08c89767
    • victorw@chromium.org's avatar
      2010-07-28 Victor Wang <victorw@chromium.org> · 3ae34a47
      victorw@chromium.org authored
              Unreviewed. Update chromium test expectations for test:
              storage/indexeddb/objectstore-basics.html
      
              * storage/indexeddb/objectstore-basics-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64214 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3ae34a47
    • andreip@google.com's avatar
      2010-07-28 Andrei Popescu <andreip@google.com> · 8de29bea
      andreip@google.com authored
              Reviewed by Jeremy Orlow.
      
              The text expectations for storage/objectore-basics.html are out of date
              https://bugs.webkit.org/show_bug.cgi?id=43126
      
              Following http://trac.webkit.org/changeset/64209
              the objectstore-basics-expected.txt file should be updated to reflect
              the new tests.
      
              * storage/indexeddb/objectstore-basics-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64212 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8de29bea
    • andreip@google.com's avatar
      2010-07-28 Andrei Popescu <andreip@google.com> · a533be8b
      andreip@google.com authored
              Reviewed by Jeremy Orlow.
      
              Skip IDBKeyRange from the prototype-inheritance layout test.
              IDBKeyRange is a DOM object and, with V8, it seems that such objects
              do not respect the prototype inheritance.
      
              Once IndexedDatabase is done, we should remove indexedDB and IDBKeyRange
              from the list of skipped window properties and we should update the
              Chromium and Android test expectations.
      
              fast/dom/prototype-inheritance.html fails from r64141
              https://bugs.webkit.org/show_bug.cgi?id=43067
      
              * fast/dom/script-tests/prototype-inheritance.js:
              * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64210 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a533be8b
    • andreip@google.com's avatar
      2010-07-28 Andrei Popescu <andreip@google.com> · e35ec55c
      andreip@google.com authored
              Reviewed by Jeremy Orlow.
      
              [IndexedDB] WebDOMStringList default ctor does not initialize its m_private member
              variable so any attempt to append strings to a WebDOMStringList instance results in a crash.
              https://bugs.webkit.org/show_bug.cgi?id=43120
      
              * storage/indexeddb/script-tests/objectstore-basics.js:
              (openSuccess):
              (createSuccess):
      2010-07-28  Andrei Popescu  <andreip@google.com>
      
              Reviewed by Jeremy Orlow.
      
              [IndexedDB] WebDOMStringList default ctor does not initialize its m_private member
              variable so any attempt to append strings to a WebDOMStringList instance results in a crash.
              https://bugs.webkit.org/show_bug.cgi?id=43120
      
              Makes the default WebKit::WebDOMStringList ctor actually create its wrapped
              WebCore::DOMStringList instance.
      
              * public/WebDOMStringList.h:
              * src/WebDOMStringList.cpp:
              (WebKit::WebDOMStringList::WebDOMStringList):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64209 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e35ec55c
    • commit-queue@webkit.org's avatar
      2010-07-28 Xianzhu Wang <phnixwxz@gmail.com> · 1fd43b24
      commit-queue@webkit.org authored
              Reviewed by Dan Bernstein.
      
              Line not wrapped at certain punctuations
              https://bugs.webkit.org/show_bug.cgi?id=37698
      
              * fast/text/line-breaks-after-closing-punctuations-expected.txt: Added.
              * fast/text/line-breaks-after-closing-punctuations.html: Added.
      2010-07-28  Xianzhu Wang  <phnixwxz@gmail.com>
      
              Reviewed by Dan Bernstein.
      
              Line not wrapped at certain punctuations
              https://bugs.webkit.org/show_bug.cgi?id=37698
              Added a line breaking table for all printable ASCII chars to replace
              the original line breaking table for only '?'.
      
              Test: fast/text/line-breaks-after-closing-punctuations.html
      
              * rendering/break_lines.cpp:
              (WebCore::isBreakableSpace):
              (WebCore::):
              (WebCore::shouldBreakAfter):
              (WebCore::needsLineBreakIterator):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64207 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1fd43b24
    • zimmermann@webkit.org's avatar
      2010-07-28 Nikolas Zimmermann <nzimmermann@rim.com> · 0a57e307
      zimmermann@webkit.org authored
              Not reviewed. Fix two layout test failure on the windows slave. Remove win-xp specific results after the r64186 change.
      
              * platform/win-xp/fast/lists: Removed.
              * platform/win-xp/fast/lists/w3-css3-list-styles-alphabetic-expected.txt: Removed.
              * platform/win-xp/fast/lists/w3-css3-list-styles-numeric-expected.txt: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64199 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0a57e307
    • zimmermann@webkit.org's avatar
      2010-07-28 Nikolas Zimmermann <nzimmermann@rim.com> · 7824140f
      zimmermann@webkit.org authored
              Not reviewed. Fix layout test failure on Leopard Intel Debug slave. Remove leopard specific result after the r64186 change.
      
              * platform/mac-leopard/fast/lists: Removed.
              * platform/mac-leopard/fast/lists/w3-css3-list-styles-numeric-expected.txt: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64198 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7824140f
    • jorlow@chromium.org's avatar
      2010-07-28 Jeremy Orlow <jorlow@chromium.org> · c843d5c7
      jorlow@chromium.org authored
              Updating Chromium test expectations to expect 8 tests to fail since
              our "test shell" doesn't implement a method required by Daniel Bates'
              http://trac.webkit.org/changeset/64186/ change.
      
              Not reviewed.
      
              * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64195 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c843d5c7
    • zimmermann@webkit.org's avatar
      2010-07-28 Nikolas Zimmermann <nzimmermann@rim.com> · d42e38c4
      zimmermann@webkit.org authored
              Not reviewed. Rebaseline mac-leopard specific pixel test result after the path cleanup patch.
      
              * platform/mac-leopard/svg/custom/svg-fonts-in-html-expected.checksum:
              * platform/mac-leopard/svg/custom/svg-fonts-in-html-expected.png:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64194 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d42e38c4
    • zherczeg@webkit.org's avatar
      SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change · 5557e9b5
      zherczeg@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=42244
      
      Reviewed by Nikolas Zimmermann.
      
      WebCore: 
      
      Implementing svgAttributeChanged for SVGFEOffsetElement object.
      
      Tests: svg/dynamic-updates/SVGFEOffsetElement-dom-dx-attr.html
             svg/dynamic-updates/SVGFEOffsetElement-dom-dy-attr.html
             svg/dynamic-updates/SVGFEOffsetElement-dom-in-attr.html
             svg/dynamic-updates/SVGFEOffsetElement-svgdom-dx-prop.html
             svg/dynamic-updates/SVGFEOffsetElement-svgdom-dy-prop.html
             svg/dynamic-updates/SVGFEOffsetElement-svgdom-in-prop.html
      
      * svg/SVGFEOffsetElement.cpp:
      (WebCore::SVGFEOffsetElement::svgAttributeChanged):
      * svg/SVGFEOffsetElement.h:
      
      LayoutTests: 
      
      * platform/mac/svg/dynamic-updates/SVGFEOffsetElement-dom-dx-attr-expected.checksum: Added.
      * platform/mac/svg/dynamic-updates/SVGFEOffsetElement-dom-dx-attr-expected.png: Added.
      * platform/mac/svg/dynamic-updates/SVGFEOffsetElement-dom-dy-attr-expected.checksum: Added.
      * platform/mac/svg/dynamic-updates/SVGFEOffsetElement-dom-dy-attr-expected.png: Added.
      * platform/mac/svg/dynamic-updates/SVGFEOffsetElement-dom-in-attr-expected.checksum: Added.
      * platform/mac/svg/dynamic-updates/SVGFEOffsetElement-dom-in-attr-expected.png: Added.
      * platform/mac/svg/dynamic-updates/SVGFEOffsetElement-svgdom-dx-prop-expected.checksum: Added.
      * platform/mac/svg/dynamic-updates/SVGFEOffsetElement-svgdom-dx-prop-expected.png: Added.
      * platform/mac/svg/dynamic-updates/SVGFEOffsetElement-svgdom-dy-prop-expected.checksum: Added.
      * platform/mac/svg/dynamic-updates/SVGFEOffsetElement-svgdom-dy-prop-expected.png: Added.
      * platform/mac/svg/dynamic-updates/SVGFEOffsetElement-svgdom-in-prop-expected.checksum: Added.
      * platform/mac/svg/dynamic-updates/SVGFEOffsetElement-svgdom-in-prop-expected.png: Added.
      * svg/dynamic-updates/SVGFEOffsetElement-dom-dx-attr-expected.txt: Added.
      * svg/dynamic-updates/SVGFEOffsetElement-dom-dx-attr.html: Added.
      * svg/dynamic-updates/SVGFEOffsetElement-dom-dy-attr-expected.txt: Added.
      * svg/dynamic-updates/SVGFEOffsetElement-dom-dy-attr.html: Added.
      * svg/dynamic-updates/SVGFEOffsetElement-dom-in-attr-expected.txt: Added.
      * svg/dynamic-updates/SVGFEOffsetElement-dom-in-attr.html: Added.
      * svg/dynamic-updates/SVGFEOffsetElement-svgdom-dx-prop-expected.txt: Added.
      * svg/dynamic-updates/SVGFEOffsetElement-svgdom-dx-prop.html: Added.
      * svg/dynamic-updates/SVGFEOffsetElement-svgdom-dy-prop-expected.txt: Added.
      * svg/dynamic-updates/SVGFEOffsetElement-svgdom-dy-prop.html: Added.
      * svg/dynamic-updates/SVGFEOffsetElement-svgdom-in-prop-expected.txt: Added.
      * svg/dynamic-updates/SVGFEOffsetElement-svgdom-in-prop.html: Added.
      * svg/dynamic-updates/script-tests/SVGFEOffsetElement-dom-dx-attr.js: Added.
      (executeTest):
      * svg/dynamic-updates/script-tests/SVGFEOffsetElement-dom-dy-attr.js: Added.
      (executeTest):
      * svg/dynamic-updates/script-tests/SVGFEOffsetElement-dom-in-attr.js: Added.
      (executeTest):
      * svg/dynamic-updates/script-tests/SVGFEOffsetElement-svgdom-dx-prop.js: Added.
      (executeTest):
      * svg/dynamic-updates/script-tests/SVGFEOffsetElement-svgdom-dy-prop.js: Added.
      (executeTest):
      * svg/dynamic-updates/script-tests/SVGFEOffsetElement-svgdom-in-prop.js: Added.
      (executeTest):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64192 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5557e9b5
    • zherczeg@webkit.org's avatar
      SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change · 7c3ba634
      zherczeg@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=42244
      
      Reviewed by Nikolas Zimmermann.
      
      WebCore: 
      
      Implementing svgAttributeChanged for SVGFEDiffuseLightingElement object.
      
      Tests: svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr.html
             svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr.html
             svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr.html
             svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr.html
             svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop.html
             svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop.html
             svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop.html
             svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop.html
      
      * svg/SVGFEDiffuseLightingElement.cpp:
      (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
      * svg/SVGFEDiffuseLightingElement.h:
      
      LayoutTests: 
      
      * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr-expected.checksum: Added.
      * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr-expected.png: Added.
      * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr-expected.checksum: Added.
      * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr-expected.png: Added.
      * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr-expected.checksum: Added.
      * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr-expected.png: Added.
      * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr-expected.checksum: Added.
      * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr-expected.png: Added.
      * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop-expected.checksum: Added.
      * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop-expected.png: Added.
      * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop-expected.checksum: Added.
      * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop-expected.png: Added.
      * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop-expected.checksum: Added.
      * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop-expected.png: Added.
      * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop-expected.checksum: Added.
      * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop-expected.png: Added.
      * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr-expected.txt: Added.
      * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr.html: Added.
      * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr-expected.txt: Added.
      * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr.html: Added.
      * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr-expected.txt: Added.
      * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr.html: Added.
      * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr-expected.txt: Added.
      * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr.html: Added.
      * svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop-expected.txt: Added.
      * svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop.html: Added.
      * svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop-expected.txt: Added.
      * svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop.html: Added.
      * svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop-expected.txt: Added.
      * svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop.html: Added.
      * svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop-expected.txt: Added.
      * svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop.html: Added.
      * svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr.js: Added.
      (executeTest):
      * svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-in-attr.js: Added.
      (executeTest):
      * svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-lighting-color-attr.js: Added.
      (executeTest):
      * svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-surfaceScale-attr.js: Added.
      (executeTest):
      * svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-lighting-color-css-prop.js: Added.
      (executeTest):
      * svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop.js: Added.
      (executeTest):
      * svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-svgdom-in-prop.js: Added.
      (executeTest):
      * svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop.js: Added.
      (executeTest):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64191 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7c3ba634
  3. 27 Jul, 2010 1 commit
    • dbates@webkit.org's avatar
      2010-07-27 Daniel Bates <dbates@rim.com> · 44a47ddc
      dbates@webkit.org authored
              Unreviewed; remove platform-specific expected results.
              https://bugs.webkit.org/show_bug.cgi?id=42803
      
              We no longer need the Qt an GTK platform-specific render tree dumps
              as we now dump text.
      
              * platform/gtk/fast/lists/alpha-boundary-values-expected.txt: Removed.
              * platform/gtk/fast/lists/w3-css3-list-styles-alphabetic-expected.txt: Removed.
              * platform/qt/fast/lists/alpha-boundary-values-expected.checksum: Removed.
              * platform/qt/fast/lists/alpha-boundary-values-expected.png: Removed.
              * platform/qt/fast/lists/alpha-boundary-values-expected.txt: Removed.
              * platform/qt/fast/lists/w3-css3-list-styles-numeric-expected.txt: Removed.
              * platform/qt/fast/lists/w3-list-styles-expected.txt: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64188 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      44a47ddc