<?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>83569</bug_id>
          
          <creation_ts>2012-04-10 05:37:46 -0700</creation_ts>
          <short_desc>[Cairo] ImageBuffer::toDataURL(): improve error handling, add mimeType ASSERTs</short_desc>
          <delta_ts>2012-04-14 02:34:52 -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>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="noel gordon">noel.gordon</reporter>
          <assigned_to name="noel gordon">noel.gordon</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>eric</cc>
    
    <cc>mrobinson</cc>
    
    <cc>senorblanco</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>599187</commentid>
    <comment_count>0</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-04-10 05:37:46 -0700</bug_when>
    <thetext>[Cairo] ImageBuffer::toDataURL(): improve error handling, add mimeType ASSERTs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599192</commentid>
    <comment_count>1</comment_count>
      <attachid>136437</attachid>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-04-10 05:46:01 -0700</bug_when>
    <thetext>Created attachment 136437
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600802</commentid>
    <comment_count>2</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-04-11 18:56:44 -0700</bug_when>
    <thetext>Punt: adding possible cairo reviewers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600803</commentid>
    <comment_count>3</comment_count>
      <attachid>136437</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-04-11 18:59:00 -0700</bug_when>
    <thetext>Comment on attachment 136437
Patch

Does this make the Gtk port pass more tests?  Are there results which will need updating?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600828</commentid>
    <comment_count>4</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-04-11 20:09:01 -0700</bug_when>
    <thetext>No and No.  GTK does not use this function, they have their own. This change is to update the Cairo port implementation to match the other webkit ports, without changing paint/test behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600840</commentid>
    <comment_count>5</comment_count>
      <attachid>136437</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-04-11 20:32:35 -0700</bug_when>
    <thetext>Comment on attachment 136437
Patch

So which (if any) ports use this code?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600843</commentid>
    <comment_count>6</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-04-11 20:35:01 -0700</bug_when>
    <thetext>The Cairo port I believe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600844</commentid>
    <comment_count>7</comment_count>
      <attachid>136437</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-04-11 20:37:41 -0700</bug_when>
    <thetext>Comment on attachment 136437
Patch

There is a WinCairo port, and I think that Gtk may use Cairo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600846</commentid>
    <comment_count>8</comment_count>
      <attachid>136437</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-04-11 20:39:31 -0700</bug_when>
    <thetext>Comment on attachment 136437
Patch

But it looks reasonable to me.  You should probably give the possible users of this code 24 hours to comment before setting cq+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600850</commentid>
    <comment_count>9</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-04-11 20:43:16 -0700</bug_when>
    <thetext>Indeed.  And yes, Gtk uses Cairo, just not here:
  http://trac.webkit.org/browser/trunk/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp#L260</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600851</commentid>
    <comment_count>10</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-04-11 20:46:02 -0700</bug_when>
    <thetext>&gt; You should probably give the possible users of this code 24 hours to comment before setting cq+.

Agree.  They could maybe answer this question: is cairo_surface_write_to_png_stream() thread-safe?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601241</commentid>
    <comment_count>11</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-04-12 08:18:47 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; &gt; You should probably give the possible users of this code 24 hours to comment before setting cq+.
&gt; 
&gt; Agree.  They could maybe answer this question: is cairo_surface_write_to_png_stream() thread-safe?

The GTK+port is a Cairo port, but we have a GTK+-only version of this functionality, because the GTK+ libraries support more types of images than Cairo. Cairo only supports PNG.

I doubt that cairo_surface_write_to_png_stream is thread-safe, so you might consider making a deep copy of the image surface before spinning off the other thread. Is this code threaded now? You&apos;ll likely need to do the same thing for the GTK+ port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601853</commentid>
    <comment_count>12</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-04-12 23:27:25 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; 
&gt; The GTK+port is a Cairo port, but we have a GTK+-only version of this functionality, because the GTK+ libraries support more types of images than Cairo. Cairo only supports PNG.

Yes that matches my understanding, the GTK+-only version was added in https://bugs.webkit.org/attachment.cgi?id=62763&amp;action=prettypatch. Hmmm, does GTK+ pass or skip canvas/philip/tests/toDataURL.jpeg.alpha.html ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601859</commentid>
    <comment_count>13</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-04-12 23:51:08 -0700</bug_when>
    <thetext>(In reply to comment #11)

&gt; I doubt that cairo_surface_write_to_png_stream is thread-safe, so you might consider making a deep copy of the image surface before spinning off the other thread. Is this code threaded now?
&gt; You&apos;ll likely need to do the same thing for the GTK+ port.

A cool Martin thanks. The code is not threaded now. Thread-safety only comes into play with canvas -&gt; blob, which will depend on ImageBuffer since that&apos;s where the encoders exist on all ports currently. Seems some ports (Qt, Cairo, and GTK+ if I&apos;ve understood what you&apos;ve said) won&apos;t support encoding via ImageBuffer in a thread. I need to design for that and it&apos;s one reason why I&apos;m assessing the ImageBuffer impl&apos;s of each port at this time. Anywhere I see a doubt, I&apos;m marking that ImageBuffer as non-thread-safe. The deep copy idea is good, but I intend to leave that part of canvas-&gt;blob to the port maintainers. Would that work for you and GTK+ port?  I&apos;d hate to break you :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602065</commentid>
    <comment_count>14</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-04-13 08:05:53 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #11)
&gt; 
&gt; &gt; I doubt that cairo_surface_write_to_png_stream is thread-safe, so you might consider making a deep copy of the image surface before spinning off the other thread. Is this code threaded now?
&gt; &gt; You&apos;ll likely need to do the same thing for the GTK+ port.
&gt; 
&gt; A cool Martin thanks. The code is not threaded now. Thread-safety only comes into play with canvas -&gt; blob, which will depend on ImageBuffer since that&apos;s where the encoders exist on all ports currently. Seems some ports (Qt, Cairo, and GTK+ if I&apos;ve understood what you&apos;ve said) won&apos;t support encoding via ImageBuffer in a thread. I need to design for that and it&apos;s one reason why I&apos;m assessing the ImageBuffer impl&apos;s of each port at this time. Anywhere I see a doubt, I&apos;m marking that ImageBuffer as non-thread-safe. The deep copy idea is good, but I intend to leave that part of canvas-&gt;blob to the port maintainers. Would that work for you and GTK+ port?  I&apos;d hate to break you :)

Sure. That makes sense. Thanks for double-checking all of the ports!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602636</commentid>
    <comment_count>15</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-04-14 00:57:51 -0700</bug_when>
    <thetext>No problem. Filed bug 83973 about GTK canvas/philip/tests/toDataURL.jpeg.alpha.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602637</commentid>
    <comment_count>16</comment_count>
      <attachid>136437</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-14 01:24:08 -0700</bug_when>
    <thetext>Comment on attachment 136437
Patch

Rejecting attachment 136437 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
ommit-queue/

Parsed 2 diffs from patch file(s).
patching file Source/WebCore/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp
Hunk #1 FAILED at 260.
1 out of 1 hunk FAILED -- saving rejects to file Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp.rej

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;, u&apos;--reviewer&apos;, u&apos;Eric Seidel&apos;]&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue/

Full output: http://queues.webkit.org/results/12407161</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602641</commentid>
    <comment_count>17</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-04-14 01:42:21 -0700</bug_when>
    <thetext>Fuzz due to bug 83836 HDI backing store CG canvas.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602645</commentid>
    <comment_count>18</comment_count>
      <attachid>137203</attachid>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-04-14 01:54:33 -0700</bug_when>
    <thetext>Created attachment 137203
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602646</commentid>
    <comment_count>19</comment_count>
      <attachid>137203</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-14 02:34:47 -0700</bug_when>
    <thetext>Comment on attachment 137203
Patch for landing

Clearing flags on attachment: 137203

Committed r114204: &lt;http://trac.webkit.org/changeset/114204&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602647</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-14 02:34:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136437</attachid>
            <date>2012-04-10 05:46:01 -0700</date>
            <delta_ts>2012-04-14 01:54:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83569-20120410224558.patch</filename>
            <type>text/plain</type>
            <size>3126</size>
            <attacher name="noel gordon">noel.gordon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzNzA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzEzYjljY2UzMjg1ODBk
NDFhNGFkNzBhMGU2MDQ3MWQ2OGQ1ZGYyNC4uM2I5M2ExOTMyNTRiNDdkMzJhMGQ1ZWI1ZjE1Yjkw
ZTFkODE5NDYwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA0LTEwICBOb2Vs
IEdvcmRvbiAgPG5vZWwuZ29yZG9uQGdtYWlsLmNvbT4KKworICAgICAgICBbQ2Fpcm9dIEltYWdl
QnVmZmVyOjp0b0RhdGFVUkwoKTogaW1wcm92ZSBlcnJvciBoYW5kbGluZywgYWRkIG1pbWVUeXBl
IEFTU0VSVHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTgzNTY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzLiBDb3ZlcmVkIGJ5IGV4aXRpbmcgZmFzdC9jYW52YXMvKnRvRGF0YVVSTCog
dGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFnZUJ1ZmZlckNh
aXJvLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OndyaXRlRnVuY3Rpb24pOiBSZXR1cm4gd3JpdGUg
c3VjY2VzcyBvciBmYWlsdXJlIHdpdGggdGhlIGFwcHJvcHJpYXRlCisgICAgICAgIGNhaXJvIHN0
YXR1cyBjb2RlIHBlciBodHRwOi8vY2Fpcm9ncmFwaGljcy5vcmcvbWFudWFsL2NhaXJvLVBORy1T
dXBwb3J0Lmh0bWwKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlQnVmZmVyOjp0b0RhdGFVUkwpOiBB
ZGQgbWltZVR5cGUgQVNTRVJUKClzLiA8Y2FudmFzPiBlbnN1cmVzIHRoYXQKKyAgICAgICAgYSB2
YWxpZCBtaW1lVHlwZSAoc3VwcG9ydGVkIGJ5IHRoZSBwb3J0KSBpcyBzZW50IHRvIHRvRGF0YVVS
TCgpIGNhbGxzLiBDaGVjayBmb3IKKyAgICAgICAgZW5jb2RpbmcgZmFpbHVyZSBhbmQgcmV0dXJu
ICJkYXRhOiwiIGlmIHNvLgorCiAyMDEyLTA0LTA5ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFubm90YXRlIGZyb250LWVu
ZCBmb3IgbmV3ZXIgY2xvc3VyZSBjb21waWxlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ltYWdlQnVmZmVyQ2Fpcm8uY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VCdWZmZXJDYWlyby5jcHAKaW5kZXgg
OGJiMDFiNWNhMmJlOWRmZmMzMDE1ZWMzOTAwN2YwNzZkZGQzNmIxMi4uZDIzZGE1MjE4NTE5ZDRk
YjQ3OTZiODkwYjM1ZTZhZTIwYjQ2MDFiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VCdWZmZXJDYWlyby5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VCdWZmZXJDYWlyby5jcHAKQEAgLTI2
MCwyOSArMjYwLDI5IEBAIHZvaWQgSW1hZ2VCdWZmZXI6OnB1dEJ5dGVBcnJheShNdWx0aXBseSBt
dWx0aXBsaWVkLCBCeXRlQXJyYXkqIHNvdXJjZSwgY29uc3QgSW50CiAjaWYgIVBMQVRGT1JNKEdU
SykKIHN0YXRpYyBjYWlyb19zdGF0dXNfdCB3cml0ZUZ1bmN0aW9uKHZvaWQqIGNsb3N1cmUsIGNv
bnN0IHVuc2lnbmVkIGNoYXIqIGRhdGEsIHVuc2lnbmVkIGludCBsZW5ndGgpCiB7Ci0gICAgVmVj
dG9yPGNoYXI+KiBpbiA9IHJlaW50ZXJwcmV0X2Nhc3Q8VmVjdG9yPGNoYXI+Kj4oY2xvc3VyZSk7
Ci0gICAgaW4tPmFwcGVuZChkYXRhLCBsZW5ndGgpOworICAgIGlmICghcmVpbnRlcnByZXRfY2Fz
dDxWZWN0b3I8dW5zaWduZWQgY2hhcj4qPihjbG9zdXJlKS0+dHJ5QXBwZW5kKGRhdGEsIGxlbmd0
aCkpCisgICAgICAgIHJldHVybiBDQUlST19TVEFUVVNfV1JJVEVfRVJST1I7CiAgICAgcmV0dXJu
IENBSVJPX1NUQVRVU19TVUNDRVNTOwogfQogCiBTdHJpbmcgSW1hZ2VCdWZmZXI6OnRvRGF0YVVS
TChjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBkb3VibGUqKSBjb25zdAogeworICAgIEFT
U0VSVChNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZEltYWdlTUlNRVR5cGVGb3JFbmNvZGlu
ZyhtaW1lVHlwZSkpOworCiAgICAgY2Fpcm9fc3VyZmFjZV90KiBpbWFnZSA9IGNhaXJvX2dldF90
YXJnZXQoY29udGV4dCgpLT5wbGF0Zm9ybUNvbnRleHQoKS0+Y3IoKSk7CiAgICAgaWYgKCFpbWFn
ZSkKICAgICAgICAgcmV0dXJuICJkYXRhOiwiOwogCi0gICAgU3RyaW5nIGFjdHVhbE1pbWVUeXBl
KCJpbWFnZS9wbmciKTsKLSAgICBpZiAoTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRJbWFn
ZU1JTUVUeXBlRm9yRW5jb2RpbmcobWltZVR5cGUpKQotICAgICAgICBhY3R1YWxNaW1lVHlwZSA9
IG1pbWVUeXBlOworICAgIEFTU0VSVChtaW1lVHlwZSA9PSAiaW1hZ2UvcG5nIik7IC8vIE9ubHkg
UE5HIG91dHB1dCBpcyBzdXBwb3J0ZWQgZm9yIG5vdy4KIAotICAgIFZlY3RvcjxjaGFyPiBpbjsK
LSAgICAvLyBPbmx5IFBORyBvdXRwdXQgaXMgc3VwcG9ydGVkIGZvciBub3cuCi0gICAgY2Fpcm9f
c3VyZmFjZV93cml0ZV90b19wbmdfc3RyZWFtKGltYWdlLCB3cml0ZUZ1bmN0aW9uLCAmaW4pOwor
ICAgIFZlY3RvcjxjaGFyPiBlbmNvZGVkSW1hZ2U7CisgICAgaWYgKGNhaXJvX3N1cmZhY2Vfd3Jp
dGVfdG9fcG5nX3N0cmVhbShpbWFnZSwgd3JpdGVGdW5jdGlvbiwgJmVuY29kZWRJbWFnZSkgIT0g
Q0FJUk9fU1RBVFVTX1NVQ0NFU1MpCisgICAgICAgIHJldHVybiAiZGF0YTosIjsKIAotICAgIFZl
Y3RvcjxjaGFyPiBvdXQ7Ci0gICAgYmFzZTY0RW5jb2RlKGluLCBvdXQpOworICAgIFZlY3Rvcjxj
aGFyPiBiYXNlNjREYXRhOworICAgIGJhc2U2NEVuY29kZShlbmNvZGVkSW1hZ2UsIGJhc2U2NERh
dGEpOwogCi0gICAgcmV0dXJuICJkYXRhOiIgKyBhY3R1YWxNaW1lVHlwZSArICI7YmFzZTY0LCIg
KyBTdHJpbmcob3V0LmRhdGEoKSwgb3V0LnNpemUoKSk7CisgICAgcmV0dXJuICJkYXRhOiIgKyBt
aW1lVHlwZSArICI7YmFzZTY0LCIgKyBiYXNlNjREYXRhOwogfQogI2VuZGlmCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137203</attachid>
            <date>2012-04-14 01:54:33 -0700</date>
            <delta_ts>2012-04-14 02:34:46 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-83569-20120414185430.patch</filename>
            <type>text/plain</type>
            <size>3149</size>
            <attacher name="noel gordon">noel.gordon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0MjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzk0MDJlM2ZlYmIxNjA4
OGVlOTcxZTVmOGVhNDY5ZGI3YThjMjNiZi4uMDUwOTNkYTRlNjI2MTA3YmEzODdiYjA5NjM3MDk5
MDdiMTdmM2Y3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA0LTE0ICBOb2Vs
IEdvcmRvbiAgPG5vZWwuZ29yZG9uQGdtYWlsLmNvbT4KKworICAgICAgICBbQ2Fpcm9dIEltYWdl
QnVmZmVyOjp0b0RhdGFVUkwoKTogaW1wcm92ZSBlcnJvciBoYW5kbGluZywgYWRkIG1pbWVUeXBl
IEFTU0VSVHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTgzNTY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzLiBDb3ZlcmVkIGJ5IGV4aXRpbmcgZmFzdC9jYW52YXMvKnRvRGF0YVVSTCogdGVz
dHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFnZUJ1ZmZlckNhaXJv
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OndyaXRlRnVuY3Rpb24pOiBSZXR1cm4gd3JpdGUgc3Vj
Y2VzcyBvciBmYWlsdXJlIHdpdGggdGhlIGFwcHJvcHJpYXRlCisgICAgICAgIGNhaXJvIHN0YXR1
cyBjb2RlIHBlciBodHRwOi8vY2Fpcm9ncmFwaGljcy5vcmcvbWFudWFsL2NhaXJvLVBORy1TdXBw
b3J0Lmh0bWwKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlQnVmZmVyOjp0b0RhdGFVUkwpOiBBZGQg
bWltZVR5cGUgQVNTRVJUKClzLiA8Y2FudmFzPiBlbnN1cmVzIHRoYXQKKyAgICAgICAgYSB2YWxp
ZCBtaW1lVHlwZSAoc3VwcG9ydGVkIGJ5IHRoZSBwb3J0KSBpcyBzZW50IHRvIHRvRGF0YVVSTCgp
IGNhbGxzLiBDaGVjayBmb3IKKyAgICAgICAgZW5jb2RpbmcgZmFpbHVyZSBhbmQgcmV0dXJuICJk
YXRhOiwiIGlmIHNvLgorCiAyMDEyLTA0LTEzICBEYXZpZCBSZXZlbWFuICA8cmV2ZW1hbkBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBBdm9pZCB1bm5lY2Vzc2FyeSBmdWxsIHRp
bGUgdXBkYXRlcyBmb3IgY2hlY2tlcmJvYXJkIHRpbGVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VCdWZmZXJDYWlyby5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFnZUJ1ZmZlckNhaXJvLmNwcApp
bmRleCBlZmFmODBmMjg5ZGU3N2M4ZTA5MGY2ZGUxMjNiNjJjZGQ5ZGI0NDI2Li4zNzc4YjFkNWRh
ZDA5ZTVhOWJjZmE1N2FhYzhmNzE3MTkyYWFkNTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFnZUJ1ZmZlckNhaXJvLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFnZUJ1ZmZlckNhaXJvLmNwcApA
QCAtMjYwLDI5ICsyNjAsMjkgQEAgdm9pZCBJbWFnZUJ1ZmZlcjo6cHV0Qnl0ZUFycmF5KE11bHRp
cGx5IG11bHRpcGxpZWQsIEJ5dGVBcnJheSogc291cmNlLCBjb25zdCBJbnQKICNpZiAhUExBVEZP
Uk0oR1RLKQogc3RhdGljIGNhaXJvX3N0YXR1c190IHdyaXRlRnVuY3Rpb24odm9pZCogY2xvc3Vy
ZSwgY29uc3QgdW5zaWduZWQgY2hhciogZGF0YSwgdW5zaWduZWQgaW50IGxlbmd0aCkKIHsKLSAg
ICBWZWN0b3I8Y2hhcj4qIGluID0gcmVpbnRlcnByZXRfY2FzdDxWZWN0b3I8Y2hhcj4qPihjbG9z
dXJlKTsKLSAgICBpbi0+YXBwZW5kKGRhdGEsIGxlbmd0aCk7CisgICAgaWYgKCFyZWludGVycHJl
dF9jYXN0PFZlY3Rvcjx1bnNpZ25lZCBjaGFyPio+KGNsb3N1cmUpLT50cnlBcHBlbmQoZGF0YSwg
bGVuZ3RoKSkKKyAgICAgICAgcmV0dXJuIENBSVJPX1NUQVRVU19XUklURV9FUlJPUjsKICAgICBy
ZXR1cm4gQ0FJUk9fU1RBVFVTX1NVQ0NFU1M7CiB9CiAKIFN0cmluZyBJbWFnZUJ1ZmZlcjo6dG9E
YXRhVVJMKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGNvbnN0IGRvdWJsZSosIENvb3JkaW5hdGVT
eXN0ZW0pIGNvbnN0CiB7CisgICAgQVNTRVJUKE1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVk
SW1hZ2VNSU1FVHlwZUZvckVuY29kaW5nKG1pbWVUeXBlKSk7CisKICAgICBjYWlyb19zdXJmYWNl
X3QqIGltYWdlID0gY2Fpcm9fZ2V0X3RhcmdldChjb250ZXh0KCktPnBsYXRmb3JtQ29udGV4dCgp
LT5jcigpKTsKICAgICBpZiAoIWltYWdlKQogICAgICAgICByZXR1cm4gImRhdGE6LCI7CiAKLSAg
ICBTdHJpbmcgYWN0dWFsTWltZVR5cGUoImltYWdlL3BuZyIpOwotICAgIGlmIChNSU1FVHlwZVJl
Z2lzdHJ5Ojppc1N1cHBvcnRlZEltYWdlTUlNRVR5cGVGb3JFbmNvZGluZyhtaW1lVHlwZSkpCi0g
ICAgICAgIGFjdHVhbE1pbWVUeXBlID0gbWltZVR5cGU7CisgICAgQVNTRVJUKG1pbWVUeXBlID09
ICJpbWFnZS9wbmciKTsgLy8gT25seSBQTkcgb3V0cHV0IGlzIHN1cHBvcnRlZCBmb3Igbm93Lgog
Ci0gICAgVmVjdG9yPGNoYXI+IGluOwotICAgIC8vIE9ubHkgUE5HIG91dHB1dCBpcyBzdXBwb3J0
ZWQgZm9yIG5vdy4KLSAgICBjYWlyb19zdXJmYWNlX3dyaXRlX3RvX3BuZ19zdHJlYW0oaW1hZ2Us
IHdyaXRlRnVuY3Rpb24sICZpbik7CisgICAgVmVjdG9yPGNoYXI+IGVuY29kZWRJbWFnZTsKKyAg
ICBpZiAoY2Fpcm9fc3VyZmFjZV93cml0ZV90b19wbmdfc3RyZWFtKGltYWdlLCB3cml0ZUZ1bmN0
aW9uLCAmZW5jb2RlZEltYWdlKSAhPSBDQUlST19TVEFUVVNfU1VDQ0VTUykKKyAgICAgICAgcmV0
dXJuICJkYXRhOiwiOwogCi0gICAgVmVjdG9yPGNoYXI+IG91dDsKLSAgICBiYXNlNjRFbmNvZGUo
aW4sIG91dCk7CisgICAgVmVjdG9yPGNoYXI+IGJhc2U2NERhdGE7CisgICAgYmFzZTY0RW5jb2Rl
KGVuY29kZWRJbWFnZSwgYmFzZTY0RGF0YSk7CiAKLSAgICByZXR1cm4gImRhdGE6IiArIGFjdHVh
bE1pbWVUeXBlICsgIjtiYXNlNjQsIiArIFN0cmluZyhvdXQuZGF0YSgpLCBvdXQuc2l6ZSgpKTsK
KyAgICByZXR1cm4gImRhdGE6IiArIG1pbWVUeXBlICsgIjtiYXNlNjQsIiArIGJhc2U2NERhdGE7
CiB9CiAjZW5kaWYKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>