<?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>154770</bug_id>
          
          <creation_ts>2016-02-26 19:30:20 -0800</creation_ts>
          <short_desc>Focusing a shadow host places the slot content after the shadow DOM content</short_desc>
          <delta_ts>2016-05-09 10:48:06 -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>Layout and Rendering</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>
          
          <blocked>148695</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <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>1168787</commentid>
    <comment_count>0</comment_count>
      <attachid>272392</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-02-26 19:30:20 -0800</bug_when>
    <thetext>Created attachment 272392
Test case

When a shadow host&apos;s focus state changes and outline is drawn,
slots&apos; assigned contents show up at the bottom of the shadow DOM.

See the attached test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1168810</commentid>
    <comment_count>1</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-02-26 21:16:08 -0800</bug_when>
    <thetext>Antti, is RenderTreePosition&apos;s next sibling supposed to refer to a render node after a slot when we&apos;re at a node assigned to the slot?

There appears to be a serious inconsistency in the way TreeResolver and RenderTreePosition traverse the composed tree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1168811</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-02-26 21:16:33 -0800</bug_when>
    <thetext>&lt;rdar://problem/24873102&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1168814</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-02-26 21:20:56 -0800</bug_when>
    <thetext>More specifically, when TreeResolver::createRenderer is called on an assigned element, renderTreePosition&apos;s m_nextSibling is null so we end up inserting to the end of the shadow root.

Either RenderTreePosition&apos;s nextSiblingRenderer or ComposedTreeIterator ought to find the render object after the slot to which the element is assigned.  This could be recursive because the slot (A) can then be assigned to another slot (B) when (A)&apos;s parent has a shadow root that contains (B).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1190870</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-05-06 19:24:34 -0700</bug_when>
    <thetext>It looks like this is fixed now :D  We just need to land a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191206</commentid>
    <comment_count>5</comment_count>
      <attachid>278408</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-05-09 10:32:06 -0700</bug_when>
    <thetext>Created attachment 278408
Add a test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191213</commentid>
    <comment_count>6</comment_count>
      <attachid>278408</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-05-09 10:48:01 -0700</bug_when>
    <thetext>Comment on attachment 278408
Add a test

Clearing flags on attachment: 278408

Committed r200581: &lt;http://trac.webkit.org/changeset/200581&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191214</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-05-09 10:48:06 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>272392</attachid>
            <date>2016-02-26 19:30:20 -0800</date>
            <delta_ts>2016-05-09 10:32:06 -0700</delta_ts>
            <desc>Test case</desc>
            <filename>update-shadow-outline.html</filename>
            <type>text/html</type>
            <size>1126</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8Ym9keT4KPHN0eWxlPgoKI2NvbnRhaW5lciB7CiAgICBw
b3NpdGlvbjogcmVsYXRpdmU7Cn0KCiNob3N0IHsKICAgIHdpZHRoOiA5MHB4OwogICAgaGVpZ2h0
OiA5MHB4OwogICAgYm9yZGVyOiBzb2xpZCA1cHggcmVkOwogICAgb3V0bGluZTogbm9uZTsKfQoK
I2hvc3Q6bm90KDpmb2N1cyk6OmFmdGVyIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxl
ZnQ6IDVweDsKICAgIGJvdHRvbTogNXB4OwogICAgd2lkdGg6IDkwcHg7CiAgICBoZWlnaHQ6IDQ1
cHg7CiAgICBjb250ZW50OiAnRkFJTCAtIG5vdCBmb2N1c2VkJzsKfQoKI2hvc3Q6Zm9jdXMgewog
ICAgb3V0bGluZTogc29saWQgNXB4IGdyZWVuOwogICAgb3V0bGluZS1vZmZzZXQ6IC01cHg7Cn0K
CiNob3N0IGRpdiB7CiAgICBiYWNrZ3JvdW5kOiByZWQ7CiAgICB3aWR0aDogOTBweDsKICAgIGhl
aWdodDogNDVweDsKfQoKI292ZXJsYXkgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9w
OiAwOwogICAgbGVmdDogMDsKICAgIGJhY2tncm91bmQ6IGdyZWVuOwogICAgZGlzcGxheTogYmxv
Y2s7CiAgICB3aWR0aDogOTBweDsKICAgIGhlaWdodDogNDVweDsKfQoKPC9zdHlsZT4KPHA+VGVz
dCBwYXNzZXMgaWYgeW91IHNlZSBhIHNpbmdsZSAxMDBweCBieSAxMDBweCBncmVlbiBib3ggYmVs
b3cuPC9wPgo8ZGl2IGlkPSJjb250YWluZXIiPgo8ZGl2IGlkPSJob3N0IiB0YWJpbmRleD0wPjxk
aXY+RkFJTCAtIG1pc3BsYWNlZDwvZGl2PjwvZGl2Pgo8ZGl2IGlkPSJvdmVybGF5Ij48L2Rpdj4K
PC9kaXY+CjxzY3JpcHQ+Cgp2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdob3N0
Jyk7CnZhciBzaGFkb3cgPSBob3N0LmF0dGFjaFNoYWRvdyh7bW9kZTogJ2Nsb3NlZCd9KTsKc2hh
ZG93LmlubmVySFRNTCA9IGAKICAgIDxzdHlsZT4KICAgICAgICBkaXYgeyBiYWNrZ3JvdW5kOiBn
cmVlbjsgd2lkdGg6IDkwcHg7IGhlaWdodDogNDVweDsgfQogICAgPC9zdHlsZT4KICAgIDxzbG90
Pjwvc2xvdD4KICAgIDxkaXY+PC9kaXY+CmA7Cgpob3N0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgp
Owpob3N0LmZvY3VzKCk7Cgo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278408</attachid>
            <date>2016-05-09 10:32:06 -0700</date>
            <delta_ts>2016-05-09 10:48:01 -0700</delta_ts>
            <desc>Add a test</desc>
            <filename>fix154770.patch</filename>
            <type>text/plain</type>
            <size>2829</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDIwMDU3OCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE2LTA1LTA5ICBSeW9zdWtlIE5pd2EgIDxy
bml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEZvY3VzaW5nIGEgc2hhZG93IGhvc3QgcGxhY2Vz
IHRoZSBzbG90IGNvbnRlbnQgYWZ0ZXIgdGhlIHNoYWRvdyBET00gY29udGVudAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0NzcwCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8yNDg3MzEwMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgYSByZWdyZXNzaW9uIHRlc3Qgbm93IHRoYXQgdGhlIGJ1ZyBo
YXMgYmVlbiBmaXhlZC4KKworICAgICAgICAqIGZhc3Qvc2hhZG93LWRvbS9zaGFkb3ctbGF5b3V0
LWFmdGVyLWZvY3VzLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvc2hhZG93
LWRvbS9zaGFkb3ctbGF5b3V0LWFmdGVyLWZvY3VzLmh0bWw6IEFkZGVkLgorCiAyMDE2LTA1LTA5
ICBNYW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtj
c3MtZ3JpZF0gRml4IHN0YXRpYyBwb3NpdGlvbiBmb3IgcG9zaXRpb25lZCBncmlkIGl0ZW1zCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NoYWRvdy1kb20vc2hhZG93LWxheW91dC1hZnRlci1mb2N1
cy1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc2hhZG93LWRv
bS9zaGFkb3ctbGF5b3V0LWFmdGVyLWZvY3VzLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9mYXN0L3NoYWRvdy1kb20vc2hhZG93LWxheW91dC1hZnRlci1mb2N1cy1l
eHBlY3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNyBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxib2R5PgorICAgIDxwPlRlc3QgcGFzc2VzIGlmIHlvdSBzZWUgYSBzaW5n
bGUgMTAwcHggYnkgMTAwcHggZ3JlZW4gYm94IGJlbG93LjwvcD4KKyAgICA8ZGl2IHN0eWxlPSJ3
aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IGJhY2tncm91bmQ6IGdyZWVuOyI+PC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NoYWRvdy1kb20vc2hhZG93
LWxheW91dC1hZnRlci1mb2N1cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
c2hhZG93LWRvbS9zaGFkb3ctbGF5b3V0LWFmdGVyLWZvY3VzLmh0bWwJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9mYXN0L3NoYWRvdy1kb20vc2hhZG93LWxheW91dC1hZnRlci1mb2N1cy5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8Ym9keT4KKzxzdHlsZT4KKworI2NvbnRhaW5lciB7CisgICAgcG9zaXRpb246IHJlbGF0
aXZlOworfQorCisjaG9zdCB7CisgICAgd2lkdGg6IDkwcHg7CisgICAgaGVpZ2h0OiA5MHB4Owor
ICAgIGJvcmRlcjogc29saWQgNXB4IHJlZDsKKyAgICBvdXRsaW5lOiBub25lOworfQorCisjaG9z
dDpub3QoOmZvY3VzKTo6YWZ0ZXIgeworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICBsZWZ0
OiA1cHg7CisgICAgYm90dG9tOiA1cHg7CisgICAgd2lkdGg6IDkwcHg7CisgICAgaGVpZ2h0OiA0
NXB4OworICAgIGNvbnRlbnQ6ICdGQUlMIC0gbm90IGZvY3VzZWQnOworfQorCisjaG9zdDpmb2N1
cyB7CisgICAgb3V0bGluZTogc29saWQgNXB4IGdyZWVuOworICAgIG91dGxpbmUtb2Zmc2V0OiAt
NXB4OworfQorCisjaG9zdCBkaXYgeworICAgIGJhY2tncm91bmQ6IHJlZDsKKyAgICB3aWR0aDog
OTBweDsKKyAgICBoZWlnaHQ6IDQ1cHg7Cit9CisKKyNvdmVybGF5IHsKKyAgICBwb3NpdGlvbjog
YWJzb2x1dGU7CisgICAgdG9wOiAwOworICAgIGxlZnQ6IDA7CisgICAgYmFja2dyb3VuZDogZ3Jl
ZW47CisgICAgZGlzcGxheTogYmxvY2s7CisgICAgd2lkdGg6IDEwMHB4OworICAgIGhlaWdodDog
NTBweDsKK30KKworPC9zdHlsZT4KKzxwPlRlc3QgcGFzc2VzIGlmIHlvdSBzZWUgYSBzaW5nbGUg
MTAwcHggYnkgMTAwcHggZ3JlZW4gYm94IGJlbG93LjwvcD4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+
Cis8ZGl2IGlkPSJob3N0IiB0YWJpbmRleD0wPjxkaXY+RkFJTCAtIG1pc3BsYWNlZDwvZGl2Pjwv
ZGl2PgorPGRpdiBpZD0ib3ZlcmxheSI+PC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBo
b3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QnKTsKK3ZhciBzaGFkb3cgPSBob3N0
LmF0dGFjaFNoYWRvdyh7bW9kZTogJ2Nsb3NlZCd9KTsKK3NoYWRvdy5pbm5lckhUTUwgPSBgCisg
ICAgPHN0eWxlPgorICAgICAgICBkaXYgeyBiYWNrZ3JvdW5kOiBncmVlbjsgd2lkdGg6IDkwcHg7
IGhlaWdodDogNDVweDsgfQorICAgIDwvc3R5bGU+CisgICAgPHNsb3Q+PC9zbG90PgorICAgIDxk
aXY+PC9kaXY+CitgOworCitob3N0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOworaG9zdC5mb2N1
cygpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>