<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - Need ability to specify alternate image for AutoFill button in input fields"
   href="https://bugs.webkit.org/show_bug.cgi?id=153116#c28">Comment # 28</a>
              on <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - Need ability to specify alternate image for AutoFill button in input fields"
   href="https://bugs.webkit.org/show_bug.cgi?id=153116">bug 153116</a>
              from <span class="vcard"><a class="email" href="mailto:darin&#64;apple.com" title="Darin Adler &lt;darin&#64;apple.com&gt;"> <span class="fn">Darin Adler</span></a>
</span></b>
        <pre>(In reply to <a href="show_bug.cgi?id=153116#c27">comment #27</a>)
<span class="quote">&gt; Taking your above comments into consideration, we only need the
&gt; updateAutoFillButton() method that looks like:</span >

Yes, that looks right.

<span class="quote">&gt; &gt; &gt; Source/WebCore/testing/Internals.idl:64
&gt; &gt; &gt; +enum AutoFillButtonType {
&gt; &gt; &gt; +    &quot;AutoFillButtonTypeNone&quot;,
&gt; &gt; &gt; +    &quot;AutoFillButtonTypeContacts&quot;,
&gt; &gt; &gt; +    &quot;AutoFillButtonTypeCredentials&quot;
&gt; &gt; &gt; +};
&gt; &gt; 
&gt; &gt; I would have just used the strings &quot;none&quot;, &quot;credentials&quot;, and &quot;contacts&quot;.
&gt; &gt; Not sure why the long strings with capital letters are better.
&gt; 
&gt; I also prefer shorter strings as long as they are clear. In Internals.idl,
&gt; there are strings with capital letters and there are strings with lower case
&gt; for enum, what is the recommended practice for this?</span >

I think there’s some confusion between true enums in C++ code, where the values need to avoid conflicting with each other and look right in C++ code context, enums in DOM APIs and enums in our internals file.

1) For enums in C++ code, they need to not collide with each other so we either need to prefix values with the type, or use enum class. And we use capital letters in those by convention.

2) For enums in DOM APIs, we need to match the style of the DOM specifications, which means we use ALL_CAPITAL_LETTERS style for the values. There is also some issue of name conflict there.

3) For these enums for internals, what we are calling enums is actually just a list of string values. There is no need to make them unique, prefix them with a type name, or anything else like that.

So for these, in category (3) I think we should use lower case strings. When there is more than one word, not sure if we should use spaces (like normal English), hyphens (like CSS identifiers), underscores, or capital letters (like local variables in C++ code). But really no need to use capital letters.</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>