<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>189643</bug_id>
          
          <creation_ts>2018-09-14 18:48:45 -0700</creation_ts>
          <short_desc>Re-order Node flags based on semantics</short_desc>
          <delta_ts>2018-09-17 14:08:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kangil.han</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1460008</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-09-14 18:48:45 -0700</bug_when>
    <thetext>Re-order Node flags so that flags used for similar purposes are grouped together.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1460009</commentid>
    <comment_count>1</comment_count>
      <attachid>349845</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-09-14 18:52:13 -0700</bug_when>
    <thetext>Created attachment 349845
Cleanup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1460010</commentid>
    <comment_count>2</comment_count>
      <attachid>349845</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-09-14 19:01:16 -0700</bug_when>
    <thetext>Comment on attachment 349845
Cleanup

View in context: https://bugs.webkit.org/attachment.cgi?id=349845&amp;action=review

&gt; Source/WebCore/dom/Node.h:566
&gt; -        IsConnectedFlag = 1 &lt;&lt; 6,
&gt; -        IsInShadowTreeFlag = 1 &lt;&lt; 7,
&gt; -        IsDocumentNodeFlag = 1 &lt;&lt; 8,
&gt; -        IsShadowRootFlag = 1 &lt;&lt; 9,
&gt; +        IsDocumentNodeFlag = 1 &lt;&lt; 6,
&gt; +        IsShadowRootFlag = 1 &lt;&lt; 7,
&gt; +        IsConnectedFlag = 1 &lt;&lt; 8,
&gt; +        IsInShadowTreeFlag = 1 &lt;&lt; 9,
&gt;          HasRareDataFlag = 1 &lt;&lt; 10,

I would prefer all the &quot;= 1 &lt;&lt; N&quot; be aligned, so it&apos;s easy to see that they are increasing by one, but not everyone agrees.

&gt; Source/WebCore/dom/Node.h:584
&gt; +        StyleValidityShift = 22,

Does this break our ability to use this enum with OptionSet&lt;&gt;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1460310</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-09-17 13:47:15 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #2)
&gt; Comment on attachment 349845 [details]
&gt; Cleanup
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=349845&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/Node.h:566
&gt; &gt; -        IsConnectedFlag = 1 &lt;&lt; 6,
&gt; &gt; -        IsInShadowTreeFlag = 1 &lt;&lt; 7,
&gt; &gt; -        IsDocumentNodeFlag = 1 &lt;&lt; 8,
&gt; &gt; -        IsShadowRootFlag = 1 &lt;&lt; 9,
&gt; &gt; +        IsDocumentNodeFlag = 1 &lt;&lt; 6,
&gt; &gt; +        IsShadowRootFlag = 1 &lt;&lt; 7,
&gt; &gt; +        IsConnectedFlag = 1 &lt;&lt; 8,
&gt; &gt; +        IsInShadowTreeFlag = 1 &lt;&lt; 9,
&gt; &gt;          HasRareDataFlag = 1 &lt;&lt; 10,
&gt; 
&gt; I would prefer all the &quot;= 1 &lt;&lt; N&quot; be aligned, so it&apos;s easy to see that they
&gt; are increasing by one, but not everyone agrees.

Well, if we did that, then we&apos;d have to re-align them whenever a flag with a longer name than the current longest one is added.

&gt; &gt; Source/WebCore/dom/Node.h:584
&gt; &gt; +        StyleValidityShift = 22,
&gt; 
&gt; Does this break our ability to use this enum with OptionSet&lt;&gt;?

Yes. But we can probably just add two vales of StyleValidity directly to NodeFlags and do the manual conversion instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1460320</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-09-17 14:07:10 -0700</bug_when>
    <thetext>Committed r236083: &lt;https://trac.webkit.org/changeset/236083&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1460321</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-09-17 14:08:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/44533292&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349845</attachid>
            <date>2018-09-14 18:52:13 -0700</date>
            <delta_ts>2018-09-14 19:01:16 -0700</delta_ts>
            <desc>Cleanup</desc>
            <filename>bug-189643-20180914185212.patch</filename>
            <type>text/plain</type>
            <size>3405</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzNjAzMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE4LTA5LTE0ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlLW9yZGVyIE5vZGUgZmxhZ3Mg
YmFzZWQgb24gc2VtYW50aWNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xODk2NDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBSZS1vcmRlcmVkIE5vZGUgZmxhZ3MgYmFzZWQgb24gdGhlaXIgY2F0ZWdvcnkg
YW5kIHN1YmNsYXNzZXMgb2YgTm9kZSB3aGljaCB1c2UgdGhlbS4KKworICAgICAgICAqIGRvbS9O
b2RlLmg6CisKIDIwMTgtMDktMTQgIEJhc3VrZSBTdXp1a2kgIDxCYXN1a2UuU3V6dWtpQHNvbnku
Y29tPgogCiAgICAgICAgIFtDdXJsXSBCdWcgZml4IG9uIHNvbWUgaW5hY2N1cmF0ZSB2YWx1ZXMg
aW4gTmV0d29ya0xvYWRNZXRyaWNzLgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCShyZXZpc2lvbiAyMzYwMjcp
CisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01NTksMzkg
KzU1OSw0MSBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIElzSFRNTEZsYWcgPSAxIDw8IDMsCiAgICAg
ICAgIElzU1ZHRmxhZyA9IDEgPDwgNCwKICAgICAgICAgSXNNYXRoTUxGbGFnID0gMSA8PCA1LAot
ICAgICAgICBJc0Nvbm5lY3RlZEZsYWcgPSAxIDw8IDYsCi0gICAgICAgIElzSW5TaGFkb3dUcmVl
RmxhZyA9IDEgPDwgNywKLSAgICAgICAgSXNEb2N1bWVudE5vZGVGbGFnID0gMSA8PCA4LAotICAg
ICAgICBJc1NoYWRvd1Jvb3RGbGFnID0gMSA8PCA5LAorICAgICAgICBJc0RvY3VtZW50Tm9kZUZs
YWcgPSAxIDw8IDYsCisgICAgICAgIElzU2hhZG93Um9vdEZsYWcgPSAxIDw8IDcsCisgICAgICAg
IElzQ29ubmVjdGVkRmxhZyA9IDEgPDwgOCwKKyAgICAgICAgSXNJblNoYWRvd1RyZWVGbGFnID0g
MSA8PCA5LAogICAgICAgICBIYXNSYXJlRGF0YUZsYWcgPSAxIDw8IDEwLAogICAgICAgICBIYXNF
dmVudFRhcmdldERhdGFGbGFnID0gMSA8PCAxMSwKIAogICAgICAgICAvLyBUaGVzZSBiaXRzIGFy
ZSB1c2VkIGJ5IGRlcml2ZWQgY2xhc3NlcywgcHVsbGVkIHVwIGhlcmUgc28gdGhleSBjYW4KICAg
ICAgICAgLy8gYmUgc3RvcmVkIGluIHRoZSBzYW1lIG1lbW9yeSB3b3JkIGFzIHRoZSBOb2RlIGJp
dHMgYWJvdmUuCiAgICAgICAgIENoaWxkTmVlZHNTdHlsZVJlY2FsY0ZsYWcgPSAxIDw8IDEyLCAv
LyBDb250YWluZXJOb2RlCisgICAgICAgIERpcmVjdENoaWxkTmVlZHNTdHlsZVJlY2FsY0ZsYWcg
PSAxIDw8IDEzLAogCi0gICAgICAgIElzUGFyc2luZ0NoaWxkcmVuRmluaXNoZWRGbGFnID0gMSA8
PCAxMywgLy8gRWxlbWVudAotICAgICAgICBTdHlsZVZhbGlkaXR5U2hpZnQgPSAxNCwKKyAgICAg
ICAgSXNFZGl0aW5nVGV4dE9yVW5kZWZpbmVkQ3VzdG9tRWxlbWVudEZsYWcgPSAxIDw8IDE0LCAv
LyBUZXh0IGFuZCBFbGVtZW50CisgICAgICAgIElzQ3VzdG9tRWxlbWVudCA9IDEgPDwgMTUsIC8v
IEVsZW1lbnQKKyAgICAgICAgSGFzRm9jdXNXaXRoaW4gPSAxIDw8IDE2LAorICAgICAgICBJc0xp
bmtGbGFnID0gMSA8PCAxNywKKyAgICAgICAgSXNVc2VyQWN0aW9uRWxlbWVudCA9IDEgPDwgMTgs
CisgICAgICAgIElzUGFyc2luZ0NoaWxkcmVuRmluaXNoZWRGbGFnID0gMSA8PCAxOSwKKyAgICAg
ICAgSGFzU3ludGhldGljQXR0ckNoaWxkTm9kZXNGbGFnID0gMSA8PCAyMCwKKyAgICAgICAgU2Vs
Zk9yQW5jZXN0b3JIYXNEaXJBdXRvRmxhZyA9IDEgPDwgMjEsCisKKyAgICAgICAgLy8gVGhlIGZv
bGxvd2luZyBmbGFncyBhcmUgdXNlZCBpbiBzdHlsZSBpbnZhbGlkYXRpb24uCisgICAgICAgIFN0
eWxlVmFsaWRpdHlTaGlmdCA9IDIyLAogICAgICAgICBTdHlsZVZhbGlkaXR5TWFzayA9IDMgPDwg
U3R5bGVWYWxpZGl0eVNoaWZ0LAotICAgICAgICBTdHlsZVJlc29sdXRpb25TaG91bGRSZWNvbXBv
c2l0ZUxheWVyRmxhZyA9IDEgPDwgMTYsCi0gICAgICAgIElzRWRpdGluZ1RleHRPclVuZGVmaW5l
ZEN1c3RvbUVsZW1lbnRGbGFnID0gMSA8PCAxNywKLSAgICAgICAgSGFzRm9jdXNXaXRoaW4gPSAx
IDw8IDE4LAotICAgICAgICBIYXNTeW50aGV0aWNBdHRyQ2hpbGROb2Rlc0ZsYWcgPSAxIDw8IDE5
LAotICAgICAgICBIYXNDdXN0b21TdHlsZVJlc29sdmVDYWxsYmFja3NGbGFnID0gMSA8PCAyMCwK
LSAgICAgICAgRGVzY2VuZGFudHNBZmZlY3RlZEJ5UHJldmlvdXNTaWJsaW5nRmxhZyA9IDEgPDwg
MjEsCi0gICAgICAgIElzQ3VzdG9tRWxlbWVudCA9IDEgPDwgMjIsCi0gICAgICAgIElzTGlua0Zs
YWcgPSAxIDw8IDIzLAotICAgICAgICBJc1VzZXJBY3Rpb25FbGVtZW50ID0gMSA8PCAyNCwKKyAg
ICAgICAgU3R5bGVSZXNvbHV0aW9uU2hvdWxkUmVjb21wb3NpdGVMYXllckZsYWcgPSAxIDw8IDI0
LAogCiAgICAgICAgIENoaWxkcmVuQWZmZWN0ZWRCeUZpcnN0Q2hpbGRSdWxlc0ZsYWcgPSAxIDw8
IDI1LAogICAgICAgICBDaGlsZHJlbkFmZmVjdGVkQnlMYXN0Q2hpbGRSdWxlc0ZsYWcgPSAxIDw8
IDI2LAogICAgICAgICBDaGlsZHJlbkFmZmVjdGVkQnlIb3ZlclJ1bGVzRmxhZyA9IDEgPDwgMjcs
CiAKLSAgICAgICAgRGlyZWN0Q2hpbGROZWVkc1N0eWxlUmVjYWxjRmxhZyA9IDEgPDwgMjgsCi0g
ICAgICAgIEFmZmVjdHNOZXh0U2libGluZ0VsZW1lbnRTdHlsZSA9IDEgPDwgMjksCi0gICAgICAg
IFN0eWxlSXNBZmZlY3RlZEJ5UHJldmlvdXNTaWJsaW5nID0gMSA8PCAzMCwKKyAgICAgICAgQWZm
ZWN0c05leHRTaWJsaW5nRWxlbWVudFN0eWxlID0gMSA8PCAyOCwKKyAgICAgICAgU3R5bGVJc0Fm
ZmVjdGVkQnlQcmV2aW91c1NpYmxpbmcgPSAxIDw8IDI5LAorICAgICAgICBEZXNjZW5kYW50c0Fm
ZmVjdGVkQnlQcmV2aW91c1NpYmxpbmdGbGFnID0gMSA8PCAzMCwKIAotICAgICAgICBTZWxmT3JB
bmNlc3Rvckhhc0RpckF1dG9GbGFnID0gMSA8PCAzMSwKKyAgICAgICAgSGFzQ3VzdG9tU3R5bGVS
ZXNvbHZlQ2FsbGJhY2tzRmxhZyA9IDEgPDwgMzEsCiAKICAgICAgICAgRGVmYXVsdE5vZGVGbGFn
cyA9IElzUGFyc2luZ0NoaWxkcmVuRmluaXNoZWRGbGFnCiAgICAgfTsK
</data>
<flag name="review"
          id="367353"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>