<?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>222404</bug_id>
          
          <creation_ts>2021-02-24 22:20:12 -0800</creation_ts>
          <short_desc>Optimize the code to check if an element delegates focus to its shadow root or not</short_desc>
          <delta_ts>2021-02-27 01:32:10 -0800</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>WONTFIX</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>
          <dependson>222510</dependson>
          <blocked>222159</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kangil.han</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1733214</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-24 22:20:12 -0800</bug_when>
    <thetext>Split from the bug 222159.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733215</commentid>
    <comment_count>1</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-24 22:20:49 -0800</bug_when>
    <thetext>&lt;rdar://problem/74680265&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733221</commentid>
    <comment_count>2</comment_count>
      <attachid>421502</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-24 22:36:09 -0800</bug_when>
    <thetext>Created attachment 421502
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733223</commentid>
    <comment_count>3</comment_count>
      <attachid>421502</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-02-24 22:38:34 -0800</bug_when>
    <thetext>Comment on attachment 421502
Patch

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

&gt; Source/WebCore/dom/Node.h:554
&gt; +        DelegatesFocusToShadowRoot = 1 &lt;&lt; 27,

If a node DelegatesFocusToShadowRoot, does it already have rare data? If so, could we put this bit in rare data?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733224</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-24 22:39:31 -0800</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #3)
&gt; Comment on attachment 421502 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=421502&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/Node.h:554
&gt; &gt; +        DelegatesFocusToShadowRoot = 1 &lt;&lt; 27,
&gt; 
&gt; If a node DelegatesFocusToShadowRoot, does it already have rare data? If so,
&gt; could we put this bit in rare data?

The point of this optimization is to avoid retrieving the rare data.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733226</commentid>
    <comment_count>5</comment_count>
      <attachid>421502</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-24 22:50:59 -0800</bug_when>
    <thetext>Comment on attachment 421502
Patch

Clearing flags on attachment: 421502

Committed r273474 (234554@main): &lt;https://commits.webkit.org/234554@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733227</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-24 22:51:01 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734171</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-02-27 01:27:26 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 222510</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734178</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-27 01:32:10 -0800</bug_when>
    <thetext>This was not an overall speed up after all.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421502</attachid>
            <date>2021-02-24 22:36:09 -0800</date>
            <delta_ts>2021-02-24 22:50:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222404-20210224223609.patch</filename>
            <type>text/plain</type>
            <size>5370</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczMzI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjQyYThhZWNmN2NiYzFl
NDNjNDQ3NTBjYjMzMWFjNTMwMTY4Mzg0Ni4uYWQxYTQ3YjQzYTVhNWU4YjI2MDhlMGJkZmFjZDE2
MjNhZmY1ZTFkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTAyLTI0ICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIE9wdGltaXplIHRoZSBjb2Rl
IHRvIGNoZWNrIGlmIGFuIGVsZW1lbnQgZGVsZWdhdGVzIGZvY3VzIHRvIGl0cyBzaGFkb3cgcm9v
dCBvciBub3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyMjQwNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBhIGZhc3QgcGF0aCBmb3IgY2hlY2tpbmcgd2hldGhlciBhIGdpdmVuIGVsZW1lbnQgaXMg
YSBzaGFkb3cgaG9zdCB3aXRoIGEgc2hhZG93IHJvb3QKKyAgICAgICAgd2l0aCBkZWxlZ2F0ZXNG
b2N1cyBzZXQgdG8gdHJ1ZSBpbiB3aXRoIGEgbmV3IG5vZGUgZmxhZzogRGVsZWdhdGVzRm9jdXNU
b1NoYWRvd1Jvb3QuCisKKyAgICAgICAgVGhlIGZsYWcgaXMgc2V0IGluIEVsZW1lbnQ6OmF0dGFj
aFNoYWRvdyBhbmQgbmV2ZXIgY2xlYXJlZCBhcyBkZWxlZ2F0ZXNGb2N1cyBjYW4gbmV2ZXIgYmUg
dW5zZXQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHNpbmNlIHRoZXJlIHNob3VsZCBiZSBubyBv
YnNlcnZhYmxlIGJlaGF2aW9yYWwgZGlmZmVyZW5jZXMuCisKKyAgICAgICAgKiBkb20vRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojppc0tleWJvYXJkRm9jdXNhYmxlIGNv
bnN0KTogT3B0aW1pemVkIHRoaXMgY29kZSB1c2luZyB0aGUgbmV3IGZsYWcuCisgICAgICAgIChX
ZWJDb3JlOjpzaGFkb3dSb290V2l0aERlbGVnYXRlc0ZvY3VzKTogU2V0IHRoZSBmbGFnLgorICAg
ICAgICAoV2ViQ29yZTo6aXNQcm9ncmFtYXRpY2FsbHlGb2N1c2FibGUpOiBPcHRpbWl6ZWQgdGhp
cyBjb2RlIHVzaW5nIHRoZSBuZXcgZmxhZy4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmZv
Y3VzKTogRGl0dG8uCisgICAgICAgICogZG9tL05vZGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok5v
ZGU6OmRlbGVnYXRlc0ZvY3VzVG9TaGFkb3dSb290IGNvbnN0KTogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpOb2RlOjpOb2RlRmxhZyk6IEFkZGVkIE5vZGVGbGFnOjpEZWxlZ2F0ZXNGb2N1c1Rv
U2hhZG93Um9vdC4KKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnNldERlbGVnYXRlc0ZvY3VzVG9T
aGFkb3dSb290KTogQWRkZWQuCisKIDIwMjEtMDItMjMgIEFsaWNpYSBCb3lhIEdhcmPDrWEgIDxh
Ym95YUBpZ2FsaWEuY29tPgogCiAgICAgICAgIE1ha2Ugc3lzdGVtIGNvbnNvbGUgbG9nZ2luZyBz
eW5jaHJvbm91cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IGY4ODZhMGZjZDdlOTBlNTIxZTVl
YjdjNzdjNzc2NzczMjQ0ZGI3MWEuLjRjNWMzOTU1NGVhNTZlYjYyNGY5OGUxZTViMzkyZTM5YTQy
ZmE2OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTMxNSwxMSArMzE1LDggQEAgYm9vbCBF
bGVtZW50Ojppc0tleWJvYXJkRm9jdXNhYmxlKEtleWJvYXJkRXZlbnQqKSBjb25zdAogewogICAg
IGlmICghKGlzRm9jdXNhYmxlKCkgJiYgIXNob3VsZEJlSWdub3JlZEluU2VxdWVudGlhbEZvY3Vz
TmF2aWdhdGlvbigpICYmIHRhYkluZGV4U2V0RXhwbGljaXRseSgpLnZhbHVlT3IoMCkgPj0gMCkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAoYXV0byogcm9vdCA9IHNoYWRvd1Jvb3Qo
KSkgewotICAgICAgICBpZiAocm9vdC0+ZGVsZWdhdGVzRm9jdXMoKSkKLSAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICB9Ci0gICAgcmV0dXJuIHRydWU7CisgICAgQVNTRVJUKGRlbGVnYXRl
c0ZvY3VzVG9TaGFkb3dSb290KCkgPT0gKHNoYWRvd1Jvb3QoKSAmJiBzaGFkb3dSb290KCktPmRl
bGVnYXRlc0ZvY3VzKCkpKTsKKyAgICByZXR1cm4gIWRlbGVnYXRlc0ZvY3VzVG9TaGFkb3dSb290
KCk7CiB9CiAKIGJvb2wgRWxlbWVudDo6aXNNb3VzZUZvY3VzYWJsZSgpIGNvbnN0CkBAIC0yMzkz
LDYgKzIzOTAsOCBAQCBFeGNlcHRpb25PcjxTaGFkb3dSb290Jj4gRWxlbWVudDo6YXR0YWNoU2hh
ZG93KGNvbnN0IFNoYWRvd1Jvb3RJbml0JiBpbml0KQogICAgIGlmIChpbml0Lm1vZGUgPT0gU2hh
ZG93Um9vdE1vZGU6OlVzZXJBZ2VudCkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVF
cnJvciB9OwogICAgIGF1dG8gc2hhZG93ID0gU2hhZG93Um9vdDo6Y3JlYXRlKGRvY3VtZW50KCks
IGluaXQubW9kZSwgaW5pdC5kZWxlZ2F0ZXNGb2N1cyA/IFNoYWRvd1Jvb3Q6OkRlbGVnYXRlc0Zv
Y3VzOjpZZXMgOiBTaGFkb3dSb290OjpEZWxlZ2F0ZXNGb2N1czo6Tm8pOworICAgIGlmIChpbml0
LmRlbGVnYXRlc0ZvY3VzKQorICAgICAgICBzZXREZWxlZ2F0ZXNGb2N1c1RvU2hhZG93Um9vdCgp
OwogICAgIGF1dG8mIHJlc3VsdCA9IHNoYWRvdy5nZXQoKTsKICAgICBhZGRTaGFkb3dSb290KFdU
Rk1vdmUoc2hhZG93KSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTI5NzYsNyArMjk3NSw4IEBA
IHN0YXRpYyBib29sIGlzUHJvZ3JhbWF0aWNhbGx5Rm9jdXNhYmxlKEVsZW1lbnQmIGVsZW1lbnQp
CiB7CiAgICAgU2NyaXB0RGlzYWxsb3dlZFNjb3BlOjpJbk1haW5UaHJlYWQgc2NyaXB0RGlzYWxs
b3dlZFNjb3BlOwogCi0gICAgaWYgKHNoYWRvd1Jvb3RXaXRoRGVsZWdhdGVzRm9jdXMoZWxlbWVu
dCkpCisgICAgQVNTRVJUKGVsZW1lbnQuZGVsZWdhdGVzRm9jdXNUb1NoYWRvd1Jvb3QoKSA9PSAh
IXNoYWRvd1Jvb3RXaXRoRGVsZWdhdGVzRm9jdXMoZWxlbWVudCkpOworICAgIGlmIChlbGVtZW50
LmRlbGVnYXRlc0ZvY3VzVG9TaGFkb3dSb290KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAog
ICAgIC8vIElmIHRoZSBzdHlsZXNoZWV0cyBoYXZlIGFscmVhZHkgYmVlbiBsb2FkZWQgd2UgY2Fu
IHJlbGlhYmx5IGNoZWNrIGlzRm9jdXNhYmxlLgpAQCAtMzAyMyw3ICszMDIzLDkgQEAgdm9pZCBF
bGVtZW50Ojpmb2N1cyhTZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGUgcmVzdG9yYXRpb25Nb2RlLCBG
b2N1c0RpcmVjdGlvbiBkaXIKICAgICBpZiAoJm5ld1RhcmdldC0+ZG9jdW1lbnQoKSAhPSBkb2N1
bWVudC5wdHIoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKGF1dG8gcm9vdCA9IHNoYWRv
d1Jvb3RXaXRoRGVsZWdhdGVzRm9jdXMoKnRoaXMpKSB7CisgICAgQVNTRVJUKGRlbGVnYXRlc0Zv
Y3VzVG9TaGFkb3dSb290KCkgPT0gISFzaGFkb3dSb290V2l0aERlbGVnYXRlc0ZvY3VzKCp0aGlz
KSk7CisgICAgaWYgKGRlbGVnYXRlc0ZvY3VzVG9TaGFkb3dSb290KCkpIHsKKyAgICAgICAgYXV0
byByb290ID0gc2hhZG93Um9vdFdpdGhEZWxlZ2F0ZXNGb2N1cygqdGhpcyk7CiAgICAgICAgIGF1
dG8gY3VycmVudGx5Rm9jdXNlZEVsZW1lbnQgPSBtYWtlUmVmUHRyKGRvY3VtZW50LT5mb2N1c2Vk
RWxlbWVudCgpKTsKICAgICAgICAgaWYgKHJvb3QtPmNvbnRhaW5zSW5jbHVkaW5nU2hhZG93RE9N
KGN1cnJlbnRseUZvY3VzZWRFbGVtZW50LmdldCgpKSkgewogICAgICAgICAgICAgaWYgKGRvY3Vt
ZW50LT5wYWdlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oIGIvU291
cmNlL1dlYkNvcmUvZG9tL05vZGUuaAppbmRleCAyZWNkMTVkNmQ5NGQ1YTk0YWY3NTlmYmQ1NTc2
NTI1N2FmNGQ2NmUxLi43MTVlM2QzZTFiYzFjYTgxYzQyYjA0ZjZmZWU3ZTVkNzRkNWY2MzZlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Ob2RlLmgKQEAgLTIyMiw2ICsyMjIsNyBAQCBwdWJsaWM6CiAgICAgU2hhZG93Um9vdCog
Y29udGFpbmluZ1NoYWRvd1Jvb3QoKSBjb25zdDsKICAgICBTaGFkb3dSb290KiBzaGFkb3dSb290
KCkgY29uc3Q7CiAgICAgYm9vbCBpc0Nsb3NlZFNoYWRvd0hpZGRlbihjb25zdCBOb2RlJikgY29u
c3Q7CisgICAgYm9vbCBkZWxlZ2F0ZXNGb2N1c1RvU2hhZG93Um9vdCgpIGNvbnN0IHsgcmV0dXJu
IGhhc05vZGVGbGFnKE5vZGVGbGFnOjpEZWxlZ2F0ZXNGb2N1c1RvU2hhZG93Um9vdCk7IH0KIAog
ICAgIEhUTUxTbG90RWxlbWVudCogYXNzaWduZWRTbG90KCkgY29uc3Q7CiAgICAgSFRNTFNsb3RF
bGVtZW50KiBhc3NpZ25lZFNsb3RGb3JCaW5kaW5ncygpIGNvbnN0OwpAQCAtNTUwLDggKzU1MSw5
IEBAIHByb3RlY3RlZDoKICAgICAgICAgQ29udGFpbnNGdWxsU2NyZWVuRWxlbWVudCA9IDEgPDwg
MjUsCiAjZW5kaWYKICAgICAgICAgSXNDb21wdXRlZFN0eWxlSW52YWxpZEZsYWcgPSAxIDw8IDI2
LAorICAgICAgICBEZWxlZ2F0ZXNGb2N1c1RvU2hhZG93Um9vdCA9IDEgPDwgMjcsCiAKLSAgICAg
ICAgLy8gQml0cyAyNy0zMSBhcmUgZnJlZS4KKyAgICAgICAgLy8gQml0cyAyOC0zMSBhcmUgZnJl
ZS4KICAgICB9OwogCiAgICAgZW51bSBjbGFzcyBUYWJJbmRleFN0YXRlIDogdWludDhfdCB7CkBA
IC01OTEsNiArNTkzLDggQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgc2V0SXNQYXJzaW5nQ2hpbGRy
ZW5GaW5pc2hlZCgpIHsgc2V0Tm9kZUZsYWcoTm9kZUZsYWc6OklzUGFyc2luZ0NoaWxkcmVuRmlu
aXNoZWQpOyB9CiAgICAgdm9pZCBjbGVhcklzUGFyc2luZ0NoaWxkcmVuRmluaXNoZWQoKSB7IGNs
ZWFyTm9kZUZsYWcoTm9kZUZsYWc6OklzUGFyc2luZ0NoaWxkcmVuRmluaXNoZWQpOyB9CiAKKyAg
ICB2b2lkIHNldERlbGVnYXRlc0ZvY3VzVG9TaGFkb3dSb290KCkgeyBzZXROb2RlRmxhZyhOb2Rl
RmxhZzo6RGVsZWdhdGVzRm9jdXNUb1NoYWRvd1Jvb3QpOyB9CisKICAgICBjb25zdGV4cHIgc3Rh
dGljIGF1dG8gRGVmYXVsdE5vZGVGbGFncyA9IE9wdGlvblNldDxOb2RlRmxhZz4oTm9kZUZsYWc6
OklzUGFyc2luZ0NoaWxkcmVuRmluaXNoZWQpOwogICAgIGNvbnN0ZXhwciBzdGF0aWMgYXV0byBD
cmVhdGVPdGhlciA9IERlZmF1bHROb2RlRmxhZ3M7CiAgICAgY29uc3RleHByIHN0YXRpYyBhdXRv
IENyZWF0ZUNoYXJhY3RlckRhdGEgPSBEZWZhdWx0Tm9kZUZsYWdzIHwgTm9kZUZsYWc6OklzQ2hh
cmFjdGVyRGF0YTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>