<?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>143023</bug_id>
          
          <creation_ts>2015-03-24 15:26:15 -0700</creation_ts>
          <short_desc>Transforms are flattened in snapshots of on-screen WKWebViews</short_desc>
          <delta_ts>2015-05-15 15:53:29 -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>WebKit2</component>
          <version>528+ (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>145076</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to>mitz</assigned_to>
          <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1079736</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2015-03-24 15:26:15 -0700</bug_when>
    <thetext>-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:] gives a software rendering of the view, which flattens transforms, even when the view is on-screen and the render server can capture the unflattened layers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079737</commentid>
    <comment_count>1</comment_count>
    <who name="">mitz</who>
    <bug_when>2015-03-24 15:27:59 -0700</bug_when>
    <thetext>&lt;rdar://problem/20282863&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079740</commentid>
    <comment_count>2</comment_count>
      <attachid>249358</attachid>
    <who name="">mitz</who>
    <bug_when>2015-03-24 15:39:10 -0700</bug_when>
    <thetext>Created attachment 249358
Have the render server capture a layer tree snapshot if the view is on-screen</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079743</commentid>
    <comment_count>3</comment_count>
      <attachid>249358</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-03-24 15:45:16 -0700</bug_when>
    <thetext>Comment on attachment 249358
Have the render server capture a layer tree snapshot if the view is on-screen

(Anders had some comments on IRC).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079744</commentid>
    <comment_count>4</comment_count>
      <attachid>249358</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-03-24 15:45:55 -0700</bug_when>
    <thetext>Comment on attachment 249358
Have the render server capture a layer tree snapshot if the view is on-screen

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

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:2518
&gt; +        std::unique_ptr&lt;WebCore::IOSurface&gt; surface = WebCore::IOSurface::create(WebCore::expandedIntSize(WebCore::FloatSize(imageSize)), WebCore::ColorSpaceDeviceRGB);

Please use auto here.

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:2521
&gt; +        completionHandler(surface-&gt;createImage().autorelease());

Please don&apos;t autorelease the image.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079747</commentid>
    <comment_count>5</comment_count>
    <who name="">mitz</who>
    <bug_when>2015-03-24 15:48:50 -0700</bug_when>
    <thetext>Fixed in &lt;http://trac.webkit.org/r181910&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079864</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-03-24 22:06:42 -0700</bug_when>
    <thetext>iOS EWS is still broken: https://webkit-queues.appspot.com/results/5624952967397376

In file included from /Volumes/Data/EWS/WebKit/Source/WebCore/platform/ios/LegacyTileCache.mm:38:
/Volumes/Data/EWS/WebKit/Source/WebCore/platform/spi/cocoa/QuartzCoreSPI.h:121:118: error: unknown type name &apos;IOSurfaceRef&apos;
EXTERN_C void CARenderServerRenderLayerWithTransform(mach_port_t server_port, uint32_t client_id, uint64_t layer_id, IOSurfaceRef iosurface, int32_t ox, int32_t oy, const CATransform3D *matrix);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079866</commentid>
    <comment_count>7</comment_count>
    <who name="">mitz</who>
    <bug_when>2015-03-24 22:13:51 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; iOS EWS is still broken:
&gt; https://webkit-queues.appspot.com/results/5624952967397376
&gt; 
&gt; In file included from
&gt; /Volumes/Data/EWS/WebKit/Source/WebCore/platform/ios/LegacyTileCache.mm:38:
&gt; /Volumes/Data/EWS/WebKit/Source/WebCore/platform/spi/cocoa/QuartzCoreSPI.h:
&gt; 121:118: error: unknown type name &apos;IOSurfaceRef&apos;
&gt; EXTERN_C void CARenderServerRenderLayerWithTransform(mach_port_t
&gt; server_port, uint32_t client_id, uint64_t layer_id, IOSurfaceRef iosurface,
&gt; int32_t ox, int32_t oy, const CATransform3D *matrix);

Tried to fix that in &lt;http://trac.webkit.org/r181931&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079872</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-03-24 22:29:31 -0700</bug_when>
    <thetext>That broke the Mac build (all open source ones at least).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079873</commentid>
    <comment_count>9</comment_count>
    <who name="">mitz</who>
    <bug_when>2015-03-24 22:30:07 -0700</bug_when>
    <thetext>And again in &lt;http://trac.webkit.org/r181933&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249358</attachid>
            <date>2015-03-24 15:39:10 -0700</date>
            <delta_ts>2015-03-25 09:16:29 -0700</delta_ts>
            <desc>Have the render server capture a layer tree snapshot if the view is on-screen</desc>
            <filename>bug-143023-20150324153833.patch</filename>
            <type>text/plain</type>
            <size>4753</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MTkwOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE1LTAzLTI0ICBEYW4gQmVy
bnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViQ29yZSBwYXJ0IG9mIDxyZGFy
Oi8vcHJvYmxlbS8yMDI4Mjg2Mz4gVHJhbnNmb3JtcyBhcmUgZmxhdHRlbmVkIGluIHNuYXBzaG90
cyBvZiBvbi1zY3JlZW4gV0tXZWJWaWV3cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQzMDIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY29jb2EvUXVhcnR6Q29yZVNQSS5oOiBB
ZGRlZCB0aGUgZGVjbGFyYXRpb24gb2YKKyAgICAgICAgQ0FSZW5kZXJTZXJ2ZXJSZW5kZXJMYXll
cldpdGhUcmFuc2Zvcm0uCisKIDIwMTUtMDMtMjQgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUu
Y29tPgogCiAgICAgICAgIERpc2FibGUgbGF5b3V0IGRpbWVuc2lvbnMgb3B0aW1pemF0aW9uIGZv
ciBSZW5kZXJSZWdpb25zCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2Ev
UXVhcnR6Q29yZVNQSS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Nw
aS9jb2NvYS9RdWFydHpDb3JlU1BJLmgJKHJldmlzaW9uIDE4MTg5MykKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9RdWFydHpDb3JlU1BJLmgJKHdvcmtpbmcgY29weSkKQEAg
LTExNSw2ICsxMTUsOCBAQCB0eXBlZGVmIHN0cnVjdCBDQUNvbG9yTWF0cml4IENBQ29sb3JNYXRy
CiBFWFRFUk5fQyB2b2lkIENBUmVuZGVyU2VydmVyQ2FwdHVyZUxheWVyV2l0aFRyYW5zZm9ybSht
YWNoX3BvcnRfdCBzZXJ2ZXJQb3J0LCB1aW50MzJfdCBjbGllbnRJZCwgdWludDY0X3QgbGF5ZXJJ
ZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IHNsb3RJZCwgaW50MzJfdCBveCwgaW50MzJfdCBveSwgY29uc3QgQ0FUcmFuc2Zv
cm0zRCAqKTsKIAorRVhURVJOX0Mgdm9pZCBDQVJlbmRlclNlcnZlclJlbmRlckxheWVyV2l0aFRy
YW5zZm9ybShtYWNoX3BvcnRfdCBzZXJ2ZXJfcG9ydCwgdWludDMyX3QgY2xpZW50X2lkLCB1aW50
NjRfdCBsYXllcl9pZCwgSU9TdXJmYWNlUmVmIGlvc3VyZmFjZSwgaW50MzJfdCBveCwgaW50MzJf
dCBveSwgY29uc3QgQ0FUcmFuc2Zvcm0zRCAqbWF0cml4KTsKKwogRVhURVJOX0MgTlNTdHJpbmcg
KiBjb25zdCBrQ0FUaWxlZExheWVyUmVtb3ZlSW1tZWRpYXRlbHk7CiAKIEVYVEVSTl9DIE5TU3Ry
aW5nICogY29uc3Qga0NBRmlsdGVyQ29sb3JJbnZlcnQ7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lv
biAxODE5MDkpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwxNiBAQAorMjAxNS0wMy0yNCAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29t
PgorCisgICAgICAgIFdlYktpdDIgcGFydCBvZiA8cmRhcjovL3Byb2JsZW0vMjAyODI4NjM+IFRy
YW5zZm9ybXMgYXJlIGZsYXR0ZW5lZCBpbiBzbmFwc2hvdHMgb2Ygb24tc2NyZWVuIFdLV2ViVmll
d3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MzAy
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfc25h
cHNob3RSZWN0OmludG9JbWFnZU9mV2lkdGg6Y29tcGxldGlvbkhhbmRsZXI6XSk6IElmIHRoZSB2
aWV3IGlzIGluIGEKKyAgICAgICAgd2luZG93LCB1c2UgQ0FSZW5kZXJTZXJ2ZXJSZW5kZXJMYXll
cldpdGhUcmFuc2Zvcm0gdG8gc3luY2hyb25vdXNseSBjYXB0dXJlIGEgc25hcHNob3Qgb2YKKyAg
ICAgICAgaXRzIGxheWVyIHRyZWUgaW50byBhbiBJT1N1cmZjYWUsIHRoZW4gY2FsbCB0aGUgY29t
cGxldGlvbiBoYW5kbGVyIHdpdGggYW4gaW1hZ2UgY3JlYXRlZAorICAgICAgICBmcm9tIHRoZSBJ
T1N1cmZhY2UuCisKIDIwMTUtMDMtMjQgIEJldGggRGFraW4gIDxiZGFraW5AYXBwbGUuY29tPgog
CiAgICAgICAgIEFkZCBldmVudHMgcmVsYXRlZCB0byBmb3JjZSBjbGljayBnZXN0dXJlCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQko
cmV2aXNpb24gMTgxODkzKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTc3LDYgKzc3LDcgQEAKICNpbXBvcnQgIl9X
S1dlYnNpdGVEYXRhU3RvcmVJbnRlcm5hbC5oIgogI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvSlND
b250ZXh0Lmg+CiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9KU1ZhbHVlLmg+CisjaW1wb3J0IDxX
ZWJDb3JlL0lPU3VyZmFjZS5oPgogI2ltcG9ydCA8d3RmL0hhc2hNYXAuaD4KICNpbXBvcnQgPHd0
Zi9NYXRoRXh0cmFzLmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KQEAgLTI1MDIs
NyArMjUwMywyNyBAQCAtICh2b2lkKV9zbmFwc2hvdFJlY3Q6KENHUmVjdClyZWN0SW5WaWV3CiAg
ICAgICAgIFVJR3JhcGhpY3NFbmRJbWFnZUNvbnRleHQoKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KLSAgICAKKworI2lmIFVTRShJT1NVUkZBQ0UpCisgICAgLy8gSWYgd2UgYXJlIHBhcmVudGVk
IGFuZCB0aHVzIHdvbid0IGluY3VyIGEgc2lnbmlmaWNhbnQgcGVuYWx0eSBmcm9tIHBhZ2luZyBp
biB0aWxlcywgc25hcHNob3QgdGhlIHZpZXcgaGllcmFyY2h5IGRpcmVjdGx5LgorICAgIGlmIChz
ZWxmLndpbmRvdykgeworICAgICAgICBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvciA9IF9wYWdlLT5k
ZXZpY2VTY2FsZUZhY3RvcigpOworCisgICAgICAgIENHUmVjdCBpbWFnZVJlY3RJblBvaW50czsK
KyAgICAgICAgaW1hZ2VSZWN0SW5Qb2ludHMuc2l6ZS53aWR0aCA9IGltYWdlV2lkdGggLyBkZXZp
Y2VTY2FsZUZhY3RvcjsKKyAgICAgICAgaW1hZ2VSZWN0SW5Qb2ludHMuc2l6ZS5oZWlnaHQgPSBp
bWFnZVJlY3RJblBvaW50cy5zaXplLndpZHRoIC8gcmVjdEluVmlld0Nvb3JkaW5hdGVzLnNpemUu
d2lkdGggKiByZWN0SW5WaWV3Q29vcmRpbmF0ZXMuc2l6ZS5oZWlnaHQ7CisgICAgICAgIGltYWdl
UmVjdEluUG9pbnRzLm9yaWdpbi54ID0gcmVjdEluVmlld0Nvb3JkaW5hdGVzLm9yaWdpbi54IC8g
ZGV2aWNlU2NhbGVGYWN0b3I7CisgICAgICAgIGltYWdlUmVjdEluUG9pbnRzLm9yaWdpbi55ID0g
cmVjdEluVmlld0Nvb3JkaW5hdGVzLm9yaWdpbi55IC8gZGV2aWNlU2NhbGVGYWN0b3I7CisKKyAg
ICAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OklPU3VyZmFjZT4gc3VyZmFjZSA9IFdlYkNv
cmU6OklPU3VyZmFjZTo6Y3JlYXRlKFdlYkNvcmU6OmV4cGFuZGVkSW50U2l6ZShXZWJDb3JlOjpG
bG9hdFNpemUoaW1hZ2VTaXplKSksIFdlYkNvcmU6OkNvbG9yU3BhY2VEZXZpY2VSR0IpOworICAg
ICAgICBDQVRyYW5zZm9ybTNEIHRyYW5zZm9ybSA9IENBVHJhbnNmb3JtM0RNYWtlU2NhbGUoZGV2
aWNlU2NhbGVGYWN0b3IsIGRldmljZVNjYWxlRmFjdG9yLCAxKTsKKyAgICAgICAgQ0FSZW5kZXJT
ZXJ2ZXJSZW5kZXJMYXllcldpdGhUcmFuc2Zvcm0oTUFDSF9QT1JUX05VTEwsIHNlbGYubGF5ZXIu
Y29udGV4dC5jb250ZXh0SWQsIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3Q+KHNlbGYubGF5ZXIp
LCBzdXJmYWNlLT5zdXJmYWNlKCksIDAsIDAsICZ0cmFuc2Zvcm0pOworICAgICAgICBjb21wbGV0
aW9uSGFuZGxlcihzdXJmYWNlLT5jcmVhdGVJbWFnZSgpLmF1dG9yZWxlYXNlKCkpOworCisgICAg
ICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYKKwogICAgIHZvaWQoXmNvcGllZENvbXBsZXRpb25I
YW5kbGVyKShDR0ltYWdlUmVmKSA9IFtjb21wbGV0aW9uSGFuZGxlciBjb3B5XTsKICAgICBfcGFn
ZS0+dGFrZVNuYXBzaG90KFdlYkNvcmU6OmVuY2xvc2luZ0ludFJlY3Qoc25hcHNob3RSZWN0SW5D
b250ZW50Q29vcmRpbmF0ZXMpLCBXZWJDb3JlOjpleHBhbmRlZEludFNpemUoV2ViQ29yZTo6Rmxv
YXRTaXplKGltYWdlU2l6ZSkpLCBXZWJLaXQ6OlNuYXBzaG90T3B0aW9uc0V4Y2x1ZGVEZXZpY2VT
Y2FsZUZhY3RvciwgWz1dKGNvbnN0IFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGlt
YWdlSGFuZGxlLCBXZWJLaXQ6OkNhbGxiYWNrQmFzZTo6RXJyb3IpIHsKICAgICAgICAgaWYgKGlt
YWdlSGFuZGxlLmlzTnVsbCgpKSB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>