<?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>126336</bug_id>
          
          <creation_ts>2013-12-31 05:32:56 -0800</creation_ts>
          <short_desc>[fragmentation] Transforms shouldn&apos;t affect layout</short_desc>
          <delta_ts>2014-04-04 00:28:27 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>126357</dependson>
          <blocked>113050</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Schulze">krit</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abucur</cc>
    
    <cc>achicu</cc>
    
    <cc>bjonesbe</cc>
    
    <cc>hyatt</cc>
    
    <cc>mibalan</cc>
    
    <cc>mihnea</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>WebkitBugTracker</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>963501</commentid>
    <comment_count>0</comment_count>
      <attachid>220155</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2013-12-31 05:32:56 -0800</bug_when>
    <thetext>Created attachment 220155
Continues painting - hover over content.

The title doesn&apos;t really describe the actual problem correctly. If you have an element that is fragmented, it is split into different border boxes. If you apply a transform on the fragmented element, it should appear as if each fragment was transformed individually by its own border box (transform-origin is affected as well of course).

For certain transforms, like rotation, more content can be visible up to the break. WebKit continues painting up to this break. This is incorrect. It seems as if the break is implemented as clipping rect and this clipping rect is not transformed as well. This leads to these weird effects that can be seen in the example.

There is a second weird thing happening. I assume it is related to the described problem. If there is a translate or scale, the content can leave the region or current column of multi-column layout. Right now this content is clipped to the boundaries of the column/region. Since transforms do not effect layout, this should not happen.

The attached example demonstrates both problems on multi-column. The same happens for regions as well of course. My assumption is that we should just transform the clipping region that is responsible for the breaking as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>963541</commentid>
    <comment_count>1</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-12-31 12:32:32 -0800</bug_when>
    <thetext>&gt;  it should appear as if each fragment was transformed individually by its own border box

Is that actually speced anywhere? I remember talking about it at Tucson, but don&apos;t know if we resolved or if Hyatt agrees with the resolution.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>963542</commentid>
    <comment_count>2</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2013-12-31 12:43:55 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; &gt;  it should appear as if each fragment was transformed individually by its own border box
&gt; 
&gt; Is that actually speced anywhere? I remember talking about it at Tucson, but don&apos;t know if we resolved or if Hyatt agrees with the resolution.

Yes, it is specified now: http://dev.w3.org/csswg/css-break/#transforms

I do not know when it was discussed and if there was an outcome other then the spec test. Open the example in Firefox, it looks much better and fulfills the expectation of authors IMO.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>963593</commentid>
    <comment_count>3</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2014-01-01 00:57:46 -0800</bug_when>
    <thetext>(In reply to comment #2)

The current behavior also has the problem that on certain transforms the content of a different fragment gets visible.

See the image http://blogs.adobe.com/webplatform/files/2013/02/pic3.png as example. With rotating Region A a bit, Line 5 can get visible.

I do not think that this is desirable at all. Otherwise, we wouldn&apos;t even need to introduce a break spacing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997491</commentid>
    <comment_count>4</comment_count>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2014-04-04 00:26:47 -0700</bug_when>
    <thetext>For regions we&apos;ve got most of the core fragments painting functionality done. Relative positioning works well, the next step is to handle transforms properly.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>220155</attachid>
            <date>2013-12-31 05:32:56 -0800</date>
            <delta_ts>2013-12-31 05:32:56 -0800</delta_ts>
            <desc>Continues painting - hover over content.</desc>
            <filename>multi-bug-1.html</filename>
            <type>text/html</type>
            <size>655</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">PGRpdiBpZD0iY29sdW1uIj4KICAgIDxkaXYgY2xhc3M9ImNoaWxkIj5BIEEgQSBBIEEgQSBBIEEg
QSBBIEEgQSBBIEEgQSBBIEEgQSBBIEEgQSBBIEEgQSBCIEIgQiBCIEIgQiBCIEIgQiBCIEIgQiBC
IEIgQiBCIEIgQiBCIEIgQiBCIEIgQiBCIEIgQiBCIEIgQiBDIEMgQyBDIEMgQyBYIFggWCBYIFgg
WCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWDwvZGl2Pgo8L2Rpdj4K
PHN0eWxlPgojY29sdW1uIHsKICAgIC1tb3otY29sdW1uLXdpZHRoOiAxMDBweDsKICAgIC13ZWJr
aXQtY29sdW1uLXdpZHRoOiAxMDBweDsKICAgIGNvbHVtbi13aWR0aDogMTAwcHg7CiAgICB3aWR0
aDogNTYycHg7Cn0KLmNoaWxkIHsKICAgIGJvcmRlcjogMTBweCBzb2xpZCBsaWdodGdyZWVuOwog
ICAgYmFja2dyb3VuZC1jb2xvcjogY3lhbjsKICAgIG1hcmdpbjogMTBweDsKICAgIGhlaWdodDog
MjAwcHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7CiAgICAtd2Via2l0LXRyYW5zZm9y
bTogcm90YXRlKDE1ZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTsKfQoKLmNoaWxk
OmhvdmVyIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogICAgLXdlYmtpdC10cmFuc2Zv
cm06IHJvdGF0ZSgwZGVnKTsKfQo8L3N0eWxlPg==
</data>

          </attachment>
      

    </bug>

</bugzilla>