<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Synchronization of SVGMarkerElement DOM methods and orient attribute is broken"
   href="https://bugs.webkit.org/show_bug.cgi?id=154141">154141</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Synchronization of SVGMarkerElement DOM methods and orient attribute is broken
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>WebKit
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>WebKit Nightly Build
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>Unspecified
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Unspecified
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>Normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P2
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>SVG
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>webkit-unassigned&#64;lists.webkit.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>nikos.andronikos-webkit&#64;cisra.canon.com.au
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>zimmermann&#64;kde.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Test: <a href="https://jsfiddle.net/dodgeyhack/bgLe93sw/">https://jsfiddle.net/dodgeyhack/bgLe93sw/</a>

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(&quot;markerElement.setAttribute('orient', 'AUTO')&quot;);
shouldBeEqualToString(&quot;markerElement.getAttribute('orient')&quot;, &quot;AUTO&quot;);

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:;&lt;=&gt;?&#64;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:;&lt;=&gt;?&#64;ABCDEF... snipped the remaining garbage
    --synchronizeOrientType-------
    ownerType.m_orientType.value = 2
    is angle</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>