<?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>199260</bug_id>
          
          <creation_ts>2019-06-27 00:25:29 -0700</creation_ts>
          <short_desc>Rotated composited elements with clipping descendants sometimes don&apos;t respecting original layering</short_desc>
          <delta_ts>2022-10-24 08:49:00 -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>Compositing</component>
          <version>Other</version>
          <rep_platform>All</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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>iztok.oder</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ahmad.saleem792</cc>
    
    <cc>mattwoodrow</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1548380</commentid>
    <comment_count>0</comment_count>
      <attachid>373005</attachid>
    <who name="">iztok.oder</who>
    <bug_when>2019-06-27 00:25:29 -0700</bug_when>
    <thetext>Created attachment 373005
Minimal reproduction case

Overview:
Ele
Drag-selecting any page crashes Mac builds in the NSGetFactory function.
Steps to Reproduce: Minimized, easy-to-follow steps that will trigger the bug. Include any special setup steps.

Steps to reproduce:
1) Open the attached html in chrome or safari.
2) Open inspector tools and select div with &apos;object&apos; class.
3) Change object&apos;s transform property function &apos;rotate&apos; to use various angles.
3) Observe div elements with class names &apos;element-1&apos; and &apos;element-2&apos;.

Expected results:
The layering of most inner elements should be the same regardless of the rotation angle of their parent.

Actual Results:
With some angles used in rotate function the innermost div elements are correctly layered while with others they are not.

Hardware and browsers:
Mac OS 10.13.3
Chrome Version 75.0.3770.100 (Official Build) (64-bit)
Safari Version 11.0.3 (13604.5.6)

Additional Builds and Platforms:
Safari on Iphone 7 with iOS 12.3.1
Chrome Version 75.0.3770.100 (Official Build) (64-bit) on Windows 10

Additional Information:

Experimenting with the minimal reproduction case we figured out</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1548382</commentid>
    <comment_count>1</comment_count>
    <who name="">iztok.oder</who>
    <bug_when>2019-06-27 00:33:20 -0700</bug_when>
    <thetext>Seems I accidentally submitted this too soon.

Overview:

Layering of elements within rotated parent with overflow hidden is not respected when one of the elements is sent to GPU.

Experimenting with the attached minimal reproduction case we figured out that the combination of overflow: hidden on element &apos;container&apos; class, rotated element with class &apos;object&apos; and sending one of the elements within &apos;container&apos; element produces this result. Sending all elements within &apos;container&apos; element will fix this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1548514</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-06-27 10:40:37 -0700</bug_when>
    <thetext>&lt;rdar://problem/52269393&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1548515</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2019-06-27 10:42:47 -0700</bug_when>
    <thetext>The test case shows a green square on my iPhone. Does that mean that the test passes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1548521</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-06-27 10:47:54 -0700</bug_when>
    <thetext>Please attach a test case that shows both &quot;good&quot; and &quot;bad&quot; states. I should not have to go messing in the inspector to reproduce the bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1548533</commentid>
    <comment_count>5</comment_count>
      <attachid>373037</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-06-27 11:03:27 -0700</bug_when>
    <thetext>Created attachment 373037
Better testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1548596</commentid>
    <comment_count>6</comment_count>
      <attachid>373049</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-06-27 13:29:21 -0700</bug_when>
    <thetext>Created attachment 373049
Correct testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1548597</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-06-27 13:30:34 -0700</bug_when>
    <thetext>In the bad case we&apos;re not detecting that the blue box needs compositing because overlap testing fails.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1548607</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-06-27 13:54:26 -0700</bug_when>
    <thetext>In RenderLayerCompositor::addToOverlapMap(), &apos;clipRect&apos; seems wrong, and then we intersect it with clippedBounds and get a rect that is too small.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1548613</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-06-27 14:12:48 -0700</bug_when>
    <thetext>RenderLayer::calculateClipRects() just offsets the clip rect by renderer().localToContainerPoint(FloatPoint(), &amp;clipRectsContext.rootLayer-&gt;renderer()), which is clearly wrong with rotations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1548614</commentid>
    <comment_count>10</comment_count>
      <attachid>373052</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-06-27 14:15:14 -0700</bug_when>
    <thetext>Created attachment 373052
Testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1907672</commentid>
    <comment_count>11</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2022-10-23 12:21:40 -0700</bug_when>
    <thetext>I am able to reproduce this bug in Safari 16, Safari Technology Preview 156 and it does not show &quot;blue&quot; in second &quot;green&quot; square. All other browsers (Chrome Canary 109 and Firefox Nightly 108) show both &quot;blue&quot; square within &quot;green&quot; squares. Just wanted to update results. Thanks!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>373005</attachid>
            <date>2019-06-27 00:25:29 -0700</date>
            <delta_ts>2019-06-27 11:03:27 -0700</delta_ts>
            <desc>Minimal reproduction case</desc>
            <filename>transform-in-rotated-object-bug.html</filename>
            <type>text/html</type>
            <size>836</size>
            <attacher>iztok.oder</attacher>
            
              <data encoding="base64">CjxoZWFkPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgogICAgLm9iamVjdCB7CiAgICAgICAgd2lk
dGg6IDIwMHB4OwogICAgICAgIGhlaWdodDogMjAwcHg7CiAgICAgICAgdHJhbnNmb3JtOiByb3Rh
dGUoOTNkZWcpOwogICAgfQogICAgLmNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0
aXZlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBv
dmVyZmxvdzogaGlkZGVuOwogICAgfQoKICAgIC5lbGVtZW50LTEgewogICAgICAgIHBvc2l0aW9u
OiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDUwcHg7CiAgICAgICAgbGVmdDogNTBweDsKICAgICAg
ICB3aWR0aDogNTBweDsKICAgICAgICBoZWlnaHQ6IDUwcHg7CiAgICAgICAgYmFja2dyb3VuZC1j
b2xvcjogcmVkOwogICAgICAgIHotaW5kZXg6IDE7CiAgICB9CgogICAgLmVsZW1lbnQtMiB7CiAg
ICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogLTVweDsKICAgICAgICBsZWZ0
OiAtNXB4OwogICAgICAgIHdpZHRoOiAyMTBweDsKICAgICAgICBoZWlnaHQ6IDIxMHB4OwogICAg
ICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRl
WigwKTsKICAgICAgICB6LWluZGV4OiAwOwogICAgfQoKPC9zdHlsZT4KPC9oZWFkPgo8Ym9keT4K
CjxkaXYgY2xhc3M9Im9iamVjdCI+CiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAg
IDxkaXYgY2xhc3M9ImVsZW1lbnQtMSI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZWxlbWVu
dC0yIj48L2Rpdj4KICAgIDwvZGl2Pgo8L2Rpdj4KCjwvYm9keT4=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>373037</attachid>
            <date>2019-06-27 11:03:27 -0700</date>
            <delta_ts>2019-06-27 13:29:21 -0700</delta_ts>
            <desc>Better testcase</desc>
            <filename>rotation-and-clipping.html</filename>
            <type>text/html</type>
            <size>1349</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KICAgIDx0aXRsZT5odHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5MjYwPC90aXRsZT4KICAgIDxzdHlsZT4KICAgICAg
ICAub2JqZWN0IHsKICAgICAgICAgICAgbWFyZ2luOiAxMDBweDsKICAgICAgICAgICAgd2lkdGg6
IDIwMHB4OwogICAgICAgICAgICBoZWlnaHQ6IDIwMHB4OwogICAgICAgIH0KICAgICAgICAKICAg
ICAgICAuYmFkIHsKICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjk3ZGVnKTsKICAgICAg
ICB9CiAgICAgICAgCiAgICAgICAgLmdvb2QgewogICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0
ZSg5N2RlZyk7CiAgICAgICAgfQogICAgICAgIC5jb250YWluZXIgewogICAgICAgICAgICBwb3Np
dGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBoZWln
aHQ6IDEwMCU7CiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgfQoKICAgICAg
ICAuZWxlbWVudC0xIHsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAg
ICB0b3A6IDUwcHg7CiAgICAgICAgICAgIGxlZnQ6IDUwcHg7CiAgICAgICAgICAgIHdpZHRoOiA1
MHB4OwogICAgICAgICAgICBoZWlnaHQ6IDUwcHg7CiAgICAgICAgICAgIGJhY2tncm91bmQtY29s
b3I6IHJlZDsKICAgICAgICAgICAgei1pbmRleDogMTsKICAgICAgICB9CgogICAgICAgIC5lbGVt
ZW50LTIgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICAgIHRvcDog
LTVweDsKICAgICAgICAgICAgbGVmdDogLTVweDsKICAgICAgICAgICAgd2lkdGg6IDIxMHB4Owog
ICAgICAgICAgICBoZWlnaHQ6IDIxMHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBn
cmVlbjsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogICAgICAgICAgICB6
LWluZGV4OiAwOwogICAgICAgIH0KICAgIDwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+Cgo8aDE+QmFk
PC9oMT4KPGRpdiBjbGFzcz0ib2JqZWN0IGJhZCI+CiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIi
PgogICAgICAgIDxkaXYgY2xhc3M9ImVsZW1lbnQtMSI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFz
cz0iZWxlbWVudC0yIj48L2Rpdj4KICAgIDwvZGl2Pgo8L2Rpdj4KCjxoMT5Hb29kPC9oMT4KPGRp
diBjbGFzcz0ib2JqZWN0IGdvb2QiPgogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAg
ICA8ZGl2IGNsYXNzPSJlbGVtZW50LTEiPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImVsZW1l
bnQtMiI+PC9kaXY+CiAgICA8L2Rpdj4KPC9kaXY+CjwvYm9keT4=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>373049</attachid>
            <date>2019-06-27 13:29:21 -0700</date>
            <delta_ts>2019-06-27 14:15:14 -0700</delta_ts>
            <desc>Correct testcase</desc>
            <filename>rotation-and-clipping.html</filename>
            <type>text/html</type>
            <size>1373</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KICAgIDx0aXRsZT5odHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5MjYwPC90aXRsZT4KICAgIDxzdHlsZT4KICAgICAg
ICAub2JqZWN0IHsKICAgICAgICAgICAgbWFyZ2luOiAxMDBweDsKICAgICAgICAgICAgd2lkdGg6
IDIwMHB4OwogICAgICAgICAgICBoZWlnaHQ6IDIwMHB4OwogICAgICAgIH0KICAgICAgICAKICAg
ICAgICAuYmFkIHsKICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjk3ZGVnKTsKICAgICAg
ICB9CiAgICAgICAgCiAgICAgICAgLmdvb2QgewogICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0
ZSg5N2RlZyk7CiAgICAgICAgfQogICAgICAgIC5jb250YWluZXIgewogICAgICAgICAgICBwb3Np
dGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBoZWln
aHQ6IDEwMCU7CiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgfQoKICAgICAg
ICAuZWxlbWVudC0xIHsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAg
ICB0b3A6IDUwcHg7CiAgICAgICAgICAgIGxlZnQ6IDUwcHg7CiAgICAgICAgICAgIHdpZHRoOiA1
MHB4OwogICAgICAgICAgICBoZWlnaHQ6IDUwcHg7CiAgICAgICAgICAgIGJhY2tncm91bmQtY29s
b3I6IGJsdWU7CiAgICAgICAgICAgIHotaW5kZXg6IDE7CiAgICAgICAgfQoKICAgICAgICAuZWxl
bWVudC0yIHsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICB0b3A6
IC01cHg7CiAgICAgICAgICAgIGxlZnQ6IC01cHg7CiAgICAgICAgICAgIHdpZHRoOiAyMTBweDsK
ICAgICAgICAgICAgaGVpZ2h0OiAyMTBweDsKICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjog
Z3JlZW47CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICAgICAgICAgICAg
ei1pbmRleDogMDsKICAgICAgICB9CiAgICA8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoKPHA+VGhl
cmUgc2hvdWxkIGJlIGEgYmx1ZSBib3ggaW4gZWFjaCByZWQgYm94PC9wPgo8ZGl2IGNsYXNzPSJv
YmplY3QgYmFkIj4KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFz
cz0iZWxlbWVudC0xIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJlbGVtZW50LTIiPjwvZGl2
PgogICAgPC9kaXY+CjwvZGl2PgoKPGRpdiBjbGFzcz0ib2JqZWN0IGdvb2QiPgogICAgPGRpdiBj
bGFzcz0iY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJlbGVtZW50LTEiPjwvZGl2Pgog
ICAgICAgIDxkaXYgY2xhc3M9ImVsZW1lbnQtMiI+PC9kaXY+CiAgICA8L2Rpdj4KPC9kaXY+Cjwv
Ym9keT4=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>373052</attachid>
            <date>2019-06-27 14:15:14 -0700</date>
            <delta_ts>2019-06-27 14:15:14 -0700</delta_ts>
            <desc>Testcase</desc>
            <filename>rotation-and-clipping.html</filename>
            <type>text/html</type>
            <size>1346</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KICAgIDx0aXRsZT5odHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5MjYwPC90aXRsZT4KICAgIDxzdHlsZT4KICAgICAg
ICAub2JqZWN0IHsKICAgICAgICAgICAgbWFyZ2luOiAxMDBweDsKICAgICAgICAgICAgd2lkdGg6
IDIwMHB4OwogICAgICAgICAgICBoZWlnaHQ6IDIwMHB4OwogICAgICAgIH0KICAgICAgICAKICAg
ICAgICAuYmFkIHsKICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTdkZWcpOwogICAgICAg
IH0KICAgICAgICAKICAgICAgICAuZ29vZCB7CiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRl
KDI5N2RlZyk7CiAgICAgICAgfQogICAgICAgIC5jb250YWluZXIgewogICAgICAgICAgICBwb3Np
dGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBoZWln
aHQ6IDEwMCU7CiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgfQoKICAgICAg
ICAuZnJvbnQgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICAgIHRv
cDogNTBweDsKICAgICAgICAgICAgbGVmdDogNTBweDsKICAgICAgICAgICAgd2lkdGg6IDUwcHg7
CiAgICAgICAgICAgIGhlaWdodDogNTBweDsKICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjog
Ymx1ZTsKICAgICAgICAgICAgei1pbmRleDogMTsKICAgICAgICB9CgogICAgICAgIC5iYWNrIHsK
ICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICB0b3A6IC01cHg7CiAg
ICAgICAgICAgIGxlZnQ6IC01cHg7CiAgICAgICAgICAgIHdpZHRoOiAyMTBweDsKICAgICAgICAg
ICAgaGVpZ2h0OiAyMTBweDsKICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CiAg
ICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICAgICAgICAgICAgei1pbmRleDog
MDsKICAgICAgICB9CiAgICA8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoKPHA+VGhlcmUgc2hvdWxk
IGJlIGEgYmx1ZSBib3ggaW4gZWFjaCByZWQgYm94PC9wPgo8ZGl2IGNsYXNzPSJvYmplY3QgZ29v
ZCI+CiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImZyb250
Ij48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJiYWNrIj48L2Rpdj4KICAgIDwvZGl2Pgo8L2Rp
dj4KCjxkaXYgY2xhc3M9Im9iamVjdCBiYWQiPgogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4K
ICAgICAgICA8ZGl2IGNsYXNzPSJmcm9udCI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYmFj
ayI+PC9kaXY+CiAgICA8L2Rpdj4KPC9kaXY+CjwvYm9keT4=
</data>

          </attachment>
      

    </bug>

</bugzilla>