<?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>45207</bug_id>
          
          <creation_ts>2010-09-03 15:35:22 -0700</creation_ts>
          <short_desc>[chromium] Implement ImageBufferSkia::draw on the GPU when possible</short_desc>
          <delta_ts>2010-09-07 17:41:21 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="James Robinson">jamesr</reporter>
          <assigned_to name="James Robinson">jamesr</assigned_to>
          <cc>kbr</cc>
    
    <cc>scheib</cc>
    
    <cc>senorblanco</cc>
    
    <cc>vangelis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>274221</commentid>
    <comment_count>0</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-09-03 15:35:22 -0700</bug_when>
    <thetext>[chromium] Implement ImageBufferSkia::draw on the GPU when possible</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274223</commentid>
    <comment_count>1</comment_count>
      <attachid>66560</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-09-03 15:43:31 -0700</bug_when>
    <thetext>Created attachment 66560
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274286</commentid>
    <comment_count>2</comment_count>
      <attachid>66560</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-09-03 17:32:03 -0700</bug_when>
    <thetext>Comment on attachment 66560
Patch

We&apos;ve discussed this offline, but in the multisampling case you definitely do not want to reallocate the color texture into which the blit occurs each frame, so releaseBackingTexture() is unneeded. Also, getBackingTexture() needs to be called each time we want to display the up-to-date content in the multisampling case, so it should probably be named getUpToDateBackingTexture() or similar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274287</commentid>
    <comment_count>3</comment_count>
      <attachid>66572</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-09-03 17:36:50 -0700</bug_when>
    <thetext>Created attachment 66572
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274290</commentid>
    <comment_count>4</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-09-03 17:38:29 -0700</bug_when>
    <thetext>Good point.  Removed the release..() function and renamed the getter getRenderingResultsAsTexture(), which hopefully conveys that the returned texture gets the current rendering results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274293</commentid>
    <comment_count>5</comment_count>
      <attachid>66572</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-09-03 17:44:37 -0700</bug_when>
    <thetext>Comment on attachment 66572
Patch

This looks better but I noticed one more thing; sorry.

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

&gt; WebCore/html/canvas/CanvasRenderingContext2D.cpp:1286
&gt; +    if (!isAccelerated() || !sourceContext || !sourceContext-&gt;isAccelerated())
For the time being, this needs a more specific check to make sure the source context is 2D. This won&apos;t work for the WebGL code path right now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274296</commentid>
    <comment_count>6</comment_count>
      <attachid>66573</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-09-03 17:50:49 -0700</bug_when>
    <thetext>Created attachment 66573
adds a check that the source canvas is 2d before going down the accelerated path</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274306</commentid>
    <comment_count>7</comment_count>
      <attachid>66573</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-09-03 18:05:38 -0700</bug_when>
    <thetext>Comment on attachment 66573
adds a check that the source canvas is 2d before going down the accelerated path

Looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275448</commentid>
    <comment_count>8</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-09-07 17:40:41 -0700</bug_when>
    <thetext>Landed at r66785 with a slightly-mismerged ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275449</commentid>
    <comment_count>9</comment_count>
      <attachid>66573</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-09-07 17:41:21 -0700</bug_when>
    <thetext>Comment on attachment 66573
adds a check that the source canvas is 2d before going down the accelerated path

Clearing flags, patch has landed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66560</attachid>
            <date>2010-09-03 15:43:31 -0700</date>
            <delta_ts>2010-09-03 17:36:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45207-20100903154330.patch</filename>
            <type>text/plain</type>
            <size>6199</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZDY2MDg4ZmM1NzI3OTU4NGIwMDM5N2VkYjNlZWI1MWIyY2RiZWI1Ny4uODNkNGZiM2IxOTA5ZGI0
OGM5YmMyMDMzMTFhNzU2OTdiNTczZTc3OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBAQAorMjAxMC0wOS0wMyAgSmFt
ZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtjaHJvbWl1bV0gSW1wbGVtZW50IEltYWdlQnVm
ZmVyU2tpYTo6ZHJhdyBvbiB0aGUgR1BVIHdoZW4gcG9zc2libGUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1MjA3CisKKyAgICAgICAgV2hlbiBkcmF3
aW5nIGZyb20gYW4gSW1hZ2VCdWZmZXIgaW50byBhIEdyYXBoaWNzQ29udGV4dCwgYXR0ZW1wdCB0
byBkbyB0aGUKKyAgICAgICAgZHJhdyBpbiBoYXJkd2FyZSB3aGVuIHBvc3NpYmxlLiAgVGhpcyBp
cyBob3cgY2FudmFzIDJkJ3MgZHJhd0ltYWdlKGNhbnZhcywgLi4uKQorICAgICAgICBpcyBpbXBs
ZW1lbnRlZC4KKworICAgICAgICBBZGRzIG5ldyBBUEkgdG8gRHJhd2luZ0J1ZmZlciB0byByZXF1
ZXN0IGEgdGV4dHVyZSB1c2VmdWwgZm9yIHJlbmRlcmluZworICAgICAgICBhbmQgcmVsZWFzaW5n
IGl0LiAgSW4gdGhlIGN1cnJlbnQgY2hyb21pdW0gaW1wbGVtZW50YXRpb24sIGdldEJhY2tpbmdU
ZXh0dXJlKCkKKyAgICAgICAganVzdCByZXR1cm5zIHRoZSBjb2xvciBhdHRhY2htZW50IHRleHR1
cmUuICBJZiB3ZSBzd2l0Y2ggdG8gdXNpbmcgbXVsdGlzYW1wbGluZworICAgICAgICB0aGVuIGdl
dEJhY2tpbmdUZXh0dXJlKCkgbWF5IHJldHVybiBhIHRlbXBvcmFyeSBvciBjYWNoZWQgdGV4dHVy
ZSB0aGF0IHRoZSByZW5kZXJpbmcKKyAgICAgICAgRkJPIGlzIHJlc29sdmVkIGludG8uCisKKyAg
ICAgICAgVGVzdDogY292ZXJlZCBmYXN0L2NhbnZhcy9kcmF3SW1hZ2UuaHRtbCBhbmQgYWxsIG90
aGVyIHRlc3RzIHRoYXQgZHJhdyBmcm9tIG9uZQorICAgICAgICAyZCBjYW52YXMgaW50byBhbm90
aGVyLgorCisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd0ltYWdl
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EcmF3aW5nQnVmZmVyQ2hy
b21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RHJhd2luZ0J1ZmZlcjo6Z2V0QmFja2luZ1Rl
eHR1cmUpOgorICAgICAgICAoV2ViQ29yZTo6RHJhd2luZ0J1ZmZlcjo6cmVsZWFzZUJhY2tpbmdU
ZXh0dXJlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3NraWEvSW1hZ2VCdWZmZXJTa2lhLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkltYWdlQnVmZmVyOjpkcmF3KToKKwogMjAxMC0wOS0wMyAgU2hl
cmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCwgcm9sbGluZyBvdXQgcjY2NzMyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCmluZGV4IDIyZDNlMmQ5NDU2YTM3YTEyOWY2YjNlMjIz
MmNhM2RjMzM3N2MzZmYuLmIwMDI1ODU0MDFlNmNjY2NkMzI1ZmFlMThjNzZkZWNmY2Y1N2QxNDcg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5j
cHAKQEAgLTEyNzksNyArMTI3OSwxNSBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6
ZHJhd0ltYWdlKEhUTUxDYW52YXNFbGVtZW50KiBzb3VyY2VDYW52YXMsIGNvbnN0CiAgICAgaWYg
KCFzb3VyY2VDYW52YXMtPm9yaWdpbkNsZWFuKCkpCiAgICAgICAgIGNhbnZhcygpLT5zZXRPcmln
aW5UYWludGVkKCk7CiAKKyNpZiBFTkFCTEUoQUNDRUxFUkFURURfMkRfQ0FOVkFTKQorICAgIC8v
IElmIHdlJ3JlIGRyYXdpbmcgZnJvbSBvbmUgYWNjZWxlcmF0ZWQgY2FudmFzIHRvIGFub3RoZXIs
IGF2b2lkIGNhbGxpbmcgc291cmNlQ2FudmFzLT5tYWtlUmVuZGVyaW5nUmVzdWx0c0F2YWlsYWJs
ZSgpIHNpbmNlIHRoYXQKKyAgICAvLyB3aWxsIGRvIGEgcmVhZGJhY2sgdG8gc29mdHdhcmUuCisg
ICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCogc291cmNlQ29udGV4dCA9IHNvdXJjZUNhbnZhcy0+
cmVuZGVyaW5nQ29udGV4dCgpOworICAgIGlmICghaXNBY2NlbGVyYXRlZCgpIHx8ICFzb3VyY2VD
b250ZXh0IHx8ICFzb3VyY2VDb250ZXh0LT5pc0FjY2VsZXJhdGVkKCkpCisgICAgICAgIHNvdXJj
ZUNhbnZhcy0+bWFrZVJlbmRlcmluZ1Jlc3VsdHNBdmFpbGFibGUoKTsKKyNlbHNlCiAgICAgc291
cmNlQ2FudmFzLT5tYWtlUmVuZGVyaW5nUmVzdWx0c0F2YWlsYWJsZSgpOworI2VuZGlmCiAKICAg
ICBjLT5kcmF3SW1hZ2VCdWZmZXIoYnVmZmVyLCBEZXZpY2VDb2xvclNwYWNlLCBkZXN0UmVjdCwg
c291cmNlUmVjdCwgc3RhdGUoKS5tX2dsb2JhbENvbXBvc2l0ZSk7CiAgICAgZGlkRHJhdyhkZXN0
UmVjdCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0Ry
YXdpbmdCdWZmZXJDaHJvbWl1bS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0RyYXdpbmdCdWZmZXJDaHJvbWl1bS5jcHAKaW5kZXggOGU2ZjEwMzAyNjI4NDQ3MWQ2MWMx
M2UzMWEyYTcxYzU5ZmE2ZjJlOC4uZTk4N2E3NjY3M2U5Yjk4YzhlYjc4OTFkYjRlYTZmZWYzN2E5
MTIxYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EcmF3
aW5nQnVmZmVyQ2hyb21pdW0uY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vRHJhd2luZ0J1ZmZlckNocm9taXVtLmNwcApAQCAtMTE3LDQgKzExNywxMyBAQCBQbGF0
Zm9ybUxheWVyKiBEcmF3aW5nQnVmZmVyOjpwbGF0Zm9ybUxheWVyKCkKICAgICByZXR1cm4gbV9p
bnRlcm5hbC0+cGxhdGZvcm1MYXllci5nZXQoKTsKIH0KIAordW5zaWduZWQgRHJhd2luZ0J1ZmZl
cjo6Z2V0QmFja2luZ1RleHR1cmUoKQoreworICAgIHJldHVybiBtX2ludGVybmFsLT5vZmZzY3Jl
ZW5Db2xvclRleHR1cmU7Cit9CisKK3ZvaWQgRHJhd2luZ0J1ZmZlcjo6cmVsZWFzZUJhY2tpbmdU
ZXh0dXJlKHVuc2lnbmVkKQoreworfQorCiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9EcmF3aW5nQnVmZmVyLmgKaW5kZXggMWI0NGY0ZDIwMTU1OGQ2N2M2OGU2ZGZlNmZmM2E0
NjVkZDE4YzIyOC4uODc2ZTQ5NzkyMzdhNWFjYWNlMWI1NjVjNzQ2NDhjZTBiNjU0YmNhMiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaApAQCAtNTgs
NiArNTgsMTIgQEAgcHVibGljOgogICAgIHZvaWQgcHVibGlzaFRvUGxhdGZvcm1MYXllcigpOwog
ICAgIEludFNpemUgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZTsgfQogCisgICAgLy8gZ2V0
QmFja2luZ1RleHR1cmUoKSByZXF1ZXN0IGEgdGV4dHVyZSByZXByZXNlbnRpbmcgdGhlIERyYXdp
bmdCdWZmZXIncyByZW5kZXJpbmcgcmVzdWx0cy4KKyAgICAvLyBUaGUgY2FsbGVyIG11c3QgY2Fs
bCByZWxlYXNlQmFja2luZ1RleHR1cmUoKSB3aGVuIHRoZXkgYXJlIGRvbmUgd2l0aCBpdCBzbyB0
aGUKKyAgICAvLyBEcmF3aW5nQnVmZmVyIGNhbiBtYW5hZ2UgYW55IHRlbXBvcmFyeSByZXNvdXJj
ZXMgaXQgbWF5IG5lZWQgdG8gY3JlYXRlLgorICAgIHVuc2lnbmVkIGdldEJhY2tpbmdUZXh0dXJl
KCk7CisgICAgdm9pZCByZWxlYXNlQmFja2luZ1RleHR1cmUodW5zaWduZWQpOworCiAgICAgY2xh
c3MgV2lsbFB1Ymxpc2hDYWxsYmFjayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgcHVibGlj
OgogICAgICAgICB2aXJ0dWFsIHZvaWQgd2lsbFB1Ymxpc2goKSA9IDA7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvSW1hZ2VCdWZmZXJTa2lhLmNwcCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9JbWFnZUJ1ZmZlclNraWEuY3BwCmluZGV4IDk0MDM0
MDYzMDBhN2ZlNzlmZTA0ZmUyMWNmMTQ5NTVlNzJhMjU5ZGIuLjRiMjdhNWNjMDlmYjIzNGQ2N2Rk
YmFjOGI4YjRiYmY2N2Q5ZWJkOTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvc2tpYS9JbWFnZUJ1ZmZlclNraWEuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvc2tpYS9JbWFnZUJ1ZmZlclNraWEuY3BwCkBAIC0zNiwxMCArMzYsMTIgQEAKICNpbmNsdWRl
ICJCYXNlNjQuaCIKICNpbmNsdWRlICJCaXRtYXBJbWFnZS5oIgogI2luY2x1ZGUgIkJpdG1hcElt
YWdlU2luZ2xlRnJhbWVTa2lhLmgiCisjaW5jbHVkZSAiRHJhd2luZ0J1ZmZlci5oIgorI2luY2x1
ZGUgIkdMRVMyQ2FudmFzLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVk
ZSAiSW1hZ2VEYXRhLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1Db250ZXh0U2tpYS5oIgogI2luY2x1
ZGUgIlBOR0ltYWdlRW5jb2Rlci5oIgorI2luY2x1ZGUgIlBsYXRmb3JtQ29udGV4dFNraWEuaCIK
ICNpbmNsdWRlICJTa0NvbG9yUHJpdi5oIgogI2luY2x1ZGUgIlNraWFVdGlscy5oIgogCkBAIC0x
MDgsNiArMTEwLDE3IEBAIHZvaWQgSW1hZ2VCdWZmZXI6OmNsaXAoR3JhcGhpY3NDb250ZXh0KiBj
b250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIHJlY3QpIGNvbnN0CiB2b2lkIEltYWdlQnVmZmVyOjpk
cmF3KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgQ29sb3JTcGFjZSBzdHlsZUNvbG9yU3BhY2Us
IGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwKICAg
ICAgICAgICAgICAgICAgICAgICAgQ29tcG9zaXRlT3BlcmF0b3Igb3AsIGJvb2wgdXNlTG93UXVh
bGl0eVNjYWxlKQogeworICAgIGlmIChtX2RhdGEubV9wbGF0Zm9ybUNvbnRleHQudXNlR1BVKCkg
JiYgY29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCktPnVzZUdQVSgpKSB7CisgICAgICAgIERyYXdp
bmdCdWZmZXIqIHNvdXJjZURyYXdpbmdCdWZmZXIgPSBtX2RhdGEubV9wbGF0Zm9ybUNvbnRleHQu
Z3B1Q2FudmFzKCktPmRyYXdpbmdCdWZmZXIoKTsKKyAgICAgICAgdW5zaWduZWQgc291cmNlVGV4
dHVyZSA9IHNvdXJjZURyYXdpbmdCdWZmZXItPmdldEJhY2tpbmdUZXh0dXJlKCk7CisgICAgICAg
IEZsb2F0UmVjdCBkZXN0UmVjdEZsaXBwZWQoZGVzdFJlY3QpOworICAgICAgICBkZXN0UmVjdEZs
aXBwZWQuc2V0WShkZXN0UmVjdC55KCkgKyBkZXN0UmVjdC5oZWlnaHQoKSk7CisgICAgICAgIGRl
c3RSZWN0RmxpcHBlZC5zZXRIZWlnaHQoLWRlc3RSZWN0LmhlaWdodCgpKTsKKyAgICAgICAgY29u
dGV4dC0+cGxhdGZvcm1Db250ZXh0KCktPmdwdUNhbnZhcygpLT5kcmF3VGV4dHVyZWRSZWN0KHNv
dXJjZVRleHR1cmUsIG1fc2l6ZSwgc3JjUmVjdCwgZGVzdFJlY3RGbGlwcGVkLCBzdHlsZUNvbG9y
U3BhY2UsIG9wKTsKKyAgICAgICAgc291cmNlRHJhd2luZ0J1ZmZlci0+cmVsZWFzZUJhY2tpbmdU
ZXh0dXJlKHNvdXJjZVRleHR1cmUpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgUmVm
UHRyPEltYWdlPiBpbWFnZSA9IEJpdG1hcEltYWdlU2luZ2xlRnJhbWVTa2lhOjpjcmVhdGUoKm1f
ZGF0YS5tX3BsYXRmb3JtQ29udGV4dC5iaXRtYXAoKSwgY29udGV4dCA9PSBtX2NvbnRleHQpOwog
ICAgIGNvbnRleHQtPmRyYXdJbWFnZShpbWFnZS5nZXQoKSwgc3R5bGVDb2xvclNwYWNlLCBkZXN0
UmVjdCwgc3JjUmVjdCwgb3AsIHVzZUxvd1F1YWxpdHlTY2FsZSk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66572</attachid>
            <date>2010-09-03 17:36:50 -0700</date>
            <delta_ts>2010-09-03 17:50:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45207-20100903173649.patch</filename>
            <type>text/plain</type>
            <size>5480</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZDY2MDg4ZmM1NzI3OTU4NGIwMDM5N2VkYjNlZWI1MWIyY2RiZWI1Ny4uOTM3NDFhOGQzZTBiZWNm
MDkyNTgzOWRkNmZlN2MxOTk2MjNhNDNkZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMC0wOS0wMyAgSmFt
ZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtjaHJvbWl1bV0gSW1wbGVtZW50IEltYWdlQnVm
ZmVyU2tpYTo6ZHJhdyBvbiB0aGUgR1BVIHdoZW4gcG9zc2libGUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1MjA3CisKKyAgICAgICAgV2hlbiBkcmF3
aW5nIGZyb20gYW4gSW1hZ2VCdWZmZXIgaW50byBhIEdyYXBoaWNzQ29udGV4dCwgYXR0ZW1wdCB0
byBkbyB0aGUKKyAgICAgICAgZHJhdyBpbiBoYXJkd2FyZSB3aGVuIHBvc3NpYmxlLiAgVGhpcyBp
cyBob3cgY2FudmFzIDJkJ3MgZHJhd0ltYWdlKGNhbnZhcywgLi4uKQorICAgICAgICBpcyBpbXBs
ZW1lbnRlZC4gIEFkZHMgbmV3IEFQSSB0byBEcmF3aW5nQnVmZmVyIHRvIHJlcXVlc3QgYSB0ZXh0
dXJlIGNvbnRhaW5pbmcKKyAgICAgICAgdGhlIERyYXdpbmdCdWZmZXIncyBjdXJyZW50IHJlbmRl
cmluZyByZXN1bHRzLgorCisgICAgICAgIFRlc3Q6IGNvdmVyZWQgZmFzdC9jYW52YXMvZHJhd0lt
YWdlLmh0bWwgYW5kIGFsbCBvdGhlciB0ZXN0cyB0aGF0IGRyYXcgZnJvbSBvbmUKKyAgICAgICAg
MmQgY2FudmFzIGludG8gYW5vdGhlci4KKworICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQ6OmRyYXdJbWFnZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vRHJhd2luZ0J1ZmZlckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRyYXdpbmdC
dWZmZXI6OmdldFJlbmRlcmluZ1Jlc3VsdHNBc1RleHR1cmUpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3Mvc2tpYS9JbWFnZUJ1ZmZlclNraWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCdWZm
ZXI6OmRyYXcpOgorCiAyMDEwLTA5LTAzICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90
QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNjY3MzIuCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5j
cHAgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKaW5k
ZXggMjJkM2UyZDk0NTZhMzdhMTI5ZjZiM2UyMjMyY2EzZGMzMzc3YzNmZi4uYjAwMjU4NTQwMWU2
Y2NjY2QzMjVmYWUxOGM3NmRlY2ZjZjU3ZDE0NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9jYW52
YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcApAQCAtMTI3OSw3ICsxMjc5LDE1IEBAIHZv
aWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpkcmF3SW1hZ2UoSFRNTENhbnZhc0VsZW1lbnQq
IHNvdXJjZUNhbnZhcywgY29uc3QKICAgICBpZiAoIXNvdXJjZUNhbnZhcy0+b3JpZ2luQ2xlYW4o
KSkKICAgICAgICAgY2FudmFzKCktPnNldE9yaWdpblRhaW50ZWQoKTsKIAorI2lmIEVOQUJMRShB
Q0NFTEVSQVRFRF8yRF9DQU5WQVMpCisgICAgLy8gSWYgd2UncmUgZHJhd2luZyBmcm9tIG9uZSBh
Y2NlbGVyYXRlZCBjYW52YXMgdG8gYW5vdGhlciwgYXZvaWQgY2FsbGluZyBzb3VyY2VDYW52YXMt
Pm1ha2VSZW5kZXJpbmdSZXN1bHRzQXZhaWxhYmxlKCkgc2luY2UgdGhhdAorICAgIC8vIHdpbGwg
ZG8gYSByZWFkYmFjayB0byBzb2Z0d2FyZS4KKyAgICBDYW52YXNSZW5kZXJpbmdDb250ZXh0KiBz
b3VyY2VDb250ZXh0ID0gc291cmNlQ2FudmFzLT5yZW5kZXJpbmdDb250ZXh0KCk7CisgICAgaWYg
KCFpc0FjY2VsZXJhdGVkKCkgfHwgIXNvdXJjZUNvbnRleHQgfHwgIXNvdXJjZUNvbnRleHQtPmlz
QWNjZWxlcmF0ZWQoKSkKKyAgICAgICAgc291cmNlQ2FudmFzLT5tYWtlUmVuZGVyaW5nUmVzdWx0
c0F2YWlsYWJsZSgpOworI2Vsc2UKICAgICBzb3VyY2VDYW52YXMtPm1ha2VSZW5kZXJpbmdSZXN1
bHRzQXZhaWxhYmxlKCk7CisjZW5kaWYKIAogICAgIGMtPmRyYXdJbWFnZUJ1ZmZlcihidWZmZXIs
IERldmljZUNvbG9yU3BhY2UsIGRlc3RSZWN0LCBzb3VyY2VSZWN0LCBzdGF0ZSgpLm1fZ2xvYmFs
Q29tcG9zaXRlKTsKICAgICBkaWREcmF3KGRlc3RSZWN0KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRHJhd2luZ0J1ZmZlckNocm9taXVtLmNwcCBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRHJhd2luZ0J1ZmZlckNocm9taXVtLmNw
cAppbmRleCA4ZTZmMTAzMDI2Mjg0NDcxZDYxYzEzZTMxYTJhNzFjNTlmYTZmMmU4Li5iMDliZDM0
NmVlZTU1OTlmNjIyZTVlM2UxM2M5MDBjNjU2ZWIyMjZlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0RyYXdpbmdCdWZmZXJDaHJvbWl1bS5jcHAKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EcmF3aW5nQnVmZmVyQ2hyb21pdW0u
Y3BwCkBAIC0xMTcsNCArMTE3LDkgQEAgUGxhdGZvcm1MYXllciogRHJhd2luZ0J1ZmZlcjo6cGxh
dGZvcm1MYXllcigpCiAgICAgcmV0dXJuIG1faW50ZXJuYWwtPnBsYXRmb3JtTGF5ZXIuZ2V0KCk7
CiB9CiAKK3Vuc2lnbmVkIERyYXdpbmdCdWZmZXI6OmdldFJlbmRlcmluZ1Jlc3VsdHNBc1RleHR1
cmUoKQoreworICAgIHJldHVybiBtX2ludGVybmFsLT5vZmZzY3JlZW5Db2xvclRleHR1cmU7Cit9
CisKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdC
dWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaApp
bmRleCAxYjQ0ZjRkMjAxNTU4ZDY3YzY4ZTZkZmU2ZmYzYTQ2NWRkMThjMjI4Li4wMzE4NjdmNWZm
NGYyN2QwNDQ2MGVlNWFkMzQxOGZhOTVjZGNmNmFkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oCkBAIC01OCw2ICs1OCw4IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHB1Ymxpc2hUb1BsYXRmb3JtTGF5ZXIoKTsKICAgICBJbnRTaXplIHNpemUoKSBjb25z
dCB7IHJldHVybiBtX3NpemU7IH0KIAorICAgIHVuc2lnbmVkIGdldFJlbmRlcmluZ1Jlc3VsdHNB
c1RleHR1cmUoKTsKKwogICAgIGNsYXNzIFdpbGxQdWJsaXNoQ2FsbGJhY2sgOiBwdWJsaWMgTm9u
Y29weWFibGUgewogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIHdpbGxQdWJsaXNo
KCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ltYWdl
QnVmZmVyU2tpYS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvSW1hZ2VCdWZm
ZXJTa2lhLmNwcAppbmRleCA5NDAzNDA2MzAwYTdmZTc5ZmUwNGZlMjFjZjE0OTU1ZTcyYTI1OWRi
Li5lMGJkYTAzZmJlM2IzZDQ3MmZkMDYzZWJlMjJhMzIwZGVlY2ZiOTZiIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvSW1hZ2VCdWZmZXJTa2lhLmNwcAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvSW1hZ2VCdWZmZXJTa2lhLmNwcApAQCAtMzYs
MTAgKzM2LDEyIEBACiAjaW5jbHVkZSAiQmFzZTY0LmgiCiAjaW5jbHVkZSAiQml0bWFwSW1hZ2Uu
aCIKICNpbmNsdWRlICJCaXRtYXBJbWFnZVNpbmdsZUZyYW1lU2tpYS5oIgorI2luY2x1ZGUgIkRy
YXdpbmdCdWZmZXIuaCIKKyNpbmNsdWRlICJHTEVTMkNhbnZhcy5oIgogI2luY2x1ZGUgIkdyYXBo
aWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIkltYWdlRGF0YS5oIgotI2luY2x1ZGUgIlBsYXRmb3Jt
Q29udGV4dFNraWEuaCIKICNpbmNsdWRlICJQTkdJbWFnZUVuY29kZXIuaCIKKyNpbmNsdWRlICJQ
bGF0Zm9ybUNvbnRleHRTa2lhLmgiCiAjaW5jbHVkZSAiU2tDb2xvclByaXYuaCIKICNpbmNsdWRl
ICJTa2lhVXRpbHMuaCIKIApAQCAtMTA4LDYgKzExMCwxNiBAQCB2b2lkIEltYWdlQnVmZmVyOjpj
bGlwKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiByZWN0KSBjb25z
dAogdm9pZCBJbWFnZUJ1ZmZlcjo6ZHJhdyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIENvbG9y
U3BhY2Ugc3R5bGVDb2xvclNwYWNlLCBjb25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0LCBjb25zdCBG
bG9hdFJlY3QmIHNyY1JlY3QsCiAgICAgICAgICAgICAgICAgICAgICAgIENvbXBvc2l0ZU9wZXJh
dG9yIG9wLCBib29sIHVzZUxvd1F1YWxpdHlTY2FsZSkKIHsKKyAgICBpZiAobV9kYXRhLm1fcGxh
dGZvcm1Db250ZXh0LnVzZUdQVSgpICYmIGNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLT51c2VH
UFUoKSkgeworICAgICAgICBEcmF3aW5nQnVmZmVyKiBzb3VyY2VEcmF3aW5nQnVmZmVyID0gbV9k
YXRhLm1fcGxhdGZvcm1Db250ZXh0LmdwdUNhbnZhcygpLT5kcmF3aW5nQnVmZmVyKCk7CisgICAg
ICAgIHVuc2lnbmVkIHNvdXJjZVRleHR1cmUgPSBzb3VyY2VEcmF3aW5nQnVmZmVyLT5nZXRSZW5k
ZXJpbmdSZXN1bHRzQXNUZXh0dXJlKCk7CisgICAgICAgIEZsb2F0UmVjdCBkZXN0UmVjdEZsaXBw
ZWQoZGVzdFJlY3QpOworICAgICAgICBkZXN0UmVjdEZsaXBwZWQuc2V0WShkZXN0UmVjdC55KCkg
KyBkZXN0UmVjdC5oZWlnaHQoKSk7CisgICAgICAgIGRlc3RSZWN0RmxpcHBlZC5zZXRIZWlnaHQo
LWRlc3RSZWN0LmhlaWdodCgpKTsKKyAgICAgICAgY29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCkt
PmdwdUNhbnZhcygpLT5kcmF3VGV4dHVyZWRSZWN0KHNvdXJjZVRleHR1cmUsIG1fc2l6ZSwgc3Jj
UmVjdCwgZGVzdFJlY3RGbGlwcGVkLCBzdHlsZUNvbG9yU3BhY2UsIG9wKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKwogICAgIFJlZlB0cjxJbWFnZT4gaW1hZ2UgPSBCaXRtYXBJbWFnZVNpbmds
ZUZyYW1lU2tpYTo6Y3JlYXRlKCptX2RhdGEubV9wbGF0Zm9ybUNvbnRleHQuYml0bWFwKCksIGNv
bnRleHQgPT0gbV9jb250ZXh0KTsKICAgICBjb250ZXh0LT5kcmF3SW1hZ2UoaW1hZ2UuZ2V0KCks
IHN0eWxlQ29sb3JTcGFjZSwgZGVzdFJlY3QsIHNyY1JlY3QsIG9wLCB1c2VMb3dRdWFsaXR5U2Nh
bGUpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66573</attachid>
            <date>2010-09-03 17:50:49 -0700</date>
            <delta_ts>2010-09-07 17:41:21 -0700</delta_ts>
            <desc>adds a check that the source canvas is 2d before going down the accelerated path</desc>
            <filename>bug-45207-20100903175048.patch</filename>
            <type>text/plain</type>
            <size>5707</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YzhhZmJiYjUzNzgxNjFiMDQ0ZTIwZDYyNjJmNGIwNWFmYjc3MWM2MC4uNTYwMDI5Njk1YTA3YTdj
ZWRkZjc2NGFmYmU4MDc1OTgwOWRkMWM2MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyOCBAQAogMjAxMC0wOS0wMyAgSmFt
ZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgogCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtjaHJvbWl1bV0gSW1wbGVtZW50IEltYWdlQnVm
ZmVyU2tpYTo6ZHJhdyBvbiB0aGUgR1BVIHdoZW4gcG9zc2libGUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1MjA3CisKKyAgICAgICAgV2hlbiBkcmF3
aW5nIGZyb20gYW4gSW1hZ2VCdWZmZXIgaW50byBhIEdyYXBoaWNzQ29udGV4dCwgYXR0ZW1wdCB0
byBkbyB0aGUKKyAgICAgICAgZHJhdyBpbiBoYXJkd2FyZSB3aGVuIHBvc3NpYmxlLiAgVGhpcyBp
cyBob3cgY2FudmFzIDJkJ3MgZHJhd0ltYWdlKGNhbnZhcywgLi4uKQorICAgICAgICBpcyBpbXBs
ZW1lbnRlZC4gIEFkZHMgbmV3IEFQSSB0byBEcmF3aW5nQnVmZmVyIHRvIHJlcXVlc3QgYSB0ZXh0
dXJlIGNvbnRhaW5pbmcKKyAgICAgICAgdGhlIERyYXdpbmdCdWZmZXIncyBjdXJyZW50IHJlbmRl
cmluZyByZXN1bHRzLgorCisgICAgICAgIFRlc3Q6IGNvdmVyZWQgZmFzdC9jYW52YXMvZHJhd0lt
YWdlLmh0bWwgYW5kIGFsbCBvdGhlciB0ZXN0cyB0aGF0IGRyYXcgZnJvbSBvbmUKKyAgICAgICAg
MmQgY2FudmFzIGludG8gYW5vdGhlci4KKworICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQ6OmRyYXdJbWFnZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vRHJhd2luZ0J1ZmZlckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRyYXdpbmdC
dWZmZXI6OmdldFJlbmRlcmluZ1Jlc3VsdHNBc1RleHR1cmUpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3Mvc2tpYS9JbWFnZUJ1ZmZlclNraWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCdWZm
ZXI6OmRyYXcpOgorCisyMDEwLTA5LTAzICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1
bS5vcmc+CisKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSdXNzZWxsLgogCiAgICAgICAg
IFtjaHJvbWl1bV0gTnVsbCBvdXQgQ2FudmFzMkRMYXllckNocm9taXVtJ3MgYmFjayByZWZlcmVu
Y2UgdG8gRHJhd2luZ0J1ZmZlciBvbiBkZXN0cnVjdGlvbgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwIGIvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCmluZGV4IDIyZDNlMmQ5NDU2YTM3YTEy
OWY2YjNlMjIzMmNhM2RjMzM3N2MzZmYuLmFlNzgxNzAxY2M1Mjg0MzNmOWQ3NjA3ZGEyNTk5MDAx
MGJjNGIyNjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJELmNwcAorKysgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRC5jcHAKQEAgLTEyNzksNyArMTI3OSwxNiBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRDo6ZHJhd0ltYWdlKEhUTUxDYW52YXNFbGVtZW50KiBzb3VyY2VDYW52YXMsIGNvbnN0
CiAgICAgaWYgKCFzb3VyY2VDYW52YXMtPm9yaWdpbkNsZWFuKCkpCiAgICAgICAgIGNhbnZhcygp
LT5zZXRPcmlnaW5UYWludGVkKCk7CiAKKyNpZiBFTkFCTEUoQUNDRUxFUkFURURfMkRfQ0FOVkFT
KQorICAgIC8vIElmIHdlJ3JlIGRyYXdpbmcgZnJvbSBvbmUgYWNjZWxlcmF0ZWQgY2FudmFzIDJk
IHRvIGFub3RoZXIsIGF2b2lkIGNhbGxpbmcgc291cmNlQ2FudmFzLT5tYWtlUmVuZGVyaW5nUmVz
dWx0c0F2YWlsYWJsZSgpCisgICAgLy8gYXMgdGhhdCB3aWxsIGRvIGEgcmVhZGJhY2sgdG8gc29m
dHdhcmUuCisgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCogc291cmNlQ29udGV4dCA9IHNvdXJj
ZUNhbnZhcy0+cmVuZGVyaW5nQ29udGV4dCgpOworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgYW4g
YWNjZWxlcmF0ZWQgcGF0aCBmb3IgZHJhd2luZyBmcm9tIGEgV2ViR0wgY2FudmFzIHRvIGEgMmQg
Y2FudmFzIHdoZW4gcG9zc2libGUuCisgICAgaWYgKCFpc0FjY2VsZXJhdGVkKCkgfHwgIXNvdXJj
ZUNvbnRleHQgfHwgIXNvdXJjZUNvbnRleHQtPmlzQWNjZWxlcmF0ZWQoKSB8fCAhc291cmNlQ29u
dGV4dC0+aXMyZCgpKQorICAgICAgICBzb3VyY2VDYW52YXMtPm1ha2VSZW5kZXJpbmdSZXN1bHRz
QXZhaWxhYmxlKCk7CisjZWxzZQogICAgIHNvdXJjZUNhbnZhcy0+bWFrZVJlbmRlcmluZ1Jlc3Vs
dHNBdmFpbGFibGUoKTsKKyNlbmRpZgogCiAgICAgYy0+ZHJhd0ltYWdlQnVmZmVyKGJ1ZmZlciwg
RGV2aWNlQ29sb3JTcGFjZSwgZGVzdFJlY3QsIHNvdXJjZVJlY3QsIHN0YXRlKCkubV9nbG9iYWxD
b21wb3NpdGUpOwogICAgIGRpZERyYXcoZGVzdFJlY3QpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EcmF3aW5nQnVmZmVyQ2hyb21pdW0uY3BwIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EcmF3aW5nQnVmZmVyQ2hyb21pdW0uY3Bw
CmluZGV4IDcyMGY4ZDY2MzJkZTg3ZGFlMGFhYjI2YTJmZGJjZjUzNTcwZTkwNTYuLjc2YzE1NzBi
ODgyMmI3NGRkMWI1ZmUwZWM5NGNlY2E0MTlmNDQ1NGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRHJhd2luZ0J1ZmZlckNocm9taXVtLmNwcAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0RyYXdpbmdCdWZmZXJDaHJvbWl1bS5j
cHAKQEAgLTExOSw0ICsxMTksOSBAQCBQbGF0Zm9ybUxheWVyKiBEcmF3aW5nQnVmZmVyOjpwbGF0
Zm9ybUxheWVyKCkKICAgICByZXR1cm4gbV9pbnRlcm5hbC0+cGxhdGZvcm1MYXllci5nZXQoKTsK
IH0KIAordW5zaWduZWQgRHJhd2luZ0J1ZmZlcjo6Z2V0UmVuZGVyaW5nUmVzdWx0c0FzVGV4dHVy
ZSgpCit7CisgICAgcmV0dXJuIG1faW50ZXJuYWwtPm9mZnNjcmVlbkNvbG9yVGV4dHVyZTsKK30K
KwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1
ZmZlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oCmlu
ZGV4IDFiNDRmNGQyMDE1NThkNjdjNjhlNmRmZTZmZjNhNDY1ZGQxOGMyMjguLjAzMTg2N2Y1ZmY0
ZjI3ZDA0NDYwZWU1YWQzNDE4ZmE5NWNkY2Y2YWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgKQEAgLTU4LDYgKzU4LDggQEAgcHVibGljOgogICAg
IHZvaWQgcHVibGlzaFRvUGxhdGZvcm1MYXllcigpOwogICAgIEludFNpemUgc2l6ZSgpIGNvbnN0
IHsgcmV0dXJuIG1fc2l6ZTsgfQogCisgICAgdW5zaWduZWQgZ2V0UmVuZGVyaW5nUmVzdWx0c0Fz
VGV4dHVyZSgpOworCiAgICAgY2xhc3MgV2lsbFB1Ymxpc2hDYWxsYmFjayA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIHZvaWQgd2lsbFB1Ymxpc2go
KSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvSW1hZ2VC
dWZmZXJTa2lhLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9JbWFnZUJ1ZmZl
clNraWEuY3BwCmluZGV4IDk0MDM0MDYzMDBhN2ZlNzlmZTA0ZmUyMWNmMTQ5NTVlNzJhMjU5ZGIu
LmUwYmRhMDNmYmUzYjNkNDcyZmQwNjNlYmUyMmEzMjBkZWVjZmI5NmIgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9JbWFnZUJ1ZmZlclNraWEuY3BwCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9JbWFnZUJ1ZmZlclNraWEuY3BwCkBAIC0zNiwx
MCArMzYsMTIgQEAKICNpbmNsdWRlICJCYXNlNjQuaCIKICNpbmNsdWRlICJCaXRtYXBJbWFnZS5o
IgogI2luY2x1ZGUgIkJpdG1hcEltYWdlU2luZ2xlRnJhbWVTa2lhLmgiCisjaW5jbHVkZSAiRHJh
d2luZ0J1ZmZlci5oIgorI2luY2x1ZGUgIkdMRVMyQ2FudmFzLmgiCiAjaW5jbHVkZSAiR3JhcGhp
Y3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiSW1hZ2VEYXRhLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1D
b250ZXh0U2tpYS5oIgogI2luY2x1ZGUgIlBOR0ltYWdlRW5jb2Rlci5oIgorI2luY2x1ZGUgIlBs
YXRmb3JtQ29udGV4dFNraWEuaCIKICNpbmNsdWRlICJTa0NvbG9yUHJpdi5oIgogI2luY2x1ZGUg
IlNraWFVdGlscy5oIgogCkBAIC0xMDgsNiArMTEwLDE2IEBAIHZvaWQgSW1hZ2VCdWZmZXI6OmNs
aXAoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIHJlY3QpIGNvbnN0
CiB2b2lkIEltYWdlQnVmZmVyOjpkcmF3KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgQ29sb3JT
cGFjZSBzdHlsZUNvbG9yU3BhY2UsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QsIGNvbnN0IEZs
b2F0UmVjdCYgc3JjUmVjdCwKICAgICAgICAgICAgICAgICAgICAgICAgQ29tcG9zaXRlT3BlcmF0
b3Igb3AsIGJvb2wgdXNlTG93UXVhbGl0eVNjYWxlKQogeworICAgIGlmIChtX2RhdGEubV9wbGF0
Zm9ybUNvbnRleHQudXNlR1BVKCkgJiYgY29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCktPnVzZUdQ
VSgpKSB7CisgICAgICAgIERyYXdpbmdCdWZmZXIqIHNvdXJjZURyYXdpbmdCdWZmZXIgPSBtX2Rh
dGEubV9wbGF0Zm9ybUNvbnRleHQuZ3B1Q2FudmFzKCktPmRyYXdpbmdCdWZmZXIoKTsKKyAgICAg
ICAgdW5zaWduZWQgc291cmNlVGV4dHVyZSA9IHNvdXJjZURyYXdpbmdCdWZmZXItPmdldFJlbmRl
cmluZ1Jlc3VsdHNBc1RleHR1cmUoKTsKKyAgICAgICAgRmxvYXRSZWN0IGRlc3RSZWN0RmxpcHBl
ZChkZXN0UmVjdCk7CisgICAgICAgIGRlc3RSZWN0RmxpcHBlZC5zZXRZKGRlc3RSZWN0LnkoKSAr
IGRlc3RSZWN0LmhlaWdodCgpKTsKKyAgICAgICAgZGVzdFJlY3RGbGlwcGVkLnNldEhlaWdodCgt
ZGVzdFJlY3QuaGVpZ2h0KCkpOworICAgICAgICBjb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKS0+
Z3B1Q2FudmFzKCktPmRyYXdUZXh0dXJlZFJlY3Qoc291cmNlVGV4dHVyZSwgbV9zaXplLCBzcmNS
ZWN0LCBkZXN0UmVjdEZsaXBwZWQsIHN0eWxlQ29sb3JTcGFjZSwgb3ApOworICAgICAgICByZXR1
cm47CisgICAgfQorCiAgICAgUmVmUHRyPEltYWdlPiBpbWFnZSA9IEJpdG1hcEltYWdlU2luZ2xl
RnJhbWVTa2lhOjpjcmVhdGUoKm1fZGF0YS5tX3BsYXRmb3JtQ29udGV4dC5iaXRtYXAoKSwgY29u
dGV4dCA9PSBtX2NvbnRleHQpOwogICAgIGNvbnRleHQtPmRyYXdJbWFnZShpbWFnZS5nZXQoKSwg
c3R5bGVDb2xvclNwYWNlLCBkZXN0UmVjdCwgc3JjUmVjdCwgb3AsIHVzZUxvd1F1YWxpdHlTY2Fs
ZSk7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>