<?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>144644</bug_id>
          
          <creation_ts>2015-05-05 16:07:06 -0700</creation_ts>
          <short_desc>[iOS] Scroll snap points trigger reentrant layout</short_desc>
          <delta_ts>2015-05-05 16:36:58 -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>528+ (Nightly build)</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>All</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="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jamesr</cc>
    
    <cc>luiz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1091930</commentid>
    <comment_count>0</comment_count>
      <attachid>252417</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-05-05 16:07:06 -0700</bug_when>
    <thetext>Created attachment 252417
Simple test case that crashes on Debug iOS builds

The attached test case triggers a crash in the WebProcess in debug builds, because it is attempting to trigger layout while in the middle of performing the initial layout.

This bad behavior was caused by the improper use of &apos;offsetLeft&apos; and &apos;offsetTop&apos; in the iOS code path for handling scroll snap-points. Instead, it should have just used the same code path as OS X. Apparently, the original author of that code had the misapprehension that the RenderBox::localToContainerPoint method did not work properly under iOS, which is certainly not true (at least today).

The fix here is to delete the bad iOS-only code path and use the standard drawing code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091931</commentid>
    <comment_count>1</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-05-05 16:07:33 -0700</bug_when>
    <thetext>&lt;rdar://problem/20366547&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091934</commentid>
    <comment_count>2</comment_count>
      <attachid>252418</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-05-05 16:10:39 -0700</bug_when>
    <thetext>Created attachment 252418
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091946</commentid>
    <comment_count>3</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-05-05 16:36:58 -0700</bug_when>
    <thetext>Committed r183840: &lt;http://trac.webkit.org/changeset/183840&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>252417</attachid>
            <date>2015-05-05 16:07:06 -0700</date>
            <delta_ts>2015-05-05 16:07:06 -0700</delta_ts>
            <desc>Simple test case that crashes on Debug iOS builds</desc>
            <filename>scroll-snap-mandatory.html</filename>
            <type>text/html</type>
            <size>2555</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgogICAgPGhlYWQ+CiAgICAgICAgPHN0eWxlPgogICAgICAg
ICAgICAuaG9yaXpvbnRhbEdhbGxlcnkgewogICAgICAgICAgICAgICAgd2lkdGg6IDMwMHB4Owog
ICAgICAgICAgICAgICAgaGVpZ2h0OiAzMDBweDsKICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6
IGhpZGRlbjsKICAgICAgICAgICAgICAgIG92ZXJmbG93LXg6IGF1dG87CiAgICAgICAgICAgICAg
ICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7CiAgICAgICAgICAgICAgICAtd2Vi
a2l0LXNjcm9sbC1zbmFwLXBvaW50cy14OiByZXBlYXQoMTAwJSk7CiAgICAgICAgICAgICAgICAt
d2Via2l0LXNjcm9sbC1zbmFwLXR5cGU6IG1hbmRhdG9yeTsKICAgICAgICAgICAgfQogICAgICAg
ICAgICAuaG9yaXpvbnRhbEdhbGxlcnlEcmF3ZXIgewogICAgICAgICAgICAgICAgd2lkdGg6IDE4
MDBweDsKICAgICAgICAgICAgICAgIGhlaWdodDogMzAwcHg7CiAgICAgICAgICAgIH0KICAgICAg
ICAgICAgLnZlcnRpY2FsR2FsbGVyeSB7CiAgICAgICAgICAgICAgICB3aWR0aDogMzAwcHg7CiAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDMwMHB4OwogICAgICAgICAgICAgICAgZGlzcGxheTogaW5s
aW5lLWJsb2NrOwogICAgICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICAgICAg
ICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICAgICAgICAgIC13ZWJraXQtb3ZlcmZsb3ct
c2Nyb2xsaW5nOiB0b3VjaDsKICAgICAgICAgICAgICAgIC13ZWJraXQtc2Nyb2xsLXNuYXAtcG9p
bnRzLXk6IHJlcGVhdCgxMDAlKTsKICAgICAgICAgICAgICAgIC13ZWJraXQtc2Nyb2xsLXNuYXAt
dHlwZTogbWFuZGF0b3J5OwogICAgICAgICAgICB9CiAgICAgICAgICAgIC52ZXJ0aWNhbEdhbGxl
cnlEcmF3ZXIgewogICAgICAgICAgICAgICAgd2lkdGg6IDMwMHB4OwogICAgICAgICAgICAgICAg
aGVpZ2h0OiAxODAwcHg7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLmNvbG9yQm94IHsKICAg
ICAgICAgICAgICAgIGhlaWdodDogMzAwcHg7CiAgICAgICAgICAgICAgICB3aWR0aDogMzAwcHg7
CiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDsKICAgICAgICAgICAgfQogICAgICAgICAgICAj
aXRlbTAgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7IH0KICAgICAgICAgICAgI2l0ZW0xIHsgYmFj
a2dyb3VuZC1jb2xvcjogZ3JlZW47IH0KICAgICAgICAgICAgI2l0ZW0yIHsgYmFja2dyb3VuZC1j
b2xvcjogYmx1ZTsgfQogICAgICAgICAgICAjaXRlbTMgeyBiYWNrZ3JvdW5kLWNvbG9yOiBhcXVh
OyB9CiAgICAgICAgICAgICNpdGVtNCB7IGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsgfQogICAg
ICAgICAgICAjaXRlbTUgeyBiYWNrZ3JvdW5kLWNvbG9yOiBmdWNoc2lhOyB9CiAgICAgICAgPC9z
dHlsZT4KICAgIDwvaGVhZD4KICAgIDxib2R5PgogICAgICAgIDxkaXYgc3R5bGU9InBvc2l0aW9u
OiByZWxhdGl2ZTsgaGVpZ2h0OiAzMDBweDsgd2lkdGg6IDMwMHB4Ij4KICAgICAgICAgICAgPGRp
diBjbGFzcz0iaG9yaXpvbnRhbEdhbGxlcnkiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0i
aG9yaXpvbnRhbEdhbGxlcnlEcmF3ZXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9Iml0
ZW0wIiBjbGFzcz0iY29sb3JCb3giPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9
Iml0ZW0xIiBjbGFzcz0iY29sb3JCb3giPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYg
aWQ9Iml0ZW0yIiBjbGFzcz0iY29sb3JCb3giPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxk
aXYgaWQ9Iml0ZW0zIiBjbGFzcz0iY29sb3JCb3giPjwvZGl2PgogICAgICAgICAgICAgICAgICAg
IDxkaXYgaWQ9Iml0ZW00IiBjbGFzcz0iY29sb3JCb3giPjwvZGl2PgogICAgICAgICAgICAgICAg
ICAgIDxkaXYgaWQ9Iml0ZW01IiBjbGFzcz0iY29sb3JCb3giPjwvZGl2PgogICAgICAgICAgICAg
ICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ2ZXJ0
aWNhbEdhbGxlcnkiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idmVydGljYWxHYWxsZXJ5
RHJhd2VyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJpdGVtMCIgY2xhc3M9ImNvbG9y
Qm94Ij48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJpdGVtMSIgY2xhc3M9ImNv
bG9yQm94Ij48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJpdGVtMiIgY2xhc3M9
ImNvbG9yQm94Ij48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJpdGVtMyIgY2xh
c3M9ImNvbG9yQm94Ij48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJpdGVtNCIg
Y2xhc3M9ImNvbG9yQm94Ij48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJpdGVt
NSIgY2xhc3M9ImNvbG9yQm94Ij48L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAg
ICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252418</attachid>
            <date>2015-05-05 16:10:39 -0700</date>
            <delta_ts>2015-05-05 16:12:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144644-20150505160923.patch</filename>
            <type>text/plain</type>
            <size>2544</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MzgzNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE1LTA1LTA1ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIGlPU10gU2Nyb2xsIHNuYXAg
cG9pbnRzIHRyaWdnZXIgcmVlbnRyYW50IGxheW91dAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0NjQ0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8y
MDM2NjU0Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBDb3ZlcmVkIGJ5IHNjcm9sbC1zbmFwLW1hbmRhdG9yeS5odG1sIHRlc3QuCisKKyAgICAgICAg
V2UgaGFkIGFuIGlPUyBjb2RlIHBhdGggaW4gJ2FwcGVuZENoaWxkU25hcE9mZnNldHMnIHRoYXQg
dXNlZCBvZmZzZXRMZWZ0IGFuZCBvZmZzZXRUb3AuIFRoaXMgY29kZQorICAgICAgICB3YXMgc29t
ZXRpbWVzIGNhbGxlZCBkdXJpbmcgbGF5b3V0LCB3aGljaCB0cmlnZ2VyZWQgYSByZWVudHJhbnQg
bGF5b3V0IGNhbGwsIHJlc3VsdGluZyBpbiBhIGRlYnVnCisgICAgICAgIGFzc2VydGlvbi4KKwor
ICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL0F4aXNTY3JvbGxTbmFwT2Zmc2V0cy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjphcHBlbmRDaGlsZFNuYXBPZmZzZXRzKTogUmVtb3ZlIGlPUyBjb2RlcGF0
aC4KKwogMjAxNS0wNS0wNSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIE5hdmlnYXRpbmcgdG8gd3d3LmFwcGxlLmNvbSBoaXRzIGFzc2VydGlvbiBpbiBXZWJDb3Jl
OjpUZXh0SXRlcmF0b3JDb3B5YWJsZVRleHQ6OnNldCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9BeGlzU2Nyb2xsU25hcE9mZnNldHMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0F4aXNTY3JvbGxTbmFwT2Zmc2V0cy5jcHAJKHJl
dmlzaW9uIDE4MzgyNCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0F4aXNTY3Jv
bGxTbmFwT2Zmc2V0cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDE3ICs0NSw5IEBAIHN0YXRp
YyB2b2lkIGFwcGVuZENoaWxkU25hcE9mZnNldHMoSFRNTEUKICAgICAgICAgaWYgKFJlbmRlckJv
eCogYm94ID0gY2hpbGQucmVuZGVyQm94KCkpIHsKICAgICAgICAgICAgIExheW91dFVuaXQgdmll
d1dpZHRoID0gYm94LT53aWR0aCgpOwogICAgICAgICAgICAgTGF5b3V0VW5pdCB2aWV3SGVpZ2h0
ID0gYm94LT5oZWlnaHQoKTsKLSNpZiBQTEFURk9STShJT1MpCi0gICAgICAgICAgICAvLyBGSVhN
RTogRGFuZ2Vyb3VzIHRvIGNhbGwgb2Zmc2V0TGVmdCBhbmQgb2Zmc2V0VG9wIGJlY2F1c2UgdGhl
eSBjYWxsIHVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cywgd2hpY2ggY2FuIGlu
dmFsaWRhdGUgdGhlIFJlbmRlckJveCBwb2ludGVyIHdlIGFyZSBob2xkaW5nLgotICAgICAgICAg
ICAgLy8gRklYTUU6IEludmVzdGlnYXRlIHdoeSB1c2luZyBsb2NhbFRvQ29udGFpbmVyUG9pbnQg
Z2l2ZXMgdGhlIHdyb25nIG9mZnNldHMgZm9yIGlPUyBtYWluIGZyYW1lLiBBbHNvLCB0aGVzZSBv
ZmZzZXRzIHdvbid0IHRha2UgdHJhbnNmb3JtcyBpbnRvIGFjY291bnQgKG1ha2Ugc3VyZSB0byB0
ZXN0IHRoaXMhKS4KLSAgICAgICAgICAgIGZsb2F0IGxlZnQgPSBjaGlsZC5vZmZzZXRMZWZ0KCk7
Ci0gICAgICAgICAgICBmbG9hdCB0b3AgPSBjaGlsZC5vZmZzZXRUb3AoKTsKLSNlbHNlCi0gICAg
ICAgICAgICAvLyBGSVhNRTogQ2hlY2sgdGhhdCBsb2NhbFRvQ29udGFpbmVyUG9pbnQgd29ya3Mg
d2l0aCBDU1Mgcm90YXRpb25zLgogICAgICAgICAgICAgRmxvYXRQb2ludCBwb3NpdGlvbiA9IGJv
eC0+bG9jYWxUb0NvbnRhaW5lclBvaW50KEZsb2F0UG9pbnQoKSwgcGFyZW50LnJlbmRlckJveCgp
KTsKICAgICAgICAgICAgIGZsb2F0IGxlZnQgPSBwb3NpdGlvbi54KCk7CiAgICAgICAgICAgICBm
bG9hdCB0b3AgPSBwb3NpdGlvbi55KCk7Ci0jZW5kaWYKICAgICAgICAgICAgIGZvciAoYXV0byYg
Y29vcmRpbmF0ZSA6IGJveC0+c3R5bGUoKS5zY3JvbGxTbmFwQ29vcmRpbmF0ZXMoKSkgewogICAg
ICAgICAgICAgICAgIExheW91dFVuaXQgbGFzdFBvdGVudGlhbFNuYXBQb3NpdGlvblggPSBMYXlv
dXRVbml0KGxlZnQpICsgdmFsdWVGb3JMZW5ndGgoY29vcmRpbmF0ZS53aWR0aCgpLCB2aWV3V2lk
dGgpOwogICAgICAgICAgICAgICAgIGlmIChzaG91bGRBZGRIb3Jpem9udGFsQ2hpbGRPZmZzZXRz
ICYmIGxhc3RQb3RlbnRpYWxTbmFwUG9zaXRpb25YID4gMCkK
</data>
<flag name="review"
          id="277270"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>