<?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>141924</bug_id>
          
          <creation_ts>2015-02-23 14:04:52 -0800</creation_ts>
          <short_desc>Use accelerated drawing to generate snapshots.</short_desc>
          <delta_ts>2017-04-24 19:05: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>WebKit2</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jeremy Jones">jeremyj-wk</reporter>
          <assigned_to name="Jeremy Jones">jeremyj-wk</assigned_to>
          <cc>beidson</cc>
    
    <cc>jonlee</cc>
    
    <cc>mitz</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1071323</commentid>
    <comment_count>0</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2015-02-23 14:04:52 -0800</bug_when>
    <thetext>Use accelerated drawing to generate snapshots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071339</commentid>
    <comment_count>1</comment_count>
      <attachid>247147</attachid>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2015-02-23 14:15:23 -0800</bug_when>
    <thetext>Created attachment 247147
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071456</commentid>
    <comment_count>2</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2015-02-23 17:42:14 -0800</bug_when>
    <thetext>rdar://problem/18072471</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071461</commentid>
    <comment_count>3</comment_count>
      <attachid>247147</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-02-23 17:53:00 -0800</bug_when>
    <thetext>Comment on attachment 247147
Patch

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

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:1678
&gt; +    

No trailing whitespace.

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:1691
&gt; +    FloatPoint destination(0, 0);

No need for the 0,0. Or the temporary; this can just be an inline FloatPoint() on the next line if you want.

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:1692
&gt; +    snapshotGraphicsContext-&gt;drawImageBuffer(imageBuffer.get(), ColorSpaceDeviceRGB, destination);

We should have a plan to go further and return accelerated image buffers (in the form of IOSurfaces probably) to clients, so that we can avoid this readback. But, I bet you&apos;ve already learned that painting and then doing the readback is faster in a lot of important cases, and that&apos;s why you&apos;ve posted this patch?

Maybe we can make a parallel API (that hands back surfaces and paints acceleratedly) and have people start switching to it?

Sadly for very simple cases this will reduce performance (because the win from accelerating painting will not be enough to offset the loss of the readback), so we should probably do that sooner rather than later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071760</commentid>
    <comment_count>4</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-02-24 13:12:09 -0800</bug_when>
    <thetext>Is there a way we could restrict this snapshotting path to only when a video is presented fullscreen?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300807</commentid>
    <comment_count>5</comment_count>
      <attachid>247147</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-04-24 19:05:27 -0700</bug_when>
    <thetext>Comment on attachment 247147
Patch

This patch has been pending review since 2015 with no recent activity.
It seems unlikely that it would even still apply to trunk in its current form.

Clearing from the review queue.

Feel free to update and resubmit if the patch is still relevant.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247147</attachid>
            <date>2015-02-23 14:15:23 -0800</date>
            <delta_ts>2017-04-24 19:05:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-141924-20150223141512.patch</filename>
            <type>text/plain</type>
            <size>4039</size>
            <attacher name="Jeremy Jones">jeremyj-wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwNTA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYzk5OWE3NDI5OTFhNTZk
NDA1YmY4Y2FmMmNmYmJhYTc0ZWYzMTVhZi4uNjU5ODhmZTEyMGZmZjA4NTkxYjFiN2QzODM1N2My
NTNlNjNkZDRhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE1LTAyLTIzICBKZXJl
bXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgYWNjZWxlcmF0ZWQg
ZHJhd2luZyB0byBnZW5lcmF0ZSBzbmFwc2hvdHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDE5MjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgYW4gYWNjZWxlcmF0ZWQgSW1hZ2VCdWZmZXIgdG8g
Z2VuZXJhdGUgc25hcHNob3RzIHdoZXJlIGFjY2VsZXJhdGlvbiBpcyBhdmFpbGFibGUuCisgICAg
ICAgIFRoZSBpbWFnZSBidWZmZXIgaXMgdGhlbiBkcmF3biBpbnRvIGEgV2ViSW1hZ2UgdG8gYmUg
cmV0dXJuZWQuICAKKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6c25hcHNob3RBdFNpemUpOgorCiAyMDE1LTAyLTIz
ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVwbGFj
ZSBhbm90aGVyIHN0cmFpZ2h0LXVwIGNhc3Qgd2l0aCBhIHRvSW1wbCBjYWxsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggYjBkZTMwMzIzNDFi
MDQ5MzY3ZjhhODE3MzllNWU1MjI3ZjU0OTE1My4uZGU0NTc4OGU5ZjhiNTk3YWU3ZjE2NzZkY2Jk
M2Q2MTQxNTFhNjkxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcApAQCAtMTI4LDYgKzEyOCw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9IaXN0b3J5
Q29udHJvbGxlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSGlzdG9yeUl0ZW0uaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0hpdFRlc3RSZXN1bHQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0ltYWdlQnVmZmVy
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9KU0RPTVdpbmRvdy5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
S2V5Ym9hcmRFdmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTUlNRVR5cGVSZWdpc3RyeS5oPgpA
QCAtMTY0OSwxNSArMTY1MCwxMiBAQCBQYXNzUmVmUHRyPFdlYkltYWdlPiBXZWJQYWdlOjpzbmFw
c2hvdEF0U2l6ZShjb25zdCBJbnRSZWN0JiByZWN0LCBjb25zdCBJbnRTaXplJgogICAgIGZsb2F0
IGhvcml6b250YWxTY2FsZUZhY3RvciA9IHN0YXRpY19jYXN0PGZsb2F0PihiaXRtYXBTaXplLndp
ZHRoKCkpIC8gcmVjdC53aWR0aCgpOwogICAgIGZsb2F0IHZlcnRpY2FsU2NhbGVGYWN0b3IgPSBz
dGF0aWNfY2FzdDxmbG9hdD4oYml0bWFwU2l6ZS5oZWlnaHQoKSkgLyByZWN0LmhlaWdodCgpOwog
ICAgIGZsb2F0IHNjYWxlRmFjdG9yID0gc3RkOjptYXgoaG9yaXpvbnRhbFNjYWxlRmFjdG9yLCB2
ZXJ0aWNhbFNjYWxlRmFjdG9yKTsKLQotICAgIFJlZlB0cjxXZWJJbWFnZT4gc25hcHNob3QgPSBX
ZWJJbWFnZTo6Y3JlYXRlKGJpdG1hcFNpemUsIHNuYXBzaG90T3B0aW9uc1RvSW1hZ2VPcHRpb25z
KG9wdGlvbnMpKTsKLSAgICBpZiAoIXNuYXBzaG90LT5iaXRtYXAoKSkKLSAgICAgICAgcmV0dXJu
IG51bGxwdHI7Ci0KLSAgICBhdXRvIGdyYXBoaWNzQ29udGV4dCA9IHNuYXBzaG90LT5iaXRtYXAo
KS0+Y3JlYXRlR3JhcGhpY3NDb250ZXh0KCk7Ci0KLSAgICBDb2xvciBiYWNrZ3JvdW5kQ29sb3Ig
PSBjb3JlRnJhbWUtPnNldHRpbmdzKCkuYmFja2dyb3VuZFNob3VsZEV4dGVuZEJleW9uZFBhZ2Uo
KSA/IGZyYW1lVmlldy0+ZG9jdW1lbnRCYWNrZ3JvdW5kQ29sb3IoKSA6IGZyYW1lVmlldy0+YmFz
ZUJhY2tncm91bmRDb2xvcigpOwotICAgIGdyYXBoaWNzQ29udGV4dC0+ZmlsbFJlY3QoSW50UmVj
dChJbnRQb2ludCgpLCBiaXRtYXBTaXplKSwgYmFja2dyb3VuZENvbG9yLCBDb2xvclNwYWNlRGV2
aWNlUkdCKTsKKyAgICAKKyAgICBTZXR0aW5ncyYgc2V0dGluZ3MgPSBjb3JlUGFnZSgpLT5zZXR0
aW5ncygpOworICAgIGF1dG8gaW1hZ2VCdWZmZXIgPSBXZWJDb3JlOjpJbWFnZUJ1ZmZlcjo6Y3Jl
YXRlKGJpdG1hcFNpemUsIDEsIENvbG9yU3BhY2VEZXZpY2VSR0IsIHNldHRpbmdzLmFjY2VsZXJh
dGVkRHJhd2luZ0VuYWJsZWQoKSA/IFJlbmRlcmluZ01vZGU6OkFjY2VsZXJhdGVkIDogUmVuZGVy
aW5nTW9kZTo6VW5hY2NlbGVyYXRlZCk7CisgICAgYXV0byBncmFwaGljc0NvbnRleHQgPSBpbWFn
ZUJ1ZmZlci0+Y29udGV4dCgpOworICAgIAorICAgIGdyYXBoaWNzQ29udGV4dC0+ZmlsbFJlY3Qo
SW50UmVjdChJbnRQb2ludCgpLCBiaXRtYXBTaXplKSwgZnJhbWVWaWV3LT5iYXNlQmFja2dyb3Vu
ZENvbG9yKCksIENvbG9yU3BhY2VEZXZpY2VSR0IpOwogCiAgICAgaWYgKCEob3B0aW9ucyAmIFNu
YXBzaG90T3B0aW9uc0V4Y2x1ZGVEZXZpY2VTY2FsZUZhY3RvcikpIHsKICAgICAgICAgZG91Ymxl
IGRldmljZVNjYWxlRmFjdG9yID0gY29yZVBhZ2UoKS0+ZGV2aWNlU2NhbGVGYWN0b3IoKTsKQEAg
LTE2NzYsMTQgKzE2NzQsMjMgQEAgUGFzc1JlZlB0cjxXZWJJbWFnZT4gV2ViUGFnZTo6c25hcHNo
b3RBdFNpemUoY29uc3QgSW50UmVjdCYgcmVjdCwgY29uc3QgSW50U2l6ZSYKICAgICBpZiAob3B0
aW9ucyAmIFNuYXBzaG90T3B0aW9uc0luVmlld0Nvb3JkaW5hdGVzKQogICAgICAgICBjb29yZGlu
YXRlU3BhY2UgPSBGcmFtZVZpZXc6OlZpZXdDb29yZGluYXRlczsKIAotICAgIGZyYW1lVmlldy0+
cGFpbnRDb250ZW50c0ZvclNuYXBzaG90KGdyYXBoaWNzQ29udGV4dC5nZXQoKSwgc25hcHNob3RS
ZWN0LCBzaG91bGRQYWludFNlbGVjdGlvbiwgY29vcmRpbmF0ZVNwYWNlKTsKLQorICAgIGZyYW1l
Vmlldy0+cGFpbnRDb250ZW50c0ZvclNuYXBzaG90KGdyYXBoaWNzQ29udGV4dCwgc25hcHNob3RS
ZWN0LCBzaG91bGRQYWludFNlbGVjdGlvbiwgY29vcmRpbmF0ZVNwYWNlKTsKKyAgICAKICAgICBp
ZiAob3B0aW9ucyAmIFNuYXBzaG90T3B0aW9uc1BhaW50U2VsZWN0aW9uUmVjdGFuZ2xlKSB7CiAg
ICAgICAgIEZsb2F0UmVjdCBzZWxlY3Rpb25SZWN0YW5nbGUgPSBtX21haW5GcmFtZS0+Y29yZUZy
YW1lKCktPnNlbGVjdGlvbigpLnNlbGVjdGlvbkJvdW5kcygpOwogICAgICAgICBncmFwaGljc0Nv
bnRleHQtPnNldFN0cm9rZUNvbG9yKENvbG9yKDB4RkYsIDAsIDApLCBDb2xvclNwYWNlRGV2aWNl
UkdCKTsKICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LT5zdHJva2VSZWN0KHNlbGVjdGlvblJlY3Rh
bmdsZSwgMSk7CiAgICAgfQogICAgIAorICAgIFJlZlB0cjxXZWJJbWFnZT4gc25hcHNob3QgPSBX
ZWJJbWFnZTo6Y3JlYXRlKGJpdG1hcFNpemUsIHNuYXBzaG90T3B0aW9uc1RvSW1hZ2VPcHRpb25z
KG9wdGlvbnMpKTsKKyAgICBpZiAoIXNuYXBzaG90LT5iaXRtYXAoKSkKKyAgICAgICAgcmV0dXJu
IG51bGxwdHI7CisgICAgCisgICAgYXV0byBzbmFwc2hvdEdyYXBoaWNzQ29udGV4dCA9IHNuYXBz
aG90LT5iaXRtYXAoKS0+Y3JlYXRlR3JhcGhpY3NDb250ZXh0KCk7CisgICAgCisgICAgRmxvYXRQ
b2ludCBkZXN0aW5hdGlvbigwLCAwKTsKKyAgICBzbmFwc2hvdEdyYXBoaWNzQ29udGV4dC0+ZHJh
d0ltYWdlQnVmZmVyKGltYWdlQnVmZmVyLmdldCgpLCBDb2xvclNwYWNlRGV2aWNlUkdCLCBkZXN0
aW5hdGlvbik7CisKICAgICByZXR1cm4gc25hcHNob3QucmVsZWFzZSgpOwogfQogCg==
</data>
<flag name="review"
          id="272092"
          type_id="1"
          status="-"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>