<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - AX: richer text change notifications"
   href="https://bugs.webkit.org/show_bug.cgi?id=142719#c103">Comment # 103</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - AX: richer text change notifications"
   href="https://bugs.webkit.org/show_bug.cgi?id=142719">bug 142719</a>
              from <span class="vcard"><a class="email" href="mailto:d_russell&#64;apple.com" title="Doug Russell &lt;d_russell&#64;apple.com&gt;"> <span class="fn">Doug Russell</span></a>
</span></b>
        <pre>(In reply to <a href="show_bug.cgi?id=142719#c102">comment #102</a>)
<span class="quote">&gt; Comment on <span class=""><a href="attachment.cgi?id=251507&amp;action=diff" name="attach_251507" title="Update from review">attachment 251507</a> <a href="attachment.cgi?id=251507&amp;action=edit" title="Update from review">[details]</a></span>
&gt; Update from review
&gt; 
&gt; View in context:
&gt; <a href="https://bugs.webkit.org/attachment.cgi?id=251507&amp;action=review">https://bugs.webkit.org/attachment.cgi?id=251507&amp;action=review</a>
&gt; 
&gt; 
&gt; &gt; Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm:400
&gt; &gt; +    NSMutableArray *mutableArray = [array mutableCopy];
&gt; 
&gt; A shame that this function makes a mutable copy of the array in the almost
&gt; 100% common case where it does contain only JSON types.
&gt; 
&gt; &gt; Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm:419
&gt; &gt; +    NSMutableDictionary *mutableDictionary = [dictionary mutableCopy];
&gt; 
&gt; A shame that this function makes a mutable copy of the dictionary in the
&gt; almost 100% common case where it does contain only JSON types.
&gt; </span >

Currrently the only methods that pass a non nil userInfo always include non JSON types. We could definitely make the copy conditional if that changes.

<span class="quote">&gt; 
&gt; &gt; Source/WebCore/editing/CompositeEditCommand.cpp:179
&gt; &gt; +    default:
&gt; &gt; +        break;
&gt; 
&gt; Normally we omit the default so we get a warning when we add a new enum
&gt; value and don’t yet handle it in this switch statement.
&gt; 
&gt; &gt; Source/WebCore/editing/EditCommand.cpp:133
&gt; &gt; +    default:
&gt; &gt; +        break;
&gt; 
&gt; Same comment about default as above.</span >

There are a lot of EditActions that aren't accessibility relevant that the default covers.

<span class="quote">&gt; &gt; Source/WebCore/editing/InsertIntoTextNodeCommand.h:44
&gt; &gt; +    const String&amp; insertedText();
&gt; &gt; +protected:
&gt; &gt; +    InsertIntoTextNodeCommand(PassRefPtr&lt;Text&gt; node, unsigned offset, const String&amp; text, EditAction editingAction);
&gt; 
&gt; Missing blank line before protected. Also, should just make this private
&gt; again. I believe the reason to make it protected is obsolete.</span >

This needs to be protected for ReplaceInsertIntoTextNodeCommand</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>