[Webkit-unassigned] [Bug 154141] New: Synchronization of SVGMarkerElement DOM methods and orient attribute is broken

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Feb 11 17:01:36 PST 2016


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

            Bug ID: 154141
           Summary: Synchronization of SVGMarkerElement DOM methods and
                    orient attribute is broken
    Classification: Unclassified
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: SVG
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: nikos.andronikos-webkit at cisra.canon.com.au
                CC: zimmermann at kde.org

Test: https://jsfiddle.net/dodgeyhack/bgLe93sw/

After using the DOM methods:
* setOrientToAuto
* setorientToAngle

And I think after also reading and writing to/from SVGMarkerElement.orientType and SVGMarkerElement.orientAngle.

Then, calling setAttribute with an invalid value causes that value not to be reflected in the attribute as it should.

Minimal JS test:
markerElement.setOrientToAngle(svgElement.createSVGAngle());
shouldNotThrow("markerElement.setAttribute('orient', 'AUTO')");
shouldBeEqualToString("markerElement.getAttribute('orient')", "AUTO");

Fails because getAttribute('orient') returns '0'.

The call stack shows that SetAttributeInternal is called multiple times, which is likely an error:
--Element::setAttribute----------------
    name=orient / newValue=AUTO-START-REVERSE
    --synchronizeOrientAngle------
    shouldSynchronize = 1
    --Element::setAttributeInternal----------------
    name=orient / newValue=0123456789:;<=>?@ABCDEF... snipped the remaining garbage
    --synchronizeOrientType-------
    ownerType.m_orientType.value = 2
    is angle
    --Element::setAttributeInternal----------------
    name=orient / newValue=AUTO-START-REVERSE
    --parseAttribute-------
    name = orient / value = AUTO-START-REVERSE
    returns 0
    --svgAttributeChanged-------
    attrName = orient
    --synchronizeOrientAngle------
    shouldSynchronize = 1
    --Element::setAttributeInternal----------------
    name=orient / newValue=0123456789:;<=>?@ABCDEF... snipped the remaining garbage
    --synchronizeOrientType-------
    ownerType.m_orientType.value = 2
    is angle

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20160212/3aa7dc0f/attachment.html>


More information about the webkit-unassigned mailing list