Skip to content
  • zimmermann@webkit.org's avatar
    Reviewed by Darin & Eric. · 85eb2e02
    zimmermann@webkit.org authored
    Fixes: http://bugs.webkit.org/show_bug.cgi?id=17258 (SVG uses erroneous cursor implementation)
    
    SVG cursors are not well-integrated within the CSS(3) cursor support in WebCore.
    SVGCursorElement duplicates CSSCursorImageValue functionality and inherits from
    CachedResourceClient itself, handling remote-image acquisation on its own.
    
    RenderStyle's CursorData class holds "IntPoint hotSpot", "CachedImage* image"
    and just for SVG a 'String cursorFragmentId' (a reference to a SVG <cursor> element, by id).
    
    SVG stores a reference to a SVGCursorElement, which holds a CachedImage pointer itself -
    instead of storing the CachedImage in the CursorData class, as it's supposed to be.
    Because of that several places in WebCore contain special SVG cursor handling - which
    is unneeded.
    
    Fix all issues by integrating within CSSCursorImageValue, remove 'String cursorFragmentId'
    from RenderStyle, kill any special SVG cursor handling in WebCore and fix dynamic attribute
    changes through DOM / SVG DOM (scripting of 'x' / 'y' / 'xlink:href' attribute).
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30208 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    85eb2e02